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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (711) hide show
  1. package/_internal/Button-85482487.js +98 -0
  2. package/_internal/Button-85482487.js.map +1 -0
  3. package/_internal/ButtonRoot-823f3e9c.js +117 -0
  4. package/_internal/ButtonRoot-823f3e9c.js.map +1 -0
  5. package/_internal/Chip-a34f6905.js +146 -0
  6. package/_internal/Chip-a34f6905.js.map +1 -0
  7. package/_internal/ClickAwayProvider-7093ba23.js +95 -0
  8. package/_internal/ClickAwayProvider-7093ba23.js.map +1 -0
  9. package/_internal/DisabledStateContext-ea04260d.js +29 -0
  10. package/_internal/DisabledStateContext-ea04260d.js.map +1 -0
  11. package/_internal/HeadingLevelProvider-ebdcb0c7.js +61 -0
  12. package/_internal/HeadingLevelProvider-ebdcb0c7.js.map +1 -0
  13. package/_internal/IconButton-1a22c4c8.js +77 -0
  14. package/_internal/IconButton-1a22c4c8.js.map +1 -0
  15. package/_internal/ImageCaption-a0a6de5c.js +75 -0
  16. package/_internal/ImageCaption-a0a6de5c.js.map +1 -0
  17. package/_internal/List-54237e0e.js +793 -0
  18. package/_internal/List-54237e0e.js.map +1 -0
  19. package/_internal/PopoverDialog-4ebe79f2.js +655 -0
  20. package/_internal/PopoverDialog-4ebe79f2.js.map +1 -0
  21. package/_internal/Portal-3f86608e.js +45 -0
  22. package/_internal/Portal-3f86608e.js.map +1 -0
  23. package/_internal/RawClickable-2c2b6a89.js +52 -0
  24. package/_internal/RawClickable-2c2b6a89.js.map +1 -0
  25. package/_internal/Slides-ae91d12c.js +682 -0
  26. package/_internal/Slides-ae91d12c.js.map +1 -0
  27. package/_internal/ThemeContext-3181f000.js +14 -0
  28. package/_internal/ThemeContext-3181f000.js.map +1 -0
  29. package/_internal/Thumbnail-0872250e.js +314 -0
  30. package/_internal/Thumbnail-0872250e.js.map +1 -0
  31. package/_internal/check-circle-de24f857.js +4 -0
  32. package/_internal/check-circle-de24f857.js.map +1 -0
  33. package/_internal/chevron-right-827b804a.js +6 -0
  34. package/_internal/chevron-right-827b804a.js.map +1 -0
  35. package/_internal/chevron-up-0b9c76cb.js +6 -0
  36. package/_internal/chevron-up-0b9c76cb.js.map +1 -0
  37. package/_internal/close-circle-ef5d1aac.js +4 -0
  38. package/_internal/close-circle-ef5d1aac.js.map +1 -0
  39. package/_internal/close-eaf6c45a.js +4 -0
  40. package/_internal/close-eaf6c45a.js.map +1 -0
  41. package/_internal/components/alert-dialog-0eeb06ce.js +163 -0
  42. package/_internal/components/alert-dialog-0eeb06ce.js.map +1 -0
  43. package/_internal/components/autocomplete-32170542.js +261 -0
  44. package/_internal/components/autocomplete-32170542.js.map +1 -0
  45. package/_internal/components/avatar-d2214a61.js +83 -0
  46. package/_internal/components/avatar-d2214a61.js.map +1 -0
  47. package/_internal/components/badge-8390e590.js +81 -0
  48. package/_internal/components/badge-8390e590.js.map +1 -0
  49. package/_internal/components/button-b5818c5a.js +47 -0
  50. package/_internal/components/button-b5818c5a.js.map +1 -0
  51. package/_internal/components/checkbox-346834f8.js +143 -0
  52. package/_internal/components/checkbox-346834f8.js.map +1 -0
  53. package/_internal/components/chip-e40c5521.js +102 -0
  54. package/_internal/components/chip-e40c5521.js.map +1 -0
  55. package/_internal/components/comment-block-a4997791.js +138 -0
  56. package/_internal/components/comment-block-a4997791.js.map +1 -0
  57. package/_internal/components/date-picker-48a39549.js +2 -0
  58. package/_internal/components/date-picker-48a39549.js.map +1 -0
  59. package/_internal/components/dialog-ebdb9500.js +238 -0
  60. package/_internal/components/dialog-ebdb9500.js.map +1 -0
  61. package/_internal/components/divider-116af6b9.js +50 -0
  62. package/_internal/components/divider-116af6b9.js.map +1 -0
  63. package/_internal/components/drag-handle-6b073866.js +52 -0
  64. package/_internal/components/drag-handle-6b073866.js.map +1 -0
  65. package/_internal/components/dropdown-0baed51b.js +147 -0
  66. package/_internal/components/dropdown-0baed51b.js.map +1 -0
  67. package/_internal/components/expansion-panel-80edf6c9.js +167 -0
  68. package/_internal/components/expansion-panel-80edf6c9.js.map +1 -0
  69. package/_internal/components/flag-7c9d3abf.js +59 -0
  70. package/_internal/components/flag-7c9d3abf.js.map +1 -0
  71. package/_internal/components/flex-box-55144e5f.js +56 -0
  72. package/_internal/components/flex-box-55144e5f.js.map +1 -0
  73. package/_internal/components/generic-block-ff0509ee.js +124 -0
  74. package/_internal/components/generic-block-ff0509ee.js.map +1 -0
  75. package/_internal/components/grid-6f1b5a41.js +104 -0
  76. package/_internal/components/grid-6f1b5a41.js.map +1 -0
  77. package/_internal/components/grid-column-f01df853.js +59 -0
  78. package/_internal/components/grid-column-f01df853.js.map +1 -0
  79. package/_internal/components/heading-d4c66a34.js +53 -0
  80. package/_internal/components/heading-d4c66a34.js.map +1 -0
  81. package/_internal/components/icon-7c79ab42.js +2 -0
  82. package/_internal/components/icon-7c79ab42.js.map +1 -0
  83. package/_internal/components/image-block-755d8b96.js +110 -0
  84. package/_internal/components/image-block-755d8b96.js.map +1 -0
  85. package/_internal/components/image-lightbox-d31dcd8a.js +759 -0
  86. package/_internal/components/image-lightbox-d31dcd8a.js.map +1 -0
  87. package/_internal/components/inline-list-e6f19a98.js +74 -0
  88. package/_internal/components/inline-list-e6f19a98.js.map +1 -0
  89. package/_internal/components/input-helper-64153099.js +71 -0
  90. package/_internal/components/input-helper-64153099.js.map +1 -0
  91. package/_internal/components/input-label-2feb0bb0.js +59 -0
  92. package/_internal/components/input-label-2feb0bb0.js.map +1 -0
  93. package/_internal/components/lightbox-9dbd7c15.js +155 -0
  94. package/_internal/components/lightbox-9dbd7c15.js.map +1 -0
  95. package/_internal/components/link-f9421eab.js +72 -0
  96. package/_internal/components/link-f9421eab.js.map +1 -0
  97. package/_internal/components/link-preview-5c7e3878.js +117 -0
  98. package/_internal/components/link-preview-5c7e3878.js.map +1 -0
  99. package/_internal/components/list-b08d8423.js +71 -0
  100. package/_internal/components/list-b08d8423.js.map +1 -0
  101. package/_internal/components/message-b3957df0.js +98 -0
  102. package/_internal/components/message-b3957df0.js.map +1 -0
  103. package/_internal/components/mosaic-742a9109.js +95 -0
  104. package/_internal/components/mosaic-742a9109.js.map +1 -0
  105. package/_internal/components/navigation-b1cd43c3.js +225 -0
  106. package/_internal/components/navigation-b1cd43c3.js.map +1 -0
  107. package/_internal/components/notification-94679f51.js +146 -0
  108. package/_internal/components/notification-94679f51.js.map +1 -0
  109. package/_internal/components/popover-65bfbc57.js +3 -0
  110. package/_internal/components/popover-65bfbc57.js.map +1 -0
  111. package/_internal/components/post-block-3ac52237.js +109 -0
  112. package/_internal/components/post-block-3ac52237.js.map +1 -0
  113. package/_internal/components/progress-f39c3fa2.js +182 -0
  114. package/_internal/components/progress-f39c3fa2.js.map +1 -0
  115. package/_internal/components/progress-tracker-997931ac.js +309 -0
  116. package/_internal/components/progress-tracker-997931ac.js.map +1 -0
  117. package/_internal/components/radio-button-559a4863.js +149 -0
  118. package/_internal/components/radio-button-559a4863.js.map +1 -0
  119. package/_internal/components/select-f3b44cb6.js +458 -0
  120. package/_internal/components/select-f3b44cb6.js.map +1 -0
  121. package/_internal/components/side-navigation-414825d8.js +165 -0
  122. package/_internal/components/side-navigation-414825d8.js.map +1 -0
  123. package/_internal/components/skeleton-c66516ee.js +166 -0
  124. package/_internal/components/skeleton-c66516ee.js.map +1 -0
  125. package/_internal/components/slider-efbfbc45.js +311 -0
  126. package/_internal/components/slider-efbfbc45.js.map +1 -0
  127. package/_internal/components/slideshow-dc4b79ae.js +151 -0
  128. package/_internal/components/slideshow-dc4b79ae.js.map +1 -0
  129. package/_internal/components/switch-769a2a04.js +122 -0
  130. package/_internal/components/switch-769a2a04.js.map +1 -0
  131. package/_internal/components/table-c43ec4a5.js +297 -0
  132. package/_internal/components/table-c43ec4a5.js.map +1 -0
  133. package/_internal/components/tabs-4037fe57.js +298 -0
  134. package/_internal/components/tabs-4037fe57.js.map +1 -0
  135. package/_internal/components/text-851c62f8.js +2 -0
  136. package/_internal/components/text-851c62f8.js.map +1 -0
  137. package/_internal/components/text-field-0a15a15d.js +360 -0
  138. package/_internal/components/text-field-0a15a15d.js.map +1 -0
  139. package/_internal/components/thumbnail-f1784929.js +42 -0
  140. package/_internal/components/thumbnail-f1784929.js.map +1 -0
  141. package/_internal/components/toolbar-a43533a2.js +61 -0
  142. package/_internal/components/toolbar-a43533a2.js.map +1 -0
  143. package/_internal/components/tooltip-2885ab2e.js +327 -0
  144. package/_internal/components/tooltip-2885ab2e.js.map +1 -0
  145. package/_internal/components/uploader-7bc3adaa.js +153 -0
  146. package/_internal/components/uploader-7bc3adaa.js.map +1 -0
  147. package/_internal/components/user-block-5f7b09af.js +145 -0
  148. package/_internal/components/user-block-5f7b09af.js.map +1 -0
  149. package/_internal/constants-b9e57936.js +2155 -0
  150. package/_internal/constants-b9e57936.js.map +1 -0
  151. package/_internal/constants-d0e3f49e.js +24 -0
  152. package/_internal/constants-d0e3f49e.js.map +1 -0
  153. package/_internal/context-9d1336a1.js +19 -0
  154. package/_internal/context-9d1336a1.js.map +1 -0
  155. package/_internal/forwardRef-15f62847.js +70 -0
  156. package/_internal/forwardRef-15f62847.js.map +1 -0
  157. package/_internal/getFocusableElements-230173a8.js +13 -0
  158. package/_internal/getFocusableElements-230173a8.js.map +1 -0
  159. package/_internal/index-192f8ada.js +103 -0
  160. package/_internal/index-192f8ada.js.map +1 -0
  161. package/_internal/index-9df37c0d.js +436 -0
  162. package/_internal/index-9df37c0d.js.map +1 -0
  163. package/_internal/index-b06353f2.js +117 -0
  164. package/_internal/index-b06353f2.js.map +1 -0
  165. package/_internal/information-49bbeed3.js +6 -0
  166. package/_internal/information-49bbeed3.js.map +1 -0
  167. package/_internal/isComponent-78df9309.js +20 -0
  168. package/_internal/isComponent-78df9309.js.map +1 -0
  169. package/_internal/isComponentType-e806b848.js +9 -0
  170. package/_internal/isComponentType-e806b848.js.map +1 -0
  171. package/_internal/mergeRefs-f0d7d6ea.js +30 -0
  172. package/_internal/mergeRefs-f0d7d6ea.js.map +1 -0
  173. package/{src/utils/partitionMulti.ts → _internal/partitionMulti-4daccdd5.js} +5 -9
  174. package/_internal/partitionMulti-4daccdd5.js.map +1 -0
  175. package/_internal/state-db358714.js +130 -0
  176. package/_internal/state-db358714.js.map +1 -0
  177. package/_internal/useBooleanState-2a3d237c.js +12 -0
  178. package/_internal/useBooleanState-2a3d237c.js.map +1 -0
  179. package/_internal/useCallbackOnEscape-ea4d9eb4.js +62 -0
  180. package/_internal/useCallbackOnEscape-ea4d9eb4.js.map +1 -0
  181. package/_internal/useDisableBodyScroll-36bd7352.js +219 -0
  182. package/_internal/useDisableBodyScroll-36bd7352.js.map +1 -0
  183. package/_internal/useDisableStateProps-69e16b7c.js +36 -0
  184. package/_internal/useDisableStateProps-69e16b7c.js.map +1 -0
  185. package/_internal/useFocusTrap-c3c6378b.js +112 -0
  186. package/_internal/useFocusTrap-c3c6378b.js.map +1 -0
  187. package/_internal/useId-3a1facc0.js +18 -0
  188. package/_internal/useId-3a1facc0.js.map +1 -0
  189. package/_internal/useRovingTabIndex-7daf0f24.js +77 -0
  190. package/_internal/useRovingTabIndex-7daf0f24.js.map +1 -0
  191. package/_internal/useTransitionVisibility-321fdbfa.js +50 -0
  192. package/_internal/useTransitionVisibility-321fdbfa.js.map +1 -0
  193. package/_internal/wrapChildrenIconWithSpaces-f1e91251.js +20 -0
  194. package/_internal/wrapChildrenIconWithSpaces-f1e91251.js.map +1 -0
  195. package/index.d.ts +7 -352
  196. package/index.js +65 -14486
  197. package/index.js.map +1 -1
  198. package/package.json +4 -11
  199. package/utils/index.d.ts +1 -1
  200. package/utils/index.js +3 -1
  201. package/utils/index.js.map +1 -1
  202. package/_internal/Falsy.d.ts +0 -7
  203. package/_internal/index.js +0 -236
  204. package/_internal/index.js.map +0 -1
  205. package/src/components/alert-dialog/AlertDialog.stories.tsx +0 -127
  206. package/src/components/alert-dialog/AlertDialog.test.tsx +0 -34
  207. package/src/components/alert-dialog/AlertDialog.tsx +0 -189
  208. package/src/components/alert-dialog/index.ts +0 -1
  209. package/src/components/autocomplete/Autocomplete.stories.tsx +0 -75
  210. package/src/components/autocomplete/Autocomplete.test.tsx +0 -99
  211. package/src/components/autocomplete/Autocomplete.tsx +0 -294
  212. package/src/components/autocomplete/AutocompleteMultiple.stories.tsx +0 -167
  213. package/src/components/autocomplete/AutocompleteMultiple.test.tsx +0 -61
  214. package/src/components/autocomplete/AutocompleteMultiple.tsx +0 -156
  215. package/src/components/autocomplete/__mockData__/index.ts +0 -39
  216. package/src/components/autocomplete/index.ts +0 -2
  217. package/src/components/avatar/Avatar.stories.tsx +0 -119
  218. package/src/components/avatar/Avatar.test.tsx +0 -32
  219. package/src/components/avatar/Avatar.tsx +0 -114
  220. package/src/components/avatar/index.ts +0 -1
  221. package/src/components/badge/Badge.stories.tsx +0 -69
  222. package/src/components/badge/Badge.test.tsx +0 -45
  223. package/src/components/badge/Badge.tsx +0 -58
  224. package/src/components/badge/BadgeWrapper.stories.tsx +0 -75
  225. package/src/components/badge/BadgeWrapper.test.tsx +0 -47
  226. package/src/components/badge/BadgeWrapper.tsx +0 -37
  227. package/src/components/badge/index.ts +0 -2
  228. package/src/components/button/Button.stories.tsx +0 -355
  229. package/src/components/button/Button.test.tsx +0 -125
  230. package/src/components/button/Button.tsx +0 -101
  231. package/src/components/button/ButtonGroup.stories.tsx +0 -52
  232. package/src/components/button/ButtonGroup.test.tsx +0 -41
  233. package/src/components/button/ButtonGroup.tsx +0 -50
  234. package/src/components/button/ButtonRoot.tsx +0 -163
  235. package/src/components/button/IconButton.stories.tsx +0 -52
  236. package/src/components/button/IconButton.test.tsx +0 -66
  237. package/src/components/button/IconButton.tsx +0 -91
  238. package/src/components/button/index.ts +0 -4
  239. package/src/components/checkbox/Checkbox.stories.tsx +0 -64
  240. package/src/components/checkbox/Checkbox.test.tsx +0 -154
  241. package/src/components/checkbox/Checkbox.tsx +0 -164
  242. package/src/components/checkbox/index.ts +0 -1
  243. package/src/components/chip/Chip.stories.tsx +0 -164
  244. package/src/components/chip/Chip.test.tsx +0 -243
  245. package/src/components/chip/Chip.tsx +0 -168
  246. package/src/components/chip/ChipGroup.stories.tsx +0 -47
  247. package/src/components/chip/ChipGroup.test.tsx +0 -37
  248. package/src/components/chip/ChipGroup.tsx +0 -60
  249. package/src/components/chip/index.ts +0 -2
  250. package/src/components/comment-block/CommentBlock.stories.tsx +0 -91
  251. package/src/components/comment-block/CommentBlock.test.tsx +0 -28
  252. package/src/components/comment-block/CommentBlock.tsx +0 -172
  253. package/src/components/comment-block/index.ts +0 -1
  254. package/src/components/date-picker/DatePicker.stories.tsx +0 -118
  255. package/src/components/date-picker/DatePicker.test.tsx +0 -34
  256. package/src/components/date-picker/DatePicker.tsx +0 -52
  257. package/src/components/date-picker/DatePickerControlled.test.tsx +0 -91
  258. package/src/components/date-picker/DatePickerControlled.tsx +0 -259
  259. package/src/components/date-picker/DatePickerField.stories.tsx +0 -100
  260. package/src/components/date-picker/DatePickerField.test.tsx +0 -70
  261. package/src/components/date-picker/DatePickerField.tsx +0 -135
  262. package/src/components/date-picker/constants.ts +0 -11
  263. package/src/components/date-picker/index.ts +0 -4
  264. package/src/components/date-picker/types.ts +0 -28
  265. package/src/components/dialog/Dialog.stories.tsx +0 -318
  266. package/src/components/dialog/Dialog.test.tsx +0 -97
  267. package/src/components/dialog/Dialog.tsx +0 -288
  268. package/src/components/dialog/index.ts +0 -1
  269. package/src/components/divider/Divider.test.tsx +0 -51
  270. package/src/components/divider/Divider.tsx +0 -50
  271. package/src/components/divider/index.ts +0 -1
  272. package/src/components/drag-handle/DragHandle.test.tsx +0 -36
  273. package/src/components/drag-handle/DragHandle.tsx +0 -51
  274. package/src/components/drag-handle/index.ts +0 -1
  275. package/src/components/dropdown/Dropdown.stories.tsx +0 -31
  276. package/src/components/dropdown/Dropdown.test.tsx +0 -66
  277. package/src/components/dropdown/Dropdown.tsx +0 -186
  278. package/src/components/dropdown/index.ts +0 -1
  279. package/src/components/expansion-panel/ExpansionPanel.stories.tsx +0 -91
  280. package/src/components/expansion-panel/ExpansionPanel.test.tsx +0 -185
  281. package/src/components/expansion-panel/ExpansionPanel.tsx +0 -195
  282. package/src/components/expansion-panel/index.ts +0 -1
  283. package/src/components/flag/Flag.stories.tsx +0 -48
  284. package/src/components/flag/Flag.test.tsx +0 -62
  285. package/src/components/flag/Flag.tsx +0 -52
  286. package/src/components/flag/index.ts +0 -1
  287. package/src/components/flex-box/FlexBox.stories.tsx +0 -156
  288. package/src/components/flex-box/FlexBox.test.tsx +0 -24
  289. package/src/components/flex-box/FlexBox.tsx +0 -100
  290. package/src/components/flex-box/index.ts +0 -1
  291. package/src/components/generic-block/GenericBlock.stories.jsx +0 -128
  292. package/src/components/generic-block/GenericBlock.test.tsx +0 -156
  293. package/src/components/generic-block/GenericBlock.tsx +0 -225
  294. package/src/components/generic-block/constants.ts +0 -9
  295. package/src/components/generic-block/index.ts +0 -2
  296. package/src/components/grid/Grid.tsx +0 -83
  297. package/src/components/grid/GridItem.tsx +0 -55
  298. package/src/components/grid/index.ts +0 -2
  299. package/src/components/grid-column/GridColumn.stories.tsx +0 -45
  300. package/src/components/grid-column/GridColumn.test.jsx +0 -56
  301. package/src/components/grid-column/GridColumn.tsx +0 -83
  302. package/src/components/grid-column/index.ts +0 -1
  303. package/src/components/heading/Heading.stories.tsx +0 -69
  304. package/src/components/heading/Heading.test.tsx +0 -82
  305. package/src/components/heading/Heading.tsx +0 -65
  306. package/src/components/heading/HeadingLevelProvider.tsx +0 -30
  307. package/src/components/heading/constants.ts +0 -16
  308. package/src/components/heading/context.tsx +0 -13
  309. package/src/components/heading/index.ts +0 -3
  310. package/src/components/heading/useHeadingLevel.tsx +0 -8
  311. package/src/components/icon/Icon.stories.tsx +0 -73
  312. package/src/components/icon/Icon.test.tsx +0 -125
  313. package/src/components/icon/Icon.tsx +0 -133
  314. package/src/components/icon/index.ts +0 -1
  315. package/src/components/image-block/ImageBlock.stories.tsx +0 -117
  316. package/src/components/image-block/ImageBlock.test.tsx +0 -58
  317. package/src/components/image-block/ImageBlock.tsx +0 -142
  318. package/src/components/image-block/ImageCaption.tsx +0 -115
  319. package/src/components/image-block/index.ts +0 -1
  320. package/src/components/image-lightbox/ImageLightbox.stories.tsx +0 -160
  321. package/src/components/image-lightbox/ImageLightbox.test.tsx +0 -254
  322. package/src/components/image-lightbox/ImageLightbox.tsx +0 -90
  323. package/src/components/image-lightbox/constants.ts +0 -11
  324. package/src/components/image-lightbox/index.ts +0 -2
  325. package/src/components/image-lightbox/internal/ImageSlide.tsx +0 -107
  326. package/src/components/image-lightbox/internal/ImageSlideshow.tsx +0 -164
  327. package/src/components/image-lightbox/internal/useAnimateScroll.ts +0 -55
  328. package/src/components/image-lightbox/internal/usePointerZoom.ts +0 -148
  329. package/src/components/image-lightbox/types.ts +0 -48
  330. package/src/components/image-lightbox/useImageLightbox.tsx +0 -141
  331. package/src/components/inline-list/InlineList.stories.tsx +0 -77
  332. package/src/components/inline-list/InlineList.test.tsx +0 -52
  333. package/src/components/inline-list/InlineList.tsx +0 -96
  334. package/src/components/inline-list/index.ts +0 -1
  335. package/src/components/input-helper/InputHelper.stories.tsx +0 -35
  336. package/src/components/input-helper/InputHelper.test.tsx +0 -55
  337. package/src/components/input-helper/InputHelper.tsx +0 -65
  338. package/src/components/input-helper/constants.ts +0 -11
  339. package/src/components/input-helper/index.ts +0 -1
  340. package/src/components/input-label/InputLabel.stories.tsx +0 -45
  341. package/src/components/input-label/InputLabel.test.tsx +0 -59
  342. package/src/components/input-label/InputLabel.tsx +0 -69
  343. package/src/components/input-label/index.ts +0 -1
  344. package/src/components/lightbox/Lightbox.stories.tsx +0 -101
  345. package/src/components/lightbox/Lightbox.test.tsx +0 -53
  346. package/src/components/lightbox/Lightbox.tsx +0 -180
  347. package/src/components/lightbox/index.ts +0 -1
  348. package/src/components/link/Link.stories.tsx +0 -195
  349. package/src/components/link/Link.test.tsx +0 -127
  350. package/src/components/link/Link.tsx +0 -106
  351. package/src/components/link/index.ts +0 -1
  352. package/src/components/link-preview/LinkPreview.stories.tsx +0 -61
  353. package/src/components/link-preview/LinkPreview.test.tsx +0 -105
  354. package/src/components/link-preview/LinkPreview.tsx +0 -158
  355. package/src/components/link-preview/index.ts +0 -1
  356. package/src/components/list/List.stories.tsx +0 -116
  357. package/src/components/list/List.test.tsx +0 -18
  358. package/src/components/list/List.tsx +0 -104
  359. package/src/components/list/ListDivider.stories.tsx +0 -12
  360. package/src/components/list/ListDivider.test.tsx +0 -22
  361. package/src/components/list/ListDivider.tsx +0 -35
  362. package/src/components/list/ListItem.stories.tsx +0 -66
  363. package/src/components/list/ListItem.test.tsx +0 -93
  364. package/src/components/list/ListItem.tsx +0 -157
  365. package/src/components/list/ListSubheader.stories.tsx +0 -11
  366. package/src/components/list/ListSubheader.test.tsx +0 -21
  367. package/src/components/list/ListSubheader.tsx +0 -44
  368. package/src/components/list/index.ts +0 -4
  369. package/src/components/list/useInteractiveList.tsx +0 -202
  370. package/src/components/message/Message.stories.tsx +0 -72
  371. package/src/components/message/Message.test.tsx +0 -76
  372. package/src/components/message/Message.tsx +0 -100
  373. package/src/components/message/index.ts +0 -1
  374. package/src/components/mosaic/Mosaic.stories.tsx +0 -89
  375. package/src/components/mosaic/Mosaic.test.tsx +0 -77
  376. package/src/components/mosaic/Mosaic.tsx +0 -98
  377. package/src/components/mosaic/index.ts +0 -1
  378. package/src/components/navigation/Navigation.stories.tsx +0 -234
  379. package/src/components/navigation/Navigation.test.tsx +0 -65
  380. package/src/components/navigation/Navigation.tsx +0 -79
  381. package/src/components/navigation/NavigationItem.test.tsx +0 -35
  382. package/src/components/navigation/NavigationItem.tsx +0 -82
  383. package/src/components/navigation/NavigationSection.test.tsx +0 -137
  384. package/src/components/navigation/NavigationSection.tsx +0 -108
  385. package/src/components/navigation/context.tsx +0 -7
  386. package/src/components/navigation/index.ts +0 -1
  387. package/src/components/notification/Notification.test.tsx +0 -94
  388. package/src/components/notification/Notification.tsx +0 -138
  389. package/src/components/notification/Notifications.stories.tsx +0 -92
  390. package/src/components/notification/constants.ts +0 -28
  391. package/src/components/notification/index.ts +0 -1
  392. package/src/components/popover/Popover.stories.tsx +0 -264
  393. package/src/components/popover/Popover.test.tsx +0 -62
  394. package/src/components/popover/Popover.tsx +0 -201
  395. package/src/components/popover/constants.ts +0 -62
  396. package/src/components/popover/index.ts +0 -3
  397. package/src/components/popover/usePopoverStyle.tsx +0 -184
  398. package/src/components/popover/useRestoreFocusOnClose.tsx +0 -47
  399. package/src/components/popover-dialog/PopoverDialog.stories.tsx +0 -64
  400. package/src/components/popover-dialog/PopoverDialog.test.tsx +0 -139
  401. package/src/components/popover-dialog/PopoverDialog.tsx +0 -74
  402. package/src/components/popover-dialog/index.tsx +0 -1
  403. package/src/components/post-block/PostBlock.test.tsx +0 -27
  404. package/src/components/post-block/PostBlock.tsx +0 -122
  405. package/src/components/post-block/index.ts +0 -1
  406. package/src/components/progress/Progress.tsx +0 -68
  407. package/src/components/progress/ProgressCircular.stories.tsx +0 -43
  408. package/src/components/progress/ProgressCircular.test.tsx +0 -46
  409. package/src/components/progress/ProgressCircular.tsx +0 -82
  410. package/src/components/progress/ProgressLinear.stories.tsx +0 -12
  411. package/src/components/progress/ProgressLinear.test.tsx +0 -30
  412. package/src/components/progress/ProgressLinear.tsx +0 -50
  413. package/src/components/progress/index.ts +0 -3
  414. package/src/components/progress-tracker/ProgressTracker.stories.tsx +0 -145
  415. package/src/components/progress-tracker/ProgressTracker.test.tsx +0 -42
  416. package/src/components/progress-tracker/ProgressTracker.tsx +0 -87
  417. package/src/components/progress-tracker/ProgressTrackerProvider.test.tsx +0 -65
  418. package/src/components/progress-tracker/ProgressTrackerProvider.tsx +0 -67
  419. package/src/components/progress-tracker/ProgressTrackerStep.test.tsx +0 -36
  420. package/src/components/progress-tracker/ProgressTrackerStep.tsx +0 -159
  421. package/src/components/progress-tracker/ProgressTrackerStepPanel.test.tsx +0 -34
  422. package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +0 -67
  423. package/src/components/progress-tracker/index.ts +0 -4
  424. package/src/components/radio-button/RadioButton.stories.tsx +0 -71
  425. package/src/components/radio-button/RadioButton.test.tsx +0 -143
  426. package/src/components/radio-button/RadioButton.tsx +0 -143
  427. package/src/components/radio-button/RadioGroup.stories.tsx +0 -39
  428. package/src/components/radio-button/RadioGroup.test.tsx +0 -29
  429. package/src/components/radio-button/RadioGroup.tsx +0 -44
  430. package/src/components/radio-button/index.ts +0 -2
  431. package/src/components/select/Select.stories.tsx +0 -385
  432. package/src/components/select/Select.test.tsx +0 -199
  433. package/src/components/select/Select.tsx +0 -199
  434. package/src/components/select/SelectMultiple.stories.tsx +0 -315
  435. package/src/components/select/SelectMultiple.test.tsx +0 -213
  436. package/src/components/select/SelectMultiple.tsx +0 -206
  437. package/src/components/select/WithSelectContext.tsx +0 -147
  438. package/src/components/select/constants.ts +0 -55
  439. package/src/components/select/index.ts +0 -2
  440. package/src/components/side-navigation/SideNavigation.stories.tsx +0 -191
  441. package/src/components/side-navigation/SideNavigation.test.tsx +0 -37
  442. package/src/components/side-navigation/SideNavigation.tsx +0 -52
  443. package/src/components/side-navigation/SideNavigationItem.stories.tsx +0 -133
  444. package/src/components/side-navigation/SideNavigationItem.test.tsx +0 -136
  445. package/src/components/side-navigation/SideNavigationItem.tsx +0 -165
  446. package/src/components/side-navigation/index.ts +0 -2
  447. package/src/components/skeleton/SkeletonCircle.stories.tsx +0 -41
  448. package/src/components/skeleton/SkeletonCircle.test.tsx +0 -27
  449. package/src/components/skeleton/SkeletonCircle.tsx +0 -52
  450. package/src/components/skeleton/SkeletonRectangle.stories.tsx +0 -82
  451. package/src/components/skeleton/SkeletonRectangle.test.tsx +0 -27
  452. package/src/components/skeleton/SkeletonRectangle.tsx +0 -88
  453. package/src/components/skeleton/SkeletonTypography.stories.tsx +0 -19
  454. package/src/components/skeleton/SkeletonTypography.test.tsx +0 -27
  455. package/src/components/skeleton/SkeletonTypography.tsx +0 -59
  456. package/src/components/skeleton/index.ts +0 -3
  457. package/src/components/slider/Slider.stories.tsx +0 -45
  458. package/src/components/slider/Slider.test.tsx +0 -29
  459. package/src/components/slider/Slider.tsx +0 -299
  460. package/src/components/slider/index.ts +0 -2
  461. package/src/components/slideshow/Slides.tsx +0 -130
  462. package/src/components/slideshow/Slideshow.stories.tsx +0 -179
  463. package/src/components/slideshow/Slideshow.test.tsx +0 -35
  464. package/src/components/slideshow/Slideshow.tsx +0 -173
  465. package/src/components/slideshow/SlideshowControls.stories.tsx +0 -100
  466. package/src/components/slideshow/SlideshowControls.tsx +0 -243
  467. package/src/components/slideshow/SlideshowItem.tsx +0 -44
  468. package/src/components/slideshow/SlideshowItemGroup.tsx +0 -60
  469. package/src/components/slideshow/constants.ts +0 -24
  470. package/src/components/slideshow/index.ts +0 -4
  471. package/src/components/slideshow/useKeyNavigate.ts +0 -28
  472. package/src/components/slideshow/usePaginationVisibleRange.ts +0 -37
  473. package/src/components/slideshow/useSlideFocusManagement.tsx +0 -92
  474. package/src/components/slideshow/useSwipeNavigate.ts +0 -18
  475. package/src/components/switch/Switch.stories.tsx +0 -49
  476. package/src/components/switch/Switch.test.tsx +0 -144
  477. package/src/components/switch/Switch.tsx +0 -145
  478. package/src/components/switch/index.ts +0 -1
  479. package/src/components/table/Table.test.tsx +0 -29
  480. package/src/components/table/Table.tsx +0 -59
  481. package/src/components/table/TableBody.test.tsx +0 -30
  482. package/src/components/table/TableBody.tsx +0 -42
  483. package/src/components/table/TableCell.test.tsx +0 -72
  484. package/src/components/table/TableCell.tsx +0 -130
  485. package/src/components/table/TableHeader.test.tsx +0 -30
  486. package/src/components/table/TableHeader.tsx +0 -48
  487. package/src/components/table/TableRow.test.tsx +0 -40
  488. package/src/components/table/TableRow.tsx +0 -71
  489. package/src/components/table/index.ts +0 -5
  490. package/src/components/tabs/Tab.test.tsx +0 -50
  491. package/src/components/tabs/Tab.tsx +0 -133
  492. package/src/components/tabs/TabList.test.tsx +0 -49
  493. package/src/components/tabs/TabList.tsx +0 -94
  494. package/src/components/tabs/TabPanel.test.tsx +0 -37
  495. package/src/components/tabs/TabPanel.tsx +0 -67
  496. package/src/components/tabs/TabProvider.test.tsx +0 -161
  497. package/src/components/tabs/TabProvider.tsx +0 -67
  498. package/src/components/tabs/Tabs.stories.tsx +0 -170
  499. package/src/components/tabs/index.ts +0 -4
  500. package/src/components/tabs/state.ts +0 -114
  501. package/src/components/tabs/test-utils.ts +0 -39
  502. package/src/components/text/Text.stories.tsx +0 -177
  503. package/src/components/text/Text.test.tsx +0 -92
  504. package/src/components/text/Text.tsx +0 -139
  505. package/src/components/text/index.ts +0 -1
  506. package/src/components/text-field/TextField.stories.tsx +0 -180
  507. package/src/components/text-field/TextField.test.tsx +0 -298
  508. package/src/components/text-field/TextField.tsx +0 -493
  509. package/src/components/text-field/index.ts +0 -1
  510. package/src/components/thumbnail/Thumbnail.stories.tsx +0 -448
  511. package/src/components/thumbnail/Thumbnail.test.tsx +0 -88
  512. package/src/components/thumbnail/Thumbnail.tsx +0 -248
  513. package/src/components/thumbnail/index.ts +0 -3
  514. package/src/components/thumbnail/types.ts +0 -48
  515. package/src/components/thumbnail/useFocusPointStyle.test.ts +0 -92
  516. package/src/components/thumbnail/useFocusPointStyle.tsx +0 -107
  517. package/src/components/thumbnail/useImageLoad.ts +0 -40
  518. package/src/components/toolbar/Toolbar.tsx +0 -68
  519. package/src/components/toolbar/index.ts +0 -1
  520. package/src/components/tooltip/Tooltip.stories.tsx +0 -118
  521. package/src/components/tooltip/Tooltip.test.tsx +0 -417
  522. package/src/components/tooltip/Tooltip.tsx +0 -165
  523. package/src/components/tooltip/constants.ts +0 -8
  524. package/src/components/tooltip/context.tsx +0 -17
  525. package/src/components/tooltip/index.ts +0 -1
  526. package/src/components/tooltip/useInjectTooltipRef.tsx +0 -55
  527. package/src/components/tooltip/useTooltipOpen.tsx +0 -143
  528. package/src/components/uploader/Uploader.stories.tsx +0 -109
  529. package/src/components/uploader/Uploader.test.tsx +0 -146
  530. package/src/components/uploader/Uploader.tsx +0 -177
  531. package/src/components/uploader/index.ts +0 -1
  532. package/src/components/user-block/UserBlock.stories.tsx +0 -133
  533. package/src/components/user-block/UserBlock.test.tsx +0 -106
  534. package/src/components/user-block/UserBlock.tsx +0 -193
  535. package/src/components/user-block/index.ts +0 -1
  536. package/src/constants.ts +0 -27
  537. package/src/hooks/useBooleanState.tsx +0 -13
  538. package/src/hooks/useCallbackOnEscape.ts +0 -34
  539. package/src/hooks/useChipGroupNavigation.tsx +0 -75
  540. package/src/hooks/useClickAway.tsx +0 -48
  541. package/src/hooks/useDisableBodyScroll.ts +0 -28
  542. package/src/hooks/useEventCallback.tsx +0 -17
  543. package/src/hooks/useFocus.tsx +0 -21
  544. package/src/hooks/useFocusTrap.ts +0 -93
  545. package/src/hooks/useFocusWithin.ts +0 -33
  546. package/src/hooks/useId.test.tsx +0 -22
  547. package/src/hooks/useId.ts +0 -15
  548. package/src/hooks/useImageSize.ts +0 -17
  549. package/src/hooks/useInfiniteScroll.tsx +0 -60
  550. package/src/hooks/useIntersectionObserver.tsx +0 -43
  551. package/src/hooks/useInterval.tsx +0 -31
  552. package/src/hooks/useKeyboardListNavigation.tsx +0 -204
  553. package/src/hooks/useListenFocus.tsx +0 -26
  554. package/src/hooks/useOverflowTooltipLabel.tsx +0 -32
  555. package/src/hooks/usePopper.ts +0 -12
  556. package/src/hooks/usePreviousValue.ts +0 -12
  557. package/src/hooks/useRovingTabIndex.tsx +0 -90
  558. package/src/hooks/useSizeOnWindowResize.ts +0 -30
  559. package/src/hooks/useSlideshowControls.ts +0 -246
  560. package/src/hooks/useStopPropagation.ts +0 -21
  561. package/src/hooks/useTransitionVisibility.ts +0 -48
  562. package/src/index.ts +0 -63
  563. package/src/stories/controls/color.ts +0 -7
  564. package/src/stories/controls/element.ts +0 -6
  565. package/src/stories/controls/focusPoint.ts +0 -1
  566. package/src/stories/controls/icons.ts +0 -126
  567. package/src/stories/controls/image.ts +0 -84
  568. package/src/stories/controls/selectArgType.ts +0 -8
  569. package/src/stories/controls/theme.ts +0 -3
  570. package/src/stories/controls/typography.ts +0 -5
  571. package/src/stories/controls/withUndefined.ts +0 -1
  572. package/src/stories/decorators/withChromaticForceScreenSize.tsx +0 -7
  573. package/src/stories/decorators/withCombinations.tsx +0 -132
  574. package/src/stories/decorators/withNestedProps.tsx +0 -22
  575. package/src/stories/decorators/withResizableBox.tsx +0 -21
  576. package/src/stories/decorators/withThemedBackground.tsx +0 -16
  577. package/src/stories/decorators/withValueOnChange.tsx +0 -18
  578. package/src/stories/decorators/withWrapper.tsx +0 -19
  579. package/src/stories/generated/Autocomplete/Demos.stories.tsx +0 -7
  580. package/src/stories/generated/Avatar/Demos.stories.tsx +0 -7
  581. package/src/stories/generated/Badge/Demos.stories.tsx +0 -9
  582. package/src/stories/generated/Button/Demos.stories.tsx +0 -11
  583. package/src/stories/generated/Checkbox/Demos.stories.tsx +0 -6
  584. package/src/stories/generated/Chip/Demos.stories.tsx +0 -11
  585. package/src/stories/generated/CommentBlock/Demos.stories.tsx +0 -8
  586. package/src/stories/generated/DatePicker/Demos.stories.tsx +0 -8
  587. package/src/stories/generated/Dialog/Demos.stories.tsx +0 -10
  588. package/src/stories/generated/Divider/Demos.stories.tsx +0 -6
  589. package/src/stories/generated/Dropdown/Demos.stories.tsx +0 -8
  590. package/src/stories/generated/ExpansionPanel/Demos.stories.tsx +0 -9
  591. package/src/stories/generated/Flag/Demos.stories.tsx +0 -6
  592. package/src/stories/generated/GenericBlock/Demos.stories.tsx +0 -8
  593. package/src/stories/generated/Heading/Demos.stories.tsx +0 -6
  594. package/src/stories/generated/Icon/Demos.stories.tsx +0 -8
  595. package/src/stories/generated/ImageBlock/Demos.stories.tsx +0 -9
  596. package/src/stories/generated/ImageLightbox/Demos.stories.tsx +0 -6
  597. package/src/stories/generated/Lightbox/Demos.stories.tsx +0 -6
  598. package/src/stories/generated/LinkPreview/Demos.stories.tsx +0 -7
  599. package/src/stories/generated/List/Demos.stories.tsx +0 -11
  600. package/src/stories/generated/Message/Demos.stories.tsx +0 -11
  601. package/src/stories/generated/Mosaic/Demos.stories.tsx +0 -10
  602. package/src/stories/generated/Notification/Demos.stories.tsx +0 -6
  603. package/src/stories/generated/Popover/Demos.stories.tsx +0 -11
  604. package/src/stories/generated/PopoverDialog/Demos.stories.tsx +0 -6
  605. package/src/stories/generated/PostBlock/Demos.stories.tsx +0 -6
  606. package/src/stories/generated/Progress/Demos.stories.tsx +0 -7
  607. package/src/stories/generated/ProgressTracker/Demos.stories.tsx +0 -9
  608. package/src/stories/generated/RadioButton/Demos.stories.tsx +0 -6
  609. package/src/stories/generated/Select/Demos.stories.tsx +0 -14
  610. package/src/stories/generated/SideNavigation/Demos.stories.tsx +0 -10
  611. package/src/stories/generated/Skeleton/Demos.stories.tsx +0 -9
  612. package/src/stories/generated/Slider/Demos.stories.tsx +0 -9
  613. package/src/stories/generated/Slideshow/Demos.stories.tsx +0 -8
  614. package/src/stories/generated/Switch/Demos.stories.tsx +0 -6
  615. package/src/stories/generated/Table/Demos.stories.tsx +0 -7
  616. package/src/stories/generated/Tabs/Demos.stories.tsx +0 -8
  617. package/src/stories/generated/TextField/Demos.stories.tsx +0 -20
  618. package/src/stories/generated/Thumbnail/Demos.stories.tsx +0 -12
  619. package/src/stories/generated/Toolbar/Demos.stories.tsx +0 -10
  620. package/src/stories/generated/Tooltip/Demos.stories.tsx +0 -8
  621. package/src/stories/generated/Uploader/Demos.stories.tsx +0 -8
  622. package/src/stories/generated/UserBlock/Demos.stories.tsx +0 -11
  623. package/src/stories/utils/CustomLink.tsx +0 -12
  624. package/src/stories/utils/concatPath.tsx +0 -17
  625. package/src/stories/utils/disableArgTypes.ts +0 -3
  626. package/src/stories/utils/initDemoShadowDOMPortal.ts +0 -10
  627. package/src/stories/utils/lorem.ts +0 -59
  628. package/src/stories/utils/theming.tsx +0 -166
  629. package/src/stories/utils/toFlattenProps.ts +0 -28
  630. package/src/stories/utils/withCategory.ts +0 -12
  631. package/src/testing/utils/ThemeSentinel.tsx +0 -10
  632. package/src/testing/utils/commonTestsSuiteRTL.tsx +0 -193
  633. package/src/testing/utils/index.ts +0 -1
  634. package/src/testing/utils/queries.ts +0 -19
  635. package/src/untypped-modules.d.ts +0 -9
  636. package/src/utils/ClickAwayProvider/ClickAwayProvider.stories.jsx +0 -70
  637. package/src/utils/ClickAwayProvider/ClickAwayProvider.tsx +0 -69
  638. package/src/utils/ClickAwayProvider/index.ts +0 -1
  639. package/src/utils/MaterialThemeSwitcher/MaterialThemeSwitcher.tsx +0 -54
  640. package/src/utils/MaterialThemeSwitcher/index.ts +0 -1
  641. package/src/utils/Portal/Portal.test.tsx +0 -31
  642. package/src/utils/Portal/Portal.tsx +0 -33
  643. package/src/utils/Portal/PortalProvider.stories.jsx +0 -22
  644. package/src/utils/Portal/PortalProvider.test.tsx +0 -72
  645. package/src/utils/Portal/PortalProvider.tsx +0 -24
  646. package/src/utils/Portal/index.tsx +0 -2
  647. package/src/utils/browser/DOM/findImage.tsx +0 -3
  648. package/src/utils/browser/DOM/startViewTransition.ts +0 -68
  649. package/src/utils/browser/focus/constants.ts +0 -7
  650. package/src/utils/browser/focus/getFirstAndLastFocusable.test.ts +0 -134
  651. package/src/utils/browser/focus/getFirstAndLastFocusable.ts +0 -21
  652. package/src/utils/browser/focus/getFocusableElements.test.ts +0 -151
  653. package/src/utils/browser/focus/getFocusableElements.ts +0 -7
  654. package/src/utils/browser/isFocusVisible.ts +0 -9
  655. package/src/utils/browser/isHoverNotSupported.test.js +0 -24
  656. package/src/utils/browser/isHoverNotSupported.ts +0 -2
  657. package/src/utils/browser/isReducedMotion.ts +0 -6
  658. package/src/utils/date/addMonthResetDay.test.ts +0 -13
  659. package/src/utils/date/addMonthResetDay.ts +0 -9
  660. package/src/utils/date/formatDayNumber.test.ts +0 -12
  661. package/src/utils/date/formatDayNumber.ts +0 -5
  662. package/src/utils/date/getFirstDayOfWeek.test.ts +0 -20
  663. package/src/utils/date/getFirstDayOfWeek.ts +0 -59
  664. package/src/utils/date/getMonthCalendar.test.ts +0 -127
  665. package/src/utils/date/getMonthCalendar.ts +0 -69
  666. package/src/utils/date/getWeekDays.test.ts +0 -48
  667. package/src/utils/date/getWeekDays.ts +0 -34
  668. package/src/utils/date/getYearDisplayName.test.ts +0 -20
  669. package/src/utils/date/getYearDisplayName.ts +0 -12
  670. package/src/utils/date/isDateValid.test.ts +0 -15
  671. package/src/utils/date/isDateValid.ts +0 -4
  672. package/src/utils/date/isSameDay.test.ts +0 -37
  673. package/src/utils/date/isSameDay.ts +0 -11
  674. package/src/utils/disabled/DisabledStateContext.tsx +0 -29
  675. package/src/utils/disabled/DisabledStateProvider.stories.tsx +0 -92
  676. package/src/utils/disabled/index.ts +0 -2
  677. package/src/utils/disabled/useDisableStateProps.test.tsx +0 -74
  678. package/src/utils/disabled/useDisableStateProps.tsx +0 -37
  679. package/src/utils/function/makeListenerTowerContext.ts +0 -32
  680. package/src/utils/index.ts +0 -7
  681. package/src/utils/locale/getCurrentLocale.ts +0 -4
  682. package/src/utils/locale/parseLocale.test.ts +0 -17
  683. package/src/utils/locale/parseLocale.ts +0 -23
  684. package/src/utils/locale/types.ts +0 -8
  685. package/src/utils/number/clamp.ts +0 -17
  686. package/src/utils/object/isEqual.test.ts +0 -25
  687. package/src/utils/object/isEqual.ts +0 -11
  688. package/src/utils/partitionMulti.test.ts +0 -27
  689. package/src/utils/react/OnBeforeUnmount.tsx +0 -20
  690. package/src/utils/react/RawClickable.test.tsx +0 -153
  691. package/src/utils/react/RawClickable.tsx +0 -65
  692. package/src/utils/react/flattenChildren.ts +0 -32
  693. package/src/utils/react/forwardRef.ts +0 -11
  694. package/src/utils/react/forwardRefPolymorphic.ts +0 -9
  695. package/src/utils/react/mergeRefs.ts +0 -33
  696. package/src/utils/react/renderLink.tsx +0 -17
  697. package/src/utils/react/skipRender.tsx +0 -18
  698. package/src/utils/react/unref.ts +0 -7
  699. package/src/utils/react/wrapChildrenIconWithSpaces.test.tsx +0 -37
  700. package/src/utils/react/wrapChildrenIconWithSpaces.tsx +0 -22
  701. package/src/utils/theme/ThemeContext.ts +0 -16
  702. package/src/utils/theme/invertTheme.ts +0 -4
  703. package/src/utils/type/Comp.ts +0 -14
  704. package/src/utils/type/ComponentRef.ts +0 -16
  705. package/src/utils/type/HasAriaDisabled.ts +0 -6
  706. package/src/utils/type/HasPolymorphicAs.ts +0 -6
  707. package/src/utils/type/HasRequiredLinkHref.ts +0 -1
  708. package/src/utils/type/MaybeElementOrRef.ts +0 -6
  709. package/src/utils/type/index.ts +0 -9
  710. package/src/utils/type/isComponent.ts +0 -33
  711. package/src/utils/type/isComponentType.ts +0 -9
