@enact/limestone 1.3.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/PULL_REQUEST_TEMPLATE.md +28 -0
- package/.github/workflows/update-copyright-years.yml +25 -0
- package/.travis.yml +40 -0
- package/ActionGuide/ActionGuide.d.ts +73 -0
- package/ActionGuide/ActionGuide.js +164 -0
- package/ActionGuide/ActionGuide.module.css +73 -0
- package/ActionGuide/package.json +3 -0
- package/ActionGuide/tests/ActionGuide-specs.js +51 -0
- package/Alert/Alert.d.ts +155 -0
- package/Alert/Alert.js +313 -0
- package/Alert/Alert.module.css +190 -0
- package/Alert/AlertImage.js +102 -0
- package/Alert/AlertImage.module.css +15 -0
- package/Alert/package.json +3 -0
- package/Alert/tests/Alert-specs.js +204 -0
- package/BodyText/BodyText.d.ts +74 -0
- package/BodyText/BodyText.js +170 -0
- package/BodyText/BodyText.module.css +95 -0
- package/BodyText/package.json +3 -0
- package/BodyText/tests/BodyText-specs.js +55 -0
- package/Button/Button.d.ts +131 -0
- package/Button/Button.js +351 -0
- package/Button/Button.module.css +2518 -0
- package/Button/package.json +3 -0
- package/Button/tests/Button-specs.js +252 -0
- package/CHANGELOG.md +170 -0
- package/Card/Card.d.ts +138 -0
- package/Card/Card.js +396 -0
- package/Card/Card.module.css +1296 -0
- package/Card/package.json +3 -0
- package/Card/tests/Card-specs.js +65 -0
- package/Checkbox/Checkbox.d.ts +99 -0
- package/Checkbox/Checkbox.js +222 -0
- package/Checkbox/Checkbox.module.css +1395 -0
- package/Checkbox/package.json +3 -0
- package/Checkbox/tests/Checkbox-specs.js +79 -0
- package/CheckboxItem/CheckboxItem.d.ts +99 -0
- package/CheckboxItem/CheckboxItem.js +210 -0
- package/CheckboxItem/CheckboxItem.module.css +50 -0
- package/CheckboxItem/package.json +3 -0
- package/CheckboxItem/tests/CheckboxItem-specs.js +52 -0
- package/Chips/Chip.js +252 -0
- package/Chips/Chip.module.css +30 -0
- package/Chips/Chips.js +215 -0
- package/Chips/Chips.module.css +8 -0
- package/Chips/index.js +86 -0
- package/Chips/tests/Chip-specs.js +186 -0
- package/Chips/tests/Chips-specs.js +312 -0
- package/ColorPicker/ColorPicker.js +416 -0
- package/ColorPicker/ColorPicker.module.css +78 -0
- package/ColorPicker/package.json +3 -0
- package/ColorPicker/tests/ColorPicker-specs.js +225 -0
- package/ColorPicker/utils.js +135 -0
- package/ContextualMenuDecorator/ContextualMenuDecorator.d.ts +106 -0
- package/ContextualMenuDecorator/ContextualMenuDecorator.js +264 -0
- package/ContextualMenuDecorator/ContextualMenuDecorator.module.css +42 -0
- package/ContextualMenuDecorator/package.json +3 -0
- package/ContextualMenuDecorator/tests/ContextualMenuDecorator-specs.js +136 -0
- package/ContextualPopupDecorator/ContextualPopup.js +200 -0
- package/ContextualPopupDecorator/ContextualPopup.module.css +270 -0
- package/ContextualPopupDecorator/ContextualPopupDecorator.d.ts +182 -0
- package/ContextualPopupDecorator/ContextualPopupDecorator.js +867 -0
- package/ContextualPopupDecorator/ContextualPopupDecorator.module.css +3 -0
- package/ContextualPopupDecorator/HolePunchScrim.js +69 -0
- package/ContextualPopupDecorator/HolePunchScrim.module.css +38 -0
- package/ContextualPopupDecorator/package.json +3 -0
- package/ContextualPopupDecorator/tests/ContextualPopupDecorator-specs.js +621 -0
- package/DatePicker/DatePicker.d.ts +173 -0
- package/DatePicker/DatePicker.js +175 -0
- package/DatePicker/DatePicker.module.css +5 -0
- package/DatePicker/DatePickerBase.js +348 -0
- package/DatePicker/package.json +3 -0
- package/DatePicker/tests/DatePicker-specs.js +247 -0
- package/DayPicker/DayPicker.d.ts +92 -0
- package/DayPicker/DayPicker.js +188 -0
- package/DayPicker/DayPicker.module.css +35 -0
- package/DayPicker/DaySelectorDecorator.js +301 -0
- package/DayPicker/package.json +3 -0
- package/DayPicker/tests/DayPicker-specs.js +138 -0
- package/Dropdown/Dropdown.d.ts +135 -0
- package/Dropdown/Dropdown.js +460 -0
- package/Dropdown/Dropdown.module.css +160 -0
- package/Dropdown/DropdownList.js +360 -0
- package/Dropdown/package.json +3 -0
- package/Dropdown/tests/Dropdown-specs.js +267 -0
- package/FixedPopupPanels/FixedPopupPanels.d.ts +72 -0
- package/FixedPopupPanels/FixedPopupPanels.js +170 -0
- package/FixedPopupPanels/FixedPopupPanels.module.css +146 -0
- package/FixedPopupPanels/package.json +3 -0
- package/FixedPopupPanels/tests/FixedPopupPanels-specs.js +142 -0
- package/FlexiblePopupPanels/FlexiblePopupPanels.js +177 -0
- package/FlexiblePopupPanels/FlexiblePopupPanels.module.css +291 -0
- package/FlexiblePopupPanels/Header.js +110 -0
- package/FlexiblePopupPanels/Panel.js +256 -0
- package/FlexiblePopupPanels/index.d.ts +145 -0
- package/FlexiblePopupPanels/index.js +68 -0
- package/FlexiblePopupPanels/package.json +3 -0
- package/FlexiblePopupPanels/tests/FlexiblePopupPanels-specs.js +305 -0
- package/FlexiblePopupPanels/useNavButtonFocus.js +65 -0
- package/FormCheckboxItem/FormCheckboxItem.d.ts +87 -0
- package/FormCheckboxItem/FormCheckboxItem.js +200 -0
- package/FormCheckboxItem/FormCheckboxItem.module.css +374 -0
- package/FormCheckboxItem/package.json +3 -0
- package/FormCheckboxItem/tests/FormCheckboxItem-specs.js +164 -0
- package/Heading/Heading.d.ts +104 -0
- package/Heading/Heading.js +203 -0
- package/Heading/Heading.module.css +217 -0
- package/Heading/package.json +3 -0
- package/Heading/tests/Heading-specs.js +57 -0
- package/Icon/Icon.d.ts +377 -0
- package/Icon/Icon.js +503 -0
- package/Icon/Icon.module.css +121 -0
- package/Icon/IconList.js +611 -0
- package/Icon/package.json +3 -0
- package/Icon/tests/Icon-specs.js +131 -0
- package/IconItem/IconItem.d.ts +137 -0
- package/IconItem/IconItem.js +360 -0
- package/IconItem/IconItem.module.css +414 -0
- package/IconItem/package.json +3 -0
- package/IconItem/tests/IconItem-specs.js +106 -0
- package/Image/Image.d.ts +60 -0
- package/Image/Image.js +165 -0
- package/Image/Image.module.css +5 -0
- package/Image/package.json +3 -0
- package/Image/tests/Image-specs.js +62 -0
- package/ImageItem/ImageItem.d.ts +134 -0
- package/ImageItem/ImageItem.js +377 -0
- package/ImageItem/ImageItem.module.css +1079 -0
- package/ImageItem/package.json +3 -0
- package/ImageItem/tests/ImageItem-specs.js +223 -0
- package/Input/Input.js +715 -0
- package/Input/Input.module.css +699 -0
- package/Input/InputField.js +487 -0
- package/Input/InputField.module.css +763 -0
- package/Input/InputFieldDecoratorIcon.js +66 -0
- package/Input/InputFieldSpotlightDecorator.js +380 -0
- package/Input/Keypad.js +111 -0
- package/Input/NumberField.js +311 -0
- package/Input/index.d.ts +423 -0
- package/Input/index.js +87 -0
- package/Input/package.json +3 -0
- package/Input/pointer.js +103 -0
- package/Input/tests/Input-specs.js +537 -0
- package/Input/tests/InputField-specs.js +292 -0
- package/Input/tests/InputPopup-specs.js +56 -0
- package/Input/util.js +130 -0
- package/Item/Item.d.ts +108 -0
- package/Item/Item.js +360 -0
- package/Item/Item.module.css +665 -0
- package/Item/package.json +3 -0
- package/Item/tests/Item-specs.js +108 -0
- package/KeyGuide/KeyGuide.d.ts +103 -0
- package/KeyGuide/KeyGuide.js +254 -0
- package/KeyGuide/KeyGuide.module.css +431 -0
- package/KeyGuide/package.json +3 -0
- package/KeyGuide/tests/KeyGuide-specs.js +168 -0
- package/LICENSE +201 -0
- package/Marquee/Marquee.d.ts +42 -0
- package/Marquee/Marquee.js +45 -0
- package/Marquee/package.json +3 -0
- package/MediaOverlay/MediaOverlay.d.ts +134 -0
- package/MediaOverlay/MediaOverlay.js +304 -0
- package/MediaOverlay/MediaOverlay.module.css +292 -0
- package/MediaOverlay/package.json +3 -0
- package/MediaOverlay/tests/MediaOverlay-specs.js +127 -0
- package/MediaPlayer/MediaControls.js +934 -0
- package/MediaPlayer/MediaControls.module.css +86 -0
- package/MediaPlayer/MediaKnob.js +61 -0
- package/MediaPlayer/MediaSlider.js +131 -0
- package/MediaPlayer/MediaSlider.module.css +319 -0
- package/MediaPlayer/MediaSliderDecorator.js +245 -0
- package/MediaPlayer/Times.js +152 -0
- package/MediaPlayer/Times.module.css +34 -0
- package/MediaPlayer/index.d.ts +223 -0
- package/MediaPlayer/index.js +34 -0
- package/MediaPlayer/package.json +3 -0
- package/MediaPlayer/tests/MediaSlider-specs.js +126 -0
- package/MediaPlayer/tests/util-specs.js +114 -0
- package/MediaPlayer/util.js +83 -0
- package/PageViews/Page.js +77 -0
- package/PageViews/Page.module.css +3 -0
- package/PageViews/PageViews.js +440 -0
- package/PageViews/PageViews.module.css +175 -0
- package/PageViews/PageViewsRouter.js +150 -0
- package/PageViews/index.js +45 -0
- package/PageViews/tests/PageViews-specs.js +192 -0
- package/Panels/Header.js +599 -0
- package/Panels/Header.module.css +243 -0
- package/Panels/Panel.js +347 -0
- package/Panels/Panel.module.css +33 -0
- package/Panels/Panels.js +258 -0
- package/Panels/Panels.module.css +12 -0
- package/Panels/index.d.ts +376 -0
- package/Panels/index.js +66 -0
- package/Panels/package.json +3 -0
- package/Panels/tests/Header-specs.js +146 -0
- package/Panels/tests/Panels-specs.js +257 -0
- package/Picker/Picker.d.ts +193 -0
- package/Picker/Picker.js +389 -0
- package/Picker/Picker.module.css +46 -0
- package/Picker/package.json +3 -0
- package/Picker/tests/Picker-specs.js +91 -0
- package/Popup/Popup.d.ts +169 -0
- package/Popup/Popup.js +690 -0
- package/Popup/Popup.module.css +180 -0
- package/Popup/package.json +3 -0
- package/Popup/tests/Popup-specs.js +475 -0
- package/PopupTabLayout/PopupTabLayout.d.ts +196 -0
- package/PopupTabLayout/PopupTabLayout.js +605 -0
- package/PopupTabLayout/PopupTabLayout.module.css +226 -0
- package/PopupTabLayout/package.json +3 -0
- package/PopupTabLayout/tests/PopupTabLayout-specs.js +285 -0
- package/ProgressBar/ProgressBar.d.ts +171 -0
- package/ProgressBar/ProgressBar.js +223 -0
- package/ProgressBar/ProgressBar.module.css +264 -0
- package/ProgressBar/ProgressBarTooltip.js +359 -0
- package/ProgressBar/ProgressBarTooltip.module.css +86 -0
- package/ProgressBar/package.json +3 -0
- package/ProgressBar/tests/ProgressBar-specs.js +400 -0
- package/ProgressButton/ProgressButton.d.ts +57 -0
- package/ProgressButton/ProgressButton.js +143 -0
- package/ProgressButton/ProgressButton.module.css +147 -0
- package/ProgressButton/package.json +3 -0
- package/ProgressButton/tests/ProgressButton-specs.js +71 -0
- package/QuickGuidePanels/Panel.js +90 -0
- package/QuickGuidePanels/QuickGuidePanels.js +463 -0
- package/QuickGuidePanels/QuickGuidePanels.module.css +26 -0
- package/QuickGuidePanels/index.js +52 -0
- package/QuickGuidePanels/tests/QuickGuidePanels-specs.js +250 -0
- package/README.md +59 -0
- package/RadioItem/RadioItem.d.ts +59 -0
- package/RadioItem/RadioItem.js +146 -0
- package/RadioItem/RadioItem.module.css +233 -0
- package/RadioItem/package.json +3 -0
- package/RadioItem/tests/RadioItem-specs.js +62 -0
- package/RangePicker/RangePicker.d.ts +174 -0
- package/RangePicker/RangePicker.js +372 -0
- package/RangePicker/RangePicker.module.css +55 -0
- package/RangePicker/package.json +3 -0
- package/RangePicker/tests/RangePicker-specs.js +122 -0
- package/Region/Region.d.ts +33 -0
- package/Region/Region.js +91 -0
- package/Region/package.json +3 -0
- package/Region/tests/Region-specs.js +28 -0
- package/Scroller/ContentContainerDecorator.js +24 -0
- package/Scroller/EditableWrapper.js +1036 -0
- package/Scroller/EditableWrapper.module.css +22 -0
- package/Scroller/Scroller.d.ts +270 -0
- package/Scroller/Scroller.js +470 -0
- package/Scroller/Scroller.module.css +41 -0
- package/Scroller/package.json +3 -0
- package/Scroller/tests/ContentContainerDecorator-specs.js +20 -0
- package/Scroller/tests/EditableWrapper-specs.js +133 -0
- package/Scroller/tests/Scroller-specs.js +159 -0
- package/Scroller/useEvent.js +39 -0
- package/Scroller/useThemeScroller.js +410 -0
- package/Skinnable/Skinnable.d.ts +27 -0
- package/Skinnable/Skinnable.js +65 -0
- package/Skinnable/package.json +3 -0
- package/Slider/Slider.d.ts +218 -0
- package/Slider/Slider.js +441 -0
- package/Slider/Slider.module.css +880 -0
- package/Slider/SliderBehaviorDecorator.js +184 -0
- package/Slider/package.json +3 -0
- package/Slider/tests/Slider-specs.js +573 -0
- package/Slider/utils.js +114 -0
- package/Spinner/Spinner.d.ts +64 -0
- package/Spinner/Spinner.js +254 -0
- package/Spinner/Spinner.module.css +368 -0
- package/Spinner/package.json +3 -0
- package/Spinner/tests/Spinner-specs.js +70 -0
- package/Sprite/Sprite.d.ts +100 -0
- package/Sprite/Sprite.js +345 -0
- package/Sprite/Sprite.module.css +32 -0
- package/Sprite/package.json +3 -0
- package/Sprite/tests/Sprite-specs.js +59 -0
- package/Steps/Steps.d.ts +119 -0
- package/Steps/Steps.js +303 -0
- package/Steps/Steps.module.css +130 -0
- package/Steps/package.json +3 -0
- package/Steps/tests/Steps-specs.js +175 -0
- package/Switch/Switch.d.ts +54 -0
- package/Switch/Switch.js +143 -0
- package/Switch/Switch.module.css +714 -0
- package/Switch/package.json +3 -0
- package/Switch/tests/Switch-specs.js +54 -0
- package/SwitchItem/SwitchItem.d.ts +56 -0
- package/SwitchItem/SwitchItem.js +144 -0
- package/SwitchItem/SwitchItem.module.css +31 -0
- package/SwitchItem/package.json +3 -0
- package/SwitchItem/tests/SwitchItem-specs.js +49 -0
- package/TabLayout/RefocusDecorator.js +142 -0
- package/TabLayout/Tab.js +84 -0
- package/TabLayout/TabGroup.js +377 -0
- package/TabLayout/TabGroup.module.css +280 -0
- package/TabLayout/TabLayout.d.ts +161 -0
- package/TabLayout/TabLayout.js +661 -0
- package/TabLayout/TabLayout.module.css +101 -0
- package/TabLayout/package.json +3 -0
- package/TabLayout/tests/TabGroup-specs.js +214 -0
- package/TabLayout/tests/TabLayout-specs.js +740 -0
- package/ThemeDecorator/AccessibilityDecorator.js +151 -0
- package/ThemeDecorator/I18nFontDecorator.js +33 -0
- package/ThemeDecorator/ThemeDecorator.d.ts +143 -0
- package/ThemeDecorator/ThemeDecorator.js +307 -0
- package/ThemeDecorator/ThemeDecorator.module.css +1250 -0
- package/ThemeDecorator/fontGenerator.js +76 -0
- package/ThemeDecorator/package.json +3 -0
- package/ThemeDecorator/screenTypes.json +10 -0
- package/ThemeDecorator/tests/ThemeDecorator-specs.js +151 -0
- package/TimePicker/TimePicker.d.ts +147 -0
- package/TimePicker/TimePicker.js +255 -0
- package/TimePicker/TimePicker.module.css +61 -0
- package/TimePicker/TimePickerBase.js +396 -0
- package/TimePicker/package.json +3 -0
- package/TimePicker/tests/TimePicker-specs.js +248 -0
- package/TooltipDecorator/Tooltip.js +252 -0
- package/TooltipDecorator/Tooltip.module.css +496 -0
- package/TooltipDecorator/TooltipDecorator.d.ts +229 -0
- package/TooltipDecorator/TooltipDecorator.js +260 -0
- package/TooltipDecorator/TooltipLabel.js +117 -0
- package/TooltipDecorator/package.json +3 -0
- package/TooltipDecorator/tests/TooltipDecorator-specs.js +224 -0
- package/TooltipDecorator/tests/useTooltip-specs.js +266 -0
- package/TooltipDecorator/useTooltip.js +278 -0
- package/TooltipDecorator/util.js +273 -0
- package/VideoPlayer/Feedback.js +110 -0
- package/VideoPlayer/Feedback.module.css +55 -0
- package/VideoPlayer/FeedbackContent.js +99 -0
- package/VideoPlayer/FeedbackIcon.js +67 -0
- package/VideoPlayer/FeedbackIcons.js +76 -0
- package/VideoPlayer/FeedbackTooltip.js +242 -0
- package/VideoPlayer/FeedbackTooltip.module.css +160 -0
- package/VideoPlayer/MediaTitle.js +143 -0
- package/VideoPlayer/MediaTitle.module.css +95 -0
- package/VideoPlayer/Overlay.js +51 -0
- package/VideoPlayer/Video.js +345 -0
- package/VideoPlayer/VideoPlayer.d.ts +582 -0
- package/VideoPlayer/VideoPlayer.js +2116 -0
- package/VideoPlayer/VideoPlayer.module.css +164 -0
- package/VideoPlayer/package.json +3 -0
- package/VideoPlayer/tests/Video-specs.js +235 -0
- package/VideoPlayer/tests/VideoPlayer-specs.js +180 -0
- package/VirtualList/VirtualList.d.ts +411 -0
- package/VirtualList/VirtualList.js +931 -0
- package/VirtualList/VirtualList.module.css +52 -0
- package/VirtualList/package.json +3 -0
- package/VirtualList/tests/VirtualGridList-specs.js +289 -0
- package/VirtualList/tests/VirtualGridList-translate-specs.js +711 -0
- package/VirtualList/tests/VirtualList-specs.js +288 -0
- package/VirtualList/tests/VirtualList-translate-specs.js +704 -0
- package/VirtualList/tests/useEvent-specs.js +172 -0
- package/VirtualList/tests/useEvent-translate-specs.js +309 -0
- package/VirtualList/useEvent.js +324 -0
- package/VirtualList/usePreventScroll.js +31 -0
- package/VirtualList/useSpotlight.js +157 -0
- package/VirtualList/useThemeVirtualList.js +471 -0
- package/VirtualList/useThemeVirtualList.module.css +34 -0
- package/WizardPanels/Panel.js +99 -0
- package/WizardPanels/WizardPanels.js +501 -0
- package/WizardPanels/WizardPanels.module.css +15 -0
- package/WizardPanels/index.d.ts +182 -0
- package/WizardPanels/index.js +50 -0
- package/WizardPanels/package.json +3 -0
- package/WizardPanels/tests/WizardPanels-specs.js +713 -0
- package/codecov.yml +13 -0
- package/fonts/Limestone_Icons.ttf +0 -0
- package/fonts/Miso/LICENSE.txt +75 -0
- package/fonts/Miso/Miso-Bold.ttf +0 -0
- package/fonts/Miso/Miso-Light.ttf +0 -0
- package/fonts/Miso/Miso-Regular.ttf +0 -0
- package/fonts/MuseoSans/LICENSE.txt +75 -0
- package/fonts/MuseoSans/MuseoSans-Black.ttf +0 -0
- package/fonts/MuseoSans/MuseoSans-BlackItalic.ttf +0 -0
- package/fonts/MuseoSans/MuseoSans-Bold.ttf +0 -0
- package/fonts/MuseoSans/MuseoSans-BoldItalic.ttf +0 -0
- package/fonts/MuseoSans/MuseoSans-Light.ttf +0 -0
- package/fonts/MuseoSans/MuseoSans-Medium.ttf +0 -0
- package/fonts/MuseoSans/MuseoSans-MediumItalic.ttf +0 -0
- package/fonts/MuseoSans/MuseoSans-Thin.ttf +0 -0
- package/index.js +2 -0
- package/internal/$L/$L.d.ts +21 -0
- package/internal/$L/$L.js +97 -0
- package/internal/$L/package.json +3 -0
- package/internal/AsyncRenderChildren/AsyncRenderChildren.js +74 -0
- package/internal/AsyncRenderChildren/package.json +3 -0
- package/internal/AsyncRenderChildren/tests/AsyncRenderChildren-specs.js +49 -0
- package/internal/DateComponentPicker/DateComponentPicker.js +165 -0
- package/internal/DateComponentPicker/DateComponentPicker.module.css +53 -0
- package/internal/DateComponentPicker/DateComponentRangePicker.js +132 -0
- package/internal/DateComponentPicker/index.js +31 -0
- package/internal/DateComponentPicker/package.json +3 -0
- package/internal/DateTime/DateTime.js +83 -0
- package/internal/DateTime/DateTime.module.css +51 -0
- package/internal/DateTime/DateTimeDecorator.js +268 -0
- package/internal/DateTime/index.js +37 -0
- package/internal/DateTime/package.json +3 -0
- package/internal/DateTime/tests/DateTimeDecorator-specs.js +33 -0
- package/internal/DebounceDecorator/DebounceDecorator.js +125 -0
- package/internal/DebounceDecorator/package.json +3 -0
- package/internal/DebounceDecorator/tests/DebounceDecorator-specs.js +151 -0
- package/internal/Panels/Arrangers.js +248 -0
- package/internal/Panels/CancelDecorator.js +43 -0
- package/internal/Panels/FloatingLayerIdProvider.js +27 -0
- package/internal/Panels/NavigationButton.js +64 -0
- package/internal/Panels/NavigationButton.module.css +69 -0
- package/internal/Panels/PanelsRouter.js +223 -0
- package/internal/Panels/PopupDecorator.js +287 -0
- package/internal/Panels/TransitionDecorator.js +99 -0
- package/internal/Panels/Viewport.js +313 -0
- package/internal/Panels/Viewport.module.css +25 -0
- package/internal/Panels/captureKeys.js +48 -0
- package/internal/Panels/index.js +101 -0
- package/internal/Panels/package.json +3 -0
- package/internal/Panels/useAutoFocus.js +95 -0
- package/internal/Panels/useFocusOnTransition.js +45 -0
- package/internal/Panels/useToggleRole.js +30 -0
- package/internal/Panels/util.js +64 -0
- package/internal/Picker/Picker.js +942 -0
- package/internal/Picker/Picker.module.css +1145 -0
- package/internal/Picker/PickerButton.js +97 -0
- package/internal/Picker/PickerItem.js +38 -0
- package/internal/Picker/SpottablePicker.js +63 -0
- package/internal/Picker/package.json +3 -0
- package/internal/Picker/tests/Picker-specs.js +968 -0
- package/internal/SharedStateDecorator/SharedStateDecorator.js +167 -0
- package/internal/SharedStateDecorator/package.json +3 -0
- package/internal/SharedStateDecorator/tests/SharedStateDecorator-specs.js +277 -0
- package/internal/WindowEventable/WindowEventable.js +114 -0
- package/internal/WindowEventable/package.json +3 -0
- package/internal/util/package.json +3 -0
- package/internal/util/util.js +79 -0
- package/internal/validators/package.json +4 -0
- package/internal/validators/tests/validators-specs.js +80 -0
- package/internal/validators/validators.js +136 -0
- package/package.json +69 -0
- package/resources/ilibmanifest.json +3 -0
- package/styles/color-mixins.less +230 -0
- package/styles/colors-game-green.less +25 -0
- package/styles/colors-game-orange.less +25 -0
- package/styles/colors-game.less +56 -0
- package/styles/colors-highcontrast.less +21 -0
- package/styles/colors.less +435 -0
- package/styles/mixins.less +337 -0
- package/styles/skin.less +54 -0
- package/styles/variables-base.less +32 -0
- package/styles/variables-game.less +25 -0
- package/styles/variables.less +1182 -0
- package/useScroll/HoverToScroll.js +265 -0
- package/useScroll/HoverToScroll.module.css +38 -0
- package/useScroll/OverscrollEffect.module.css +14 -0
- package/useScroll/Scrollbar.js +171 -0
- package/useScroll/Scrollbar.module.css +19 -0
- package/useScroll/ScrollbarPlaceholder.js +64 -0
- package/useScroll/ScrollbarTrack.js +209 -0
- package/useScroll/ScrollbarTrack.module.css +136 -0
- package/useScroll/package.json +3 -0
- package/useScroll/useEvent.js +693 -0
- package/useScroll/useOverscrollEffect.js +105 -0
- package/useScroll/useScroll.js +523 -0
- package/useScroll/useScroll.module.css +49 -0
- package/useScroll/useSpotlight.js +32 -0
- package/useScroll/useThemeScrollContentHandle.js +32 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.AccessibilityDecorator = void 0;
|
|
7
|
+
var _hoc = _interopRequireDefault(require("@enact/core/hoc"));
|
|
8
|
+
var _Registry = _interopRequireDefault(require("@enact/core/internal/Registry"));
|
|
9
|
+
var _util = require("@enact/core/util");
|
|
10
|
+
var _Resizable = require("@enact/ui/Resizable");
|
|
11
|
+
var _util2 = require("@enact/ui/Skinnable/util");
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
var _react = require("react");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
var _excluded = ["className", "focusRing", "highContrast", "skinVariants", "textSize"];
|
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
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; }
|
|
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; }
|
|
19
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
20
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
21
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
22
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
23
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
24
|
+
var accessibilityDecoratorDefaultProps = {
|
|
25
|
+
textSize: 'normal'
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* A higher-order component that classifies an application with a target set of font sizing rules.
|
|
30
|
+
*
|
|
31
|
+
* @class AccessibilityDecorator
|
|
32
|
+
* @memberof limestone/ThemeDecorator
|
|
33
|
+
* @hoc
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
var AccessibilityDecorator = exports.AccessibilityDecorator = (0, _hoc["default"])(function (config, Wrapped) {
|
|
37
|
+
// eslint-disable-next-line no-shadow
|
|
38
|
+
var AccessibilityDecorator = function AccessibilityDecorator(props) {
|
|
39
|
+
var _setDefaultProps = (0, _util.setDefaultProps)(props, accessibilityDecoratorDefaultProps),
|
|
40
|
+
className = _setDefaultProps.className,
|
|
41
|
+
focusRing = _setDefaultProps.focusRing,
|
|
42
|
+
highContrast = _setDefaultProps.highContrast,
|
|
43
|
+
skinVariants = _setDefaultProps.skinVariants,
|
|
44
|
+
textSize = _setDefaultProps.textSize,
|
|
45
|
+
rest = _objectWithoutProperties(_setDefaultProps, _excluded);
|
|
46
|
+
var accessibilityClassName = highContrast ? "enact-a11y-high-contrast enact-text-".concat(textSize) : "enact-text-".concat(textSize);
|
|
47
|
+
accessibilityClassName = focusRing ? "enact-a11y-focus-ring ".concat(accessibilityClassName) : "".concat(accessibilityClassName);
|
|
48
|
+
var combinedClassName = className ? "".concat(className, " ").concat(accessibilityClassName) : accessibilityClassName;
|
|
49
|
+
var variants = (0, _util2.objectify)(skinVariants);
|
|
50
|
+
if (highContrast) variants.highContrast = true;
|
|
51
|
+
if (textSize === 'large') variants.largeText = true;
|
|
52
|
+
if (focusRing) variants.focusRing = true;
|
|
53
|
+
var context = (0, _react.useContext)(_Resizable.ResizeContext);
|
|
54
|
+
var prevTextSize = (0, _react.useRef)(textSize);
|
|
55
|
+
var resizeRegistry = (0, _react.useRef)(_Registry["default"].create());
|
|
56
|
+
(0, _react.useEffect)(function () {
|
|
57
|
+
resizeRegistry.current.parent = context;
|
|
58
|
+
return function () {
|
|
59
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
60
|
+
resizeRegistry.current.parent = null;
|
|
61
|
+
};
|
|
62
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
63
|
+
}, []);
|
|
64
|
+
(0, _react.useEffect)(function () {
|
|
65
|
+
if (prevTextSize.current !== textSize) {
|
|
66
|
+
resizeRegistry.current.notify({});
|
|
67
|
+
prevTextSize.current = textSize;
|
|
68
|
+
}
|
|
69
|
+
}, [textSize]);
|
|
70
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Resizable.ResizeContext, {
|
|
71
|
+
value: resizeRegistry.current.register,
|
|
72
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapped, _objectSpread({
|
|
73
|
+
className: combinedClassName,
|
|
74
|
+
skinVariants: variants
|
|
75
|
+
}, rest))
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
AccessibilityDecorator.displayName = 'AccessibilityDecorator';
|
|
79
|
+
AccessibilityDecorator.propTypes = {
|
|
80
|
+
/** @lends limestone/ThemeDecorator.AccessibilityDecorator.prototype */
|
|
81
|
+
/**
|
|
82
|
+
* Enables additional features to help users visually differentiate components.
|
|
83
|
+
*
|
|
84
|
+
* The UI library will be responsible for using this information to add focus ring
|
|
85
|
+
* to some components.
|
|
86
|
+
*
|
|
87
|
+
* @type {Boolean}
|
|
88
|
+
* @default false
|
|
89
|
+
* @public
|
|
90
|
+
*/
|
|
91
|
+
focusRing: _propTypes["default"].bool,
|
|
92
|
+
/**
|
|
93
|
+
* Enables additional features to help users visually differentiate components.
|
|
94
|
+
*
|
|
95
|
+
* The UI library will be responsible for using this information to adjust
|
|
96
|
+
* the components' contrast to this preset.
|
|
97
|
+
*
|
|
98
|
+
* @type {Boolean}
|
|
99
|
+
* @default false
|
|
100
|
+
* @public
|
|
101
|
+
*/
|
|
102
|
+
highContrast: _propTypes["default"].bool,
|
|
103
|
+
/**
|
|
104
|
+
* The variant(s) on a skin that a component should use when rendering. These will
|
|
105
|
+
* typically alter the appearance of a skin's existing definition in a way that does not
|
|
106
|
+
* override that skin's general styling.
|
|
107
|
+
*
|
|
108
|
+
* Multiple data types are supported by this prop, which afford different conveniences
|
|
109
|
+
* and abilities. String and Array are effectively the same, supporting just additions
|
|
110
|
+
* to the variants being applied to a component, and are much more convenient. Objects
|
|
111
|
+
* may also be used, and have the ability to disable variants being passed by their
|
|
112
|
+
* ancestors. Objects take the format of a basic hash, with variants as key names and
|
|
113
|
+
* true/false Booleans as values, depicting their state. If a variant is excluded from
|
|
114
|
+
* any version of data type used to set this prop, that variant will ignored, falling
|
|
115
|
+
* back to the defaultVariant or parent variant, in that order.
|
|
116
|
+
*
|
|
117
|
+
* skinVariants examples:
|
|
118
|
+
* ```
|
|
119
|
+
* // String
|
|
120
|
+
* skinVariants="highContrast"
|
|
121
|
+
*
|
|
122
|
+
* // Array
|
|
123
|
+
* skinVariants={['highContrast']}
|
|
124
|
+
*
|
|
125
|
+
* // Object
|
|
126
|
+
* skinVariants={{
|
|
127
|
+
* highContrast: true,
|
|
128
|
+
* grayscale: false
|
|
129
|
+
* }}
|
|
130
|
+
* ```
|
|
131
|
+
*
|
|
132
|
+
* @type {String|String[]|Object}
|
|
133
|
+
* @public
|
|
134
|
+
*/
|
|
135
|
+
skinVariants: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].array, _propTypes["default"].object]),
|
|
136
|
+
/**
|
|
137
|
+
* Sets the goal size of the text.
|
|
138
|
+
*
|
|
139
|
+
* The UI library will be responsible for using this
|
|
140
|
+
* information to adjust the components' text sizes to this preset.
|
|
141
|
+
* Current presets are `'normal'` (default), and `'large'`.
|
|
142
|
+
*
|
|
143
|
+
* @type {('normal'|'large')}
|
|
144
|
+
* @default 'normal'
|
|
145
|
+
* @public
|
|
146
|
+
*/
|
|
147
|
+
textSize: _propTypes["default"].oneOf(['normal', 'large'])
|
|
148
|
+
};
|
|
149
|
+
return AccessibilityDecorator;
|
|
150
|
+
});
|
|
151
|
+
var _default = exports["default"] = AccessibilityDecorator;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.I18nFontDecorator = void 0;
|
|
7
|
+
var _hoc = _interopRequireDefault(require("@enact/core/hoc"));
|
|
8
|
+
var _i18n = _interopRequireDefault(require("@enact/i18n"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
var _fontGenerator = require("./fontGenerator");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
14
|
+
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; }
|
|
15
|
+
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; }
|
|
16
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
17
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
18
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
19
|
+
var I18nFontDecorator = exports.I18nFontDecorator = (0, _hoc["default"])(function (config, Wrapped) {
|
|
20
|
+
var I18nDecorator = function I18nDecorator(props) {
|
|
21
|
+
var ilibLocale = _i18n["default"].getLocale();
|
|
22
|
+
(0, _react.useEffect)(function () {
|
|
23
|
+
(0, _fontGenerator.fontOverrideGenerator)(props.locale || ilibLocale);
|
|
24
|
+
}, [ilibLocale, props.locale]);
|
|
25
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapped, _objectSpread({}, props));
|
|
26
|
+
};
|
|
27
|
+
I18nDecorator.displayName = 'I18nFontDecorator';
|
|
28
|
+
I18nDecorator.propTypes = {
|
|
29
|
+
locale: _propTypes["default"].string
|
|
30
|
+
};
|
|
31
|
+
return I18nDecorator;
|
|
32
|
+
});
|
|
33
|
+
var _default = exports["default"] = I18nFontDecorator;
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
// Type definitions for limestone/ThemeDecorator
|
|
2
|
+
|
|
3
|
+
import { FloatingLayerDecoratorProps as ui_FloatingLayer_FloatingLayerDecoratorProps } from "@enact/ui/FloatingLayer";
|
|
4
|
+
import { ResolutionDecoratorProps as ui_resolution_ResolutionDecoratorProps } from "@enact/ui/resolution";
|
|
5
|
+
import { SpotlightRootDecoratorProps as spotlight_SpotlightRootDecorator_SpotlightRootDecoratorProps } from "@enact/spotlight/SpotlightRootDecorator";
|
|
6
|
+
import { SkinnableProps as limestone_Skinnable_SkinnableProps } from "limestone/Skinnable";
|
|
7
|
+
|
|
8
|
+
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
|
|
9
|
+
type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
|
|
10
|
+
|
|
11
|
+
export interface AccessibilityDecoratorProps {
|
|
12
|
+
/**
|
|
13
|
+
* Enables additional features to help users visually differentiate components.
|
|
14
|
+
*
|
|
15
|
+
* The UI library will be responsible for using this information to add focus ring
|
|
16
|
+
to some components.
|
|
17
|
+
*/
|
|
18
|
+
focusRing?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Enables additional features to help users visually differentiate components.
|
|
21
|
+
*
|
|
22
|
+
* The UI library will be responsible for using this information to adjust
|
|
23
|
+
the components' contrast to this preset.
|
|
24
|
+
*/
|
|
25
|
+
highContrast?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* The variant(s) on a skin that a component should use when rendering. These will
|
|
28
|
+
typically alter the appearance of a skin's existing definition in a way that does not
|
|
29
|
+
override that skin's general styling.
|
|
30
|
+
*
|
|
31
|
+
* Multiple data types are supported by this prop, which afford different conveniences
|
|
32
|
+
and abilities. String and Array are effectively the same, supporting just additions
|
|
33
|
+
to the variants being applied to a component, and are much more convenient. Objects
|
|
34
|
+
may also be used, and have the ability to disable variants being passed by their
|
|
35
|
+
ancestors. Objects take the format of a basic hash, with variants as key names and
|
|
36
|
+
true/false Booleans as values, depicting their state. If a variant is excluded from
|
|
37
|
+
any version of data type used to set this prop, that variant will ignored, falling
|
|
38
|
+
back to the defaultVariant or parent variant, in that order.
|
|
39
|
+
*
|
|
40
|
+
* skinVariants examples:
|
|
41
|
+
* ```
|
|
42
|
+
// String
|
|
43
|
+
skinVariants="highContrast"
|
|
44
|
+
|
|
45
|
+
// Array
|
|
46
|
+
skinVariants={['highContrast']}
|
|
47
|
+
|
|
48
|
+
// Object
|
|
49
|
+
skinVariants={{
|
|
50
|
+
highContrast: true,
|
|
51
|
+
grayscale: false
|
|
52
|
+
}}
|
|
53
|
+
```
|
|
54
|
+
*/
|
|
55
|
+
skinVariants?: string | string[] | object;
|
|
56
|
+
/**
|
|
57
|
+
* Sets the goal size of the text.
|
|
58
|
+
*
|
|
59
|
+
* The UI library will be responsible for using this
|
|
60
|
+
information to adjust the components' text sizes to this preset.
|
|
61
|
+
Current presets are `'normal'` (default), and `'large'` .
|
|
62
|
+
*/
|
|
63
|
+
textSize?: "normal" | "large";
|
|
64
|
+
}
|
|
65
|
+
export function AccessibilityDecorator<P>(
|
|
66
|
+
Component: React.ComponentType<P> | string,
|
|
67
|
+
): React.ComponentType<P & AccessibilityDecoratorProps>;
|
|
68
|
+
|
|
69
|
+
export interface ThemeDecoratorConfig extends Object {
|
|
70
|
+
/**
|
|
71
|
+
* Applies AccessibilityDecorator.
|
|
72
|
+
*
|
|
73
|
+
* If not applied, app will not support accessibility options.
|
|
74
|
+
*/
|
|
75
|
+
accessible?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Disables use of full screen.
|
|
78
|
+
*/
|
|
79
|
+
disableFullscreen?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Enables a floating layer for popup components.
|
|
82
|
+
*
|
|
83
|
+
* If not applied, app will be responsible for applying the decorator.
|
|
84
|
+
*/
|
|
85
|
+
float?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Options for I18nDecorator.
|
|
88
|
+
*
|
|
89
|
+
* May be `false` to prevent applying the decorator. If not applied, app will be responsible for
|
|
90
|
+
applying the decorator.
|
|
91
|
+
*/
|
|
92
|
+
i18n?: object | false;
|
|
93
|
+
/**
|
|
94
|
+
* Disables setting spotlight focus on first render.
|
|
95
|
+
*/
|
|
96
|
+
noAutoFocus?: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Enables overlay mode (no background color will be applied).
|
|
99
|
+
*/
|
|
100
|
+
overlay?: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Override the resolution independence settings.
|
|
103
|
+
*/
|
|
104
|
+
ri?: object;
|
|
105
|
+
/**
|
|
106
|
+
* Specifies the id of the React DOM tree root node
|
|
107
|
+
*/
|
|
108
|
+
rootId?: string;
|
|
109
|
+
/**
|
|
110
|
+
* Applies skinning support.
|
|
111
|
+
*/
|
|
112
|
+
skin?: boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Applies spotlight decorator.
|
|
115
|
+
*
|
|
116
|
+
* If not applied, app will be responsible for applying the decorator.
|
|
117
|
+
*/
|
|
118
|
+
spotlight?: boolean;
|
|
119
|
+
}
|
|
120
|
+
export interface ThemeDecoratorProps
|
|
121
|
+
extends Merge<
|
|
122
|
+
Merge<
|
|
123
|
+
Merge<
|
|
124
|
+
Merge<
|
|
125
|
+
ui_FloatingLayer_FloatingLayerDecoratorProps,
|
|
126
|
+
ui_resolution_ResolutionDecoratorProps
|
|
127
|
+
>,
|
|
128
|
+
spotlight_SpotlightRootDecorator_SpotlightRootDecoratorProps
|
|
129
|
+
>,
|
|
130
|
+
limestone_Skinnable_SkinnableProps
|
|
131
|
+
>,
|
|
132
|
+
AccessibilityDecoratorProps
|
|
133
|
+
> {}
|
|
134
|
+
export function ThemeDecorator<P>(
|
|
135
|
+
config: ThemeDecoratorConfig,
|
|
136
|
+
Component: React.ComponentType<P> | string,
|
|
137
|
+
): React.ComponentType<P & ThemeDecoratorProps>;
|
|
138
|
+
|
|
139
|
+
export function ThemeDecorator<P>(
|
|
140
|
+
Component: React.ComponentType<P> | string,
|
|
141
|
+
): React.ComponentType<P & ThemeDecoratorProps>;
|
|
142
|
+
|
|
143
|
+
export default ThemeDecorator;
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.ThemeDecorator = void 0;
|
|
7
|
+
Object.defineProperty(exports, "getLastInputType", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _SpotlightRootDecorator.getInputType;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _dispatcher = require("@enact/core/dispatcher");
|
|
14
|
+
var _hoc = _interopRequireDefault(require("@enact/core/hoc"));
|
|
15
|
+
var _keymap = require("@enact/core/keymap");
|
|
16
|
+
var _I18nDecorator = _interopRequireDefault(require("@enact/i18n/I18nDecorator"));
|
|
17
|
+
var _SpotlightRootDecorator = _interopRequireWildcard(require("@enact/spotlight/SpotlightRootDecorator"));
|
|
18
|
+
var _FloatingLayer = require("@enact/ui/FloatingLayer");
|
|
19
|
+
var _resolution = require("@enact/ui/resolution");
|
|
20
|
+
var _Touchable = require("@enact/ui/Touchable");
|
|
21
|
+
var _lastInputType = require("@enact/webos/lastInputType");
|
|
22
|
+
var _platform = _interopRequireDefault(require("@enact/webos/platform"));
|
|
23
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
24
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
+
var _react = require("react");
|
|
26
|
+
var _Skinnable = _interopRequireDefault(require("../Skinnable"));
|
|
27
|
+
var _AccessibilityDecorator = _interopRequireDefault(require("./AccessibilityDecorator"));
|
|
28
|
+
var _I18nFontDecorator = _interopRequireDefault(require("./I18nFontDecorator"));
|
|
29
|
+
var _screenTypes = _interopRequireDefault(require("./screenTypes.json"));
|
|
30
|
+
var _ThemeDecoratorModule = _interopRequireDefault(require("./ThemeDecorator.module.css"));
|
|
31
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
32
|
+
var _excluded = ["skin"];
|
|
33
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
34
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
35
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
36
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
37
|
+
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; }
|
|
38
|
+
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; }
|
|
39
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
40
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
41
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /**
|
|
42
|
+
* Exports the {@link limestone/ThemeDecorator.ThemeDecorator} HOC
|
|
43
|
+
*
|
|
44
|
+
* @module limestone/ThemeDecorator
|
|
45
|
+
* @exports ThemeDecorator
|
|
46
|
+
*/ /**
|
|
47
|
+
* Default config for `ThemeDecorator`.
|
|
48
|
+
*
|
|
49
|
+
* @memberof limestone/ThemeDecorator.ThemeDecorator
|
|
50
|
+
* @hocconfig
|
|
51
|
+
*/
|
|
52
|
+
var defaultConfig = /** @lends limestone/ThemeDecorator.ThemeDecorator.defaultConfig */{
|
|
53
|
+
/**
|
|
54
|
+
* Applies AccessibilityDecorator.
|
|
55
|
+
*
|
|
56
|
+
* If not applied, app will not support accessibility options.
|
|
57
|
+
*
|
|
58
|
+
* @type {Boolean}
|
|
59
|
+
* @default true
|
|
60
|
+
* @see {@link limestone/ThemeDecorator.AccessibilityDecorator}
|
|
61
|
+
* @public
|
|
62
|
+
*/
|
|
63
|
+
accessible: true,
|
|
64
|
+
/**
|
|
65
|
+
* Disables use of full screen.
|
|
66
|
+
*
|
|
67
|
+
* @type {Boolean}
|
|
68
|
+
* @default false
|
|
69
|
+
* @public
|
|
70
|
+
*/
|
|
71
|
+
disableFullscreen: false,
|
|
72
|
+
/**
|
|
73
|
+
* Enables a floating layer for popup components.
|
|
74
|
+
*
|
|
75
|
+
* If not applied, app will be responsible for applying the decorator.
|
|
76
|
+
*
|
|
77
|
+
* @type {Boolean}
|
|
78
|
+
* @default true
|
|
79
|
+
* @see {@link ui/FloatingLayer.FloatingLayerDecorator}
|
|
80
|
+
* @public
|
|
81
|
+
*/
|
|
82
|
+
"float": true,
|
|
83
|
+
/**
|
|
84
|
+
* Options for I18nDecorator.
|
|
85
|
+
*
|
|
86
|
+
* May be `false` to prevent applying the decorator. If not applied, app will be responsible for
|
|
87
|
+
* applying the decorator.
|
|
88
|
+
*
|
|
89
|
+
* @type {Object|false}
|
|
90
|
+
* @default {sync: true}
|
|
91
|
+
* @see {@link i18n/I18nDecorator}
|
|
92
|
+
* @public
|
|
93
|
+
*/
|
|
94
|
+
i18n: {
|
|
95
|
+
sync: true
|
|
96
|
+
},
|
|
97
|
+
/**
|
|
98
|
+
* Disables setting spotlight focus on first render.
|
|
99
|
+
*
|
|
100
|
+
* @type {Boolean}
|
|
101
|
+
* @default false
|
|
102
|
+
* @public
|
|
103
|
+
*/
|
|
104
|
+
noAutoFocus: false,
|
|
105
|
+
/**
|
|
106
|
+
* Enables overlay mode (no background color will be applied).
|
|
107
|
+
*
|
|
108
|
+
* @type {Boolean}
|
|
109
|
+
* @default false
|
|
110
|
+
* @public
|
|
111
|
+
*/
|
|
112
|
+
overlay: false,
|
|
113
|
+
/**
|
|
114
|
+
* Override the resolution independence settings.
|
|
115
|
+
*
|
|
116
|
+
* @type {Object}
|
|
117
|
+
* @see {@link ui/resolution}
|
|
118
|
+
* @public
|
|
119
|
+
*/
|
|
120
|
+
ri: {
|
|
121
|
+
screenTypes: _screenTypes["default"]
|
|
122
|
+
},
|
|
123
|
+
/**
|
|
124
|
+
* Specifies the id of the React DOM tree root node
|
|
125
|
+
*
|
|
126
|
+
* @type {String}
|
|
127
|
+
* @default 'root'
|
|
128
|
+
* @public
|
|
129
|
+
*/
|
|
130
|
+
rootId: 'root',
|
|
131
|
+
/**
|
|
132
|
+
* Applies skinning support.
|
|
133
|
+
*
|
|
134
|
+
* @type {Boolean}
|
|
135
|
+
* @default true
|
|
136
|
+
* @see {@link limestone/Skinnable}
|
|
137
|
+
* @public
|
|
138
|
+
*/
|
|
139
|
+
skin: true,
|
|
140
|
+
/**
|
|
141
|
+
* Applies spotlight decorator.
|
|
142
|
+
*
|
|
143
|
+
* If not applied, app will be responsible for applying the decorator.
|
|
144
|
+
*
|
|
145
|
+
* @type {Boolean}
|
|
146
|
+
* @default true
|
|
147
|
+
* @see {@link spotlight/SpotlightRootDecorator}
|
|
148
|
+
* @public
|
|
149
|
+
*/
|
|
150
|
+
spotlight: true
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* A higher-order component that applies Limestone theming to an application.
|
|
155
|
+
*
|
|
156
|
+
* It also applies {@link ui/FloatingLayer.FloatingLayerDecorator|floating layer},
|
|
157
|
+
* {@link ui/resolution.ResolutionDecorator|resolution independence},
|
|
158
|
+
* {@link limestone/Skinnable|skin support}, {@link spotlight.SpotlightRootDecorator|spotlight}, and
|
|
159
|
+
* {@link i18n/I18nDecorator.I18nDecorator|internationalization support}.
|
|
160
|
+
* It is meant to be applied to the root element of an app.
|
|
161
|
+
*
|
|
162
|
+
* {@link limestone/Skinnable|Skins} provide a way to change the coloration of your app. The
|
|
163
|
+
* currently supported skins for Limestone are "limestone" (the default, dark skin) and
|
|
164
|
+
* "limestone-light". Use the `skin` property to assign a skin. Ex: `<DecoratedApp skin="light" />`
|
|
165
|
+
*
|
|
166
|
+
* Note: This HoC passes `className` to the wrapped component. It must be passed to the main DOM
|
|
167
|
+
* node.
|
|
168
|
+
*
|
|
169
|
+
* @class ThemeDecorator
|
|
170
|
+
* @memberof limestone/ThemeDecorator
|
|
171
|
+
* @mixes ui/FloatingLayer.FloatingLayerDecorator
|
|
172
|
+
* @mixes ui/resolution.ResolutionDecorator
|
|
173
|
+
* @mixes spotlight/SpotlightRootDecorator.SpotlightRootDecorator
|
|
174
|
+
* @mixes limestone/Skinnable.Skinnable
|
|
175
|
+
* @mixes limestone/ThemeDecorator.AccessibilityDecorator
|
|
176
|
+
* @hoc
|
|
177
|
+
* @public
|
|
178
|
+
*/
|
|
179
|
+
var ThemeDecorator = exports.ThemeDecorator = (0, _hoc["default"])(defaultConfig, function (config, Wrapped) {
|
|
180
|
+
var accessible = config.accessible,
|
|
181
|
+
ri = config.ri,
|
|
182
|
+
i18n = config.i18n,
|
|
183
|
+
spotlight = config.spotlight,
|
|
184
|
+
_float = config["float"],
|
|
185
|
+
noAutoFocus = config.noAutoFocus,
|
|
186
|
+
overlay = config.overlay,
|
|
187
|
+
skin = config.skin,
|
|
188
|
+
disableFullscreen = config.disableFullscreen,
|
|
189
|
+
rootId = config.rootId;
|
|
190
|
+
|
|
191
|
+
// Apply classes depending on screen type (overlay / fullscreen)
|
|
192
|
+
var bgClassName = (0, _classnames["default"])(_defineProperty({
|
|
193
|
+
'enact-fit': !disableFullscreen
|
|
194
|
+
}, _ThemeDecoratorModule["default"].bg, !overlay));
|
|
195
|
+
var requestInputType = null;
|
|
196
|
+
var App = Wrapped;
|
|
197
|
+
if (_float) App = (0, _FloatingLayer.FloatingLayerDecorator)({
|
|
198
|
+
wrappedClassName: bgClassName
|
|
199
|
+
}, App);
|
|
200
|
+
if (ri) App = (0, _resolution.ResolutionDecorator)(ri, App);
|
|
201
|
+
if (i18n) {
|
|
202
|
+
// Apply the @enact/i18n decorator around the font decorator so the latter will update the
|
|
203
|
+
// font stylesheet when the locale changes
|
|
204
|
+
App = (0, _I18nDecorator["default"])(_objectSpread(_objectSpread({}, i18n), {}, {
|
|
205
|
+
// We use the latin fonts (with non-Latin fallback) for these languages (even though
|
|
206
|
+
// their scripts are non-latin)
|
|
207
|
+
latinLanguageOverrides: ['ko', 'ha', 'el', 'bg', 'mk', 'mn', 'ru', 'uk', 'kk'],
|
|
208
|
+
// We use the non-latin fonts for these languages (even though their scripts are
|
|
209
|
+
// technically considered latin)
|
|
210
|
+
nonLatinLanguageOverrides: ['en-JP']
|
|
211
|
+
}), (0, _I18nFontDecorator["default"])(App));
|
|
212
|
+
}
|
|
213
|
+
if (spotlight) App = (0, _SpotlightRootDecorator["default"])({
|
|
214
|
+
noAutoFocus: noAutoFocus,
|
|
215
|
+
rootId: rootId
|
|
216
|
+
}, App);
|
|
217
|
+
if (skin) App = (0, _Skinnable["default"])(App);
|
|
218
|
+
if (accessible) App = (0, _AccessibilityDecorator["default"])(App);
|
|
219
|
+
|
|
220
|
+
// add webOS-specific key maps
|
|
221
|
+
(0, _keymap.addAll)({
|
|
222
|
+
cancel: 461,
|
|
223
|
+
nonModal: [461, 415,
|
|
224
|
+
// play
|
|
225
|
+
19,
|
|
226
|
+
// pause
|
|
227
|
+
403,
|
|
228
|
+
// red
|
|
229
|
+
404,
|
|
230
|
+
// green
|
|
231
|
+
405,
|
|
232
|
+
// yellow
|
|
233
|
+
406,
|
|
234
|
+
// blue
|
|
235
|
+
33,
|
|
236
|
+
// channel up
|
|
237
|
+
34 // channel down
|
|
238
|
+
],
|
|
239
|
+
red: 403,
|
|
240
|
+
green: 404,
|
|
241
|
+
yellow: 405,
|
|
242
|
+
blue: 406,
|
|
243
|
+
play: 415,
|
|
244
|
+
pause: 19,
|
|
245
|
+
rewind: 412,
|
|
246
|
+
fastForward: 417,
|
|
247
|
+
pointerHide: 1537,
|
|
248
|
+
pointerShow: 1536
|
|
249
|
+
});
|
|
250
|
+
|
|
251
|
+
// configure the default hold time
|
|
252
|
+
(0, _Touchable.configure)({
|
|
253
|
+
hold: {
|
|
254
|
+
events: [{
|
|
255
|
+
name: 'hold',
|
|
256
|
+
time: 400
|
|
257
|
+
}]
|
|
258
|
+
}
|
|
259
|
+
});
|
|
260
|
+
|
|
261
|
+
// set the DOM node ID of the React DOM tree root
|
|
262
|
+
(0, _dispatcher.setDefaultTargetById)(rootId);
|
|
263
|
+
var Decorator = function Decorator(props) {
|
|
264
|
+
var skinProp = props.skin,
|
|
265
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
266
|
+
var skinName = skinProp || 'neutral';
|
|
267
|
+
var className = (0, _classnames["default"])(_ThemeDecoratorModule["default"].root, props.className, 'limestone-theme', 'enact-unselectable', _defineProperty(_defineProperty(_defineProperty({}, bgClassName, !_float), 'enact-fit', !disableFullscreen), "noAnimation", typeof ENACT_PACK_NO_ANIMATION !== 'undefined' && ENACT_PACK_NO_ANIMATION));
|
|
268
|
+
(0, _react.useEffect)(function () {
|
|
269
|
+
if (spotlight && _platform["default"].tv) {
|
|
270
|
+
(0, _SpotlightRootDecorator.activateInputType)(true);
|
|
271
|
+
requestInputType = (0, _lastInputType.requestLastInputType)({
|
|
272
|
+
onSuccess: function onSuccess(res) {
|
|
273
|
+
if (res.lastInputType === 'key' || res.lastInputType === 'mouse' || res.lastInputType === 'touch') {
|
|
274
|
+
(0, _SpotlightRootDecorator.setInputType)(res.lastInputType);
|
|
275
|
+
} else {
|
|
276
|
+
(0, _SpotlightRootDecorator.activateInputType)(false);
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
onFailure: function onFailure() {
|
|
280
|
+
(0, _SpotlightRootDecorator.activateInputType)(false);
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
return function () {
|
|
285
|
+
if (requestInputType) {
|
|
286
|
+
requestInputType.cancel();
|
|
287
|
+
}
|
|
288
|
+
};
|
|
289
|
+
}, []);
|
|
290
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(App, _objectSpread(_objectSpread({}, rest), {}, {
|
|
291
|
+
skin: skinName,
|
|
292
|
+
className: className
|
|
293
|
+
}));
|
|
294
|
+
};
|
|
295
|
+
Decorator.displayName = 'ThemeDecorator';
|
|
296
|
+
Decorator.propTypes = /** @lends limestone/ThemeDecorator.prototype */{
|
|
297
|
+
/**
|
|
298
|
+
* Assign a skin.
|
|
299
|
+
*
|
|
300
|
+
* @type {String}
|
|
301
|
+
* @private
|
|
302
|
+
*/
|
|
303
|
+
skin: _propTypes["default"].string
|
|
304
|
+
};
|
|
305
|
+
return Decorator;
|
|
306
|
+
});
|
|
307
|
+
var _default = exports["default"] = ThemeDecorator;
|