@lumx/react 3.10.1-alpha.2 → 3.10.1-alpha.4

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 (334) hide show
  1. package/_internal/{8d67e1e3.d.ts → index.d.ts} +1 -1
  2. package/_internal/index.js +99 -0
  3. package/_internal/index.js.map +1 -0
  4. package/index.d.ts +3000 -66
  5. package/index.js +14561 -64
  6. package/index.js.map +1 -1
  7. package/package.json +3 -3
  8. package/src/components/button/Button.tsx +4 -5
  9. package/src/components/button/ButtonRoot.tsx +1 -3
  10. package/src/components/chip/Chip.tsx +7 -11
  11. package/src/components/date-picker/DatePickerControlled.tsx +1 -1
  12. package/src/components/dialog/Dialog.tsx +1 -1
  13. package/src/components/expansion-panel/ExpansionPanel.test.tsx +2 -2
  14. package/src/components/expansion-panel/ExpansionPanel.tsx +14 -18
  15. package/src/components/flex-box/FlexBox.tsx +1 -1
  16. package/src/components/generic-block/GenericBlock.tsx +6 -7
  17. package/src/components/generic-block/constants.ts +9 -4
  18. package/src/components/grid-column/GridColumn.tsx +1 -2
  19. package/src/components/image-lightbox/internal/ImageSlide.tsx +2 -2
  20. package/src/components/image-lightbox/internal/ImageSlideshow.tsx +4 -8
  21. package/src/components/image-lightbox/useImageLightbox.tsx +3 -4
  22. package/src/components/link/Link.tsx +3 -5
  23. package/src/components/list/ListItem.tsx +2 -3
  24. package/src/components/list/useInteractiveList.tsx +1 -2
  25. package/src/components/mosaic/Mosaic.test.tsx +3 -3
  26. package/src/components/mosaic/Mosaic.tsx +2 -3
  27. package/src/components/navigation/Navigation.tsx +42 -37
  28. package/src/components/navigation/NavigationSection.tsx +76 -79
  29. package/src/components/notification/Notification.tsx +1 -5
  30. package/src/components/popover/usePopoverStyle.tsx +3 -1
  31. package/src/components/popover/useRestoreFocusOnClose.tsx +1 -1
  32. package/src/components/popover-dialog/PopoverDialog.test.tsx +1 -1
  33. package/src/components/post-block/PostBlock.tsx +4 -8
  34. package/src/components/progress-tracker/ProgressTracker.stories.tsx +11 -11
  35. package/src/components/select/Select.stories.tsx +14 -5
  36. package/src/components/select/Select.test.tsx +2 -2
  37. package/src/components/select/Select.tsx +1 -2
  38. package/src/components/select/SelectMultiple.stories.tsx +12 -10
  39. package/src/components/side-navigation/SideNavigationItem.tsx +1 -1
  40. package/src/components/slideshow/Slides.tsx +1 -1
  41. package/src/components/slideshow/SlideshowControls.tsx +1 -1
  42. package/src/components/slideshow/useSlideFocusManagement.tsx +1 -1
  43. package/src/components/switch/Switch.tsx +1 -2
  44. package/src/components/tabs/Tabs.stories.tsx +3 -4
  45. package/src/components/text-field/TextField.test.tsx +4 -4
  46. package/src/components/text-field/TextField.tsx +2 -3
  47. package/src/components/tooltip/Tooltip.test.tsx +2 -2
  48. package/src/components/tooltip/useTooltipOpen.tsx +3 -3
  49. package/src/components/user-block/UserBlock.tsx +7 -9
  50. package/src/hooks/useCallbackOnEscape.ts +1 -1
  51. package/src/hooks/useClickAway.tsx +1 -2
  52. package/src/hooks/useFocusTrap.ts +1 -1
  53. package/src/hooks/useInterval.tsx +1 -4
  54. package/src/hooks/useKeyboardListNavigation.tsx +2 -4
  55. package/src/hooks/useSizeOnWindowResize.ts +14 -10
  56. package/src/hooks/useStopPropagation.ts +1 -2
  57. package/src/hooks/useTransitionVisibility.ts +2 -2
  58. package/src/stories/decorators/withCombinations.tsx +1 -1
  59. package/src/testing/utils/commonTestsSuiteRTL.tsx +2 -2
  60. package/src/utils/{DOM → browser/DOM}/startViewTransition.ts +3 -3
  61. package/src/utils/{focus → browser/focus}/getFirstAndLastFocusable.test.ts +1 -1
  62. package/src/utils/{focus → browser/focus}/getFocusableElements.test.ts +1 -1
  63. package/src/utils/{browserDoesNotSupportHover.test.js → browser/isHoverNotSupported.test.js} +5 -5
  64. package/src/utils/browser/isHoverNotSupported.ts +2 -0
  65. package/src/utils/browser/{getPrefersReducedMotion.ts → isReducedMotion.ts} +1 -1
  66. package/src/utils/className/getFontColorClassName.ts +9 -0
  67. package/src/utils/{className.ts → className/getRootClassName.ts} +1 -21
  68. package/src/utils/className/getTypographyClassName.ts +9 -0
  69. package/src/utils/className/index.ts +4 -0
  70. package/src/utils/collection/castArray.test.ts +15 -0
  71. package/src/utils/collection/castArray.ts +3 -0
  72. package/src/utils/collection/chunk.test.ts +15 -0
  73. package/src/utils/collection/chunk.ts +6 -0
  74. package/src/utils/collection/isEmpty.test.js +20 -0
  75. package/src/utils/collection/isEmpty.ts +4 -0
  76. package/src/utils/collection/last.ts +2 -0
  77. package/src/utils/collection/partitionMulti.test.ts +35 -0
  78. package/src/utils/{partitionMulti.ts → collection/partitionMulti.ts} +13 -12
  79. package/src/utils/collection/pull.test.ts +17 -0
  80. package/src/utils/collection/pull.ts +7 -0
  81. package/src/utils/collection/range.test.js +9 -0
  82. package/src/utils/collection/range.ts +2 -0
  83. package/src/utils/date/getMonthCalendar.ts +3 -4
  84. package/src/utils/flattenChildren.ts +2 -3
  85. package/src/utils/function/memoize.test.ts +36 -0
  86. package/src/utils/function/memoize.ts +13 -0
  87. package/src/utils/makeListenerTowerContext.ts +2 -2
  88. package/src/utils/partitionMulti.test.ts +27 -0
  89. package/src/utils/react/forwardRef.ts +3 -2
  90. package/src/utils/react/forwardRefPolymorphic.ts +1 -2
  91. package/utils/index.d.ts +1 -1
  92. package/utils/index.js +1 -96
  93. package/utils/index.js.map +1 -1
  94. package/_internal/17c3ea1d.js +0 -137
  95. package/_internal/17c3ea1d.js.map +0 -1
  96. package/_internal/1da25128.js +0 -411
  97. package/_internal/1da25128.js.map +0 -1
  98. package/_internal/230173a8.js +0 -13
  99. package/_internal/230173a8.js.map +0 -1
  100. package/_internal/23bdba2d.js +0 -71
  101. package/_internal/23bdba2d.js.map +0 -1
  102. package/_internal/26926e5c.d.ts +0 -36
  103. package/_internal/2a3d237c.js +0 -12
  104. package/_internal/2a3d237c.js.map +0 -1
  105. package/_internal/2c5dbb03.js +0 -26
  106. package/_internal/2c5dbb03.js.map +0 -1
  107. package/_internal/2e2abe51.js +0 -2154
  108. package/_internal/2e2abe51.js.map +0 -1
  109. package/_internal/31490c59.d.ts +0 -167
  110. package/_internal/3181f000.js +0 -14
  111. package/_internal/3181f000.js.map +0 -1
  112. package/_internal/35f100be.d.ts +0 -104
  113. package/_internal/36bd7352.js +0 -219
  114. package/_internal/36bd7352.js.map +0 -1
  115. package/_internal/3a1facc0.js +0 -18
  116. package/_internal/3a1facc0.js.map +0 -1
  117. package/_internal/4c20d932.js +0 -89
  118. package/_internal/4c20d932.js.map +0 -1
  119. package/_internal/4c28d012.js +0 -305
  120. package/_internal/4c28d012.js.map +0 -1
  121. package/_internal/4cd0bf32.js +0 -160
  122. package/_internal/4cd0bf32.js.map +0 -1
  123. package/_internal/4daccdd5.js +0 -25
  124. package/_internal/4daccdd5.js.map +0 -1
  125. package/_internal/524b1d04.js +0 -64
  126. package/_internal/524b1d04.js.map +0 -1
  127. package/_internal/53c94227.js +0 -123
  128. package/_internal/53c94227.js.map +0 -1
  129. package/_internal/54d9ded5.js +0 -418
  130. package/_internal/54d9ded5.js.map +0 -1
  131. package/_internal/56aec41b.js +0 -652
  132. package/_internal/56aec41b.js.map +0 -1
  133. package/_internal/5720caf5.js +0 -124
  134. package/_internal/5720caf5.js.map +0 -1
  135. package/_internal/646f0db6.js +0 -113
  136. package/_internal/646f0db6.js.map +0 -1
  137. package/_internal/6cc8dca8.d.ts +0 -22
  138. package/_internal/7f022f8c.d.ts +0 -34
  139. package/_internal/b8f2948d.js +0 -691
  140. package/_internal/b8f2948d.js.map +0 -1
  141. package/_internal/bc28d510.js +0 -784
  142. package/_internal/bc28d510.js.map +0 -1
  143. package/_internal/c68d24e4.js +0 -145
  144. package/_internal/c68d24e4.js.map +0 -1
  145. package/_internal/c6c99f76.js +0 -105
  146. package/_internal/c6c99f76.js.map +0 -1
  147. package/_internal/cae46566.js +0 -65
  148. package/_internal/cae46566.js.map +0 -1
  149. package/_internal/components/alert-dialog/index.ts-623b1ed3.d.ts +0 -37
  150. package/_internal/components/alert-dialog/index.ts-f83bd6ef.js +0 -148
  151. package/_internal/components/alert-dialog/index.ts-f83bd6ef.js.map +0 -1
  152. package/_internal/components/autocomplete/index.ts-3f8f125c.js +0 -264
  153. package/_internal/components/autocomplete/index.ts-3f8f125c.js.map +0 -1
  154. package/_internal/components/autocomplete/index.ts-8d6b123f.d.ts +0 -201
  155. package/_internal/components/avatar/index.ts-93ee0ea9.js +0 -89
  156. package/_internal/components/avatar/index.ts-93ee0ea9.js.map +0 -1
  157. package/_internal/components/avatar/index.ts-f92852b4.d.ts +0 -43
  158. package/_internal/components/badge/index.ts-2d7700ef.d.ts +0 -30
  159. package/_internal/components/badge/index.ts-6753d67f.js +0 -88
  160. package/_internal/components/badge/index.ts-6753d67f.js.map +0 -1
  161. package/_internal/components/button/index.ts-031307ce.js +0 -51
  162. package/_internal/components/button/index.ts-031307ce.js.map +0 -1
  163. package/_internal/components/button/index.ts-b29e26a4.d.ts +0 -22
  164. package/_internal/components/checkbox/index.ts-a33166d7.js +0 -127
  165. package/_internal/components/checkbox/index.ts-a33166d7.js.map +0 -1
  166. package/_internal/components/checkbox/index.ts-f82358ff.d.ts +0 -38
  167. package/_internal/components/chip/index.ts-4a91f1a7.d.ts +0 -68
  168. package/_internal/components/chip/index.ts-a2b5b771.js +0 -110
  169. package/_internal/components/chip/index.ts-a2b5b771.js.map +0 -1
  170. package/_internal/components/comment-block/index.ts-58fa051a.js +0 -121
  171. package/_internal/components/comment-block/index.ts-58fa051a.js.map +0 -1
  172. package/_internal/components/comment-block/index.ts-8cfa5af0.d.ts +0 -67
  173. package/_internal/components/date-picker/index.ts-145262d5.js +0 -2
  174. package/_internal/components/date-picker/index.ts-145262d5.js.map +0 -1
  175. package/_internal/components/date-picker/index.ts-70a34fa7.d.ts +0 -95
  176. package/_internal/components/dialog/index.ts-ea044db2.js +0 -224
  177. package/_internal/components/dialog/index.ts-ea044db2.js.map +0 -1
  178. package/_internal/components/dialog/index.ts-eca28654.d.ts +0 -55
  179. package/_internal/components/divider/index.ts-4a56db75.js +0 -55
  180. package/_internal/components/divider/index.ts-4a56db75.js.map +0 -1
  181. package/_internal/components/divider/index.ts-b011d8ca.d.ts +0 -18
  182. package/_internal/components/drag-handle/index.ts-0aebf92f.js +0 -54
  183. package/_internal/components/drag-handle/index.ts-0aebf92f.js.map +0 -1
  184. package/_internal/components/drag-handle/index.ts-3ab31dd1.d.ts +0 -18
  185. package/_internal/components/dropdown/index.ts-2a17db51.js +0 -154
  186. package/_internal/components/dropdown/index.ts-2a17db51.js.map +0 -1
  187. package/_internal/components/dropdown/index.ts-b648a15c.d.ts +0 -87
  188. package/_internal/components/expansion-panel/index.ts-69f09f5b.d.ts +0 -38
  189. package/_internal/components/expansion-panel/index.ts-fae3762e.js +0 -143
  190. package/_internal/components/expansion-panel/index.ts-fae3762e.js.map +0 -1
  191. package/_internal/components/flag/index.ts-8dcd685b.js +0 -56
  192. package/_internal/components/flag/index.ts-8dcd685b.js.map +0 -1
  193. package/_internal/components/flag/index.ts-fda89adb.d.ts +0 -23
  194. package/_internal/components/flex-box/index.ts-87f2b58d.d.ts +0 -43
  195. package/_internal/components/flex-box/index.ts-c216e957.js +0 -60
  196. package/_internal/components/flex-box/index.ts-c216e957.js.map +0 -1
  197. package/_internal/components/generic-block/index.ts-999a62a4.js +0 -115
  198. package/_internal/components/generic-block/index.ts-999a62a4.js.map +0 -1
  199. package/_internal/components/generic-block/index.ts-cd3b0e21.d.ts +0 -106
  200. package/_internal/components/grid/index.ts-67e0694f.d.ts +0 -50
  201. package/_internal/components/grid/index.ts-fdf1b306.js +0 -113
  202. package/_internal/components/grid/index.ts-fdf1b306.js.map +0 -1
  203. package/_internal/components/grid-column/index.ts-97c61cbe.js +0 -64
  204. package/_internal/components/grid-column/index.ts-97c61cbe.js.map +0 -1
  205. package/_internal/components/grid-column/index.ts-c89e1c18.d.ts +0 -31
  206. package/_internal/components/heading/index.ts-0179e9a9.js +0 -112
  207. package/_internal/components/heading/index.ts-0179e9a9.js.map +0 -1
  208. package/_internal/components/heading/index.ts-587579e8.d.ts +0 -37
  209. package/_internal/components/icon/index.ts-740ca1de.js +0 -2
  210. package/_internal/components/icon/index.ts-740ca1de.js.map +0 -1
  211. package/_internal/components/icon/index.ts-b3fa5e15.d.ts +0 -34
  212. package/_internal/components/image-block/index.ts-36b3828f.d.ts +0 -49
  213. package/_internal/components/image-block/index.ts-ef5e2e7d.js +0 -111
  214. package/_internal/components/image-block/index.ts-ef5e2e7d.js.map +0 -1
  215. package/_internal/components/image-lightbox/index.ts-137f85a8.js +0 -765
  216. package/_internal/components/image-lightbox/index.ts-137f85a8.js.map +0 -1
  217. package/_internal/components/image-lightbox/index.ts-2cb92d18.d.ts +0 -75
  218. package/_internal/components/inline-list/index.ts-033dd358.js +0 -76
  219. package/_internal/components/inline-list/index.ts-033dd358.js.map +0 -1
  220. package/_internal/components/inline-list/index.ts-e1c8a3ff.d.ts +0 -34
  221. package/_internal/components/input-helper/index.ts-32a9ca90.d.ts +0 -22
  222. package/_internal/components/input-helper/index.ts-ab3a1ef5.js +0 -75
  223. package/_internal/components/input-helper/index.ts-ab3a1ef5.js.map +0 -1
  224. package/_internal/components/input-label/index.ts-86f2ea41.d.ts +0 -24
  225. package/_internal/components/input-label/index.ts-d6ca5569.js +0 -60
  226. package/_internal/components/input-label/index.ts-d6ca5569.js.map +0 -1
  227. package/_internal/components/lightbox/index.ts-5370e8e6.d.ts +0 -36
  228. package/_internal/components/lightbox/index.ts-7a16cdc7.js +0 -149
  229. package/_internal/components/lightbox/index.ts-7a16cdc7.js.map +0 -1
  230. package/_internal/components/link/index.ts-26435006.d.ts +0 -37
  231. package/_internal/components/link/index.ts-d04f4e53.js +0 -120
  232. package/_internal/components/link/index.ts-d04f4e53.js.map +0 -1
  233. package/_internal/components/link-preview/index.ts-e560a274.d.ts +0 -36
  234. package/_internal/components/link-preview/index.ts-fee89f66.js +0 -109
  235. package/_internal/components/link-preview/index.ts-fee89f66.js.map +0 -1
  236. package/_internal/components/list/index.ts-ab57902e.d.ts +0 -118
  237. package/_internal/components/list/index.ts-f3101625.js +0 -86
  238. package/_internal/components/list/index.ts-f3101625.js.map +0 -1
  239. package/_internal/components/message/index.ts-041cf0cb.js +0 -97
  240. package/_internal/components/message/index.ts-041cf0cb.js.map +0 -1
  241. package/_internal/components/message/index.ts-2d38e0ea.d.ts +0 -37
  242. package/_internal/components/mosaic/index.ts-232d5aed.d.ts +0 -23
  243. package/_internal/components/mosaic/index.ts-d2128cd3.js +0 -94
  244. package/_internal/components/mosaic/index.ts-d2128cd3.js.map +0 -1
  245. package/_internal/components/navigation/index.ts-6d8bea53.d.ts +0 -58
  246. package/_internal/components/navigation/index.ts-e8dc0a7f.js +0 -222
  247. package/_internal/components/navigation/index.ts-e8dc0a7f.js.map +0 -1
  248. package/_internal/components/notification/index.ts-235fd340.js +0 -140
  249. package/_internal/components/notification/index.ts-235fd340.js.map +0 -1
  250. package/_internal/components/notification/index.ts-bb3f03f6.d.ts +0 -34
  251. package/_internal/components/popover/index.ts-2f17a9b6.js +0 -3
  252. package/_internal/components/popover/index.ts-2f17a9b6.js.map +0 -1
  253. package/_internal/components/popover/index.ts-e3b4ff19.d.ts +0 -66
  254. package/_internal/components/post-block/index.ts-0acb9bb4.js +0 -101
  255. package/_internal/components/post-block/index.ts-0acb9bb4.js.map +0 -1
  256. package/_internal/components/post-block/index.ts-9b8ff90b.d.ts +0 -41
  257. package/_internal/components/progress/index.ts-2a713859.js +0 -189
  258. package/_internal/components/progress/index.ts-2a713859.js.map +0 -1
  259. package/_internal/components/progress/index.ts-dfdfa5fb.d.ts +0 -60
  260. package/_internal/components/progress-tracker/index.ts-2649f756.js +0 -312
  261. package/_internal/components/progress-tracker/index.ts-2649f756.js.map +0 -1
  262. package/_internal/components/progress-tracker/index.ts-95320f32.d.ts +0 -101
  263. package/_internal/components/radio-button/index.ts-5eaab4cf.d.ts +0 -54
  264. package/_internal/components/radio-button/index.ts-b4dfb2a0.js +0 -150
  265. package/_internal/components/radio-button/index.ts-b4dfb2a0.js.map +0 -1
  266. package/_internal/components/select/index.ts-a65e3507.d.ts +0 -91
  267. package/_internal/components/select/index.ts-e8fad28b.js +0 -257
  268. package/_internal/components/select/index.ts-e8fad28b.js.map +0 -1
  269. package/_internal/components/side-navigation/index.ts-3f5f3785.d.ts +0 -60
  270. package/_internal/components/side-navigation/index.ts-c9a5fc3e.js +0 -184
  271. package/_internal/components/side-navigation/index.ts-c9a5fc3e.js.map +0 -1
  272. package/_internal/components/skeleton/index.ts-a7daefac.d.ts +0 -75
  273. package/_internal/components/skeleton/index.ts-ffc995af.js +0 -179
  274. package/_internal/components/skeleton/index.ts-ffc995af.js.map +0 -1
  275. package/_internal/components/slider/index.ts-24a0d598.d.ts +0 -52
  276. package/_internal/components/slider/index.ts-72aadf4c.js +0 -308
  277. package/_internal/components/slider/index.ts-72aadf4c.js.map +0 -1
  278. package/_internal/components/slideshow/index.ts-c99f2892.js +0 -151
  279. package/_internal/components/slideshow/index.ts-c99f2892.js.map +0 -1
  280. package/_internal/components/slideshow/index.ts-e49462c6.d.ts +0 -25
  281. package/_internal/components/switch/index.ts-207ba52b.d.ts +0 -34
  282. package/_internal/components/switch/index.ts-542e6eaf.js +0 -115
  283. package/_internal/components/switch/index.ts-542e6eaf.js.map +0 -1
  284. package/_internal/components/table/index.ts-905ce390.js +0 -310
  285. package/_internal/components/table/index.ts-905ce390.js.map +0 -1
  286. package/_internal/components/table/index.ts-c4f39b2d.d.ts +0 -108
  287. package/_internal/components/tabs/index.ts-713119f4.js +0 -289
  288. package/_internal/components/tabs/index.ts-713119f4.js.map +0 -1
  289. package/_internal/components/tabs/index.ts-dbfc48d9.d.ts +0 -106
  290. package/_internal/components/text/index.ts-6afbe8cd.js +0 -2
  291. package/_internal/components/text/index.ts-6afbe8cd.js.map +0 -1
  292. package/_internal/components/text/index.ts-8a812048.d.ts +0 -53
  293. package/_internal/components/text-field/index.ts-92e6b3b3.d.ts +0 -77
  294. package/_internal/components/text-field/index.ts-c3be8563.js +0 -341
  295. package/_internal/components/text-field/index.ts-c3be8563.js.map +0 -1
  296. package/_internal/components/thumbnail/index.ts-16d7b403.js +0 -40
  297. package/_internal/components/thumbnail/index.ts-16d7b403.js.map +0 -1
  298. package/_internal/components/thumbnail/index.ts-1b6c0b48.d.ts +0 -8
  299. package/_internal/components/toolbar/index.ts-813b902e.js +0 -63
  300. package/_internal/components/toolbar/index.ts-813b902e.js.map +0 -1
  301. package/_internal/components/toolbar/index.ts-9f5129d1.d.ts +0 -24
  302. package/_internal/components/tooltip/index.ts-905c847c.js +0 -322
  303. package/_internal/components/tooltip/index.ts-905c847c.js.map +0 -1
  304. package/_internal/components/tooltip/index.ts-c6931e9e.d.ts +0 -35
  305. package/_internal/components/uploader/index.ts-31f21c2a.js +0 -132
  306. package/_internal/components/uploader/index.ts-31f21c2a.js.map +0 -1
  307. package/_internal/components/uploader/index.ts-c3ccba98.d.ts +0 -51
  308. package/_internal/components/user-block/index.ts-18c58e19.d.ts +0 -50
  309. package/_internal/components/user-block/index.ts-d43e5f3c.js +0 -136
  310. package/_internal/components/user-block/index.ts-d43e5f3c.js.map +0 -1
  311. package/_internal/dc3e28c8.d.ts +0 -38
  312. package/_internal/f39a1ba4.js +0 -73
  313. package/_internal/f39a1ba4.js.map +0 -1
  314. package/_internal/f3e77e3e.js +0 -22
  315. package/_internal/f3e77e3e.js.map +0 -1
  316. package/_internal/f502ab30.js +0 -78
  317. package/_internal/f502ab30.js.map +0 -1
  318. package/_internal/f52adbae.js +0 -36
  319. package/_internal/f52adbae.js.map +0 -1
  320. package/_internal/f57e1239.js +0 -205
  321. package/_internal/f57e1239.js.map +0 -1
  322. package/_internal/f5ff1aa4.d.ts +0 -47
  323. package/_internal/fb975afe.js +0 -52
  324. package/_internal/fb975afe.js.map +0 -1
  325. package/src/utils/browserDoesNotSupportHover.ts +0 -2
  326. package/src/utils/isInternetExplorer.ts +0 -15
  327. package/src/utils/userHasReducedMotion.ts +0 -7
  328. package/src/utils/utils.test.ts +0 -48
  329. /package/src/utils/{DOM → browser/DOM}/findImage.tsx +0 -0
  330. /package/src/utils/{event.ts → browser/event.ts} +0 -0
  331. /package/src/utils/{focus → browser/focus}/constants.ts +0 -0
  332. /package/src/utils/{focus → browser/focus}/getFirstAndLastFocusable.ts +0 -0
  333. /package/src/utils/{focus → browser/focus}/getFocusableElements.ts +0 -0
  334. /package/src/utils/{isFocusVisible.ts → browser/isFocusVisible.ts} +0 -0
