@lumx/react 3.20.1-alpha.24 → 3.20.1-alpha.26

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 (711) hide show
  1. package/_internal/Button-85482487.js +98 -0
  2. package/_internal/Button-85482487.js.map +1 -0
  3. package/_internal/ButtonRoot-823f3e9c.js +117 -0
  4. package/_internal/ButtonRoot-823f3e9c.js.map +1 -0
  5. package/_internal/Chip-a34f6905.js +146 -0
  6. package/_internal/Chip-a34f6905.js.map +1 -0
  7. package/_internal/ClickAwayProvider-7093ba23.js +95 -0
  8. package/_internal/ClickAwayProvider-7093ba23.js.map +1 -0
  9. package/_internal/DisabledStateContext-ea04260d.js +29 -0
  10. package/_internal/DisabledStateContext-ea04260d.js.map +1 -0
  11. package/_internal/HeadingLevelProvider-ebdcb0c7.js +61 -0
  12. package/_internal/HeadingLevelProvider-ebdcb0c7.js.map +1 -0
  13. package/_internal/IconButton-1a22c4c8.js +77 -0
  14. package/_internal/IconButton-1a22c4c8.js.map +1 -0
  15. package/_internal/ImageCaption-a0a6de5c.js +75 -0
  16. package/_internal/ImageCaption-a0a6de5c.js.map +1 -0
  17. package/_internal/List-54237e0e.js +793 -0
  18. package/_internal/List-54237e0e.js.map +1 -0
  19. package/_internal/PopoverDialog-4ebe79f2.js +655 -0
  20. package/_internal/PopoverDialog-4ebe79f2.js.map +1 -0
  21. package/_internal/Portal-3f86608e.js +45 -0
  22. package/_internal/Portal-3f86608e.js.map +1 -0
  23. package/_internal/RawClickable-2c2b6a89.js +52 -0
  24. package/_internal/RawClickable-2c2b6a89.js.map +1 -0
  25. package/_internal/Slides-ae91d12c.js +682 -0
  26. package/_internal/Slides-ae91d12c.js.map +1 -0
  27. package/_internal/ThemeContext-3181f000.js +14 -0
  28. package/_internal/ThemeContext-3181f000.js.map +1 -0
  29. package/_internal/Thumbnail-0872250e.js +314 -0
  30. package/_internal/Thumbnail-0872250e.js.map +1 -0
  31. package/_internal/check-circle-de24f857.js +4 -0
  32. package/_internal/check-circle-de24f857.js.map +1 -0
  33. package/_internal/chevron-right-827b804a.js +6 -0
  34. package/_internal/chevron-right-827b804a.js.map +1 -0
  35. package/_internal/chevron-up-0b9c76cb.js +6 -0
  36. package/_internal/chevron-up-0b9c76cb.js.map +1 -0
  37. package/_internal/close-circle-ef5d1aac.js +4 -0
  38. package/_internal/close-circle-ef5d1aac.js.map +1 -0
  39. package/_internal/close-eaf6c45a.js +4 -0
  40. package/_internal/close-eaf6c45a.js.map +1 -0
  41. package/_internal/components/alert-dialog-0eeb06ce.js +163 -0
  42. package/_internal/components/alert-dialog-0eeb06ce.js.map +1 -0
  43. package/_internal/components/autocomplete-32170542.js +261 -0
  44. package/_internal/components/autocomplete-32170542.js.map +1 -0
  45. package/_internal/components/avatar-d2214a61.js +83 -0
  46. package/_internal/components/avatar-d2214a61.js.map +1 -0
  47. package/_internal/components/badge-8390e590.js +81 -0
  48. package/_internal/components/badge-8390e590.js.map +1 -0
  49. package/_internal/components/button-b5818c5a.js +47 -0
  50. package/_internal/components/button-b5818c5a.js.map +1 -0
  51. package/_internal/components/checkbox-346834f8.js +143 -0
  52. package/_internal/components/checkbox-346834f8.js.map +1 -0
  53. package/_internal/components/chip-e40c5521.js +102 -0
  54. package/_internal/components/chip-e40c5521.js.map +1 -0
  55. package/_internal/components/comment-block-a4997791.js +138 -0
  56. package/_internal/components/comment-block-a4997791.js.map +1 -0
  57. package/_internal/components/date-picker-48a39549.js +2 -0
  58. package/_internal/components/date-picker-48a39549.js.map +1 -0
  59. package/_internal/components/dialog-ebdb9500.js +238 -0
  60. package/_internal/components/dialog-ebdb9500.js.map +1 -0
  61. package/_internal/components/divider-116af6b9.js +50 -0
  62. package/_internal/components/divider-116af6b9.js.map +1 -0
  63. package/_internal/components/drag-handle-6b073866.js +52 -0
  64. package/_internal/components/drag-handle-6b073866.js.map +1 -0
  65. package/_internal/components/dropdown-0baed51b.js +147 -0
  66. package/_internal/components/dropdown-0baed51b.js.map +1 -0
  67. package/_internal/components/expansion-panel-80edf6c9.js +167 -0
  68. package/_internal/components/expansion-panel-80edf6c9.js.map +1 -0
  69. package/_internal/components/flag-7c9d3abf.js +59 -0
  70. package/_internal/components/flag-7c9d3abf.js.map +1 -0
  71. package/_internal/components/flex-box-55144e5f.js +56 -0
  72. package/_internal/components/flex-box-55144e5f.js.map +1 -0
  73. package/_internal/components/generic-block-ff0509ee.js +124 -0
  74. package/_internal/components/generic-block-ff0509ee.js.map +1 -0
  75. package/_internal/components/grid-6f1b5a41.js +104 -0
  76. package/_internal/components/grid-6f1b5a41.js.map +1 -0
  77. package/_internal/components/grid-column-f01df853.js +59 -0
  78. package/_internal/components/grid-column-f01df853.js.map +1 -0
  79. package/_internal/components/heading-d4c66a34.js +53 -0
  80. package/_internal/components/heading-d4c66a34.js.map +1 -0
  81. package/_internal/components/icon-7c79ab42.js +2 -0
  82. package/_internal/components/icon-7c79ab42.js.map +1 -0
  83. package/_internal/components/image-block-755d8b96.js +110 -0
  84. package/_internal/components/image-block-755d8b96.js.map +1 -0
  85. package/_internal/components/image-lightbox-d31dcd8a.js +759 -0
  86. package/_internal/components/image-lightbox-d31dcd8a.js.map +1 -0
  87. package/_internal/components/inline-list-e6f19a98.js +74 -0
  88. package/_internal/components/inline-list-e6f19a98.js.map +1 -0
  89. package/_internal/components/input-helper-64153099.js +71 -0
  90. package/_internal/components/input-helper-64153099.js.map +1 -0
  91. package/_internal/components/input-label-2feb0bb0.js +59 -0
  92. package/_internal/components/input-label-2feb0bb0.js.map +1 -0
  93. package/_internal/components/lightbox-9dbd7c15.js +155 -0
  94. package/_internal/components/lightbox-9dbd7c15.js.map +1 -0
  95. package/_internal/components/link-f9421eab.js +72 -0
  96. package/_internal/components/link-f9421eab.js.map +1 -0
  97. package/_internal/components/link-preview-5c7e3878.js +117 -0
  98. package/_internal/components/link-preview-5c7e3878.js.map +1 -0
  99. package/_internal/components/list-b08d8423.js +71 -0
  100. package/_internal/components/list-b08d8423.js.map +1 -0
  101. package/_internal/components/message-b3957df0.js +98 -0
  102. package/_internal/components/message-b3957df0.js.map +1 -0
  103. package/_internal/components/mosaic-742a9109.js +95 -0
  104. package/_internal/components/mosaic-742a9109.js.map +1 -0
  105. package/_internal/components/navigation-b1cd43c3.js +225 -0
  106. package/_internal/components/navigation-b1cd43c3.js.map +1 -0
  107. package/_internal/components/notification-94679f51.js +146 -0
  108. package/_internal/components/notification-94679f51.js.map +1 -0
  109. package/_internal/components/popover-65bfbc57.js +3 -0
  110. package/_internal/components/popover-65bfbc57.js.map +1 -0
  111. package/_internal/components/post-block-3ac52237.js +109 -0
  112. package/_internal/components/post-block-3ac52237.js.map +1 -0
  113. package/_internal/components/progress-f39c3fa2.js +182 -0
  114. package/_internal/components/progress-f39c3fa2.js.map +1 -0
  115. package/_internal/components/progress-tracker-997931ac.js +309 -0
  116. package/_internal/components/progress-tracker-997931ac.js.map +1 -0
  117. package/_internal/components/radio-button-559a4863.js +149 -0
  118. package/_internal/components/radio-button-559a4863.js.map +1 -0
  119. package/_internal/components/select-f3b44cb6.js +458 -0
  120. package/_internal/components/select-f3b44cb6.js.map +1 -0
  121. package/_internal/components/side-navigation-414825d8.js +165 -0
  122. package/_internal/components/side-navigation-414825d8.js.map +1 -0
  123. package/_internal/components/skeleton-c66516ee.js +166 -0
  124. package/_internal/components/skeleton-c66516ee.js.map +1 -0
  125. package/_internal/components/slider-efbfbc45.js +311 -0
  126. package/_internal/components/slider-efbfbc45.js.map +1 -0
  127. package/_internal/components/slideshow-dc4b79ae.js +151 -0
  128. package/_internal/components/slideshow-dc4b79ae.js.map +1 -0
  129. package/_internal/components/switch-769a2a04.js +122 -0
  130. package/_internal/components/switch-769a2a04.js.map +1 -0
  131. package/_internal/components/table-c43ec4a5.js +297 -0
  132. package/_internal/components/table-c43ec4a5.js.map +1 -0
  133. package/_internal/components/tabs-4037fe57.js +298 -0
  134. package/_internal/components/tabs-4037fe57.js.map +1 -0
  135. package/_internal/components/text-851c62f8.js +2 -0
  136. package/_internal/components/text-851c62f8.js.map +1 -0
  137. package/_internal/components/text-field-0a15a15d.js +360 -0
  138. package/_internal/components/text-field-0a15a15d.js.map +1 -0
  139. package/_internal/components/thumbnail-f1784929.js +42 -0
  140. package/_internal/components/thumbnail-f1784929.js.map +1 -0
  141. package/_internal/components/toolbar-a43533a2.js +61 -0
  142. package/_internal/components/toolbar-a43533a2.js.map +1 -0
  143. package/_internal/components/tooltip-2885ab2e.js +327 -0
  144. package/_internal/components/tooltip-2885ab2e.js.map +1 -0
  145. package/_internal/components/uploader-7bc3adaa.js +153 -0
  146. package/_internal/components/uploader-7bc3adaa.js.map +1 -0
  147. package/_internal/components/user-block-5f7b09af.js +145 -0
  148. package/_internal/components/user-block-5f7b09af.js.map +1 -0
  149. package/_internal/constants-b9e57936.js +2155 -0
  150. package/_internal/constants-b9e57936.js.map +1 -0
  151. package/_internal/constants-d0e3f49e.js +24 -0
  152. package/_internal/constants-d0e3f49e.js.map +1 -0
  153. package/_internal/context-9d1336a1.js +19 -0
  154. package/_internal/context-9d1336a1.js.map +1 -0
  155. package/_internal/forwardRef-15f62847.js +70 -0
  156. package/_internal/forwardRef-15f62847.js.map +1 -0
  157. package/_internal/getFocusableElements-230173a8.js +13 -0
  158. package/_internal/getFocusableElements-230173a8.js.map +1 -0
  159. package/_internal/index-192f8ada.js +103 -0
  160. package/_internal/index-192f8ada.js.map +1 -0
  161. package/_internal/index-9df37c0d.js +436 -0
  162. package/_internal/index-9df37c0d.js.map +1 -0
  163. package/_internal/index-b06353f2.js +117 -0
  164. package/_internal/index-b06353f2.js.map +1 -0
  165. package/_internal/information-49bbeed3.js +6 -0
  166. package/_internal/information-49bbeed3.js.map +1 -0
  167. package/_internal/isComponent-78df9309.js +20 -0
  168. package/_internal/isComponent-78df9309.js.map +1 -0
  169. package/_internal/isComponentType-e806b848.js +9 -0
  170. package/_internal/isComponentType-e806b848.js.map +1 -0
  171. package/_internal/mergeRefs-f0d7d6ea.js +30 -0
  172. package/_internal/mergeRefs-f0d7d6ea.js.map +1 -0
  173. package/{src/utils/partitionMulti.ts → _internal/partitionMulti-4daccdd5.js} +5 -9
  174. package/_internal/partitionMulti-4daccdd5.js.map +1 -0
  175. package/_internal/state-db358714.js +130 -0
  176. package/_internal/state-db358714.js.map +1 -0
  177. package/_internal/useBooleanState-2a3d237c.js +12 -0
  178. package/_internal/useBooleanState-2a3d237c.js.map +1 -0
  179. package/_internal/useCallbackOnEscape-ea4d9eb4.js +62 -0
  180. package/_internal/useCallbackOnEscape-ea4d9eb4.js.map +1 -0
  181. package/_internal/useDisableBodyScroll-36bd7352.js +219 -0
  182. package/_internal/useDisableBodyScroll-36bd7352.js.map +1 -0
  183. package/_internal/useDisableStateProps-69e16b7c.js +36 -0
  184. package/_internal/useDisableStateProps-69e16b7c.js.map +1 -0
  185. package/_internal/useFocusTrap-c3c6378b.js +112 -0
  186. package/_internal/useFocusTrap-c3c6378b.js.map +1 -0
  187. package/_internal/useId-3a1facc0.js +18 -0
  188. package/_internal/useId-3a1facc0.js.map +1 -0
  189. package/_internal/useRovingTabIndex-7daf0f24.js +77 -0
  190. package/_internal/useRovingTabIndex-7daf0f24.js.map +1 -0
  191. package/_internal/useTransitionVisibility-321fdbfa.js +50 -0
  192. package/_internal/useTransitionVisibility-321fdbfa.js.map +1 -0
  193. package/_internal/wrapChildrenIconWithSpaces-f1e91251.js +20 -0
  194. package/_internal/wrapChildrenIconWithSpaces-f1e91251.js.map +1 -0
  195. package/index.d.ts +7 -352
  196. package/index.js +65 -14486
  197. package/index.js.map +1 -1
  198. package/package.json +4 -11
  199. package/utils/index.d.ts +1 -1
  200. package/utils/index.js +3 -1
  201. package/utils/index.js.map +1 -1
  202. package/_internal/Falsy.d.ts +0 -7
  203. package/_internal/index.js +0 -236
  204. package/_internal/index.js.map +0 -1
  205. package/src/components/alert-dialog/AlertDialog.stories.tsx +0 -127
  206. package/src/components/alert-dialog/AlertDialog.test.tsx +0 -34
  207. package/src/components/alert-dialog/AlertDialog.tsx +0 -189
  208. package/src/components/alert-dialog/index.ts +0 -1
  209. package/src/components/autocomplete/Autocomplete.stories.tsx +0 -75
  210. package/src/components/autocomplete/Autocomplete.test.tsx +0 -99
  211. package/src/components/autocomplete/Autocomplete.tsx +0 -294
  212. package/src/components/autocomplete/AutocompleteMultiple.stories.tsx +0 -167
  213. package/src/components/autocomplete/AutocompleteMultiple.test.tsx +0 -61
  214. package/src/components/autocomplete/AutocompleteMultiple.tsx +0 -156
  215. package/src/components/autocomplete/__mockData__/index.ts +0 -39
  216. package/src/components/autocomplete/index.ts +0 -2
  217. package/src/components/avatar/Avatar.stories.tsx +0 -119
  218. package/src/components/avatar/Avatar.test.tsx +0 -32
  219. package/src/components/avatar/Avatar.tsx +0 -114
  220. package/src/components/avatar/index.ts +0 -1
  221. package/src/components/badge/Badge.stories.tsx +0 -69
  222. package/src/components/badge/Badge.test.tsx +0 -45
  223. package/src/components/badge/Badge.tsx +0 -58
  224. package/src/components/badge/BadgeWrapper.stories.tsx +0 -75
  225. package/src/components/badge/BadgeWrapper.test.tsx +0 -47
  226. package/src/components/badge/BadgeWrapper.tsx +0 -37
  227. package/src/components/badge/index.ts +0 -2
  228. package/src/components/button/Button.stories.tsx +0 -355
  229. package/src/components/button/Button.test.tsx +0 -125
  230. package/src/components/button/Button.tsx +0 -101
  231. package/src/components/button/ButtonGroup.stories.tsx +0 -52
  232. package/src/components/button/ButtonGroup.test.tsx +0 -41
  233. package/src/components/button/ButtonGroup.tsx +0 -50
  234. package/src/components/button/ButtonRoot.tsx +0 -163
  235. package/src/components/button/IconButton.stories.tsx +0 -52
  236. package/src/components/button/IconButton.test.tsx +0 -66
  237. package/src/components/button/IconButton.tsx +0 -91
  238. package/src/components/button/index.ts +0 -4
  239. package/src/components/checkbox/Checkbox.stories.tsx +0 -64
  240. package/src/components/checkbox/Checkbox.test.tsx +0 -154
  241. package/src/components/checkbox/Checkbox.tsx +0 -164
  242. package/src/components/checkbox/index.ts +0 -1
  243. package/src/components/chip/Chip.stories.tsx +0 -164
  244. package/src/components/chip/Chip.test.tsx +0 -243
  245. package/src/components/chip/Chip.tsx +0 -168
  246. package/src/components/chip/ChipGroup.stories.tsx +0 -47
  247. package/src/components/chip/ChipGroup.test.tsx +0 -37
  248. package/src/components/chip/ChipGroup.tsx +0 -60
  249. package/src/components/chip/index.ts +0 -2
  250. package/src/components/comment-block/CommentBlock.stories.tsx +0 -91
  251. package/src/components/comment-block/CommentBlock.test.tsx +0 -28
  252. package/src/components/comment-block/CommentBlock.tsx +0 -172
  253. package/src/components/comment-block/index.ts +0 -1
  254. package/src/components/date-picker/DatePicker.stories.tsx +0 -118
  255. package/src/components/date-picker/DatePicker.test.tsx +0 -34
  256. package/src/components/date-picker/DatePicker.tsx +0 -52
  257. package/src/components/date-picker/DatePickerControlled.test.tsx +0 -91
  258. package/src/components/date-picker/DatePickerControlled.tsx +0 -259
  259. package/src/components/date-picker/DatePickerField.stories.tsx +0 -100
  260. package/src/components/date-picker/DatePickerField.test.tsx +0 -70
  261. package/src/components/date-picker/DatePickerField.tsx +0 -135
  262. package/src/components/date-picker/constants.ts +0 -11
  263. package/src/components/date-picker/index.ts +0 -4
  264. package/src/components/date-picker/types.ts +0 -28
  265. package/src/components/dialog/Dialog.stories.tsx +0 -318
  266. package/src/components/dialog/Dialog.test.tsx +0 -97
  267. package/src/components/dialog/Dialog.tsx +0 -288
  268. package/src/components/dialog/index.ts +0 -1
  269. package/src/components/divider/Divider.test.tsx +0 -51
  270. package/src/components/divider/Divider.tsx +0 -50
  271. package/src/components/divider/index.ts +0 -1
  272. package/src/components/drag-handle/DragHandle.test.tsx +0 -36
  273. package/src/components/drag-handle/DragHandle.tsx +0 -51
  274. package/src/components/drag-handle/index.ts +0 -1
  275. package/src/components/dropdown/Dropdown.stories.tsx +0 -31
  276. package/src/components/dropdown/Dropdown.test.tsx +0 -66
  277. package/src/components/dropdown/Dropdown.tsx +0 -186
  278. package/src/components/dropdown/index.ts +0 -1
  279. package/src/components/expansion-panel/ExpansionPanel.stories.tsx +0 -91
  280. package/src/components/expansion-panel/ExpansionPanel.test.tsx +0 -185
  281. package/src/components/expansion-panel/ExpansionPanel.tsx +0 -195
  282. package/src/components/expansion-panel/index.ts +0 -1
  283. package/src/components/flag/Flag.stories.tsx +0 -48
  284. package/src/components/flag/Flag.test.tsx +0 -62
  285. package/src/components/flag/Flag.tsx +0 -52
  286. package/src/components/flag/index.ts +0 -1
  287. package/src/components/flex-box/FlexBox.stories.tsx +0 -156
  288. package/src/components/flex-box/FlexBox.test.tsx +0 -24
  289. package/src/components/flex-box/FlexBox.tsx +0 -100
  290. package/src/components/flex-box/index.ts +0 -1
  291. package/src/components/generic-block/GenericBlock.stories.jsx +0 -128
  292. package/src/components/generic-block/GenericBlock.test.tsx +0 -156
  293. package/src/components/generic-block/GenericBlock.tsx +0 -225
  294. package/src/components/generic-block/constants.ts +0 -9
  295. package/src/components/generic-block/index.ts +0 -2
  296. package/src/components/grid/Grid.tsx +0 -83
  297. package/src/components/grid/GridItem.tsx +0 -55
  298. package/src/components/grid/index.ts +0 -2
  299. package/src/components/grid-column/GridColumn.stories.tsx +0 -45
  300. package/src/components/grid-column/GridColumn.test.jsx +0 -56
  301. package/src/components/grid-column/GridColumn.tsx +0 -83
  302. package/src/components/grid-column/index.ts +0 -1
  303. package/src/components/heading/Heading.stories.tsx +0 -69
  304. package/src/components/heading/Heading.test.tsx +0 -82
  305. package/src/components/heading/Heading.tsx +0 -65
  306. package/src/components/heading/HeadingLevelProvider.tsx +0 -30
  307. package/src/components/heading/constants.ts +0 -16
  308. package/src/components/heading/context.tsx +0 -13
  309. package/src/components/heading/index.ts +0 -3
  310. package/src/components/heading/useHeadingLevel.tsx +0 -8
  311. package/src/components/icon/Icon.stories.tsx +0 -73
  312. package/src/components/icon/Icon.test.tsx +0 -125
  313. package/src/components/icon/Icon.tsx +0 -133
  314. package/src/components/icon/index.ts +0 -1
  315. package/src/components/image-block/ImageBlock.stories.tsx +0 -117
  316. package/src/components/image-block/ImageBlock.test.tsx +0 -58
  317. package/src/components/image-block/ImageBlock.tsx +0 -142
  318. package/src/components/image-block/ImageCaption.tsx +0 -115
  319. package/src/components/image-block/index.ts +0 -1
  320. package/src/components/image-lightbox/ImageLightbox.stories.tsx +0 -160
  321. package/src/components/image-lightbox/ImageLightbox.test.tsx +0 -254
  322. package/src/components/image-lightbox/ImageLightbox.tsx +0 -90
  323. package/src/components/image-lightbox/constants.ts +0 -11
  324. package/src/components/image-lightbox/index.ts +0 -2
  325. package/src/components/image-lightbox/internal/ImageSlide.tsx +0 -107
  326. package/src/components/image-lightbox/internal/ImageSlideshow.tsx +0 -164
  327. package/src/components/image-lightbox/internal/useAnimateScroll.ts +0 -55
  328. package/src/components/image-lightbox/internal/usePointerZoom.ts +0 -148
  329. package/src/components/image-lightbox/types.ts +0 -48
  330. package/src/components/image-lightbox/useImageLightbox.tsx +0 -141
  331. package/src/components/inline-list/InlineList.stories.tsx +0 -77
  332. package/src/components/inline-list/InlineList.test.tsx +0 -52
  333. package/src/components/inline-list/InlineList.tsx +0 -96
  334. package/src/components/inline-list/index.ts +0 -1
  335. package/src/components/input-helper/InputHelper.stories.tsx +0 -35
  336. package/src/components/input-helper/InputHelper.test.tsx +0 -55
  337. package/src/components/input-helper/InputHelper.tsx +0 -65
  338. package/src/components/input-helper/constants.ts +0 -11
  339. package/src/components/input-helper/index.ts +0 -1
  340. package/src/components/input-label/InputLabel.stories.tsx +0 -45
  341. package/src/components/input-label/InputLabel.test.tsx +0 -59
  342. package/src/components/input-label/InputLabel.tsx +0 -69
  343. package/src/components/input-label/index.ts +0 -1
  344. package/src/components/lightbox/Lightbox.stories.tsx +0 -101
  345. package/src/components/lightbox/Lightbox.test.tsx +0 -53
  346. package/src/components/lightbox/Lightbox.tsx +0 -180
  347. package/src/components/lightbox/index.ts +0 -1
  348. package/src/components/link/Link.stories.tsx +0 -195
  349. package/src/components/link/Link.test.tsx +0 -127
  350. package/src/components/link/Link.tsx +0 -106
  351. package/src/components/link/index.ts +0 -1
  352. package/src/components/link-preview/LinkPreview.stories.tsx +0 -61
  353. package/src/components/link-preview/LinkPreview.test.tsx +0 -105
  354. package/src/components/link-preview/LinkPreview.tsx +0 -158
  355. package/src/components/link-preview/index.ts +0 -1
  356. package/src/components/list/List.stories.tsx +0 -116
  357. package/src/components/list/List.test.tsx +0 -18
  358. package/src/components/list/List.tsx +0 -104
  359. package/src/components/list/ListDivider.stories.tsx +0 -12
  360. package/src/components/list/ListDivider.test.tsx +0 -22
  361. package/src/components/list/ListDivider.tsx +0 -35
  362. package/src/components/list/ListItem.stories.tsx +0 -66
  363. package/src/components/list/ListItem.test.tsx +0 -93
  364. package/src/components/list/ListItem.tsx +0 -157
  365. package/src/components/list/ListSubheader.stories.tsx +0 -11
  366. package/src/components/list/ListSubheader.test.tsx +0 -21
  367. package/src/components/list/ListSubheader.tsx +0 -44
  368. package/src/components/list/index.ts +0 -4
  369. package/src/components/list/useInteractiveList.tsx +0 -202
  370. package/src/components/message/Message.stories.tsx +0 -72
  371. package/src/components/message/Message.test.tsx +0 -76
  372. package/src/components/message/Message.tsx +0 -100
  373. package/src/components/message/index.ts +0 -1
  374. package/src/components/mosaic/Mosaic.stories.tsx +0 -89
  375. package/src/components/mosaic/Mosaic.test.tsx +0 -77
  376. package/src/components/mosaic/Mosaic.tsx +0 -98
  377. package/src/components/mosaic/index.ts +0 -1
  378. package/src/components/navigation/Navigation.stories.tsx +0 -234
  379. package/src/components/navigation/Navigation.test.tsx +0 -65
  380. package/src/components/navigation/Navigation.tsx +0 -79
  381. package/src/components/navigation/NavigationItem.test.tsx +0 -35
  382. package/src/components/navigation/NavigationItem.tsx +0 -82
  383. package/src/components/navigation/NavigationSection.test.tsx +0 -137
  384. package/src/components/navigation/NavigationSection.tsx +0 -108
  385. package/src/components/navigation/context.tsx +0 -7
  386. package/src/components/navigation/index.ts +0 -1
  387. package/src/components/notification/Notification.test.tsx +0 -94
  388. package/src/components/notification/Notification.tsx +0 -138
  389. package/src/components/notification/Notifications.stories.tsx +0 -92
  390. package/src/components/notification/constants.ts +0 -28
  391. package/src/components/notification/index.ts +0 -1
  392. package/src/components/popover/Popover.stories.tsx +0 -264
  393. package/src/components/popover/Popover.test.tsx +0 -62
  394. package/src/components/popover/Popover.tsx +0 -201
  395. package/src/components/popover/constants.ts +0 -62
  396. package/src/components/popover/index.ts +0 -3
  397. package/src/components/popover/usePopoverStyle.tsx +0 -184
  398. package/src/components/popover/useRestoreFocusOnClose.tsx +0 -47
  399. package/src/components/popover-dialog/PopoverDialog.stories.tsx +0 -64
  400. package/src/components/popover-dialog/PopoverDialog.test.tsx +0 -139
  401. package/src/components/popover-dialog/PopoverDialog.tsx +0 -74
  402. package/src/components/popover-dialog/index.tsx +0 -1
  403. package/src/components/post-block/PostBlock.test.tsx +0 -27
  404. package/src/components/post-block/PostBlock.tsx +0 -122
  405. package/src/components/post-block/index.ts +0 -1
  406. package/src/components/progress/Progress.tsx +0 -68
  407. package/src/components/progress/ProgressCircular.stories.tsx +0 -43
  408. package/src/components/progress/ProgressCircular.test.tsx +0 -46
  409. package/src/components/progress/ProgressCircular.tsx +0 -82
  410. package/src/components/progress/ProgressLinear.stories.tsx +0 -12
  411. package/src/components/progress/ProgressLinear.test.tsx +0 -30
  412. package/src/components/progress/ProgressLinear.tsx +0 -50
  413. package/src/components/progress/index.ts +0 -3
  414. package/src/components/progress-tracker/ProgressTracker.stories.tsx +0 -145
  415. package/src/components/progress-tracker/ProgressTracker.test.tsx +0 -42
  416. package/src/components/progress-tracker/ProgressTracker.tsx +0 -87
  417. package/src/components/progress-tracker/ProgressTrackerProvider.test.tsx +0 -65
  418. package/src/components/progress-tracker/ProgressTrackerProvider.tsx +0 -67
  419. package/src/components/progress-tracker/ProgressTrackerStep.test.tsx +0 -36
  420. package/src/components/progress-tracker/ProgressTrackerStep.tsx +0 -159
  421. package/src/components/progress-tracker/ProgressTrackerStepPanel.test.tsx +0 -34
  422. package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +0 -67
  423. package/src/components/progress-tracker/index.ts +0 -4
  424. package/src/components/radio-button/RadioButton.stories.tsx +0 -71
  425. package/src/components/radio-button/RadioButton.test.tsx +0 -143
  426. package/src/components/radio-button/RadioButton.tsx +0 -143
  427. package/src/components/radio-button/RadioGroup.stories.tsx +0 -39
  428. package/src/components/radio-button/RadioGroup.test.tsx +0 -29
  429. package/src/components/radio-button/RadioGroup.tsx +0 -44
  430. package/src/components/radio-button/index.ts +0 -2
  431. package/src/components/select/Select.stories.tsx +0 -385
  432. package/src/components/select/Select.test.tsx +0 -199
  433. package/src/components/select/Select.tsx +0 -199
  434. package/src/components/select/SelectMultiple.stories.tsx +0 -315
  435. package/src/components/select/SelectMultiple.test.tsx +0 -213
  436. package/src/components/select/SelectMultiple.tsx +0 -206
  437. package/src/components/select/WithSelectContext.tsx +0 -147
  438. package/src/components/select/constants.ts +0 -55
  439. package/src/components/select/index.ts +0 -2
  440. package/src/components/side-navigation/SideNavigation.stories.tsx +0 -191
  441. package/src/components/side-navigation/SideNavigation.test.tsx +0 -37
  442. package/src/components/side-navigation/SideNavigation.tsx +0 -52
  443. package/src/components/side-navigation/SideNavigationItem.stories.tsx +0 -133
  444. package/src/components/side-navigation/SideNavigationItem.test.tsx +0 -136
  445. package/src/components/side-navigation/SideNavigationItem.tsx +0 -165
  446. package/src/components/side-navigation/index.ts +0 -2
  447. package/src/components/skeleton/SkeletonCircle.stories.tsx +0 -41
  448. package/src/components/skeleton/SkeletonCircle.test.tsx +0 -27
  449. package/src/components/skeleton/SkeletonCircle.tsx +0 -52
  450. package/src/components/skeleton/SkeletonRectangle.stories.tsx +0 -82
  451. package/src/components/skeleton/SkeletonRectangle.test.tsx +0 -27
  452. package/src/components/skeleton/SkeletonRectangle.tsx +0 -88
  453. package/src/components/skeleton/SkeletonTypography.stories.tsx +0 -19
  454. package/src/components/skeleton/SkeletonTypography.test.tsx +0 -27
  455. package/src/components/skeleton/SkeletonTypography.tsx +0 -59
  456. package/src/components/skeleton/index.ts +0 -3
  457. package/src/components/slider/Slider.stories.tsx +0 -45
  458. package/src/components/slider/Slider.test.tsx +0 -29
  459. package/src/components/slider/Slider.tsx +0 -299
  460. package/src/components/slider/index.ts +0 -2
  461. package/src/components/slideshow/Slides.tsx +0 -130
  462. package/src/components/slideshow/Slideshow.stories.tsx +0 -179
  463. package/src/components/slideshow/Slideshow.test.tsx +0 -35
  464. package/src/components/slideshow/Slideshow.tsx +0 -173
  465. package/src/components/slideshow/SlideshowControls.stories.tsx +0 -100
  466. package/src/components/slideshow/SlideshowControls.tsx +0 -243
  467. package/src/components/slideshow/SlideshowItem.tsx +0 -44
  468. package/src/components/slideshow/SlideshowItemGroup.tsx +0 -60
  469. package/src/components/slideshow/constants.ts +0 -24
  470. package/src/components/slideshow/index.ts +0 -4
  471. package/src/components/slideshow/useKeyNavigate.ts +0 -28
  472. package/src/components/slideshow/usePaginationVisibleRange.ts +0 -37
  473. package/src/components/slideshow/useSlideFocusManagement.tsx +0 -92
  474. package/src/components/slideshow/useSwipeNavigate.ts +0 -18
  475. package/src/components/switch/Switch.stories.tsx +0 -49
  476. package/src/components/switch/Switch.test.tsx +0 -144
  477. package/src/components/switch/Switch.tsx +0 -145
  478. package/src/components/switch/index.ts +0 -1
  479. package/src/components/table/Table.test.tsx +0 -29
  480. package/src/components/table/Table.tsx +0 -59
  481. package/src/components/table/TableBody.test.tsx +0 -30
  482. package/src/components/table/TableBody.tsx +0 -42
  483. package/src/components/table/TableCell.test.tsx +0 -72
  484. package/src/components/table/TableCell.tsx +0 -130
  485. package/src/components/table/TableHeader.test.tsx +0 -30
  486. package/src/components/table/TableHeader.tsx +0 -48
  487. package/src/components/table/TableRow.test.tsx +0 -40
  488. package/src/components/table/TableRow.tsx +0 -71
  489. package/src/components/table/index.ts +0 -5
  490. package/src/components/tabs/Tab.test.tsx +0 -50
  491. package/src/components/tabs/Tab.tsx +0 -133
  492. package/src/components/tabs/TabList.test.tsx +0 -49
  493. package/src/components/tabs/TabList.tsx +0 -94
  494. package/src/components/tabs/TabPanel.test.tsx +0 -37
  495. package/src/components/tabs/TabPanel.tsx +0 -67
  496. package/src/components/tabs/TabProvider.test.tsx +0 -161
  497. package/src/components/tabs/TabProvider.tsx +0 -67
  498. package/src/components/tabs/Tabs.stories.tsx +0 -170
  499. package/src/components/tabs/index.ts +0 -4
  500. package/src/components/tabs/state.ts +0 -114
  501. package/src/components/tabs/test-utils.ts +0 -39
  502. package/src/components/text/Text.stories.tsx +0 -177
  503. package/src/components/text/Text.test.tsx +0 -92
  504. package/src/components/text/Text.tsx +0 -139
  505. package/src/components/text/index.ts +0 -1
  506. package/src/components/text-field/TextField.stories.tsx +0 -180
  507. package/src/components/text-field/TextField.test.tsx +0 -298
  508. package/src/components/text-field/TextField.tsx +0 -493
  509. package/src/components/text-field/index.ts +0 -1
  510. package/src/components/thumbnail/Thumbnail.stories.tsx +0 -448
  511. package/src/components/thumbnail/Thumbnail.test.tsx +0 -88
  512. package/src/components/thumbnail/Thumbnail.tsx +0 -248
  513. package/src/components/thumbnail/index.ts +0 -3
  514. package/src/components/thumbnail/types.ts +0 -48
  515. package/src/components/thumbnail/useFocusPointStyle.test.ts +0 -92
  516. package/src/components/thumbnail/useFocusPointStyle.tsx +0 -107
  517. package/src/components/thumbnail/useImageLoad.ts +0 -40
  518. package/src/components/toolbar/Toolbar.tsx +0 -68
  519. package/src/components/toolbar/index.ts +0 -1
  520. package/src/components/tooltip/Tooltip.stories.tsx +0 -118
  521. package/src/components/tooltip/Tooltip.test.tsx +0 -417
  522. package/src/components/tooltip/Tooltip.tsx +0 -165
  523. package/src/components/tooltip/constants.ts +0 -8
  524. package/src/components/tooltip/context.tsx +0 -17
  525. package/src/components/tooltip/index.ts +0 -1
  526. package/src/components/tooltip/useInjectTooltipRef.tsx +0 -55
  527. package/src/components/tooltip/useTooltipOpen.tsx +0 -143
  528. package/src/components/uploader/Uploader.stories.tsx +0 -109
  529. package/src/components/uploader/Uploader.test.tsx +0 -146
  530. package/src/components/uploader/Uploader.tsx +0 -177
  531. package/src/components/uploader/index.ts +0 -1
  532. package/src/components/user-block/UserBlock.stories.tsx +0 -133
  533. package/src/components/user-block/UserBlock.test.tsx +0 -106
  534. package/src/components/user-block/UserBlock.tsx +0 -193
  535. package/src/components/user-block/index.ts +0 -1
  536. package/src/constants.ts +0 -27
  537. package/src/hooks/useBooleanState.tsx +0 -13
  538. package/src/hooks/useCallbackOnEscape.ts +0 -34
  539. package/src/hooks/useChipGroupNavigation.tsx +0 -75
  540. package/src/hooks/useClickAway.tsx +0 -48
  541. package/src/hooks/useDisableBodyScroll.ts +0 -28
  542. package/src/hooks/useEventCallback.tsx +0 -17
  543. package/src/hooks/useFocus.tsx +0 -21
  544. package/src/hooks/useFocusTrap.ts +0 -93
  545. package/src/hooks/useFocusWithin.ts +0 -33
  546. package/src/hooks/useId.test.tsx +0 -22
  547. package/src/hooks/useId.ts +0 -15
  548. package/src/hooks/useImageSize.ts +0 -17
  549. package/src/hooks/useInfiniteScroll.tsx +0 -60
  550. package/src/hooks/useIntersectionObserver.tsx +0 -43
  551. package/src/hooks/useInterval.tsx +0 -31
  552. package/src/hooks/useKeyboardListNavigation.tsx +0 -204
  553. package/src/hooks/useListenFocus.tsx +0 -26
  554. package/src/hooks/useOverflowTooltipLabel.tsx +0 -32
  555. package/src/hooks/usePopper.ts +0 -12
  556. package/src/hooks/usePreviousValue.ts +0 -12
  557. package/src/hooks/useRovingTabIndex.tsx +0 -90
  558. package/src/hooks/useSizeOnWindowResize.ts +0 -30
  559. package/src/hooks/useSlideshowControls.ts +0 -246
  560. package/src/hooks/useStopPropagation.ts +0 -21
  561. package/src/hooks/useTransitionVisibility.ts +0 -48
  562. package/src/index.ts +0 -63
  563. package/src/stories/controls/color.ts +0 -7
  564. package/src/stories/controls/element.ts +0 -6
  565. package/src/stories/controls/focusPoint.ts +0 -1
  566. package/src/stories/controls/icons.ts +0 -126
  567. package/src/stories/controls/image.ts +0 -84
  568. package/src/stories/controls/selectArgType.ts +0 -8
  569. package/src/stories/controls/theme.ts +0 -3
  570. package/src/stories/controls/typography.ts +0 -5
  571. package/src/stories/controls/withUndefined.ts +0 -1
  572. package/src/stories/decorators/withChromaticForceScreenSize.tsx +0 -7
  573. package/src/stories/decorators/withCombinations.tsx +0 -132
  574. package/src/stories/decorators/withNestedProps.tsx +0 -22
  575. package/src/stories/decorators/withResizableBox.tsx +0 -21
  576. package/src/stories/decorators/withThemedBackground.tsx +0 -16
  577. package/src/stories/decorators/withValueOnChange.tsx +0 -18
  578. package/src/stories/decorators/withWrapper.tsx +0 -19
  579. package/src/stories/generated/Autocomplete/Demos.stories.tsx +0 -7
  580. package/src/stories/generated/Avatar/Demos.stories.tsx +0 -7
  581. package/src/stories/generated/Badge/Demos.stories.tsx +0 -9
  582. package/src/stories/generated/Button/Demos.stories.tsx +0 -11
  583. package/src/stories/generated/Checkbox/Demos.stories.tsx +0 -6
  584. package/src/stories/generated/Chip/Demos.stories.tsx +0 -11
  585. package/src/stories/generated/CommentBlock/Demos.stories.tsx +0 -8
  586. package/src/stories/generated/DatePicker/Demos.stories.tsx +0 -8
  587. package/src/stories/generated/Dialog/Demos.stories.tsx +0 -10
  588. package/src/stories/generated/Divider/Demos.stories.tsx +0 -6
  589. package/src/stories/generated/Dropdown/Demos.stories.tsx +0 -8
  590. package/src/stories/generated/ExpansionPanel/Demos.stories.tsx +0 -9
  591. package/src/stories/generated/Flag/Demos.stories.tsx +0 -6
  592. package/src/stories/generated/GenericBlock/Demos.stories.tsx +0 -8
  593. package/src/stories/generated/Heading/Demos.stories.tsx +0 -6
  594. package/src/stories/generated/Icon/Demos.stories.tsx +0 -8
  595. package/src/stories/generated/ImageBlock/Demos.stories.tsx +0 -9
  596. package/src/stories/generated/ImageLightbox/Demos.stories.tsx +0 -6
  597. package/src/stories/generated/Lightbox/Demos.stories.tsx +0 -6
  598. package/src/stories/generated/LinkPreview/Demos.stories.tsx +0 -7
  599. package/src/stories/generated/List/Demos.stories.tsx +0 -11
  600. package/src/stories/generated/Message/Demos.stories.tsx +0 -11
  601. package/src/stories/generated/Mosaic/Demos.stories.tsx +0 -10
  602. package/src/stories/generated/Notification/Demos.stories.tsx +0 -6
  603. package/src/stories/generated/Popover/Demos.stories.tsx +0 -11
  604. package/src/stories/generated/PopoverDialog/Demos.stories.tsx +0 -6
  605. package/src/stories/generated/PostBlock/Demos.stories.tsx +0 -6
  606. package/src/stories/generated/Progress/Demos.stories.tsx +0 -7
  607. package/src/stories/generated/ProgressTracker/Demos.stories.tsx +0 -9
  608. package/src/stories/generated/RadioButton/Demos.stories.tsx +0 -6
  609. package/src/stories/generated/Select/Demos.stories.tsx +0 -14
  610. package/src/stories/generated/SideNavigation/Demos.stories.tsx +0 -10
  611. package/src/stories/generated/Skeleton/Demos.stories.tsx +0 -9
  612. package/src/stories/generated/Slider/Demos.stories.tsx +0 -9
  613. package/src/stories/generated/Slideshow/Demos.stories.tsx +0 -8
  614. package/src/stories/generated/Switch/Demos.stories.tsx +0 -6
  615. package/src/stories/generated/Table/Demos.stories.tsx +0 -7
  616. package/src/stories/generated/Tabs/Demos.stories.tsx +0 -8
  617. package/src/stories/generated/TextField/Demos.stories.tsx +0 -20
  618. package/src/stories/generated/Thumbnail/Demos.stories.tsx +0 -12
  619. package/src/stories/generated/Toolbar/Demos.stories.tsx +0 -10
  620. package/src/stories/generated/Tooltip/Demos.stories.tsx +0 -8
  621. package/src/stories/generated/Uploader/Demos.stories.tsx +0 -8
  622. package/src/stories/generated/UserBlock/Demos.stories.tsx +0 -11
  623. package/src/stories/utils/CustomLink.tsx +0 -12
  624. package/src/stories/utils/concatPath.tsx +0 -17
  625. package/src/stories/utils/disableArgTypes.ts +0 -3
  626. package/src/stories/utils/initDemoShadowDOMPortal.ts +0 -10
  627. package/src/stories/utils/lorem.ts +0 -59
  628. package/src/stories/utils/theming.tsx +0 -166
  629. package/src/stories/utils/toFlattenProps.ts +0 -28
  630. package/src/stories/utils/withCategory.ts +0 -12
  631. package/src/testing/utils/ThemeSentinel.tsx +0 -10
  632. package/src/testing/utils/commonTestsSuiteRTL.tsx +0 -193
  633. package/src/testing/utils/index.ts +0 -1
  634. package/src/testing/utils/queries.ts +0 -19
  635. package/src/untypped-modules.d.ts +0 -9
  636. package/src/utils/ClickAwayProvider/ClickAwayProvider.stories.jsx +0 -70
  637. package/src/utils/ClickAwayProvider/ClickAwayProvider.tsx +0 -69
  638. package/src/utils/ClickAwayProvider/index.ts +0 -1
  639. package/src/utils/MaterialThemeSwitcher/MaterialThemeSwitcher.tsx +0 -54
  640. package/src/utils/MaterialThemeSwitcher/index.ts +0 -1
  641. package/src/utils/Portal/Portal.test.tsx +0 -31
  642. package/src/utils/Portal/Portal.tsx +0 -33
  643. package/src/utils/Portal/PortalProvider.stories.jsx +0 -22
  644. package/src/utils/Portal/PortalProvider.test.tsx +0 -72
  645. package/src/utils/Portal/PortalProvider.tsx +0 -24
  646. package/src/utils/Portal/index.tsx +0 -2
  647. package/src/utils/browser/DOM/findImage.tsx +0 -3
  648. package/src/utils/browser/DOM/startViewTransition.ts +0 -68
  649. package/src/utils/browser/focus/constants.ts +0 -7
  650. package/src/utils/browser/focus/getFirstAndLastFocusable.test.ts +0 -134
  651. package/src/utils/browser/focus/getFirstAndLastFocusable.ts +0 -21
  652. package/src/utils/browser/focus/getFocusableElements.test.ts +0 -151
  653. package/src/utils/browser/focus/getFocusableElements.ts +0 -7
  654. package/src/utils/browser/isFocusVisible.ts +0 -9
  655. package/src/utils/browser/isHoverNotSupported.test.js +0 -24
  656. package/src/utils/browser/isHoverNotSupported.ts +0 -2
  657. package/src/utils/browser/isReducedMotion.ts +0 -6
  658. package/src/utils/date/addMonthResetDay.test.ts +0 -13
  659. package/src/utils/date/addMonthResetDay.ts +0 -9
  660. package/src/utils/date/formatDayNumber.test.ts +0 -12
  661. package/src/utils/date/formatDayNumber.ts +0 -5
  662. package/src/utils/date/getFirstDayOfWeek.test.ts +0 -20
  663. package/src/utils/date/getFirstDayOfWeek.ts +0 -59
  664. package/src/utils/date/getMonthCalendar.test.ts +0 -127
  665. package/src/utils/date/getMonthCalendar.ts +0 -69
  666. package/src/utils/date/getWeekDays.test.ts +0 -48
  667. package/src/utils/date/getWeekDays.ts +0 -34
  668. package/src/utils/date/getYearDisplayName.test.ts +0 -20
  669. package/src/utils/date/getYearDisplayName.ts +0 -12
  670. package/src/utils/date/isDateValid.test.ts +0 -15
  671. package/src/utils/date/isDateValid.ts +0 -4
  672. package/src/utils/date/isSameDay.test.ts +0 -37
  673. package/src/utils/date/isSameDay.ts +0 -11
  674. package/src/utils/disabled/DisabledStateContext.tsx +0 -29
  675. package/src/utils/disabled/DisabledStateProvider.stories.tsx +0 -92
  676. package/src/utils/disabled/index.ts +0 -2
  677. package/src/utils/disabled/useDisableStateProps.test.tsx +0 -74
  678. package/src/utils/disabled/useDisableStateProps.tsx +0 -37
  679. package/src/utils/function/makeListenerTowerContext.ts +0 -32
  680. package/src/utils/index.ts +0 -7
  681. package/src/utils/locale/getCurrentLocale.ts +0 -4
  682. package/src/utils/locale/parseLocale.test.ts +0 -17
  683. package/src/utils/locale/parseLocale.ts +0 -23
  684. package/src/utils/locale/types.ts +0 -8
  685. package/src/utils/number/clamp.ts +0 -17
  686. package/src/utils/object/isEqual.test.ts +0 -25
  687. package/src/utils/object/isEqual.ts +0 -11
  688. package/src/utils/partitionMulti.test.ts +0 -27
  689. package/src/utils/react/OnBeforeUnmount.tsx +0 -20
  690. package/src/utils/react/RawClickable.test.tsx +0 -153
  691. package/src/utils/react/RawClickable.tsx +0 -65
  692. package/src/utils/react/flattenChildren.ts +0 -32
  693. package/src/utils/react/forwardRef.ts +0 -11
  694. package/src/utils/react/forwardRefPolymorphic.ts +0 -9
  695. package/src/utils/react/mergeRefs.ts +0 -33
  696. package/src/utils/react/renderLink.tsx +0 -17
  697. package/src/utils/react/skipRender.tsx +0 -18
  698. package/src/utils/react/unref.ts +0 -7
  699. package/src/utils/react/wrapChildrenIconWithSpaces.test.tsx +0 -37
  700. package/src/utils/react/wrapChildrenIconWithSpaces.tsx +0 -22
  701. package/src/utils/theme/ThemeContext.ts +0 -16
  702. package/src/utils/theme/invertTheme.ts +0 -4
  703. package/src/utils/type/Comp.ts +0 -14
  704. package/src/utils/type/ComponentRef.ts +0 -16
  705. package/src/utils/type/HasAriaDisabled.ts +0 -6
  706. package/src/utils/type/HasPolymorphicAs.ts +0 -6
  707. package/src/utils/type/HasRequiredLinkHref.ts +0 -1
  708. package/src/utils/type/MaybeElementOrRef.ts +0 -6
  709. package/src/utils/type/index.ts +0 -9
  710. package/src/utils/type/isComponent.ts +0 -33
  711. package/src/utils/type/isComponentType.ts +0 -9
