@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,247 @@
1
+ "use strict";
2
+
3
+ var _ilib = _interopRequireDefault(require("ilib"));
4
+ require("@testing-library/jest-dom");
5
+ var _react = require("@testing-library/react");
6
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
7
+ var _DatePicker = _interopRequireWildcard(require("../DatePicker"));
8
+ var _jsxRuntime = require("react/jsx-runtime");
9
+ 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); }
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
12
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } // Note: Tests pass 'locale' because there's no I18nDecorator to provide a value via context and
13
+ // otherwise, nothing renders in the label.
14
+ describe('DatePicker', function () {
15
+ test('should emit an onChange event with type when changing the day', /*#__PURE__*/_asyncToGenerator(function* () {
16
+ var handleChange = jest.fn();
17
+ var user = _userEvent["default"].setup();
18
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
19
+ onChange: handleChange,
20
+ value: new Date(2000, 6, 15),
21
+ locale: "en-US"
22
+ }));
23
+ var dayPickerUp = _react.screen.getAllByText('▲')[1];
24
+ yield user.click(dayPickerUp);
25
+ var expected = 1;
26
+ var expectedType = {
27
+ type: 'onChange',
28
+ value: new Date(2000, 6, 16)
29
+ };
30
+ var actual = handleChange.mock.calls.length && handleChange.mock.calls[0][0];
31
+ expect(handleChange).toHaveBeenCalledTimes(expected);
32
+ expect(actual).toMatchObject(expectedType);
33
+ }));
34
+ test('should emit an onChange event with type when changing the month', /*#__PURE__*/_asyncToGenerator(function* () {
35
+ var handleChange = jest.fn();
36
+ var user = _userEvent["default"].setup();
37
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
38
+ onChange: handleChange,
39
+ value: new Date(2000, 6, 15),
40
+ locale: "en-US"
41
+ }));
42
+ var monthPickerUp = _react.screen.getAllByText('▲')[0];
43
+ yield user.click(monthPickerUp);
44
+ var expected = 1;
45
+ var expectedType = {
46
+ type: 'onChange',
47
+ value: new Date(2000, 7, 15)
48
+ };
49
+ var actual = handleChange.mock.calls.length && handleChange.mock.calls[0][0];
50
+ expect(handleChange).toHaveBeenCalledTimes(expected);
51
+ expect(actual).toMatchObject(expectedType);
52
+ }));
53
+ test('should emit an onChange event with type when changing the year', /*#__PURE__*/_asyncToGenerator(function* () {
54
+ var handleChange = jest.fn();
55
+ var user = _userEvent["default"].setup();
56
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
57
+ onChange: handleChange,
58
+ value: new Date(2000, 6, 15),
59
+ locale: "en-US"
60
+ }));
61
+ var yearPickerUp = _react.screen.getAllByText('▲')[2];
62
+ yield user.click(yearPickerUp);
63
+ var expected = 1;
64
+ var expectedType = {
65
+ type: 'onChange',
66
+ value: new Date(2001, 6, 15)
67
+ };
68
+ var actual = handleChange.mock.calls.length && handleChange.mock.calls[0][0];
69
+ expect(handleChange).toHaveBeenCalledTimes(expected);
70
+ expect(actual).toMatchObject(expectedType);
71
+ }));
72
+ test('should fire onComplete event with type when enter key pressed from the last picker', function () {
73
+ var handleComplete = jest.fn();
74
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
75
+ onComplete: handleComplete,
76
+ value: new Date(2000, 6, 15),
77
+ locale: "en-US"
78
+ }));
79
+ var year = _react.screen.getByLabelText('2000 year change a value with up down button');
80
+ (0, _react.act)(function () {
81
+ return year.focus();
82
+ });
83
+ _react.fireEvent.keyDown(year, {
84
+ which: 13,
85
+ keyCode: 13,
86
+ code: 13
87
+ });
88
+ var expected = {
89
+ type: 'onComplete',
90
+ value: new Date(2000, 6, 15)
91
+ };
92
+ var actual = handleComplete.mock.calls.length && handleComplete.mock.calls[0][0];
93
+ expect(actual).toMatchObject(expected);
94
+ });
95
+ test('should fire onSpotlightLeft event with type when spotlight is leaving via left key', function () {
96
+ var handleSpotlight = jest.fn();
97
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
98
+ onSpotlightLeft: handleSpotlight,
99
+ value: new Date(2000, 6, 15),
100
+ locale: "en-US"
101
+ }));
102
+ var month = _react.screen.getByLabelText('7 month change a value with up down button');
103
+ (0, _react.act)(function () {
104
+ return month.focus();
105
+ });
106
+ _react.fireEvent.keyDown(month, {
107
+ which: 37,
108
+ keyCode: 37,
109
+ code: 37
110
+ });
111
+ var expected = {
112
+ type: 'onSpotlightLeft'
113
+ };
114
+ var actual = handleSpotlight.mock.calls.length && handleSpotlight.mock.calls[0][0];
115
+ expect(actual).toMatchObject(expected);
116
+ });
117
+ test('should fire onSpotlightRight event with type when spotlight is leaving via right key', function () {
118
+ var handleSpotlight = jest.fn();
119
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
120
+ onSpotlightRight: handleSpotlight,
121
+ value: new Date(2000, 6, 15),
122
+ locale: "en-US"
123
+ }));
124
+ var year = _react.screen.getByLabelText('2000 year change a value with up down button');
125
+ (0, _react.act)(function () {
126
+ return year.focus();
127
+ });
128
+ _react.fireEvent.keyDown(year, {
129
+ which: 39,
130
+ keyCode: 39,
131
+ code: 39
132
+ });
133
+ var expected = {
134
+ type: 'onSpotlightRight'
135
+ };
136
+ var actual = handleSpotlight.mock.calls.length && handleSpotlight.mock.calls[0][0];
137
+ expect(actual).toMatchObject(expected);
138
+ });
139
+ test('should accept a JavaScript Date for its value prop', function () {
140
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
141
+ value: new Date(2000, 0, 1),
142
+ locale: "en-US"
143
+ }));
144
+ var year = _react.screen.getByText('2000');
145
+ expect(year).toBeInTheDocument();
146
+ });
147
+ test('should set \'dayAriaLabel\' to day picker', function () {
148
+ var label = 'custom day aria-label';
149
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
150
+ dayAriaLabel: label,
151
+ value: new Date(2000, 0, 1)
152
+ }));
153
+ var dayPicker = _react.screen.getByLabelText(label);
154
+ var expected = 'day';
155
+ expect(dayPicker).toBeInTheDocument();
156
+ expect(dayPicker).toHaveClass(expected);
157
+ });
158
+ test('should set \'monthAriaLabel\' to month picker', function () {
159
+ var label = 'custom month aria-label';
160
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
161
+ monthAriaLabel: label,
162
+ value: new Date(2000, 0, 1)
163
+ }));
164
+ var monthPicker = _react.screen.getByLabelText(label);
165
+ var expected = 'month';
166
+ expect(monthPicker).toBeInTheDocument();
167
+ expect(monthPicker).toHaveClass(expected);
168
+ });
169
+ test('should set \'yearAriaLabel\' to year picker', function () {
170
+ var label = 'custom year aria-label';
171
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
172
+ value: new Date(2000, 0, 1),
173
+ yearAriaLabel: label
174
+ }));
175
+ var yearPicker = _react.screen.getByLabelText(label);
176
+ var expected = 'year';
177
+ expect(yearPicker).toBeInTheDocument();
178
+ expect(yearPicker).toHaveClass(expected);
179
+ });
180
+ test('should set \'data-webos-voice-disabled\' to day picker when voice control is disabled', function () {
181
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
182
+ value: new Date(2000, 0, 1),
183
+ "data-webos-voice-disabled": true
184
+ }));
185
+ var dayPicker = _react.screen.getByLabelText('1 day change a value with up down button');
186
+ var expected = 'data-webos-voice-disabled';
187
+ expect(dayPicker).toHaveAttribute(expected);
188
+ });
189
+ test('should set \'data-webos-voice-disabled\' to month picker when voice control is disabled', function () {
190
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
191
+ value: new Date(2000, 0, 1),
192
+ "data-webos-voice-disabled": true
193
+ }));
194
+ var monthPicker = _react.screen.getByLabelText('1 month change a value with up down button');
195
+ var expected = 'data-webos-voice-disabled';
196
+ expect(monthPicker).toHaveAttribute(expected);
197
+ });
198
+ test('should set \'data-webos-voice-disabled\' to year picker when voice control is disabled', function () {
199
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
200
+ value: new Date(2000, 0, 1),
201
+ "data-webos-voice-disabled": true
202
+ }));
203
+ var yearPicker = _react.screen.getByLabelText('1900 year change a value with up down button');
204
+ // The year is 1900 because it does not change based on props, this needs to be fixed in datePicker
205
+
206
+ var expected = 'data-webos-voice-disabled';
207
+ expect(yearPicker).toHaveAttribute(expected);
208
+ });
209
+ test('should format a date the same as the label', function () {
210
+ var date = new Date(2000, 0, 1);
211
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
212
+ value: date,
213
+ locale: "en-US"
214
+ }));
215
+ var header = _react.screen.getByText((0, _DatePicker.dateToLocaleString)(date)).parentElement.parentElement;
216
+ var expected = 'heading';
217
+ expect(header).toHaveClass(expected);
218
+ });
219
+ test('should format a date the same as the label in another locale', function () {
220
+ _ilib["default"].setLocale('ar-SA');
221
+ var date = new Date(2000, 0, 1);
222
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
223
+ value: date,
224
+ locale: "ar-SA"
225
+ }));
226
+ var header = _react.screen.getByText((0, _DatePicker.dateToLocaleString)(date)).parentElement.parentElement;
227
+ var expected = 'heading';
228
+ expect(header).toHaveClass(expected);
229
+ });
230
+ test('should not display Heading', function () {
231
+ var date = new Date(2000, 0, 1);
232
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], {
233
+ value: date,
234
+ locale: "en-US",
235
+ noLabel: true
236
+ }));
237
+ var header = _react.screen.queryByText((0, _DatePicker.dateToLocaleString)(date));
238
+ expect(header).toBeNull();
239
+ });
240
+ describe('#dateToLocaleString', function () {
241
+ test('method should return \'null\' for an \'undefined\' date', function () {
242
+ var actual = (0, _DatePicker.dateToLocaleString)(undefined); // eslint-disable-line no-undefined
243
+
244
+ expect(actual).toBeNull();
245
+ });
246
+ });
247
+ });
@@ -0,0 +1,92 @@
1
+ // Type definitions for limestone/DayPicker
2
+
3
+ import { GroupProps as ui_Group_GroupProps } from "@enact/ui/Group";
4
+ import * as React from "react";
5
+ import { ChangeableProps as ui_Changeable_ChangeableProps } from "@enact/ui/Changeable";
6
+
7
+ type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
8
+ type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
9
+
10
+ export interface DayPickerBaseProps
11
+ extends Omit<ui_Group_GroupProps, "children"> {}
12
+ /**
13
+ * A day of the week selection component.
14
+ *
15
+ * This component is most often not used directly but may be composed within another component as it
16
+ is within .
17
+ */
18
+
19
+ export class DayPickerBase extends React.Component<
20
+ Merge<React.HTMLProps<HTMLElement>, DayPickerBaseProps>
21
+ > {}
22
+
23
+ export interface DayPickerProps
24
+ extends Omit<
25
+ Merge<DayPickerBaseProps, ui_Changeable_ChangeableProps>,
26
+ "onChange" | "value" | "defaultValue"
27
+ > {
28
+ /**
29
+ * Disables all days in this picker.
30
+ */
31
+ disabled?: boolean;
32
+ /**
33
+ * Disables DayPicker and the control becomes non-interactive.
34
+ */
35
+ disabled?: boolean;
36
+ /**
37
+ * Called when a day is selected or unselected.
38
+ *
39
+ * The event payload will be an object with the following members:
40
+ * * `selected` - An array of numbers representing the selected days, 0 indexed where Sunday
41
+ is represented by 0
42
+ */
43
+ onSelect?: Function;
44
+ /**
45
+ * An array of numbers (0 indexed where Sunday is 0) representing the selected days of the
46
+ week.
47
+ */
48
+ selected?: number | number[];
49
+ /**
50
+ * The initial value used when `selected` is not set.
51
+ */
52
+ selected?: number | number[];
53
+ /**
54
+ * The "aria-label" for the component.
55
+ *
56
+ * By default, "aria-label" is set to the full names of the selected days or
57
+ the custom text when the weekend, week days, or all days is selected.
58
+ */
59
+ "aria-label"?: string;
60
+ }
61
+ /**
62
+ * A day of the week selection component, ready to use in Limestone applications.
63
+ *
64
+ * By default, `DayPicker` maintains the state of its `selected` property. Supply the
65
+ `selected` property to control its initial value. If you wish to directly control updates
66
+ to the component, supply a value to `selected` at creation time and update it in response to
67
+ `onChange` events.
68
+ *
69
+ * Usage:
70
+ * ```
71
+ <DayPicker
72
+ selected={[2, 3]}
73
+ onSelect={handleSelect}
74
+ />
75
+ ```
76
+ */
77
+
78
+ export class DayPicker extends React.Component<
79
+ Merge<React.HTMLProps<HTMLElement>, DayPickerProps>
80
+ > {}
81
+
82
+ /**
83
+ * Determines whether it should return "Every Day", "Every Weekend", "Every Weekday" or list of
84
+ days for a given selected day type.
85
+ */
86
+ export function getSelectedDayString(
87
+ selected: any,
88
+ noneText?: string,
89
+ dayNameLength?: string,
90
+ ): string;
91
+
92
+ export default DayPicker;
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.DayPickerBase = exports.DayPicker = void 0;
7
+ Object.defineProperty(exports, "getSelectedDayString", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _DaySelectorDecorator.getSelectedDayString;
11
+ }
12
+ });
13
+ var _kind = _interopRequireDefault(require("@enact/core/kind"));
14
+ var _I18nDecorator = require("@enact/i18n/I18nDecorator");
15
+ var _Changeable = _interopRequireDefault(require("@enact/ui/Changeable"));
16
+ var _Group = _interopRequireDefault(require("@enact/ui/Group"));
17
+ var _Pure = _interopRequireDefault(require("@enact/ui/internal/Pure"));
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+ var _compose = _interopRequireDefault(require("ramda/src/compose"));
20
+ var _CheckboxItem = _interopRequireDefault(require("../CheckboxItem"));
21
+ var _Skinnable = _interopRequireDefault(require("../Skinnable"));
22
+ var _DaySelectorDecorator = require("./DaySelectorDecorator");
23
+ var _DayPickerModule = _interopRequireDefault(require("./DayPicker.module.css"));
24
+ var _jsxRuntime = require("react/jsx-runtime");
25
+ var _excluded = ["disabled"];
26
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
27
+ 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; }
28
+ 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; }
29
+ 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; }
30
+ 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; }
31
+ 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; }
32
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
33
+ 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); } /**
34
+ * Limestone styled day picker components.
35
+ *
36
+ * @example
37
+ * <DayPicker
38
+ * selected={[2, 3]}
39
+ * onSelect={console.log}
40
+ * />
41
+ *
42
+ * @module limestone/DayPicker
43
+ * @exports DayPicker
44
+ * @exports DayPickerBase
45
+ * @exports getSelectedDayString
46
+ */
47
+ var CheckboxItemComponent = function CheckboxItemComponent(props) {
48
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_CheckboxItem["default"], _objectSpread({
49
+ css: _DayPickerModule["default"]
50
+ }, props));
51
+ };
52
+
53
+ /**
54
+ * A day of the week selection component.
55
+ *
56
+ * This component is most often not used directly but may be composed within another component as it
57
+ * is within {@link limestone/DayPicker.DayPicker|DayPicker}.
58
+ *
59
+ * @class DayPickerBase
60
+ * @memberof limestone/DayPicker
61
+ * @extends ui/Group.Group
62
+ * @omit children
63
+ * @ui
64
+ * @public
65
+ */
66
+ var DayPickerBase = exports.DayPickerBase = (0, _kind["default"])({
67
+ name: 'DayPicker',
68
+ propTypes: /** @lends limestone/DayPicker.DayPicker.prototype */{
69
+ /**
70
+ * Disables all days in this picker.
71
+ *
72
+ * @type {Boolean}
73
+ * @public
74
+ */
75
+ disabled: _propTypes["default"].bool,
76
+ /**
77
+ * Called when a day is selected or unselected.
78
+ *
79
+ * The event payload will be an object with the following members:
80
+ * * `selected` - An array of numbers representing the selected days, 0 indexed where Sunday
81
+ * is represented by 0
82
+ *
83
+ * @type {Function}
84
+ * @public
85
+ */
86
+ onSelect: _propTypes["default"].func,
87
+ /**
88
+ * An array of numbers (0 indexed where Sunday is 0) representing the selected days of the
89
+ * week.
90
+ *
91
+ * @type {Number|Number[]}
92
+ * @public
93
+ */
94
+ selected: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].arrayOf(_propTypes["default"].number)])
95
+ },
96
+ styles: {
97
+ css: _DayPickerModule["default"],
98
+ className: 'dayPicker'
99
+ },
100
+ computed: {
101
+ children: function children(_ref) {
102
+ var _children = _ref.children;
103
+ return _children.map(function (child) {
104
+ return child['aria-label'];
105
+ });
106
+ }
107
+ },
108
+ render: function render(_ref2) {
109
+ var disabled = _ref2.disabled,
110
+ rest = _objectWithoutProperties(_ref2, _excluded);
111
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Group["default"], _objectSpread(_objectSpread({}, rest), {}, {
112
+ childComponent: CheckboxItemComponent,
113
+ component: "div",
114
+ itemProps: {
115
+ disabled: disabled
116
+ },
117
+ role: null,
118
+ select: "multiple",
119
+ selectedProp: "selected"
120
+ }));
121
+ }
122
+ });
123
+ var DayPickerDecorator = (0, _compose["default"])(_Pure["default"], (0, _Changeable["default"])({
124
+ change: 'onSelect',
125
+ prop: 'selected'
126
+ }), (0, _I18nDecorator.I18nContextDecorator)({
127
+ localeProp: 'locale'
128
+ }), _DaySelectorDecorator.DaySelectorDecorator, _Skinnable["default"]);
129
+
130
+ /**
131
+ * A day of the week selection component, ready to use in Limestone applications.
132
+ *
133
+ * By default, `DayPicker` maintains the state of its `selected` property. Supply the
134
+ * `selected` property to control its initial value. If you wish to directly control updates
135
+ * to the component, supply a value to `selected` at creation time and update it in response to
136
+ * `onChange` events.
137
+ *
138
+ * Usage:
139
+ * ```
140
+ * <DayPicker
141
+ * selected={[2, 3]}
142
+ * onSelect={handleSelect}
143
+ * />
144
+ * ```
145
+ *
146
+ * @class DayPicker
147
+ * @memberof limestone/DayPicker
148
+ * @extends limestone/DayPicker.DayPickerBase
149
+ * @mixes ui/Changeable.Changeable
150
+ * @omit onChange
151
+ * @omit value
152
+ * @omit defaultValue
153
+ * @ui
154
+ * @public
155
+ */
156
+ var DayPicker = exports.DayPicker = DayPickerDecorator(DayPickerBase);
157
+
158
+ /**
159
+ * The "aria-label" for the component.
160
+ *
161
+ * By default, "aria-label" is set to the full names of the selected days or
162
+ * the custom text when the weekend, week days, or all days is selected.
163
+ *
164
+ * @name aria-label
165
+ * @type {String}
166
+ * @memberof limestone/DayPicker.DayPicker.prototype
167
+ * @public
168
+ */
169
+
170
+ /**
171
+ * The initial value used when `selected` is not set.
172
+ *
173
+ * @name selected
174
+ * @type {Number|Number[]}
175
+ * @memberof limestone/DayPicker.DayPicker.prototype
176
+ * @public
177
+ */
178
+
179
+ /**
180
+ * Disables DayPicker and the control becomes non-interactive.
181
+ *
182
+ * @name disabled
183
+ * @type {Boolean}
184
+ * @default false
185
+ * @memberof limestone/DayPicker.DayPicker.prototype
186
+ * @public
187
+ */
188
+ var _default = exports["default"] = DayPicker;
@@ -0,0 +1,35 @@
1
+ .dayPicker .checkboxItem {
2
+ margin-top: 0;
3
+ margin-bottom: 0;
4
+ }
5
+ .dayPicker .checkboxItem:global(.neutral).selected .bg {
6
+ background-color: inherit;
7
+ }
8
+ :global(.enact-a11y-high-contrast) .dayPicker .checkboxItem:global(.neutral):global(.highContrast).selected .bg {
9
+ background-color: inherit;
10
+ }
11
+ .dayPicker .checkboxItem:global(.light).selected .bg {
12
+ background-color: inherit;
13
+ }
14
+ .dayPicker .checkboxItem:global(.game) {
15
+ --semantic-color-surface-default: #2d224c;
16
+ --semantic-color-surface-default-focused: #6d2fa1;
17
+ --semantic-color-on-surface-main-focused: #e6e6e6;
18
+ }
19
+ .dayPicker .checkboxItem:global(.game).selected .bg {
20
+ background-color: inherit;
21
+ }
22
+ :global(.green) .dayPicker .checkboxItem:global(.game) {
23
+ --semantic-color-surface-default: #1F2C24;
24
+ --semantic-color-surface-default-focused: #3ea07d;
25
+ }
26
+ :global(.green) .dayPicker .checkboxItem:global(.game).selected .bg {
27
+ background-color: inherit;
28
+ }
29
+ :global(.orange) .dayPicker .checkboxItem:global(.game) {
30
+ --semantic-color-surface-default: #422923;
31
+ --semantic-color-surface-default-focused: #b85f23;
32
+ }
33
+ :global(.orange) .dayPicker .checkboxItem:global(.game).selected .bg {
34
+ background-color: inherit;
35
+ }