@lumx/react 3.20.1-alpha.1 → 3.20.1-alpha.11

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 (721) hide show
  1. package/CONTRIBUTING.md +1 -5
  2. package/README.md +0 -2
  3. package/_internal/01bc8fcf.js +114 -0
  4. package/_internal/01bc8fcf.js.map +1 -0
  5. package/_internal/0361b7fb.js +15 -0
  6. package/_internal/0361b7fb.js.map +1 -0
  7. package/_internal/077b7bef.js +29 -0
  8. package/_internal/077b7bef.js.map +1 -0
  9. package/_internal/07e0bd90.js +147 -0
  10. package/_internal/07e0bd90.js.map +1 -0
  11. package/_internal/0a31e895.js +304 -0
  12. package/_internal/0a31e895.js.map +1 -0
  13. package/_internal/0b9c76cb.js +6 -0
  14. package/_internal/0b9c76cb.js.map +1 -0
  15. package/_internal/0f4b35b2.js +76 -0
  16. package/_internal/0f4b35b2.js.map +1 -0
  17. package/_internal/18334f0d.js +140 -0
  18. package/_internal/18334f0d.js.map +1 -0
  19. package/_internal/1921f348.js +72 -0
  20. package/_internal/1921f348.js.map +1 -0
  21. package/_internal/1aaa0341.js +645 -0
  22. package/_internal/1aaa0341.js.map +1 -0
  23. package/_internal/1ce667fb.js +790 -0
  24. package/_internal/1ce667fb.js.map +1 -0
  25. package/_internal/1e4b7ad5.js +60 -0
  26. package/_internal/1e4b7ad5.js.map +1 -0
  27. package/_internal/1eab656b.js +75 -0
  28. package/_internal/1eab656b.js.map +1 -0
  29. package/_internal/21aeb1c7.js +19 -0
  30. package/_internal/21aeb1c7.js.map +1 -0
  31. package/_internal/21cf275f.js +158 -0
  32. package/_internal/21cf275f.js.map +1 -0
  33. package/_internal/230173a8.js +13 -0
  34. package/_internal/230173a8.js.map +1 -0
  35. package/_internal/2368cb68.js +297 -0
  36. package/_internal/2368cb68.js.map +1 -0
  37. package/_internal/286fc728.js +2 -0
  38. package/_internal/286fc728.js.map +1 -0
  39. package/_internal/2938a251.js +147 -0
  40. package/_internal/2938a251.js.map +1 -0
  41. package/_internal/2a3d237c.js +12 -0
  42. package/_internal/2a3d237c.js.map +1 -0
  43. package/_internal/2c7942af.js +108 -0
  44. package/_internal/2c7942af.js.map +1 -0
  45. package/_internal/2d6bde7d.js +209 -0
  46. package/_internal/2d6bde7d.js.map +1 -0
  47. package/_internal/30f4c83c.js +59 -0
  48. package/_internal/30f4c83c.js.map +1 -0
  49. package/_internal/3181f000.js +14 -0
  50. package/_internal/3181f000.js.map +1 -0
  51. package/_internal/32698205.js +107 -0
  52. package/_internal/32698205.js.map +1 -0
  53. package/_internal/3646abc3.js +346 -0
  54. package/_internal/3646abc3.js.map +1 -0
  55. package/_internal/3683d267.js +52 -0
  56. package/_internal/3683d267.js.map +1 -0
  57. package/_internal/36bd7352.js +219 -0
  58. package/_internal/36bd7352.js.map +1 -0
  59. package/_internal/38b3ecf3.js +133 -0
  60. package/_internal/38b3ecf3.js.map +1 -0
  61. package/_internal/3a1facc0.js +18 -0
  62. package/_internal/3a1facc0.js.map +1 -0
  63. package/_internal/3f3de25e.js +112 -0
  64. package/_internal/3f3de25e.js.map +1 -0
  65. package/_internal/407735b4.js +2155 -0
  66. package/_internal/407735b4.js.map +1 -0
  67. package/_internal/43262bfe.js +48 -0
  68. package/_internal/43262bfe.js.map +1 -0
  69. package/_internal/432c85a7.js +50 -0
  70. package/_internal/432c85a7.js.map +1 -0
  71. package/_internal/49bbeed3.js +6 -0
  72. package/_internal/49bbeed3.js.map +1 -0
  73. package/_internal/4c5a7b63.js +53 -0
  74. package/_internal/4c5a7b63.js.map +1 -0
  75. package/_internal/4ceaf17c.js +75 -0
  76. package/_internal/4ceaf17c.js.map +1 -0
  77. package/_internal/4d92e13b.js +97 -0
  78. package/_internal/4d92e13b.js.map +1 -0
  79. package/{src/utils/partitionMulti.ts → _internal/4daccdd5.js} +5 -9
  80. package/_internal/4daccdd5.js.map +1 -0
  81. package/_internal/4e1dde79.js +104 -0
  82. package/_internal/4e1dde79.js.map +1 -0
  83. package/_internal/5ba8fae8.js +120 -0
  84. package/_internal/5ba8fae8.js.map +1 -0
  85. package/_internal/60923026.js +36 -0
  86. package/_internal/60923026.js.map +1 -0
  87. package/_internal/60f8e509.js +745 -0
  88. package/_internal/60f8e509.js.map +1 -0
  89. package/_internal/64046d7a.js +57 -0
  90. package/_internal/64046d7a.js.map +1 -0
  91. package/_internal/70cf341b.js +117 -0
  92. package/_internal/70cf341b.js.map +1 -0
  93. package/_internal/714809cc.js +312 -0
  94. package/_internal/714809cc.js.map +1 -0
  95. package/_internal/72407886.js +430 -0
  96. package/_internal/72407886.js.map +1 -0
  97. package/_internal/742d4906.js +148 -0
  98. package/_internal/742d4906.js.map +1 -0
  99. package/_internal/77eb8ef3.js +149 -0
  100. package/_internal/77eb8ef3.js.map +1 -0
  101. package/_internal/78df9309.js +20 -0
  102. package/_internal/78df9309.js.map +1 -0
  103. package/_internal/7b214f74.js +70 -0
  104. package/_internal/7b214f74.js.map +1 -0
  105. package/_internal/7b221b05.js +9 -0
  106. package/_internal/7b221b05.js.map +1 -0
  107. package/_internal/7c4f4643.js +20 -0
  108. package/_internal/7c4f4643.js.map +1 -0
  109. package/_internal/7daf0f24.js +77 -0
  110. package/_internal/7daf0f24.js.map +1 -0
  111. package/_internal/803945f7.js +65 -0
  112. package/_internal/803945f7.js.map +1 -0
  113. package/_internal/80e5c950.js +80 -0
  114. package/_internal/80e5c950.js.map +1 -0
  115. package/_internal/825ac334.js +130 -0
  116. package/_internal/825ac334.js.map +1 -0
  117. package/_internal/827b804a.js +6 -0
  118. package/_internal/827b804a.js.map +1 -0
  119. package/_internal/85d992d2.js +678 -0
  120. package/_internal/85d992d2.js.map +1 -0
  121. package/_internal/87bada02.js +262 -0
  122. package/_internal/87bada02.js.map +1 -0
  123. package/_internal/881714a1.js +187 -0
  124. package/_internal/881714a1.js.map +1 -0
  125. package/_internal/88ec77c2.js +130 -0
  126. package/_internal/88ec77c2.js.map +1 -0
  127. package/_internal/8fcceef3.js +120 -0
  128. package/_internal/8fcceef3.js.map +1 -0
  129. package/_internal/9210e2f3.js +61 -0
  130. package/_internal/9210e2f3.js.map +1 -0
  131. package/_internal/9452daf7.js +103 -0
  132. package/_internal/9452daf7.js.map +1 -0
  133. package/_internal/95a2e851.js +42 -0
  134. package/_internal/95a2e851.js.map +1 -0
  135. package/_internal/9cf0d217.js +147 -0
  136. package/_internal/9cf0d217.js.map +1 -0
  137. package/_internal/9cfa3e10.js +108 -0
  138. package/_internal/9cfa3e10.js.map +1 -0
  139. package/_internal/9d8130ae.js +301 -0
  140. package/_internal/9d8130ae.js.map +1 -0
  141. package/_internal/a67f26a8.js +98 -0
  142. package/_internal/a67f26a8.js.map +1 -0
  143. package/_internal/aa8c5d9b.js +50 -0
  144. package/_internal/aa8c5d9b.js.map +1 -0
  145. package/_internal/aafcf80e.js +312 -0
  146. package/_internal/aafcf80e.js.map +1 -0
  147. package/_internal/ac3bc511.js +2 -0
  148. package/_internal/ac3bc511.js.map +1 -0
  149. package/_internal/b3bfbe72.js +24 -0
  150. package/_internal/b3bfbe72.js.map +1 -0
  151. package/_internal/b925072d.js +91 -0
  152. package/_internal/b925072d.js.map +1 -0
  153. package/_internal/baa0a23b.js +95 -0
  154. package/_internal/baa0a23b.js.map +1 -0
  155. package/_internal/bba7d4c4.js +225 -0
  156. package/_internal/bba7d4c4.js.map +1 -0
  157. package/_internal/bc4cb4c0.js +86 -0
  158. package/_internal/bc4cb4c0.js.map +1 -0
  159. package/_internal/bcce6ceb.js +93 -0
  160. package/_internal/bcce6ceb.js.map +1 -0
  161. package/_internal/bdd41804.js +157 -0
  162. package/_internal/bdd41804.js.map +1 -0
  163. package/_internal/c43d098b.js +42 -0
  164. package/_internal/c43d098b.js.map +1 -0
  165. package/_internal/cb036703.js +113 -0
  166. package/_internal/cb036703.js.map +1 -0
  167. package/_internal/cc995526.js +2 -0
  168. package/_internal/cc995526.js.map +1 -0
  169. package/_internal/cdc3efab.js +173 -0
  170. package/_internal/cdc3efab.js.map +1 -0
  171. package/_internal/d0dd1815.js +10 -0
  172. package/_internal/d0dd1815.js.map +1 -0
  173. package/_internal/d3321a86.js +290 -0
  174. package/_internal/d3321a86.js.map +1 -0
  175. package/_internal/d66c4375.js +62 -0
  176. package/_internal/d66c4375.js.map +1 -0
  177. package/_internal/d6b3a3c0.js +317 -0
  178. package/_internal/d6b3a3c0.js.map +1 -0
  179. package/_internal/dd0a245d.js +142 -0
  180. package/_internal/dd0a245d.js.map +1 -0
  181. package/_internal/de24f857.js +4 -0
  182. package/_internal/de24f857.js.map +1 -0
  183. package/_internal/e2122a37.js +3 -0
  184. package/_internal/e2122a37.js.map +1 -0
  185. package/_internal/e2440593.js +148 -0
  186. package/_internal/e2440593.js.map +1 -0
  187. package/_internal/e4613195.js +59 -0
  188. package/_internal/e4613195.js.map +1 -0
  189. package/_internal/e53b5a39.js +407 -0
  190. package/_internal/e53b5a39.js.map +1 -0
  191. package/_internal/e566d502.js +54 -0
  192. package/_internal/e566d502.js.map +1 -0
  193. package/_internal/e806b848.js +9 -0
  194. package/_internal/e806b848.js.map +1 -0
  195. package/_internal/eaf6c45a.js +4 -0
  196. package/_internal/eaf6c45a.js.map +1 -0
  197. package/_internal/ee64ab0d.js +149 -0
  198. package/_internal/ee64ab0d.js.map +1 -0
  199. package/_internal/ef5d1aac.js +4 -0
  200. package/_internal/ef5d1aac.js.map +1 -0
  201. package/_internal/f0d7d6ea.js +30 -0
  202. package/_internal/f0d7d6ea.js.map +1 -0
  203. package/_internal/f57d4eb8.js +53 -0
  204. package/_internal/f57d4eb8.js.map +1 -0
  205. package/_internal/fc47f2da.js +72 -0
  206. package/_internal/fc47f2da.js.map +1 -0
  207. package/index.d.ts +36 -36
  208. package/index.js +65 -14480
  209. package/index.js.map +1 -1
  210. package/package.json +10 -13
  211. package/utils/index.d.ts +7 -7
  212. package/utils/index.js +3 -1
  213. package/utils/index.js.map +1 -1
  214. package/_internal/index.js +0 -229
  215. package/_internal/index.js.map +0 -1
  216. package/src/components/alert-dialog/AlertDialog.stories.tsx +0 -127
  217. package/src/components/alert-dialog/AlertDialog.test.tsx +0 -35
  218. package/src/components/alert-dialog/AlertDialog.tsx +0 -189
  219. package/src/components/alert-dialog/index.ts +0 -1
  220. package/src/components/autocomplete/Autocomplete.stories.tsx +0 -75
  221. package/src/components/autocomplete/Autocomplete.test.tsx +0 -101
  222. package/src/components/autocomplete/Autocomplete.tsx +0 -294
  223. package/src/components/autocomplete/AutocompleteMultiple.stories.tsx +0 -167
  224. package/src/components/autocomplete/AutocompleteMultiple.test.tsx +0 -63
  225. package/src/components/autocomplete/AutocompleteMultiple.tsx +0 -156
  226. package/src/components/autocomplete/__mockData__/index.ts +0 -39
  227. package/src/components/autocomplete/index.ts +0 -2
  228. package/src/components/avatar/Avatar.stories.tsx +0 -121
  229. package/src/components/avatar/Avatar.test.tsx +0 -34
  230. package/src/components/avatar/Avatar.tsx +0 -114
  231. package/src/components/avatar/index.ts +0 -1
  232. package/src/components/badge/Badge.stories.tsx +0 -70
  233. package/src/components/badge/Badge.test.tsx +0 -47
  234. package/src/components/badge/Badge.tsx +0 -58
  235. package/src/components/badge/BadgeWrapper.stories.tsx +0 -76
  236. package/src/components/badge/BadgeWrapper.test.tsx +0 -49
  237. package/src/components/badge/BadgeWrapper.tsx +0 -37
  238. package/src/components/badge/index.ts +0 -2
  239. package/src/components/button/Button.stories.tsx +0 -356
  240. package/src/components/button/Button.test.tsx +0 -127
  241. package/src/components/button/Button.tsx +0 -103
  242. package/src/components/button/ButtonGroup.stories.tsx +0 -54
  243. package/src/components/button/ButtonGroup.test.tsx +0 -43
  244. package/src/components/button/ButtonGroup.tsx +0 -52
  245. package/src/components/button/ButtonRoot.tsx +0 -193
  246. package/src/components/button/IconButton.stories.tsx +0 -52
  247. package/src/components/button/IconButton.test.tsx +0 -68
  248. package/src/components/button/IconButton.tsx +0 -93
  249. package/src/components/button/index.ts +0 -4
  250. package/src/components/checkbox/Checkbox.stories.tsx +0 -64
  251. package/src/components/checkbox/Checkbox.test.tsx +0 -156
  252. package/src/components/checkbox/Checkbox.tsx +0 -164
  253. package/src/components/checkbox/index.ts +0 -1
  254. package/src/components/chip/Chip.stories.tsx +0 -166
  255. package/src/components/chip/Chip.test.tsx +0 -243
  256. package/src/components/chip/Chip.tsx +0 -168
  257. package/src/components/chip/ChipGroup.stories.tsx +0 -49
  258. package/src/components/chip/ChipGroup.test.tsx +0 -39
  259. package/src/components/chip/ChipGroup.tsx +0 -60
  260. package/src/components/chip/index.ts +0 -2
  261. package/src/components/comment-block/CommentBlock.stories.tsx +0 -92
  262. package/src/components/comment-block/CommentBlock.test.tsx +0 -29
  263. package/src/components/comment-block/CommentBlock.tsx +0 -172
  264. package/src/components/comment-block/index.ts +0 -1
  265. package/src/components/date-picker/DatePicker.stories.tsx +0 -118
  266. package/src/components/date-picker/DatePicker.test.tsx +0 -36
  267. package/src/components/date-picker/DatePicker.tsx +0 -52
  268. package/src/components/date-picker/DatePickerControlled.test.tsx +0 -93
  269. package/src/components/date-picker/DatePickerControlled.tsx +0 -259
  270. package/src/components/date-picker/DatePickerField.stories.tsx +0 -100
  271. package/src/components/date-picker/DatePickerField.test.tsx +0 -72
  272. package/src/components/date-picker/DatePickerField.tsx +0 -135
  273. package/src/components/date-picker/constants.ts +0 -11
  274. package/src/components/date-picker/index.ts +0 -4
  275. package/src/components/date-picker/types.ts +0 -28
  276. package/src/components/dialog/Dialog.stories.tsx +0 -318
  277. package/src/components/dialog/Dialog.test.tsx +0 -99
  278. package/src/components/dialog/Dialog.tsx +0 -288
  279. package/src/components/dialog/index.ts +0 -1
  280. package/src/components/divider/Divider.test.tsx +0 -53
  281. package/src/components/divider/Divider.tsx +0 -52
  282. package/src/components/divider/index.ts +0 -1
  283. package/src/components/drag-handle/DragHandle.test.tsx +0 -38
  284. package/src/components/drag-handle/DragHandle.tsx +0 -53
  285. package/src/components/drag-handle/index.ts +0 -1
  286. package/src/components/dropdown/Dropdown.stories.tsx +0 -31
  287. package/src/components/dropdown/Dropdown.test.tsx +0 -66
  288. package/src/components/dropdown/Dropdown.tsx +0 -186
  289. package/src/components/dropdown/index.ts +0 -1
  290. package/src/components/expansion-panel/ExpansionPanel.stories.tsx +0 -91
  291. package/src/components/expansion-panel/ExpansionPanel.test.tsx +0 -186
  292. package/src/components/expansion-panel/ExpansionPanel.tsx +0 -195
  293. package/src/components/expansion-panel/index.ts +0 -1
  294. package/src/components/flag/Flag.stories.tsx +0 -48
  295. package/src/components/flag/Flag.test.tsx +0 -64
  296. package/src/components/flag/Flag.tsx +0 -54
  297. package/src/components/flag/index.ts +0 -1
  298. package/src/components/flex-box/FlexBox.stories.tsx +0 -158
  299. package/src/components/flex-box/FlexBox.test.tsx +0 -25
  300. package/src/components/flex-box/FlexBox.tsx +0 -100
  301. package/src/components/flex-box/index.ts +0 -1
  302. package/src/components/generic-block/GenericBlock.stories.jsx +0 -128
  303. package/src/components/generic-block/GenericBlock.test.tsx +0 -156
  304. package/src/components/generic-block/GenericBlock.tsx +0 -225
  305. package/src/components/generic-block/constants.ts +0 -9
  306. package/src/components/generic-block/index.ts +0 -2
  307. package/src/components/grid/Grid.tsx +0 -85
  308. package/src/components/grid/GridItem.tsx +0 -57
  309. package/src/components/grid/index.ts +0 -2
  310. package/src/components/grid-column/GridColumn.stories.tsx +0 -46
  311. package/src/components/grid-column/GridColumn.test.jsx +0 -58
  312. package/src/components/grid-column/GridColumn.tsx +0 -83
  313. package/src/components/grid-column/index.ts +0 -1
  314. package/src/components/heading/Heading.stories.tsx +0 -70
  315. package/src/components/heading/Heading.test.tsx +0 -84
  316. package/src/components/heading/Heading.tsx +0 -67
  317. package/src/components/heading/HeadingLevelProvider.tsx +0 -30
  318. package/src/components/heading/constants.ts +0 -16
  319. package/src/components/heading/context.tsx +0 -13
  320. package/src/components/heading/index.ts +0 -3
  321. package/src/components/heading/useHeadingLevel.tsx +0 -8
  322. package/src/components/icon/Icon.stories.tsx +0 -47
  323. package/src/components/icon/Icon.test.tsx +0 -44
  324. package/src/components/icon/Icon.tsx +0 -24
  325. package/src/components/icon/index.ts +0 -1
  326. package/src/components/image-block/ImageBlock.stories.tsx +0 -119
  327. package/src/components/image-block/ImageBlock.test.tsx +0 -59
  328. package/src/components/image-block/ImageBlock.tsx +0 -142
  329. package/src/components/image-block/ImageCaption.tsx +0 -115
  330. package/src/components/image-block/index.ts +0 -1
  331. package/src/components/image-lightbox/ImageLightbox.stories.tsx +0 -161
  332. package/src/components/image-lightbox/ImageLightbox.test.tsx +0 -252
  333. package/src/components/image-lightbox/ImageLightbox.tsx +0 -90
  334. package/src/components/image-lightbox/constants.ts +0 -11
  335. package/src/components/image-lightbox/index.ts +0 -2
  336. package/src/components/image-lightbox/internal/ImageSlide.tsx +0 -107
  337. package/src/components/image-lightbox/internal/ImageSlideshow.tsx +0 -164
  338. package/src/components/image-lightbox/internal/useAnimateScroll.ts +0 -55
  339. package/src/components/image-lightbox/internal/usePointerZoom.ts +0 -148
  340. package/src/components/image-lightbox/types.ts +0 -50
  341. package/src/components/image-lightbox/useImageLightbox.tsx +0 -141
  342. package/src/components/inline-list/InlineList.stories.tsx +0 -78
  343. package/src/components/inline-list/InlineList.test.tsx +0 -54
  344. package/src/components/inline-list/InlineList.tsx +0 -96
  345. package/src/components/inline-list/index.ts +0 -1
  346. package/src/components/input-helper/InputHelper.stories.tsx +0 -35
  347. package/src/components/input-helper/InputHelper.test.tsx +0 -57
  348. package/src/components/input-helper/InputHelper.tsx +0 -65
  349. package/src/components/input-helper/constants.ts +0 -11
  350. package/src/components/input-helper/index.ts +0 -1
  351. package/src/components/input-label/InputLabel.stories.tsx +0 -47
  352. package/src/components/input-label/InputLabel.test.tsx +0 -61
  353. package/src/components/input-label/InputLabel.tsx +0 -69
  354. package/src/components/input-label/index.ts +0 -1
  355. package/src/components/lightbox/Lightbox.stories.tsx +0 -101
  356. package/src/components/lightbox/Lightbox.test.tsx +0 -55
  357. package/src/components/lightbox/Lightbox.tsx +0 -180
  358. package/src/components/lightbox/index.ts +0 -1
  359. package/src/components/link/Link.stories.tsx +0 -196
  360. package/src/components/link/Link.test.tsx +0 -127
  361. package/src/components/link/Link.tsx +0 -119
  362. package/src/components/link/index.ts +0 -1
  363. package/src/components/link-preview/LinkPreview.stories.tsx +0 -61
  364. package/src/components/link-preview/LinkPreview.test.tsx +0 -107
  365. package/src/components/link-preview/LinkPreview.tsx +0 -160
  366. package/src/components/link-preview/index.ts +0 -1
  367. package/src/components/list/List.stories.tsx +0 -116
  368. package/src/components/list/List.test.tsx +0 -20
  369. package/src/components/list/List.tsx +0 -104
  370. package/src/components/list/ListDivider.stories.tsx +0 -12
  371. package/src/components/list/ListDivider.test.tsx +0 -24
  372. package/src/components/list/ListDivider.tsx +0 -37
  373. package/src/components/list/ListItem.stories.tsx +0 -66
  374. package/src/components/list/ListItem.test.tsx +0 -95
  375. package/src/components/list/ListItem.tsx +0 -157
  376. package/src/components/list/ListSubheader.stories.tsx +0 -11
  377. package/src/components/list/ListSubheader.test.tsx +0 -23
  378. package/src/components/list/ListSubheader.tsx +0 -44
  379. package/src/components/list/index.ts +0 -4
  380. package/src/components/list/useInteractiveList.tsx +0 -202
  381. package/src/components/message/Message.stories.tsx +0 -72
  382. package/src/components/message/Message.test.tsx +0 -77
  383. package/src/components/message/Message.tsx +0 -100
  384. package/src/components/message/index.ts +0 -1
  385. package/src/components/mosaic/Mosaic.stories.tsx +0 -89
  386. package/src/components/mosaic/Mosaic.test.tsx +0 -79
  387. package/src/components/mosaic/Mosaic.tsx +0 -98
  388. package/src/components/mosaic/index.ts +0 -1
  389. package/src/components/navigation/Navigation.stories.tsx +0 -236
  390. package/src/components/navigation/Navigation.test.tsx +0 -67
  391. package/src/components/navigation/Navigation.tsx +0 -81
  392. package/src/components/navigation/NavigationItem.test.tsx +0 -37
  393. package/src/components/navigation/NavigationItem.tsx +0 -86
  394. package/src/components/navigation/NavigationSection.test.tsx +0 -139
  395. package/src/components/navigation/NavigationSection.tsx +0 -107
  396. package/src/components/navigation/context.tsx +0 -7
  397. package/src/components/navigation/index.ts +0 -1
  398. package/src/components/notification/Notification.test.tsx +0 -95
  399. package/src/components/notification/Notification.tsx +0 -138
  400. package/src/components/notification/Notifications.stories.tsx +0 -92
  401. package/src/components/notification/constants.ts +0 -28
  402. package/src/components/notification/index.ts +0 -1
  403. package/src/components/popover/Popover.stories.tsx +0 -264
  404. package/src/components/popover/Popover.test.tsx +0 -64
  405. package/src/components/popover/Popover.tsx +0 -201
  406. package/src/components/popover/constants.ts +0 -62
  407. package/src/components/popover/index.ts +0 -3
  408. package/src/components/popover/usePopoverStyle.tsx +0 -184
  409. package/src/components/popover/useRestoreFocusOnClose.tsx +0 -47
  410. package/src/components/popover-dialog/PopoverDialog.stories.tsx +0 -64
  411. package/src/components/popover-dialog/PopoverDialog.test.tsx +0 -140
  412. package/src/components/popover-dialog/PopoverDialog.tsx +0 -76
  413. package/src/components/popover-dialog/index.tsx +0 -1
  414. package/src/components/post-block/PostBlock.test.tsx +0 -29
  415. package/src/components/post-block/PostBlock.tsx +0 -122
  416. package/src/components/post-block/index.ts +0 -1
  417. package/src/components/progress/Progress.tsx +0 -70
  418. package/src/components/progress/ProgressCircular.stories.tsx +0 -44
  419. package/src/components/progress/ProgressCircular.test.tsx +0 -48
  420. package/src/components/progress/ProgressCircular.tsx +0 -84
  421. package/src/components/progress/ProgressLinear.stories.tsx +0 -12
  422. package/src/components/progress/ProgressLinear.test.tsx +0 -32
  423. package/src/components/progress/ProgressLinear.tsx +0 -52
  424. package/src/components/progress/index.ts +0 -3
  425. package/src/components/progress-tracker/ProgressTracker.stories.tsx +0 -145
  426. package/src/components/progress-tracker/ProgressTracker.test.tsx +0 -44
  427. package/src/components/progress-tracker/ProgressTracker.tsx +0 -87
  428. package/src/components/progress-tracker/ProgressTrackerProvider.test.tsx +0 -67
  429. package/src/components/progress-tracker/ProgressTrackerProvider.tsx +0 -67
  430. package/src/components/progress-tracker/ProgressTrackerStep.test.tsx +0 -38
  431. package/src/components/progress-tracker/ProgressTrackerStep.tsx +0 -159
  432. package/src/components/progress-tracker/ProgressTrackerStepPanel.test.tsx +0 -36
  433. package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +0 -69
  434. package/src/components/progress-tracker/index.ts +0 -4
  435. package/src/components/radio-button/RadioButton.stories.tsx +0 -71
  436. package/src/components/radio-button/RadioButton.test.tsx +0 -145
  437. package/src/components/radio-button/RadioButton.tsx +0 -143
  438. package/src/components/radio-button/RadioGroup.stories.tsx +0 -39
  439. package/src/components/radio-button/RadioGroup.test.tsx +0 -31
  440. package/src/components/radio-button/RadioGroup.tsx +0 -44
  441. package/src/components/radio-button/index.ts +0 -2
  442. package/src/components/select/Select.stories.tsx +0 -385
  443. package/src/components/select/Select.test.tsx +0 -200
  444. package/src/components/select/Select.tsx +0 -199
  445. package/src/components/select/SelectMultiple.stories.tsx +0 -315
  446. package/src/components/select/SelectMultiple.test.tsx +0 -215
  447. package/src/components/select/SelectMultiple.tsx +0 -206
  448. package/src/components/select/WithSelectContext.tsx +0 -147
  449. package/src/components/select/constants.ts +0 -55
  450. package/src/components/select/index.ts +0 -2
  451. package/src/components/side-navigation/SideNavigation.stories.tsx +0 -191
  452. package/src/components/side-navigation/SideNavigation.test.tsx +0 -39
  453. package/src/components/side-navigation/SideNavigation.tsx +0 -52
  454. package/src/components/side-navigation/SideNavigationItem.stories.tsx +0 -133
  455. package/src/components/side-navigation/SideNavigationItem.test.tsx +0 -138
  456. package/src/components/side-navigation/SideNavigationItem.tsx +0 -170
  457. package/src/components/side-navigation/index.ts +0 -2
  458. package/src/components/skeleton/SkeletonCircle.stories.tsx +0 -41
  459. package/src/components/skeleton/SkeletonCircle.test.tsx +0 -29
  460. package/src/components/skeleton/SkeletonCircle.tsx +0 -54
  461. package/src/components/skeleton/SkeletonRectangle.stories.tsx +0 -82
  462. package/src/components/skeleton/SkeletonRectangle.test.tsx +0 -29
  463. package/src/components/skeleton/SkeletonRectangle.tsx +0 -90
  464. package/src/components/skeleton/SkeletonTypography.stories.tsx +0 -21
  465. package/src/components/skeleton/SkeletonTypography.test.tsx +0 -29
  466. package/src/components/skeleton/SkeletonTypography.tsx +0 -59
  467. package/src/components/skeleton/index.ts +0 -3
  468. package/src/components/slider/Slider.stories.tsx +0 -45
  469. package/src/components/slider/Slider.test.tsx +0 -31
  470. package/src/components/slider/Slider.tsx +0 -299
  471. package/src/components/slider/index.ts +0 -2
  472. package/src/components/slideshow/Slides.tsx +0 -130
  473. package/src/components/slideshow/Slideshow.stories.tsx +0 -180
  474. package/src/components/slideshow/Slideshow.test.tsx +0 -37
  475. package/src/components/slideshow/Slideshow.tsx +0 -173
  476. package/src/components/slideshow/SlideshowControls.stories.tsx +0 -102
  477. package/src/components/slideshow/SlideshowControls.tsx +0 -243
  478. package/src/components/slideshow/SlideshowItem.tsx +0 -46
  479. package/src/components/slideshow/SlideshowItemGroup.tsx +0 -60
  480. package/src/components/slideshow/constants.ts +0 -24
  481. package/src/components/slideshow/index.ts +0 -4
  482. package/src/components/slideshow/useKeyNavigate.ts +0 -28
  483. package/src/components/slideshow/usePaginationVisibleRange.ts +0 -37
  484. package/src/components/slideshow/useSlideFocusManagement.tsx +0 -92
  485. package/src/components/slideshow/useSwipeNavigate.ts +0 -18
  486. package/src/components/switch/Switch.stories.tsx +0 -49
  487. package/src/components/switch/Switch.test.tsx +0 -146
  488. package/src/components/switch/Switch.tsx +0 -145
  489. package/src/components/switch/index.ts +0 -1
  490. package/src/components/table/Table.test.tsx +0 -31
  491. package/src/components/table/Table.tsx +0 -61
  492. package/src/components/table/TableBody.test.tsx +0 -32
  493. package/src/components/table/TableBody.tsx +0 -44
  494. package/src/components/table/TableCell.test.tsx +0 -74
  495. package/src/components/table/TableCell.tsx +0 -132
  496. package/src/components/table/TableHeader.test.tsx +0 -32
  497. package/src/components/table/TableHeader.tsx +0 -50
  498. package/src/components/table/TableRow.test.tsx +0 -42
  499. package/src/components/table/TableRow.tsx +0 -73
  500. package/src/components/table/index.ts +0 -5
  501. package/src/components/tabs/Tab.test.tsx +0 -52
  502. package/src/components/tabs/Tab.tsx +0 -133
  503. package/src/components/tabs/TabList.test.tsx +0 -51
  504. package/src/components/tabs/TabList.tsx +0 -94
  505. package/src/components/tabs/TabPanel.test.tsx +0 -39
  506. package/src/components/tabs/TabPanel.tsx +0 -69
  507. package/src/components/tabs/TabProvider.test.tsx +0 -163
  508. package/src/components/tabs/TabProvider.tsx +0 -67
  509. package/src/components/tabs/Tabs.stories.tsx +0 -170
  510. package/src/components/tabs/index.ts +0 -4
  511. package/src/components/tabs/state.ts +0 -114
  512. package/src/components/tabs/test-utils.ts +0 -39
  513. package/src/components/text/Text.stories.tsx +0 -177
  514. package/src/components/text/Text.test.tsx +0 -94
  515. package/src/components/text/Text.tsx +0 -141
  516. package/src/components/text/index.ts +0 -1
  517. package/src/components/text-field/TextField.stories.tsx +0 -180
  518. package/src/components/text-field/TextField.test.tsx +0 -299
  519. package/src/components/text-field/TextField.tsx +0 -493
  520. package/src/components/text-field/index.ts +0 -1
  521. package/src/components/thumbnail/Thumbnail.stories.tsx +0 -448
  522. package/src/components/thumbnail/Thumbnail.test.tsx +0 -66
  523. package/src/components/thumbnail/Thumbnail.tsx +0 -248
  524. package/src/components/thumbnail/index.ts +0 -3
  525. package/src/components/thumbnail/types.ts +0 -48
  526. package/src/components/thumbnail/useFocusPointStyle.test.ts +0 -92
  527. package/src/components/thumbnail/useFocusPointStyle.tsx +0 -107
  528. package/src/components/thumbnail/useImageLoad.ts +0 -40
  529. package/src/components/toolbar/Toolbar.tsx +0 -68
  530. package/src/components/toolbar/index.ts +0 -1
  531. package/src/components/tooltip/Tooltip.stories.tsx +0 -117
  532. package/src/components/tooltip/Tooltip.test.tsx +0 -411
  533. package/src/components/tooltip/Tooltip.tsx +0 -165
  534. package/src/components/tooltip/constants.ts +0 -8
  535. package/src/components/tooltip/context.tsx +0 -17
  536. package/src/components/tooltip/index.ts +0 -1
  537. package/src/components/tooltip/useInjectTooltipRef.tsx +0 -55
  538. package/src/components/tooltip/useTooltipOpen.tsx +0 -143
  539. package/src/components/uploader/Uploader.stories.tsx +0 -109
  540. package/src/components/uploader/Uploader.test.tsx +0 -148
  541. package/src/components/uploader/Uploader.tsx +0 -177
  542. package/src/components/uploader/index.ts +0 -1
  543. package/src/components/user-block/UserBlock.stories.tsx +0 -135
  544. package/src/components/user-block/UserBlock.test.tsx +0 -108
  545. package/src/components/user-block/UserBlock.tsx +0 -193
  546. package/src/components/user-block/index.ts +0 -1
  547. package/src/constants.ts +0 -27
  548. package/src/hooks/useBooleanState.tsx +0 -13
  549. package/src/hooks/useCallbackOnEscape.ts +0 -34
  550. package/src/hooks/useChipGroupNavigation.tsx +0 -75
  551. package/src/hooks/useClickAway.tsx +0 -48
  552. package/src/hooks/useDisableBodyScroll.ts +0 -28
  553. package/src/hooks/useEventCallback.tsx +0 -17
  554. package/src/hooks/useFocus.tsx +0 -21
  555. package/src/hooks/useFocusTrap.ts +0 -93
  556. package/src/hooks/useFocusWithin.ts +0 -33
  557. package/src/hooks/useId.test.tsx +0 -23
  558. package/src/hooks/useId.ts +0 -15
  559. package/src/hooks/useImageSize.ts +0 -17
  560. package/src/hooks/useInfiniteScroll.tsx +0 -60
  561. package/src/hooks/useIntersectionObserver.tsx +0 -43
  562. package/src/hooks/useInterval.tsx +0 -31
  563. package/src/hooks/useKeyboardListNavigation.tsx +0 -204
  564. package/src/hooks/useListenFocus.tsx +0 -26
  565. package/src/hooks/useOverflowTooltipLabel.tsx +0 -32
  566. package/src/hooks/usePopper.ts +0 -12
  567. package/src/hooks/usePreviousValue.ts +0 -13
  568. package/src/hooks/useRovingTabIndex.tsx +0 -90
  569. package/src/hooks/useSizeOnWindowResize.ts +0 -30
  570. package/src/hooks/useSlideshowControls.ts +0 -246
  571. package/src/hooks/useStopPropagation.ts +0 -21
  572. package/src/hooks/useTransitionVisibility.ts +0 -48
  573. package/src/index.ts +0 -63
  574. package/src/stories/controls/color.ts +0 -7
  575. package/src/stories/controls/element.ts +0 -6
  576. package/src/stories/controls/focusPoint.ts +0 -1
  577. package/src/stories/controls/icons.ts +0 -126
  578. package/src/stories/controls/image.ts +0 -84
  579. package/src/stories/controls/selectArgType.ts +0 -8
  580. package/src/stories/controls/theme.ts +0 -3
  581. package/src/stories/controls/typography.ts +0 -5
  582. package/src/stories/controls/withUndefined.ts +0 -1
  583. package/src/stories/decorators/withChromaticForceScreenSize.tsx +0 -8
  584. package/src/stories/decorators/withCombinations.tsx +0 -132
  585. package/src/stories/decorators/withNestedProps.tsx +0 -23
  586. package/src/stories/decorators/withResizableBox.tsx +0 -21
  587. package/src/stories/decorators/withThemedBackground.tsx +0 -18
  588. package/src/stories/decorators/withValueOnChange.tsx +0 -18
  589. package/src/stories/decorators/withWrapper.tsx +0 -21
  590. package/src/stories/generated/Autocomplete/Demos.stories.tsx +0 -7
  591. package/src/stories/generated/Avatar/Demos.stories.tsx +0 -7
  592. package/src/stories/generated/Badge/Demos.stories.tsx +0 -9
  593. package/src/stories/generated/Button/Demos.stories.tsx +0 -11
  594. package/src/stories/generated/Checkbox/Demos.stories.tsx +0 -6
  595. package/src/stories/generated/Chip/Demos.stories.tsx +0 -11
  596. package/src/stories/generated/CommentBlock/Demos.stories.tsx +0 -8
  597. package/src/stories/generated/DatePicker/Demos.stories.tsx +0 -8
  598. package/src/stories/generated/Dialog/Demos.stories.tsx +0 -10
  599. package/src/stories/generated/Divider/Demos.stories.tsx +0 -6
  600. package/src/stories/generated/Dropdown/Demos.stories.tsx +0 -8
  601. package/src/stories/generated/ExpansionPanel/Demos.stories.tsx +0 -9
  602. package/src/stories/generated/Flag/Demos.stories.tsx +0 -6
  603. package/src/stories/generated/GenericBlock/Demos.stories.tsx +0 -8
  604. package/src/stories/generated/Heading/Demos.stories.tsx +0 -6
  605. package/src/stories/generated/Icon/Demos.stories.tsx +0 -8
  606. package/src/stories/generated/ImageBlock/Demos.stories.tsx +0 -9
  607. package/src/stories/generated/ImageLightbox/Demos.stories.tsx +0 -6
  608. package/src/stories/generated/Lightbox/Demos.stories.tsx +0 -6
  609. package/src/stories/generated/LinkPreview/Demos.stories.tsx +0 -7
  610. package/src/stories/generated/List/Demos.stories.tsx +0 -11
  611. package/src/stories/generated/Message/Demos.stories.tsx +0 -11
  612. package/src/stories/generated/Mosaic/Demos.stories.tsx +0 -10
  613. package/src/stories/generated/Notification/Demos.stories.tsx +0 -6
  614. package/src/stories/generated/Popover/Demos.stories.tsx +0 -11
  615. package/src/stories/generated/PopoverDialog/Demos.stories.tsx +0 -6
  616. package/src/stories/generated/PostBlock/Demos.stories.tsx +0 -6
  617. package/src/stories/generated/Progress/Demos.stories.tsx +0 -7
  618. package/src/stories/generated/ProgressTracker/Demos.stories.tsx +0 -9
  619. package/src/stories/generated/RadioButton/Demos.stories.tsx +0 -6
  620. package/src/stories/generated/Select/Demos.stories.tsx +0 -14
  621. package/src/stories/generated/SideNavigation/Demos.stories.tsx +0 -10
  622. package/src/stories/generated/Skeleton/Demos.stories.tsx +0 -9
  623. package/src/stories/generated/Slider/Demos.stories.tsx +0 -9
  624. package/src/stories/generated/Slideshow/Demos.stories.tsx +0 -8
  625. package/src/stories/generated/Switch/Demos.stories.tsx +0 -6
  626. package/src/stories/generated/Table/Demos.stories.tsx +0 -7
  627. package/src/stories/generated/Tabs/Demos.stories.tsx +0 -8
  628. package/src/stories/generated/TextField/Demos.stories.tsx +0 -20
  629. package/src/stories/generated/Thumbnail/Demos.stories.tsx +0 -12
  630. package/src/stories/generated/Toolbar/Demos.stories.tsx +0 -10
  631. package/src/stories/generated/Tooltip/Demos.stories.tsx +0 -8
  632. package/src/stories/generated/Uploader/Demos.stories.tsx +0 -8
  633. package/src/stories/generated/UserBlock/Demos.stories.tsx +0 -11
  634. package/src/stories/utils/CustomLink.tsx +0 -13
  635. package/src/stories/utils/concatPath.tsx +0 -17
  636. package/src/stories/utils/disableArgTypes.ts +0 -3
  637. package/src/stories/utils/initDemoShadowDOMPortal.ts +0 -10
  638. package/src/stories/utils/lorem.ts +0 -59
  639. package/src/stories/utils/theming.tsx +0 -166
  640. package/src/stories/utils/toFlattenProps.ts +0 -28
  641. package/src/stories/utils/withCategory.ts +0 -12
  642. package/src/testing/utils/ThemeSentinel.tsx +0 -11
  643. package/src/testing/utils/commonTestsSuiteRTL.tsx +0 -193
  644. package/src/testing/utils/index.ts +0 -1
  645. package/src/testing/utils/queries.ts +0 -19
  646. package/src/untypped-modules.d.ts +0 -5
  647. package/src/utils/ClickAwayProvider/ClickAwayProvider.stories.jsx +0 -70
  648. package/src/utils/ClickAwayProvider/ClickAwayProvider.tsx +0 -69
  649. package/src/utils/ClickAwayProvider/index.ts +0 -1
  650. package/src/utils/MaterialThemeSwitcher/MaterialThemeSwitcher.tsx +0 -54
  651. package/src/utils/MaterialThemeSwitcher/index.ts +0 -1
  652. package/src/utils/Portal/Portal.test.tsx +0 -32
  653. package/src/utils/Portal/Portal.tsx +0 -33
  654. package/src/utils/Portal/PortalProvider.stories.jsx +0 -23
  655. package/src/utils/Portal/PortalProvider.test.tsx +0 -73
  656. package/src/utils/Portal/PortalProvider.tsx +0 -24
  657. package/src/utils/Portal/index.tsx +0 -2
  658. package/src/utils/browser/DOM/findImage.tsx +0 -3
  659. package/src/utils/browser/DOM/startViewTransition.ts +0 -68
  660. package/src/utils/browser/focus/constants.ts +0 -7
  661. package/src/utils/browser/focus/getFirstAndLastFocusable.test.ts +0 -134
  662. package/src/utils/browser/focus/getFirstAndLastFocusable.ts +0 -21
  663. package/src/utils/browser/focus/getFocusableElements.test.ts +0 -151
  664. package/src/utils/browser/focus/getFocusableElements.ts +0 -7
  665. package/src/utils/browser/isFocusVisible.ts +0 -9
  666. package/src/utils/browser/isHoverNotSupported.test.js +0 -24
  667. package/src/utils/browser/isHoverNotSupported.ts +0 -2
  668. package/src/utils/browser/isReducedMotion.ts +0 -6
  669. package/src/utils/date/addMonthResetDay.test.ts +0 -13
  670. package/src/utils/date/addMonthResetDay.ts +0 -9
  671. package/src/utils/date/formatDayNumber.test.ts +0 -12
  672. package/src/utils/date/formatDayNumber.ts +0 -5
  673. package/src/utils/date/getFirstDayOfWeek.test.ts +0 -20
  674. package/src/utils/date/getFirstDayOfWeek.ts +0 -59
  675. package/src/utils/date/getMonthCalendar.test.ts +0 -127
  676. package/src/utils/date/getMonthCalendar.ts +0 -69
  677. package/src/utils/date/getWeekDays.test.ts +0 -48
  678. package/src/utils/date/getWeekDays.ts +0 -34
  679. package/src/utils/date/getYearDisplayName.test.ts +0 -20
  680. package/src/utils/date/getYearDisplayName.ts +0 -12
  681. package/src/utils/date/isDateValid.test.ts +0 -15
  682. package/src/utils/date/isDateValid.ts +0 -4
  683. package/src/utils/date/isSameDay.test.ts +0 -37
  684. package/src/utils/date/isSameDay.ts +0 -11
  685. package/src/utils/disabled/DisabledStateContext.tsx +0 -29
  686. package/src/utils/disabled/DisabledStateProvider.stories.tsx +0 -94
  687. package/src/utils/disabled/index.ts +0 -2
  688. package/src/utils/disabled/useDisableStateProps.test.tsx +0 -74
  689. package/src/utils/disabled/useDisableStateProps.tsx +0 -37
  690. package/src/utils/function/makeListenerTowerContext.ts +0 -32
  691. package/src/utils/index.ts +0 -7
  692. package/src/utils/locale/getCurrentLocale.ts +0 -4
  693. package/src/utils/locale/parseLocale.test.ts +0 -17
  694. package/src/utils/locale/parseLocale.ts +0 -23
  695. package/src/utils/locale/types.ts +0 -8
  696. package/src/utils/number/clamp.ts +0 -17
  697. package/src/utils/object/isEqual.test.ts +0 -25
  698. package/src/utils/object/isEqual.ts +0 -11
  699. package/src/utils/partitionMulti.test.ts +0 -27
  700. package/src/utils/react/OnBeforeUnmount.tsx +0 -20
  701. package/src/utils/react/flattenChildren.ts +0 -32
  702. package/src/utils/react/forwardRef.ts +0 -11
  703. package/src/utils/react/forwardRefPolymorphic.ts +0 -9
  704. package/src/utils/react/mergeRefs.ts +0 -33
  705. package/src/utils/react/renderButtonOrLink.tsx +0 -16
  706. package/src/utils/react/renderLink.tsx +0 -17
  707. package/src/utils/react/skipRender.tsx +0 -18
  708. package/src/utils/react/unref.ts +0 -7
  709. package/src/utils/react/wrapChildrenIconWithSpaces.test.tsx +0 -37
  710. package/src/utils/react/wrapChildrenIconWithSpaces.tsx +0 -22
  711. package/src/utils/theme/ThemeContext.ts +0 -16
  712. package/src/utils/theme/invertTheme.ts +0 -4
  713. package/src/utils/type/Comp.ts +0 -14
  714. package/src/utils/type/ComponentRef.ts +0 -16
  715. package/src/utils/type/HasAriaDisabled.ts +0 -6
  716. package/src/utils/type/HasPolymorphicAs.ts +0 -8
  717. package/src/utils/type/MaybeElementOrRef.ts +0 -6
  718. package/src/utils/type/index.ts +0 -8
  719. package/src/utils/type/isComponent.ts +0 -33
  720. package/src/utils/type/isComponentType.ts +0 -9
  721. /package/_internal/{Falsy.d.ts → d95844c1.d.ts} +0 -0
