@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,53 @@
1
+ .dateComponentPicker {
2
+ display: inline-block;
3
+ text-align: center;
4
+ margin: 0 0.5rem;
5
+ vertical-align: inherit;
6
+ }
7
+ .dateComponentPicker .label {
8
+ font-weight: var(--primitive-font-weight-regular);
9
+ font-size: var(--primitive-font-size-60);
10
+ font-style: normal;
11
+ font-family: "Limestone";
12
+ line-height: 1.4em;
13
+ text-align: center;
14
+ padding: 0.75rem 1rem;
15
+ white-space: nowrap;
16
+ }
17
+ :global(.enact-locale-non-latin) .dateComponentPicker .label {
18
+ font-family: "Limestone";
19
+ }
20
+ :global(.enact-locale-non-latin) .dateComponentPicker .label {
21
+ font-family: "Limestone";
22
+ font-weight: var(--primitive-font-weight-light);
23
+ font-size: 1.125rem;
24
+ font-style: normal;
25
+ }
26
+ :global(.enact-locale-km) .dateComponentPicker .label {
27
+ line-height: 1.7em;
28
+ }
29
+ :global(.enact-locale-si) .dateComponentPicker .label {
30
+ line-height: 1.7em;
31
+ }
32
+ :global(.enact-locale-th) .dateComponentPicker .label {
33
+ line-height: 1.7em;
34
+ }
35
+ :global(.enact-locale-vi) .dateComponentPicker .label {
36
+ line-height: 1.7em;
37
+ }
38
+ .dateComponentPicker .label a:link {
39
+ color: inherit;
40
+ text-decoration: none;
41
+ }
42
+ .dateComponentPicker .label a:visited {
43
+ color: inherit;
44
+ text-decoration: none;
45
+ }
46
+ .dateComponentPicker .label a:hover {
47
+ color: inherit;
48
+ text-decoration: none;
49
+ }
50
+ .dateComponentPicker .label a:active {
51
+ color: inherit;
52
+ text-decoration: none;
53
+ }
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.DateComponentRangePickerBase = exports.DateComponentRangePicker = void 0;
7
+ var _Changeable = _interopRequireDefault(require("@enact/ui/Changeable"));
8
+ var _kind = _interopRequireDefault(require("@enact/core/kind"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _RangePicker = _interopRequireDefault(require("../../RangePicker"));
11
+ var _DateComponentPickerModule = _interopRequireDefault(require("./DateComponentPicker.module.css"));
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ var _excluded = ["accessibilityHint", "label", "max", "min", "noAnimation", "value", "wrap", "voiceLabel"];
14
+ /**
15
+ * {@link limestone/internal/DateComponentPicker.DateComponentRangePicker} allows the selection of
16
+ * one part of the date or time using a {@link limestone/RangePicker.RangePicker}.
17
+ *
18
+ * @class DateComponentRangePickerBase
19
+ * @memberof limestone/internal/DateComponentPicker
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 DateComponentRangePickerBase = exports.DateComponentRangePickerBase = (0, _kind["default"])({
32
+ name: 'DateComponentRangePicker',
33
+ propTypes: /** @lends limestone/internal/DateComponentPicker.DateComponentRangePickerBase.prototype */{
34
+ /**
35
+ * The maximum value for the date component
36
+ *
37
+ * @type {Number}
38
+ * @required
39
+ */
40
+ max: _propTypes["default"].number.isRequired,
41
+ /**
42
+ * The minimum value for the date component
43
+ *
44
+ * @type {Number}
45
+ * @required
46
+ */
47
+ min: _propTypes["default"].number.isRequired,
48
+ /**
49
+ * The value of the date component
50
+ *
51
+ * @type {Number}
52
+ * @required
53
+ */
54
+ value: _propTypes["default"].number.isRequired,
55
+ /**
56
+ * Sets the hint string read when focusing the picker.
57
+ *
58
+ * @type {String}
59
+ * @public
60
+ */
61
+ accessibilityHint: _propTypes["default"].string,
62
+ /**
63
+ * The label to display below the picker
64
+ *
65
+ * @type {String}
66
+ */
67
+ label: _propTypes["default"].string,
68
+ /**
69
+ * By default, the picker will animate transitions between items if it has a defined
70
+ * `width`. Specifying `noAnimation` will prevent any transition animation for the
71
+ * component.
72
+ *
73
+ * @type {Boolean}
74
+ * @public
75
+ */
76
+ noAnimation: _propTypes["default"].bool,
77
+ /*
78
+ * When `true`, allow the picker to continue from the opposite end of the list of options.
79
+ *
80
+ * @type {Boolean}
81
+ * @public
82
+ */
83
+ wrap: _propTypes["default"].bool
84
+ },
85
+ styles: {
86
+ css: _DateComponentPickerModule["default"],
87
+ className: 'dateComponentPicker'
88
+ },
89
+ computed: {
90
+ voiceLabel: function voiceLabel(_ref) {
91
+ var min = _ref.min,
92
+ max = _ref.max;
93
+ return JSON.stringify([min, max]);
94
+ }
95
+ },
96
+ render: function render(_ref2) {
97
+ var accessibilityHint = _ref2.accessibilityHint,
98
+ label = _ref2.label,
99
+ max = _ref2.max,
100
+ min = _ref2.min,
101
+ noAnimation = _ref2.noAnimation,
102
+ value = _ref2.value,
103
+ wrap = _ref2.wrap,
104
+ voiceLabel = _ref2.voiceLabel,
105
+ rest = _objectWithoutProperties(_ref2, _excluded);
106
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_RangePicker["default"], _objectSpread(_objectSpread({}, rest), {}, {
107
+ accessibilityHint: accessibilityHint == null ? label : accessibilityHint,
108
+ "data-webos-voice-labels-ext": voiceLabel,
109
+ joined: true,
110
+ max: max,
111
+ min: min,
112
+ noAnimation: noAnimation,
113
+ orientation: "vertical",
114
+ value: value,
115
+ wrap: wrap
116
+ }));
117
+ }
118
+ });
119
+
120
+ /**
121
+ * {@link limestone/internal/DateComponentPicker.DateComponentRangePicker} allows the selection of one
122
+ * part of the date (date, month, or year). It is a stateful component but allows updates by
123
+ * providing a new `value` via props.
124
+ *
125
+ * @class DateComponentRangePicker
126
+ * @memberof limestone/internal/DateComponentPicker
127
+ * @mixes ui/Changeable.Changeable
128
+ * @ui
129
+ * @private
130
+ */
131
+ var DateComponentRangePicker = exports.DateComponentRangePicker = (0, _Changeable["default"])(DateComponentRangePickerBase);
132
+ var _default = exports["default"] = DateComponentRangePicker;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "DateComponentPicker", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _DateComponentPicker.DateComponentPicker;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "DateComponentPickerBase", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _DateComponentPicker.DateComponentPickerBase;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "DateComponentRangePicker", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _DateComponentRangePicker.DateComponentRangePicker;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "DateComponentRangePickerBase", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _DateComponentRangePicker.DateComponentRangePickerBase;
28
+ }
29
+ });
30
+ var _DateComponentPicker = require("./DateComponentPicker");
31
+ var _DateComponentRangePicker = require("./DateComponentRangePicker");
@@ -0,0 +1,3 @@
1
+ {
2
+ "main": "index.js"
3
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.DateTimeBase = exports.DateTime = void 0;
7
+ var _kind = _interopRequireDefault(require("@enact/core/kind"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _Heading = _interopRequireDefault(require("../../Heading"));
10
+ var _DateTimeModule = _interopRequireDefault(require("./DateTime.module.css"));
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ var _excluded = ["children", "css", "label"];
13
+ /**
14
+ * {@link limestone/internal/DateTime.DateTime} provides the surrounding
15
+ * markup and styling for a {@link limestone/DatePicker} and
16
+ * {@link limestone/TimePicker}.
17
+ *
18
+ * @class DateTime
19
+ * @memberof limestone/internal/DateTime
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 DateTimeBase = exports.DateTime = exports.DateTimeBase = (0, _kind["default"])({
32
+ name: 'DateTime',
33
+ propTypes: /** @lends limestone/internal/DateTime.DateTime.prototype */{
34
+ css: _propTypes["default"].object,
35
+ /**
36
+ * The label to display above the picker
37
+ *
38
+ * @type {String}
39
+ */
40
+ label: _propTypes["default"].string,
41
+ /**
42
+ * Aligns the `title` horizontally within the component.
43
+ *
44
+ * @type {('center'|'left')}
45
+ * @default 'center'
46
+ * @public
47
+ */
48
+ titleAlignment: _propTypes["default"].oneOf(['center', 'left'])
49
+ },
50
+ defaultProps: {
51
+ titleAlignment: 'center'
52
+ },
53
+ styles: {
54
+ css: _DateTimeModule["default"],
55
+ className: 'dateTime',
56
+ publicClassNames: ['dateTime', 'pickers']
57
+ },
58
+ computed: {
59
+ className: function className(_ref) {
60
+ var titleAlignment = _ref.titleAlignment,
61
+ styler = _ref.styler;
62
+ return styler.append(titleAlignment);
63
+ }
64
+ },
65
+ render: function render(_ref2) {
66
+ var children = _ref2.children,
67
+ css = _ref2.css,
68
+ label = _ref2.label,
69
+ rest = _objectWithoutProperties(_ref2, _excluded);
70
+ delete rest.titleAlignment;
71
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({}, rest), {}, {
72
+ children: [label ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Heading["default"], {
73
+ className: css.heading,
74
+ size: "tiny",
75
+ children: label
76
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
77
+ className: css.pickers,
78
+ children: children
79
+ })]
80
+ }));
81
+ }
82
+ });
83
+ var _default = exports["default"] = DateTimeBase;
@@ -0,0 +1,51 @@
1
+ .dateTime {
2
+ display: inline-block;
3
+ }
4
+ .dateTime .heading {
5
+ margin: 0 0 var(--primitive-spacing-132);
6
+ border-bottom: none;
7
+ }
8
+ .dateTime.center .heading {
9
+ display: flex;
10
+ justify-content: center;
11
+ }
12
+ .dateTime .pickers {
13
+ vertical-align: middle;
14
+ }
15
+ .dateTime .pickers > *:first-child {
16
+ margin-inline-start: 0;
17
+ }
18
+ .dateTime .pickers > *:nth-last-child(2) {
19
+ margin-inline-end: 0;
20
+ }
21
+ .dateTime:global(.neutral) .heading {
22
+ color: var(--semantic-color-on-background-main);
23
+ }
24
+ :global(.enact-a11y-high-contrast) .dateTime:global(.neutral):global(.highContrast) .heading {
25
+ color: var(--semantic-color-on-background-main);
26
+ }
27
+ .dateTime:global(.light) .heading {
28
+ color: var(--semantic-color-on-background-main);
29
+ }
30
+ .dateTime:global(.game) {
31
+ --semantic-color-surface-default: #2d224c;
32
+ --semantic-color-surface-default-focused: #6d2fa1;
33
+ --semantic-color-on-surface-main-focused: #e6e6e6;
34
+ }
35
+ .dateTime:global(.game) .heading {
36
+ color: var(--semantic-color-on-background-main);
37
+ }
38
+ :global(.green) .dateTime:global(.game) {
39
+ --semantic-color-surface-default: #1F2C24;
40
+ --semantic-color-surface-default-focused: #3ea07d;
41
+ }
42
+ :global(.green) .dateTime:global(.game) .heading {
43
+ color: var(--semantic-color-on-background-main);
44
+ }
45
+ :global(.orange) .dateTime:global(.game) {
46
+ --semantic-color-surface-default: #422923;
47
+ --semantic-color-surface-default-focused: #b85f23;
48
+ }
49
+ :global(.orange) .dateTime:global(.game) .heading {
50
+ color: var(--semantic-color-on-background-main);
51
+ }
@@ -0,0 +1,268 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.DateTimeDecorator = void 0;
7
+ var _handle = require("@enact/core/handle");
8
+ var _hoc = _interopRequireDefault(require("@enact/core/hoc"));
9
+ var _keymap = require("@enact/core/keymap");
10
+ var _util = require("@enact/core/util");
11
+ var _I18nDecorator = require("@enact/i18n/I18nDecorator");
12
+ var _spotlight = _interopRequireDefault(require("@enact/spotlight"));
13
+ var _Changeable = _interopRequireDefault(require("@enact/ui/Changeable"));
14
+ var _DateFactory = _interopRequireDefault(require("ilib/lib/DateFactory"));
15
+ var _propTypes = _interopRequireDefault(require("prop-types"));
16
+ var _react = require("react");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ var _this = void 0;
19
+ /**
20
+ * Exports the {@link limestone/internal/DateTimeDecorator.DateTimeDecorator} higher-order component
21
+ *
22
+ * @module limestone/internal/DateTimeDecorator
23
+ * @private
24
+ */
25
+ /*
26
+ * Converts a JavaScript Date to unix time
27
+ *
28
+ * @param {Date} date A Date to convert
29
+ *
30
+ * @returns {undefined}
31
+ */
32
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
33
+ 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; }
34
+ 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; }
35
+ 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; }
36
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
37
+ 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); }
38
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
39
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
40
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
41
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
42
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
43
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
44
+ var toTime = function toTime(date) {
45
+ return date && date.getTime();
46
+ };
47
+ var isEnter = (0, _keymap.is)('enter');
48
+
49
+ /**
50
+ * {@link limestone/internal/DateTimeDecorator.DateTimeDecorator} provides common behavior for
51
+ * {@link limestone/DatePicker.DatePicker} and {@link limestone/TimePicker.TimePicker}.
52
+ *
53
+ * @class DateTimeDecorator
54
+ * @memberof limestone/internal/DateTimeDecorator
55
+ * @mixes ui/Changeable.Changeable
56
+ * @hoc
57
+ * @private
58
+ */
59
+ var DateTimeDecorator = exports.DateTimeDecorator = (0, _hoc["default"])(function (config, Wrapped) {
60
+ var customProps = config.customProps,
61
+ defaultOrder = config.defaultOrder,
62
+ handlers = config.handlers,
63
+ i18n = config.i18n;
64
+ var memoizedI18nConfig = (0, _util.memoize)(function /* locale */
65
+ () {
66
+ // Guard for isomorphic builds
67
+ if (typeof window !== 'undefined' && i18n) {
68
+ return i18n();
69
+ }
70
+ return null;
71
+ });
72
+
73
+ // eslint-disable-next-line no-shadow
74
+ var DateTimeDecorator = function DateTimeDecorator(props) {
75
+ var newValue = toTime(props.value);
76
+ var _useState = (0, _react.useState)(null),
77
+ _useState2 = _slicedToArray(_useState, 2),
78
+ initialValue = _useState2[0],
79
+ setInitialValue = _useState2[1];
80
+ var _useState3 = (0, _react.useState)(newValue || Date.now()),
81
+ _useState4 = _slicedToArray(_useState3, 2),
82
+ value = _useState4[0],
83
+ setValue = _useState4[1];
84
+ var _useState5 = (0, _react.useState)(null),
85
+ _useState6 = _slicedToArray(_useState5, 2),
86
+ pickerValue = _useState6[0],
87
+ setPickerValue = _useState6[1];
88
+ var emitChange = function emitChange(date) {
89
+ (0, _handle.forwardCustom)('onChange', function () {
90
+ return {
91
+ value: date ? date.getJSDate() : null
92
+ };
93
+ })(null, props);
94
+ };
95
+
96
+ /*
97
+ * Converts a Date to an IDate
98
+ *
99
+ * @param {Date} time Date object
100
+ *
101
+ * @returns {IDate} ilib Date object
102
+ */
103
+ var toIDate = (0, _react.useCallback)(function (time) {
104
+ if (time && props.locale) {
105
+ return (0, _DateFactory["default"])({
106
+ unixtime: time,
107
+ timezone: 'local'
108
+ });
109
+ }
110
+ }, [props.locale]);
111
+
112
+ // if no value was provided, we need to emit the onChange event for the generated value
113
+ (0, _react.useEffect)(function () {
114
+ if (!newValue) {
115
+ emitChange(toIDate(value));
116
+ }
117
+ }, []); // eslint-disable-line react-hooks/exhaustive-deps
118
+
119
+ /*
120
+ * Updates the internal value in state
121
+ *
122
+ * @param {IDate} updatedValue ilib Date object
123
+ *
124
+ * @returns {Number} Updated internal value
125
+ */
126
+ var updateValue = function updateValue(updatedValue) {
127
+ var day = updatedValue.day,
128
+ month = updatedValue.month,
129
+ year = updatedValue.year;
130
+ var maxDays = updatedValue.cal.getMonLength(month, year);
131
+ updatedValue.day = day <= maxDays ? day : maxDays;
132
+ var date = (0, _DateFactory["default"])(updatedValue);
133
+ var newUpdateValue = date.getTimeExtended();
134
+ var changed = props.value == null || props.value !== newUpdateValue;
135
+ setValue(newUpdateValue);
136
+ if (changed) {
137
+ emitChange(date);
138
+ }
139
+ return newUpdateValue;
140
+ };
141
+ var handlePickerChange = function handlePickerChange(handler, ev) {
142
+ var changedValue = toIDate(value);
143
+ handler(ev, changedValue, memoizedI18nConfig(props.locale));
144
+ updateValue(changedValue);
145
+ };
146
+ var localHandlers = {};
147
+ if (handlers) {
148
+ Object.keys(handlers).forEach(function (name) {
149
+ localHandlers[name] = handlePickerChange.bind(_this, handlers[name]);
150
+ });
151
+ }
152
+ (0, _react.useEffect)(function () {
153
+ var newestValue = toTime(props.value);
154
+ if (props.open && !props.disabled && initialValue == null && value == null) {
155
+ // when the expandable opens, we cache the prop value so it can be restored on
156
+ // cancel and set value to be the current time if unset in order to initialize the
157
+ // pickers
158
+ setInitialValue(newestValue);
159
+ setValue(newestValue || Date.now());
160
+ } else if (value !== newestValue) {
161
+ // always respect a value change from props
162
+ setValue(newestValue);
163
+ }
164
+ }, [initialValue, props, value]);
165
+ var handleCancel = function handleCancel() {
166
+ // eslint-disable-line no-unused-vars
167
+ // if we're cancelling, reset our state and emit an onChange with the initial value
168
+ setValue(null);
169
+ setInitialValue(null);
170
+ setPickerValue(value);
171
+ if (initialValue !== value) {
172
+ emitChange(toIDate(initialValue));
173
+ }
174
+ };
175
+ var handleEnter = (0, _react.useCallback)(function (ev) {
176
+ if (ev.target && ev.target.dataset.lastElement === 'true') {
177
+ var newestValue = value ? toIDate(value) : null;
178
+ (0, _handle.forwardCustom)('onComplete', function () {
179
+ return {
180
+ value: newestValue ? newestValue.getJSDate() : null
181
+ };
182
+ })(null, props);
183
+ } else {
184
+ _spotlight["default"].move(props.rtl ? 'left' : 'right');
185
+ }
186
+ }, [props, toIDate, value]);
187
+ var handleKeyDown = (0, _react.useCallback)(function (ev) {
188
+ (0, _handle.forward)('onKeyDown');
189
+ (0, _handle.forKey)('enter');
190
+ (0, _handle.forProp)('disabled', false);
191
+ if (isEnter(ev.keyCode)) handleEnter(ev);
192
+ }, [handleEnter]);
193
+ var finalValue = toIDate(value);
194
+ // pickerValue is only set when cancelling to prevent the unexpected changing of the
195
+ // picker values before closing.
196
+ var finalPickerValue = pickerValue ? toIDate(pickerValue) : finalValue;
197
+ var label = null;
198
+ var finalProps = null;
199
+ var order = defaultOrder;
200
+ var i18nConfig = memoizedI18nConfig(props.locale);
201
+ if (i18nConfig) {
202
+ if (finalValue) {
203
+ label = i18nConfig.formatter.format(finalValue);
204
+ }
205
+ finalProps = customProps(i18nConfig, finalPickerValue, props);
206
+ order = i18nConfig.order;
207
+ }
208
+ var rest = Object.assign({}, props);
209
+ delete rest.onComplete;
210
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapped, _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, rest), finalProps), localHandlers), {}, {
211
+ label: label,
212
+ onKeyDown: handleKeyDown,
213
+ order: order,
214
+ value: finalValue
215
+ }));
216
+ };
217
+ DateTimeDecorator.displayName = 'DateTimeDecorator';
218
+ DateTimeDecorator.propTypes = /** @lends limestone/internal/DateTimeDecorator.DateTimeDecorator.prototype */{
219
+ /**
220
+ * The current locale as a
221
+ * {@link https://tools.ietf.org/html/rfc5646|BCP 47 language tag}.
222
+ *
223
+ * @type {String}
224
+ * @public
225
+ */
226
+ locale: _propTypes["default"].string,
227
+ /**
228
+ * Handler for `onChange` events
229
+ *
230
+ * @type {Function}
231
+ * @public
232
+ */
233
+ onChange: _propTypes["default"].func,
234
+ /**
235
+ * Handler for `onComplete` event
236
+ *
237
+ * @type {Function}
238
+ * @public
239
+ */
240
+ onComplete: _propTypes["default"].func,
241
+ /**
242
+ * When `true`, the date picker is expanded to select a new date.
243
+ *
244
+ * @type {Boolean}
245
+ * @public
246
+ */
247
+ open: _propTypes["default"].bool,
248
+ /**
249
+ * Indicates the content's text direction is right-to-left.
250
+ *
251
+ * @type {Boolean}
252
+ * @private
253
+ */
254
+ rtl: _propTypes["default"].bool,
255
+ /**
256
+ * The selected date
257
+ *
258
+ * @type {Date}
259
+ * @public
260
+ */
261
+ value: _propTypes["default"].instanceOf(Date)
262
+ };
263
+ return (0, _I18nDecorator.I18nContextDecorator)({
264
+ rtlProp: 'rtl',
265
+ localeProp: 'locale'
266
+ }, (0, _Changeable["default"])(DateTimeDecorator));
267
+ });
268
+ var _default = exports["default"] = DateTimeDecorator;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "DateTime", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _DateTime["default"];
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "DateTimeBase", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _DateTime.DateTimeBase;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "DateTimeDecorator", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _DateTimeDecorator.DateTimeDecorator;
22
+ }
23
+ });
24
+ exports["default"] = void 0;
25
+ var _DateTime = _interopRequireWildcard(require("./DateTime"));
26
+ var _DateTimeDecorator = require("./DateTimeDecorator");
27
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
28
+ /**
29
+ * Exports the {@link limestone/internal/DateTime.DateTime},
30
+ * {@link limestone/internal/DateTime.DateTimeBase}
31
+ * {@link limestone/internal/DateTime.DatetimeDecorator}
32
+ * components.
33
+ *
34
+ * @module limestone/internal/DateTime
35
+ * @private
36
+ */
37
+ var _default = exports["default"] = _DateTime["default"];
@@ -0,0 +1,3 @@
1
+ {
2
+ "main": "index.js"
3
+ }