@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.
Files changed (463) hide show
  1. package/.github/PULL_REQUEST_TEMPLATE.md +28 -0
  2. package/.github/workflows/update-copyright-years.yml +25 -0
  3. package/.travis.yml +40 -0
  4. package/ActionGuide/ActionGuide.d.ts +73 -0
  5. package/ActionGuide/ActionGuide.js +164 -0
  6. package/ActionGuide/ActionGuide.module.css +73 -0
  7. package/ActionGuide/package.json +3 -0
  8. package/ActionGuide/tests/ActionGuide-specs.js +51 -0
  9. package/Alert/Alert.d.ts +155 -0
  10. package/Alert/Alert.js +313 -0
  11. package/Alert/Alert.module.css +190 -0
  12. package/Alert/AlertImage.js +102 -0
  13. package/Alert/AlertImage.module.css +15 -0
  14. package/Alert/package.json +3 -0
  15. package/Alert/tests/Alert-specs.js +204 -0
  16. package/BodyText/BodyText.d.ts +74 -0
  17. package/BodyText/BodyText.js +170 -0
  18. package/BodyText/BodyText.module.css +95 -0
  19. package/BodyText/package.json +3 -0
  20. package/BodyText/tests/BodyText-specs.js +55 -0
  21. package/Button/Button.d.ts +131 -0
  22. package/Button/Button.js +351 -0
  23. package/Button/Button.module.css +2518 -0
  24. package/Button/package.json +3 -0
  25. package/Button/tests/Button-specs.js +252 -0
  26. package/CHANGELOG.md +170 -0
  27. package/Card/Card.d.ts +138 -0
  28. package/Card/Card.js +396 -0
  29. package/Card/Card.module.css +1296 -0
  30. package/Card/package.json +3 -0
  31. package/Card/tests/Card-specs.js +65 -0
  32. package/Checkbox/Checkbox.d.ts +99 -0
  33. package/Checkbox/Checkbox.js +222 -0
  34. package/Checkbox/Checkbox.module.css +1395 -0
  35. package/Checkbox/package.json +3 -0
  36. package/Checkbox/tests/Checkbox-specs.js +79 -0
  37. package/CheckboxItem/CheckboxItem.d.ts +99 -0
  38. package/CheckboxItem/CheckboxItem.js +210 -0
  39. package/CheckboxItem/CheckboxItem.module.css +50 -0
  40. package/CheckboxItem/package.json +3 -0
  41. package/CheckboxItem/tests/CheckboxItem-specs.js +52 -0
  42. package/Chips/Chip.js +252 -0
  43. package/Chips/Chip.module.css +30 -0
  44. package/Chips/Chips.js +215 -0
  45. package/Chips/Chips.module.css +8 -0
  46. package/Chips/index.js +86 -0
  47. package/Chips/tests/Chip-specs.js +186 -0
  48. package/Chips/tests/Chips-specs.js +312 -0
  49. package/ColorPicker/ColorPicker.js +416 -0
  50. package/ColorPicker/ColorPicker.module.css +78 -0
  51. package/ColorPicker/package.json +3 -0
  52. package/ColorPicker/tests/ColorPicker-specs.js +225 -0
  53. package/ColorPicker/utils.js +135 -0
  54. package/ContextualMenuDecorator/ContextualMenuDecorator.d.ts +106 -0
  55. package/ContextualMenuDecorator/ContextualMenuDecorator.js +264 -0
  56. package/ContextualMenuDecorator/ContextualMenuDecorator.module.css +42 -0
  57. package/ContextualMenuDecorator/package.json +3 -0
  58. package/ContextualMenuDecorator/tests/ContextualMenuDecorator-specs.js +136 -0
  59. package/ContextualPopupDecorator/ContextualPopup.js +200 -0
  60. package/ContextualPopupDecorator/ContextualPopup.module.css +270 -0
  61. package/ContextualPopupDecorator/ContextualPopupDecorator.d.ts +182 -0
  62. package/ContextualPopupDecorator/ContextualPopupDecorator.js +867 -0
  63. package/ContextualPopupDecorator/ContextualPopupDecorator.module.css +3 -0
  64. package/ContextualPopupDecorator/HolePunchScrim.js +69 -0
  65. package/ContextualPopupDecorator/HolePunchScrim.module.css +38 -0
  66. package/ContextualPopupDecorator/package.json +3 -0
  67. package/ContextualPopupDecorator/tests/ContextualPopupDecorator-specs.js +621 -0
  68. package/DatePicker/DatePicker.d.ts +173 -0
  69. package/DatePicker/DatePicker.js +175 -0
  70. package/DatePicker/DatePicker.module.css +5 -0
  71. package/DatePicker/DatePickerBase.js +348 -0
  72. package/DatePicker/package.json +3 -0
  73. package/DatePicker/tests/DatePicker-specs.js +247 -0
  74. package/DayPicker/DayPicker.d.ts +92 -0
  75. package/DayPicker/DayPicker.js +188 -0
  76. package/DayPicker/DayPicker.module.css +35 -0
  77. package/DayPicker/DaySelectorDecorator.js +301 -0
  78. package/DayPicker/package.json +3 -0
  79. package/DayPicker/tests/DayPicker-specs.js +138 -0
  80. package/Dropdown/Dropdown.d.ts +135 -0
  81. package/Dropdown/Dropdown.js +460 -0
  82. package/Dropdown/Dropdown.module.css +160 -0
  83. package/Dropdown/DropdownList.js +360 -0
  84. package/Dropdown/package.json +3 -0
  85. package/Dropdown/tests/Dropdown-specs.js +267 -0
  86. package/FixedPopupPanels/FixedPopupPanels.d.ts +72 -0
  87. package/FixedPopupPanels/FixedPopupPanels.js +170 -0
  88. package/FixedPopupPanels/FixedPopupPanels.module.css +146 -0
  89. package/FixedPopupPanels/package.json +3 -0
  90. package/FixedPopupPanels/tests/FixedPopupPanels-specs.js +142 -0
  91. package/FlexiblePopupPanels/FlexiblePopupPanels.js +177 -0
  92. package/FlexiblePopupPanels/FlexiblePopupPanels.module.css +291 -0
  93. package/FlexiblePopupPanels/Header.js +110 -0
  94. package/FlexiblePopupPanels/Panel.js +256 -0
  95. package/FlexiblePopupPanels/index.d.ts +145 -0
  96. package/FlexiblePopupPanels/index.js +68 -0
  97. package/FlexiblePopupPanels/package.json +3 -0
  98. package/FlexiblePopupPanels/tests/FlexiblePopupPanels-specs.js +305 -0
  99. package/FlexiblePopupPanels/useNavButtonFocus.js +65 -0
  100. package/FormCheckboxItem/FormCheckboxItem.d.ts +87 -0
  101. package/FormCheckboxItem/FormCheckboxItem.js +200 -0
  102. package/FormCheckboxItem/FormCheckboxItem.module.css +374 -0
  103. package/FormCheckboxItem/package.json +3 -0
  104. package/FormCheckboxItem/tests/FormCheckboxItem-specs.js +164 -0
  105. package/Heading/Heading.d.ts +104 -0
  106. package/Heading/Heading.js +203 -0
  107. package/Heading/Heading.module.css +217 -0
  108. package/Heading/package.json +3 -0
  109. package/Heading/tests/Heading-specs.js +57 -0
  110. package/Icon/Icon.d.ts +377 -0
  111. package/Icon/Icon.js +503 -0
  112. package/Icon/Icon.module.css +121 -0
  113. package/Icon/IconList.js +611 -0
  114. package/Icon/package.json +3 -0
  115. package/Icon/tests/Icon-specs.js +131 -0
  116. package/IconItem/IconItem.d.ts +137 -0
  117. package/IconItem/IconItem.js +360 -0
  118. package/IconItem/IconItem.module.css +414 -0
  119. package/IconItem/package.json +3 -0
  120. package/IconItem/tests/IconItem-specs.js +106 -0
  121. package/Image/Image.d.ts +60 -0
  122. package/Image/Image.js +165 -0
  123. package/Image/Image.module.css +5 -0
  124. package/Image/package.json +3 -0
  125. package/Image/tests/Image-specs.js +62 -0
  126. package/ImageItem/ImageItem.d.ts +134 -0
  127. package/ImageItem/ImageItem.js +377 -0
  128. package/ImageItem/ImageItem.module.css +1079 -0
  129. package/ImageItem/package.json +3 -0
  130. package/ImageItem/tests/ImageItem-specs.js +223 -0
  131. package/Input/Input.js +715 -0
  132. package/Input/Input.module.css +699 -0
  133. package/Input/InputField.js +487 -0
  134. package/Input/InputField.module.css +763 -0
  135. package/Input/InputFieldDecoratorIcon.js +66 -0
  136. package/Input/InputFieldSpotlightDecorator.js +380 -0
  137. package/Input/Keypad.js +111 -0
  138. package/Input/NumberField.js +311 -0
  139. package/Input/index.d.ts +423 -0
  140. package/Input/index.js +87 -0
  141. package/Input/package.json +3 -0
  142. package/Input/pointer.js +103 -0
  143. package/Input/tests/Input-specs.js +537 -0
  144. package/Input/tests/InputField-specs.js +292 -0
  145. package/Input/tests/InputPopup-specs.js +56 -0
  146. package/Input/util.js +130 -0
  147. package/Item/Item.d.ts +108 -0
  148. package/Item/Item.js +360 -0
  149. package/Item/Item.module.css +665 -0
  150. package/Item/package.json +3 -0
  151. package/Item/tests/Item-specs.js +108 -0
  152. package/KeyGuide/KeyGuide.d.ts +103 -0
  153. package/KeyGuide/KeyGuide.js +254 -0
  154. package/KeyGuide/KeyGuide.module.css +431 -0
  155. package/KeyGuide/package.json +3 -0
  156. package/KeyGuide/tests/KeyGuide-specs.js +168 -0
  157. package/LICENSE +201 -0
  158. package/Marquee/Marquee.d.ts +42 -0
  159. package/Marquee/Marquee.js +45 -0
  160. package/Marquee/package.json +3 -0
  161. package/MediaOverlay/MediaOverlay.d.ts +134 -0
  162. package/MediaOverlay/MediaOverlay.js +304 -0
  163. package/MediaOverlay/MediaOverlay.module.css +292 -0
  164. package/MediaOverlay/package.json +3 -0
  165. package/MediaOverlay/tests/MediaOverlay-specs.js +127 -0
  166. package/MediaPlayer/MediaControls.js +934 -0
  167. package/MediaPlayer/MediaControls.module.css +86 -0
  168. package/MediaPlayer/MediaKnob.js +61 -0
  169. package/MediaPlayer/MediaSlider.js +131 -0
  170. package/MediaPlayer/MediaSlider.module.css +319 -0
  171. package/MediaPlayer/MediaSliderDecorator.js +245 -0
  172. package/MediaPlayer/Times.js +152 -0
  173. package/MediaPlayer/Times.module.css +34 -0
  174. package/MediaPlayer/index.d.ts +223 -0
  175. package/MediaPlayer/index.js +34 -0
  176. package/MediaPlayer/package.json +3 -0
  177. package/MediaPlayer/tests/MediaSlider-specs.js +126 -0
  178. package/MediaPlayer/tests/util-specs.js +114 -0
  179. package/MediaPlayer/util.js +83 -0
  180. package/PageViews/Page.js +77 -0
  181. package/PageViews/Page.module.css +3 -0
  182. package/PageViews/PageViews.js +440 -0
  183. package/PageViews/PageViews.module.css +175 -0
  184. package/PageViews/PageViewsRouter.js +150 -0
  185. package/PageViews/index.js +45 -0
  186. package/PageViews/tests/PageViews-specs.js +192 -0
  187. package/Panels/Header.js +599 -0
  188. package/Panels/Header.module.css +243 -0
  189. package/Panels/Panel.js +347 -0
  190. package/Panels/Panel.module.css +33 -0
  191. package/Panels/Panels.js +258 -0
  192. package/Panels/Panels.module.css +12 -0
  193. package/Panels/index.d.ts +376 -0
  194. package/Panels/index.js +66 -0
  195. package/Panels/package.json +3 -0
  196. package/Panels/tests/Header-specs.js +146 -0
  197. package/Panels/tests/Panels-specs.js +257 -0
  198. package/Picker/Picker.d.ts +193 -0
  199. package/Picker/Picker.js +389 -0
  200. package/Picker/Picker.module.css +46 -0
  201. package/Picker/package.json +3 -0
  202. package/Picker/tests/Picker-specs.js +91 -0
  203. package/Popup/Popup.d.ts +169 -0
  204. package/Popup/Popup.js +690 -0
  205. package/Popup/Popup.module.css +180 -0
  206. package/Popup/package.json +3 -0
  207. package/Popup/tests/Popup-specs.js +475 -0
  208. package/PopupTabLayout/PopupTabLayout.d.ts +196 -0
  209. package/PopupTabLayout/PopupTabLayout.js +605 -0
  210. package/PopupTabLayout/PopupTabLayout.module.css +226 -0
  211. package/PopupTabLayout/package.json +3 -0
  212. package/PopupTabLayout/tests/PopupTabLayout-specs.js +285 -0
  213. package/ProgressBar/ProgressBar.d.ts +171 -0
  214. package/ProgressBar/ProgressBar.js +223 -0
  215. package/ProgressBar/ProgressBar.module.css +264 -0
  216. package/ProgressBar/ProgressBarTooltip.js +359 -0
  217. package/ProgressBar/ProgressBarTooltip.module.css +86 -0
  218. package/ProgressBar/package.json +3 -0
  219. package/ProgressBar/tests/ProgressBar-specs.js +400 -0
  220. package/ProgressButton/ProgressButton.d.ts +57 -0
  221. package/ProgressButton/ProgressButton.js +143 -0
  222. package/ProgressButton/ProgressButton.module.css +147 -0
  223. package/ProgressButton/package.json +3 -0
  224. package/ProgressButton/tests/ProgressButton-specs.js +71 -0
  225. package/QuickGuidePanels/Panel.js +90 -0
  226. package/QuickGuidePanels/QuickGuidePanels.js +463 -0
  227. package/QuickGuidePanels/QuickGuidePanels.module.css +26 -0
  228. package/QuickGuidePanels/index.js +52 -0
  229. package/QuickGuidePanels/tests/QuickGuidePanels-specs.js +250 -0
  230. package/README.md +59 -0
  231. package/RadioItem/RadioItem.d.ts +59 -0
  232. package/RadioItem/RadioItem.js +146 -0
  233. package/RadioItem/RadioItem.module.css +233 -0
  234. package/RadioItem/package.json +3 -0
  235. package/RadioItem/tests/RadioItem-specs.js +62 -0
  236. package/RangePicker/RangePicker.d.ts +174 -0
  237. package/RangePicker/RangePicker.js +372 -0
  238. package/RangePicker/RangePicker.module.css +55 -0
  239. package/RangePicker/package.json +3 -0
  240. package/RangePicker/tests/RangePicker-specs.js +122 -0
  241. package/Region/Region.d.ts +33 -0
  242. package/Region/Region.js +91 -0
  243. package/Region/package.json +3 -0
  244. package/Region/tests/Region-specs.js +28 -0
  245. package/Scroller/ContentContainerDecorator.js +24 -0
  246. package/Scroller/EditableWrapper.js +1036 -0
  247. package/Scroller/EditableWrapper.module.css +22 -0
  248. package/Scroller/Scroller.d.ts +270 -0
  249. package/Scroller/Scroller.js +470 -0
  250. package/Scroller/Scroller.module.css +41 -0
  251. package/Scroller/package.json +3 -0
  252. package/Scroller/tests/ContentContainerDecorator-specs.js +20 -0
  253. package/Scroller/tests/EditableWrapper-specs.js +133 -0
  254. package/Scroller/tests/Scroller-specs.js +159 -0
  255. package/Scroller/useEvent.js +39 -0
  256. package/Scroller/useThemeScroller.js +410 -0
  257. package/Skinnable/Skinnable.d.ts +27 -0
  258. package/Skinnable/Skinnable.js +65 -0
  259. package/Skinnable/package.json +3 -0
  260. package/Slider/Slider.d.ts +218 -0
  261. package/Slider/Slider.js +441 -0
  262. package/Slider/Slider.module.css +880 -0
  263. package/Slider/SliderBehaviorDecorator.js +184 -0
  264. package/Slider/package.json +3 -0
  265. package/Slider/tests/Slider-specs.js +573 -0
  266. package/Slider/utils.js +114 -0
  267. package/Spinner/Spinner.d.ts +64 -0
  268. package/Spinner/Spinner.js +254 -0
  269. package/Spinner/Spinner.module.css +368 -0
  270. package/Spinner/package.json +3 -0
  271. package/Spinner/tests/Spinner-specs.js +70 -0
  272. package/Sprite/Sprite.d.ts +100 -0
  273. package/Sprite/Sprite.js +345 -0
  274. package/Sprite/Sprite.module.css +32 -0
  275. package/Sprite/package.json +3 -0
  276. package/Sprite/tests/Sprite-specs.js +59 -0
  277. package/Steps/Steps.d.ts +119 -0
  278. package/Steps/Steps.js +303 -0
  279. package/Steps/Steps.module.css +130 -0
  280. package/Steps/package.json +3 -0
  281. package/Steps/tests/Steps-specs.js +175 -0
  282. package/Switch/Switch.d.ts +54 -0
  283. package/Switch/Switch.js +143 -0
  284. package/Switch/Switch.module.css +714 -0
  285. package/Switch/package.json +3 -0
  286. package/Switch/tests/Switch-specs.js +54 -0
  287. package/SwitchItem/SwitchItem.d.ts +56 -0
  288. package/SwitchItem/SwitchItem.js +144 -0
  289. package/SwitchItem/SwitchItem.module.css +31 -0
  290. package/SwitchItem/package.json +3 -0
  291. package/SwitchItem/tests/SwitchItem-specs.js +49 -0
  292. package/TabLayout/RefocusDecorator.js +142 -0
  293. package/TabLayout/Tab.js +84 -0
  294. package/TabLayout/TabGroup.js +377 -0
  295. package/TabLayout/TabGroup.module.css +280 -0
  296. package/TabLayout/TabLayout.d.ts +161 -0
  297. package/TabLayout/TabLayout.js +661 -0
  298. package/TabLayout/TabLayout.module.css +101 -0
  299. package/TabLayout/package.json +3 -0
  300. package/TabLayout/tests/TabGroup-specs.js +214 -0
  301. package/TabLayout/tests/TabLayout-specs.js +740 -0
  302. package/ThemeDecorator/AccessibilityDecorator.js +151 -0
  303. package/ThemeDecorator/I18nFontDecorator.js +33 -0
  304. package/ThemeDecorator/ThemeDecorator.d.ts +143 -0
  305. package/ThemeDecorator/ThemeDecorator.js +307 -0
  306. package/ThemeDecorator/ThemeDecorator.module.css +1250 -0
  307. package/ThemeDecorator/fontGenerator.js +76 -0
  308. package/ThemeDecorator/package.json +3 -0
  309. package/ThemeDecorator/screenTypes.json +10 -0
  310. package/ThemeDecorator/tests/ThemeDecorator-specs.js +151 -0
  311. package/TimePicker/TimePicker.d.ts +147 -0
  312. package/TimePicker/TimePicker.js +255 -0
  313. package/TimePicker/TimePicker.module.css +61 -0
  314. package/TimePicker/TimePickerBase.js +396 -0
  315. package/TimePicker/package.json +3 -0
  316. package/TimePicker/tests/TimePicker-specs.js +248 -0
  317. package/TooltipDecorator/Tooltip.js +252 -0
  318. package/TooltipDecorator/Tooltip.module.css +496 -0
  319. package/TooltipDecorator/TooltipDecorator.d.ts +229 -0
  320. package/TooltipDecorator/TooltipDecorator.js +260 -0
  321. package/TooltipDecorator/TooltipLabel.js +117 -0
  322. package/TooltipDecorator/package.json +3 -0
  323. package/TooltipDecorator/tests/TooltipDecorator-specs.js +224 -0
  324. package/TooltipDecorator/tests/useTooltip-specs.js +266 -0
  325. package/TooltipDecorator/useTooltip.js +278 -0
  326. package/TooltipDecorator/util.js +273 -0
  327. package/VideoPlayer/Feedback.js +110 -0
  328. package/VideoPlayer/Feedback.module.css +55 -0
  329. package/VideoPlayer/FeedbackContent.js +99 -0
  330. package/VideoPlayer/FeedbackIcon.js +67 -0
  331. package/VideoPlayer/FeedbackIcons.js +76 -0
  332. package/VideoPlayer/FeedbackTooltip.js +242 -0
  333. package/VideoPlayer/FeedbackTooltip.module.css +160 -0
  334. package/VideoPlayer/MediaTitle.js +143 -0
  335. package/VideoPlayer/MediaTitle.module.css +95 -0
  336. package/VideoPlayer/Overlay.js +51 -0
  337. package/VideoPlayer/Video.js +345 -0
  338. package/VideoPlayer/VideoPlayer.d.ts +582 -0
  339. package/VideoPlayer/VideoPlayer.js +2116 -0
  340. package/VideoPlayer/VideoPlayer.module.css +164 -0
  341. package/VideoPlayer/package.json +3 -0
  342. package/VideoPlayer/tests/Video-specs.js +235 -0
  343. package/VideoPlayer/tests/VideoPlayer-specs.js +180 -0
  344. package/VirtualList/VirtualList.d.ts +411 -0
  345. package/VirtualList/VirtualList.js +931 -0
  346. package/VirtualList/VirtualList.module.css +52 -0
  347. package/VirtualList/package.json +3 -0
  348. package/VirtualList/tests/VirtualGridList-specs.js +289 -0
  349. package/VirtualList/tests/VirtualGridList-translate-specs.js +711 -0
  350. package/VirtualList/tests/VirtualList-specs.js +288 -0
  351. package/VirtualList/tests/VirtualList-translate-specs.js +704 -0
  352. package/VirtualList/tests/useEvent-specs.js +172 -0
  353. package/VirtualList/tests/useEvent-translate-specs.js +309 -0
  354. package/VirtualList/useEvent.js +324 -0
  355. package/VirtualList/usePreventScroll.js +31 -0
  356. package/VirtualList/useSpotlight.js +157 -0
  357. package/VirtualList/useThemeVirtualList.js +471 -0
  358. package/VirtualList/useThemeVirtualList.module.css +34 -0
  359. package/WizardPanels/Panel.js +99 -0
  360. package/WizardPanels/WizardPanels.js +501 -0
  361. package/WizardPanels/WizardPanels.module.css +15 -0
  362. package/WizardPanels/index.d.ts +182 -0
  363. package/WizardPanels/index.js +50 -0
  364. package/WizardPanels/package.json +3 -0
  365. package/WizardPanels/tests/WizardPanels-specs.js +713 -0
  366. package/codecov.yml +13 -0
  367. package/fonts/Limestone_Icons.ttf +0 -0
  368. package/fonts/Miso/LICENSE.txt +75 -0
  369. package/fonts/Miso/Miso-Bold.ttf +0 -0
  370. package/fonts/Miso/Miso-Light.ttf +0 -0
  371. package/fonts/Miso/Miso-Regular.ttf +0 -0
  372. package/fonts/MuseoSans/LICENSE.txt +75 -0
  373. package/fonts/MuseoSans/MuseoSans-Black.ttf +0 -0
  374. package/fonts/MuseoSans/MuseoSans-BlackItalic.ttf +0 -0
  375. package/fonts/MuseoSans/MuseoSans-Bold.ttf +0 -0
  376. package/fonts/MuseoSans/MuseoSans-BoldItalic.ttf +0 -0
  377. package/fonts/MuseoSans/MuseoSans-Light.ttf +0 -0
  378. package/fonts/MuseoSans/MuseoSans-Medium.ttf +0 -0
  379. package/fonts/MuseoSans/MuseoSans-MediumItalic.ttf +0 -0
  380. package/fonts/MuseoSans/MuseoSans-Thin.ttf +0 -0
  381. package/index.js +2 -0
  382. package/internal/$L/$L.d.ts +21 -0
  383. package/internal/$L/$L.js +97 -0
  384. package/internal/$L/package.json +3 -0
  385. package/internal/AsyncRenderChildren/AsyncRenderChildren.js +74 -0
  386. package/internal/AsyncRenderChildren/package.json +3 -0
  387. package/internal/AsyncRenderChildren/tests/AsyncRenderChildren-specs.js +49 -0
  388. package/internal/DateComponentPicker/DateComponentPicker.js +165 -0
  389. package/internal/DateComponentPicker/DateComponentPicker.module.css +53 -0
  390. package/internal/DateComponentPicker/DateComponentRangePicker.js +132 -0
  391. package/internal/DateComponentPicker/index.js +31 -0
  392. package/internal/DateComponentPicker/package.json +3 -0
  393. package/internal/DateTime/DateTime.js +83 -0
  394. package/internal/DateTime/DateTime.module.css +51 -0
  395. package/internal/DateTime/DateTimeDecorator.js +268 -0
  396. package/internal/DateTime/index.js +37 -0
  397. package/internal/DateTime/package.json +3 -0
  398. package/internal/DateTime/tests/DateTimeDecorator-specs.js +33 -0
  399. package/internal/DebounceDecorator/DebounceDecorator.js +125 -0
  400. package/internal/DebounceDecorator/package.json +3 -0
  401. package/internal/DebounceDecorator/tests/DebounceDecorator-specs.js +151 -0
  402. package/internal/Panels/Arrangers.js +248 -0
  403. package/internal/Panels/CancelDecorator.js +43 -0
  404. package/internal/Panels/FloatingLayerIdProvider.js +27 -0
  405. package/internal/Panels/NavigationButton.js +64 -0
  406. package/internal/Panels/NavigationButton.module.css +69 -0
  407. package/internal/Panels/PanelsRouter.js +223 -0
  408. package/internal/Panels/PopupDecorator.js +287 -0
  409. package/internal/Panels/TransitionDecorator.js +99 -0
  410. package/internal/Panels/Viewport.js +313 -0
  411. package/internal/Panels/Viewport.module.css +25 -0
  412. package/internal/Panels/captureKeys.js +48 -0
  413. package/internal/Panels/index.js +101 -0
  414. package/internal/Panels/package.json +3 -0
  415. package/internal/Panels/useAutoFocus.js +95 -0
  416. package/internal/Panels/useFocusOnTransition.js +45 -0
  417. package/internal/Panels/useToggleRole.js +30 -0
  418. package/internal/Panels/util.js +64 -0
  419. package/internal/Picker/Picker.js +942 -0
  420. package/internal/Picker/Picker.module.css +1145 -0
  421. package/internal/Picker/PickerButton.js +97 -0
  422. package/internal/Picker/PickerItem.js +38 -0
  423. package/internal/Picker/SpottablePicker.js +63 -0
  424. package/internal/Picker/package.json +3 -0
  425. package/internal/Picker/tests/Picker-specs.js +968 -0
  426. package/internal/SharedStateDecorator/SharedStateDecorator.js +167 -0
  427. package/internal/SharedStateDecorator/package.json +3 -0
  428. package/internal/SharedStateDecorator/tests/SharedStateDecorator-specs.js +277 -0
  429. package/internal/WindowEventable/WindowEventable.js +114 -0
  430. package/internal/WindowEventable/package.json +3 -0
  431. package/internal/util/package.json +3 -0
  432. package/internal/util/util.js +79 -0
  433. package/internal/validators/package.json +4 -0
  434. package/internal/validators/tests/validators-specs.js +80 -0
  435. package/internal/validators/validators.js +136 -0
  436. package/package.json +69 -0
  437. package/resources/ilibmanifest.json +3 -0
  438. package/styles/color-mixins.less +230 -0
  439. package/styles/colors-game-green.less +25 -0
  440. package/styles/colors-game-orange.less +25 -0
  441. package/styles/colors-game.less +56 -0
  442. package/styles/colors-highcontrast.less +21 -0
  443. package/styles/colors.less +435 -0
  444. package/styles/mixins.less +337 -0
  445. package/styles/skin.less +54 -0
  446. package/styles/variables-base.less +32 -0
  447. package/styles/variables-game.less +25 -0
  448. package/styles/variables.less +1182 -0
  449. package/useScroll/HoverToScroll.js +265 -0
  450. package/useScroll/HoverToScroll.module.css +38 -0
  451. package/useScroll/OverscrollEffect.module.css +14 -0
  452. package/useScroll/Scrollbar.js +171 -0
  453. package/useScroll/Scrollbar.module.css +19 -0
  454. package/useScroll/ScrollbarPlaceholder.js +64 -0
  455. package/useScroll/ScrollbarTrack.js +209 -0
  456. package/useScroll/ScrollbarTrack.module.css +136 -0
  457. package/useScroll/package.json +3 -0
  458. package/useScroll/useEvent.js +693 -0
  459. package/useScroll/useOverscrollEffect.js +105 -0
  460. package/useScroll/useScroll.js +523 -0
  461. package/useScroll/useScroll.module.css +49 -0
  462. package/useScroll/useSpotlight.js +32 -0
  463. package/useScroll/useThemeScrollContentHandle.js +32 -0
