@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,66 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.InputDecoratorIconBase = exports.InputDecoratorIcon = void 0;
7
+ var _kind = _interopRequireDefault(require("@enact/core/kind"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _Icon = _interopRequireDefault(require("../Icon"));
10
+ var _util = require("../internal/util");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ var _excluded = ["children"];
13
+ /**
14
+ * The stateless functional base component for {@link limestone/Input.InputDecoratorIcon}.
15
+ *
16
+ * @class InputDecoratorIconBase
17
+ * @memberof limestone/Input
18
+ * @ui
19
+ * @private
20
+ */
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
22
+ 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; }
23
+ 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; }
24
+ 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; }
25
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
26
+ 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); }
27
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
28
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
29
+ var InputDecoratorIconBase = exports.InputDecoratorIconBase = (0, _kind["default"])({
30
+ name: 'InputDecoratorIcon',
31
+ propTypes: /** @lends limestone/Input.InputDecoratorIconBase.prototype */{
32
+ /**
33
+ * The position of the icon.
34
+ *
35
+ * @type {('before'|'after')}
36
+ * @required
37
+ */
38
+ position: _propTypes["default"].oneOf(['before', 'after']).isRequired,
39
+ /**
40
+ * Icon to be displayed.
41
+ *
42
+ * @see {@link limestone/Icon.IconBase.children}
43
+ * @type {String|Object}
44
+ */
45
+ children: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object])
46
+ },
47
+ render: function render(_ref) {
48
+ var children = _ref.children,
49
+ rest = _objectWithoutProperties(_ref, _excluded);
50
+ delete rest.position;
51
+ return children ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon["default"], _objectSpread(_objectSpread({}, rest), {}, {
52
+ children: children
53
+ })) : null;
54
+ }
55
+ });
56
+
57
+ /**
58
+ * An icon displayed either before or after the input field of an {@link limestone/Input.Input}.
59
+ *
60
+ * @class InputDecoratorIcon
61
+ * @memberof limestone/Input
62
+ * @ui
63
+ * @private
64
+ */
65
+ var InputDecoratorIcon = exports.InputDecoratorIcon = (0, _util.onlyUpdateForProps)(InputDecoratorIconBase, ['children', 'size']);
66
+ var _default = exports["default"] = InputDecoratorIcon;
@@ -0,0 +1,380 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.InputSpotlightDecorator = void 0;
7
+ var _handle = require("@enact/core/handle");
8
+ var _hoc = _interopRequireDefault(require("@enact/core/hoc"));
9
+ var _keymap = require("@enact/core/keymap");
10
+ var _spotlight = require("@enact/spotlight");
11
+ var _Pause = _interopRequireDefault(require("@enact/spotlight/Pause"));
12
+ var _Spottable = _interopRequireDefault(require("@enact/spotlight/Spottable"));
13
+ var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _react = require("react");
15
+ var _pointer = require("./pointer");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
18
+ 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; }
19
+ 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; }
20
+ 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; }
21
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
22
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
23
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), 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 _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
27
+ function _possibleConstructorReturn(t, e) { if (e && ("object" == typeof e || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
28
+ function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
29
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
30
+ function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
31
+ function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
32
+ function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
33
+ var isBubbling = function isBubbling(ev) {
34
+ return ev.currentTarget !== ev.target;
35
+ };
36
+
37
+ // A regex to check for input types that allow selectionStart
38
+ var SELECTABLE_TYPES = /text|password|search|tel|url/;
39
+ var isSelectionAtLocation = function isSelectionAtLocation(target, location) {
40
+ if (SELECTABLE_TYPES.test(target.type)) {
41
+ return target.selectionStart === location;
42
+ } else {
43
+ return true;
44
+ }
45
+ };
46
+ var handleKeyDown = (0, _handle.handle)((0, _handle.forwardWithPrevent)('onKeyDown'), (0, _handle.call)('onKeyDown'));
47
+
48
+ /**
49
+ * Default config for {@link limestone/Input.InputSpotlightDecorator|InputSpotlightDecorator}
50
+ *
51
+ * @memberof limestone/Input/InputSpotlightDecorator.InputSpotlightDecorator
52
+ * @hocconfig
53
+ */
54
+ var defaultConfig = {
55
+ /**
56
+ * Suppress the pointer lock behavior of limestone input
57
+ *
58
+ * @type {Boolean}
59
+ * @default false
60
+ * @memberof limestone/Input/InputSpotlightDecorator.InputSpotlightDecorator.defaultConfig
61
+ */
62
+ noLockPointer: false
63
+ };
64
+
65
+ /**
66
+ * A higher-order component that manages the
67
+ * spotlight behavior for an {@link limestone/Input.Input}
68
+ *
69
+ * @class InputSpotlightDecorator
70
+ * @memberof limestone/Input/InputSpotlightDecorator
71
+ * @hoc
72
+ * @private
73
+ */
74
+ var InputSpotlightDecorator = exports.InputSpotlightDecorator = (0, _hoc["default"])(defaultConfig, function (config, Wrapped) {
75
+ var _Class;
76
+ var noLockPointer = config.noLockPointer;
77
+ var Component = (0, _Spottable["default"])({
78
+ emulateMouse: false
79
+ }, Wrapped);
80
+ var forwardBlur = (0, _handle.forward)('onBlur');
81
+ var forwardMouseDown = (0, _handle.forward)('onMouseDown');
82
+ var forwardFocus = (0, _handle.forward)('onFocus');
83
+ var forwardKeyUp = (0, _handle.forward)('onKeyUp');
84
+ return _Class = /*#__PURE__*/function (_ReactComponent) {
85
+ function _Class(props) {
86
+ var _this;
87
+ _classCallCheck(this, _Class);
88
+ _this = _callSuper(this, _Class, [props]);
89
+ _this.updateFocus = function () {
90
+ // focus node if `InputSpotlightDecorator` is pausing Spotlight or if Spotlight is paused
91
+ if (_this.node && _spotlight.Spotlight.getCurrent() !== _this.node && (_this.paused.isPaused() || !_spotlight.Spotlight.isPaused())) {
92
+ if (_this.fromMouse) {
93
+ _this.node.focus({
94
+ preventScroll: true
95
+ });
96
+ } else {
97
+ _this.node.focus();
98
+ }
99
+ }
100
+ var focusChanged = _this.focused !== _this.prevStatus.focused;
101
+ if (focusChanged) {
102
+ if (_this.focused === 'input') {
103
+ (0, _handle.forwardCustom)('onActivate')(null, _this.props);
104
+ if (!noLockPointer) {
105
+ (0, _pointer.lockPointer)(_this.node);
106
+ }
107
+ _this.paused.pause();
108
+ } else if (_this.prevStatus.focused === 'input') {
109
+ (0, _handle.forwardCustom)('onDeactivate')(null, _this.props);
110
+ if (!noLockPointer) {
111
+ (0, _pointer.releasePointer)(_this.prevStatus.node);
112
+ }
113
+ _this.paused.resume();
114
+ }
115
+ }
116
+ _this.prevStatus.focused = _this.focused;
117
+ _this.prevStatus.node = _this.node;
118
+ };
119
+ _this.focus = function (focused, node, fromMouse) {
120
+ _this.focused = focused;
121
+ _this.node = node;
122
+ _this.fromMouse = fromMouse;
123
+ _this.updateFocus();
124
+ };
125
+ _this.blur = function () {
126
+ if (_this.focused || _this.node) {
127
+ _this.focused = null;
128
+ _this.node = null;
129
+ _this.updateFocus();
130
+ }
131
+ };
132
+ _this.focusDecorator = function (decorator) {
133
+ _this.focus('decorator', decorator, false);
134
+ };
135
+ _this.focusInput = function (decorator, fromMouse) {
136
+ _this.focus('input', decorator.querySelector('input'), fromMouse);
137
+ };
138
+ _this.onBlur = function (ev) {
139
+ if (!_this.props.autoFocus) {
140
+ if (isBubbling(ev)) {
141
+ if (_spotlight.Spotlight.getPointerMode()) {
142
+ _this.blur();
143
+ forwardBlur(ev, _this.props);
144
+ } else {
145
+ _this.focused = 'decorator';
146
+ _this.node = ev.currentTarget;
147
+ _this.fromMouse = false;
148
+ ev.stopPropagation();
149
+ }
150
+ } else if (!ev.currentTarget.contains(ev.relatedTarget)) {
151
+ // Blurring decorator but not focusing input
152
+ forwardBlur(ev, _this.props);
153
+ _this.blur();
154
+ }
155
+ } else if (isBubbling(ev)) {
156
+ if (_this.focused === 'input' && _this.node === ev.target && ev.currentTarget !== ev.relatedTarget) {
157
+ _this.blur();
158
+ forwardBlur(ev, _this.props);
159
+ } else {
160
+ _this.focusDecorator(ev.currentTarget);
161
+ ev.stopPropagation();
162
+ _this.blur();
163
+ }
164
+ }
165
+ };
166
+ _this.onMouseDown = function (ev) {
167
+ var _this$props = _this.props,
168
+ disabled = _this$props.disabled,
169
+ spotlightDisabled = _this$props.spotlightDisabled;
170
+ _this.setDownTarget(ev);
171
+ // focus the <input> whenever clicking on any part of the component to ensure both that
172
+ // the <input> has focus and Spotlight is paused.
173
+ if (!disabled && !spotlightDisabled) {
174
+ _this.focusInput(ev.currentTarget, true);
175
+ }
176
+ forwardMouseDown(ev, _this.props);
177
+ };
178
+ _this.onFocus = function (ev) {
179
+ forwardFocus(ev, _this.props);
180
+
181
+ // when in autoFocus mode, focusing the decorator directly will cause it to
182
+ // forward the focus onto the <input>
183
+ if (!isBubbling(ev) && _this.props.autoFocus && _this.focused === null && !_spotlight.Spotlight.getPointerMode()) {
184
+ _this.focusInput(ev.currentTarget, false);
185
+ ev.stopPropagation();
186
+ }
187
+ };
188
+ _this.onKeyUp = function (ev) {
189
+ var dismissOnEnter = _this.props.dismissOnEnter;
190
+ var currentTarget = ev.currentTarget,
191
+ keyCode = ev.keyCode,
192
+ target = ev.target;
193
+
194
+ // verify that we have a matching pair of key down/up events to avoid adjusting focus
195
+ // when the component received focus mid-press
196
+ if (target === _this.downTarget) {
197
+ _this.downTarget = null;
198
+ if (!_this.props.disabled) {
199
+ if (_this.focused === 'input' && dismissOnEnter && (0, _keymap.is)('enter', keyCode)) {
200
+ _this.focusDecorator(currentTarget);
201
+ // prevent Enter onKeyPress which triggers an onMouseDown via Spotlight
202
+ ev.preventDefault();
203
+ } else if (_this.focused !== 'input' && (0, _keymap.is)('enter', keyCode)) {
204
+ _this.focusInput(currentTarget, false);
205
+ }
206
+ }
207
+ }
208
+ forwardKeyUp(ev, _this.props);
209
+ };
210
+ _this.focused = null;
211
+ _this.node = null;
212
+ _this.fromMouse = false;
213
+ _this.paused = new _Pause["default"]('InputSpotlightDecorator');
214
+ _this.handleKeyDown = handleKeyDown.bind(_this);
215
+ _this.prevStatus = {
216
+ focused: null,
217
+ node: null
218
+ };
219
+ return _this;
220
+ }
221
+ _inherits(_Class, _ReactComponent);
222
+ return _createClass(_Class, [{
223
+ key: "componentWillUnmount",
224
+ value: function componentWillUnmount() {
225
+ this.paused.resume();
226
+ if (this.focused === 'input') {
227
+ var onSpotlightDisappear = this.props.onSpotlightDisappear;
228
+ if (onSpotlightDisappear) {
229
+ onSpotlightDisappear();
230
+ }
231
+ if (!noLockPointer) {
232
+ (0, _pointer.releasePointer)(this.node);
233
+ }
234
+ }
235
+ }
236
+ }, {
237
+ key: "onKeyDown",
238
+ value: function onKeyDown(ev) {
239
+ var currentTarget = ev.currentTarget,
240
+ keyCode = ev.keyCode,
241
+ target = ev.target;
242
+
243
+ // cache the target if this is the first keyDown event to ensure the component had focus
244
+ // when the key interaction started
245
+ this.setDownTarget(ev);
246
+ if (this.focused === 'input') {
247
+ var isDown = (0, _keymap.is)('down', keyCode);
248
+ var isLeft = (0, _keymap.is)('left', keyCode);
249
+ var isRight = (0, _keymap.is)('right', keyCode);
250
+ var isUp = (0, _keymap.is)('up', keyCode);
251
+
252
+ // move spotlight
253
+ var shouldSpotlightMove =
254
+ // No value exists! (Can happen when disabled)
255
+ target.value == null ||
256
+ // on left + at beginning of selection
257
+ isLeft && isSelectionAtLocation(target, 0) ||
258
+ // on right + at end of selection (note: fails on non-selectable types usually)
259
+ isRight && isSelectionAtLocation(target, target.value.length) ||
260
+ // on up
261
+ isUp ||
262
+ // on down
263
+ isDown;
264
+
265
+ // prevent modifying the value via 5-way for numeric fields
266
+ if ((isUp || isDown) && target.type === 'number') {
267
+ ev.preventDefault();
268
+ }
269
+ if (shouldSpotlightMove) {
270
+ var direction = (0, _spotlight.getDirection)(keyCode);
271
+ var getPointerMode = _spotlight.Spotlight.getPointerMode,
272
+ move = _spotlight.Spotlight.move,
273
+ resetKeyHoldState = _spotlight.Spotlight.resetKeyHoldState,
274
+ setPointerMode = _spotlight.Spotlight.setPointerMode;
275
+ if (getPointerMode()) {
276
+ setPointerMode(false);
277
+ }
278
+ (0, _handle.stopImmediate)(ev);
279
+ this.paused.resume();
280
+
281
+ // Move spotlight in the keypress direction
282
+ if (move(direction)) {
283
+ // if successful, reset the internal state
284
+ this.blur();
285
+ resetKeyHoldState();
286
+ } else {
287
+ // if there is no other spottable elements, focus `InputDecorator` instead
288
+ this.focusDecorator(currentTarget);
289
+ }
290
+ } else if (isLeft || isRight) {
291
+ // prevent 5-way nav for left/right keys within the <input>
292
+ (0, _handle.stopImmediate)(ev);
293
+ }
294
+ }
295
+ }
296
+ }, {
297
+ key: "setDownTarget",
298
+ value: function setDownTarget(ev) {
299
+ var repeat = ev.repeat,
300
+ target = ev.target;
301
+ if (!repeat) {
302
+ this.downTarget = target;
303
+ }
304
+ }
305
+ }, {
306
+ key: "render",
307
+ value: function render() {
308
+ var props = Object.assign({}, this.props);
309
+ delete props.autoFocus;
310
+ delete props.onActivate;
311
+ delete props.onDeactivate;
312
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, _objectSpread(_objectSpread({}, props), {}, {
313
+ onBlur: this.onBlur,
314
+ onMouseDown: this.onMouseDown,
315
+ onFocus: this.onFocus,
316
+ onKeyDown: this.handleKeyDown,
317
+ onKeyUp: this.onKeyUp
318
+ }));
319
+ }
320
+ }]);
321
+ }(_react.Component), _Class.displayName = 'InputSpotlightDecorator', _Class.propTypes = /** @lends limestone/Input/InputSpotlightDecorator.InputSpotlightDecorator.prototype */{
322
+ /**
323
+ * Focuses the <input> when the decorator is focused via 5-way.
324
+ *
325
+ * @type {Boolean}
326
+ * @default false
327
+ * @public
328
+ */
329
+ autoFocus: _propTypes["default"].bool,
330
+ /**
331
+ * Applies a disabled style and the control becomes non-interactive.
332
+ *
333
+ * @type {Boolean}
334
+ * @default false
335
+ * @public
336
+ */
337
+ disabled: _propTypes["default"].bool,
338
+ /**
339
+ * Blurs the input when the "enter" key is pressed.
340
+ *
341
+ * @type {Boolean}
342
+ * @default false
343
+ * @public
344
+ */
345
+ dismissOnEnter: _propTypes["default"].bool,
346
+ /**
347
+ * Called when the internal <input> is focused.
348
+ *
349
+ * @type {Function}
350
+ * @param {Object} event
351
+ * @public
352
+ */
353
+ onActivate: _propTypes["default"].func,
354
+ /**
355
+ * Called when the internal <input> loses focus.
356
+ *
357
+ * @type {Function}
358
+ * @param {Object} event
359
+ * @public
360
+ */
361
+ onDeactivate: _propTypes["default"].func,
362
+ /**
363
+ * Called when the component is removed while retaining focus.
364
+ *
365
+ * @type {Function}
366
+ * @param {Object} event
367
+ * @public
368
+ */
369
+ onSpotlightDisappear: _propTypes["default"].func,
370
+ /**
371
+ * Disables spotlight navigation into the component.
372
+ *
373
+ * @type {Boolean}
374
+ * @default false
375
+ * @public
376
+ */
377
+ spotlightDisabled: _propTypes["default"].bool
378
+ }, _Class;
379
+ });
380
+ var _default = exports["default"] = InputSpotlightDecorator;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _kind = _interopRequireDefault(require("@enact/core/kind"));
8
+ var _keymap = require("@enact/core/keymap");
9
+ var _handle = require("@enact/core/handle");
10
+ var _SpotlightContainerDecorator = require("@enact/spotlight/SpotlightContainerDecorator");
11
+ var _Layout = _interopRequireWildcard(require("@enact/ui/Layout"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _Button = _interopRequireDefault(require("../Button"));
14
+ var _$L = _interopRequireDefault(require("../internal/$L"));
15
+ var _WindowEventable = _interopRequireDefault(require("../internal/WindowEventable"));
16
+ var _InputModule = _interopRequireDefault(require("./Input.module.css"));
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ var _excluded = ["children"],
19
+ _excluded2 = ["disabled", "onAdd", "onRemove"];
20
+ /*
21
+ * A keypad used to display a sequence of numbers and buttons, like a keyboard.
22
+ */
23
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
24
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
25
+ 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; }
26
+ 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; }
27
+ 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; }
28
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
29
+ 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); }
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
+ (0, _keymap.add)('number', [48, 49, 50, 51, 52, 53, 54, 55, 56, 57]); // Establish all number keys as 'number' keyword.
33
+ (0, _keymap.add)('backspace', 8);
34
+ var KEY_LIST = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'backspace'];
35
+
36
+ /*
37
+ * A key used inside a Keypad Layout component.
38
+ */
39
+ var Key = (0, _kind["default"])({
40
+ name: 'Key',
41
+ propTypes: {
42
+ disabled: _propTypes["default"].bool,
43
+ // Event callback fired when this button is clicked. Includes the 'key' key in its event
44
+ // payload to let the clicker know what was clicked inside their callback.
45
+ onKeyButtonClick: _propTypes["default"].func
46
+ },
47
+ styles: {
48
+ css: _InputModule["default"],
49
+ className: 'key'
50
+ },
51
+ handlers: {
52
+ onClick: (0, _handle.handle)((0, _handle.forward)('onClick'), (0, _handle.forwardCustom)('onKeyButtonClick', function (ev, _ref) {
53
+ var key = _ref.children;
54
+ return {
55
+ key: key
56
+ };
57
+ }))
58
+ },
59
+ render: function render(_ref2) {
60
+ var children = _ref2.children,
61
+ rest = _objectWithoutProperties(_ref2, _excluded);
62
+ delete rest.onKeyButtonClick;
63
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], _objectSpread(_objectSpread({
64
+ css: _InputModule["default"]
65
+ }, rest), {}, {
66
+ size: "large",
67
+ icon: children
68
+ }));
69
+ }
70
+ });
71
+ var Keypad = (0, _kind["default"])({
72
+ name: 'Keypad',
73
+ propTypes: {
74
+ disabled: _propTypes["default"].bool,
75
+ onAdd: _propTypes["default"].func,
76
+ onRemove: _propTypes["default"].func
77
+ },
78
+ styles: {
79
+ css: _InputModule["default"],
80
+ className: 'keypad'
81
+ },
82
+ render: function render(_ref3) {
83
+ var disabled = _ref3.disabled,
84
+ onAdd = _ref3.onAdd,
85
+ onRemove = _ref3.onRemove,
86
+ rest = _objectWithoutProperties(_ref3, _excluded2);
87
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Layout["default"], _objectSpread(_objectSpread({
88
+ align: "center end",
89
+ wrap: true
90
+ }, rest), {}, {
91
+ inline: true,
92
+ children: KEY_LIST.map(function (keyText, rowIndex) {
93
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Layout.Cell, {
94
+ className: rowIndex === 0 ? _SpotlightContainerDecorator.spotlightDefaultClass : null,
95
+ "aria-label": keyText === 'backspace' ? (0, _$L["default"])('backspace') : keyText,
96
+ shrink: true,
97
+ component: Key,
98
+ disabled: disabled,
99
+ onKeyButtonClick: keyText === 'backspace' ? onRemove : onAdd,
100
+ children: keyText
101
+ }, "key".concat(rowIndex, "-").concat(keyText));
102
+ })
103
+ }));
104
+ }
105
+ });
106
+
107
+ // Set up a keypress handler for window that monitors each of the number keys and the backspace key
108
+ var handleWindowKeyPress = (0, _handle.handle)((0, _handle.oneOf)([(0, _handle.forKey)('number'), (0, _handle.forward)('onAdd')], [(0, _handle.forKey)('backspace'), (0, _handle.forward)('onRemove')]));
109
+ var _default = exports["default"] = (0, _WindowEventable["default"])({
110
+ onKeyDown: handleWindowKeyPress
111
+ }, Keypad);