@@ -0,0 +1 @@
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,360 @@
1
+ import { useRef, useState, useEffect } from 'react';
2
+ import { f as forwardRef, c as classNames } from '../forwardRef-15f62847.js';
3
+ import get from 'lodash/get';
4
+ import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
5
+ import { m as mergeRefs } from '../mergeRefs-f0d7d6ea.js';
6
+ import { u as useId } from '../useId-3a1facc0.js';
7
+ import { u as useTheme } from '../ThemeContext-3181f000.js';
8
+ import { u as useDisableStateProps } from '../useDisableStateProps-69e16b7c.js';
9
+ import { jsxs, jsx } from 'react/jsx-runtime';
10
+ import { Theme, Size, Emphasis, Kind } from '@lumx/core/js/constants';
11
+ import { InputLabel } from './input-label-2feb0bb0.js';
12
+ import { I as Icon, m as mdiAlertCircle } from '../index-192f8ada.js';
13
+ import { m as mdiCheckCircle } from '../check-circle-de24f857.js';
14
+ import { I as IconButton } from '../IconButton-1a22c4c8.js';
15
+ import { m as mdiCloseCircle } from '../close-circle-ef5d1aac.js';
16
+ import { InputHelper } from './input-helper-64153099.js';
17
+
18
+ /**
19
+ * Component display name.
20
+ */
21
+ const COMPONENT_NAME = 'TextField';
22
+
23
+ /**
24
+ * Component default class name and class prefix.
25
+ */
26
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
27
+
28
+ /**
29
+ * Default minimum number of rows in the multiline mode.
30
+ */
31
+ const DEFAULT_MIN_ROWS = 2;
32
+
33
+ /**
34
+ * Component default props.
35
+ */
36
+ const DEFAULT_PROPS = {
37
+ type: 'text'
38
+ };
39
+
40
+ /**
41
+ * Hook that allows to calculate the number of rows needed for a text area.
42
+ * @param minimumRows Minimum number of rows that we want to display.
43
+ * @return rows to be used and a callback to recalculate
44
+ */
45
+ const useComputeNumberOfRows = minimumRows => {
46
+ const [rows, setRows] = useState(minimumRows);
47
+ const recompute = target => {
48
+ /**
49
+ * HEAD's UP! This part is a little bit tricky. The idea here is to only
50
+ * display the necessary rows on the textarea. In order to dynamically adjust
51
+ * the height on that field, we need to:
52
+ * 1. Set the current amount of rows to the minimum. That will make the scroll appear.
53
+ * 2. With that, we will have the `scrollHeight`, meaning the height of the container adjusted to the current content
54
+ * 3. With the scroll height, we can figure out how many rows we need to use by dividing the scroll height
55
+ * by the line height.
56
+ * 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
57
+ * the state change through React, there are some scenarios (resize, hitting ENTER or BACKSPACE which add or remove lines)
58
+ * when we will not see the update and the rows will be resized to the minimum.
59
+ * 5. In case there is any other update on the component that changes the UI, we need to keep the number of rows
60
+ * on the state in order to allow React to re-render. Therefore, we save them using `useState`
61
+ */
62
+ // eslint-disable-next-line no-param-reassign
63
+ target.rows = minimumRows;
64
+ let currentRows = target.scrollHeight / (target.clientHeight / minimumRows);
65
+ currentRows = currentRows >= minimumRows ? currentRows : minimumRows;
66
+ // eslint-disable-next-line no-param-reassign
67
+ target.rows = currentRows;
68
+ setRows(currentRows);
69
+ };
70
+ return {
71
+ recomputeNumberOfRows: recompute,
72
+ rows
73
+ };
74
+ };
75
+ const renderInputNative = props => {
76
+ const {
77
+ id,
78
+ isRequired,
79
+ placeholder,
80
+ multiline,
81
+ value,
82
+ setFocus,
83
+ onChange,
84
+ onFocus,
85
+ onBlur,
86
+ inputRef,
87
+ rows,
88
+ recomputeNumberOfRows,
89
+ type,
90
+ name,
91
+ hasError,
92
+ describedById,
93
+ ...forwardedProps
94
+ } = props;
95
+ // eslint-disable-next-line react-hooks/rules-of-hooks
96
+ const ref = useRef(null);
97
+
98
+ // eslint-disable-next-line react-hooks/rules-of-hooks
99
+ useEffect(() => {
100
+ // Recompute the number of rows for the first rendering
101
+ if (multiline && ref && ref.current) {
102
+ recomputeNumberOfRows(ref.current);
103
+ }
104
+ }, [ref, multiline, recomputeNumberOfRows, value]);
105
+ const onTextFieldFocus = event => {
106
+ onFocus?.(event);
107
+ setFocus(true);
108
+ };
109
+ const onTextFieldBlur = event => {
110
+ onBlur?.(event);
111
+ setFocus(false);
112
+ };
113
+ const handleChange = event => {
114
+ onChange(get(event, 'target.value'), name, event);
115
+ };
116
+ const Component = multiline ? 'textarea' : 'input';
117
+ const inputProps = {
118
+ ...forwardedProps,
119
+ id,
120
+ className: multiline ? `${CLASSNAME}__input-native ${CLASSNAME}__input-native--textarea` : `${CLASSNAME}__input-native ${CLASSNAME}__input-native--text`,
121
+ placeholder,
122
+ value,
123
+ name,
124
+ required: isRequired,
125
+ onFocus: onTextFieldFocus,
126
+ onBlur: onTextFieldBlur,
127
+ onChange: handleChange,
128
+ 'aria-invalid': hasError ? 'true' : undefined,
129
+ 'aria-describedby': describedById,
130
+ readOnly: forwardedProps.readOnly || forwardedProps['aria-disabled'],
131
+ ref: mergeRefs(inputRef, ref)
132
+ };
133
+ if (multiline) {
134
+ inputProps.rows = rows;
135
+ } else {
136
+ inputProps.type = type;
137
+ }
138
+ return /*#__PURE__*/jsx(Component, {
139
+ ...inputProps
140
+ });
141
+ };
142
+
143
+ /**
144
+ * TextField component.
145
+ *
146
+ * @param props Component props.
147
+ * @param ref Component ref.
148
+ * @return React element.
149
+ */
150
+ const TextField = forwardRef((props, ref) => {
151
+ const {
152
+ isAnyDisabled,
153
+ disabledStateProps,
154
+ otherProps
155
+ } = useDisableStateProps(props);
156
+ const defaultTheme = useTheme() || Theme.light;
157
+ const {
158
+ chips,
159
+ className,
160
+ clearButtonProps,
161
+ error,
162
+ forceFocusStyle,
163
+ hasError,
164
+ helper,
165
+ icon,
166
+ id,
167
+ inputRef: inputRefProps,
168
+ isRequired,
169
+ isValid,
170
+ label,
171
+ labelProps,
172
+ maxLength,
173
+ minimumRows,
174
+ multiline,
175
+ name,
176
+ onBlur,
177
+ onChange,
178
+ onClear,
179
+ onFocus,
180
+ placeholder,
181
+ textFieldRef,
182
+ theme = defaultTheme,
183
+ type = DEFAULT_PROPS.type,
184
+ value,
185
+ afterElement,
186
+ ...forwardedProps
187
+ } = otherProps;
188
+ const generatedTextFieldId = useId();
189
+ const textFieldId = id || generatedTextFieldId;
190
+ /** Keep a clean local input ref to manage focus */
191
+ const localInputRef = useRef(null);
192
+ /** Merge prop input ref and local input ref */
193
+ const inputRef = mergeRefs(localInputRef, inputRefProps);
194
+ /**
195
+ * Generate unique ids for both the helper and error texts, in order to
196
+ * later on add them to the input native as aria-describedby. If both the error and the helper are present,
197
+ * we want to first use the most important one, which is the errorId. That way, screen readers will read first
198
+ * the error and then the helper
199
+ */
200
+ const helperId = helper ? `text-field-helper-${generatedTextFieldId}` : undefined;
201
+ const errorId = error ? `text-field-error-${generatedTextFieldId}` : undefined;
202
+ const describedByIds = [errorId, helperId, forwardedProps['aria-describedby']].filter(Boolean);
203
+ const describedById = describedByIds.length === 0 ? undefined : describedByIds.join(' ');
204
+ const [isFocus, setFocus] = useState(false);
205
+ const {
206
+ rows,
207
+ recomputeNumberOfRows
208
+ } = useComputeNumberOfRows(multiline ? minimumRows || DEFAULT_MIN_ROWS : 0);
209
+ const valueLength = (value || '').length;
210
+ const isNotEmpty = valueLength > 0;
211
+
212
+ /**
213
+ * Function triggered when the Clear Button is clicked.
214
+ * The idea is to execute the `onChange` callback with an empty string
215
+ * and remove focus from the clear button.
216
+ * @param evt On clear event.
217
+ */
218
+ const handleClear = evt => {
219
+ evt.nativeEvent.preventDefault();
220
+ evt.nativeEvent.stopPropagation();
221
+ evt.currentTarget.blur();
222
+ onChange('');
223
+ if (onClear) {
224
+ onClear(evt);
225
+ }
226
+
227
+ /** Use local inputRef in case the prop input ref is a `mergeRefs` function. */
228
+ const inputElement = localInputRef;
229
+ if (inputElement && inputElement.current) {
230
+ inputElement.current.focus();
231
+ }
232
+ };
233
+ return /*#__PURE__*/jsxs("div", {
234
+ ref: ref,
235
+ className: classNames(className, handleBasicClasses({
236
+ hasChips: Boolean(chips),
237
+ hasError: !isValid && hasError,
238
+ hasIcon: Boolean(icon),
239
+ hasInput: !multiline,
240
+ hasInputClear: clearButtonProps && isNotEmpty,
241
+ hasLabel: Boolean(label),
242
+ hasPlaceholder: Boolean(placeholder),
243
+ hasTextarea: multiline,
244
+ hasValue: Boolean(value),
245
+ isDisabled: isAnyDisabled,
246
+ isFocus: isFocus || forceFocusStyle,
247
+ isValid,
248
+ prefix: CLASSNAME,
249
+ theme
250
+ })),
251
+ children: [(label || maxLength) && /*#__PURE__*/jsxs("div", {
252
+ className: `${CLASSNAME}__header`,
253
+ children: [label && /*#__PURE__*/jsx(InputLabel, {
254
+ ...labelProps,
255
+ htmlFor: textFieldId,
256
+ className: `${CLASSNAME}__label`,
257
+ isRequired: isRequired,
258
+ theme: theme,
259
+ children: label
260
+ }), maxLength && /*#__PURE__*/jsxs("div", {
261
+ className: `${CLASSNAME}__char-counter`,
262
+ children: [/*#__PURE__*/jsx("span", {
263
+ children: maxLength - valueLength
264
+ }), maxLength - valueLength === 0 && /*#__PURE__*/jsx(Icon, {
265
+ icon: mdiAlertCircle,
266
+ size: Size.xxs
267
+ })]
268
+ })]
269
+ }), /*#__PURE__*/jsxs("div", {
270
+ className: `${CLASSNAME}__wrapper`,
271
+ ref: textFieldRef,
272
+ children: [icon && /*#__PURE__*/jsx(Icon, {
273
+ className: `${CLASSNAME}__input-icon`,
274
+ color: theme === Theme.dark ? 'light' : undefined,
275
+ icon: icon,
276
+ size: Size.xs
277
+ }), chips && /*#__PURE__*/jsxs("div", {
278
+ className: `${CLASSNAME}__chips`,
279
+ children: [chips, renderInputNative({
280
+ id: textFieldId,
281
+ inputRef,
282
+ ...disabledStateProps,
283
+ isRequired,
284
+ maxLength,
285
+ multiline,
286
+ onBlur,
287
+ onChange,
288
+ onFocus,
289
+ placeholder,
290
+ recomputeNumberOfRows,
291
+ rows,
292
+ setFocus,
293
+ type,
294
+ value,
295
+ name,
296
+ hasError,
297
+ describedById,
298
+ ...forwardedProps
299
+ })]
300
+ }), !chips && /*#__PURE__*/jsx("div", {
301
+ className: `${CLASSNAME}__input-wrapper`,
302
+ children: renderInputNative({
303
+ id: textFieldId,
304
+ inputRef,
305
+ ...disabledStateProps,
306
+ isRequired,
307
+ maxLength,
308
+ multiline,
309
+ onBlur,
310
+ onChange,
311
+ onFocus,
312
+ placeholder,
313
+ recomputeNumberOfRows,
314
+ rows,
315
+ setFocus,
316
+ type,
317
+ value,
318
+ name,
319
+ hasError,
320
+ describedById,
321
+ ...forwardedProps
322
+ })
323
+ }), (isValid || hasError) && /*#__PURE__*/jsx(Icon, {
324
+ className: `${CLASSNAME}__input-validity`,
325
+ color: theme === Theme.dark ? 'light' : undefined,
326
+ icon: isValid ? mdiCheckCircle : mdiAlertCircle,
327
+ size: Size.xxs
328
+ }), clearButtonProps && isNotEmpty && !isAnyDisabled && /*#__PURE__*/jsx(IconButton, {
329
+ ...clearButtonProps,
330
+ className: `${CLASSNAME}__input-clear`,
331
+ icon: mdiCloseCircle,
332
+ emphasis: Emphasis.low,
333
+ size: Size.s,
334
+ theme: theme,
335
+ onClick: handleClear,
336
+ type: "button"
337
+ }), afterElement && /*#__PURE__*/jsx("div", {
338
+ className: `${CLASSNAME}__after-element`,
339
+ children: afterElement
340
+ })]
341
+ }), hasError && error && /*#__PURE__*/jsx(InputHelper, {
342
+ className: `${CLASSNAME}__helper`,
343
+ kind: Kind.error,
344
+ theme: theme,
345
+ id: errorId,
346
+ children: error
347
+ }), helper && /*#__PURE__*/jsx(InputHelper, {
348
+ className: `${CLASSNAME}__helper`,
349
+ theme: theme,
350
+ id: helperId,
351
+ children: helper
352
+ })]
353
+ });
354
+ });
355
+ TextField.displayName = COMPONENT_NAME;
356
+ TextField.className = CLASSNAME;
357
+ TextField.defaultProps = DEFAULT_PROPS;
358
+
359
+ export { TextField };
360
+ //# sourceMappingURL=text-field-0a15a15d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-field-0a15a15d.js","sources":["../../../src/components/text-field/TextField.tsx"],"sourcesContent":["import { ReactNode, Ref, RefObject, SyntheticEvent, useEffect, useRef, useState } from 'react';\n\nimport classNames from 'classnames';\nimport get from 'lodash/get';\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) => {\n onChange(get(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","get","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;;;;"}