@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,131 @@
|
|
|
1
|
+
// Type definitions for limestone/Button
|
|
2
|
+
|
|
3
|
+
import { TooltipDecoratorProps as limestone_TooltipDecorator_TooltipDecoratorProps } from "limestone/TooltipDecorator";
|
|
4
|
+
import { MarqueeDecoratorProps as limestone_Marquee_MarqueeDecoratorProps } from "limestone/Marquee";
|
|
5
|
+
import { ButtonDecoratorProps as ui_Button_ButtonDecoratorProps } from "@enact/ui/Button";
|
|
6
|
+
import { SpottableProps as spotlight_Spottable_SpottableProps } from "@enact/spotlight/Spottable";
|
|
7
|
+
import { SkinnableProps as limestone_Skinnable_SkinnableProps } from "limestone/Skinnable";
|
|
8
|
+
import { ButtonBaseProps as ui_Button_ButtonBaseProps } from "@enact/ui/Button";
|
|
9
|
+
import * as React from "react";
|
|
10
|
+
|
|
11
|
+
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
|
|
12
|
+
type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
|
|
13
|
+
|
|
14
|
+
export interface ButtonBaseProps extends ui_Button_ButtonBaseProps {
|
|
15
|
+
/**
|
|
16
|
+
* The background opacity of this button.
|
|
17
|
+
*
|
|
18
|
+
* Text buttons and icon+text buttons, by default are opaque, while icon-only buttons
|
|
19
|
+
default to transparent. This value can be overridden by setting this prop.
|
|
20
|
+
*
|
|
21
|
+
* Valid values are: `'opaque'` , and `'transparent'` .
|
|
22
|
+
*/
|
|
23
|
+
backgroundOpacity?: "opaque" | "transparent";
|
|
24
|
+
/**
|
|
25
|
+
* Adds a border to the button.
|
|
26
|
+
*/
|
|
27
|
+
bordered?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Centers the contents.
|
|
30
|
+
*
|
|
31
|
+
* This requires that both the text and are
|
|
32
|
+
defined.
|
|
33
|
+
*
|
|
34
|
+
* Applies the `centered` CSS class.
|
|
35
|
+
*/
|
|
36
|
+
centered?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* The color of the underline beneath button's content.
|
|
39
|
+
*
|
|
40
|
+
* Accepts one of the following color names, which correspond with the colored buttons on a
|
|
41
|
+
standard remote control: `'red'` , `'green'` , `'yellow'` , `'blue'` .
|
|
42
|
+
*/
|
|
43
|
+
color?: "red" | "green" | "yellow" | "blue";
|
|
44
|
+
/**
|
|
45
|
+
* Customizes the component by mapping the supplied collection of CSS class names to the
|
|
46
|
+
corresponding internal elements and states of this component.
|
|
47
|
+
*
|
|
48
|
+
* The following classes are supported:
|
|
49
|
+
* * `button` - The root class name
|
|
50
|
+
* * `bg` - The background node of the button
|
|
51
|
+
* * `large` - Applied to a `size='large'` button
|
|
52
|
+
* * `selected` - Applied to a `selected` button
|
|
53
|
+
* * `small` - Applied to a `size='small'` button
|
|
54
|
+
*/
|
|
55
|
+
css?: object;
|
|
56
|
+
/**
|
|
57
|
+
* Specifies on which side ( `'before'` or `'after'` ) of the text the icon appears.
|
|
58
|
+
*/
|
|
59
|
+
iconPosition?: "before" | "after";
|
|
60
|
+
/**
|
|
61
|
+
* Boolean controlling whether this component should enforce the "minimum width" rules.
|
|
62
|
+
*
|
|
63
|
+
* _NOTE_ : If you don't specify this prop, it works as `false` for icon only Button
|
|
64
|
+
and as `true` for other Buttons.
|
|
65
|
+
*/
|
|
66
|
+
minWidth?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* True if both sides of button are fully rounded.
|
|
69
|
+
*/
|
|
70
|
+
roundBorder?: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Adds shadow to the text.
|
|
73
|
+
It is only applied when the background opacity of the button is `transparent` .
|
|
74
|
+
*/
|
|
75
|
+
shadowed?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* The size of the button.
|
|
78
|
+
*/
|
|
79
|
+
size?: "large" | "small";
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* A button component.
|
|
83
|
+
*
|
|
84
|
+
* This component is most often not used directly but may be composed within another component as it
|
|
85
|
+
is within .
|
|
86
|
+
*/
|
|
87
|
+
|
|
88
|
+
export class ButtonBase extends React.Component<
|
|
89
|
+
Merge<React.HTMLProps<HTMLElement>, ButtonBaseProps>
|
|
90
|
+
> {}
|
|
91
|
+
|
|
92
|
+
export interface ButtonDecoratorProps
|
|
93
|
+
extends Merge<
|
|
94
|
+
Merge<
|
|
95
|
+
Merge<
|
|
96
|
+
Merge<
|
|
97
|
+
limestone_TooltipDecorator_TooltipDecoratorProps,
|
|
98
|
+
limestone_Marquee_MarqueeDecoratorProps
|
|
99
|
+
>,
|
|
100
|
+
ui_Button_ButtonDecoratorProps
|
|
101
|
+
>,
|
|
102
|
+
spotlight_Spottable_SpottableProps
|
|
103
|
+
>,
|
|
104
|
+
limestone_Skinnable_SkinnableProps
|
|
105
|
+
> {}
|
|
106
|
+
export function ButtonDecorator<P>(
|
|
107
|
+
Component: React.ComponentType<P> | string,
|
|
108
|
+
): React.ComponentType<P & ButtonDecoratorProps>;
|
|
109
|
+
|
|
110
|
+
export interface ButtonProps
|
|
111
|
+
extends Merge<ButtonBaseProps, ButtonDecoratorProps> {}
|
|
112
|
+
/**
|
|
113
|
+
* A button component, ready to use in Limestone applications.
|
|
114
|
+
*
|
|
115
|
+
* Usage:
|
|
116
|
+
* ```
|
|
117
|
+
<Button
|
|
118
|
+
backgroundOpacity="transparent"
|
|
119
|
+
size="small"
|
|
120
|
+
icon="home"
|
|
121
|
+
>
|
|
122
|
+
Press me!
|
|
123
|
+
</Button>
|
|
124
|
+
```
|
|
125
|
+
*/
|
|
126
|
+
|
|
127
|
+
export class Button extends React.Component<
|
|
128
|
+
Merge<React.HTMLProps<HTMLElement>, ButtonProps>
|
|
129
|
+
> {}
|
|
130
|
+
|
|
131
|
+
export default Button;
|
package/Button/Button.js
ADDED
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.ButtonDecorator = exports.ButtonBase = exports.Button = void 0;
|
|
7
|
+
var _hoc = _interopRequireDefault(require("@enact/core/hoc"));
|
|
8
|
+
var _kind = _interopRequireDefault(require("@enact/core/kind"));
|
|
9
|
+
var _util = require("@enact/core/util");
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("@enact/core/internal/prop-types"));
|
|
11
|
+
var _Spottable = _interopRequireDefault(require("@enact/spotlight/Spottable"));
|
|
12
|
+
var _Button = require("@enact/ui/Button");
|
|
13
|
+
var _Pure = _interopRequireDefault(require("@enact/ui/internal/Pure"));
|
|
14
|
+
var _propTypes2 = _interopRequireDefault(require("prop-types"));
|
|
15
|
+
var _compose = _interopRequireDefault(require("ramda/src/compose"));
|
|
16
|
+
var _react = require("react");
|
|
17
|
+
var _Icon = _interopRequireDefault(require("../Icon"));
|
|
18
|
+
var _Marquee = require("../Marquee");
|
|
19
|
+
var _Skinnable = _interopRequireDefault(require("../Skinnable"));
|
|
20
|
+
var _TooltipDecorator = _interopRequireDefault(require("../TooltipDecorator"));
|
|
21
|
+
var _ButtonModule = _interopRequireDefault(require("./Button.module.css"));
|
|
22
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
+
var _excluded = ["css"];
|
|
24
|
+
/**
|
|
25
|
+
* Limestone styled button components and behaviors.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* <Button>Hello Enact!</Button>
|
|
29
|
+
*
|
|
30
|
+
* @module limestone/Button
|
|
31
|
+
* @exports Button
|
|
32
|
+
* @exports ButtonBase
|
|
33
|
+
* @exports ButtonDecorator
|
|
34
|
+
*/
|
|
35
|
+
/**
|
|
36
|
+
* A button component.
|
|
37
|
+
*
|
|
38
|
+
* This component is most often not used directly but may be composed within another component as it
|
|
39
|
+
* is within {@link limestone/Button.Button|Button}.
|
|
40
|
+
*
|
|
41
|
+
* @class ButtonBase
|
|
42
|
+
* @memberof limestone/Button
|
|
43
|
+
* @extends ui/Button.ButtonBase
|
|
44
|
+
* @ui
|
|
45
|
+
* @public
|
|
46
|
+
*/
|
|
47
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
48
|
+
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; }
|
|
49
|
+
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; }
|
|
50
|
+
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; }
|
|
51
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
52
|
+
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); }
|
|
53
|
+
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; }
|
|
54
|
+
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; }
|
|
55
|
+
var ButtonBase = exports.ButtonBase = (0, _kind["default"])({
|
|
56
|
+
name: 'Button',
|
|
57
|
+
propTypes: /** @lends limestone/Button.ButtonBase.prototype */{
|
|
58
|
+
/**
|
|
59
|
+
* The background opacity of this button.
|
|
60
|
+
*
|
|
61
|
+
* Text buttons and icon+text buttons, by default are opaque, while icon-only buttons
|
|
62
|
+
* default to transparent. This value can be overridden by setting this prop.
|
|
63
|
+
*
|
|
64
|
+
* Valid values are: `'opaque'`, and `'transparent'`.
|
|
65
|
+
*
|
|
66
|
+
* @type {('opaque'|'transparent')}
|
|
67
|
+
* @default 'opaque'
|
|
68
|
+
* @public
|
|
69
|
+
*/
|
|
70
|
+
backgroundOpacity: _propTypes2["default"].oneOf(['opaque', 'transparent']),
|
|
71
|
+
/**
|
|
72
|
+
* Adds a border to the button.
|
|
73
|
+
*
|
|
74
|
+
* @type {Boolean}
|
|
75
|
+
* @public
|
|
76
|
+
*/
|
|
77
|
+
bordered: _propTypes2["default"].bool,
|
|
78
|
+
/**
|
|
79
|
+
* Centers the contents.
|
|
80
|
+
*
|
|
81
|
+
* This requires that both the text and {@link ui/Button.ButtonBase.icon|icon} are
|
|
82
|
+
* defined.
|
|
83
|
+
*
|
|
84
|
+
* Applies the `centered` CSS class.
|
|
85
|
+
*
|
|
86
|
+
* @type {Boolean}
|
|
87
|
+
* @public
|
|
88
|
+
*/
|
|
89
|
+
centered: _propTypes2["default"].bool,
|
|
90
|
+
/**
|
|
91
|
+
* Enables the `collapsed` feature.
|
|
92
|
+
*
|
|
93
|
+
* This requires that both the text and {@link ui/Button.ButtonBase.icon|icon} are
|
|
94
|
+
* defined.
|
|
95
|
+
*
|
|
96
|
+
* Use {@link limestone/Button.ButtonBase.collapsed|collapsed} to toggle the collapsed state.
|
|
97
|
+
*
|
|
98
|
+
* @type {Boolean}
|
|
99
|
+
* @default false
|
|
100
|
+
* @see {@link limestone/Button.ButtonBase.collapsed}
|
|
101
|
+
* @private
|
|
102
|
+
*/
|
|
103
|
+
collapsable: _propTypes2["default"].bool,
|
|
104
|
+
/**
|
|
105
|
+
* Toggles the collapsed state of this button, down to just its icon.
|
|
106
|
+
*
|
|
107
|
+
* This requires that {@link limestone/Button.ButtonBase.collapsable|collapsable} is enabled
|
|
108
|
+
* and both the text and {@link ui/Button.ButtonBase.icon|icon} are defined.
|
|
109
|
+
*
|
|
110
|
+
* @type {Boolean}
|
|
111
|
+
* @default false
|
|
112
|
+
* @see {@link limestone/Button.ButtonBase.collapsable}
|
|
113
|
+
* @private
|
|
114
|
+
*/
|
|
115
|
+
collapsed: _propTypes2["default"].bool,
|
|
116
|
+
/**
|
|
117
|
+
* The color of the underline beneath button's content.
|
|
118
|
+
*
|
|
119
|
+
* Accepts one of the following color names, which correspond with the colored buttons on a
|
|
120
|
+
* standard remote control: `'red'`, `'green'`, `'yellow'`, `'blue'`.
|
|
121
|
+
*
|
|
122
|
+
* @type {('red'|'green'|'yellow'|'blue')}
|
|
123
|
+
* @public
|
|
124
|
+
*/
|
|
125
|
+
color: _propTypes2["default"].oneOf(['red', 'green', 'yellow', 'blue']),
|
|
126
|
+
/**
|
|
127
|
+
* Customizes the component by mapping the supplied collection of CSS class names to the
|
|
128
|
+
* corresponding internal elements and states of this component.
|
|
129
|
+
*
|
|
130
|
+
* The following classes are supported:
|
|
131
|
+
*
|
|
132
|
+
* * `button` - The root class name
|
|
133
|
+
* * `bg` - The background node of the button
|
|
134
|
+
* * `large` - Applied to a `size='large'` button
|
|
135
|
+
* * `selected` - Applied to a `selected` button
|
|
136
|
+
* * `small` - Applied to a `size='small'` button
|
|
137
|
+
*
|
|
138
|
+
* @type {Object}
|
|
139
|
+
* @public
|
|
140
|
+
*/
|
|
141
|
+
// `client` was intentionally excluded from the above documented exported classes as they do
|
|
142
|
+
// not appear to provide value to the end-developer, but are needed by PopupTabLayout
|
|
143
|
+
// internally for its design guidelines. Same for `pressed` which is used by Dropdown to
|
|
144
|
+
// nullify the key-press activate animation.
|
|
145
|
+
css: _propTypes2["default"].object,
|
|
146
|
+
/**
|
|
147
|
+
* Set the visual effect applied to the button when focused.
|
|
148
|
+
*
|
|
149
|
+
* @type {('expand'|'static')}
|
|
150
|
+
* @default 'expand'
|
|
151
|
+
* @private
|
|
152
|
+
*/
|
|
153
|
+
focusEffect: _propTypes2["default"].oneOf(['expand', 'static']),
|
|
154
|
+
/**
|
|
155
|
+
* The component used to render the {@link limestone/Button.ButtonBase.icon|icon}.
|
|
156
|
+
*
|
|
157
|
+
* This component will receive the `icon` class to customize its styling.
|
|
158
|
+
*
|
|
159
|
+
* @type {Component|Node}
|
|
160
|
+
* @private
|
|
161
|
+
*/
|
|
162
|
+
iconComponent: _propTypes["default"].componentOverride,
|
|
163
|
+
/**
|
|
164
|
+
* True if button is an icon only button.
|
|
165
|
+
*
|
|
166
|
+
* @type {Boolean}
|
|
167
|
+
* @default false
|
|
168
|
+
* @private
|
|
169
|
+
*/
|
|
170
|
+
iconOnly: _propTypes2["default"].bool,
|
|
171
|
+
/**
|
|
172
|
+
* Specifies on which side (`'before'` or `'after'`) of the text the icon appears.
|
|
173
|
+
*
|
|
174
|
+
* @type {('before'|'after')}
|
|
175
|
+
* @default 'before'
|
|
176
|
+
* @public
|
|
177
|
+
*/
|
|
178
|
+
iconPosition: _propTypes2["default"].oneOf(['before', 'after']),
|
|
179
|
+
/**
|
|
180
|
+
* Boolean controlling whether this component should enforce the "minimum width" rules.
|
|
181
|
+
*
|
|
182
|
+
* *NOTE*: If you don't specify this prop, it works as `false` for icon only Button
|
|
183
|
+
* and as `true` for other Buttons.
|
|
184
|
+
*
|
|
185
|
+
* @type {Boolean}
|
|
186
|
+
* @public
|
|
187
|
+
*/
|
|
188
|
+
minWidth: _propTypes2["default"].bool,
|
|
189
|
+
/**
|
|
190
|
+
* True if both sides of button are fully rounded.
|
|
191
|
+
*
|
|
192
|
+
* @type {Boolean}
|
|
193
|
+
* @public
|
|
194
|
+
*/
|
|
195
|
+
roundBorder: _propTypes2["default"].bool,
|
|
196
|
+
/**
|
|
197
|
+
* Adds shadow to the text.
|
|
198
|
+
* It is only applied when the background opacity of the button is `transparent`.
|
|
199
|
+
*
|
|
200
|
+
* @type {Boolean}
|
|
201
|
+
* @public
|
|
202
|
+
*/
|
|
203
|
+
shadowed: _propTypes2["default"].bool,
|
|
204
|
+
/**
|
|
205
|
+
* The size of the button.
|
|
206
|
+
*
|
|
207
|
+
* @type {('large'|'small')}
|
|
208
|
+
* @default 'large'
|
|
209
|
+
* @public
|
|
210
|
+
*/
|
|
211
|
+
size: _propTypes2["default"].oneOf(['large', 'small'])
|
|
212
|
+
},
|
|
213
|
+
defaultProps: {
|
|
214
|
+
backgroundOpacity: null,
|
|
215
|
+
collapsable: false,
|
|
216
|
+
collapsed: false,
|
|
217
|
+
focusEffect: 'expand',
|
|
218
|
+
iconComponent: _Icon["default"],
|
|
219
|
+
iconOnly: false,
|
|
220
|
+
iconPosition: 'before',
|
|
221
|
+
roundBorder: false,
|
|
222
|
+
size: 'large'
|
|
223
|
+
},
|
|
224
|
+
styles: {
|
|
225
|
+
css: _ButtonModule["default"],
|
|
226
|
+
publicClassNames: ['button', 'bg', 'client', 'hasIcon', 'icon', 'iconAfter', 'iconBefore', 'large', 'pressed', 'selected', 'small']
|
|
227
|
+
},
|
|
228
|
+
computed: {
|
|
229
|
+
className: function className(_ref) {
|
|
230
|
+
var backgroundOpacity = _ref.backgroundOpacity,
|
|
231
|
+
bordered = _ref.bordered,
|
|
232
|
+
centered = _ref.centered,
|
|
233
|
+
collapsable = _ref.collapsable,
|
|
234
|
+
collapsed = _ref.collapsed,
|
|
235
|
+
color = _ref.color,
|
|
236
|
+
focusEffect = _ref.focusEffect,
|
|
237
|
+
iconOnly = _ref.iconOnly,
|
|
238
|
+
iconPosition = _ref.iconPosition,
|
|
239
|
+
roundBorder = _ref.roundBorder,
|
|
240
|
+
shadowed = _ref.shadowed,
|
|
241
|
+
size = _ref.size,
|
|
242
|
+
styler = _ref.styler;
|
|
243
|
+
return styler.append({
|
|
244
|
+
bordered: bordered,
|
|
245
|
+
centered: centered,
|
|
246
|
+
collapsable: collapsable,
|
|
247
|
+
collapsed: collapsed,
|
|
248
|
+
hasColor: color,
|
|
249
|
+
iconOnly: iconOnly,
|
|
250
|
+
roundBorder: roundBorder,
|
|
251
|
+
shadowed: shadowed && (backgroundOpacity ? backgroundOpacity === 'transparent' : iconOnly)
|
|
252
|
+
}, backgroundOpacity || (iconOnly ? 'transparent' : 'opaque'),
|
|
253
|
+
// Defaults to opaque, unless otherwise specified
|
|
254
|
+
color, "focus".concat((0, _util.cap)(focusEffect)),
|
|
255
|
+
// iconBefore/iconAfter only applies when using text and an icon
|
|
256
|
+
!iconOnly && "icon".concat((0, _util.cap)(iconPosition)), size);
|
|
257
|
+
},
|
|
258
|
+
minWidth: function minWidth(_ref2) {
|
|
259
|
+
var iconOnly = _ref2.iconOnly,
|
|
260
|
+
_minWidth = _ref2.minWidth;
|
|
261
|
+
return _minWidth != null ? _minWidth : !iconOnly;
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
render: function render(_ref3) {
|
|
265
|
+
var css = _ref3.css,
|
|
266
|
+
rest = _objectWithoutProperties(_ref3, _excluded);
|
|
267
|
+
delete rest.backgroundOpacity;
|
|
268
|
+
delete rest.bordered;
|
|
269
|
+
delete rest.centered;
|
|
270
|
+
delete rest.color;
|
|
271
|
+
delete rest.collapsable;
|
|
272
|
+
delete rest.collapsed;
|
|
273
|
+
delete rest.focusEffect;
|
|
274
|
+
delete rest.iconOnly;
|
|
275
|
+
delete rest.iconPosition;
|
|
276
|
+
delete rest.roundBorder;
|
|
277
|
+
delete rest.shadowed;
|
|
278
|
+
return _Button.ButtonBase.inline(_objectSpread(_objectSpread({
|
|
279
|
+
'data-webos-voice-intent': 'Select'
|
|
280
|
+
}, rest), {}, {
|
|
281
|
+
css: css
|
|
282
|
+
}));
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
|
|
286
|
+
/**
|
|
287
|
+
* A higher-order component that determines if it is a button that only displays an icon.
|
|
288
|
+
*
|
|
289
|
+
* @class IconButtonDecorator
|
|
290
|
+
* @memberof limestone/Button
|
|
291
|
+
* @hoc
|
|
292
|
+
* @private
|
|
293
|
+
*/
|
|
294
|
+
var IconButtonDecorator = (0, _hoc["default"])(function (config, Wrapped) {
|
|
295
|
+
return (0, _kind["default"])({
|
|
296
|
+
name: 'IconButtonDecorator',
|
|
297
|
+
computed: {
|
|
298
|
+
iconOnly: function iconOnly(_ref4) {
|
|
299
|
+
var children = _ref4.children;
|
|
300
|
+
return _react.Children.toArray(children).filter(Boolean).length === 0;
|
|
301
|
+
}
|
|
302
|
+
},
|
|
303
|
+
render: function render(props) {
|
|
304
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapped, _objectSpread({}, props));
|
|
305
|
+
}
|
|
306
|
+
});
|
|
307
|
+
});
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* Applies Limestone specific behaviors to {@link limestone/Button.ButtonBase|Button} components.
|
|
311
|
+
*
|
|
312
|
+
* @hoc
|
|
313
|
+
* @memberof limestone/Button
|
|
314
|
+
* @mixes limestone/TooltipDecorator.TooltipDecorator
|
|
315
|
+
* @mixes limestone/Marquee.MarqueeDecorator
|
|
316
|
+
* @mixes ui/Button.ButtonDecorator
|
|
317
|
+
* @mixes spotlight/Spottable.Spottable
|
|
318
|
+
* @mixes limestone/Skinnable.Skinnable
|
|
319
|
+
* @public
|
|
320
|
+
*/
|
|
321
|
+
var ButtonDecorator = exports.ButtonDecorator = (0, _compose["default"])(_Button.ButtonDecorator, _Pure["default"], IconButtonDecorator, (0, _TooltipDecorator["default"])({
|
|
322
|
+
tooltipDestinationProp: 'decoration'
|
|
323
|
+
}),
|
|
324
|
+
// Future note: This should eventually be conditionally applied via hooks (after refactoring)
|
|
325
|
+
(0, _Marquee.MarqueeDecorator)({
|
|
326
|
+
css: _ButtonModule["default"]
|
|
327
|
+
}), _Spottable["default"], _Skinnable["default"]);
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* A button component, ready to use in Limestone applications.
|
|
331
|
+
*
|
|
332
|
+
* Usage:
|
|
333
|
+
* ```
|
|
334
|
+
* <Button
|
|
335
|
+
* backgroundOpacity="transparent"
|
|
336
|
+
* size="small"
|
|
337
|
+
* icon="home"
|
|
338
|
+
* >
|
|
339
|
+
* Press me!
|
|
340
|
+
* </Button>
|
|
341
|
+
* ```
|
|
342
|
+
*
|
|
343
|
+
* @class Button
|
|
344
|
+
* @memberof limestone/Button
|
|
345
|
+
* @extends limestone/Button.ButtonBase
|
|
346
|
+
* @mixes limestone/Button.ButtonDecorator
|
|
347
|
+
* @ui
|
|
348
|
+
* @public
|
|
349
|
+
*/
|
|
350
|
+
var Button = exports.Button = ButtonDecorator(ButtonBase);
|
|
351
|
+
var _default = exports["default"] = Button;
|