@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,229 @@
1
+ // Type definitions for limestone/TooltipDecorator
2
+
3
+ import * as React from "react";
4
+
5
+ type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
6
+ type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
7
+
8
+ export interface TooltipDecoratorConfig extends Object {
9
+ /**
10
+ * The boundary around the screen which the tooltip should never cross, typically involving
11
+ flipping to an alternate orientation or adjusting its offset to remain on screen.
12
+ The default of 48 is derived from a standard 24px screen-keepout size plus the standard
13
+ Spotlight-outset (24px) margin/padding value which keeps elements and text aligned inside a
14
+ . Note: This value will be scaled according to the
15
+ resolution.
16
+ */
17
+ screenEdgeKeepout?: number;
18
+ /**
19
+ * The name of the property which will receive the tooltip node.
20
+ *
21
+ * By default, `TooltipDecorator` will add a new child to the wrapped component, following any
22
+ other children passed in. If a component needs to, it can specify another property to receive
23
+ the tooltip and the `children` property will not be modified.
24
+ */
25
+ tooltipDestinationProp?: string;
26
+ }
27
+ export interface TooltipDecoratorProps {
28
+ /**
29
+ * Disables the component but does not affect tooltip operation.
30
+ */
31
+ disabled?: boolean;
32
+ /**
33
+ * Time to wait (in milliseconds) before showing tooltip on hover.
34
+ */
35
+ tooltipDelay?: number;
36
+ /**
37
+ * Allows the tooltip to marquee.
38
+ *
39
+ * Specifying a
40
+ restricts the marquee to that size.
41
+ */
42
+ tooltipMarquee?: boolean;
43
+ /**
44
+ * Position of the tooltip with respect to the wrapped component.
45
+ * _Value_ _Tooltip Direction_ `'above'` Above component, flowing to the right `'above center'` Above component, centered `'above left'` Above component, flowing to the left `'above right'` Above component, flowing to the right `'below'` Below component, flowing to the right `'below center'` Below component, centered `'below left'` Below component, flowing to the left `'below right'` Below component, flowing to the right `'left bottom'` Left of the component, contents at the bottom `'left middle'` Left of the component, contents middle aligned `'left top'` Left of the component, contents at the top `'right bottom'` Right of the component, contents at the bottom `'right middle'` Right of the component, contents middle aligned `'right top'` Right of the component, contents at the top
46
+ * `TooltipDecorator` attempts to choose the best direction to meet layout and language
47
+ requirements. Left and right directions will reverse for RTL languages. Additionally,
48
+ the tooltip will reverse direction if it will prevent overflowing off the viewport
49
+ *
50
+ * For `type="balloon"` , the default is `"top right"`
51
+ For `type="transparent"` , the default is `"bottom center"`
52
+ */
53
+ tooltipPosition?:
54
+ | "above"
55
+ | "above center"
56
+ | "above left"
57
+ | "above right"
58
+ | "below"
59
+ | "below center"
60
+ | "below left"
61
+ | "below right"
62
+ | "left bottom"
63
+ | "left middle"
64
+ | "left top"
65
+ | "right bottom"
66
+ | "right middle"
67
+ | "right top";
68
+ /**
69
+ * Properties to be passed to tooltip component.
70
+ */
71
+ tooltipProps?: object;
72
+ /**
73
+ * Positions the tooltip relative to its container.
74
+ *
75
+ * Determines whether your tooltip should position itself relative to its container or
76
+ relative to the screen (absolute positioning on the floating layer). When setting to
77
+ `true` , to enable relative positioning, it may be important to specify the
78
+ `tooltipDestinationProp` key in this HoC's config object. A relatively positioned
79
+ Tooltip for a `Button` , for example, must be placed in the `decoration` prop.
80
+ *
81
+ * It may be necessary to assign the CSS rule `position` to the containing element so
82
+ relatively positioned Tooltip has a frame to "stick to" the edge of.
83
+ *
84
+ * Anchoring points can be visualized as follows:
85
+ * ```
86
+ ┌───◎───┐
87
+ ◎ ◎
88
+ └───◎───┘
89
+ ```
90
+ */
91
+ tooltipRelative?: boolean;
92
+ /**
93
+ * Tooltip content.
94
+ */
95
+ tooltipText?: string | React.ReactNode;
96
+ /**
97
+ * Type of tooltip.
98
+ * _Value_ _Tooltip Appearance_ `'balloon'` Tooltip with a border, background and arrow to the activator `'transparent'` Text only without any of the decorations above */
99
+ tooltipType?: "balloon" | "transparent";
100
+ /**
101
+ * The interval (in milliseconds) to recheck the math for a currently showing tooltip's
102
+ positioning and orientation. Useful if your anchor element moves.
103
+ */
104
+ tooltipUpdateDelay?: number;
105
+ /**
106
+ * The width of tooltip content.
107
+ *
108
+ * Value expects a number of pixels, which will be automatically scaled to the
109
+ appropriate size given the current screen resolution, or a string value containing a
110
+ measurement and a valid CSS unit included. If the content goes over the given width,
111
+ it will automatically wrap, or marquee if `marquee` is enabled.
112
+ *
113
+ * When `null` , content will auto-size and not wrap. If `tooltipMarquee` is also
114
+ enabled, marqueeing will begin when the width is greater than the default (theme
115
+ specified) width.
116
+ */
117
+ tooltipWidth?: number | string;
118
+ }
119
+ export function TooltipDecorator<P>(
120
+ config: TooltipDecoratorConfig,
121
+ Component: React.ComponentType<P> | string,
122
+ ): React.ComponentType<P & TooltipDecoratorProps>;
123
+
124
+ export function TooltipDecorator<P>(
125
+ Component: React.ComponentType<P> | string,
126
+ ): React.ComponentType<P & TooltipDecoratorProps>;
127
+
128
+ export interface TooltipBaseProps {
129
+ /**
130
+ * The node to be displayed as the main content of the tooltip.
131
+ */
132
+ children: React.ReactNode;
133
+ /**
134
+ * Position of tooltip arrow in relation to the activator.
135
+ *
136
+ * Note that `'left'` , `'center'` , `'right'` are applicable when direction is in vertical
137
+ orientation (i.e. `'above'` , `'below'` ), and `'top'` , `'middle'` , and `'bottom'` are
138
+ applicable when direction is in horizontal orientation (i.e. `'left'` , `'right'` )
139
+ *
140
+ * For `type="balloon"` , the default is `"right"`
141
+ For `type="transparent"` , the default is `"center"` (The arrow will not be visible)
142
+ */
143
+ arrowAnchor?: "left" | "center" | "right" | "top" | "middle" | "bottom";
144
+ /**
145
+ * Customizes the component by mapping the supplied collection of CSS class names to the
146
+ corresponding internal elements and states of this component.
147
+ *
148
+ * The following classes are supported:
149
+ * * `tooltip` - The root component class
150
+ * * `tooltipLabel` - Applied the label node
151
+ */
152
+ css?: object;
153
+ /**
154
+ * Direction of label in relation to the activator.
155
+ *
156
+ * For `type="balloon"` , the default is `"above"`
157
+ For `type="transparent"` , the default is `"below"`
158
+ */
159
+ direction?: "above" | "below" | "left" | "right";
160
+ /**
161
+ * A value representing the amount to offset the label portion of the tooltip.
162
+ *
163
+ * In a "center" aligned tooltip, the label may be desirable to offset to one side or the
164
+ other. This prop accepts a value between -0.5 and 0.5 (representing 50% to the left or
165
+ right). This defaults to 0 offset (centered). It also automatically caps the value so it
166
+ never positions the tooltip label past the anchored arrow. If the tooltip label or arrow
167
+ has non-rectangular geometry (rounded corners, a wide tail, etc.), you'll need to manually
168
+ account for that in your provided offset value.
169
+ */
170
+ labelOffset?: number;
171
+ /**
172
+ * Allows the tooltip to marquee.
173
+ *
174
+ * Specifying a restricts
175
+ the marquee to that size.
176
+ */
177
+ marquee?: boolean;
178
+ /**
179
+ * Style object for tooltip position.
180
+ */
181
+ position?: object;
182
+ /**
183
+ * Anchors the tooltip relative to its container.
184
+ *
185
+ * Reconfigures the component to anchor itself to the designated edge of its container.
186
+ When this is not specified, the implication is that the component is "absolutely"
187
+ positioned, relative to the viewport, rather than its parent layer.
188
+ */
189
+ relative?: boolean;
190
+ /**
191
+ * Called when the tooltip mounts/unmounts, giving a reference to the DOM.
192
+ */
193
+ tooltipRef?: object | Function;
194
+ /**
195
+ * Type of tooltip.
196
+ * _Value_ _Tooltip Appearance_ `'balloon'` Tooltip with a border, background and arrow to the activator `'transparent'` Text only without any of the decorations above */
197
+ type?: "balloon" | "transparent";
198
+ /**
199
+ * The width of tooltip content.
200
+ *
201
+ * Value expects a number of pixels, which will be automatically scaled to the appropriate
202
+ size given the current screen resolution, or a string value containing a measurement and
203
+ a valid CSS unit included.
204
+ If the content goes over the given width, it will automatically wrap, or marquee if
205
+ `marquee` is enabled.
206
+ *
207
+ * When `null` , content will auto-size and not wrap. If `marquee` is also enabled,
208
+ marqueeing will begin when the width is greater than the default (theme specified) width.
209
+ */
210
+ width?: number | string;
211
+ }
212
+ /**
213
+ * A stateless tooltip component with Limestone styling applied.
214
+ */
215
+
216
+ export class TooltipBase extends React.Component<
217
+ Merge<React.HTMLProps<HTMLElement>, TooltipBaseProps>
218
+ > {}
219
+
220
+ export interface TooltipProps {}
221
+ /**
222
+ * A tooltip component with Limestone styling applied.
223
+ */
224
+
225
+ export class Tooltip extends React.Component<
226
+ Merge<React.HTMLProps<HTMLElement>, TooltipProps>
227
+ > {}
228
+
229
+ export default TooltipDecorator;
@@ -0,0 +1,260 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Tooltip", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _Tooltip.Tooltip;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "TooltipBase", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _Tooltip.TooltipBase;
16
+ }
17
+ });
18
+ exports["default"] = exports.TooltipDecorator = void 0;
19
+ Object.defineProperty(exports, "useTooltip", {
20
+ enumerable: true,
21
+ get: function get() {
22
+ return _useTooltip2.useTooltip;
23
+ }
24
+ });
25
+ var _hoc = _interopRequireDefault(require("@enact/core/hoc"));
26
+ var _I18nDecorator = require("@enact/i18n/I18nDecorator");
27
+ var _propTypes = _interopRequireDefault(require("prop-types"));
28
+ var _Tooltip = require("./Tooltip");
29
+ var _useTooltip2 = require("./useTooltip");
30
+ var _jsxRuntime = require("react/jsx-runtime");
31
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
32
+ 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; }
33
+ 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; }
34
+ 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; }
35
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
36
+ 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); } /**
37
+ * Limestone styled tooltip components.
38
+ *
39
+ * @module limestone/TooltipDecorator
40
+ * @exports Tooltip
41
+ * @exports TooltipBase
42
+ * @exports TooltipDecorator
43
+ */ /**
44
+ * Default config for {@link limestone/TooltipDecorator.TooltipDecorator|TooltipDecorator}
45
+ *
46
+ * @memberof limestone/TooltipDecorator.TooltipDecorator
47
+ * @hocconfig
48
+ */
49
+ var defaultConfig = {
50
+ /**
51
+ * The boundary around the screen which the tooltip should never cross, typically involving
52
+ * flipping to an alternate orientation or adjusting its offset to remain on screen.
53
+ * The default of 48 is derived from a standard 24px screen-keepout size plus the standard
54
+ * Spotlight-outset (24px) margin/padding value which keeps elements and text aligned inside a
55
+ * {@link limestone/Panels.Panel|Panel}. Note: This value will be scaled according to the
56
+ * resolution.
57
+ *
58
+ * @type {Number}
59
+ * @default 48
60
+ * @memberof limestone/TooltipDecorator.TooltipDecorator.defaultConfig
61
+ */
62
+ screenEdgeKeepout: _useTooltip2.defaultScreenEdgeKeepout,
63
+ /**
64
+ * The name of the property which will receive the tooltip node.
65
+ *
66
+ * By default, `TooltipDecorator` will add a new child to the wrapped component, following any
67
+ * other children passed in. If a component needs to, it can specify another property to receive
68
+ * the tooltip and the `children` property will not be modified.
69
+ *
70
+ * @type {String}
71
+ * @default 'children'
72
+ * @memberof limestone/TooltipDecorator.TooltipDecorator.defaultConfig
73
+ */
74
+ tooltipDestinationProp: 'children'
75
+ };
76
+
77
+ /**
78
+ * A higher-order component which positions {@link limestone/TooltipDecorator.Tooltip|Tooltip} in
79
+ * relation to the wrapped component.
80
+ *
81
+ * The tooltip is automatically displayed when the decorated component is focused after a set
82
+ * period of time.
83
+ *
84
+ * The tooltip is positioned around the decorator where there is available window space.
85
+ *
86
+ * Note that the direction of tooltip will be flipped horizontally in RTL locales.
87
+ *
88
+ * @class TooltipDecorator
89
+ * @memberof limestone/TooltipDecorator
90
+ * @hoc
91
+ * @public
92
+ */
93
+ var TooltipDecorator = exports.TooltipDecorator = (0, _hoc["default"])(defaultConfig, function (config, Wrapped) {
94
+ var screenEdgeKeepout = config.screenEdgeKeepout,
95
+ tooltipDestinationProp = config.tooltipDestinationProp;
96
+ var Decorator = function Decorator(props) {
97
+ var _useTooltip = (0, _useTooltip2.useTooltip)(_objectSpread({
98
+ screenEdgeKeepout: screenEdgeKeepout
99
+ }, props)),
100
+ tooltip = _useTooltip.tooltip,
101
+ handlers = _useTooltip.handlers,
102
+ restProps = _useTooltip.restProps;
103
+ if (tooltip) {
104
+ if (tooltipDestinationProp === 'children') {
105
+ restProps.children = [props.children, tooltip];
106
+ } else {
107
+ restProps[tooltipDestinationProp] = tooltip;
108
+ }
109
+ }
110
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapped, _objectSpread(_objectSpread({}, restProps), handlers));
111
+ };
112
+ Decorator.displayName = 'TooltipDecorator';
113
+ Decorator.propTypes = /** @lends limestone/TooltipDecorator.TooltipDecorator.prototype */{
114
+ /**
115
+ * Disables the component but does not affect tooltip operation.
116
+ *
117
+ * @type {Boolean}
118
+ * @default false
119
+ * @public
120
+ */
121
+ disabled: _propTypes["default"].bool,
122
+ /**
123
+ * Indicates the tooltip text direction is right-to-left.
124
+ *
125
+ * @type {Boolean}
126
+ * @private
127
+ */
128
+ rtl: _propTypes["default"].bool,
129
+ /**
130
+ * Time to wait (in milliseconds) before showing tooltip on hover.
131
+ *
132
+ * @type {Number}
133
+ * @default 500
134
+ * @public
135
+ */
136
+ tooltipDelay: _propTypes["default"].number,
137
+ /**
138
+ * Allows the tooltip to marquee.
139
+ *
140
+ * Specifying a {@link limestone/TooltipDecorator.TooltipDecorator.tooltipWidth|tooltipWidth}
141
+ * restricts the marquee to that size.
142
+ *
143
+ * @type {Boolean}
144
+ * @public
145
+ */
146
+ tooltipMarquee: _propTypes["default"].bool,
147
+ /**
148
+ * Position of the tooltip with respect to the wrapped component.
149
+ *
150
+ * | *Value* | *Tooltip Direction* |
151
+ * |---|---|
152
+ * | `'above'` | Above component, flowing to the right |
153
+ * | `'above center'` | Above component, centered |
154
+ * | `'above left'` | Above component, flowing to the left |
155
+ * | `'above right'` | Above component, flowing to the right |
156
+ * | `'below'` | Below component, flowing to the right |
157
+ * | `'below center'` | Below component, centered |
158
+ * | `'below left'` | Below component, flowing to the left |
159
+ * | `'below right'` | Below component, flowing to the right |
160
+ * | `'left bottom'` | Left of the component, contents at the bottom |
161
+ * | `'left middle'` | Left of the component, contents middle aligned |
162
+ * | `'left top'` | Left of the component, contents at the top |
163
+ * | `'right bottom'` | Right of the component, contents at the bottom |
164
+ * | `'right middle'` | Right of the component, contents middle aligned |
165
+ * | `'right top'` | Right of the component, contents at the top |
166
+ *
167
+ * `TooltipDecorator` attempts to choose the best direction to meet layout and language
168
+ * requirements. Left and right directions will reverse for RTL languages. Additionally,
169
+ * the tooltip will reverse direction if it will prevent overflowing off the viewport
170
+ *
171
+ * For `type="balloon"`, the default is `"top right"`
172
+ * For `type="transparent"`, the default is `"bottom center"`
173
+ *
174
+ * @type {('above'|'above center'|'above left'|'above right'|'below'|
175
+ * 'below center'|'below left'|'below right'|'left bottom'|'left middle'|'left top'|
176
+ * 'right bottom'|'right middle'|'right top')}
177
+ * @public
178
+ */
179
+ tooltipPosition: _propTypes["default"].oneOf(['above', 'above center', 'above left', 'above right', 'below', 'below center', 'below left', 'below right', 'left bottom', 'left middle', 'left top', 'right bottom', 'right middle', 'right top']),
180
+ /**
181
+ * Properties to be passed to tooltip component.
182
+ *
183
+ * @type {Object}
184
+ * @public
185
+ */
186
+ tooltipProps: _propTypes["default"].object,
187
+ /**
188
+ * Positions the tooltip relative to its container.
189
+ *
190
+ * Determines whether your tooltip should position itself relative to its container or
191
+ * relative to the screen (absolute positioning on the floating layer). When setting to
192
+ * `true`, to enable relative positioning, it may be important to specify the
193
+ * `tooltipDestinationProp` key in this HoC's config object. A relatively positioned
194
+ * Tooltip for a `Button`, for example, must be placed in the `decoration` prop.
195
+ *
196
+ * It may be necessary to assign the CSS rule `position` to the containing element so
197
+ * relatively positioned Tooltip has a frame to "stick to" the edge of.
198
+ *
199
+ * Anchoring points can be visualized as follows:
200
+ * ```
201
+ * ┌───◎───┐
202
+ * ◎ ◎
203
+ * └───◎───┘
204
+ * ```
205
+ *
206
+ * @type {Boolean}
207
+ * @public
208
+ */
209
+ tooltipRelative: _propTypes["default"].bool,
210
+ /**
211
+ * Tooltip content.
212
+ *
213
+ * @type {String|Node}
214
+ * @public
215
+ */
216
+ tooltipText: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]),
217
+ /**
218
+ * Type of tooltip.
219
+ *
220
+ * | *Value* | *Tooltip Appearance* |
221
+ * |---|---|
222
+ * | `'balloon'` | Tooltip with a border, background and arrow to the activator |
223
+ * | `'transparent'` | Text only without any of the decorations above |
224
+ *
225
+ * @type {('balloon'|'transparent')}
226
+ * @default 'balloon'
227
+ * @public
228
+ */
229
+ tooltipType: _propTypes["default"].oneOf(['balloon', 'transparent']),
230
+ /**
231
+ * The interval (in milliseconds) to recheck the math for a currently showing tooltip's
232
+ * positioning and orientation. Useful if your anchor element moves.
233
+ *
234
+ * @type {Number}
235
+ * @default 400
236
+ * @public
237
+ */
238
+ tooltipUpdateDelay: _propTypes["default"].number,
239
+ /**
240
+ * The width of tooltip content.
241
+ *
242
+ * Value expects a number of pixels, which will be automatically scaled to the
243
+ * appropriate size given the current screen resolution, or a string value containing a
244
+ * measurement and a valid CSS unit included. If the content goes over the given width,
245
+ * it will automatically wrap, or marquee if `marquee` is enabled.
246
+ *
247
+ * When `null`, content will auto-size and not wrap. If `tooltipMarquee` is also
248
+ * enabled, marqueeing will begin when the width is greater than the default (theme
249
+ * specified) width.
250
+ *
251
+ * @type {Number|String}
252
+ * @public
253
+ */
254
+ tooltipWidth: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string])
255
+ };
256
+ return (0, _I18nDecorator.I18nContextDecorator)({
257
+ rtlProp: 'rtl'
258
+ }, Decorator);
259
+ });
260
+ var _default = exports["default"] = TooltipDecorator;
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.TooltipLabel = void 0;
7
+ var _kind = _interopRequireDefault(require("@enact/core/kind"));
8
+ var _util = require("@enact/i18n/util");
9
+ var _resolution = require("@enact/ui/resolution");
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _Marquee = _interopRequireDefault(require("../Marquee"));
12
+ var _TooltipModule = _interopRequireDefault(require("./Tooltip.module.css"));
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ var _excluded = ["centered", "children", "marquee"];
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
16
+ 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; }
17
+ 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; }
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 _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
22
+ 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); } /**
23
+ * {@link limestone/TooltipDecorator.TooltipLabel} is a stateless tooltip component with
24
+ * Limestone styling applied.
25
+ *
26
+ * @class TooltipLabel
27
+ * @memberof limestone/TooltipDecorator
28
+ * @ui
29
+ * @private
30
+ */
31
+ var TooltipLabel = exports.TooltipLabel = (0, _kind["default"])({
32
+ name: 'TooltipLabel',
33
+ propTypes: /** @lends limestone/TooltipDecorator.TooltipLabel.prototype */{
34
+ /**
35
+ * The node to be displayed as the main content of the tooltip.
36
+ *
37
+ * @type {Node}
38
+ * @required
39
+ */
40
+ children: _propTypes["default"].node.isRequired,
41
+ /**
42
+ * Centers the text when `marquee` is also set.
43
+ *
44
+ * @type {Boolean}
45
+ * @public
46
+ */
47
+ centered: _propTypes["default"].bool,
48
+ /**
49
+ * Apply a marquee to support long text.
50
+ *
51
+ * It is recommended that you specify a `width` also. If none is specified, a default width
52
+ * of 600px will be used.
53
+ *
54
+ * @type {Boolean}
55
+ * @public
56
+ */
57
+ marquee: _propTypes["default"].bool,
58
+ /**
59
+ * The width of tooltip content.
60
+ *
61
+ * Value expects a number of pixels, which will be automatically scaled to the appropriate
62
+ * size given the current screen resolution, or a string value containing a measurement and
63
+ * a valid CSS unit included.
64
+ * If the content goes over the given width, it will automatically wrap, or marquee if
65
+ * `marquee` is enabled.
66
+ *
67
+ * When `null`, content will auto-size and not wrap. If `marquee` is also enabled,
68
+ * marqueeing will begin when the width is greater than the default (theme specified) width.
69
+ *
70
+ * @type {Number|String}
71
+ * @public
72
+ */
73
+ width: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string])
74
+ },
75
+ styles: {
76
+ css: _TooltipModule["default"]
77
+ },
78
+ computed: {
79
+ className: function className(_ref) {
80
+ var marquee = _ref.marquee,
81
+ width = _ref.width,
82
+ styler = _ref.styler;
83
+ return styler.append({
84
+ multi: !marquee && !!width,
85
+ marquee: marquee
86
+ });
87
+ },
88
+ style: function style(_ref2) {
89
+ var children = _ref2.children,
90
+ width = _ref2.width,
91
+ _style = _ref2.style;
92
+ return _objectSpread(_objectSpread({}, _style), {}, {
93
+ direction: (0, _util.isRtlText)(children) ? 'rtl' : 'ltr',
94
+ '--lime-tooltip-label-width': typeof width === 'number' ? (0, _resolution.scaleToRem)(width) : width
95
+ });
96
+ }
97
+ },
98
+ render: function render(_ref3) {
99
+ var centered = _ref3.centered,
100
+ children = _ref3.children,
101
+ marquee = _ref3.marquee,
102
+ rest = _objectWithoutProperties(_ref3, _excluded);
103
+ delete rest.width;
104
+ if (marquee) {
105
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Marquee["default"], _objectSpread(_objectSpread({}, rest), {}, {
106
+ alignment: centered ? 'center' : null,
107
+ marqueeOn: "render",
108
+ children: children
109
+ }));
110
+ } else {
111
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, rest), {}, {
112
+ children: children
113
+ }));
114
+ }
115
+ }
116
+ });
117
+ var _default = exports["default"] = TooltipLabel;
@@ -0,0 +1,3 @@
1
+ {
2
+ "main": "TooltipDecorator.js"
3
+ }