@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,72 @@
1
+ // Type definitions for limestone/FixedPopupPanels
2
+
3
+ import * as React from "react";
4
+ import { PanelProps as limestone_Panels_PanelProps } from "limestone/Panels";
5
+ import { HeaderProps as limestone_Panels_HeaderProps } from "limestone/Panels";
6
+
7
+ type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
8
+ type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
9
+
10
+ export interface FixedPopupPanelsDecoratorProps {}
11
+ export function FixedPopupPanelsDecorator<P>(
12
+ Component: React.ComponentType<P> | string,
13
+ ): React.ComponentType<P & FixedPopupPanelsDecoratorProps>;
14
+
15
+ export interface FixedPopupPanelsBaseProps {}
16
+ /**
17
+ * A base panels component for that has
18
+ left key handler to navigate panels.
19
+ */
20
+
21
+ export class FixedPopupPanelsBase extends React.Component<
22
+ Merge<React.HTMLProps<HTMLElement>, FixedPopupPanelsBaseProps>
23
+ > {}
24
+
25
+ export interface FixedPopupPanelsProps
26
+ extends Merge<FixedPopupPanelsBaseProps, FixedPopupPanelsDecoratorProps> {
27
+ /**
28
+ * Size of the popup.
29
+ */
30
+ width?: "narrow" | "half";
31
+ }
32
+ /**
33
+ * An instance of which restricts the `Panel` to the right
34
+ or left side of the screen inside a popup. Typically used for overlaying panels over other
35
+ content.
36
+ */
37
+
38
+ export class FixedPopupPanels extends React.Component<
39
+ Merge<React.HTMLProps<HTMLElement>, FixedPopupPanelsProps>
40
+ > {
41
+ /**
42
+ * A shortcut to access
43
+ */
44
+ Panel: Panel;
45
+
46
+ /**
47
+ * A shortcut to access
48
+ */
49
+ Header: Header;
50
+ }
51
+
52
+ export interface PanelProps extends limestone_Panels_PanelProps {}
53
+ /**
54
+ * The standard view container used inside a
55
+ view manager instance.
56
+ */
57
+
58
+ export class Panel extends React.Component<
59
+ Merge<React.HTMLProps<HTMLElement>, PanelProps>
60
+ > {}
61
+
62
+ export interface HeaderProps extends limestone_Panels_HeaderProps {}
63
+ /**
64
+ * A header component for a Panel with a `title` and `subtitle` , supporting several configurable
65
+ for components.
66
+ */
67
+
68
+ export class Header extends React.Component<
69
+ Merge<React.HTMLProps<HTMLElement>, HeaderProps>
70
+ > {}
71
+
72
+ export default FixedPopupPanels;
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.Panel = exports.Header = exports.FixedPopupPanelsDecorator = exports.FixedPopupPanelsBase = exports.FixedPopupPanels = void 0;
7
+ var _handle = require("@enact/core/handle");
8
+ var _useHandlers = _interopRequireDefault(require("@enact/core/useHandlers"));
9
+ var _I18nDecorator = require("@enact/i18n/I18nDecorator");
10
+ var _spotlight = _interopRequireDefault(require("@enact/spotlight"));
11
+ var _target = require("@enact/spotlight/src/target");
12
+ var _compose = _interopRequireDefault(require("ramda/src/compose"));
13
+ var _Panels = require("../internal/Panels");
14
+ var _Panel = _interopRequireDefault(require("../Panels/Panel"));
15
+ var _Header = _interopRequireDefault(require("../Panels/Header"));
16
+ var _FixedPopupPanelsModule = _interopRequireDefault(require("./FixedPopupPanels.module.css"));
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ var _excluded = ["noAnimation"];
19
+ /**
20
+ * Provides Limestone styled fixed-width, popup-styled Panels component.
21
+ *
22
+ * @module limestone/FixedPopupPanels
23
+ * @exports FixedPopupPanels
24
+ * @exports FixedPopupPanelsBase
25
+ * @exports FixedPopupPanelsDecorator
26
+ * @exports Panel
27
+ * @exports Header
28
+ */
29
+ /**
30
+ * Adds popup functionality and `rtl` prop to {@link limestone/FixedPopupPanels|FixedPopupPanels}.
31
+ *
32
+ * @class FixedPopupPanelsDecorator
33
+ * @memberof limestone/FixedPopupPanels
34
+ * @hoc
35
+ * @public
36
+ */
37
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
38
+ 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; }
39
+ 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; }
40
+ 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; }
41
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
42
+ 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); }
43
+ 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; }
44
+ 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; }
45
+ var FixedPopupPanelsDecorator = exports.FixedPopupPanelsDecorator = (0, _compose["default"])((0, _I18nDecorator.I18nContextDecorator)({
46
+ rtlProp: 'rtl'
47
+ }), (0, _Panels.PopupDecorator)({
48
+ className: 'fixedPopupPanels',
49
+ css: _FixedPopupPanelsModule["default"],
50
+ noAlertRole: true,
51
+ noOutline: true,
52
+ panelArranger: _Panels.BasicArranger,
53
+ panelType: 'fixedPopup'
54
+ }));
55
+ var fixedPopupPanelsHandlers = {
56
+ onKeyDown: (0, _handle.handle)((0, _handle.forward)('onKeyDown'), function (_ref) {
57
+ var target = _ref.target;
58
+ return target.tagName !== 'INPUT';
59
+ }, (0, _handle.forProp)('rtl', false), (0, _handle.forKey)('left'), function (ev, _ref2) {
60
+ var index = _ref2.index;
61
+ return index > 0;
62
+ }, function (_ref3) {
63
+ var target = _ref3.target;
64
+ return document.querySelector("section.".concat(_FixedPopupPanelsModule["default"].body)).contains(target);
65
+ }, function (_ref4) {
66
+ var target = _ref4.target;
67
+ return (0, _target.getTargetByDirectionFromElement)('left', target) === null;
68
+ }, (0, _handle.forwardCustom)('onBack'), function () {
69
+ _spotlight["default"].setPointerMode(false);
70
+ return true;
71
+ }, _handle.preventDefault, _handle.stop)
72
+ };
73
+
74
+ /**
75
+ * A base panels component for {@link limestone/FixedPopupPanels|FixedPopupPanels} that has
76
+ * left key handler to navigate panels.
77
+ *
78
+ * @class FixedPopupPanelsBase
79
+ * @memberof limestone/FixedPopupPanels
80
+ * @ui
81
+ * @public
82
+ */
83
+ var FixedPopupPanelsBase = exports.FixedPopupPanelsBase = function FixedPopupPanelsBase(_ref5) {
84
+ var noAnimation = _ref5.noAnimation,
85
+ props = _objectWithoutProperties(_ref5, _excluded);
86
+ var handlers = (0, _useHandlers["default"])(fixedPopupPanelsHandlers, props);
87
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Panels.Viewport, _objectSpread(_objectSpread(_objectSpread({}, props), handlers), {}, {
88
+ noAnimation: typeof ENACT_PACK_NO_ANIMATION !== 'undefined' && ENACT_PACK_NO_ANIMATION || noAnimation
89
+ }));
90
+ };
91
+
92
+ /**
93
+ * An instance of {@link limestone/Panels.Panels|Panels} which restricts the `Panel` to the right
94
+ * or left side of the screen inside a popup. Typically used for overlaying panels over other
95
+ * content.
96
+ *
97
+ * @class FixedPopupPanels
98
+ * @memberof limestone/FixedPopupPanels
99
+ * @extends limestone/FixedPopupPanels.FixedPopupPanelsBase
100
+ * @mixes limestone/FixedPopupPanels.FixedPopupPanelsDecorator
101
+ * @ui
102
+ * @public
103
+ */
104
+ var FixedPopupPanels = exports.FixedPopupPanels = FixedPopupPanelsDecorator(FixedPopupPanelsBase);
105
+
106
+ /**
107
+ * Size of the popup.
108
+ *
109
+ * @memberof limestone/FixedPopupPanels.FixedPopupPanels.prototype
110
+ * @name width
111
+ * @type {('narrow'|'half')}
112
+ * @default 'narrow'
113
+ * @public
114
+ */
115
+
116
+ /**
117
+ * The standard view container used inside a
118
+ * {@link limestone/FixedPopupPanels.FixedPopupPanels|FixedPopupPanels} view manager instance.
119
+ *
120
+ * @class Panel
121
+ * @extends limestone/Panels.Panel
122
+ * @memberof limestone/FixedPopupPanels
123
+ * @ui
124
+ * @public
125
+ */
126
+ var Panel = exports.Panel = function Panel(props) {
127
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Panel["default"], _objectSpread(_objectSpread({}, props), {}, {
128
+ css: _FixedPopupPanelsModule["default"],
129
+ hideChildren: false
130
+ }));
131
+ };
132
+
133
+ /**
134
+ * A shortcut to access {@link limestone/FixedPopupPanels.Panel}
135
+ *
136
+ * @name Panel
137
+ * @static
138
+ * @memberof limestone/FixedPopupPanels.FixedPopupPanels
139
+ */
140
+ FixedPopupPanels.Panel = Panel;
141
+
142
+ /**
143
+ * A header component for a Panel with a `title` and `subtitle`, supporting several configurable
144
+ * {@link ui/Slottable.Slottable|`slots`} for components.
145
+ *
146
+ * @class Header
147
+ * @extends limestone/Panels.Header
148
+ * @memberof limestone/FixedPopupPanels
149
+ * @ui
150
+ * @public
151
+ */
152
+ var Header = exports.Header = function Header(props) {
153
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Header["default"], _objectSpread(_objectSpread({
154
+ type: "compact"
155
+ }, props), {}, {
156
+ css: _FixedPopupPanelsModule["default"]
157
+ }));
158
+ };
159
+ // Relay the defaultSlot property to our version of Header
160
+ Header.defaultSlot = _Header["default"].defaultSlot;
161
+
162
+ /**
163
+ * A shortcut to access {@link limestone/FixedPopupPanels.Header}
164
+ *
165
+ * @name Header
166
+ * @static
167
+ * @memberof limestone/FixedPopupPanels.FixedPopupPanels
168
+ */
169
+ FixedPopupPanels.Header = Header;
170
+ var _default = exports["default"] = FixedPopupPanels;
@@ -0,0 +1,146 @@
1
+ .fixedPopupPanels {
2
+ position: relative;
3
+ top: auto;
4
+ right: auto;
5
+ bottom: auto;
6
+ left: auto;
7
+ max-height: 100%;
8
+ }
9
+ .fixedPopupPanels .viewport {
10
+ position: static;
11
+ top: auto;
12
+ right: auto;
13
+ bottom: auto;
14
+ left: auto;
15
+ pointer-events: auto;
16
+ }
17
+ .fixedPopupPanels.fullHeight .viewport {
18
+ height: 100%;
19
+ }
20
+ .fixedPopupPanels.narrow {
21
+ width: 25rem;
22
+ }
23
+ .fixedPopupPanels.half {
24
+ width: 35.75rem;
25
+ }
26
+ .fixedPopupPanels > .body {
27
+ pointer-events: inherit;
28
+ padding: 0;
29
+ }
30
+ :global(.enact-locale-right-to-left) .fixedPopupPanels > .body {
31
+ padding: 0;
32
+ }
33
+ .fixedPopupPanels.popup {
34
+ margin: 1.25rem 1.25rem 2.75rem;
35
+ max-height: calc(100vh - 4rem );
36
+ }
37
+ .fixedPopupPanels.popup.left {
38
+ margin-left: 1.25rem;
39
+ margin-right: 1.25rem;
40
+ }
41
+ .fixedPopupPanels:global(.neutral) {
42
+ background-color: transparent;
43
+ }
44
+ .fixedPopupPanels:global(.neutral) .viewport {
45
+ background-color: var(--semantic-color-background-overlay-default);
46
+ border-radius: var(--semantic-radius-overlay);
47
+ box-shadow: 0 0.75rem 1rem color(from var(--semantic-color-on-background-black) srgb r g b / 0.35);
48
+ outline-color: var(--semantic-color-stroke-overlay-default);
49
+ outline-width: 0.021rem;
50
+ outline-style: solid;
51
+ outline-offset: -0.021rem;
52
+ }
53
+ :global(.noAnimation) .fixedPopupPanels:global(.neutral) .viewport {
54
+ box-shadow: none;
55
+ }
56
+ :global(.enact-a11y-high-contrast) .fixedPopupPanels:global(.neutral):global(.highContrast) {
57
+ background-color: transparent;
58
+ }
59
+ :global(.enact-a11y-high-contrast) .fixedPopupPanels:global(.neutral):global(.highContrast) .viewport {
60
+ background-color: var(--semantic-color-background-overlay-default);
61
+ border-radius: var(--semantic-radius-overlay);
62
+ box-shadow: 0 0.75rem 1rem color(from var(--semantic-color-on-background-black) srgb r g b / 0.35);
63
+ outline-color: #7c848b;
64
+ outline-width: 0.021rem;
65
+ outline-style: solid;
66
+ outline-offset: -0.021rem;
67
+ }
68
+ :global(.noAnimation) :global(.enact-a11y-high-contrast) .fixedPopupPanels:global(.neutral):global(.highContrast) .viewport {
69
+ box-shadow: none;
70
+ }
71
+ .fixedPopupPanels:global(.light) {
72
+ background-color: transparent;
73
+ }
74
+ .fixedPopupPanels:global(.light) .viewport {
75
+ background-color: var(--semantic-color-background-overlay-default);
76
+ border-radius: var(--semantic-radius-overlay);
77
+ box-shadow: 0 0.75rem 1rem color(from var(--semantic-color-on-background-black) srgb r g b / 0.35);
78
+ outline-color: var(--semantic-color-stroke-overlay-default);
79
+ outline-width: 0.021rem;
80
+ outline-style: solid;
81
+ outline-offset: -0.021rem;
82
+ }
83
+ :global(.noAnimation) .fixedPopupPanels:global(.light) .viewport {
84
+ box-shadow: none;
85
+ }
86
+ .fixedPopupPanels:global(.game) {
87
+ --semantic-color-surface-default: #2d224c;
88
+ --semantic-color-surface-default-focused: #6d2fa1;
89
+ --semantic-color-on-surface-main-focused: #e6e6e6;
90
+ background-color: transparent;
91
+ }
92
+ .fixedPopupPanels:global(.game) .viewport {
93
+ background-color: var(--semantic-color-background-overlay-default);
94
+ border-radius: var(--semantic-radius-overlay);
95
+ box-shadow: 0 0.75rem 1rem color(from var(--semantic-color-on-background-black) srgb r g b / 0.35);
96
+ outline-color: var(--semantic-color-stroke-overlay-default);
97
+ outline-width: 0.021rem;
98
+ outline-style: solid;
99
+ outline-offset: -0.021rem;
100
+ }
101
+ :global(.noAnimation) .fixedPopupPanels:global(.game) .viewport {
102
+ box-shadow: none;
103
+ }
104
+ :global(.green) .fixedPopupPanels:global(.game) {
105
+ --semantic-color-surface-default: #1F2C24;
106
+ --semantic-color-surface-default-focused: #3ea07d;
107
+ background-color: transparent;
108
+ }
109
+ :global(.green) .fixedPopupPanels:global(.game) .viewport {
110
+ background-color: var(--semantic-color-background-overlay-default);
111
+ border-radius: var(--semantic-radius-overlay);
112
+ box-shadow: 0 0.75rem 1rem color(from var(--semantic-color-on-background-black) srgb r g b / 0.35);
113
+ outline-color: var(--semantic-color-stroke-overlay-default);
114
+ outline-width: 0.021rem;
115
+ outline-style: solid;
116
+ outline-offset: -0.021rem;
117
+ }
118
+ :global(.noAnimation) :global(.green) .fixedPopupPanels:global(.game) .viewport {
119
+ box-shadow: none;
120
+ }
121
+ :global(.orange) .fixedPopupPanels:global(.game) {
122
+ --semantic-color-surface-default: #422923;
123
+ --semantic-color-surface-default-focused: #b85f23;
124
+ background-color: transparent;
125
+ }
126
+ :global(.orange) .fixedPopupPanels:global(.game) .viewport {
127
+ background-color: var(--semantic-color-background-overlay-default);
128
+ border-radius: var(--semantic-radius-overlay);
129
+ box-shadow: 0 0.75rem 1rem color(from var(--semantic-color-on-background-black) srgb r g b / 0.35);
130
+ outline-color: var(--semantic-color-stroke-overlay-default);
131
+ outline-width: 0.021rem;
132
+ outline-style: solid;
133
+ outline-offset: -0.021rem;
134
+ }
135
+ :global(.noAnimation) :global(.orange) .fixedPopupPanels:global(.game) .viewport {
136
+ box-shadow: none;
137
+ }
138
+ .panel {
139
+ max-height: calc(100vh - 4rem );
140
+ }
141
+ .panel > .body {
142
+ display: flex;
143
+ flex-direction: column;
144
+ padding: var(--primitive-spacing-60);
145
+ flex: 1 1 auto;
146
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "main": "FixedPopupPanels.js"
3
+ }
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+
3
+ var _FloatingLayer = require("@enact/ui/FloatingLayer");
4
+ require("@testing-library/jest-dom");
5
+ var _react = require("@testing-library/react");
6
+ var _react2 = require("react");
7
+ var _Item = _interopRequireDefault(require("../../Item"));
8
+ var _Panels = require("../../Panels");
9
+ var _FixedPopupPanels = _interopRequireDefault(require("../FixedPopupPanels"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
13
+ 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."); }
14
+ 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; } }
15
+ 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; }
16
+ 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; } }
17
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
18
+ var keyDown = function keyDown(keyCode) {
19
+ return function (elm) {
20
+ return _react.fireEvent.keyDown(elm, {
21
+ keyCode: keyCode
22
+ });
23
+ };
24
+ };
25
+ var leftKeyDown = keyDown(37);
26
+ var FloatingLayerController = (0, _FloatingLayer.FloatingLayerDecorator)('div');
27
+ var CustomFixedPopupPanels = function CustomFixedPopupPanels(_ref) {
28
+ var defaultIndex = _ref.defaultIndex;
29
+ var _useState = (0, _react2.useState)(defaultIndex),
30
+ _useState2 = _slicedToArray(_useState, 2),
31
+ index = _useState2[0],
32
+ setIndex = _useState2[1];
33
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(FloatingLayerController, {
34
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_FixedPopupPanels["default"], {
35
+ index: index,
36
+ open: true,
37
+ rtl: false,
38
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Panels.Panel, {
39
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Panels.Header, {
40
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("title", {
41
+ children: "This is the first panel"
42
+ })
43
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Item["default"], {
44
+ children: "Example Item 1"
45
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Item["default"], {
46
+ children: "Example Item 2"
47
+ })]
48
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Panels.Panel, {
49
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Panels.Header, {
50
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("title", {
51
+ children: "This is the second panel"
52
+ })
53
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Item["default"], {
54
+ onKeyDown: function onKeyDown() {
55
+ return setIndex(index - 1);
56
+ },
57
+ children: "Example Item 1 on Panel 2"
58
+ })]
59
+ })]
60
+ })
61
+ });
62
+ };
63
+ describe('FixedPopupPanels', function () {
64
+ test('should have the default width when nothing is assigned', function () {
65
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(FloatingLayerController, {
66
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FixedPopupPanels["default"], {
67
+ "data-testid": "panels-id",
68
+ open: true
69
+ })
70
+ }));
71
+ var expected = 'narrow';
72
+ var actual = _react.screen.getByTestId('panels-id').parentElement.parentElement;
73
+ expect(actual).toHaveClass(expected);
74
+ });
75
+ test('should have narrow width applied when width="narrow"', function () {
76
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(FloatingLayerController, {
77
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FixedPopupPanels["default"], {
78
+ "data-testid": "panels-id",
79
+ open: true,
80
+ width: "narrow"
81
+ })
82
+ }));
83
+ var expected = 'narrow';
84
+ var actual = _react.screen.getByTestId('panels-id').parentElement.parentElement;
85
+ expect(actual).toHaveClass(expected);
86
+ });
87
+ test('should have half width applied when width="half"', function () {
88
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(FloatingLayerController, {
89
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FixedPopupPanels["default"], {
90
+ "data-testid": "panels-id",
91
+ open: true,
92
+ width: "half"
93
+ })
94
+ }));
95
+ var expected = 'half';
96
+ var actual = _react.screen.getByTestId('panels-id').parentElement.parentElement;
97
+ expect(actual).toHaveClass(expected);
98
+ });
99
+ test('should correctly assign the fullHeight class', function () {
100
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(FloatingLayerController, {
101
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FixedPopupPanels["default"], {
102
+ "data-testid": "panels-id",
103
+ fullHeight: true,
104
+ open: true
105
+ })
106
+ }));
107
+ var expected = 'fullHeight';
108
+ var actual = _react.screen.getByTestId('panels-id').parentElement.parentElement;
109
+ expect(actual).toHaveClass(expected);
110
+ });
111
+ test('should close on back key', function () {
112
+ var map = {};
113
+ window.addEventListener = jest.fn(function (event, cb) {
114
+ map[event] = cb;
115
+ });
116
+ var handleClose = jest.fn();
117
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(FloatingLayerController, {
118
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FixedPopupPanels["default"], {
119
+ onClose: handleClose,
120
+ open: true
121
+ })
122
+ }));
123
+ map.keyup({
124
+ type: 'keyup',
125
+ currentTarget: window,
126
+ keyCode: 27
127
+ });
128
+ var expectedEvent = {
129
+ type: 'onClose'
130
+ };
131
+ var actualEvent = handleClose.mock.calls.length && handleClose.mock.calls[0][0];
132
+ expect(handleClose).toHaveBeenCalled();
133
+ expect(actualEvent).toMatchObject(expectedEvent);
134
+ });
135
+ test('should navigate to the first panel on arrow left key', function () {
136
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(CustomFixedPopupPanels, {
137
+ defaultIndex: 1
138
+ }));
139
+ leftKeyDown(_react.screen.getByText('Example Item 1 on Panel 2'));
140
+ expect(_react.screen.getByText('This is the first panel')).toBeInTheDocument();
141
+ });
142
+ });