@lumx/react 3.20.1-alpha.14 → 3.20.1-alpha.15

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 (697) hide show
  1. package/_internal/Button-f19e18df.js +96 -0
  2. package/_internal/Button-f19e18df.js.map +1 -0
  3. package/_internal/ButtonRoot-ab633b1d.js +115 -0
  4. package/_internal/ButtonRoot-ab633b1d.js.map +1 -0
  5. package/_internal/Chip-4c572eec.js +149 -0
  6. package/_internal/Chip-4c572eec.js.map +1 -0
  7. package/_internal/ClickAwayProvider-bcce6ceb.js +93 -0
  8. package/_internal/ClickAwayProvider-bcce6ceb.js.map +1 -0
  9. package/_internal/DisabledStateContext-077b7bef.js +29 -0
  10. package/_internal/DisabledStateContext-077b7bef.js.map +1 -0
  11. package/_internal/HeadingLevelProvider-e4817816.js +59 -0
  12. package/_internal/HeadingLevelProvider-e4817816.js.map +1 -0
  13. package/_internal/IconButton-10585058.js +72 -0
  14. package/_internal/IconButton-10585058.js.map +1 -0
  15. package/_internal/ImageCaption-4279b2b6.js +65 -0
  16. package/_internal/ImageCaption-4279b2b6.js.map +1 -0
  17. package/_internal/List-d5f5d465.js +791 -0
  18. package/_internal/List-d5f5d465.js.map +1 -0
  19. package/_internal/PopoverDialog-21e5c9dd.js +647 -0
  20. package/_internal/PopoverDialog-21e5c9dd.js.map +1 -0
  21. package/_internal/Portal-c43d098b.js +42 -0
  22. package/_internal/Portal-c43d098b.js.map +1 -0
  23. package/_internal/RawClickable-c76bbc4c.js +50 -0
  24. package/_internal/RawClickable-c76bbc4c.js.map +1 -0
  25. package/_internal/Slides-01f513ce.js +675 -0
  26. package/_internal/Slides-01f513ce.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-30d2a781.js +312 -0
  30. package/_internal/Thumbnail-30d2a781.js.map +1 -0
  31. package/_internal/components/alert-dialog-8f1c163c.js +147 -0
  32. package/_internal/components/alert-dialog-8f1c163c.js.map +1 -0
  33. package/_internal/components/autocomplete-bfbdeb3c.js +264 -0
  34. package/_internal/components/autocomplete-bfbdeb3c.js.map +1 -0
  35. package/_internal/components/avatar-6990e3e9.js +87 -0
  36. package/_internal/components/avatar-6990e3e9.js.map +1 -0
  37. package/_internal/components/badge-81543bc7.js +81 -0
  38. package/_internal/components/badge-81543bc7.js.map +1 -0
  39. package/_internal/components/button-927abe71.js +49 -0
  40. package/_internal/components/button-927abe71.js.map +1 -0
  41. package/_internal/components/checkbox-dc4caec8.js +131 -0
  42. package/_internal/components/checkbox-dc4caec8.js.map +1 -0
  43. package/_internal/components/chip-fb3d0c76.js +104 -0
  44. package/_internal/components/chip-fb3d0c76.js.map +1 -0
  45. package/_internal/components/comment-block-b84c4694.js +121 -0
  46. package/_internal/components/comment-block-b84c4694.js.map +1 -0
  47. package/_internal/components/date-picker-a425534c.js +2 -0
  48. package/_internal/components/date-picker-a425534c.js.map +1 -0
  49. package/_internal/components/dialog-7dbcb485.js +226 -0
  50. package/_internal/components/dialog-7dbcb485.js.map +1 -0
  51. package/_internal/components/divider-12e9b6a0.js +53 -0
  52. package/_internal/components/divider-12e9b6a0.js.map +1 -0
  53. package/_internal/components/drag-handle-a38ff757.js +53 -0
  54. package/_internal/components/drag-handle-a38ff757.js.map +1 -0
  55. package/_internal/components/dropdown-38b0b6a0.js +148 -0
  56. package/_internal/components/dropdown-38b0b6a0.js.map +1 -0
  57. package/_internal/components/expansion-panel-c4b93653.js +158 -0
  58. package/_internal/components/expansion-panel-c4b93653.js.map +1 -0
  59. package/_internal/components/flag-c5e2f5f0.js +55 -0
  60. package/_internal/components/flag-c5e2f5f0.js.map +1 -0
  61. package/_internal/components/flex-box-c8701a85.js +58 -0
  62. package/_internal/components/flex-box-c8701a85.js.map +1 -0
  63. package/_internal/components/generic-block-0d6ad5a6.js +115 -0
  64. package/_internal/components/generic-block-0d6ad5a6.js.map +1 -0
  65. package/_internal/components/grid-3b194fe8.js +109 -0
  66. package/_internal/components/grid-3b194fe8.js.map +1 -0
  67. package/_internal/components/grid-column-985b9327.js +60 -0
  68. package/_internal/components/grid-column-985b9327.js.map +1 -0
  69. package/_internal/components/heading-5e954dfc.js +54 -0
  70. package/_internal/components/heading-5e954dfc.js.map +1 -0
  71. package/_internal/components/icon-2e7345ad.js +103 -0
  72. package/_internal/components/icon-2e7345ad.js.map +1 -0
  73. package/_internal/components/image-block-8d21dd7e.js +109 -0
  74. package/_internal/components/image-block-8d21dd7e.js.map +1 -0
  75. package/_internal/components/image-lightbox-4a5ab962.js +743 -0
  76. package/_internal/components/image-lightbox-4a5ab962.js.map +1 -0
  77. package/_internal/components/inline-list-4884f004.js +74 -0
  78. package/_internal/components/inline-list-4884f004.js.map +1 -0
  79. package/_internal/components/input-helper-e644e05e.js +73 -0
  80. package/_internal/components/input-helper-e644e05e.js.map +1 -0
  81. package/_internal/components/input-label-5e509a1b.js +61 -0
  82. package/_internal/components/input-label-5e509a1b.js.map +1 -0
  83. package/_internal/components/lightbox-bec1b95f.js +149 -0
  84. package/_internal/components/lightbox-bec1b95f.js.map +1 -0
  85. package/_internal/components/link-9637b9e4.js +70 -0
  86. package/_internal/components/link-9637b9e4.js.map +1 -0
  87. package/_internal/components/link-preview-7a4a6e4b.js +108 -0
  88. package/_internal/components/link-preview-7a4a6e4b.js.map +1 -0
  89. package/_internal/components/list-5c8f7122.js +77 -0
  90. package/_internal/components/list-5c8f7122.js.map +1 -0
  91. package/_internal/components/message-a67067d9.js +96 -0
  92. package/_internal/components/message-a67067d9.js.map +1 -0
  93. package/_internal/components/mosaic-92b66c80.js +92 -0
  94. package/_internal/components/mosaic-92b66c80.js.map +1 -0
  95. package/_internal/components/navigation-4fd3917d.js +210 -0
  96. package/_internal/components/navigation-4fd3917d.js.map +1 -0
  97. package/_internal/components/notification-9063c963.js +140 -0
  98. package/_internal/components/notification-9063c963.js.map +1 -0
  99. package/_internal/components/popover-3c4c54bd.js +3 -0
  100. package/_internal/components/popover-3c4c54bd.js.map +1 -0
  101. package/_internal/components/post-block-0cfc2206.js +99 -0
  102. package/_internal/components/post-block-0cfc2206.js.map +1 -0
  103. package/_internal/components/progress-eaf5b33d.js +188 -0
  104. package/_internal/components/progress-eaf5b33d.js.map +1 -0
  105. package/_internal/components/progress-tracker-4a65718d.js +309 -0
  106. package/_internal/components/progress-tracker-4a65718d.js.map +1 -0
  107. package/_internal/components/radio-button-3ef8a325.js +148 -0
  108. package/_internal/components/radio-button-3ef8a325.js.map +1 -0
  109. package/_internal/components/select-d46cfe35.js +404 -0
  110. package/_internal/components/select-d46cfe35.js.map +1 -0
  111. package/_internal/components/side-navigation-75b22f19.js +159 -0
  112. package/_internal/components/side-navigation-75b22f19.js.map +1 -0
  113. package/_internal/components/skeleton-361ce335.js +174 -0
  114. package/_internal/components/skeleton-361ce335.js.map +1 -0
  115. package/_internal/components/slider-8094cb5c.js +305 -0
  116. package/_internal/components/slider-8094cb5c.js.map +1 -0
  117. package/_internal/components/slideshow-2e8cd372.js +150 -0
  118. package/_internal/components/slideshow-2e8cd372.js.map +1 -0
  119. package/_internal/components/switch-5516949b.js +118 -0
  120. package/_internal/components/switch-5516949b.js.map +1 -0
  121. package/_internal/components/table-fa198ee6.js +299 -0
  122. package/_internal/components/table-fa198ee6.js.map +1 -0
  123. package/_internal/components/tabs-bb9bc2a5.js +298 -0
  124. package/_internal/components/tabs-bb9bc2a5.js.map +1 -0
  125. package/_internal/components/text-289c0526.js +2 -0
  126. package/_internal/components/text-289c0526.js.map +1 -0
  127. package/_internal/components/text-field-82733568.js +346 -0
  128. package/_internal/components/text-field-82733568.js.map +1 -0
  129. package/_internal/components/thumbnail-e3acff82.js +42 -0
  130. package/_internal/components/thumbnail-e3acff82.js.map +1 -0
  131. package/_internal/components/toolbar-155562be.js +60 -0
  132. package/_internal/components/toolbar-155562be.js.map +1 -0
  133. package/_internal/components/tooltip-84ffb4f9.js +318 -0
  134. package/_internal/components/tooltip-84ffb4f9.js.map +1 -0
  135. package/_internal/components/uploader-896a1d89.js +150 -0
  136. package/_internal/components/uploader-896a1d89.js.map +1 -0
  137. package/_internal/components/user-block-8fd15895.js +143 -0
  138. package/_internal/components/user-block-8fd15895.js.map +1 -0
  139. package/_internal/constants-b9e57936.js +2155 -0
  140. package/_internal/constants-b9e57936.js.map +1 -0
  141. package/_internal/constants-d0e3f49e.js +24 -0
  142. package/_internal/constants-d0e3f49e.js.map +1 -0
  143. package/_internal/context-21aeb1c7.js +19 -0
  144. package/_internal/context-21aeb1c7.js.map +1 -0
  145. package/_internal/forwardRef-49d2bb84.js +80 -0
  146. package/_internal/forwardRef-49d2bb84.js.map +1 -0
  147. package/_internal/getFocusableElements-230173a8.js +13 -0
  148. package/_internal/getFocusableElements-230173a8.js.map +1 -0
  149. package/_internal/index-b4d256e7.js +118 -0
  150. package/_internal/index-b4d256e7.js.map +1 -0
  151. package/_internal/index-f415b08e.js +430 -0
  152. package/_internal/index-f415b08e.js.map +1 -0
  153. package/_internal/isComponent-78df9309.js +20 -0
  154. package/_internal/isComponent-78df9309.js.map +1 -0
  155. package/_internal/isComponentType-e806b848.js +9 -0
  156. package/_internal/isComponentType-e806b848.js.map +1 -0
  157. package/_internal/mergeRefs-f0d7d6ea.js +30 -0
  158. package/_internal/mergeRefs-f0d7d6ea.js.map +1 -0
  159. package/{src/utils/partitionMulti.ts → _internal/partitionMulti-4daccdd5.js} +5 -9
  160. package/_internal/partitionMulti-4daccdd5.js.map +1 -0
  161. package/_internal/state-db358714.js +130 -0
  162. package/_internal/state-db358714.js.map +1 -0
  163. package/_internal/useBooleanState-2a3d237c.js +12 -0
  164. package/_internal/useBooleanState-2a3d237c.js.map +1 -0
  165. package/_internal/useCallbackOnEscape-ea4d9eb4.js +62 -0
  166. package/_internal/useCallbackOnEscape-ea4d9eb4.js.map +1 -0
  167. package/_internal/useDisableBodyScroll-36bd7352.js +219 -0
  168. package/_internal/useDisableBodyScroll-36bd7352.js.map +1 -0
  169. package/_internal/useDisableStateProps-fffc365f.js +36 -0
  170. package/_internal/useDisableStateProps-fffc365f.js.map +1 -0
  171. package/_internal/useFocusTrap-c3c6378b.js +112 -0
  172. package/_internal/useFocusTrap-c3c6378b.js.map +1 -0
  173. package/_internal/useId-3a1facc0.js +18 -0
  174. package/_internal/useId-3a1facc0.js.map +1 -0
  175. package/_internal/useRovingTabIndex-7daf0f24.js +77 -0
  176. package/_internal/useRovingTabIndex-7daf0f24.js.map +1 -0
  177. package/_internal/useTransitionVisibility-321fdbfa.js +50 -0
  178. package/_internal/useTransitionVisibility-321fdbfa.js.map +1 -0
  179. package/_internal/wrapChildrenIconWithSpaces-f86106ce.js +20 -0
  180. package/_internal/wrapChildrenIconWithSpaces-f86106ce.js.map +1 -0
  181. package/index.d.ts +7 -352
  182. package/index.js +65 -14486
  183. package/index.js.map +1 -1
  184. package/package.json +3 -11
  185. package/utils/index.d.ts +1 -1
  186. package/utils/index.js +3 -1
  187. package/utils/index.js.map +1 -1
  188. package/_internal/Falsy.d.ts +0 -7
  189. package/_internal/index.js +0 -236
  190. package/_internal/index.js.map +0 -1
  191. package/src/components/alert-dialog/AlertDialog.stories.tsx +0 -127
  192. package/src/components/alert-dialog/AlertDialog.test.tsx +0 -34
  193. package/src/components/alert-dialog/AlertDialog.tsx +0 -189
  194. package/src/components/alert-dialog/index.ts +0 -1
  195. package/src/components/autocomplete/Autocomplete.stories.tsx +0 -75
  196. package/src/components/autocomplete/Autocomplete.test.tsx +0 -99
  197. package/src/components/autocomplete/Autocomplete.tsx +0 -294
  198. package/src/components/autocomplete/AutocompleteMultiple.stories.tsx +0 -167
  199. package/src/components/autocomplete/AutocompleteMultiple.test.tsx +0 -61
  200. package/src/components/autocomplete/AutocompleteMultiple.tsx +0 -156
  201. package/src/components/autocomplete/__mockData__/index.ts +0 -39
  202. package/src/components/autocomplete/index.ts +0 -2
  203. package/src/components/avatar/Avatar.stories.tsx +0 -119
  204. package/src/components/avatar/Avatar.test.tsx +0 -32
  205. package/src/components/avatar/Avatar.tsx +0 -114
  206. package/src/components/avatar/index.ts +0 -1
  207. package/src/components/badge/Badge.stories.tsx +0 -69
  208. package/src/components/badge/Badge.test.tsx +0 -45
  209. package/src/components/badge/Badge.tsx +0 -58
  210. package/src/components/badge/BadgeWrapper.stories.tsx +0 -75
  211. package/src/components/badge/BadgeWrapper.test.tsx +0 -47
  212. package/src/components/badge/BadgeWrapper.tsx +0 -37
  213. package/src/components/badge/index.ts +0 -2
  214. package/src/components/button/Button.stories.tsx +0 -355
  215. package/src/components/button/Button.test.tsx +0 -125
  216. package/src/components/button/Button.tsx +0 -101
  217. package/src/components/button/ButtonGroup.stories.tsx +0 -52
  218. package/src/components/button/ButtonGroup.test.tsx +0 -41
  219. package/src/components/button/ButtonGroup.tsx +0 -50
  220. package/src/components/button/ButtonRoot.tsx +0 -163
  221. package/src/components/button/IconButton.stories.tsx +0 -52
  222. package/src/components/button/IconButton.test.tsx +0 -66
  223. package/src/components/button/IconButton.tsx +0 -91
  224. package/src/components/button/index.ts +0 -4
  225. package/src/components/checkbox/Checkbox.stories.tsx +0 -64
  226. package/src/components/checkbox/Checkbox.test.tsx +0 -154
  227. package/src/components/checkbox/Checkbox.tsx +0 -164
  228. package/src/components/checkbox/index.ts +0 -1
  229. package/src/components/chip/Chip.stories.tsx +0 -164
  230. package/src/components/chip/Chip.test.tsx +0 -243
  231. package/src/components/chip/Chip.tsx +0 -168
  232. package/src/components/chip/ChipGroup.stories.tsx +0 -47
  233. package/src/components/chip/ChipGroup.test.tsx +0 -37
  234. package/src/components/chip/ChipGroup.tsx +0 -60
  235. package/src/components/chip/index.ts +0 -2
  236. package/src/components/comment-block/CommentBlock.stories.tsx +0 -91
  237. package/src/components/comment-block/CommentBlock.test.tsx +0 -28
  238. package/src/components/comment-block/CommentBlock.tsx +0 -172
  239. package/src/components/comment-block/index.ts +0 -1
  240. package/src/components/date-picker/DatePicker.stories.tsx +0 -118
  241. package/src/components/date-picker/DatePicker.test.tsx +0 -34
  242. package/src/components/date-picker/DatePicker.tsx +0 -52
  243. package/src/components/date-picker/DatePickerControlled.test.tsx +0 -91
  244. package/src/components/date-picker/DatePickerControlled.tsx +0 -259
  245. package/src/components/date-picker/DatePickerField.stories.tsx +0 -100
  246. package/src/components/date-picker/DatePickerField.test.tsx +0 -70
  247. package/src/components/date-picker/DatePickerField.tsx +0 -135
  248. package/src/components/date-picker/constants.ts +0 -11
  249. package/src/components/date-picker/index.ts +0 -4
  250. package/src/components/date-picker/types.ts +0 -28
  251. package/src/components/dialog/Dialog.stories.tsx +0 -318
  252. package/src/components/dialog/Dialog.test.tsx +0 -97
  253. package/src/components/dialog/Dialog.tsx +0 -288
  254. package/src/components/dialog/index.ts +0 -1
  255. package/src/components/divider/Divider.test.tsx +0 -51
  256. package/src/components/divider/Divider.tsx +0 -50
  257. package/src/components/divider/index.ts +0 -1
  258. package/src/components/drag-handle/DragHandle.test.tsx +0 -36
  259. package/src/components/drag-handle/DragHandle.tsx +0 -51
  260. package/src/components/drag-handle/index.ts +0 -1
  261. package/src/components/dropdown/Dropdown.stories.tsx +0 -31
  262. package/src/components/dropdown/Dropdown.test.tsx +0 -66
  263. package/src/components/dropdown/Dropdown.tsx +0 -186
  264. package/src/components/dropdown/index.ts +0 -1
  265. package/src/components/expansion-panel/ExpansionPanel.stories.tsx +0 -91
  266. package/src/components/expansion-panel/ExpansionPanel.test.tsx +0 -185
  267. package/src/components/expansion-panel/ExpansionPanel.tsx +0 -195
  268. package/src/components/expansion-panel/index.ts +0 -1
  269. package/src/components/flag/Flag.stories.tsx +0 -48
  270. package/src/components/flag/Flag.test.tsx +0 -62
  271. package/src/components/flag/Flag.tsx +0 -52
  272. package/src/components/flag/index.ts +0 -1
  273. package/src/components/flex-box/FlexBox.stories.tsx +0 -156
  274. package/src/components/flex-box/FlexBox.test.tsx +0 -24
  275. package/src/components/flex-box/FlexBox.tsx +0 -100
  276. package/src/components/flex-box/index.ts +0 -1
  277. package/src/components/generic-block/GenericBlock.stories.jsx +0 -128
  278. package/src/components/generic-block/GenericBlock.test.tsx +0 -156
  279. package/src/components/generic-block/GenericBlock.tsx +0 -225
  280. package/src/components/generic-block/constants.ts +0 -9
  281. package/src/components/generic-block/index.ts +0 -2
  282. package/src/components/grid/Grid.tsx +0 -83
  283. package/src/components/grid/GridItem.tsx +0 -55
  284. package/src/components/grid/index.ts +0 -2
  285. package/src/components/grid-column/GridColumn.stories.tsx +0 -45
  286. package/src/components/grid-column/GridColumn.test.jsx +0 -56
  287. package/src/components/grid-column/GridColumn.tsx +0 -83
  288. package/src/components/grid-column/index.ts +0 -1
  289. package/src/components/heading/Heading.stories.tsx +0 -69
  290. package/src/components/heading/Heading.test.tsx +0 -82
  291. package/src/components/heading/Heading.tsx +0 -65
  292. package/src/components/heading/HeadingLevelProvider.tsx +0 -30
  293. package/src/components/heading/constants.ts +0 -16
  294. package/src/components/heading/context.tsx +0 -13
  295. package/src/components/heading/index.ts +0 -3
  296. package/src/components/heading/useHeadingLevel.tsx +0 -8
  297. package/src/components/icon/Icon.stories.tsx +0 -73
  298. package/src/components/icon/Icon.test.tsx +0 -125
  299. package/src/components/icon/Icon.tsx +0 -133
  300. package/src/components/icon/index.ts +0 -1
  301. package/src/components/image-block/ImageBlock.stories.tsx +0 -117
  302. package/src/components/image-block/ImageBlock.test.tsx +0 -58
  303. package/src/components/image-block/ImageBlock.tsx +0 -142
  304. package/src/components/image-block/ImageCaption.tsx +0 -115
  305. package/src/components/image-block/index.ts +0 -1
  306. package/src/components/image-lightbox/ImageLightbox.stories.tsx +0 -160
  307. package/src/components/image-lightbox/ImageLightbox.test.tsx +0 -254
  308. package/src/components/image-lightbox/ImageLightbox.tsx +0 -90
  309. package/src/components/image-lightbox/constants.ts +0 -11
  310. package/src/components/image-lightbox/index.ts +0 -2
  311. package/src/components/image-lightbox/internal/ImageSlide.tsx +0 -107
  312. package/src/components/image-lightbox/internal/ImageSlideshow.tsx +0 -164
  313. package/src/components/image-lightbox/internal/useAnimateScroll.ts +0 -55
  314. package/src/components/image-lightbox/internal/usePointerZoom.ts +0 -148
  315. package/src/components/image-lightbox/types.ts +0 -48
  316. package/src/components/image-lightbox/useImageLightbox.tsx +0 -141
  317. package/src/components/inline-list/InlineList.stories.tsx +0 -77
  318. package/src/components/inline-list/InlineList.test.tsx +0 -52
  319. package/src/components/inline-list/InlineList.tsx +0 -96
  320. package/src/components/inline-list/index.ts +0 -1
  321. package/src/components/input-helper/InputHelper.stories.tsx +0 -35
  322. package/src/components/input-helper/InputHelper.test.tsx +0 -55
  323. package/src/components/input-helper/InputHelper.tsx +0 -65
  324. package/src/components/input-helper/constants.ts +0 -11
  325. package/src/components/input-helper/index.ts +0 -1
  326. package/src/components/input-label/InputLabel.stories.tsx +0 -45
  327. package/src/components/input-label/InputLabel.test.tsx +0 -59
  328. package/src/components/input-label/InputLabel.tsx +0 -69
  329. package/src/components/input-label/index.ts +0 -1
  330. package/src/components/lightbox/Lightbox.stories.tsx +0 -101
  331. package/src/components/lightbox/Lightbox.test.tsx +0 -53
  332. package/src/components/lightbox/Lightbox.tsx +0 -180
  333. package/src/components/lightbox/index.ts +0 -1
  334. package/src/components/link/Link.stories.tsx +0 -195
  335. package/src/components/link/Link.test.tsx +0 -127
  336. package/src/components/link/Link.tsx +0 -106
  337. package/src/components/link/index.ts +0 -1
  338. package/src/components/link-preview/LinkPreview.stories.tsx +0 -61
  339. package/src/components/link-preview/LinkPreview.test.tsx +0 -105
  340. package/src/components/link-preview/LinkPreview.tsx +0 -158
  341. package/src/components/link-preview/index.ts +0 -1
  342. package/src/components/list/List.stories.tsx +0 -116
  343. package/src/components/list/List.test.tsx +0 -18
  344. package/src/components/list/List.tsx +0 -104
  345. package/src/components/list/ListDivider.stories.tsx +0 -12
  346. package/src/components/list/ListDivider.test.tsx +0 -22
  347. package/src/components/list/ListDivider.tsx +0 -35
  348. package/src/components/list/ListItem.stories.tsx +0 -66
  349. package/src/components/list/ListItem.test.tsx +0 -93
  350. package/src/components/list/ListItem.tsx +0 -157
  351. package/src/components/list/ListSubheader.stories.tsx +0 -11
  352. package/src/components/list/ListSubheader.test.tsx +0 -21
  353. package/src/components/list/ListSubheader.tsx +0 -44
  354. package/src/components/list/index.ts +0 -4
  355. package/src/components/list/useInteractiveList.tsx +0 -202
  356. package/src/components/message/Message.stories.tsx +0 -72
  357. package/src/components/message/Message.test.tsx +0 -76
  358. package/src/components/message/Message.tsx +0 -100
  359. package/src/components/message/index.ts +0 -1
  360. package/src/components/mosaic/Mosaic.stories.tsx +0 -89
  361. package/src/components/mosaic/Mosaic.test.tsx +0 -77
  362. package/src/components/mosaic/Mosaic.tsx +0 -98
  363. package/src/components/mosaic/index.ts +0 -1
  364. package/src/components/navigation/Navigation.stories.tsx +0 -234
  365. package/src/components/navigation/Navigation.test.tsx +0 -65
  366. package/src/components/navigation/Navigation.tsx +0 -79
  367. package/src/components/navigation/NavigationItem.test.tsx +0 -35
  368. package/src/components/navigation/NavigationItem.tsx +0 -82
  369. package/src/components/navigation/NavigationSection.test.tsx +0 -137
  370. package/src/components/navigation/NavigationSection.tsx +0 -108
  371. package/src/components/navigation/context.tsx +0 -7
  372. package/src/components/navigation/index.ts +0 -1
  373. package/src/components/notification/Notification.test.tsx +0 -94
  374. package/src/components/notification/Notification.tsx +0 -138
  375. package/src/components/notification/Notifications.stories.tsx +0 -92
  376. package/src/components/notification/constants.ts +0 -28
  377. package/src/components/notification/index.ts +0 -1
  378. package/src/components/popover/Popover.stories.tsx +0 -264
  379. package/src/components/popover/Popover.test.tsx +0 -62
  380. package/src/components/popover/Popover.tsx +0 -201
  381. package/src/components/popover/constants.ts +0 -62
  382. package/src/components/popover/index.ts +0 -3
  383. package/src/components/popover/usePopoverStyle.tsx +0 -184
  384. package/src/components/popover/useRestoreFocusOnClose.tsx +0 -47
  385. package/src/components/popover-dialog/PopoverDialog.stories.tsx +0 -64
  386. package/src/components/popover-dialog/PopoverDialog.test.tsx +0 -139
  387. package/src/components/popover-dialog/PopoverDialog.tsx +0 -74
  388. package/src/components/popover-dialog/index.tsx +0 -1
  389. package/src/components/post-block/PostBlock.test.tsx +0 -27
  390. package/src/components/post-block/PostBlock.tsx +0 -122
  391. package/src/components/post-block/index.ts +0 -1
  392. package/src/components/progress/Progress.tsx +0 -68
  393. package/src/components/progress/ProgressCircular.stories.tsx +0 -43
  394. package/src/components/progress/ProgressCircular.test.tsx +0 -46
  395. package/src/components/progress/ProgressCircular.tsx +0 -82
  396. package/src/components/progress/ProgressLinear.stories.tsx +0 -12
  397. package/src/components/progress/ProgressLinear.test.tsx +0 -30
  398. package/src/components/progress/ProgressLinear.tsx +0 -50
  399. package/src/components/progress/index.ts +0 -3
  400. package/src/components/progress-tracker/ProgressTracker.stories.tsx +0 -145
  401. package/src/components/progress-tracker/ProgressTracker.test.tsx +0 -42
  402. package/src/components/progress-tracker/ProgressTracker.tsx +0 -87
  403. package/src/components/progress-tracker/ProgressTrackerProvider.test.tsx +0 -65
  404. package/src/components/progress-tracker/ProgressTrackerProvider.tsx +0 -67
  405. package/src/components/progress-tracker/ProgressTrackerStep.test.tsx +0 -36
  406. package/src/components/progress-tracker/ProgressTrackerStep.tsx +0 -159
  407. package/src/components/progress-tracker/ProgressTrackerStepPanel.test.tsx +0 -34
  408. package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +0 -67
  409. package/src/components/progress-tracker/index.ts +0 -4
  410. package/src/components/radio-button/RadioButton.stories.tsx +0 -71
  411. package/src/components/radio-button/RadioButton.test.tsx +0 -143
  412. package/src/components/radio-button/RadioButton.tsx +0 -143
  413. package/src/components/radio-button/RadioGroup.stories.tsx +0 -39
  414. package/src/components/radio-button/RadioGroup.test.tsx +0 -29
  415. package/src/components/radio-button/RadioGroup.tsx +0 -44
  416. package/src/components/radio-button/index.ts +0 -2
  417. package/src/components/select/Select.stories.tsx +0 -385
  418. package/src/components/select/Select.test.tsx +0 -199
  419. package/src/components/select/Select.tsx +0 -199
  420. package/src/components/select/SelectMultiple.stories.tsx +0 -315
  421. package/src/components/select/SelectMultiple.test.tsx +0 -213
  422. package/src/components/select/SelectMultiple.tsx +0 -206
  423. package/src/components/select/WithSelectContext.tsx +0 -147
  424. package/src/components/select/constants.ts +0 -55
  425. package/src/components/select/index.ts +0 -2
  426. package/src/components/side-navigation/SideNavigation.stories.tsx +0 -191
  427. package/src/components/side-navigation/SideNavigation.test.tsx +0 -37
  428. package/src/components/side-navigation/SideNavigation.tsx +0 -52
  429. package/src/components/side-navigation/SideNavigationItem.stories.tsx +0 -133
  430. package/src/components/side-navigation/SideNavigationItem.test.tsx +0 -136
  431. package/src/components/side-navigation/SideNavigationItem.tsx +0 -165
  432. package/src/components/side-navigation/index.ts +0 -2
  433. package/src/components/skeleton/SkeletonCircle.stories.tsx +0 -41
  434. package/src/components/skeleton/SkeletonCircle.test.tsx +0 -27
  435. package/src/components/skeleton/SkeletonCircle.tsx +0 -52
  436. package/src/components/skeleton/SkeletonRectangle.stories.tsx +0 -82
  437. package/src/components/skeleton/SkeletonRectangle.test.tsx +0 -27
  438. package/src/components/skeleton/SkeletonRectangle.tsx +0 -88
  439. package/src/components/skeleton/SkeletonTypography.stories.tsx +0 -19
  440. package/src/components/skeleton/SkeletonTypography.test.tsx +0 -27
  441. package/src/components/skeleton/SkeletonTypography.tsx +0 -59
  442. package/src/components/skeleton/index.ts +0 -3
  443. package/src/components/slider/Slider.stories.tsx +0 -45
  444. package/src/components/slider/Slider.test.tsx +0 -29
  445. package/src/components/slider/Slider.tsx +0 -299
  446. package/src/components/slider/index.ts +0 -2
  447. package/src/components/slideshow/Slides.tsx +0 -130
  448. package/src/components/slideshow/Slideshow.stories.tsx +0 -179
  449. package/src/components/slideshow/Slideshow.test.tsx +0 -35
  450. package/src/components/slideshow/Slideshow.tsx +0 -173
  451. package/src/components/slideshow/SlideshowControls.stories.tsx +0 -100
  452. package/src/components/slideshow/SlideshowControls.tsx +0 -243
  453. package/src/components/slideshow/SlideshowItem.tsx +0 -44
  454. package/src/components/slideshow/SlideshowItemGroup.tsx +0 -60
  455. package/src/components/slideshow/constants.ts +0 -24
  456. package/src/components/slideshow/index.ts +0 -4
  457. package/src/components/slideshow/useKeyNavigate.ts +0 -28
  458. package/src/components/slideshow/usePaginationVisibleRange.ts +0 -37
  459. package/src/components/slideshow/useSlideFocusManagement.tsx +0 -92
  460. package/src/components/slideshow/useSwipeNavigate.ts +0 -18
  461. package/src/components/switch/Switch.stories.tsx +0 -49
  462. package/src/components/switch/Switch.test.tsx +0 -144
  463. package/src/components/switch/Switch.tsx +0 -145
  464. package/src/components/switch/index.ts +0 -1
  465. package/src/components/table/Table.test.tsx +0 -29
  466. package/src/components/table/Table.tsx +0 -59
  467. package/src/components/table/TableBody.test.tsx +0 -30
  468. package/src/components/table/TableBody.tsx +0 -42
  469. package/src/components/table/TableCell.test.tsx +0 -72
  470. package/src/components/table/TableCell.tsx +0 -130
  471. package/src/components/table/TableHeader.test.tsx +0 -30
  472. package/src/components/table/TableHeader.tsx +0 -48
  473. package/src/components/table/TableRow.test.tsx +0 -40
  474. package/src/components/table/TableRow.tsx +0 -71
  475. package/src/components/table/index.ts +0 -5
  476. package/src/components/tabs/Tab.test.tsx +0 -50
  477. package/src/components/tabs/Tab.tsx +0 -133
  478. package/src/components/tabs/TabList.test.tsx +0 -49
  479. package/src/components/tabs/TabList.tsx +0 -94
  480. package/src/components/tabs/TabPanel.test.tsx +0 -37
  481. package/src/components/tabs/TabPanel.tsx +0 -67
  482. package/src/components/tabs/TabProvider.test.tsx +0 -161
  483. package/src/components/tabs/TabProvider.tsx +0 -67
  484. package/src/components/tabs/Tabs.stories.tsx +0 -170
  485. package/src/components/tabs/index.ts +0 -4
  486. package/src/components/tabs/state.ts +0 -114
  487. package/src/components/tabs/test-utils.ts +0 -39
  488. package/src/components/text/Text.stories.tsx +0 -177
  489. package/src/components/text/Text.test.tsx +0 -92
  490. package/src/components/text/Text.tsx +0 -139
  491. package/src/components/text/index.ts +0 -1
  492. package/src/components/text-field/TextField.stories.tsx +0 -180
  493. package/src/components/text-field/TextField.test.tsx +0 -298
  494. package/src/components/text-field/TextField.tsx +0 -493
  495. package/src/components/text-field/index.ts +0 -1
  496. package/src/components/thumbnail/Thumbnail.stories.tsx +0 -448
  497. package/src/components/thumbnail/Thumbnail.test.tsx +0 -88
  498. package/src/components/thumbnail/Thumbnail.tsx +0 -248
  499. package/src/components/thumbnail/index.ts +0 -3
  500. package/src/components/thumbnail/types.ts +0 -48
  501. package/src/components/thumbnail/useFocusPointStyle.test.ts +0 -92
  502. package/src/components/thumbnail/useFocusPointStyle.tsx +0 -107
  503. package/src/components/thumbnail/useImageLoad.ts +0 -40
  504. package/src/components/toolbar/Toolbar.tsx +0 -68
  505. package/src/components/toolbar/index.ts +0 -1
  506. package/src/components/tooltip/Tooltip.stories.tsx +0 -118
  507. package/src/components/tooltip/Tooltip.test.tsx +0 -417
  508. package/src/components/tooltip/Tooltip.tsx +0 -165
  509. package/src/components/tooltip/constants.ts +0 -8
  510. package/src/components/tooltip/context.tsx +0 -17
  511. package/src/components/tooltip/index.ts +0 -1
  512. package/src/components/tooltip/useInjectTooltipRef.tsx +0 -55
  513. package/src/components/tooltip/useTooltipOpen.tsx +0 -143
  514. package/src/components/uploader/Uploader.stories.tsx +0 -109
  515. package/src/components/uploader/Uploader.test.tsx +0 -146
  516. package/src/components/uploader/Uploader.tsx +0 -177
  517. package/src/components/uploader/index.ts +0 -1
  518. package/src/components/user-block/UserBlock.stories.tsx +0 -133
  519. package/src/components/user-block/UserBlock.test.tsx +0 -106
  520. package/src/components/user-block/UserBlock.tsx +0 -193
  521. package/src/components/user-block/index.ts +0 -1
  522. package/src/constants.ts +0 -27
  523. package/src/hooks/useBooleanState.tsx +0 -13
  524. package/src/hooks/useCallbackOnEscape.ts +0 -34
  525. package/src/hooks/useChipGroupNavigation.tsx +0 -75
  526. package/src/hooks/useClickAway.tsx +0 -48
  527. package/src/hooks/useDisableBodyScroll.ts +0 -28
  528. package/src/hooks/useEventCallback.tsx +0 -17
  529. package/src/hooks/useFocus.tsx +0 -21
  530. package/src/hooks/useFocusTrap.ts +0 -93
  531. package/src/hooks/useFocusWithin.ts +0 -33
  532. package/src/hooks/useId.test.tsx +0 -22
  533. package/src/hooks/useId.ts +0 -15
  534. package/src/hooks/useImageSize.ts +0 -17
  535. package/src/hooks/useInfiniteScroll.tsx +0 -60
  536. package/src/hooks/useIntersectionObserver.tsx +0 -43
  537. package/src/hooks/useInterval.tsx +0 -31
  538. package/src/hooks/useKeyboardListNavigation.tsx +0 -204
  539. package/src/hooks/useListenFocus.tsx +0 -26
  540. package/src/hooks/useOverflowTooltipLabel.tsx +0 -32
  541. package/src/hooks/usePopper.ts +0 -12
  542. package/src/hooks/usePreviousValue.ts +0 -12
  543. package/src/hooks/useRovingTabIndex.tsx +0 -90
  544. package/src/hooks/useSizeOnWindowResize.ts +0 -30
  545. package/src/hooks/useSlideshowControls.ts +0 -246
  546. package/src/hooks/useStopPropagation.ts +0 -21
  547. package/src/hooks/useTransitionVisibility.ts +0 -48
  548. package/src/index.ts +0 -63
  549. package/src/stories/controls/color.ts +0 -7
  550. package/src/stories/controls/element.ts +0 -6
  551. package/src/stories/controls/focusPoint.ts +0 -1
  552. package/src/stories/controls/icons.ts +0 -126
  553. package/src/stories/controls/image.ts +0 -84
  554. package/src/stories/controls/selectArgType.ts +0 -8
  555. package/src/stories/controls/theme.ts +0 -3
  556. package/src/stories/controls/typography.ts +0 -5
  557. package/src/stories/controls/withUndefined.ts +0 -1
  558. package/src/stories/decorators/withChromaticForceScreenSize.tsx +0 -7
  559. package/src/stories/decorators/withCombinations.tsx +0 -132
  560. package/src/stories/decorators/withNestedProps.tsx +0 -22
  561. package/src/stories/decorators/withResizableBox.tsx +0 -21
  562. package/src/stories/decorators/withThemedBackground.tsx +0 -16
  563. package/src/stories/decorators/withValueOnChange.tsx +0 -18
  564. package/src/stories/decorators/withWrapper.tsx +0 -19
  565. package/src/stories/generated/Autocomplete/Demos.stories.tsx +0 -7
  566. package/src/stories/generated/Avatar/Demos.stories.tsx +0 -7
  567. package/src/stories/generated/Badge/Demos.stories.tsx +0 -9
  568. package/src/stories/generated/Button/Demos.stories.tsx +0 -11
  569. package/src/stories/generated/Checkbox/Demos.stories.tsx +0 -6
  570. package/src/stories/generated/Chip/Demos.stories.tsx +0 -11
  571. package/src/stories/generated/CommentBlock/Demos.stories.tsx +0 -8
  572. package/src/stories/generated/DatePicker/Demos.stories.tsx +0 -8
  573. package/src/stories/generated/Dialog/Demos.stories.tsx +0 -10
  574. package/src/stories/generated/Divider/Demos.stories.tsx +0 -6
  575. package/src/stories/generated/Dropdown/Demos.stories.tsx +0 -8
  576. package/src/stories/generated/ExpansionPanel/Demos.stories.tsx +0 -9
  577. package/src/stories/generated/Flag/Demos.stories.tsx +0 -6
  578. package/src/stories/generated/GenericBlock/Demos.stories.tsx +0 -8
  579. package/src/stories/generated/Heading/Demos.stories.tsx +0 -6
  580. package/src/stories/generated/Icon/Demos.stories.tsx +0 -8
  581. package/src/stories/generated/ImageBlock/Demos.stories.tsx +0 -9
  582. package/src/stories/generated/ImageLightbox/Demos.stories.tsx +0 -6
  583. package/src/stories/generated/Lightbox/Demos.stories.tsx +0 -6
  584. package/src/stories/generated/LinkPreview/Demos.stories.tsx +0 -7
  585. package/src/stories/generated/List/Demos.stories.tsx +0 -11
  586. package/src/stories/generated/Message/Demos.stories.tsx +0 -11
  587. package/src/stories/generated/Mosaic/Demos.stories.tsx +0 -10
  588. package/src/stories/generated/Notification/Demos.stories.tsx +0 -6
  589. package/src/stories/generated/Popover/Demos.stories.tsx +0 -11
  590. package/src/stories/generated/PopoverDialog/Demos.stories.tsx +0 -6
  591. package/src/stories/generated/PostBlock/Demos.stories.tsx +0 -6
  592. package/src/stories/generated/Progress/Demos.stories.tsx +0 -7
  593. package/src/stories/generated/ProgressTracker/Demos.stories.tsx +0 -9
  594. package/src/stories/generated/RadioButton/Demos.stories.tsx +0 -6
  595. package/src/stories/generated/Select/Demos.stories.tsx +0 -14
  596. package/src/stories/generated/SideNavigation/Demos.stories.tsx +0 -10
  597. package/src/stories/generated/Skeleton/Demos.stories.tsx +0 -9
  598. package/src/stories/generated/Slider/Demos.stories.tsx +0 -9
  599. package/src/stories/generated/Slideshow/Demos.stories.tsx +0 -8
  600. package/src/stories/generated/Switch/Demos.stories.tsx +0 -6
  601. package/src/stories/generated/Table/Demos.stories.tsx +0 -7
  602. package/src/stories/generated/Tabs/Demos.stories.tsx +0 -8
  603. package/src/stories/generated/TextField/Demos.stories.tsx +0 -20
  604. package/src/stories/generated/Thumbnail/Demos.stories.tsx +0 -12
  605. package/src/stories/generated/Toolbar/Demos.stories.tsx +0 -10
  606. package/src/stories/generated/Tooltip/Demos.stories.tsx +0 -8
  607. package/src/stories/generated/Uploader/Demos.stories.tsx +0 -8
  608. package/src/stories/generated/UserBlock/Demos.stories.tsx +0 -11
  609. package/src/stories/utils/CustomLink.tsx +0 -12
  610. package/src/stories/utils/concatPath.tsx +0 -17
  611. package/src/stories/utils/disableArgTypes.ts +0 -3
  612. package/src/stories/utils/initDemoShadowDOMPortal.ts +0 -10
  613. package/src/stories/utils/lorem.ts +0 -59
  614. package/src/stories/utils/theming.tsx +0 -166
  615. package/src/stories/utils/toFlattenProps.ts +0 -28
  616. package/src/stories/utils/withCategory.ts +0 -12
  617. package/src/testing/utils/ThemeSentinel.tsx +0 -10
  618. package/src/testing/utils/commonTestsSuiteRTL.tsx +0 -193
  619. package/src/testing/utils/index.ts +0 -1
  620. package/src/testing/utils/queries.ts +0 -19
  621. package/src/untypped-modules.d.ts +0 -9
  622. package/src/utils/ClickAwayProvider/ClickAwayProvider.stories.jsx +0 -70
  623. package/src/utils/ClickAwayProvider/ClickAwayProvider.tsx +0 -69
  624. package/src/utils/ClickAwayProvider/index.ts +0 -1
  625. package/src/utils/MaterialThemeSwitcher/MaterialThemeSwitcher.tsx +0 -54
  626. package/src/utils/MaterialThemeSwitcher/index.ts +0 -1
  627. package/src/utils/Portal/Portal.test.tsx +0 -31
  628. package/src/utils/Portal/Portal.tsx +0 -33
  629. package/src/utils/Portal/PortalProvider.stories.jsx +0 -22
  630. package/src/utils/Portal/PortalProvider.test.tsx +0 -72
  631. package/src/utils/Portal/PortalProvider.tsx +0 -24
  632. package/src/utils/Portal/index.tsx +0 -2
  633. package/src/utils/browser/DOM/findImage.tsx +0 -3
  634. package/src/utils/browser/DOM/startViewTransition.ts +0 -68
  635. package/src/utils/browser/focus/constants.ts +0 -7
  636. package/src/utils/browser/focus/getFirstAndLastFocusable.test.ts +0 -134
  637. package/src/utils/browser/focus/getFirstAndLastFocusable.ts +0 -21
  638. package/src/utils/browser/focus/getFocusableElements.test.ts +0 -151
  639. package/src/utils/browser/focus/getFocusableElements.ts +0 -7
  640. package/src/utils/browser/isFocusVisible.ts +0 -9
  641. package/src/utils/browser/isHoverNotSupported.test.js +0 -24
  642. package/src/utils/browser/isHoverNotSupported.ts +0 -2
  643. package/src/utils/browser/isReducedMotion.ts +0 -6
  644. package/src/utils/date/addMonthResetDay.test.ts +0 -13
  645. package/src/utils/date/addMonthResetDay.ts +0 -9
  646. package/src/utils/date/formatDayNumber.test.ts +0 -12
  647. package/src/utils/date/formatDayNumber.ts +0 -5
  648. package/src/utils/date/getFirstDayOfWeek.test.ts +0 -20
  649. package/src/utils/date/getFirstDayOfWeek.ts +0 -59
  650. package/src/utils/date/getMonthCalendar.test.ts +0 -127
  651. package/src/utils/date/getMonthCalendar.ts +0 -69
  652. package/src/utils/date/getWeekDays.test.ts +0 -48
  653. package/src/utils/date/getWeekDays.ts +0 -34
  654. package/src/utils/date/getYearDisplayName.test.ts +0 -20
  655. package/src/utils/date/getYearDisplayName.ts +0 -12
  656. package/src/utils/date/isDateValid.test.ts +0 -15
  657. package/src/utils/date/isDateValid.ts +0 -4
  658. package/src/utils/date/isSameDay.test.ts +0 -37
  659. package/src/utils/date/isSameDay.ts +0 -11
  660. package/src/utils/disabled/DisabledStateContext.tsx +0 -29
  661. package/src/utils/disabled/DisabledStateProvider.stories.tsx +0 -92
  662. package/src/utils/disabled/index.ts +0 -2
  663. package/src/utils/disabled/useDisableStateProps.test.tsx +0 -74
  664. package/src/utils/disabled/useDisableStateProps.tsx +0 -37
  665. package/src/utils/function/makeListenerTowerContext.ts +0 -32
  666. package/src/utils/index.ts +0 -7
  667. package/src/utils/locale/getCurrentLocale.ts +0 -4
  668. package/src/utils/locale/parseLocale.test.ts +0 -17
  669. package/src/utils/locale/parseLocale.ts +0 -23
  670. package/src/utils/locale/types.ts +0 -8
  671. package/src/utils/number/clamp.ts +0 -17
  672. package/src/utils/object/isEqual.test.ts +0 -25
  673. package/src/utils/object/isEqual.ts +0 -11
  674. package/src/utils/partitionMulti.test.ts +0 -27
  675. package/src/utils/react/OnBeforeUnmount.tsx +0 -20
  676. package/src/utils/react/RawClickable.test.tsx +0 -153
  677. package/src/utils/react/RawClickable.tsx +0 -65
  678. package/src/utils/react/flattenChildren.ts +0 -32
  679. package/src/utils/react/forwardRef.ts +0 -11
  680. package/src/utils/react/forwardRefPolymorphic.ts +0 -9
  681. package/src/utils/react/mergeRefs.ts +0 -33
  682. package/src/utils/react/renderLink.tsx +0 -17
  683. package/src/utils/react/skipRender.tsx +0 -18
  684. package/src/utils/react/unref.ts +0 -7
  685. package/src/utils/react/wrapChildrenIconWithSpaces.test.tsx +0 -37
  686. package/src/utils/react/wrapChildrenIconWithSpaces.tsx +0 -22
  687. package/src/utils/theme/ThemeContext.ts +0 -16
  688. package/src/utils/theme/invertTheme.ts +0 -4
  689. package/src/utils/type/Comp.ts +0 -14
  690. package/src/utils/type/ComponentRef.ts +0 -16
  691. package/src/utils/type/HasAriaDisabled.ts +0 -6
  692. package/src/utils/type/HasPolymorphicAs.ts +0 -6
  693. package/src/utils/type/HasRequiredLinkHref.ts +0 -1
  694. package/src/utils/type/MaybeElementOrRef.ts +0 -6
  695. package/src/utils/type/index.ts +0 -9
  696. package/src/utils/type/isComponent.ts +0 -33
  697. package/src/utils/type/isComponentType.ts +0 -9
