@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 @@
1
+ {"version":3,"file":"slider-8094cb5c.js","sources":["../../../src/hooks/useEventCallback.tsx","../../../src/utils/number/clamp.ts","../../../src/components/slider/Slider.tsx"],"sourcesContent":["import React from 'react';\n\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n\n/**\n * https://github.com/facebook/react/issues/14099#issuecomment-440013892\n *\n * @param fn A function to run\n * @return A React callback\n */\nexport default function useEventCallback(fn: (...args: any[]) => any): (event: any) => any {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useCallback((event: any) => ref.current(event), []);\n}\n","/**\n * Clamp value in range.\n *\n * @param value Value to clamp.\n * @param min Minimum value.\n * @param max Maximum value.\n * @return Clamped value.\n */\nexport const clamp = (value: number, min: number, max: number): number => {\n if (value < min) {\n return min;\n }\n if (value > max) {\n return max;\n }\n return value;\n};\n","/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport { SyntheticEvent, useMemo, useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { InputHelper, InputLabel, Theme } from '@lumx/react';\nimport useEventCallback from '@lumx/react/hooks/useEventCallback';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { clamp } from '@lumx/react/utils/number/clamp';\nimport { useId } from '@lumx/react/hooks/useId';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useDisableStateProps } from '@lumx/react/utils/disabled/useDisableStateProps';\n\n/**\n * Defines the props of the component.\n */\nexport interface SliderProps extends GenericProps, HasTheme {\n /** Helper text. */\n helper?: string;\n /** Whether the min and max labels should be hidden or not. */\n hideMinMaxLabel?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Label text. */\n label?: string;\n /** Maximum value on the range. */\n max: number;\n /** Minimum value of the range. */\n min: number;\n /** Native input name property. */\n name?: string;\n /** Number of digits in the fractional part of the selected value. */\n precision?: number;\n /** Range step value. */\n steps?: number;\n /** Selected ranged value. */\n value: number;\n /** On change callback. */\n onChange(value: number, name?: string, event?: SyntheticEvent): void;\n /** On click callback. */\n onMouseDown?(event: React.SyntheticEvent): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Slider';\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<SliderProps> = {\n precision: 0,\n steps: 0,\n};\n\n/**\n * Convert a percent value to a value in range min - max.\n *\n * @param percent Value to convert.\n * @param min Minimum value.\n * @param max Maximum value.\n * @param precision Precision.\n * @return Value in range min - max\n */\nconst computeValueFromPercent = (percent: number, min: number, max: number, precision = 0): number =>\n Number((min + percent * (max - min)).toFixed(precision));\n\n/**\n * Convert a value in range min - max to a percent value.\n *\n * @param value Value to convert.\n * @param min Minimum value.\n * @param max Maximum value.\n * @return Value in percent\n */\nconst computePercentFromValue = (value: number, min: number, max: number): number =>\n Number((value - min) / (max - min));\n\n/**\n * Slider component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Slider = forwardRef<SliderProps, HTMLDivElement>((props, ref) => {\n const { isAnyDisabled, disabledStateProps, otherProps } = useDisableStateProps(props);\n const defaultTheme = useTheme() || Theme.light;\n const {\n className,\n helper,\n hideMinMaxLabel,\n id,\n label,\n max,\n min,\n name,\n onChange,\n onMouseDown,\n precision = DEFAULT_PROPS.precision,\n steps = DEFAULT_PROPS.steps,\n theme = defaultTheme,\n value,\n ...forwardedProps\n } = otherProps;\n const generatedId = useId();\n const sliderId = id || generatedId;\n const sliderLabelId = useMemo(() => `label-${sliderId}`, [sliderId]);\n const sliderRef = useRef<HTMLDivElement>(null);\n\n // build a lookup array for the steps.\n const availableSteps = useMemo((): number[] => {\n if (!steps) return [];\n\n const available = [0];\n const percentStep = 1 / ((max - min) / steps);\n let ptr = 0;\n while (ptr + percentStep < 1) {\n ptr += percentStep;\n available.push(ptr);\n }\n return available;\n }, [steps, min, max]);\n\n /**\n * Try to find the closest step to the current slider position.\n *\n * @param percentValue Reference value\n * @return The closest step value\n */\n const findClosestStep = (percentValue: number): number => {\n const closest = availableSteps.reduce(\n (acc, step) => {\n const aDst = Math.abs(percentValue - step);\n if (aDst < acc.dst) {\n return { dst: aDst, val: step };\n }\n return acc;\n },\n { dst: Infinity, val: -1 },\n );\n return closest.val;\n };\n\n /**\n * Convert slider's handle position to percent.\n *\n * @param event The interaction event\n * @param slider the slider element\n * @return The computed percent value\n */\n const getPercentValue = (event: React.MouseEvent, slider: HTMLDivElement): number => {\n const { width, left } = slider.getBoundingClientRect();\n let percent = (event.pageX - left - window.pageXOffset) / width;\n percent = clamp(percent, 0, 1);\n if (steps) {\n percent = findClosestStep(percent);\n }\n return percent;\n };\n\n /**\n * Register a handler for the mouse move event.\n */\n const handleMove = useEventCallback((event: React.MouseEvent) => {\n const { current: slider } = sliderRef;\n if (!slider || !onChange) return;\n const newValue = getPercentValue(event, slider);\n onChange(computeValueFromPercent(newValue, min, max, precision), name, event);\n });\n\n /**\n * Register a handler for the mouse up event.\n * Clean a all listeners.\n */\n const handleEnd = useEventCallback(() => {\n document.body.removeEventListener('mousemove', handleMove);\n document.body.removeEventListener('mouseup', handleEnd);\n document.body.removeEventListener('touchmove', handleMove);\n document.body.removeEventListener('touchend', handleEnd);\n });\n\n /**\n * Move to the next or previous value (i.e. + or - 10%) or next step\n * @param previous Should seek the previous value.\n */\n const hopToValue = (previous = false) => {\n const oldPercent = computePercentFromValue(value, min, max);\n let percent = clamp(oldPercent + (previous ? -0.1 : 0.1), 0, 1);\n if (steps) {\n percent = oldPercent + availableSteps[1] * (previous ? -1 : 1);\n percent = findClosestStep(percent);\n }\n if (onChange) {\n onChange(computeValueFromPercent(percent, min, max, precision), name);\n }\n };\n\n /**\n * Register a handler for keyboard interactions\n */\n const handleKeyDown = useEventCallback((event: React.KeyboardEvent) => {\n if (event.key === 'ArrowRight') {\n hopToValue();\n } else if (event.key === 'ArrowLeft') {\n hopToValue(true);\n }\n });\n\n /**\n * Register a handler for the mouseDown event.\n */\n const handleMouseDown = useEventCallback((event: React.MouseEvent) => {\n onMouseDown?.(event);\n\n const { current: slider } = sliderRef;\n if (isAnyDisabled || !slider) return;\n const newValue = getPercentValue(event, slider);\n if (onChange) {\n onChange(computeValueFromPercent(newValue, min, max, precision), name, event);\n }\n\n document.body.addEventListener('mousemove', handleMove);\n document.body.addEventListener('mouseup', handleEnd);\n });\n\n const percentString = `${computePercentFromValue(value, min, max) * 100}%`;\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({ prefix: CLASSNAME, theme, hasLabel: Boolean(label) }),\n )}\n onMouseDown={handleMouseDown}\n >\n {label && (\n <InputLabel id={sliderLabelId} htmlFor={sliderId} className={`${CLASSNAME}__label`} theme={theme}>\n {label}\n </InputLabel>\n )}\n\n {helper && (\n <InputHelper className={`${CLASSNAME}__helper`} theme={theme}>\n {helper}\n </InputHelper>\n )}\n\n <div className={`${CLASSNAME}__ui-wrapper`}>\n {!hideMinMaxLabel && (\n <span className={`${CLASSNAME}__value-label ${CLASSNAME}__value-label--min`}>{min}</span>\n )}\n <div className={`${CLASSNAME}__wrapper`} ref={sliderRef}>\n <div className={`${CLASSNAME}__track ${CLASSNAME}__track--background`} />\n <div\n className={`${CLASSNAME}__track ${CLASSNAME}__track--active`}\n style={{ width: percentString }}\n />\n {steps ? (\n <div className={`${CLASSNAME}__ticks`}>\n {availableSteps.map((step, idx) => (\n <div\n key={`tick_${idx}`}\n className={`${CLASSNAME}__tick`}\n style={{ left: `${step * 100}%` }}\n />\n ))}\n </div>\n ) : null}\n <button\n type=\"button\"\n aria-labelledby={sliderLabelId}\n name={name}\n id={sliderId}\n className={`${CLASSNAME}__handle`}\n style={{ left: percentString }}\n onKeyDown={isAnyDisabled ? undefined : handleKeyDown}\n {...disabledStateProps}\n />\n </div>\n {!hideMinMaxLabel && (\n <span className={`${CLASSNAME}__value-label ${CLASSNAME}__value-label--max`}>{max}</span>\n )}\n </div>\n </div>\n );\n});\nSlider.displayName = COMPONENT_NAME;\nSlider.className = CLASSNAME;\nSlider.defaultProps = DEFAULT_PROPS;\n"],"names":["useEnhancedEffect","window","React","useLayoutEffect","useEffect","useEventCallback","fn","ref","useRef","current","useCallback","event","clamp","value","min","max","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","precision","steps","computeValueFromPercent","percent","Number","toFixed","computePercentFromValue","Slider","forwardRef","props","isAnyDisabled","disabledStateProps","otherProps","useDisableStateProps","defaultTheme","useTheme","Theme","light","className","helper","hideMinMaxLabel","id","label","name","onChange","onMouseDown","theme","forwardedProps","generatedId","useId","sliderId","sliderLabelId","useMemo","sliderRef","availableSteps","available","percentStep","ptr","push","findClosestStep","percentValue","closest","reduce","acc","step","aDst","Math","abs","dst","val","Infinity","getPercentValue","slider","width","left","getBoundingClientRect","pageX","pageXOffset","handleMove","newValue","handleEnd","document","body","removeEventListener","hopToValue","previous","oldPercent","handleKeyDown","key","handleMouseDown","addEventListener","percentString","createElement","_extends","classNames","handleBasicClasses","prefix","hasLabel","Boolean","InputLabel","htmlFor","InputHelper","style","map","idx","type","onKeyDown","undefined","displayName","defaultProps"],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ import { f as forwardRef, _ as _extends } from '../forwardRef-49d2bb84.js';
2
+ import React__default, { useEffect } from 'react';
3
+ import { a as SlideshowControls, b as Slides, c as buildSlideShowGroupId, D as DEFAULT_OPTIONS } from '../Slides-01f513ce.js';
4
+ export { S as SlideshowItem } from '../Slides-01f513ce.js';
5
+ import { m as mergeRefs } from '../mergeRefs-f0d7d6ea.js';
6
+ import { u as useTheme } from '../ThemeContext-3181f000.js';
7
+ import { Theme } from '@lumx/core/js/constants';
8
+
9
+ /**
10
+ * Hook that allows to control when there is a focus event within a given element, meaning
11
+ * that any element within the given target will trigger the focus in and focus out events.
12
+ * @param options - UseFocusWithinOptions
13
+ */
14
+ const useFocusWithin = ({
15
+ element,
16
+ onFocusIn,
17
+ onFocusOut
18
+ }) => {
19
+ useEffect(() => {
20
+ if (element) {
21
+ element.addEventListener('focusin', onFocusIn);
22
+ element.addEventListener('focusout', onFocusOut);
23
+ }
24
+ return () => {
25
+ if (element) {
26
+ element.removeEventListener('focusin', onFocusIn);
27
+ element.removeEventListener('focusout', onFocusOut);
28
+ }
29
+ };
30
+ }, [onFocusIn, element, onFocusOut]);
31
+ };
32
+
33
+ /**
34
+ * Defines the props of the component.
35
+ */
36
+
37
+ /**
38
+ * Component default props.
39
+ */
40
+ const DEFAULT_PROPS = DEFAULT_OPTIONS;
41
+
42
+ /**
43
+ * Slideshow component.
44
+ *
45
+ * @param props Component props.
46
+ * @param ref Component ref.
47
+ * @return React element.
48
+ */
49
+ const Slideshow = forwardRef((props, ref) => {
50
+ const defaultTheme = useTheme() || Theme.light;
51
+ const {
52
+ activeIndex,
53
+ autoPlay = DEFAULT_PROPS.autoPlay,
54
+ children,
55
+ className,
56
+ fillHeight,
57
+ groupBy = DEFAULT_OPTIONS.groupBy,
58
+ interval = DEFAULT_PROPS.interval,
59
+ onChange,
60
+ slideshowControlsProps,
61
+ theme = defaultTheme,
62
+ id,
63
+ slidesId,
64
+ slideGroupLabel,
65
+ ...forwardedProps
66
+ } = props;
67
+ // Number of slideshow items.
68
+ const itemsCount = React__default.Children.count(children);
69
+ const {
70
+ activeIndex: currentIndex,
71
+ slideshowId,
72
+ setSlideshow,
73
+ isAutoPlaying,
74
+ slideshowSlidesId,
75
+ slidesCount,
76
+ onNextClick,
77
+ onPaginationClick,
78
+ onPreviousClick,
79
+ slideshow,
80
+ stopAutoPlay,
81
+ startAutoPlay,
82
+ toggleAutoPlay,
83
+ toggleForcePause
84
+ } = SlideshowControls.useSlideshowControls({
85
+ activeIndex,
86
+ defaultActiveIndex: DEFAULT_PROPS.activeIndex,
87
+ autoPlay: Boolean(autoPlay),
88
+ itemsCount,
89
+ groupBy,
90
+ id,
91
+ interval,
92
+ onChange,
93
+ slidesId
94
+ });
95
+ useFocusWithin({
96
+ element: slideshow,
97
+ onFocusIn: stopAutoPlay,
98
+ onFocusOut: startAutoPlay
99
+ });
100
+ const showControls = slideshowControlsProps && slidesCount > 1;
101
+ return /*#__PURE__*/React__default.createElement(Slides, _extends({
102
+ activeIndex: currentIndex,
103
+ id: slideshowId,
104
+ className: className,
105
+ theme: theme,
106
+ fillHeight: fillHeight,
107
+ groupBy: groupBy,
108
+ isAutoPlaying: isAutoPlaying,
109
+ autoPlay: autoPlay,
110
+ slidesId: slideshowSlidesId,
111
+ toggleAutoPlay: toggleAutoPlay,
112
+ ref: mergeRefs(ref, setSlideshow),
113
+ hasControls: showControls,
114
+ slideGroupLabel: slideGroupLabel,
115
+ afterSlides: slideshowControlsProps && slidesCount > 1 ? /*#__PURE__*/React__default.createElement("div", {
116
+ className: `${Slides.className}__controls`
117
+ }, /*#__PURE__*/React__default.createElement(SlideshowControls, _extends({}, slideshowControlsProps, {
118
+ activeIndex: currentIndex,
119
+ onPaginationClick: onPaginationClick,
120
+ onNextClick: onNextClick,
121
+ onPreviousClick: onPreviousClick,
122
+ slidesCount: slidesCount,
123
+ parentRef: slideshow,
124
+ theme: theme,
125
+ isAutoPlaying: isAutoPlaying,
126
+ nextButtonProps: {
127
+ 'aria-controls': slideshowSlidesId,
128
+ ...slideshowControlsProps.nextButtonProps
129
+ },
130
+ previousButtonProps: {
131
+ 'aria-controls': slideshowSlidesId,
132
+ ...slideshowControlsProps.previousButtonProps
133
+ },
134
+ playButtonProps: autoPlay ? {
135
+ 'aria-controls': slideshowSlidesId,
136
+ onClick: toggleForcePause,
137
+ ...slideshowControlsProps.playButtonProps
138
+ } : undefined,
139
+ paginationItemProps: index => ({
140
+ 'aria-controls': buildSlideShowGroupId(slideshowSlidesId, index),
141
+ ...slideshowControlsProps.paginationItemProps?.(index)
142
+ })
143
+ }))) : undefined
144
+ }, forwardedProps), children);
145
+ });
146
+ Slideshow.displayName = 'Slideshow';
147
+ Slideshow.defaultProps = DEFAULT_PROPS;
148
+
149
+ export { Slides, Slideshow, SlideshowControls };
150
+ //# sourceMappingURL=slideshow-2e8cd372.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slideshow-2e8cd372.js","sources":["../../../src/hooks/useFocusWithin.ts","../../../src/components/slideshow/Slideshow.tsx"],"sourcesContent":["import { useEffect } from 'react';\n\nexport interface UseFocusWithinOptions {\n /** element to add the focus within to */\n element: HTMLElement | null;\n /** callback to be executed on focus in */\n onFocusIn: (ev: FocusEvent) => void;\n /** callback to be executed on focus out */\n onFocusOut: (ev: FocusEvent) => void;\n}\n\n/**\n * Hook that allows to control when there is a focus event within a given element, meaning\n * that any element within the given target will trigger the focus in and focus out events.\n * @param options - UseFocusWithinOptions\n */\nexport const useFocusWithin = ({ element, onFocusIn, onFocusOut }: UseFocusWithinOptions) => {\n useEffect(() => {\n if (element) {\n element.addEventListener('focusin', onFocusIn);\n\n element.addEventListener('focusout', onFocusOut);\n }\n\n return () => {\n if (element) {\n element.removeEventListener('focusin', onFocusIn);\n\n element.removeEventListener('focusout', onFocusOut);\n }\n };\n }, [onFocusIn, element, onFocusOut]);\n};\n","import React from 'react';\n\nimport { SlideshowControls, SlideshowControlsProps, Theme, Slides, SlidesProps } from '@lumx/react';\nimport { DEFAULT_OPTIONS } from '@lumx/react/hooks/useSlideshowControls';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { useFocusWithin } from '@lumx/react/hooks/useFocusWithin';\nimport { mergeRefs } from '@lumx/react/utils/react/mergeRefs';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { buildSlideShowGroupId } from './SlideshowItemGroup';\n\n/**\n * Defines the props of the component.\n */\nexport interface SlideshowProps\n extends GenericProps,\n Pick<SlidesProps, 'autoPlay' | 'slidesId' | 'id' | 'theme' | 'fillHeight' | 'groupBy' | 'slideGroupLabel'> {\n /** current slide active */\n activeIndex?: SlidesProps['activeIndex'];\n /** Interval between each slide when automatic rotation is enabled. */\n interval?: number;\n /** Props to pass to the slideshow controls (minus those already set by the Slideshow props). */\n slideshowControlsProps?: Pick<\n SlideshowControlsProps,\n 'nextButtonProps' | 'previousButtonProps' | 'paginationItemProps'\n > &\n Omit<\n SlideshowControlsProps,\n | 'activeIndex'\n | 'onPaginationClick'\n | 'onNextClick'\n | 'onPreviousClick'\n | 'slidesCount'\n | 'parentRef'\n | 'theme'\n >;\n /** Callback when slide changes */\n onChange?(index: number): void;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<SlideshowProps> = DEFAULT_OPTIONS;\n\n/**\n * Slideshow component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Slideshow = forwardRef<SlideshowProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n activeIndex,\n autoPlay = DEFAULT_PROPS.autoPlay,\n children,\n className,\n fillHeight,\n groupBy = DEFAULT_OPTIONS.groupBy,\n interval = DEFAULT_PROPS.interval,\n onChange,\n slideshowControlsProps,\n theme = defaultTheme,\n id,\n slidesId,\n slideGroupLabel,\n ...forwardedProps\n } = props;\n // Number of slideshow items.\n const itemsCount = React.Children.count(children);\n\n const {\n activeIndex: currentIndex,\n slideshowId,\n setSlideshow,\n isAutoPlaying,\n slideshowSlidesId,\n slidesCount,\n onNextClick,\n onPaginationClick,\n onPreviousClick,\n slideshow,\n stopAutoPlay,\n startAutoPlay,\n toggleAutoPlay,\n toggleForcePause,\n } = SlideshowControls.useSlideshowControls({\n activeIndex,\n defaultActiveIndex: DEFAULT_PROPS.activeIndex as number,\n autoPlay: Boolean(autoPlay),\n itemsCount,\n groupBy,\n id,\n interval,\n onChange,\n slidesId,\n });\n\n useFocusWithin({\n element: slideshow,\n onFocusIn: stopAutoPlay,\n onFocusOut: startAutoPlay,\n });\n\n const showControls = slideshowControlsProps && slidesCount > 1;\n\n return (\n <Slides\n activeIndex={currentIndex}\n id={slideshowId}\n className={className}\n theme={theme}\n fillHeight={fillHeight}\n groupBy={groupBy}\n isAutoPlaying={isAutoPlaying}\n autoPlay={autoPlay}\n slidesId={slideshowSlidesId}\n toggleAutoPlay={toggleAutoPlay}\n ref={mergeRefs(ref, setSlideshow)}\n hasControls={showControls}\n slideGroupLabel={slideGroupLabel}\n afterSlides={\n slideshowControlsProps && slidesCount > 1 ? (\n <div className={`${Slides.className}__controls`}>\n <SlideshowControls\n {...slideshowControlsProps}\n activeIndex={currentIndex}\n onPaginationClick={onPaginationClick}\n onNextClick={onNextClick}\n onPreviousClick={onPreviousClick}\n slidesCount={slidesCount}\n parentRef={slideshow}\n theme={theme}\n isAutoPlaying={isAutoPlaying}\n nextButtonProps={{\n 'aria-controls': slideshowSlidesId,\n ...slideshowControlsProps.nextButtonProps,\n }}\n previousButtonProps={{\n 'aria-controls': slideshowSlidesId,\n ...slideshowControlsProps.previousButtonProps,\n }}\n playButtonProps={\n autoPlay\n ? {\n 'aria-controls': slideshowSlidesId,\n onClick: toggleForcePause,\n ...slideshowControlsProps.playButtonProps,\n }\n : undefined\n }\n paginationItemProps={(index) => ({\n 'aria-controls': buildSlideShowGroupId(slideshowSlidesId, index),\n ...slideshowControlsProps.paginationItemProps?.(index),\n })}\n />\n </div>\n ) : undefined\n }\n {...forwardedProps}\n >\n {children}\n </Slides>\n );\n});\n\nSlideshow.displayName = 'Slideshow';\nSlideshow.defaultProps = DEFAULT_PROPS;\n"],"names":["useFocusWithin","element","onFocusIn","onFocusOut","useEffect","addEventListener","removeEventListener","DEFAULT_PROPS","DEFAULT_OPTIONS","Slideshow","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","activeIndex","autoPlay","children","className","fillHeight","groupBy","interval","onChange","slideshowControlsProps","theme","id","slidesId","slideGroupLabel","forwardedProps","itemsCount","React","Children","count","currentIndex","slideshowId","setSlideshow","isAutoPlaying","slideshowSlidesId","slidesCount","onNextClick","onPaginationClick","onPreviousClick","slideshow","stopAutoPlay","startAutoPlay","toggleAutoPlay","toggleForcePause","SlideshowControls","useSlideshowControls","defaultActiveIndex","Boolean","showControls","createElement","Slides","_extends","mergeRefs","hasControls","afterSlides","parentRef","nextButtonProps","previousButtonProps","playButtonProps","onClick","undefined","paginationItemProps","index","buildSlideShowGroupId","displayName","defaultProps"],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ import { f as forwardRef, _ as _extends, c as classNames } from '../forwardRef-49d2bb84.js';
2
+ import { Children } from 'react';
3
+ import isEmpty from 'lodash/isEmpty';
4
+ import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
5
+ import { u as useId } from '../useId-3a1facc0.js';
6
+ import { u as useTheme } from '../ThemeContext-3181f000.js';
7
+ import { u as useDisableStateProps } from '../useDisableStateProps-fffc365f.js';
8
+ import { Alignment, Theme } from '@lumx/core/js/constants';
9
+ import { InputLabel } from './input-label-5e509a1b.js';
10
+ import { InputHelper } from './input-helper-e644e05e.js';
11
+
12
+ /**
13
+ * Defines the props of the component.
14
+ */
15
+
16
+ /**
17
+ * Component display name.
18
+ */
19
+ const COMPONENT_NAME = 'Switch';
20
+
21
+ /**
22
+ * Component default class name and class prefix.
23
+ */
24
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
25
+
26
+ /**
27
+ * Component default props.
28
+ */
29
+ const DEFAULT_PROPS = {
30
+ position: Alignment.left
31
+ };
32
+
33
+ /**
34
+ * Switch component.
35
+ *
36
+ * @param props Component props.
37
+ * @param ref Component ref.
38
+ * @return React element.
39
+ */
40
+ const Switch = forwardRef((props, ref) => {
41
+ const {
42
+ isAnyDisabled,
43
+ disabledStateProps,
44
+ otherProps
45
+ } = useDisableStateProps(props);
46
+ const defaultTheme = useTheme() || Theme.light;
47
+ const {
48
+ checked,
49
+ children,
50
+ className,
51
+ helper,
52
+ id,
53
+ isChecked = checked,
54
+ name,
55
+ onChange,
56
+ position = DEFAULT_PROPS.position,
57
+ theme = defaultTheme,
58
+ value,
59
+ inputProps = {},
60
+ ...forwardedProps
61
+ } = otherProps;
62
+ const generatedInputId = useId();
63
+ const inputId = id || generatedInputId;
64
+ const handleChange = event => {
65
+ if (onChange) {
66
+ onChange(!isChecked, value, name, event);
67
+ }
68
+ };
69
+ return /*#__PURE__*/React.createElement("div", _extends({
70
+ ref: ref
71
+ }, forwardedProps, {
72
+ className: classNames(className, handleBasicClasses({
73
+ prefix: CLASSNAME,
74
+ isChecked,
75
+ isDisabled: isAnyDisabled,
76
+ position,
77
+ theme,
78
+ isUnchecked: !isChecked
79
+ }))
80
+ }), /*#__PURE__*/React.createElement("div", {
81
+ className: `${CLASSNAME}__input-wrapper`
82
+ }, /*#__PURE__*/React.createElement("input", _extends({
83
+ type: "checkbox",
84
+ role: "switch",
85
+ id: inputId,
86
+ className: `${CLASSNAME}__input-native`,
87
+ name: name,
88
+ value: value
89
+ }, disabledStateProps, {
90
+ readOnly: inputProps.readOnly || isAnyDisabled,
91
+ checked: isChecked,
92
+ "aria-checked": Boolean(isChecked),
93
+ onChange: handleChange,
94
+ "aria-describedby": helper ? `${inputId}-helper` : undefined
95
+ }, inputProps)), /*#__PURE__*/React.createElement("div", {
96
+ className: `${CLASSNAME}__input-placeholder`
97
+ }, /*#__PURE__*/React.createElement("div", {
98
+ className: `${CLASSNAME}__input-background`
99
+ }), /*#__PURE__*/React.createElement("div", {
100
+ className: `${CLASSNAME}__input-indicator`
101
+ }))), Children.count(children) > 0 && /*#__PURE__*/React.createElement("div", {
102
+ className: `${CLASSNAME}__content`
103
+ }, /*#__PURE__*/React.createElement(InputLabel, {
104
+ htmlFor: inputId,
105
+ theme: theme,
106
+ className: `${CLASSNAME}__label`
107
+ }, children), !isEmpty(helper) && /*#__PURE__*/React.createElement(InputHelper, {
108
+ id: `${inputId}-helper`,
109
+ theme: theme,
110
+ className: `${CLASSNAME}__helper`
111
+ }, helper)));
112
+ });
113
+ Switch.displayName = COMPONENT_NAME;
114
+ Switch.className = CLASSNAME;
115
+ Switch.defaultProps = DEFAULT_PROPS;
116
+
117
+ export { Switch };
118
+ //# sourceMappingURL=switch-5516949b.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch-5516949b.js","sources":["../../../src/components/switch/Switch.tsx"],"sourcesContent":["import { Children, InputHTMLAttributes, SyntheticEvent } from 'react';\n\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { Alignment, InputHelper, InputLabel, Theme } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useId } from '@lumx/react/hooks/useId';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useDisableStateProps } from '@lumx/react/utils/disabled/useDisableStateProps';\nimport { HasAriaDisabled } from '@lumx/react/utils/type/HasAriaDisabled';\n\n/**\n * Defines the props of the component.\n */\nexport interface SwitchProps extends GenericProps, HasTheme, HasAriaDisabled {\n /** Helper text. */\n helper?: string;\n /** Whether it is checked or not. */\n isChecked?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Native input name property. */\n name?: string;\n /** Position of the switch relative to the label. */\n position?: Extract<Alignment, 'right' | 'left'>;\n /** Native input value property. */\n value?: string;\n /** On change callback. */\n onChange?(isChecked: boolean, value?: string, name?: string, event?: SyntheticEvent): void;\n /** optional props for input */\n inputProps?: InputHTMLAttributes<HTMLInputElement>;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Switch';\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<SwitchProps> = {\n position: Alignment.left,\n};\n\n/**\n * Switch component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Switch = forwardRef<SwitchProps, HTMLDivElement>((props, ref) => {\n const { isAnyDisabled, disabledStateProps, otherProps } = useDisableStateProps(props);\n const defaultTheme = useTheme() || Theme.light;\n const {\n checked,\n children,\n className,\n helper,\n id,\n isChecked = checked,\n name,\n onChange,\n position = DEFAULT_PROPS.position,\n theme = defaultTheme,\n value,\n inputProps = {},\n ...forwardedProps\n } = otherProps;\n const generatedInputId = useId();\n const inputId = id || generatedInputId;\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(!isChecked, value, name, event);\n }\n };\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n isChecked,\n isDisabled: isAnyDisabled,\n position,\n theme,\n isUnchecked: !isChecked,\n }),\n )}\n >\n <div className={`${CLASSNAME}__input-wrapper`}>\n <input\n type=\"checkbox\"\n role=\"switch\"\n id={inputId}\n className={`${CLASSNAME}__input-native`}\n name={name}\n value={value}\n {...disabledStateProps}\n readOnly={inputProps.readOnly || isAnyDisabled}\n checked={isChecked}\n aria-checked={Boolean(isChecked)}\n onChange={handleChange}\n aria-describedby={helper ? `${inputId}-helper` : undefined}\n {...inputProps}\n />\n\n <div className={`${CLASSNAME}__input-placeholder`}>\n <div className={`${CLASSNAME}__input-background`} />\n <div className={`${CLASSNAME}__input-indicator`} />\n </div>\n </div>\n\n {Children.count(children) > 0 && (\n <div className={`${CLASSNAME}__content`}>\n <InputLabel htmlFor={inputId} theme={theme} className={`${CLASSNAME}__label`}>\n {children}\n </InputLabel>\n {!isEmpty(helper) && (\n <InputHelper id={`${inputId}-helper`} theme={theme} className={`${CLASSNAME}__helper`}>\n {helper}\n </InputHelper>\n )}\n </div>\n )}\n </div>\n );\n});\nSwitch.displayName = COMPONENT_NAME;\nSwitch.className = CLASSNAME;\nSwitch.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","position","Alignment","left","Switch","forwardRef","props","ref","isAnyDisabled","disabledStateProps","otherProps","useDisableStateProps","defaultTheme","useTheme","Theme","light","checked","children","className","helper","id","isChecked","name","onChange","theme","value","inputProps","forwardedProps","generatedInputId","useId","inputId","handleChange","event","React","createElement","_extends","classNames","handleBasicClasses","prefix","isDisabled","isUnchecked","type","role","readOnly","Boolean","undefined","Children","count","InputLabel","htmlFor","isEmpty","InputHelper","displayName","defaultProps"],"mappings":"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"}
@@ -0,0 +1,299 @@
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, Size } from '@lumx/core/js/constants';
5
+ import { mdiArrowUp, mdiArrowDown } from '@lumx/icons';
6
+ import { Icon } from './icon-2e7345ad.js';
7
+ import { u as useDisableStateProps } from '../useDisableStateProps-fffc365f.js';
8
+
9
+ /**
10
+ * Defines the props of the component.
11
+ */
12
+
13
+ /**
14
+ * Component display name.
15
+ */
16
+ const COMPONENT_NAME$4 = 'Table';
17
+
18
+ /**
19
+ * Component default class name and class prefix.
20
+ */
21
+ const CLASSNAME$4 = getRootClassName(COMPONENT_NAME$4);
22
+
23
+ /**
24
+ * Component default props.
25
+ */
26
+ const DEFAULT_PROPS$3 = {};
27
+
28
+ /**
29
+ * Table component.
30
+ *
31
+ * @param props Component props.
32
+ * @param ref Component ref.
33
+ * @return React element.
34
+ */
35
+ const Table = forwardRef((props, ref) => {
36
+ const defaultTheme = useTheme() || Theme.light;
37
+ const {
38
+ children,
39
+ className,
40
+ hasBefore,
41
+ hasDividers,
42
+ theme = defaultTheme,
43
+ ...forwardedProps
44
+ } = props;
45
+ return /*#__PURE__*/React.createElement("table", _extends({
46
+ ref: ref
47
+ }, forwardedProps, {
48
+ className: classNames(className, handleBasicClasses({
49
+ prefix: CLASSNAME$4,
50
+ hasBefore,
51
+ hasDividers,
52
+ theme
53
+ }))
54
+ }), children);
55
+ });
56
+ Table.displayName = COMPONENT_NAME$4;
57
+ Table.className = CLASSNAME$4;
58
+ Table.defaultProps = DEFAULT_PROPS$3;
59
+
60
+ /**
61
+ * Defines the props of the component.
62
+ */
63
+
64
+ /**
65
+ * Component display name.
66
+ */
67
+ const COMPONENT_NAME$3 = 'TableBody';
68
+
69
+ /**
70
+ * Component default class name and class prefix.
71
+ */
72
+ const CLASSNAME$3 = getRootClassName(COMPONENT_NAME$3, true);
73
+
74
+ /**
75
+ * TableBody component.
76
+ *
77
+ * @param props Component props.
78
+ * @param ref Component ref.
79
+ * @return React element.
80
+ */
81
+ const TableBody = forwardRef((props, ref) => {
82
+ const {
83
+ children,
84
+ className,
85
+ ...forwardedProps
86
+ } = props;
87
+ return /*#__PURE__*/React.createElement("tbody", _extends({
88
+ ref: ref
89
+ }, forwardedProps, {
90
+ className: classNames(className, CLASSNAME$3)
91
+ }), children);
92
+ });
93
+ TableBody.displayName = COMPONENT_NAME$3;
94
+ TableBody.className = CLASSNAME$3;
95
+
96
+ /**
97
+ * Table head cell sort order.
98
+ */
99
+ const ThOrder = {
100
+ asc: 'asc',
101
+ desc: 'desc'
102
+ };
103
+ /**
104
+ * Table cell variants.
105
+ */
106
+ const TableCellVariant = {
107
+ body: 'body',
108
+ head: 'head'
109
+ };
110
+
111
+ /**
112
+ * Defines the props of the component.
113
+ */
114
+
115
+ /**
116
+ * Component display name.
117
+ */
118
+ const COMPONENT_NAME$2 = 'TableCell';
119
+
120
+ /**
121
+ * Component default class name and class prefix.
122
+ */
123
+ const CLASSNAME$2 = getRootClassName(COMPONENT_NAME$2, true);
124
+
125
+ /**
126
+ * Component default props.
127
+ */
128
+ const DEFAULT_PROPS$2 = {
129
+ variant: TableCellVariant.body
130
+ };
131
+
132
+ /**
133
+ * TableCell component.
134
+ *
135
+ * @param props Component props.
136
+ * @param ref Component ref.
137
+ * @return React element.
138
+ */
139
+ const TableCell = forwardRef((props, ref) => {
140
+ const {
141
+ children,
142
+ className,
143
+ icon,
144
+ isSortable,
145
+ onHeaderClick,
146
+ sortOrder,
147
+ variant = DEFAULT_PROPS$2.variant,
148
+ ...forwardedProps
149
+ } = props;
150
+
151
+ // Use button if clickable
152
+ const Wrapper = onHeaderClick ? 'button' : 'div';
153
+ const wrapperProps = Wrapper === 'button' ? {
154
+ type: 'button',
155
+ onClick: onHeaderClick
156
+ } : undefined;
157
+
158
+ // ARIA sort
159
+ let ariaSort;
160
+ if (isSortable) {
161
+ ariaSort = 'none';
162
+ if (sortOrder === ThOrder.asc) ariaSort = 'ascending';
163
+ if (sortOrder === ThOrder.desc) ariaSort = 'descending';
164
+ }
165
+ return /*#__PURE__*/React.createElement(React.Fragment, null, variant === TableCellVariant.head && /*#__PURE__*/React.createElement("th", _extends({
166
+ ref: ref
167
+ }, forwardedProps, {
168
+ className: classNames(handleBasicClasses({
169
+ prefix: CLASSNAME$2,
170
+ isSortable,
171
+ isSorted: isSortable && !!sortOrder
172
+ }), className, `${CLASSNAME$2}--head`),
173
+ "aria-sort": ariaSort
174
+ }), /*#__PURE__*/React.createElement(Wrapper, _extends({
175
+ className: `${CLASSNAME$2}-wrapper`
176
+ }, wrapperProps), icon && !isSortable && /*#__PURE__*/React.createElement(Icon, {
177
+ className: `${CLASSNAME$2}-icon`,
178
+ icon: icon,
179
+ size: Size.xxs
180
+ }), isSortable && sortOrder === ThOrder.asc && /*#__PURE__*/React.createElement(Icon, {
181
+ className: `${CLASSNAME$2}-icon`,
182
+ icon: mdiArrowUp,
183
+ size: Size.xxs
184
+ }), isSortable && sortOrder === ThOrder.desc && /*#__PURE__*/React.createElement(Icon, {
185
+ className: `${CLASSNAME$2}-icon`,
186
+ icon: mdiArrowDown,
187
+ size: Size.xxs
188
+ }), /*#__PURE__*/React.createElement("div", {
189
+ className: `${CLASSNAME$2}-content`
190
+ }, children))), variant === TableCellVariant.body && /*#__PURE__*/React.createElement("td", _extends({}, forwardedProps, {
191
+ className: classNames(className, CLASSNAME$2, `${CLASSNAME$2}--body`)
192
+ }), /*#__PURE__*/React.createElement("div", {
193
+ className: `${CLASSNAME$2}-content`
194
+ }, children)));
195
+ });
196
+ TableCell.displayName = COMPONENT_NAME$2;
197
+ TableCell.className = CLASSNAME$2;
198
+ TableCell.defaultProps = DEFAULT_PROPS$2;
199
+
200
+ /**
201
+ * Defines the props of the component.
202
+ */
203
+
204
+ /**
205
+ * Component display name.
206
+ */
207
+ const COMPONENT_NAME$1 = 'TableHeader';
208
+
209
+ /**
210
+ * Component default class name and class prefix.
211
+ */
212
+ const CLASSNAME$1 = getRootClassName(COMPONENT_NAME$1, true);
213
+
214
+ /**
215
+ * Component default props.
216
+ */
217
+ const DEFAULT_PROPS$1 = {};
218
+
219
+ /**
220
+ * TableHeader component.
221
+ *
222
+ * @param props Component props.
223
+ * @param ref Component ref.
224
+ * @return React element.
225
+ */
226
+ const TableHeader = forwardRef((props, ref) => {
227
+ const {
228
+ children,
229
+ className,
230
+ ...forwardedProps
231
+ } = props;
232
+ return /*#__PURE__*/React.createElement("thead", _extends({
233
+ ref: ref
234
+ }, forwardedProps, {
235
+ className: classNames(className, CLASSNAME$1)
236
+ }), children);
237
+ });
238
+ TableHeader.displayName = COMPONENT_NAME$1;
239
+ TableHeader.className = CLASSNAME$1;
240
+ TableHeader.defaultProps = DEFAULT_PROPS$1;
241
+
242
+ /**
243
+ * Defines the props of the component.
244
+ */
245
+
246
+ /**
247
+ * Component display name.
248
+ */
249
+ const COMPONENT_NAME = 'TableRow';
250
+
251
+ /**
252
+ * Component default class name and class prefix.
253
+ */
254
+ const CLASSNAME = getRootClassName(COMPONENT_NAME, true);
255
+
256
+ /**
257
+ * Component default props.
258
+ */
259
+ const DEFAULT_PROPS = {};
260
+
261
+ /**
262
+ * TableRow component.
263
+ *
264
+ * @param props Component props.
265
+ * @param ref Component ref.
266
+ * @return React element.
267
+ */
268
+ const TableRow = forwardRef((props, ref) => {
269
+ const {
270
+ isAnyDisabled,
271
+ disabledStateProps,
272
+ otherProps
273
+ } = useDisableStateProps(props);
274
+ const {
275
+ children,
276
+ className,
277
+ isClickable,
278
+ isSelected,
279
+ ...forwardedProps
280
+ } = otherProps;
281
+ return /*#__PURE__*/React.createElement("tr", _extends({
282
+ ref: ref,
283
+ tabIndex: isClickable && !disabledStateProps.disabled ? 0 : -1
284
+ }, forwardedProps, {
285
+ className: classNames(className, handleBasicClasses({
286
+ isClickable: isClickable && !isAnyDisabled,
287
+ isDisabled: isAnyDisabled,
288
+ isSelected: isSelected && !isAnyDisabled,
289
+ prefix: CLASSNAME
290
+ })),
291
+ "aria-disabled": isAnyDisabled
292
+ }), children);
293
+ });
294
+ TableRow.displayName = COMPONENT_NAME;
295
+ TableRow.className = CLASSNAME;
296
+ TableRow.defaultProps = DEFAULT_PROPS;
297
+
298
+ export { Table, TableBody, TableCell, TableCellVariant, TableHeader, TableRow, ThOrder };
299
+ //# sourceMappingURL=table-fa198ee6.js.map