@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,173 @@
1
+ // Type definitions for limestone/DatePicker
2
+
3
+ import * as React from "react";
4
+ import { ChangeableProps as ui_Changeable_ChangeableProps } from "@enact/ui/Changeable";
5
+
6
+ type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
7
+ type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
8
+
9
+ export interface DatePickerBaseProps {
10
+ /**
11
+ * The `day` component of the Date.
12
+ *
13
+ * The value should be a number between 1 and `maxDays` .
14
+ */
15
+ day: number;
16
+ /**
17
+ * The number of days in the month.
18
+ */
19
+ maxDays: number;
20
+ /**
21
+ * The number of months in the year.
22
+ */
23
+ maxMonths: number;
24
+ /**
25
+ * The `month` component of the Date.
26
+ *
27
+ * The value should be a number between 1 and `maxMonths` .
28
+ */
29
+ month: number;
30
+ /**
31
+ * The order in which the component pickers are displayed.
32
+ *
33
+ * The value should be an array of 3 strings containing one of `'m'` , `'d'` , and `'y'` .
34
+ */
35
+ order: string[];
36
+ /**
37
+ * The `year` component of the Date.
38
+ */
39
+ year: number;
40
+ /**
41
+ * Disables voice control.
42
+ */
43
+ "data-webos-voice-disabled"?: boolean;
44
+ /**
45
+ * The "aria-label" for the day picker.
46
+ *
47
+ * If not specified, the "aria-label" for the day picker will be
48
+ a combination of the current value and 'day change a value with up down button'.
49
+ */
50
+ dayAriaLabel?: string;
51
+ /**
52
+ * Disables the `DatePicker` .
53
+ */
54
+ disabled?: boolean;
55
+ /**
56
+ * The primary text of the `DatePicker` .
57
+ */
58
+ label?: string;
59
+ /**
60
+ * The maximum selectable `year` value.
61
+ */
62
+ maxYear?: number;
63
+ /**
64
+ * The minimum selectable `year` value.
65
+ */
66
+ minYear?: number;
67
+ /**
68
+ * The "aria-label" for the month picker.
69
+ *
70
+ * If not specified, the "aria-label" for the month picker will be
71
+ a combination of the current value and 'month change a value with up down button'.
72
+ */
73
+ monthAriaLabel?: string;
74
+ /**
75
+ * Hides the label that displays the date.
76
+ */
77
+ noLabel?: boolean;
78
+ /**
79
+ * Called when the `date` component of the Date changes.
80
+ */
81
+ onChangeDate?: Function;
82
+ /**
83
+ * Called when the `month` component of the Date changes.
84
+ */
85
+ onChangeMonth?: Function;
86
+ /**
87
+ * Called when the `year` component of the Date changes.
88
+ */
89
+ onChangeYear?: Function;
90
+ /**
91
+ * Called when the component is removed when it had focus.
92
+ */
93
+ onSpotlightDisappear?: Function;
94
+ /**
95
+ * Called prior to focus leaving the picker when the 5-way left key is pressed.
96
+ */
97
+ onSpotlightLeft?: Function;
98
+ /**
99
+ * Called prior to focus leaving the picker when the 5-way right key is pressed.
100
+ */
101
+ onSpotlightRight?: Function;
102
+ /**
103
+ * Disables 5-way spotlight from navigating into the component.
104
+ */
105
+ spotlightDisabled?: boolean;
106
+ /**
107
+ * The "aria-label" for the year picker.
108
+ *
109
+ * If not specified, the "aria-label" for the year picker will be
110
+ a combination of the current value and 'year change a value with up down button'.
111
+ */
112
+ yearAriaLabel?: string;
113
+ /**
114
+ * Called when `Enter` key down on the last picker
115
+ */
116
+ onComplete?: Function;
117
+ }
118
+ /**
119
+ * A date selection component.
120
+ *
121
+ * This component is most often not used directly but may be composed within another component as it
122
+ is within .
123
+ */
124
+
125
+ export class DatePickerBase extends React.Component<
126
+ Merge<React.HTMLProps<HTMLElement>, DatePickerBaseProps>
127
+ > {}
128
+
129
+ export interface DatePickerProps
130
+ extends Omit<
131
+ Merge<DatePickerBaseProps, ui_Changeable_ChangeableProps>,
132
+ "day" | "maxDays" | "maxMonths" | "month" | "order" | "year"
133
+ > {
134
+ /**
135
+ * The initial value used when `value` is not set.
136
+ */
137
+ defaultValue?: Date;
138
+ /**
139
+ * The selected date
140
+ */
141
+ value?: Date;
142
+ }
143
+ /**
144
+ * A date selection component, ready to use in Limestone applications.
145
+ *
146
+ * `DatePicker` may be used to select the year, month, and day. It uses a standard `Date` object for
147
+ its `value` which can be shared as the `value` for a
148
+ to select both a date and time.
149
+ *
150
+ * By default, `DatePicker` maintains the state of its `value` property. Supply the
151
+ `defaultValue` property to control its initial value. If you wish to directly control updates
152
+ to the component, supply a value to `value` at creation time and update it in response to
153
+ `onChange` events.
154
+ *
155
+ * Usage:
156
+ * ```
157
+ <DatePicker
158
+ defaultValue={selectedDate}
159
+ onChange={handleChange}
160
+ />
161
+ ```
162
+ */
163
+
164
+ export class DatePicker extends React.Component<
165
+ Merge<React.HTMLProps<HTMLElement>, DatePickerProps>
166
+ > {}
167
+
168
+ /**
169
+ * Converts a standard `Date` object into a locale-specific string.
170
+ */
171
+ export function dateToLocaleString(date: Date): string | any;
172
+
173
+ export default DatePicker;
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DatePicker = void 0;
7
+ Object.defineProperty(exports, "DatePickerBase", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _DatePickerBase["default"];
11
+ }
12
+ });
13
+ exports["default"] = exports.dateToLocaleString = void 0;
14
+ var _Pure = _interopRequireDefault(require("@enact/ui/internal/Pure"));
15
+ var _DateFactory = _interopRequireDefault(require("ilib/lib/DateFactory"));
16
+ var _DateFmt = _interopRequireDefault(require("ilib/lib/DateFmt"));
17
+ var _DateTime = require("../internal/DateTime");
18
+ var _Skinnable = _interopRequireDefault(require("../Skinnable"));
19
+ var _DatePickerBase = _interopRequireDefault(require("./DatePickerBase"));
20
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
21
+ /**
22
+ * Date selection components and behaviors.
23
+ *
24
+ * @example
25
+ * <DatePicker onChange={console.log} />
26
+ *
27
+ * @module limestone/DatePicker
28
+ * @exports DatePicker
29
+ * @exports DatePickerBase
30
+ * @exports dateToLocaleString
31
+ */
32
+
33
+ var getLabelFormatter = function getLabelFormatter() {
34
+ return new _DateFmt["default"]({
35
+ date: 'dmwy',
36
+ length: 'full',
37
+ timezone: 'local',
38
+ useNative: false
39
+ });
40
+ };
41
+ var dateTimeConfig = {
42
+ customProps: function customProps(i18n, value, props) {
43
+ var values = {
44
+ maxMonths: 12,
45
+ maxDays: 31,
46
+ year: 1900,
47
+ month: 1,
48
+ day: 1
49
+ };
50
+ if (value && i18n) {
51
+ values.year = value.getYears();
52
+ values.month = value.getMonths();
53
+ values.day = value.getDays();
54
+ values.maxMonths = i18n.formatter.cal.getNumMonths(values.year);
55
+ values.maxDays = i18n.formatter.cal.getMonLength(values.month, values.year);
56
+ values.maxYear = i18n.toLocalYear(props.maxYear || _DatePickerBase["default"].defaultProps.maxYear);
57
+ values.minYear = i18n.toLocalYear(props.minYear || _DatePickerBase["default"].defaultProps.minYear);
58
+ }
59
+ return values;
60
+ },
61
+ defaultOrder: ['d', 'm', 'y'],
62
+ handlers: {
63
+ onChangeDate: function onChangeDate(ev, value) {
64
+ value.day = ev.value;
65
+ return value;
66
+ },
67
+ onChangeMonth: function onChangeMonth(ev, value) {
68
+ value.month = ev.value;
69
+ return value;
70
+ },
71
+ onChangeYear: function onChangeYear(ev, value) {
72
+ value.year = ev.value;
73
+ return value;
74
+ }
75
+ },
76
+ i18n: function i18n() {
77
+ var order = getLabelFormatter().getTemplate().replace(/'.*?'/g, '').match(/([mdy]+)/ig).map(function (s) {
78
+ return s[0].toLowerCase();
79
+ });
80
+
81
+ /*
82
+ * Converts a gregorian year to local year
83
+ *
84
+ * @param {Number} year gregorian year
85
+ *
86
+ * @returns {Number} local year
87
+ */
88
+ var toLocalYear = function toLocalYear(year) {
89
+ return (0, _DateFactory["default"])({
90
+ julianday: (0, _DateFactory["default"])({
91
+ year: year,
92
+ type: 'gregorian',
93
+ month: 1,
94
+ day: 1,
95
+ timezone: 'local'
96
+ }).getJulianDay(),
97
+ timezone: 'local'
98
+ }).getYears();
99
+ };
100
+ return {
101
+ formatter: getLabelFormatter(),
102
+ order: order,
103
+ toLocalYear: toLocalYear
104
+ };
105
+ }
106
+ };
107
+
108
+ /**
109
+ * A date selection component, ready to use in Limestone applications.
110
+ *
111
+ * `DatePicker` may be used to select the year, month, and day. It uses a standard `Date` object for
112
+ * its `value` which can be shared as the `value` for a
113
+ * {@link limestone/TimePicker.TimePicker|TimePicker} to select both a date and time.
114
+ *
115
+ * By default, `DatePicker` maintains the state of its `value` property. Supply the
116
+ * `defaultValue` property to control its initial value. If you wish to directly control updates
117
+ * to the component, supply a value to `value` at creation time and update it in response to
118
+ * `onChange` events.
119
+ *
120
+ * Usage:
121
+ * ```
122
+ * <DatePicker
123
+ * defaultValue={selectedDate}
124
+ * onChange={handleChange}
125
+ * />
126
+ * ```
127
+ *
128
+ * @class DatePicker
129
+ * @memberof limestone/DatePicker
130
+ * @extends limestone/DatePicker.DatePickerBase
131
+ * @mixes ui/Changeable.Changeable
132
+ * @omit day
133
+ * @omit maxDays
134
+ * @omit maxMonths
135
+ * @omit month
136
+ * @omit order
137
+ * @omit year
138
+ * @ui
139
+ * @public
140
+ */
141
+ var DatePicker = exports.DatePicker = (0, _Pure["default"])((0, _Skinnable["default"])((0, _DateTime.DateTimeDecorator)(dateTimeConfig, _DatePickerBase["default"])));
142
+
143
+ /**
144
+ * The initial value used when `value` is not set.
145
+ *
146
+ * @name defaultValue
147
+ * @type {Date}
148
+ * @memberof limestone/DatePicker.DatePicker.prototype
149
+ * @public
150
+ */
151
+
152
+ /**
153
+ * The selected date
154
+ *
155
+ * @name value
156
+ * @type {Date}
157
+ * @memberof limestone/DatePicker.DatePicker.prototype
158
+ * @public
159
+ */
160
+
161
+ /**
162
+ * Converts a standard `Date` object into a locale-specific string.
163
+ *
164
+ * @function
165
+ * @memberof limestone/DatePicker
166
+ * @param {Date} date `Date` to convert
167
+ * @returns {String|null} Converted date or `null` if `date` is invalid
168
+ */
169
+ var dateToLocaleString = exports.dateToLocaleString = function dateToLocaleString(date) {
170
+ if (!date) {
171
+ return null;
172
+ }
173
+ return getLabelFormatter().format(date);
174
+ };
175
+ var _default = exports["default"] = DatePicker;
@@ -0,0 +1,5 @@
1
+ .datePicker .day,
2
+ .datePicker .month,
3
+ .datePicker .year {
4
+ /* These should be available to the JS but have no associated rules at this time. */
5
+ }
@@ -0,0 +1,348 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.DatePickerBase = void 0;
7
+ var _kind = _interopRequireDefault(require("@enact/core/kind"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _$L = _interopRequireDefault(require("../internal/$L"));
10
+ var _DateComponentPicker = require("../internal/DateComponentPicker");
11
+ var _DateTime = _interopRequireDefault(require("../internal/DateTime"));
12
+ var _DatePickerModule = _interopRequireDefault(require("./DatePicker.module.css"));
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ var _excluded = ["data-webos-voice-disabled", "disabled", "day", "dayAriaLabel", "maxDays", "maxMonths", "maxYear", "minYear", "month", "monthAriaLabel", "noLabel", "onChangeDate", "onChangeMonth", "onChangeYear", "onSpotlightDisappear", "onSpotlightLeft", "onSpotlightRight", "order", "rtl", "spotlightDisabled", "year", "yearAriaLabel"];
15
+ /**
16
+ * A date selection component.
17
+ *
18
+ * This component is most often not used directly but may be composed within another component as it
19
+ * is within {@link limestone/DatePicker.DatePicker|DatePicker}.
20
+ *
21
+ * @class DatePickerBase
22
+ * @memberof limestone/DatePicker
23
+ * @ui
24
+ * @public
25
+ */
26
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
27
+ 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; }
28
+ 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; }
29
+ 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; }
30
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
31
+ 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); }
32
+ 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; }
33
+ 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; }
34
+ var DatePickerBase = exports.DatePickerBase = (0, _kind["default"])({
35
+ name: 'DatePickerBase',
36
+ propTypes: /** @lends limestone/DatePicker.DatePickerBase.prototype */{
37
+ /**
38
+ * The `day` component of the Date.
39
+ *
40
+ * The value should be a number between 1 and `maxDays`.
41
+ *
42
+ * @type {Number}
43
+ * @required
44
+ * @public
45
+ */
46
+ day: _propTypes["default"].number.isRequired,
47
+ /**
48
+ * The number of days in the month.
49
+ *
50
+ * @type {Number}
51
+ * @required
52
+ * @public
53
+ */
54
+ maxDays: _propTypes["default"].number.isRequired,
55
+ /**
56
+ * The number of months in the year.
57
+ *
58
+ * @type {Number}
59
+ * @required
60
+ * @public
61
+ */
62
+ maxMonths: _propTypes["default"].number.isRequired,
63
+ /**
64
+ * The `month` component of the Date.
65
+ *
66
+ * The value should be a number between 1 and `maxMonths`.
67
+ *
68
+ * @type {Number}
69
+ * @required
70
+ * @public
71
+ */
72
+ month: _propTypes["default"].number.isRequired,
73
+ /**
74
+ * The order in which the component pickers are displayed.
75
+ *
76
+ * The value should be an array of 3 strings containing one of `'m'`, `'d'`, and `'y'`.
77
+ *
78
+ * @type {String[]}
79
+ * @required
80
+ * @public
81
+ */
82
+ order: _propTypes["default"].arrayOf(_propTypes["default"].oneOf(['m', 'd', 'y'])).isRequired,
83
+ /**
84
+ * The `year` component of the Date.
85
+ *
86
+ * @type {Number}
87
+ * @required
88
+ * @public
89
+ */
90
+ year: _propTypes["default"].number.isRequired,
91
+ /**
92
+ * Disables voice control.
93
+ *
94
+ * @type {Boolean}
95
+ * @memberof limestone/DatePicker.DatePickerBase.prototype
96
+ * @public
97
+ */
98
+ 'data-webos-voice-disabled': _propTypes["default"].bool,
99
+ /**
100
+ * The "aria-label" for the day picker.
101
+ *
102
+ * If not specified, the "aria-label" for the day picker will be
103
+ * a combination of the current value and 'day change a value with up down button'.
104
+ *
105
+ * @type {String}
106
+ * @public
107
+ */
108
+ dayAriaLabel: _propTypes["default"].string,
109
+ /**
110
+ * Disables the `DatePicker`.
111
+ *
112
+ * @type {Boolean}
113
+ * @public
114
+ */
115
+ disabled: _propTypes["default"].bool,
116
+ /**
117
+ * The primary text of the `DatePicker`.
118
+ *
119
+ * @type {String}
120
+ * @public
121
+ */
122
+ label: _propTypes["default"].string,
123
+ /**
124
+ * The maximum selectable `year` value.
125
+ *
126
+ * @type {Number}
127
+ * @default 2099
128
+ * @public
129
+ */
130
+ maxYear: _propTypes["default"].number,
131
+ /**
132
+ * The minimum selectable `year` value.
133
+ *
134
+ * @type {Number}
135
+ * @default 1900
136
+ * @public
137
+ */
138
+ minYear: _propTypes["default"].number,
139
+ /**
140
+ * The "aria-label" for the month picker.
141
+ *
142
+ * If not specified, the "aria-label" for the month picker will be
143
+ * a combination of the current value and 'month change a value with up down button'.
144
+ *
145
+ * @type {String}
146
+ * @public
147
+ */
148
+ monthAriaLabel: _propTypes["default"].string,
149
+ /**
150
+ * Hides the label that displays the date.
151
+ *
152
+ * @type {Boolean}
153
+ * @public
154
+ */
155
+ noLabel: _propTypes["default"].bool,
156
+ /**
157
+ * Called when the `date` component of the Date changes.
158
+ *
159
+ * @type {Function}
160
+ * @public
161
+ */
162
+ onChangeDate: _propTypes["default"].func,
163
+ /**
164
+ * Called when the `month` component of the Date changes.
165
+ *
166
+ * @type {Function}
167
+ * @public
168
+ */
169
+ onChangeMonth: _propTypes["default"].func,
170
+ /**
171
+ * Called when the `year` component of the Date changes.
172
+ *
173
+ * @type {Function}
174
+ * @public
175
+ */
176
+ onChangeYear: _propTypes["default"].func,
177
+ /**
178
+ * Called when the component is removed when it had focus.
179
+ *
180
+ * @type {Function}
181
+ * @param {Object} event
182
+ * @public
183
+ */
184
+ onSpotlightDisappear: _propTypes["default"].func,
185
+ /**
186
+ * Called prior to focus leaving the picker when the 5-way left key is pressed.
187
+ *
188
+ * @type {Function}
189
+ * @param {Object} event
190
+ * @public
191
+ */
192
+ onSpotlightLeft: _propTypes["default"].func,
193
+ /**
194
+ * Called prior to focus leaving the picker when the 5-way right key is pressed.
195
+ *
196
+ * @type {Function}
197
+ * @param {Object} event
198
+ * @public
199
+ */
200
+ onSpotlightRight: _propTypes["default"].func,
201
+ /**
202
+ * Indicates the content's text direction is right-to-left.
203
+ *
204
+ * @type {Boolean}
205
+ * @private
206
+ */
207
+ rtl: _propTypes["default"].bool,
208
+ /**
209
+ * Disables 5-way spotlight from navigating into the component.
210
+ *
211
+ * @type {Boolean}
212
+ * @default false
213
+ * @public
214
+ */
215
+ spotlightDisabled: _propTypes["default"].bool,
216
+ /**
217
+ * The "aria-label" for the year picker.
218
+ *
219
+ * If not specified, the "aria-label" for the year picker will be
220
+ * a combination of the current value and 'year change a value with up down button'.
221
+ *
222
+ * @type {String}
223
+ * @public
224
+ */
225
+ yearAriaLabel: _propTypes["default"].string
226
+ },
227
+ defaultProps: {
228
+ maxYear: 2099,
229
+ minYear: 1900,
230
+ disabled: false,
231
+ spotlightDisabled: false
232
+ },
233
+ styles: {
234
+ css: _DatePickerModule["default"],
235
+ className: 'datePicker'
236
+ },
237
+ render: function render(_ref) {
238
+ var voiceDisabled = _ref['data-webos-voice-disabled'],
239
+ disabled = _ref.disabled,
240
+ day = _ref.day,
241
+ dayAriaLabel = _ref.dayAriaLabel,
242
+ maxDays = _ref.maxDays,
243
+ maxMonths = _ref.maxMonths,
244
+ maxYear = _ref.maxYear,
245
+ minYear = _ref.minYear,
246
+ month = _ref.month,
247
+ monthAriaLabel = _ref.monthAriaLabel,
248
+ noLabel = _ref.noLabel,
249
+ onChangeDate = _ref.onChangeDate,
250
+ onChangeMonth = _ref.onChangeMonth,
251
+ onChangeYear = _ref.onChangeYear,
252
+ onSpotlightDisappear = _ref.onSpotlightDisappear,
253
+ onSpotlightLeft = _ref.onSpotlightLeft,
254
+ onSpotlightRight = _ref.onSpotlightRight,
255
+ order = _ref.order,
256
+ rtl = _ref.rtl,
257
+ spotlightDisabled = _ref.spotlightDisabled,
258
+ year = _ref.year,
259
+ yearAriaLabel = _ref.yearAriaLabel,
260
+ rest = _objectWithoutProperties(_ref, _excluded);
261
+ var dayAccessibilityHint = (0, _$L["default"])('day'),
262
+ monthAccessibilityHint = (0, _$L["default"])('month'),
263
+ yearAccessibilityHint = (0, _$L["default"])('year');
264
+ if (noLabel) {
265
+ delete rest.label;
266
+ }
267
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DateTime["default"], _objectSpread(_objectSpread({}, rest), {}, {
268
+ children: order.map(function (picker, index) {
269
+ var isFirst = index === 0;
270
+ var isLast = index === order.length - 1;
271
+ var isLeft = isFirst && !rtl || isLast && rtl;
272
+ var isRight = isFirst && rtl || isLast && !rtl;
273
+ switch (picker) {
274
+ case 'd':
275
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DateComponentPicker.DateComponentRangePicker, {
276
+ accessibilityHint: dayAccessibilityHint,
277
+ "aria-label": dayAriaLabel,
278
+ className: _DatePickerModule["default"].day,
279
+ "data-last-element": isLast,
280
+ "data-webos-voice-disabled": voiceDisabled,
281
+ "data-webos-voice-group-label": dayAccessibilityHint,
282
+ disabled: disabled,
283
+ max: maxDays,
284
+ min: 1,
285
+ onChange: onChangeDate,
286
+ onSpotlightDisappear: onSpotlightDisappear,
287
+ onSpotlightLeft: isLeft ? onSpotlightLeft : null,
288
+ onSpotlightRight: isRight ? onSpotlightRight : null,
289
+ spotlightDisabled: spotlightDisabled,
290
+ value: day,
291
+ width: 4,
292
+ wrap: true
293
+ }, "day-picker");
294
+ case 'm':
295
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DateComponentPicker.DateComponentRangePicker, {
296
+ accessibilityHint: monthAccessibilityHint,
297
+ "aria-label": monthAriaLabel,
298
+ className: _DatePickerModule["default"].month,
299
+ "data-last-element": isLast,
300
+ "data-webos-voice-disabled": voiceDisabled,
301
+ "data-webos-voice-group-label": monthAccessibilityHint,
302
+ disabled: disabled,
303
+ max: maxMonths,
304
+ min: 1,
305
+ onChange: onChangeMonth,
306
+ onSpotlightDisappear: onSpotlightDisappear,
307
+ onSpotlightLeft: isLeft ? onSpotlightLeft : null,
308
+ onSpotlightRight: isRight ? onSpotlightRight : null,
309
+ spotlightDisabled: spotlightDisabled,
310
+ value: month,
311
+ width: 4,
312
+ wrap: true
313
+ }, "month-picker");
314
+ case 'y':
315
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DateComponentPicker.DateComponentRangePicker, {
316
+ accessibilityHint: yearAccessibilityHint,
317
+ "aria-label": yearAriaLabel,
318
+ className: _DatePickerModule["default"].year,
319
+ "data-last-element": isLast,
320
+ "data-webos-voice-disabled": voiceDisabled,
321
+ "data-webos-voice-group-label": yearAccessibilityHint,
322
+ disabled: disabled,
323
+ max: maxYear,
324
+ min: minYear,
325
+ onChange: onChangeYear,
326
+ onSpotlightDisappear: onSpotlightDisappear,
327
+ onSpotlightLeft: isLeft ? onSpotlightLeft : null,
328
+ onSpotlightRight: isRight ? onSpotlightRight : null,
329
+ spotlightDisabled: spotlightDisabled,
330
+ value: year,
331
+ width: 4
332
+ }, "year-picker");
333
+ }
334
+ return null;
335
+ })
336
+ }));
337
+ }
338
+ });
339
+
340
+ /**
341
+ * Called when `Enter` key down on the last picker
342
+ *
343
+ * @name onComplete
344
+ * @memberof limestone/DatePicker.DatePickerBase.prototype
345
+ * @type {Function}
346
+ * @public
347
+ */
348
+ var _default = exports["default"] = DatePickerBase;
@@ -0,0 +1,3 @@
1
+ {
2
+ "main": "DatePicker.js"
3
+ }