@@ -1,52 +0,0 @@
1
- import { G as GenericProps, H as HasTheme, C as Comp } from '../../8d67e1e3.js';
2
- import React, { SyntheticEvent } from 'react';
3
-
4
- /**
5
- * Defines the props of the component.
6
- */
7
- interface SliderProps extends GenericProps, HasTheme {
8
- /** Helper text. */
9
- helper?: string;
10
- /** Whether the min and max labels should be hidden or not. */
11
- hideMinMaxLabel?: boolean;
12
- /** Whether the component is disabled or not. */
13
- isDisabled?: boolean;
14
- /** Label text. */
15
- label?: string;
16
- /** Maximum value on the range. */
17
- max: number;
18
- /** Minimum value of the range. */
19
- min: number;
20
- /** Native input name property. */
21
- name?: string;
22
- /** Number of digits in the fractional part of the selected value. */
23
- precision?: number;
24
- /** Range step value. */
25
- steps?: number;
26
- /** Selected ranged value. */
27
- value: number;
28
- /** On change callback. */
29
- onChange(value: number, name?: string, event?: SyntheticEvent): void;
30
- /** On click callback. */
31
- onMouseDown?(event: React.SyntheticEvent): void;
32
- }
33
- /**
34
- * Slider component.
35
- *
36
- * @param props Component props.
37
- * @param ref Component ref.
38
- * @return React element.
39
- */
40
- declare const Slider: Comp<SliderProps, HTMLDivElement>;
41
-
42
- /**
43
- * Clamp value in range.
44
- *
45
- * @param value Value to clamp.
46
- * @param min Minimum value.
47
- * @param max Maximum value.
48
- * @return Clamped value.
49
- */
50
- declare const clamp: (value: number, min: number, max: number) => number;
51
-
52
- export { Slider, type SliderProps, clamp };
@@ -1,308 +0,0 @@
1
- import { h as getRootClassName, i as forwardRef, T as Theme, j as _objectWithoutProperties, _ as _extends, g as classNames } from '../../1da25128.js';
2
- import React__default, { useMemo, useRef } from 'react';
3
- import { u as useId } from '../../3a1facc0.js';
4
- import { u as useTheme } from '../../3181f000.js';
5
- import { h as handleBasicClasses } from '../../f57e1239.js';
6
- import { InputLabel } from '../input-label/index.ts-d6ca5569.js';
7
- import { InputHelper } from '../input-helper/index.ts-ab3a1ef5.js';
8
-
9
- const useEnhancedEffect = typeof window !== 'undefined' ? React__default.useLayoutEffect : React__default.useEffect;
10
-
11
- /**
12
- * https://github.com/facebook/react/issues/14099#issuecomment-440013892
13
- *
14
- * @param fn A function to run
15
- * @return A React callback
16
- */
17
- function useEventCallback(fn) {
18
- const ref = React__default.useRef(fn);
19
- useEnhancedEffect(() => {
20
- ref.current = fn;
21
- });
22
- return React__default.useCallback(event => ref.current(event), []);
23
- }
24
-
25
- /**
26
- * Clamp value in range.
27
- *
28
- * @param value Value to clamp.
29
- * @param min Minimum value.
30
- * @param max Maximum value.
31
- * @return Clamped value.
32
- */
33
- const clamp = (value, min, max) => {
34
- if (value < min) {
35
- return min;
36
- }
37
- if (value > max) {
38
- return max;
39
- }
40
- return value;
41
- };
42
-
43
- const _excluded = ["className", "disabled", "helper", "hideMinMaxLabel", "id", "isDisabled", "label", "max", "min", "name", "onChange", "onMouseDown", "precision", "steps", "theme", "value"];
44
-
45
- /**
46
- * Defines the props of the component.
47
- */
48
-
49
- /**
50
- * Component display name.
51
- */
52
- const COMPONENT_NAME = 'Slider';
53
-
54
- /**
55
- * Component default class name and class prefix.
56
- */
57
- const CLASSNAME = getRootClassName(COMPONENT_NAME);
58
-
59
- /**
60
- * Component default props.
61
- */
62
- const DEFAULT_PROPS = {
63
- precision: 0,
64
- steps: 0
65
- };
66
-
67
- /**
68
- * Convert a percent value to a value in range min - max.
69
- *
70
- * @param percent Value to convert.
71
- * @param min Minimum value.
72
- * @param max Maximum value.
73
- * @param precision Precision.
74
- * @return Value in range min - max
75
- */
76
- const computeValueFromPercent = function (percent, min, max) {
77
- let precision = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
78
- return Number((min + percent * (max - min)).toFixed(precision));
79
- };
80
-
81
- /**
82
- * Convert a value in range min - max to a percent value.
83
- *
84
- * @param value Value to convert.
85
- * @param min Minimum value.
86
- * @param max Maximum value.
87
- * @return Value in percent
88
- */
89
- const computePercentFromValue = (value, min, max) => Number((value - min) / (max - min));
90
-
91
- /**
92
- * Slider component.
93
- *
94
- * @param props Component props.
95
- * @param ref Component ref.
96
- * @return React element.
97
- */
98
- const Slider = forwardRef((props, ref) => {
99
- const defaultTheme = useTheme() || Theme.light;
100
- const {
101
- className,
102
- disabled,
103
- helper,
104
- hideMinMaxLabel,
105
- id,
106
- isDisabled = disabled,
107
- label,
108
- max,
109
- min,
110
- name,
111
- onChange,
112
- onMouseDown,
113
- precision,
114
- steps,
115
- theme = defaultTheme,
116
- value
117
- } = props,
118
- forwardedProps = _objectWithoutProperties(props, _excluded);
119
- const generatedId = useId();
120
- const sliderId = id || generatedId;
121
- const sliderLabelId = useMemo(() => `label-${sliderId}`, [sliderId]);
122
- const sliderRef = useRef(null);
123
-
124
- // build a lookup array for the steps.
125
- const availableSteps = useMemo(() => {
126
- if (!steps) return [];
127
- const available = [0];
128
- const percentStep = 1 / ((max - min) / steps);
129
- let ptr = 0;
130
- while (ptr + percentStep < 1) {
131
- ptr += percentStep;
132
- available.push(ptr);
133
- }
134
- return available;
135
- }, [steps, min, max]);
136
-
137
- /**
138
- * Try to find the closest step to the current slider position.
139
- *
140
- * @param percentValue Reference value
141
- * @return The closest step value
142
- */
143
- const findClosestStep = percentValue => {
144
- const closest = availableSteps.reduce((acc, step) => {
145
- const aDst = Math.abs(percentValue - step);
146
- if (aDst < acc.dst) {
147
- return {
148
- dst: aDst,
149
- val: step
150
- };
151
- }
152
- return acc;
153
- }, {
154
- dst: Infinity,
155
- val: -1
156
- });
157
- return closest.val;
158
- };
159
-
160
- /**
161
- * Convert slider's handle position to percent.
162
- *
163
- * @param event The interaction event
164
- * @param slider the slider element
165
- * @return The computed percent value
166
- */
167
- const getPercentValue = (event, slider) => {
168
- const {
169
- width,
170
- left
171
- } = slider.getBoundingClientRect();
172
- let percent = (event.pageX - left - window.pageXOffset) / width;
173
- percent = clamp(percent, 0, 1);
174
- if (steps) {
175
- percent = findClosestStep(percent);
176
- }
177
- return percent;
178
- };
179
-
180
- /**
181
- * Register a handler for the mouse move event.
182
- */
183
- const handleMove = useEventCallback(event => {
184
- const {
185
- current: slider
186
- } = sliderRef;
187
- if (!slider || !onChange) return;
188
- const newValue = getPercentValue(event, slider);
189
- onChange(computeValueFromPercent(newValue, min, max, precision), name, event);
190
- });
191
-
192
- /**
193
- * Register a handler for the mouse up event.
194
- * Clean a all listeners.
195
- */
196
- const handleEnd = useEventCallback(() => {
197
- document.body.removeEventListener('mousemove', handleMove);
198
- document.body.removeEventListener('mouseup', handleEnd);
199
- document.body.removeEventListener('touchmove', handleMove);
200
- document.body.removeEventListener('touchend', handleEnd);
201
- });
202
-
203
- /**
204
- * Move to the next or previous value (i.e. + or - 10%) or next step
205
- * @param previous Should seek the previous value.
206
- */
207
- const hopToValue = function () {
208
- let previous = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
209
- const oldPercent = computePercentFromValue(value, min, max);
210
- let percent = clamp(oldPercent + (previous ? -0.1 : 0.1), 0, 1);
211
- if (steps) {
212
- percent = oldPercent + availableSteps[1] * (previous ? -1 : 1);
213
- percent = findClosestStep(percent);
214
- }
215
- if (onChange) {
216
- onChange(computeValueFromPercent(percent, min, max, precision), name);
217
- }
218
- };
219
-
220
- /**
221
- * Register a handler for keyboard interactions
222
- */
223
- const handleKeyDown = useEventCallback(event => {
224
- if (event.key === 'ArrowRight') {
225
- hopToValue();
226
- } else if (event.key === 'ArrowLeft') {
227
- hopToValue(true);
228
- }
229
- });
230
-
231
- /**
232
- * Register a handler for the mouseDown event.
233
- */
234
- const handleMouseDown = useEventCallback(event => {
235
- onMouseDown === null || onMouseDown === void 0 ? void 0 : onMouseDown(event);
236
- const {
237
- current: slider
238
- } = sliderRef;
239
- if (isDisabled || !slider) return;
240
- const newValue = getPercentValue(event, slider);
241
- if (onChange) {
242
- onChange(computeValueFromPercent(newValue, min, max, precision), name, event);
243
- }
244
- document.body.addEventListener('mousemove', handleMove);
245
- document.body.addEventListener('mouseup', handleEnd);
246
- });
247
- const percentString = `${computePercentFromValue(value, min, max) * 100}%`;
248
- return /*#__PURE__*/React__default.createElement("div", _extends({
249
- ref: ref
250
- }, forwardedProps, {
251
- className: classNames(className, handleBasicClasses({
252
- prefix: CLASSNAME,
253
- theme,
254
- hasLabel: Boolean(label)
255
- })),
256
- onMouseDown: handleMouseDown,
257
- "aria-disabled": isDisabled
258
- }), label && /*#__PURE__*/React__default.createElement(InputLabel, {
259
- id: sliderLabelId,
260
- htmlFor: sliderId,
261
- className: `${CLASSNAME}__label`,
262
- theme: theme
263
- }, label), helper && /*#__PURE__*/React__default.createElement(InputHelper, {
264
- className: `${CLASSNAME}__helper`,
265
- theme: theme
266
- }, helper), /*#__PURE__*/React__default.createElement("div", {
267
- className: `${CLASSNAME}__ui-wrapper`
268
- }, !hideMinMaxLabel && /*#__PURE__*/React__default.createElement("span", {
269
- className: `${CLASSNAME}__value-label ${CLASSNAME}__value-label--min`
270
- }, min), /*#__PURE__*/React__default.createElement("div", {
271
- className: `${CLASSNAME}__wrapper`,
272
- ref: sliderRef
273
- }, /*#__PURE__*/React__default.createElement("div", {
274
- className: `${CLASSNAME}__track ${CLASSNAME}__track--background`
275
- }), /*#__PURE__*/React__default.createElement("div", {
276
- className: `${CLASSNAME}__track ${CLASSNAME}__track--active`,
277
- style: {
278
- width: percentString
279
- }
280
- }), steps ? /*#__PURE__*/React__default.createElement("div", {
281
- className: `${CLASSNAME}__ticks`
282
- }, availableSteps.map((step, idx) => /*#__PURE__*/React__default.createElement("div", {
283
- key: `tick_${idx}`,
284
- className: `${CLASSNAME}__tick`,
285
- style: {
286
- left: `${step * 100}%`
287
- }
288
- }))) : null, /*#__PURE__*/React__default.createElement("button", {
289
- type: "button",
290
- "aria-labelledby": sliderLabelId,
291
- name: name,
292
- id: sliderId,
293
- className: `${CLASSNAME}__handle`,
294
- style: {
295
- left: percentString
296
- },
297
- onKeyDown: handleKeyDown,
298
- disabled: isDisabled
299
- })), !hideMinMaxLabel && /*#__PURE__*/React__default.createElement("span", {
300
- className: `${CLASSNAME}__value-label ${CLASSNAME}__value-label--max`
301
- }, max)));
302
- });
303
- Slider.displayName = COMPONENT_NAME;
304
- Slider.className = CLASSNAME;
305
- Slider.defaultProps = DEFAULT_PROPS;
306
-
307
- export { Slider, clamp };
308
- //# sourceMappingURL=index.ts-72aadf4c.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.ts-72aadf4c.js","sources":["../../../../src/hooks/useEventCallback.tsx","../../../../src/utils/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 React, { 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/react/utils/className';\nimport { clamp } from '@lumx/react/utils/clamp';\nimport { useId } from '@lumx/react/hooks/useId';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\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 defaultTheme = useTheme() || Theme.light;\n const {\n className,\n disabled,\n helper,\n hideMinMaxLabel,\n id,\n isDisabled = disabled,\n label,\n max,\n min,\n name,\n onChange,\n onMouseDown,\n precision,\n steps,\n theme = defaultTheme,\n value,\n ...forwardedProps\n } = props;\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 (isDisabled || !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 aria-disabled={isDisabled}\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={handleKeyDown}\n disabled={isDisabled}\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","arguments","length","undefined","Number","toFixed","computePercentFromValue","Slider","forwardRef","props","defaultTheme","useTheme","Theme","light","className","disabled","helper","hideMinMaxLabel","id","isDisabled","label","name","onChange","onMouseDown","theme","forwardedProps","_objectWithoutProperties","_excluded","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","displayName","defaultProps"],"mappings":"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"}
@@ -1,151 +0,0 @@
1
- import { k as _objectSpread2, i as forwardRef, T as Theme, j as _objectWithoutProperties, _ as _extends } from '../../1da25128.js';
2
- import React__default, { useEffect } from 'react';
3
- import { D as DEFAULT_OPTIONS, a as SlideshowControls, b as Slides, c as buildSlideShowGroupId } from '../../b8f2948d.js';
4
- export { S as SlideshowItem } from '../../b8f2948d.js';
5
- import { m as mergeRefs } from '../../f52adbae.js';
6
- import { u as useTheme } from '../../3181f000.js';
7
-
8
- /**
9
- * Hook that allows to control when there is a focus event within a given element, meaning
10
- * that any element within the given target will trigger the focus in and focus out events.
11
- * @param options - UseFocusWithinOptions
12
- */
13
- const useFocusWithin = _ref => {
14
- let {
15
- element,
16
- onFocusIn,
17
- onFocusOut
18
- } = _ref;
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
- const _excluded = ["activeIndex", "autoPlay", "children", "className", "fillHeight", "groupBy", "interval", "onChange", "slideshowControlsProps", "theme", "id", "slidesId", "slideGroupLabel"];
34
-
35
- /**
36
- * Defines the props of the component.
37
- */
38
-
39
- /**
40
- * Component default props.
41
- */
42
- const DEFAULT_PROPS = _objectSpread2({}, DEFAULT_OPTIONS);
43
-
44
- /**
45
- * Slideshow component.
46
- *
47
- * @param props Component props.
48
- * @param ref Component ref.
49
- * @return React element.
50
- */
51
- const Slideshow = forwardRef((props, ref) => {
52
- const defaultTheme = useTheme() || Theme.light;
53
- const {
54
- activeIndex,
55
- autoPlay,
56
- children,
57
- className,
58
- fillHeight,
59
- groupBy,
60
- interval,
61
- onChange,
62
- slideshowControlsProps,
63
- theme = defaultTheme,
64
- id,
65
- slidesId,
66
- slideGroupLabel
67
- } = props,
68
- forwardedProps = _objectWithoutProperties(props, _excluded);
69
- // Number of slideshow items.
70
- const itemsCount = React__default.Children.count(children);
71
- const {
72
- activeIndex: currentIndex,
73
- slideshowId,
74
- setSlideshow,
75
- isAutoPlaying,
76
- slideshowSlidesId,
77
- slidesCount,
78
- onNextClick,
79
- onPaginationClick,
80
- onPreviousClick,
81
- slideshow,
82
- stopAutoPlay,
83
- startAutoPlay,
84
- toggleAutoPlay,
85
- toggleForcePause
86
- } = SlideshowControls.useSlideshowControls({
87
- activeIndex,
88
- defaultActiveIndex: DEFAULT_PROPS.activeIndex,
89
- autoPlay: Boolean(autoPlay),
90
- itemsCount,
91
- groupBy,
92
- id,
93
- interval,
94
- onChange,
95
- slidesId
96
- });
97
- useFocusWithin({
98
- element: slideshow,
99
- onFocusIn: stopAutoPlay,
100
- onFocusOut: startAutoPlay
101
- });
102
- const showControls = slideshowControlsProps && slidesCount > 1;
103
- return /*#__PURE__*/React__default.createElement(Slides, _extends({
104
- activeIndex: currentIndex,
105
- id: slideshowId,
106
- className: className,
107
- theme: theme,
108
- fillHeight: fillHeight,
109
- groupBy: groupBy,
110
- isAutoPlaying: isAutoPlaying,
111
- autoPlay: autoPlay,
112
- slidesId: slideshowSlidesId,
113
- toggleAutoPlay: toggleAutoPlay,
114
- ref: mergeRefs(ref, setSlideshow),
115
- hasControls: showControls,
116
- slideGroupLabel: slideGroupLabel,
117
- afterSlides: slideshowControlsProps && slidesCount > 1 ? /*#__PURE__*/React__default.createElement("div", {
118
- className: `${Slides.className}__controls`
119
- }, /*#__PURE__*/React__default.createElement(SlideshowControls, _extends({}, slideshowControlsProps, {
120
- activeIndex: currentIndex,
121
- onPaginationClick: onPaginationClick,
122
- onNextClick: onNextClick,
123
- onPreviousClick: onPreviousClick,
124
- slidesCount: slidesCount,
125
- parentRef: slideshow,
126
- theme: theme,
127
- isAutoPlaying: isAutoPlaying,
128
- nextButtonProps: _objectSpread2({
129
- 'aria-controls': slideshowSlidesId
130
- }, slideshowControlsProps.nextButtonProps),
131
- previousButtonProps: _objectSpread2({
132
- 'aria-controls': slideshowSlidesId
133
- }, slideshowControlsProps.previousButtonProps),
134
- playButtonProps: autoPlay ? _objectSpread2({
135
- 'aria-controls': slideshowSlidesId,
136
- onClick: toggleForcePause
137
- }, slideshowControlsProps.playButtonProps) : undefined,
138
- paginationItemProps: index => {
139
- var _slideshowControlsPro;
140
- return _objectSpread2({
141
- 'aria-controls': buildSlideShowGroupId(slideshowSlidesId, index)
142
- }, (_slideshowControlsPro = slideshowControlsProps.paginationItemProps) === null || _slideshowControlsPro === void 0 ? void 0 : _slideshowControlsPro.call(slideshowControlsProps, index));
143
- }
144
- }))) : undefined
145
- }, forwardedProps), children);
146
- });
147
- Slideshow.displayName = 'Slideshow';
148
- Slideshow.defaultProps = DEFAULT_PROPS;
149
-
150
- export { Slides, Slideshow, SlideshowControls };
151
- //# sourceMappingURL=index.ts-c99f2892.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.ts-c99f2892.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/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}\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<SlideshowProps> = {\n ...DEFAULT_OPTIONS,\n};\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,\n children,\n className,\n fillHeight,\n groupBy,\n 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","_ref","element","onFocusIn","onFocusOut","useEffect","addEventListener","removeEventListener","DEFAULT_PROPS","_objectSpread","DEFAULT_OPTIONS","Slideshow","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","activeIndex","autoPlay","children","className","fillHeight","groupBy","interval","onChange","slideshowControlsProps","theme","id","slidesId","slideGroupLabel","forwardedProps","_objectWithoutProperties","_excluded","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","_slideshowControlsPro","buildSlideShowGroupId","call","displayName","defaultProps"],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- export { e as Slides, d as SlidesProps, a as Slideshow, c as SlideshowControls, b as SlideshowControlsProps, S as SlideshowProps } from '../../31490c59.js';
2
- import { G as GenericProps, C as Comp } from '../../8d67e1e3.js';
3
- import 'react';
4
- import '../../dc3e28c8.js';
5
- import '../../7f022f8c.js';
6
- import '../tooltip/index.ts-c6931e9e.js';
7
- import '../../f5ff1aa4.js';
8
-
9
- /**
10
- * Defines the props of the component.
11
- */
12
- interface SlideshowItemProps extends GenericProps {
13
- /** interval in which slides are automatically shown */
14
- interval?: number;
15
- }
16
- /**
17
- * SlideshowItem component.
18
- *
19
- * @param props Component props.
20
- * @param ref Component ref.
21
- * @return React element.
22
- */
23
- declare const SlideshowItem: Comp<SlideshowItemProps, HTMLDivElement>;
24
-
25
- export { SlideshowItem, type SlideshowItemProps };
@@ -1,34 +0,0 @@
1
- import { G as GenericProps, H as HasTheme, A as Alignment, C as Comp } from '../../8d67e1e3.js';
2
- import { SyntheticEvent, InputHTMLAttributes } from 'react';
3
-
4
- /**
5
- * Defines the props of the component.
6
- */
7
- interface SwitchProps extends GenericProps, HasTheme {
8
- /** Helper text. */
9
- helper?: string;
10
- /** Whether it is checked or not. */
11
- isChecked?: boolean;
12
- /** Whether the component is disabled or not. */
13
- isDisabled?: boolean;
14
- /** Native input name property. */
15
- name?: string;
16
- /** Position of the switch relative to the label. */
17
- position?: Extract<Alignment, 'right' | 'left'>;
18
- /** Native input value property. */
19
- value?: string;
20
- /** On change callback. */
21
- onChange?(isChecked: boolean, value?: string, name?: string, event?: SyntheticEvent): void;
22
- /** optional props for input */
23
- inputProps?: InputHTMLAttributes<HTMLInputElement>;
24
- }
25
- /**
26
- * Switch component.
27
- *
28
- * @param props Component props.
29
- * @param ref Component ref.
30
- * @return React element.
31
- */
32
- declare const Switch: Comp<SwitchProps, HTMLDivElement>;
33
-
34
- export { Switch, type SwitchProps };