@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,934 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.MediaControlsDecorator = exports.MediaControlsBase = exports.MediaControls = void 0;
|
|
7
|
+
var _dispatcher = require("@enact/core/dispatcher");
|
|
8
|
+
var _handle = require("@enact/core/handle");
|
|
9
|
+
var _kind = _interopRequireDefault(require("@enact/core/kind"));
|
|
10
|
+
var _hoc = _interopRequireDefault(require("@enact/core/hoc"));
|
|
11
|
+
var _keymap = require("@enact/core/keymap");
|
|
12
|
+
var _util = require("@enact/core/util");
|
|
13
|
+
var _ApiDecorator = _interopRequireDefault(require("@enact/core/internal/ApiDecorator"));
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("@enact/core/internal/prop-types"));
|
|
15
|
+
var _spotlight = _interopRequireDefault(require("@enact/spotlight"));
|
|
16
|
+
var _Pause = _interopRequireDefault(require("@enact/spotlight/Pause"));
|
|
17
|
+
var _SpotlightContainerDecorator = require("@enact/spotlight/SpotlightContainerDecorator");
|
|
18
|
+
var _Cancelable = _interopRequireDefault(require("@enact/ui/Cancelable"));
|
|
19
|
+
var _Slottable = _interopRequireDefault(require("@enact/ui/Slottable"));
|
|
20
|
+
var _propTypes2 = _interopRequireDefault(require("prop-types"));
|
|
21
|
+
var _react = require("react");
|
|
22
|
+
var _ActionGuide = _interopRequireDefault(require("../ActionGuide"));
|
|
23
|
+
var _Button = _interopRequireDefault(require("../Button"));
|
|
24
|
+
var _$L = _interopRequireDefault(require("../internal/$L"));
|
|
25
|
+
var _util2 = require("../internal/util");
|
|
26
|
+
var _Skinnable = _interopRequireDefault(require("../Skinnable"));
|
|
27
|
+
var _util3 = require("./util");
|
|
28
|
+
var _MediaControlsModule = _interopRequireDefault(require("./MediaControls.module.css"));
|
|
29
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
30
|
+
var _excluded = ["mediaControlsRef"],
|
|
31
|
+
_excluded2 = ["actionGuideAriaLabel", "actionGuideButtonAriaLabel", "actionGuideDisabled", "actionGuideLabel", "actionGuideShowing", "children", "id", "jumpBackwardAriaLabel", "jumpBackwardIcon", "jumpButtonsDisabled", "jumpForwardAriaLabel", "jumpForwardIcon", "bottomComponents", "mediaControlsRef", "mediaDisabled", "moreComponentsSpotlightId", "noJumpButtons", "onActionGuideClick", "onJumpBackwardButtonClick", "onJumpForwardButtonClick", "onKeyDownFromMediaButtons", "onPlayButtonClick", "paused", "pauseIcon", "playIcon", "playPauseButtonDisabled", "showMoreComponents", "moreComponentsRendered", "moreButtonsClassName", "moreComponentsClassName", "actionGuideClassName", "spotlightDisabled", "spotlightId"];
|
|
32
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
33
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
34
|
+
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
35
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
36
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
37
|
+
function _possibleConstructorReturn(t, e) { if (e && ("object" == typeof e || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
|
|
38
|
+
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
39
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
40
|
+
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
41
|
+
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
|
|
42
|
+
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
43
|
+
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; }
|
|
44
|
+
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; }
|
|
45
|
+
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; }
|
|
46
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
47
|
+
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); }
|
|
48
|
+
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; }
|
|
49
|
+
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; }
|
|
50
|
+
var DivComponent = function DivComponent(_ref) {
|
|
51
|
+
var mediaControlsRef = _ref.mediaControlsRef,
|
|
52
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
53
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread({
|
|
54
|
+
ref: mediaControlsRef
|
|
55
|
+
}, rest));
|
|
56
|
+
};
|
|
57
|
+
DivComponent.propTypes = {
|
|
58
|
+
/*
|
|
59
|
+
* Called with the reference to the mediaControls node.
|
|
60
|
+
*
|
|
61
|
+
* @type {Object|Function}
|
|
62
|
+
* @public
|
|
63
|
+
*/
|
|
64
|
+
mediaControlsRef: _propTypes["default"].ref
|
|
65
|
+
};
|
|
66
|
+
var OuterContainer = (0, _SpotlightContainerDecorator.SpotlightContainerDecorator)({
|
|
67
|
+
defaultElement: [".".concat(_SpotlightContainerDecorator.spotlightDefaultClass)],
|
|
68
|
+
leaveFor: {
|
|
69
|
+
left: '',
|
|
70
|
+
right: ''
|
|
71
|
+
}
|
|
72
|
+
}, DivComponent);
|
|
73
|
+
var Container = (0, _SpotlightContainerDecorator.SpotlightContainerDecorator)({
|
|
74
|
+
enterTo: 'default-element'
|
|
75
|
+
}, 'div');
|
|
76
|
+
var MediaButton = (0, _util2.onlyUpdateForProps)(_Button["default"], ['children', 'className', 'disabled', 'icon', 'onClick', 'spotlightDisabled']);
|
|
77
|
+
var forwardToggleMore = (0, _handle.forward)('onToggleMore');
|
|
78
|
+
var animationDuration = 300;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* A set of components for controlling media playback and rendering additional components.
|
|
82
|
+
*
|
|
83
|
+
* @class MediaControlsBase
|
|
84
|
+
* @memberof limestone/MediaPlayer
|
|
85
|
+
* @ui
|
|
86
|
+
* @private
|
|
87
|
+
*/
|
|
88
|
+
var MediaControlsBase = exports.MediaControlsBase = (0, _kind["default"])({
|
|
89
|
+
name: 'MediaControls',
|
|
90
|
+
// intentionally assigning these props to MediaControls instead of Base (which is private)
|
|
91
|
+
propTypes: /** @lends limestone/MediaPlayer.MediaControls.prototype */{
|
|
92
|
+
/**
|
|
93
|
+
* DOM id for the component.
|
|
94
|
+
*
|
|
95
|
+
* This child component `ActionGuide`'s id is generated from the id.
|
|
96
|
+
*
|
|
97
|
+
* @type {String}
|
|
98
|
+
* @required
|
|
99
|
+
* @public
|
|
100
|
+
*/
|
|
101
|
+
id: _propTypes2["default"].string.isRequired,
|
|
102
|
+
/**
|
|
103
|
+
* The `aria-label` for the action guide.
|
|
104
|
+
*
|
|
105
|
+
* @type {String}
|
|
106
|
+
* @public
|
|
107
|
+
*/
|
|
108
|
+
actionGuideAriaLabel: _propTypes2["default"].string,
|
|
109
|
+
/**
|
|
110
|
+
* The `aria-label` for the action guide button.
|
|
111
|
+
*
|
|
112
|
+
* @type {String}
|
|
113
|
+
* @public
|
|
114
|
+
*/
|
|
115
|
+
actionGuideButtonAriaLabel: _propTypes2["default"].string,
|
|
116
|
+
/**
|
|
117
|
+
* Disables the ActionGuide.
|
|
118
|
+
*
|
|
119
|
+
* @type {Boolean}
|
|
120
|
+
* @public
|
|
121
|
+
*/
|
|
122
|
+
actionGuideDisabled: _propTypes2["default"].bool,
|
|
123
|
+
/**
|
|
124
|
+
* The label for the action guide.
|
|
125
|
+
*
|
|
126
|
+
* @type {String}
|
|
127
|
+
* @public
|
|
128
|
+
*/
|
|
129
|
+
actionGuideLabel: _propTypes2["default"].string,
|
|
130
|
+
/**
|
|
131
|
+
* These components are placed below the action guide. Typically, these will be media playlist controls.
|
|
132
|
+
*
|
|
133
|
+
* @type {Node}
|
|
134
|
+
* @public
|
|
135
|
+
*/
|
|
136
|
+
bottomComponents: _propTypes2["default"].node,
|
|
137
|
+
/**
|
|
138
|
+
* The `aria-label` for the jumpBackward button.
|
|
139
|
+
*
|
|
140
|
+
* @type {String}
|
|
141
|
+
* @public
|
|
142
|
+
*/
|
|
143
|
+
jumpBackwardAriaLabel: _propTypes2["default"].string,
|
|
144
|
+
/**
|
|
145
|
+
* Jump backward {@link limestone/Icon.Icon|icon} name. Accepts any
|
|
146
|
+
* {@link limestone/Icon.Icon|icon} component type.
|
|
147
|
+
*
|
|
148
|
+
* @type {String}
|
|
149
|
+
* @default 'jumpbackward'
|
|
150
|
+
* @public
|
|
151
|
+
*/
|
|
152
|
+
jumpBackwardIcon: _propTypes2["default"].string,
|
|
153
|
+
/**
|
|
154
|
+
* Disables state on the media "jump" buttons; the outer pair.
|
|
155
|
+
*
|
|
156
|
+
* @type {Boolean}
|
|
157
|
+
* @public
|
|
158
|
+
*/
|
|
159
|
+
jumpButtonsDisabled: _propTypes2["default"].bool,
|
|
160
|
+
/**
|
|
161
|
+
* The `aria-label` for the jumpForward button.
|
|
162
|
+
*
|
|
163
|
+
* @type {String}
|
|
164
|
+
* @public
|
|
165
|
+
*/
|
|
166
|
+
jumpForwardAriaLabel: _propTypes2["default"].string,
|
|
167
|
+
/**
|
|
168
|
+
* Jump forward {@link limestone/Icon.Icon|icon} name. Accepts any
|
|
169
|
+
* {@link limestone/Icon.Icon|icon} component type.
|
|
170
|
+
*
|
|
171
|
+
* @type {String}
|
|
172
|
+
* @default 'jumpforward'
|
|
173
|
+
* @public
|
|
174
|
+
*/
|
|
175
|
+
jumpForwardIcon: _propTypes2["default"].string,
|
|
176
|
+
/**
|
|
177
|
+
* Called with the reference to the mediaControls node.
|
|
178
|
+
*
|
|
179
|
+
* @type {Object|Function}
|
|
180
|
+
* @public
|
|
181
|
+
*/
|
|
182
|
+
mediaControlsRef: _propTypes["default"].ref,
|
|
183
|
+
/**
|
|
184
|
+
* Disables the media buttons.
|
|
185
|
+
*
|
|
186
|
+
* @type {Boolean}
|
|
187
|
+
* @public
|
|
188
|
+
*/
|
|
189
|
+
mediaDisabled: _propTypes2["default"].bool,
|
|
190
|
+
/**
|
|
191
|
+
* When `true`, more components are rendered. This does not indicate the visibility of more components.
|
|
192
|
+
*
|
|
193
|
+
* @type {Boolean}
|
|
194
|
+
* @public
|
|
195
|
+
*/
|
|
196
|
+
moreComponentsRendered: _propTypes2["default"].bool,
|
|
197
|
+
/**
|
|
198
|
+
* The spotlight ID for the moreComponent container.
|
|
199
|
+
*
|
|
200
|
+
* @type {String}
|
|
201
|
+
* @public
|
|
202
|
+
* @default 'moreComponents'
|
|
203
|
+
*/
|
|
204
|
+
moreComponentsSpotlightId: _propTypes2["default"].string,
|
|
205
|
+
/**
|
|
206
|
+
* Removes the "jump" buttons. The buttons that skip forward or backward in the video.
|
|
207
|
+
*
|
|
208
|
+
* @type {Boolean}
|
|
209
|
+
* @public
|
|
210
|
+
*/
|
|
211
|
+
noJumpButtons: _propTypes2["default"].bool,
|
|
212
|
+
/**
|
|
213
|
+
* Called when the button in ActionGuide is clicked.
|
|
214
|
+
*
|
|
215
|
+
* @type {Function}
|
|
216
|
+
* @param {Object} event
|
|
217
|
+
* @public
|
|
218
|
+
*/
|
|
219
|
+
onActionGuideClick: _propTypes2["default"].func,
|
|
220
|
+
/**
|
|
221
|
+
* Called when cancel/back key events are fired.
|
|
222
|
+
*
|
|
223
|
+
* @type {Function}
|
|
224
|
+
* @public
|
|
225
|
+
*/
|
|
226
|
+
onClose: _propTypes2["default"].func,
|
|
227
|
+
/**
|
|
228
|
+
* Called when the user clicks the JumpBackward button
|
|
229
|
+
*
|
|
230
|
+
* @type {Function}
|
|
231
|
+
* @public
|
|
232
|
+
*/
|
|
233
|
+
onJumpBackwardButtonClick: _propTypes2["default"].func,
|
|
234
|
+
/**
|
|
235
|
+
* Called when the user clicks the JumpForward button.
|
|
236
|
+
*
|
|
237
|
+
* @type {Function}
|
|
238
|
+
* @public
|
|
239
|
+
*/
|
|
240
|
+
onJumpForwardButtonClick: _propTypes2["default"].func,
|
|
241
|
+
/**
|
|
242
|
+
* Called when the user presses a media control button.
|
|
243
|
+
*
|
|
244
|
+
* @type {Function}
|
|
245
|
+
* @public
|
|
246
|
+
*/
|
|
247
|
+
onKeyDownFromMediaButtons: _propTypes2["default"].func,
|
|
248
|
+
/**
|
|
249
|
+
* Called when the user clicks the Play button.
|
|
250
|
+
*
|
|
251
|
+
* @type {Function}
|
|
252
|
+
* @public
|
|
253
|
+
*/
|
|
254
|
+
onPlayButtonClick: _propTypes2["default"].func,
|
|
255
|
+
/**
|
|
256
|
+
* `true` when the video is paused.
|
|
257
|
+
*
|
|
258
|
+
* @type {Boolean}
|
|
259
|
+
* @public
|
|
260
|
+
*/
|
|
261
|
+
paused: _propTypes2["default"].bool,
|
|
262
|
+
/**
|
|
263
|
+
* A string which is sent to the `pause` icon of the player controls. This can be
|
|
264
|
+
* anything that is accepted by {@link limestone/Icon.Icon|Icon}. This will be temporarily replaced by
|
|
265
|
+
* the {@link limestone/MediaPlayer.MediaControls.playIcon|playIcon} when the
|
|
266
|
+
* {@link limestone/MediaPlayer.MediaControls.paused|paused} boolean is `false`.
|
|
267
|
+
*
|
|
268
|
+
* @type {String}
|
|
269
|
+
* @default 'pause'
|
|
270
|
+
* @public
|
|
271
|
+
*/
|
|
272
|
+
pauseIcon: _propTypes2["default"].string,
|
|
273
|
+
/**
|
|
274
|
+
* A string which is sent to the `play` icon of the player controls. This can be
|
|
275
|
+
* anything that is accepted by {@link limestone/Icon.Icon}. This will be temporarily replaced by
|
|
276
|
+
* the {@link limestone/MediaPlayer.MediaControls.pauseIcon|pauseIcon} when the
|
|
277
|
+
* {@link limestone/MediaPlayer.MediaControls.paused|paused} boolean is `true`.
|
|
278
|
+
*
|
|
279
|
+
* @type {String}
|
|
280
|
+
* @default 'play'
|
|
281
|
+
* @public
|
|
282
|
+
*/
|
|
283
|
+
playIcon: _propTypes2["default"].string,
|
|
284
|
+
/**
|
|
285
|
+
* Disables the media "play"/"pause" button.
|
|
286
|
+
*
|
|
287
|
+
* @type {Boolean}
|
|
288
|
+
* @public
|
|
289
|
+
*/
|
|
290
|
+
playPauseButtonDisabled: _propTypes2["default"].bool,
|
|
291
|
+
/**
|
|
292
|
+
* When `true`, more components are visible.
|
|
293
|
+
*
|
|
294
|
+
* @type {Boolean}
|
|
295
|
+
* @private
|
|
296
|
+
*/
|
|
297
|
+
showMoreComponents: _propTypes2["default"].bool,
|
|
298
|
+
/**
|
|
299
|
+
* `true` controls are disabled from Spotlight.
|
|
300
|
+
*
|
|
301
|
+
* @type {Boolean}
|
|
302
|
+
* @public
|
|
303
|
+
*/
|
|
304
|
+
spotlightDisabled: _propTypes2["default"].bool,
|
|
305
|
+
/**
|
|
306
|
+
* The spotlight ID for the media controls container.
|
|
307
|
+
*
|
|
308
|
+
* @type {String}
|
|
309
|
+
* @public
|
|
310
|
+
* @default 'mediaControls'
|
|
311
|
+
*/
|
|
312
|
+
spotlightId: _propTypes2["default"].string,
|
|
313
|
+
/**
|
|
314
|
+
* The visibility of the component. When `false`, the component will be hidden.
|
|
315
|
+
*
|
|
316
|
+
* @type {Boolean}
|
|
317
|
+
* @default true
|
|
318
|
+
* @public
|
|
319
|
+
*/
|
|
320
|
+
visible: _propTypes2["default"].bool
|
|
321
|
+
},
|
|
322
|
+
defaultProps: {
|
|
323
|
+
jumpBackwardIcon: 'jumpbackward',
|
|
324
|
+
jumpForwardIcon: 'jumpforward',
|
|
325
|
+
moreComponentsSpotlightId: 'moreComponents',
|
|
326
|
+
spotlightId: 'mediaControls',
|
|
327
|
+
pauseIcon: 'pause',
|
|
328
|
+
playIcon: 'play',
|
|
329
|
+
visible: true
|
|
330
|
+
},
|
|
331
|
+
styles: {
|
|
332
|
+
css: _MediaControlsModule["default"],
|
|
333
|
+
className: 'controlsFrame'
|
|
334
|
+
},
|
|
335
|
+
computed: {
|
|
336
|
+
actionGuideClassName: function actionGuideClassName(_ref2) {
|
|
337
|
+
var styler = _ref2.styler,
|
|
338
|
+
showMoreComponents = _ref2.showMoreComponents;
|
|
339
|
+
return styler.join({
|
|
340
|
+
hidden: showMoreComponents
|
|
341
|
+
});
|
|
342
|
+
},
|
|
343
|
+
actionGuideShowing: function actionGuideShowing(_ref3) {
|
|
344
|
+
var bottomComponents = _ref3.bottomComponents,
|
|
345
|
+
children = _ref3.children;
|
|
346
|
+
return (0, _util3.countReactChildren)(children) || bottomComponents;
|
|
347
|
+
},
|
|
348
|
+
className: function className(_ref4) {
|
|
349
|
+
var visible = _ref4.visible,
|
|
350
|
+
styler = _ref4.styler;
|
|
351
|
+
return styler.append({
|
|
352
|
+
hidden: !visible
|
|
353
|
+
});
|
|
354
|
+
},
|
|
355
|
+
moreButtonsClassName: function moreButtonsClassName(_ref5) {
|
|
356
|
+
var styler = _ref5.styler;
|
|
357
|
+
return styler.join('mediaControls', 'moreButtonsComponents');
|
|
358
|
+
},
|
|
359
|
+
moreComponentsClassName: function moreComponentsClassName(_ref6) {
|
|
360
|
+
var styler = _ref6.styler,
|
|
361
|
+
showMoreComponents = _ref6.showMoreComponents;
|
|
362
|
+
return styler.join({
|
|
363
|
+
hidden: !showMoreComponents
|
|
364
|
+
}, 'moreComponents');
|
|
365
|
+
},
|
|
366
|
+
moreComponentsRendered: function moreComponentsRendered(_ref7) {
|
|
367
|
+
var showMoreComponents = _ref7.showMoreComponents,
|
|
368
|
+
_moreComponentsRendered = _ref7.moreComponentsRendered;
|
|
369
|
+
return showMoreComponents || _moreComponentsRendered;
|
|
370
|
+
}
|
|
371
|
+
},
|
|
372
|
+
render: function render(_ref8) {
|
|
373
|
+
var actionGuideAriaLabel = _ref8.actionGuideAriaLabel,
|
|
374
|
+
actionGuideButtonAriaLabel = _ref8.actionGuideButtonAriaLabel,
|
|
375
|
+
actionGuideDisabled = _ref8.actionGuideDisabled,
|
|
376
|
+
actionGuideLabel = _ref8.actionGuideLabel,
|
|
377
|
+
actionGuideShowing = _ref8.actionGuideShowing,
|
|
378
|
+
children = _ref8.children,
|
|
379
|
+
id = _ref8.id,
|
|
380
|
+
jumpBackwardAriaLabel = _ref8.jumpBackwardAriaLabel,
|
|
381
|
+
jumpBackwardIcon = _ref8.jumpBackwardIcon,
|
|
382
|
+
jumpButtonsDisabled = _ref8.jumpButtonsDisabled,
|
|
383
|
+
jumpForwardAriaLabel = _ref8.jumpForwardAriaLabel,
|
|
384
|
+
jumpForwardIcon = _ref8.jumpForwardIcon,
|
|
385
|
+
bottomComponents = _ref8.bottomComponents,
|
|
386
|
+
mediaControlsRef = _ref8.mediaControlsRef,
|
|
387
|
+
mediaDisabled = _ref8.mediaDisabled,
|
|
388
|
+
moreComponentsSpotlightId = _ref8.moreComponentsSpotlightId,
|
|
389
|
+
noJumpButtons = _ref8.noJumpButtons,
|
|
390
|
+
onActionGuideClick = _ref8.onActionGuideClick,
|
|
391
|
+
onJumpBackwardButtonClick = _ref8.onJumpBackwardButtonClick,
|
|
392
|
+
onJumpForwardButtonClick = _ref8.onJumpForwardButtonClick,
|
|
393
|
+
onKeyDownFromMediaButtons = _ref8.onKeyDownFromMediaButtons,
|
|
394
|
+
onPlayButtonClick = _ref8.onPlayButtonClick,
|
|
395
|
+
paused = _ref8.paused,
|
|
396
|
+
pauseIcon = _ref8.pauseIcon,
|
|
397
|
+
playIcon = _ref8.playIcon,
|
|
398
|
+
playPauseButtonDisabled = _ref8.playPauseButtonDisabled,
|
|
399
|
+
showMoreComponents = _ref8.showMoreComponents,
|
|
400
|
+
moreComponentsRendered = _ref8.moreComponentsRendered,
|
|
401
|
+
moreButtonsClassName = _ref8.moreButtonsClassName,
|
|
402
|
+
moreComponentsClassName = _ref8.moreComponentsClassName,
|
|
403
|
+
actionGuideClassName = _ref8.actionGuideClassName,
|
|
404
|
+
spotlightDisabled = _ref8.spotlightDisabled,
|
|
405
|
+
spotlightId = _ref8.spotlightId,
|
|
406
|
+
rest = _objectWithoutProperties(_ref8, _excluded2);
|
|
407
|
+
delete rest.onClose;
|
|
408
|
+
delete rest.visible;
|
|
409
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(OuterContainer, _objectSpread(_objectSpread({}, rest), {}, {
|
|
410
|
+
id: id,
|
|
411
|
+
mediaControlsRef: mediaControlsRef,
|
|
412
|
+
spotlightId: spotlightId,
|
|
413
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(Container, {
|
|
414
|
+
className: _MediaControlsModule["default"].mediaControls,
|
|
415
|
+
spotlightDisabled: spotlightDisabled,
|
|
416
|
+
onKeyDown: onKeyDownFromMediaButtons,
|
|
417
|
+
children: [noJumpButtons ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)(MediaButton, {
|
|
418
|
+
"aria-label": jumpBackwardAriaLabel || (0, _$L["default"])('Previous'),
|
|
419
|
+
backgroundOpacity: "transparent",
|
|
420
|
+
css: _MediaControlsModule["default"],
|
|
421
|
+
disabled: mediaDisabled || jumpButtonsDisabled,
|
|
422
|
+
icon: jumpBackwardIcon,
|
|
423
|
+
onClick: onJumpBackwardButtonClick,
|
|
424
|
+
size: "large",
|
|
425
|
+
spotlightDisabled: spotlightDisabled
|
|
426
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(MediaButton, {
|
|
427
|
+
"aria-label": paused ? (0, _$L["default"])('Play') : (0, _$L["default"])('Pause'),
|
|
428
|
+
className: _SpotlightContainerDecorator.spotlightDefaultClass,
|
|
429
|
+
backgroundOpacity: "transparent",
|
|
430
|
+
css: _MediaControlsModule["default"],
|
|
431
|
+
disabled: mediaDisabled || playPauseButtonDisabled,
|
|
432
|
+
icon: paused ? playIcon : pauseIcon,
|
|
433
|
+
onClick: onPlayButtonClick,
|
|
434
|
+
size: "large",
|
|
435
|
+
spotlightDisabled: spotlightDisabled
|
|
436
|
+
}), noJumpButtons ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)(MediaButton, {
|
|
437
|
+
"aria-label": jumpForwardAriaLabel || (0, _$L["default"])('Next'),
|
|
438
|
+
backgroundOpacity: "transparent",
|
|
439
|
+
css: _MediaControlsModule["default"],
|
|
440
|
+
disabled: mediaDisabled || jumpButtonsDisabled,
|
|
441
|
+
icon: jumpForwardIcon,
|
|
442
|
+
onClick: onJumpForwardButtonClick,
|
|
443
|
+
size: "large",
|
|
444
|
+
spotlightDisabled: spotlightDisabled
|
|
445
|
+
})]
|
|
446
|
+
}), actionGuideShowing ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ActionGuide["default"], {
|
|
447
|
+
id: "".concat(id, "_actionGuide"),
|
|
448
|
+
"aria-label": actionGuideAriaLabel != null ? actionGuideAriaLabel : null,
|
|
449
|
+
buttonAriaLabel: actionGuideButtonAriaLabel,
|
|
450
|
+
css: _MediaControlsModule["default"],
|
|
451
|
+
className: actionGuideClassName,
|
|
452
|
+
icon: "arrowsmalldown",
|
|
453
|
+
onClick: onActionGuideClick,
|
|
454
|
+
disabled: actionGuideDisabled,
|
|
455
|
+
children: actionGuideLabel
|
|
456
|
+
}) : null, moreComponentsRendered ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(Container, {
|
|
457
|
+
spotlightId: moreComponentsSpotlightId,
|
|
458
|
+
className: moreComponentsClassName,
|
|
459
|
+
spotlightDisabled: !showMoreComponents || spotlightDisabled,
|
|
460
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Container, {
|
|
461
|
+
className: moreButtonsClassName,
|
|
462
|
+
children: children
|
|
463
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
464
|
+
children: bottomComponents
|
|
465
|
+
})]
|
|
466
|
+
}) : null]
|
|
467
|
+
}));
|
|
468
|
+
}
|
|
469
|
+
});
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* Media control behaviors to apply to {@link limestone/MediaPlayer.MediaControlsBase|MediaControlsBase}.
|
|
473
|
+
* Provides built-in support for showing more components and key handling for basic playback
|
|
474
|
+
* controls.
|
|
475
|
+
*
|
|
476
|
+
* @class MediaControlsDecorator
|
|
477
|
+
* @memberof limestone/MediaPlayer
|
|
478
|
+
* @mixes ui/Slottable.Slottable
|
|
479
|
+
* @hoc
|
|
480
|
+
* @private
|
|
481
|
+
*/
|
|
482
|
+
var MediaControlsDecorator = exports.MediaControlsDecorator = (0, _hoc["default"])(function (config, Wrapped) {
|
|
483
|
+
var MediaControlsDecoratorHOC = /*#__PURE__*/function (_Component) {
|
|
484
|
+
function MediaControlsDecoratorHOC(props) {
|
|
485
|
+
var _this;
|
|
486
|
+
_classCallCheck(this, MediaControlsDecoratorHOC);
|
|
487
|
+
_this = _callSuper(this, MediaControlsDecoratorHOC, [props]);
|
|
488
|
+
_this.moreComponentsRenderingJob = new _util.Job(function () {
|
|
489
|
+
_this.setState({
|
|
490
|
+
moreComponentsRendered: true
|
|
491
|
+
});
|
|
492
|
+
});
|
|
493
|
+
_this.calculateMoreComponentsHeight = function () {
|
|
494
|
+
if (!_this.mediaControlsNode) {
|
|
495
|
+
_this.bottomComponentsHeight = 0;
|
|
496
|
+
return;
|
|
497
|
+
}
|
|
498
|
+
var bottomElement = _this.mediaControlsNode.querySelector(".".concat(_MediaControlsModule["default"].moreComponents));
|
|
499
|
+
_this.bottomComponentsHeight = bottomElement ? bottomElement.scrollHeight : 0;
|
|
500
|
+
};
|
|
501
|
+
_this.handleKeyDown = function (ev) {
|
|
502
|
+
var _this$props = _this.props,
|
|
503
|
+
mediaDisabled = _this$props.mediaDisabled,
|
|
504
|
+
no5WayJump = _this$props.no5WayJump,
|
|
505
|
+
visible = _this$props.visible;
|
|
506
|
+
var current = _spotlight["default"].getCurrent();
|
|
507
|
+
if (!no5WayJump && !visible && !mediaDisabled && !current && ((0, _keymap.is)('left', ev.keyCode) || (0, _keymap.is)('right', ev.keyCode))) {
|
|
508
|
+
_this.paused.pause();
|
|
509
|
+
_this.startListeningForPulses(ev.keyCode);
|
|
510
|
+
}
|
|
511
|
+
};
|
|
512
|
+
_this.handleKeyUp = function (ev) {
|
|
513
|
+
var _this$props2 = _this.props,
|
|
514
|
+
mediaDisabled = _this$props2.mediaDisabled,
|
|
515
|
+
no5WayJump = _this$props2.no5WayJump,
|
|
516
|
+
rateChangeDisabled = _this$props2.rateChangeDisabled,
|
|
517
|
+
playPauseButtonDisabled = _this$props2.playPauseButtonDisabled;
|
|
518
|
+
if (mediaDisabled) return;
|
|
519
|
+
if (!playPauseButtonDisabled) {
|
|
520
|
+
if ((0, _keymap.is)('play', ev.keyCode)) {
|
|
521
|
+
(0, _handle.forward)('onPlay', ev, _this.props);
|
|
522
|
+
} else if ((0, _keymap.is)('pause', ev.keyCode)) {
|
|
523
|
+
(0, _handle.forward)('onPause', ev, _this.props);
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
if (!no5WayJump && ((0, _keymap.is)('left', ev.keyCode) || (0, _keymap.is)('right', ev.keyCode))) {
|
|
527
|
+
_this.stopListeningForPulses();
|
|
528
|
+
_this.paused.resume();
|
|
529
|
+
}
|
|
530
|
+
if (!rateChangeDisabled) {
|
|
531
|
+
if ((0, _keymap.is)('rewind', ev.keyCode)) {
|
|
532
|
+
(0, _handle.forward)('onRewind', ev, _this.props);
|
|
533
|
+
} else if ((0, _keymap.is)('fastForward', ev.keyCode)) {
|
|
534
|
+
(0, _handle.forward)('onFastForward', ev, _this.props);
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
};
|
|
538
|
+
_this.handleBlur = function () {
|
|
539
|
+
_this.stopListeningForPulses();
|
|
540
|
+
_this.paused.resume();
|
|
541
|
+
};
|
|
542
|
+
_this.handleActionGuideClick = function () {
|
|
543
|
+
if (!_this.state.showMoreComponents) {
|
|
544
|
+
_this.showMoreComponents();
|
|
545
|
+
}
|
|
546
|
+
};
|
|
547
|
+
_this.startListeningForPulses = function (keyCode) {
|
|
548
|
+
// Ignore new pulse calls if key code is same, otherwise start new series if we're pulsing
|
|
549
|
+
if (_this.pulsing && keyCode !== _this.pulsingKeyCode) {
|
|
550
|
+
_this.stopListeningForPulses();
|
|
551
|
+
}
|
|
552
|
+
if (!_this.pulsing) {
|
|
553
|
+
_this.pulsingKeyCode = keyCode;
|
|
554
|
+
_this.pulsing = true;
|
|
555
|
+
_this.keyLoop = setTimeout(_this.handlePulse, _this.props.initialJumpDelay);
|
|
556
|
+
(0, _handle.forward)('onJump', {
|
|
557
|
+
keyCode: keyCode
|
|
558
|
+
}, _this.props);
|
|
559
|
+
}
|
|
560
|
+
};
|
|
561
|
+
_this.handlePulse = function () {
|
|
562
|
+
(0, _handle.forward)('onJump', {
|
|
563
|
+
keyCode: _this.pulsingKeyCode
|
|
564
|
+
}, _this.props);
|
|
565
|
+
_this.keyLoop = setTimeout(_this.handlePulse, _this.props.jumpDelay);
|
|
566
|
+
};
|
|
567
|
+
_this.handlePlayButtonClick = function (ev) {
|
|
568
|
+
(0, _handle.forward)('onPlayButtonClick', ev, _this.props);
|
|
569
|
+
if (_this.props.paused) {
|
|
570
|
+
(0, _handle.forward)('onPlay', ev, _this.props);
|
|
571
|
+
} else {
|
|
572
|
+
(0, _handle.forward)('onPause', ev, _this.props);
|
|
573
|
+
}
|
|
574
|
+
};
|
|
575
|
+
_this.getMediaControls = function (node) {
|
|
576
|
+
if (!node) {
|
|
577
|
+
_this.actionGuideHeight = 0;
|
|
578
|
+
return;
|
|
579
|
+
}
|
|
580
|
+
_this.mediaControlsNode = _this.mediaControlsRef.current;
|
|
581
|
+
var guideElement = _this.mediaControlsNode.querySelector(".".concat(_MediaControlsModule["default"].actionGuide));
|
|
582
|
+
_this.actionGuideHeight = guideElement ? guideElement.scrollHeight : 0;
|
|
583
|
+
};
|
|
584
|
+
_this.areMoreComponentsAvailable = function () {
|
|
585
|
+
return _this.state.showMoreComponents;
|
|
586
|
+
};
|
|
587
|
+
_this.showMoreComponents = function () {
|
|
588
|
+
_this.setState({
|
|
589
|
+
showMoreComponents: true
|
|
590
|
+
});
|
|
591
|
+
};
|
|
592
|
+
_this.hideMoreComponents = function () {
|
|
593
|
+
_this.setState({
|
|
594
|
+
showMoreComponents: false
|
|
595
|
+
});
|
|
596
|
+
};
|
|
597
|
+
_this.handleClose = function (ev) {
|
|
598
|
+
if (_this.props.visible) {
|
|
599
|
+
(0, _handle.forward)('onClose', ev, _this.props);
|
|
600
|
+
}
|
|
601
|
+
};
|
|
602
|
+
_this.handleFinish = function () {
|
|
603
|
+
if (_this.state.showMoreComponents) {
|
|
604
|
+
_this.paused.resume();
|
|
605
|
+
if (!_spotlight["default"].getPointerMode()) {
|
|
606
|
+
_spotlight["default"].focus(_this.moreComponentsSpotlightId);
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
};
|
|
610
|
+
_this.handleCancel = function () {
|
|
611
|
+
_this.paused.resume();
|
|
612
|
+
};
|
|
613
|
+
_this.mediaControlsNode = null;
|
|
614
|
+
_this.moreComponentsNode = null;
|
|
615
|
+
_this.actionGuideHeight = 0;
|
|
616
|
+
_this.animation = null;
|
|
617
|
+
_this.bottomComponentsHeight = 0;
|
|
618
|
+
_this.moreComponentsSpotlightId = 'moreComponents';
|
|
619
|
+
_this.keyLoop = null;
|
|
620
|
+
_this.pulsingKeyCode = null;
|
|
621
|
+
_this.pulsing = null;
|
|
622
|
+
_this.paused = new _Pause["default"]('MediaPlayer');
|
|
623
|
+
_this.mediaControlsRef = /*#__PURE__*/(0, _react.createRef)();
|
|
624
|
+
_this.state = {
|
|
625
|
+
showMoreComponents: false,
|
|
626
|
+
moreComponentsRendered: false
|
|
627
|
+
};
|
|
628
|
+
if (props.setApiProvider) {
|
|
629
|
+
props.setApiProvider(_this);
|
|
630
|
+
}
|
|
631
|
+
return _this;
|
|
632
|
+
}
|
|
633
|
+
_inherits(MediaControlsDecoratorHOC, _Component);
|
|
634
|
+
return _createClass(MediaControlsDecoratorHOC, [{
|
|
635
|
+
key: "componentDidMount",
|
|
636
|
+
value: function componentDidMount() {
|
|
637
|
+
(0, _dispatcher.on)('keydown', this.handleKeyDown, document);
|
|
638
|
+
(0, _dispatcher.on)('keyup', this.handleKeyUp, document);
|
|
639
|
+
(0, _dispatcher.on)('blur', this.handleBlur, window);
|
|
640
|
+
}
|
|
641
|
+
}, {
|
|
642
|
+
key: "componentDidUpdate",
|
|
643
|
+
value: function componentDidUpdate(prevProps, prevState) {
|
|
644
|
+
// Need to render `moreComponents` to show it. For performance, render `moreComponents` if it is actually shown.
|
|
645
|
+
if (!prevState.showMoreComponents && this.state.showMoreComponents && !this.state.moreComponentsRendered) {
|
|
646
|
+
this.moreComponentsRenderingJob.startRafAfter();
|
|
647
|
+
} else if (prevState.showMoreComponents && !this.state.showMoreComponents) {
|
|
648
|
+
this.moreComponentsRenderingJob.stop();
|
|
649
|
+
}
|
|
650
|
+
if (!prevState.moreComponentsRendered && this.state.moreComponentsRendered || this.state.moreComponentsRendered && prevProps.bottomComponents !== this.props.bottomComponents || !(0, _util2.compareChildren)(this.props.children, prevProps.children)) {
|
|
651
|
+
this.calculateMoreComponentsHeight();
|
|
652
|
+
}
|
|
653
|
+
if (this.state.showMoreComponents && !prevState.moreComponentsRendered && this.state.moreComponentsRendered || this.state.moreComponentsRendered && prevState.showMoreComponents !== this.state.showMoreComponents) {
|
|
654
|
+
forwardToggleMore({
|
|
655
|
+
type: 'onToggleMore',
|
|
656
|
+
showMoreComponents: this.state.showMoreComponents,
|
|
657
|
+
liftDistance: this.bottomComponentsHeight - this.actionGuideHeight
|
|
658
|
+
}, this.props);
|
|
659
|
+
if (this.state.showMoreComponents) {
|
|
660
|
+
this.moreComponentsNode = this.moreComponentsNode || this.mediaControlsNode.querySelector(".".concat(_MediaControlsModule["default"].moreComponents));
|
|
661
|
+
this.paused.pause();
|
|
662
|
+
this.animation = this.moreComponentsNode.animate([{
|
|
663
|
+
transform: 'none',
|
|
664
|
+
opacity: 0,
|
|
665
|
+
offset: 0
|
|
666
|
+
}, {
|
|
667
|
+
transform: "translateY(".concat(-this.actionGuideHeight, "px)"),
|
|
668
|
+
opacity: 1,
|
|
669
|
+
offset: 1
|
|
670
|
+
}], {
|
|
671
|
+
duration: typeof ENACT_PACK_NO_ANIMATION !== 'undefined' && ENACT_PACK_NO_ANIMATION ? 0 : animationDuration,
|
|
672
|
+
fill: 'forwards'
|
|
673
|
+
});
|
|
674
|
+
this.animation.onfinish = this.handleFinish;
|
|
675
|
+
this.animation.oncancel = this.handleCancel;
|
|
676
|
+
} else if (this.animation != null) {
|
|
677
|
+
this.animation.cancel();
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
// if media controls disabled, reset key loop
|
|
682
|
+
if (!prevProps.mediaDisabled && this.props.mediaDisabled || !prevProps.visible && this.props.visible) {
|
|
683
|
+
this.stopListeningForPulses();
|
|
684
|
+
this.paused.resume();
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
}, {
|
|
688
|
+
key: "componentWillUnmount",
|
|
689
|
+
value: function componentWillUnmount() {
|
|
690
|
+
(0, _dispatcher.off)('keydown', this.handleKeyDown, document);
|
|
691
|
+
(0, _dispatcher.off)('keyup', this.handleKeyUp, document);
|
|
692
|
+
(0, _dispatcher.off)('blur', this.handleBlur, window);
|
|
693
|
+
this.stopListeningForPulses();
|
|
694
|
+
this.moreComponentsRenderingJob.stop();
|
|
695
|
+
if (this.animation) {
|
|
696
|
+
this.animation.cancel();
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
}, {
|
|
700
|
+
key: "stopListeningForPulses",
|
|
701
|
+
value: function stopListeningForPulses() {
|
|
702
|
+
this.pulsing = false;
|
|
703
|
+
if (this.keyLoop) {
|
|
704
|
+
clearTimeout(this.keyLoop);
|
|
705
|
+
this.keyLoop = null;
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
}, {
|
|
709
|
+
key: "toggleMoreComponents",
|
|
710
|
+
value: function toggleMoreComponents() {
|
|
711
|
+
this.setState(function (prevState) {
|
|
712
|
+
return {
|
|
713
|
+
showMoreComponents: !prevState.showMoreComponents
|
|
714
|
+
};
|
|
715
|
+
});
|
|
716
|
+
}
|
|
717
|
+
}, {
|
|
718
|
+
key: "render",
|
|
719
|
+
value: function render() {
|
|
720
|
+
var props = Object.assign({}, this.props);
|
|
721
|
+
delete props.initialJumpDelay;
|
|
722
|
+
delete props.jumpDelay;
|
|
723
|
+
delete props.moreActionDisabled;
|
|
724
|
+
delete props.no5WayJump;
|
|
725
|
+
delete props.onFastForward;
|
|
726
|
+
delete props.onJump;
|
|
727
|
+
delete props.onPause;
|
|
728
|
+
delete props.onPlay;
|
|
729
|
+
delete props.onRewind;
|
|
730
|
+
delete props.onToggleMore;
|
|
731
|
+
delete props.rateChangeDisabled;
|
|
732
|
+
delete props.setApiProvider;
|
|
733
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapped, _objectSpread(_objectSpread({}, props), {}, {
|
|
734
|
+
mediaControlsRef: this.mediaControlsRef,
|
|
735
|
+
actionGuideDisabled: this.props.moreActionDisabled,
|
|
736
|
+
moreComponentsRendered: this.state.moreComponentsRendered,
|
|
737
|
+
moreComponentsSpotlightId: this.moreComponentsSpotlightId,
|
|
738
|
+
onActionGuideClick: this.handleActionGuideClick,
|
|
739
|
+
onClose: this.handleClose,
|
|
740
|
+
onPlayButtonClick: this.handlePlayButtonClick,
|
|
741
|
+
ref: this.getMediaControls,
|
|
742
|
+
showMoreComponents: this.state.showMoreComponents
|
|
743
|
+
}));
|
|
744
|
+
}
|
|
745
|
+
}], [{
|
|
746
|
+
key: "getDerivedStateFromProps",
|
|
747
|
+
value: function getDerivedStateFromProps(props) {
|
|
748
|
+
if (!props.visible) {
|
|
749
|
+
return {
|
|
750
|
+
showMoreComponents: false
|
|
751
|
+
};
|
|
752
|
+
}
|
|
753
|
+
return null;
|
|
754
|
+
}
|
|
755
|
+
}]);
|
|
756
|
+
}(_react.Component);
|
|
757
|
+
MediaControlsDecoratorHOC.displayName = 'MediaControlsDecorator';
|
|
758
|
+
MediaControlsDecoratorHOC.propTypes = /** @lends limestone/MediaPlayer.MediaControlsDecorator.prototype */{
|
|
759
|
+
/**
|
|
760
|
+
* The label for the action guide.
|
|
761
|
+
*
|
|
762
|
+
* @type {String}
|
|
763
|
+
* @public
|
|
764
|
+
*/
|
|
765
|
+
actionGuideLabel: _propTypes2["default"].string,
|
|
766
|
+
/**
|
|
767
|
+
* These components are placed below the children. Typically, these will be media playlist items.
|
|
768
|
+
*
|
|
769
|
+
* @type {Node}
|
|
770
|
+
* @public
|
|
771
|
+
*/
|
|
772
|
+
bottomComponents: _propTypes2["default"].node,
|
|
773
|
+
/**
|
|
774
|
+
* The number of milliseconds that the player will pause before firing the
|
|
775
|
+
* first jump event on a right or left pulse.
|
|
776
|
+
*
|
|
777
|
+
* @type {Number}
|
|
778
|
+
* @default 400
|
|
779
|
+
* @public
|
|
780
|
+
*/
|
|
781
|
+
initialJumpDelay: _propTypes2["default"].number,
|
|
782
|
+
/**
|
|
783
|
+
* The number of milliseconds that the player will throttle before firing a
|
|
784
|
+
* jump event on a right or left pulse.
|
|
785
|
+
*
|
|
786
|
+
* @type {Number}
|
|
787
|
+
* @default 200
|
|
788
|
+
* @public
|
|
789
|
+
*/
|
|
790
|
+
jumpDelay: _propTypes2["default"].number,
|
|
791
|
+
/**
|
|
792
|
+
* Disables the media buttons.
|
|
793
|
+
*
|
|
794
|
+
* @type {Boolean}
|
|
795
|
+
* @public
|
|
796
|
+
*/
|
|
797
|
+
mediaDisabled: _propTypes2["default"].bool,
|
|
798
|
+
/**
|
|
799
|
+
* Disables showing more components.
|
|
800
|
+
*
|
|
801
|
+
* @type {Boolean}
|
|
802
|
+
* @public
|
|
803
|
+
*/
|
|
804
|
+
moreActionDisabled: _propTypes2["default"].bool,
|
|
805
|
+
/**
|
|
806
|
+
* Setting this to `true` will disable left and right keys for seeking.
|
|
807
|
+
*
|
|
808
|
+
* @type {Boolean}
|
|
809
|
+
* @public
|
|
810
|
+
*/
|
|
811
|
+
no5WayJump: _propTypes2["default"].bool,
|
|
812
|
+
/**
|
|
813
|
+
* Called when media fast forwards.
|
|
814
|
+
*
|
|
815
|
+
* @type {Function}
|
|
816
|
+
* @public
|
|
817
|
+
*/
|
|
818
|
+
onFastForward: _propTypes2["default"].func,
|
|
819
|
+
/**
|
|
820
|
+
* Called when media jumps.
|
|
821
|
+
*
|
|
822
|
+
* @type {Function}
|
|
823
|
+
* @public
|
|
824
|
+
*/
|
|
825
|
+
onJump: _propTypes2["default"].func,
|
|
826
|
+
/**
|
|
827
|
+
* Called when media gets paused.
|
|
828
|
+
*
|
|
829
|
+
* @type {Function}
|
|
830
|
+
* @public
|
|
831
|
+
*/
|
|
832
|
+
onPause: _propTypes2["default"].func,
|
|
833
|
+
/**
|
|
834
|
+
* Called when media starts playing.
|
|
835
|
+
*
|
|
836
|
+
* @type {Function}
|
|
837
|
+
* @public
|
|
838
|
+
*/
|
|
839
|
+
onPlay: _propTypes2["default"].func,
|
|
840
|
+
/**
|
|
841
|
+
* Called when media rewinds.
|
|
842
|
+
*
|
|
843
|
+
* @type {Function}
|
|
844
|
+
* @public
|
|
845
|
+
*/
|
|
846
|
+
onRewind: _propTypes2["default"].func,
|
|
847
|
+
/**
|
|
848
|
+
* Called when the visibility of more components is changed
|
|
849
|
+
*
|
|
850
|
+
* Event payload includes:
|
|
851
|
+
*
|
|
852
|
+
* * `type` - Type of event, `'onToggleMore'`
|
|
853
|
+
* * `showMoreComponents` - `true` when the components are visible`
|
|
854
|
+
* * `liftDistance` - The distance, in pixels, the component animates
|
|
855
|
+
*
|
|
856
|
+
* @type {Function}
|
|
857
|
+
* @public
|
|
858
|
+
*/
|
|
859
|
+
onToggleMore: _propTypes2["default"].func,
|
|
860
|
+
/**
|
|
861
|
+
* The video pause state.
|
|
862
|
+
*
|
|
863
|
+
* @type {Boolean}
|
|
864
|
+
* @public
|
|
865
|
+
*/
|
|
866
|
+
paused: _propTypes2["default"].bool,
|
|
867
|
+
/**
|
|
868
|
+
* Disables state on the media "play"/"pause" button
|
|
869
|
+
*
|
|
870
|
+
* @type {Boolean}
|
|
871
|
+
* @public
|
|
872
|
+
*/
|
|
873
|
+
playPauseButtonDisabled: _propTypes2["default"].bool,
|
|
874
|
+
/**
|
|
875
|
+
* Disables the media playback-rate control via rewind and fast-forward keys
|
|
876
|
+
*
|
|
877
|
+
* @type {Boolean}
|
|
878
|
+
* @public
|
|
879
|
+
*/
|
|
880
|
+
rateChangeDisabled: _propTypes2["default"].bool,
|
|
881
|
+
/**
|
|
882
|
+
* Registers the MediaControls component with an
|
|
883
|
+
* {@link core/internal/ApiDecorator.ApiDecorator|ApiDecorator}.
|
|
884
|
+
*
|
|
885
|
+
* @type {Function}
|
|
886
|
+
* @private
|
|
887
|
+
*/
|
|
888
|
+
setApiProvider: _propTypes2["default"].func,
|
|
889
|
+
/**
|
|
890
|
+
* The visibility of the component. When `false`, the component will be hidden.
|
|
891
|
+
*
|
|
892
|
+
* @type {Boolean}
|
|
893
|
+
* @public
|
|
894
|
+
*/
|
|
895
|
+
visible: _propTypes2["default"].bool
|
|
896
|
+
};
|
|
897
|
+
MediaControlsDecoratorHOC.defaultProps = {
|
|
898
|
+
initialJumpDelay: 400,
|
|
899
|
+
jumpDelay: 200
|
|
900
|
+
};
|
|
901
|
+
return (0, _Slottable["default"])({
|
|
902
|
+
slots: ['bottomComponents']
|
|
903
|
+
}, MediaControlsDecoratorHOC);
|
|
904
|
+
});
|
|
905
|
+
var handleCancel = function handleCancel(ev, _ref9) {
|
|
906
|
+
var onClose = _ref9.onClose;
|
|
907
|
+
if (onClose) {
|
|
908
|
+
onClose(ev);
|
|
909
|
+
}
|
|
910
|
+
};
|
|
911
|
+
|
|
912
|
+
/**
|
|
913
|
+
* A set of components for controlling media playback and rendering additional components.
|
|
914
|
+
*
|
|
915
|
+
* This uses {@link ui/Slottable|Slottable} to accept the custom tags, `<bottomComponents>`
|
|
916
|
+
* to add components to the bottom of the media controls. Any additional children will be
|
|
917
|
+
* rendered into the "more" controls area. Showing the additional components is handled by
|
|
918
|
+
* `MediaControls` when the user navigates down from the media buttons.
|
|
919
|
+
*
|
|
920
|
+
* @class MediaControls
|
|
921
|
+
* @memberof limestone/MediaPlayer
|
|
922
|
+
* @mixes ui/Cancelable.Cancelable
|
|
923
|
+
* @mixes limestone/Skinnable.Skinnable
|
|
924
|
+
* @ui
|
|
925
|
+
* @public
|
|
926
|
+
*/
|
|
927
|
+
var MediaControls = exports.MediaControls = (0, _ApiDecorator["default"])({
|
|
928
|
+
api: ['areMoreComponentsAvailable', 'showMoreComponents', 'hideMoreComponents']
|
|
929
|
+
}, MediaControlsDecorator((0, _Cancelable["default"])({
|
|
930
|
+
modal: true,
|
|
931
|
+
onCancel: handleCancel
|
|
932
|
+
}, (0, _Skinnable["default"])(MediaControlsBase))));
|
|
933
|
+
MediaControls.defaultSlot = 'mediaControlsComponent';
|
|
934
|
+
var _default = exports["default"] = MediaControls;
|