@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,247 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _ilib = _interopRequireDefault(require("ilib"));
|
|
4
|
+
require("@testing-library/jest-dom");
|
|
5
|
+
var _react = require("@testing-library/react");
|
|
6
|
+
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
7
|
+
var _DatePicker = _interopRequireWildcard(require("../DatePicker"));
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
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); }
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
11
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
12
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } // Note: Tests pass 'locale' because there's no I18nDecorator to provide a value via context and
|
|
13
|
+
// otherwise, nothing renders in the label.
|
|
14
|
+
describe('DatePicker', function () {
|
|
15
|
+
test('should emit an onChange event with type when changing the day', /*#__PURE__*/_asyncToGenerator(function* () {
|
|
16
|
+
var handleChange = jest.fn();
|
|
17
|
+
var user = _userEvent["default"].setup();
|
|
18
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
|
|
19
|
+
onChange: handleChange,
|
|
20
|
+
value: new Date(2000, 6, 15),
|
|
21
|
+
locale: "en-US"
|
|
22
|
+
}));
|
|
23
|
+
var dayPickerUp = _react.screen.getAllByText('▲')[1];
|
|
24
|
+
yield user.click(dayPickerUp);
|
|
25
|
+
var expected = 1;
|
|
26
|
+
var expectedType = {
|
|
27
|
+
type: 'onChange',
|
|
28
|
+
value: new Date(2000, 6, 16)
|
|
29
|
+
};
|
|
30
|
+
var actual = handleChange.mock.calls.length && handleChange.mock.calls[0][0];
|
|
31
|
+
expect(handleChange).toHaveBeenCalledTimes(expected);
|
|
32
|
+
expect(actual).toMatchObject(expectedType);
|
|
33
|
+
}));
|
|
34
|
+
test('should emit an onChange event with type when changing the month', /*#__PURE__*/_asyncToGenerator(function* () {
|
|
35
|
+
var handleChange = jest.fn();
|
|
36
|
+
var user = _userEvent["default"].setup();
|
|
37
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
|
|
38
|
+
onChange: handleChange,
|
|
39
|
+
value: new Date(2000, 6, 15),
|
|
40
|
+
locale: "en-US"
|
|
41
|
+
}));
|
|
42
|
+
var monthPickerUp = _react.screen.getAllByText('▲')[0];
|
|
43
|
+
yield user.click(monthPickerUp);
|
|
44
|
+
var expected = 1;
|
|
45
|
+
var expectedType = {
|
|
46
|
+
type: 'onChange',
|
|
47
|
+
value: new Date(2000, 7, 15)
|
|
48
|
+
};
|
|
49
|
+
var actual = handleChange.mock.calls.length && handleChange.mock.calls[0][0];
|
|
50
|
+
expect(handleChange).toHaveBeenCalledTimes(expected);
|
|
51
|
+
expect(actual).toMatchObject(expectedType);
|
|
52
|
+
}));
|
|
53
|
+
test('should emit an onChange event with type when changing the year', /*#__PURE__*/_asyncToGenerator(function* () {
|
|
54
|
+
var handleChange = jest.fn();
|
|
55
|
+
var user = _userEvent["default"].setup();
|
|
56
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
|
|
57
|
+
onChange: handleChange,
|
|
58
|
+
value: new Date(2000, 6, 15),
|
|
59
|
+
locale: "en-US"
|
|
60
|
+
}));
|
|
61
|
+
var yearPickerUp = _react.screen.getAllByText('▲')[2];
|
|
62
|
+
yield user.click(yearPickerUp);
|
|
63
|
+
var expected = 1;
|
|
64
|
+
var expectedType = {
|
|
65
|
+
type: 'onChange',
|
|
66
|
+
value: new Date(2001, 6, 15)
|
|
67
|
+
};
|
|
68
|
+
var actual = handleChange.mock.calls.length && handleChange.mock.calls[0][0];
|
|
69
|
+
expect(handleChange).toHaveBeenCalledTimes(expected);
|
|
70
|
+
expect(actual).toMatchObject(expectedType);
|
|
71
|
+
}));
|
|
72
|
+
test('should fire onComplete event with type when enter key pressed from the last picker', function () {
|
|
73
|
+
var handleComplete = jest.fn();
|
|
74
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
|
|
75
|
+
onComplete: handleComplete,
|
|
76
|
+
value: new Date(2000, 6, 15),
|
|
77
|
+
locale: "en-US"
|
|
78
|
+
}));
|
|
79
|
+
var year = _react.screen.getByLabelText('2000 year change a value with up down button');
|
|
80
|
+
(0, _react.act)(function () {
|
|
81
|
+
return year.focus();
|
|
82
|
+
});
|
|
83
|
+
_react.fireEvent.keyDown(year, {
|
|
84
|
+
which: 13,
|
|
85
|
+
keyCode: 13,
|
|
86
|
+
code: 13
|
|
87
|
+
});
|
|
88
|
+
var expected = {
|
|
89
|
+
type: 'onComplete',
|
|
90
|
+
value: new Date(2000, 6, 15)
|
|
91
|
+
};
|
|
92
|
+
var actual = handleComplete.mock.calls.length && handleComplete.mock.calls[0][0];
|
|
93
|
+
expect(actual).toMatchObject(expected);
|
|
94
|
+
});
|
|
95
|
+
test('should fire onSpotlightLeft event with type when spotlight is leaving via left key', function () {
|
|
96
|
+
var handleSpotlight = jest.fn();
|
|
97
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
|
|
98
|
+
onSpotlightLeft: handleSpotlight,
|
|
99
|
+
value: new Date(2000, 6, 15),
|
|
100
|
+
locale: "en-US"
|
|
101
|
+
}));
|
|
102
|
+
var month = _react.screen.getByLabelText('7 month change a value with up down button');
|
|
103
|
+
(0, _react.act)(function () {
|
|
104
|
+
return month.focus();
|
|
105
|
+
});
|
|
106
|
+
_react.fireEvent.keyDown(month, {
|
|
107
|
+
which: 37,
|
|
108
|
+
keyCode: 37,
|
|
109
|
+
code: 37
|
|
110
|
+
});
|
|
111
|
+
var expected = {
|
|
112
|
+
type: 'onSpotlightLeft'
|
|
113
|
+
};
|
|
114
|
+
var actual = handleSpotlight.mock.calls.length && handleSpotlight.mock.calls[0][0];
|
|
115
|
+
expect(actual).toMatchObject(expected);
|
|
116
|
+
});
|
|
117
|
+
test('should fire onSpotlightRight event with type when spotlight is leaving via right key', function () {
|
|
118
|
+
var handleSpotlight = jest.fn();
|
|
119
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
|
|
120
|
+
onSpotlightRight: handleSpotlight,
|
|
121
|
+
value: new Date(2000, 6, 15),
|
|
122
|
+
locale: "en-US"
|
|
123
|
+
}));
|
|
124
|
+
var year = _react.screen.getByLabelText('2000 year change a value with up down button');
|
|
125
|
+
(0, _react.act)(function () {
|
|
126
|
+
return year.focus();
|
|
127
|
+
});
|
|
128
|
+
_react.fireEvent.keyDown(year, {
|
|
129
|
+
which: 39,
|
|
130
|
+
keyCode: 39,
|
|
131
|
+
code: 39
|
|
132
|
+
});
|
|
133
|
+
var expected = {
|
|
134
|
+
type: 'onSpotlightRight'
|
|
135
|
+
};
|
|
136
|
+
var actual = handleSpotlight.mock.calls.length && handleSpotlight.mock.calls[0][0];
|
|
137
|
+
expect(actual).toMatchObject(expected);
|
|
138
|
+
});
|
|
139
|
+
test('should accept a JavaScript Date for its value prop', function () {
|
|
140
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
|
|
141
|
+
value: new Date(2000, 0, 1),
|
|
142
|
+
locale: "en-US"
|
|
143
|
+
}));
|
|
144
|
+
var year = _react.screen.getByText('2000');
|
|
145
|
+
expect(year).toBeInTheDocument();
|
|
146
|
+
});
|
|
147
|
+
test('should set \'dayAriaLabel\' to day picker', function () {
|
|
148
|
+
var label = 'custom day aria-label';
|
|
149
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
|
|
150
|
+
dayAriaLabel: label,
|
|
151
|
+
value: new Date(2000, 0, 1)
|
|
152
|
+
}));
|
|
153
|
+
var dayPicker = _react.screen.getByLabelText(label);
|
|
154
|
+
var expected = 'day';
|
|
155
|
+
expect(dayPicker).toBeInTheDocument();
|
|
156
|
+
expect(dayPicker).toHaveClass(expected);
|
|
157
|
+
});
|
|
158
|
+
test('should set \'monthAriaLabel\' to month picker', function () {
|
|
159
|
+
var label = 'custom month aria-label';
|
|
160
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
|
|
161
|
+
monthAriaLabel: label,
|
|
162
|
+
value: new Date(2000, 0, 1)
|
|
163
|
+
}));
|
|
164
|
+
var monthPicker = _react.screen.getByLabelText(label);
|
|
165
|
+
var expected = 'month';
|
|
166
|
+
expect(monthPicker).toBeInTheDocument();
|
|
167
|
+
expect(monthPicker).toHaveClass(expected);
|
|
168
|
+
});
|
|
169
|
+
test('should set \'yearAriaLabel\' to year picker', function () {
|
|
170
|
+
var label = 'custom year aria-label';
|
|
171
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
|
|
172
|
+
value: new Date(2000, 0, 1),
|
|
173
|
+
yearAriaLabel: label
|
|
174
|
+
}));
|
|
175
|
+
var yearPicker = _react.screen.getByLabelText(label);
|
|
176
|
+
var expected = 'year';
|
|
177
|
+
expect(yearPicker).toBeInTheDocument();
|
|
178
|
+
expect(yearPicker).toHaveClass(expected);
|
|
179
|
+
});
|
|
180
|
+
test('should set \'data-webos-voice-disabled\' to day picker when voice control is disabled', function () {
|
|
181
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
|
|
182
|
+
value: new Date(2000, 0, 1),
|
|
183
|
+
"data-webos-voice-disabled": true
|
|
184
|
+
}));
|
|
185
|
+
var dayPicker = _react.screen.getByLabelText('1 day change a value with up down button');
|
|
186
|
+
var expected = 'data-webos-voice-disabled';
|
|
187
|
+
expect(dayPicker).toHaveAttribute(expected);
|
|
188
|
+
});
|
|
189
|
+
test('should set \'data-webos-voice-disabled\' to month picker when voice control is disabled', function () {
|
|
190
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
|
|
191
|
+
value: new Date(2000, 0, 1),
|
|
192
|
+
"data-webos-voice-disabled": true
|
|
193
|
+
}));
|
|
194
|
+
var monthPicker = _react.screen.getByLabelText('1 month change a value with up down button');
|
|
195
|
+
var expected = 'data-webos-voice-disabled';
|
|
196
|
+
expect(monthPicker).toHaveAttribute(expected);
|
|
197
|
+
});
|
|
198
|
+
test('should set \'data-webos-voice-disabled\' to year picker when voice control is disabled', function () {
|
|
199
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
|
|
200
|
+
value: new Date(2000, 0, 1),
|
|
201
|
+
"data-webos-voice-disabled": true
|
|
202
|
+
}));
|
|
203
|
+
var yearPicker = _react.screen.getByLabelText('1900 year change a value with up down button');
|
|
204
|
+
// The year is 1900 because it does not change based on props, this needs to be fixed in datePicker
|
|
205
|
+
|
|
206
|
+
var expected = 'data-webos-voice-disabled';
|
|
207
|
+
expect(yearPicker).toHaveAttribute(expected);
|
|
208
|
+
});
|
|
209
|
+
test('should format a date the same as the label', function () {
|
|
210
|
+
var date = new Date(2000, 0, 1);
|
|
211
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
|
|
212
|
+
value: date,
|
|
213
|
+
locale: "en-US"
|
|
214
|
+
}));
|
|
215
|
+
var header = _react.screen.getByText((0, _DatePicker.dateToLocaleString)(date)).parentElement.parentElement;
|
|
216
|
+
var expected = 'heading';
|
|
217
|
+
expect(header).toHaveClass(expected);
|
|
218
|
+
});
|
|
219
|
+
test('should format a date the same as the label in another locale', function () {
|
|
220
|
+
_ilib["default"].setLocale('ar-SA');
|
|
221
|
+
var date = new Date(2000, 0, 1);
|
|
222
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
|
|
223
|
+
value: date,
|
|
224
|
+
locale: "ar-SA"
|
|
225
|
+
}));
|
|
226
|
+
var header = _react.screen.getByText((0, _DatePicker.dateToLocaleString)(date)).parentElement.parentElement;
|
|
227
|
+
var expected = 'heading';
|
|
228
|
+
expect(header).toHaveClass(expected);
|
|
229
|
+
});
|
|
230
|
+
test('should not display Heading', function () {
|
|
231
|
+
var date = new Date(2000, 0, 1);
|
|
232
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
|
|
233
|
+
value: date,
|
|
234
|
+
locale: "en-US",
|
|
235
|
+
noLabel: true
|
|
236
|
+
}));
|
|
237
|
+
var header = _react.screen.queryByText((0, _DatePicker.dateToLocaleString)(date));
|
|
238
|
+
expect(header).toBeNull();
|
|
239
|
+
});
|
|
240
|
+
describe('#dateToLocaleString', function () {
|
|
241
|
+
test('method should return \'null\' for an \'undefined\' date', function () {
|
|
242
|
+
var actual = (0, _DatePicker.dateToLocaleString)(undefined); // eslint-disable-line no-undefined
|
|
243
|
+
|
|
244
|
+
expect(actual).toBeNull();
|
|
245
|
+
});
|
|
246
|
+
});
|
|
247
|
+
});
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
// Type definitions for limestone/DayPicker
|
|
2
|
+
|
|
3
|
+
import { GroupProps as ui_Group_GroupProps } from "@enact/ui/Group";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { ChangeableProps as ui_Changeable_ChangeableProps } from "@enact/ui/Changeable";
|
|
6
|
+
|
|
7
|
+
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
|
|
8
|
+
type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
|
|
9
|
+
|
|
10
|
+
export interface DayPickerBaseProps
|
|
11
|
+
extends Omit<ui_Group_GroupProps, "children"> {}
|
|
12
|
+
/**
|
|
13
|
+
* A day of the week selection component.
|
|
14
|
+
*
|
|
15
|
+
* This component is most often not used directly but may be composed within another component as it
|
|
16
|
+
is within .
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
export class DayPickerBase extends React.Component<
|
|
20
|
+
Merge<React.HTMLProps<HTMLElement>, DayPickerBaseProps>
|
|
21
|
+
> {}
|
|
22
|
+
|
|
23
|
+
export interface DayPickerProps
|
|
24
|
+
extends Omit<
|
|
25
|
+
Merge<DayPickerBaseProps, ui_Changeable_ChangeableProps>,
|
|
26
|
+
"onChange" | "value" | "defaultValue"
|
|
27
|
+
> {
|
|
28
|
+
/**
|
|
29
|
+
* Disables all days in this picker.
|
|
30
|
+
*/
|
|
31
|
+
disabled?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Disables DayPicker and the control becomes non-interactive.
|
|
34
|
+
*/
|
|
35
|
+
disabled?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Called when a day is selected or unselected.
|
|
38
|
+
*
|
|
39
|
+
* The event payload will be an object with the following members:
|
|
40
|
+
* * `selected` - An array of numbers representing the selected days, 0 indexed where Sunday
|
|
41
|
+
is represented by 0
|
|
42
|
+
*/
|
|
43
|
+
onSelect?: Function;
|
|
44
|
+
/**
|
|
45
|
+
* An array of numbers (0 indexed where Sunday is 0) representing the selected days of the
|
|
46
|
+
week.
|
|
47
|
+
*/
|
|
48
|
+
selected?: number | number[];
|
|
49
|
+
/**
|
|
50
|
+
* The initial value used when `selected` is not set.
|
|
51
|
+
*/
|
|
52
|
+
selected?: number | number[];
|
|
53
|
+
/**
|
|
54
|
+
* The "aria-label" for the component.
|
|
55
|
+
*
|
|
56
|
+
* By default, "aria-label" is set to the full names of the selected days or
|
|
57
|
+
the custom text when the weekend, week days, or all days is selected.
|
|
58
|
+
*/
|
|
59
|
+
"aria-label"?: string;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* A day of the week selection component, ready to use in Limestone applications.
|
|
63
|
+
*
|
|
64
|
+
* By default, `DayPicker` maintains the state of its `selected` property. Supply the
|
|
65
|
+
`selected` property to control its initial value. If you wish to directly control updates
|
|
66
|
+
to the component, supply a value to `selected` at creation time and update it in response to
|
|
67
|
+
`onChange` events.
|
|
68
|
+
*
|
|
69
|
+
* Usage:
|
|
70
|
+
* ```
|
|
71
|
+
<DayPicker
|
|
72
|
+
selected={[2, 3]}
|
|
73
|
+
onSelect={handleSelect}
|
|
74
|
+
/>
|
|
75
|
+
```
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
export class DayPicker extends React.Component<
|
|
79
|
+
Merge<React.HTMLProps<HTMLElement>, DayPickerProps>
|
|
80
|
+
> {}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Determines whether it should return "Every Day", "Every Weekend", "Every Weekday" or list of
|
|
84
|
+
days for a given selected day type.
|
|
85
|
+
*/
|
|
86
|
+
export function getSelectedDayString(
|
|
87
|
+
selected: any,
|
|
88
|
+
noneText?: string,
|
|
89
|
+
dayNameLength?: string,
|
|
90
|
+
): string;
|
|
91
|
+
|
|
92
|
+
export default DayPicker;
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.DayPickerBase = exports.DayPicker = void 0;
|
|
7
|
+
Object.defineProperty(exports, "getSelectedDayString", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _DaySelectorDecorator.getSelectedDayString;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _kind = _interopRequireDefault(require("@enact/core/kind"));
|
|
14
|
+
var _I18nDecorator = require("@enact/i18n/I18nDecorator");
|
|
15
|
+
var _Changeable = _interopRequireDefault(require("@enact/ui/Changeable"));
|
|
16
|
+
var _Group = _interopRequireDefault(require("@enact/ui/Group"));
|
|
17
|
+
var _Pure = _interopRequireDefault(require("@enact/ui/internal/Pure"));
|
|
18
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
|
+
var _compose = _interopRequireDefault(require("ramda/src/compose"));
|
|
20
|
+
var _CheckboxItem = _interopRequireDefault(require("../CheckboxItem"));
|
|
21
|
+
var _Skinnable = _interopRequireDefault(require("../Skinnable"));
|
|
22
|
+
var _DaySelectorDecorator = require("./DaySelectorDecorator");
|
|
23
|
+
var _DayPickerModule = _interopRequireDefault(require("./DayPicker.module.css"));
|
|
24
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
|
+
var _excluded = ["disabled"];
|
|
26
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
27
|
+
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; }
|
|
28
|
+
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; }
|
|
29
|
+
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; }
|
|
30
|
+
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; }
|
|
31
|
+
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; }
|
|
32
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
33
|
+
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); } /**
|
|
34
|
+
* Limestone styled day picker components.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* <DayPicker
|
|
38
|
+
* selected={[2, 3]}
|
|
39
|
+
* onSelect={console.log}
|
|
40
|
+
* />
|
|
41
|
+
*
|
|
42
|
+
* @module limestone/DayPicker
|
|
43
|
+
* @exports DayPicker
|
|
44
|
+
* @exports DayPickerBase
|
|
45
|
+
* @exports getSelectedDayString
|
|
46
|
+
*/
|
|
47
|
+
var CheckboxItemComponent = function CheckboxItemComponent(props) {
|
|
48
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_CheckboxItem["default"], _objectSpread({
|
|
49
|
+
css: _DayPickerModule["default"]
|
|
50
|
+
}, props));
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* A day of the week selection component.
|
|
55
|
+
*
|
|
56
|
+
* This component is most often not used directly but may be composed within another component as it
|
|
57
|
+
* is within {@link limestone/DayPicker.DayPicker|DayPicker}.
|
|
58
|
+
*
|
|
59
|
+
* @class DayPickerBase
|
|
60
|
+
* @memberof limestone/DayPicker
|
|
61
|
+
* @extends ui/Group.Group
|
|
62
|
+
* @omit children
|
|
63
|
+
* @ui
|
|
64
|
+
* @public
|
|
65
|
+
*/
|
|
66
|
+
var DayPickerBase = exports.DayPickerBase = (0, _kind["default"])({
|
|
67
|
+
name: 'DayPicker',
|
|
68
|
+
propTypes: /** @lends limestone/DayPicker.DayPicker.prototype */{
|
|
69
|
+
/**
|
|
70
|
+
* Disables all days in this picker.
|
|
71
|
+
*
|
|
72
|
+
* @type {Boolean}
|
|
73
|
+
* @public
|
|
74
|
+
*/
|
|
75
|
+
disabled: _propTypes["default"].bool,
|
|
76
|
+
/**
|
|
77
|
+
* Called when a day is selected or unselected.
|
|
78
|
+
*
|
|
79
|
+
* The event payload will be an object with the following members:
|
|
80
|
+
* * `selected` - An array of numbers representing the selected days, 0 indexed where Sunday
|
|
81
|
+
* is represented by 0
|
|
82
|
+
*
|
|
83
|
+
* @type {Function}
|
|
84
|
+
* @public
|
|
85
|
+
*/
|
|
86
|
+
onSelect: _propTypes["default"].func,
|
|
87
|
+
/**
|
|
88
|
+
* An array of numbers (0 indexed where Sunday is 0) representing the selected days of the
|
|
89
|
+
* week.
|
|
90
|
+
*
|
|
91
|
+
* @type {Number|Number[]}
|
|
92
|
+
* @public
|
|
93
|
+
*/
|
|
94
|
+
selected: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].arrayOf(_propTypes["default"].number)])
|
|
95
|
+
},
|
|
96
|
+
styles: {
|
|
97
|
+
css: _DayPickerModule["default"],
|
|
98
|
+
className: 'dayPicker'
|
|
99
|
+
},
|
|
100
|
+
computed: {
|
|
101
|
+
children: function children(_ref) {
|
|
102
|
+
var _children = _ref.children;
|
|
103
|
+
return _children.map(function (child) {
|
|
104
|
+
return child['aria-label'];
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
render: function render(_ref2) {
|
|
109
|
+
var disabled = _ref2.disabled,
|
|
110
|
+
rest = _objectWithoutProperties(_ref2, _excluded);
|
|
111
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Group["default"], _objectSpread(_objectSpread({}, rest), {}, {
|
|
112
|
+
childComponent: CheckboxItemComponent,
|
|
113
|
+
component: "div",
|
|
114
|
+
itemProps: {
|
|
115
|
+
disabled: disabled
|
|
116
|
+
},
|
|
117
|
+
role: null,
|
|
118
|
+
select: "multiple",
|
|
119
|
+
selectedProp: "selected"
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
var DayPickerDecorator = (0, _compose["default"])(_Pure["default"], (0, _Changeable["default"])({
|
|
124
|
+
change: 'onSelect',
|
|
125
|
+
prop: 'selected'
|
|
126
|
+
}), (0, _I18nDecorator.I18nContextDecorator)({
|
|
127
|
+
localeProp: 'locale'
|
|
128
|
+
}), _DaySelectorDecorator.DaySelectorDecorator, _Skinnable["default"]);
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* A day of the week selection component, ready to use in Limestone applications.
|
|
132
|
+
*
|
|
133
|
+
* By default, `DayPicker` maintains the state of its `selected` property. Supply the
|
|
134
|
+
* `selected` property to control its initial value. If you wish to directly control updates
|
|
135
|
+
* to the component, supply a value to `selected` at creation time and update it in response to
|
|
136
|
+
* `onChange` events.
|
|
137
|
+
*
|
|
138
|
+
* Usage:
|
|
139
|
+
* ```
|
|
140
|
+
* <DayPicker
|
|
141
|
+
* selected={[2, 3]}
|
|
142
|
+
* onSelect={handleSelect}
|
|
143
|
+
* />
|
|
144
|
+
* ```
|
|
145
|
+
*
|
|
146
|
+
* @class DayPicker
|
|
147
|
+
* @memberof limestone/DayPicker
|
|
148
|
+
* @extends limestone/DayPicker.DayPickerBase
|
|
149
|
+
* @mixes ui/Changeable.Changeable
|
|
150
|
+
* @omit onChange
|
|
151
|
+
* @omit value
|
|
152
|
+
* @omit defaultValue
|
|
153
|
+
* @ui
|
|
154
|
+
* @public
|
|
155
|
+
*/
|
|
156
|
+
var DayPicker = exports.DayPicker = DayPickerDecorator(DayPickerBase);
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* The "aria-label" for the component.
|
|
160
|
+
*
|
|
161
|
+
* By default, "aria-label" is set to the full names of the selected days or
|
|
162
|
+
* the custom text when the weekend, week days, or all days is selected.
|
|
163
|
+
*
|
|
164
|
+
* @name aria-label
|
|
165
|
+
* @type {String}
|
|
166
|
+
* @memberof limestone/DayPicker.DayPicker.prototype
|
|
167
|
+
* @public
|
|
168
|
+
*/
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* The initial value used when `selected` is not set.
|
|
172
|
+
*
|
|
173
|
+
* @name selected
|
|
174
|
+
* @type {Number|Number[]}
|
|
175
|
+
* @memberof limestone/DayPicker.DayPicker.prototype
|
|
176
|
+
* @public
|
|
177
|
+
*/
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Disables DayPicker and the control becomes non-interactive.
|
|
181
|
+
*
|
|
182
|
+
* @name disabled
|
|
183
|
+
* @type {Boolean}
|
|
184
|
+
* @default false
|
|
185
|
+
* @memberof limestone/DayPicker.DayPicker.prototype
|
|
186
|
+
* @public
|
|
187
|
+
*/
|
|
188
|
+
var _default = exports["default"] = DayPicker;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
.dayPicker .checkboxItem {
|
|
2
|
+
margin-top: 0;
|
|
3
|
+
margin-bottom: 0;
|
|
4
|
+
}
|
|
5
|
+
.dayPicker .checkboxItem:global(.neutral).selected .bg {
|
|
6
|
+
background-color: inherit;
|
|
7
|
+
}
|
|
8
|
+
:global(.enact-a11y-high-contrast) .dayPicker .checkboxItem:global(.neutral):global(.highContrast).selected .bg {
|
|
9
|
+
background-color: inherit;
|
|
10
|
+
}
|
|
11
|
+
.dayPicker .checkboxItem:global(.light).selected .bg {
|
|
12
|
+
background-color: inherit;
|
|
13
|
+
}
|
|
14
|
+
.dayPicker .checkboxItem:global(.game) {
|
|
15
|
+
--semantic-color-surface-default: #2d224c;
|
|
16
|
+
--semantic-color-surface-default-focused: #6d2fa1;
|
|
17
|
+
--semantic-color-on-surface-main-focused: #e6e6e6;
|
|
18
|
+
}
|
|
19
|
+
.dayPicker .checkboxItem:global(.game).selected .bg {
|
|
20
|
+
background-color: inherit;
|
|
21
|
+
}
|
|
22
|
+
:global(.green) .dayPicker .checkboxItem:global(.game) {
|
|
23
|
+
--semantic-color-surface-default: #1F2C24;
|
|
24
|
+
--semantic-color-surface-default-focused: #3ea07d;
|
|
25
|
+
}
|
|
26
|
+
:global(.green) .dayPicker .checkboxItem:global(.game).selected .bg {
|
|
27
|
+
background-color: inherit;
|
|
28
|
+
}
|
|
29
|
+
:global(.orange) .dayPicker .checkboxItem:global(.game) {
|
|
30
|
+
--semantic-color-surface-default: #422923;
|
|
31
|
+
--semantic-color-surface-default-focused: #b85f23;
|
|
32
|
+
}
|
|
33
|
+
:global(.orange) .dayPicker .checkboxItem:global(.game).selected .bg {
|
|
34
|
+
background-color: inherit;
|
|
35
|
+
}
|