@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,28 @@
1
+ ### Checklist
2
+
3
+ * [ ] I have read and understand the [contribution guide](https://enactjs.com/docs/developer-guide/contributing/)
4
+ * [ ] A [CHANGELOG entry](https://enactjs.com/docs/developer-guide/contributing/changelogs/) is included
5
+ * [ ] At least one test case is included for this feature or bug fix
6
+ * [ ] Documentation was added or is not needed
7
+ * [ ] This is an API breaking change
8
+
9
+ ### Issue Resolved / Feature Added
10
+ [//]: # (Describe the issue resolved or feature added by this pull request)
11
+
12
+
13
+ ### Resolution
14
+ [//]: # (Does the code work as intended?)
15
+ [//]: # (What is the impact of this change and *why* was it made?)
16
+
17
+
18
+ ### Additional Considerations
19
+ [//]: # (How should the change be tested?)
20
+ [//]: # (Are there any outstanding questions?)
21
+ [//]: # (Were any side-effects caused by the change?)
22
+
23
+
24
+ ### Links
25
+ [//]: # (Related issues, references)
26
+
27
+
28
+ ### Comments
@@ -0,0 +1,25 @@
1
+ name: Update copyright year(s) in license file
2
+
3
+ on:
4
+ schedule:
5
+ - cron: "0 0 4 1 *"
6
+
7
+ jobs:
8
+ run:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - uses: actions/checkout@v2
12
+ with:
13
+ ref: develop
14
+ fetch-depth: 0
15
+ - uses: FantasticFiasco/action-update-license-year@v2
16
+ with:
17
+ token: ${{ secrets.GITHUB_TOKEN }}
18
+ path: |
19
+ README.md
20
+ samples/sampler/README.md
21
+ branchName: license/{{currentYear}}
22
+ commitTitle: update license
23
+ commitBody: Let's keep legal happy.
24
+ prTitle: Update copyright years in README.md file
25
+ prBody: It's that time of the year, let's update the license.
package/.travis.yml ADDED
@@ -0,0 +1,40 @@
1
+ dist: jammy
2
+ language: node_js
3
+ node_js:
4
+ - lts/*
5
+ - node
6
+ sudo: false
7
+ before_install:
8
+ - sudo apt-get update
9
+ - sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
10
+ install:
11
+ - npm config set prefer-offline false
12
+ - npm install -g codecov
13
+ - git clone --branch=develop --depth 1 https://github.com/enactjs/cli ../cli
14
+ - pushd ../cli
15
+ - npm install
16
+ - npm link
17
+ - popd
18
+ - git clone --branch=develop --depth 1 https://github.com/enactjs/enact ../enact
19
+ - pushd ../enact
20
+ - npm uninstall @enact/ui-test-utils --prefix packages/i18n
21
+ - npm install
22
+ - npm run lerna exec -- --ignore enact-sampler --concurrency 1 -- npm --no-package-lock install
23
+ - npm run lerna exec -- --ignore enact-sampler --concurrency 1 -- npm --no-package-lock link
24
+ - npm run interlink
25
+ - popd
26
+ - rm -fr node_modules/@enact
27
+ - npm uninstall @enact/ui-test-utils
28
+ - npm install
29
+ - enact link
30
+ script:
31
+ - echo -e "\x1b\x5b35;1m*** Starting tests...\x1b\x5b0m"
32
+ - npm test -- --runInBand --coverage
33
+ - codecov -t $CODECOV_TOKEN
34
+ - echo -e "\x1b\x5b35;1m*** Tests complete\x1b\x5b0m"
35
+ - echo -e "\x1b\x5b35;1m*** Starting eslint...\x1b\x5b0m"
36
+ - npm run lint -- -- --report-unused-disable-directives --max-warnings 0 .
37
+ - echo -e "\x1b\x5b35;1m*** eslint complete\x1b\x5b0m"
38
+ - echo -e "\x1b\x5b35;1m*** Starting docs validation...\x1b\x5b0m"
39
+ - npm run validate-docs
40
+ - echo -e "\x1b\x5b35;1m*** Docs validation complete\x1b\x5b0m"
@@ -0,0 +1,73 @@
1
+ // Type definitions for limestone/ActionGuide
2
+
3
+ import { SkinnableProps as limestone_Skinnable_SkinnableProps } from "limestone/Skinnable";
4
+ import * as React from "react";
5
+
6
+ type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
7
+ type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
8
+
9
+ export interface ActionGuideBaseProps {
10
+ /**
11
+ * The "aria-label" for the button.
12
+ */
13
+ buttonAriaLabel?: string;
14
+ /**
15
+ * The contents for the action guide.
16
+ */
17
+ children?: string;
18
+ /**
19
+ * Customizes the component by mapping the supplied collection of CSS class names to the
20
+ corresponding internal elements and states of this component.
21
+ *
22
+ * The following classes are supported:
23
+ * * `actionGuide` - The root component class
24
+ */
25
+ css?: object;
26
+ /**
27
+ * Disables the button.
28
+ */
29
+ disabled?: boolean;
30
+ /**
31
+ * The icon displayed within the action guide.
32
+ */
33
+ icon?: string;
34
+ /**
35
+ * Called when Button is clicked.
36
+ */
37
+ onClick?: Function;
38
+ }
39
+ /**
40
+ * An Action Guide component.
41
+ *
42
+ * This component is most often not used directly but may be composed within another component as it
43
+ is within .
44
+ */
45
+
46
+ export class ActionGuideBase extends React.Component<
47
+ Merge<React.HTMLProps<HTMLElement>, ActionGuideBaseProps>
48
+ > {}
49
+
50
+ export interface ActionGuideDecoratorProps
51
+ extends limestone_Skinnable_SkinnableProps {}
52
+ export function ActionGuideDecorator<P>(
53
+ Component: React.ComponentType<P> | string,
54
+ ): React.ComponentType<P & ActionGuideDecoratorProps>;
55
+
56
+ export interface ActionGuideProps
57
+ extends Merge<ActionGuideBaseProps, ActionGuideDecoratorProps> {}
58
+ /**
59
+ * An Action Guide component, ready to use in Limestone applications.
60
+ *
61
+ * `ActionGuide` may be used to display text and icon to describe an action.
62
+ *
63
+ * Usage:
64
+ * ```
65
+ <ActionGuide icon="arrowlargedown">Hello</ActionGuide>
66
+ ```
67
+ */
68
+
69
+ export class ActionGuide extends React.Component<
70
+ Merge<React.HTMLProps<HTMLElement>, ActionGuideProps>
71
+ > {}
72
+
73
+ export default ActionGuide;
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.ActionGuideDecorator = exports.ActionGuideBase = exports.ActionGuide = void 0;
7
+ var _kind = _interopRequireDefault(require("@enact/core/kind"));
8
+ var _Pure = _interopRequireDefault(require("@enact/ui/internal/Pure"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _compose = _interopRequireDefault(require("ramda/src/compose"));
11
+ var _$L = _interopRequireDefault(require("../internal/$L"));
12
+ var _Button = _interopRequireDefault(require("../Button"));
13
+ var _Marquee = require("../Marquee");
14
+ var _Skinnable = _interopRequireDefault(require("../Skinnable"));
15
+ var _ActionGuideModule = _interopRequireDefault(require("./ActionGuide.module.css"));
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ var _excluded = ["buttonAriaLabel", "children", "css", "disabled", "icon", "onClick"];
18
+ /**
19
+ * Limestone styled action guide component and behaviors.
20
+ *
21
+ * @example
22
+ * <ActionGuide icon="arrowlargedown">Hello</ActionGuide>
23
+ *
24
+ * @module limestone/ActionGuide
25
+ * @exports ActionGuide
26
+ * @exports ActionGuideBase
27
+ * @exports ActionGuideDecorator
28
+ */
29
+ /**
30
+ * An Action Guide component.
31
+ *
32
+ * This component is most often not used directly but may be composed within another component as it
33
+ * is within {@link limestone/ActionGuide.ActionGuide|ActionGuide}.
34
+ *
35
+ * @class ActionGuideBase
36
+ * @memberof limestone/ActionGuide
37
+ * @ui
38
+ * @public
39
+ */
40
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
41
+ 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; }
42
+ 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; }
43
+ 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; }
44
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
45
+ 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); }
46
+ 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; }
47
+ 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; }
48
+ var ActionGuideBase = exports.ActionGuideBase = (0, _kind["default"])({
49
+ name: 'ActionGuide',
50
+ propTypes: /** @lends limestone/ActionGuide.ActionGuideBase.prototype */{
51
+ /**
52
+ * The "aria-label" for the button.
53
+ *
54
+ * @type {String}
55
+ * @public
56
+ */
57
+ buttonAriaLabel: _propTypes["default"].string,
58
+ /**
59
+ * The contents for the action guide.
60
+ *
61
+ * @type {String}
62
+ * @public
63
+ */
64
+ children: _propTypes["default"].string,
65
+ /**
66
+ * Customizes the component by mapping the supplied collection of CSS class names to the
67
+ * corresponding internal elements and states of this component.
68
+ *
69
+ * The following classes are supported:
70
+ *
71
+ * * `actionGuide` - The root component class
72
+ *
73
+ * @type {Object}
74
+ * @public
75
+ */
76
+ css: _propTypes["default"].object,
77
+ /**
78
+ * Disables the button.
79
+ *
80
+ * @type {Boolean}
81
+ * @public
82
+ */
83
+ disabled: _propTypes["default"].bool,
84
+ /**
85
+ * The icon displayed within the action guide.
86
+ *
87
+ * @type {String}
88
+ * @default 'arrowsmalldown'
89
+ * @public
90
+ */
91
+ icon: _propTypes["default"].string,
92
+ /**
93
+ * Called when Button is clicked.
94
+ *
95
+ * @type {Function}
96
+ * @param {Object} event
97
+ * @public
98
+ */
99
+ onClick: _propTypes["default"].func
100
+ },
101
+ defaultProps: {
102
+ icon: 'arrowsmalldown'
103
+ },
104
+ styles: {
105
+ css: _ActionGuideModule["default"],
106
+ className: 'actionGuide',
107
+ publicClassNames: ['actionGuide']
108
+ },
109
+ render: function render(_ref) {
110
+ var buttonAriaLabel = _ref.buttonAriaLabel,
111
+ children = _ref.children,
112
+ css = _ref.css,
113
+ disabled = _ref.disabled,
114
+ icon = _ref.icon,
115
+ onClick = _ref.onClick,
116
+ rest = _objectWithoutProperties(_ref, _excluded);
117
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({}, rest), {}, {
118
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], {
119
+ "aria-label": buttonAriaLabel ? buttonAriaLabel : (0, _$L["default"])('More'),
120
+ css: css,
121
+ className: css.icon,
122
+ disabled: disabled,
123
+ icon: icon,
124
+ minWidth: false,
125
+ onClick: onClick
126
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Marquee.Marquee, {
127
+ className: css.label,
128
+ marqueeOn: "render",
129
+ alignment: "center",
130
+ children: children
131
+ })]
132
+ }));
133
+ }
134
+ });
135
+
136
+ /**
137
+ * Applies Limestone specific behaviors to {@link limestone/ActionGuide.ActionGuideBase|ActionGuide}.
138
+ *
139
+ * @hoc
140
+ * @memberof limestone/ActionGuide
141
+ * @mixes limestone/Skinnable.Skinnable
142
+ * @public
143
+ */
144
+ var ActionGuideDecorator = exports.ActionGuideDecorator = (0, _compose["default"])(_Pure["default"], _Skinnable["default"]);
145
+
146
+ /**
147
+ * An Action Guide component, ready to use in Limestone applications.
148
+ *
149
+ * `ActionGuide` may be used to display text and icon to describe an action.
150
+ *
151
+ * Usage:
152
+ * ```
153
+ * <ActionGuide icon="arrowlargedown">Hello</ActionGuide>
154
+ * ```
155
+ *
156
+ * @class ActionGuide
157
+ * @memberof limestone/ActionGuide
158
+ * @extends limestone/ActionGuide.ActionGuideBase
159
+ * @mixes limestone/ActionGuide.ActionGuideDecorator
160
+ * @ui
161
+ * @public
162
+ */
163
+ var ActionGuide = exports.ActionGuide = ActionGuideDecorator(ActionGuideBase);
164
+ var _default = exports["default"] = ActionGuide;
@@ -0,0 +1,73 @@
1
+ .actionGuide {
2
+ text-align: center;
3
+ max-width: 31.25rem;
4
+ margin: 0 auto;
5
+ line-height: 0;
6
+ padding: var(--primitive-spacing-12) 0 var(--primitive-spacing-36) 0;
7
+ }
8
+ .actionGuide .button {
9
+ margin: 0 0 -0.25rem 0;
10
+ height: 1.75rem;
11
+ min-width: 1.75rem;
12
+ width: 1.75rem;
13
+ }
14
+ .actionGuide .label {
15
+ font-family: "Limestone";
16
+ font-size: var(--primitive-font-size-48);
17
+ font-weight: var(--primitive-font-weight-regular);
18
+ height: 1.25rem;
19
+ line-height: 1.25rem;
20
+ }
21
+ :global(.enact-locale-non-latin) .actionGuide .label {
22
+ font-family: "Limestone";
23
+ font-size: var(--primitive-font-size-48);
24
+ }
25
+ .actionGuide:global(.neutral) .icon .icon {
26
+ color: var(--semantic-color-on-background-actionguide);
27
+ }
28
+ .actionGuide:global(.neutral) .label {
29
+ color: var(--semantic-color-on-background-actionguide);
30
+ }
31
+ :global(.enact-a11y-high-contrast) .actionGuide:global(.neutral):global(.highContrast) .icon .icon {
32
+ color: var(--semantic-color-on-background-actionguide);
33
+ }
34
+ :global(.enact-a11y-high-contrast) .actionGuide:global(.neutral):global(.highContrast) .label {
35
+ color: var(--semantic-color-on-background-actionguide);
36
+ }
37
+ .actionGuide:global(.light) .icon .icon {
38
+ color: var(--semantic-color-on-background-actionguide);
39
+ }
40
+ .actionGuide:global(.light) .label {
41
+ color: var(--semantic-color-on-background-actionguide);
42
+ }
43
+ .actionGuide:global(.game) {
44
+ --semantic-color-surface-default: #2d224c;
45
+ --semantic-color-surface-default-focused: #6d2fa1;
46
+ --semantic-color-on-surface-main-focused: #e6e6e6;
47
+ }
48
+ .actionGuide:global(.game) .icon .icon {
49
+ color: var(--semantic-color-on-background-actionguide);
50
+ }
51
+ .actionGuide:global(.game) .label {
52
+ color: var(--semantic-color-on-background-actionguide);
53
+ }
54
+ :global(.green) .actionGuide:global(.game) {
55
+ --semantic-color-surface-default: #1F2C24;
56
+ --semantic-color-surface-default-focused: #3ea07d;
57
+ }
58
+ :global(.green) .actionGuide:global(.game) .icon .icon {
59
+ color: var(--semantic-color-on-background-actionguide);
60
+ }
61
+ :global(.green) .actionGuide:global(.game) .label {
62
+ color: var(--semantic-color-on-background-actionguide);
63
+ }
64
+ :global(.orange) .actionGuide:global(.game) {
65
+ --semantic-color-surface-default: #422923;
66
+ --semantic-color-surface-default-focused: #b85f23;
67
+ }
68
+ :global(.orange) .actionGuide:global(.game) .icon .icon {
69
+ color: var(--semantic-color-on-background-actionguide);
70
+ }
71
+ :global(.orange) .actionGuide:global(.game) .label {
72
+ color: var(--semantic-color-on-background-actionguide);
73
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "main": "ActionGuide.js"
3
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ require("@testing-library/jest-dom");
4
+ var _react = require("@testing-library/react");
5
+ var _ActionGuide = require("../ActionGuide");
6
+ var _jsxRuntime = require("react/jsx-runtime");
7
+ describe('ActionGuide', function () {
8
+ test('should render `icon`', function () {
9
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_ActionGuide.ActionGuideBase, {
10
+ "data-testid": "actionGuide",
11
+ icon: "star"
12
+ }));
13
+ var expected = 983080; // decimal converted charCode of Unicode 'star' character
14
+ var actual = _react.screen.getByTestId('actionGuide').children.item(0).textContent.codePointAt();
15
+ expect(actual).toBe(expected);
16
+ });
17
+ test('should render `children`', function () {
18
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_ActionGuide.ActionGuideBase, {
19
+ "data-testid": "actionGuide",
20
+ children: "content"
21
+ }));
22
+ var actual = _react.screen.getByText('content');
23
+ expect(actual).toBeInTheDocument();
24
+ });
25
+ test('should set "buttonAriaLabel" to action guide', function () {
26
+ var label = 'custom aria-label';
27
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_ActionGuide.ActionGuideBase, {
28
+ "data-testid": "actionGuide",
29
+ buttonAriaLabel: label
30
+ }));
31
+ var actual = _react.screen.getByRole('button', {
32
+ name: label
33
+ });
34
+ expect(actual).toBeInTheDocument();
35
+ });
36
+ describe('CSS override', function () {
37
+ test('should allow `actionGuide` to be augmented', function () {
38
+ var css = {
39
+ actionGuide: 'test-action-guide'
40
+ };
41
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_ActionGuide.ActionGuideBase, {
42
+ "data-testid": "actionGuide",
43
+ css: css,
44
+ children: "content"
45
+ }));
46
+ var expected = css.actionGuide;
47
+ var actual = _react.screen.getByTestId('actionGuide');
48
+ expect(actual).toHaveClass(expected);
49
+ });
50
+ });
51
+ });
@@ -0,0 +1,155 @@
1
+ // Type definitions for limestone/Alert
2
+
3
+ import * as React from "react";
4
+ import { SlottableProps as ui_Slottable_SlottableProps } from "@enact/ui/Slottable";
5
+
6
+ type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
7
+ type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
8
+
9
+ export interface AlertImageProps {
10
+ /**
11
+ * String value or Object of values used to determine which image will appear for
12
+ a specific component size.
13
+ */
14
+ src: string | object;
15
+ /**
16
+ * Type of image to appear in the alert component. There are two types:
17
+ * * `icon` - A small square sized image type
18
+ * * `thumbnail` - A common image type
19
+ */
20
+ type: "icon" | "thumbnail";
21
+ /**
22
+ * Size of the image when `type` is set to `icon` .
23
+ */
24
+ iconSize?: "small" | "large";
25
+ }
26
+ /**
27
+ * An image for use in an Alert.
28
+ */
29
+
30
+ export class AlertImage extends React.Component<
31
+ Merge<React.HTMLProps<HTMLElement>, AlertImageProps>
32
+ > {}
33
+
34
+ export interface AlertBaseProps {
35
+ /**
36
+ * Buttons to be included under the component.
37
+ *
38
+ * Typically, up to 3 buttons are used.
39
+ */
40
+ buttons?: JSX.Element | JSX.Element[];
41
+ /**
42
+ * The contents of the body of the component.
43
+ *
44
+ * Only shown when `type="overlay"` . If `children` is text-only, it will be wrapped with
45
+ .
46
+ */
47
+ children?: React.ReactNode;
48
+ /**
49
+ * Customizes the component by mapping the supplied collection of CSS class names to the
50
+ corresponding internal elements and states of this component.
51
+ *
52
+ * The following classes are supported:
53
+ * * `alert` - The root class name
54
+ * * `content` - The content component class
55
+ * * `fullscreen` - Applied to a `type='fullscreen'` alert
56
+ * * `overlay` - Applied to a `type='overlay'` alert
57
+ * * `title` - The title component class
58
+ */
59
+ css?: object;
60
+ /**
61
+ * Image to be included in the Alert component.
62
+ *
63
+ * It is recommended to use the `AlertImage` component.
64
+ */
65
+ image?: JSX.Element;
66
+ /**
67
+ * Called when the user requests to close the Alert.
68
+ *
69
+ * This also includes pressing the cancel key.
70
+ */
71
+ onClose?: Function;
72
+ /**
73
+ * Called after the transition to hide the Alert has finished.
74
+ */
75
+ onHide?: Function;
76
+ /**
77
+ * Opens the Alert.
78
+ */
79
+ open?: boolean;
80
+ /**
81
+ * Position of the Alert when type= `overlay` .
82
+ *
83
+ * There are five types:
84
+ * * `center` - Popup in the center of the screen
85
+ * * `bottom left` - Popup in the bottom left of the screen
86
+ * * `bottom right` - Popup in the bottom right of the screen
87
+ * * `top left` - Popup in the top left of the screen
88
+ * * `top right` - Popup in the top right of the screen
89
+ */
90
+ overlayPosition?:
91
+ | "bottom left"
92
+ | "bottom right"
93
+ | "center"
94
+ | "top left"
95
+ | "top right";
96
+ /**
97
+ * The primary text displayed.
98
+ *
99
+ * Only shown when `type="fullscreen"` .
100
+ */
101
+ title?: string;
102
+ /**
103
+ * Type of popup.
104
+ *
105
+ * There are two types:
106
+ * * `fullscreen` - Full screen popup
107
+ * * `overlay` - Popup in the center of the screen
108
+ */
109
+ type?: "fullscreen" | "overlay";
110
+ }
111
+ /**
112
+ * A modal Alert component.
113
+ *
114
+ * This component is most often not used directly but may be composed within another component as it
115
+ is within .
116
+ */
117
+
118
+ export class AlertBase extends React.Component<
119
+ Merge<React.HTMLProps<HTMLElement>, AlertBaseProps>
120
+ > {}
121
+
122
+ export interface AlertProps
123
+ extends Merge<AlertBaseProps, ui_Slottable_SlottableProps> {}
124
+ /**
125
+ * A modal Alert component, ready to use in Limestone applications.
126
+ *
127
+ * `Alert` may be used to interrupt a workflow to receive feedback from the user.
128
+ The dialog consists of a title, a message, and an area for additional
129
+ .
130
+ *
131
+ * Usage:
132
+ * ```
133
+ <Alert
134
+ open={this.state.open}
135
+ title="An Important Alert"
136
+ >
137
+ <image>
138
+ <AlertImage src={this.state.src} type="thumbnail" />
139
+ </image>
140
+
141
+ Body text for alert. Components may also be used here for greater customizability.
142
+
143
+ <buttons>
144
+ <Button>Button 1</Button>
145
+ <Button>Button 2</Button>
146
+ </buttons>
147
+ </Alert>
148
+ ```
149
+ */
150
+
151
+ export class Alert extends React.Component<
152
+ Merge<React.HTMLProps<HTMLElement>, AlertProps>
153
+ > {}
154
+
155
+ export default Alert;