@lumx/react 3.20.1-alpha.25 → 3.20.1-alpha.27

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 (710) hide show
  1. package/_internal/Button-2b55a913.js +97 -0
  2. package/_internal/Button-2b55a913.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-e1e85810.js +143 -0
  6. package/_internal/Chip-e1e85810.js.map +1 -0
  7. package/_internal/ClickAwayProvider-1204f237.js +95 -0
  8. package/_internal/ClickAwayProvider-1204f237.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-be160cb0.js +77 -0
  14. package/_internal/IconButton-be160cb0.js.map +1 -0
  15. package/_internal/ImageCaption-fcf5720c.js +75 -0
  16. package/_internal/ImageCaption-fcf5720c.js.map +1 -0
  17. package/_internal/List-dbf4297f.js +791 -0
  18. package/_internal/List-dbf4297f.js.map +1 -0
  19. package/_internal/PopoverDialog-193a0918.js +655 -0
  20. package/_internal/PopoverDialog-193a0918.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-2d267d8c.js +679 -0
  26. package/_internal/Slides-2d267d8c.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-a6ed922b.js +163 -0
  42. package/_internal/components/alert-dialog-a6ed922b.js.map +1 -0
  43. package/_internal/components/autocomplete-c97b7698.js +261 -0
  44. package/_internal/components/autocomplete-c97b7698.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-b05f8f0c.js +47 -0
  50. package/_internal/components/button-b05f8f0c.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-e3a6330f.js +102 -0
  54. package/_internal/components/chip-e3a6330f.js.map +1 -0
  55. package/_internal/components/comment-block-b1acc69f.js +138 -0
  56. package/_internal/components/comment-block-b1acc69f.js.map +1 -0
  57. package/_internal/components/date-picker-582c4925.js +2 -0
  58. package/_internal/components/date-picker-582c4925.js.map +1 -0
  59. package/_internal/components/dialog-785646aa.js +238 -0
  60. package/_internal/components/dialog-785646aa.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-c0c0cfe8.js +147 -0
  66. package/_internal/components/dropdown-c0c0cfe8.js.map +1 -0
  67. package/_internal/components/expansion-panel-1de1d1ff.js +167 -0
  68. package/_internal/components/expansion-panel-1de1d1ff.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-10423fa5.js +56 -0
  72. package/_internal/components/flex-box-10423fa5.js.map +1 -0
  73. package/_internal/components/generic-block-b79f163a.js +128 -0
  74. package/_internal/components/generic-block-b79f163a.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-ee504283.js +58 -0
  78. package/_internal/components/grid-column-ee504283.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-762eb669.js +110 -0
  84. package/_internal/components/image-block-762eb669.js.map +1 -0
  85. package/_internal/components/image-lightbox-10fef304.js +759 -0
  86. package/_internal/components/image-lightbox-10fef304.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-dcc9a7a0.js +155 -0
  94. package/_internal/components/lightbox-dcc9a7a0.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-f29e54b7.js +71 -0
  100. package/_internal/components/list-f29e54b7.js.map +1 -0
  101. package/_internal/components/message-aa3e3f76.js +98 -0
  102. package/_internal/components/message-aa3e3f76.js.map +1 -0
  103. package/_internal/components/mosaic-b4b35fa7.js +94 -0
  104. package/_internal/components/mosaic-b4b35fa7.js.map +1 -0
  105. package/_internal/components/navigation-8357dbe6.js +225 -0
  106. package/_internal/components/navigation-8357dbe6.js.map +1 -0
  107. package/_internal/components/notification-ec4cf95f.js +143 -0
  108. package/_internal/components/notification-ec4cf95f.js.map +1 -0
  109. package/_internal/components/popover-a674dd8d.js +3 -0
  110. package/_internal/components/popover-a674dd8d.js.map +1 -0
  111. package/_internal/components/post-block-bb3d3cbf.js +109 -0
  112. package/_internal/components/post-block-bb3d3cbf.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-8295a416.js +457 -0
  120. package/_internal/components/select-8295a416.js.map +1 -0
  121. package/_internal/components/side-navigation-40ee8bda.js +164 -0
  122. package/_internal/components/side-navigation-40ee8bda.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-c5faf531.js +151 -0
  128. package/_internal/components/slideshow-c5faf531.js.map +1 -0
  129. package/_internal/components/switch-a26a5a72.js +121 -0
  130. package/_internal/components/switch-a26a5a72.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-82adaeb4.js +359 -0
  138. package/_internal/components/text-field-82adaeb4.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-aa48ddda.js +327 -0
  144. package/_internal/components/tooltip-aa48ddda.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-fc03f01a.js +144 -0
  148. package/_internal/components/user-block-fc03f01a.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-8e7fecb5.js +436 -0
  162. package/_internal/index-8e7fecb5.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-b9762ff1.js +18 -0
  168. package/_internal/isComponent-b9762ff1.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/_internal/state-db358714.js +130 -0
  174. package/_internal/state-db358714.js.map +1 -0
  175. package/_internal/useBooleanState-2a3d237c.js +12 -0
  176. package/_internal/useBooleanState-2a3d237c.js.map +1 -0
  177. package/_internal/useCallbackOnEscape-0b220f9c.js +62 -0
  178. package/_internal/useCallbackOnEscape-0b220f9c.js.map +1 -0
  179. package/_internal/useDisableBodyScroll-36bd7352.js +219 -0
  180. package/_internal/useDisableBodyScroll-36bd7352.js.map +1 -0
  181. package/_internal/useDisableStateProps-69e16b7c.js +36 -0
  182. package/_internal/useDisableStateProps-69e16b7c.js.map +1 -0
  183. package/_internal/useFocusTrap-3114e5e8.js +112 -0
  184. package/_internal/useFocusTrap-3114e5e8.js.map +1 -0
  185. package/_internal/useId-3a1facc0.js +18 -0
  186. package/_internal/useId-3a1facc0.js.map +1 -0
  187. package/_internal/useRovingTabIndex-7daf0f24.js +77 -0
  188. package/_internal/useRovingTabIndex-7daf0f24.js.map +1 -0
  189. package/_internal/useTransitionVisibility-321fdbfa.js +50 -0
  190. package/_internal/useTransitionVisibility-321fdbfa.js.map +1 -0
  191. package/_internal/wrapChildrenIconWithSpaces-f1e91251.js +20 -0
  192. package/_internal/wrapChildrenIconWithSpaces-f1e91251.js.map +1 -0
  193. package/index.d.ts +11 -367
  194. package/index.js +65 -14486
  195. package/index.js.map +1 -1
  196. package/package.json +4 -11
  197. package/utils/index.d.ts +1 -1
  198. package/utils/index.js +3 -1
  199. package/utils/index.js.map +1 -1
  200. package/_internal/Falsy.d.ts +0 -7
  201. package/_internal/index.js +0 -236
  202. package/_internal/index.js.map +0 -1
  203. package/src/components/alert-dialog/AlertDialog.stories.tsx +0 -127
  204. package/src/components/alert-dialog/AlertDialog.test.tsx +0 -34
  205. package/src/components/alert-dialog/AlertDialog.tsx +0 -189
  206. package/src/components/alert-dialog/index.ts +0 -1
  207. package/src/components/autocomplete/Autocomplete.stories.tsx +0 -75
  208. package/src/components/autocomplete/Autocomplete.test.tsx +0 -99
  209. package/src/components/autocomplete/Autocomplete.tsx +0 -294
  210. package/src/components/autocomplete/AutocompleteMultiple.stories.tsx +0 -167
  211. package/src/components/autocomplete/AutocompleteMultiple.test.tsx +0 -61
  212. package/src/components/autocomplete/AutocompleteMultiple.tsx +0 -156
  213. package/src/components/autocomplete/__mockData__/index.ts +0 -39
  214. package/src/components/autocomplete/index.ts +0 -2
  215. package/src/components/avatar/Avatar.stories.tsx +0 -119
  216. package/src/components/avatar/Avatar.test.tsx +0 -32
  217. package/src/components/avatar/Avatar.tsx +0 -114
  218. package/src/components/avatar/index.ts +0 -1
  219. package/src/components/badge/Badge.stories.tsx +0 -69
  220. package/src/components/badge/Badge.test.tsx +0 -45
  221. package/src/components/badge/Badge.tsx +0 -58
  222. package/src/components/badge/BadgeWrapper.stories.tsx +0 -75
  223. package/src/components/badge/BadgeWrapper.test.tsx +0 -47
  224. package/src/components/badge/BadgeWrapper.tsx +0 -37
  225. package/src/components/badge/index.ts +0 -2
  226. package/src/components/button/Button.stories.tsx +0 -355
  227. package/src/components/button/Button.test.tsx +0 -125
  228. package/src/components/button/Button.tsx +0 -101
  229. package/src/components/button/ButtonGroup.stories.tsx +0 -52
  230. package/src/components/button/ButtonGroup.test.tsx +0 -41
  231. package/src/components/button/ButtonGroup.tsx +0 -50
  232. package/src/components/button/ButtonRoot.tsx +0 -163
  233. package/src/components/button/IconButton.stories.tsx +0 -52
  234. package/src/components/button/IconButton.test.tsx +0 -66
  235. package/src/components/button/IconButton.tsx +0 -91
  236. package/src/components/button/index.ts +0 -4
  237. package/src/components/checkbox/Checkbox.stories.tsx +0 -64
  238. package/src/components/checkbox/Checkbox.test.tsx +0 -154
  239. package/src/components/checkbox/Checkbox.tsx +0 -164
  240. package/src/components/checkbox/index.ts +0 -1
  241. package/src/components/chip/Chip.stories.tsx +0 -164
  242. package/src/components/chip/Chip.test.tsx +0 -243
  243. package/src/components/chip/Chip.tsx +0 -168
  244. package/src/components/chip/ChipGroup.stories.tsx +0 -47
  245. package/src/components/chip/ChipGroup.test.tsx +0 -37
  246. package/src/components/chip/ChipGroup.tsx +0 -60
  247. package/src/components/chip/index.ts +0 -2
  248. package/src/components/comment-block/CommentBlock.stories.tsx +0 -91
  249. package/src/components/comment-block/CommentBlock.test.tsx +0 -28
  250. package/src/components/comment-block/CommentBlock.tsx +0 -172
  251. package/src/components/comment-block/index.ts +0 -1
  252. package/src/components/date-picker/DatePicker.stories.tsx +0 -118
  253. package/src/components/date-picker/DatePicker.test.tsx +0 -34
  254. package/src/components/date-picker/DatePicker.tsx +0 -52
  255. package/src/components/date-picker/DatePickerControlled.test.tsx +0 -91
  256. package/src/components/date-picker/DatePickerControlled.tsx +0 -259
  257. package/src/components/date-picker/DatePickerField.stories.tsx +0 -100
  258. package/src/components/date-picker/DatePickerField.test.tsx +0 -70
  259. package/src/components/date-picker/DatePickerField.tsx +0 -135
  260. package/src/components/date-picker/constants.ts +0 -11
  261. package/src/components/date-picker/index.ts +0 -4
  262. package/src/components/date-picker/types.ts +0 -28
  263. package/src/components/dialog/Dialog.stories.tsx +0 -318
  264. package/src/components/dialog/Dialog.test.tsx +0 -97
  265. package/src/components/dialog/Dialog.tsx +0 -288
  266. package/src/components/dialog/index.ts +0 -1
  267. package/src/components/divider/Divider.test.tsx +0 -51
  268. package/src/components/divider/Divider.tsx +0 -50
  269. package/src/components/divider/index.ts +0 -1
  270. package/src/components/drag-handle/DragHandle.test.tsx +0 -36
  271. package/src/components/drag-handle/DragHandle.tsx +0 -51
  272. package/src/components/drag-handle/index.ts +0 -1
  273. package/src/components/dropdown/Dropdown.stories.tsx +0 -31
  274. package/src/components/dropdown/Dropdown.test.tsx +0 -66
  275. package/src/components/dropdown/Dropdown.tsx +0 -186
  276. package/src/components/dropdown/index.ts +0 -1
  277. package/src/components/expansion-panel/ExpansionPanel.stories.tsx +0 -91
  278. package/src/components/expansion-panel/ExpansionPanel.test.tsx +0 -185
  279. package/src/components/expansion-panel/ExpansionPanel.tsx +0 -195
  280. package/src/components/expansion-panel/index.ts +0 -1
  281. package/src/components/flag/Flag.stories.tsx +0 -48
  282. package/src/components/flag/Flag.test.tsx +0 -62
  283. package/src/components/flag/Flag.tsx +0 -52
  284. package/src/components/flag/index.ts +0 -1
  285. package/src/components/flex-box/FlexBox.stories.tsx +0 -156
  286. package/src/components/flex-box/FlexBox.test.tsx +0 -24
  287. package/src/components/flex-box/FlexBox.tsx +0 -100
  288. package/src/components/flex-box/index.ts +0 -1
  289. package/src/components/generic-block/GenericBlock.stories.jsx +0 -128
  290. package/src/components/generic-block/GenericBlock.test.tsx +0 -156
  291. package/src/components/generic-block/GenericBlock.tsx +0 -225
  292. package/src/components/generic-block/constants.ts +0 -9
  293. package/src/components/generic-block/index.ts +0 -2
  294. package/src/components/grid/Grid.tsx +0 -83
  295. package/src/components/grid/GridItem.tsx +0 -55
  296. package/src/components/grid/index.ts +0 -2
  297. package/src/components/grid-column/GridColumn.stories.tsx +0 -45
  298. package/src/components/grid-column/GridColumn.test.jsx +0 -56
  299. package/src/components/grid-column/GridColumn.tsx +0 -83
  300. package/src/components/grid-column/index.ts +0 -1
  301. package/src/components/heading/Heading.stories.tsx +0 -69
  302. package/src/components/heading/Heading.test.tsx +0 -82
  303. package/src/components/heading/Heading.tsx +0 -65
  304. package/src/components/heading/HeadingLevelProvider.tsx +0 -30
  305. package/src/components/heading/constants.ts +0 -16
  306. package/src/components/heading/context.tsx +0 -13
  307. package/src/components/heading/index.ts +0 -3
  308. package/src/components/heading/useHeadingLevel.tsx +0 -8
  309. package/src/components/icon/Icon.stories.tsx +0 -73
  310. package/src/components/icon/Icon.test.tsx +0 -125
  311. package/src/components/icon/Icon.tsx +0 -133
  312. package/src/components/icon/index.ts +0 -1
  313. package/src/components/image-block/ImageBlock.stories.tsx +0 -117
  314. package/src/components/image-block/ImageBlock.test.tsx +0 -58
  315. package/src/components/image-block/ImageBlock.tsx +0 -142
  316. package/src/components/image-block/ImageCaption.tsx +0 -115
  317. package/src/components/image-block/index.ts +0 -1
  318. package/src/components/image-lightbox/ImageLightbox.stories.tsx +0 -160
  319. package/src/components/image-lightbox/ImageLightbox.test.tsx +0 -254
  320. package/src/components/image-lightbox/ImageLightbox.tsx +0 -90
  321. package/src/components/image-lightbox/constants.ts +0 -11
  322. package/src/components/image-lightbox/index.ts +0 -2
  323. package/src/components/image-lightbox/internal/ImageSlide.tsx +0 -107
  324. package/src/components/image-lightbox/internal/ImageSlideshow.tsx +0 -164
  325. package/src/components/image-lightbox/internal/useAnimateScroll.ts +0 -55
  326. package/src/components/image-lightbox/internal/usePointerZoom.ts +0 -148
  327. package/src/components/image-lightbox/types.ts +0 -48
  328. package/src/components/image-lightbox/useImageLightbox.tsx +0 -141
  329. package/src/components/inline-list/InlineList.stories.tsx +0 -77
  330. package/src/components/inline-list/InlineList.test.tsx +0 -52
  331. package/src/components/inline-list/InlineList.tsx +0 -96
  332. package/src/components/inline-list/index.ts +0 -1
  333. package/src/components/input-helper/InputHelper.stories.tsx +0 -35
  334. package/src/components/input-helper/InputHelper.test.tsx +0 -55
  335. package/src/components/input-helper/InputHelper.tsx +0 -65
  336. package/src/components/input-helper/constants.ts +0 -11
  337. package/src/components/input-helper/index.ts +0 -1
  338. package/src/components/input-label/InputLabel.stories.tsx +0 -45
  339. package/src/components/input-label/InputLabel.test.tsx +0 -59
  340. package/src/components/input-label/InputLabel.tsx +0 -69
  341. package/src/components/input-label/index.ts +0 -1
  342. package/src/components/lightbox/Lightbox.stories.tsx +0 -101
  343. package/src/components/lightbox/Lightbox.test.tsx +0 -53
  344. package/src/components/lightbox/Lightbox.tsx +0 -180
  345. package/src/components/lightbox/index.ts +0 -1
  346. package/src/components/link/Link.stories.tsx +0 -195
  347. package/src/components/link/Link.test.tsx +0 -127
  348. package/src/components/link/Link.tsx +0 -106
  349. package/src/components/link/index.ts +0 -1
  350. package/src/components/link-preview/LinkPreview.stories.tsx +0 -61
  351. package/src/components/link-preview/LinkPreview.test.tsx +0 -105
  352. package/src/components/link-preview/LinkPreview.tsx +0 -158
  353. package/src/components/link-preview/index.ts +0 -1
  354. package/src/components/list/List.stories.tsx +0 -116
  355. package/src/components/list/List.test.tsx +0 -18
  356. package/src/components/list/List.tsx +0 -104
  357. package/src/components/list/ListDivider.stories.tsx +0 -12
  358. package/src/components/list/ListDivider.test.tsx +0 -22
  359. package/src/components/list/ListDivider.tsx +0 -35
  360. package/src/components/list/ListItem.stories.tsx +0 -66
  361. package/src/components/list/ListItem.test.tsx +0 -93
  362. package/src/components/list/ListItem.tsx +0 -157
  363. package/src/components/list/ListSubheader.stories.tsx +0 -11
  364. package/src/components/list/ListSubheader.test.tsx +0 -21
  365. package/src/components/list/ListSubheader.tsx +0 -44
  366. package/src/components/list/index.ts +0 -4
  367. package/src/components/list/useInteractiveList.tsx +0 -202
  368. package/src/components/message/Message.stories.tsx +0 -72
  369. package/src/components/message/Message.test.tsx +0 -76
  370. package/src/components/message/Message.tsx +0 -100
  371. package/src/components/message/index.ts +0 -1
  372. package/src/components/mosaic/Mosaic.stories.tsx +0 -89
  373. package/src/components/mosaic/Mosaic.test.tsx +0 -77
  374. package/src/components/mosaic/Mosaic.tsx +0 -98
  375. package/src/components/mosaic/index.ts +0 -1
  376. package/src/components/navigation/Navigation.stories.tsx +0 -234
  377. package/src/components/navigation/Navigation.test.tsx +0 -65
  378. package/src/components/navigation/Navigation.tsx +0 -79
  379. package/src/components/navigation/NavigationItem.test.tsx +0 -35
  380. package/src/components/navigation/NavigationItem.tsx +0 -82
  381. package/src/components/navigation/NavigationSection.test.tsx +0 -137
  382. package/src/components/navigation/NavigationSection.tsx +0 -108
  383. package/src/components/navigation/context.tsx +0 -7
  384. package/src/components/navigation/index.ts +0 -1
  385. package/src/components/notification/Notification.test.tsx +0 -94
  386. package/src/components/notification/Notification.tsx +0 -138
  387. package/src/components/notification/Notifications.stories.tsx +0 -92
  388. package/src/components/notification/constants.ts +0 -28
  389. package/src/components/notification/index.ts +0 -1
  390. package/src/components/popover/Popover.stories.tsx +0 -264
  391. package/src/components/popover/Popover.test.tsx +0 -62
  392. package/src/components/popover/Popover.tsx +0 -201
  393. package/src/components/popover/constants.ts +0 -62
  394. package/src/components/popover/index.ts +0 -3
  395. package/src/components/popover/usePopoverStyle.tsx +0 -184
  396. package/src/components/popover/useRestoreFocusOnClose.tsx +0 -47
  397. package/src/components/popover-dialog/PopoverDialog.stories.tsx +0 -64
  398. package/src/components/popover-dialog/PopoverDialog.test.tsx +0 -139
  399. package/src/components/popover-dialog/PopoverDialog.tsx +0 -74
  400. package/src/components/popover-dialog/index.tsx +0 -1
  401. package/src/components/post-block/PostBlock.test.tsx +0 -27
  402. package/src/components/post-block/PostBlock.tsx +0 -122
  403. package/src/components/post-block/index.ts +0 -1
  404. package/src/components/progress/Progress.tsx +0 -68
  405. package/src/components/progress/ProgressCircular.stories.tsx +0 -43
  406. package/src/components/progress/ProgressCircular.test.tsx +0 -46
  407. package/src/components/progress/ProgressCircular.tsx +0 -82
  408. package/src/components/progress/ProgressLinear.stories.tsx +0 -12
  409. package/src/components/progress/ProgressLinear.test.tsx +0 -30
  410. package/src/components/progress/ProgressLinear.tsx +0 -50
  411. package/src/components/progress/index.ts +0 -3
  412. package/src/components/progress-tracker/ProgressTracker.stories.tsx +0 -145
  413. package/src/components/progress-tracker/ProgressTracker.test.tsx +0 -42
  414. package/src/components/progress-tracker/ProgressTracker.tsx +0 -87
  415. package/src/components/progress-tracker/ProgressTrackerProvider.test.tsx +0 -65
  416. package/src/components/progress-tracker/ProgressTrackerProvider.tsx +0 -67
  417. package/src/components/progress-tracker/ProgressTrackerStep.test.tsx +0 -36
  418. package/src/components/progress-tracker/ProgressTrackerStep.tsx +0 -159
  419. package/src/components/progress-tracker/ProgressTrackerStepPanel.test.tsx +0 -34
  420. package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +0 -67
  421. package/src/components/progress-tracker/index.ts +0 -4
  422. package/src/components/radio-button/RadioButton.stories.tsx +0 -71
  423. package/src/components/radio-button/RadioButton.test.tsx +0 -143
  424. package/src/components/radio-button/RadioButton.tsx +0 -143
  425. package/src/components/radio-button/RadioGroup.stories.tsx +0 -39
  426. package/src/components/radio-button/RadioGroup.test.tsx +0 -29
  427. package/src/components/radio-button/RadioGroup.tsx +0 -44
  428. package/src/components/radio-button/index.ts +0 -2
  429. package/src/components/select/Select.stories.tsx +0 -385
  430. package/src/components/select/Select.test.tsx +0 -199
  431. package/src/components/select/Select.tsx +0 -199
  432. package/src/components/select/SelectMultiple.stories.tsx +0 -315
  433. package/src/components/select/SelectMultiple.test.tsx +0 -213
  434. package/src/components/select/SelectMultiple.tsx +0 -206
  435. package/src/components/select/WithSelectContext.tsx +0 -147
  436. package/src/components/select/constants.ts +0 -55
  437. package/src/components/select/index.ts +0 -2
  438. package/src/components/side-navigation/SideNavigation.stories.tsx +0 -191
  439. package/src/components/side-navigation/SideNavigation.test.tsx +0 -37
  440. package/src/components/side-navigation/SideNavigation.tsx +0 -52
  441. package/src/components/side-navigation/SideNavigationItem.stories.tsx +0 -133
  442. package/src/components/side-navigation/SideNavigationItem.test.tsx +0 -136
  443. package/src/components/side-navigation/SideNavigationItem.tsx +0 -165
  444. package/src/components/side-navigation/index.ts +0 -2
  445. package/src/components/skeleton/SkeletonCircle.stories.tsx +0 -41
  446. package/src/components/skeleton/SkeletonCircle.test.tsx +0 -27
  447. package/src/components/skeleton/SkeletonCircle.tsx +0 -52
  448. package/src/components/skeleton/SkeletonRectangle.stories.tsx +0 -82
  449. package/src/components/skeleton/SkeletonRectangle.test.tsx +0 -27
  450. package/src/components/skeleton/SkeletonRectangle.tsx +0 -88
  451. package/src/components/skeleton/SkeletonTypography.stories.tsx +0 -19
  452. package/src/components/skeleton/SkeletonTypography.test.tsx +0 -27
  453. package/src/components/skeleton/SkeletonTypography.tsx +0 -59
  454. package/src/components/skeleton/index.ts +0 -3
  455. package/src/components/slider/Slider.stories.tsx +0 -45
  456. package/src/components/slider/Slider.test.tsx +0 -29
  457. package/src/components/slider/Slider.tsx +0 -299
  458. package/src/components/slider/index.ts +0 -2
  459. package/src/components/slideshow/Slides.tsx +0 -130
  460. package/src/components/slideshow/Slideshow.stories.tsx +0 -179
  461. package/src/components/slideshow/Slideshow.test.tsx +0 -35
  462. package/src/components/slideshow/Slideshow.tsx +0 -173
  463. package/src/components/slideshow/SlideshowControls.stories.tsx +0 -100
  464. package/src/components/slideshow/SlideshowControls.tsx +0 -243
  465. package/src/components/slideshow/SlideshowItem.tsx +0 -44
  466. package/src/components/slideshow/SlideshowItemGroup.tsx +0 -60
  467. package/src/components/slideshow/constants.ts +0 -24
  468. package/src/components/slideshow/index.ts +0 -4
  469. package/src/components/slideshow/useKeyNavigate.ts +0 -28
  470. package/src/components/slideshow/usePaginationVisibleRange.ts +0 -37
  471. package/src/components/slideshow/useSlideFocusManagement.tsx +0 -92
  472. package/src/components/slideshow/useSwipeNavigate.ts +0 -18
  473. package/src/components/switch/Switch.stories.tsx +0 -49
  474. package/src/components/switch/Switch.test.tsx +0 -144
  475. package/src/components/switch/Switch.tsx +0 -145
  476. package/src/components/switch/index.ts +0 -1
  477. package/src/components/table/Table.test.tsx +0 -29
  478. package/src/components/table/Table.tsx +0 -59
  479. package/src/components/table/TableBody.test.tsx +0 -30
  480. package/src/components/table/TableBody.tsx +0 -42
  481. package/src/components/table/TableCell.test.tsx +0 -72
  482. package/src/components/table/TableCell.tsx +0 -130
  483. package/src/components/table/TableHeader.test.tsx +0 -30
  484. package/src/components/table/TableHeader.tsx +0 -48
  485. package/src/components/table/TableRow.test.tsx +0 -40
  486. package/src/components/table/TableRow.tsx +0 -71
  487. package/src/components/table/index.ts +0 -5
  488. package/src/components/tabs/Tab.test.tsx +0 -50
  489. package/src/components/tabs/Tab.tsx +0 -133
  490. package/src/components/tabs/TabList.test.tsx +0 -49
  491. package/src/components/tabs/TabList.tsx +0 -94
  492. package/src/components/tabs/TabPanel.test.tsx +0 -37
  493. package/src/components/tabs/TabPanel.tsx +0 -67
  494. package/src/components/tabs/TabProvider.test.tsx +0 -161
  495. package/src/components/tabs/TabProvider.tsx +0 -67
  496. package/src/components/tabs/Tabs.stories.tsx +0 -170
  497. package/src/components/tabs/index.ts +0 -4
  498. package/src/components/tabs/state.ts +0 -114
  499. package/src/components/tabs/test-utils.ts +0 -39
  500. package/src/components/text/Text.stories.tsx +0 -177
  501. package/src/components/text/Text.test.tsx +0 -92
  502. package/src/components/text/Text.tsx +0 -139
  503. package/src/components/text/index.ts +0 -1
  504. package/src/components/text-field/TextField.stories.tsx +0 -180
  505. package/src/components/text-field/TextField.test.tsx +0 -298
  506. package/src/components/text-field/TextField.tsx +0 -493
  507. package/src/components/text-field/index.ts +0 -1
  508. package/src/components/thumbnail/Thumbnail.stories.tsx +0 -448
  509. package/src/components/thumbnail/Thumbnail.test.tsx +0 -88
  510. package/src/components/thumbnail/Thumbnail.tsx +0 -248
  511. package/src/components/thumbnail/index.ts +0 -3
  512. package/src/components/thumbnail/types.ts +0 -48
  513. package/src/components/thumbnail/useFocusPointStyle.test.ts +0 -92
  514. package/src/components/thumbnail/useFocusPointStyle.tsx +0 -107
  515. package/src/components/thumbnail/useImageLoad.ts +0 -40
  516. package/src/components/toolbar/Toolbar.tsx +0 -68
  517. package/src/components/toolbar/index.ts +0 -1
  518. package/src/components/tooltip/Tooltip.stories.tsx +0 -118
  519. package/src/components/tooltip/Tooltip.test.tsx +0 -417
  520. package/src/components/tooltip/Tooltip.tsx +0 -165
  521. package/src/components/tooltip/constants.ts +0 -8
  522. package/src/components/tooltip/context.tsx +0 -17
  523. package/src/components/tooltip/index.ts +0 -1
  524. package/src/components/tooltip/useInjectTooltipRef.tsx +0 -55
  525. package/src/components/tooltip/useTooltipOpen.tsx +0 -143
  526. package/src/components/uploader/Uploader.stories.tsx +0 -109
  527. package/src/components/uploader/Uploader.test.tsx +0 -146
  528. package/src/components/uploader/Uploader.tsx +0 -177
  529. package/src/components/uploader/index.ts +0 -1
  530. package/src/components/user-block/UserBlock.stories.tsx +0 -133
  531. package/src/components/user-block/UserBlock.test.tsx +0 -106
  532. package/src/components/user-block/UserBlock.tsx +0 -193
  533. package/src/components/user-block/index.ts +0 -1
  534. package/src/constants.ts +0 -27
  535. package/src/hooks/useBooleanState.tsx +0 -13
  536. package/src/hooks/useCallbackOnEscape.ts +0 -34
  537. package/src/hooks/useChipGroupNavigation.tsx +0 -75
  538. package/src/hooks/useClickAway.tsx +0 -48
  539. package/src/hooks/useDisableBodyScroll.ts +0 -28
  540. package/src/hooks/useEventCallback.tsx +0 -17
  541. package/src/hooks/useFocus.tsx +0 -21
  542. package/src/hooks/useFocusTrap.ts +0 -93
  543. package/src/hooks/useFocusWithin.ts +0 -33
  544. package/src/hooks/useId.test.tsx +0 -22
  545. package/src/hooks/useId.ts +0 -15
  546. package/src/hooks/useImageSize.ts +0 -17
  547. package/src/hooks/useInfiniteScroll.tsx +0 -60
  548. package/src/hooks/useIntersectionObserver.tsx +0 -43
  549. package/src/hooks/useInterval.tsx +0 -31
  550. package/src/hooks/useKeyboardListNavigation.tsx +0 -204
  551. package/src/hooks/useListenFocus.tsx +0 -26
  552. package/src/hooks/useOverflowTooltipLabel.tsx +0 -32
  553. package/src/hooks/usePopper.ts +0 -12
  554. package/src/hooks/usePreviousValue.ts +0 -12
  555. package/src/hooks/useRovingTabIndex.tsx +0 -90
  556. package/src/hooks/useSizeOnWindowResize.ts +0 -30
  557. package/src/hooks/useSlideshowControls.ts +0 -246
  558. package/src/hooks/useStopPropagation.ts +0 -21
  559. package/src/hooks/useTransitionVisibility.ts +0 -48
  560. package/src/index.ts +0 -63
  561. package/src/stories/controls/color.ts +0 -7
  562. package/src/stories/controls/element.ts +0 -6
  563. package/src/stories/controls/focusPoint.ts +0 -1
  564. package/src/stories/controls/icons.ts +0 -126
  565. package/src/stories/controls/image.ts +0 -84
  566. package/src/stories/controls/selectArgType.ts +0 -8
  567. package/src/stories/controls/theme.ts +0 -3
  568. package/src/stories/controls/typography.ts +0 -5
  569. package/src/stories/controls/withUndefined.ts +0 -1
  570. package/src/stories/decorators/withChromaticForceScreenSize.tsx +0 -7
  571. package/src/stories/decorators/withCombinations.tsx +0 -132
  572. package/src/stories/decorators/withNestedProps.tsx +0 -22
  573. package/src/stories/decorators/withResizableBox.tsx +0 -21
  574. package/src/stories/decorators/withThemedBackground.tsx +0 -16
  575. package/src/stories/decorators/withValueOnChange.tsx +0 -18
  576. package/src/stories/decorators/withWrapper.tsx +0 -19
  577. package/src/stories/generated/Autocomplete/Demos.stories.tsx +0 -7
  578. package/src/stories/generated/Avatar/Demos.stories.tsx +0 -7
  579. package/src/stories/generated/Badge/Demos.stories.tsx +0 -9
  580. package/src/stories/generated/Button/Demos.stories.tsx +0 -11
  581. package/src/stories/generated/Checkbox/Demos.stories.tsx +0 -6
  582. package/src/stories/generated/Chip/Demos.stories.tsx +0 -11
  583. package/src/stories/generated/CommentBlock/Demos.stories.tsx +0 -8
  584. package/src/stories/generated/DatePicker/Demos.stories.tsx +0 -8
  585. package/src/stories/generated/Dialog/Demos.stories.tsx +0 -10
  586. package/src/stories/generated/Divider/Demos.stories.tsx +0 -6
  587. package/src/stories/generated/Dropdown/Demos.stories.tsx +0 -8
  588. package/src/stories/generated/ExpansionPanel/Demos.stories.tsx +0 -9
  589. package/src/stories/generated/Flag/Demos.stories.tsx +0 -6
  590. package/src/stories/generated/GenericBlock/Demos.stories.tsx +0 -8
  591. package/src/stories/generated/Heading/Demos.stories.tsx +0 -6
  592. package/src/stories/generated/Icon/Demos.stories.tsx +0 -8
  593. package/src/stories/generated/ImageBlock/Demos.stories.tsx +0 -9
  594. package/src/stories/generated/ImageLightbox/Demos.stories.tsx +0 -6
  595. package/src/stories/generated/Lightbox/Demos.stories.tsx +0 -6
  596. package/src/stories/generated/LinkPreview/Demos.stories.tsx +0 -7
  597. package/src/stories/generated/List/Demos.stories.tsx +0 -11
  598. package/src/stories/generated/Message/Demos.stories.tsx +0 -11
  599. package/src/stories/generated/Mosaic/Demos.stories.tsx +0 -10
  600. package/src/stories/generated/Notification/Demos.stories.tsx +0 -6
  601. package/src/stories/generated/Popover/Demos.stories.tsx +0 -11
  602. package/src/stories/generated/PopoverDialog/Demos.stories.tsx +0 -6
  603. package/src/stories/generated/PostBlock/Demos.stories.tsx +0 -6
  604. package/src/stories/generated/Progress/Demos.stories.tsx +0 -7
  605. package/src/stories/generated/ProgressTracker/Demos.stories.tsx +0 -9
  606. package/src/stories/generated/RadioButton/Demos.stories.tsx +0 -6
  607. package/src/stories/generated/Select/Demos.stories.tsx +0 -14
  608. package/src/stories/generated/SideNavigation/Demos.stories.tsx +0 -10
  609. package/src/stories/generated/Skeleton/Demos.stories.tsx +0 -9
  610. package/src/stories/generated/Slider/Demos.stories.tsx +0 -9
  611. package/src/stories/generated/Slideshow/Demos.stories.tsx +0 -8
  612. package/src/stories/generated/Switch/Demos.stories.tsx +0 -6
  613. package/src/stories/generated/Table/Demos.stories.tsx +0 -7
  614. package/src/stories/generated/Tabs/Demos.stories.tsx +0 -8
  615. package/src/stories/generated/TextField/Demos.stories.tsx +0 -20
  616. package/src/stories/generated/Thumbnail/Demos.stories.tsx +0 -12
  617. package/src/stories/generated/Toolbar/Demos.stories.tsx +0 -10
  618. package/src/stories/generated/Tooltip/Demos.stories.tsx +0 -8
  619. package/src/stories/generated/Uploader/Demos.stories.tsx +0 -8
  620. package/src/stories/generated/UserBlock/Demos.stories.tsx +0 -11
  621. package/src/stories/utils/CustomLink.tsx +0 -12
  622. package/src/stories/utils/concatPath.tsx +0 -17
  623. package/src/stories/utils/disableArgTypes.ts +0 -3
  624. package/src/stories/utils/initDemoShadowDOMPortal.ts +0 -10
  625. package/src/stories/utils/lorem.ts +0 -59
  626. package/src/stories/utils/theming.tsx +0 -166
  627. package/src/stories/utils/toFlattenProps.ts +0 -28
  628. package/src/stories/utils/withCategory.ts +0 -12
  629. package/src/testing/utils/ThemeSentinel.tsx +0 -10
  630. package/src/testing/utils/commonTestsSuiteRTL.tsx +0 -193
  631. package/src/testing/utils/index.ts +0 -1
  632. package/src/testing/utils/queries.ts +0 -19
  633. package/src/untypped-modules.d.ts +0 -9
  634. package/src/utils/ClickAwayProvider/ClickAwayProvider.stories.jsx +0 -70
  635. package/src/utils/ClickAwayProvider/ClickAwayProvider.tsx +0 -69
  636. package/src/utils/ClickAwayProvider/index.ts +0 -1
  637. package/src/utils/MaterialThemeSwitcher/MaterialThemeSwitcher.tsx +0 -54
  638. package/src/utils/MaterialThemeSwitcher/index.ts +0 -1
  639. package/src/utils/Portal/Portal.test.tsx +0 -31
  640. package/src/utils/Portal/Portal.tsx +0 -33
  641. package/src/utils/Portal/PortalProvider.stories.jsx +0 -22
  642. package/src/utils/Portal/PortalProvider.test.tsx +0 -72
  643. package/src/utils/Portal/PortalProvider.tsx +0 -24
  644. package/src/utils/Portal/index.tsx +0 -2
  645. package/src/utils/browser/DOM/findImage.tsx +0 -3
  646. package/src/utils/browser/DOM/startViewTransition.ts +0 -68
  647. package/src/utils/browser/focus/constants.ts +0 -7
  648. package/src/utils/browser/focus/getFirstAndLastFocusable.test.ts +0 -134
  649. package/src/utils/browser/focus/getFirstAndLastFocusable.ts +0 -21
  650. package/src/utils/browser/focus/getFocusableElements.test.ts +0 -151
  651. package/src/utils/browser/focus/getFocusableElements.ts +0 -7
  652. package/src/utils/browser/isFocusVisible.ts +0 -9
  653. package/src/utils/browser/isHoverNotSupported.test.js +0 -24
  654. package/src/utils/browser/isHoverNotSupported.ts +0 -2
  655. package/src/utils/browser/isReducedMotion.ts +0 -6
  656. package/src/utils/date/addMonthResetDay.test.ts +0 -13
  657. package/src/utils/date/addMonthResetDay.ts +0 -9
  658. package/src/utils/date/formatDayNumber.test.ts +0 -12
  659. package/src/utils/date/formatDayNumber.ts +0 -5
  660. package/src/utils/date/getFirstDayOfWeek.test.ts +0 -20
  661. package/src/utils/date/getFirstDayOfWeek.ts +0 -59
  662. package/src/utils/date/getMonthCalendar.test.ts +0 -127
  663. package/src/utils/date/getMonthCalendar.ts +0 -69
  664. package/src/utils/date/getWeekDays.test.ts +0 -48
  665. package/src/utils/date/getWeekDays.ts +0 -34
  666. package/src/utils/date/getYearDisplayName.test.ts +0 -20
  667. package/src/utils/date/getYearDisplayName.ts +0 -12
  668. package/src/utils/date/isDateValid.test.ts +0 -15
  669. package/src/utils/date/isDateValid.ts +0 -4
  670. package/src/utils/date/isSameDay.test.ts +0 -37
  671. package/src/utils/date/isSameDay.ts +0 -11
  672. package/src/utils/disabled/DisabledStateContext.tsx +0 -29
  673. package/src/utils/disabled/DisabledStateProvider.stories.tsx +0 -92
  674. package/src/utils/disabled/index.ts +0 -2
  675. package/src/utils/disabled/useDisableStateProps.test.tsx +0 -74
  676. package/src/utils/disabled/useDisableStateProps.tsx +0 -37
  677. package/src/utils/function/makeListenerTowerContext.ts +0 -32
  678. package/src/utils/index.ts +0 -7
  679. package/src/utils/locale/getCurrentLocale.ts +0 -4
  680. package/src/utils/locale/parseLocale.test.ts +0 -17
  681. package/src/utils/locale/parseLocale.ts +0 -23
  682. package/src/utils/locale/types.ts +0 -8
  683. package/src/utils/number/clamp.ts +0 -17
  684. package/src/utils/object/isEqual.test.ts +0 -25
  685. package/src/utils/object/isEqual.ts +0 -11
  686. package/src/utils/partitionMulti.test.ts +0 -27
  687. package/src/utils/partitionMulti.ts +0 -29
  688. package/src/utils/react/OnBeforeUnmount.tsx +0 -20
  689. package/src/utils/react/RawClickable.test.tsx +0 -153
  690. package/src/utils/react/RawClickable.tsx +0 -65
  691. package/src/utils/react/flattenChildren.ts +0 -32
  692. package/src/utils/react/forwardRef.ts +0 -11
  693. package/src/utils/react/forwardRefPolymorphic.ts +0 -9
  694. package/src/utils/react/mergeRefs.ts +0 -33
  695. package/src/utils/react/renderLink.tsx +0 -17
  696. package/src/utils/react/skipRender.tsx +0 -18
  697. package/src/utils/react/unref.ts +0 -7
  698. package/src/utils/react/wrapChildrenIconWithSpaces.test.tsx +0 -37
  699. package/src/utils/react/wrapChildrenIconWithSpaces.tsx +0 -22
  700. package/src/utils/theme/ThemeContext.ts +0 -16
  701. package/src/utils/theme/invertTheme.ts +0 -4
  702. package/src/utils/type/Comp.ts +0 -14
  703. package/src/utils/type/ComponentRef.ts +0 -16
  704. package/src/utils/type/HasAriaDisabled.ts +0 -6
  705. package/src/utils/type/HasPolymorphicAs.ts +0 -6
  706. package/src/utils/type/HasRequiredLinkHref.ts +0 -1
  707. package/src/utils/type/MaybeElementOrRef.ts +0 -6
  708. package/src/utils/type/index.ts +0 -9
  709. package/src/utils/type/isComponent.ts +0 -33
  710. package/src/utils/type/isComponentType.ts +0 -9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs-4037fe57.js","sources":["../../../src/components/tabs/TabProvider.tsx","../../../src/components/tabs/TabList.tsx","../../../src/components/tabs/Tab.tsx","../../../src/components/tabs/TabPanel.tsx"],"sourcesContent":["import ReactDOM from 'react-dom';\nimport { ReactNode, useEffect, useReducer } from 'react';\nimport { INIT_STATE, TabProviderContext, reducer } from './state';\n\nexport interface TabProviderProps {\n /** Active tab index. */\n activeTabIndex?: number;\n /** Tab provider children. */\n children: ReactNode;\n /** Tab panel children should not render if the tab panel is hidden. */\n isLazy?: boolean;\n /** Activate tabs on focus. */\n shouldActivateOnFocus?: boolean;\n\n /** Tab change callback. */\n onChange?(index: number): void;\n}\n\nconst DEFAULT_PROPS: Partial<TabProviderProps> = {\n isLazy: INIT_STATE.isLazy,\n shouldActivateOnFocus: INIT_STATE.shouldActivateOnFocus,\n};\n\n/**\n * This component provides a context in which tabs can be defined and linked to their tab panel.\n *\n * It does not produce any markup so you can wrap it around any React elements and then split the TabList and TabPanel\n * components in the react tree.\n *\n * @param props React component props.\n * @return React element.\n */\nexport const TabProvider: React.FC<TabProviderProps> = (props) => {\n const { children, onChange, ...propState } = props;\n const [state, dispatch] = useReducer(reducer, INIT_STATE);\n\n // On prop state change => dispatch update.\n useEffect(\n () => {\n dispatch({ type: 'update', payload: { ...DEFAULT_PROPS, ...propState } });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [dispatch, ...Object.values(propState)],\n );\n\n // On active tab index state change => send update to the onChange.\n useEffect(\n () => {\n if (state === INIT_STATE || !onChange || propState.activeTabIndex === state.activeTabIndex) {\n return;\n }\n\n // Escape rendering/useEffect context\n queueMicrotask(() => {\n // Wait for React to commit last state changes (avoid looping state update)\n ReactDOM.flushSync(() => {\n onChange(state.activeTabIndex);\n });\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onChange, state.activeTabIndex],\n );\n\n return <TabProviderContext.Provider value={[state, dispatch]}>{children}</TabProviderContext.Provider>;\n};\nTabProvider.defaultProps = DEFAULT_PROPS;\n","import React, { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Alignment, Theme } from '@lumx/react';\nimport { CSS_PREFIX } from '@lumx/react/constants';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { mergeRefs } from '@lumx/react/utils/react/mergeRefs';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\n\nimport { useRovingTabIndex } from '../../hooks/useRovingTabIndex';\n\nexport enum TabListLayout {\n clustered = 'clustered',\n fixed = 'fixed',\n}\n\n/**\n * Defines the props of the component.\n */\nexport interface TabListProps extends GenericProps, HasTheme {\n /** ARIA label (purpose of the set of tabs). */\n ['aria-label']: string;\n /** Tab list. */\n children: ReactNode;\n /** Layout of the tabs in the list. */\n layout?: TabListLayout;\n /** Position of the tabs in the list (requires 'clustered' layout). */\n position?: Alignment;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'TabList';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = `${CSS_PREFIX}-tabs`;\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<TabListProps> = {\n layout: TabListLayout.fixed,\n position: Alignment.left,\n};\n\n/**\n * TabList component.\n *\n * Implements WAI-ARIA `tablist` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const TabList = forwardRef<TabListProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n 'aria-label': ariaLabel,\n children,\n className,\n layout = DEFAULT_PROPS.layout,\n position = DEFAULT_PROPS.position,\n theme = defaultTheme,\n ...forwardedProps\n } = props;\n const tabListRef = React.useRef(null);\n useRovingTabIndex({\n parentRef: tabListRef,\n elementSelector: '[role=\"tab\"]',\n keepTabIndex: false,\n extraDependencies: [children],\n });\n\n return (\n <div\n ref={mergeRefs(ref, tabListRef)}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, layout, position, theme }))}\n >\n <div className={`${CLASSNAME}__links`} role=\"tablist\" aria-label={ariaLabel}>\n {children}\n </div>\n </div>\n );\n});\nTabList.displayName = COMPONENT_NAME;\nTabList.className = CLASSNAME;\nTabList.defaultProps = DEFAULT_PROPS;\n","import { FocusEventHandler, KeyboardEventHandler, ReactNode, useCallback } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Icon, IconProps, Size, Text } from '@lumx/react';\nimport { CSS_PREFIX } from '@lumx/react/constants';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { useDisableStateProps } from '@lumx/react/utils/disabled/useDisableStateProps';\nimport { useTabProviderContext } from './state';\n\n/**\n * Defines the props of the component.\n */\nexport interface TabProps extends GenericProps {\n /** Children are not supported. */\n children?: never;\n /** Icon (SVG path). */\n icon?: IconProps['icon'];\n /** Icon component properties. */\n iconProps?: Omit<IconProps, 'icon'>;\n /** Native id property. */\n id?: string;\n /** Whether the tab is active or not. */\n isActive?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Label content. */\n label: string | ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Tab';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = `${CSS_PREFIX}-tabs__link`;\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<TabProps> = {};\n\n/**\n * Tab component.\n *\n * Implements WAI-ARIA `tab` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Tab = forwardRef<TabProps, HTMLButtonElement>((props, ref) => {\n const { isAnyDisabled, otherProps } = useDisableStateProps(props);\n const {\n className,\n icon,\n iconProps = {},\n id,\n isActive: propIsActive,\n label,\n onFocus,\n onKeyPress,\n tabIndex = -1,\n ...forwardedProps\n } = otherProps;\n const state = useTabProviderContext('tab', id);\n const isActive = propIsActive || state?.isActive;\n\n const changeToCurrentTab = useCallback(() => {\n if (isAnyDisabled) {\n return;\n }\n state?.changeToTab();\n }, [isAnyDisabled, state]);\n\n const handleFocus: FocusEventHandler = useCallback(\n (event) => {\n onFocus?.(event);\n if (state?.shouldActivateOnFocus) {\n changeToCurrentTab();\n }\n },\n [changeToCurrentTab, onFocus, state?.shouldActivateOnFocus],\n );\n\n const handleKeyPress: KeyboardEventHandler = useCallback(\n (event) => {\n onKeyPress?.(event);\n if (event.key !== 'Enter' || isAnyDisabled) {\n return;\n }\n changeToCurrentTab();\n },\n [changeToCurrentTab, isAnyDisabled, onKeyPress],\n );\n\n return (\n <button\n ref={ref}\n {...forwardedProps}\n type=\"button\"\n id={state?.tabId}\n className={classNames(\n className,\n handleBasicClasses({ prefix: CLASSNAME, isActive, isDisabled: isAnyDisabled }),\n )}\n onClick={changeToCurrentTab}\n onKeyPress={handleKeyPress}\n onFocus={handleFocus}\n role=\"tab\"\n tabIndex={isActive ? 0 : tabIndex}\n aria-disabled={isAnyDisabled}\n aria-selected={isActive}\n aria-controls={state?.tabPanelId}\n >\n {icon && <Icon icon={icon} size={Size.xs} {...iconProps} />}\n {label && (\n <Text as=\"span\" truncate>\n {label}\n </Text>\n )}\n </button>\n );\n});\nTab.displayName = COMPONENT_NAME;\nTab.className = CLASSNAME;\nTab.defaultProps = DEFAULT_PROPS;\n","import classNames from 'classnames';\n\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useTabProviderContext } from '@lumx/react/components/tabs/state';\nimport { CSS_PREFIX } from '@lumx/react/constants';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { handleBasicClasses } from '@lumx/core/js/utils/className';\n\n/**\n * Defines the props of the component.\n */\nexport interface TabPanelProps extends GenericProps {\n /** Native id property */\n id?: string;\n /** Whether the tab is active or not. */\n isActive?: boolean;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'TabPanel';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = `${CSS_PREFIX}-tab-panel`;\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<TabPanelProps> = {};\n\n/**\n * TabPanel component.\n *\n * Implements WAI-ARIA `tabpanel` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const TabPanel = forwardRef<TabPanelProps, HTMLDivElement>((props, ref) => {\n const { children, id, className, isActive: propIsActive, ...forwardedProps } = props;\n\n const state = useTabProviderContext('tabPanel', id);\n const isActive = propIsActive || state?.isActive;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n id={state?.tabPanelId}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, isActive }))}\n role=\"tabpanel\"\n tabIndex={isActive ? 0 : -1}\n aria-labelledby={state?.tabId}\n >\n {(!state?.isLazy || isActive) && children}\n </div>\n );\n});\nTabPanel.displayName = COMPONENT_NAME;\nTabPanel.className = CLASSNAME;\nTabPanel.defaultProps = DEFAULT_PROPS;\n"],"names":["DEFAULT_PROPS","isLazy","INIT_STATE","shouldActivateOnFocus","TabProvider","props","children","onChange","propState","state","dispatch","useReducer","reducer","useEffect","type","payload","Object","values","activeTabIndex","queueMicrotask","ReactDOM","flushSync","_jsx","TabProviderContext","Provider","value","defaultProps","TabListLayout","COMPONENT_NAME","CLASSNAME","CSS_PREFIX","layout","fixed","position","Alignment","left","TabList","forwardRef","ref","defaultTheme","useTheme","Theme","light","ariaLabel","className","theme","forwardedProps","tabListRef","React","useRef","useRovingTabIndex","parentRef","elementSelector","keepTabIndex","extraDependencies","mergeRefs","classNames","handleBasicClasses","prefix","role","displayName","Tab","isAnyDisabled","otherProps","useDisableStateProps","icon","iconProps","id","isActive","propIsActive","label","onFocus","onKeyPress","tabIndex","useTabProviderContext","changeToCurrentTab","useCallback","changeToTab","handleFocus","event","handleKeyPress","key","_jsxs","tabId","isDisabled","onClick","tabPanelId","Icon","size","Size","xs","Text","as","truncate","TabPanel"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { T as Text } from '../index-b06353f2.js';
2
+ //# sourceMappingURL=text-851c62f8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-851c62f8.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,359 @@
1
+ import { useRef, useState, useEffect } 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 { m as mergeRefs } from '../mergeRefs-f0d7d6ea.js';
5
+ import { u as useId } from '../useId-3a1facc0.js';
6
+ import { u as useTheme } from '../ThemeContext-3181f000.js';
7
+ import { u as useDisableStateProps } from '../useDisableStateProps-69e16b7c.js';
8
+ import { jsxs, jsx } from 'react/jsx-runtime';
9
+ import { Theme, Size, Emphasis, Kind } from '@lumx/core/js/constants';
10
+ import { InputLabel } from './input-label-2feb0bb0.js';
11
+ import { I as Icon, m as mdiAlertCircle } from '../index-192f8ada.js';
12
+ import { m as mdiCheckCircle } from '../check-circle-de24f857.js';
13
+ import { I as IconButton } from '../IconButton-be160cb0.js';
14
+ import { m as mdiCloseCircle } from '../close-circle-ef5d1aac.js';
15
+ import { InputHelper } from './input-helper-64153099.js';
16
+
17
+ /**
18
+ * Component display name.
19
+ */
20
+ const COMPONENT_NAME = 'TextField';
21
+
22
+ /**
23
+ * Component default class name and class prefix.
24
+ */
25
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
26
+
27
+ /**
28
+ * Default minimum number of rows in the multiline mode.
29
+ */
30
+ const DEFAULT_MIN_ROWS = 2;
31
+
32
+ /**
33
+ * Component default props.
34
+ */
35
+ const DEFAULT_PROPS = {
36
+ type: 'text'
37
+ };
38
+
39
+ /**
40
+ * Hook that allows to calculate the number of rows needed for a text area.
41
+ * @param minimumRows Minimum number of rows that we want to display.
42
+ * @return rows to be used and a callback to recalculate
43
+ */
44
+ const useComputeNumberOfRows = minimumRows => {
45
+ const [rows, setRows] = useState(minimumRows);
46
+ const recompute = target => {
47
+ /**
48
+ * HEAD's UP! This part is a little bit tricky. The idea here is to only
49
+ * display the necessary rows on the textarea. In order to dynamically adjust
50
+ * the height on that field, we need to:
51
+ * 1. Set the current amount of rows to the minimum. That will make the scroll appear.
52
+ * 2. With that, we will have the `scrollHeight`, meaning the height of the container adjusted to the current content
53
+ * 3. With the scroll height, we can figure out how many rows we need to use by dividing the scroll height
54
+ * by the line height.
55
+ * 4. With that number, we can readjust the number of rows on the text area. We need to do that here, if we leave that to
56
+ * the state change through React, there are some scenarios (resize, hitting ENTER or BACKSPACE which add or remove lines)
57
+ * when we will not see the update and the rows will be resized to the minimum.
58
+ * 5. In case there is any other update on the component that changes the UI, we need to keep the number of rows
59
+ * on the state in order to allow React to re-render. Therefore, we save them using `useState`
60
+ */
61
+ // eslint-disable-next-line no-param-reassign
62
+ target.rows = minimumRows;
63
+ let currentRows = target.scrollHeight / (target.clientHeight / minimumRows);
64
+ currentRows = currentRows >= minimumRows ? currentRows : minimumRows;
65
+ // eslint-disable-next-line no-param-reassign
66
+ target.rows = currentRows;
67
+ setRows(currentRows);
68
+ };
69
+ return {
70
+ recomputeNumberOfRows: recompute,
71
+ rows
72
+ };
73
+ };
74
+ const renderInputNative = props => {
75
+ const {
76
+ id,
77
+ isRequired,
78
+ placeholder,
79
+ multiline,
80
+ value,
81
+ setFocus,
82
+ onChange,
83
+ onFocus,
84
+ onBlur,
85
+ inputRef,
86
+ rows,
87
+ recomputeNumberOfRows,
88
+ type,
89
+ name,
90
+ hasError,
91
+ describedById,
92
+ ...forwardedProps
93
+ } = props;
94
+ // eslint-disable-next-line react-hooks/rules-of-hooks
95
+ const ref = useRef(null);
96
+
97
+ // eslint-disable-next-line react-hooks/rules-of-hooks
98
+ useEffect(() => {
99
+ // Recompute the number of rows for the first rendering
100
+ if (multiline && ref && ref.current) {
101
+ recomputeNumberOfRows(ref.current);
102
+ }
103
+ }, [ref, multiline, recomputeNumberOfRows, value]);
104
+ const onTextFieldFocus = event => {
105
+ onFocus?.(event);
106
+ setFocus(true);
107
+ };
108
+ const onTextFieldBlur = event => {
109
+ onBlur?.(event);
110
+ setFocus(false);
111
+ };
112
+ const handleChange = event => {
113
+ onChange(event.target.value, name, event);
114
+ };
115
+ const Component = multiline ? 'textarea' : 'input';
116
+ const inputProps = {
117
+ ...forwardedProps,
118
+ id,
119
+ className: multiline ? `${CLASSNAME}__input-native ${CLASSNAME}__input-native--textarea` : `${CLASSNAME}__input-native ${CLASSNAME}__input-native--text`,
120
+ placeholder,
121
+ value,
122
+ name,
123
+ required: isRequired,
124
+ onFocus: onTextFieldFocus,
125
+ onBlur: onTextFieldBlur,
126
+ onChange: handleChange,
127
+ 'aria-invalid': hasError ? 'true' : undefined,
128
+ 'aria-describedby': describedById,
129
+ readOnly: forwardedProps.readOnly || forwardedProps['aria-disabled'],
130
+ ref: mergeRefs(inputRef, ref)
131
+ };
132
+ if (multiline) {
133
+ inputProps.rows = rows;
134
+ } else {
135
+ inputProps.type = type;
136
+ }
137
+ return /*#__PURE__*/jsx(Component, {
138
+ ...inputProps
139
+ });
140
+ };
141
+
142
+ /**
143
+ * TextField component.
144
+ *
145
+ * @param props Component props.
146
+ * @param ref Component ref.
147
+ * @return React element.
148
+ */
149
+ const TextField = forwardRef((props, ref) => {
150
+ const {
151
+ isAnyDisabled,
152
+ disabledStateProps,
153
+ otherProps
154
+ } = useDisableStateProps(props);
155
+ const defaultTheme = useTheme() || Theme.light;
156
+ const {
157
+ chips,
158
+ className,
159
+ clearButtonProps,
160
+ error,
161
+ forceFocusStyle,
162
+ hasError,
163
+ helper,
164
+ icon,
165
+ id,
166
+ inputRef: inputRefProps,
167
+ isRequired,
168
+ isValid,
169
+ label,
170
+ labelProps,
171
+ maxLength,
172
+ minimumRows,
173
+ multiline,
174
+ name,
175
+ onBlur,
176
+ onChange,
177
+ onClear,
178
+ onFocus,
179
+ placeholder,
180
+ textFieldRef,
181
+ theme = defaultTheme,
182
+ type = DEFAULT_PROPS.type,
183
+ value,
184
+ afterElement,
185
+ ...forwardedProps
186
+ } = otherProps;
187
+ const generatedTextFieldId = useId();
188
+ const textFieldId = id || generatedTextFieldId;
189
+ /** Keep a clean local input ref to manage focus */
190
+ const localInputRef = useRef(null);
191
+ /** Merge prop input ref and local input ref */
192
+ const inputRef = mergeRefs(localInputRef, inputRefProps);
193
+ /**
194
+ * Generate unique ids for both the helper and error texts, in order to
195
+ * later on add them to the input native as aria-describedby. If both the error and the helper are present,
196
+ * we want to first use the most important one, which is the errorId. That way, screen readers will read first
197
+ * the error and then the helper
198
+ */
199
+ const helperId = helper ? `text-field-helper-${generatedTextFieldId}` : undefined;
200
+ const errorId = error ? `text-field-error-${generatedTextFieldId}` : undefined;
201
+ const describedByIds = [errorId, helperId, forwardedProps['aria-describedby']].filter(Boolean);
202
+ const describedById = describedByIds.length === 0 ? undefined : describedByIds.join(' ');
203
+ const [isFocus, setFocus] = useState(false);
204
+ const {
205
+ rows,
206
+ recomputeNumberOfRows
207
+ } = useComputeNumberOfRows(multiline ? minimumRows || DEFAULT_MIN_ROWS : 0);
208
+ const valueLength = (value || '').length;
209
+ const isNotEmpty = valueLength > 0;
210
+
211
+ /**
212
+ * Function triggered when the Clear Button is clicked.
213
+ * The idea is to execute the `onChange` callback with an empty string
214
+ * and remove focus from the clear button.
215
+ * @param evt On clear event.
216
+ */
217
+ const handleClear = evt => {
218
+ evt.nativeEvent.preventDefault();
219
+ evt.nativeEvent.stopPropagation();
220
+ evt.currentTarget.blur();
221
+ onChange('');
222
+ if (onClear) {
223
+ onClear(evt);
224
+ }
225
+
226
+ /** Use local inputRef in case the prop input ref is a `mergeRefs` function. */
227
+ const inputElement = localInputRef;
228
+ if (inputElement && inputElement.current) {
229
+ inputElement.current.focus();
230
+ }
231
+ };
232
+ return /*#__PURE__*/jsxs("div", {
233
+ ref: ref,
234
+ className: classNames(className, handleBasicClasses({
235
+ hasChips: Boolean(chips),
236
+ hasError: !isValid && hasError,
237
+ hasIcon: Boolean(icon),
238
+ hasInput: !multiline,
239
+ hasInputClear: clearButtonProps && isNotEmpty,
240
+ hasLabel: Boolean(label),
241
+ hasPlaceholder: Boolean(placeholder),
242
+ hasTextarea: multiline,
243
+ hasValue: Boolean(value),
244
+ isDisabled: isAnyDisabled,
245
+ isFocus: isFocus || forceFocusStyle,
246
+ isValid,
247
+ prefix: CLASSNAME,
248
+ theme
249
+ })),
250
+ children: [(label || maxLength) && /*#__PURE__*/jsxs("div", {
251
+ className: `${CLASSNAME}__header`,
252
+ children: [label && /*#__PURE__*/jsx(InputLabel, {
253
+ ...labelProps,
254
+ htmlFor: textFieldId,
255
+ className: `${CLASSNAME}__label`,
256
+ isRequired: isRequired,
257
+ theme: theme,
258
+ children: label
259
+ }), maxLength && /*#__PURE__*/jsxs("div", {
260
+ className: `${CLASSNAME}__char-counter`,
261
+ children: [/*#__PURE__*/jsx("span", {
262
+ children: maxLength - valueLength
263
+ }), maxLength - valueLength === 0 && /*#__PURE__*/jsx(Icon, {
264
+ icon: mdiAlertCircle,
265
+ size: Size.xxs
266
+ })]
267
+ })]
268
+ }), /*#__PURE__*/jsxs("div", {
269
+ className: `${CLASSNAME}__wrapper`,
270
+ ref: textFieldRef,
271
+ children: [icon && /*#__PURE__*/jsx(Icon, {
272
+ className: `${CLASSNAME}__input-icon`,
273
+ color: theme === Theme.dark ? 'light' : undefined,
274
+ icon: icon,
275
+ size: Size.xs
276
+ }), chips && /*#__PURE__*/jsxs("div", {
277
+ className: `${CLASSNAME}__chips`,
278
+ children: [chips, renderInputNative({
279
+ id: textFieldId,
280
+ inputRef,
281
+ ...disabledStateProps,
282
+ isRequired,
283
+ maxLength,
284
+ multiline,
285
+ onBlur,
286
+ onChange,
287
+ onFocus,
288
+ placeholder,
289
+ recomputeNumberOfRows,
290
+ rows,
291
+ setFocus,
292
+ type,
293
+ value,
294
+ name,
295
+ hasError,
296
+ describedById,
297
+ ...forwardedProps
298
+ })]
299
+ }), !chips && /*#__PURE__*/jsx("div", {
300
+ className: `${CLASSNAME}__input-wrapper`,
301
+ children: renderInputNative({
302
+ id: textFieldId,
303
+ inputRef,
304
+ ...disabledStateProps,
305
+ isRequired,
306
+ maxLength,
307
+ multiline,
308
+ onBlur,
309
+ onChange,
310
+ onFocus,
311
+ placeholder,
312
+ recomputeNumberOfRows,
313
+ rows,
314
+ setFocus,
315
+ type,
316
+ value,
317
+ name,
318
+ hasError,
319
+ describedById,
320
+ ...forwardedProps
321
+ })
322
+ }), (isValid || hasError) && /*#__PURE__*/jsx(Icon, {
323
+ className: `${CLASSNAME}__input-validity`,
324
+ color: theme === Theme.dark ? 'light' : undefined,
325
+ icon: isValid ? mdiCheckCircle : mdiAlertCircle,
326
+ size: Size.xxs
327
+ }), clearButtonProps && isNotEmpty && !isAnyDisabled && /*#__PURE__*/jsx(IconButton, {
328
+ ...clearButtonProps,
329
+ className: `${CLASSNAME}__input-clear`,
330
+ icon: mdiCloseCircle,
331
+ emphasis: Emphasis.low,
332
+ size: Size.s,
333
+ theme: theme,
334
+ onClick: handleClear,
335
+ type: "button"
336
+ }), afterElement && /*#__PURE__*/jsx("div", {
337
+ className: `${CLASSNAME}__after-element`,
338
+ children: afterElement
339
+ })]
340
+ }), hasError && error && /*#__PURE__*/jsx(InputHelper, {
341
+ className: `${CLASSNAME}__helper`,
342
+ kind: Kind.error,
343
+ theme: theme,
344
+ id: errorId,
345
+ children: error
346
+ }), helper && /*#__PURE__*/jsx(InputHelper, {
347
+ className: `${CLASSNAME}__helper`,
348
+ theme: theme,
349
+ id: helperId,
350
+ children: helper
351
+ })]
352
+ });
353
+ });
354
+ TextField.displayName = COMPONENT_NAME;
355
+ TextField.className = CLASSNAME;
356
+ TextField.defaultProps = DEFAULT_PROPS;
357
+
358
+ export { TextField };
359
+ //# sourceMappingURL=text-field-82adaeb4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-field-82adaeb4.js","sources":["../../../src/components/text-field/TextField.tsx"],"sourcesContent":["import { ReactNode, Ref, RefObject, SyntheticEvent, useEffect, useRef, useState } from 'react';\n\nimport classNames from 'classnames';\n\nimport { mdiAlertCircle, mdiCheckCircle, mdiCloseCircle } from '@lumx/icons';\nimport {\n Emphasis,\n Icon,\n IconButton,\n IconButtonProps,\n InputHelper,\n InputLabel,\n InputLabelProps,\n Kind,\n Size,\n Theme,\n} from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { mergeRefs } from '@lumx/react/utils/react/mergeRefs';\nimport { useId } from '@lumx/react/hooks/useId';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useDisableStateProps } from '@lumx/react/utils/disabled/useDisableStateProps';\nimport { HasAriaDisabled } from '@lumx/react/utils/type/HasAriaDisabled';\n\n/**\n * Defines the props of the component.\n */\nexport interface TextFieldProps extends GenericProps, HasTheme, HasAriaDisabled {\n /** Chip Group to be rendered before the main text input. */\n chips?: ReactNode;\n /** Props to pass to the clear button (minus those already set by the TextField props). If not specified, the button won't be displayed. */\n clearButtonProps?: Pick<IconButtonProps, 'label'> &\n Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis'>;\n /** Error message. */\n error?: string | ReactNode;\n /** Whether we force the focus style or not. */\n forceFocusStyle?: boolean;\n /** Whether the text field is displayed with error style or not. */\n hasError?: boolean;\n /** Additional element to put at the end of the text field. */\n afterElement?: ReactNode;\n /** Helper text. */\n helper?: string | ReactNode;\n /** Icon (SVG path). */\n icon?: string;\n /** Native input id property (generated if not provided to link the label element). */\n id?: string;\n /** Reference to the <input> or <textarea> element. */\n inputRef?: Ref<HTMLInputElement | HTMLTextAreaElement>;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the component is required or not. */\n isRequired?: boolean;\n /** Whether the text field is displayed with valid style or not. */\n isValid?: boolean;\n /** Label text. */\n label?: string;\n /** Additional label props. */\n labelProps?: InputLabelProps;\n /** Max string length the input accepts (constrains the input and displays a character counter). */\n maxLength?: number;\n /** Minimum number of rows displayed in multiline mode (requires `multiline` to be enabled). */\n minimumRows?: number;\n /** Whether the text field is a textarea or an input. */\n multiline?: boolean;\n /** Native input name property. */\n name?: string;\n /** Placeholder text. */\n placeholder?: string;\n /** Reference to the wrapper. */\n textFieldRef?: Ref<HTMLDivElement>;\n /** Native input type (only when `multiline` is disabled). */\n type?: React.ComponentProps<'input'>['type'];\n /** Value. */\n value?: string;\n /** On blur callback. */\n onBlur?(event: React.FocusEvent): void;\n /** On change callback. */\n onChange(value: string, name?: string, event?: SyntheticEvent): void;\n /** On clear callback. */\n onClear?(event?: SyntheticEvent): void;\n /** On focus callback. */\n onFocus?(event: React.FocusEvent): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'TextField';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Default minimum number of rows in the multiline mode.\n */\nconst DEFAULT_MIN_ROWS = 2;\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<TextFieldProps> = {\n type: 'text',\n};\n\n/**\n * Hook that allows to calculate the number of rows needed for a text area.\n * @param minimumRows Minimum number of rows that we want to display.\n * @return rows to be used and a callback to recalculate\n */\nconst useComputeNumberOfRows = (\n minimumRows: number,\n): {\n /** number of rows to be used on the text area */\n rows: number;\n /**\n * Callback in order to recalculate the number of rows due to a change on the text area\n */\n recomputeNumberOfRows(target: Element): void;\n} => {\n const [rows, setRows] = useState(minimumRows);\n\n const recompute = (target: Element) => {\n /**\n * HEAD's UP! This part is a little bit tricky. The idea here is to only\n * display the necessary rows on the textarea. In order to dynamically adjust\n * the height on that field, we need to:\n * 1. Set the current amount of rows to the minimum. That will make the scroll appear.\n * 2. With that, we will have the `scrollHeight`, meaning the height of the container adjusted to the current content\n * 3. With the scroll height, we can figure out how many rows we need to use by dividing the scroll height\n * by the line height.\n * 4. With that number, we can readjust the number of rows on the text area. We need to do that here, if we leave that to\n * the state change through React, there are some scenarios (resize, hitting ENTER or BACKSPACE which add or remove lines)\n * when we will not see the update and the rows will be resized to the minimum.\n * 5. In case there is any other update on the component that changes the UI, we need to keep the number of rows\n * on the state in order to allow React to re-render. Therefore, we save them using `useState`\n */\n // eslint-disable-next-line no-param-reassign\n (target as HTMLTextAreaElement).rows = minimumRows;\n let currentRows = target.scrollHeight / (target.clientHeight / minimumRows);\n currentRows = currentRows >= minimumRows ? currentRows : minimumRows;\n // eslint-disable-next-line no-param-reassign\n (target as HTMLTextAreaElement).rows = currentRows;\n\n setRows(currentRows);\n };\n\n return {\n recomputeNumberOfRows: recompute,\n rows,\n };\n};\n\ninterface InputNativeProps {\n id?: string;\n inputRef?: TextFieldProps['inputRef'];\n isDisabled?: boolean;\n 'aria-disabled'?: boolean;\n isRequired?: boolean;\n readOnly?: boolean;\n multiline?: boolean;\n maxLength?: number;\n placeholder?: string;\n rows: number;\n type: TextFieldProps['type'];\n name?: string;\n value?: string;\n setFocus(focus: boolean): void;\n recomputeNumberOfRows(target: Element): void;\n onChange(value: string, name?: string, event?: SyntheticEvent): void;\n onFocus?(value: React.FocusEvent): void;\n onBlur?(value: React.FocusEvent): void;\n hasError?: boolean;\n describedById?: string;\n}\n\nconst renderInputNative: React.FC<InputNativeProps> = (props) => {\n const {\n id,\n isRequired,\n placeholder,\n multiline,\n value,\n setFocus,\n onChange,\n onFocus,\n onBlur,\n inputRef,\n rows,\n recomputeNumberOfRows,\n type,\n name,\n hasError,\n describedById,\n ...forwardedProps\n } = props;\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const ref = useRef<HTMLElement>(null);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n // Recompute the number of rows for the first rendering\n if (multiline && ref && ref.current) {\n recomputeNumberOfRows(ref.current);\n }\n }, [ref, multiline, recomputeNumberOfRows, value]);\n\n const onTextFieldFocus = (event: React.FocusEvent) => {\n onFocus?.(event);\n setFocus(true);\n };\n\n const onTextFieldBlur = (event: React.FocusEvent) => {\n onBlur?.(event);\n setFocus(false);\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange(event.target.value, name, event);\n };\n\n const Component = multiline ? 'textarea' : 'input';\n const inputProps: any = {\n ...forwardedProps,\n id,\n className: multiline\n ? `${CLASSNAME}__input-native ${CLASSNAME}__input-native--textarea`\n : `${CLASSNAME}__input-native ${CLASSNAME}__input-native--text`,\n placeholder,\n value,\n name,\n required: isRequired,\n onFocus: onTextFieldFocus,\n onBlur: onTextFieldBlur,\n onChange: handleChange,\n 'aria-invalid': hasError ? 'true' : undefined,\n 'aria-describedby': describedById,\n readOnly: forwardedProps.readOnly || forwardedProps['aria-disabled'],\n ref: mergeRefs(inputRef as any, ref) as any,\n };\n if (multiline) {\n inputProps.rows = rows;\n } else {\n inputProps.type = type;\n }\n return <Component {...inputProps} />;\n};\n\n/**\n * TextField component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const TextField = forwardRef<TextFieldProps, HTMLDivElement>((props, ref) => {\n const { isAnyDisabled, disabledStateProps, otherProps } = useDisableStateProps(props);\n const defaultTheme = useTheme() || Theme.light;\n const {\n chips,\n className,\n clearButtonProps,\n error,\n forceFocusStyle,\n hasError,\n helper,\n icon,\n id,\n inputRef: inputRefProps,\n isRequired,\n isValid,\n label,\n labelProps,\n maxLength,\n minimumRows,\n multiline,\n name,\n onBlur,\n onChange,\n onClear,\n onFocus,\n placeholder,\n textFieldRef,\n theme = defaultTheme,\n type = DEFAULT_PROPS.type,\n value,\n afterElement,\n ...forwardedProps\n } = otherProps;\n const generatedTextFieldId = useId();\n const textFieldId = id || generatedTextFieldId;\n /** Keep a clean local input ref to manage focus */\n const localInputRef = useRef<HTMLInputElement | HTMLTextAreaElement | null>(null);\n /** Merge prop input ref and local input ref */\n const inputRef = mergeRefs(localInputRef, inputRefProps);\n /**\n * Generate unique ids for both the helper and error texts, in order to\n * later on add them to the input native as aria-describedby. If both the error and the helper are present,\n * we want to first use the most important one, which is the errorId. That way, screen readers will read first\n * the error and then the helper\n */\n const helperId = helper ? `text-field-helper-${generatedTextFieldId}` : undefined;\n const errorId = error ? `text-field-error-${generatedTextFieldId}` : undefined;\n const describedByIds = [errorId, helperId, forwardedProps['aria-describedby']].filter(Boolean);\n const describedById = describedByIds.length === 0 ? undefined : describedByIds.join(' ');\n\n const [isFocus, setFocus] = useState(false);\n const { rows, recomputeNumberOfRows } = useComputeNumberOfRows(multiline ? minimumRows || DEFAULT_MIN_ROWS : 0);\n const valueLength = (value || '').length;\n const isNotEmpty = valueLength > 0;\n\n /**\n * Function triggered when the Clear Button is clicked.\n * The idea is to execute the `onChange` callback with an empty string\n * and remove focus from the clear button.\n * @param evt On clear event.\n */\n const handleClear = (evt: React.ChangeEvent) => {\n evt.nativeEvent.preventDefault();\n evt.nativeEvent.stopPropagation();\n (evt.currentTarget as HTMLElement).blur();\n\n onChange('');\n\n if (onClear) {\n onClear(evt);\n }\n\n /** Use local inputRef in case the prop input ref is a `mergeRefs` function. */\n const inputElement = localInputRef as RefObject<HTMLInputElement | HTMLTextAreaElement>;\n\n if (inputElement && inputElement.current) {\n inputElement.current.focus();\n }\n };\n\n return (\n <div\n ref={ref}\n className={classNames(\n className,\n handleBasicClasses({\n hasChips: Boolean(chips),\n hasError: !isValid && hasError,\n hasIcon: Boolean(icon),\n hasInput: !multiline,\n hasInputClear: clearButtonProps && isNotEmpty,\n hasLabel: Boolean(label),\n hasPlaceholder: Boolean(placeholder),\n hasTextarea: multiline,\n hasValue: Boolean(value),\n isDisabled: isAnyDisabled,\n isFocus: isFocus || forceFocusStyle,\n isValid,\n prefix: CLASSNAME,\n theme,\n }),\n )}\n >\n {(label || maxLength) && (\n <div className={`${CLASSNAME}__header`}>\n {label && (\n <InputLabel\n {...labelProps}\n htmlFor={textFieldId}\n className={`${CLASSNAME}__label`}\n isRequired={isRequired}\n theme={theme}\n >\n {label}\n </InputLabel>\n )}\n\n {maxLength && (\n <div className={`${CLASSNAME}__char-counter`}>\n <span>{maxLength - valueLength}</span>\n {maxLength - valueLength === 0 && <Icon icon={mdiAlertCircle} size={Size.xxs} />}\n </div>\n )}\n </div>\n )}\n\n <div className={`${CLASSNAME}__wrapper`} ref={textFieldRef}>\n {icon && (\n <Icon\n className={`${CLASSNAME}__input-icon`}\n color={theme === Theme.dark ? 'light' : undefined}\n icon={icon}\n size={Size.xs}\n />\n )}\n\n {chips && (\n <div className={`${CLASSNAME}__chips`}>\n {chips}\n\n {renderInputNative({\n id: textFieldId,\n inputRef,\n ...disabledStateProps,\n isRequired,\n maxLength,\n multiline,\n onBlur,\n onChange,\n onFocus,\n placeholder,\n recomputeNumberOfRows,\n rows,\n setFocus,\n type,\n value,\n name,\n hasError,\n describedById,\n ...forwardedProps,\n })}\n </div>\n )}\n\n {!chips && (\n <div className={`${CLASSNAME}__input-wrapper`}>\n {renderInputNative({\n id: textFieldId,\n inputRef,\n ...disabledStateProps,\n isRequired,\n maxLength,\n multiline,\n onBlur,\n onChange,\n onFocus,\n placeholder,\n recomputeNumberOfRows,\n rows,\n setFocus,\n type,\n value,\n name,\n hasError,\n describedById,\n ...forwardedProps,\n })}\n </div>\n )}\n\n {(isValid || hasError) && (\n <Icon\n className={`${CLASSNAME}__input-validity`}\n color={theme === Theme.dark ? 'light' : undefined}\n icon={isValid ? mdiCheckCircle : mdiAlertCircle}\n size={Size.xxs}\n />\n )}\n\n {clearButtonProps && isNotEmpty && !isAnyDisabled && (\n <IconButton\n {...clearButtonProps}\n className={`${CLASSNAME}__input-clear`}\n icon={mdiCloseCircle}\n emphasis={Emphasis.low}\n size={Size.s}\n theme={theme}\n onClick={handleClear}\n type=\"button\"\n />\n )}\n\n {afterElement && <div className={`${CLASSNAME}__after-element`}>{afterElement}</div>}\n </div>\n\n {hasError && error && (\n <InputHelper className={`${CLASSNAME}__helper`} kind={Kind.error} theme={theme} id={errorId}>\n {error}\n </InputHelper>\n )}\n\n {helper && (\n <InputHelper className={`${CLASSNAME}__helper`} theme={theme} id={helperId}>\n {helper}\n </InputHelper>\n )}\n </div>\n );\n});\nTextField.displayName = COMPONENT_NAME;\nTextField.className = CLASSNAME;\nTextField.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_MIN_ROWS","DEFAULT_PROPS","type","useComputeNumberOfRows","minimumRows","rows","setRows","useState","recompute","target","currentRows","scrollHeight","clientHeight","recomputeNumberOfRows","renderInputNative","props","id","isRequired","placeholder","multiline","value","setFocus","onChange","onFocus","onBlur","inputRef","name","hasError","describedById","forwardedProps","ref","useRef","useEffect","current","onTextFieldFocus","event","onTextFieldBlur","handleChange","Component","inputProps","className","required","undefined","readOnly","mergeRefs","_jsx","TextField","forwardRef","isAnyDisabled","disabledStateProps","otherProps","useDisableStateProps","defaultTheme","useTheme","Theme","light","chips","clearButtonProps","error","forceFocusStyle","helper","icon","inputRefProps","isValid","label","labelProps","maxLength","onClear","textFieldRef","theme","afterElement","generatedTextFieldId","useId","textFieldId","localInputRef","helperId","errorId","describedByIds","filter","Boolean","length","join","isFocus","valueLength","isNotEmpty","handleClear","evt","nativeEvent","preventDefault","stopPropagation","currentTarget","blur","inputElement","focus","_jsxs","classNames","handleBasicClasses","hasChips","hasIcon","hasInput","hasInputClear","hasLabel","hasPlaceholder","hasTextarea","hasValue","isDisabled","prefix","children","InputLabel","htmlFor","Icon","mdiAlertCircle","size","Size","xxs","color","dark","xs","mdiCheckCircle","IconButton","mdiCloseCircle","emphasis","Emphasis","low","s","onClick","InputHelper","kind","Kind","displayName","defaultProps"],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ export { T as Thumbnail, u as useFocusPointStyle } from '../Thumbnail-0872250e.js';
2
+ import { AspectRatio } from '@lumx/core/js/constants';
3
+
4
+ /**
5
+ * Focal point using vertical alignment, horizontal alignment or coordinates (from -1 to 1).
6
+ */
7
+
8
+ /**
9
+ * Loading attribute is not yet supported in typescript, so we need
10
+ * to add it in order to avoid a ts error.
11
+ * https://github.com/typescript-cheatsheets/react-typescript-cheatsheet/blob/master/ADVANCED.md#adding-non-standard-attributes
12
+ */
13
+
14
+ /**
15
+ * All available aspect ratios.
16
+ * @deprecated
17
+ */
18
+ const ThumbnailAspectRatio = {
19
+ ...AspectRatio
20
+ };
21
+
22
+ /**
23
+ * Thumbnail sizes.
24
+ */
25
+
26
+ /**
27
+ * Thumbnail variants.
28
+ */
29
+ const ThumbnailVariant = {
30
+ squared: 'squared',
31
+ rounded: 'rounded'
32
+ };
33
+ /**
34
+ * Thumbnail object fit.
35
+ */
36
+ const ThumbnailObjectFit = {
37
+ cover: 'cover',
38
+ contain: 'contain'
39
+ };
40
+
41
+ export { ThumbnailAspectRatio, ThumbnailObjectFit, ThumbnailVariant };
42
+ //# sourceMappingURL=thumbnail-f1784929.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thumbnail-f1784929.js","sources":["../../../src/components/thumbnail/types.ts"],"sourcesContent":["import React from 'react';\nimport { AspectRatio, Size } from '@lumx/react';\nimport { ValueOf } from '@lumx/react/utils/type';\n\n/**\n * Focal point using vertical alignment, horizontal alignment or coordinates (from -1 to 1).\n */\nexport type FocusPoint = { x?: number; y?: number };\n\n/**\n * Loading attribute is not yet supported in typescript, so we need\n * to add it in order to avoid a ts error.\n * https://github.com/typescript-cheatsheets/react-typescript-cheatsheet/blob/master/ADVANCED.md#adding-non-standard-attributes\n */\ndeclare module 'react' {\n interface ImgHTMLAttributes<T> extends React.HTMLAttributes<T> {\n loading?: 'eager' | 'lazy';\n }\n}\n\n/**\n * All available aspect ratios.\n * @deprecated\n */\nexport const ThumbnailAspectRatio: Record<string, AspectRatio> = { ...AspectRatio };\n\n/**\n * Thumbnail sizes.\n */\nexport type ThumbnailSize = Extract<Size, 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'>;\n\n/**\n * Thumbnail variants.\n */\nexport const ThumbnailVariant = {\n squared: 'squared',\n rounded: 'rounded',\n} as const;\nexport type ThumbnailVariant = ValueOf<typeof ThumbnailVariant>;\n\n/**\n * Thumbnail object fit.\n */\nexport const ThumbnailObjectFit = {\n cover: 'cover',\n contain: 'contain',\n} as const;\nexport type ThumbnailObjectFit = ValueOf<typeof ThumbnailObjectFit>;\n"],"names":["ThumbnailAspectRatio","AspectRatio","ThumbnailVariant","squared","rounded","ThumbnailObjectFit","cover","contain"],"mappings":";;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACO,MAAMA,oBAAiD,GAAG;EAAE,GAAGC,WAAAA;AAAY,EAAC;;AAEnF;AACA;AACA;;AAGA;AACA;AACA;AACO,MAAMC,gBAAgB,GAAG;AAC5BC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAA;AACb,EAAU;AAGV;AACA;AACA;AACO,MAAMC,kBAAkB,GAAG;AAC9BC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,SAAA;AACb;;;;"}
@@ -0,0 +1,61 @@
1
+ import { f as forwardRef, c as classNames } from '../forwardRef-15f62847.js';
2
+ import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
+
5
+ /**
6
+ * Component display name.
7
+ */
8
+ const COMPONENT_NAME = 'Toolbar';
9
+
10
+ /**
11
+ * Component default class name and class prefix.
12
+ */
13
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
14
+
15
+ /**
16
+ * Component default props.
17
+ */
18
+ const DEFAULT_PROPS = {};
19
+
20
+ /**
21
+ * Toolbar component.
22
+ *
23
+ * @param props Component props.
24
+ * @param ref Component ref.
25
+ * @return React element.
26
+ */
27
+ const Toolbar = forwardRef((props, ref) => {
28
+ const {
29
+ after,
30
+ before,
31
+ className,
32
+ label,
33
+ ...forwardedProps
34
+ } = props;
35
+ return /*#__PURE__*/jsxs("div", {
36
+ ref: ref,
37
+ ...forwardedProps,
38
+ className: classNames(className, handleBasicClasses({
39
+ hasAfter: Boolean(after),
40
+ hasBefore: Boolean(before),
41
+ hasLabel: Boolean(label),
42
+ prefix: CLASSNAME
43
+ })),
44
+ children: [before && /*#__PURE__*/jsx("div", {
45
+ className: `${CLASSNAME}__before`,
46
+ children: before
47
+ }), label && /*#__PURE__*/jsx("div", {
48
+ className: `${CLASSNAME}__label`,
49
+ children: label
50
+ }), after && /*#__PURE__*/jsx("div", {
51
+ className: `${CLASSNAME}__after`,
52
+ children: after
53
+ })]
54
+ });
55
+ });
56
+ Toolbar.displayName = COMPONENT_NAME;
57
+ Toolbar.className = CLASSNAME;
58
+ Toolbar.defaultProps = DEFAULT_PROPS;
59
+
60
+ export { Toolbar };
61
+ //# sourceMappingURL=toolbar-a43533a2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar-a43533a2.js","sources":["../../../src/components/toolbar/Toolbar.tsx"],"sourcesContent":["import { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface ToolbarProps extends GenericProps {\n /** After content (placed after the label). */\n after?: ReactNode;\n /** Before content (placed before the label). */\n before?: ReactNode;\n /** Label content. */\n label?: ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Toolbar';\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<ToolbarProps> = {};\n\n/**\n * Toolbar component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Toolbar = forwardRef<ToolbarProps, HTMLDivElement>((props, ref) => {\n const { after, before, className, label, ...forwardedProps } = props;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n hasAfter: Boolean(after),\n hasBefore: Boolean(before),\n hasLabel: Boolean(label),\n prefix: CLASSNAME,\n }),\n )}\n >\n {before && <div className={`${CLASSNAME}__before`}>{before}</div>}\n {label && <div className={`${CLASSNAME}__label`}>{label}</div>}\n {after && <div className={`${CLASSNAME}__after`}>{after}</div>}\n </div>\n );\n});\nToolbar.displayName = COMPONENT_NAME;\nToolbar.className = CLASSNAME;\nToolbar.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","Toolbar","forwardRef","props","ref","after","before","className","label","forwardedProps","_jsxs","classNames","handleBasicClasses","hasAfter","Boolean","hasBefore","hasLabel","prefix","children","_jsx","displayName","defaultProps"],"mappings":";;;;AAoBA;AACA;AACA;AACA,MAAMA,cAAc,GAAG,SAAS,CAAA;;AAEhC;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA,MAAMG,aAAoC,GAAG,EAAE,CAAA;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,OAAO,GAAGC,UAAU,CAA+B,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC5E,MAAM;IAAEC,KAAK;IAAEC,MAAM;IAAEC,SAAS;IAAEC,KAAK;IAAE,GAAGC,cAAAA;AAAe,GAAC,GAAGN,KAAK,CAAA;AAEpE,EAAA,oBACIO,IAAA,CAAA,KAAA,EAAA;AACIN,IAAAA,GAAG,EAAEA,GAAI;AAAA,IAAA,GACLK,cAAc;AAClBF,IAAAA,SAAS,EAAEI,UAAU,CACjBJ,SAAS,EACTK,kBAAkB,CAAC;AACfC,MAAAA,QAAQ,EAAEC,OAAO,CAACT,KAAK,CAAC;AACxBU,MAAAA,SAAS,EAAED,OAAO,CAACR,MAAM,CAAC;AAC1BU,MAAAA,QAAQ,EAAEF,OAAO,CAACN,KAAK,CAAC;AACxBS,MAAAA,MAAM,EAAEnB,SAAAA;AACZ,KAAC,CACL,CAAE;IAAAoB,QAAA,EAAA,CAEDZ,MAAM,iBAAIa,GAAA,CAAA,KAAA,EAAA;MAAKZ,SAAS,EAAE,CAAGT,EAAAA,SAAS,CAAW,QAAA,CAAA;AAAAoB,MAAAA,QAAA,EAAEZ,MAAAA;AAAM,KAAM,CAAC,EAChEE,KAAK,iBAAIW,GAAA,CAAA,KAAA,EAAA;MAAKZ,SAAS,EAAE,CAAGT,EAAAA,SAAS,CAAU,OAAA,CAAA;AAAAoB,MAAAA,QAAA,EAAEV,KAAAA;AAAK,KAAM,CAAC,EAC7DH,KAAK,iBAAIc,GAAA,CAAA,KAAA,EAAA;MAAKZ,SAAS,EAAE,CAAGT,EAAAA,SAAS,CAAU,OAAA,CAAA;AAAAoB,MAAAA,QAAA,EAAEb,KAAAA;AAAK,KAAM,CAAC,CAAA;AAAA,GAC7D,CAAC,CAAA;AAEd,CAAC,EAAC;AACFJ,OAAO,CAACmB,WAAW,GAAGvB,cAAc,CAAA;AACpCI,OAAO,CAACM,SAAS,GAAGT,SAAS,CAAA;AAC7BG,OAAO,CAACoB,YAAY,GAAGrB,aAAa;;;;"}