Skip to content

Commit 1bdfa03

Browse files
committed
2.5.3 release
2 parents 8906424 + 66a1d5d commit 1bdfa03

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+987
-633
lines changed

CHANGELOG.md

+19
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,25 @@
22

33
The following is a curated list of changes in the Enact project, newest changes on the top.
44

5+
## [2.5.3] - 2019-06-06
6+
7+
### Fixed
8+
9+
- `moonstone/ContextualPopupDecorator` imperative methods to be correctly bound to the instance
10+
- `moonstone/ExpandableInput` to retain focus when touching within the input field on touch platforms
11+
- `moonstone/ExpandableList` to not error if `selected` is passed as an array to a non-multi-select list
12+
- `moonstone/Input` refocusing on touch on iOS
13+
- `moonstone/Scroller` to allow changing spotlight focus to opposite scroll button when switching to 5way mode
14+
- `moonstone/Scroller`, `moonstone/VirtualList.VirtualGridList`, and `moonstone/VirtualList.VirtualList` to change spotlight focus due to touch events
15+
- `moonstone/Slider` to not scroll the viewport when dragging on touch platforms
16+
- `moonstone/VideoPlayer` to correctly handle touch events while moving slider knobs
17+
- `moonstone/VirtualList` and `moonstone/Scroller` to animate with 5-way navigation by default
18+
- `spotlight` to unspot the current element when tapping on non-spottable target on touch platforms
19+
- `ui/Scroller`, `ui/VirtualList`, and `ui/VirtualGridList` to size properly
20+
- `ui/Scroller`, `ui/VirtualList`, and `ui/VirtualGridList` to scroll correctly on iOS and Safari
21+
- `ui/Touchable` to not misfire a hold pulse when a drag re-enters a touch target and `cancelOnMove` is set
22+
- `ui/ViewManager` to correctly handle transitioning quickly between two children
23+
524
## [2.5.2] - 2019-04-23
625

726
### Fixed

