@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,28 @@
|
|
|
1
|
+
### Checklist
|
|
2
|
+
|
|
3
|
+
* [ ] I have read and understand the [contribution guide](https://enactjs.com/docs/developer-guide/contributing/)
|
|
4
|
+
* [ ] A [CHANGELOG entry](https://enactjs.com/docs/developer-guide/contributing/changelogs/) is included
|
|
5
|
+
* [ ] At least one test case is included for this feature or bug fix
|
|
6
|
+
* [ ] Documentation was added or is not needed
|
|
7
|
+
* [ ] This is an API breaking change
|
|
8
|
+
|
|
9
|
+
### Issue Resolved / Feature Added
|
|
10
|
+
[//]: # (Describe the issue resolved or feature added by this pull request)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Resolution
|
|
14
|
+
[//]: # (Does the code work as intended?)
|
|
15
|
+
[//]: # (What is the impact of this change and *why* was it made?)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Additional Considerations
|
|
19
|
+
[//]: # (How should the change be tested?)
|
|
20
|
+
[//]: # (Are there any outstanding questions?)
|
|
21
|
+
[//]: # (Were any side-effects caused by the change?)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Links
|
|
25
|
+
[//]: # (Related issues, references)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Comments
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
name: Update copyright year(s) in license file
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
- cron: "0 0 4 1 *"
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
run:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
steps:
|
|
11
|
+
- uses: actions/checkout@v2
|
|
12
|
+
with:
|
|
13
|
+
ref: develop
|
|
14
|
+
fetch-depth: 0
|
|
15
|
+
- uses: FantasticFiasco/action-update-license-year@v2
|
|
16
|
+
with:
|
|
17
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
18
|
+
path: |
|
|
19
|
+
README.md
|
|
20
|
+
samples/sampler/README.md
|
|
21
|
+
branchName: license/{{currentYear}}
|
|
22
|
+
commitTitle: update license
|
|
23
|
+
commitBody: Let's keep legal happy.
|
|
24
|
+
prTitle: Update copyright years in README.md file
|
|
25
|
+
prBody: It's that time of the year, let's update the license.
|
package/.travis.yml
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
dist: jammy
|
|
2
|
+
language: node_js
|
|
3
|
+
node_js:
|
|
4
|
+
- lts/*
|
|
5
|
+
- node
|
|
6
|
+
sudo: false
|
|
7
|
+
before_install:
|
|
8
|
+
- sudo apt-get update
|
|
9
|
+
- sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
|
|
10
|
+
install:
|
|
11
|
+
- npm config set prefer-offline false
|
|
12
|
+
- npm install -g codecov
|
|
13
|
+
- git clone --branch=develop --depth 1 https://github.com/enactjs/cli ../cli
|
|
14
|
+
- pushd ../cli
|
|
15
|
+
- npm install
|
|
16
|
+
- npm link
|
|
17
|
+
- popd
|
|
18
|
+
- git clone --branch=develop --depth 1 https://github.com/enactjs/enact ../enact
|
|
19
|
+
- pushd ../enact
|
|
20
|
+
- npm uninstall @enact/ui-test-utils --prefix packages/i18n
|
|
21
|
+
- npm install
|
|
22
|
+
- npm run lerna exec -- --ignore enact-sampler --concurrency 1 -- npm --no-package-lock install
|
|
23
|
+
- npm run lerna exec -- --ignore enact-sampler --concurrency 1 -- npm --no-package-lock link
|
|
24
|
+
- npm run interlink
|
|
25
|
+
- popd
|
|
26
|
+
- rm -fr node_modules/@enact
|
|
27
|
+
- npm uninstall @enact/ui-test-utils
|
|
28
|
+
- npm install
|
|
29
|
+
- enact link
|
|
30
|
+
script:
|
|
31
|
+
- echo -e "\x1b\x5b35;1m*** Starting tests...\x1b\x5b0m"
|
|
32
|
+
- npm test -- --runInBand --coverage
|
|
33
|
+
- codecov -t $CODECOV_TOKEN
|
|
34
|
+
- echo -e "\x1b\x5b35;1m*** Tests complete\x1b\x5b0m"
|
|
35
|
+
- echo -e "\x1b\x5b35;1m*** Starting eslint...\x1b\x5b0m"
|
|
36
|
+
- npm run lint -- -- --report-unused-disable-directives --max-warnings 0 .
|
|
37
|
+
- echo -e "\x1b\x5b35;1m*** eslint complete\x1b\x5b0m"
|
|
38
|
+
- echo -e "\x1b\x5b35;1m*** Starting docs validation...\x1b\x5b0m"
|
|
39
|
+
- npm run validate-docs
|
|
40
|
+
- echo -e "\x1b\x5b35;1m*** Docs validation complete\x1b\x5b0m"
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// Type definitions for limestone/ActionGuide
|
|
2
|
+
|
|
3
|
+
import { SkinnableProps as limestone_Skinnable_SkinnableProps } from "limestone/Skinnable";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
|
|
6
|
+
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
|
|
7
|
+
type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
|
|
8
|
+
|
|
9
|
+
export interface ActionGuideBaseProps {
|
|
10
|
+
/**
|
|
11
|
+
* The "aria-label" for the button.
|
|
12
|
+
*/
|
|
13
|
+
buttonAriaLabel?: string;
|
|
14
|
+
/**
|
|
15
|
+
* The contents for the action guide.
|
|
16
|
+
*/
|
|
17
|
+
children?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Customizes the component by mapping the supplied collection of CSS class names to the
|
|
20
|
+
corresponding internal elements and states of this component.
|
|
21
|
+
*
|
|
22
|
+
* The following classes are supported:
|
|
23
|
+
* * `actionGuide` - The root component class
|
|
24
|
+
*/
|
|
25
|
+
css?: object;
|
|
26
|
+
/**
|
|
27
|
+
* Disables the button.
|
|
28
|
+
*/
|
|
29
|
+
disabled?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* The icon displayed within the action guide.
|
|
32
|
+
*/
|
|
33
|
+
icon?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Called when Button is clicked.
|
|
36
|
+
*/
|
|
37
|
+
onClick?: Function;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* An Action Guide component.
|
|
41
|
+
*
|
|
42
|
+
* This component is most often not used directly but may be composed within another component as it
|
|
43
|
+
is within .
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
export class ActionGuideBase extends React.Component<
|
|
47
|
+
Merge<React.HTMLProps<HTMLElement>, ActionGuideBaseProps>
|
|
48
|
+
> {}
|
|
49
|
+
|
|
50
|
+
export interface ActionGuideDecoratorProps
|
|
51
|
+
extends limestone_Skinnable_SkinnableProps {}
|
|
52
|
+
export function ActionGuideDecorator<P>(
|
|
53
|
+
Component: React.ComponentType<P> | string,
|
|
54
|
+
): React.ComponentType<P & ActionGuideDecoratorProps>;
|
|
55
|
+
|
|
56
|
+
export interface ActionGuideProps
|
|
57
|
+
extends Merge<ActionGuideBaseProps, ActionGuideDecoratorProps> {}
|
|
58
|
+
/**
|
|
59
|
+
* An Action Guide component, ready to use in Limestone applications.
|
|
60
|
+
*
|
|
61
|
+
* `ActionGuide` may be used to display text and icon to describe an action.
|
|
62
|
+
*
|
|
63
|
+
* Usage:
|
|
64
|
+
* ```
|
|
65
|
+
<ActionGuide icon="arrowlargedown">Hello</ActionGuide>
|
|
66
|
+
```
|
|
67
|
+
*/
|
|
68
|
+
|
|
69
|
+
export class ActionGuide extends React.Component<
|
|
70
|
+
Merge<React.HTMLProps<HTMLElement>, ActionGuideProps>
|
|
71
|
+
> {}
|
|
72
|
+
|
|
73
|
+
export default ActionGuide;
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.ActionGuideDecorator = exports.ActionGuideBase = exports.ActionGuide = void 0;
|
|
7
|
+
var _kind = _interopRequireDefault(require("@enact/core/kind"));
|
|
8
|
+
var _Pure = _interopRequireDefault(require("@enact/ui/internal/Pure"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _compose = _interopRequireDefault(require("ramda/src/compose"));
|
|
11
|
+
var _$L = _interopRequireDefault(require("../internal/$L"));
|
|
12
|
+
var _Button = _interopRequireDefault(require("../Button"));
|
|
13
|
+
var _Marquee = require("../Marquee");
|
|
14
|
+
var _Skinnable = _interopRequireDefault(require("../Skinnable"));
|
|
15
|
+
var _ActionGuideModule = _interopRequireDefault(require("./ActionGuide.module.css"));
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
+
var _excluded = ["buttonAriaLabel", "children", "css", "disabled", "icon", "onClick"];
|
|
18
|
+
/**
|
|
19
|
+
* Limestone styled action guide component and behaviors.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* <ActionGuide icon="arrowlargedown">Hello</ActionGuide>
|
|
23
|
+
*
|
|
24
|
+
* @module limestone/ActionGuide
|
|
25
|
+
* @exports ActionGuide
|
|
26
|
+
* @exports ActionGuideBase
|
|
27
|
+
* @exports ActionGuideDecorator
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* An Action Guide component.
|
|
31
|
+
*
|
|
32
|
+
* This component is most often not used directly but may be composed within another component as it
|
|
33
|
+
* is within {@link limestone/ActionGuide.ActionGuide|ActionGuide}.
|
|
34
|
+
*
|
|
35
|
+
* @class ActionGuideBase
|
|
36
|
+
* @memberof limestone/ActionGuide
|
|
37
|
+
* @ui
|
|
38
|
+
* @public
|
|
39
|
+
*/
|
|
40
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
41
|
+
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; }
|
|
42
|
+
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; }
|
|
43
|
+
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; }
|
|
44
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
45
|
+
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); }
|
|
46
|
+
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; }
|
|
47
|
+
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; }
|
|
48
|
+
var ActionGuideBase = exports.ActionGuideBase = (0, _kind["default"])({
|
|
49
|
+
name: 'ActionGuide',
|
|
50
|
+
propTypes: /** @lends limestone/ActionGuide.ActionGuideBase.prototype */{
|
|
51
|
+
/**
|
|
52
|
+
* The "aria-label" for the button.
|
|
53
|
+
*
|
|
54
|
+
* @type {String}
|
|
55
|
+
* @public
|
|
56
|
+
*/
|
|
57
|
+
buttonAriaLabel: _propTypes["default"].string,
|
|
58
|
+
/**
|
|
59
|
+
* The contents for the action guide.
|
|
60
|
+
*
|
|
61
|
+
* @type {String}
|
|
62
|
+
* @public
|
|
63
|
+
*/
|
|
64
|
+
children: _propTypes["default"].string,
|
|
65
|
+
/**
|
|
66
|
+
* Customizes the component by mapping the supplied collection of CSS class names to the
|
|
67
|
+
* corresponding internal elements and states of this component.
|
|
68
|
+
*
|
|
69
|
+
* The following classes are supported:
|
|
70
|
+
*
|
|
71
|
+
* * `actionGuide` - The root component class
|
|
72
|
+
*
|
|
73
|
+
* @type {Object}
|
|
74
|
+
* @public
|
|
75
|
+
*/
|
|
76
|
+
css: _propTypes["default"].object,
|
|
77
|
+
/**
|
|
78
|
+
* Disables the button.
|
|
79
|
+
*
|
|
80
|
+
* @type {Boolean}
|
|
81
|
+
* @public
|
|
82
|
+
*/
|
|
83
|
+
disabled: _propTypes["default"].bool,
|
|
84
|
+
/**
|
|
85
|
+
* The icon displayed within the action guide.
|
|
86
|
+
*
|
|
87
|
+
* @type {String}
|
|
88
|
+
* @default 'arrowsmalldown'
|
|
89
|
+
* @public
|
|
90
|
+
*/
|
|
91
|
+
icon: _propTypes["default"].string,
|
|
92
|
+
/**
|
|
93
|
+
* Called when Button is clicked.
|
|
94
|
+
*
|
|
95
|
+
* @type {Function}
|
|
96
|
+
* @param {Object} event
|
|
97
|
+
* @public
|
|
98
|
+
*/
|
|
99
|
+
onClick: _propTypes["default"].func
|
|
100
|
+
},
|
|
101
|
+
defaultProps: {
|
|
102
|
+
icon: 'arrowsmalldown'
|
|
103
|
+
},
|
|
104
|
+
styles: {
|
|
105
|
+
css: _ActionGuideModule["default"],
|
|
106
|
+
className: 'actionGuide',
|
|
107
|
+
publicClassNames: ['actionGuide']
|
|
108
|
+
},
|
|
109
|
+
render: function render(_ref) {
|
|
110
|
+
var buttonAriaLabel = _ref.buttonAriaLabel,
|
|
111
|
+
children = _ref.children,
|
|
112
|
+
css = _ref.css,
|
|
113
|
+
disabled = _ref.disabled,
|
|
114
|
+
icon = _ref.icon,
|
|
115
|
+
onClick = _ref.onClick,
|
|
116
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
117
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({}, rest), {}, {
|
|
118
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], {
|
|
119
|
+
"aria-label": buttonAriaLabel ? buttonAriaLabel : (0, _$L["default"])('More'),
|
|
120
|
+
css: css,
|
|
121
|
+
className: css.icon,
|
|
122
|
+
disabled: disabled,
|
|
123
|
+
icon: icon,
|
|
124
|
+
minWidth: false,
|
|
125
|
+
onClick: onClick
|
|
126
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Marquee.Marquee, {
|
|
127
|
+
className: css.label,
|
|
128
|
+
marqueeOn: "render",
|
|
129
|
+
alignment: "center",
|
|
130
|
+
children: children
|
|
131
|
+
})]
|
|
132
|
+
}));
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Applies Limestone specific behaviors to {@link limestone/ActionGuide.ActionGuideBase|ActionGuide}.
|
|
138
|
+
*
|
|
139
|
+
* @hoc
|
|
140
|
+
* @memberof limestone/ActionGuide
|
|
141
|
+
* @mixes limestone/Skinnable.Skinnable
|
|
142
|
+
* @public
|
|
143
|
+
*/
|
|
144
|
+
var ActionGuideDecorator = exports.ActionGuideDecorator = (0, _compose["default"])(_Pure["default"], _Skinnable["default"]);
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* An Action Guide component, ready to use in Limestone applications.
|
|
148
|
+
*
|
|
149
|
+
* `ActionGuide` may be used to display text and icon to describe an action.
|
|
150
|
+
*
|
|
151
|
+
* Usage:
|
|
152
|
+
* ```
|
|
153
|
+
* <ActionGuide icon="arrowlargedown">Hello</ActionGuide>
|
|
154
|
+
* ```
|
|
155
|
+
*
|
|
156
|
+
* @class ActionGuide
|
|
157
|
+
* @memberof limestone/ActionGuide
|
|
158
|
+
* @extends limestone/ActionGuide.ActionGuideBase
|
|
159
|
+
* @mixes limestone/ActionGuide.ActionGuideDecorator
|
|
160
|
+
* @ui
|
|
161
|
+
* @public
|
|
162
|
+
*/
|
|
163
|
+
var ActionGuide = exports.ActionGuide = ActionGuideDecorator(ActionGuideBase);
|
|
164
|
+
var _default = exports["default"] = ActionGuide;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
.actionGuide {
|
|
2
|
+
text-align: center;
|
|
3
|
+
max-width: 31.25rem;
|
|
4
|
+
margin: 0 auto;
|
|
5
|
+
line-height: 0;
|
|
6
|
+
padding: var(--primitive-spacing-12) 0 var(--primitive-spacing-36) 0;
|
|
7
|
+
}
|
|
8
|
+
.actionGuide .button {
|
|
9
|
+
margin: 0 0 -0.25rem 0;
|
|
10
|
+
height: 1.75rem;
|
|
11
|
+
min-width: 1.75rem;
|
|
12
|
+
width: 1.75rem;
|
|
13
|
+
}
|
|
14
|
+
.actionGuide .label {
|
|
15
|
+
font-family: "Limestone";
|
|
16
|
+
font-size: var(--primitive-font-size-48);
|
|
17
|
+
font-weight: var(--primitive-font-weight-regular);
|
|
18
|
+
height: 1.25rem;
|
|
19
|
+
line-height: 1.25rem;
|
|
20
|
+
}
|
|
21
|
+
:global(.enact-locale-non-latin) .actionGuide .label {
|
|
22
|
+
font-family: "Limestone";
|
|
23
|
+
font-size: var(--primitive-font-size-48);
|
|
24
|
+
}
|
|
25
|
+
.actionGuide:global(.neutral) .icon .icon {
|
|
26
|
+
color: var(--semantic-color-on-background-actionguide);
|
|
27
|
+
}
|
|
28
|
+
.actionGuide:global(.neutral) .label {
|
|
29
|
+
color: var(--semantic-color-on-background-actionguide);
|
|
30
|
+
}
|
|
31
|
+
:global(.enact-a11y-high-contrast) .actionGuide:global(.neutral):global(.highContrast) .icon .icon {
|
|
32
|
+
color: var(--semantic-color-on-background-actionguide);
|
|
33
|
+
}
|
|
34
|
+
:global(.enact-a11y-high-contrast) .actionGuide:global(.neutral):global(.highContrast) .label {
|
|
35
|
+
color: var(--semantic-color-on-background-actionguide);
|
|
36
|
+
}
|
|
37
|
+
.actionGuide:global(.light) .icon .icon {
|
|
38
|
+
color: var(--semantic-color-on-background-actionguide);
|
|
39
|
+
}
|
|
40
|
+
.actionGuide:global(.light) .label {
|
|
41
|
+
color: var(--semantic-color-on-background-actionguide);
|
|
42
|
+
}
|
|
43
|
+
.actionGuide:global(.game) {
|
|
44
|
+
--semantic-color-surface-default: #2d224c;
|
|
45
|
+
--semantic-color-surface-default-focused: #6d2fa1;
|
|
46
|
+
--semantic-color-on-surface-main-focused: #e6e6e6;
|
|
47
|
+
}
|
|
48
|
+
.actionGuide:global(.game) .icon .icon {
|
|
49
|
+
color: var(--semantic-color-on-background-actionguide);
|
|
50
|
+
}
|
|
51
|
+
.actionGuide:global(.game) .label {
|
|
52
|
+
color: var(--semantic-color-on-background-actionguide);
|
|
53
|
+
}
|
|
54
|
+
:global(.green) .actionGuide:global(.game) {
|
|
55
|
+
--semantic-color-surface-default: #1F2C24;
|
|
56
|
+
--semantic-color-surface-default-focused: #3ea07d;
|
|
57
|
+
}
|
|
58
|
+
:global(.green) .actionGuide:global(.game) .icon .icon {
|
|
59
|
+
color: var(--semantic-color-on-background-actionguide);
|
|
60
|
+
}
|
|
61
|
+
:global(.green) .actionGuide:global(.game) .label {
|
|
62
|
+
color: var(--semantic-color-on-background-actionguide);
|
|
63
|
+
}
|
|
64
|
+
:global(.orange) .actionGuide:global(.game) {
|
|
65
|
+
--semantic-color-surface-default: #422923;
|
|
66
|
+
--semantic-color-surface-default-focused: #b85f23;
|
|
67
|
+
}
|
|
68
|
+
:global(.orange) .actionGuide:global(.game) .icon .icon {
|
|
69
|
+
color: var(--semantic-color-on-background-actionguide);
|
|
70
|
+
}
|
|
71
|
+
:global(.orange) .actionGuide:global(.game) .label {
|
|
72
|
+
color: var(--semantic-color-on-background-actionguide);
|
|
73
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("@testing-library/jest-dom");
|
|
4
|
+
var _react = require("@testing-library/react");
|
|
5
|
+
var _ActionGuide = require("../ActionGuide");
|
|
6
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
7
|
+
describe('ActionGuide', function () {
|
|
8
|
+
test('should render `icon`', function () {
|
|
9
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_ActionGuide.ActionGuideBase, {
|
|
10
|
+
"data-testid": "actionGuide",
|
|
11
|
+
icon: "star"
|
|
12
|
+
}));
|
|
13
|
+
var expected = 983080; // decimal converted charCode of Unicode 'star' character
|
|
14
|
+
var actual = _react.screen.getByTestId('actionGuide').children.item(0).textContent.codePointAt();
|
|
15
|
+
expect(actual).toBe(expected);
|
|
16
|
+
});
|
|
17
|
+
test('should render `children`', function () {
|
|
18
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_ActionGuide.ActionGuideBase, {
|
|
19
|
+
"data-testid": "actionGuide",
|
|
20
|
+
children: "content"
|
|
21
|
+
}));
|
|
22
|
+
var actual = _react.screen.getByText('content');
|
|
23
|
+
expect(actual).toBeInTheDocument();
|
|
24
|
+
});
|
|
25
|
+
test('should set "buttonAriaLabel" to action guide', function () {
|
|
26
|
+
var label = 'custom aria-label';
|
|
27
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_ActionGuide.ActionGuideBase, {
|
|
28
|
+
"data-testid": "actionGuide",
|
|
29
|
+
buttonAriaLabel: label
|
|
30
|
+
}));
|
|
31
|
+
var actual = _react.screen.getByRole('button', {
|
|
32
|
+
name: label
|
|
33
|
+
});
|
|
34
|
+
expect(actual).toBeInTheDocument();
|
|
35
|
+
});
|
|
36
|
+
describe('CSS override', function () {
|
|
37
|
+
test('should allow `actionGuide` to be augmented', function () {
|
|
38
|
+
var css = {
|
|
39
|
+
actionGuide: 'test-action-guide'
|
|
40
|
+
};
|
|
41
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_ActionGuide.ActionGuideBase, {
|
|
42
|
+
"data-testid": "actionGuide",
|
|
43
|
+
css: css,
|
|
44
|
+
children: "content"
|
|
45
|
+
}));
|
|
46
|
+
var expected = css.actionGuide;
|
|
47
|
+
var actual = _react.screen.getByTestId('actionGuide');
|
|
48
|
+
expect(actual).toHaveClass(expected);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
});
|
package/Alert/Alert.d.ts
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
// Type definitions for limestone/Alert
|
|
2
|
+
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { SlottableProps as ui_Slottable_SlottableProps } from "@enact/ui/Slottable";
|
|
5
|
+
|
|
6
|
+
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
|
|
7
|
+
type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
|
|
8
|
+
|
|
9
|
+
export interface AlertImageProps {
|
|
10
|
+
/**
|
|
11
|
+
* String value or Object of values used to determine which image will appear for
|
|
12
|
+
a specific component size.
|
|
13
|
+
*/
|
|
14
|
+
src: string | object;
|
|
15
|
+
/**
|
|
16
|
+
* Type of image to appear in the alert component. There are two types:
|
|
17
|
+
* * `icon` - A small square sized image type
|
|
18
|
+
* * `thumbnail` - A common image type
|
|
19
|
+
*/
|
|
20
|
+
type: "icon" | "thumbnail";
|
|
21
|
+
/**
|
|
22
|
+
* Size of the image when `type` is set to `icon` .
|
|
23
|
+
*/
|
|
24
|
+
iconSize?: "small" | "large";
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* An image for use in an Alert.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
export class AlertImage extends React.Component<
|
|
31
|
+
Merge<React.HTMLProps<HTMLElement>, AlertImageProps>
|
|
32
|
+
> {}
|
|
33
|
+
|
|
34
|
+
export interface AlertBaseProps {
|
|
35
|
+
/**
|
|
36
|
+
* Buttons to be included under the component.
|
|
37
|
+
*
|
|
38
|
+
* Typically, up to 3 buttons are used.
|
|
39
|
+
*/
|
|
40
|
+
buttons?: JSX.Element | JSX.Element[];
|
|
41
|
+
/**
|
|
42
|
+
* The contents of the body of the component.
|
|
43
|
+
*
|
|
44
|
+
* Only shown when `type="overlay"` . If `children` is text-only, it will be wrapped with
|
|
45
|
+
.
|
|
46
|
+
*/
|
|
47
|
+
children?: React.ReactNode;
|
|
48
|
+
/**
|
|
49
|
+
* Customizes the component by mapping the supplied collection of CSS class names to the
|
|
50
|
+
corresponding internal elements and states of this component.
|
|
51
|
+
*
|
|
52
|
+
* The following classes are supported:
|
|
53
|
+
* * `alert` - The root class name
|
|
54
|
+
* * `content` - The content component class
|
|
55
|
+
* * `fullscreen` - Applied to a `type='fullscreen'` alert
|
|
56
|
+
* * `overlay` - Applied to a `type='overlay'` alert
|
|
57
|
+
* * `title` - The title component class
|
|
58
|
+
*/
|
|
59
|
+
css?: object;
|
|
60
|
+
/**
|
|
61
|
+
* Image to be included in the Alert component.
|
|
62
|
+
*
|
|
63
|
+
* It is recommended to use the `AlertImage` component.
|
|
64
|
+
*/
|
|
65
|
+
image?: JSX.Element;
|
|
66
|
+
/**
|
|
67
|
+
* Called when the user requests to close the Alert.
|
|
68
|
+
*
|
|
69
|
+
* This also includes pressing the cancel key.
|
|
70
|
+
*/
|
|
71
|
+
onClose?: Function;
|
|
72
|
+
/**
|
|
73
|
+
* Called after the transition to hide the Alert has finished.
|
|
74
|
+
*/
|
|
75
|
+
onHide?: Function;
|
|
76
|
+
/**
|
|
77
|
+
* Opens the Alert.
|
|
78
|
+
*/
|
|
79
|
+
open?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Position of the Alert when type= `overlay` .
|
|
82
|
+
*
|
|
83
|
+
* There are five types:
|
|
84
|
+
* * `center` - Popup in the center of the screen
|
|
85
|
+
* * `bottom left` - Popup in the bottom left of the screen
|
|
86
|
+
* * `bottom right` - Popup in the bottom right of the screen
|
|
87
|
+
* * `top left` - Popup in the top left of the screen
|
|
88
|
+
* * `top right` - Popup in the top right of the screen
|
|
89
|
+
*/
|
|
90
|
+
overlayPosition?:
|
|
91
|
+
| "bottom left"
|
|
92
|
+
| "bottom right"
|
|
93
|
+
| "center"
|
|
94
|
+
| "top left"
|
|
95
|
+
| "top right";
|
|
96
|
+
/**
|
|
97
|
+
* The primary text displayed.
|
|
98
|
+
*
|
|
99
|
+
* Only shown when `type="fullscreen"` .
|
|
100
|
+
*/
|
|
101
|
+
title?: string;
|
|
102
|
+
/**
|
|
103
|
+
* Type of popup.
|
|
104
|
+
*
|
|
105
|
+
* There are two types:
|
|
106
|
+
* * `fullscreen` - Full screen popup
|
|
107
|
+
* * `overlay` - Popup in the center of the screen
|
|
108
|
+
*/
|
|
109
|
+
type?: "fullscreen" | "overlay";
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* A modal Alert component.
|
|
113
|
+
*
|
|
114
|
+
* This component is most often not used directly but may be composed within another component as it
|
|
115
|
+
is within .
|
|
116
|
+
*/
|
|
117
|
+
|
|
118
|
+
export class AlertBase extends React.Component<
|
|
119
|
+
Merge<React.HTMLProps<HTMLElement>, AlertBaseProps>
|
|
120
|
+
> {}
|
|
121
|
+
|
|
122
|
+
export interface AlertProps
|
|
123
|
+
extends Merge<AlertBaseProps, ui_Slottable_SlottableProps> {}
|
|
124
|
+
/**
|
|
125
|
+
* A modal Alert component, ready to use in Limestone applications.
|
|
126
|
+
*
|
|
127
|
+
* `Alert` may be used to interrupt a workflow to receive feedback from the user.
|
|
128
|
+
The dialog consists of a title, a message, and an area for additional
|
|
129
|
+
.
|
|
130
|
+
*
|
|
131
|
+
* Usage:
|
|
132
|
+
* ```
|
|
133
|
+
<Alert
|
|
134
|
+
open={this.state.open}
|
|
135
|
+
title="An Important Alert"
|
|
136
|
+
>
|
|
137
|
+
<image>
|
|
138
|
+
<AlertImage src={this.state.src} type="thumbnail" />
|
|
139
|
+
</image>
|
|
140
|
+
|
|
141
|
+
Body text for alert. Components may also be used here for greater customizability.
|
|
142
|
+
|
|
143
|
+
<buttons>
|
|
144
|
+
<Button>Button 1</Button>
|
|
145
|
+
<Button>Button 2</Button>
|
|
146
|
+
</buttons>
|
|
147
|
+
</Alert>
|
|
148
|
+
```
|
|
149
|
+
*/
|
|
150
|
+
|
|
151
|
+
export class Alert extends React.Component<
|
|
152
|
+
Merge<React.HTMLProps<HTMLElement>, AlertProps>
|
|
153
|
+
> {}
|
|
154
|
+
|
|
155
|
+
export default Alert;
|