@@ -0,0 +1,55 @@
1
+ .feedback {
2
+ display: inline-block;
3
+ margin-inline-end: var(--primitive-spacing-12);
4
+ }
5
+ .feedback.hidden {
6
+ display: none;
7
+ }
8
+ .feedback > * {
9
+ display: inline-block;
10
+ margin: 0.5rem;
11
+ margin-inline-end: var(--primitive-spacing-12);
12
+ }
13
+ .feedback > *:last-child {
14
+ margin-inline-end: 0;
15
+ }
16
+ .feedback .message {
17
+ font-family: "Limestone";
18
+ font-weight: var(--primitive-font-weight-semibold);
19
+ }
20
+ :global(.enact-locale-non-latin) .feedback .message {
21
+ font-family: "Limestone";
22
+ font-weight: var(--primitive-font-weight-semibold);
23
+ }
24
+ .feedback .icon {
25
+ font-size: 1.25em;
26
+ margin: 0;
27
+ height: inherit;
28
+ line-height: inherit;
29
+ vertical-align: bottom;
30
+ }
31
+ .feedback .icon:global(.neutral) {
32
+ color: inherit;
33
+ }
34
+ :global(.enact-a11y-high-contrast) .feedback .icon:global(.neutral):global(.highContrast) {
35
+ color: inherit;
36
+ }
37
+ .feedback .icon:global(.light) {
38
+ color: inherit;
39
+ }
40
+ .feedback .icon:global(.game) {
41
+ --semantic-color-surface-default: #2d224c;
42
+ --semantic-color-surface-default-focused: #6d2fa1;
43
+ --semantic-color-on-surface-main-focused: #e6e6e6;
44
+ color: inherit;
45
+ }
46
+ :global(.green) .feedback .icon:global(.game) {
47
+ --semantic-color-surface-default: #1F2C24;
48
+ --semantic-color-surface-default-focused: #3ea07d;
49
+ color: inherit;
50
+ }
51
+ :global(.orange) .feedback .icon:global(.game) {
52
+ --semantic-color-surface-default: #422923;
53
+ --semantic-color-surface-default-focused: #b85f23;
54
+ color: inherit;
55
+ }
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.FeedbackContentBase = exports.FeedbackContent = void 0;
7
+ var _kind = _interopRequireDefault(require("@enact/core/kind"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _util = require("../internal/util");
10
+ var _Feedback = _interopRequireDefault(require("./Feedback"));
11
+ var _FeedbackIcons = _interopRequireDefault(require("./FeedbackIcons.js"));
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ var _excluded = ["children", "playbackRate", "playbackState", "feedbackVisible", "visible"];
14
+ /**
15
+ * FeedbackContent {@link limestone/VideoPlayer}. This displays the media's playback rate and other
16
+ * information.
17
+ *
18
+ * @class FeedbackContent
19
+ * @memberof limestone/VideoPlayer
20
+ * @ui
21
+ * @private
22
+ */
23
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
24
+ 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; }
25
+ 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; }
26
+ 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; }
27
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
28
+ 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); }
29
+ 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; }
30
+ 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; }
31
+ var FeedbackContentBase = exports.FeedbackContentBase = (0, _kind["default"])({
32
+ name: 'FeedbackContent',
33
+ propTypes: /** @lends limestone/VideoPlayer.Feedback.prototype */{
34
+ /**
35
+ * If the current `playbackState` allows the feedback component's visibility to be changed,
36
+ * the feedback component will be hidden. If not, setting this property will have no effect.
37
+ * All `playbackState`s respond to this property except the following:
38
+ * `'rewind'`, `'fastForward'`.
39
+ *
40
+ * @type {Boolean}
41
+ * @default true
42
+ * @public
43
+ */
44
+ feedbackVisible: _propTypes["default"].bool,
45
+ /**
46
+ * Value of the feedback playback rate
47
+ *
48
+ * @type {String|Number}
49
+ * @public
50
+ */
51
+ playbackRate: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
52
+ /**
53
+ * Refers to one of the following possible media playback states.
54
+ * `'play'`, `'pause'`, `'rewind'`, `'fastForward'`,
55
+ * `'jumpBackward'`, `'jumpForward'`, `'jumpToStart'`, `'jumpToEnd'`, `'stop'`.
56
+ *
57
+ * Each state understands where its related icon should be positioned and whether it should
58
+ * respond to changes to the `visible` property.
59
+ *
60
+ * This string feeds directly into {@link limestone/FeedbackIcon.FeedbackIcon}.
61
+ *
62
+ * @type {('play'|'pause'|'rewind'|'fastForward'|'jumpBackward'|'jumpForward'|'jumpToStart'|'jumpToEnd'|'stop')}
63
+ * @public
64
+ */
65
+ playbackState: _propTypes["default"].oneOf(Object.keys(_FeedbackIcons["default"])),
66
+ /**
67
+ * The visibility of the component. When `false`, the component will be hidden.
68
+ *
69
+ * @type {Boolean}
70
+ * @default true
71
+ * @public
72
+ */
73
+ visible: _propTypes["default"].bool
74
+ },
75
+ defaultProps: {
76
+ feedbackVisible: true,
77
+ visible: true
78
+ },
79
+ render: function render(_ref) {
80
+ var children = _ref.children,
81
+ playbackRate = _ref.playbackRate,
82
+ playbackState = _ref.playbackState,
83
+ feedbackVisible = _ref.feedbackVisible,
84
+ visible = _ref.visible,
85
+ rest = _objectWithoutProperties(_ref, _excluded);
86
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({}, rest), {}, {
87
+ style: !visible ? {
88
+ display: 'none'
89
+ } : null,
90
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Feedback["default"], {
91
+ playbackState: playbackState,
92
+ visible: feedbackVisible,
93
+ children: playbackRate
94
+ }), children]
95
+ }));
96
+ }
97
+ });
98
+ var FeedbackContent = exports.FeedbackContent = (0, _util.onlyUpdateForProps)(FeedbackContentBase, ['children', 'feedbackVisible', 'playbackRate', 'playbackState', 'visible']);
99
+ var _default = exports["default"] = FeedbackContent;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.FeedbackIconBase = exports.FeedbackIcon = void 0;
7
+ var _kind = _interopRequireDefault(require("@enact/core/kind"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _Skinnable = _interopRequireDefault(require("../Skinnable"));
10
+ var _Icon = _interopRequireDefault(require("../Icon"));
11
+ var _FeedbackIcons = _interopRequireDefault(require("./FeedbackIcons.js"));
12
+ var _FeedbackModule = _interopRequireDefault(require("./Feedback.module.css"));
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ var _excluded = ["children"];
15
+ /**
16
+ * Feedback Icon for {@link limestone/VideoPlayer.Feedback}.
17
+ *
18
+ * @class FeedbackIcon
19
+ * @memberof limestone/VideoPlayer
20
+ * @ui
21
+ * @private
22
+ */
23
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
24
+ 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; }
25
+ 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; }
26
+ 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; }
27
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
28
+ 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); }
29
+ 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; }
30
+ 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; }
31
+ var FeedbackIconBase = exports.FeedbackIconBase = (0, _kind["default"])({
32
+ name: 'FeedbackIcon',
33
+ propTypes: /** @lends limestone/VideoPlayer.FeedbackIcon.prototype */{
34
+ /**
35
+ * Refers to one of the following possible media playback states.
36
+ * `'play'`, `'pause'`, `'rewind'`, `'fastForward'` ,
37
+ * `'jumpBackward'`, `'jumpForward'`, `'jumpToStart'`, `'jumpToEnd'`, `'stop'`.
38
+ *
39
+ * @type {('play'|'pause'|'rewind'|'fastForward'|'jumpBackward'|'jumpForward'|'jumpToStart'|'jumpToEnd'|'stop')}
40
+ * @public
41
+ */
42
+ children: _propTypes["default"].oneOf(Object.keys(_FeedbackIcons["default"]))
43
+ },
44
+ styles: {
45
+ css: _FeedbackModule["default"],
46
+ className: 'icon'
47
+ },
48
+ computed: {
49
+ children: function children(_ref) {
50
+ var _children = _ref.children;
51
+ return _children && _FeedbackIcons["default"][_children] && _FeedbackIcons["default"][_children].icon;
52
+ }
53
+ },
54
+ render: function render(_ref2) {
55
+ var children = _ref2.children,
56
+ rest = _objectWithoutProperties(_ref2, _excluded);
57
+ if (children) {
58
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon["default"], _objectSpread(_objectSpread({}, rest), {}, {
59
+ size: "large",
60
+ children: children
61
+ }));
62
+ }
63
+ return null;
64
+ }
65
+ });
66
+ var FeedbackIcon = exports.FeedbackIcon = (0, _Skinnable["default"])(FeedbackIconBase);
67
+ var _default = exports["default"] = FeedbackIcon;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ // Full List (Hash) of Feedback states and their icons with metadata
8
+ //
9
+ var _default = exports["default"] = {
10
+ play: {
11
+ icon: 'play',
12
+ position: 'after',
13
+ allowHide: true,
14
+ message: null
15
+ },
16
+ pause: {
17
+ icon: 'pause',
18
+ position: 'after',
19
+ allowHide: false,
20
+ message: null
21
+ },
22
+ rewind: {
23
+ icon: 'backward',
24
+ position: 'before',
25
+ allowHide: false,
26
+ message: 'x'
27
+ },
28
+ slowRewind: {
29
+ icon: 'pausebackward',
30
+ position: 'before',
31
+ allowHide: false,
32
+ message: 'x'
33
+ },
34
+ fastForward: {
35
+ icon: 'forward',
36
+ position: 'after',
37
+ allowHide: false,
38
+ message: 'x'
39
+ },
40
+ slowForward: {
41
+ icon: 'pauseforward',
42
+ position: 'after',
43
+ allowHide: false,
44
+ message: 'x'
45
+ },
46
+ jumpBackward: {
47
+ icon: 'pausejumpbackward',
48
+ position: 'before',
49
+ allowHide: false,
50
+ message: ' '
51
+ },
52
+ jumpForward: {
53
+ icon: 'pausejumpforward',
54
+ position: 'after',
55
+ allowHide: false,
56
+ message: ' '
57
+ },
58
+ jumpToStart: {
59
+ icon: 'jumpbackward',
60
+ position: 'before',
61
+ allowHide: true,
62
+ message: null
63
+ },
64
+ jumpToEnd: {
65
+ icon: 'jumpforward',
66
+ position: 'after',
67
+ allowHide: true,
68
+ message: null
69
+ },
70
+ stop: {
71
+ icon: 'stop',
72
+ position: null,
73
+ allowHide: true,
74
+ message: null
75
+ }
76
+ };
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.FeedbackTooltipBase = exports.FeedbackTooltip = void 0;
7
+ var _kind = _interopRequireDefault(require("@enact/core/kind"));
8
+ var _ComponentOverride = _interopRequireDefault(require("@enact/ui/ComponentOverride"));
9
+ var _propTypes = _interopRequireDefault(require("@enact/core/internal/prop-types"));
10
+ var _propTypes2 = _interopRequireDefault(require("prop-types"));
11
+ var _Image = _interopRequireDefault(require("../Image"));
12
+ var _util = require("../internal/util");
13
+ var _Skinnable = _interopRequireDefault(require("../Skinnable"));
14
+ var _FeedbackContent = _interopRequireDefault(require("./FeedbackContent"));
15
+ var _FeedbackIcons = _interopRequireDefault(require("./FeedbackIcons.js"));
16
+ var _MediaPlayer = require("../MediaPlayer/");
17
+ var _FeedbackTooltipModule = _interopRequireDefault(require("./FeedbackTooltip.module.css"));
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ var _excluded = ["arrowContainerClassName", "children", "feedbackVisible", "playbackState", "playbackRate", "thumbnailComponent"];
20
+ /**
21
+ * FeedbackTooltip {@link limestone/VideoPlayer}. This displays the media's playback rate and
22
+ * time information.
23
+ *
24
+ * @class FeedbackTooltip
25
+ * @memberof limestone/VideoPlayer
26
+ * @ui
27
+ * @private
28
+ */
29
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
30
+ 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; }
31
+ 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; }
32
+ 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; }
33
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
34
+ 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); }
35
+ 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; }
36
+ 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; }
37
+ var FeedbackTooltipBase = exports.FeedbackTooltipBase = (0, _kind["default"])({
38
+ name: 'FeedbackTooltip',
39
+ propTypes: /** @lends limestone/VideoPlayer.FeedbackTooltip.prototype */{
40
+ /**
41
+ * Invoke action to display or hide tooltip.
42
+ *
43
+ * @type {('focus'|'blur'|'idle')}
44
+ * @default 'idle'
45
+ */
46
+ action: _propTypes2["default"].oneOf(['focus', 'blur', 'idle']),
47
+ /**
48
+ * Duration of the current media in seconds
49
+ *
50
+ * @type {Number}
51
+ * @default 0
52
+ * @public
53
+ */
54
+ duration: _propTypes2["default"].number,
55
+ /**
56
+ * Instance of `NumFmt` to format the time
57
+ *
58
+ * @type {Object}
59
+ * @public
60
+ */
61
+ formatter: _propTypes2["default"].object,
62
+ /**
63
+ * If the current `playbackState` allows this component's visibility to be changed,
64
+ * this component will be hidden. If not, setting this property will have no effect.
65
+ * All `playbackState`s respond to this property except the following:
66
+ * `'rewind'`, `'fastForward'`.
67
+ *
68
+ * @type {Boolean}
69
+ * @default false
70
+ * @public
71
+ */
72
+ hidden: _propTypes2["default"].bool,
73
+ /**
74
+ * Part of the API required by `ui/Slider` but not used by FeedbackTooltip which only
75
+ * supports horizontal orientation
76
+ *
77
+ * @type {String}
78
+ * @private
79
+ */
80
+ orientation: _propTypes2["default"].string,
81
+ /**
82
+ * Value of the feedback playback rate
83
+ *
84
+ * @type {String|Number}
85
+ * @public
86
+ */
87
+ playbackRate: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].number]),
88
+ /**
89
+ * Refers to one of the following possible media playback states.
90
+ * `'play'`, `'pause'`, `'rewind'`, `'fastForward'` ,
91
+ * `'jumpBackward'`, `'jumpForward'`, `'jumpToStart'`, `'jumpToEnd'`, `'stop'`.
92
+ *
93
+ * Each state understands where its related icon should be positioned, and whether it should
94
+ * respond to changes to the `visible` property.
95
+ *
96
+ * This string feeds directly into {@link limestone/FeedbackIcon.FeedbackIcon}.
97
+ *
98
+ * @type {('play'|'pause'|'rewind'|'fastForward'|'jumpBackward'|'jumpForward'|'jumpToStart'|'jumpToEnd'|'stop')}
99
+ * @public
100
+ */
101
+ playbackState: _propTypes2["default"].oneOf(Object.keys(_FeedbackIcons["default"])),
102
+ /**
103
+ * This component will be used instead of the built-in version. The internal thumbnail style
104
+ * will be applied to this component. This component follows the same rules as the built-in
105
+ * version; hiding and showing according to the state of `action`.
106
+ *
107
+ * This can be a tag name as a string, a rendered DOM node, a component, or a component
108
+ * instance.
109
+ *
110
+ * @type {String|Component|Element}
111
+ * @public
112
+ */
113
+ thumbnailComponent: _propTypes["default"].renderableOverride,
114
+ /**
115
+ * `true` if Slider knob is scrubbing.
116
+ *
117
+ * @type {Boolean}
118
+ * @public
119
+ */
120
+ thumbnailDeactivated: _propTypes2["default"].bool,
121
+ /**
122
+ * Set a thumbnail image source to show on VideoPlayer's Slider knob. This is a standard
123
+ * {@link limestone/Image} component so it supports all the same options for the `src`
124
+ * property. If no `thumbnailSrc` is set, no tooltip will display.
125
+ *
126
+ * @type {String|Object}
127
+ * @public
128
+ */
129
+ thumbnailSrc: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].object]),
130
+ /**
131
+ * Required by the interface for limestone/Slider.tooltip but not used here
132
+ *
133
+ * @type {Boolean}
134
+ * @default true
135
+ * @public
136
+ */
137
+ visible: _propTypes2["default"].bool
138
+ },
139
+ defaultProps: {
140
+ action: 'idle',
141
+ thumbnailDeactivated: false,
142
+ hidden: false
143
+ },
144
+ styles: {
145
+ css: _FeedbackTooltipModule["default"],
146
+ className: 'feedbackTooltip'
147
+ },
148
+ computed: {
149
+ arrowContainerClassName: function arrowContainerClassName(_ref) {
150
+ var action = _ref.action,
151
+ styler = _ref.styler,
152
+ thumbnailComponent = _ref.thumbnailComponent,
153
+ thumbnailSrc = _ref.thumbnailSrc;
154
+ return styler.join('arrowContainer', {
155
+ hidden: action !== 'focus' || !thumbnailComponent && !thumbnailSrc
156
+ });
157
+ },
158
+ children: function children(_ref2) {
159
+ var _children = _ref2.children,
160
+ duration = _ref2.duration,
161
+ formatter = _ref2.formatter;
162
+ return (0, _MediaPlayer.secondsToTime)(_children * duration, formatter);
163
+ },
164
+ className: function className(_ref3) {
165
+ var hidden = _ref3.hidden,
166
+ s = _ref3.playbackState,
167
+ thumbnailDeactivated = _ref3.thumbnailDeactivated,
168
+ styler = _ref3.styler,
169
+ action = _ref3.action,
170
+ thumbnailComponent = _ref3.thumbnailComponent,
171
+ thumbnailSrc = _ref3.thumbnailSrc;
172
+ return styler.append({
173
+ hidden: hidden && _FeedbackIcons["default"][s] && _FeedbackIcons["default"][s].allowHide,
174
+ thumbnailDeactivated: thumbnailDeactivated,
175
+ shift: action === 'focus' && (thumbnailComponent || thumbnailSrc)
176
+ });
177
+ },
178
+ feedbackVisible: function feedbackVisible(_ref4) {
179
+ var action = _ref4.action,
180
+ playbackState = _ref4.playbackState;
181
+ return (action !== 'focus' || action === 'idle') && !(action === 'blur' && playbackState === 'play');
182
+ },
183
+ thumbnailComponent: function thumbnailComponent(_ref5) {
184
+ var action = _ref5.action,
185
+ _thumbnailComponent = _ref5.thumbnailComponent,
186
+ thumbnailSrc = _ref5.thumbnailSrc;
187
+ if (action === 'focus') {
188
+ if (_thumbnailComponent) {
189
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ComponentOverride["default"], {
190
+ component: _thumbnailComponent,
191
+ className: _FeedbackTooltipModule["default"].thumbnail
192
+ }, "thumbnailComponent");
193
+ } else if (thumbnailSrc) {
194
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
195
+ className: _FeedbackTooltipModule["default"].thumbnail,
196
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Image["default"], {
197
+ src: thumbnailSrc,
198
+ className: _FeedbackTooltipModule["default"].image
199
+ })
200
+ }, "thumbnailComponent");
201
+ }
202
+ }
203
+ }
204
+ },
205
+ render: function render(_ref6) {
206
+ var arrowContainerClassName = _ref6.arrowContainerClassName,
207
+ children = _ref6.children,
208
+ feedbackVisible = _ref6.feedbackVisible,
209
+ playbackState = _ref6.playbackState,
210
+ playbackRate = _ref6.playbackRate,
211
+ thumbnailComponent = _ref6.thumbnailComponent,
212
+ rest = _objectWithoutProperties(_ref6, _excluded);
213
+ delete rest.action;
214
+ delete rest.duration;
215
+ delete rest.formatter;
216
+ delete rest.hidden;
217
+ delete rest.orientation;
218
+ delete rest.thumbnailDeactivated;
219
+ delete rest.thumbnailSrc;
220
+ delete rest.visible;
221
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, rest), {}, {
222
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
223
+ className: _FeedbackTooltipModule["default"].alignmentContainer,
224
+ children: [thumbnailComponent, /*#__PURE__*/(0, _jsxRuntime.jsx)(_FeedbackContent["default"], {
225
+ className: _FeedbackTooltipModule["default"].content,
226
+ feedbackVisible: feedbackVisible,
227
+ playbackRate: playbackRate,
228
+ playbackState: playbackState,
229
+ children: children
230
+ }, "feedbackContent"), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
231
+ className: arrowContainerClassName,
232
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
233
+ className: _FeedbackTooltipModule["default"].arrow
234
+ })
235
+ })]
236
+ })
237
+ }));
238
+ }
239
+ });
240
+ var FeedbackTooltip = exports.FeedbackTooltip = (0, _util.onlyUpdateForProps)((0, _Skinnable["default"])(FeedbackTooltipBase), ['action', 'children', 'hidden', 'playbackState', 'playbackRate', 'thumbnailComponent', 'thumbnailDeactivated', 'thumbnailSrc', 'visible']);
241
+ FeedbackTooltip.defaultSlot = 'tooltip';
242
+ var _default = exports["default"] = FeedbackTooltip;