@enact/limestone 1.9.3 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/ci-reusable.yml +2 -2
- package/Alert/Alert.d.ts +9 -0
- package/Alert/Alert.js +35 -4
- package/Alert/Alert.module.css +12 -1
- package/Alert/tests/Alert-specs.js +91 -0
- package/Button/tests/Button-specs.js +26 -0
- package/CHANGELOG.md +34 -0
- package/Card/Card.d.ts +4 -4
- package/Card/Card.js +7 -8
- package/Card/tests/Card-specs.js +39 -5
- package/CheckboxItem/CheckboxItem.js +6 -4
- package/Chips/Chip.js +12 -6
- package/Chips/Chips.js +12 -6
- package/Chips/tests/Chip-specs.js +25 -5
- package/Chips/tests/Chips-specs.js +12 -2
- package/ColorPicker/ColorPicker.js +27 -25
- package/ContextualPopupDecorator/ContextualPopupDecorator.js +32 -22
- package/DayPicker/DaySelectorDecorator.js +12 -7
- package/Dropdown/Dropdown.module.css +4 -0
- package/Dropdown/DropdownList.js +74 -53
- package/FlexiblePopupPanels/useNavButtonFocus.js +7 -10
- package/Heading/Heading.d.ts +1 -1
- package/Heading/Heading.js +2 -2
- package/Icon/Icon.d.ts +1 -0
- package/Icon/Icon.js +1 -0
- package/Icon/IconList.js +2 -0
- package/IconItem/IconItem.module.css +3 -3
- package/IconItem/tests/IconItem-specs.js +30 -1
- package/Image/Image.js +6 -4
- package/Input/Input.js +12 -1
- package/Input/InputField.js +75 -24
- package/Input/InputField.module.css +262 -45
- package/Input/InputFieldDecoratorIcon.js +1 -0
- package/Input/InputFieldSpotlightDecorator.js +53 -8
- package/Input/index.d.ts +105 -93
- package/Input/tests/Input-specs.js +26 -0
- package/Input/tests/InputField-specs.js +149 -3
- package/Input/tests/InputPopup-specs.js +1 -1
- package/KeyGuide/KeyGuide.js +29 -27
- package/MediaOverlay/tests/MediaOverlay-specs.js +29 -0
- package/MediaPlayer/tests/util-specs.js +4 -1
- package/PageViews/PageViews.js +134 -69
- package/PageViews/PageViews.module.css +3 -0
- package/PageViews/PageViewsRouter.js +91 -42
- package/PageViews/tests/PageViews-specs.js +87 -0
- package/Panels/Header.js +6 -4
- package/Popup/Popup.js +5 -4
- package/PopupTabLayout/PopupTabLayout.js +11 -9
- package/RadioItem/RadioItem.js +7 -5
- package/Scroller/EditableWrapper.js +17 -14
- package/Scroller/Scroller.js +11 -10
- package/Scroller/useThemeScroller.js +3 -3
- package/Slider/Slider.d.ts +4 -0
- package/Slider/Slider.js +40 -16
- package/Slider/Slider.module.css +150 -0
- package/Slider/SliderBehaviorDecorator.js +16 -14
- package/Slider/tests/Slider-specs.js +51 -0
- package/Slider/utils.js +23 -7
- package/Spinner/Spinner.js +10 -8
- package/TabLayout/RefocusDecorator.js +14 -12
- package/TabLayout/tests/TabGroup-specs.js +1 -1
- package/ThemeDecorator/AccessibilityDecorator.js +12 -11
- package/ThemeDecorator/I18nFontDecorator.js +6 -4
- package/ThemeDecorator/ThemeDecorator.d.ts +7 -0
- package/ThemeDecorator/ThemeDecorator.js +24 -9
- package/TimePicker/TimePickerBase.js +5 -3
- package/TooltipDecorator/TooltipDecorator.js +12 -7
- package/TooltipDecorator/tests/useTooltip-specs.js +5 -2
- package/VideoPlayer/VideoPlayer.js +25 -24
- package/VirtualList/VirtualList.js +20 -18
- package/VirtualList/useSpotlight.js +1 -1
- package/fonts/Limestone_Icons.ttf +0 -0
- package/internal/AsyncRenderChildren/AsyncRenderChildren.js +9 -5
- package/internal/AsyncRenderChildren/tests/AsyncRenderChildren-specs.js +4 -1
- package/internal/DateTime/DateTimeDecorator.js +5 -4
- package/internal/Panels/PanelsRouter.js +35 -29
- package/internal/Panels/useAutoFocus.js +10 -6
- package/internal/Panels/useFocusOnTransition.js +4 -3
- package/internal/Picker/Picker.js +7 -5
- package/internal/Picker/SpottablePicker.js +15 -13
- package/internal/SharedStateDecorator/SharedStateDecorator.js +6 -4
- package/package.json +14 -11
- package/styles/colors.less +1 -0
- package/styles/variables.less +1 -1
- package/useScroll/HoverToScroll.js +15 -12
- package/useScroll/Scrollbar.js +14 -10
- package/useScroll/ScrollbarPlaceholder.js +3 -5
- package/useScroll/ScrollbarTrack.js +7 -5
- package/useScroll/useEvent.js +7 -2
- package/useScroll/useScroll.js +10 -2
package/Slider/Slider.d.ts
CHANGED
|
@@ -24,6 +24,10 @@ input keys.
|
|
|
24
24
|
* Sets the knob to selected state and allows it to move via 5-way controls.
|
|
25
25
|
*/
|
|
26
26
|
active?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Indicates if this component will be used as a colorPicker.
|
|
29
|
+
*/
|
|
30
|
+
colorPicker?: boolean;
|
|
27
31
|
/**
|
|
28
32
|
* Customizes the component by mapping the supplied collection of CSS class names to the
|
|
29
33
|
corresponding internal elements and states of this component.
|
package/Slider/Slider.js
CHANGED
|
@@ -36,7 +36,7 @@ var _SliderBehaviorDecorator = _interopRequireDefault(require("./SliderBehaviorD
|
|
|
36
36
|
var _utils = require("./utils");
|
|
37
37
|
var _SliderModule = _interopRequireDefault(require("./Slider.module.css"));
|
|
38
38
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
39
|
-
var _excluded = ["active", "className", "css", "disabled", "focused", "keyFrequency", "max", "min", "pressed", "showAnchor", "showMinMax"];
|
|
39
|
+
var _excluded = ["active", "className", "colorPicker", "css", "disabled", "focused", "keyFrequency", "max", "min", "pressed", "showAnchor", "showMinMax"];
|
|
40
40
|
/**
|
|
41
41
|
* Provides Limestone-themed slider components and behaviors.
|
|
42
42
|
*
|
|
@@ -66,6 +66,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
|
|
|
66
66
|
var sliderDefaultProps = {
|
|
67
67
|
activateOnSelect: false,
|
|
68
68
|
active: false,
|
|
69
|
+
colorPicker: false,
|
|
69
70
|
disabled: false,
|
|
70
71
|
keyFrequency: [1],
|
|
71
72
|
max: 100,
|
|
@@ -86,10 +87,12 @@ var sliderDefaultProps = {
|
|
|
86
87
|
* @ui
|
|
87
88
|
* @public
|
|
88
89
|
*/
|
|
89
|
-
var
|
|
90
|
+
var _SliderBase = exports.SliderBase = function SliderBase(props) {
|
|
90
91
|
var sliderProps = (0, _util.setDefaultProps)(props, sliderDefaultProps);
|
|
92
|
+
(0, _util.checkPropTypes)(_SliderBase, sliderProps);
|
|
91
93
|
var active = sliderProps.active,
|
|
92
94
|
className = sliderProps.className,
|
|
95
|
+
colorPicker = sliderProps.colorPicker,
|
|
93
96
|
css = sliderProps.css,
|
|
94
97
|
disabled = sliderProps.disabled,
|
|
95
98
|
focused = sliderProps.focused,
|
|
@@ -114,12 +117,13 @@ var SliderBase = exports.SliderBase = function SliderBase(props) {
|
|
|
114
117
|
valueName: 'max'
|
|
115
118
|
})(sliderProps);
|
|
116
119
|
var tooltip = sliderProps.tooltip === true ? _ProgressBar2.ProgressBarTooltip : sliderProps.tooltip;
|
|
120
|
+
var context = (0, _react.useMemo)(function () {
|
|
121
|
+
return {
|
|
122
|
+
lastWheelTimeStamp: 0
|
|
123
|
+
};
|
|
124
|
+
}, []);
|
|
117
125
|
var spotlightAccelerator = (0, _react.useRef)();
|
|
118
126
|
var ref = (0, _react.useRef)();
|
|
119
|
-
var _useRef = (0, _react.useRef)({
|
|
120
|
-
lastWheelTimeStamp: 0
|
|
121
|
-
}),
|
|
122
|
-
context = _useRef.current;
|
|
123
127
|
var handlers = (0, _useHandlers["default"])({
|
|
124
128
|
onBlur: (0, _handle.handle)((0, _handle.forward)('onBlur'), (0, _handle.forProp)('active', true), (0, _handle.forward)('onActivate')),
|
|
125
129
|
onKeyDown: (0, _handle.handle)((0, _handle.forProp)('disabled', false), (0, _handle.forwardWithPrevent)('onKeyDown'), (0, _anyPass["default"])([_utils.handleIncrement, _utils.handleDecrement])),
|
|
@@ -135,7 +139,7 @@ var SliderBase = exports.SliderBase = function SliderBase(props) {
|
|
|
135
139
|
customCss: css,
|
|
136
140
|
publicClassNames: true
|
|
137
141
|
});
|
|
138
|
-
var componentClassName = (0, _classnames2["default"])(_SliderModule["default"].slider, className, _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, mergedCss.active, active), mergedCss.hasMinMax, showMinMax), mergedCss.pressed, pressed), mergedCss.showAnchor, showAnchor), css && css.slider);
|
|
142
|
+
var componentClassName = (0, _classnames2["default"])(_SliderModule["default"].slider, className, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, mergedCss.active, active), mergedCss.colorPicker, colorPicker), mergedCss.hasMinMax, showMinMax), mergedCss.pressed, pressed), mergedCss.showAnchor, showAnchor), css && css.slider);
|
|
139
143
|
(0, _react.useEffect)(function () {
|
|
140
144
|
spotlightAccelerator.current = new _Accelerator["default"](keyFrequency);
|
|
141
145
|
}, [keyFrequency]);
|
|
@@ -161,18 +165,30 @@ var SliderBase = exports.SliderBase = function SliderBase(props) {
|
|
|
161
165
|
delete rest.step;
|
|
162
166
|
delete rest.tooltip;
|
|
163
167
|
delete rest.wheelInterval;
|
|
168
|
+
var sliderMax = colorPicker ? 360 : max;
|
|
169
|
+
var sliderMin = colorPicker ? 0 : min;
|
|
170
|
+
var sliderStep = colorPicker ? 1 : step;
|
|
171
|
+
var styleObject = {
|
|
172
|
+
'--semantic-color-surface-default-handle': "hsla(".concat(rest.value ? rest.value : 0, ", 100%, 50%, 1)"),
|
|
173
|
+
'--semantic-color-surface-default-focused': "hsla(".concat(rest.value ? rest.value : 0, ", 100%, 50%, 1)")
|
|
174
|
+
};
|
|
164
175
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Slider["default"], _objectSpread(_objectSpread(_objectSpread({}, rest), handlers), {}, {
|
|
165
176
|
"aria-disabled": disabled,
|
|
177
|
+
colorPicker: colorPicker,
|
|
166
178
|
className: componentClassName,
|
|
167
179
|
css: mergedCss,
|
|
168
180
|
disabled: disabled,
|
|
169
|
-
max:
|
|
170
|
-
min:
|
|
181
|
+
max: sliderMax,
|
|
182
|
+
min: sliderMin,
|
|
171
183
|
progressBarComponent: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ProgressBar["default"], {
|
|
172
|
-
css: mergedCss
|
|
184
|
+
css: mergedCss,
|
|
185
|
+
style: {
|
|
186
|
+
backgroundImage: colorPicker && (0, _utils.hueGradient)(rest.orientation)
|
|
187
|
+
}
|
|
173
188
|
}),
|
|
174
189
|
ref: ref,
|
|
175
|
-
step:
|
|
190
|
+
step: sliderStep,
|
|
191
|
+
style: colorPicker && styleObject,
|
|
176
192
|
tooltipComponent: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ComponentOverride["default"], {
|
|
177
193
|
component: tooltip,
|
|
178
194
|
css: mergedCss,
|
|
@@ -181,15 +197,15 @@ var SliderBase = exports.SliderBase = function SliderBase(props) {
|
|
|
181
197
|
minMaxComponent: showMinMax ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
182
198
|
className: mergedCss.minMax,
|
|
183
199
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
184
|
-
children:
|
|
200
|
+
children: sliderMin
|
|
185
201
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
186
|
-
children:
|
|
202
|
+
children: sliderMax
|
|
187
203
|
})]
|
|
188
204
|
}) : null
|
|
189
205
|
}));
|
|
190
206
|
};
|
|
191
|
-
|
|
192
|
-
|
|
207
|
+
_SliderBase.displayName = 'Slider';
|
|
208
|
+
_SliderBase.propTypes = /** @lends limestone/Slider.SliderBase.prototype */{
|
|
193
209
|
/**
|
|
194
210
|
* Activates the component when selected so that it may be manipulated via the directional
|
|
195
211
|
* input keys.
|
|
@@ -205,6 +221,14 @@ SliderBase.propTypes = /** @lends limestone/Slider.SliderBase.prototype */{
|
|
|
205
221
|
* @public
|
|
206
222
|
*/
|
|
207
223
|
active: _propTypes["default"].bool,
|
|
224
|
+
/**
|
|
225
|
+
* Indicates if this component will be used as a colorPicker.
|
|
226
|
+
*
|
|
227
|
+
* @type {Boolean}
|
|
228
|
+
* @default false
|
|
229
|
+
* @public
|
|
230
|
+
*/
|
|
231
|
+
colorPicker: _propTypes["default"].bool,
|
|
208
232
|
/**
|
|
209
233
|
* Customizes the component by mapping the supplied collection of CSS class names to the
|
|
210
234
|
* corresponding internal elements and states of this component.
|
|
@@ -457,7 +481,7 @@ var SliderDecorator = exports.SliderDecorator = (0, _compose["default"])(_Pure["
|
|
|
457
481
|
* @public
|
|
458
482
|
*/
|
|
459
483
|
|
|
460
|
-
var Slider = exports.Slider = SliderDecorator(
|
|
484
|
+
var Slider = exports.Slider = SliderDecorator(_SliderBase);
|
|
461
485
|
Slider.defaultPropValues = sliderDefaultProps;
|
|
462
486
|
|
|
463
487
|
/**
|
package/Slider/Slider.module.css
CHANGED
|
@@ -341,6 +341,31 @@ Motion Mixins
|
|
|
341
341
|
:global(.spotlight-input-touch) .slider:global(.neutral).noFill:global(.spottable):active.pressed .fill {
|
|
342
342
|
background-color: transparent;
|
|
343
343
|
}
|
|
344
|
+
.slider:global(.neutral).colorPicker .bar,
|
|
345
|
+
.slider:global(.neutral).colorPicker .fill,
|
|
346
|
+
.slider:global(.neutral).colorPicker .load {
|
|
347
|
+
background-color: transparent;
|
|
348
|
+
}
|
|
349
|
+
:global(.spotlight-input-key) .slider:global(.neutral).colorPicker:global(.spottable):focus .bar,
|
|
350
|
+
:global(.spotlight-input-mouse) .slider:global(.neutral).colorPicker:global(.spottable):focus .bar,
|
|
351
|
+
:global(.spotlight-input-key) .slider:global(.neutral).colorPicker:global(.spottable):focus .fill,
|
|
352
|
+
:global(.spotlight-input-mouse) .slider:global(.neutral).colorPicker:global(.spottable):focus .fill,
|
|
353
|
+
:global(.spotlight-input-key) .slider:global(.neutral).colorPicker:global(.spottable):focus .load,
|
|
354
|
+
:global(.spotlight-input-mouse) .slider:global(.neutral).colorPicker:global(.spottable):focus .load {
|
|
355
|
+
background-color: transparent;
|
|
356
|
+
}
|
|
357
|
+
:global(.spotlight-input-key) .slider:global(.neutral).colorPicker:global(.spottable):focus .knob::before,
|
|
358
|
+
:global(.spotlight-input-mouse) .slider:global(.neutral).colorPicker:global(.spottable):focus .knob::before {
|
|
359
|
+
border-color: var(--semantic-color-surface-white);
|
|
360
|
+
}
|
|
361
|
+
:global(.spotlight-input-touch) .slider:global(.neutral).colorPicker:global(.spottable):active .bar,
|
|
362
|
+
:global(.spotlight-input-touch) .slider:global(.neutral).colorPicker:global(.spottable):active .fill,
|
|
363
|
+
:global(.spotlight-input-touch) .slider:global(.neutral).colorPicker:global(.spottable):active .load {
|
|
364
|
+
background-color: transparent;
|
|
365
|
+
}
|
|
366
|
+
:global(.spotlight-input-touch) .slider:global(.neutral).colorPicker:global(.spottable):active .knob::before {
|
|
367
|
+
border-color: var(--semantic-color-surface-white);
|
|
368
|
+
}
|
|
344
369
|
.slider:global(.neutral).showAnchor .progressBar::after {
|
|
345
370
|
background-color: color(from var(--semantic-color-surface-default-track) srgb r g b / 0.7);
|
|
346
371
|
}
|
|
@@ -486,6 +511,31 @@ Motion Mixins
|
|
|
486
511
|
:global(.spotlight-input-touch) :global(.enact-a11y-high-contrast) .slider:global(.neutral):global(.highContrast).noFill:global(.spottable):active.pressed .fill {
|
|
487
512
|
background-color: transparent;
|
|
488
513
|
}
|
|
514
|
+
:global(.enact-a11y-high-contrast) .slider:global(.neutral):global(.highContrast).colorPicker .bar,
|
|
515
|
+
:global(.enact-a11y-high-contrast) .slider:global(.neutral):global(.highContrast).colorPicker .fill,
|
|
516
|
+
:global(.enact-a11y-high-contrast) .slider:global(.neutral):global(.highContrast).colorPicker .load {
|
|
517
|
+
background-color: transparent;
|
|
518
|
+
}
|
|
519
|
+
:global(.spotlight-input-key) :global(.enact-a11y-high-contrast) .slider:global(.neutral):global(.highContrast).colorPicker:global(.spottable):focus .bar,
|
|
520
|
+
:global(.spotlight-input-mouse) :global(.enact-a11y-high-contrast) .slider:global(.neutral):global(.highContrast).colorPicker:global(.spottable):focus .bar,
|
|
521
|
+
:global(.spotlight-input-key) :global(.enact-a11y-high-contrast) .slider:global(.neutral):global(.highContrast).colorPicker:global(.spottable):focus .fill,
|
|
522
|
+
:global(.spotlight-input-mouse) :global(.enact-a11y-high-contrast) .slider:global(.neutral):global(.highContrast).colorPicker:global(.spottable):focus .fill,
|
|
523
|
+
:global(.spotlight-input-key) :global(.enact-a11y-high-contrast) .slider:global(.neutral):global(.highContrast).colorPicker:global(.spottable):focus .load,
|
|
524
|
+
:global(.spotlight-input-mouse) :global(.enact-a11y-high-contrast) .slider:global(.neutral):global(.highContrast).colorPicker:global(.spottable):focus .load {
|
|
525
|
+
background-color: transparent;
|
|
526
|
+
}
|
|
527
|
+
:global(.spotlight-input-key) :global(.enact-a11y-high-contrast) .slider:global(.neutral):global(.highContrast).colorPicker:global(.spottable):focus .knob::before,
|
|
528
|
+
:global(.spotlight-input-mouse) :global(.enact-a11y-high-contrast) .slider:global(.neutral):global(.highContrast).colorPicker:global(.spottable):focus .knob::before {
|
|
529
|
+
border-color: var(--semantic-color-surface-white);
|
|
530
|
+
}
|
|
531
|
+
:global(.spotlight-input-touch) :global(.enact-a11y-high-contrast) .slider:global(.neutral):global(.highContrast).colorPicker:global(.spottable):active .bar,
|
|
532
|
+
:global(.spotlight-input-touch) :global(.enact-a11y-high-contrast) .slider:global(.neutral):global(.highContrast).colorPicker:global(.spottable):active .fill,
|
|
533
|
+
:global(.spotlight-input-touch) :global(.enact-a11y-high-contrast) .slider:global(.neutral):global(.highContrast).colorPicker:global(.spottable):active .load {
|
|
534
|
+
background-color: transparent;
|
|
535
|
+
}
|
|
536
|
+
:global(.spotlight-input-touch) :global(.enact-a11y-high-contrast) .slider:global(.neutral):global(.highContrast).colorPicker:global(.spottable):active .knob::before {
|
|
537
|
+
border-color: var(--semantic-color-surface-white);
|
|
538
|
+
}
|
|
489
539
|
:global(.enact-a11y-high-contrast) .slider:global(.neutral):global(.highContrast).showAnchor .progressBar::after {
|
|
490
540
|
background-color: color(from var(--semantic-color-surface-default-track) srgb r g b / 0.7);
|
|
491
541
|
}
|
|
@@ -631,6 +681,31 @@ Motion Mixins
|
|
|
631
681
|
:global(.spotlight-input-touch) .slider:global(.light).noFill:global(.spottable):active.pressed .fill {
|
|
632
682
|
background-color: transparent;
|
|
633
683
|
}
|
|
684
|
+
.slider:global(.light).colorPicker .bar,
|
|
685
|
+
.slider:global(.light).colorPicker .fill,
|
|
686
|
+
.slider:global(.light).colorPicker .load {
|
|
687
|
+
background-color: transparent;
|
|
688
|
+
}
|
|
689
|
+
:global(.spotlight-input-key) .slider:global(.light).colorPicker:global(.spottable):focus .bar,
|
|
690
|
+
:global(.spotlight-input-mouse) .slider:global(.light).colorPicker:global(.spottable):focus .bar,
|
|
691
|
+
:global(.spotlight-input-key) .slider:global(.light).colorPicker:global(.spottable):focus .fill,
|
|
692
|
+
:global(.spotlight-input-mouse) .slider:global(.light).colorPicker:global(.spottable):focus .fill,
|
|
693
|
+
:global(.spotlight-input-key) .slider:global(.light).colorPicker:global(.spottable):focus .load,
|
|
694
|
+
:global(.spotlight-input-mouse) .slider:global(.light).colorPicker:global(.spottable):focus .load {
|
|
695
|
+
background-color: transparent;
|
|
696
|
+
}
|
|
697
|
+
:global(.spotlight-input-key) .slider:global(.light).colorPicker:global(.spottable):focus .knob::before,
|
|
698
|
+
:global(.spotlight-input-mouse) .slider:global(.light).colorPicker:global(.spottable):focus .knob::before {
|
|
699
|
+
border-color: var(--semantic-color-surface-white);
|
|
700
|
+
}
|
|
701
|
+
:global(.spotlight-input-touch) .slider:global(.light).colorPicker:global(.spottable):active .bar,
|
|
702
|
+
:global(.spotlight-input-touch) .slider:global(.light).colorPicker:global(.spottable):active .fill,
|
|
703
|
+
:global(.spotlight-input-touch) .slider:global(.light).colorPicker:global(.spottable):active .load {
|
|
704
|
+
background-color: transparent;
|
|
705
|
+
}
|
|
706
|
+
:global(.spotlight-input-touch) .slider:global(.light).colorPicker:global(.spottable):active .knob::before {
|
|
707
|
+
border-color: var(--semantic-color-surface-white);
|
|
708
|
+
}
|
|
634
709
|
.slider:global(.light).showAnchor .progressBar::after {
|
|
635
710
|
background-color: color(from var(--semantic-color-surface-default-track) srgb r g b / 0.7);
|
|
636
711
|
}
|
|
@@ -781,6 +856,31 @@ Motion Mixins
|
|
|
781
856
|
:global(.spotlight-input-touch) .slider:global(.game).noFill:global(.spottable):active.pressed .fill {
|
|
782
857
|
background-color: transparent;
|
|
783
858
|
}
|
|
859
|
+
.slider:global(.game).colorPicker .bar,
|
|
860
|
+
.slider:global(.game).colorPicker .fill,
|
|
861
|
+
.slider:global(.game).colorPicker .load {
|
|
862
|
+
background-color: transparent;
|
|
863
|
+
}
|
|
864
|
+
:global(.spotlight-input-key) .slider:global(.game).colorPicker:global(.spottable):focus .bar,
|
|
865
|
+
:global(.spotlight-input-mouse) .slider:global(.game).colorPicker:global(.spottable):focus .bar,
|
|
866
|
+
:global(.spotlight-input-key) .slider:global(.game).colorPicker:global(.spottable):focus .fill,
|
|
867
|
+
:global(.spotlight-input-mouse) .slider:global(.game).colorPicker:global(.spottable):focus .fill,
|
|
868
|
+
:global(.spotlight-input-key) .slider:global(.game).colorPicker:global(.spottable):focus .load,
|
|
869
|
+
:global(.spotlight-input-mouse) .slider:global(.game).colorPicker:global(.spottable):focus .load {
|
|
870
|
+
background-color: transparent;
|
|
871
|
+
}
|
|
872
|
+
:global(.spotlight-input-key) .slider:global(.game).colorPicker:global(.spottable):focus .knob::before,
|
|
873
|
+
:global(.spotlight-input-mouse) .slider:global(.game).colorPicker:global(.spottable):focus .knob::before {
|
|
874
|
+
border-color: var(--semantic-color-surface-white);
|
|
875
|
+
}
|
|
876
|
+
:global(.spotlight-input-touch) .slider:global(.game).colorPicker:global(.spottable):active .bar,
|
|
877
|
+
:global(.spotlight-input-touch) .slider:global(.game).colorPicker:global(.spottable):active .fill,
|
|
878
|
+
:global(.spotlight-input-touch) .slider:global(.game).colorPicker:global(.spottable):active .load {
|
|
879
|
+
background-color: transparent;
|
|
880
|
+
}
|
|
881
|
+
:global(.spotlight-input-touch) .slider:global(.game).colorPicker:global(.spottable):active .knob::before {
|
|
882
|
+
border-color: var(--semantic-color-surface-white);
|
|
883
|
+
}
|
|
784
884
|
.slider:global(.game).showAnchor .progressBar::after {
|
|
785
885
|
background-color: color(from var(--semantic-color-surface-default-track) srgb r g b / 0.7);
|
|
786
886
|
}
|
|
@@ -930,6 +1030,31 @@ Motion Mixins
|
|
|
930
1030
|
:global(.spotlight-input-touch) :global(.green) .slider:global(.game).noFill:global(.spottable):active.pressed .fill {
|
|
931
1031
|
background-color: transparent;
|
|
932
1032
|
}
|
|
1033
|
+
:global(.green) .slider:global(.game).colorPicker .bar,
|
|
1034
|
+
:global(.green) .slider:global(.game).colorPicker .fill,
|
|
1035
|
+
:global(.green) .slider:global(.game).colorPicker .load {
|
|
1036
|
+
background-color: transparent;
|
|
1037
|
+
}
|
|
1038
|
+
:global(.spotlight-input-key) :global(.green) .slider:global(.game).colorPicker:global(.spottable):focus .bar,
|
|
1039
|
+
:global(.spotlight-input-mouse) :global(.green) .slider:global(.game).colorPicker:global(.spottable):focus .bar,
|
|
1040
|
+
:global(.spotlight-input-key) :global(.green) .slider:global(.game).colorPicker:global(.spottable):focus .fill,
|
|
1041
|
+
:global(.spotlight-input-mouse) :global(.green) .slider:global(.game).colorPicker:global(.spottable):focus .fill,
|
|
1042
|
+
:global(.spotlight-input-key) :global(.green) .slider:global(.game).colorPicker:global(.spottable):focus .load,
|
|
1043
|
+
:global(.spotlight-input-mouse) :global(.green) .slider:global(.game).colorPicker:global(.spottable):focus .load {
|
|
1044
|
+
background-color: transparent;
|
|
1045
|
+
}
|
|
1046
|
+
:global(.spotlight-input-key) :global(.green) .slider:global(.game).colorPicker:global(.spottable):focus .knob::before,
|
|
1047
|
+
:global(.spotlight-input-mouse) :global(.green) .slider:global(.game).colorPicker:global(.spottable):focus .knob::before {
|
|
1048
|
+
border-color: var(--semantic-color-surface-white);
|
|
1049
|
+
}
|
|
1050
|
+
:global(.spotlight-input-touch) :global(.green) .slider:global(.game).colorPicker:global(.spottable):active .bar,
|
|
1051
|
+
:global(.spotlight-input-touch) :global(.green) .slider:global(.game).colorPicker:global(.spottable):active .fill,
|
|
1052
|
+
:global(.spotlight-input-touch) :global(.green) .slider:global(.game).colorPicker:global(.spottable):active .load {
|
|
1053
|
+
background-color: transparent;
|
|
1054
|
+
}
|
|
1055
|
+
:global(.spotlight-input-touch) :global(.green) .slider:global(.game).colorPicker:global(.spottable):active .knob::before {
|
|
1056
|
+
border-color: var(--semantic-color-surface-white);
|
|
1057
|
+
}
|
|
933
1058
|
:global(.green) .slider:global(.game).showAnchor .progressBar::after {
|
|
934
1059
|
background-color: color(from var(--semantic-color-surface-default-track) srgb r g b / 0.7);
|
|
935
1060
|
}
|
|
@@ -1079,6 +1204,31 @@ Motion Mixins
|
|
|
1079
1204
|
:global(.spotlight-input-touch) :global(.orange) .slider:global(.game).noFill:global(.spottable):active.pressed .fill {
|
|
1080
1205
|
background-color: transparent;
|
|
1081
1206
|
}
|
|
1207
|
+
:global(.orange) .slider:global(.game).colorPicker .bar,
|
|
1208
|
+
:global(.orange) .slider:global(.game).colorPicker .fill,
|
|
1209
|
+
:global(.orange) .slider:global(.game).colorPicker .load {
|
|
1210
|
+
background-color: transparent;
|
|
1211
|
+
}
|
|
1212
|
+
:global(.spotlight-input-key) :global(.orange) .slider:global(.game).colorPicker:global(.spottable):focus .bar,
|
|
1213
|
+
:global(.spotlight-input-mouse) :global(.orange) .slider:global(.game).colorPicker:global(.spottable):focus .bar,
|
|
1214
|
+
:global(.spotlight-input-key) :global(.orange) .slider:global(.game).colorPicker:global(.spottable):focus .fill,
|
|
1215
|
+
:global(.spotlight-input-mouse) :global(.orange) .slider:global(.game).colorPicker:global(.spottable):focus .fill,
|
|
1216
|
+
:global(.spotlight-input-key) :global(.orange) .slider:global(.game).colorPicker:global(.spottable):focus .load,
|
|
1217
|
+
:global(.spotlight-input-mouse) :global(.orange) .slider:global(.game).colorPicker:global(.spottable):focus .load {
|
|
1218
|
+
background-color: transparent;
|
|
1219
|
+
}
|
|
1220
|
+
:global(.spotlight-input-key) :global(.orange) .slider:global(.game).colorPicker:global(.spottable):focus .knob::before,
|
|
1221
|
+
:global(.spotlight-input-mouse) :global(.orange) .slider:global(.game).colorPicker:global(.spottable):focus .knob::before {
|
|
1222
|
+
border-color: var(--semantic-color-surface-white);
|
|
1223
|
+
}
|
|
1224
|
+
:global(.spotlight-input-touch) :global(.orange) .slider:global(.game).colorPicker:global(.spottable):active .bar,
|
|
1225
|
+
:global(.spotlight-input-touch) :global(.orange) .slider:global(.game).colorPicker:global(.spottable):active .fill,
|
|
1226
|
+
:global(.spotlight-input-touch) :global(.orange) .slider:global(.game).colorPicker:global(.spottable):active .load {
|
|
1227
|
+
background-color: transparent;
|
|
1228
|
+
}
|
|
1229
|
+
:global(.spotlight-input-touch) :global(.orange) .slider:global(.game).colorPicker:global(.spottable):active .knob::before {
|
|
1230
|
+
border-color: var(--semantic-color-surface-white);
|
|
1231
|
+
}
|
|
1082
1232
|
:global(.orange) .slider:global(.game).showAnchor .progressBar::after {
|
|
1083
1233
|
background-color: color(from var(--semantic-color-surface-default-track) srgb r g b / 0.7);
|
|
1084
1234
|
}
|
|
@@ -56,8 +56,9 @@ var SliderBehaviorDecorator = exports.SliderBehaviorDecorator = (0, _hoc["defaul
|
|
|
56
56
|
var emitSpotlightEvents = config.emitSpotlightEvents;
|
|
57
57
|
|
|
58
58
|
// eslint-disable-next-line no-shadow
|
|
59
|
-
var
|
|
59
|
+
var _SliderBehaviorDecorator = function SliderBehaviorDecorator(props) {
|
|
60
60
|
var sliderBehaviorProps = (0, _util.setDefaultProps)(props, sliderBehaviorDefaultProps);
|
|
61
|
+
(0, _util.checkPropTypes)(_SliderBehaviorDecorator, sliderBehaviorProps);
|
|
61
62
|
var paused = (0, _react.useMemo)(function () {
|
|
62
63
|
return new _Pause["default"]();
|
|
63
64
|
}, []);
|
|
@@ -81,12 +82,10 @@ var SliderBehaviorDecorator = exports.SliderBehaviorDecorator = (0, _hoc["defaul
|
|
|
81
82
|
_useState0 = _slicedToArray(_useState9, 2),
|
|
82
83
|
prevValue = _useState0[0],
|
|
83
84
|
setPrevValue = _useState0[1];
|
|
84
|
-
(
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
}, [prevValue, sliderBehaviorProps.value]);
|
|
85
|
+
if (sliderBehaviorProps.value && sliderBehaviorProps.value !== prevValue) {
|
|
86
|
+
setUseHintText(false);
|
|
87
|
+
setPrevValue(sliderBehaviorProps.value);
|
|
88
|
+
}
|
|
90
89
|
(0, _react.useEffect)(function () {
|
|
91
90
|
return function () {
|
|
92
91
|
paused.resume();
|
|
@@ -95,19 +94,22 @@ var SliderBehaviorDecorator = exports.SliderBehaviorDecorator = (0, _hoc["defaul
|
|
|
95
94
|
|
|
96
95
|
var getValueText = (0, _react.useCallback)(function () {
|
|
97
96
|
var ariaValueText = sliderBehaviorProps['aria-valuetext'],
|
|
97
|
+
colorPicker = sliderBehaviorProps.colorPicker,
|
|
98
98
|
max = sliderBehaviorProps.max,
|
|
99
99
|
min = sliderBehaviorProps.min,
|
|
100
100
|
orientation = sliderBehaviorProps.orientation,
|
|
101
101
|
_sliderBehaviorProps$ = sliderBehaviorProps.value,
|
|
102
102
|
value = _sliderBehaviorProps$ === void 0 ? min : _sliderBehaviorProps$;
|
|
103
|
+
var sliderMax = colorPicker ? 360 : max;
|
|
104
|
+
var sliderMin = colorPicker ? 0 : min;
|
|
103
105
|
var valueText = ariaValueText != null ? ariaValueText : value;
|
|
104
106
|
var verticalHint = "".concat(new _IString["default"]((0, _$L["default"])('From {startValue} to {lastValue}')).format({
|
|
105
|
-
startValue:
|
|
106
|
-
lastValue:
|
|
107
|
+
startValue: sliderMin,
|
|
108
|
+
lastValue: sliderMax
|
|
107
109
|
}), " ").concat(valueText, " ").concat((0, _$L["default"])('change a value with up down button'));
|
|
108
110
|
var horizontalHint = "".concat(new _IString["default"]((0, _$L["default"])('From {startValue} to {lastValue}')).format({
|
|
109
|
-
startValue:
|
|
110
|
-
lastValue:
|
|
111
|
+
startValue: sliderMin,
|
|
112
|
+
lastValue: sliderMax
|
|
111
113
|
}), " ").concat(valueText, " ").concat((0, _$L["default"])('change a value with left right button'));
|
|
112
114
|
if (useHintText) {
|
|
113
115
|
return orientation === 'horizontal' ? horizontalHint : verticalHint;
|
|
@@ -170,8 +172,8 @@ var SliderBehaviorDecorator = exports.SliderBehaviorDecorator = (0, _hoc["defaul
|
|
|
170
172
|
onFocus: handleFocus
|
|
171
173
|
}));
|
|
172
174
|
};
|
|
173
|
-
|
|
174
|
-
|
|
175
|
+
_SliderBehaviorDecorator.displayName = 'SliderBehaviorDecorator';
|
|
176
|
+
_SliderBehaviorDecorator.propTypes = {
|
|
175
177
|
activateOnSelect: _propTypes["default"].bool,
|
|
176
178
|
'aria-valuetext': _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
|
177
179
|
max: _propTypes["default"].number,
|
|
@@ -179,6 +181,6 @@ var SliderBehaviorDecorator = exports.SliderBehaviorDecorator = (0, _hoc["defaul
|
|
|
179
181
|
orientation: _propTypes["default"].string,
|
|
180
182
|
value: _propTypes["default"].number
|
|
181
183
|
};
|
|
182
|
-
return
|
|
184
|
+
return _SliderBehaviorDecorator;
|
|
183
185
|
});
|
|
184
186
|
var _default = exports["default"] = SliderBehaviorDecorator;
|
|
@@ -111,6 +111,32 @@ describe('Slider', function () {
|
|
|
111
111
|
var expectedValue = '11';
|
|
112
112
|
expect(slider).toHaveAttribute(expectedAttribute, expectedValue);
|
|
113
113
|
});
|
|
114
|
+
test('should be pressed when selected', function () {
|
|
115
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Slider["default"], {}));
|
|
116
|
+
var slider = _react.screen.getByRole('slider');
|
|
117
|
+
|
|
118
|
+
// Select by key
|
|
119
|
+
_react.fireEvent.keyDown(slider, {
|
|
120
|
+
key: 'Enter',
|
|
121
|
+
code: 'Enter',
|
|
122
|
+
keyCode: 13,
|
|
123
|
+
which: 13
|
|
124
|
+
});
|
|
125
|
+
expect(slider).toHaveClass('pressed');
|
|
126
|
+
_react.fireEvent.keyUp(slider, {
|
|
127
|
+
key: 'Enter',
|
|
128
|
+
code: 'Enter',
|
|
129
|
+
keyCode: 13,
|
|
130
|
+
which: 13
|
|
131
|
+
});
|
|
132
|
+
expect(slider).not.toHaveClass('pressed');
|
|
133
|
+
|
|
134
|
+
// Select by pointer
|
|
135
|
+
_react.fireEvent.mouseDown(slider);
|
|
136
|
+
expect(slider).toHaveClass('pressed');
|
|
137
|
+
_react.fireEvent.mouseUp(slider);
|
|
138
|
+
expect(slider).not.toHaveClass('pressed');
|
|
139
|
+
});
|
|
114
140
|
test('should activate the slider on enter keyup', function () {
|
|
115
141
|
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Slider["default"], {
|
|
116
142
|
activateOnSelect: true
|
|
@@ -571,4 +597,29 @@ describe('Slider', function () {
|
|
|
571
597
|
var tooltip = _react.screen.queryByText('0');
|
|
572
598
|
expect(tooltip).toBeNull();
|
|
573
599
|
});
|
|
600
|
+
test('should apply `colorPicker`', function () {
|
|
601
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Slider["default"], {
|
|
602
|
+
colorPicker: true
|
|
603
|
+
}));
|
|
604
|
+
var slider = _react.screen.getByRole('slider');
|
|
605
|
+
var expected = 'colorPicker';
|
|
606
|
+
expect(slider).toHaveClass(expected);
|
|
607
|
+
});
|
|
608
|
+
test('should fire `onChange` with `onChange` type when value changed for `colorPicker`', function () {
|
|
609
|
+
var handleChange = jest.fn();
|
|
610
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Slider["default"], {
|
|
611
|
+
activateOnSelect: true,
|
|
612
|
+
colorPicker: true,
|
|
613
|
+
defaultValue: 50,
|
|
614
|
+
onChange: handleChange
|
|
615
|
+
}));
|
|
616
|
+
var slider = _react.screen.getByRole('slider');
|
|
617
|
+
activate(slider);
|
|
618
|
+
leftKeyDown(slider);
|
|
619
|
+
var expected = {
|
|
620
|
+
type: 'onChange'
|
|
621
|
+
};
|
|
622
|
+
var actual = handleChange.mock.calls.length && handleChange.mock.calls[0][0];
|
|
623
|
+
expect(actual).toMatchObject(expected);
|
|
624
|
+
});
|
|
574
625
|
});
|
package/Slider/utils.js
CHANGED
|
@@ -3,11 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.handleIncrementByWheel = exports.handleIncrement = exports.handleDecrementByWheel = exports.handleDecrement = exports.forwardSpotlightEvents = exports.emitChange = void 0;
|
|
6
|
+
exports.hueGradient = exports.handleIncrementByWheel = exports.handleIncrement = exports.handleDecrementByWheel = exports.handleDecrement = exports.forwardSpotlightEvents = exports.emitChange = void 0;
|
|
7
7
|
var _handle = require("@enact/core/handle");
|
|
8
8
|
var _keymap = require("@enact/core/keymap");
|
|
9
9
|
var _util = require("@enact/core/util");
|
|
10
10
|
var _utils = require("@enact/ui/Slider/utils");
|
|
11
|
+
var hueGradient = exports.hueGradient = function hueGradient(orientation) {
|
|
12
|
+
return "linear-gradient(".concat(orientation === 'horizontal' ? 'to right' : 'to top', ", \n\thsla(0, 100%, 50%, 1),\n\thsla(10, 100%, 50%, 1),\n\thsla(20, 100%, 50%, 1),\n\thsla(30, 100%, 50%, 1),\n\thsla(40, 100%, 50%, 1),\n\thsla(50, 100%, 50%, 1),\n\thsla(60, 100%, 50%, 1),\n\thsla(70, 100%, 50%, 1),\n\thsla(80, 100%, 50%, 1),\n\thsla(90, 100%, 50%, 1),\n\thsla(100, 100%, 50%, 1),\n\thsla(110, 100%, 50%, 1),\n\thsla(120, 100%, 50%, 1),\n\thsla(130, 100%, 50%, 1),\n\thsla(140, 100%, 50%, 1),\n\thsla(150, 100%, 50%, 1),\n\thsla(160, 100%, 50%, 1),\n\thsla(170, 100%, 50%, 1),\n\thsla(180, 100%, 50%, 1),\n\thsla(190, 100%, 50%, 1),\n\thsla(200, 100%, 50%, 1),\n\thsla(210, 100%, 50%, 1),\n\thsla(220, 100%, 50%, 1),\n\thsla(230, 100%, 50%, 1),\n\thsla(240, 100%, 50%, 1),\n\thsla(250, 100%, 50%, 1),\n\thsla(260, 100%, 50%, 1),\n\thsla(270, 100%, 50%, 1),\n\thsla(280, 100%, 50%, 1),\n\thsla(290, 100%, 50%, 1),\n\thsla(300, 100%, 50%, 1),\n\thsla(310, 100%, 50%, 1),\n\thsla(320, 100%, 50%, 1),\n\thsla(330, 100%, 50%, 1),\n\thsla(340, 100%, 50%, 1),\n\thsla(350, 100%, 50%, 1),\n\thsla(360, 100%, 50%, 1))");
|
|
13
|
+
};
|
|
11
14
|
var nop = function nop() {};
|
|
12
15
|
var handleAcceleratedKeyDown = function handleAcceleratedKeyDown(ev, prop, _ref) {
|
|
13
16
|
var spotlightAccelerator = _ref.current;
|
|
@@ -73,17 +76,30 @@ var checkInterval = function checkInterval(ev, _ref0, context) {
|
|
|
73
76
|
};
|
|
74
77
|
var emitChange = exports.emitChange = function emitChange(direction) {
|
|
75
78
|
return (0, _handle.forwardCustom)('onChange', function (ev, _ref1) {
|
|
76
|
-
var
|
|
79
|
+
var colorPicker = _ref1.colorPicker,
|
|
80
|
+
knobStep = _ref1.knobStep,
|
|
77
81
|
max = _ref1.max,
|
|
78
82
|
min = _ref1.min,
|
|
79
83
|
step = _ref1.step,
|
|
80
84
|
_ref1$value = _ref1.value,
|
|
81
85
|
value = _ref1$value === void 0 ? min : _ref1$value;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
86
|
+
if (colorPicker) {
|
|
87
|
+
var newValue = (0, _util.clamp)(0, 360, value + calcStep(knobStep, step) * direction);
|
|
88
|
+
return {
|
|
89
|
+
value: newValue,
|
|
90
|
+
proportion: (0, _utils.calcProportion)(min, max, newValue),
|
|
91
|
+
color: {
|
|
92
|
+
hex: (0, _utils.hslToHex)(value),
|
|
93
|
+
hsl: "hsla(".concat(value, ", 100%, 50%, 1)")
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
} else {
|
|
97
|
+
var _newValue = (0, _util.clamp)(min, max, value + calcStep(knobStep, step) * direction);
|
|
98
|
+
return {
|
|
99
|
+
value: _newValue,
|
|
100
|
+
proportion: (0, _utils.calcProportion)(min, max, _newValue)
|
|
101
|
+
};
|
|
102
|
+
}
|
|
87
103
|
});
|
|
88
104
|
};
|
|
89
105
|
var isActive = function isActive(ev, props) {
|
package/Spinner/Spinner.js
CHANGED
|
@@ -6,13 +6,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports["default"] = exports.SpinnerDecorator = exports.SpinnerBase = exports.Spinner = void 0;
|
|
7
7
|
var _kind = _interopRequireDefault(require("@enact/core/kind"));
|
|
8
8
|
var _hoc = _interopRequireDefault(require("@enact/core/hoc"));
|
|
9
|
-
var
|
|
9
|
+
var _util = require("@enact/core/util");
|
|
10
|
+
var _spotlight = _interopRequireDefault(require("@enact/spotlight"));
|
|
11
|
+
var _Pause = _interopRequireDefault(require("@enact/spotlight/Pause"));
|
|
10
12
|
var _Pure = _interopRequireDefault(require("@enact/ui/internal/Pure"));
|
|
13
|
+
var _Spinner = _interopRequireDefault(require("@enact/ui/Spinner"));
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
15
|
var _compose = _interopRequireDefault(require("ramda/src/compose"));
|
|
12
16
|
var _react = require("react");
|
|
13
|
-
var _Pause = _interopRequireDefault(require("@enact/spotlight/Pause"));
|
|
14
|
-
var _Spinner = _interopRequireDefault(require("@enact/ui/Spinner"));
|
|
15
|
-
var _spotlight = _interopRequireDefault(require("@enact/spotlight"));
|
|
16
17
|
var _$L = _interopRequireDefault(require("../internal/$L"));
|
|
17
18
|
var _Marquee = _interopRequireDefault(require("../Marquee"));
|
|
18
19
|
var _Skinnable = _interopRequireDefault(require("../Skinnable"));
|
|
@@ -191,7 +192,8 @@ var SpinnerBase = exports.SpinnerBase = (0, _kind["default"])({
|
|
|
191
192
|
* @private
|
|
192
193
|
*/
|
|
193
194
|
var SpinnerSpotlightDecorator = (0, _hoc["default"])(function (config, Wrapped) {
|
|
194
|
-
var
|
|
195
|
+
var _SpinnerSpotlight = function SpinnerSpotlight(props) {
|
|
196
|
+
(0, _util.checkPropTypes)(_SpinnerSpotlight, props);
|
|
195
197
|
var paused = (0, _react.useMemo)(function () {
|
|
196
198
|
return new _Pause["default"]('Spinner');
|
|
197
199
|
}, []);
|
|
@@ -213,8 +215,8 @@ var SpinnerSpotlightDecorator = (0, _hoc["default"])(function (config, Wrapped)
|
|
|
213
215
|
}, [blockClickOn, paused]);
|
|
214
216
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapped, _objectSpread({}, props));
|
|
215
217
|
};
|
|
216
|
-
|
|
217
|
-
|
|
218
|
+
_SpinnerSpotlight.displayName = 'SpinnerSpotlightDecorator';
|
|
219
|
+
_SpinnerSpotlight.propTypes = /** @lends limestone/Spinner.Spinner.prototype */{
|
|
218
220
|
/**
|
|
219
221
|
* Determines how far the click-blocking should extend.
|
|
220
222
|
*
|
|
@@ -227,7 +229,7 @@ var SpinnerSpotlightDecorator = (0, _hoc["default"])(function (config, Wrapped)
|
|
|
227
229
|
*/
|
|
228
230
|
blockClickOn: _propTypes["default"].oneOf(['screen', 'container', null])
|
|
229
231
|
};
|
|
230
|
-
return
|
|
232
|
+
return _SpinnerSpotlight;
|
|
231
233
|
});
|
|
232
234
|
|
|
233
235
|
/**
|
|
@@ -5,13 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getNavigableFilter = exports["default"] = exports.RefocusDecorator = void 0;
|
|
7
7
|
exports.getTabsSpotlightId = getTabsSpotlightId;
|
|
8
|
+
var _util = require("@enact/core/util");
|
|
8
9
|
var _spotlight = _interopRequireDefault(require("@enact/spotlight"));
|
|
9
10
|
var _IdProvider = require("@enact/ui/internal/IdProvider");
|
|
10
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
12
|
var _react = require("react");
|
|
12
13
|
var _TabGroupModule = _interopRequireDefault(require("./TabGroup.module.css"));
|
|
13
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
-
var _excluded = ["blockCollapseOnPortrait", "blockExpandOnLandscape", "collapsed", "index", "onCollapse", "onExpand", "onTabAnimationEnd", "orientation"
|
|
15
|
+
var _excluded = ["blockCollapseOnPortrait", "blockExpandOnLandscape", "collapsed", "index", "onCollapse", "onExpand", "onTabAnimationEnd", "orientation"];
|
|
15
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
16
17
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
18
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -60,17 +61,18 @@ function useScreenOrientation() {
|
|
|
60
61
|
}
|
|
61
62
|
var RefocusDecorator = exports.RefocusDecorator = function RefocusDecorator(Wrapped) {
|
|
62
63
|
// eslint-disable-next-line no-shadow
|
|
63
|
-
function RefocusDecorator(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
rest = _objectWithoutProperties(
|
|
64
|
+
function RefocusDecorator(props) {
|
|
65
|
+
(0, _util.checkPropTypes)(RefocusDecorator, props);
|
|
66
|
+
var blockCollapseOnPortrait = props.blockCollapseOnPortrait,
|
|
67
|
+
blockExpandOnLandscape = props.blockExpandOnLandscape,
|
|
68
|
+
collapsed = props.collapsed,
|
|
69
|
+
index = props.index,
|
|
70
|
+
onCollapse = props.onCollapse,
|
|
71
|
+
onExpand = props.onExpand,
|
|
72
|
+
onTabAnimationEnd = props.onTabAnimationEnd,
|
|
73
|
+
orientation = props.orientation,
|
|
74
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
75
|
+
var spotlightId = props.spotlightId;
|
|
74
76
|
var _useId = (0, _IdProvider.useId)({
|
|
75
77
|
prefix: 'lime-tablayout-'
|
|
76
78
|
}),
|
|
@@ -181,7 +181,7 @@ describe('TabGroup specs', function () {
|
|
|
181
181
|
expect(handleFocusTab).toHaveBeenCalled();
|
|
182
182
|
});
|
|
183
183
|
test('should set the size for all tabs in horizontal orientation', function () {
|
|
184
|
-
var size =
|
|
184
|
+
var size = 'small';
|
|
185
185
|
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_TabGroup["default"], {
|
|
186
186
|
orientation: "horizontal",
|
|
187
187
|
size: size,
|