@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,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.NavigationButton = void 0;
7
+ var _kind = _interopRequireDefault(require("@enact/core/kind"));
8
+ var _util = require("@enact/core/util");
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _react = require("react");
11
+ var _Button = _interopRequireDefault(require("../../Button"));
12
+ var _NavigationButtonModule = _interopRequireDefault(require("./NavigationButton.module.css"));
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ var _excluded = ["component", "focusEffectIconOnly", "visible"];
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
16
+ 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; }
17
+ 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; }
18
+ 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; }
19
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
20
+ 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); }
21
+ 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; }
22
+ 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; }
23
+ var NavigationButton = exports.NavigationButton = (0, _kind["default"])({
24
+ name: 'NavigationButton',
25
+ propTypes: {
26
+ component: _propTypes["default"].oneOfType([_propTypes["default"].bool, _propTypes["default"].element, _propTypes["default"].func]),
27
+ focusEffectIconOnly: _propTypes["default"].bool,
28
+ onClick: _propTypes["default"].func,
29
+ visible: _propTypes["default"].bool
30
+ },
31
+ render: function render(_ref) {
32
+ var component = _ref.component,
33
+ focusEffectIconOnly = _ref.focusEffectIconOnly,
34
+ visible = _ref.visible,
35
+ rest = _objectWithoutProperties(_ref, _excluded);
36
+ if (/*#__PURE__*/(0, _react.isValidElement)(component)) {
37
+ (0, _util.extractAriaProps)(rest);
38
+ Object.keys(component.props).forEach(function (key) {
39
+ // Using the provided prop values as defaults for any component.props value that is
40
+ // strictly undefined. This follows React's convention for default props in which a
41
+ // default is used when a prop is either explicitly undefined or omitted and
42
+ // therefore implicitly undefined.
43
+ if (typeof component.props[key] !== 'undefined') {
44
+ rest[key] = component.props[key];
45
+ }
46
+ });
47
+ var Type = component.type;
48
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Type, _objectSpread({
49
+ css: focusEffectIconOnly ? _NavigationButtonModule["default"] : null
50
+ }, rest));
51
+ } else if (
52
+ // Explicitly disabled via false/null or visible is set to false
53
+ component === false || component === null ||
54
+ // Using the default config and hidden at this time
55
+ typeof component === 'undefined' && !visible) {
56
+ return null;
57
+ }
58
+ var Component = typeof component === 'function' ? component : _Button["default"];
59
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, _objectSpread({
60
+ css: focusEffectIconOnly ? _NavigationButtonModule["default"] : null
61
+ }, rest));
62
+ }
63
+ });
64
+ var _default = exports["default"] = NavigationButton;
@@ -0,0 +1,69 @@
1
+ .button.hasIcon.small {
2
+ min-width: 2.25rem;
3
+ padding: 0 0.375rem;
4
+ }
5
+ .button.hasIcon.small .bg {
6
+ width: 2.25rem;
7
+ }
8
+ .button.hasIcon.large {
9
+ min-width: 2.75rem;
10
+ padding: 0 0.5rem;
11
+ }
12
+ .button.hasIcon.large .bg {
13
+ width: 2.75rem;
14
+ }
15
+ .button.hasIcon.iconAfter .bg {
16
+ left: auto;
17
+ right: 0;
18
+ }
19
+ :global(.enact-locale-right-to-left) .button.hasIcon.iconAfter .bg {
20
+ left: 0;
21
+ right: auto;
22
+ }
23
+ .button.hasIcon.iconAfter .icon {
24
+ margin-left: var(--primitive-spacing-36);
25
+ margin-right: 0;
26
+ }
27
+ :global(.enact-locale-right-to-left) .button.hasIcon.iconAfter .icon {
28
+ margin-left: 0;
29
+ margin-right: var(--primitive-spacing-36);
30
+ }
31
+ .button.hasIcon.iconBefore .icon {
32
+ margin-left: 0;
33
+ margin-right: var(--primitive-spacing-36);
34
+ }
35
+ :global(.enact-locale-right-to-left) .button.hasIcon.iconBefore .icon {
36
+ margin-left: var(--primitive-spacing-36);
37
+ margin-right: 0;
38
+ }
39
+ .button.hasIcon:global(.neutral) .client :not(.icon) {
40
+ color: var(--semantic-color-on-background-main);
41
+ }
42
+ :global(.enact-a11y-high-contrast) .button.hasIcon:global(.neutral):global(.highContrast) .client :not(.icon) {
43
+ color: var(--semantic-color-on-background-main);
44
+ }
45
+ .button.hasIcon:global(.light) .client :not(.icon) {
46
+ color: var(--semantic-color-on-background-main);
47
+ }
48
+ .button.hasIcon:global(.game) {
49
+ --semantic-color-surface-default: #2d224c;
50
+ --semantic-color-surface-default-focused: #6d2fa1;
51
+ --semantic-color-on-surface-main-focused: #e6e6e6;
52
+ }
53
+ .button.hasIcon:global(.game) .client :not(.icon) {
54
+ color: var(--semantic-color-on-background-main);
55
+ }
56
+ :global(.green) .button.hasIcon:global(.game) {
57
+ --semantic-color-surface-default: #1F2C24;
58
+ --semantic-color-surface-default-focused: #3ea07d;
59
+ }
60
+ :global(.green) .button.hasIcon:global(.game) .client :not(.icon) {
61
+ color: var(--semantic-color-on-background-main);
62
+ }
63
+ :global(.orange) .button.hasIcon:global(.game) {
64
+ --semantic-color-surface-default: #422923;
65
+ --semantic-color-surface-default-focused: #b85f23;
66
+ }
67
+ :global(.orange) .button.hasIcon:global(.game) .client :not(.icon) {
68
+ color: var(--semantic-color-on-background-main);
69
+ }
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.PanelsRouter = exports.PanelsContext = void 0;
7
+ var _react = require("react");
8
+ var _hoc = _interopRequireDefault(require("@enact/core/hoc"));
9
+ var _propTypes = _interopRequireDefault(require("@enact/core/internal/prop-types"));
10
+ var _useChainRefs = _interopRequireDefault(require("@enact/core/useChainRefs"));
11
+ var _propTypes2 = _interopRequireDefault(require("prop-types"));
12
+ var _useAutoFocus = _interopRequireDefault(require("./useAutoFocus"));
13
+ var _useFocusOnTransition2 = _interopRequireDefault(require("./useFocusOnTransition"));
14
+ var _useToggleRole2 = _interopRequireDefault(require("./useToggleRole"));
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ var _excluded = ["children", "componentRef", "data-spotlight-id", "index", "onTransition", "onWillTransition", "rtl", "subtitle", "title"],
17
+ _excluded2 = ["onWillTransition"];
18
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
19
+ 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; }
20
+ 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; }
21
+ 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; }
22
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
23
+ 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); }
24
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
25
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
26
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
27
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
28
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
29
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
30
+ 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; }
31
+ 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; }
32
+ var PanelsContext = exports.PanelsContext = /*#__PURE__*/(0, _react.createContext)(null);
33
+
34
+ // single-index ViewManagers need some help knowing when the transition direction needs to change
35
+ // because the index is always 0 from its perspective.
36
+ function useReverseTransition() {
37
+ var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
38
+ var rtl = arguments.length > 1 ? arguments[1] : undefined;
39
+ var prevIndex = (0, _react.useRef)(index);
40
+ var reverse = (0, _react.useRef)(rtl);
41
+ // If the index was changed, the panel transition occurs on the next cycle by `Panel`
42
+ var prev = {
43
+ reverseTransition: reverse.current,
44
+ prevIndex: prevIndex.current
45
+ };
46
+ if (prevIndex.current !== index) {
47
+ reverse.current = rtl ? index > prevIndex.current : index < prevIndex.current;
48
+ prevIndex.current = index;
49
+ }
50
+ return prev;
51
+ }
52
+ var defaultConfig = {
53
+ type: 'wizard'
54
+ };
55
+
56
+ /**
57
+ * PanelsRouter passes the children, footer, subtitle, and title from
58
+ * {@link limestone/WizardPanels.Panel|WizardPanel} to
59
+ * {@link limestone/WizardPanels.WizardPanelsBase|WizardPanelsBase} and passes the children from
60
+ * {@link limestone/QuickGuidePanels.Panel|QuickGuidePanel} to
61
+ * {@link limestone/QuickGuidePanels.QuickGuidePanelsBase|QuickGuidePanelsBase}.
62
+ *
63
+ * @class PanelsRouter
64
+ * @memberof limestone/internal/Panels
65
+ * @hoc
66
+ * @private
67
+ */
68
+ var PanelsRouter = exports.PanelsRouter = (0, _hoc["default"])(defaultConfig, function (config, Wrapped) {
69
+ var PanelsProvider = function PanelsProvider(_ref) {
70
+ var children = _ref.children,
71
+ componentRef = _ref.componentRef,
72
+ spotlightId = _ref['data-spotlight-id'],
73
+ _ref$index = _ref.index,
74
+ index = _ref$index === void 0 ? 0 : _ref$index,
75
+ onTransition = _ref.onTransition,
76
+ onWillTransition = _ref.onWillTransition,
77
+ rtl = _ref.rtl,
78
+ _ref$subtitle = _ref.subtitle,
79
+ subtitle = _ref$subtitle === void 0 ? '' : _ref$subtitle,
80
+ _ref$title = _ref.title,
81
+ title = _ref$title === void 0 ? '' : _ref$title,
82
+ rest = _objectWithoutProperties(_ref, _excluded);
83
+ var _useState = (0, _react.useState)(null),
84
+ _useState2 = _slicedToArray(_useState, 2),
85
+ panel = _useState2[0],
86
+ setPanel = _useState2[1];
87
+ var _useToggleRole = (0, _useToggleRole2["default"])(),
88
+ a11yRef = _useToggleRole.ref,
89
+ a11yOnWillTransition = _useToggleRole.onWillTransition;
90
+ var autoFocus = (0, _useAutoFocus["default"])({
91
+ autoFocus: 'default-element',
92
+ hideChildren: panel == null
93
+ });
94
+ var ref = (0, _useChainRefs["default"])(autoFocus, a11yRef, componentRef);
95
+ var _useReverseTransition = useReverseTransition(index, rtl),
96
+ reverseTransition = _useReverseTransition.reverseTransition,
97
+ prevIndex = _useReverseTransition.prevIndex;
98
+ var _useFocusOnTransition = (0, _useFocusOnTransition2["default"])({
99
+ onTransition: onTransition,
100
+ onWillTransition: onWillTransition,
101
+ spotlightId: spotlightId
102
+ }),
103
+ focusOnWillTransition = _useFocusOnTransition.onWillTransition,
104
+ transition = _objectWithoutProperties(_useFocusOnTransition, _excluded2);
105
+ var handleWillTransition = (0, _react.useCallback)(function (ev) {
106
+ focusOnWillTransition(ev);
107
+ a11yOnWillTransition(ev);
108
+ }, [a11yOnWillTransition, focusOnWillTransition]);
109
+ var totalPanels = panel ? _react.Children.count(children) : 0;
110
+ var currentTitle = panel && panel.title ? panel.title : title;
111
+ var currentSubTitle = panel && panel.subtitle ? panel.subtitle : subtitle;
112
+ delete rest.onBack;
113
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(PanelsContext, {
114
+ value: setPanel,
115
+ children: [_react.Children.toArray(children)[index], config.type === 'wizard' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapped, _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, rest), panel), transition), {}, {
116
+ componentRef: ref,
117
+ "data-spotlight-id": spotlightId,
118
+ index: index,
119
+ onWillTransition: handleWillTransition,
120
+ title: currentTitle,
121
+ subtitle: currentSubTitle,
122
+ totalPanels: totalPanels,
123
+ reverseTransition: reverseTransition,
124
+ children: panel && panel.children ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
125
+ className: "enact-fit",
126
+ children: panel.children
127
+ }, "panel".concat(prevIndex)) : null
128
+ })) : /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapped, _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, rest), panel), transition), {}, {
129
+ componentRef: ref,
130
+ "data-spotlight-id": spotlightId,
131
+ index: index,
132
+ onWillTransition: handleWillTransition,
133
+ totalPanels: totalPanels,
134
+ children: panel && panel.children ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
135
+ className: "enact-fit",
136
+ children: panel.children
137
+ }, "panel".concat(prevIndex)) : null
138
+ }))]
139
+ });
140
+ };
141
+ PanelsProvider.propTypes = /** @lends limestone/internal/Panels.PanelsRouter.prototype */{
142
+ /**
143
+ * Obtains a reference to the root node.
144
+ *
145
+ * @type {Function|Object}
146
+ * @private
147
+ */
148
+ componentRef: _propTypes["default"].ref,
149
+ /**
150
+ * The spotlight id for the panel
151
+ *
152
+ * @type {String}
153
+ * @private
154
+ */
155
+ 'data-spotlight-id': _propTypes2["default"].string,
156
+ /**
157
+ * The currently selected step.
158
+ *
159
+ * @type {Number}
160
+ * @default 0
161
+ * @private
162
+ */
163
+ index: _propTypes2["default"].number,
164
+ /**
165
+ * Disables panel transitions.
166
+ *
167
+ * @type {Boolean}
168
+ * @public
169
+ */
170
+ noAnimation: _propTypes2["default"].bool,
171
+ /**
172
+ * Called when a transition completes
173
+ *
174
+ * @type {Function}
175
+ * @private
176
+ */
177
+ onTransition: _propTypes2["default"].func,
178
+ /**
179
+ * Called when a transition begins
180
+ *
181
+ * @type {Function}
182
+ * @private
183
+ */
184
+ onWillTransition: _propTypes2["default"].func,
185
+ /**
186
+ * Used to determine the transition direction
187
+ *
188
+ * @type {Boolean}
189
+ * @private
190
+ */
191
+ rtl: _propTypes2["default"].bool,
192
+ /**
193
+ * The "default" subtitle for WizardPanels if subtitle isn't explicitly set in
194
+ * {@link limestone/WizardPanels.Panel|Panel}.
195
+ * @example
196
+ * <WizardPanels subtitle="Subtitle">
197
+ * <WizardPanels.Panel>
198
+ * lorem ipsum ...
199
+ * </WizardPanels.Panel>
200
+ * </WizardPanels>
201
+ *
202
+ * @type {String}
203
+ * @private
204
+ */
205
+ subtitle: _propTypes2["default"].string,
206
+ /**
207
+ * The "default" title for WizardPanels if title isn't explicitly set in
208
+ * {@link limestone/WizardPanels.Panel|Panel}.
209
+ * @example
210
+ * <WizardPanels title="Title">
211
+ * <WizardPanels.Panel>
212
+ * lorem ipsum ...
213
+ * </WizardPanels.Panel>
214
+ * </WizardPanels>
215
+ *
216
+ * @type {String}
217
+ * @private
218
+ */
219
+ title: _propTypes2["default"].string
220
+ };
221
+ return PanelsProvider;
222
+ });
223
+ var _default = exports["default"] = PanelsRouter;
@@ -0,0 +1,287 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.PopupDecorator = void 0;
7
+ var _hoc = _interopRequireDefault(require("@enact/core/hoc"));
8
+ var _kind = _interopRequireDefault(require("@enact/core/kind"));
9
+ var _util = require("@enact/core/util");
10
+ var _IdProvider = _interopRequireDefault(require("@enact/ui/internal/IdProvider"));
11
+ var _invariant = _interopRequireDefault(require("invariant"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _react = require("react");
14
+ var _Skinnable = _interopRequireDefault(require("../../Skinnable"));
15
+ var _Popup = _interopRequireDefault(require("../../Popup"));
16
+ var _CancelDecorator = _interopRequireDefault(require("./CancelDecorator"));
17
+ var _TransitionDecorator = _interopRequireDefault(require("./TransitionDecorator"));
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ var _excluded = ["children", "className", "generateId", "id", "index", "noAnimation", "onBack", "onClose"]; // List all the props from Popup that we want to move from this component's root onto Popup.
20
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
21
+ 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; }
22
+ 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; }
23
+ 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; }
24
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
25
+ 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); }
26
+ 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; }
27
+ 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; }
28
+ var popupPropList = ['noAutoDismiss', 'onHide', 'onKeyDown', 'onShow', 'open', 'position', 'scrimType', 'spotlightId', 'spotlightRestrict'];
29
+
30
+ // TODO: Figure out how to document private sub-module members
31
+
32
+ /**
33
+ * Default config for {@link limestone/Panels.PopupDecorator}
34
+ * @hocconfig
35
+ * @memberof limestone/Panels.PopupDecorator
36
+ * @private
37
+ */
38
+ var defaultConfig = {
39
+ /**
40
+ * Classes to be added to the root node
41
+ *
42
+ * @type {String}
43
+ * @default null
44
+ * @memberof limestone/Panels.PopupDecorator.defaultConfig
45
+ */
46
+ className: null,
47
+ /**
48
+ * Class name module map
49
+ *
50
+ * @type {Object}
51
+ * @default null
52
+ * @memberof limestone/Panels.PopupDecorator.defaultConfig
53
+ */
54
+ css: null,
55
+ /**
56
+ * Support accessibility options.
57
+ *
58
+ * If true, the aria-live and role in Popup are `null`.
59
+ *
60
+ * @type {Boolean}
61
+ * @default false
62
+ * @memberof limestone/Panels.PopupDecorator.defaultConfig
63
+ */
64
+ noAlertRole: false,
65
+ /**
66
+ * Disables the outline in high contrast mode.
67
+ *
68
+ * @type {Boolean}
69
+ * @default false
70
+ * @private
71
+ */
72
+ noOutline: false,
73
+ /**
74
+ * Arranger for Panels
75
+ *
76
+ * @type {Object}
77
+ * @default null
78
+ * @memberof limestone/Panels.PopupDecorator.defaultConfig
79
+ */
80
+ panelArranger: null
81
+ };
82
+
83
+ /**
84
+ * A higher-order component that puts a Panels component into a Popup.
85
+ *
86
+ * @class PopupDecorator
87
+ * @type {Function}
88
+ * @hoc
89
+ * @private
90
+ * @memberof limestone/Panels
91
+ */
92
+ var PopupDecorator = exports.PopupDecorator = (0, _hoc["default"])(defaultConfig, function (config, Wrapped) {
93
+ var cfgClassName = config.className,
94
+ css = config.css,
95
+ noAlertRole = config.noAlertRole,
96
+ noOutline = config.noOutline,
97
+ panelArranger = config.panelArranger,
98
+ panelType = config.panelType;
99
+ var CancelableWrapped = (0, _CancelDecorator["default"])({
100
+ cancel: 'onBack'
101
+ }, Wrapped);
102
+ var Decorator = (0, _kind["default"])({
103
+ name: 'PopupDecorator',
104
+ propTypes: /** @lends limestone/Panels.PopupDecorator.prototype */{
105
+ /**
106
+ * An object containing properties to be passed to each child.
107
+ *
108
+ * @type {Object}
109
+ * @public
110
+ */
111
+ childProps: _propTypes["default"].object,
112
+ /**
113
+ * Panels to be rendered
114
+ *
115
+ * @type {Node}
116
+ */
117
+ children: _propTypes["default"].node,
118
+ /**
119
+ * Instructs the Popup to fill the entire height of the screen.
120
+ *
121
+ * Normally, the popup will flex in height to match the size of the content until the
122
+ * screen bounds are met. Use this if you require a full-height popup but don't have
123
+ * enough content to fill the space, or you want a component to stretch to the edges.
124
+ *
125
+ * @type {Boolean}
126
+ * @public
127
+ */
128
+ fullHeight: _propTypes["default"].bool,
129
+ /**
130
+ * Function that generates unique identifiers for Panel instances
131
+ *
132
+ * @type {Function}
133
+ * @required
134
+ * @private
135
+ */
136
+ generateId: _propTypes["default"].func,
137
+ /**
138
+ * Unique identifier for the Panels instance
139
+ *
140
+ * @type {String}
141
+ * @public
142
+ */
143
+ id: _propTypes["default"].string,
144
+ /**
145
+ * Index of the active panel
146
+ *
147
+ * @type {Number}
148
+ * @default 0
149
+ * @public
150
+ */
151
+ index: _propTypes["default"].number,
152
+ /**
153
+ * Disable transitions.
154
+ *
155
+ * @type {Boolean}
156
+ * @default false
157
+ * @public
158
+ */
159
+ noAnimation: _propTypes["default"].bool,
160
+ /**
161
+ * Called with cancel/back key events.
162
+ *
163
+ * @type {Function}
164
+ * @public
165
+ */
166
+ onBack: _propTypes["default"].func,
167
+ /**
168
+ * Called when closing this Panels instance.
169
+ *
170
+ * @type {Function}
171
+ * @public
172
+ */
173
+ onClose: _propTypes["default"].func,
174
+ /**
175
+ * Position of the Popup on the screen.
176
+ *
177
+ * @type {('left'|'right')}
178
+ * @default 'right'
179
+ * @public
180
+ */
181
+ // Intentionally excluded 'bottom', 'center', 'fullscreen', and 'top' as those aren't configured for this component at this time.
182
+ position: _propTypes["default"].oneOf(['left', 'right']),
183
+ /**
184
+ * Scrim type.
185
+ *
186
+ * @type {('transparent'|'translucent'|'none')}
187
+ * @default 'translucent'
188
+ * @public
189
+ */
190
+ scrimType: _propTypes["default"].oneOf(['transparent', 'translucent', 'none']),
191
+ /**
192
+ * Restricts or prioritizes navigation when focus attempts to leave the popup.
193
+ *
194
+ * @type {('self-first'|'self-only')}
195
+ * @default 'self-only'
196
+ * @public
197
+ */
198
+ spotlightRestrict: _propTypes["default"].oneOf(['self-first', 'self-only']),
199
+ /**
200
+ * Size of the popup.
201
+ *
202
+ * @type {('narrow'|'half')}
203
+ * @default 'narrow'
204
+ * @private
205
+ */
206
+ width: _propTypes["default"].oneOf(['narrow', 'half'])
207
+ },
208
+ defaultProps: {
209
+ fullHeight: false,
210
+ index: 0,
211
+ noAnimation: typeof ENACT_PACK_NO_ANIMATION !== 'undefined' && ENACT_PACK_NO_ANIMATION,
212
+ position: 'right',
213
+ scrimType: 'translucent',
214
+ spotlightRestrict: 'self-only',
215
+ width: 'narrow'
216
+ },
217
+ styles: {
218
+ css: css,
219
+ className: cfgClassName
220
+ },
221
+ computed: {
222
+ className: function className(_ref) {
223
+ var fullHeight = _ref.fullHeight,
224
+ scrimType = _ref.scrimType,
225
+ width = _ref.width,
226
+ styler = _ref.styler;
227
+ return styler.append("scrim".concat((0, _util.cap)(scrimType)), width, {
228
+ fullHeight: fullHeight
229
+ });
230
+ },
231
+ spotlightRestrict: function spotlightRestrict(_ref2) {
232
+ var scrimType = _ref2.scrimType,
233
+ _spotlightRestrict = _ref2.spotlightRestrict;
234
+ return scrimType !== 'none' ? 'self-only' : _spotlightRestrict;
235
+ }
236
+ },
237
+ render: function render(_ref3) {
238
+ var children = _ref3.children,
239
+ className = _ref3.className,
240
+ generateId = _ref3.generateId,
241
+ id = _ref3.id,
242
+ index = _ref3.index,
243
+ noAnimation = _ref3.noAnimation,
244
+ onBack = _ref3.onBack,
245
+ onClose = _ref3.onClose,
246
+ rest = _objectWithoutProperties(_ref3, _excluded);
247
+ var count = _react.Children.count(children);
248
+ !(index === 0 && count === 0 || index < count) ? process.env.NODE_ENV !== "production" ? (0, _invariant["default"])(false, "Panels index, ".concat(index, ", is invalid for number of children, ").concat(count)) : (0, _invariant["default"])(false) : void 0;
249
+
250
+ // Extract all popup props
251
+ var popupProps = {};
252
+ for (var prop in rest) {
253
+ if (popupPropList.indexOf(prop) >= 0) {
254
+ popupProps[prop] = rest[prop];
255
+ delete rest[prop];
256
+ }
257
+ }
258
+ delete rest.fullHeight;
259
+ delete rest.width;
260
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Popup["default"], _objectSpread(_objectSpread({}, popupProps), {}, {
261
+ className: className,
262
+ "data-index": index,
263
+ id: id,
264
+ css: css,
265
+ no5WayClose: true,
266
+ noAlertRole: noAlertRole,
267
+ noAnimation: noAnimation,
268
+ noOutline: noOutline,
269
+ onClose: onClose,
270
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(CancelableWrapped, _objectSpread(_objectSpread({}, rest), {}, {
271
+ arranger: panelArranger,
272
+ className: css.viewport,
273
+ generateId: generateId,
274
+ id: "".concat(id, "_panels"),
275
+ index: index,
276
+ noAnimation: noAnimation,
277
+ onBack: onBack,
278
+ onClose: onClose,
279
+ type: panelType,
280
+ children: children
281
+ }))
282
+ }));
283
+ }
284
+ });
285
+ return (0, _TransitionDecorator["default"])((0, _IdProvider["default"])((0, _Skinnable["default"])(Decorator)));
286
+ });
287
+ var _default = exports["default"] = PopupDecorator;