@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,3 @@
1
+ {
2
+ "main": "Checkbox.js"
3
+ }
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ require("@testing-library/jest-dom");
4
+ var _react = require("@testing-library/react");
5
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
6
+ var _Checkbox = _interopRequireWildcard(require("../Checkbox"));
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ 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); }
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
10
+ 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); }
11
+ 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); }); }; }
12
+ describe('CheckboxItem Specs', function () {
13
+ test('should not include the selected class when not selected', function () {
14
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.CheckboxBase, {}));
15
+ var checkboxElement = _react.screen.getByRole('checkbox');
16
+ expect(checkboxElement).not.toHaveClass('selected');
17
+ });
18
+ test('should not be checked', function () {
19
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.CheckboxBase, {}));
20
+ var actual = _react.screen.getByRole('checkbox');
21
+ expect(actual).toHaveAttribute('aria-checked', 'false');
22
+ });
23
+ test('should add the selected class when given the selected prop', function () {
24
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.CheckboxBase, {
25
+ selected: true
26
+ }));
27
+ var checkboxElement = _react.screen.getByRole('checkbox');
28
+ var expected = 'selected';
29
+ expect(checkboxElement).toHaveClass(expected);
30
+ });
31
+ test('should be checked when initiated with `selected` prop', function () {
32
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.CheckboxBase, {
33
+ selected: true
34
+ }));
35
+ var actual = _react.screen.getByRole('checkbox');
36
+ expect(actual).toHaveAttribute('aria-checked', 'true');
37
+ });
38
+ test('should add the indeterminate class when given the indeterminate prop', function () {
39
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.CheckboxBase, {
40
+ indeterminate: true
41
+ }));
42
+ var actual = _react.screen.getByRole('checkbox');
43
+ var expected = 'indeterminate';
44
+ expect(actual).toHaveClass(expected);
45
+ });
46
+ test('should not include the indeterminate class when not indeterminate', function () {
47
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.CheckboxBase, {}));
48
+ var actual = _react.screen.getByRole('checkbox');
49
+ var expected = 'indeterminate';
50
+ expect(actual).not.toHaveClass(expected);
51
+ });
52
+ test('should prioritize indeterminate over selected', function () {
53
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.CheckboxBase, {
54
+ indeterminate: true,
55
+ selected: true,
56
+ indeterminateIcon: "Ind"
57
+ }));
58
+ var actual = _react.screen.getByRole('checkbox').textContent;
59
+ var expected = 'Ind';
60
+ expect(actual).toBe(expected);
61
+ });
62
+ test('should check the checkbox with one click', /*#__PURE__*/_asyncToGenerator(function* () {
63
+ var user = _userEvent["default"].setup();
64
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox["default"], {}));
65
+ var actual = _react.screen.getByRole('checkbox');
66
+ var expected = 'selected';
67
+ yield user.click(actual);
68
+ expect(actual).toHaveClass(expected);
69
+ }));
70
+ test('should uncheck the checkbox with two clicks', /*#__PURE__*/_asyncToGenerator(function* () {
71
+ var user = _userEvent["default"].setup();
72
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox["default"], {}));
73
+ var actual = _react.screen.getByRole('checkbox');
74
+ var expected = 'selected';
75
+ yield user.click(actual);
76
+ yield user.click(actual);
77
+ expect(actual).not.toHaveClass(expected);
78
+ }));
79
+ });
@@ -0,0 +1,99 @@
1
+ // Type definitions for limestone/CheckboxItem
2
+
3
+ import { ToggleableProps as ui_Toggleable_ToggleableProps } from "@enact/ui/Toggleable";
4
+ import { ItemProps as limestone_Item_ItemProps } from "limestone/Item";
5
+ import * as React from "react";
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 CheckboxItemBaseProps
11
+ extends Omit<limestone_Item_ItemProps, "iconComponent"> {
12
+ /**
13
+ * Customizes the component by mapping the supplied collection of CSS class names to the
14
+ corresponding internal elements and states of this component.
15
+ *
16
+ * The following classes are supported:
17
+ * * `checkboxItem` - The root class name
18
+ */
19
+ css?: object;
20
+ /**
21
+ * The icon content.
22
+ *
23
+ * May be specified as either:
24
+ * * A string that represents an icon from the ,
25
+ * * An HTML entity string, Unicode reference or hex value (in the form '0x...'),
26
+ * * A URL specifying path to an icon image, or
27
+ * * An object representing a resolution independent resource (See )
28
+ */
29
+ icon?: string | object;
30
+ /**
31
+ * Enables the "indeterminate" state.
32
+ *
33
+ * An indeterminate, mixed, or half-selected state is typically used in a hierarchy or group
34
+ to represent that some, not all, children are selected.
35
+ *
36
+ * NOTE: This does not prevent updating the `selected` state. Applications must control this
37
+ property directly.
38
+ */
39
+ indeterminate?: boolean;
40
+ /**
41
+ * The icon to be used in the `indeterminate` state.
42
+ *
43
+ * May be specified as either:
44
+ * * A string that represents an icon from the ,
45
+ * * An HTML entity string, Unicode reference or hex value (in the form '0x...'),
46
+ * * A URL specifying path to an icon image, or
47
+ * * An object representing a resolution independent resource (See )
48
+ */
49
+ indeterminateIcon?: string;
50
+ /**
51
+ * If true the checkbox will be selected.
52
+ */
53
+ selected?: boolean;
54
+ /**
55
+ * Nodes to be inserted after the checkbox and before `children` .
56
+ */
57
+ slotBefore?: React.ReactNode;
58
+ }
59
+ /**
60
+ * A Limestone-styled item with a checkbox component.
61
+ *
62
+ * `CheckboxItem` may be used to allow the user to select a single option or used as part of a
63
+ when multiple are possible.
64
+ *
65
+ * Usage:
66
+ * ```
67
+ <CheckboxItem
68
+ defaultSelected={selected}
69
+ onToggle={handleToggle}
70
+ >
71
+ Item with a Checkbox
72
+ </CheckboxItem>
73
+ ```
74
+ */
75
+
76
+ export class CheckboxItemBase extends React.Component<
77
+ Merge<React.HTMLProps<HTMLElement>, CheckboxItemBaseProps>
78
+ > {}
79
+
80
+ export interface CheckboxItemDecoratorProps
81
+ extends ui_Toggleable_ToggleableProps {}
82
+ export function CheckboxItemDecorator<P>(
83
+ Component: React.ComponentType<P> | string,
84
+ ): React.ComponentType<P & CheckboxItemDecoratorProps>;
85
+
86
+ export interface CheckboxItemProps
87
+ extends Merge<CheckboxItemBaseProps, CheckboxItemDecoratorProps> {}
88
+ /**
89
+ * A Limestone-styled item with a checkbox component.
90
+ *
91
+ * `CheckboxItem` will manage its `selected` state via unless set
92
+ directly.
93
+ */
94
+
95
+ export class CheckboxItem extends React.Component<
96
+ Merge<React.HTMLProps<HTMLElement>, CheckboxItemProps>
97
+ > {}
98
+
99
+ export default CheckboxItem;
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.CheckboxItemDecorator = exports.CheckboxItemBase = exports.CheckboxItem = void 0;
7
+ var _kind = _interopRequireDefault(require("@enact/core/kind"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _compose = _interopRequireDefault(require("ramda/src/compose"));
10
+ var _Pure = _interopRequireDefault(require("@enact/ui/internal/Pure"));
11
+ var _Slottable = _interopRequireDefault(require("@enact/ui/Slottable"));
12
+ var _Toggleable = _interopRequireDefault(require("@enact/ui/Toggleable"));
13
+ var _Checkbox = require("../Checkbox");
14
+ var _Item = require("../Item");
15
+ var _Skinnable = _interopRequireDefault(require("../Skinnable"));
16
+ var _CheckboxItemModule = _interopRequireDefault(require("./CheckboxItem.module.css"));
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ var _excluded = ["children", "css", "icon", "indeterminate", "indeterminateIcon", "selected", "slotBefore"];
19
+ /**
20
+ * Limestone styled item components with a toggleable checkbox.
21
+ *
22
+ * @example
23
+ * <CheckboxItem onToggle={console.log}>
24
+ * Item with a Checkbox
25
+ * </CheckboxItem>
26
+ *
27
+ * @module limestone/CheckboxItem
28
+ * @exports CheckboxItem
29
+ * @exports CheckboxItemBase
30
+ * @exports CheckboxItemDecorator
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 _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; }
39
+ 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; }
40
+ var Item = (0, _Item.ItemDecorator)(_Item.ItemBase);
41
+ var Checkbox = (0, _Skinnable["default"])(_Checkbox.CheckboxBase);
42
+ Checkbox.displayName = 'Checkbox';
43
+
44
+ /**
45
+ * A Limestone-styled item with a checkbox component.
46
+ *
47
+ * `CheckboxItem` may be used to allow the user to select a single option or used as part of a
48
+ * {@link ui/Group|Group} when multiple {@link ui/Group.Group.select|selections} are possible.
49
+ *
50
+ * Usage:
51
+ * ```
52
+ * <CheckboxItem
53
+ * defaultSelected={selected}
54
+ * onToggle={handleToggle}
55
+ * >
56
+ * Item with a Checkbox
57
+ * </CheckboxItem>
58
+ * ```
59
+ *
60
+ * @class CheckboxItemBase
61
+ * @memberof limestone/CheckboxItem
62
+ * @extends limestone/Item.Item
63
+ * @omit iconComponent
64
+ * @ui
65
+ * @public
66
+ */
67
+ var CheckboxItemBase = exports.CheckboxItemBase = (0, _kind["default"])({
68
+ name: 'CheckboxItem',
69
+ propTypes: /** @lends limestone/CheckboxItem.CheckboxItemBase.prototype */{
70
+ /**
71
+ * Customizes the component by mapping the supplied collection of CSS class names to the
72
+ * corresponding internal elements and states of this component.
73
+ *
74
+ * The following classes are supported:
75
+ *
76
+ * * `checkboxItem` - The root class name
77
+ *
78
+ * @type {Object}
79
+ * @public
80
+ */
81
+ css: _propTypes["default"].object,
82
+ /**
83
+ * The icon content.
84
+ *
85
+ * May be specified as either:
86
+ *
87
+ * * A string that represents an icon from the {@link limestone/Icon.iconList|iconList},
88
+ * * An HTML entity string, Unicode reference or hex value (in the form '0x...'),
89
+ * * A URL specifying path to an icon image, or
90
+ * * An object representing a resolution independent resource (See {@link ui/resolution})
91
+ *
92
+ * @type {String|Object}
93
+ * @public
94
+ */
95
+ icon: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object]),
96
+ /**
97
+ * Enables the "indeterminate" state.
98
+ *
99
+ * An indeterminate, mixed, or half-selected state is typically used in a hierarchy or group
100
+ * to represent that some, not all, children are selected.
101
+ *
102
+ * NOTE: This does not prevent updating the `selected` state. Applications must control this
103
+ * property directly.
104
+ *
105
+ * @type {Boolean}
106
+ * @public
107
+ */
108
+ indeterminate: _propTypes["default"].bool,
109
+ /**
110
+ * The icon to be used in the `indeterminate` state.
111
+ *
112
+ * May be specified as either:
113
+ *
114
+ * * A string that represents an icon from the {@link limestone/Icon.iconList|iconList},
115
+ * * An HTML entity string, Unicode reference or hex value (in the form '0x...'),
116
+ * * A URL specifying path to an icon image, or
117
+ * * An object representing a resolution independent resource (See {@link ui/resolution})
118
+ *
119
+ * @type {String}
120
+ * @public
121
+ */
122
+ indeterminateIcon: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object]),
123
+ /**
124
+ * If true the checkbox will be selected.
125
+ *
126
+ * @type {Boolean}
127
+ * @public
128
+ */
129
+ selected: _propTypes["default"].bool,
130
+ /**
131
+ * Nodes to be inserted after the checkbox and before `children`.
132
+ *
133
+ * @type {Node}
134
+ * @public
135
+ */
136
+ slotBefore: _propTypes["default"].node
137
+ },
138
+ styles: {
139
+ css: _CheckboxItemModule["default"],
140
+ className: 'checkboxItem',
141
+ publicClassNames: ['checkboxItem', 'bg', 'selected']
142
+ },
143
+ computed: {
144
+ className: function className(_ref) {
145
+ var label = _ref.label,
146
+ styler = _ref.styler;
147
+ return styler.append({
148
+ hasLabel: label != null
149
+ });
150
+ }
151
+ },
152
+ render: function render(_ref2) {
153
+ var children = _ref2.children,
154
+ css = _ref2.css,
155
+ icon = _ref2.icon,
156
+ indeterminate = _ref2.indeterminate,
157
+ indeterminateIcon = _ref2.indeterminateIcon,
158
+ selected = _ref2.selected,
159
+ slotBefore = _ref2.slotBefore,
160
+ rest = _objectWithoutProperties(_ref2, _excluded);
161
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Item, _objectSpread(_objectSpread({
162
+ "data-webos-voice-intent": "SelectCheckItem",
163
+ role: "checkbox"
164
+ }, rest), {}, {
165
+ "aria-checked": selected,
166
+ css: css,
167
+ selected: selected,
168
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("slotBefore", {
169
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Checkbox, {
170
+ className: slotBefore ? css.checkbox : null,
171
+ selected: selected,
172
+ indeterminate: indeterminate,
173
+ indeterminateIcon: indeterminateIcon,
174
+ children: icon
175
+ }), slotBefore]
176
+ }), children]
177
+ }));
178
+ }
179
+ });
180
+
181
+ /**
182
+ * Adds interactive functionality to `CheckboxItem`.
183
+ *
184
+ * @class CheckboxItemDecorator
185
+ * @memberof limestone/CheckboxItem
186
+ * @mixes ui/Toggleable.Toggleable
187
+ * @hoc
188
+ * @public
189
+ */
190
+ var CheckboxItemDecorator = exports.CheckboxItemDecorator = (0, _compose["default"])((0, _Toggleable["default"])({
191
+ toggleProp: 'onClick'
192
+ }), (0, _Slottable["default"])({
193
+ slots: ['label', 'slotAfter', 'slotBefore']
194
+ }));
195
+
196
+ /**
197
+ * A Limestone-styled item with a checkbox component.
198
+ *
199
+ * `CheckboxItem` will manage its `selected` state via {@link ui/Toggleable|Toggleable} unless set
200
+ * directly.
201
+ *
202
+ * @class CheckboxItem
203
+ * @memberof limestone/CheckboxItem
204
+ * @extends limestone/CheckboxItem.CheckboxItemBase
205
+ * @mixes limestone/CheckboxItem.CheckboxItemDecorator
206
+ * @ui
207
+ * @public
208
+ */
209
+ var CheckboxItem = exports.CheckboxItem = (0, _Pure["default"])(CheckboxItemDecorator(CheckboxItemBase));
210
+ var _default = exports["default"] = CheckboxItem;
@@ -0,0 +1,50 @@
1
+ .checkboxItem {
2
+ /* Needed to prevent global class being added in the DOM */
3
+ padding: var(--primitive-spacing-36) var(--primitive-spacing-48) var(--primitive-spacing-36) var(--primitive-spacing-60);
4
+ }
5
+ .checkboxItem.selected {
6
+ /* Available for customization */
7
+ }
8
+ :global(.enact-locale-right-to-left) .checkboxItem {
9
+ padding: var(--primitive-spacing-36) var(--primitive-spacing-60) var(--primitive-spacing-36) var(--primitive-spacing-48);
10
+ }
11
+ .checkboxItem .bg {
12
+ /* Available for customization */
13
+ }
14
+ .checkboxItem.hasLabel {
15
+ padding: var(--primitive-spacing-48) var(--primitive-spacing-48) var(--primitive-spacing-48) var(--primitive-spacing-60);
16
+ }
17
+ :global(.enact-locale-right-to-left) .checkboxItem.hasLabel {
18
+ padding: var(--primitive-spacing-48) var(--primitive-spacing-60) var(--primitive-spacing-48) var(--primitive-spacing-48);
19
+ }
20
+ .checkboxItem:global(.neutral).selected .bg {
21
+ background-color: transparent;
22
+ }
23
+ :global(.enact-a11y-high-contrast) .checkboxItem:global(.neutral):global(.highContrast).selected .bg {
24
+ background-color: transparent;
25
+ }
26
+ .checkboxItem:global(.light).selected .bg {
27
+ background-color: transparent;
28
+ }
29
+ .checkboxItem:global(.game) {
30
+ --semantic-color-surface-default: #2d224c;
31
+ --semantic-color-surface-default-focused: #6d2fa1;
32
+ --semantic-color-on-surface-main-focused: #e6e6e6;
33
+ }
34
+ .checkboxItem:global(.game).selected .bg {
35
+ background-color: transparent;
36
+ }
37
+ :global(.green) .checkboxItem:global(.game) {
38
+ --semantic-color-surface-default: #1F2C24;
39
+ --semantic-color-surface-default-focused: #3ea07d;
40
+ }
41
+ :global(.green) .checkboxItem:global(.game).selected .bg {
42
+ background-color: transparent;
43
+ }
44
+ :global(.orange) .checkboxItem:global(.game) {
45
+ --semantic-color-surface-default: #422923;
46
+ --semantic-color-surface-default-focused: #b85f23;
47
+ }
48
+ :global(.orange) .checkboxItem:global(.game).selected .bg {
49
+ background-color: transparent;
50
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "main": "CheckboxItem.js"
3
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ require("@testing-library/jest-dom");
4
+ var _react = require("@testing-library/react");
5
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
6
+ var _CheckboxItem = _interopRequireWildcard(require("../CheckboxItem"));
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ 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); }
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
10
+ 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); }
11
+ 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); }); }; }
12
+ describe('CheckboxItem Specs', function () {
13
+ test('should support a custom icon', function () {
14
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_CheckboxItem.CheckboxItemBase, {
15
+ icon: "trash",
16
+ children: "Hello CheckboxItem"
17
+ }));
18
+ var checkboxItemElement = _react.screen.getAllByRole('checkbox');
19
+ var actual = checkboxItemElement[1].textContent.codePointAt();
20
+ var expected = 983077; // decimal converted charCode of Unicode 'trash' character
21
+
22
+ expect(actual).toBe(expected);
23
+ });
24
+ test('should have correct text', function () {
25
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_CheckboxItem.CheckboxItemBase, {
26
+ children: "Hello CheckboxItem"
27
+ }));
28
+ var element = _react.screen.getByText(/Hello CheckboxItem/i);
29
+ expect(element).toBeInTheDocument();
30
+ });
31
+ test('should select with click', /*#__PURE__*/_asyncToGenerator(function* () {
32
+ var user = _userEvent["default"].setup();
33
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_CheckboxItem["default"], {
34
+ children: "Hello CheckboxItem"
35
+ }));
36
+ var checkboxItemElement = _react.screen.getAllByRole('checkbox')[0];
37
+ var expected = 'selected';
38
+ yield user.click(checkboxItemElement);
39
+ expect(checkboxItemElement).toHaveClass(expected);
40
+ }));
41
+ test('should unselect with click twice', /*#__PURE__*/_asyncToGenerator(function* () {
42
+ var user = _userEvent["default"].setup();
43
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_CheckboxItem["default"], {
44
+ children: "Hello CheckboxItem"
45
+ }));
46
+ var checkboxItemElement = _react.screen.getAllByRole('checkbox')[0];
47
+ var expected = 'selected';
48
+ yield user.click(checkboxItemElement);
49
+ yield user.click(checkboxItemElement);
50
+ expect(checkboxItemElement).not.toHaveClass(expected);
51
+ }));
52
+ });