@lumx/react 3.20.1-alpha.1 → 3.20.1-alpha.11

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 (721) hide show
  1. package/CONTRIBUTING.md +1 -5
  2. package/README.md +0 -2
  3. package/_internal/01bc8fcf.js +114 -0
  4. package/_internal/01bc8fcf.js.map +1 -0
  5. package/_internal/0361b7fb.js +15 -0
  6. package/_internal/0361b7fb.js.map +1 -0
  7. package/_internal/077b7bef.js +29 -0
  8. package/_internal/077b7bef.js.map +1 -0
  9. package/_internal/07e0bd90.js +147 -0
  10. package/_internal/07e0bd90.js.map +1 -0
  11. package/_internal/0a31e895.js +304 -0
  12. package/_internal/0a31e895.js.map +1 -0
  13. package/_internal/0b9c76cb.js +6 -0
  14. package/_internal/0b9c76cb.js.map +1 -0
  15. package/_internal/0f4b35b2.js +76 -0
  16. package/_internal/0f4b35b2.js.map +1 -0
  17. package/_internal/18334f0d.js +140 -0
  18. package/_internal/18334f0d.js.map +1 -0
  19. package/_internal/1921f348.js +72 -0
  20. package/_internal/1921f348.js.map +1 -0
  21. package/_internal/1aaa0341.js +645 -0
  22. package/_internal/1aaa0341.js.map +1 -0
  23. package/_internal/1ce667fb.js +790 -0
  24. package/_internal/1ce667fb.js.map +1 -0
  25. package/_internal/1e4b7ad5.js +60 -0
  26. package/_internal/1e4b7ad5.js.map +1 -0
  27. package/_internal/1eab656b.js +75 -0
  28. package/_internal/1eab656b.js.map +1 -0
  29. package/_internal/21aeb1c7.js +19 -0
  30. package/_internal/21aeb1c7.js.map +1 -0
  31. package/_internal/21cf275f.js +158 -0
  32. package/_internal/21cf275f.js.map +1 -0
  33. package/_internal/230173a8.js +13 -0
  34. package/_internal/230173a8.js.map +1 -0
  35. package/_internal/2368cb68.js +297 -0
  36. package/_internal/2368cb68.js.map +1 -0
  37. package/_internal/286fc728.js +2 -0
  38. package/_internal/286fc728.js.map +1 -0
  39. package/_internal/2938a251.js +147 -0
  40. package/_internal/2938a251.js.map +1 -0
  41. package/_internal/2a3d237c.js +12 -0
  42. package/_internal/2a3d237c.js.map +1 -0
  43. package/_internal/2c7942af.js +108 -0
  44. package/_internal/2c7942af.js.map +1 -0
  45. package/_internal/2d6bde7d.js +209 -0
  46. package/_internal/2d6bde7d.js.map +1 -0
  47. package/_internal/30f4c83c.js +59 -0
  48. package/_internal/30f4c83c.js.map +1 -0
  49. package/_internal/3181f000.js +14 -0
  50. package/_internal/3181f000.js.map +1 -0
  51. package/_internal/32698205.js +107 -0
  52. package/_internal/32698205.js.map +1 -0
  53. package/_internal/3646abc3.js +346 -0
  54. package/_internal/3646abc3.js.map +1 -0
  55. package/_internal/3683d267.js +52 -0
  56. package/_internal/3683d267.js.map +1 -0
  57. package/_internal/36bd7352.js +219 -0
  58. package/_internal/36bd7352.js.map +1 -0
  59. package/_internal/38b3ecf3.js +133 -0
  60. package/_internal/38b3ecf3.js.map +1 -0
  61. package/_internal/3a1facc0.js +18 -0
  62. package/_internal/3a1facc0.js.map +1 -0
  63. package/_internal/3f3de25e.js +112 -0
  64. package/_internal/3f3de25e.js.map +1 -0
  65. package/_internal/407735b4.js +2155 -0
  66. package/_internal/407735b4.js.map +1 -0
  67. package/_internal/43262bfe.js +48 -0
  68. package/_internal/43262bfe.js.map +1 -0
  69. package/_internal/432c85a7.js +50 -0
  70. package/_internal/432c85a7.js.map +1 -0
  71. package/_internal/49bbeed3.js +6 -0
  72. package/_internal/49bbeed3.js.map +1 -0
  73. package/_internal/4c5a7b63.js +53 -0
  74. package/_internal/4c5a7b63.js.map +1 -0
  75. package/_internal/4ceaf17c.js +75 -0
  76. package/_internal/4ceaf17c.js.map +1 -0
  77. package/_internal/4d92e13b.js +97 -0
  78. package/_internal/4d92e13b.js.map +1 -0
  79. package/{src/utils/partitionMulti.ts → _internal/4daccdd5.js} +5 -9
  80. package/_internal/4daccdd5.js.map +1 -0
  81. package/_internal/4e1dde79.js +104 -0
  82. package/_internal/4e1dde79.js.map +1 -0
  83. package/_internal/5ba8fae8.js +120 -0
  84. package/_internal/5ba8fae8.js.map +1 -0
  85. package/_internal/60923026.js +36 -0
  86. package/_internal/60923026.js.map +1 -0
  87. package/_internal/60f8e509.js +745 -0
  88. package/_internal/60f8e509.js.map +1 -0
  89. package/_internal/64046d7a.js +57 -0
  90. package/_internal/64046d7a.js.map +1 -0
  91. package/_internal/70cf341b.js +117 -0
  92. package/_internal/70cf341b.js.map +1 -0
  93. package/_internal/714809cc.js +312 -0
  94. package/_internal/714809cc.js.map +1 -0
  95. package/_internal/72407886.js +430 -0
  96. package/_internal/72407886.js.map +1 -0
  97. package/_internal/742d4906.js +148 -0
  98. package/_internal/742d4906.js.map +1 -0
  99. package/_internal/77eb8ef3.js +149 -0
  100. package/_internal/77eb8ef3.js.map +1 -0
  101. package/_internal/78df9309.js +20 -0
  102. package/_internal/78df9309.js.map +1 -0
  103. package/_internal/7b214f74.js +70 -0
  104. package/_internal/7b214f74.js.map +1 -0
  105. package/_internal/7b221b05.js +9 -0
  106. package/_internal/7b221b05.js.map +1 -0
  107. package/_internal/7c4f4643.js +20 -0
  108. package/_internal/7c4f4643.js.map +1 -0
  109. package/_internal/7daf0f24.js +77 -0
  110. package/_internal/7daf0f24.js.map +1 -0
  111. package/_internal/803945f7.js +65 -0
  112. package/_internal/803945f7.js.map +1 -0
  113. package/_internal/80e5c950.js +80 -0
  114. package/_internal/80e5c950.js.map +1 -0
  115. package/_internal/825ac334.js +130 -0
  116. package/_internal/825ac334.js.map +1 -0
  117. package/_internal/827b804a.js +6 -0
  118. package/_internal/827b804a.js.map +1 -0
  119. package/_internal/85d992d2.js +678 -0
  120. package/_internal/85d992d2.js.map +1 -0
  121. package/_internal/87bada02.js +262 -0
  122. package/_internal/87bada02.js.map +1 -0
  123. package/_internal/881714a1.js +187 -0
  124. package/_internal/881714a1.js.map +1 -0
  125. package/_internal/88ec77c2.js +130 -0
  126. package/_internal/88ec77c2.js.map +1 -0
  127. package/_internal/8fcceef3.js +120 -0
  128. package/_internal/8fcceef3.js.map +1 -0
  129. package/_internal/9210e2f3.js +61 -0
  130. package/_internal/9210e2f3.js.map +1 -0
  131. package/_internal/9452daf7.js +103 -0
  132. package/_internal/9452daf7.js.map +1 -0
  133. package/_internal/95a2e851.js +42 -0
  134. package/_internal/95a2e851.js.map +1 -0
  135. package/_internal/9cf0d217.js +147 -0
  136. package/_internal/9cf0d217.js.map +1 -0
  137. package/_internal/9cfa3e10.js +108 -0
  138. package/_internal/9cfa3e10.js.map +1 -0
  139. package/_internal/9d8130ae.js +301 -0
  140. package/_internal/9d8130ae.js.map +1 -0
  141. package/_internal/a67f26a8.js +98 -0
  142. package/_internal/a67f26a8.js.map +1 -0
  143. package/_internal/aa8c5d9b.js +50 -0
  144. package/_internal/aa8c5d9b.js.map +1 -0
  145. package/_internal/aafcf80e.js +312 -0
  146. package/_internal/aafcf80e.js.map +1 -0
  147. package/_internal/ac3bc511.js +2 -0
  148. package/_internal/ac3bc511.js.map +1 -0
  149. package/_internal/b3bfbe72.js +24 -0
  150. package/_internal/b3bfbe72.js.map +1 -0
  151. package/_internal/b925072d.js +91 -0
  152. package/_internal/b925072d.js.map +1 -0
  153. package/_internal/baa0a23b.js +95 -0
  154. package/_internal/baa0a23b.js.map +1 -0
  155. package/_internal/bba7d4c4.js +225 -0
  156. package/_internal/bba7d4c4.js.map +1 -0
  157. package/_internal/bc4cb4c0.js +86 -0
  158. package/_internal/bc4cb4c0.js.map +1 -0
  159. package/_internal/bcce6ceb.js +93 -0
  160. package/_internal/bcce6ceb.js.map +1 -0
  161. package/_internal/bdd41804.js +157 -0
  162. package/_internal/bdd41804.js.map +1 -0
  163. package/_internal/c43d098b.js +42 -0
  164. package/_internal/c43d098b.js.map +1 -0
  165. package/_internal/cb036703.js +113 -0
  166. package/_internal/cb036703.js.map +1 -0
  167. package/_internal/cc995526.js +2 -0
  168. package/_internal/cc995526.js.map +1 -0
  169. package/_internal/cdc3efab.js +173 -0
  170. package/_internal/cdc3efab.js.map +1 -0
  171. package/_internal/d0dd1815.js +10 -0
  172. package/_internal/d0dd1815.js.map +1 -0
  173. package/_internal/d3321a86.js +290 -0
  174. package/_internal/d3321a86.js.map +1 -0
  175. package/_internal/d66c4375.js +62 -0
  176. package/_internal/d66c4375.js.map +1 -0
  177. package/_internal/d6b3a3c0.js +317 -0
  178. package/_internal/d6b3a3c0.js.map +1 -0
  179. package/_internal/dd0a245d.js +142 -0
  180. package/_internal/dd0a245d.js.map +1 -0
  181. package/_internal/de24f857.js +4 -0
  182. package/_internal/de24f857.js.map +1 -0
  183. package/_internal/e2122a37.js +3 -0
  184. package/_internal/e2122a37.js.map +1 -0
  185. package/_internal/e2440593.js +148 -0
  186. package/_internal/e2440593.js.map +1 -0
  187. package/_internal/e4613195.js +59 -0
  188. package/_internal/e4613195.js.map +1 -0
  189. package/_internal/e53b5a39.js +407 -0
  190. package/_internal/e53b5a39.js.map +1 -0
  191. package/_internal/e566d502.js +54 -0
  192. package/_internal/e566d502.js.map +1 -0
  193. package/_internal/e806b848.js +9 -0
  194. package/_internal/e806b848.js.map +1 -0
  195. package/_internal/eaf6c45a.js +4 -0
  196. package/_internal/eaf6c45a.js.map +1 -0
  197. package/_internal/ee64ab0d.js +149 -0
  198. package/_internal/ee64ab0d.js.map +1 -0
  199. package/_internal/ef5d1aac.js +4 -0
  200. package/_internal/ef5d1aac.js.map +1 -0
  201. package/_internal/f0d7d6ea.js +30 -0
  202. package/_internal/f0d7d6ea.js.map +1 -0
  203. package/_internal/f57d4eb8.js +53 -0
  204. package/_internal/f57d4eb8.js.map +1 -0
  205. package/_internal/fc47f2da.js +72 -0
  206. package/_internal/fc47f2da.js.map +1 -0
  207. package/index.d.ts +36 -36
  208. package/index.js +65 -14480
  209. package/index.js.map +1 -1
  210. package/package.json +10 -13
  211. package/utils/index.d.ts +7 -7
  212. package/utils/index.js +3 -1
  213. package/utils/index.js.map +1 -1
  214. package/_internal/index.js +0 -229
  215. package/_internal/index.js.map +0 -1
  216. package/src/components/alert-dialog/AlertDialog.stories.tsx +0 -127
  217. package/src/components/alert-dialog/AlertDialog.test.tsx +0 -35
  218. package/src/components/alert-dialog/AlertDialog.tsx +0 -189
  219. package/src/components/alert-dialog/index.ts +0 -1
  220. package/src/components/autocomplete/Autocomplete.stories.tsx +0 -75
  221. package/src/components/autocomplete/Autocomplete.test.tsx +0 -101
  222. package/src/components/autocomplete/Autocomplete.tsx +0 -294
  223. package/src/components/autocomplete/AutocompleteMultiple.stories.tsx +0 -167
  224. package/src/components/autocomplete/AutocompleteMultiple.test.tsx +0 -63
  225. package/src/components/autocomplete/AutocompleteMultiple.tsx +0 -156
  226. package/src/components/autocomplete/__mockData__/index.ts +0 -39
  227. package/src/components/autocomplete/index.ts +0 -2
  228. package/src/components/avatar/Avatar.stories.tsx +0 -121
  229. package/src/components/avatar/Avatar.test.tsx +0 -34
  230. package/src/components/avatar/Avatar.tsx +0 -114
  231. package/src/components/avatar/index.ts +0 -1
  232. package/src/components/badge/Badge.stories.tsx +0 -70
  233. package/src/components/badge/Badge.test.tsx +0 -47
  234. package/src/components/badge/Badge.tsx +0 -58
  235. package/src/components/badge/BadgeWrapper.stories.tsx +0 -76
  236. package/src/components/badge/BadgeWrapper.test.tsx +0 -49
  237. package/src/components/badge/BadgeWrapper.tsx +0 -37
  238. package/src/components/badge/index.ts +0 -2
  239. package/src/components/button/Button.stories.tsx +0 -356
  240. package/src/components/button/Button.test.tsx +0 -127
  241. package/src/components/button/Button.tsx +0 -103
  242. package/src/components/button/ButtonGroup.stories.tsx +0 -54
  243. package/src/components/button/ButtonGroup.test.tsx +0 -43
  244. package/src/components/button/ButtonGroup.tsx +0 -52
  245. package/src/components/button/ButtonRoot.tsx +0 -193
  246. package/src/components/button/IconButton.stories.tsx +0 -52
  247. package/src/components/button/IconButton.test.tsx +0 -68
  248. package/src/components/button/IconButton.tsx +0 -93
  249. package/src/components/button/index.ts +0 -4
  250. package/src/components/checkbox/Checkbox.stories.tsx +0 -64
  251. package/src/components/checkbox/Checkbox.test.tsx +0 -156
  252. package/src/components/checkbox/Checkbox.tsx +0 -164
  253. package/src/components/checkbox/index.ts +0 -1
  254. package/src/components/chip/Chip.stories.tsx +0 -166
  255. package/src/components/chip/Chip.test.tsx +0 -243
  256. package/src/components/chip/Chip.tsx +0 -168
  257. package/src/components/chip/ChipGroup.stories.tsx +0 -49
  258. package/src/components/chip/ChipGroup.test.tsx +0 -39
  259. package/src/components/chip/ChipGroup.tsx +0 -60
  260. package/src/components/chip/index.ts +0 -2
  261. package/src/components/comment-block/CommentBlock.stories.tsx +0 -92
  262. package/src/components/comment-block/CommentBlock.test.tsx +0 -29
  263. package/src/components/comment-block/CommentBlock.tsx +0 -172
  264. package/src/components/comment-block/index.ts +0 -1
  265. package/src/components/date-picker/DatePicker.stories.tsx +0 -118
  266. package/src/components/date-picker/DatePicker.test.tsx +0 -36
  267. package/src/components/date-picker/DatePicker.tsx +0 -52
  268. package/src/components/date-picker/DatePickerControlled.test.tsx +0 -93
  269. package/src/components/date-picker/DatePickerControlled.tsx +0 -259
  270. package/src/components/date-picker/DatePickerField.stories.tsx +0 -100
  271. package/src/components/date-picker/DatePickerField.test.tsx +0 -72
  272. package/src/components/date-picker/DatePickerField.tsx +0 -135
  273. package/src/components/date-picker/constants.ts +0 -11
  274. package/src/components/date-picker/index.ts +0 -4
  275. package/src/components/date-picker/types.ts +0 -28
  276. package/src/components/dialog/Dialog.stories.tsx +0 -318
  277. package/src/components/dialog/Dialog.test.tsx +0 -99
  278. package/src/components/dialog/Dialog.tsx +0 -288
  279. package/src/components/dialog/index.ts +0 -1
  280. package/src/components/divider/Divider.test.tsx +0 -53
  281. package/src/components/divider/Divider.tsx +0 -52
  282. package/src/components/divider/index.ts +0 -1
  283. package/src/components/drag-handle/DragHandle.test.tsx +0 -38
  284. package/src/components/drag-handle/DragHandle.tsx +0 -53
  285. package/src/components/drag-handle/index.ts +0 -1
  286. package/src/components/dropdown/Dropdown.stories.tsx +0 -31
  287. package/src/components/dropdown/Dropdown.test.tsx +0 -66
  288. package/src/components/dropdown/Dropdown.tsx +0 -186
  289. package/src/components/dropdown/index.ts +0 -1
  290. package/src/components/expansion-panel/ExpansionPanel.stories.tsx +0 -91
  291. package/src/components/expansion-panel/ExpansionPanel.test.tsx +0 -186
  292. package/src/components/expansion-panel/ExpansionPanel.tsx +0 -195
  293. package/src/components/expansion-panel/index.ts +0 -1
  294. package/src/components/flag/Flag.stories.tsx +0 -48
  295. package/src/components/flag/Flag.test.tsx +0 -64
  296. package/src/components/flag/Flag.tsx +0 -54
  297. package/src/components/flag/index.ts +0 -1
  298. package/src/components/flex-box/FlexBox.stories.tsx +0 -158
  299. package/src/components/flex-box/FlexBox.test.tsx +0 -25
  300. package/src/components/flex-box/FlexBox.tsx +0 -100
  301. package/src/components/flex-box/index.ts +0 -1
  302. package/src/components/generic-block/GenericBlock.stories.jsx +0 -128
  303. package/src/components/generic-block/GenericBlock.test.tsx +0 -156
  304. package/src/components/generic-block/GenericBlock.tsx +0 -225
  305. package/src/components/generic-block/constants.ts +0 -9
  306. package/src/components/generic-block/index.ts +0 -2
  307. package/src/components/grid/Grid.tsx +0 -85
  308. package/src/components/grid/GridItem.tsx +0 -57
  309. package/src/components/grid/index.ts +0 -2
  310. package/src/components/grid-column/GridColumn.stories.tsx +0 -46
  311. package/src/components/grid-column/GridColumn.test.jsx +0 -58
  312. package/src/components/grid-column/GridColumn.tsx +0 -83
  313. package/src/components/grid-column/index.ts +0 -1
  314. package/src/components/heading/Heading.stories.tsx +0 -70
  315. package/src/components/heading/Heading.test.tsx +0 -84
  316. package/src/components/heading/Heading.tsx +0 -67
  317. package/src/components/heading/HeadingLevelProvider.tsx +0 -30
  318. package/src/components/heading/constants.ts +0 -16
  319. package/src/components/heading/context.tsx +0 -13
  320. package/src/components/heading/index.ts +0 -3
  321. package/src/components/heading/useHeadingLevel.tsx +0 -8
  322. package/src/components/icon/Icon.stories.tsx +0 -47
  323. package/src/components/icon/Icon.test.tsx +0 -44
  324. package/src/components/icon/Icon.tsx +0 -24
  325. package/src/components/icon/index.ts +0 -1
  326. package/src/components/image-block/ImageBlock.stories.tsx +0 -119
  327. package/src/components/image-block/ImageBlock.test.tsx +0 -59
  328. package/src/components/image-block/ImageBlock.tsx +0 -142
  329. package/src/components/image-block/ImageCaption.tsx +0 -115
  330. package/src/components/image-block/index.ts +0 -1
  331. package/src/components/image-lightbox/ImageLightbox.stories.tsx +0 -161
  332. package/src/components/image-lightbox/ImageLightbox.test.tsx +0 -252
  333. package/src/components/image-lightbox/ImageLightbox.tsx +0 -90
  334. package/src/components/image-lightbox/constants.ts +0 -11
  335. package/src/components/image-lightbox/index.ts +0 -2
  336. package/src/components/image-lightbox/internal/ImageSlide.tsx +0 -107
  337. package/src/components/image-lightbox/internal/ImageSlideshow.tsx +0 -164
  338. package/src/components/image-lightbox/internal/useAnimateScroll.ts +0 -55
  339. package/src/components/image-lightbox/internal/usePointerZoom.ts +0 -148
  340. package/src/components/image-lightbox/types.ts +0 -50
  341. package/src/components/image-lightbox/useImageLightbox.tsx +0 -141
  342. package/src/components/inline-list/InlineList.stories.tsx +0 -78
  343. package/src/components/inline-list/InlineList.test.tsx +0 -54
  344. package/src/components/inline-list/InlineList.tsx +0 -96
  345. package/src/components/inline-list/index.ts +0 -1
  346. package/src/components/input-helper/InputHelper.stories.tsx +0 -35
  347. package/src/components/input-helper/InputHelper.test.tsx +0 -57
  348. package/src/components/input-helper/InputHelper.tsx +0 -65
  349. package/src/components/input-helper/constants.ts +0 -11
  350. package/src/components/input-helper/index.ts +0 -1
  351. package/src/components/input-label/InputLabel.stories.tsx +0 -47
  352. package/src/components/input-label/InputLabel.test.tsx +0 -61
  353. package/src/components/input-label/InputLabel.tsx +0 -69
  354. package/src/components/input-label/index.ts +0 -1
  355. package/src/components/lightbox/Lightbox.stories.tsx +0 -101
  356. package/src/components/lightbox/Lightbox.test.tsx +0 -55
  357. package/src/components/lightbox/Lightbox.tsx +0 -180
  358. package/src/components/lightbox/index.ts +0 -1
  359. package/src/components/link/Link.stories.tsx +0 -196
  360. package/src/components/link/Link.test.tsx +0 -127
  361. package/src/components/link/Link.tsx +0 -119
  362. package/src/components/link/index.ts +0 -1
  363. package/src/components/link-preview/LinkPreview.stories.tsx +0 -61
  364. package/src/components/link-preview/LinkPreview.test.tsx +0 -107
  365. package/src/components/link-preview/LinkPreview.tsx +0 -160
  366. package/src/components/link-preview/index.ts +0 -1
  367. package/src/components/list/List.stories.tsx +0 -116
  368. package/src/components/list/List.test.tsx +0 -20
  369. package/src/components/list/List.tsx +0 -104
  370. package/src/components/list/ListDivider.stories.tsx +0 -12
  371. package/src/components/list/ListDivider.test.tsx +0 -24
  372. package/src/components/list/ListDivider.tsx +0 -37
  373. package/src/components/list/ListItem.stories.tsx +0 -66
  374. package/src/components/list/ListItem.test.tsx +0 -95
  375. package/src/components/list/ListItem.tsx +0 -157
  376. package/src/components/list/ListSubheader.stories.tsx +0 -11
  377. package/src/components/list/ListSubheader.test.tsx +0 -23
  378. package/src/components/list/ListSubheader.tsx +0 -44
  379. package/src/components/list/index.ts +0 -4
  380. package/src/components/list/useInteractiveList.tsx +0 -202
  381. package/src/components/message/Message.stories.tsx +0 -72
  382. package/src/components/message/Message.test.tsx +0 -77
  383. package/src/components/message/Message.tsx +0 -100
  384. package/src/components/message/index.ts +0 -1
  385. package/src/components/mosaic/Mosaic.stories.tsx +0 -89
  386. package/src/components/mosaic/Mosaic.test.tsx +0 -79
  387. package/src/components/mosaic/Mosaic.tsx +0 -98
  388. package/src/components/mosaic/index.ts +0 -1
  389. package/src/components/navigation/Navigation.stories.tsx +0 -236
  390. package/src/components/navigation/Navigation.test.tsx +0 -67
  391. package/src/components/navigation/Navigation.tsx +0 -81
  392. package/src/components/navigation/NavigationItem.test.tsx +0 -37
  393. package/src/components/navigation/NavigationItem.tsx +0 -86
  394. package/src/components/navigation/NavigationSection.test.tsx +0 -139
  395. package/src/components/navigation/NavigationSection.tsx +0 -107
  396. package/src/components/navigation/context.tsx +0 -7
  397. package/src/components/navigation/index.ts +0 -1
  398. package/src/components/notification/Notification.test.tsx +0 -95
  399. package/src/components/notification/Notification.tsx +0 -138
  400. package/src/components/notification/Notifications.stories.tsx +0 -92
  401. package/src/components/notification/constants.ts +0 -28
  402. package/src/components/notification/index.ts +0 -1
  403. package/src/components/popover/Popover.stories.tsx +0 -264
  404. package/src/components/popover/Popover.test.tsx +0 -64
  405. package/src/components/popover/Popover.tsx +0 -201
  406. package/src/components/popover/constants.ts +0 -62
  407. package/src/components/popover/index.ts +0 -3
  408. package/src/components/popover/usePopoverStyle.tsx +0 -184
  409. package/src/components/popover/useRestoreFocusOnClose.tsx +0 -47
  410. package/src/components/popover-dialog/PopoverDialog.stories.tsx +0 -64
  411. package/src/components/popover-dialog/PopoverDialog.test.tsx +0 -140
  412. package/src/components/popover-dialog/PopoverDialog.tsx +0 -76
  413. package/src/components/popover-dialog/index.tsx +0 -1
  414. package/src/components/post-block/PostBlock.test.tsx +0 -29
  415. package/src/components/post-block/PostBlock.tsx +0 -122
  416. package/src/components/post-block/index.ts +0 -1
  417. package/src/components/progress/Progress.tsx +0 -70
  418. package/src/components/progress/ProgressCircular.stories.tsx +0 -44
  419. package/src/components/progress/ProgressCircular.test.tsx +0 -48
  420. package/src/components/progress/ProgressCircular.tsx +0 -84
  421. package/src/components/progress/ProgressLinear.stories.tsx +0 -12
  422. package/src/components/progress/ProgressLinear.test.tsx +0 -32
  423. package/src/components/progress/ProgressLinear.tsx +0 -52
  424. package/src/components/progress/index.ts +0 -3
  425. package/src/components/progress-tracker/ProgressTracker.stories.tsx +0 -145
  426. package/src/components/progress-tracker/ProgressTracker.test.tsx +0 -44
  427. package/src/components/progress-tracker/ProgressTracker.tsx +0 -87
  428. package/src/components/progress-tracker/ProgressTrackerProvider.test.tsx +0 -67
  429. package/src/components/progress-tracker/ProgressTrackerProvider.tsx +0 -67
  430. package/src/components/progress-tracker/ProgressTrackerStep.test.tsx +0 -38
  431. package/src/components/progress-tracker/ProgressTrackerStep.tsx +0 -159
  432. package/src/components/progress-tracker/ProgressTrackerStepPanel.test.tsx +0 -36
  433. package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +0 -69
  434. package/src/components/progress-tracker/index.ts +0 -4
  435. package/src/components/radio-button/RadioButton.stories.tsx +0 -71
  436. package/src/components/radio-button/RadioButton.test.tsx +0 -145
  437. package/src/components/radio-button/RadioButton.tsx +0 -143
  438. package/src/components/radio-button/RadioGroup.stories.tsx +0 -39
  439. package/src/components/radio-button/RadioGroup.test.tsx +0 -31
  440. package/src/components/radio-button/RadioGroup.tsx +0 -44
  441. package/src/components/radio-button/index.ts +0 -2
  442. package/src/components/select/Select.stories.tsx +0 -385
  443. package/src/components/select/Select.test.tsx +0 -200
  444. package/src/components/select/Select.tsx +0 -199
  445. package/src/components/select/SelectMultiple.stories.tsx +0 -315
  446. package/src/components/select/SelectMultiple.test.tsx +0 -215
  447. package/src/components/select/SelectMultiple.tsx +0 -206
  448. package/src/components/select/WithSelectContext.tsx +0 -147
  449. package/src/components/select/constants.ts +0 -55
  450. package/src/components/select/index.ts +0 -2
  451. package/src/components/side-navigation/SideNavigation.stories.tsx +0 -191
  452. package/src/components/side-navigation/SideNavigation.test.tsx +0 -39
  453. package/src/components/side-navigation/SideNavigation.tsx +0 -52
  454. package/src/components/side-navigation/SideNavigationItem.stories.tsx +0 -133
  455. package/src/components/side-navigation/SideNavigationItem.test.tsx +0 -138
  456. package/src/components/side-navigation/SideNavigationItem.tsx +0 -170
  457. package/src/components/side-navigation/index.ts +0 -2
  458. package/src/components/skeleton/SkeletonCircle.stories.tsx +0 -41
  459. package/src/components/skeleton/SkeletonCircle.test.tsx +0 -29
  460. package/src/components/skeleton/SkeletonCircle.tsx +0 -54
  461. package/src/components/skeleton/SkeletonRectangle.stories.tsx +0 -82
  462. package/src/components/skeleton/SkeletonRectangle.test.tsx +0 -29
  463. package/src/components/skeleton/SkeletonRectangle.tsx +0 -90
  464. package/src/components/skeleton/SkeletonTypography.stories.tsx +0 -21
  465. package/src/components/skeleton/SkeletonTypography.test.tsx +0 -29
  466. package/src/components/skeleton/SkeletonTypography.tsx +0 -59
  467. package/src/components/skeleton/index.ts +0 -3
  468. package/src/components/slider/Slider.stories.tsx +0 -45
  469. package/src/components/slider/Slider.test.tsx +0 -31
  470. package/src/components/slider/Slider.tsx +0 -299
  471. package/src/components/slider/index.ts +0 -2
  472. package/src/components/slideshow/Slides.tsx +0 -130
  473. package/src/components/slideshow/Slideshow.stories.tsx +0 -180
  474. package/src/components/slideshow/Slideshow.test.tsx +0 -37
  475. package/src/components/slideshow/Slideshow.tsx +0 -173
  476. package/src/components/slideshow/SlideshowControls.stories.tsx +0 -102
  477. package/src/components/slideshow/SlideshowControls.tsx +0 -243
  478. package/src/components/slideshow/SlideshowItem.tsx +0 -46
  479. package/src/components/slideshow/SlideshowItemGroup.tsx +0 -60
  480. package/src/components/slideshow/constants.ts +0 -24
  481. package/src/components/slideshow/index.ts +0 -4
  482. package/src/components/slideshow/useKeyNavigate.ts +0 -28
  483. package/src/components/slideshow/usePaginationVisibleRange.ts +0 -37
  484. package/src/components/slideshow/useSlideFocusManagement.tsx +0 -92
  485. package/src/components/slideshow/useSwipeNavigate.ts +0 -18
  486. package/src/components/switch/Switch.stories.tsx +0 -49
  487. package/src/components/switch/Switch.test.tsx +0 -146
  488. package/src/components/switch/Switch.tsx +0 -145
  489. package/src/components/switch/index.ts +0 -1
  490. package/src/components/table/Table.test.tsx +0 -31
  491. package/src/components/table/Table.tsx +0 -61
  492. package/src/components/table/TableBody.test.tsx +0 -32
  493. package/src/components/table/TableBody.tsx +0 -44
  494. package/src/components/table/TableCell.test.tsx +0 -74
  495. package/src/components/table/TableCell.tsx +0 -132
  496. package/src/components/table/TableHeader.test.tsx +0 -32
  497. package/src/components/table/TableHeader.tsx +0 -50
  498. package/src/components/table/TableRow.test.tsx +0 -42
  499. package/src/components/table/TableRow.tsx +0 -73
  500. package/src/components/table/index.ts +0 -5
  501. package/src/components/tabs/Tab.test.tsx +0 -52
  502. package/src/components/tabs/Tab.tsx +0 -133
  503. package/src/components/tabs/TabList.test.tsx +0 -51
  504. package/src/components/tabs/TabList.tsx +0 -94
  505. package/src/components/tabs/TabPanel.test.tsx +0 -39
  506. package/src/components/tabs/TabPanel.tsx +0 -69
  507. package/src/components/tabs/TabProvider.test.tsx +0 -163
  508. package/src/components/tabs/TabProvider.tsx +0 -67
  509. package/src/components/tabs/Tabs.stories.tsx +0 -170
  510. package/src/components/tabs/index.ts +0 -4
  511. package/src/components/tabs/state.ts +0 -114
  512. package/src/components/tabs/test-utils.ts +0 -39
  513. package/src/components/text/Text.stories.tsx +0 -177
  514. package/src/components/text/Text.test.tsx +0 -94
  515. package/src/components/text/Text.tsx +0 -141
  516. package/src/components/text/index.ts +0 -1
  517. package/src/components/text-field/TextField.stories.tsx +0 -180
  518. package/src/components/text-field/TextField.test.tsx +0 -299
  519. package/src/components/text-field/TextField.tsx +0 -493
  520. package/src/components/text-field/index.ts +0 -1
  521. package/src/components/thumbnail/Thumbnail.stories.tsx +0 -448
  522. package/src/components/thumbnail/Thumbnail.test.tsx +0 -66
  523. package/src/components/thumbnail/Thumbnail.tsx +0 -248
  524. package/src/components/thumbnail/index.ts +0 -3
  525. package/src/components/thumbnail/types.ts +0 -48
  526. package/src/components/thumbnail/useFocusPointStyle.test.ts +0 -92
  527. package/src/components/thumbnail/useFocusPointStyle.tsx +0 -107
  528. package/src/components/thumbnail/useImageLoad.ts +0 -40
  529. package/src/components/toolbar/Toolbar.tsx +0 -68
  530. package/src/components/toolbar/index.ts +0 -1
  531. package/src/components/tooltip/Tooltip.stories.tsx +0 -117
  532. package/src/components/tooltip/Tooltip.test.tsx +0 -411
  533. package/src/components/tooltip/Tooltip.tsx +0 -165
  534. package/src/components/tooltip/constants.ts +0 -8
  535. package/src/components/tooltip/context.tsx +0 -17
  536. package/src/components/tooltip/index.ts +0 -1
  537. package/src/components/tooltip/useInjectTooltipRef.tsx +0 -55
  538. package/src/components/tooltip/useTooltipOpen.tsx +0 -143
  539. package/src/components/uploader/Uploader.stories.tsx +0 -109
  540. package/src/components/uploader/Uploader.test.tsx +0 -148
  541. package/src/components/uploader/Uploader.tsx +0 -177
  542. package/src/components/uploader/index.ts +0 -1
  543. package/src/components/user-block/UserBlock.stories.tsx +0 -135
  544. package/src/components/user-block/UserBlock.test.tsx +0 -108
  545. package/src/components/user-block/UserBlock.tsx +0 -193
  546. package/src/components/user-block/index.ts +0 -1
  547. package/src/constants.ts +0 -27
  548. package/src/hooks/useBooleanState.tsx +0 -13
  549. package/src/hooks/useCallbackOnEscape.ts +0 -34
  550. package/src/hooks/useChipGroupNavigation.tsx +0 -75
  551. package/src/hooks/useClickAway.tsx +0 -48
  552. package/src/hooks/useDisableBodyScroll.ts +0 -28
  553. package/src/hooks/useEventCallback.tsx +0 -17
  554. package/src/hooks/useFocus.tsx +0 -21
  555. package/src/hooks/useFocusTrap.ts +0 -93
  556. package/src/hooks/useFocusWithin.ts +0 -33
  557. package/src/hooks/useId.test.tsx +0 -23
  558. package/src/hooks/useId.ts +0 -15
  559. package/src/hooks/useImageSize.ts +0 -17
  560. package/src/hooks/useInfiniteScroll.tsx +0 -60
  561. package/src/hooks/useIntersectionObserver.tsx +0 -43
  562. package/src/hooks/useInterval.tsx +0 -31
  563. package/src/hooks/useKeyboardListNavigation.tsx +0 -204
  564. package/src/hooks/useListenFocus.tsx +0 -26
  565. package/src/hooks/useOverflowTooltipLabel.tsx +0 -32
  566. package/src/hooks/usePopper.ts +0 -12
  567. package/src/hooks/usePreviousValue.ts +0 -13
  568. package/src/hooks/useRovingTabIndex.tsx +0 -90
  569. package/src/hooks/useSizeOnWindowResize.ts +0 -30
  570. package/src/hooks/useSlideshowControls.ts +0 -246
  571. package/src/hooks/useStopPropagation.ts +0 -21
  572. package/src/hooks/useTransitionVisibility.ts +0 -48
  573. package/src/index.ts +0 -63
  574. package/src/stories/controls/color.ts +0 -7
  575. package/src/stories/controls/element.ts +0 -6
  576. package/src/stories/controls/focusPoint.ts +0 -1
  577. package/src/stories/controls/icons.ts +0 -126
  578. package/src/stories/controls/image.ts +0 -84
  579. package/src/stories/controls/selectArgType.ts +0 -8
  580. package/src/stories/controls/theme.ts +0 -3
  581. package/src/stories/controls/typography.ts +0 -5
  582. package/src/stories/controls/withUndefined.ts +0 -1
  583. package/src/stories/decorators/withChromaticForceScreenSize.tsx +0 -8
  584. package/src/stories/decorators/withCombinations.tsx +0 -132
  585. package/src/stories/decorators/withNestedProps.tsx +0 -23
  586. package/src/stories/decorators/withResizableBox.tsx +0 -21
  587. package/src/stories/decorators/withThemedBackground.tsx +0 -18
  588. package/src/stories/decorators/withValueOnChange.tsx +0 -18
  589. package/src/stories/decorators/withWrapper.tsx +0 -21
  590. package/src/stories/generated/Autocomplete/Demos.stories.tsx +0 -7
  591. package/src/stories/generated/Avatar/Demos.stories.tsx +0 -7
  592. package/src/stories/generated/Badge/Demos.stories.tsx +0 -9
  593. package/src/stories/generated/Button/Demos.stories.tsx +0 -11
  594. package/src/stories/generated/Checkbox/Demos.stories.tsx +0 -6
  595. package/src/stories/generated/Chip/Demos.stories.tsx +0 -11
  596. package/src/stories/generated/CommentBlock/Demos.stories.tsx +0 -8
  597. package/src/stories/generated/DatePicker/Demos.stories.tsx +0 -8
  598. package/src/stories/generated/Dialog/Demos.stories.tsx +0 -10
  599. package/src/stories/generated/Divider/Demos.stories.tsx +0 -6
  600. package/src/stories/generated/Dropdown/Demos.stories.tsx +0 -8
  601. package/src/stories/generated/ExpansionPanel/Demos.stories.tsx +0 -9
  602. package/src/stories/generated/Flag/Demos.stories.tsx +0 -6
  603. package/src/stories/generated/GenericBlock/Demos.stories.tsx +0 -8
  604. package/src/stories/generated/Heading/Demos.stories.tsx +0 -6
  605. package/src/stories/generated/Icon/Demos.stories.tsx +0 -8
  606. package/src/stories/generated/ImageBlock/Demos.stories.tsx +0 -9
  607. package/src/stories/generated/ImageLightbox/Demos.stories.tsx +0 -6
  608. package/src/stories/generated/Lightbox/Demos.stories.tsx +0 -6
  609. package/src/stories/generated/LinkPreview/Demos.stories.tsx +0 -7
  610. package/src/stories/generated/List/Demos.stories.tsx +0 -11
  611. package/src/stories/generated/Message/Demos.stories.tsx +0 -11
  612. package/src/stories/generated/Mosaic/Demos.stories.tsx +0 -10
  613. package/src/stories/generated/Notification/Demos.stories.tsx +0 -6
  614. package/src/stories/generated/Popover/Demos.stories.tsx +0 -11
  615. package/src/stories/generated/PopoverDialog/Demos.stories.tsx +0 -6
  616. package/src/stories/generated/PostBlock/Demos.stories.tsx +0 -6
  617. package/src/stories/generated/Progress/Demos.stories.tsx +0 -7
  618. package/src/stories/generated/ProgressTracker/Demos.stories.tsx +0 -9
  619. package/src/stories/generated/RadioButton/Demos.stories.tsx +0 -6
  620. package/src/stories/generated/Select/Demos.stories.tsx +0 -14
  621. package/src/stories/generated/SideNavigation/Demos.stories.tsx +0 -10
  622. package/src/stories/generated/Skeleton/Demos.stories.tsx +0 -9
  623. package/src/stories/generated/Slider/Demos.stories.tsx +0 -9
  624. package/src/stories/generated/Slideshow/Demos.stories.tsx +0 -8
  625. package/src/stories/generated/Switch/Demos.stories.tsx +0 -6
  626. package/src/stories/generated/Table/Demos.stories.tsx +0 -7
  627. package/src/stories/generated/Tabs/Demos.stories.tsx +0 -8
  628. package/src/stories/generated/TextField/Demos.stories.tsx +0 -20
  629. package/src/stories/generated/Thumbnail/Demos.stories.tsx +0 -12
  630. package/src/stories/generated/Toolbar/Demos.stories.tsx +0 -10
  631. package/src/stories/generated/Tooltip/Demos.stories.tsx +0 -8
  632. package/src/stories/generated/Uploader/Demos.stories.tsx +0 -8
  633. package/src/stories/generated/UserBlock/Demos.stories.tsx +0 -11
  634. package/src/stories/utils/CustomLink.tsx +0 -13
  635. package/src/stories/utils/concatPath.tsx +0 -17
  636. package/src/stories/utils/disableArgTypes.ts +0 -3
  637. package/src/stories/utils/initDemoShadowDOMPortal.ts +0 -10
  638. package/src/stories/utils/lorem.ts +0 -59
  639. package/src/stories/utils/theming.tsx +0 -166
  640. package/src/stories/utils/toFlattenProps.ts +0 -28
  641. package/src/stories/utils/withCategory.ts +0 -12
  642. package/src/testing/utils/ThemeSentinel.tsx +0 -11
  643. package/src/testing/utils/commonTestsSuiteRTL.tsx +0 -193
  644. package/src/testing/utils/index.ts +0 -1
  645. package/src/testing/utils/queries.ts +0 -19
  646. package/src/untypped-modules.d.ts +0 -5
  647. package/src/utils/ClickAwayProvider/ClickAwayProvider.stories.jsx +0 -70
  648. package/src/utils/ClickAwayProvider/ClickAwayProvider.tsx +0 -69
  649. package/src/utils/ClickAwayProvider/index.ts +0 -1
  650. package/src/utils/MaterialThemeSwitcher/MaterialThemeSwitcher.tsx +0 -54
  651. package/src/utils/MaterialThemeSwitcher/index.ts +0 -1
  652. package/src/utils/Portal/Portal.test.tsx +0 -32
  653. package/src/utils/Portal/Portal.tsx +0 -33
  654. package/src/utils/Portal/PortalProvider.stories.jsx +0 -23
  655. package/src/utils/Portal/PortalProvider.test.tsx +0 -73
  656. package/src/utils/Portal/PortalProvider.tsx +0 -24
  657. package/src/utils/Portal/index.tsx +0 -2
  658. package/src/utils/browser/DOM/findImage.tsx +0 -3
  659. package/src/utils/browser/DOM/startViewTransition.ts +0 -68
  660. package/src/utils/browser/focus/constants.ts +0 -7
  661. package/src/utils/browser/focus/getFirstAndLastFocusable.test.ts +0 -134
  662. package/src/utils/browser/focus/getFirstAndLastFocusable.ts +0 -21
  663. package/src/utils/browser/focus/getFocusableElements.test.ts +0 -151
  664. package/src/utils/browser/focus/getFocusableElements.ts +0 -7
  665. package/src/utils/browser/isFocusVisible.ts +0 -9
  666. package/src/utils/browser/isHoverNotSupported.test.js +0 -24
  667. package/src/utils/browser/isHoverNotSupported.ts +0 -2
  668. package/src/utils/browser/isReducedMotion.ts +0 -6
  669. package/src/utils/date/addMonthResetDay.test.ts +0 -13
  670. package/src/utils/date/addMonthResetDay.ts +0 -9
  671. package/src/utils/date/formatDayNumber.test.ts +0 -12
  672. package/src/utils/date/formatDayNumber.ts +0 -5
  673. package/src/utils/date/getFirstDayOfWeek.test.ts +0 -20
  674. package/src/utils/date/getFirstDayOfWeek.ts +0 -59
  675. package/src/utils/date/getMonthCalendar.test.ts +0 -127
  676. package/src/utils/date/getMonthCalendar.ts +0 -69
  677. package/src/utils/date/getWeekDays.test.ts +0 -48
  678. package/src/utils/date/getWeekDays.ts +0 -34
  679. package/src/utils/date/getYearDisplayName.test.ts +0 -20
  680. package/src/utils/date/getYearDisplayName.ts +0 -12
  681. package/src/utils/date/isDateValid.test.ts +0 -15
  682. package/src/utils/date/isDateValid.ts +0 -4
  683. package/src/utils/date/isSameDay.test.ts +0 -37
  684. package/src/utils/date/isSameDay.ts +0 -11
  685. package/src/utils/disabled/DisabledStateContext.tsx +0 -29
  686. package/src/utils/disabled/DisabledStateProvider.stories.tsx +0 -94
  687. package/src/utils/disabled/index.ts +0 -2
  688. package/src/utils/disabled/useDisableStateProps.test.tsx +0 -74
  689. package/src/utils/disabled/useDisableStateProps.tsx +0 -37
  690. package/src/utils/function/makeListenerTowerContext.ts +0 -32
  691. package/src/utils/index.ts +0 -7
  692. package/src/utils/locale/getCurrentLocale.ts +0 -4
  693. package/src/utils/locale/parseLocale.test.ts +0 -17
  694. package/src/utils/locale/parseLocale.ts +0 -23
  695. package/src/utils/locale/types.ts +0 -8
  696. package/src/utils/number/clamp.ts +0 -17
  697. package/src/utils/object/isEqual.test.ts +0 -25
  698. package/src/utils/object/isEqual.ts +0 -11
  699. package/src/utils/partitionMulti.test.ts +0 -27
  700. package/src/utils/react/OnBeforeUnmount.tsx +0 -20
  701. package/src/utils/react/flattenChildren.ts +0 -32
  702. package/src/utils/react/forwardRef.ts +0 -11
  703. package/src/utils/react/forwardRefPolymorphic.ts +0 -9
  704. package/src/utils/react/mergeRefs.ts +0 -33
  705. package/src/utils/react/renderButtonOrLink.tsx +0 -16
  706. package/src/utils/react/renderLink.tsx +0 -17
  707. package/src/utils/react/skipRender.tsx +0 -18
  708. package/src/utils/react/unref.ts +0 -7
  709. package/src/utils/react/wrapChildrenIconWithSpaces.test.tsx +0 -37
  710. package/src/utils/react/wrapChildrenIconWithSpaces.tsx +0 -22
  711. package/src/utils/theme/ThemeContext.ts +0 -16
  712. package/src/utils/theme/invertTheme.ts +0 -4
  713. package/src/utils/type/Comp.ts +0 -14
  714. package/src/utils/type/ComponentRef.ts +0 -16
  715. package/src/utils/type/HasAriaDisabled.ts +0 -6
  716. package/src/utils/type/HasPolymorphicAs.ts +0 -8
  717. package/src/utils/type/MaybeElementOrRef.ts +0 -6
  718. package/src/utils/type/index.ts +0 -8
  719. package/src/utils/type/isComponent.ts +0 -33
  720. package/src/utils/type/isComponentType.ts +0 -9
  721. /package/_internal/{Falsy.d.ts → d95844c1.d.ts} +0 -0
