From 698a4b0a1285e1fb39abe47c042ac155f2e57eba Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Tue, 11 Sep 2018 10:53:44 -0700 Subject: [PATCH 01/14] ENYO-5631: Fix spotlight/Pause documentation (#1941) * ENYO-5631: Fix spotlight/Pause documentation Signed-off-by: Ryan Duffy * Fix typos Enact-DCO-1.0-Signed-off-by: Roy Sutton roy.sutton@lge.com --- packages/spotlight/Pause/Pause.js | 28 +++++++++++++++++++++------- packages/spotlight/src/spotlight.js | 3 +++ 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/packages/spotlight/Pause/Pause.js b/packages/spotlight/Pause/Pause.js index c8b5e050f9..198c7cf80f 100644 --- a/packages/spotlight/Pause/Pause.js +++ b/packages/spotlight/Pause/Pause.js @@ -1,6 +1,20 @@ /** - * Provides the {@link spotlight/Pause.Pause} class which allows consumers to pause spotlight and - * then only resume spotlight if another caller had not also paused Spotlight. + * Provides a class which allows consumers to safely pause and resume spotlight without resuming + * another consumer's pause. + * + * When multiple components attempt to pause and resume spotlight at overlapping times using + * [Spotlight.pause()]{@link spotlight.Spotlight.pause} and + * [Spotlight.resume()]{@link spotlight.Spotlight.resume}, one component might resume spotlight when + * another expected it to still be paused. + * + * `Pause` helps to address this by setting a "soft lock" on the pause which informs other instances + * that the spotlight pause state is being controlled. When pause is locked, it can only be resumed + * by the instance that locked it. Subsequent calls to `pause` and `resume` on another instance of + * `Pause` have no effect. + * + * *Note:* The top-level [Spotlight.pause()]{@link spotlight.Spotlight.pause} and + * [Spotlight.resume()]{@link spotlight.Spotlight.resume} do not respect the pause locks and act as + * a user-space escape hatch. * * ``` * import Pause from '@enact/spotlight/Pause'; @@ -11,15 +25,15 @@ * // pauses spotlight * paused1.pause(); * - * // spotlight is still paused and controlling Pause is - * // updated to paused2 + * // has no effect because pause1 is in control * paused2.pause(); * - * // has no effect because paused2 is in control - * paused1.resume(); + * // has no effect because pause1 is in control + * paused2.resume(); * * // resumes spotlight - * paused2.resume(); + * paused1.resume(); + * * ``` * * @module spotlight/Pause diff --git a/packages/spotlight/src/spotlight.js b/packages/spotlight/src/spotlight.js index c02a27647f..81e3d03011 100644 --- a/packages/spotlight/src/spotlight.js +++ b/packages/spotlight/src/spotlight.js @@ -635,6 +635,7 @@ const Spotlight = (function () { /** * Pauses Spotlight * + * @function * @returns {undefined} * @public */ @@ -643,6 +644,7 @@ const Spotlight = (function () { /** * Resumes Spotlight * + * @function * @returns {undefined} * @public */ @@ -804,6 +806,7 @@ const Spotlight = (function () { /** * Determines whether Spotlight is currently paused. * + * @function * @returns {Boolean} `true` if Spotlight is currently paused. * @public */ From de0cb8ba070474429149af269f4c7d5953a287fc Mon Sep 17 00:00:00 2001 From: YunBum SUNG Date: Wed, 12 Sep 2018 14:58:25 +0900 Subject: [PATCH 02/14] ENYO-5504: Scroll page by page via Channel Up / Down keys without focused item (#1936) * Support page up/down with no focused item Enact-DCO-1.0-Signed-off-by: YB Sung (yb.sung@lge.com) * Update CHANGELOG.md Enact-DCO-1.0-Signed-off-by: YB Sung (yb.sung@lge.com) * Cleanup Enact-DCO-1.0-Signed-off-by: YB Sung (yb.sung@lge.com) * Revert to the pointer mode Enact-DCO-1.0-Signed-off-by: YB Sung (yb.sung@lge.com) * Fix to reserve the current mode Enact-DCO-1.0-Signed-off-by: YB Sung (yb.sung@lge.com) * Confine the condition Enact-DCO-1.0-Signed-off-by: YB Sung (yb.sung@lge.com) * Cleanup Enact-DCO-1.0-Signed-off-by: YB Sung (yb.sung@lge.com) * Revert "Cleanup" This reverts commit dcf1e80b67d7689f08c2ee419ffd957b04929b60. * Cleanup Enact-DCO-1.0-Signed-off-by: YB Sung (yb.sung@lge.com) --- packages/moonstone/CHANGELOG.md | 1 + packages/moonstone/Scrollable/Scrollable.js | 25 +++++++++++++------ .../moonstone/Scrollable/ScrollableNative.js | 25 +++++++++++++------ 3 files changed, 37 insertions(+), 14 deletions(-) diff --git a/packages/moonstone/CHANGELOG.md b/packages/moonstone/CHANGELOG.md index 1ed72a68da..4eb7830dd6 100644 --- a/packages/moonstone/CHANGELOG.md +++ b/packages/moonstone/CHANGELOG.md @@ -6,6 +6,7 @@ The following is a curated list of changes in the Enact moonstone module, newest ### Fixed +- `moonstone/Scroller`, `moonstone/VirtualList.VirtualGridList`, and `moonstone/VirtualList.VirtualList` to scroll page by page via channel up or down keys without focused item - `moonstone/Scroller`, `moonstone/VirtualList.VirtualGridList`, and `moonstone/VirtualList.VirtualList` to show overscroll effects properly on repeating wheel input - `moonstone/TooltipDecorator` to handle runtime error when setting `tooltipText` to an empty string - `moonstone/VideoPlayer` timing to read out `infoComponents` accessibility value when `moreButton` or `moreButtonColor` is pressed diff --git a/packages/moonstone/Scrollable/Scrollable.js b/packages/moonstone/Scrollable/Scrollable.js index f48e4d4dbd..02daeeb42a 100644 --- a/packages/moonstone/Scrollable/Scrollable.js +++ b/packages/moonstone/Scrollable/Scrollable.js @@ -371,7 +371,7 @@ class ScrollableBase extends Component { } } - scrollByPage = (direction) => { + scrollByPage = (direction, keyCode) => { // Only scroll by page when the vertical scrollbar is visible. Otherwise, treat the // scroller as a plain container if (!this.uiRef.state.isVerticalScrollbarVisible) { @@ -395,9 +395,15 @@ class ScrollableBase extends Component { endPoint = { x: focusedItemBounds.left + focusedItemBounds.width / 2, y: viewportBounds.top + ((direction === 'up') ? focusedItemBounds.height / 2 - 1 : viewportBounds.height - focusedItemBounds.height / 2 + 1) - }; + }, + wasPointerMode = Spotlight.getPointerMode(); let next = null; + if (wasPointerMode) { + // We need to convert to 5-way key mode to move Spot to another item manually. + Spotlight.setPointerMode(false); + } + /* 1. Find spottable item in viewport */ next = getTargetByDirectionFromPosition(rDirection, endPoint, spotlightId); @@ -417,11 +423,17 @@ class ScrollableBase extends Component { this.childRef.scrollToNextItem({direction, focusedItem, reverseDirection: rDirection, spotlightId}); } - // Need to check whether an overscroll effect is needed - return true; + if (wasPointerMode) { + // It is not converted to 5-way key mode even though pressing a channel up or down keys in pointer mode. + // So we need to convert back to the pointer mode. + Spotlight.setPointerMode(true); + } + } else { + this.uiRef.scrollByPage(keyCode); } - return false; + // Need to check whether an overscroll effect is needed + return true; } hasFocus () { @@ -450,9 +462,8 @@ class ScrollableBase extends Component { if (isPageUp(keyCode) || isPageDown(keyCode)) { if (this.props.direction === 'vertical' || this.props.direction === 'both') { - Spotlight.setPointerMode(false); direction = isPageUp(keyCode) ? 'up' : 'down'; - overscrollEffectRequired = this.scrollByPage(direction) && overscrollEffectOn.pageKey; + overscrollEffectRequired = this.scrollByPage(direction, keyCode) && overscrollEffectOn.pageKey; } } else if (getDirection(keyCode)) { const element = Spotlight.getCurrent(); diff --git a/packages/moonstone/Scrollable/ScrollableNative.js b/packages/moonstone/Scrollable/ScrollableNative.js index 5d141aec72..898e5aa39e 100644 --- a/packages/moonstone/Scrollable/ScrollableNative.js +++ b/packages/moonstone/Scrollable/ScrollableNative.js @@ -446,7 +446,7 @@ class ScrollableBaseNative extends Component { } } - scrollByPage = (direction) => { + scrollByPage = (direction, keyCode) => { // Only scroll by page when the vertical scrollbar is visible. Otherwise, treat the // scroller as a plain container if (!this.uiRef.state.isVerticalScrollbarVisible) { @@ -470,9 +470,15 @@ class ScrollableBaseNative extends Component { endPoint = { x: focusedItemBounds.left + focusedItemBounds.width / 2, y: viewportBounds.top + ((direction === 'up') ? focusedItemBounds.height / 2 - 1 : viewportBounds.height - focusedItemBounds.height / 2 + 1) - }; + }, + wasPointerMode = Spotlight.getPointerMode(); let next = null; + if (wasPointerMode) { + // We need to convert to 5-way key mode to move Spot to another item manually. + Spotlight.setPointerMode(false); + } + /* 1. Find spottable item in viewport */ next = getTargetByDirectionFromPosition(rDirection, endPoint, spotlightId); @@ -492,11 +498,17 @@ class ScrollableBaseNative extends Component { this.childRef.scrollToNextItem({direction, focusedItem, reverseDirection: rDirection, spotlightId}); } - // Need to check whether an overscroll effect is needed - return true; + if (wasPointerMode) { + // It is not converted to 5-way key mode even though pressing a channel up or down keys in pointer mode. + // So we need to convert back to the pointer mode. + Spotlight.setPointerMode(true); + } + } else { + this.uiRef.scrollByPage(keyCode); } - return false; + // Need to check whether an overscroll effect is needed + return true; } hasFocus () { @@ -525,9 +537,8 @@ class ScrollableBaseNative extends Component { if (isPageUp(keyCode) || isPageDown(keyCode)) { ev.preventDefault(); if (!repeat && this.hasFocus() && this.props.direction === 'vertical' || this.props.direction === 'both') { - Spotlight.setPointerMode(false); direction = isPageUp(keyCode) ? 'up' : 'down'; - overscrollEffectRequired = this.scrollByPage(direction) && overscrollEffectOn.pageKey; + overscrollEffectRequired = this.scrollByPage(direction, keyCode) && overscrollEffectOn.pageKey; } } else if (!Spotlight.getPointerMode() && !repeat && this.hasFocus() && getDirection(keyCode)) { const element = Spotlight.getCurrent(); From 894787f98af2886ff7241a8abec4148e4ac0b4c4 Mon Sep 17 00:00:00 2001 From: Chang Gi Lee Date: Thu, 13 Sep 2018 02:18:19 +0900 Subject: [PATCH 03/14] ENYO-5557: Add QA sample for Popup from self-only container (#1915) * GT-25753-changgi: Add qa sample in Popup The popup is opened from self-only container Enact-DCO-1.0-Signed-off-by: Changgi Lee * GT-25753: modify travis error fix single dot error in JSX Enact-DCO-1.0-Signed-off-by: Changgi Lee * simplify sample Signed-off-by: Ryan Duffy * move .add to new line Signed-off-by: Ryan Duffy Integrated-By: Ryan Duffy (ryan.duffy@lge.com) --- packages/sampler/stories/qa/Popup.js | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/packages/sampler/stories/qa/Popup.js b/packages/sampler/stories/qa/Popup.js index cf19281fcc..8aab891e1f 100644 --- a/packages/sampler/stories/qa/Popup.js +++ b/packages/sampler/stories/qa/Popup.js @@ -1,7 +1,9 @@ import Button from '@enact/moonstone/Button'; +import Notification from '@enact/moonstone/Notification'; import Popup from '@enact/moonstone/Popup'; -import React from 'react'; import SpotlightContainerDecorator from '@enact/spotlight/SpotlightContainerDecorator'; +import Toggleable from '@enact/ui/Toggleable'; +import React from 'react'; import {storiesOf} from '@storybook/react'; import {action} from '@storybook/addon-actions'; @@ -11,6 +13,23 @@ Popup.displayName = 'Popup'; const Container = SpotlightContainerDecorator('div'); +const PopupFromSelfOnlyContainer = Toggleable( + {prop: 'open', toggle: 'onToggle'}, + ({onToggle, open}) => ( +
+ + + + + popup + + + + +
+ ) +); + storiesOf('Popup', module) .add( 'using spotlightRestrict', @@ -41,4 +60,10 @@ storiesOf('Popup', module) ) + ) + .add( + 'from self-only container', + () => ( + + ) ); From f19d246e67ac40a133a78a66e8516ea971e135d9 Mon Sep 17 00:00:00 2001 From: YunBum SUNG Date: Thu, 13 Sep 2018 09:11:31 +0900 Subject: [PATCH 04/14] PLAT-64865: Remove `direction` prop in ScrollButton (#1939) * Remove `direction` prop in ScrollButton Enact-DCO-1.0-Signed-off-by: YB Sung (yb.sung@lge.com) * Cleanup Enact-DCO-1.0-Signed-off-by: YB Sung (yb.sung@lge.com) --- packages/moonstone/Scrollable/ScrollButton.js | 26 +------------------ .../moonstone/Scrollable/ScrollButtons.js | 2 -- 2 files changed, 1 insertion(+), 27 deletions(-) diff --git a/packages/moonstone/Scrollable/ScrollButton.js b/packages/moonstone/Scrollable/ScrollButton.js index fe77326f01..00bfbf2177 100644 --- a/packages/moonstone/Scrollable/ScrollButton.js +++ b/packages/moonstone/Scrollable/ScrollButton.js @@ -6,13 +6,6 @@ import IconButton from '../IconButton'; import css from './Scrollbar.less'; -const classNameMap = { - down: css.scrollbarBottomButton, - left: css.scrollbarLeftButton, - right: css.scrollbarRightButton, - up: css.scrollbarUpButton -}; - /** * An [IconButton]{@link moonstone/IconButton.IconButton} used within * a [Scrollbar]{@link moonstone/Scrollable.Scrollbar}. @@ -36,21 +29,6 @@ const ScrollButton = kind({ */ children: PropTypes.string.isRequired, - /** - * Scroll direction for this button. - * - * Valid values are: - * * `'down'`, - * * `'left'`, - * * `'right'`, and - * * `'up'`. - * - * @type {String} - * @required - * @public - */ - direction: PropTypes.oneOf(['down', 'left', 'right', 'up']).isRequired, - /** * Sets the hint string read when focusing the scroll bar button. * @@ -84,13 +62,11 @@ const ScrollButton = kind({ }, computed: { - 'aria-label': ({active, 'aria-label': ariaLabel}) => (active ? null : ariaLabel), - className: ({direction, styler}) => styler.append(classNameMap[direction]) + 'aria-label': ({active, 'aria-label': ariaLabel}) => (active ? null : ariaLabel) }, render: ({children, disabled, ...rest}) => { delete rest.active; - delete rest.direction; return ( Date: Fri, 14 Sep 2018 04:06:18 +0900 Subject: [PATCH 05/14] ENYO-5637: Fix FormCheckboxItem style when focused and disabled (#1945) * modify CSS for FormCheckboxItem * Update CHANGELOG.md --- CHANGELOG.md | 6 +++ .../moonstone/FormCheckbox/FormCheckbox.less | 4 +- .../FormCheckboxItem/FormCheckboxItem.less | 3 +- .../sampler/stories/qa/FormCheckboxItem.js | 37 +++++++++++++++++++ 4 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 packages/sampler/stories/qa/FormCheckboxItem.js diff --git a/CHANGELOG.md b/CHANGELOG.md index c017f12459..8c3d1269f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ The following is a curated list of changes in the Enact project, newest changes on the top. +## [unreleased] + +### Fixed + +- `moonstone/FormCheckboxItem` styling when focused and disabled + ## [2.1.3] - 2018-09-10 ### Fixed diff --git a/packages/moonstone/FormCheckbox/FormCheckbox.less b/packages/moonstone/FormCheckbox/FormCheckbox.less index 554abadbed..b8d23c2424 100644 --- a/packages/moonstone/FormCheckbox/FormCheckbox.less +++ b/packages/moonstone/FormCheckbox/FormCheckbox.less @@ -55,10 +55,9 @@ // Skin colors .applySkins({ box-shadow: none; + background-color: @moon-spotlight-color; &:not([disabled]) { - background-color: @moon-spotlight-color; - .icon { color: @moon-spotlight-text-color; } @@ -78,4 +77,3 @@ } }, parent); }, parent); - diff --git a/packages/moonstone/FormCheckboxItem/FormCheckboxItem.less b/packages/moonstone/FormCheckboxItem/FormCheckboxItem.less index 3278b2be0b..bcba784ca9 100644 --- a/packages/moonstone/FormCheckboxItem/FormCheckboxItem.less +++ b/packages/moonstone/FormCheckboxItem/FormCheckboxItem.less @@ -13,8 +13,9 @@ // Skin colors .applySkins({ .focus({ + background-color: transparent; + &:not([disabled]) { - background-color: transparent; color: @moon-text-color; } }); diff --git a/packages/sampler/stories/qa/FormCheckboxItem.js b/packages/sampler/stories/qa/FormCheckboxItem.js new file mode 100644 index 0000000000..34e8a3d97e --- /dev/null +++ b/packages/sampler/stories/qa/FormCheckboxItem.js @@ -0,0 +1,37 @@ +import FormCheckboxItem from '@enact/moonstone/FormCheckboxItem'; +import Button from '@enact/moonstone/Button'; +import React from 'react'; +import {storiesOf} from '@storybook/react'; + +class FormCheckboxItemView extends React.Component { + + constructor (props) { + super(props); + this.state = { + disabled: false + }; + } + + handleClick = () => { + this.setState(prevState => ({disabled: !prevState.disabled})); + } + + render () { + return ( +
+ You can change the state by clicking the Button or FormCheckboxItem. +
+ + FormCheckbox Item +
+ ); + } +} + +storiesOf('FormCheckboxItem', module) + .add( + 'that is focused and disabled', + () => ( + + ) + ); From 7b95d5d7e3ee119764156759837a4e36c4922365 Mon Sep 17 00:00:00 2001 From: Hyeok Jo Date: Fri, 14 Sep 2018 05:58:49 +0900 Subject: [PATCH 06/14] ENYO-5638: Fix VideoPlayer to show correct playback rate feedback on play or pause (#1946) * Fix that playback rate value is shown * change log Signed-off-by: Ryan Duffy * add warning comment --- packages/moonstone/CHANGELOG.md | 6 ++++++ packages/moonstone/VideoPlayer/VideoPlayer.js | 8 ++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/moonstone/CHANGELOG.md b/packages/moonstone/CHANGELOG.md index 4eb7830dd6..639e0f72c9 100644 --- a/packages/moonstone/CHANGELOG.md +++ b/packages/moonstone/CHANGELOG.md @@ -2,6 +2,12 @@ The following is a curated list of changes in the Enact moonstone module, newest changes on the top. +## [unreleased] + +### Fixed + +- `moonstone/VideoPlayer` to show correct playback rate feedback on play or pause + ## [2.1.3] - 2018-09-10 ### Fixed diff --git a/packages/moonstone/VideoPlayer/VideoPlayer.js b/packages/moonstone/VideoPlayer/VideoPlayer.js index d29f4a4c88..180e92f9ea 100644 --- a/packages/moonstone/VideoPlayer/VideoPlayer.js +++ b/packages/moonstone/VideoPlayer/VideoPlayer.js @@ -1205,9 +1205,11 @@ const VideoPlayerBase = class extends React.Component { } this.speedIndex = 0; + // must happen before send() to ensure feedback uses the right value + // TODO: refactor into this.state member + this.prevCommand = 'play'; this.setPlaybackRate(1); this.send('play'); - this.prevCommand = 'play'; this.announce($L('Play')); this.startDelayedMiniFeedbackHide(5000); } @@ -1225,9 +1227,11 @@ const VideoPlayerBase = class extends React.Component { } this.speedIndex = 0; + // must happen before send() to ensure feedback uses the right value + // TODO: refactor into this.state member + this.prevCommand = 'pause'; this.setPlaybackRate(1); this.send('pause'); - this.prevCommand = 'pause'; this.announce($L('Pause')); this.stopDelayedMiniFeedbackHide(); } From 5cd1b704516fd576f8669db4dbd7f561ce48da94 Mon Sep 17 00:00:00 2001 From: Sangwook-Lee Date: Fri, 14 Sep 2018 10:07:05 +0900 Subject: [PATCH 07/14] ENYO-5626: Fix Spottable to respect pause state when it becomes enabled (#1938) * added dragging prop to IncrementSlider * added qa-sampler * revert to fix for IncrementSlider and fix spottable * modified CHANGELOG and remove unused prop * Update IncrementSlider.js * Clarify test comment Enact-DCO-1.0-Signed-off-by: Roy Sutton roy.sutton@lge.com --- .../sampler/stories/qa/IncrementSlider.js | 40 ++++++++++++++ packages/sampler/stories/qa/Spotlight.js | 54 +++++++++++++++++++ packages/spotlight/CHANGELOG.md | 6 +++ packages/spotlight/Spottable/Spottable.js | 4 +- 4 files changed, 102 insertions(+), 2 deletions(-) diff --git a/packages/sampler/stories/qa/IncrementSlider.js b/packages/sampler/stories/qa/IncrementSlider.js index 5fe3ff6cd9..b53133e72c 100644 --- a/packages/sampler/stories/qa/IncrementSlider.js +++ b/packages/sampler/stories/qa/IncrementSlider.js @@ -1,7 +1,38 @@ import IncrementSliderDelayValue from './components/IncrementSliderDelayValue'; import React from 'react'; +import IncrementSlider from '@enact/moonstone/IncrementSlider'; +import Button from '@enact/moonstone/Button'; +import ri from '@enact/ui/resolution'; import {storiesOf} from '@storybook/react'; +class IncrementSliderView extends React.Component { + + constructor (props) { + super(props); + this.state = { + value: 0 + }; + } + + handleChange = (ev) => { + setTimeout(() => { + this.setState({value: ev.value}); + }, 200); + } + + render () { + return ( +
+
+ + +
+ +
+ ); + } +} + storiesOf('IncrementSlider', module) .add( 'PLAT-28221', @@ -11,4 +42,13 @@ storiesOf('IncrementSlider', module) ) + ) + .add( + 'spotlight behavior while dragging', + () => ( +
+ While holding down the knob (dragging), move the cursor quickly between knob and SliderButtons. Ensure the buttons do not receive spotlight. + +
+ ) ); diff --git a/packages/sampler/stories/qa/Spotlight.js b/packages/sampler/stories/qa/Spotlight.js index e69106e907..9da1159a54 100644 --- a/packages/sampler/stories/qa/Spotlight.js +++ b/packages/sampler/stories/qa/Spotlight.js @@ -33,6 +33,7 @@ import {storiesOf} from '@storybook/react'; import {action} from '@storybook/addon-actions'; import {boolean, select} from '../../src/enact-knobs'; +import Pause from '@enact/spotlight/Pause'; const Container = SpotlightContainerDecorator( {enterTo: 'last-focused'}, @@ -120,6 +121,53 @@ class DisappearTest extends React.Component { } } +class DisableTest extends React.Component { + constructor (props) { + super(props); + + this.state = { + disabled: false + }; + } + + componentDidMount () { + Spotlight.resume(); + this.id = setInterval(() => this.setState(state => ({disabled: !state.disabled})), 5000); + } + + componentWillUnmount () { + clearInterval(this.id); + this.paused.resume(); + } + + paused = new Pause('Pause Test') + + handleToggle = () => { + if (this.paused.isPaused()) { + this.paused.resume(); + } else { + this.paused.pause(); + } + } + + render () { + return ( +
+

Timed Button is alternately enabled and disabled every 5 seconds. Pressing the Active/Paused button will resume and pause Spotlight, respectively.

+ + +
+ ); + } +} + class PopupFocusTest extends React.Component { static propTypes = { noAnimation: PropTypes.bool, @@ -281,6 +329,12 @@ storiesOf('Spotlight', module) ) ) + .add( + 'Disabled with Pause', + () => ( + + ) + ) .add( 'Popup Navigation', () => ( diff --git a/packages/spotlight/CHANGELOG.md b/packages/spotlight/CHANGELOG.md index 6a3772c0a0..62ae538b2b 100644 --- a/packages/spotlight/CHANGELOG.md +++ b/packages/spotlight/CHANGELOG.md @@ -2,6 +2,12 @@ The following is a curated list of changes in the Enact spotlight module, newest changes on the top. +## [unreleased] + +### Fixed + +- `spotlight/Spottable` to respect paused state when it becomes enabled + ## [2.1.3] - 2018-09-10 No significant changes. diff --git a/packages/spotlight/Spottable/Spottable.js b/packages/spotlight/Spottable/Spottable.js index ab23b1a29a..1b03ccc026 100644 --- a/packages/spotlight/Spottable/Spottable.js +++ b/packages/spotlight/Spottable/Spottable.js @@ -208,14 +208,14 @@ const Spottable = hoc(defaultConfig, (config, Wrapped) => { } // if the component became enabled, notify spotlight to enable restoring "lost" focus - if (isSpottable(this.props) && !isSpottable(prevProps)) { + if (isSpottable(this.props) && !isSpottable(prevProps) && !Spotlight.isPaused()) { if (Spotlight.getPointerMode()) { if (this.isHovered) { Spotlight.setPointerMode(false); Spotlight.focus(this.node); Spotlight.setPointerMode(true); } - } else if (!Spotlight.getCurrent() && !Spotlight.isPaused()) { + } else if (!Spotlight.getCurrent()) { const containers = getContainersForNode(this.node); const containerId = Spotlight.getActiveContainer(); if (containers.indexOf(containerId) >= 0) { From 2fc464a56d6822195dc3505e8616e389e9a9bd9b Mon Sep 17 00:00:00 2001 From: Stephen Choi Date: Fri, 14 Sep 2018 10:06:46 -0700 Subject: [PATCH 08/14] ENYO-5586: Fix 5-way navigation into VideoPlayer (#1942) * ENYO-5586: Remove container restriction in MediaControls Enact-DCO-1.0-Signed-off-by: Stephen Choi * add default element config option to root container Reviewed-By: Ryan Duffy (ryan.duffy@lge.com) Integrated-By: Ryan Duffy (ryan.duffy@lge.com) --- packages/moonstone/VideoPlayer/MediaControls.js | 1 - packages/moonstone/VideoPlayer/VideoPlayer.js | 9 ++++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/moonstone/VideoPlayer/MediaControls.js b/packages/moonstone/VideoPlayer/MediaControls.js index 35da70071f..d594c73f5c 100644 --- a/packages/moonstone/VideoPlayer/MediaControls.js +++ b/packages/moonstone/VideoPlayer/MediaControls.js @@ -23,7 +23,6 @@ import {countReactChildren} from './util'; import css from './VideoPlayer.less'; const OuterContainer = SpotlightContainerDecorator({ - enterTo: 'default-element', defaultElement: [ `.${css.leftComponents} .${spotlightDefaultClass}`, `.${css.rightComponents} .${spotlightDefaultClass}`, diff --git a/packages/moonstone/VideoPlayer/VideoPlayer.js b/packages/moonstone/VideoPlayer/VideoPlayer.js index 180e92f9ea..66c129fa78 100644 --- a/packages/moonstone/VideoPlayer/VideoPlayer.js +++ b/packages/moonstone/VideoPlayer/VideoPlayer.js @@ -50,7 +50,14 @@ import Video from './Video'; import css from './VideoPlayer.less'; const SpottableDiv = Touchable(Spottable('div')); -const RootContainer = SpotlightContainerDecorator('div'); +const RootContainer = SpotlightContainerDecorator( + { + enterTo: 'default-element', + defaultElement: [`.${css.controlsHandleAbove}`, `.${css.controlsFrame}`] + }, + 'div' +); + const ControlsContainer = SpotlightContainerDecorator( { enterTo: '', From 09e21d608a06723132deb2926f1cebd43cd31f08 Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Fri, 14 Sep 2018 11:04:00 -0700 Subject: [PATCH 09/14] ENYO-5639: Fix Button and IconButton styling of image-based icons (#1948) * fix spottable disabled style for image icons in buttons Signed-off-by: Ryan Duffy * change log Signed-off-by: Ryan Duffy * add qa sample Signed-off-by: Ryan Duffy * remove extra sample Signed-off-by: Ryan Duffy * remove data-index Signed-off-by: Ryan Duffy * code style Signed-off-by: Ryan Duffy --- packages/moonstone/Button/Button.less | 5 ++ packages/moonstone/CHANGELOG.md | 1 + packages/moonstone/IconButton/IconButton.less | 14 +++++ packages/sampler/stories/qa/Spotlight.js | 55 +++++++++++++++++++ 4 files changed, 75 insertions(+) diff --git a/packages/moonstone/Button/Button.less b/packages/moonstone/Button/Button.less index ba893322a8..9aeda295ea 100644 --- a/packages/moonstone/Button/Button.less +++ b/packages/moonstone/Button/Button.less @@ -193,6 +193,11 @@ .disabled({ color: @moon-spotlight-disabled-text-color; + + .icon { + .vendor-opacity(0.6); + color: @moon-spotlight-text-color; + } }); }); diff --git a/packages/moonstone/CHANGELOG.md b/packages/moonstone/CHANGELOG.md index 639e0f72c9..5fe9a0f7e4 100644 --- a/packages/moonstone/CHANGELOG.md +++ b/packages/moonstone/CHANGELOG.md @@ -6,6 +6,7 @@ The following is a curated list of changes in the Enact moonstone module, newest ### Fixed +- `moonstone/Button` and `moonstone/IconButton` to style image-based icons correctly when focused and disabled - `moonstone/VideoPlayer` to show correct playback rate feedback on play or pause ## [2.1.3] - 2018-09-10 diff --git a/packages/moonstone/IconButton/IconButton.less b/packages/moonstone/IconButton/IconButton.less index 8e14351141..458b216c80 100644 --- a/packages/moonstone/IconButton/IconButton.less +++ b/packages/moonstone/IconButton/IconButton.less @@ -3,6 +3,7 @@ @import "../styles/mixins.less"; @import "../styles/variables.less"; @import "../styles/text.less"; +@import "../styles/skin.less"; .iconButton { .moon-taparea(@moon-icon-button-size); @@ -57,4 +58,17 @@ .selected { /* Exported for customization*/ } + + .applySkins({ + .focus({ + .disabled({ + color: @moon-spotlight-disabled-text-color; + + .icon { + .vendor-opacity(0.6); + color: @moon-spotlight-text-color; + } + }); + }); + }); } diff --git a/packages/sampler/stories/qa/Spotlight.js b/packages/sampler/stories/qa/Spotlight.js index 9da1159a54..e48bd400e6 100644 --- a/packages/sampler/stories/qa/Spotlight.js +++ b/packages/sampler/stories/qa/Spotlight.js @@ -25,6 +25,7 @@ import ToggleItem from '@enact/moonstone/ToggleItem'; import Scroller from '@enact/moonstone/Scroller'; import Slider from '@enact/moonstone/Slider'; import Spotlight from '@enact/spotlight'; +import {Row} from '@enact/ui/Layout'; import ri from '@enact/ui/resolution'; import SpotlightContainerDecorator from '@enact/spotlight/SpotlightContainerDecorator'; import React from 'react'; @@ -32,6 +33,7 @@ import PropTypes from 'prop-types'; import {storiesOf} from '@storybook/react'; import {action} from '@storybook/addon-actions'; +import docs from '../../images/icon-enact-docs.png'; import {boolean, select} from '../../src/enact-knobs'; import Pause from '@enact/spotlight/Pause'; @@ -232,6 +234,53 @@ class PopupFocusTest extends React.Component { } } +class FocusedAndDisabled extends React.Component { + state = { + index: -1 + } + + tests = [ + , + star, + , + {docs} + ] + + handleClear = () => this.setState({index: -1}) + + select = (index) => { + Spotlight.setPointerMode(false); + Spotlight.focus(`component-${index}`); + this.setState({index}); + } + + render () { + return ( + +

Click or 5-way select the icon buttons to:

+
    +
  1. Disable pointer mode
  2. +
  3. Set focus on the component next to the button
  4. +
  5. Disable the newly focused component
  6. +
+ + {this.tests.map((comp, index) => ( + + {/* eslint-disable-next-line react/jsx-no-bind */} + this.select(index)}> + arrowlargeright + + {React.cloneElement(comp, { + disabled: this.state.index === index, + spotlightId: `component-${index}` + })} + + ))} +
+ ); + } +} + storiesOf('Spotlight', module) .add( 'Multiple Buttons', @@ -347,6 +396,12 @@ storiesOf('Spotlight', module) /> ) ) + .add( + 'Focused and Disabled', + () => ( + + ) + ) .add( 'Kitchen Sink', () => ( From 3179dd4e31bd17e71422cf228305c24b60058832 Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Fri, 14 Sep 2018 11:43:33 -0700 Subject: [PATCH 10/14] ENYO-5635: Fix Panels to blur breadcrumbs on transition (#1947) * fix Breadcrumbs to always blur on transition Signed-off-by: Ryan Duffy * change log Signed-off-by: Ryan Duffy * guard against failing to find the breadcrumb container Signed-off-by: Ryan Duffy --- packages/moonstone/CHANGELOG.md | 1 + packages/moonstone/Panels/Breadcrumb.js | 15 ++++++------- .../moonstone/Panels/BreadcrumbDecorator.js | 22 +++++++++++++++---- packages/ui/CHANGELOG.md | 6 +++++ packages/ui/ViewManager/TransitionGroup.js | 2 +- 5 files changed, 33 insertions(+), 13 deletions(-) diff --git a/packages/moonstone/CHANGELOG.md b/packages/moonstone/CHANGELOG.md index 5fe9a0f7e4..affb41f35c 100644 --- a/packages/moonstone/CHANGELOG.md +++ b/packages/moonstone/CHANGELOG.md @@ -6,6 +6,7 @@ The following is a curated list of changes in the Enact moonstone module, newest ### Fixed +- `moonstone/Panels` to always blur breadcrumbs when transitioning to a new panel - `moonstone/Button` and `moonstone/IconButton` to style image-based icons correctly when focused and disabled - `moonstone/VideoPlayer` to show correct playback rate feedback on play or pause diff --git a/packages/moonstone/Panels/Breadcrumb.js b/packages/moonstone/Panels/Breadcrumb.js index 74cfe1c4dc..2f78af4885 100644 --- a/packages/moonstone/Panels/Breadcrumb.js +++ b/packages/moonstone/Panels/Breadcrumb.js @@ -1,9 +1,11 @@ +import {handle, forward, adaptEvent} from '@enact/core/handle'; import kind from '@enact/core/kind'; import Spottable from '@enact/spotlight/Spottable'; -import React from 'react'; import PropTypes from 'prop-types'; +import React from 'react'; import $L from '../internal/$L'; + import css from './Panels.less'; // Since we expose `onSelect` to handle breadcrumb selection, we need that handler to be set on a @@ -69,13 +71,10 @@ const BreadcrumbBase = kind({ }, handlers: { - onSelect: (ev, {index, onSelect, onClick}) => { - // clear Spotlight focus - ev.target.blur(); - - if (onClick) onClick(ev); - if (onSelect) onSelect({index}); - } + onSelect: handle( + forward('onClick'), + adaptEvent((ev, {index}) => ({type: 'onSelect', index}), forward('onSelect')) + ) }, render: ({children, index, onSelect, ...rest}) => ( diff --git a/packages/moonstone/Panels/BreadcrumbDecorator.js b/packages/moonstone/Panels/BreadcrumbDecorator.js index e72b586f67..0615decd8e 100644 --- a/packages/moonstone/Panels/BreadcrumbDecorator.js +++ b/packages/moonstone/Panels/BreadcrumbDecorator.js @@ -1,10 +1,11 @@ -import {coerceFunction} from '@enact/core/util'; import hoc from '@enact/core/hoc'; -import invariant from 'invariant'; import kind from '@enact/core/kind'; +import {coerceFunction} from '@enact/core/util'; import ViewManager from '@enact/ui/ViewManager'; -import React from 'react'; +import Spotlight from '@enact/spotlight'; +import invariant from 'invariant'; import PropTypes from 'prop-types'; +import React from 'react'; import IdProvider from '../internal/IdProvider'; import Skinnable from '../Skinnable'; @@ -152,6 +153,18 @@ const BreadcrumbDecorator = hoc(defaultConfig, (config, Wrapped) => { className: cfgClassName }, + handlers: { + handleBreadcrumbWillTransition: (ev, {id}) => { + const current = Spotlight.getCurrent(); + if (!current) return; + + const breadcrumbs = document.querySelector(`#${id} .${css.breadcrumbs}`); + if (breadcrumbs && breadcrumbs.contains(current)) { + current.blur(); + } + } + }, + computed: { // Invokes the breadcrumb generator, if provided breadcrumbs: ({breadcrumbs, id, index, onSelectBreadcrumb}) => { @@ -202,7 +215,7 @@ const BreadcrumbDecorator = hoc(defaultConfig, (config, Wrapped) => { } }, - render: ({breadcrumbs, childProps, children, className, generateId, id, index, noAnimation, ...rest}) => { + render: ({breadcrumbs, childProps, children, className, generateId, handleBreadcrumbWillTransition, id, index, noAnimation, ...rest}) => { delete rest.onSelectBreadcrumb; const count = React.Children.count(children); @@ -220,6 +233,7 @@ const BreadcrumbDecorator = hoc(defaultConfig, (config, Wrapped) => { end={calcMax()} index={index - 1} noAnimation={noAnimation} + onWillTransition={handleBreadcrumbWillTransition} start={0} > {breadcrumbs} diff --git a/packages/ui/CHANGELOG.md b/packages/ui/CHANGELOG.md index a49facd10d..6f6638c9a7 100644 --- a/packages/ui/CHANGELOG.md +++ b/packages/ui/CHANGELOG.md @@ -2,6 +2,12 @@ The following is a curated list of changes in the Enact ui module, newest changes on the top. +## [unreleased] + +### Fixed + +- `ui/ViewManager` to emit `onWillTransition` when either views or added or removed + ## [2.1.3] - 2018-09-10 ### Fixed diff --git a/packages/ui/ViewManager/TransitionGroup.js b/packages/ui/ViewManager/TransitionGroup.js index 7637e82ef2..3116438b03 100644 --- a/packages/ui/ViewManager/TransitionGroup.js +++ b/packages/ui/ViewManager/TransitionGroup.js @@ -288,7 +288,7 @@ class TransitionGroup extends React.Component { }); } - if (this.keysToEnter.length) { + if (this.keysToEnter.length || this.keysToLeave.length) { forwardOnWillTransition(null, this.props); } From c2b089f4a483dadca9a62a22255af22c18f78cdb Mon Sep 17 00:00:00 2001 From: Yeram Choi Date: Sat, 15 Sep 2018 04:27:26 +0900 Subject: [PATCH 11/14] ENYO-5634: Fix title of expandable is invisible when expandable opens (#1943) * Do not adjust scrollTop when focusing to nested item * change log * update CHANGELOG --- packages/moonstone/CHANGELOG.md | 2 ++ packages/moonstone/Scroller/Scroller.js | 16 ++++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/moonstone/CHANGELOG.md b/packages/moonstone/CHANGELOG.md index affb41f35c..faccc45c41 100644 --- a/packages/moonstone/CHANGELOG.md +++ b/packages/moonstone/CHANGELOG.md @@ -6,9 +6,11 @@ The following is a curated list of changes in the Enact moonstone module, newest ### Fixed +- `moonstone/Scroller` to not to adjust `scrollTop` when nested item is focused - `moonstone/Panels` to always blur breadcrumbs when transitioning to a new panel - `moonstone/Button` and `moonstone/IconButton` to style image-based icons correctly when focused and disabled - `moonstone/VideoPlayer` to show correct playback rate feedback on play or pause +- `moonstone/Scroller` to correctly set scroll position when nested item is focused ## [2.1.3] - 2018-09-10 diff --git a/packages/moonstone/Scroller/Scroller.js b/packages/moonstone/Scroller/Scroller.js index 05c45e8e01..84dc1fe8fb 100644 --- a/packages/moonstone/Scroller/Scroller.js +++ b/packages/moonstone/Scroller/Scroller.js @@ -189,18 +189,18 @@ class ScrollerBase extends Component { newScrollTop += nestedItemBottom - scrollBottom; } else if (nestedItemTop - currentScrollTop < epsilon) { // Caculate when 5-way focus up past the top. - newScrollTop += nestedItemTop - currentScrollTop; + if (newItemTop > newScrollTop) { + // Ensure that the adjusted scrollTop would at least scroll the container to the top of + // the viewport (e.g. because the container is at the bottom of the scroller and the + // nested item is at the top of the container) + newScrollTop = newItemTop; + } else { + newScrollTop += nestedItemTop - currentScrollTop; + } } else if (newItemTop - nestedItemHeight - currentScrollTop > epsilon) { // set scroll position so that the top of the container is at least on the top as a fallback. newScrollTop = newItemTop - nestedItemHeight; } - - // Ensure that the adjusted scrollTop would at least scroll the container to the top of - // the viewport (e.g. because the container is at the bottom of the scroller and the - // nested item is at the top of the container) - if (newItemTop > newScrollTop) { - newScrollTop = newItemTop; - } } else if (itemBottom - scrollBottom > epsilon) { // Caculate when 5-way focus down past the bottom. newScrollTop += itemBottom - scrollBottom; From 188b7255a6ca0a7b33bddc1ee7b334bbbfbbb683 Mon Sep 17 00:00:00 2001 From: Stephen Choi Date: Mon, 17 Sep 2018 12:39:27 -0700 Subject: [PATCH 12/14] Revert "ENYO-5504: Scroll page by page via Channel Up / Down keys without focused item (#1936)" This reverts commit de0cb8ba070474429149af269f4c7d5953a287fc. --- packages/moonstone/CHANGELOG.md | 1 - packages/moonstone/Scrollable/Scrollable.js | 25 ++++++------------- .../moonstone/Scrollable/ScrollableNative.js | 25 ++++++------------- 3 files changed, 14 insertions(+), 37 deletions(-) diff --git a/packages/moonstone/CHANGELOG.md b/packages/moonstone/CHANGELOG.md index faccc45c41..b23308dbaa 100644 --- a/packages/moonstone/CHANGELOG.md +++ b/packages/moonstone/CHANGELOG.md @@ -16,7 +16,6 @@ The following is a curated list of changes in the Enact moonstone module, newest ### Fixed -- `moonstone/Scroller`, `moonstone/VirtualList.VirtualGridList`, and `moonstone/VirtualList.VirtualList` to scroll page by page via channel up or down keys without focused item - `moonstone/Scroller`, `moonstone/VirtualList.VirtualGridList`, and `moonstone/VirtualList.VirtualList` to show overscroll effects properly on repeating wheel input - `moonstone/TooltipDecorator` to handle runtime error when setting `tooltipText` to an empty string - `moonstone/VideoPlayer` timing to read out `infoComponents` accessibility value when `moreButton` or `moreButtonColor` is pressed diff --git a/packages/moonstone/Scrollable/Scrollable.js b/packages/moonstone/Scrollable/Scrollable.js index 02daeeb42a..f48e4d4dbd 100644 --- a/packages/moonstone/Scrollable/Scrollable.js +++ b/packages/moonstone/Scrollable/Scrollable.js @@ -371,7 +371,7 @@ class ScrollableBase extends Component { } } - scrollByPage = (direction, keyCode) => { + scrollByPage = (direction) => { // Only scroll by page when the vertical scrollbar is visible. Otherwise, treat the // scroller as a plain container if (!this.uiRef.state.isVerticalScrollbarVisible) { @@ -395,15 +395,9 @@ class ScrollableBase extends Component { endPoint = { x: focusedItemBounds.left + focusedItemBounds.width / 2, y: viewportBounds.top + ((direction === 'up') ? focusedItemBounds.height / 2 - 1 : viewportBounds.height - focusedItemBounds.height / 2 + 1) - }, - wasPointerMode = Spotlight.getPointerMode(); + }; let next = null; - if (wasPointerMode) { - // We need to convert to 5-way key mode to move Spot to another item manually. - Spotlight.setPointerMode(false); - } - /* 1. Find spottable item in viewport */ next = getTargetByDirectionFromPosition(rDirection, endPoint, spotlightId); @@ -423,17 +417,11 @@ class ScrollableBase extends Component { this.childRef.scrollToNextItem({direction, focusedItem, reverseDirection: rDirection, spotlightId}); } - if (wasPointerMode) { - // It is not converted to 5-way key mode even though pressing a channel up or down keys in pointer mode. - // So we need to convert back to the pointer mode. - Spotlight.setPointerMode(true); - } - } else { - this.uiRef.scrollByPage(keyCode); + // Need to check whether an overscroll effect is needed + return true; } - // Need to check whether an overscroll effect is needed - return true; + return false; } hasFocus () { @@ -462,8 +450,9 @@ class ScrollableBase extends Component { if (isPageUp(keyCode) || isPageDown(keyCode)) { if (this.props.direction === 'vertical' || this.props.direction === 'both') { + Spotlight.setPointerMode(false); direction = isPageUp(keyCode) ? 'up' : 'down'; - overscrollEffectRequired = this.scrollByPage(direction, keyCode) && overscrollEffectOn.pageKey; + overscrollEffectRequired = this.scrollByPage(direction) && overscrollEffectOn.pageKey; } } else if (getDirection(keyCode)) { const element = Spotlight.getCurrent(); diff --git a/packages/moonstone/Scrollable/ScrollableNative.js b/packages/moonstone/Scrollable/ScrollableNative.js index 898e5aa39e..5d141aec72 100644 --- a/packages/moonstone/Scrollable/ScrollableNative.js +++ b/packages/moonstone/Scrollable/ScrollableNative.js @@ -446,7 +446,7 @@ class ScrollableBaseNative extends Component { } } - scrollByPage = (direction, keyCode) => { + scrollByPage = (direction) => { // Only scroll by page when the vertical scrollbar is visible. Otherwise, treat the // scroller as a plain container if (!this.uiRef.state.isVerticalScrollbarVisible) { @@ -470,15 +470,9 @@ class ScrollableBaseNative extends Component { endPoint = { x: focusedItemBounds.left + focusedItemBounds.width / 2, y: viewportBounds.top + ((direction === 'up') ? focusedItemBounds.height / 2 - 1 : viewportBounds.height - focusedItemBounds.height / 2 + 1) - }, - wasPointerMode = Spotlight.getPointerMode(); + }; let next = null; - if (wasPointerMode) { - // We need to convert to 5-way key mode to move Spot to another item manually. - Spotlight.setPointerMode(false); - } - /* 1. Find spottable item in viewport */ next = getTargetByDirectionFromPosition(rDirection, endPoint, spotlightId); @@ -498,17 +492,11 @@ class ScrollableBaseNative extends Component { this.childRef.scrollToNextItem({direction, focusedItem, reverseDirection: rDirection, spotlightId}); } - if (wasPointerMode) { - // It is not converted to 5-way key mode even though pressing a channel up or down keys in pointer mode. - // So we need to convert back to the pointer mode. - Spotlight.setPointerMode(true); - } - } else { - this.uiRef.scrollByPage(keyCode); + // Need to check whether an overscroll effect is needed + return true; } - // Need to check whether an overscroll effect is needed - return true; + return false; } hasFocus () { @@ -537,8 +525,9 @@ class ScrollableBaseNative extends Component { if (isPageUp(keyCode) || isPageDown(keyCode)) { ev.preventDefault(); if (!repeat && this.hasFocus() && this.props.direction === 'vertical' || this.props.direction === 'both') { + Spotlight.setPointerMode(false); direction = isPageUp(keyCode) ? 'up' : 'down'; - overscrollEffectRequired = this.scrollByPage(direction, keyCode) && overscrollEffectOn.pageKey; + overscrollEffectRequired = this.scrollByPage(direction) && overscrollEffectOn.pageKey; } } else if (!Spotlight.getPointerMode() && !repeat && this.hasFocus() && getDirection(keyCode)) { const element = Spotlight.getCurrent(); From d1ed31e8a0725c31ef6cf43c0b9fe667cfa6ce52 Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Mon, 17 Sep 2018 13:51:26 -0700 Subject: [PATCH 13/14] Update change logs for 2.1.4 Signed-off-by: Ryan Duffy --- CHANGELOG.md | 9 ++++++++- packages/core/CHANGELOG.md | 4 ++++ packages/i18n/CHANGELOG.md | 4 ++++ packages/moonstone/CHANGELOG.md | 9 +++++---- packages/sampler/CHANGELOG.md | 4 ++++ packages/spotlight/CHANGELOG.md | 2 +- packages/ui/CHANGELOG.md | 4 ++-- packages/webos/CHANGELOG.md | 4 ++++ 8 files changed, 32 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c3d1269f2..db6bcaf883 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,11 +2,18 @@ The following is a curated list of changes in the Enact project, newest changes on the top. -## [unreleased] +## [2.1.4] - 2018-09-17 ### Fixed +- `moonstone/Button` and `moonstone/IconButton` to style image-based icons correctly when focused and disabled - `moonstone/FormCheckboxItem` styling when focused and disabled +- `moonstone/Panels` to always blur breadcrumbs when transitioning to a new panel +- `moonstone/Scroller` to correctly set scroll position when nested item is focused +- `moonstone/Scroller` to not adjust `scrollTop` when nested item is focused +- `moonstone/VideoPlayer` to show correct playback rate feedback on play or pause +- `spotlight/Spottable` to respect paused state when it becomes enabled +- `ui/ViewManager` to emit `onWillTransition` when views are either added or removed ## [2.1.3] - 2018-09-10 diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index a3f9467865..d5757defca 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -2,6 +2,10 @@ The following is a curated list of changes in the Enact core module, newest changes on the top. +## [2.1.4] - 2018-09-17 + +No significant changes. + ## [2.1.3] - 2018-09-10 No significant changes. diff --git a/packages/i18n/CHANGELOG.md b/packages/i18n/CHANGELOG.md index da8815c55c..ece81d8cee 100644 --- a/packages/i18n/CHANGELOG.md +++ b/packages/i18n/CHANGELOG.md @@ -2,6 +2,10 @@ The following is a curated list of changes in the Enact i18n module, newest changes on the top. +## [2.1.4] - 2018-09-17 + +No significant changes. + ## [2.1.3] - 2018-09-10 No significant changes. diff --git a/packages/moonstone/CHANGELOG.md b/packages/moonstone/CHANGELOG.md index b23308dbaa..e25f1d91fa 100644 --- a/packages/moonstone/CHANGELOG.md +++ b/packages/moonstone/CHANGELOG.md @@ -2,15 +2,16 @@ The following is a curated list of changes in the Enact moonstone module, newest changes on the top. -## [unreleased] +## [2.1.4] - 2018-09-17 ### Fixed -- `moonstone/Scroller` to not to adjust `scrollTop` when nested item is focused -- `moonstone/Panels` to always blur breadcrumbs when transitioning to a new panel - `moonstone/Button` and `moonstone/IconButton` to style image-based icons correctly when focused and disabled -- `moonstone/VideoPlayer` to show correct playback rate feedback on play or pause +- `moonstone/FormCheckboxItem` styling when focused and disabled +- `moonstone/Panels` to always blur breadcrumbs when transitioning to a new panel - `moonstone/Scroller` to correctly set scroll position when nested item is focused +- `moonstone/Scroller` to not adjust `scrollTop` when nested item is focused +- `moonstone/VideoPlayer` to show correct playback rate feedback on play or pause ## [2.1.3] - 2018-09-10 diff --git a/packages/sampler/CHANGELOG.md b/packages/sampler/CHANGELOG.md index 2dbc80a617..092066477b 100644 --- a/packages/sampler/CHANGELOG.md +++ b/packages/sampler/CHANGELOG.md @@ -2,6 +2,10 @@ The following is a curated list of changes in the Enact Sampler, newest changes on the top. +## [2.1.4] - 2018-09-17 + +No significant changes. + ## [2.1.3] - 2018-09-10 No significant changes. diff --git a/packages/spotlight/CHANGELOG.md b/packages/spotlight/CHANGELOG.md index 62ae538b2b..a6aaeb0799 100644 --- a/packages/spotlight/CHANGELOG.md +++ b/packages/spotlight/CHANGELOG.md @@ -2,7 +2,7 @@ The following is a curated list of changes in the Enact spotlight module, newest changes on the top. -## [unreleased] +## [2.1.4] - 2018-09-17 ### Fixed diff --git a/packages/ui/CHANGELOG.md b/packages/ui/CHANGELOG.md index 6f6638c9a7..86ac9aa264 100644 --- a/packages/ui/CHANGELOG.md +++ b/packages/ui/CHANGELOG.md @@ -2,11 +2,11 @@ The following is a curated list of changes in the Enact ui module, newest changes on the top. -## [unreleased] +## [2.1.4] - 2018-09-17 ### Fixed -- `ui/ViewManager` to emit `onWillTransition` when either views or added or removed +- `ui/ViewManager` to emit `onWillTransition` when views are either added or removed ## [2.1.3] - 2018-09-10 diff --git a/packages/webos/CHANGELOG.md b/packages/webos/CHANGELOG.md index 0e04846410..19645d0311 100644 --- a/packages/webos/CHANGELOG.md +++ b/packages/webos/CHANGELOG.md @@ -2,6 +2,10 @@ The following is a curated list of changes in the Enact webos module, newest changes on the top. +## [2.1.4] - 2018-09-17 + +No significant changes. + ## [2.1.3] - 2018-09-10 No significant changes. From e0606a515478259f2305acfea2afcb4b3f3d496d Mon Sep 17 00:00:00 2001 From: Jason Robitaille Date: Mon, 17 Sep 2018 14:55:58 -0700 Subject: [PATCH 14/14] Version value updating --- lerna.json | 2 +- package.json | 2 +- packages/core/package.json | 2 +- packages/i18n/package.json | 4 +- packages/moonstone/package.json | 10 +- packages/sampler/npm-shrinkwrap.json | 245 +++++++++++++-------------- packages/sampler/package.json | 14 +- packages/spotlight/package.json | 4 +- packages/ui/package.json | 4 +- packages/webos/package.json | 4 +- 10 files changed, 142 insertions(+), 149 deletions(-) diff --git a/lerna.json b/lerna.json index 318457ae8e..0672f55a1c 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { "lerna": "2.8.0", - "version": "2.1.3", + "version": "2.1.4", "command": { "bootstrap": { "npmClientArgs": [ diff --git a/package.json b/package.json index 043b117b53..97a7ec56f9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "enact", - "version": "2.1.3", + "version": "2.1.4", "description": "Monorepo for all Enact front end libraries.", "private": true, "scripts": { diff --git a/packages/core/package.json b/packages/core/package.json index b15ba3c813..d6bb7b1af5 100755 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@enact/core", - "version": "2.1.3", + "version": "2.1.4", "description": "Enact is an open source JavaScript framework containing everything you need to create a fast, scalable mobile or web application.", "main": "index.js", "scripts": { diff --git a/packages/i18n/package.json b/packages/i18n/package.json index f9935f2533..fde2e10815 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -1,7 +1,7 @@ { "name": "@enact/i18n", "main": "./src/index.js", - "version": "2.1.3", + "version": "2.1.4", "description": "Internationalization support for Enact using iLib", "scripts": { "clean": "enact clean", @@ -34,7 +34,7 @@ "extends": "enact/strict" }, "dependencies": { - "@enact/core": "^2.1.3", + "@enact/core": "^2.1.4", "prop-types": "^15.6.0", "ramda": "^0.24.1", "react": "^16.3.2", diff --git a/packages/moonstone/package.json b/packages/moonstone/package.json index 0716b8106f..191ee22ecb 100644 --- a/packages/moonstone/package.json +++ b/packages/moonstone/package.json @@ -1,6 +1,6 @@ { "name": "@enact/moonstone", - "version": "2.1.3", + "version": "2.1.4", "description": "Large-screen/TV support library for Enact, containing a variety of UI components.", "main": "index.js", "scripts": { @@ -28,10 +28,10 @@ "extends": "enact/strict" }, "dependencies": { - "@enact/core": "^2.1.3", - "@enact/i18n": "^2.1.3", - "@enact/spotlight": "^2.1.3", - "@enact/ui": "^2.1.3", + "@enact/core": "^2.1.4", + "@enact/i18n": "^2.1.4", + "@enact/spotlight": "^2.1.4", + "@enact/ui": "^2.1.4", "classnames": "^2.2.5", "eases": "^1.0.8", "invariant": "^2.2.2", diff --git a/packages/sampler/npm-shrinkwrap.json b/packages/sampler/npm-shrinkwrap.json index 240efb79bf..02a3351cb5 100644 --- a/packages/sampler/npm-shrinkwrap.json +++ b/packages/sampler/npm-shrinkwrap.json @@ -1,6 +1,6 @@ { "name": "enact-sampler", - "version": "2.1.3", + "version": "2.1.4", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -11,16 +11,16 @@ "dev": true }, "@enact/core": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@enact/core/-/core-2.1.3.tgz", - "integrity": "sha512-LlbZpQeDPKYuja0hMDtPalldywp/kBqiPkis38g/fQqxPIWVSRntRVBME/v/ayjxEWNiY7Nlfir39J7pbEU9/w==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@enact/core/-/core-2.1.4.tgz", + "integrity": "sha512-SFY15R43ZRXZmDAND1TiN1+Ft66uuLQp9n9dmrErzYp/7IvRd/+mk8khkiP/kzf/vl28tx+V77lFw/Q88EMMnA==", "requires": { "classnames": "2.2.6", "invariant": "2.2.4", "prop-types": "15.6.2", "ramda": "0.24.1", - "react": "16.5.0", - "react-dom": "16.5.0", + "react": "16.5.1", + "react-dom": "16.5.1", "recompose": "0.26.0" } }, @@ -33,7 +33,7 @@ "chalk": "2.4.1", "console.mute": "0.3.0", "core-js": "2.5.7", - "electron-to-chromium": "1.3.65", + "electron-to-chromium": "1.3.68", "find-cache-dir": "1.0.0", "glob": "7.1.3", "graceful-fs": "4.1.11", @@ -51,77 +51,77 @@ } }, "@enact/i18n": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@enact/i18n/-/i18n-2.1.3.tgz", - "integrity": "sha512-eyUJ++82VYBeHli0aT6Car4DLfuPcsXeUWgtU9kyqDKMbQC1DeuPMS/Ma2P5ShxaSwjldcqeBUummBgNfIygww==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@enact/i18n/-/i18n-2.1.4.tgz", + "integrity": "sha512-/4HjvUHZhx10nbD60Z4k/aRw0aVX1y5vofvSAKMy+YcbeHEsqxyNdH/U4WMAVvsEsqoXWngJgJyziZGvu5fEMw==", "requires": { - "@enact/core": "2.1.3", + "@enact/core": "2.1.4", "prop-types": "15.6.2", "ramda": "0.24.1", - "react": "16.5.0", - "react-dom": "16.5.0", + "react": "16.5.1", + "react-dom": "16.5.1", "xhr": "2.5.0" } }, "@enact/moonstone": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@enact/moonstone/-/moonstone-2.1.3.tgz", - "integrity": "sha512-nm3YmTboStJ70hSPQpRClCwx5tdOCSVGoFS81I9+7z2H74+QBltVhlN1jV70IJKqGc3tLWiR6lmh+AEs+FIEIQ==", - "requires": { - "@enact/core": "2.1.3", - "@enact/i18n": "2.1.3", - "@enact/spotlight": "2.1.3", - "@enact/ui": "2.1.3", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@enact/moonstone/-/moonstone-2.1.4.tgz", + "integrity": "sha512-Ph48vVYbHQudhFWemr60UeGo3SMjxcgpoFzlfhqr4Ruz1HrXjRp6DFOWi+vyvOd4e25NibpWQfiMf61tf9rvUw==", + "requires": { + "@enact/core": "2.1.4", + "@enact/i18n": "2.1.4", + "@enact/spotlight": "2.1.4", + "@enact/ui": "2.1.4", "classnames": "2.2.6", "eases": "1.0.8", "invariant": "2.2.4", "prop-types": "15.6.2", "ramda": "0.24.1", - "react": "16.5.0", - "react-dom": "16.5.0", + "react": "16.5.1", + "react-dom": "16.5.1", "recompose": "0.26.0", "warning": "3.0.0" } }, "@enact/spotlight": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@enact/spotlight/-/spotlight-2.1.3.tgz", - "integrity": "sha512-qFdM+9aASoicmyfS4Uan9mW25EjUNzIuEpfshte27p//VCusSW02H8fUeM5jDoOvIhAXlRYHIisZnwZvuUBB+w==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@enact/spotlight/-/spotlight-2.1.4.tgz", + "integrity": "sha512-/ojgU+Aja5Rf5M/9Hu2JaproR7Lf0ct7yx0B5n8DtyJbgGTn+DPe+XVDqQyVhkdQnjYN4csPxLHKjstCy2Dzrg==", "requires": { - "@enact/core": "2.1.3", + "@enact/core": "2.1.4", "prop-types": "15.6.2", "ramda": "0.24.1", - "react": "16.5.0", - "react-dom": "16.5.0", + "react": "16.5.1", + "react-dom": "16.5.1", "warning": "3.0.0" } }, "@enact/ui": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@enact/ui/-/ui-2.1.3.tgz", - "integrity": "sha512-W58bbfaRWaD5gVun3q/ZpwWzpNJyz1qBiwqKmEnmwoWwLwyQsqQoYQcqdxP+mvNA3I+91IiTVhfB4olQnSfx3g==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@enact/ui/-/ui-2.1.4.tgz", + "integrity": "sha512-AEINCfFZga1WQyRA8GidYGFvScLezqP95Zlr7pxY0Zku/wJ9WFBJthyhTtog61qUnNlOhMOsV0E3jJeA0sc1Vw==", "requires": { - "@enact/core": "2.1.3", + "@enact/core": "2.1.4", "classnames": "2.2.6", "direction": "1.0.2", "invariant": "2.2.4", "prop-types": "15.6.2", "ramda": "0.24.1", - "react": "16.5.0", - "react-dom": "16.5.0", + "react": "16.5.1", + "react-dom": "16.5.1", "recompose": "0.26.0", "warning": "3.0.0" } }, "@enact/webos": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@enact/webos/-/webos-2.1.3.tgz", - "integrity": "sha512-4xJzXQ2eGPev2rNvTH8F+u/CKwF354CSgXMchd3YkpRy9keEtNUaaCUe0gTGkVUztg6JLa8+5lxvHU2LOAYFDQ==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@enact/webos/-/webos-2.1.4.tgz", + "integrity": "sha512-1ODnLumeoYbVTsThtNWD/2PcRSj73gc6XJMhMqAbop0lIwjngaOJNXzMbI7gjCJYLFen9Icq8hX/JMB30qm/pA==", "requires": { - "@enact/core": "2.1.3", + "@enact/core": "2.1.4", "prop-types": "15.6.2", - "react": "16.5.0", - "react-dom": "16.5.0" + "react": "16.5.1", + "react-dom": "16.5.1" } }, "@storybook/addon-actions": { @@ -274,7 +274,7 @@ "url-loader": "0.6.2", "webpack": "3.12.0", "webpack-dev-middleware": "1.12.2", - "webpack-hot-middleware": "2.23.1" + "webpack-hot-middleware": "2.24.0" }, "dependencies": { "style-loader": { @@ -363,7 +363,7 @@ "uglifyjs-webpack-plugin": "1.3.0", "util-deprecate": "1.0.2", "webpack": "3.12.0", - "webpack-hot-middleware": "2.23.1" + "webpack-hot-middleware": "2.24.0" }, "dependencies": { "core-js": { @@ -787,7 +787,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "async-each": { @@ -906,7 +906,7 @@ "convert-source-map": "1.6.0", "debug": "2.6.9", "json5": "0.5.1", - "lodash": "4.17.10", + "lodash": "4.17.11", "minimatch": "3.0.4", "path-is-absolute": "1.0.1", "private": "0.1.8", @@ -933,7 +933,7 @@ "babel-types": "6.26.0", "detect-indent": "4.0.0", "jsesc": "1.3.0", - "lodash": "4.17.10", + "lodash": "4.17.11", "source-map": "0.5.7", "trim-right": "1.0.1" }, @@ -1006,7 +1006,7 @@ "babel-helper-function-name": "6.24.1", "babel-runtime": "6.26.0", "babel-types": "6.26.0", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "babel-helper-evaluate-path": { @@ -1113,7 +1113,7 @@ "requires": { "babel-runtime": "6.26.0", "babel-types": "6.26.0", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "babel-helper-remap-async-to-generator": { @@ -1340,7 +1340,7 @@ "dev": true, "requires": { "babel-types": "6.26.0", - "lodash": "4.17.10", + "lodash": "4.17.11", "react-docgen": "3.0.0-rc.1" } }, @@ -1524,7 +1524,7 @@ "babel-template": "6.26.0", "babel-traverse": "6.26.0", "babel-types": "6.26.0", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "babel-plugin-transform-es2015-classes": { @@ -1988,7 +1988,7 @@ "dev": true, "requires": { "caniuse-lite": "1.0.30000885", - "electron-to-chromium": "1.3.65" + "electron-to-chromium": "1.3.68" } } } @@ -2104,7 +2104,7 @@ "babel-runtime": "6.26.0", "core-js": "2.5.7", "home-or-tmp": "2.0.0", - "lodash": "4.17.10", + "lodash": "4.17.11", "mkdirp": "0.5.1", "source-map-support": "0.4.18" }, @@ -2151,7 +2151,7 @@ "babel-traverse": "6.26.0", "babel-types": "6.26.0", "babylon": "6.18.0", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "babel-traverse": { @@ -2168,7 +2168,7 @@ "debug": "2.6.9", "globals": "9.18.0", "invariant": "2.2.4", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "babel-types": { @@ -2179,7 +2179,7 @@ "requires": { "babel-runtime": "6.26.0", "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "1.0.3" } }, @@ -2407,7 +2407,7 @@ }, "browserify-aes": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { @@ -2452,7 +2452,7 @@ }, "browserify-rsa": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { @@ -2491,7 +2491,7 @@ "dev": true, "requires": { "caniuse-lite": "1.0.30000885", - "electron-to-chromium": "1.3.65" + "electron-to-chromium": "1.3.68" } }, "buffer": { @@ -2542,7 +2542,7 @@ "dev": true, "requires": { "bluebird": "3.5.2", - "chownr": "1.0.1", + "chownr": "1.1.1", "glob": "7.1.3", "graceful-fs": "4.1.11", "lru-cache": "4.1.3", @@ -2640,7 +2640,7 @@ "dev": true, "requires": { "caniuse-db": "1.0.30000885", - "electron-to-chromium": "1.3.65" + "electron-to-chromium": "1.3.68" } } } @@ -2725,14 +2725,14 @@ "lodash.debounce": "4.0.8", "normalize-path": "2.1.1", "path-is-absolute": "1.0.1", - "readdirp": "2.1.0", + "readdirp": "2.2.1", "upath": "1.1.0" } }, "chownr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", "dev": true }, "cipher-base": { @@ -3117,7 +3117,7 @@ }, "create-hash": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { @@ -3130,7 +3130,7 @@ }, "create-hmac": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { @@ -3395,7 +3395,7 @@ "dev": true, "requires": { "caniuse-db": "1.0.30000885", - "electron-to-chromium": "1.3.65" + "electron-to-chromium": "1.3.68" } }, "chalk": { @@ -3473,9 +3473,9 @@ } }, "csstype": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.6.tgz", - "integrity": "sha512-tKPyhy0FmfYD2KQYXD5GzkvAYLYj96cMLXr648CKGd3wBe0QqoPipImjGiLze9c8leJK8J3n7ap90tpk3E6HGQ==", + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.7.tgz", + "integrity": "sha512-Nt5VDyOTIIV4/nRFswoCKps1R5CD1hkiyjBE9/thNaNZILLEviVw9yWQw15+O+CpNjQKB/uvdcxFFOrSflY3Yw==", "dev": true }, "cyclist": { @@ -3662,7 +3662,7 @@ }, "diffie-hellman": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { @@ -3687,7 +3687,7 @@ }, "dom-converter": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", + "resolved": "http://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", "dev": true, "requires": { @@ -3779,7 +3779,7 @@ }, "duplexer": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", "dev": true }, @@ -3824,9 +3824,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.65", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.65.tgz", - "integrity": "sha512-tyGr+wh2c/JYBVMeflKpZ3ricwtBPyVBMtRNxYGObl7TP5bAeupgz4VZnBzQSFleZViXYTws1yZtKKFQYZyiYw==", + "version": "1.3.68", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.68.tgz", + "integrity": "sha512-NHs9Xm6+ZUDkRj7t1tFwizzfMO2XZg0nmHNRRTurXHDUcEoz3Kdjs2mxXsd8drpEDfg5aVL0S8aypUCTA0HJ/Q==", "dev": true }, "elliptic": { @@ -5288,7 +5288,7 @@ "dev": true, "requires": { "brcast": "3.0.1", - "csstype": "2.5.6", + "csstype": "2.5.7", "fast-memoize": "2.5.1", "html-tag-names": "1.1.3", "is-function": "1.0.1", @@ -5651,7 +5651,7 @@ "bluebird": "3.5.2", "html-minifier": "3.5.20", "loader-utils": "0.2.17", - "lodash": "4.17.10", + "lodash": "4.17.11", "pretty-error": "2.1.1", "toposort": "1.0.7" }, @@ -5897,7 +5897,7 @@ "cli-width": "2.2.0", "external-editor": "2.2.0", "figures": "2.0.0", - "lodash": "4.17.10", + "lodash": "4.17.11", "mute-stream": "0.0.7", "run-async": "2.3.0", "rx-lite": "4.0.8", @@ -6476,15 +6476,15 @@ } }, "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", "dev": true }, "lodash-es": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.10.tgz", - "integrity": "sha512-iesFYPmxYYGTcmQK0sL8bX3TGHyM6b2qREaB4kamHfQyfPJP0xgoGxp19nsH16nsfquLdiyKyX3mQkfiSGV8Rg==", + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.11.tgz", + "integrity": "sha512-DHb1ub+rMjjrxqlB3H56/6MXtm1lSksDp2rA2cNWjG8mlDUYFhUj3Di2Zn5IwSU87xLv8tNIQ7sSwE/YOX/D/Q==", "dev": true }, "lodash._getnative": { @@ -7362,7 +7362,7 @@ }, "parse-asn1": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { @@ -8367,7 +8367,7 @@ "dev": true, "requires": { "caniuse-db": "1.0.30000885", - "electron-to-chromium": "1.3.65" + "electron-to-chromium": "1.3.68" } }, "chalk": { @@ -9525,7 +9525,7 @@ }, "public-encrypt": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", + "resolved": "http://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", "dev": true, "requires": { @@ -9702,14 +9702,14 @@ } }, "react": { - "version": "16.5.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.5.0.tgz", - "integrity": "sha512-nw/yB/L51kA9PsAy17T1JrzzGRk+BlFCJwFF7p+pwVxgqwPjYNeZEkkH7LXn9dmflolrYMXLWMTkQ77suKPTNQ==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/react/-/react-16.5.1.tgz", + "integrity": "sha512-E+23+rbpPsJgSX812LQkwupUCFnbVE84+L8uxlkqN5MU0DcraWMlVf9cRvKCKtGu0XvScyRnW7Z+9d7ymkjy3A==", "requires": { "loose-envify": "1.4.0", "object-assign": "4.1.1", "prop-types": "15.6.2", - "schedule": "0.3.0" + "schedule": "0.4.0" } }, "react-addons-create-fragment": { @@ -9729,7 +9729,7 @@ "integrity": "sha512-ssv2ArSZdhTbIs29hyfw8JW+s3G4BCx/ILkwCajWZzrcx/2ZQfRpsaLVt38LAPbxe50LLszlmGtRerA14JzzRw==", "dev": true, "requires": { - "lodash": "4.17.10", + "lodash": "4.17.11", "material-colors": "1.2.6", "prop-types": "15.6.2", "reactcss": "1.2.3", @@ -9836,18 +9836,18 @@ "commander": "2.18.0", "doctrine": "2.1.0", "node-dir": "0.1.17", - "recast": "0.15.4" + "recast": "0.15.5" } }, "react-dom": { - "version": "16.5.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.5.0.tgz", - "integrity": "sha512-qgsQdjFH54pQ1AGLCBKsqjPxib4Pnp+cOsNxGPlkHn5YnsSt43sBvHSif6FheY7NMMS6HPeSJOxXf6ECanjacA==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.5.1.tgz", + "integrity": "sha512-l4L9GtX7ezgnDIIr6AaNvGBM4BiK0fSs4/V8bdsu9X6xqrtHr+jp6auT0hbHpN7bH9WRvDBZceWQ9WJ3lGCIvQ==", "requires": { "loose-envify": "1.4.0", "object-assign": "4.1.1", "prop-types": "15.6.2", - "schedule": "0.3.0" + "schedule": "0.4.0" } }, "react-error-overlay": { @@ -9988,7 +9988,7 @@ "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", "dev": true, "requires": { - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "read-pkg": { @@ -10028,21 +10028,20 @@ } }, "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, "requires": { "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.6", - "set-immediate-shim": "1.0.1" + "micromatch": "3.1.10", + "readable-stream": "2.3.6" } }, "recast": { - "version": "0.15.4", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.15.4.tgz", - "integrity": "sha512-f/aiWt9K8Wtbmak6Gg3vt90pQQgYK5OyL3CC33KAA2qXFHGfo5C6b3x8xmyNv4+S4v6eLfgD2VOL7qFRfhMxJA==", + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.15.5.tgz", + "integrity": "sha512-nkAYNqarh73cMWRKFiPQ8I9dOLFvFk6SnG8u/LUlOYfArDOD/EjsVRAs860TlBLrpxqAXHGET/AUAVjdEymL5w==", "dev": true, "requires": { "ast-types": "0.11.5", @@ -10141,8 +10140,8 @@ "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", "dev": true, "requires": { - "lodash": "4.17.10", - "lodash-es": "4.17.10", + "lodash": "4.17.11", + "lodash-es": "4.17.11", "loose-envify": "1.4.0", "symbol-observable": "1.2.0" } @@ -10474,9 +10473,9 @@ "dev": true }, "schedule": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/schedule/-/schedule-0.3.0.tgz", - "integrity": "sha512-20+1KVo517sR7Nt+bYBN8a+bEJDKLPEx7Ohtts1kX05E4/HY53YUNuhfkVNItmWAnBYHcpG9vsd2/CJxG+aPCQ==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/schedule/-/schedule-0.4.0.tgz", + "integrity": "sha512-hYjmoaEMojiMkWCxKr6ue+LYcZ29u29+AamWYmzwT2VOO9ws5UJp/wNhsVUPiUeNh+EdRfZm7nDeB40ffTfMhA==", "requires": { "object-assign": "4.1.1" } @@ -10563,12 +10562,6 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true - }, "set-value": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", @@ -10605,7 +10598,7 @@ }, "sha.js": { "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { @@ -11202,7 +11195,7 @@ }, "through": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, @@ -11726,7 +11719,7 @@ "integrity": "sha512-ZyXBm+9C/6kNUNyc+aeNKEhtTu/Mn+OfpsNBGuTxU8S2DUcis/KQL0rTN6jWL+7ygdOrun18qhheNZTA7YERmg==", "dev": true, "requires": { - "lodash": "4.17.10", + "lodash": "4.17.11", "prop-types": "15.6.2", "react-transition-group": "2.4.0", "velocity-animate": "1.5.2" @@ -11865,7 +11858,7 @@ "express": "4.16.3", "filesize": "3.6.1", "gzip-size": "4.1.0", - "lodash": "4.17.10", + "lodash": "4.17.11", "mkdirp": "0.5.1", "opener": "1.5.1", "ws": "4.1.0" @@ -11893,9 +11886,9 @@ } }, "webpack-hot-middleware": { - "version": "2.23.1", - "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.23.1.tgz", - "integrity": "sha512-oUdCGDHONJrARtqxPSiON4db4dRWUsRiPwD7dYkglrTc3vF7LKa2jncwN0lIVkNwtoCh/yiHVTzz3Hbcux8ikA==", + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.24.0.tgz", + "integrity": "sha512-H6EMooeJMOEmEOx8OFllW3VRUdeA6CqQhdB1AlB+ReRFhISxypmDyt7YU0qEMCrPL06kYuXghnhDCi57wz6ORg==", "dev": true, "requires": { "ansi-html": "0.0.7", diff --git a/packages/sampler/package.json b/packages/sampler/package.json index e63d491ab7..a038ab87c3 100644 --- a/packages/sampler/package.json +++ b/packages/sampler/package.json @@ -1,6 +1,6 @@ { "name": "enact-sampler", - "version": "2.1.3", + "version": "2.1.4", "description": "Component and QA samples for Enact", "private": true, "main": "index.js", @@ -17,12 +17,12 @@ "extends": "enact/strict" }, "dependencies": { - "@enact/core": "^2.1.3", - "@enact/i18n": "^2.1.3", - "@enact/moonstone": "^2.1.3", - "@enact/spotlight": "^2.1.3", - "@enact/ui": "^2.1.3", - "@enact/webos": "^2.1.3", + "@enact/core": "^2.1.4", + "@enact/i18n": "^2.1.4", + "@enact/moonstone": "^2.1.4", + "@enact/spotlight": "^2.1.4", + "@enact/ui": "^2.1.4", + "@enact/webos": "^2.1.4", "react": "^16.3.2", "react-dom": "^16.3.2" }, diff --git a/packages/spotlight/package.json b/packages/spotlight/package.json index 8e51004f73..3bf83549d1 100644 --- a/packages/spotlight/package.json +++ b/packages/spotlight/package.json @@ -1,6 +1,6 @@ { "name": "@enact/spotlight", - "version": "2.1.3", + "version": "2.1.4", "description": "A focus management library", "main": "src/spotlight.js", "scripts": { @@ -21,7 +21,7 @@ "extends": "enact/strict" }, "dependencies": { - "@enact/core": "^2.1.3", + "@enact/core": "^2.1.4", "prop-types": "^15.6.0", "ramda": "^0.24.1", "react": "^16.3.2", diff --git a/packages/ui/package.json b/packages/ui/package.json index 3e72fed2d4..a1c3ab2502 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@enact/ui", - "version": "2.1.3", + "version": "2.1.4", "description": "A collection of simplified unstyled cross-platform UI components for Enact", "main": "index.js", "scripts": { @@ -28,7 +28,7 @@ "extends": "enact/strict" }, "dependencies": { - "@enact/core": "^2.1.3", + "@enact/core": "^2.1.4", "classnames": "^2.2.5", "direction": "^1.0.1", "invariant": "^2.2.2", diff --git a/packages/webos/package.json b/packages/webos/package.json index 20b863ac1f..288412eee1 100644 --- a/packages/webos/package.json +++ b/packages/webos/package.json @@ -1,6 +1,6 @@ { "name": "@enact/webos", - "version": "2.1.3", + "version": "2.1.4", "description": "webOS support library", "main": "index.js", "scripts": { @@ -26,7 +26,7 @@ "extends": "enact/strict" }, "dependencies": { - "@enact/core": "^2.1.3", + "@enact/core": "^2.1.4", "prop-types": "^15.6.0", "react": "^16.2.0", "react-dom": "^16.2.0"