@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
package/Input/index.d.ts
ADDED
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
// Type definitions for limestone/Input
|
|
2
|
+
|
|
3
|
+
import { ChangeableProps as ui_Changeable_ChangeableProps } from "@enact/ui/Changeable";
|
|
4
|
+
import { SkinnableProps as limestone_Skinnable_SkinnableProps } from "limestone/Skinnable";
|
|
5
|
+
import { ToggleableProps as ui_Toggleable_ToggleableProps } from "@enact/ui/Toggleable";
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
import { SpottableProps as spotlight_Spottable_SpottableProps } from "@enact/spotlight/Spottable";
|
|
8
|
+
|
|
9
|
+
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
|
|
10
|
+
type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
|
|
11
|
+
|
|
12
|
+
export interface InputFieldBaseProps {
|
|
13
|
+
/**
|
|
14
|
+
* Passed by AnnounceDecorator for accessibility.
|
|
15
|
+
*/
|
|
16
|
+
announce?: Function;
|
|
17
|
+
/**
|
|
18
|
+
* Disables InputField and becomes non-interactive.
|
|
19
|
+
*/
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Blurs the input when the "enter" key is pressed.
|
|
23
|
+
*/
|
|
24
|
+
dismissOnEnter?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* The icon to be placed at the end of the input.
|
|
27
|
+
*/
|
|
28
|
+
iconAfter?: string;
|
|
29
|
+
/**
|
|
30
|
+
* The icon to be placed at the beginning of the input.
|
|
31
|
+
*/
|
|
32
|
+
iconBefore?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Indicates is invalid and shows
|
|
35
|
+
, if set.
|
|
36
|
+
*/
|
|
37
|
+
invalid?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* The tooltip text to be displayed when the input is
|
|
40
|
+
.
|
|
41
|
+
*
|
|
42
|
+
* If this value is _falsy_ , the tooltip will be shown with the default message.
|
|
43
|
+
*/
|
|
44
|
+
invalidMessage?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Called before the input value is changed.
|
|
47
|
+
*
|
|
48
|
+
* The change can be prevented by calling `preventDefault` on the event.
|
|
49
|
+
*/
|
|
50
|
+
onBeforeChange?: Function;
|
|
51
|
+
/**
|
|
52
|
+
* Called when blurred.
|
|
53
|
+
*/
|
|
54
|
+
onBlur?: Function;
|
|
55
|
+
/**
|
|
56
|
+
* Called when the input value is changed.
|
|
57
|
+
*
|
|
58
|
+
* The event payload includes the current `value` as well as a `stopPropagation()` method
|
|
59
|
+
which may be called to stop the original `onChange` event from the `<input>` from
|
|
60
|
+
bubbling.
|
|
61
|
+
*/
|
|
62
|
+
onChange?: Function;
|
|
63
|
+
/**
|
|
64
|
+
* Called when clicked.
|
|
65
|
+
*/
|
|
66
|
+
onClick?: Function;
|
|
67
|
+
/**
|
|
68
|
+
* Called when focused.
|
|
69
|
+
*/
|
|
70
|
+
onFocus?: Function;
|
|
71
|
+
/**
|
|
72
|
+
* Called when a key is pressed down.
|
|
73
|
+
*/
|
|
74
|
+
onKeyDown?: Function;
|
|
75
|
+
/**
|
|
76
|
+
* Text to display when is not set.
|
|
77
|
+
*/
|
|
78
|
+
placeholder?: string;
|
|
79
|
+
/**
|
|
80
|
+
* The size of the input field.
|
|
81
|
+
*/
|
|
82
|
+
size?: "large" | "small";
|
|
83
|
+
/**
|
|
84
|
+
* The type of input.
|
|
85
|
+
*
|
|
86
|
+
* Accepted values correspond to the standard HTML5 input types.
|
|
87
|
+
*/
|
|
88
|
+
type?: string;
|
|
89
|
+
/**
|
|
90
|
+
* The value of the input.
|
|
91
|
+
*/
|
|
92
|
+
value?: string | number;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* A Limestone styled input component.
|
|
96
|
+
*
|
|
97
|
+
* It supports start and end icons, but it does not support Spotlight. Apps should use
|
|
98
|
+
.
|
|
99
|
+
*/
|
|
100
|
+
|
|
101
|
+
export class InputFieldBase extends React.Component<
|
|
102
|
+
Merge<React.HTMLProps<HTMLElement>, InputFieldBaseProps>
|
|
103
|
+
> {}
|
|
104
|
+
|
|
105
|
+
export interface InputPopupBaseProps {
|
|
106
|
+
/**
|
|
107
|
+
* Passed by AnnounceDecorator for accessibility.
|
|
108
|
+
*/
|
|
109
|
+
announce?: object;
|
|
110
|
+
/**
|
|
111
|
+
* Sets the hint string read when focusing the back button.
|
|
112
|
+
*/
|
|
113
|
+
backButtonAriaLabel?: string;
|
|
114
|
+
/**
|
|
115
|
+
* Buttons to be included under the component.
|
|
116
|
+
*
|
|
117
|
+
* Typically, up to 3 buttons are used.
|
|
118
|
+
*/
|
|
119
|
+
buttons?: JSX.Element | JSX.Element[];
|
|
120
|
+
/**
|
|
121
|
+
* Customize component style
|
|
122
|
+
*/
|
|
123
|
+
css?: object;
|
|
124
|
+
/**
|
|
125
|
+
* Initial value of the input.
|
|
126
|
+
*
|
|
127
|
+
* This value is used for setting the `defaultValue` of the `InputField` .
|
|
128
|
+
*/
|
|
129
|
+
defaultValue?: string | number;
|
|
130
|
+
/**
|
|
131
|
+
* Disables the input popup.
|
|
132
|
+
*/
|
|
133
|
+
disabled?: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Sets spotlightId to InputField.
|
|
136
|
+
*/
|
|
137
|
+
inputFieldSpotlightId?: string;
|
|
138
|
+
/**
|
|
139
|
+
* Indicates the value is invalid and shows
|
|
140
|
+
, if set.
|
|
141
|
+
*/
|
|
142
|
+
invalid?: boolean;
|
|
143
|
+
/**
|
|
144
|
+
* The tooltip text to be displayed when the input is
|
|
145
|
+
.
|
|
146
|
+
*
|
|
147
|
+
* If this value is _falsy_ , the tooltip will be shown with the default message.
|
|
148
|
+
*/
|
|
149
|
+
invalidMessage?: string;
|
|
150
|
+
/**
|
|
151
|
+
* Set the length of number input field.
|
|
152
|
+
*
|
|
153
|
+
* Sets the amount of numbers this field will collect. Any number between 1 and 6
|
|
154
|
+
(inclusive) will render individual number cells, greater than 6 will render a single box
|
|
155
|
+
with numbers in it. This only has an effect on `'number'` and `'passwordnumber'` `type`
|
|
156
|
+
and when `numberInputField` is `'auto'` .
|
|
157
|
+
*
|
|
158
|
+
* This value will override `minLength` and `maxLength` .
|
|
159
|
+
*/
|
|
160
|
+
length?: number;
|
|
161
|
+
/**
|
|
162
|
+
* The maximum length of number input fields.
|
|
163
|
+
*
|
|
164
|
+
* Overridden by `length` value.
|
|
165
|
+
*/
|
|
166
|
+
maxLength?: number;
|
|
167
|
+
/**
|
|
168
|
+
* The minimum length of number input fields.
|
|
169
|
+
*
|
|
170
|
+
* Overridden by `length` value.
|
|
171
|
+
*
|
|
172
|
+
* When smaller than `maxLength` , number type inputs will show a submit button and will not
|
|
173
|
+
auto-submit when the length reaches `maxLength` . Defaults to the `maxLength` value.
|
|
174
|
+
*/
|
|
175
|
+
minLength?: number;
|
|
176
|
+
/**
|
|
177
|
+
* Omits the back button.
|
|
178
|
+
*/
|
|
179
|
+
noBackButton?: boolean;
|
|
180
|
+
/**
|
|
181
|
+
* Omits the submit button.
|
|
182
|
+
*/
|
|
183
|
+
noSubmitButton?: boolean;
|
|
184
|
+
/**
|
|
185
|
+
* The type of numeric input to use.
|
|
186
|
+
*
|
|
187
|
+
* The default is to display separated digits when `length` is less than `7` . If `field` is
|
|
188
|
+
set, a standard `InputField` will be used instead of the normal number input.
|
|
189
|
+
*
|
|
190
|
+
* This has no effect on other .
|
|
191
|
+
*/
|
|
192
|
+
numberInputField?: "auto" | "separated" | "joined" | "field";
|
|
193
|
+
/**
|
|
194
|
+
* Called before the input value is changed.
|
|
195
|
+
*
|
|
196
|
+
* The change can be prevented by calling `preventDefault` on the event.
|
|
197
|
+
*/
|
|
198
|
+
onBeforeChange?: Function;
|
|
199
|
+
/**
|
|
200
|
+
* Called when the input value is changed.
|
|
201
|
+
*/
|
|
202
|
+
onChange?: Function;
|
|
203
|
+
/**
|
|
204
|
+
* Called when the popup is closed.
|
|
205
|
+
*/
|
|
206
|
+
onClose?: Function;
|
|
207
|
+
/**
|
|
208
|
+
* Called when input is complete.
|
|
209
|
+
*/
|
|
210
|
+
onComplete?: Function;
|
|
211
|
+
/**
|
|
212
|
+
* Called when the popup is opened.
|
|
213
|
+
*/
|
|
214
|
+
onOpenPopup?: Function;
|
|
215
|
+
/**
|
|
216
|
+
* Opens the popup.
|
|
217
|
+
*/
|
|
218
|
+
open?: boolean;
|
|
219
|
+
/**
|
|
220
|
+
* Text displayed when value is not set.
|
|
221
|
+
*/
|
|
222
|
+
placeholder?: string;
|
|
223
|
+
/**
|
|
224
|
+
* The "aria-label" for the popup when opened.
|
|
225
|
+
*/
|
|
226
|
+
popupAriaLabel?: string;
|
|
227
|
+
/**
|
|
228
|
+
* Type of popup.
|
|
229
|
+
*/
|
|
230
|
+
popupType?: "fullscreen" | "overlay";
|
|
231
|
+
/**
|
|
232
|
+
* Size of the input field.
|
|
233
|
+
*/
|
|
234
|
+
size?: "large" | "small";
|
|
235
|
+
/**
|
|
236
|
+
* Subtitle below the title of popup.
|
|
237
|
+
*/
|
|
238
|
+
subtitle?: string;
|
|
239
|
+
/**
|
|
240
|
+
* Title text of popup.
|
|
241
|
+
*/
|
|
242
|
+
title?: string;
|
|
243
|
+
/**
|
|
244
|
+
* Type of the input.
|
|
245
|
+
*/
|
|
246
|
+
type?:
|
|
247
|
+
| "text"
|
|
248
|
+
| "password"
|
|
249
|
+
| "number"
|
|
250
|
+
| "passwordnumber"
|
|
251
|
+
| "url"
|
|
252
|
+
| "tel"
|
|
253
|
+
| "passwordtel";
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Base component for providing text input in the form of a popup without button.
|
|
257
|
+
*/
|
|
258
|
+
|
|
259
|
+
export class InputPopupBase extends React.Component<
|
|
260
|
+
Merge<React.HTMLProps<HTMLElement>, InputPopupBaseProps>
|
|
261
|
+
> {}
|
|
262
|
+
|
|
263
|
+
export interface InputFieldDecoratorProps
|
|
264
|
+
extends Merge<
|
|
265
|
+
ui_Changeable_ChangeableProps,
|
|
266
|
+
limestone_Skinnable_SkinnableProps
|
|
267
|
+
> {}
|
|
268
|
+
export function InputFieldDecorator<P>(
|
|
269
|
+
Component: React.ComponentType<P> | string,
|
|
270
|
+
): React.ComponentType<P & InputFieldDecoratorProps>;
|
|
271
|
+
|
|
272
|
+
export interface InputFieldProps
|
|
273
|
+
extends Merge<
|
|
274
|
+
Merge<
|
|
275
|
+
Merge<InputFieldBaseProps, ui_Changeable_ChangeableProps>,
|
|
276
|
+
spotlight_Spottable_SpottableProps
|
|
277
|
+
>,
|
|
278
|
+
limestone_Skinnable_SkinnableProps
|
|
279
|
+
> {
|
|
280
|
+
/**
|
|
281
|
+
* Focuses the internal input when the component gains 5-way focus.
|
|
282
|
+
*
|
|
283
|
+
* By default, the internal input is not editable when the component is focused via 5-way and must
|
|
284
|
+
be selected to become interactive. In pointer mode, the input will be editable when clicked.
|
|
285
|
+
*/
|
|
286
|
+
autoFocus?: boolean;
|
|
287
|
+
/**
|
|
288
|
+
* Applies a disabled style and prevents interacting with the component.
|
|
289
|
+
*/
|
|
290
|
+
disabled?: boolean;
|
|
291
|
+
/**
|
|
292
|
+
* Sets the initial value.
|
|
293
|
+
*/
|
|
294
|
+
defaultValue?: string;
|
|
295
|
+
/**
|
|
296
|
+
* Blurs the input when the "enter" key is pressed.
|
|
297
|
+
*/
|
|
298
|
+
dismissOnEnter?: boolean;
|
|
299
|
+
/**
|
|
300
|
+
* Called when the internal input is focused.
|
|
301
|
+
*/
|
|
302
|
+
onActivate?: Function;
|
|
303
|
+
/**
|
|
304
|
+
* Called when the internal input loses focus.
|
|
305
|
+
*/
|
|
306
|
+
onDeactivate?: Function;
|
|
307
|
+
/**
|
|
308
|
+
* Called when the component is removed when it had focus.
|
|
309
|
+
*/
|
|
310
|
+
onSpotlightDisappear?: Function;
|
|
311
|
+
/**
|
|
312
|
+
* Disables spotlight navigation into the component.
|
|
313
|
+
*/
|
|
314
|
+
spotlightDisabled?: boolean;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* A Spottable, Limestone styled input component with embedded icon support.
|
|
318
|
+
*
|
|
319
|
+
* By default, `InputField` maintains the state of its `value` property. Supply the `defaultValue`
|
|
320
|
+
property to control its initial value. If you wish to directly control updates to the component,
|
|
321
|
+
supply a value to `value` at creation time and update it in response to `onChange` events.
|
|
322
|
+
*/
|
|
323
|
+
|
|
324
|
+
export class InputField extends React.Component<
|
|
325
|
+
Merge<React.HTMLProps<HTMLElement>, InputFieldProps>
|
|
326
|
+
> {}
|
|
327
|
+
|
|
328
|
+
export interface InputBaseProps {
|
|
329
|
+
/**
|
|
330
|
+
* Disables the button that activates the input popup.
|
|
331
|
+
*/
|
|
332
|
+
disabled?: boolean;
|
|
333
|
+
/**
|
|
334
|
+
* Text displayed when value is not set.
|
|
335
|
+
*/
|
|
336
|
+
placeholder?: string;
|
|
337
|
+
/**
|
|
338
|
+
* The size of the input field.
|
|
339
|
+
*/
|
|
340
|
+
size?: "large" | "small";
|
|
341
|
+
/**
|
|
342
|
+
* Type of the input.
|
|
343
|
+
*/
|
|
344
|
+
type?:
|
|
345
|
+
| "text"
|
|
346
|
+
| "password"
|
|
347
|
+
| "number"
|
|
348
|
+
| "passwordnumber"
|
|
349
|
+
| "url"
|
|
350
|
+
| "tel"
|
|
351
|
+
| "passwordtel";
|
|
352
|
+
/**
|
|
353
|
+
* The value of the input.
|
|
354
|
+
*/
|
|
355
|
+
value?: string | number;
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* Base component for providing text input in the form of a popup.
|
|
359
|
+
*/
|
|
360
|
+
|
|
361
|
+
export class InputBase extends React.Component<
|
|
362
|
+
Merge<React.HTMLProps<HTMLElement>, InputBaseProps>
|
|
363
|
+
> {}
|
|
364
|
+
|
|
365
|
+
export interface InputDecoratorProps
|
|
366
|
+
extends Merge<
|
|
367
|
+
Merge<ui_Toggleable_ToggleableProps, ui_Changeable_ChangeableProps>,
|
|
368
|
+
limestone_Skinnable_SkinnableProps
|
|
369
|
+
> {}
|
|
370
|
+
export function InputDecorator<P>(
|
|
371
|
+
Component: React.ComponentType<P> | string,
|
|
372
|
+
): React.ComponentType<P & InputDecoratorProps>;
|
|
373
|
+
|
|
374
|
+
export interface InputProps extends InputBaseProps {}
|
|
375
|
+
/**
|
|
376
|
+
* Provides an input in the form of a popup.
|
|
377
|
+
*
|
|
378
|
+
* Usage:
|
|
379
|
+
* ```
|
|
380
|
+
<Input
|
|
381
|
+
onComplete={this.handleInputComplete}
|
|
382
|
+
placeholder="Placeholder"
|
|
383
|
+
subtitle="TitleBelow"
|
|
384
|
+
title="Title"
|
|
385
|
+
/>
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
* By default, `Input` maintains the state of its `value` property. Supply the `defaultValue`
|
|
389
|
+
property to control its initial value. If you wish to directly control updates to the
|
|
390
|
+
component, supply a value to `value` at creation time and update it in response to `onChange`
|
|
391
|
+
events.
|
|
392
|
+
*/
|
|
393
|
+
|
|
394
|
+
export class Input extends React.Component<
|
|
395
|
+
Merge<React.HTMLProps<HTMLElement>, InputProps>
|
|
396
|
+
> {}
|
|
397
|
+
|
|
398
|
+
export interface InputPopupProps extends InputPopupBaseProps {}
|
|
399
|
+
/**
|
|
400
|
+
* Provides an input popup without button.
|
|
401
|
+
*
|
|
402
|
+
* Usage:
|
|
403
|
+
* ```
|
|
404
|
+
<InputPopup
|
|
405
|
+
open={this.state.open}
|
|
406
|
+
onComplete={this.handleInputPopupComplete}
|
|
407
|
+
placeholder="Placeholder"
|
|
408
|
+
subtitle="Subtitle"
|
|
409
|
+
title="Title"
|
|
410
|
+
/>
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
* By default, `InputPopup` maintains the state of its `value` property. Supply the `defaultValue`
|
|
414
|
+
property to control its initial value. If you wish to directly control updates to the
|
|
415
|
+
component, supply a value to `value` at creation time and update it in response to `onChange`
|
|
416
|
+
events.
|
|
417
|
+
*/
|
|
418
|
+
|
|
419
|
+
export class InputPopup extends React.Component<
|
|
420
|
+
Merge<React.HTMLProps<HTMLElement>, InputPopupProps>
|
|
421
|
+
> {}
|
|
422
|
+
|
|
423
|
+
export default Input;
|
package/Input/index.js
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Input", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _Input.Input;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "InputBase", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _Input.InputBase;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "InputDecorator", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _Input.InputDecorator;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "InputField", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _InputField.InputField;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "InputFieldBase", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _InputField.InputFieldBase;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "InputFieldDecorator", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function get() {
|
|
39
|
+
return _InputField.InputFieldDecorator;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "InputPopup", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function get() {
|
|
45
|
+
return _Input.InputPopup;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "InputPopupBase", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function get() {
|
|
51
|
+
return _Input.InputPopupBase;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(exports, "calcAriaLabel", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function get() {
|
|
57
|
+
return _util.calcAriaLabel;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
Object.defineProperty(exports, "convertToPasswordFormat", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function get() {
|
|
63
|
+
return _util.convertToPasswordFormat;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
exports["default"] = void 0;
|
|
67
|
+
Object.defineProperty(exports, "extractInputFieldProps", {
|
|
68
|
+
enumerable: true,
|
|
69
|
+
get: function get() {
|
|
70
|
+
return _util.extractInputFieldProps;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
var _Input = require("./Input");
|
|
74
|
+
var _InputField = require("./InputField");
|
|
75
|
+
var _util = require("./util");
|
|
76
|
+
/**
|
|
77
|
+
* Popup style inputs for text and numbers.
|
|
78
|
+
*
|
|
79
|
+
* @module limestone/Input
|
|
80
|
+
* @exports Input
|
|
81
|
+
* @exports InputBase
|
|
82
|
+
* @exports InputDecorator
|
|
83
|
+
* @exports InputField
|
|
84
|
+
* @exports InputFieldBase
|
|
85
|
+
* @exports InputFieldDecorator
|
|
86
|
+
*/
|
|
87
|
+
var _default = exports["default"] = _Input.Input;
|
package/Input/pointer.js
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.releasePointer = exports.lockPointer = void 0;
|
|
7
|
+
var _handle = require("@enact/core/handle");
|
|
8
|
+
var active;
|
|
9
|
+
var capturedDown = false;
|
|
10
|
+
|
|
11
|
+
// if there is a focused input (there should be) and the target is not the input
|
|
12
|
+
var shouldCapture = function shouldCapture(_ref) {
|
|
13
|
+
var target = _ref.target;
|
|
14
|
+
return active && target !== active;
|
|
15
|
+
};
|
|
16
|
+
var isCapturing = function isCapturing() {
|
|
17
|
+
return capturedDown && active;
|
|
18
|
+
};
|
|
19
|
+
var setCapturing = function setCapturing(capturing) {
|
|
20
|
+
return (0, _handle.returnsTrue)(function () {
|
|
21
|
+
return capturedDown = capturing;
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
var handlePointerDown = (0, _handle.handle)(shouldCapture,
|
|
25
|
+
// If we should capture the click
|
|
26
|
+
_handle.preventDefault,
|
|
27
|
+
// prevent the down event bubbling
|
|
28
|
+
_handle.stop,
|
|
29
|
+
// (and stop propagation to support touch)
|
|
30
|
+
setCapturing(true) // and flag that we've started capturing a down event
|
|
31
|
+
);
|
|
32
|
+
var handlePointerUp = (0, _handle.handle)(isCapturing,
|
|
33
|
+
// if a down event was captured
|
|
34
|
+
_handle.preventDefault,
|
|
35
|
+
// prevent the up event bubbling
|
|
36
|
+
_handle.stop // (and stop propagation to support touch)
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
// This is attached to both click and touchend. On some systems (e.g. Chrome), click events are
|
|
40
|
+
// fired when you touch anything but other systems (e.g. iOS) will only emit click events when you
|
|
41
|
+
// touch a clickable component (something with a tabindex). By attaching the same handler to both,
|
|
42
|
+
// we ensure that we do not leave this module in an unstable state where it thinks capturing is
|
|
43
|
+
// active but focus is not on the input.
|
|
44
|
+
var handleTap = (0, _handle.handle)(isCapturing,
|
|
45
|
+
// if a down event was captured
|
|
46
|
+
_handle.stop,
|
|
47
|
+
// prevent the click event from propagating
|
|
48
|
+
_handle.preventDefault,
|
|
49
|
+
// prevent touchend from triggering a click after releasing lock
|
|
50
|
+
setCapturing(false),
|
|
51
|
+
// clear the capturing flag
|
|
52
|
+
function () {
|
|
53
|
+
return active.blur();
|
|
54
|
+
} // and blur the active node
|
|
55
|
+
);
|
|
56
|
+
var handleTouchStart = (0, _handle.handle)(shouldCapture,
|
|
57
|
+
// If we should capture the click
|
|
58
|
+
_handle.stop,
|
|
59
|
+
// prevent other components from handling this event
|
|
60
|
+
setCapturing(true) // and flag that we've started capturing a down event
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
// Lock the pointer from emitting click events until released
|
|
64
|
+
var lockPointer = exports.lockPointer = function lockPointer(target) {
|
|
65
|
+
active = target;
|
|
66
|
+
document.addEventListener('mousedown', handlePointerDown, {
|
|
67
|
+
capture: true
|
|
68
|
+
});
|
|
69
|
+
document.addEventListener('mouseup', handlePointerUp, {
|
|
70
|
+
capture: true
|
|
71
|
+
});
|
|
72
|
+
document.addEventListener('touchstart', handleTouchStart, {
|
|
73
|
+
capture: true
|
|
74
|
+
});
|
|
75
|
+
document.addEventListener('touchend', handleTap, {
|
|
76
|
+
capture: true
|
|
77
|
+
});
|
|
78
|
+
document.addEventListener('click', handleTap, {
|
|
79
|
+
capture: true
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
// Release the pointer and allow subsequent click events
|
|
84
|
+
var releasePointer = exports.releasePointer = function releasePointer(target) {
|
|
85
|
+
if (target === active) {
|
|
86
|
+
active = null;
|
|
87
|
+
document.removeEventListener('mousedown', handlePointerDown, {
|
|
88
|
+
capture: true
|
|
89
|
+
});
|
|
90
|
+
document.removeEventListener('mouseup', handlePointerUp, {
|
|
91
|
+
capture: true
|
|
92
|
+
});
|
|
93
|
+
document.removeEventListener('touchstart', handleTouchStart, {
|
|
94
|
+
capture: true
|
|
95
|
+
});
|
|
96
|
+
document.removeEventListener('touchend', handleTap, {
|
|
97
|
+
capture: true
|
|
98
|
+
});
|
|
99
|
+
document.removeEventListener('click', handleTap, {
|
|
100
|
+
capture: true
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
};
|