@@ -0,0 +1,745 @@
1
+ import { m as getRootClassName, _ as _extends, n as forwardRef, l as classNames } from './d3321a86.js';
2
+ import React__default from 'react';
3
+ import { u as useMergeRefs, m as mergeRefs } from './f0d7d6ea.js';
4
+ import memoize from 'lodash/memoize';
5
+ import { I as ImageCaption } from './803945f7.js';
6
+ import throttle from 'lodash/throttle';
7
+ import { i as isReducedMotion } from './aa8c5d9b.js';
8
+ import { S as SlideshowItem, a as SlideshowControls, b as Slides } from './85d992d2.js';
9
+ import { T as Thumbnail } from './714809cc.js';
10
+ import { I as IconButton } from './7b214f74.js';
11
+ import { FlexBox } from './64046d7a.js';
12
+ import ReactDOM from 'react-dom';
13
+ import { Lightbox } from './742d4906.js';
14
+ import { T as ThemeProvider } from './3181f000.js';
15
+ import { C as ClickAwayProvider } from './bcce6ceb.js';
16
+
17
+ const mdiMagnifyMinusOutline = 'M15.5 14h-.79l-.28-.27A6.5 6.5 0 0 0 16 9.5 6.5 6.5 0 0 0 9.5 3 6.5 6.5 0 0 0 3 9.5 6.5 6.5 0 0 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 5 1.5-1.5zm-6 0C7 14 5 12 5 9.5S7 5 9.5 5 14 7 14 9.5 12 14 9.5 14M7 9h5v1H7z';
18
+
19
+ const mdiMagnifyPlusOutline = 'm15.5 14 5 5-1.5 1.5-5-5v-.79l-.27-.28A6.5 6.5 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3 6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.57 4.23l.28.27zm-6 0C12 14 14 12 14 9.5S12 5 9.5 5 5 7 5 9.5 7 14 9.5 14m2.5-4h-2v2H9v-2H7V9h2V7h1v2h2z';
20
+
21
+ /**
22
+ * Component display name.
23
+ */
24
+ const COMPONENT_NAME = 'ImageLightbox';
25
+
26
+ /**
27
+ * Component default class name and class prefix.
28
+ */
29
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
30
+
31
+ /**
32
+ * Observe element size (only works if it's size depends on the window size).
33
+ *
34
+ * (Not using ResizeObserver for better browser backward compat)
35
+ *
36
+ * @param elementRef Element to observe
37
+ * @return the size and a manual update callback
38
+ */
39
+ function useSizeOnWindowResize(elementRef) {
40
+ const [size, setSize] = React__default.useState(null);
41
+ const updateSize = React__default.useMemo(() => throttle(() => {
42
+ const newSize = elementRef.current?.getBoundingClientRect();
43
+ if (newSize) setSize(newSize);
44
+ }, 10), [elementRef]);
45
+ React__default.useEffect(() => {
46
+ updateSize();
47
+ window.addEventListener('resize', updateSize);
48
+ return () => window.removeEventListener('resize', updateSize);
49
+ }, [updateSize]);
50
+ return [size, updateSize];
51
+ }
52
+
53
+ /** Get natural image size after load. */
54
+ function useImageSize(imgRef, getInitialSize) {
55
+ const [imageSize, setImageSize] = React__default.useState(getInitialSize || null);
56
+ React__default.useEffect(() => {
57
+ const {
58
+ current: img
59
+ } = imgRef;
60
+ if (!img) {
61
+ return undefined;
62
+ }
63
+ const onLoad = () => setImageSize({
64
+ width: img.naturalWidth,
65
+ height: img.naturalHeight
66
+ });
67
+ img.addEventListener('load', onLoad);
68
+ return () => img.removeEventListener('load', onLoad);
69
+ }, [imgRef]);
70
+ return imageSize;
71
+ }
72
+
73
+ /** Minimal recursive deep equal of JS values */
74
+ function isEqual(obj1, obj2) {
75
+ if (obj1 === obj2) return true;
76
+ if (typeof obj1 === 'object' && typeof obj2 === 'object') {
77
+ const keys1 = Object.keys(obj1);
78
+ const keys2 = Object.keys(obj2);
79
+ if (keys1.length !== keys2.length) return false;
80
+ return keys1.every(key1 => isEqual(obj1[key1], obj2[key1]));
81
+ }
82
+ return false;
83
+ }
84
+
85
+ /**
86
+ * Listen to mouse wheel + ctrl and multi-pointer pinch to zoom
87
+ */
88
+ function usePointerZoom(scrollAreaRef, onScaleChange, animateScroll) {
89
+ const [isPointerZooming, setPointerZooming] = React__default.useState(false);
90
+ React__default.useEffect(() => {
91
+ const scrollArea = scrollAreaRef.current;
92
+ if (!scrollArea || !onScaleChange) {
93
+ return undefined;
94
+ }
95
+ let animationFrame;
96
+ let zoomStateTimeoutId;
97
+ function updateScaleOnNextFrame(newScale, mousePosition) {
98
+ // Cancel previously scheduled frame
99
+ if (animationFrame) cancelAnimationFrame(animationFrame);
100
+
101
+ // Cancel previously scheduled zoom state change
102
+ if (zoomStateTimeoutId) clearTimeout(zoomStateTimeoutId);
103
+ function nextFrame() {
104
+ setPointerZooming(true);
105
+ onScaleChange?.(newScale);
106
+ animationFrame = null;
107
+ // Wait a bit before indicating the pointer zooming is finished
108
+ zoomStateTimeoutId = setTimeout(() => setPointerZooming(false), 100);
109
+ }
110
+ animationFrame = requestAnimationFrame(nextFrame);
111
+
112
+ // Animate scroll in parallel (centering on the current mouse position)
113
+ animateScroll(mousePosition, {
114
+ width: scrollArea.scrollWidth,
115
+ height: scrollArea.scrollHeight
116
+ });
117
+ }
118
+ function onWheel(event) {
119
+ if (!event.ctrlKey) {
120
+ return;
121
+ }
122
+ event.preventDefault();
123
+ const newScale = Math.exp(-event.deltaY / 50);
124
+
125
+ // Update scale on next frame (focused on the mouse position)
126
+ updateScaleOnNextFrame(newScale, {
127
+ x: event.clientX,
128
+ y: event.clientY
129
+ });
130
+ }
131
+ const activePointers = {};
132
+ let prevDistance = null;
133
+ let previousCenterPoint = null;
134
+ function onPointerDown(event) {
135
+ activePointers[event.pointerId] = event;
136
+ }
137
+ function onPointerMove(event) {
138
+ // Update pointer in cache
139
+ if (activePointers[event.pointerId]) {
140
+ activePointers[event.pointerId] = event;
141
+ }
142
+ const pointers = Object.values(activePointers);
143
+
144
+ // Make sure we run computation on one of the pointer in the group
145
+ if (pointers[0]?.pointerId !== event.pointerId) {
146
+ return;
147
+ }
148
+
149
+ // Centered point between all pointers
150
+ const centerPoint = {
151
+ x: pointers.reduce((x, {
152
+ clientX
153
+ }) => x + clientX, 0) / pointers.length,
154
+ y: pointers.reduce((y, {
155
+ clientY
156
+ }) => y + clientY, 0) / pointers.length
157
+ };
158
+
159
+ // Movement of the center point
160
+ const deltaCenterPoint = previousCenterPoint && {
161
+ left: previousCenterPoint.x - centerPoint.x,
162
+ top: previousCenterPoint.y - centerPoint.y
163
+ };
164
+
165
+ // Pan X & Y
166
+ if (deltaCenterPoint) {
167
+ // Apply movement of the center point to the scroll
168
+ scrollArea.scrollBy({
169
+ top: deltaCenterPoint.top / 2,
170
+ left: deltaCenterPoint.left / 2
171
+ });
172
+ }
173
+
174
+ // Pinch to zoom
175
+ if (pointers.length === 2) {
176
+ const [pointer1, pointer2] = pointers;
177
+ const distance = Math.hypot(pointer2.clientX - pointer1.clientX, pointer2.clientY - pointer1.clientY);
178
+ if (prevDistance && deltaCenterPoint) {
179
+ const delta = prevDistance - distance;
180
+ const absDelta = Math.abs(delta);
181
+
182
+ // Zoom only if we are "pinching" more than we are moving the pointers
183
+ if (absDelta > Math.abs(deltaCenterPoint.left) && absDelta > Math.abs(deltaCenterPoint.top)) {
184
+ // Update scale on next frame (focused on the center point between the two pointers)
185
+ const newScale = Math.exp(-delta / 100);
186
+ updateScaleOnNextFrame(newScale, centerPoint);
187
+ }
188
+ }
189
+ prevDistance = distance;
190
+ }
191
+ previousCenterPoint = centerPoint;
192
+ }
193
+ function onPointerUp(event) {
194
+ prevDistance = null;
195
+ previousCenterPoint = null;
196
+ delete activePointers[event.pointerId];
197
+ }
198
+ scrollArea.addEventListener('wheel', onWheel, {
199
+ passive: false
200
+ });
201
+ const isMultiTouch = navigator.maxTouchPoints >= 2;
202
+ if (isMultiTouch) {
203
+ scrollArea.addEventListener('pointerdown', onPointerDown);
204
+ scrollArea.addEventListener('pointermove', onPointerMove);
205
+ scrollArea.addEventListener('pointerup', onPointerUp);
206
+ }
207
+ return () => {
208
+ scrollArea.removeEventListener('wheel', onWheel);
209
+ if (isMultiTouch) {
210
+ scrollArea.removeEventListener('pointerdown', onPointerDown);
211
+ scrollArea.removeEventListener('pointermove', onPointerMove);
212
+ scrollArea.removeEventListener('pointerup', onPointerUp);
213
+ }
214
+ };
215
+ }, [animateScroll, onScaleChange, scrollAreaRef]);
216
+ return isPointerZooming;
217
+ }
218
+
219
+ /** Maintains the scroll position centered relative to the original scroll area's dimensions when the content scales. */
220
+ function useAnimateScroll(scrollAreaRef) {
221
+ return React__default.useMemo(() => {
222
+ let animationFrame = null;
223
+ return function animate(centerPoint, initialScrollAreaSize) {
224
+ const scrollArea = scrollAreaRef.current;
225
+ if (!scrollArea) {
226
+ return;
227
+ }
228
+
229
+ // Cancel previously running animation
230
+ if (animationFrame) cancelAnimationFrame(animationFrame);
231
+
232
+ // Center on the given point or else on the scroll area visual center
233
+ const clientHeightRatio = centerPoint?.y ? centerPoint.y / scrollArea.clientHeight : 0.5;
234
+ const clientWidthRatio = centerPoint?.x ? centerPoint.x / scrollArea.clientWidth : 0.5;
235
+ const initialScrollHeight = initialScrollAreaSize?.height || scrollArea.scrollHeight;
236
+ const initialScrollWidth = initialScrollAreaSize?.width || scrollArea.scrollWidth;
237
+ const heightCenter = scrollArea.scrollTop + scrollArea.clientHeight * clientHeightRatio;
238
+ const heightRatio = heightCenter / initialScrollHeight;
239
+ const widthCenter = scrollArea.scrollLeft + scrollArea.clientWidth * clientWidthRatio;
240
+ const widthRatio = widthCenter / initialScrollWidth;
241
+ let prevScrollHeight = 0;
242
+ let prevScrollWidth = 0;
243
+ function nextFrame() {
244
+ const {
245
+ scrollHeight,
246
+ scrollWidth,
247
+ clientHeight,
248
+ clientWidth
249
+ } = scrollArea;
250
+
251
+ // Scroll area stopped expanding => stop animation
252
+ if (scrollHeight === prevScrollHeight && scrollWidth === prevScrollWidth) {
253
+ animationFrame = null;
254
+ return;
255
+ }
256
+
257
+ // Compute next scroll position
258
+ const top = heightRatio * scrollHeight - clientHeight * clientHeightRatio;
259
+ const left = widthRatio * scrollWidth - clientWidth * clientWidthRatio;
260
+ scrollArea.scrollTo({
261
+ top,
262
+ left
263
+ });
264
+ prevScrollHeight = scrollHeight;
265
+ prevScrollWidth = scrollWidth;
266
+ animationFrame = requestAnimationFrame(nextFrame);
267
+ }
268
+ animationFrame = requestAnimationFrame(nextFrame);
269
+ };
270
+ }, [scrollAreaRef]);
271
+ }
272
+
273
+ /** Internal image slide component for ImageLightbox */
274
+ const ImageSlide = /*#__PURE__*/React__default.memo(props => {
275
+ const {
276
+ isActive,
277
+ scale,
278
+ onScaleChange,
279
+ image: {
280
+ image,
281
+ imgRef: propImgRef,
282
+ imgProps,
283
+ alt,
284
+ loadingPlaceholderImageRef
285
+ }
286
+ } = props;
287
+
288
+ // Get scroll area size
289
+ const scrollAreaRef = React__default.useRef(null);
290
+ const [scrollAreaSize, updateSize] = useSizeOnWindowResize(scrollAreaRef);
291
+ React__default.useEffect(() => {
292
+ // Update size when active
293
+ if (isActive) updateSize();
294
+ }, [isActive, updateSize]);
295
+
296
+ // Get image size
297
+ const imgRef = React__default.useRef(null);
298
+ const imageSize = useImageSize(imgRef, () => {
299
+ const width = Number.parseInt(imgProps?.width, 10);
300
+ const height = Number.parseInt(imgProps?.height, 10);
301
+ return width && height ? {
302
+ width,
303
+ height
304
+ } : null;
305
+ });
306
+
307
+ // Calculate new image size with scale
308
+ const scaledImageSize = React__default.useMemo(() => {
309
+ if (!scrollAreaSize || !imageSize) {
310
+ return null;
311
+ }
312
+ const horizontalScale = scrollAreaSize.width / imageSize.width;
313
+ const verticalScale = scrollAreaSize.height / imageSize.height;
314
+ const baseScale = Math.min(1, Math.min(horizontalScale, verticalScale));
315
+ return {
316
+ width: imageSize.width * baseScale * (scale ?? 1),
317
+ height: imageSize.height * baseScale * (scale ?? 1)
318
+ };
319
+ }, [scrollAreaSize, imageSize, scale]);
320
+
321
+ // Animate scroll to preserve the center of the current visible window in the scroll area
322
+ const animateScroll = useAnimateScroll(scrollAreaRef);
323
+
324
+ // Zoom via mouse wheel or multi-touch pinch zoom
325
+ const isPointerZooming = usePointerZoom(scrollAreaRef, onScaleChange, animateScroll);
326
+
327
+ // Animate scroll on scale change
328
+ React__default.useLayoutEffect(() => {
329
+ if (scale && !isPointerZooming) {
330
+ animateScroll();
331
+ }
332
+ }, [isPointerZooming, scale, animateScroll]);
333
+ const isScrollable = scaledImageSize && scrollAreaSize && (scaledImageSize.width > scrollAreaSize.width || scaledImageSize.height > scrollAreaSize.height);
334
+ return /*#__PURE__*/React__default.createElement(SlideshowItem, {
335
+ ref: scrollAreaRef
336
+ // Make it accessible to keyboard nav when the zone is scrollable
337
+ ,
338
+ tabIndex: isScrollable ? 0 : undefined,
339
+ className: `${CLASSNAME}__image-slide`
340
+ }, /*#__PURE__*/React__default.createElement(Thumbnail, {
341
+ imgRef: useMergeRefs(imgRef, propImgRef),
342
+ image: image,
343
+ alt: alt,
344
+ className: `${CLASSNAME}__thumbnail`,
345
+ imgProps: {
346
+ ...imgProps,
347
+ style: {
348
+ ...imgProps?.style,
349
+ ...(scaledImageSize || {
350
+ maxHeight: scrollAreaSize?.height,
351
+ maxWidth: scrollAreaSize?.width
352
+ }),
353
+ // Only animate when scale is set, and we are not pointer zooming and the user does not prefer reduced motion
354
+ transition: scale && !isPointerZooming && !isReducedMotion() ? 'all 250ms' : undefined
355
+ }
356
+ },
357
+ loadingPlaceholderImageRef: loadingPlaceholderImageRef
358
+ }));
359
+ }, isEqual);
360
+
361
+ /** Internal image slideshow component for ImageLightbox */
362
+ const ImageSlideshow = ({
363
+ activeImageIndex,
364
+ images,
365
+ slideGroupLabel,
366
+ zoomInButtonProps,
367
+ zoomOutButtonProps,
368
+ slideshowControlsProps,
369
+ currentPaginationItemRef,
370
+ footerRef,
371
+ activeImageRef
372
+ }) => {
373
+ const {
374
+ activeIndex,
375
+ slideshowId,
376
+ setSlideshow,
377
+ slideshowSlidesId,
378
+ slidesCount,
379
+ onNextClick,
380
+ onPaginationClick,
381
+ onPreviousClick,
382
+ toggleAutoPlay
383
+ } = SlideshowControls.useSlideshowControls({
384
+ itemsCount: images.length,
385
+ activeIndex: activeImageIndex
386
+ });
387
+
388
+ // Image metadata (caption)
389
+ const title = images[activeIndex]?.title;
390
+ const description = images[activeIndex]?.description;
391
+ const tags = images[activeIndex]?.tags;
392
+ const metadata = title || description || tags ? /*#__PURE__*/React__default.createElement(ImageCaption, {
393
+ as: "div",
394
+ title: title,
395
+ description: description,
396
+ tags: tags,
397
+ align: "center"
398
+ }) : null;
399
+
400
+ // Slideshow controls
401
+ const slideShowControls = slidesCount > 1 && slideshowControlsProps ? /*#__PURE__*/React__default.createElement(SlideshowControls, _extends({
402
+ activeIndex: activeIndex,
403
+ slidesCount: slidesCount,
404
+ onNextClick: onNextClick,
405
+ onPreviousClick: onPreviousClick,
406
+ onPaginationClick: onPaginationClick
407
+ }, slideshowControlsProps, {
408
+ paginationItemProps: index => {
409
+ const props = slideshowControlsProps?.paginationItemProps?.(index) || {};
410
+ return {
411
+ ...props,
412
+ ref: mergeRefs(props?.ref,
413
+ // Focus the active pagination item once on mount
414
+ activeIndex === index ? currentPaginationItemRef : undefined)
415
+ };
416
+ }
417
+ })) : null;
418
+
419
+ // Zoom controls
420
+ const [scale, setScale] = React__default.useState(undefined);
421
+ const zoomEnabled = zoomInButtonProps && zoomOutButtonProps;
422
+ const onScaleChange = React__default.useMemo(() => {
423
+ if (!zoomEnabled) return undefined;
424
+ return newScale => {
425
+ setScale((prevScale = 1) => Math.max(1, newScale * prevScale));
426
+ };
427
+ }, [zoomEnabled]);
428
+ const zoomIn = React__default.useCallback(() => onScaleChange?.(1.5), [onScaleChange]);
429
+ const zoomOut = React__default.useCallback(() => onScaleChange?.(0.5), [onScaleChange]);
430
+ React__default.useEffect(() => {
431
+ // Reset scale on slide change
432
+ if (typeof activeIndex === 'number') setScale(undefined);
433
+ }, [activeIndex]);
434
+ const zoomControls = zoomEnabled && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(IconButton, _extends({}, zoomInButtonProps, {
435
+ emphasis: "low",
436
+ icon: mdiMagnifyPlusOutline,
437
+ onClick: zoomIn
438
+ })), /*#__PURE__*/React__default.createElement(IconButton, _extends({}, zoomOutButtonProps, {
439
+ emphasis: "low",
440
+ isDisabled: !scale || scale <= 1,
441
+ icon: mdiMagnifyMinusOutline,
442
+ onClick: zoomOut
443
+ })));
444
+ const getImgRef = React__default.useMemo(() => memoize((index, isActive) => {
445
+ return mergeRefs(images?.[index].imgRef, isActive ? activeImageRef : undefined);
446
+ },
447
+ // memoize based on both arguments
448
+ (...args) => args.join()), [images, activeImageRef]);
449
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Slides, {
450
+ activeIndex: activeIndex,
451
+ slideGroupLabel: slideGroupLabel,
452
+ fillHeight: true,
453
+ id: slideshowId,
454
+ ref: setSlideshow,
455
+ slidesId: slideshowSlidesId,
456
+ toggleAutoPlay: toggleAutoPlay
457
+ }, images.map(({
458
+ image,
459
+ imgRef,
460
+ ...imageProps
461
+ }, index) => {
462
+ const isActive = index === activeIndex;
463
+ return /*#__PURE__*/React__default.createElement(ImageSlide, {
464
+ isActive: isActive,
465
+ key: image,
466
+ image: {
467
+ ...imageProps,
468
+ image,
469
+ imgRef: getImgRef(index, isActive)
470
+ },
471
+ scale: isActive ? scale : undefined,
472
+ onScaleChange: onScaleChange
473
+ });
474
+ })), (metadata || slideShowControls || zoomControls) && /*#__PURE__*/React__default.createElement(FlexBox, {
475
+ ref: footerRef,
476
+ className: `${CLASSNAME}__footer`,
477
+ orientation: "vertical",
478
+ vAlign: "center",
479
+ gap: "big"
480
+ }, metadata, /*#__PURE__*/React__default.createElement(FlexBox, {
481
+ className: `${CLASSNAME}__footer-actions`,
482
+ orientation: "horizontal",
483
+ gap: "regular"
484
+ }, slideShowControls, zoomControls)));
485
+ };
486
+
487
+ /** Unref a react ref or element */
488
+ function unref(maybeElement) {
489
+ if (maybeElement instanceof HTMLElement) return maybeElement;
490
+ return maybeElement?.current;
491
+ }
492
+
493
+ function setupViewTransitionName(elementRef, name) {
494
+ let originalName = null;
495
+ return {
496
+ set() {
497
+ const element = unref(elementRef);
498
+ if (!element) return;
499
+ originalName = element.style.viewTransitionName;
500
+ element.style.viewTransitionName = name;
501
+ },
502
+ unset() {
503
+ const element = unref(elementRef);
504
+ if (!element || originalName === null) return;
505
+ element.style.viewTransitionName = originalName;
506
+ }
507
+ };
508
+ }
509
+
510
+ /**
511
+ * Wrapper around the `document.startViewTransition` handling browser incompatibilities, react DOM flush and
512
+ * user preference.
513
+ *
514
+ * @param changes callback containing the changes to apply within the view transition.
515
+ * @param setViewTransitionName set the `viewTransitionName` style on a `source` & `target` to morph these elements.
516
+ */
517
+ async function startViewTransition({
518
+ changes,
519
+ viewTransitionName
520
+ }) {
521
+ const start = document?.startViewTransition?.bind(document);
522
+ const prefersReducedMotion = isReducedMotion();
523
+ const {
524
+ flushSync
525
+ } = ReactDOM;
526
+ if (prefersReducedMotion || !start || !flushSync || !viewTransitionName?.source || !viewTransitionName?.target) {
527
+ // Skip, apply changes without a transition
528
+ changes();
529
+ return;
530
+ }
531
+
532
+ // Setup set/unset transition name on source & target
533
+ const sourceTransitionName = setupViewTransitionName(viewTransitionName.source, viewTransitionName.name);
534
+ const targetTransitionName = setupViewTransitionName(viewTransitionName.target, viewTransitionName.name);
535
+ sourceTransitionName.set();
536
+
537
+ // Start view transition, apply changes & flush to DOM
538
+ await start(() => {
539
+ sourceTransitionName.unset();
540
+ flushSync(changes);
541
+ targetTransitionName.set();
542
+ }).updateCallbackDone;
543
+ targetTransitionName.unset();
544
+ }
545
+
546
+ /** Find image in element including the element */
547
+ const findImage = element => element?.matches('img') ? element : element?.querySelector('img') || null;
548
+
549
+ /** Subset of the ImageLightboxProps managed by the useImageLightbox hook */
550
+
551
+ const EMPTY_PROPS = {
552
+ isOpen: false,
553
+ images: [],
554
+ parentElement: /*#__PURE__*/React__default.createRef()
555
+ };
556
+ /**
557
+ * Set up an ImageLightbox with images and triggers.
558
+ *
559
+ * - Associate a trigger with the lightbox to properly focus the trigger on close
560
+ * - Associate a trigger with an image to display on open
561
+ * - Automatically provide a view transition between an image trigger and the displayed image on open & close
562
+ *
563
+ * @param props Images to display in the image lightbox
564
+ */
565
+ function useImageLightbox(props) {
566
+ const propsRef = React__default.useRef(props);
567
+ React__default.useEffect(() => {
568
+ propsRef.current = props;
569
+ }, [props]);
570
+
571
+ // Keep reference for each image elements
572
+ const imageRefsRef = React__default.useRef([]);
573
+ const currentImageRef = React__default.useRef(null);
574
+ const [imageLightboxProps, setImageLightboxProps] = React__default.useState(() => ({
575
+ ...EMPTY_PROPS,
576
+ ...props
577
+ }));
578
+ const getTriggerProps = React__default.useMemo(() => {
579
+ const triggerImageRefs = {};
580
+ async function close() {
581
+ const currentImage = currentImageRef.current;
582
+ if (!currentImage) {
583
+ return;
584
+ }
585
+ const currentIndex = imageRefsRef.current.findIndex(imageRef => imageRef.current === currentImage);
586
+ await startViewTransition({
587
+ changes() {
588
+ // Close lightbox
589
+ setImageLightboxProps(prevProps => ({
590
+ ...prevProps,
591
+ isOpen: false
592
+ }));
593
+ },
594
+ // Morph from the image in lightbox to the image in trigger
595
+ viewTransitionName: {
596
+ source: currentImageRef,
597
+ target: triggerImageRefs[currentIndex],
598
+ name: CLASSNAME
599
+ }
600
+ });
601
+ }
602
+ async function open(triggerElement, {
603
+ activeImageIndex
604
+ } = {}) {
605
+ // If we find an image inside the trigger, animate it in transition with the opening image
606
+ const triggerImage = triggerImageRefs[activeImageIndex]?.current || findImage(triggerElement);
607
+
608
+ // Inject refs to improve transition and loading style
609
+ const images = propsRef.current?.images?.map((image, idx) => {
610
+ // Get or create image reference
611
+ let imgRef = imageRefsRef.current[idx];
612
+ if (!imgRef) {
613
+ imgRef = /*#__PURE__*/React__default.createRef();
614
+ imageRefsRef.current[idx] = imgRef;
615
+ }
616
+
617
+ // Try to use the trigger image as the loading placeholder
618
+ const loadingPlaceholderImageRef = triggerImage && idx === activeImageIndex ? {
619
+ current: triggerImage
620
+ } : undefined;
621
+ return {
622
+ loadingPlaceholderImageRef,
623
+ ...image,
624
+ imgRef
625
+ };
626
+ });
627
+ await startViewTransition({
628
+ changes: () => {
629
+ // Open lightbox with setup props
630
+ setImageLightboxProps(prevProps => ({
631
+ ...prevProps,
632
+ ...propsRef.current,
633
+ activeImageRef: currentImageRef,
634
+ parentElement: {
635
+ current: triggerElement
636
+ },
637
+ isOpen: true,
638
+ onClose: () => {
639
+ close();
640
+ propsRef.current?.onClose?.();
641
+ },
642
+ images,
643
+ activeImageIndex: activeImageIndex || 0
644
+ }));
645
+ },
646
+ // Morph from the image in trigger to the image in lightbox
647
+ viewTransitionName: {
648
+ source: triggerImage,
649
+ target: currentImageRef,
650
+ name: CLASSNAME
651
+ }
652
+ });
653
+ }
654
+ return memoize(options => ({
655
+ ref(element) {
656
+ // Track trigger image ref if any
657
+ if (options?.activeImageIndex !== undefined && element) {
658
+ triggerImageRefs[options.activeImageIndex] = {
659
+ current: findImage(element)
660
+ };
661
+ }
662
+ },
663
+ onClick(e) {
664
+ open(e.target, options);
665
+ }
666
+ }));
667
+ }, []);
668
+ return {
669
+ getTriggerProps,
670
+ imageLightboxProps
671
+ };
672
+ }
673
+
674
+ const Inner = forwardRef((props, ref) => {
675
+ const {
676
+ className,
677
+ isOpen,
678
+ closeButtonProps,
679
+ onClose,
680
+ parentElement,
681
+ activeImageIndex,
682
+ slideshowControlsProps,
683
+ slideGroupLabel,
684
+ images,
685
+ zoomOutButtonProps,
686
+ zoomInButtonProps,
687
+ activeImageRef: propImageRef,
688
+ ...forwardedProps
689
+ } = props;
690
+ const currentPaginationItemRef = React__default.useRef(null);
691
+ const footerRef = React__default.useRef(null);
692
+ const imageRef = React__default.useRef(null);
693
+ const clickAwayChildrenRefs = React__default.useRef([imageRef, footerRef]);
694
+ const onClickAway = React__default.useCallback(evt => {
695
+ const targetElement = evt.target;
696
+ if (!(targetElement instanceof HTMLElement) || !(evt instanceof MouseEvent)) return;
697
+
698
+ // Skip click away if clicking on the scrollbar
699
+ if (targetElement.clientWidth < evt.clientX || targetElement.clientHeight < evt.clientY) return;
700
+ onClose?.();
701
+ }, [onClose]);
702
+ return /*#__PURE__*/React__default.createElement(Lightbox, _extends({
703
+ ref: ref,
704
+ className: classNames(className, CLASSNAME),
705
+ parentElement: parentElement,
706
+ isOpen: isOpen,
707
+ onClose: onClose,
708
+ closeButtonProps: closeButtonProps,
709
+ focusElement: currentPaginationItemRef
710
+ }, forwardedProps, {
711
+ // Disable the close on click away as we want a custom one here
712
+ preventAutoClose: true
713
+ }), /*#__PURE__*/React__default.createElement(ClickAwayProvider, {
714
+ childrenRefs: clickAwayChildrenRefs,
715
+ callback: onClickAway
716
+ }, /*#__PURE__*/React__default.createElement(ThemeProvider, {
717
+ value: "dark"
718
+ }, /*#__PURE__*/React__default.createElement(ImageSlideshow, {
719
+ activeImageIndex: activeImageIndex,
720
+ slideGroupLabel: slideGroupLabel,
721
+ slideshowControlsProps: slideshowControlsProps,
722
+ images: images,
723
+ zoomInButtonProps: zoomInButtonProps,
724
+ zoomOutButtonProps: zoomOutButtonProps,
725
+ footerRef: footerRef,
726
+ activeImageRef: useMergeRefs(propImageRef, imageRef),
727
+ currentPaginationItemRef: currentPaginationItemRef
728
+ }))));
729
+ });
730
+ Inner.displayName = COMPONENT_NAME;
731
+ Inner.className = CLASSNAME;
732
+
733
+ /**
734
+ * ImageLightbox component.
735
+ *
736
+ * @param props Component props.
737
+ * @param ref Component ref.
738
+ * @return React element.
739
+ */
740
+ const ImageLightbox = Object.assign(Inner, {
741
+ useImageLightbox
742
+ });
743
+
744
+ export { ImageLightbox };
745
+ //# sourceMappingURL=60f8e509.js.map