@@ -0,0 +1,327 @@
1
+ import React__default, { useMemo, cloneElement, useState, useRef, useEffect } from 'react';
2
+ import { f as forwardRef, c as classNames } from '../forwardRef-15f62847.js';
3
+ import { I as IS_BROWSER, D as DOCUMENT, V as VISUALLY_HIDDEN } from '../constants-d0e3f49e.js';
4
+ import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
5
+ import { m as mergeRefs, u as useMergeRefs } from '../mergeRefs-f0d7d6ea.js';
6
+ import { T as TooltipContextProvider } from '../context-9d1336a1.js';
7
+ import { u as useId } from '../useId-3a1facc0.js';
8
+ import { a as POPOVER_ZINDEX, P as Placement, u as usePopper } from '../constants-b9e57936.js';
9
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
10
+ import { u as useCallbackOnEscape } from '../useCallbackOnEscape-ea4d9eb4.js';
11
+ import { TOOLTIP_LONG_PRESS_DELAY, TOOLTIP_HOVER_DELAY } from '@lumx/core/js/constants';
12
+ import { P as Portal } from '../Portal-3f86608e.js';
13
+
14
+ /**
15
+ * Make sure tooltip appear above popovers.
16
+ */
17
+ const TOOLTIP_ZINDEX = POPOVER_ZINDEX + 1;
18
+
19
+ /**
20
+ * Add ref and ARIA attribute(s) in tooltip children or wrapped children.
21
+ * Button, IconButton, Icon and React HTML elements don't need to be wrapped but any other kind of children (array, fragment, custom components)
22
+ * will be wrapped in a <span>.
23
+ */
24
+ const useInjectTooltipRef = options => {
25
+ const {
26
+ children,
27
+ setAnchorElement,
28
+ isMounted,
29
+ id,
30
+ label,
31
+ ariaLinkMode
32
+ } = options;
33
+ // Only add link when mounted
34
+ const linkId = isMounted ? id : undefined;
35
+ return useMemo(() => {
36
+ if (!label) return children;
37
+
38
+ // Non-disabled element
39
+ if (/*#__PURE__*/React__default.isValidElement(children) && children.props.disabled !== true && children.props.isDisabled !== true) {
40
+ const ref = mergeRefs(children.ref, setAnchorElement);
41
+ const props = {
42
+ ...children.props,
43
+ ref
44
+ };
45
+
46
+ // Do not add label/description if the tooltip label is already in aria-label
47
+ if (linkId && label !== props['aria-label']) {
48
+ if (props[ariaLinkMode]) props[ariaLinkMode] += ' ';else props[ariaLinkMode] = '';
49
+ props[ariaLinkMode] += linkId;
50
+ }
51
+ return /*#__PURE__*/cloneElement(children, props);
52
+ }
53
+ const aria = linkId ? {
54
+ [ariaLinkMode]: linkId
55
+ } : undefined;
56
+ return /*#__PURE__*/jsx("div", {
57
+ className: "lumx-tooltip-anchor-wrapper",
58
+ ref: setAnchorElement,
59
+ ...aria,
60
+ children: children
61
+ });
62
+ }, [label, children, setAnchorElement, linkId, ariaLinkMode]);
63
+ };
64
+
65
+ /** Return true if the browser does not support pointer hover */
66
+ const isHoverNotSupported = () => !!window.matchMedia?.('(hover: none)').matches;
67
+
68
+ /** Check if the focus is visible on the given element */
69
+ const isFocusVisible = element => {
70
+ try {
71
+ return element?.matches?.(':focus-visible, [data-focus-visible-added]');
72
+ } catch (_ignored) {
73
+ // Can fail on non browser env
74
+ return true;
75
+ }
76
+ };
77
+
78
+ /**
79
+ * Hook controlling tooltip visibility using mouse hover the anchor and delay.
80
+ *
81
+ * @param delay Delay in millisecond to display the tooltip.
82
+ * @param anchorElement Tooltip anchor element.
83
+ * @return whether or not to show the tooltip.
84
+ */
85
+ function useTooltipOpen(delay, anchorElement) {
86
+ const [isOpen, setIsOpen] = useState(false);
87
+ const onPopperMount = useRef(null);
88
+
89
+ // Global close on escape
90
+ const [closeCallback, setCloseCallback] = useState(undefined);
91
+ useCallbackOnEscape(isOpen ? closeCallback : undefined);
92
+ useEffect(() => {
93
+ if (!anchorElement) {
94
+ return undefined;
95
+ }
96
+ let timer;
97
+ let openStartTime;
98
+ let shouldOpen;
99
+
100
+ // Run timer to defer updating the isOpen state.
101
+ const deferUpdate = duration => {
102
+ if (timer) clearTimeout(timer);
103
+ const update = () => {
104
+ setIsOpen(!!shouldOpen);
105
+ };
106
+ // Skip timeout in fake browsers
107
+ if (!IS_BROWSER) update();else timer = setTimeout(update, duration);
108
+ };
109
+ const hoverNotSupported = isHoverNotSupported();
110
+ const hasTouch = 'ontouchstart' in window;
111
+
112
+ // Adapt open/close delay
113
+ const openDelay = delay || (hoverNotSupported ? TOOLTIP_LONG_PRESS_DELAY.open : TOOLTIP_HOVER_DELAY.open);
114
+ const closeDelay = hoverNotSupported ? TOOLTIP_LONG_PRESS_DELAY.close : TOOLTIP_HOVER_DELAY.close;
115
+
116
+ // Open (or/and cancel closing) of tooltip.
117
+ const open = () => {
118
+ if (shouldOpen && !timer) return;
119
+ shouldOpen = true;
120
+ openStartTime = Date.now();
121
+ deferUpdate(openDelay);
122
+ };
123
+
124
+ // Close or cancel opening of tooltip
125
+ const getClose = (overrideDelay = closeDelay) => {
126
+ if (!shouldOpen && !timer) return;
127
+ shouldOpen = false;
128
+ deferUpdate(overrideDelay);
129
+ };
130
+ const close = () => getClose(closeDelay);
131
+ const closeImmediately = () => getClose(0);
132
+ setCloseCallback(() => closeImmediately);
133
+
134
+ // Adapt event to browsers with or without `hover` support.
135
+ const events = [];
136
+ if (hoverNotSupported) {
137
+ /**
138
+ * Handle touchend event
139
+ * If end comes before the open delay => cancel tooltip (close immediate).
140
+ * Else if end comes after the open delay => tooltip takes priority, the anchor's default touch end event is prevented.
141
+ */
142
+ const longPressEnd = evt => {
143
+ if (!openStartTime) return;
144
+ if (Date.now() - openStartTime >= openDelay) {
145
+ // Tooltip take priority, event prevented.
146
+ evt.stopPropagation();
147
+ evt.preventDefault();
148
+ anchorElement.focus();
149
+ // Close with delay.
150
+ close();
151
+ } else {
152
+ // Close immediately.
153
+ closeImmediately();
154
+ }
155
+ };
156
+ events.push([anchorElement, hasTouch ? 'touchstart' : 'mousedown', open], [anchorElement, hasTouch ? 'touchend' : 'mouseup', longPressEnd]);
157
+ } else {
158
+ events.push([anchorElement, 'mouseenter', open], [anchorElement, 'mouseleave', close], [anchorElement, 'mouseup', closeImmediately]);
159
+ onPopperMount.current = popperElement => {
160
+ if (!popperElement) return;
161
+ // Popper element hover
162
+ popperElement.addEventListener('mouseenter', open);
163
+ popperElement.addEventListener('mouseleave', close);
164
+ // Add to event list to remove on unmount
165
+ events.push([popperElement, 'mouseenter', open], [popperElement, 'mouseleave', close]);
166
+ };
167
+ }
168
+
169
+ // Events always applied no matter the browser:.
170
+ events.push(
171
+ // Open on focus (only if focus is visible).
172
+ [anchorElement, 'focusin', e => {
173
+ // Skip if focus is not visible
174
+ if (!isFocusVisible(e.target)) return;
175
+ open();
176
+ }],
177
+ // Close on lost focus.
178
+ [anchorElement, 'focusout', closeImmediately]);
179
+
180
+ // Attach events
181
+ for (const [node, eventType, eventHandler] of events) {
182
+ node.addEventListener(eventType, eventHandler);
183
+ }
184
+ return () => {
185
+ // Clear pending timers.
186
+ if (timer) clearTimeout(timer);
187
+
188
+ // Detach events.
189
+ for (const [node, eventType, eventHandler] of events) {
190
+ node.removeEventListener(eventType, eventHandler);
191
+ }
192
+ };
193
+ }, [anchorElement, delay]);
194
+ return {
195
+ isOpen,
196
+ onPopperMount: onPopperMount.current
197
+ };
198
+ }
199
+
200
+ /* eslint-disable react-hooks/rules-of-hooks */
201
+ /**
202
+ * Component display name.
203
+ */
204
+ const COMPONENT_NAME = 'Tooltip';
205
+
206
+ /**
207
+ * Component default class name and class prefix.
208
+ */
209
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
210
+
211
+ /**
212
+ * Component default props.
213
+ */
214
+ const DEFAULT_PROPS = {
215
+ placement: Placement.BOTTOM,
216
+ closeMode: 'unmount',
217
+ ariaLinkMode: 'aria-describedby',
218
+ zIndex: TOOLTIP_ZINDEX
219
+ };
220
+
221
+ /**
222
+ * Arrow size (in pixel).
223
+ */
224
+ const ARROW_SIZE = 8;
225
+
226
+ /**
227
+ * Tooltip component.
228
+ *
229
+ * @param props Component props.
230
+ * @param ref Component ref.
231
+ * @return React element.
232
+ */
233
+ const Tooltip = forwardRef((props, ref) => {
234
+ const {
235
+ label,
236
+ children,
237
+ className,
238
+ delay,
239
+ placement = DEFAULT_PROPS.placement,
240
+ forceOpen,
241
+ closeMode = DEFAULT_PROPS.closeMode,
242
+ ariaLinkMode = DEFAULT_PROPS.ariaLinkMode,
243
+ zIndex = DEFAULT_PROPS.zIndex,
244
+ ...forwardedProps
245
+ } = props;
246
+ // Disable in SSR.
247
+ if (!DOCUMENT) {
248
+ return /*#__PURE__*/jsx(Fragment, {
249
+ children: children
250
+ });
251
+ }
252
+ const id = useId();
253
+ const [popperElement, setPopperElement] = useState(null);
254
+ const [anchorElement, setAnchorElement] = useState(null);
255
+ const {
256
+ styles,
257
+ attributes,
258
+ update
259
+ } = usePopper(anchorElement, popperElement, {
260
+ placement,
261
+ modifiers: [{
262
+ name: 'offset',
263
+ options: {
264
+ offset: [0, ARROW_SIZE]
265
+ }
266
+ }]
267
+ });
268
+ const position = attributes?.popper?.['data-popper-placement'] ?? placement;
269
+ const {
270
+ isOpen: isActivated,
271
+ onPopperMount
272
+ } = useTooltipOpen(delay, anchorElement);
273
+ const isOpen = (isActivated || forceOpen) && !!label;
274
+ const isMounted = !!label && (isOpen || closeMode === 'hide');
275
+ const isHidden = !isOpen && closeMode === 'hide';
276
+ const wrappedChildren = useInjectTooltipRef({
277
+ children,
278
+ setAnchorElement,
279
+ isMounted,
280
+ id,
281
+ label,
282
+ ariaLinkMode: ariaLinkMode
283
+ });
284
+
285
+ // Update on open
286
+ React__default.useEffect(() => {
287
+ if (isOpen || popperElement) update?.();
288
+ }, [isOpen, update, popperElement]);
289
+ const labelLines = label ? label.split('\n') : [];
290
+ const tooltipRef = useMergeRefs(ref, setPopperElement, onPopperMount);
291
+ return /*#__PURE__*/jsxs(Fragment, {
292
+ children: [/*#__PURE__*/jsx(TooltipContextProvider, {
293
+ children: wrappedChildren
294
+ }), isMounted && /*#__PURE__*/jsx(Portal, {
295
+ children: /*#__PURE__*/jsxs("div", {
296
+ ref: tooltipRef,
297
+ ...forwardedProps,
298
+ id: id,
299
+ role: "tooltip",
300
+ className: classNames(className, handleBasicClasses({
301
+ prefix: CLASSNAME,
302
+ position,
303
+ isInitializing: !styles.popper?.transform
304
+ }), isHidden && VISUALLY_HIDDEN),
305
+ style: {
306
+ ...(isHidden ? undefined : styles.popper),
307
+ zIndex
308
+ },
309
+ ...attributes.popper,
310
+ children: [/*#__PURE__*/jsx("div", {
311
+ className: `${CLASSNAME}__arrow`
312
+ }), /*#__PURE__*/jsx("div", {
313
+ className: `${CLASSNAME}__inner`,
314
+ children: labelLines.map(line => /*#__PURE__*/jsx("p", {
315
+ children: line
316
+ }, line))
317
+ })]
318
+ })
319
+ })]
320
+ });
321
+ });
322
+ Tooltip.displayName = COMPONENT_NAME;
323
+ Tooltip.className = CLASSNAME;
324
+ Tooltip.defaultProps = DEFAULT_PROPS;
325
+
326
+ export { Tooltip };
327
+ //# sourceMappingURL=tooltip-2885ab2e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip-2885ab2e.js","sources":["../../../src/components/tooltip/constants.ts","../../../src/components/tooltip/useInjectTooltipRef.tsx","../../../src/utils/browser/isHoverNotSupported.ts","../../../src/utils/browser/isFocusVisible.ts","../../../src/components/tooltip/useTooltipOpen.tsx","../../../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import { POPOVER_ZINDEX } from '../popover/constants';\n\nexport const ARIA_LINK_MODES = ['aria-describedby', 'aria-labelledby'] as const;\n\n/**\n * Make sure tooltip appear above popovers.\n */\nexport const TOOLTIP_ZINDEX = POPOVER_ZINDEX + 1;\n","import React, { cloneElement, ReactNode, useMemo } from 'react';\n\nimport { mergeRefs } from '@lumx/react/utils/react/mergeRefs';\n\ninterface Options {\n /** Original tooltip anchor */\n children: ReactNode;\n /** Set tooltip anchor element */\n setAnchorElement: (e: HTMLDivElement) => void;\n /** Whether the tooltip is open or not */\n isMounted: boolean | undefined;\n /** Tooltip id */\n id: string;\n /** Tooltip label*/\n label?: string | null | false;\n /** Choose how the tooltip text should link to the anchor */\n ariaLinkMode: 'aria-describedby' | 'aria-labelledby';\n}\n\n/**\n * Add ref and ARIA attribute(s) in tooltip children or wrapped children.\n * Button, IconButton, Icon and React HTML elements don't need to be wrapped but any other kind of children (array, fragment, custom components)\n * will be wrapped in a <span>.\n */\nexport const useInjectTooltipRef = (options: Options): ReactNode => {\n const { children, setAnchorElement, isMounted, id, label, ariaLinkMode } = options;\n // Only add link when mounted\n const linkId = isMounted ? id : undefined;\n\n return useMemo(() => {\n if (!label) return children;\n\n // Non-disabled element\n if (React.isValidElement(children) && children.props.disabled !== true && children.props.isDisabled !== true) {\n const ref = mergeRefs((children as any).ref, setAnchorElement);\n const props = { ...children.props, ref };\n\n // Do not add label/description if the tooltip label is already in aria-label\n if (linkId && label !== props['aria-label']) {\n if (props[ariaLinkMode]) props[ariaLinkMode] += ' ';\n else props[ariaLinkMode] = '';\n props[ariaLinkMode] += linkId;\n }\n\n return cloneElement(children, props);\n }\n\n const aria = linkId ? { [ariaLinkMode]: linkId } : undefined;\n return (\n <div className=\"lumx-tooltip-anchor-wrapper\" ref={setAnchorElement} {...aria}>\n {children}\n </div>\n );\n }, [label, children, setAnchorElement, linkId, ariaLinkMode]);\n};\n","/** Return true if the browser does not support pointer hover */\nexport const isHoverNotSupported = (): boolean => !!window.matchMedia?.('(hover: none)').matches;\n","/** Check if the focus is visible on the given element */\nexport const isFocusVisible = (element?: HTMLElement) => {\n try {\n return element?.matches?.(':focus-visible, [data-focus-visible-added]');\n } catch (_ignored) {\n // Can fail on non browser env\n return true;\n }\n};\n","import { MutableRefObject, useEffect, useRef, useState } from 'react';\nimport { isHoverNotSupported } from '@lumx/react/utils/browser/isHoverNotSupported';\nimport { IS_BROWSER, TOOLTIP_HOVER_DELAY, TOOLTIP_LONG_PRESS_DELAY } from '@lumx/react/constants';\nimport { useCallbackOnEscape } from '@lumx/react/hooks/useCallbackOnEscape';\nimport { isFocusVisible } from '@lumx/react/utils/browser/isFocusVisible';\n\n/**\n * Hook controlling tooltip visibility using mouse hover the anchor and delay.\n *\n * @param delay Delay in millisecond to display the tooltip.\n * @param anchorElement Tooltip anchor element.\n * @return whether or not to show the tooltip.\n */\nexport function useTooltipOpen(delay: number | undefined, anchorElement: HTMLElement | null) {\n const [isOpen, setIsOpen] = useState(false);\n\n const onPopperMount = useRef<any>(null) as MutableRefObject<(elem: HTMLElement | null) => void>;\n\n // Global close on escape\n const [closeCallback, setCloseCallback] = useState<undefined | (() => void)>(undefined);\n useCallbackOnEscape(isOpen ? closeCallback : undefined);\n\n useEffect(() => {\n if (!anchorElement) {\n return undefined;\n }\n let timer: number | undefined;\n let openStartTime: number | undefined;\n let shouldOpen: boolean | undefined;\n\n // Run timer to defer updating the isOpen state.\n const deferUpdate = (duration: number) => {\n if (timer) clearTimeout(timer);\n const update = () => {\n setIsOpen(!!shouldOpen);\n };\n // Skip timeout in fake browsers\n if (!IS_BROWSER) update();\n else timer = setTimeout(update, duration) as any;\n };\n\n const hoverNotSupported = isHoverNotSupported();\n const hasTouch = 'ontouchstart' in window;\n\n // Adapt open/close delay\n const openDelay = delay || (hoverNotSupported ? TOOLTIP_LONG_PRESS_DELAY.open : TOOLTIP_HOVER_DELAY.open);\n const closeDelay = hoverNotSupported ? TOOLTIP_LONG_PRESS_DELAY.close : TOOLTIP_HOVER_DELAY.close;\n\n // Open (or/and cancel closing) of tooltip.\n const open = () => {\n if (shouldOpen && !timer) return;\n shouldOpen = true;\n openStartTime = Date.now();\n deferUpdate(openDelay);\n };\n\n // Close or cancel opening of tooltip\n const getClose = (overrideDelay = closeDelay) => {\n if (!shouldOpen && !timer) return;\n shouldOpen = false;\n deferUpdate(overrideDelay);\n };\n const close = () => getClose(closeDelay);\n const closeImmediately = () => getClose(0);\n setCloseCallback(() => closeImmediately);\n\n // Adapt event to browsers with or without `hover` support.\n const events: Array<[Node, Event['type'], any]> = [];\n if (hoverNotSupported) {\n /**\n * Handle touchend event\n * If end comes before the open delay => cancel tooltip (close immediate).\n * Else if end comes after the open delay => tooltip takes priority, the anchor's default touch end event is prevented.\n */\n const longPressEnd = (evt: Event) => {\n if (!openStartTime) return;\n if (Date.now() - openStartTime >= openDelay) {\n // Tooltip take priority, event prevented.\n evt.stopPropagation();\n evt.preventDefault();\n anchorElement.focus();\n // Close with delay.\n close();\n } else {\n // Close immediately.\n closeImmediately();\n }\n };\n\n events.push(\n [anchorElement, hasTouch ? 'touchstart' : 'mousedown', open],\n [anchorElement, hasTouch ? 'touchend' : 'mouseup', longPressEnd],\n );\n } else {\n events.push(\n [anchorElement, 'mouseenter', open],\n [anchorElement, 'mouseleave', close],\n [anchorElement, 'mouseup', closeImmediately],\n );\n\n onPopperMount.current = (popperElement: HTMLElement | null) => {\n if (!popperElement) return;\n // Popper element hover\n popperElement.addEventListener('mouseenter', open);\n popperElement.addEventListener('mouseleave', close);\n // Add to event list to remove on unmount\n events.push([popperElement, 'mouseenter', open], [popperElement, 'mouseleave', close]);\n };\n }\n\n // Events always applied no matter the browser:.\n events.push(\n // Open on focus (only if focus is visible).\n [\n anchorElement,\n 'focusin',\n (e: Event) => {\n // Skip if focus is not visible\n if (!isFocusVisible(e.target as HTMLElement)) return;\n open();\n },\n ],\n // Close on lost focus.\n [anchorElement, 'focusout', closeImmediately],\n );\n\n // Attach events\n for (const [node, eventType, eventHandler] of events) {\n node.addEventListener(eventType, eventHandler);\n }\n return () => {\n // Clear pending timers.\n if (timer) clearTimeout(timer);\n\n // Detach events.\n for (const [node, eventType, eventHandler] of events) {\n node.removeEventListener(eventType, eventHandler);\n }\n };\n }, [anchorElement, delay]);\n\n return { isOpen, onPopperMount: onPopperMount.current };\n}\n","/* eslint-disable react-hooks/rules-of-hooks */\nimport React, { ReactNode, useState } from 'react';\n\nimport classNames from 'classnames';\n\nimport { DOCUMENT, VISUALLY_HIDDEN } from '@lumx/react/constants';\nimport { GenericProps, HasCloseMode } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useMergeRefs } from '@lumx/react/utils/react/mergeRefs';\nimport { Placement } from '@lumx/react/components/popover';\nimport { TooltipContextProvider } from '@lumx/react/components/tooltip/context';\nimport { useId } from '@lumx/react/hooks/useId';\nimport { usePopper } from '@lumx/react/hooks/usePopper';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { ARIA_LINK_MODES, TOOLTIP_ZINDEX } from '@lumx/react/components/tooltip/constants';\nimport { Portal } from '@lumx/react/utils';\nimport { useInjectTooltipRef } from './useInjectTooltipRef';\nimport { useTooltipOpen } from './useTooltipOpen';\n\n/** Position of the tooltip relative to the anchor element. */\nexport type TooltipPlacement = Extract<Placement, 'top' | 'right' | 'bottom' | 'left'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface TooltipProps extends GenericProps, HasCloseMode {\n /** Anchor (element on which we activate the tooltip). */\n children: ReactNode;\n /** Delay (in ms) before closing the tooltip. */\n delay?: number;\n /** Whether the tooltip is displayed even without the mouse hovering the anchor. */\n forceOpen?: boolean;\n /** Label text. */\n label?: string | null | false;\n /** Placement of the tooltip relative to the anchor. */\n placement?: TooltipPlacement;\n /** Choose how the tooltip text should link to the anchor */\n ariaLinkMode?: (typeof ARIA_LINK_MODES)[number];\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Tooltip';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<TooltipProps> = {\n placement: Placement.BOTTOM,\n closeMode: 'unmount',\n ariaLinkMode: 'aria-describedby',\n zIndex: TOOLTIP_ZINDEX,\n};\n\n/**\n * Arrow size (in pixel).\n */\nconst ARROW_SIZE = 8;\n\n/**\n * Tooltip component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Tooltip = forwardRef<TooltipProps, HTMLDivElement>((props, ref) => {\n const {\n label,\n children,\n className,\n delay,\n placement = DEFAULT_PROPS.placement,\n forceOpen,\n closeMode = DEFAULT_PROPS.closeMode,\n ariaLinkMode = DEFAULT_PROPS.ariaLinkMode,\n zIndex = DEFAULT_PROPS.zIndex,\n ...forwardedProps\n } = props;\n // Disable in SSR.\n if (!DOCUMENT) {\n return <>{children}</>;\n }\n\n const id = useId();\n\n const [popperElement, setPopperElement] = useState<null | HTMLElement>(null);\n const [anchorElement, setAnchorElement] = useState<null | HTMLElement>(null);\n const { styles, attributes, update } = usePopper(anchorElement, popperElement, {\n placement,\n modifiers: [\n {\n name: 'offset',\n options: { offset: [0, ARROW_SIZE] },\n },\n ],\n });\n\n const position = attributes?.popper?.['data-popper-placement'] ?? placement;\n const { isOpen: isActivated, onPopperMount } = useTooltipOpen(delay, anchorElement);\n const isOpen = (isActivated || forceOpen) && !!label;\n const isMounted = !!label && (isOpen || closeMode === 'hide');\n const isHidden = !isOpen && closeMode === 'hide';\n const wrappedChildren = useInjectTooltipRef({\n children,\n setAnchorElement,\n isMounted,\n id,\n label,\n ariaLinkMode: ariaLinkMode as any,\n });\n\n // Update on open\n React.useEffect(() => {\n if (isOpen || popperElement) update?.();\n }, [isOpen, update, popperElement]);\n\n const labelLines = label ? label.split('\\n') : [];\n\n const tooltipRef = useMergeRefs(ref, setPopperElement, onPopperMount);\n\n return (\n <>\n <TooltipContextProvider>{wrappedChildren}</TooltipContextProvider>\n {isMounted && (\n <Portal>\n <div\n ref={tooltipRef}\n {...forwardedProps}\n id={id}\n role=\"tooltip\"\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n position,\n isInitializing: !styles.popper?.transform,\n }),\n isHidden && VISUALLY_HIDDEN,\n )}\n style={{ ...(isHidden ? undefined : styles.popper), zIndex }}\n {...attributes.popper}\n >\n <div className={`${CLASSNAME}__arrow`} />\n <div className={`${CLASSNAME}__inner`}>\n {labelLines.map((line) => (\n <p key={line}>{line}</p>\n ))}\n </div>\n </div>\n </Portal>\n )}\n </>\n );\n});\nTooltip.displayName = COMPONENT_NAME;\nTooltip.className = CLASSNAME;\nTooltip.defaultProps = DEFAULT_PROPS;\n"],"names":["TOOLTIP_ZINDEX","POPOVER_ZINDEX","useInjectTooltipRef","options","children","setAnchorElement","isMounted","id","label","ariaLinkMode","linkId","undefined","useMemo","React","isValidElement","props","disabled","isDisabled","ref","mergeRefs","cloneElement","aria","_jsx","className","isHoverNotSupported","window","matchMedia","matches","isFocusVisible","element","_ignored","useTooltipOpen","delay","anchorElement","isOpen","setIsOpen","useState","onPopperMount","useRef","closeCallback","setCloseCallback","useCallbackOnEscape","useEffect","timer","openStartTime","shouldOpen","deferUpdate","duration","clearTimeout","update","IS_BROWSER","setTimeout","hoverNotSupported","hasTouch","openDelay","TOOLTIP_LONG_PRESS_DELAY","open","TOOLTIP_HOVER_DELAY","closeDelay","close","Date","now","getClose","overrideDelay","closeImmediately","events","longPressEnd","evt","stopPropagation","preventDefault","focus","push","current","popperElement","addEventListener","e","target","node","eventType","eventHandler","removeEventListener","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","placement","Placement","BOTTOM","closeMode","zIndex","ARROW_SIZE","Tooltip","forwardRef","forceOpen","forwardedProps","DOCUMENT","_Fragment","useId","setPopperElement","styles","attributes","usePopper","modifiers","name","offset","position","popper","isActivated","isHidden","wrappedChildren","labelLines","split","tooltipRef","useMergeRefs","_jsxs","TooltipContextProvider","Portal","role","classNames","handleBasicClasses","prefix","isInitializing","transform","VISUALLY_HIDDEN","style","map","line","displayName","defaultProps"],"mappings":";;;;;;;;;;;;;AAIA;AACA;AACA;AACO,MAAMA,cAAc,GAAGC,cAAc,GAAG,CAAC;;ACYhD;AACA;AACA;AACA;AACA;AACO,MAAMC,mBAAmB,GAAIC,OAAgB,IAAgB;EAChE,MAAM;IAAEC,QAAQ;IAAEC,gBAAgB;IAAEC,SAAS;IAAEC,EAAE;IAAEC,KAAK;AAAEC,IAAAA,YAAAA;AAAa,GAAC,GAAGN,OAAO,CAAA;AAClF;AACA,EAAA,MAAMO,MAAM,GAAGJ,SAAS,GAAGC,EAAE,GAAGI,SAAS,CAAA;EAEzC,OAAOC,OAAO,CAAC,MAAM;AACjB,IAAA,IAAI,CAACJ,KAAK,EAAE,OAAOJ,QAAQ,CAAA;;AAE3B;IACA,iBAAIS,cAAK,CAACC,cAAc,CAACV,QAAQ,CAAC,IAAIA,QAAQ,CAACW,KAAK,CAACC,QAAQ,KAAK,IAAI,IAAIZ,QAAQ,CAACW,KAAK,CAACE,UAAU,KAAK,IAAI,EAAE;MAC1G,MAAMC,GAAG,GAAGC,SAAS,CAAEf,QAAQ,CAASc,GAAG,EAAEb,gBAAgB,CAAC,CAAA;AAC9D,MAAA,MAAMU,KAAK,GAAG;QAAE,GAAGX,QAAQ,CAACW,KAAK;AAAEG,QAAAA,GAAAA;OAAK,CAAA;;AAExC;MACA,IAAIR,MAAM,IAAIF,KAAK,KAAKO,KAAK,CAAC,YAAY,CAAC,EAAE;AACzC,QAAA,IAAIA,KAAK,CAACN,YAAY,CAAC,EAAEM,KAAK,CAACN,YAAY,CAAC,IAAI,GAAG,CAAC,KAC/CM,KAAK,CAACN,YAAY,CAAC,GAAG,EAAE,CAAA;AAC7BM,QAAAA,KAAK,CAACN,YAAY,CAAC,IAAIC,MAAM,CAAA;AACjC,OAAA;AAEA,MAAA,oBAAOU,YAAY,CAAChB,QAAQ,EAAEW,KAAK,CAAC,CAAA;AACxC,KAAA;IAEA,MAAMM,IAAI,GAAGX,MAAM,GAAG;AAAE,MAAA,CAACD,YAAY,GAAGC,MAAAA;AAAO,KAAC,GAAGC,SAAS,CAAA;AAC5D,IAAA,oBACIW,GAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,6BAA6B;AAACL,MAAAA,GAAG,EAAEb,gBAAiB;AAAA,MAAA,GAAKgB,IAAI;AAAAjB,MAAAA,QAAA,EACvEA,QAAAA;AAAQ,KACR,CAAC,CAAA;AAEd,GAAC,EAAE,CAACI,KAAK,EAAEJ,QAAQ,EAAEC,gBAAgB,EAAEK,MAAM,EAAED,YAAY,CAAC,CAAC,CAAA;AACjE,CAAC;;ACtDD;AACO,MAAMe,mBAAmB,GAAGA,MAAe,CAAC,CAACC,MAAM,CAACC,UAAU,GAAG,eAAe,CAAC,CAACC,OAAO;;ACDhG;AACO,MAAMC,cAAc,GAAIC,OAAqB,IAAK;EACrD,IAAI;AACA,IAAA,OAAOA,OAAO,EAAEF,OAAO,GAAG,4CAA4C,CAAC,CAAA;GAC1E,CAAC,OAAOG,QAAQ,EAAE;AACf;AACA,IAAA,OAAO,IAAI,CAAA;AACf,GAAA;AACJ,CAAC;;ACFD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,cAAcA,CAACC,KAAyB,EAAEC,aAAiC,EAAE;EACzF,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAE3C,EAAA,MAAMC,aAAa,GAAGC,MAAM,CAAM,IAAI,CAAyD,CAAA;;AAE/F;EACA,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGJ,QAAQ,CAA2BzB,SAAS,CAAC,CAAA;AACvF8B,EAAAA,mBAAmB,CAACP,MAAM,GAAGK,aAAa,GAAG5B,SAAS,CAAC,CAAA;AAEvD+B,EAAAA,SAAS,CAAC,MAAM;IACZ,IAAI,CAACT,aAAa,EAAE;AAChB,MAAA,OAAOtB,SAAS,CAAA;AACpB,KAAA;AACA,IAAA,IAAIgC,KAAyB,CAAA;AAC7B,IAAA,IAAIC,aAAiC,CAAA;AACrC,IAAA,IAAIC,UAA+B,CAAA;;AAEnC;IACA,MAAMC,WAAW,GAAIC,QAAgB,IAAK;AACtC,MAAA,IAAIJ,KAAK,EAAEK,YAAY,CAACL,KAAK,CAAC,CAAA;MAC9B,MAAMM,MAAM,GAAGA,MAAM;AACjBd,QAAAA,SAAS,CAAC,CAAC,CAACU,UAAU,CAAC,CAAA;OAC1B,CAAA;AACD;AACA,MAAA,IAAI,CAACK,UAAU,EAAED,MAAM,EAAE,CAAC,KACrBN,KAAK,GAAGQ,UAAU,CAACF,MAAM,EAAEF,QAAQ,CAAQ,CAAA;KACnD,CAAA;AAED,IAAA,MAAMK,iBAAiB,GAAG5B,mBAAmB,EAAE,CAAA;AAC/C,IAAA,MAAM6B,QAAQ,GAAG,cAAc,IAAI5B,MAAM,CAAA;;AAEzC;AACA,IAAA,MAAM6B,SAAS,GAAGtB,KAAK,KAAKoB,iBAAiB,GAAGG,wBAAwB,CAACC,IAAI,GAAGC,mBAAmB,CAACD,IAAI,CAAC,CAAA;IACzG,MAAME,UAAU,GAAGN,iBAAiB,GAAGG,wBAAwB,CAACI,KAAK,GAAGF,mBAAmB,CAACE,KAAK,CAAA;;AAEjG;IACA,MAAMH,IAAI,GAAGA,MAAM;AACf,MAAA,IAAIX,UAAU,IAAI,CAACF,KAAK,EAAE,OAAA;AAC1BE,MAAAA,UAAU,GAAG,IAAI,CAAA;AACjBD,MAAAA,aAAa,GAAGgB,IAAI,CAACC,GAAG,EAAE,CAAA;MAC1Bf,WAAW,CAACQ,SAAS,CAAC,CAAA;KACzB,CAAA;;AAED;AACA,IAAA,MAAMQ,QAAQ,GAAGA,CAACC,aAAa,GAAGL,UAAU,KAAK;AAC7C,MAAA,IAAI,CAACb,UAAU,IAAI,CAACF,KAAK,EAAE,OAAA;AAC3BE,MAAAA,UAAU,GAAG,KAAK,CAAA;MAClBC,WAAW,CAACiB,aAAa,CAAC,CAAA;KAC7B,CAAA;AACD,IAAA,MAAMJ,KAAK,GAAGA,MAAMG,QAAQ,CAACJ,UAAU,CAAC,CAAA;AACxC,IAAA,MAAMM,gBAAgB,GAAGA,MAAMF,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC1CtB,gBAAgB,CAAC,MAAMwB,gBAAgB,CAAC,CAAA;;AAExC;IACA,MAAMC,MAAyC,GAAG,EAAE,CAAA;AACpD,IAAA,IAAIb,iBAAiB,EAAE;AACnB;AACZ;AACA;AACA;AACA;MACY,MAAMc,YAAY,GAAIC,GAAU,IAAK;QACjC,IAAI,CAACvB,aAAa,EAAE,OAAA;QACpB,IAAIgB,IAAI,CAACC,GAAG,EAAE,GAAGjB,aAAa,IAAIU,SAAS,EAAE;AACzC;UACAa,GAAG,CAACC,eAAe,EAAE,CAAA;UACrBD,GAAG,CAACE,cAAc,EAAE,CAAA;UACpBpC,aAAa,CAACqC,KAAK,EAAE,CAAA;AACrB;AACAX,UAAAA,KAAK,EAAE,CAAA;AACX,SAAC,MAAM;AACH;AACAK,UAAAA,gBAAgB,EAAE,CAAA;AACtB,SAAA;OACH,CAAA;MAEDC,MAAM,CAACM,IAAI,CACP,CAACtC,aAAa,EAAEoB,QAAQ,GAAG,YAAY,GAAG,WAAW,EAAEG,IAAI,CAAC,EAC5D,CAACvB,aAAa,EAAEoB,QAAQ,GAAG,UAAU,GAAG,SAAS,EAAEa,YAAY,CACnE,CAAC,CAAA;AACL,KAAC,MAAM;MACHD,MAAM,CAACM,IAAI,CACP,CAACtC,aAAa,EAAE,YAAY,EAAEuB,IAAI,CAAC,EACnC,CAACvB,aAAa,EAAE,YAAY,EAAE0B,KAAK,CAAC,EACpC,CAAC1B,aAAa,EAAE,SAAS,EAAE+B,gBAAgB,CAC/C,CAAC,CAAA;AAED3B,MAAAA,aAAa,CAACmC,OAAO,GAAIC,aAAiC,IAAK;QAC3D,IAAI,CAACA,aAAa,EAAE,OAAA;AACpB;AACAA,QAAAA,aAAa,CAACC,gBAAgB,CAAC,YAAY,EAAElB,IAAI,CAAC,CAAA;AAClDiB,QAAAA,aAAa,CAACC,gBAAgB,CAAC,YAAY,EAAEf,KAAK,CAAC,CAAA;AACnD;AACAM,QAAAA,MAAM,CAACM,IAAI,CAAC,CAACE,aAAa,EAAE,YAAY,EAAEjB,IAAI,CAAC,EAAE,CAACiB,aAAa,EAAE,YAAY,EAAEd,KAAK,CAAC,CAAC,CAAA;OACzF,CAAA;AACL,KAAA;;AAEA;AACAM,IAAAA,MAAM,CAACM,IAAI;AACP;AACA,IAAA,CACItC,aAAa,EACb,SAAS,EACR0C,CAAQ,IAAK;AACV;AACA,MAAA,IAAI,CAAC/C,cAAc,CAAC+C,CAAC,CAACC,MAAqB,CAAC,EAAE,OAAA;AAC9CpB,MAAAA,IAAI,EAAE,CAAA;AACV,KAAC,CACJ;AACD;AACA,IAAA,CAACvB,aAAa,EAAE,UAAU,EAAE+B,gBAAgB,CAChD,CAAC,CAAA;;AAED;IACA,KAAK,MAAM,CAACa,IAAI,EAAEC,SAAS,EAAEC,YAAY,CAAC,IAAId,MAAM,EAAE;AAClDY,MAAAA,IAAI,CAACH,gBAAgB,CAACI,SAAS,EAAEC,YAAY,CAAC,CAAA;AAClD,KAAA;AACA,IAAA,OAAO,MAAM;AACT;AACA,MAAA,IAAIpC,KAAK,EAAEK,YAAY,CAACL,KAAK,CAAC,CAAA;;AAE9B;MACA,KAAK,MAAM,CAACkC,IAAI,EAAEC,SAAS,EAAEC,YAAY,CAAC,IAAId,MAAM,EAAE;AAClDY,QAAAA,IAAI,CAACG,mBAAmB,CAACF,SAAS,EAAEC,YAAY,CAAC,CAAA;AACrD,OAAA;KACH,CAAA;AACL,GAAC,EAAE,CAAC9C,aAAa,EAAED,KAAK,CAAC,CAAC,CAAA;EAE1B,OAAO;IAAEE,MAAM;IAAEG,aAAa,EAAEA,aAAa,CAACmC,OAAAA;GAAS,CAAA;AAC3D;;AC9IA;AAyCA;AACA;AACA;AACA,MAAMS,cAAc,GAAG,SAAS,CAAA;;AAEhC;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA,MAAMG,aAAoC,GAAG;EACzCC,SAAS,EAAEC,SAAS,CAACC,MAAM;AAC3BC,EAAAA,SAAS,EAAE,SAAS;AACpB/E,EAAAA,YAAY,EAAE,kBAAkB;AAChCgF,EAAAA,MAAM,EAAEzF,cAAAA;AACZ,CAAC,CAAA;;AAED;AACA;AACA;AACA,MAAM0F,UAAU,GAAG,CAAC,CAAA;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,OAAO,GAAGC,UAAU,CAA+B,CAAC7E,KAAK,EAAEG,GAAG,KAAK;EAC5E,MAAM;IACFV,KAAK;IACLJ,QAAQ;IACRmB,SAAS;IACTS,KAAK;IACLqD,SAAS,GAAGD,aAAa,CAACC,SAAS;IACnCQ,SAAS;IACTL,SAAS,GAAGJ,aAAa,CAACI,SAAS;IACnC/E,YAAY,GAAG2E,aAAa,CAAC3E,YAAY;IACzCgF,MAAM,GAAGL,aAAa,CAACK,MAAM;IAC7B,GAAGK,cAAAA;AACP,GAAC,GAAG/E,KAAK,CAAA;AACT;EACA,IAAI,CAACgF,QAAQ,EAAE;IACX,oBAAOzE,GAAA,CAAA0E,QAAA,EAAA;AAAA5F,MAAAA,QAAA,EAAGA,QAAAA;AAAQ,KAAG,CAAC,CAAA;AAC1B,GAAA;AAEA,EAAA,MAAMG,EAAE,GAAG0F,KAAK,EAAE,CAAA;EAElB,MAAM,CAACxB,aAAa,EAAEyB,gBAAgB,CAAC,GAAG9D,QAAQ,CAAqB,IAAI,CAAC,CAAA;EAC5E,MAAM,CAACH,aAAa,EAAE5B,gBAAgB,CAAC,GAAG+B,QAAQ,CAAqB,IAAI,CAAC,CAAA;EAC5E,MAAM;IAAE+D,MAAM;IAAEC,UAAU;AAAEnD,IAAAA,MAAAA;AAAO,GAAC,GAAGoD,SAAS,CAACpE,aAAa,EAAEwC,aAAa,EAAE;IAC3EY,SAAS;AACTiB,IAAAA,SAAS,EAAE,CACP;AACIC,MAAAA,IAAI,EAAE,QAAQ;AACdpG,MAAAA,OAAO,EAAE;AAAEqG,QAAAA,MAAM,EAAE,CAAC,CAAC,EAAEd,UAAU,CAAA;AAAE,OAAA;KACtC,CAAA;AAET,GAAC,CAAC,CAAA;EAEF,MAAMe,QAAQ,GAAGL,UAAU,EAAEM,MAAM,GAAG,uBAAuB,CAAC,IAAIrB,SAAS,CAAA;EAC3E,MAAM;AAAEnD,IAAAA,MAAM,EAAEyE,WAAW;AAAEtE,IAAAA,aAAAA;AAAc,GAAC,GAAGN,cAAc,CAACC,KAAK,EAAEC,aAAa,CAAC,CAAA;EACnF,MAAMC,MAAM,GAAG,CAACyE,WAAW,IAAId,SAAS,KAAK,CAAC,CAACrF,KAAK,CAAA;EACpD,MAAMF,SAAS,GAAG,CAAC,CAACE,KAAK,KAAK0B,MAAM,IAAIsD,SAAS,KAAK,MAAM,CAAC,CAAA;AAC7D,EAAA,MAAMoB,QAAQ,GAAG,CAAC1E,MAAM,IAAIsD,SAAS,KAAK,MAAM,CAAA;EAChD,MAAMqB,eAAe,GAAG3G,mBAAmB,CAAC;IACxCE,QAAQ;IACRC,gBAAgB;IAChBC,SAAS;IACTC,EAAE;IACFC,KAAK;AACLC,IAAAA,YAAY,EAAEA,YAAAA;AAClB,GAAC,CAAC,CAAA;;AAEF;EACAI,cAAK,CAAC6B,SAAS,CAAC,MAAM;AAClB,IAAA,IAAIR,MAAM,IAAIuC,aAAa,EAAExB,MAAM,IAAI,CAAA;GAC1C,EAAE,CAACf,MAAM,EAAEe,MAAM,EAAEwB,aAAa,CAAC,CAAC,CAAA;EAEnC,MAAMqC,UAAU,GAAGtG,KAAK,GAAGA,KAAK,CAACuG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;EAEjD,MAAMC,UAAU,GAAGC,YAAY,CAAC/F,GAAG,EAAEgF,gBAAgB,EAAE7D,aAAa,CAAC,CAAA;EAErE,oBACI6E,IAAA,CAAAlB,QAAA,EAAA;IAAA5F,QAAA,EAAA,cACIkB,GAAA,CAAC6F,sBAAsB,EAAA;AAAA/G,MAAAA,QAAA,EAAEyG,eAAAA;AAAe,KAAyB,CAAC,EACjEvG,SAAS,iBACNgB,GAAA,CAAC8F,MAAM,EAAA;AAAAhH,MAAAA,QAAA,eACH8G,IAAA,CAAA,KAAA,EAAA;AACIhG,QAAAA,GAAG,EAAE8F,UAAW;AAAA,QAAA,GACZlB,cAAc;AAClBvF,QAAAA,EAAE,EAAEA,EAAG;AACP8G,QAAAA,IAAI,EAAC,SAAS;AACd9F,QAAAA,SAAS,EAAE+F,UAAU,CACjB/F,SAAS,EACTgG,kBAAkB,CAAC;AACfC,UAAAA,MAAM,EAAEtC,SAAS;UACjBuB,QAAQ;AACRgB,UAAAA,cAAc,EAAE,CAACtB,MAAM,CAACO,MAAM,EAAEgB,SAAAA;AACpC,SAAC,CAAC,EACFd,QAAQ,IAAIe,eAChB,CAAE;AACFC,QAAAA,KAAK,EAAE;AAAE,UAAA,IAAIhB,QAAQ,GAAGjG,SAAS,GAAGwF,MAAM,CAACO,MAAM,CAAC;AAAEjB,UAAAA,MAAAA;SAAS;QAAA,GACzDW,UAAU,CAACM,MAAM;AAAAtG,QAAAA,QAAA,gBAErBkB,GAAA,CAAA,KAAA,EAAA;UAAKC,SAAS,EAAE,GAAG2D,SAAS,CAAA,OAAA,CAAA;SAAY,CAAC,eACzC5D,GAAA,CAAA,KAAA,EAAA;UAAKC,SAAS,EAAE,CAAG2D,EAAAA,SAAS,CAAU,OAAA,CAAA;AAAA9E,UAAAA,QAAA,EACjC0G,UAAU,CAACe,GAAG,CAAEC,IAAI,iBACjBxG,GAAA,CAAA,GAAA,EAAA;AAAAlB,YAAAA,QAAA,EAAe0H,IAAAA;AAAI,WAAA,EAAXA,IAAe,CAC1B,CAAA;AAAC,SACD,CAAC,CAAA;OACL,CAAA;AAAC,KACF,CACX,CAAA;AAAA,GACH,CAAC,CAAA;AAEX,CAAC,EAAC;AACFnC,OAAO,CAACoC,WAAW,GAAG9C,cAAc,CAAA;AACpCU,OAAO,CAACpE,SAAS,GAAG2D,SAAS,CAAA;AAC7BS,OAAO,CAACqC,YAAY,GAAG5C,aAAa;;;;"}
@@ -0,0 +1,153 @@
1
+ import React__default from 'react';
2
+ import { f as forwardRef, c as classNames } from '../forwardRef-15f62847.js';
3
+ import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
4
+ import { u as useBooleanState } from '../useBooleanState-2a3d237c.js';
5
+ import { u as useId } from '../useId-3a1facc0.js';
6
+ import { u as useTheme } from '../ThemeContext-3181f000.js';
7
+ import { V as VISUALLY_HIDDEN } from '../constants-d0e3f49e.js';
8
+ import { jsxs, jsx } from 'react/jsx-runtime';
9
+ import { u as useDisableStateProps } from '../useDisableStateProps-69e16b7c.js';
10
+ import { AspectRatio, Size, Theme } from '@lumx/core/js/constants';
11
+ import { I as Icon } from '../index-192f8ada.js';
12
+
13
+ const UploaderVariant = {
14
+ square: 'square',
15
+ rounded: 'rounded',
16
+ circle: 'circle'
17
+ };
18
+
19
+ /**
20
+ * Uploader sizes.
21
+ */
22
+
23
+ /**
24
+ * Extend native HTML input props with specialized `onChange` providing the a `File` array.
25
+ */
26
+
27
+ /**
28
+ * Defines the props of the component.
29
+ */
30
+
31
+ /**
32
+ * Component display name.
33
+ */
34
+ const COMPONENT_NAME = 'Uploader';
35
+
36
+ /**
37
+ * Component default class name and class prefix.
38
+ */
39
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
40
+
41
+ /**
42
+ * Component default props.
43
+ */
44
+ const DEFAULT_PROPS = {
45
+ aspectRatio: AspectRatio.horizontal,
46
+ size: Size.xl,
47
+ variant: UploaderVariant.square
48
+ };
49
+
50
+ /**
51
+ * Uploader component.
52
+ *
53
+ * @param props Component props.
54
+ * @param ref Component ref.
55
+ * @return React element.
56
+ */
57
+ const Uploader = forwardRef((props, ref) => {
58
+ const {
59
+ disabledStateProps,
60
+ otherProps,
61
+ isAnyDisabled
62
+ } = useDisableStateProps(props);
63
+ const defaultTheme = useTheme() || Theme.light;
64
+ const {
65
+ aspectRatio = DEFAULT_PROPS.aspectRatio,
66
+ className,
67
+ label,
68
+ icon,
69
+ size = DEFAULT_PROPS.size,
70
+ theme = defaultTheme,
71
+ variant = DEFAULT_PROPS.variant,
72
+ fileInputProps,
73
+ onClick,
74
+ ...forwardedProps
75
+ } = otherProps;
76
+ // Adjust to square aspect ratio when using circle variants.
77
+ const adjustedAspectRatio = variant === UploaderVariant.circle ? AspectRatio.square : aspectRatio;
78
+ const handleClick = React__default.useCallback(evt => {
79
+ if (isAnyDisabled) {
80
+ evt.preventDefault();
81
+ } else {
82
+ onClick?.(evt);
83
+ }
84
+ }, [isAnyDisabled, onClick]);
85
+ const generatedInputId = useId();
86
+ const inputId = fileInputProps?.id || generatedInputId;
87
+ const [isDragHovering, unsetDragHovering, setDragHovering] = useBooleanState(false);
88
+ const wrapper = fileInputProps ? {
89
+ Component: 'label',
90
+ props: {
91
+ htmlFor: inputId
92
+ }
93
+ } : {
94
+ Component: 'button',
95
+ props: {
96
+ type: 'button',
97
+ ...disabledStateProps
98
+ }
99
+ };
100
+ const onChange = React__default.useMemo(() => {
101
+ if (isAnyDisabled || !fileInputProps?.onChange) return undefined;
102
+ return evt => {
103
+ const fileList = evt.target.files;
104
+ const files = fileList ? Array.from(fileList) : [];
105
+ fileInputProps.onChange(files, evt);
106
+ };
107
+ }, [isAnyDisabled, fileInputProps]);
108
+ return /*#__PURE__*/jsxs(wrapper.Component, {
109
+ ref: ref,
110
+ ...wrapper.props,
111
+ ...forwardedProps,
112
+ onClick: handleClick,
113
+ className: classNames(className, handleBasicClasses({
114
+ aspectRatio: adjustedAspectRatio,
115
+ prefix: CLASSNAME,
116
+ size,
117
+ theme,
118
+ variant,
119
+ isDragHovering,
120
+ isDisabled: isAnyDisabled
121
+ })),
122
+ children: [/*#__PURE__*/jsx("span", {
123
+ className: `${CLASSNAME}__background`
124
+ }), /*#__PURE__*/jsxs("span", {
125
+ className: `${CLASSNAME}__wrapper`,
126
+ children: [icon && /*#__PURE__*/jsx(Icon, {
127
+ className: `${CLASSNAME}__icon`,
128
+ icon: icon,
129
+ size: Size.s
130
+ }), label && /*#__PURE__*/jsx("span", {
131
+ className: `${CLASSNAME}__label`,
132
+ children: label
133
+ })]
134
+ }), fileInputProps && /*#__PURE__*/jsx("input", {
135
+ type: "file",
136
+ id: inputId,
137
+ className: `${CLASSNAME}__input ${VISUALLY_HIDDEN}`,
138
+ ...disabledStateProps,
139
+ ...fileInputProps,
140
+ readOnly: isAnyDisabled,
141
+ onChange: onChange,
142
+ onDragEnter: setDragHovering,
143
+ onDragLeave: unsetDragHovering,
144
+ onDrop: unsetDragHovering
145
+ })]
146
+ });
147
+ });
148
+ Uploader.displayName = COMPONENT_NAME;
149
+ Uploader.className = CLASSNAME;
150
+ Uploader.defaultProps = DEFAULT_PROPS;
151
+
152
+ export { Uploader, UploaderVariant };
153
+ //# sourceMappingURL=uploader-7bc3adaa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploader-7bc3adaa.js","sources":["../../../src/components/uploader/Uploader.tsx"],"sourcesContent":["import React, { MouseEventHandler } from 'react';\n\nimport classNames from 'classnames';\n\nimport { AspectRatio, Icon, Size, Theme } from '@lumx/react';\nimport { GenericProps, HasTheme, ValueOf } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useBooleanState } from '@lumx/react/hooks/useBooleanState';\nimport { useId } from '@lumx/react/hooks/useId';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { HasAriaDisabled } from '@lumx/react/utils/type/HasAriaDisabled';\nimport { useDisableStateProps } from '@lumx/react/utils/disabled';\nimport { VISUALLY_HIDDEN } from '@lumx/react/constants';\n\n/**\n * Uploader variants.\n */\nexport const UploaderVariant = {\n square: 'square',\n rounded: 'rounded',\n circle: 'circle',\n} as const;\nexport type UploaderVariant = ValueOf<typeof UploaderVariant>;\n\n/**\n * Uploader sizes.\n */\nexport type UploaderSize = Extract<Size, 'xl' | 'xxl'>;\n\n/**\n * Extend native HTML input props with specialized `onChange` providing the a `File` array.\n */\ninterface FileInputProps extends Omit<React.ComponentProps<'input'>, 'onChange'> {\n onChange(files: File[], evt: React.ChangeEvent<HTMLInputElement>): void;\n}\n\n/**\n * Defines the props of the component.\n */\nexport interface UploaderProps extends GenericProps, HasTheme, HasAriaDisabled {\n /** Image aspect ratio. */\n aspectRatio?: AspectRatio;\n /** Icon (SVG path). */\n icon?: string;\n /** Disabled state */\n isDisabled?: boolean;\n /** Label text. */\n label?: string;\n /** Size variant. */\n size?: UploaderSize;\n /** Variant. */\n variant?: UploaderVariant;\n /** On click callback. */\n onClick?: MouseEventHandler;\n /** Handle file selection with a native input file. */\n fileInputProps?: FileInputProps;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Uploader';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<UploaderProps> = {\n aspectRatio: AspectRatio.horizontal,\n size: Size.xl,\n variant: UploaderVariant.square,\n};\n\n/**\n * Uploader component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Uploader = forwardRef<UploaderProps>((props, ref) => {\n const { disabledStateProps, otherProps, isAnyDisabled } = useDisableStateProps(props);\n const defaultTheme = useTheme() || Theme.light;\n const {\n aspectRatio = DEFAULT_PROPS.aspectRatio,\n className,\n label,\n icon,\n size = DEFAULT_PROPS.size,\n theme = defaultTheme,\n variant = DEFAULT_PROPS.variant,\n fileInputProps,\n onClick,\n ...forwardedProps\n } = otherProps;\n // Adjust to square aspect ratio when using circle variants.\n const adjustedAspectRatio = variant === UploaderVariant.circle ? AspectRatio.square : aspectRatio;\n\n const handleClick: React.MouseEventHandler = React.useCallback(\n (evt) => {\n if (isAnyDisabled) {\n evt.preventDefault();\n } else {\n onClick?.(evt);\n }\n },\n [isAnyDisabled, onClick],\n );\n\n const generatedInputId = useId();\n const inputId = fileInputProps?.id || generatedInputId;\n const [isDragHovering, unsetDragHovering, setDragHovering] = useBooleanState(false);\n const wrapper = fileInputProps\n ? ({ Component: 'label', props: { htmlFor: inputId } } as const)\n : ({ Component: 'button', props: { type: 'button', ...disabledStateProps } } as const);\n\n const onChange = React.useMemo(() => {\n if (isAnyDisabled || !fileInputProps?.onChange) return undefined;\n return (evt: React.ChangeEvent<HTMLInputElement>) => {\n const fileList = evt.target.files;\n const files = fileList ? Array.from(fileList) : [];\n fileInputProps.onChange(files, evt);\n };\n }, [isAnyDisabled, fileInputProps]);\n\n return (\n <wrapper.Component\n ref={ref as any}\n {...wrapper.props}\n {...forwardedProps}\n onClick={handleClick}\n className={classNames(\n className,\n handleBasicClasses({\n aspectRatio: adjustedAspectRatio,\n prefix: CLASSNAME,\n size,\n theme,\n variant,\n isDragHovering,\n isDisabled: isAnyDisabled,\n }),\n )}\n >\n <span className={`${CLASSNAME}__background`} />\n\n <span className={`${CLASSNAME}__wrapper`}>\n {icon && <Icon className={`${CLASSNAME}__icon`} icon={icon} size={Size.s} />}\n\n {label && <span className={`${CLASSNAME}__label`}>{label}</span>}\n </span>\n\n {fileInputProps && (\n <input\n type=\"file\"\n id={inputId}\n className={`${CLASSNAME}__input ${VISUALLY_HIDDEN}`}\n {...disabledStateProps}\n {...fileInputProps}\n readOnly={isAnyDisabled}\n onChange={onChange}\n onDragEnter={setDragHovering}\n onDragLeave={unsetDragHovering}\n onDrop={unsetDragHovering}\n />\n )}\n </wrapper.Component>\n );\n});\nUploader.displayName = COMPONENT_NAME;\nUploader.className = CLASSNAME;\nUploader.defaultProps = DEFAULT_PROPS;\n"],"names":["UploaderVariant","square","rounded","circle","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","aspectRatio","AspectRatio","horizontal","size","Size","xl","variant","Uploader","forwardRef","props","ref","disabledStateProps","otherProps","isAnyDisabled","useDisableStateProps","defaultTheme","useTheme","Theme","light","className","label","icon","theme","fileInputProps","onClick","forwardedProps","adjustedAspectRatio","handleClick","React","useCallback","evt","preventDefault","generatedInputId","useId","inputId","id","isDragHovering","unsetDragHovering","setDragHovering","useBooleanState","wrapper","Component","htmlFor","type","onChange","useMemo","undefined","fileList","target","files","Array","from","_jsxs","classNames","handleBasicClasses","prefix","isDisabled","children","_jsx","Icon","s","VISUALLY_HIDDEN","readOnly","onDragEnter","onDragLeave","onDrop","displayName","defaultProps"],"mappings":"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"}