@@ -0,0 +1,158 @@
1
+ import { f as forwardRef, c as classNames, _ as _extends } from '../forwardRef-49d2bb84.js';
2
+ import React__default, { Children, useRef } from 'react';
3
+ import { mdiChevronUp, mdiChevronDown } from '@lumx/icons';
4
+ import isEmpty from 'lodash/isEmpty';
5
+ import { i as isComponent } from '../isComponent-78df9309.js';
6
+ import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
7
+ import { p as partitionMulti } from '../partitionMulti-4daccdd5.js';
8
+ import { u as useTheme } from '../ThemeContext-3181f000.js';
9
+ import { I as IS_BROWSER } from '../constants-d0e3f49e.js';
10
+ import { DragHandle } from './drag-handle-a38ff757.js';
11
+ import { Theme, ColorPalette, Emphasis } from '@lumx/core/js/constants';
12
+ import { I as IconButton } from '../IconButton-10585058.js';
13
+
14
+ /**
15
+ * Defines the props of the component.
16
+ */
17
+
18
+ /**
19
+ * Component display name.
20
+ */
21
+ const COMPONENT_NAME = 'ExpansionPanel';
22
+
23
+ /**
24
+ * Component default class name and class prefix.
25
+ */
26
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
27
+
28
+ /**
29
+ * Component default props.
30
+ */
31
+ const DEFAULT_PROPS = {
32
+ closeMode: 'unmount'
33
+ };
34
+ const isDragHandle = isComponent(DragHandle);
35
+ const isHeader = isComponent('header');
36
+ const isFooter = isComponent('footer');
37
+
38
+ /**
39
+ * ExpansionPanel component.
40
+ *
41
+ * @param props Component props.
42
+ * @param ref Component ref.
43
+ * @return React element.
44
+ */
45
+ const ExpansionPanel = forwardRef((props, ref) => {
46
+ const defaultTheme = useTheme() || Theme.light;
47
+ const {
48
+ className,
49
+ closeMode = DEFAULT_PROPS.closeMode,
50
+ children: anyChildren,
51
+ hasBackground,
52
+ hasHeaderDivider,
53
+ isOpen,
54
+ label,
55
+ onClose,
56
+ onOpen,
57
+ onToggleOpen,
58
+ theme = defaultTheme,
59
+ toggleButtonProps,
60
+ ...forwardedProps
61
+ } = props;
62
+ const children = Children.toArray(anyChildren);
63
+
64
+ // Partition children by types.
65
+ const [[dragHandle], [header], [footer], content] = partitionMulti(children, [isDragHandle, isHeader, isFooter]);
66
+
67
+ // Either take the header in children or create one with the label.
68
+ const headerProps = /*#__PURE__*/React__default.isValidElement(header) ? header.props : {};
69
+ const headerContent = !isEmpty(headerProps.children) ? headerProps.children : /*#__PURE__*/React__default.createElement("span", {
70
+ className: `${CLASSNAME}__label`
71
+ }, label);
72
+ const toggleOpen = event => {
73
+ const shouldOpen = !isOpen;
74
+ if (onOpen && shouldOpen) {
75
+ onOpen(event);
76
+ }
77
+ if (onClose && !shouldOpen) {
78
+ onClose(event);
79
+ }
80
+ if (onToggleOpen) {
81
+ onToggleOpen(shouldOpen, event);
82
+ }
83
+ };
84
+ const color = theme === Theme.dark ? ColorPalette.light : ColorPalette.dark;
85
+ const rootClassName = classNames(className, handleBasicClasses({
86
+ hasBackground,
87
+ hasHeader: Boolean(!isEmpty(headerProps.children)),
88
+ hasHeaderDivider,
89
+ isClose: !isOpen,
90
+ isDraggable: Boolean(dragHandle),
91
+ isOpen,
92
+ prefix: CLASSNAME,
93
+ theme
94
+ }));
95
+ const wrapperRef = useRef(null);
96
+
97
+ // Children stay visible while the open/close transition is running
98
+ const [isChildrenVisible, setChildrenVisible] = React__default.useState(isOpen);
99
+ const isOpenRef = React__default.useRef(isOpen);
100
+ React__default.useEffect(() => {
101
+ if (isOpen || closeMode === 'hide') {
102
+ setChildrenVisible(true);
103
+ } else if (!IS_BROWSER) {
104
+ // Outside a browser we can't wait for the transition
105
+ setChildrenVisible(false);
106
+ }
107
+ isOpenRef.current = isOpen;
108
+ }, [closeMode, isOpen]);
109
+
110
+ // Change children's visibility on the transition end
111
+ React__default.useEffect(() => {
112
+ const {
113
+ current: wrapper
114
+ } = wrapperRef;
115
+ if (!IS_BROWSER || !wrapper) {
116
+ return undefined;
117
+ }
118
+ const onTransitionEnd = () => {
119
+ setChildrenVisible(isOpenRef.current || closeMode === 'hide');
120
+ };
121
+ wrapper.addEventListener('transitionend', onTransitionEnd);
122
+ return () => wrapper.removeEventListener('transitionend', onTransitionEnd);
123
+ }, [closeMode]);
124
+ return /*#__PURE__*/React__default.createElement("section", _extends({
125
+ ref: ref
126
+ }, forwardedProps, {
127
+ className: rootClassName
128
+ }), /*#__PURE__*/React__default.createElement("header", {
129
+ className: `${CLASSNAME}__header`,
130
+ onClick: toggleOpen
131
+ }, dragHandle && /*#__PURE__*/React__default.createElement("div", {
132
+ className: `${CLASSNAME}__header-drag`
133
+ }, dragHandle), /*#__PURE__*/React__default.createElement("div", _extends({}, headerProps, {
134
+ className: `${CLASSNAME}__header-content`
135
+ }), headerContent), /*#__PURE__*/React__default.createElement("div", {
136
+ className: `${CLASSNAME}__header-toggle`
137
+ }, /*#__PURE__*/React__default.createElement(IconButton, _extends({}, toggleButtonProps, {
138
+ color: color,
139
+ emphasis: Emphasis.low,
140
+ icon: isOpen ? mdiChevronUp : mdiChevronDown,
141
+ "aria-expanded": isOpen || 'false'
142
+ })))), /*#__PURE__*/React__default.createElement("div", {
143
+ className: `${CLASSNAME}__wrapper`,
144
+ ref: wrapperRef
145
+ }, (isOpen || isChildrenVisible) && /*#__PURE__*/React__default.createElement("div", {
146
+ className: `${CLASSNAME}__container`
147
+ }, /*#__PURE__*/React__default.createElement("div", {
148
+ className: `${CLASSNAME}__content`
149
+ }, content), footer && /*#__PURE__*/React__default.createElement("div", {
150
+ className: `${CLASSNAME}__footer`
151
+ }, footer))));
152
+ });
153
+ ExpansionPanel.displayName = COMPONENT_NAME;
154
+ ExpansionPanel.className = CLASSNAME;
155
+ ExpansionPanel.defaultProps = DEFAULT_PROPS;
156
+
157
+ export { ExpansionPanel };
158
+ //# sourceMappingURL=expansion-panel-c4b93653.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expansion-panel-c4b93653.js","sources":["../../../src/components/expansion-panel/ExpansionPanel.tsx"],"sourcesContent":["import React, { Children, PropsWithChildren, ReactNode, useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { mdiChevronDown, mdiChevronUp } from '@lumx/icons';\n\nimport isEmpty from 'lodash/isEmpty';\n\nimport { ColorPalette, DragHandle, Emphasis, IconButton, IconButtonProps, Theme } from '@lumx/react';\nimport { GenericProps, HasCloseMode, HasTheme, isComponent } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { partitionMulti } from '@lumx/react/utils/partitionMulti';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { IS_BROWSER } from '@lumx/react/constants';\n\n/**\n * Defines the props of the component.\n */\nexport interface ExpansionPanelProps extends GenericProps, HasCloseMode, HasTheme {\n /** Whether the expansion panel has a background. */\n hasBackground?: boolean;\n /** Whether the header has a divider. */\n hasHeaderDivider?: boolean;\n /** Whether the component is open or not. */\n isOpen?: boolean;\n /** Label text (overwritten if a `<header>` is provided in the children). */\n label?: string;\n /** On open callback. */\n onOpen?: (event: React.MouseEvent) => void;\n /** On close callback. */\n onClose?: (event: React.MouseEvent) => void;\n /** Props to pass to the toggle button (minus those already set by the ExpansionPanel props). */\n toggleButtonProps: Pick<IconButtonProps, 'label'> &\n Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis' | 'color'>;\n /** On toggle open or close callback. */\n onToggleOpen?(shouldOpen: boolean, event: React.MouseEvent): void;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ExpansionPanel';\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<ExpansionPanelProps> = {\n closeMode: 'unmount',\n};\n\nconst isDragHandle = isComponent(DragHandle);\nconst isHeader = isComponent('header');\nconst isFooter = isComponent('footer');\n\n/**\n * ExpansionPanel component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ExpansionPanel = forwardRef<ExpansionPanelProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n className,\n closeMode = DEFAULT_PROPS.closeMode,\n children: anyChildren,\n hasBackground,\n hasHeaderDivider,\n isOpen,\n label,\n onClose,\n onOpen,\n onToggleOpen,\n theme = defaultTheme,\n toggleButtonProps,\n ...forwardedProps\n } = props;\n\n const children: ReactNode[] = Children.toArray(anyChildren);\n\n // Partition children by types.\n const [[dragHandle], [header], [footer], content] = partitionMulti(children, [isDragHandle, isHeader, isFooter]);\n\n // Either take the header in children or create one with the label.\n const headerProps: PropsWithChildren<any> = React.isValidElement(header) ? header.props : {};\n const headerContent = !isEmpty(headerProps.children) ? (\n headerProps.children\n ) : (\n <span className={`${CLASSNAME}__label`}>{label}</span>\n );\n\n const toggleOpen = (event: React.MouseEvent) => {\n const shouldOpen = !isOpen;\n\n if (onOpen && shouldOpen) {\n onOpen(event);\n }\n if (onClose && !shouldOpen) {\n onClose(event);\n }\n if (onToggleOpen) {\n onToggleOpen(shouldOpen, event);\n }\n };\n\n const color = theme === Theme.dark ? ColorPalette.light : ColorPalette.dark;\n\n const rootClassName = classNames(\n className,\n handleBasicClasses({\n hasBackground,\n hasHeader: Boolean(!isEmpty(headerProps.children)),\n hasHeaderDivider,\n isClose: !isOpen,\n isDraggable: Boolean(dragHandle),\n isOpen,\n prefix: CLASSNAME,\n theme,\n }),\n );\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n // Children stay visible while the open/close transition is running\n const [isChildrenVisible, setChildrenVisible] = React.useState(isOpen);\n\n const isOpenRef = React.useRef(isOpen);\n React.useEffect(() => {\n if (isOpen || closeMode === 'hide') {\n setChildrenVisible(true);\n } else if (!IS_BROWSER) {\n // Outside a browser we can't wait for the transition\n setChildrenVisible(false);\n }\n isOpenRef.current = isOpen;\n }, [closeMode, isOpen]);\n\n // Change children's visibility on the transition end\n React.useEffect(() => {\n const { current: wrapper } = wrapperRef;\n if (!IS_BROWSER || !wrapper) {\n return undefined;\n }\n const onTransitionEnd = () => {\n setChildrenVisible(isOpenRef.current || closeMode === 'hide');\n };\n wrapper.addEventListener('transitionend', onTransitionEnd);\n return () => wrapper.removeEventListener('transitionend', onTransitionEnd);\n }, [closeMode]);\n\n return (\n <section ref={ref} {...forwardedProps} className={rootClassName}>\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions */}\n <header className={`${CLASSNAME}__header`} onClick={toggleOpen}>\n {dragHandle && <div className={`${CLASSNAME}__header-drag`}>{dragHandle}</div>}\n\n <div {...headerProps} className={`${CLASSNAME}__header-content`}>\n {headerContent}\n </div>\n\n <div className={`${CLASSNAME}__header-toggle`}>\n <IconButton\n {...toggleButtonProps}\n color={color}\n emphasis={Emphasis.low}\n icon={isOpen ? mdiChevronUp : mdiChevronDown}\n aria-expanded={isOpen || 'false'}\n />\n </div>\n </header>\n\n <div className={`${CLASSNAME}__wrapper`} ref={wrapperRef}>\n {(isOpen || isChildrenVisible) && (\n <div className={`${CLASSNAME}__container`}>\n <div className={`${CLASSNAME}__content`}>{content}</div>\n\n {footer && <div className={`${CLASSNAME}__footer`}>{footer}</div>}\n </div>\n )}\n </div>\n </section>\n );\n});\nExpansionPanel.displayName = COMPONENT_NAME;\nExpansionPanel.className = CLASSNAME;\nExpansionPanel.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","closeMode","isDragHandle","isComponent","DragHandle","isHeader","isFooter","ExpansionPanel","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","className","children","anyChildren","hasBackground","hasHeaderDivider","isOpen","label","onClose","onOpen","onToggleOpen","theme","toggleButtonProps","forwardedProps","Children","toArray","dragHandle","header","footer","content","partitionMulti","headerProps","React","isValidElement","headerContent","isEmpty","createElement","toggleOpen","event","shouldOpen","color","dark","ColorPalette","rootClassName","classNames","handleBasicClasses","hasHeader","Boolean","isClose","isDraggable","prefix","wrapperRef","useRef","isChildrenVisible","setChildrenVisible","useState","isOpenRef","useEffect","IS_BROWSER","current","wrapper","undefined","onTransitionEnd","addEventListener","removeEventListener","_extends","onClick","IconButton","emphasis","Emphasis","low","icon","mdiChevronUp","mdiChevronDown","displayName","defaultProps"],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import { f as forwardRef, _ as _extends, c as classNames } from '../forwardRef-49d2bb84.js';
2
+ import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
3
+ import { u as useTheme } from '../ThemeContext-3181f000.js';
4
+ import { Theme, ColorPalette, Size } from '@lumx/core/js/constants';
5
+ import { Icon } from './icon-2e7345ad.js';
6
+ import { T as Text } from '../index-b4d256e7.js';
7
+
8
+ const COMPONENT_NAME = 'Flag';
9
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
10
+ const DEFAULT_PROPS = {};
11
+
12
+ /**
13
+ * Flag component.
14
+ *
15
+ * @param props Component props.
16
+ * @param ref Component ref.
17
+ * @return React element.
18
+ */
19
+ const Flag = forwardRef((props, ref) => {
20
+ const defaultTheme = useTheme() || Theme.light;
21
+ const {
22
+ label,
23
+ icon,
24
+ color,
25
+ className,
26
+ theme = defaultTheme,
27
+ truncate,
28
+ ...forwardedProps
29
+ } = props;
30
+ const flagColor = color || (theme === Theme.light ? ColorPalette.dark : ColorPalette.light);
31
+ const isTruncated = !!truncate;
32
+ return /*#__PURE__*/React.createElement("div", _extends({}, forwardedProps, {
33
+ className: classNames(className, handleBasicClasses({
34
+ prefix: CLASSNAME,
35
+ color: flagColor,
36
+ isTruncated
37
+ })),
38
+ ref: ref
39
+ }), icon && /*#__PURE__*/React.createElement(Icon, {
40
+ icon: icon,
41
+ size: Size.xxs,
42
+ className: `${CLASSNAME}__icon`
43
+ }), /*#__PURE__*/React.createElement(Text, {
44
+ as: "span",
45
+ truncate: isTruncated,
46
+ typography: "overline",
47
+ className: `${CLASSNAME}__label`
48
+ }, label));
49
+ });
50
+ Flag.displayName = COMPONENT_NAME;
51
+ Flag.className = CLASSNAME;
52
+ Flag.defaultProps = DEFAULT_PROPS;
53
+
54
+ export { Flag };
55
+ //# sourceMappingURL=flag-c5e2f5f0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flag-c5e2f5f0.js","sources":["../../../src/components/flag/Flag.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport { ColorPalette, Icon, Size, Theme, Text } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nexport interface FlagProps extends GenericProps, HasTheme {\n /** Color of the component. */\n color?: ColorPalette;\n /** Icon to use before the label. */\n icon?: string;\n /** Text label of the flag. */\n label: React.ReactNode;\n /** Enable text truncate on overflow */\n truncate?: boolean;\n}\n\nconst COMPONENT_NAME = 'Flag';\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\nconst DEFAULT_PROPS: Partial<FlagProps> = {};\n\n/**\n * Flag component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Flag = forwardRef<FlagProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const { label, icon, color, className, theme = defaultTheme, truncate, ...forwardedProps } = props;\n const flagColor = color || (theme === Theme.light ? ColorPalette.dark : ColorPalette.light);\n const isTruncated = !!truncate;\n\n return (\n <div\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, color: flagColor, isTruncated }))}\n ref={ref}\n >\n {icon && <Icon icon={icon} size={Size.xxs} className={`${CLASSNAME}__icon`} />}\n <Text as=\"span\" truncate={isTruncated} typography=\"overline\" className={`${CLASSNAME}__label`}>\n {label}\n </Text>\n </div>\n );\n});\nFlag.displayName = COMPONENT_NAME;\nFlag.className = CLASSNAME;\nFlag.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","Flag","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","label","icon","color","className","theme","truncate","forwardedProps","flagColor","ColorPalette","dark","isTruncated","React","createElement","_extends","classNames","handleBasicClasses","prefix","Icon","size","Size","xxs","Text","as","typography","displayName","defaultProps"],"mappings":";;;;;;;AAmBA,MAAMA,cAAc,GAAG,MAAM,CAAA;AAC7B,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;AAClD,MAAMG,aAAiC,GAAG,EAAE,CAAA;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,IAAI,GAAGC,UAAU,CAA4B,CAACC,KAAK,EAAEC,GAAG,KAAK;EACtE,MAAMC,YAAY,GAAGC,QAAQ,EAAE,IAAIC,KAAK,CAACC,KAAK,CAAA;EAC9C,MAAM;IAAEC,KAAK;IAAEC,IAAI;IAAEC,KAAK;IAAEC,SAAS;AAAEC,IAAAA,KAAK,GAAGR,YAAY;IAAES,QAAQ;IAAE,GAAGC,cAAAA;AAAe,GAAC,GAAGZ,KAAK,CAAA;AAClG,EAAA,MAAMa,SAAS,GAAGL,KAAK,KAAKE,KAAK,KAAKN,KAAK,CAACC,KAAK,GAAGS,YAAY,CAACC,IAAI,GAAGD,YAAY,CAACT,KAAK,CAAC,CAAA;AAC3F,EAAA,MAAMW,WAAW,GAAG,CAAC,CAACL,QAAQ,CAAA;AAE9B,EAAA,oBACIM,KAAA,CAAAC,aAAA,CAAAC,KAAAA,EAAAA,QAAA,KACQP,cAAc,EAAA;AAClBH,IAAAA,SAAS,EAAEW,UAAU,CAACX,SAAS,EAAEY,kBAAkB,CAAC;AAAEC,MAAAA,MAAM,EAAE3B,SAAS;AAAEa,MAAAA,KAAK,EAAEK,SAAS;AAAEG,MAAAA,WAAAA;AAAY,KAAC,CAAC,CAAE;AAC3Gf,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAA,CAAA,EAERM,IAAI,iBAAIU,KAAA,CAAAC,aAAA,CAACK,IAAI,EAAA;AAAChB,IAAAA,IAAI,EAAEA,IAAK;IAACiB,IAAI,EAAEC,IAAI,CAACC,GAAI;IAACjB,SAAS,EAAE,GAAGd,SAAS,CAAA,MAAA,CAAA;AAAS,GAAE,CAAC,eAC9EsB,KAAA,CAAAC,aAAA,CAACS,IAAI,EAAA;AAACC,IAAAA,EAAE,EAAC,MAAM;AAACjB,IAAAA,QAAQ,EAAEK,WAAY;AAACa,IAAAA,UAAU,EAAC,UAAU;IAACpB,SAAS,EAAE,GAAGd,SAAS,CAAA,OAAA,CAAA;GAC/EW,EAAAA,KACC,CACL,CAAC,CAAA;AAEd,CAAC,EAAC;AACFR,IAAI,CAACgC,WAAW,GAAGpC,cAAc,CAAA;AACjCI,IAAI,CAACW,SAAS,GAAGd,SAAS,CAAA;AAC1BG,IAAI,CAACiC,YAAY,GAAGlC,aAAa;;;;"}
@@ -0,0 +1,58 @@
1
+ import { f as forwardRef, _ as _extends, c as classNames } from '../forwardRef-49d2bb84.js';
2
+ import castArray from 'lodash/castArray';
3
+ import { Orientation } from '@lumx/core/js/constants';
4
+ import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
5
+
6
+ /**
7
+ * Defines the props of the component.
8
+ */
9
+
10
+ /**
11
+ * Component display name.
12
+ */
13
+ const COMPONENT_NAME = 'FlexBox';
14
+
15
+ /**
16
+ * Component default class name and class prefix.
17
+ */
18
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
19
+
20
+ /**
21
+ * FlexBox component.
22
+ *
23
+ * @param props Component props.
24
+ * @param ref Component ref.
25
+ * @return React element.
26
+ */
27
+ const FlexBox = forwardRef((props, ref) => {
28
+ const {
29
+ as: Component = 'div',
30
+ children,
31
+ className,
32
+ fillSpace,
33
+ gap,
34
+ hAlign,
35
+ marginAuto,
36
+ noShrink,
37
+ orientation,
38
+ vAlign,
39
+ wrap,
40
+ ...forwardedProps
41
+ } = props;
42
+ return /*#__PURE__*/React.createElement(Component, _extends({
43
+ ref: ref
44
+ }, forwardedProps, {
45
+ className: classNames(className, handleBasicClasses({
46
+ prefix: CLASSNAME,
47
+ orientation: orientation ?? (wrap || hAlign || vAlign ? Orientation.horizontal : null),
48
+ vAlign,
49
+ hAlign,
50
+ gap
51
+ }), wrap && `${CLASSNAME}--wrap`, fillSpace && `${CLASSNAME}--fill-space`, noShrink && `${CLASSNAME}--no-shrink`, marginAuto && castArray(marginAuto).map(align => `${CLASSNAME}--margin-auto-${align}`))
52
+ }), children);
53
+ });
54
+ FlexBox.displayName = COMPONENT_NAME;
55
+ FlexBox.className = CLASSNAME;
56
+
57
+ export { FlexBox };
58
+ //# sourceMappingURL=flex-box-c8701a85.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flex-box-c8701a85.js","sources":["../../../src/components/flex-box/FlexBox.tsx"],"sourcesContent":["import { ReactNode } from 'react';\n\nimport classNames from 'classnames';\nimport castArray from 'lodash/castArray';\n\nimport { Alignment, Orientation, HorizontalAlignment, Size, VerticalAlignment } from '@lumx/core/js/constants';\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\nexport type MarginAutoAlignment = Extract<Alignment, 'top' | 'bottom' | 'right' | 'left'>;\nexport type GapSize = Extract<Size, 'tiny' | 'regular' | 'medium' | 'big' | 'huge'>;\ntype SpaceAlignment = Extract<Alignment, 'space-between' | 'space-evenly' | 'space-around'>;\nexport type FlexVerticalAlignment = VerticalAlignment | SpaceAlignment;\nexport type FlexHorizontalAlignment = HorizontalAlignment | SpaceAlignment;\n\n/**\n * Defines the props of the component.\n */\nexport interface FlexBoxProps extends GenericProps {\n /** Customize the root element. */\n as?: React.ElementType;\n /** Children elements. */\n children?: ReactNode;\n /** Whether the \"content filling space\" is enabled or not. */\n fillSpace?: boolean;\n /** Gap space between flexbox items. */\n gap?: GapSize;\n /** Flex horizontal alignment. */\n hAlign?: FlexVerticalAlignment;\n /** Whether the \"auto margin\" is enabled all around or not. */\n marginAuto?: MarginAutoAlignment | MarginAutoAlignment[];\n /** Whether the \"content shrink\" is disabled or not. */\n noShrink?: boolean;\n /** Flex direction. */\n orientation?: Orientation;\n /** Flex vertical alignment. */\n vAlign?: FlexHorizontalAlignment;\n /** Whether the \"flex wrap\" is enabled or not. */\n wrap?: boolean;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'FlexBox';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * FlexBox component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const FlexBox = forwardRef<FlexBoxProps, HTMLDivElement>((props, ref) => {\n const {\n as: Component = 'div',\n children,\n className,\n fillSpace,\n gap,\n hAlign,\n marginAuto,\n noShrink,\n orientation,\n vAlign,\n wrap,\n ...forwardedProps\n } = props;\n\n return (\n <Component\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n orientation: orientation ?? (wrap || hAlign || vAlign ? Orientation.horizontal : null),\n vAlign,\n hAlign,\n gap,\n }),\n wrap && `${CLASSNAME}--wrap`,\n fillSpace && `${CLASSNAME}--fill-space`,\n noShrink && `${CLASSNAME}--no-shrink`,\n marginAuto && castArray(marginAuto).map((align) => `${CLASSNAME}--margin-auto-${align}`),\n )}\n >\n {children}\n </Component>\n );\n});\nFlexBox.displayName = COMPONENT_NAME;\nFlexBox.className = CLASSNAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","FlexBox","forwardRef","props","ref","as","Component","children","className","fillSpace","gap","hAlign","marginAuto","noShrink","orientation","vAlign","wrap","forwardedProps","React","createElement","_extends","classNames","handleBasicClasses","prefix","Orientation","horizontal","castArray","map","align","displayName"],"mappings":";;;;;AAgBA;AACA;AACA;;AAwBA;AACA;AACA;AACA,MAAMA,cAAc,GAAG,SAAS,CAAA;;AAEhC;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,OAAO,GAAGC,UAAU,CAA+B,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC5E,MAAM;IACFC,EAAE,EAAEC,SAAS,GAAG,KAAK;IACrBC,QAAQ;IACRC,SAAS;IACTC,SAAS;IACTC,GAAG;IACHC,MAAM;IACNC,UAAU;IACVC,QAAQ;IACRC,WAAW;IACXC,MAAM;IACNC,IAAI;IACJ,GAAGC,cAAAA;AACP,GAAC,GAAGd,KAAK,CAAA;AAET,EAAA,oBACIe,KAAA,CAAAC,aAAA,CAACb,SAAS,EAAAc,QAAA,CAAA;AACNhB,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAA,EACLa,cAAc,EAAA;AAClBT,IAAAA,SAAS,EAAEa,UAAU,CACjBb,SAAS,EACTc,kBAAkB,CAAC;AACfC,MAAAA,MAAM,EAAExB,SAAS;AACjBe,MAAAA,WAAW,EAAEA,WAAW,KAAKE,IAAI,IAAIL,MAAM,IAAII,MAAM,GAAGS,WAAW,CAACC,UAAU,GAAG,IAAI,CAAC;MACtFV,MAAM;MACNJ,MAAM;AACND,MAAAA,GAAAA;AACJ,KAAC,CAAC,EACFM,IAAI,IAAI,CAAA,EAAGjB,SAAS,CAAQ,MAAA,CAAA,EAC5BU,SAAS,IAAI,GAAGV,SAAS,CAAA,YAAA,CAAc,EACvCc,QAAQ,IAAI,CAAGd,EAAAA,SAAS,CAAa,WAAA,CAAA,EACrCa,UAAU,IAAIc,SAAS,CAACd,UAAU,CAAC,CAACe,GAAG,CAAEC,KAAK,IAAK,CAAG7B,EAAAA,SAAS,CAAiB6B,cAAAA,EAAAA,KAAK,EAAE,CAC3F,CAAA;AAAE,GAAA,CAAA,EAEDrB,QACM,CAAC,CAAA;AAEpB,CAAC,EAAC;AACFN,OAAO,CAAC4B,WAAW,GAAG/B,cAAc,CAAA;AACpCG,OAAO,CAACO,SAAS,GAAGT,SAAS;;;;"}
@@ -0,0 +1,115 @@
1
+ import { f as forwardRef, _ as _extends, c as classNames } from '../forwardRef-49d2bb84.js';
2
+ import React__default, { Children } from 'react';
3
+ import isEmpty from 'lodash/isEmpty';
4
+ import noop from 'lodash/noop';
5
+ import { i as isComponentType } from '../isComponentType-e806b848.js';
6
+ import { getRootClassName } from '@lumx/core/js/utils/className';
7
+ import { p as partitionMulti } from '../partitionMulti-4daccdd5.js';
8
+ import { Size, Orientation } from '@lumx/core/js/constants';
9
+ import { FlexBox } from './flex-box-c8701a85.js';
10
+ import pick from 'lodash/pick';
11
+
12
+ /**
13
+ * Component display name.
14
+ */
15
+ const COMPONENT_NAME = 'GenericBlock';
16
+
17
+ /**
18
+ * Component default class name and class prefix.
19
+ */
20
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
21
+
22
+ /**
23
+ * Component default props.
24
+ */
25
+ const DEFAULT_PROPS = {
26
+ gap: Size.big,
27
+ orientation: Orientation.horizontal
28
+ };
29
+ const Figure = noop.bind({});
30
+ const isFigure = isComponentType(Figure);
31
+ const Content = noop.bind({});
32
+ const isContent = isComponentType(Content);
33
+ const Actions = noop.bind({});
34
+ const isActions = isComponentType(Actions);
35
+
36
+ /**
37
+ * The GenericBlock is a layout component made of 3 sections that can be
38
+ * displayed either horizontally of vertically with the same gap between each section.
39
+ *
40
+ * The sections are:
41
+ * - `Figure` => A visual element to display before the main content.
42
+ * - `Content` => The main content displayed
43
+ * - `Actions` => One or more actions to set after the element.
44
+ *
45
+ * @see https://www.figma.com/file/lzzrQmsfaXRaOyRfoEogPZ/DS%3A-playground?node-id=1%3A4076
46
+ */
47
+ const BaseGenericBlock = forwardRef((props, ref) => {
48
+ const {
49
+ className,
50
+ figure,
51
+ figureProps,
52
+ children,
53
+ actions,
54
+ actionsProps,
55
+ gap = DEFAULT_PROPS.gap,
56
+ orientation = DEFAULT_PROPS.orientation,
57
+ contentProps,
58
+ ...forwardedProps
59
+ } = props;
60
+ const sections = React__default.useMemo(() => {
61
+ // Split children by section type
62
+ const [[figureChild], [contentChild], [actionsChild], ...otherChildren] = partitionMulti(Children.toArray(children), [isFigure, isContent, isActions]);
63
+ return {
64
+ figureChild,
65
+ figureChildProps: figureChild?.props,
66
+ contentChild,
67
+ contentChildProps: contentChild?.props,
68
+ actionsChild,
69
+ actionsChildProps: actionsChild?.props,
70
+ otherChildren: otherChildren.filter(child => !isEmpty(child))
71
+ };
72
+ }, [children]);
73
+ return /*#__PURE__*/React__default.createElement(FlexBox, _extends({
74
+ ref: ref,
75
+ className: classNames(className, CLASSNAME),
76
+ gap: gap,
77
+ orientation: orientation
78
+ }, forwardedProps), (figure || sections.figureChildProps?.children) && /*#__PURE__*/React__default.createElement(FlexBox, _extends({
79
+ ref: sections.figureChild?.ref,
80
+ vAlign: forwardedProps.vAlign,
81
+ hAlign: forwardedProps.hAlign
82
+ }, figureProps, sections.figureChildProps, {
83
+ className: classNames(figureProps?.className, sections.figureChildProps?.className, `${CLASSNAME}__figure`)
84
+ }), figure, sections.figureChildProps?.children), (sections.contentChildProps?.children || sections.otherChildren.length > 0) && /*#__PURE__*/React__default.createElement(FlexBox, _extends({
85
+ ref: sections.contentChild?.ref,
86
+ orientation: Orientation.vertical,
87
+ fillSpace: true,
88
+ vAlign: forwardedProps.vAlign,
89
+ hAlign: forwardedProps.hAlign
90
+ }, contentProps, sections.contentChildProps, {
91
+ className: classNames(contentProps?.className, sections.contentChildProps?.className, `${CLASSNAME}__content`)
92
+ }), sections.contentChildProps?.children, sections.otherChildren), (actions || sections.actionsChildProps?.children) && /*#__PURE__*/React__default.createElement(FlexBox, _extends({
93
+ ref: sections.actionsChild?.ref,
94
+ vAlign: forwardedProps.vAlign,
95
+ hAlign: forwardedProps.hAlign
96
+ }, actionsProps, sections.actionsChildProps, {
97
+ className: classNames(actionsProps?.className, sections.actionsChildProps?.className, `${CLASSNAME}__actions`)
98
+ }), actions, sections.actionsChildProps?.children));
99
+ });
100
+ BaseGenericBlock.displayName = COMPONENT_NAME;
101
+ BaseGenericBlock.className = CLASSNAME;
102
+ BaseGenericBlock.defaultProps = DEFAULT_PROPS;
103
+ const GenericBlock = Object.assign(BaseGenericBlock, {
104
+ Figure,
105
+ Content,
106
+ Actions
107
+ });
108
+
109
+ /**
110
+ * Accepted gap sizes for the generic block.
111
+ */
112
+ const GenericBlockGapSize = pick(Size, ['tiny', 'regular', 'medium', 'big', 'huge']);
113
+
114
+ export { GenericBlock, GenericBlockGapSize };
115
+ //# sourceMappingURL=generic-block-0d6ad5a6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-block-0d6ad5a6.js","sources":["../../../src/components/generic-block/GenericBlock.tsx","../../../src/components/generic-block/constants.ts"],"sourcesContent":["import React, { Children, ReactElement, ReactNode } from 'react';\n\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\nimport noop from 'lodash/noop';\n\nimport { Comp, isComponentType } from '@lumx/react/utils/type';\nimport { getRootClassName } from '@lumx/core/js/utils/className';\nimport { partitionMulti } from '@lumx/react/utils/partitionMulti';\nimport { Orientation, Size, FlexBox, FlexBoxProps } from '@lumx/react';\nimport { GenericBlockGapSize } from '@lumx/react/components/generic-block/constants';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nexport interface GenericBlockProps extends FlexBoxProps {\n /**\n * Component to use as visual element.\n */\n figure?: ReactNode;\n /**\n * Actions to set after the main content.\n */\n actions?: ReactNode;\n /**\n * Main content to display or sections components\n * ({@see GenericBlock.Figure}, {@see GenericBlock.Content} & {@see GenericBlock.Actions})\n */\n children: ReactNode;\n /**\n * Orientation of the 3 sections\n */\n orientation?: FlexBoxProps['orientation'];\n /**\n * Horizontal alignment.\n */\n hAlign?: FlexBoxProps['hAlign'];\n /**\n * Vertical alignment.\n */\n vAlign?: FlexBoxProps['vAlign'];\n /**\n * The props to forward to the content.\n * By default, the content will have the same alignment as wrapper.\n */\n contentProps?: Omit<FlexBoxProps, 'children'>;\n /**\n * props to forward to the actions element.\n */\n actionsProps?: Omit<FlexBoxProps, 'children'>;\n /**\n * props to forward to the figure element.\n */\n figureProps?: Omit<FlexBoxProps, 'children'>;\n /**\n * Gap space between sections.\n */\n gap?: GenericBlockGapSize;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'GenericBlock';\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<GenericBlockProps> = {\n gap: Size.big,\n orientation: Orientation.horizontal,\n};\n\ntype BaseGenericBlock = Comp<GenericBlockProps, HTMLDivElement>;\n\ninterface GenericBlockSectionProps extends FlexBoxProps {\n /**\n * Gap space between items.\n */\n gap?: GenericBlockGapSize;\n}\n\ninterface GenericBlock extends BaseGenericBlock {\n /**\n * Use `GenericBlock.Figure` component as children of the `GenericBlock` component as an alternative way to inject\n * the \"figure\" section of the block (instead of using `figure` and `figureProps` props).\n */\n Figure: Comp<GenericBlockSectionProps>;\n /**\n * Use `GenericBlock.Content` component as children of the `GenericBlock` component as an alternative way to inject\n * the \"content\" section of the block (instead of using `content` and `contentProps` props).\n */\n Content: Comp<GenericBlockSectionProps>;\n /**\n * Use `GenericBlock.Actions` component as children of the `GenericBlock` component as an alternative way to inject\n * the \"actions\" section of the block (instead of using `actions` and `actionsProps` props).\n */\n Actions: Comp<GenericBlockSectionProps>;\n}\n\nconst Figure = noop.bind({}) as Comp<FlexBoxProps>;\nconst isFigure = isComponentType(Figure);\n\nconst Content = noop.bind({}) as Comp<FlexBoxProps>;\nconst isContent = isComponentType(Content);\n\nconst Actions = noop.bind({}) as Comp<FlexBoxProps>;\nconst isActions = isComponentType(Actions);\n\n/**\n * The GenericBlock is a layout component made of 3 sections that can be\n * displayed either horizontally of vertically with the same gap between each section.\n *\n * The sections are:\n * - `Figure` => A visual element to display before the main content.\n * - `Content` => The main content displayed\n * - `Actions` => One or more actions to set after the element.\n *\n * @see https://www.figma.com/file/lzzrQmsfaXRaOyRfoEogPZ/DS%3A-playground?node-id=1%3A4076\n */\nconst BaseGenericBlock: BaseGenericBlock = forwardRef((props, ref) => {\n const {\n className,\n figure,\n figureProps,\n children,\n actions,\n actionsProps,\n gap = DEFAULT_PROPS.gap,\n orientation = DEFAULT_PROPS.orientation,\n contentProps,\n ...forwardedProps\n } = props;\n\n const sections = React.useMemo(() => {\n // Split children by section type\n const [[figureChild], [contentChild], [actionsChild], ...otherChildren] = partitionMulti(\n Children.toArray(children),\n [isFigure, isContent, isActions],\n );\n return {\n figureChild,\n figureChildProps: (figureChild as ReactElement)?.props,\n contentChild,\n contentChildProps: (contentChild as ReactElement)?.props,\n actionsChild,\n actionsChildProps: (actionsChild as ReactElement)?.props,\n otherChildren: otherChildren.filter((child) => !isEmpty(child)),\n };\n }, [children]);\n\n return (\n <FlexBox\n ref={ref}\n className={classNames(className, CLASSNAME)}\n gap={gap}\n orientation={orientation}\n {...forwardedProps}\n >\n {(figure || sections.figureChildProps?.children) && (\n <FlexBox\n ref={(sections.figureChild as any)?.ref}\n vAlign={forwardedProps.vAlign}\n hAlign={forwardedProps.hAlign}\n {...figureProps}\n {...sections.figureChildProps}\n className={classNames(\n figureProps?.className,\n sections.figureChildProps?.className,\n `${CLASSNAME}__figure`,\n )}\n >\n {figure}\n {sections.figureChildProps?.children}\n </FlexBox>\n )}\n\n {(sections.contentChildProps?.children || sections.otherChildren.length > 0) && (\n <FlexBox\n ref={(sections.contentChild as any)?.ref}\n orientation={Orientation.vertical}\n fillSpace\n vAlign={forwardedProps.vAlign}\n hAlign={forwardedProps.hAlign}\n {...contentProps}\n {...sections.contentChildProps}\n className={classNames(\n contentProps?.className,\n sections.contentChildProps?.className,\n `${CLASSNAME}__content`,\n )}\n >\n {sections.contentChildProps?.children}\n {sections.otherChildren}\n </FlexBox>\n )}\n\n {(actions || sections.actionsChildProps?.children) && (\n <FlexBox\n ref={(sections.actionsChild as any)?.ref}\n vAlign={forwardedProps.vAlign}\n hAlign={forwardedProps.hAlign}\n {...actionsProps}\n {...sections.actionsChildProps}\n className={classNames(\n actionsProps?.className,\n sections.actionsChildProps?.className,\n `${CLASSNAME}__actions`,\n )}\n >\n {actions}\n {sections.actionsChildProps?.children}\n </FlexBox>\n )}\n </FlexBox>\n );\n});\nBaseGenericBlock.displayName = COMPONENT_NAME;\nBaseGenericBlock.className = CLASSNAME;\nBaseGenericBlock.defaultProps = DEFAULT_PROPS;\n\nexport const GenericBlock: GenericBlock = Object.assign(BaseGenericBlock, { Figure, Content, Actions });\n","import pick from 'lodash/pick';\nimport { Size } from '@lumx/react';\nimport { ValueOf } from '@lumx/react/utils/type';\n\n/**\n * Accepted gap sizes for the generic block.\n */\nexport const GenericBlockGapSize = pick(Size, ['tiny', 'regular', 'medium', 'big', 'huge']);\nexport type GenericBlockGapSize = ValueOf<typeof GenericBlockGapSize>;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","gap","Size","big","orientation","Orientation","horizontal","Figure","noop","bind","isFigure","isComponentType","Content","isContent","Actions","isActions","BaseGenericBlock","forwardRef","props","ref","className","figure","figureProps","children","actions","actionsProps","contentProps","forwardedProps","sections","React","useMemo","figureChild","contentChild","actionsChild","otherChildren","partitionMulti","Children","toArray","figureChildProps","contentChildProps","actionsChildProps","filter","child","isEmpty","createElement","FlexBox","_extends","classNames","vAlign","hAlign","length","vertical","fillSpace","displayName","defaultProps","GenericBlock","Object","assign","GenericBlockGapSize","pick"],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ import { f as forwardRef, _ as _extends, c as classNames } from '../forwardRef-49d2bb84.js';
2
+ import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
3
+ import { Orientation } from '@lumx/core/js/constants';
4
+
5
+ /**
6
+ * Defines the props of the component.
7
+ */
8
+
9
+ /**
10
+ * Component display name.
11
+ */
12
+ const COMPONENT_NAME$1 = 'Grid';
13
+
14
+ /**
15
+ * Component default class name and class prefix.
16
+ */
17
+ const CLASSNAME$1 = getRootClassName(COMPONENT_NAME$1);
18
+
19
+ /**
20
+ * Component default props.
21
+ */
22
+ const DEFAULT_PROPS = {
23
+ orientation: Orientation.horizontal,
24
+ wrap: 'nowrap'
25
+ };
26
+
27
+ /**
28
+ * Grid component.
29
+ *
30
+ * @param props Component props.
31
+ * @param ref Component ref.
32
+ * @return React element.
33
+ */
34
+ const Grid = forwardRef((props, ref) => {
35
+ const {
36
+ children,
37
+ className,
38
+ gutter,
39
+ hAlign,
40
+ orientation = DEFAULT_PROPS.orientation,
41
+ vAlign,
42
+ wrap = DEFAULT_PROPS.wrap,
43
+ ...forwardedProps
44
+ } = props;
45
+ return /*#__PURE__*/React.createElement("div", _extends({
46
+ ref: ref
47
+ }, forwardedProps, {
48
+ className: classNames(className, `${CLASSNAME$1}-container`, {
49
+ [`${CLASSNAME$1}--h-align-${hAlign}`]: hAlign
50
+ }, {
51
+ [`${CLASSNAME$1}--v-align-${vAlign}`]: vAlign
52
+ }, handleBasicClasses({
53
+ prefix: CLASSNAME$1,
54
+ orientation,
55
+ wrap,
56
+ gutter
57
+ }))
58
+ }), children);
59
+ });
60
+ Grid.displayName = COMPONENT_NAME$1;
61
+ Grid.className = CLASSNAME$1;
62
+ Grid.defaultProps = DEFAULT_PROPS;
63
+
64
+ /**
65
+ * Defines the props of the component.
66
+ */
67
+
68
+ /**
69
+ * Component display name.
70
+ */
71
+ const COMPONENT_NAME = 'GridItem';
72
+
73
+ /**
74
+ * Component default class name and class prefix.
75
+ */
76
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
77
+
78
+ /**
79
+ * GridItem component.
80
+ *
81
+ * @param props Component props.
82
+ * @param ref Component ref.
83
+ * @return React element.
84
+ */
85
+ const GridItem = forwardRef((props, ref) => {
86
+ const {
87
+ children,
88
+ className,
89
+ width,
90
+ align,
91
+ order,
92
+ ...forwardedProps
93
+ } = props;
94
+ return /*#__PURE__*/React.createElement("div", _extends({
95
+ ref: ref
96
+ }, forwardedProps, {
97
+ className: classNames(className, handleBasicClasses({
98
+ prefix: CLASSNAME,
99
+ width,
100
+ order,
101
+ align
102
+ }))
103
+ }), children);
104
+ });
105
+ GridItem.displayName = COMPONENT_NAME;
106
+ GridItem.className = CLASSNAME;
107
+
108
+ export { Grid, GridItem };
109
+ //# sourceMappingURL=grid-3b194fe8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-3b194fe8.js","sources":["../../../src/components/grid/Grid.tsx","../../../src/components/grid/GridItem.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport { Alignment, Orientation, Size } from '@lumx/react';\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\ntype GridGutterSize = Extract<Size, 'regular' | 'big' | 'huge'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface GridProps extends GenericProps {\n /** Orientation. */\n orientation?: Orientation;\n /** Whether the children are wrapped or not. */\n wrap?: string;\n /** Vertical alignment. */\n vAlign?: Alignment;\n /** Horizontal alignment. */\n hAlign?: Alignment;\n /** Gutter size. */\n gutter?: GridGutterSize;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Grid';\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<GridProps> = {\n orientation: Orientation.horizontal,\n wrap: 'nowrap',\n};\n\n/**\n * Grid component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Grid = forwardRef<GridProps, HTMLDivElement>((props, ref) => {\n const {\n children,\n className,\n gutter,\n hAlign,\n orientation = DEFAULT_PROPS.orientation,\n vAlign,\n wrap = DEFAULT_PROPS.wrap,\n ...forwardedProps\n } = props;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n `${CLASSNAME}-container`,\n { [`${CLASSNAME}--h-align-${hAlign}`]: hAlign },\n { [`${CLASSNAME}--v-align-${vAlign}`]: vAlign },\n handleBasicClasses({ prefix: CLASSNAME, orientation, wrap, gutter }),\n )}\n >\n {children}\n </div>\n );\n});\nGrid.displayName = COMPONENT_NAME;\nGrid.className = CLASSNAME;\nGrid.defaultProps = DEFAULT_PROPS;\n","import classNames from 'classnames';\n\nimport { Alignment } from '@lumx/react';\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\ntype Columns = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12';\n\n/**\n * Defines the props of the component.\n */\nexport interface GridItemProps extends GenericProps {\n /** Alignment. */\n align?: Alignment;\n /** Order. */\n order?: Columns;\n /** Width. */\n width?: Columns;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'GridItem';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * GridItem component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const GridItem = forwardRef<GridItemProps, HTMLDivElement>((props, ref) => {\n const { children, className, width, align, order, ...forwardedProps } = props;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, width, order, align }))}\n >\n {children}\n </div>\n );\n});\nGridItem.displayName = COMPONENT_NAME;\nGridItem.className = CLASSNAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","orientation","Orientation","horizontal","wrap","Grid","forwardRef","props","ref","children","className","gutter","hAlign","vAlign","forwardedProps","React","createElement","_extends","classNames","handleBasicClasses","prefix","displayName","defaultProps","GridItem","width","align","order"],"mappings":";;;;AASA;AACA;AACA;;AAgBA;AACA;AACA;AACA,MAAMA,gBAAc,GAAG,MAAM,CAAA;;AAE7B;AACA;AACA;AACA,MAAMC,WAAS,GAAGC,gBAAgB,CAACF,gBAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA,MAAMG,aAAiC,GAAG;EACtCC,WAAW,EAAEC,WAAW,CAACC,UAAU;AACnCC,EAAAA,IAAI,EAAE,QAAA;AACV,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,IAAI,GAAGC,UAAU,CAA4B,CAACC,KAAK,EAAEC,GAAG,KAAK;EACtE,MAAM;IACFC,QAAQ;IACRC,SAAS;IACTC,MAAM;IACNC,MAAM;IACNX,WAAW,GAAGD,aAAa,CAACC,WAAW;IACvCY,MAAM;IACNT,IAAI,GAAGJ,aAAa,CAACI,IAAI;IACzB,GAAGU,cAAAA;AACP,GAAC,GAAGP,KAAK,CAAA;AAET,EAAA,oBACIQ,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAAC,QAAA,CAAA;AACIT,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAA,EACLM,cAAc,EAAA;IAClBJ,SAAS,EAAEQ,UAAU,CACjBR,SAAS,EACT,CAAGZ,EAAAA,WAAS,YAAY,EACxB;AAAE,MAAA,CAAC,CAAGA,EAAAA,WAAS,CAAac,UAAAA,EAAAA,MAAM,EAAE,GAAGA,MAAAA;AAAO,KAAC,EAC/C;AAAE,MAAA,CAAC,CAAGd,EAAAA,WAAS,CAAae,UAAAA,EAAAA,MAAM,EAAE,GAAGA,MAAAA;KAAQ,EAC/CM,kBAAkB,CAAC;AAAEC,MAAAA,MAAM,EAAEtB,WAAS;MAAEG,WAAW;MAAEG,IAAI;AAAEO,MAAAA,MAAAA;AAAO,KAAC,CACvE,CAAA;AAAE,GAAA,CAAA,EAEDF,QACA,CAAC,CAAA;AAEd,CAAC,EAAC;AACFJ,IAAI,CAACgB,WAAW,GAAGxB,gBAAc,CAAA;AACjCQ,IAAI,CAACK,SAAS,GAAGZ,WAAS,CAAA;AAC1BO,IAAI,CAACiB,YAAY,GAAGtB,aAAa;;ACzEjC;AACA;AACA;;AAYA;AACA;AACA;AACA,MAAMH,cAAc,GAAG,UAAU,CAAA;;AAEjC;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM0B,QAAQ,GAAGjB,UAAU,CAAgC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC9E,MAAM;IAAEC,QAAQ;IAAEC,SAAS;IAAEc,KAAK;IAAEC,KAAK;IAAEC,KAAK;IAAE,GAAGZ,cAAAA;AAAe,GAAC,GAAGP,KAAK,CAAA;AAE7E,EAAA,oBACIQ,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAAC,QAAA,CAAA;AACIT,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAA,EACLM,cAAc,EAAA;AAClBJ,IAAAA,SAAS,EAAEQ,UAAU,CAACR,SAAS,EAAES,kBAAkB,CAAC;AAAEC,MAAAA,MAAM,EAAEtB,SAAS;MAAE0B,KAAK;MAAEE,KAAK;AAAED,MAAAA,KAAAA;AAAM,KAAC,CAAC,CAAA;AAAE,GAAA,CAAA,EAEhGhB,QACA,CAAC,CAAA;AAEd,CAAC,EAAC;AACFc,QAAQ,CAACF,WAAW,GAAGxB,cAAc,CAAA;AACrC0B,QAAQ,CAACb,SAAS,GAAGZ,SAAS;;;;"}
@@ -0,0 +1,60 @@
1
+ import { f as forwardRef, _ as _extends, c as classNames } from '../forwardRef-49d2bb84.js';
2
+ import isInteger from 'lodash/isInteger';
3
+ import { getRootClassName } from '@lumx/core/js/utils/className';
4
+
5
+ /**
6
+ * Defines the props of the component.
7
+ */
8
+
9
+ /**
10
+ * Component display name.
11
+ */
12
+ const COMPONENT_NAME = 'GridColumn';
13
+
14
+ /**
15
+ * Component default class name and class prefix.
16
+ */
17
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
18
+
19
+ /**
20
+ * Component default props.
21
+ */
22
+ const DEFAULT_PROPS = {};
23
+
24
+ /**
25
+ * The GridColumn is a layout component that can display children in a grid
26
+ * with custom display properties. It also comes with a responsive design,
27
+ * with a number of column that reduce when there is not enough space for each item.
28
+ *
29
+ * @param props Component props.
30
+ * @param ref Component ref.
31
+ * @return React element.
32
+ */
33
+ const GridColumn = forwardRef((props, ref) => {
34
+ const {
35
+ as: Component = 'div',
36
+ gap,
37
+ maxColumns,
38
+ itemMinWidth,
39
+ children,
40
+ className,
41
+ style = {},
42
+ ...forwardedProps
43
+ } = props;
44
+ return /*#__PURE__*/React.createElement(Component, _extends({}, forwardedProps, {
45
+ ref: ref,
46
+ className: classNames(className, CLASSNAME),
47
+ style: {
48
+ ...style,
49
+ ['--lumx-grid-column-item-min-width']: isInteger(itemMinWidth) && `${itemMinWidth}px`,
50
+ ['--lumx-grid-column-columns']: maxColumns,
51
+ ['--lumx-grid-column-gap']: gap && `var(--lumx-spacing-unit-${gap})`
52
+ }
53
+ }), children);
54
+ });
55
+ GridColumn.displayName = COMPONENT_NAME;
56
+ GridColumn.className = CLASSNAME;
57
+ GridColumn.defaultProps = DEFAULT_PROPS;
58
+
59
+ export { GridColumn };
60
+ //# sourceMappingURL=grid-column-985b9327.js.map