lerna.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"lerna": "2.8.0",
3-
"version": "2.5.2",
3+
"version": "2.5.3",
44
"command": {
55
"bootstrap": {
66
"npmClientArgs": [

package-lock.json

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "enact",
3-
"version": "2.5.2",
3+
"version": "2.5.3",
44
"description": "Monorepo for all Enact front end libraries.",
55
"private": true,
66
"scripts": {

packages/core/CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
The following is a curated list of changes in the Enact core module, newest changes on the top.
44

5+
## [2.5.3] - 2019-06-06
6+
7+
No significant changes.
8+
59
## [2.5.2] - 2019-04-23
610

711
No significant changes.

packages/core/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@enact/core",
3-
"version": "2.5.2",
3+
"version": "2.5.3",
44
"description": "Enact is an open source JavaScript framework containing everything you need to create a fast, scalable mobile or web application.",
55
"main": "index.js",
66
"scripts": {

packages/i18n/CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
The following is a curated list of changes in the Enact i18n module, newest changes on the top.
44

5+
## [2.5.3] - 2019-06-06
6+
7+
No significant changes.
8+
59
## [2.5.2] - 2019-04-23
610

711
No significant changes.

packages/i18n/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@enact/i18n",
33
"main": "./src/index.js",
4-
"version": "2.5.2",
4+
"version": "2.5.3",
55
"description": "Internationalization support for Enact using iLib",
66
"scripts": {
77
"clean": "enact clean",
@@ -41,7 +41,7 @@
4141
]
4242
},
4343
"dependencies": {
44-
"@enact/core": "^2.5.2",
44+
"@enact/core": "^2.5.3",
4545
"prop-types": "15.6.2",
4646
"ramda": "^0.24.1",
4747
"react": "^16.7.0",

packages/moonstone/CHANGELOG.md

+14
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,20 @@
22

33
The following is a curated list of changes in the Enact moonstone module, newest changes on the top.
44

5+
## [2.5.3] - 2019-06-06
6+
7+
### Fixed
8+
9+
- `moonstone/ContextualPopupDecorator` imperative methods to be correctly bound to the instance
10+
- `moonstone/ExpandableInput` to retain focus when touching within the input field on touch platforms
11+
- `moonstone/ExpandableList` to not error if `selected` is passed as an array to a non-multi-select list
12+
- `moonstone/Input` refocusing on touch on iOS
13+
- `moonstone/Scroller` to allow changing spotlight focus to opposite scroll button when switching to 5way mode
14+
- `moonstone/Scroller`, `moonstone/VirtualList.VirtualGridList`, and `moonstone/VirtualList.VirtualList` to change spotlight focus due to touch events
15+
- `moonstone/Slider` to not scroll the viewport when dragging on touch platforms
16+
- `moonstone/VideoPlayer` to correctly handle touch events while moving slider knobs
17+
- `moonstone/VirtualList` and `moonstone/Scroller` to animate with 5-way navigation by default
18+
519
## [2.5.2] - 2019-04-23
620

721
### Fixed

packages/moonstone/EditableIntegerPicker/EditableIntegerPicker.js

+49-30
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ const digits = (num) => {
3737

3838
/**
3939
* A picker component that lets the user select a number in between `min` and `max` numbers.
40+
*
4041
* This component is not spottable. Developers are encouraged to use
4142
* {@link moonstone/EditableIntegerPicker.EditableIntegerPicker}.
4243
*
@@ -52,6 +53,9 @@ const EditableIntegerPickerBase = kind({
5253
/**
5354
* The maximum value selectable by the picker (inclusive).
5455
*
56+
* The range between `min` and `max` should be evenly divisible by
57+
* [step]{@link moonstone/EditableIntegerPicker.EditableIntegerPickerBase.step}.
58+
*
5559
* @type {Number}
5660
* @required
5761
* @public
@@ -61,15 +65,19 @@ const EditableIntegerPickerBase = kind({
6165
/**
6266
* The minimum value selectable by the picker (inclusive).
6367
*
68+
* The range between `min` and `max` should be evenly divisible by
69+
* [step]{@link moonstone/EditableIntegerPicker.EditableIntegerPickerBase.step}.
70+
*
6471
* @type {Number}
6572
* @required
6673
* @public
6774
*/
6875
min: PropTypes.number.isRequired,
6976

7077
/**
71-
* Overrides the `aria-valuetext` for the picker. By default, `aria-valuetext` is set
72-
* to the current selected child value.
78+
* The value for the picker for accessibility read out.
79+
*
80+
* By default, `aria-valuetext` is set to the current selected child value.
7381
*
7482
* @type {String}
7583
* @memberof moonstone/EditableIntegerPicker.EditableIntegerPickerBase.prototype
@@ -78,50 +86,54 @@ const EditableIntegerPickerBase = kind({
7886
'aria-valuetext': PropTypes.string,
7987

8088
/**
81-
* Assign a custom icon for the decrementer. All strings supported by [Icon]{@link moonstone/Icon.Icon} are
82-
* supported. Without a custom icon, the default is used.
89+
* The icon for the decrementer.
90+
*
91+
* All strings supported by [Icon]{@link moonstone/Icon.Icon} are supported. Without a
92+
* custom icon, the default is used.
8393
*
8494
* @type {String}
8595
* @public
8696
*/
8797
decrementIcon: PropTypes.string,
8898

8999
/**
90-
* Disables the picker and prevents events from firing.
91-
* [events]{@link /docs/developer-guide/glossary/#event}.
100+
* Disables the picker and prevents [events]{@link /docs/developer-guide/glossary/#event}
101+
* from firing.
92102
*
93103
* @type {Boolean}
94104
* @public
95105
*/
96106
disabled: PropTypes.bool,
97107

98108
/**
99-
* When `true`, an input will be displayed instead of the picker components.
109+
* Displays the input field instead of the picker components.
100110
*
101111
* @type {Boolean}
102112
* @public
103113
*/
104114
editMode: PropTypes.bool,
105115

106116
/**
107-
* Assign a custom icon for the incrementer. All strings supported by [Icon]{@link moonstone/Icon.Icon} are
108-
* supported. Without a custom icon, the default is used.
117+
* The icon for the incrementer.
118+
*
119+
* All strings supported by [Icon]{@link moonstone/Icon.Icon} are supported. Without a
120+
* custom icon, the default is used.
109121
*
110122
* @type {String}
111123
* @public
112124
*/
113125
incrementIcon: PropTypes.string,
114126

115127
/**
116-
* The method to run when the input mounts, giving a reference to the DOM.
128+
* Called when the input mounts witha reference to the DOM node.
117129
*
118130
* @type {Function}
119131
* @private
120132
*/
121133
inputRef: PropTypes.func,
122134

123135
/**
124-
* Called when there is a blur in the input.
136+
* Called when there the input is blurred.
125137
*
126138
* @type {Function}
127139
* @public
@@ -140,35 +152,40 @@ const EditableIntegerPickerBase = kind({
140152
onPickerItemClick: PropTypes.func,
141153

142154
/**
143-
* Sets the orientation of the picker, whether the buttons are above and below or on the
144-
* sides of the value. Must be either `'horizontal'` or `'vertical'`.
155+
* The orientation of the picker.
145156
*
146-
* @type {String}
157+
* @type {('horizontal'|'vertical')}
147158
* @default 'horizontal'
148159
* @public
149160
*/
150161
orientation: PropTypes.oneOf(['horizontal', 'vertical']),
151162

152163
/**
153-
* When `true`, pads the display value with zeros up to the number of digits of the value of
154-
* `min` or max`, whichever is greater.
164+
* Pads the display value with zeros.
165+
*
166+
* The number of zeros used is the number of digits of the value of
167+
* [min]{@link moonstone/EditableIntegerPicker.EditableIntegerPickerBase.min} or
168+
* [max]{@link moonstone/EditableIntegerPicker.EditableIntegerPickerBase.max}, whichever is
169+
* greater.
155170
*
156171
* @type {Boolean}
157172
* @public
158173
*/
159174
padded: PropTypes.bool,
160175

161176
/**
162-
* The method to run when the picker mounts, giving a reference to the DOM.
177+
* Called when the picker mounts with a reference to the picker DOM node.
163178
*
164179
* @type {Function}
165180
* @private
166181
*/
167182
pickerRef: PropTypes.func,
168183

169184
/**
170-
* Allow the picker to only increment or decrement by a given value. A step of `2` would
171-
* cause a picker to increment from 10 to 12 to 14, etc.
185+
* Allow the picker to only increment or decrement by a given value.
186+
*
187+
* For example, a step of `2` would cause a picker to increment from 10 to 12 to 14, etc.
188+
* It must evenly divide into the range designated by `min` and `max`.
172189
*
173190
* @type {Number}
174191
* @default 1
@@ -186,7 +203,7 @@ const EditableIntegerPickerBase = kind({
186203
unit: PropTypes.string,
187204

188205
/**
189-
* The current value of the Picker to be displayed.
206+
* The current value of the Picker.
190207
*
191208
* @type {Number}
192209
* @default 0
@@ -195,15 +212,17 @@ const EditableIntegerPickerBase = kind({
195212
value: PropTypes.number,
196213

197214
/**
198-
* Choose a specific size for your picker. `'small'`, `'medium'`, `'large'`, or set to `null` to
199-
* assume auto-sizing. `'small'` is good for numeric pickers, `'medium'` for single or short
200-
* word pickers, `'large'` for maximum-sized pickers.
215+
* The size of the picker.
216+
*
217+
* `'small'`, `'medium'`, `'large'`, or set to `null` to assume auto-sizing. `'small'` is
218+
* good for numeric pickers, `'medium'` for single or short word pickers, `'large'` for
219+
* maximum-sized pickers.
201220
*
202-
* You may also supply a number. This number will determine the minumum size of the Picker.
221+
* You may also supply a number which will determine the minumum size of the Picker.
203222
* Setting a number to less than the number of characters in your longest value may produce
204223
* unexpected results.
205224
*
206-
* @type {String|Number}
225+
* @type {('small'|'medium'|'large')|Number}
207226
* @default 'medium'
208227
* @public
209228
*/
@@ -213,8 +232,7 @@ const EditableIntegerPickerBase = kind({
213232
]),
214233

215234
/**
216-
* Should the picker stop incrementing when the picker reaches the last element? Set `wrap`
217-
* to true to allow the picker to continue from the opposite end of the list of options.
235+
* Allows the picker to increment from the max to min value and vice versa.
218236
*
219237
* @type {Boolean}
220238
* @public
@@ -304,9 +322,10 @@ const EditableIntegerPickerBase = kind({
304322
/**
305323
* A component that lets the user select a number from a range of numbers.
306324
*
307-
* By default, `EditableIntegerPicker` maintains the state of its `value` property. Supply the `defaultValue`
308-
* property to control its initial value. If you wish to directly control updates to the component,
309-
* supply a value to `value` at creation time and update it in response to `onChange` events.
325+
* By default, `EditableIntegerPicker` maintains the state of its `value` property. Supply the
326+
* `defaultValue` property to control its initial value. If you wish to directly control updates to
327+
* the component, supply a value to `value` at creation time and update it in response to `onChange`
328+
* events.
310329
*
311330
* @class EditableIntegerPicker
312331
* @memberof moonstone/EditableIntegerPicker

packages/moonstone/ExpandableItem/ExpandableItem.js

+3-8
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import last from 'ramda/src/last';
2525
import React from 'react';
2626

2727
import LabeledItem from '../LabeledItem';
28+
import {extractVoiceProps} from '../internal/util';
2829

2930
import Expandable from './Expandable';
3031
import ExpandableTransitionContainer from './ExpandableTransitionContainer';
@@ -357,10 +358,6 @@ const ExpandableItemBase = kind({
357358

358359
render: ({
359360
children,
360-
'data-webos-voice-disabled': voiceDisabled,
361-
'data-webos-voice-group-label': voiceGroupLabel,
362-
'data-webos-voice-intent': voiceIntent,
363-
'data-webos-voice-label': voiceLabel,
364361
disabled,
365362
handleKeyDown,
366363
handleLabelKeyDown,
@@ -390,6 +387,7 @@ const ExpandableItemBase = kind({
390387
delete rest.showLabel;
391388

392389
const ariaProps = extractAriaProps(rest);
390+
const voiceProps = extractVoiceProps(rest);
393391

394392
return (
395393
<ContainerDiv
@@ -401,13 +399,10 @@ const ExpandableItemBase = kind({
401399
>
402400
<LabeledItem
403401
{...ariaProps}
402+
{...voiceProps}
404403
css={css}
405404
className={labeledItemClassName}
406405
data-expandable-label
407-
data-webos-voice-disabled={voiceDisabled}
408-
data-webos-voice-group-label={voiceGroupLabel}
409-
data-webos-voice-intent={voiceIntent}
410-
data-webos-voice-label={voiceLabel}
411406
disabled={disabled}
412407
label={label}
413408
onTap={handleOpen}

packages/moonstone/ExpandableList/ExpandableList.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -313,13 +313,13 @@ const ExpandableListBase = kind({
313313
if (label) {
314314
return label;
315315
} else if (children.length && (selected || selected === 0)) {
316-
const isArray = Array.isArray(selected);
317-
if (select === 'multiple' && isArray) {
316+
const firstSelected = Array.isArray(selected) ? selected[0] : selected;
317+
if (select === 'multiple' && Array.isArray(selected)) {
318318
return selected.map(i => typeof children[i] === 'object' ? children[i].children : children[i]).filter(str => !!str).join(', ');
319-
} else if (typeof children[selected] === 'object') {
320-
return children[selected].children;
319+
} else if (typeof children[firstSelected] === 'object') {
320+
return children[firstSelected].children;
321321
} else {
322-
return children[isArray ? selected[0] : selected];
322+
return children[firstSelected];
323323
}
324324
}
325325
},

0 commit comments

Comments
 (0)