@@ -1,117 +0,0 @@
1
- import { Button, Dialog, Dropdown, Placement, Tooltip } from '@lumx/react';
2
- import React, { useState } from 'react';
3
- import { getSelectArgType } from '@lumx/react/stories/controls/selectArgType';
4
- import { withChromaticForceScreenSize } from '@lumx/react/stories/decorators/withChromaticForceScreenSize';
5
- import { ARIA_LINK_MODES } from '@lumx/react/components/tooltip/constants';
6
-
7
- const placements = [Placement.TOP, Placement.BOTTOM, Placement.RIGHT, Placement.LEFT];
8
- const CLOSE_MODES = ['hide', 'unmount'];
9
-
10
- export default {
11
- title: 'LumX components/tooltip/Tooltip',
12
- component: Tooltip,
13
- args: Tooltip.defaultProps,
14
- argTypes: {
15
- placement: getSelectArgType(placements),
16
- children: { control: false },
17
- closeMode: { control: { type: 'inline-radio' }, options: CLOSE_MODES },
18
- ariaLinkMode: { control: { type: 'inline-radio' }, options: ARIA_LINK_MODES },
19
- },
20
- decorators: [
21
- // Force minimum chromatic screen size to make sure the dialog appears in view.
22
- withChromaticForceScreenSize(),
23
- ],
24
- };
25
-
26
- /** Simple tooltip on a button*/
27
- export const OnAButton = {
28
- args: {
29
- label: 'Tooltip label',
30
- children: <Button>Button</Button>,
31
- },
32
- };
33
-
34
- /** Simple tooltip on a button*/
35
- export const OnADisabledButton = {
36
- args: {
37
- ...OnAButton.args,
38
- children: <Button isDisabled>Button</Button>,
39
- },
40
- };
41
-
42
- /** Forcing the tooltip to appear */
43
- export const ForceOpen = {
44
- args: {
45
- ...OnAButton.args,
46
- forceOpen: true,
47
- },
48
- };
49
-
50
- /** Hide on close instead of unmounting */
51
- export const CloseModeHide = {
52
- args: {
53
- ...OnAButton.args,
54
- closeMode: 'hide',
55
- },
56
- };
57
-
58
- /** Display a multiline tooltip */
59
- export const MultilineTooltip = {
60
- args: {
61
- ...OnAButton.args,
62
- label: 'First sentence.\nSecond sentence.\nThird sentence.\n',
63
- },
64
- };
65
-
66
- /** Tooltip should hide when a dropdown opens */
67
- export const TooltipWithDropdown = (props: any) => {
68
- const [button, setButton] = useState<HTMLElement | null>(null);
69
- const [isOpen, setOpen] = useState(false);
70
- return (
71
- <>
72
- <br />
73
- <Tooltip label={!isOpen && 'Tooltip'} {...props} placement="top">
74
- <Button ref={setButton} onClick={() => setOpen((o) => !o)}>
75
- Anchor
76
- </Button>
77
- </Tooltip>
78
- <Dropdown anchorRef={{ current: button }} isOpen={isOpen} onClose={() => setOpen(false)}>
79
- Dropdown
80
- </Dropdown>
81
- </>
82
- );
83
- };
84
-
85
- /** Tooltip should hide when the anchor is hidden */
86
- export const HideTooltipOnHiddenAnchor = () => {
87
- const [isOpen, setOpen] = useState(false);
88
- return (
89
- <>
90
- The tooltip should show when the button is hovered but it should disappear when the dialog get in-between
91
- the mouse and the button
92
- <br />
93
- <Tooltip label="Tooltip label">
94
- <Button onClick={() => setOpen((wasOpen) => !wasOpen)}>Open dialog</Button>
95
- </Tooltip>
96
- <Dialog isOpen={isOpen} onClose={() => setOpen(false)}>
97
- Dialog
98
- </Dialog>
99
- </>
100
- );
101
- };
102
- HideTooltipOnHiddenAnchor.parameters = { chromatic: { disableSnapshot: true } };
103
-
104
- /** Test focusing a tooltip anchor programmatically */
105
- export const TestProgrammaticFocus = () => {
106
- const anchorRef = React.useRef<HTMLButtonElement>(null);
107
- return (
108
- <>
109
- <p>The tooltip should open on keyboard focus but not on programmatic focus (ex: after a click)</p>
110
- <Tooltip label="label">
111
- <Button ref={anchorRef}>button with label</Button>
112
- </Tooltip>
113
- <Button onClick={() => anchorRef.current?.focus()}>focus the button</Button>
114
- </>
115
- );
116
- };
117
- TestProgrammaticFocus.parameters = { chromatic: { disableSnapshot: true } };
@@ -1,411 +0,0 @@
1
- import React from 'react';
2
-
3
- import { Button } from '@lumx/react';
4
- import { screen, render } from '@testing-library/react';
5
- import { queryAllByTagName, queryByClassName } from '@lumx/react/testing/utils/queries';
6
- import { commonTestsSuiteRTL } from '@lumx/react/testing/utils';
7
- import userEvent from '@testing-library/user-event';
8
- import { isFocusVisible } from '@lumx/react/utils/browser/isFocusVisible';
9
- import { VISUALLY_HIDDEN } from '@lumx/react/constants';
10
-
11
- import { Tooltip, TooltipProps } from './Tooltip';
12
-
13
- const CLASSNAME = Tooltip.className as string;
14
-
15
- jest.mock('@lumx/react/utils/browser/isFocusVisible');
16
- jest.mock('@lumx/react/hooks/useId', () => ({ useId: () => ':r1:' }));
17
- // Skip delays
18
- jest.mock('@lumx/react/constants', () => ({
19
- ...jest.requireActual('@lumx/react/constants'),
20
- TOOLTIP_HOVER_DELAY: { open: 0, close: 0 },
21
- }));
22
-
23
- /**
24
- * Mounts the component and returns common DOM elements / data needed in multiple tests further down.
25
- */
26
- const setup = async (propsOverride: Partial<TooltipProps> = {}) => {
27
- const props: any = { forceOpen: true, label: 'Tooltip label', children: 'Anchor', ...propsOverride };
28
- const result = render(<Tooltip {...props} />);
29
- const tooltip = screen.queryByRole('tooltip');
30
- const anchorWrapper = queryByClassName(document.body, 'lumx-tooltip-anchor-wrapper');
31
- return { props, tooltip, anchorWrapper, result };
32
- };
33
-
34
- describe(`<${Tooltip.displayName}>`, () => {
35
- describe('render', () => {
36
- it('should not render with empty label', async () => {
37
- const { tooltip, anchorWrapper } = await setup({
38
- label: undefined,
39
- forceOpen: true,
40
- });
41
- expect(tooltip).not.toBeInTheDocument();
42
- expect(anchorWrapper).not.toBeInTheDocument();
43
- });
44
-
45
- it('should wrap unknown children', async () => {
46
- const { tooltip, anchorWrapper } = await setup({
47
- label: 'Tooltip label',
48
- children: 'Anchor',
49
- forceOpen: true,
50
- });
51
- expect(tooltip).toBeInTheDocument();
52
- // Default placement
53
- expect(tooltip).toHaveAttribute('data-popper-placement', 'bottom');
54
- expect(anchorWrapper).toBeInTheDocument();
55
- });
56
-
57
- it('should render with custom placement', async () => {
58
- const { tooltip } = await setup({
59
- label: 'Tooltip label',
60
- children: 'Anchor',
61
- forceOpen: true,
62
- placement: 'top',
63
- });
64
- // Custom placement
65
- expect(tooltip).toHaveAttribute('data-popper-placement', 'top');
66
- });
67
-
68
- it('should not wrap Button', async () => {
69
- const { tooltip, anchorWrapper } = await setup({
70
- label: 'Tooltip label',
71
- children: <Button>Anchor</Button>,
72
- forceOpen: true,
73
- });
74
- expect(tooltip).toBeInTheDocument();
75
- expect(anchorWrapper).not.toBeInTheDocument();
76
- const button = screen.queryByRole('button', { name: 'Anchor' });
77
- expect(button).toHaveAttribute('aria-describedby', tooltip?.id);
78
- });
79
-
80
- it('should wrap disabled Button', async () => {
81
- const { tooltip, anchorWrapper } = await setup({
82
- label: 'Tooltip label',
83
- children: <Button isDisabled>Anchor</Button>,
84
- forceOpen: true,
85
- });
86
- expect(tooltip).toBeInTheDocument();
87
- expect(anchorWrapper).toBeInTheDocument();
88
- expect(anchorWrapper).toHaveAttribute('aria-describedby', tooltip?.id);
89
- const button = screen.queryByRole('button', { name: 'Anchor' });
90
- expect(button?.parentElement).toBe(anchorWrapper);
91
- });
92
-
93
- it('should render multiline', async () => {
94
- const { tooltip } = await setup({
95
- label: 'First line\nSecond line',
96
- forceOpen: true,
97
- });
98
- expect(tooltip).toBeInTheDocument();
99
- const lines = queryAllByTagName(tooltip as any, 'p');
100
- expect(lines.length).toBe(2);
101
- expect(lines[0]).toHaveTextContent('First line');
102
- expect(lines[1]).toHaveTextContent('Second line');
103
- });
104
-
105
- it('should have a stable ref', async () => {
106
- const ref = React.createRef() as any;
107
-
108
- // Render without a label
109
- const result = render(
110
- <Tooltip label="">
111
- <span ref={ref}>some text</span>
112
- </Tooltip>,
113
- );
114
- const element = ref.current;
115
- expect(element).not.toBeFalsy();
116
-
117
- // Re-render with a label
118
- result.rerender(
119
- <Tooltip label="Some tooltip">
120
- <span ref={ref}>some updated text</span>
121
- </Tooltip>,
122
- );
123
- // Children ref is stable
124
- expect(ref.current === element).toBe(true);
125
- });
126
-
127
- describe('closeMode="hide"', () => {
128
- it('should not render with empty label', async () => {
129
- const { tooltip, anchorWrapper } = await setup({
130
- label: undefined,
131
- forceOpen: true,
132
- closeMode: 'hide',
133
- });
134
- expect(tooltip).not.toBeInTheDocument();
135
- expect(anchorWrapper).not.toBeInTheDocument();
136
- });
137
-
138
- it('should render hidden', async () => {
139
- const { tooltip } = await setup({
140
- label: 'Tooltip label',
141
- children: <Button>Anchor</Button>,
142
- closeMode: 'hide',
143
- forceOpen: false,
144
- });
145
- expect(tooltip).toBeInTheDocument();
146
- expect(tooltip).toHaveClass(VISUALLY_HIDDEN);
147
- // Popper styles should not be applied when closed.
148
- expect(tooltip?.style?.transform).toBe('');
149
-
150
- const anchor = screen.getByRole('button', { name: 'Anchor' });
151
- await userEvent.hover(anchor);
152
- expect(tooltip).not.toHaveClass(VISUALLY_HIDDEN);
153
- });
154
- });
155
-
156
- describe('ariaLinkMode="aria-describedby"', () => {
157
- it('should add aria-describedby on anchor on open', async () => {
158
- await setup({
159
- label: 'Tooltip label',
160
- forceOpen: false,
161
- children: <Button aria-describedby=":description1:">Anchor</Button>,
162
- });
163
- const anchor = screen.getByRole('button', { name: 'Anchor' });
164
- expect(anchor).toHaveAttribute('aria-describedby', ':description1:');
165
-
166
- await userEvent.hover(anchor);
167
- const tooltip = screen.queryByRole('tooltip');
168
- expect(anchor).toHaveAttribute('aria-describedby', `:description1: ${tooltip?.id}`);
169
- });
170
-
171
- it('should always add aria-describedby on anchor with closeMode="hide"', async () => {
172
- const { tooltip } = await setup({
173
- label: 'Tooltip label',
174
- forceOpen: false,
175
- children: <Button aria-describedby=":description1:">Anchor</Button>,
176
- closeMode: 'hide',
177
- });
178
- const anchor = screen.getByRole('button', { name: 'Anchor' });
179
- expect(anchor).toHaveAttribute('aria-describedby', `:description1: ${tooltip?.id}`);
180
- });
181
-
182
- it('should skip aria-describedby if anchor has label', async () => {
183
- const { tooltip } = await setup({
184
- label: 'Tooltip label',
185
- forceOpen: true,
186
- children: (
187
- <Button aria-describedby=":description1:" aria-label="Tooltip label">
188
- Anchor
189
- </Button>
190
- ),
191
- });
192
- expect(tooltip).toBeInTheDocument();
193
- expect(screen.getByRole('button')).toHaveAttribute('aria-describedby', `:description1:`);
194
- });
195
-
196
- it('should add aria-describedby on anchor wrapper on open', async () => {
197
- const { anchorWrapper } = await setup({
198
- label: 'Tooltip label',
199
- forceOpen: false,
200
- children: 'Anchor',
201
- });
202
- expect(anchorWrapper).not.toHaveAttribute('aria-describedby');
203
-
204
- await userEvent.hover(anchorWrapper as any);
205
- const tooltip = screen.queryByRole('tooltip');
206
- expect(anchorWrapper).toHaveAttribute('aria-describedby', tooltip?.id);
207
- });
208
-
209
- it('should always add aria-describedby on anchor wrapper with closeMode="hide"', async () => {
210
- const { tooltip, anchorWrapper } = await setup({
211
- label: 'Tooltip label',
212
- forceOpen: false,
213
- children: 'Anchor',
214
- closeMode: 'hide',
215
- });
216
- expect(anchorWrapper).toHaveAttribute('aria-describedby', `${tooltip?.id}`);
217
- });
218
- });
219
-
220
- describe('ariaLinkMode="aria-labelledby"', () => {
221
- it('should add aria-labelledby on anchor on open', async () => {
222
- await setup({
223
- label: 'Tooltip label',
224
- forceOpen: false,
225
- children: <Button aria-labelledby=":label1:">Anchor</Button>,
226
- ariaLinkMode: 'aria-labelledby',
227
- });
228
- const anchor = screen.getByRole('button', { name: 'Anchor' });
229
- expect(anchor).toHaveAttribute('aria-labelledby', ':label1:');
230
-
231
- await userEvent.hover(anchor);
232
- const tooltip = screen.queryByRole('tooltip');
233
- expect(anchor).toHaveAttribute('aria-labelledby', `:label1: ${tooltip?.id}`);
234
- });
235
-
236
- it('should always add aria-labelledby on anchor with closeMode="hide"', async () => {
237
- const label = 'Tooltip label';
238
- const { tooltip } = await setup({
239
- label,
240
- forceOpen: false,
241
- children: <Button aria-labelledby=":label1:">Anchor</Button>,
242
- ariaLinkMode: 'aria-labelledby',
243
- closeMode: 'hide',
244
- });
245
- const anchor = screen.queryByRole('button', { name: label });
246
- expect(anchor).toBeInTheDocument();
247
- expect(anchor).toHaveAttribute('aria-labelledby', `:label1: ${tooltip?.id}`);
248
- });
249
-
250
- it('should skip aria-labelledby if anchor has label', async () => {
251
- const { tooltip } = await setup({
252
- label: 'Tooltip label',
253
- forceOpen: true,
254
- children: (
255
- <Button aria-labelledby=":label1:" aria-label="Tooltip label">
256
- Anchor
257
- </Button>
258
- ),
259
- ariaLinkMode: 'aria-labelledby',
260
- });
261
- expect(tooltip).toBeInTheDocument();
262
- expect(screen.getByRole('button')).toHaveAttribute('aria-labelledby', `:label1:`);
263
- });
264
-
265
- it('should add aria-labelledby on anchor wrapper on open', async () => {
266
- const { anchorWrapper } = await setup({
267
- label: 'Tooltip label',
268
- forceOpen: false,
269
- children: 'Anchor',
270
- ariaLinkMode: 'aria-labelledby',
271
- });
272
- expect(anchorWrapper).not.toHaveAttribute('aria-labelledby');
273
-
274
- await userEvent.hover(anchorWrapper as any);
275
- const tooltip = screen.queryByRole('tooltip');
276
- expect(anchorWrapper).toHaveAttribute('aria-labelledby', tooltip?.id);
277
- });
278
-
279
- it('should always add aria-labelledby on anchor wrapper with closeMode="hide"', async () => {
280
- const { tooltip, anchorWrapper } = await setup({
281
- label: 'Tooltip label',
282
- forceOpen: false,
283
- children: 'Anchor',
284
- ariaLinkMode: 'aria-labelledby',
285
- closeMode: 'hide',
286
- });
287
- expect(anchorWrapper).toHaveAttribute('aria-labelledby', `${tooltip?.id}`);
288
- });
289
- });
290
- });
291
-
292
- describe('activation', () => {
293
- it('should activate on anchor hover', async () => {
294
- let { tooltip } = await setup({
295
- label: 'Tooltip label',
296
- children: <Button>Anchor</Button>,
297
- forceOpen: false,
298
- });
299
-
300
- expect(tooltip).not.toBeInTheDocument();
301
-
302
- // Hover anchor button
303
- const button = screen.getByRole('button', { name: 'Anchor' });
304
- await userEvent.hover(button);
305
-
306
- // Tooltip opened
307
- tooltip = await screen.findByRole('tooltip', { name: 'Tooltip label' });
308
- expect(tooltip).toBeInTheDocument();
309
-
310
- // Un-hover anchor button
311
- await userEvent.unhover(button);
312
-
313
- expect(button).not.toHaveFocus();
314
- // Tooltip closed
315
- expect(tooltip).not.toBeInTheDocument();
316
- });
317
-
318
- it('should activate on hover anchor and then tooltip', async () => {
319
- let { tooltip } = await setup({
320
- label: 'Tooltip label',
321
- children: <Button>Anchor</Button>,
322
- forceOpen: false,
323
- });
324
-
325
- expect(tooltip).not.toBeInTheDocument();
326
-
327
- // Hover anchor button
328
- const button = screen.getByRole('button', { name: 'Anchor' });
329
- await userEvent.hover(button);
330
-
331
- // Tooltip opened
332
- tooltip = await screen.findByRole('tooltip', { name: 'Tooltip label' });
333
- expect(tooltip).toBeInTheDocument();
334
- expect(button).toHaveAttribute('aria-describedby', tooltip?.id);
335
-
336
- // Hover tooltip
337
- await userEvent.hover(tooltip);
338
- expect(tooltip).toBeInTheDocument();
339
- expect(button).toHaveAttribute('aria-describedby', tooltip?.id);
340
-
341
- // Un-hover tooltip
342
- await userEvent.unhover(tooltip);
343
- expect(button).not.toHaveFocus();
344
- // Tooltip closed
345
- expect(tooltip).not.toBeInTheDocument();
346
- });
347
-
348
- it('should activate on anchor focus visible and close on escape', async () => {
349
- (isFocusVisible as jest.Mock).mockReturnValue(true);
350
- let { tooltip } = await setup({
351
- label: 'Tooltip label',
352
- children: <Button>Anchor</Button>,
353
- forceOpen: false,
354
- });
355
-
356
- expect(tooltip).not.toBeInTheDocument();
357
-
358
- // Focus anchor button
359
- await userEvent.tab();
360
- const button = screen.getByRole('button', { name: 'Anchor' });
361
- expect(button).toHaveFocus();
362
-
363
- // Tooltip opened
364
- tooltip = await screen.findByRole('tooltip', { name: 'Tooltip label' });
365
- expect(tooltip).toBeInTheDocument();
366
- expect(button).toHaveAttribute('aria-describedby', tooltip?.id);
367
-
368
- // Focus next element => close tooltip
369
- await userEvent.tab();
370
- expect(button).not.toHaveFocus();
371
- expect(tooltip).not.toBeInTheDocument();
372
-
373
- // Focus again
374
- await userEvent.tab({ shift: true });
375
- tooltip = await screen.findByRole('tooltip', { name: 'Tooltip label' });
376
- expect(tooltip).toBeInTheDocument();
377
-
378
- // Escape pressed => close tooltip
379
- await userEvent.keyboard('{Escape}');
380
- expect(tooltip).not.toBeInTheDocument();
381
- });
382
-
383
- it('should not activate on anchor focus if not visible', async () => {
384
- (isFocusVisible as jest.Mock).mockReturnValue(false);
385
- let { tooltip } = await setup({
386
- label: 'Tooltip label',
387
- children: <Button>Anchor</Button>,
388
- forceOpen: false,
389
- });
390
-
391
- expect(tooltip).not.toBeInTheDocument();
392
-
393
- // Focus anchor button
394
- await userEvent.tab();
395
- const button = screen.getByRole('button', { name: 'Anchor' });
396
- expect(button).toHaveFocus();
397
-
398
- // Tooltip not opening
399
- tooltip = screen.queryByRole('tooltip', { name: 'Tooltip label' });
400
- expect(tooltip).not.toBeInTheDocument();
401
- });
402
- });
403
-
404
- // Common tests suite.
405
- commonTestsSuiteRTL(setup, {
406
- baseClassName: CLASSNAME,
407
- forwardClassName: 'tooltip',
408
- forwardAttributes: 'tooltip',
409
- forwardRef: 'tooltip',
410
- });
411
- });
@@ -1,165 +0,0 @@
1
- /* eslint-disable react-hooks/rules-of-hooks */
2
- import React, { ReactNode, useState } from 'react';
3
-
4
- import classNames from 'classnames';
5
-
6
- import { DOCUMENT, VISUALLY_HIDDEN } from '@lumx/react/constants';
7
- import { GenericProps, HasCloseMode } from '@lumx/react/utils/type';
8
- import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
9
- import { useMergeRefs } from '@lumx/react/utils/react/mergeRefs';
10
- import { Placement } from '@lumx/react/components/popover';
11
- import { TooltipContextProvider } from '@lumx/react/components/tooltip/context';
12
- import { useId } from '@lumx/react/hooks/useId';
13
- import { usePopper } from '@lumx/react/hooks/usePopper';
14
- import { forwardRef } from '@lumx/react/utils/react/forwardRef';
15
-
16
- import { ARIA_LINK_MODES, TOOLTIP_ZINDEX } from '@lumx/react/components/tooltip/constants';
17
- import { Portal } from '@lumx/react/utils';
18
- import { useInjectTooltipRef } from './useInjectTooltipRef';
19
- import { useTooltipOpen } from './useTooltipOpen';
20
-
21
- /** Position of the tooltip relative to the anchor element. */
22
- export type TooltipPlacement = Extract<Placement, 'top' | 'right' | 'bottom' | 'left'>;
23
-
24
- /**
25
- * Defines the props of the component.
26
- */
27
- export interface TooltipProps extends GenericProps, HasCloseMode {
28
- /** Anchor (element on which we activate the tooltip). */
29
- children: ReactNode;
30
- /** Delay (in ms) before closing the tooltip. */
31
- delay?: number;
32
- /** Whether the tooltip is displayed even without the mouse hovering the anchor. */
33
- forceOpen?: boolean;
34
- /** Label text. */
35
- label?: string | null | false;
36
- /** Placement of the tooltip relative to the anchor. */
37
- placement?: TooltipPlacement;
38
- /** Choose how the tooltip text should link to the anchor */
39
- ariaLinkMode?: (typeof ARIA_LINK_MODES)[number];
40
- }
41
-
42
- /**
43
- * Component display name.
44
- */
45
- const COMPONENT_NAME = 'Tooltip';
46
-
47
- /**
48
- * Component default class name and class prefix.
49
- */
50
- const CLASSNAME = getRootClassName(COMPONENT_NAME);
51
-
52
- /**
53
- * Component default props.
54
- */
55
- const DEFAULT_PROPS: Partial<TooltipProps> = {
56
- placement: Placement.BOTTOM,
57
- closeMode: 'unmount',
58
- ariaLinkMode: 'aria-describedby',
59
- zIndex: TOOLTIP_ZINDEX,
60
- };
61
-
62
- /**
63
- * Arrow size (in pixel).
64
- */
65
- const ARROW_SIZE = 8;
66
-
67
- /**
68
- * Tooltip component.
69
- *
70
- * @param props Component props.
71
- * @param ref Component ref.
72
- * @return React element.
73
- */
74
- export const Tooltip = forwardRef<TooltipProps, HTMLDivElement>((props, ref) => {
75
- const {
76
- label,
77
- children,
78
- className,
79
- delay,
80
- placement = DEFAULT_PROPS.placement,
81
- forceOpen,
82
- closeMode = DEFAULT_PROPS.closeMode,
83
- ariaLinkMode = DEFAULT_PROPS.ariaLinkMode,
84
- zIndex = DEFAULT_PROPS.zIndex,
85
- ...forwardedProps
86
- } = props;
87
- // Disable in SSR.
88
- if (!DOCUMENT) {
89
- return <>{children}</>;
90
- }
91
-
92
- const id = useId();
93
-
94
- const [popperElement, setPopperElement] = useState<null | HTMLElement>(null);
95
- const [anchorElement, setAnchorElement] = useState<null | HTMLElement>(null);
96
- const { styles, attributes, update } = usePopper(anchorElement, popperElement, {
97
- placement,
98
- modifiers: [
99
- {
100
- name: 'offset',
101
- options: { offset: [0, ARROW_SIZE] },
102
- },
103
- ],
104
- });
105
-
106
- const position = attributes?.popper?.['data-popper-placement'] ?? placement;
107
- const { isOpen: isActivated, onPopperMount } = useTooltipOpen(delay, anchorElement);
108
- const isOpen = (isActivated || forceOpen) && !!label;
109
- const isMounted = !!label && (isOpen || closeMode === 'hide');
110
- const isHidden = !isOpen && closeMode === 'hide';
111
- const wrappedChildren = useInjectTooltipRef({
112
- children,
113
- setAnchorElement,
114
- isMounted,
115
- id,
116
- label,
117
- ariaLinkMode: ariaLinkMode as any,
118
- });
119
-
120
- // Update on open
121
- React.useEffect(() => {
122
- if (isOpen || popperElement) update?.();
123
- }, [isOpen, update, popperElement]);
124
-
125
- const labelLines = label ? label.split('\n') : [];
126
-
127
- const tooltipRef = useMergeRefs(ref, setPopperElement, onPopperMount);
128
-
129
- return (
130
- <>
131
- <TooltipContextProvider>{wrappedChildren}</TooltipContextProvider>
132
- {isMounted && (
133
- <Portal>
134
- <div
135
- ref={tooltipRef}
136
- {...forwardedProps}
137
- id={id}
138
- role="tooltip"
139
- className={classNames(
140
- className,
141
- handleBasicClasses({
142
- prefix: CLASSNAME,
143
- position,
144
- isInitializing: !styles.popper?.transform,
145
- }),
146
- isHidden && VISUALLY_HIDDEN,
147
- )}
148
- style={{ ...(isHidden ? undefined : styles.popper), zIndex }}
149
- {...attributes.popper}
150
- >
151
- <div className={`${CLASSNAME}__arrow`} />
152
- <div className={`${CLASSNAME}__inner`}>
153
- {labelLines.map((line) => (
154
- <p key={line}>{line}</p>
155
- ))}
156
- </div>
157
- </div>
158
- </Portal>
159
- )}
160
- </>
161
- );
162
- });
163
- Tooltip.displayName = COMPONENT_NAME;
164
- Tooltip.className = CLASSNAME;
165
- Tooltip.defaultProps = DEFAULT_PROPS;