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

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 (329) hide show
  1. package/_internal/17c3ea1d.js +137 -0
  2. package/_internal/17c3ea1d.js.map +1 -0
  3. package/_internal/1da25128.js +411 -0
  4. package/_internal/1da25128.js.map +1 -0
  5. package/_internal/230173a8.js +13 -0
  6. package/_internal/230173a8.js.map +1 -0
  7. package/_internal/23bdba2d.js +71 -0
  8. package/_internal/23bdba2d.js.map +1 -0
  9. package/_internal/26926e5c.d.ts +36 -0
  10. package/_internal/2a3d237c.js +12 -0
  11. package/_internal/2a3d237c.js.map +1 -0
  12. package/_internal/2c5dbb03.js +26 -0
  13. package/_internal/2c5dbb03.js.map +1 -0
  14. package/_internal/2e2abe51.js +2154 -0
  15. package/_internal/2e2abe51.js.map +1 -0
  16. package/_internal/31490c59.d.ts +167 -0
  17. package/_internal/3181f000.js +14 -0
  18. package/_internal/3181f000.js.map +1 -0
  19. package/_internal/35f100be.d.ts +104 -0
  20. package/_internal/36bd7352.js +219 -0
  21. package/_internal/36bd7352.js.map +1 -0
  22. package/_internal/3a1facc0.js +18 -0
  23. package/_internal/3a1facc0.js.map +1 -0
  24. package/_internal/4c20d932.js +89 -0
  25. package/_internal/4c20d932.js.map +1 -0
  26. package/_internal/4c28d012.js +305 -0
  27. package/_internal/4c28d012.js.map +1 -0
  28. package/_internal/4cd0bf32.js +160 -0
  29. package/_internal/4cd0bf32.js.map +1 -0
  30. package/_internal/4daccdd5.js +25 -0
  31. package/_internal/4daccdd5.js.map +1 -0
  32. package/_internal/524b1d04.js +64 -0
  33. package/_internal/524b1d04.js.map +1 -0
  34. package/_internal/53c94227.js +123 -0
  35. package/_internal/53c94227.js.map +1 -0
  36. package/_internal/54d9ded5.js +418 -0
  37. package/_internal/54d9ded5.js.map +1 -0
  38. package/_internal/56aec41b.js +652 -0
  39. package/_internal/56aec41b.js.map +1 -0
  40. package/_internal/5720caf5.js +124 -0
  41. package/_internal/5720caf5.js.map +1 -0
  42. package/_internal/646f0db6.js +113 -0
  43. package/_internal/646f0db6.js.map +1 -0
  44. package/_internal/6cc8dca8.d.ts +22 -0
  45. package/_internal/7f022f8c.d.ts +34 -0
  46. package/_internal/{index.d.ts → 8d67e1e3.d.ts} +1 -1
  47. package/_internal/b8f2948d.js +691 -0
  48. package/_internal/b8f2948d.js.map +1 -0
  49. package/_internal/bc28d510.js +784 -0
  50. package/_internal/bc28d510.js.map +1 -0
  51. package/_internal/c68d24e4.js +145 -0
  52. package/_internal/c68d24e4.js.map +1 -0
  53. package/_internal/c6c99f76.js +105 -0
  54. package/_internal/c6c99f76.js.map +1 -0
  55. package/_internal/cae46566.js +65 -0
  56. package/_internal/cae46566.js.map +1 -0
  57. package/_internal/components/alert-dialog/index.ts-623b1ed3.d.ts +37 -0
  58. package/_internal/components/alert-dialog/index.ts-f83bd6ef.js +148 -0
  59. package/_internal/components/alert-dialog/index.ts-f83bd6ef.js.map +1 -0
  60. package/_internal/components/autocomplete/index.ts-3f8f125c.js +264 -0
  61. package/_internal/components/autocomplete/index.ts-3f8f125c.js.map +1 -0
  62. package/_internal/components/autocomplete/index.ts-8d6b123f.d.ts +201 -0
  63. package/_internal/components/avatar/index.ts-93ee0ea9.js +89 -0
  64. package/_internal/components/avatar/index.ts-93ee0ea9.js.map +1 -0
  65. package/_internal/components/avatar/index.ts-f92852b4.d.ts +43 -0
  66. package/_internal/components/badge/index.ts-2d7700ef.d.ts +30 -0
  67. package/_internal/components/badge/index.ts-6753d67f.js +88 -0
  68. package/_internal/components/badge/index.ts-6753d67f.js.map +1 -0
  69. package/_internal/components/button/index.ts-031307ce.js +51 -0
  70. package/_internal/components/button/index.ts-031307ce.js.map +1 -0
  71. package/_internal/components/button/index.ts-b29e26a4.d.ts +22 -0
  72. package/_internal/components/checkbox/index.ts-a33166d7.js +127 -0
  73. package/_internal/components/checkbox/index.ts-a33166d7.js.map +1 -0
  74. package/_internal/components/checkbox/index.ts-f82358ff.d.ts +38 -0
  75. package/_internal/components/chip/index.ts-4a91f1a7.d.ts +68 -0
  76. package/_internal/components/chip/index.ts-a2b5b771.js +110 -0
  77. package/_internal/components/chip/index.ts-a2b5b771.js.map +1 -0
  78. package/_internal/components/comment-block/index.ts-58fa051a.js +121 -0
  79. package/_internal/components/comment-block/index.ts-58fa051a.js.map +1 -0
  80. package/_internal/components/comment-block/index.ts-8cfa5af0.d.ts +67 -0
  81. package/_internal/components/date-picker/index.ts-145262d5.js +2 -0
  82. package/_internal/components/date-picker/index.ts-145262d5.js.map +1 -0
  83. package/_internal/components/date-picker/index.ts-70a34fa7.d.ts +95 -0
  84. package/_internal/components/dialog/index.ts-ea044db2.js +224 -0
  85. package/_internal/components/dialog/index.ts-ea044db2.js.map +1 -0
  86. package/_internal/components/dialog/index.ts-eca28654.d.ts +55 -0
  87. package/_internal/components/divider/index.ts-4a56db75.js +55 -0
  88. package/_internal/components/divider/index.ts-4a56db75.js.map +1 -0
  89. package/_internal/components/divider/index.ts-b011d8ca.d.ts +18 -0
  90. package/_internal/components/drag-handle/index.ts-0aebf92f.js +54 -0
  91. package/_internal/components/drag-handle/index.ts-0aebf92f.js.map +1 -0
  92. package/_internal/components/drag-handle/index.ts-3ab31dd1.d.ts +18 -0
  93. package/_internal/components/dropdown/index.ts-2a17db51.js +154 -0
  94. package/_internal/components/dropdown/index.ts-2a17db51.js.map +1 -0
  95. package/_internal/components/dropdown/index.ts-b648a15c.d.ts +87 -0
  96. package/_internal/components/expansion-panel/index.ts-69f09f5b.d.ts +38 -0
  97. package/_internal/components/expansion-panel/index.ts-fae3762e.js +143 -0
  98. package/_internal/components/expansion-panel/index.ts-fae3762e.js.map +1 -0
  99. package/_internal/components/flag/index.ts-8dcd685b.js +56 -0
  100. package/_internal/components/flag/index.ts-8dcd685b.js.map +1 -0
  101. package/_internal/components/flag/index.ts-fda89adb.d.ts +23 -0
  102. package/_internal/components/flex-box/index.ts-87f2b58d.d.ts +43 -0
  103. package/_internal/components/flex-box/index.ts-c216e957.js +60 -0
  104. package/_internal/components/flex-box/index.ts-c216e957.js.map +1 -0
  105. package/_internal/components/generic-block/index.ts-999a62a4.js +115 -0
  106. package/_internal/components/generic-block/index.ts-999a62a4.js.map +1 -0
  107. package/_internal/components/generic-block/index.ts-cd3b0e21.d.ts +106 -0
  108. package/_internal/components/grid/index.ts-67e0694f.d.ts +50 -0
  109. package/_internal/components/grid/index.ts-fdf1b306.js +113 -0
  110. package/_internal/components/grid/index.ts-fdf1b306.js.map +1 -0
  111. package/_internal/components/grid-column/index.ts-97c61cbe.js +64 -0
  112. package/_internal/components/grid-column/index.ts-97c61cbe.js.map +1 -0
  113. package/_internal/components/grid-column/index.ts-c89e1c18.d.ts +31 -0
  114. package/_internal/components/heading/index.ts-0179e9a9.js +112 -0
  115. package/_internal/components/heading/index.ts-0179e9a9.js.map +1 -0
  116. package/_internal/components/heading/index.ts-587579e8.d.ts +37 -0
  117. package/_internal/components/icon/index.ts-740ca1de.js +2 -0
  118. package/_internal/components/icon/index.ts-740ca1de.js.map +1 -0
  119. package/_internal/components/icon/index.ts-b3fa5e15.d.ts +34 -0
  120. package/_internal/components/image-block/index.ts-36b3828f.d.ts +49 -0
  121. package/_internal/components/image-block/index.ts-ef5e2e7d.js +111 -0
  122. package/_internal/components/image-block/index.ts-ef5e2e7d.js.map +1 -0
  123. package/_internal/components/image-lightbox/index.ts-137f85a8.js +765 -0
  124. package/_internal/components/image-lightbox/index.ts-137f85a8.js.map +1 -0
  125. package/_internal/components/image-lightbox/index.ts-2cb92d18.d.ts +75 -0
  126. package/_internal/components/inline-list/index.ts-033dd358.js +76 -0
  127. package/_internal/components/inline-list/index.ts-033dd358.js.map +1 -0
  128. package/_internal/components/inline-list/index.ts-e1c8a3ff.d.ts +34 -0
  129. package/_internal/components/input-helper/index.ts-32a9ca90.d.ts +22 -0
  130. package/_internal/components/input-helper/index.ts-ab3a1ef5.js +75 -0
  131. package/_internal/components/input-helper/index.ts-ab3a1ef5.js.map +1 -0
  132. package/_internal/components/input-label/index.ts-86f2ea41.d.ts +24 -0
  133. package/_internal/components/input-label/index.ts-d6ca5569.js +60 -0
  134. package/_internal/components/input-label/index.ts-d6ca5569.js.map +1 -0
  135. package/_internal/components/lightbox/index.ts-5370e8e6.d.ts +36 -0
  136. package/_internal/components/lightbox/index.ts-7a16cdc7.js +149 -0
  137. package/_internal/components/lightbox/index.ts-7a16cdc7.js.map +1 -0
  138. package/_internal/components/link/index.ts-26435006.d.ts +37 -0
  139. package/_internal/components/link/index.ts-d04f4e53.js +120 -0
  140. package/_internal/components/link/index.ts-d04f4e53.js.map +1 -0
  141. package/_internal/components/link-preview/index.ts-e560a274.d.ts +36 -0
  142. package/_internal/components/link-preview/index.ts-fee89f66.js +109 -0
  143. package/_internal/components/link-preview/index.ts-fee89f66.js.map +1 -0
  144. package/_internal/components/list/index.ts-ab57902e.d.ts +118 -0
  145. package/_internal/components/list/index.ts-f3101625.js +86 -0
  146. package/_internal/components/list/index.ts-f3101625.js.map +1 -0
  147. package/_internal/components/message/index.ts-041cf0cb.js +97 -0
  148. package/_internal/components/message/index.ts-041cf0cb.js.map +1 -0
  149. package/_internal/components/message/index.ts-2d38e0ea.d.ts +37 -0
  150. package/_internal/components/mosaic/index.ts-232d5aed.d.ts +23 -0
  151. package/_internal/components/mosaic/index.ts-d2128cd3.js +94 -0
  152. package/_internal/components/mosaic/index.ts-d2128cd3.js.map +1 -0
  153. package/_internal/components/navigation/index.ts-6d8bea53.d.ts +58 -0
  154. package/_internal/components/navigation/index.ts-e8dc0a7f.js +222 -0
  155. package/_internal/components/navigation/index.ts-e8dc0a7f.js.map +1 -0
  156. package/_internal/components/notification/index.ts-235fd340.js +140 -0
  157. package/_internal/components/notification/index.ts-235fd340.js.map +1 -0
  158. package/_internal/components/notification/index.ts-bb3f03f6.d.ts +34 -0
  159. package/_internal/components/popover/index.ts-2f17a9b6.js +3 -0
  160. package/_internal/components/popover/index.ts-2f17a9b6.js.map +1 -0
  161. package/_internal/components/popover/index.ts-e3b4ff19.d.ts +66 -0
  162. package/_internal/components/post-block/index.ts-0acb9bb4.js +101 -0
  163. package/_internal/components/post-block/index.ts-0acb9bb4.js.map +1 -0
  164. package/_internal/components/post-block/index.ts-9b8ff90b.d.ts +41 -0
  165. package/_internal/components/progress/index.ts-2a713859.js +189 -0
  166. package/_internal/components/progress/index.ts-2a713859.js.map +1 -0
  167. package/_internal/components/progress/index.ts-dfdfa5fb.d.ts +60 -0
  168. package/_internal/components/progress-tracker/index.ts-2649f756.js +312 -0
  169. package/_internal/components/progress-tracker/index.ts-2649f756.js.map +1 -0
  170. package/_internal/components/progress-tracker/index.ts-95320f32.d.ts +101 -0
  171. package/_internal/components/radio-button/index.ts-5eaab4cf.d.ts +54 -0
  172. package/_internal/components/radio-button/index.ts-b4dfb2a0.js +150 -0
  173. package/_internal/components/radio-button/index.ts-b4dfb2a0.js.map +1 -0
  174. package/_internal/components/select/index.ts-a65e3507.d.ts +91 -0
  175. package/_internal/components/select/index.ts-e8fad28b.js +257 -0
  176. package/_internal/components/select/index.ts-e8fad28b.js.map +1 -0
  177. package/_internal/components/side-navigation/index.ts-3f5f3785.d.ts +60 -0
  178. package/_internal/components/side-navigation/index.ts-c9a5fc3e.js +184 -0
  179. package/_internal/components/side-navigation/index.ts-c9a5fc3e.js.map +1 -0
  180. package/_internal/components/skeleton/index.ts-a7daefac.d.ts +75 -0
  181. package/_internal/components/skeleton/index.ts-ffc995af.js +179 -0
  182. package/_internal/components/skeleton/index.ts-ffc995af.js.map +1 -0
  183. package/_internal/components/slider/index.ts-24a0d598.d.ts +52 -0
  184. package/_internal/components/slider/index.ts-72aadf4c.js +308 -0
  185. package/_internal/components/slider/index.ts-72aadf4c.js.map +1 -0
  186. package/_internal/components/slideshow/index.ts-c99f2892.js +151 -0
  187. package/_internal/components/slideshow/index.ts-c99f2892.js.map +1 -0
  188. package/_internal/components/slideshow/index.ts-e49462c6.d.ts +25 -0
  189. package/_internal/components/switch/index.ts-207ba52b.d.ts +34 -0
  190. package/_internal/components/switch/index.ts-542e6eaf.js +115 -0
  191. package/_internal/components/switch/index.ts-542e6eaf.js.map +1 -0
  192. package/_internal/components/table/index.ts-905ce390.js +310 -0
  193. package/_internal/components/table/index.ts-905ce390.js.map +1 -0
  194. package/_internal/components/table/index.ts-c4f39b2d.d.ts +108 -0
  195. package/_internal/components/tabs/index.ts-713119f4.js +289 -0
  196. package/_internal/components/tabs/index.ts-713119f4.js.map +1 -0
  197. package/_internal/components/tabs/index.ts-dbfc48d9.d.ts +106 -0
  198. package/_internal/components/text/index.ts-6afbe8cd.js +2 -0
  199. package/_internal/components/text/index.ts-6afbe8cd.js.map +1 -0
  200. package/_internal/components/text/index.ts-8a812048.d.ts +53 -0
  201. package/_internal/components/text-field/index.ts-92e6b3b3.d.ts +77 -0
  202. package/_internal/components/text-field/index.ts-c3be8563.js +341 -0
  203. package/_internal/components/text-field/index.ts-c3be8563.js.map +1 -0
  204. package/_internal/components/thumbnail/index.ts-16d7b403.js +40 -0
  205. package/_internal/components/thumbnail/index.ts-16d7b403.js.map +1 -0
  206. package/_internal/components/thumbnail/index.ts-1b6c0b48.d.ts +8 -0
  207. package/_internal/components/toolbar/index.ts-813b902e.js +63 -0
  208. package/_internal/components/toolbar/index.ts-813b902e.js.map +1 -0
  209. package/_internal/components/toolbar/index.ts-9f5129d1.d.ts +24 -0
  210. package/_internal/components/tooltip/index.ts-905c847c.js +322 -0
  211. package/_internal/components/tooltip/index.ts-905c847c.js.map +1 -0
  212. package/_internal/components/tooltip/index.ts-c6931e9e.d.ts +35 -0
  213. package/_internal/components/uploader/index.ts-31f21c2a.js +132 -0
  214. package/_internal/components/uploader/index.ts-31f21c2a.js.map +1 -0
  215. package/_internal/components/uploader/index.ts-c3ccba98.d.ts +51 -0
  216. package/_internal/components/user-block/index.ts-18c58e19.d.ts +50 -0
  217. package/_internal/components/user-block/index.ts-d43e5f3c.js +136 -0
  218. package/_internal/components/user-block/index.ts-d43e5f3c.js.map +1 -0
  219. package/_internal/dc3e28c8.d.ts +38 -0
  220. package/_internal/f39a1ba4.js +73 -0
  221. package/_internal/f39a1ba4.js.map +1 -0
  222. package/_internal/f3e77e3e.js +22 -0
  223. package/_internal/f3e77e3e.js.map +1 -0
  224. package/_internal/f502ab30.js +78 -0
  225. package/_internal/f502ab30.js.map +1 -0
  226. package/_internal/f52adbae.js +36 -0
  227. package/_internal/f52adbae.js.map +1 -0
  228. package/_internal/f57e1239.js +205 -0
  229. package/_internal/f57e1239.js.map +1 -0
  230. package/_internal/f5ff1aa4.d.ts +47 -0
  231. package/_internal/fb975afe.js +52 -0
  232. package/_internal/fb975afe.js.map +1 -0
  233. package/index.d.ts +66 -3023
  234. package/index.js +64 -14531
  235. package/index.js.map +1 -1
  236. package/package.json +3 -3
  237. package/src/components/alert-dialog/AlertDialog.tsx +3 -4
  238. package/src/components/autocomplete/Autocomplete.tsx +4 -3
  239. package/src/components/autocomplete/AutocompleteMultiple.tsx +7 -6
  240. package/src/components/avatar/Avatar.tsx +4 -3
  241. package/src/components/badge/Badge.tsx +7 -4
  242. package/src/components/badge/BadgeWrapper.tsx +7 -4
  243. package/src/components/button/Button.tsx +5 -3
  244. package/src/components/button/ButtonGroup.tsx +4 -3
  245. package/src/components/button/ButtonRoot.tsx +4 -3
  246. package/src/components/button/IconButton.tsx +3 -3
  247. package/src/components/checkbox/Checkbox.tsx +4 -3
  248. package/src/components/chip/Chip.tsx +8 -9
  249. package/src/components/chip/ChipGroup.tsx +5 -4
  250. package/src/components/comment-block/CommentBlock.tsx +4 -4
  251. package/src/components/date-picker/DatePicker.tsx +5 -3
  252. package/src/components/date-picker/DatePickerControlled.tsx +6 -3
  253. package/src/components/date-picker/DatePickerField.tsx +4 -3
  254. package/src/components/dialog/Dialog.tsx +4 -3
  255. package/src/components/divider/Divider.tsx +4 -3
  256. package/src/components/drag-handle/DragHandle.test.tsx +1 -1
  257. package/src/components/drag-handle/DragHandle.tsx +4 -3
  258. package/src/components/dropdown/Dropdown.tsx +4 -3
  259. package/src/components/expansion-panel/ExpansionPanel.tsx +4 -3
  260. package/src/components/flag/Flag.tsx +5 -3
  261. package/src/components/flex-box/FlexBox.tsx +8 -5
  262. package/src/components/generic-block/GenericBlock.tsx +4 -1
  263. package/src/components/grid/Grid.tsx +4 -3
  264. package/src/components/grid/GridItem.tsx +4 -3
  265. package/src/components/grid-column/GridColumn.tsx +5 -5
  266. package/src/components/heading/Heading.tsx +8 -4
  267. package/src/components/icon/Icon.tsx +5 -4
  268. package/src/components/image-block/ImageBlock.tsx +4 -3
  269. package/src/components/image-lightbox/ImageLightbox.tsx +4 -3
  270. package/src/components/inline-list/InlineList.tsx +4 -3
  271. package/src/components/input-helper/InputHelper.tsx +7 -4
  272. package/src/components/input-label/InputLabel.tsx +7 -4
  273. package/src/components/lightbox/Lightbox.tsx +4 -3
  274. package/src/components/link/Link.tsx +4 -3
  275. package/src/components/link-preview/LinkPreview.tsx +4 -3
  276. package/src/components/list/List.tsx +7 -5
  277. package/src/components/list/ListDivider.tsx +4 -3
  278. package/src/components/list/ListItem.tsx +4 -3
  279. package/src/components/list/ListSubheader.tsx +4 -3
  280. package/src/components/message/Message.tsx +7 -4
  281. package/src/components/mosaic/Mosaic.tsx +7 -5
  282. package/src/components/navigation/NavigationItem.tsx +1 -1
  283. package/src/components/navigation/NavigationSection.test.tsx +19 -6
  284. package/src/components/notification/Notification.tsx +4 -6
  285. package/src/components/popover/Popover.tsx +3 -2
  286. package/src/components/popover-dialog/PopoverDialog.tsx +5 -3
  287. package/src/components/post-block/PostBlock.tsx +4 -6
  288. package/src/components/progress/Progress.tsx +5 -4
  289. package/src/components/progress/ProgressCircular.tsx +4 -4
  290. package/src/components/progress/ProgressLinear.tsx +4 -4
  291. package/src/components/progress-tracker/ProgressTracker.tsx +5 -3
  292. package/src/components/progress-tracker/ProgressTrackerStep.tsx +5 -5
  293. package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +24 -24
  294. package/src/components/radio-button/RadioButton.tsx +4 -4
  295. package/src/components/radio-button/RadioGroup.tsx +4 -3
  296. package/src/components/select/Select.tsx +3 -5
  297. package/src/components/select/SelectMultiple.tsx +3 -5
  298. package/src/components/side-navigation/SideNavigation.tsx +4 -4
  299. package/src/components/side-navigation/SideNavigationItem.tsx +4 -5
  300. package/src/components/skeleton/SkeletonCircle.tsx +5 -3
  301. package/src/components/skeleton/SkeletonRectangle.tsx +5 -3
  302. package/src/components/skeleton/SkeletonTypography.tsx +5 -3
  303. package/src/components/slider/Slider.tsx +4 -5
  304. package/src/components/slideshow/Slides.tsx +6 -4
  305. package/src/components/slideshow/Slideshow.tsx +5 -3
  306. package/src/components/slideshow/SlideshowControls.tsx +4 -3
  307. package/src/components/slideshow/SlideshowItem.tsx +4 -3
  308. package/src/components/slideshow/SlideshowItemGroup.tsx +5 -4
  309. package/src/components/switch/Switch.tsx +4 -5
  310. package/src/components/table/Table.tsx +4 -4
  311. package/src/components/table/TableBody.tsx +4 -3
  312. package/src/components/table/TableCell.tsx +5 -5
  313. package/src/components/table/TableHeader.tsx +4 -3
  314. package/src/components/table/TableRow.tsx +4 -3
  315. package/src/components/tabs/Tab.tsx +4 -3
  316. package/src/components/tabs/TabList.tsx +8 -5
  317. package/src/components/tabs/TabPanel.tsx +7 -5
  318. package/src/components/text/Text.tsx +6 -4
  319. package/src/components/text-field/TextField.tsx +4 -3
  320. package/src/components/thumbnail/Thumbnail.tsx +5 -5
  321. package/src/components/toolbar/Toolbar.tsx +4 -3
  322. package/src/components/tooltip/Tooltip.tsx +4 -3
  323. package/src/components/uploader/Uploader.tsx +5 -3
  324. package/src/components/user-block/UserBlock.tsx +6 -4
  325. package/src/testing/utils/commonTestsSuiteRTL.tsx +2 -1
  326. package/src/utils/react/forwardRef.ts +10 -0
  327. package/src/utils/react/forwardRefPolymorphic.ts +10 -0
  328. package/utils/index.d.ts +1 -1
  329. package/src/utils/forwardRefPolymorphic.ts +0 -9
@@ -0,0 +1,112 @@
1
+ import { e as Typography, h as getRootClassName, i as forwardRef, j as _objectWithoutProperties, _ as _extends, g as classNames } from '../../1da25128.js';
2
+ import React__default, { createContext } from 'react';
3
+ import { h as handleBasicClasses } from '../../f57e1239.js';
4
+ import { T as Text } from '../../53c94227.js';
5
+
6
+ /** The maximum authorized heading level. */
7
+ const MAX_HEADING_LEVEL = 6;
8
+
9
+ /**
10
+ * Typography to use by default depending on the heading level.
11
+ */
12
+ const DEFAULT_TYPOGRAPHY_BY_LEVEL = {
13
+ h1: Typography.display1,
14
+ h2: Typography.headline,
15
+ h3: Typography.title,
16
+ h4: Typography.subtitle2,
17
+ h5: Typography.subtitle1,
18
+ h6: Typography.body2
19
+ };
20
+
21
+ const defaultContext = {
22
+ level: 1,
23
+ headingElement: 'h1'
24
+ };
25
+ const HeadingLevelContext = /*#__PURE__*/createContext(defaultContext);
26
+
27
+ const useHeadingLevel = () => {
28
+ const {
29
+ level = 1,
30
+ headingElement = 'h1'
31
+ } = React__default.useContext(HeadingLevelContext);
32
+ return {
33
+ level,
34
+ headingElement
35
+ };
36
+ };
37
+
38
+ const _excluded = ["children", "as", "className"];
39
+
40
+ /**
41
+ * Defines the props of the component.
42
+ */
43
+
44
+ /**
45
+ * Component display name.
46
+ */
47
+ const COMPONENT_NAME = 'Heading';
48
+
49
+ /**
50
+ * Component default class name and class prefix.
51
+ */
52
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
53
+
54
+ /**
55
+ * Component default props.
56
+ */
57
+ const DEFAULT_PROPS = {};
58
+
59
+ /**
60
+ * Renders a heading component.
61
+ * Extends the `Text` Component with the heading level automatically computed based on
62
+ * the current level provided by the context.
63
+ */
64
+ const Heading = forwardRef((props, ref) => {
65
+ const {
66
+ children,
67
+ as,
68
+ className
69
+ } = props,
70
+ forwardedProps = _objectWithoutProperties(props, _excluded);
71
+ const {
72
+ headingElement
73
+ } = useHeadingLevel();
74
+ const computedHeadingElement = as || headingElement;
75
+ return /*#__PURE__*/React__default.createElement(Text, _extends({
76
+ ref: ref,
77
+ className: classNames(className, handleBasicClasses({
78
+ prefix: CLASSNAME
79
+ })),
80
+ as: computedHeadingElement,
81
+ typography: DEFAULT_TYPOGRAPHY_BY_LEVEL[computedHeadingElement]
82
+ }, forwardedProps), children);
83
+ });
84
+ Heading.displayName = COMPONENT_NAME;
85
+ Heading.className = CLASSNAME;
86
+ Heading.defaultProps = DEFAULT_PROPS;
87
+
88
+ /**
89
+ * Provide a new heading level context.
90
+ */
91
+ const HeadingLevelProvider = _ref => {
92
+ let {
93
+ children,
94
+ level
95
+ } = _ref;
96
+ const {
97
+ level: contextLevel
98
+ } = useHeadingLevel();
99
+ const incrementedLevel = level || contextLevel + 1;
100
+ /** Don't allow a level beyond the maximum level. */
101
+ const nextLevel = incrementedLevel > MAX_HEADING_LEVEL ? MAX_HEADING_LEVEL : incrementedLevel;
102
+ const headingElement = `h${nextLevel}`;
103
+ return /*#__PURE__*/React__default.createElement(HeadingLevelContext.Provider, {
104
+ value: {
105
+ level: nextLevel,
106
+ headingElement
107
+ }
108
+ }, children);
109
+ };
110
+
111
+ export { Heading, HeadingLevelProvider, useHeadingLevel };
112
+ //# sourceMappingURL=index.ts-0179e9a9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.ts-0179e9a9.js","sources":["../../../../src/components/heading/constants.ts","../../../../src/components/heading/context.tsx","../../../../src/components/heading/useHeadingLevel.tsx","../../../../src/components/heading/Heading.tsx","../../../../src/components/heading/HeadingLevelProvider.tsx"],"sourcesContent":["import { Typography } from '..';\n\n/** The maximum authorized heading level. */\nexport const MAX_HEADING_LEVEL = 6;\n\n/**\n * Typography to use by default depending on the heading level.\n */\nexport const DEFAULT_TYPOGRAPHY_BY_LEVEL = {\n h1: Typography.display1,\n h2: Typography.headline,\n h3: Typography.title,\n h4: Typography.subtitle2,\n h5: Typography.subtitle1,\n h6: Typography.body2,\n};\n","import { HeadingElement } from '@lumx/react/utils/type';\nimport { createContext } from 'react';\n\ninterface HeadingLevelContext {\n /** The current level */\n level: number;\n /** The heading element matching the current level */\n headingElement: HeadingElement;\n}\n\nconst defaultContext: HeadingLevelContext = { level: 1, headingElement: 'h1' };\n\nexport const HeadingLevelContext = createContext<HeadingLevelContext>(defaultContext);\n","import React from 'react';\nimport { HeadingLevelContext } from './context';\n\nexport const useHeadingLevel = () => {\n const { level = 1, headingElement = 'h1' } = React.useContext(HeadingLevelContext);\n\n return { level, headingElement };\n};\n","import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { HeadingElement } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { Text, TextProps } from '../text';\nimport { DEFAULT_TYPOGRAPHY_BY_LEVEL } from './constants';\nimport { useHeadingLevel } from './useHeadingLevel';\n\n/**\n * Defines the props of the component.\n */\nexport interface HeadingProps extends Partial<TextProps> {\n /**\n * Display a specific heading level instead of the one provided by parent context provider.\n */\n as?: HeadingElement;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Heading';\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 = {} as const;\n\n/**\n * Renders a heading component.\n * Extends the `Text` Component with the heading level automatically computed based on\n * the current level provided by the context.\n */\nexport const Heading = forwardRef<HeadingProps>((props, ref) => {\n const { children, as, className, ...forwardedProps } = props;\n const { headingElement } = useHeadingLevel();\n\n const computedHeadingElement = as || headingElement;\n return (\n <Text\n ref={ref}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n }),\n )}\n as={computedHeadingElement}\n typography={DEFAULT_TYPOGRAPHY_BY_LEVEL[computedHeadingElement]}\n {...forwardedProps}\n >\n {children}\n </Text>\n );\n});\n\nHeading.displayName = COMPONENT_NAME;\nHeading.className = CLASSNAME;\nHeading.defaultProps = DEFAULT_PROPS;\n","import { HeadingElement } from '@lumx/react/utils/type';\nimport React, { ReactNode } from 'react';\nimport { MAX_HEADING_LEVEL } from './constants';\nimport { HeadingLevelContext } from './context';\nimport { useHeadingLevel } from './useHeadingLevel';\n\nexport interface HeadingLevelProviderProps {\n /** The heading level to start at. If left undefined, the parent context will be used, if any. */\n level?: number;\n /** The children to display */\n children: ReactNode;\n}\n\n/**\n * Provide a new heading level context.\n */\nexport const HeadingLevelProvider: React.FC<HeadingLevelProviderProps> = ({ children, level }) => {\n const { level: contextLevel } = useHeadingLevel();\n\n const incrementedLevel = level || contextLevel + 1;\n /** Don't allow a level beyond the maximum level. */\n const nextLevel = incrementedLevel > MAX_HEADING_LEVEL ? MAX_HEADING_LEVEL : incrementedLevel;\n const headingElement = `h${nextLevel}` as HeadingElement;\n\n return (\n <HeadingLevelContext.Provider value={{ level: nextLevel, headingElement }}>\n {children}\n </HeadingLevelContext.Provider>\n );\n};\n"],"names":["MAX_HEADING_LEVEL","DEFAULT_TYPOGRAPHY_BY_LEVEL","h1","Typography","display1","h2","headline","h3","title","h4","subtitle2","h5","subtitle1","h6","body2","defaultContext","level","headingElement","HeadingLevelContext","createContext","useHeadingLevel","React","useContext","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","Heading","forwardRef","props","ref","children","as","className","forwardedProps","_objectWithoutProperties","_excluded","computedHeadingElement","createElement","Text","_extends","classNames","handleBasicClasses","prefix","typography","displayName","defaultProps","HeadingLevelProvider","_ref","contextLevel","incrementedLevel","nextLevel","Provider","value"],"mappings":";;;;;AAEA;AACO,MAAMA,iBAAiB,GAAG,CAAC,CAAA;;AAElC;AACA;AACA;AACO,MAAMC,2BAA2B,GAAG;EACvCC,EAAE,EAAEC,UAAU,CAACC,QAAQ;EACvBC,EAAE,EAAEF,UAAU,CAACG,QAAQ;EACvBC,EAAE,EAAEJ,UAAU,CAACK,KAAK;EACpBC,EAAE,EAAEN,UAAU,CAACO,SAAS;EACxBC,EAAE,EAAER,UAAU,CAACS,SAAS;EACxBC,EAAE,EAAEV,UAAU,CAACW,KAAAA;AACnB,CAAC;;ACLD,MAAMC,cAAmC,GAAG;AAAEC,EAAAA,KAAK,EAAE,CAAC;AAAEC,EAAAA,cAAc,EAAE,IAAA;AAAK,CAAC,CAAA;AAEvE,MAAMC,mBAAmB,gBAAGC,aAAa,CAAsBJ,cAAc,CAAC;;ACTxEK,MAAAA,eAAe,GAAGA,MAAM;EACjC,MAAM;AAAEJ,IAAAA,KAAK,GAAG,CAAC;AAAEC,IAAAA,cAAc,GAAG,IAAA;AAAK,GAAC,GAAGI,cAAK,CAACC,UAAU,CAACJ,mBAAmB,CAAC,CAAA;EAElF,OAAO;IAAEF,KAAK;AAAEC,IAAAA,cAAAA;GAAgB,CAAA;AACpC;;;;ACKA;AACA;AACA;;AAQA;AACA;AACA;AACA,MAAMM,cAAc,GAAG,SAAS,CAAA;;AAEhC;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA,MAAMG,aAAa,GAAG,EAAW,CAAA;;AAEjC;AACA;AACA;AACA;AACA;AACO,MAAMC,OAAO,GAAGC,UAAU,CAAe,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC5D,MAAM;MAAEC,QAAQ;MAAEC,EAAE;AAAEC,MAAAA,SAAAA;AAA6B,KAAC,GAAGJ,KAAK;AAAxBK,IAAAA,cAAc,GAAAC,wBAAA,CAAKN,KAAK,EAAAO,SAAA,CAAA,CAAA;EAC5D,MAAM;AAAEnB,IAAAA,cAAAA;GAAgB,GAAGG,eAAe,EAAE,CAAA;AAE5C,EAAA,MAAMiB,sBAAsB,GAAGL,EAAE,IAAIf,cAAc,CAAA;AACnD,EAAA,oBACII,cAAA,CAAAiB,aAAA,CAACC,IAAI,EAAAC,QAAA,CAAA;AACDV,IAAAA,GAAG,EAAEA,GAAI;AACTG,IAAAA,SAAS,EAAEQ,UAAU,CACjBR,SAAS,EACTS,kBAAkB,CAAC;AACfC,MAAAA,MAAM,EAAEnB,SAAAA;AACZ,KAAC,CACL,CAAE;AACFQ,IAAAA,EAAE,EAAEK,sBAAuB;IAC3BO,UAAU,EAAE3C,2BAA2B,CAACoC,sBAAsB,CAAA;GAC1DH,EAAAA,cAAc,CAEjBH,EAAAA,QACC,CAAC,CAAA;AAEf,CAAC,EAAC;AAEFJ,OAAO,CAACkB,WAAW,GAAGtB,cAAc,CAAA;AACpCI,OAAO,CAACM,SAAS,GAAGT,SAAS,CAAA;AAC7BG,OAAO,CAACmB,YAAY,GAAGpB,aAAa;;ACtDpC;AACA;AACA;AACaqB,MAAAA,oBAAyD,GAAGC,IAAA,IAAyB;EAAA,IAAxB;IAAEjB,QAAQ;AAAEf,IAAAA,KAAAA;AAAM,GAAC,GAAAgC,IAAA,CAAA;EACzF,MAAM;AAAEhC,IAAAA,KAAK,EAAEiC,YAAAA;GAAc,GAAG7B,eAAe,EAAE,CAAA;AAEjD,EAAA,MAAM8B,gBAAgB,GAAGlC,KAAK,IAAIiC,YAAY,GAAG,CAAC,CAAA;AAClD;EACA,MAAME,SAAS,GAAGD,gBAAgB,GAAGlD,iBAAiB,GAAGA,iBAAiB,GAAGkD,gBAAgB,CAAA;AAC7F,EAAA,MAAMjC,cAAc,GAAI,CAAGkC,CAAAA,EAAAA,SAAU,CAAmB,CAAA,CAAA;AAExD,EAAA,oBACI9B,cAAA,CAAAiB,aAAA,CAACpB,mBAAmB,CAACkC,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAE;AAAErC,MAAAA,KAAK,EAAEmC,SAAS;AAAElC,MAAAA,cAAAA;AAAe,KAAA;AAAE,GAAA,EACrEc,QACyB,CAAC,CAAA;AAEvC;;;;"}
@@ -0,0 +1,37 @@
1
+ import { m as HeadingElement, C as Comp } from '../../8d67e1e3.js';
2
+ import { TextProps } from '../text/index.ts-8a812048.js';
3
+ import React, { ReactNode } from 'react';
4
+
5
+ /**
6
+ * Defines the props of the component.
7
+ */
8
+ interface HeadingProps extends Partial<TextProps> {
9
+ /**
10
+ * Display a specific heading level instead of the one provided by parent context provider.
11
+ */
12
+ as?: HeadingElement;
13
+ }
14
+ /**
15
+ * Renders a heading component.
16
+ * Extends the `Text` Component with the heading level automatically computed based on
17
+ * the current level provided by the context.
18
+ */
19
+ declare const Heading: Comp<HeadingProps, HTMLElement>;
20
+
21
+ interface HeadingLevelProviderProps {
22
+ /** The heading level to start at. If left undefined, the parent context will be used, if any. */
23
+ level?: number;
24
+ /** The children to display */
25
+ children: ReactNode;
26
+ }
27
+ /**
28
+ * Provide a new heading level context.
29
+ */
30
+ declare const HeadingLevelProvider: React.FC<HeadingLevelProviderProps>;
31
+
32
+ declare const useHeadingLevel: () => {
33
+ level: number;
34
+ headingElement: HeadingElement;
35
+ };
36
+
37
+ export { Heading, HeadingLevelProvider, type HeadingLevelProviderProps, type HeadingProps, useHeadingLevel };
@@ -0,0 +1,2 @@
1
+ export { I as Icon } from '../../c6c99f76.js';
2
+ //# sourceMappingURL=index.ts-740ca1de.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.ts-740ca1de.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import { S as Size, G as GenericProps, H as HasTheme, a as ColorPalette, f as ColorVariant, C as Comp } from '../../8d67e1e3.js';
2
+ import 'react';
3
+
4
+ type IconSizes = Extract<Size, 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'>;
5
+ /**
6
+ * Defines the props of the component.
7
+ */
8
+ interface IconProps extends GenericProps, HasTheme {
9
+ /** Color variant. */
10
+ color?: ColorPalette;
11
+ /** Lightened or darkened variant of the selected icon color. */
12
+ colorVariant?: ColorVariant;
13
+ /** Whether the icon has a shape. */
14
+ hasShape?: boolean;
15
+ /**
16
+ * Icon (SVG path) draw code (`d` property of the `<path>` SVG element).
17
+ * See https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
18
+ */
19
+ icon: string;
20
+ /** Size variant. */
21
+ size?: IconSizes;
22
+ /** Sets an alternative text on the svg. Will set an `img` role to the svg. */
23
+ alt?: string;
24
+ }
25
+ /**
26
+ * Icon component.
27
+ *
28
+ * @param props Component props.
29
+ * @param ref Component ref.
30
+ * @return React element.
31
+ */
32
+ declare const Icon: Comp<IconProps, HTMLElement>;
33
+
34
+ export { Icon, type IconProps, type IconSizes };
@@ -0,0 +1,49 @@
1
+ import { V as ValueOf, S as Size, G as GenericProps, H as HasTheme, d as HorizontalAlignment, C as Comp } from '../../8d67e1e3.js';
2
+ import { ReactNode } from 'react';
3
+ import { T as ThumbnailProps } from '../../35f100be.js';
4
+ import { I as ImageCaptionMetadata } from '../../6cc8dca8.js';
5
+ import '../text/index.ts-8a812048.js';
6
+
7
+ /**
8
+ * Image block variants.
9
+ */
10
+ declare const ImageBlockCaptionPosition: {
11
+ readonly below: "below";
12
+ readonly over: "over";
13
+ };
14
+ type ImageBlockCaptionPosition = ValueOf<typeof ImageBlockCaptionPosition>;
15
+ /**
16
+ * Image block sizes.
17
+ */
18
+ type ImageBlockSize = Extract<Size, 'xl' | 'xxl'>;
19
+ /**
20
+ * Defines the props of the component.
21
+ */
22
+ interface ImageBlockProps extends GenericProps, HasTheme, ImageCaptionMetadata {
23
+ /** Action toolbar content. */
24
+ actions?: ReactNode;
25
+ /** Alignment. */
26
+ align?: HorizontalAlignment;
27
+ /** Image alternative text. */
28
+ alt: string;
29
+ /** Caption position. */
30
+ captionPosition?: ImageBlockCaptionPosition;
31
+ /** Whether the image has to fill its container height or not. */
32
+ fillHeight?: boolean;
33
+ /** Image URL. */
34
+ image: string;
35
+ /** Size variant. */
36
+ size?: ImageBlockSize;
37
+ /** Props to pass to the thumbnail (minus those already set by the ImageBlock props). */
38
+ thumbnailProps?: Omit<ThumbnailProps, 'image' | 'size' | 'theme' | 'align' | 'fillHeight'>;
39
+ }
40
+ /**
41
+ * ImageBlock component.
42
+ *
43
+ * @param props Component props.
44
+ * @param ref Component ref.
45
+ * @return React element.
46
+ */
47
+ declare const ImageBlock: Comp<ImageBlockProps, HTMLDivElement>;
48
+
49
+ export { ImageBlock, ImageBlockCaptionPosition, type ImageBlockProps, type ImageBlockSize };
@@ -0,0 +1,111 @@
1
+ import { h as getRootClassName, A as Alignment, i as forwardRef, T as Theme, j as _objectWithoutProperties, _ as _extends, g as classNames } from '../../1da25128.js';
2
+ import React__default from 'react';
3
+ import { u as useTheme } from '../../3181f000.js';
4
+ import { I as ImageCaption } from '../../524b1d04.js';
5
+ import { h as handleBasicClasses } from '../../f57e1239.js';
6
+ import { T as Thumbnail } from '../../4c28d012.js';
7
+
8
+ const _excluded = ["actions", "align", "alt", "captionPosition", "captionStyle", "className", "description", "descriptionProps", "fillHeight", "image", "size", "tags", "theme", "thumbnailProps", "title", "titleProps"];
9
+
10
+ /**
11
+ * Image block variants.
12
+ */
13
+ const ImageBlockCaptionPosition = {
14
+ below: 'below',
15
+ over: 'over'
16
+ };
17
+
18
+ /**
19
+ * Image block sizes.
20
+ */
21
+
22
+ /**
23
+ * Defines the props of the component.
24
+ */
25
+
26
+ /**
27
+ * Component display name.
28
+ */
29
+ const COMPONENT_NAME = 'ImageBlock';
30
+
31
+ /**
32
+ * Component default class name and class prefix.
33
+ */
34
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
35
+
36
+ /**
37
+ * Component default props.
38
+ */
39
+ const DEFAULT_PROPS = {
40
+ captionPosition: ImageBlockCaptionPosition.below,
41
+ align: Alignment.left
42
+ };
43
+
44
+ /**
45
+ * ImageBlock component.
46
+ *
47
+ * @param props Component props.
48
+ * @param ref Component ref.
49
+ * @return React element.
50
+ */
51
+ const ImageBlock = forwardRef((props, ref) => {
52
+ const defaultTheme = useTheme() || Theme.light;
53
+ const {
54
+ actions,
55
+ align,
56
+ alt,
57
+ captionPosition,
58
+ captionStyle,
59
+ className,
60
+ description,
61
+ descriptionProps,
62
+ fillHeight,
63
+ image,
64
+ size,
65
+ tags,
66
+ theme = defaultTheme,
67
+ thumbnailProps,
68
+ title,
69
+ titleProps
70
+ } = props,
71
+ forwardedProps = _objectWithoutProperties(props, _excluded);
72
+ return /*#__PURE__*/React__default.createElement("figure", _extends({
73
+ ref: ref
74
+ }, forwardedProps, {
75
+ className: classNames(className, handleBasicClasses({
76
+ prefix: CLASSNAME,
77
+ captionPosition,
78
+ align,
79
+ size,
80
+ theme
81
+ }), fillHeight && `${CLASSNAME}--fill-height`)
82
+ }), /*#__PURE__*/React__default.createElement(Thumbnail, _extends({}, thumbnailProps, {
83
+ className: classNames(`${CLASSNAME}__image`, thumbnailProps === null || thumbnailProps === void 0 ? void 0 : thumbnailProps.className),
84
+ fillHeight: fillHeight,
85
+ align: align,
86
+ image: image,
87
+ size: size,
88
+ theme: theme,
89
+ alt: alt || title
90
+ })), /*#__PURE__*/React__default.createElement(ImageCaption, {
91
+ as: "figcaption",
92
+ baseClassName: CLASSNAME,
93
+ theme: theme,
94
+ title: title,
95
+ titleProps: titleProps,
96
+ description: description,
97
+ descriptionProps: descriptionProps,
98
+ tags: tags,
99
+ captionStyle: captionStyle,
100
+ align: align,
101
+ truncate: captionPosition === 'over'
102
+ }), actions && /*#__PURE__*/React__default.createElement("div", {
103
+ className: `${CLASSNAME}__actions`
104
+ }, actions));
105
+ });
106
+ ImageBlock.displayName = COMPONENT_NAME;
107
+ ImageBlock.className = CLASSNAME;
108
+ ImageBlock.defaultProps = DEFAULT_PROPS;
109
+
110
+ export { ImageBlock, ImageBlockCaptionPosition };
111
+ //# sourceMappingURL=index.ts-ef5e2e7d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.ts-ef5e2e7d.js","sources":["../../../../src/components/image-block/ImageBlock.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Alignment, HorizontalAlignment, Size, Theme, Thumbnail } from '@lumx/react';\n\nimport { GenericProps, HasTheme, ValueOf } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { ThumbnailProps } from '../thumbnail/Thumbnail';\nimport { ImageCaption, ImageCaptionMetadata } from './ImageCaption';\n\n/**\n * Image block variants.\n */\nexport const ImageBlockCaptionPosition = {\n below: 'below',\n over: 'over',\n} as const;\nexport type ImageBlockCaptionPosition = ValueOf<typeof ImageBlockCaptionPosition>;\n\n/**\n * Image block sizes.\n */\nexport type ImageBlockSize = Extract<Size, 'xl' | 'xxl'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface ImageBlockProps extends GenericProps, HasTheme, ImageCaptionMetadata {\n /** Action toolbar content. */\n actions?: ReactNode;\n /** Alignment. */\n align?: HorizontalAlignment;\n /** Image alternative text. */\n alt: string;\n /** Caption position. */\n captionPosition?: ImageBlockCaptionPosition;\n /** Whether the image has to fill its container height or not. */\n fillHeight?: boolean;\n /** Image URL. */\n image: string;\n /** Size variant. */\n size?: ImageBlockSize;\n /** Props to pass to the thumbnail (minus those already set by the ImageBlock props). */\n thumbnailProps?: Omit<ThumbnailProps, 'image' | 'size' | 'theme' | 'align' | 'fillHeight'>;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ImageBlock';\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<ImageBlockProps> = {\n captionPosition: ImageBlockCaptionPosition.below,\n align: Alignment.left,\n};\n\n/**\n * ImageBlock component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ImageBlock = forwardRef<ImageBlockProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n actions,\n align,\n alt,\n captionPosition,\n captionStyle,\n className,\n description,\n descriptionProps,\n fillHeight,\n image,\n size,\n tags,\n theme = defaultTheme,\n thumbnailProps,\n title,\n titleProps,\n ...forwardedProps\n } = props;\n return (\n <figure\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n captionPosition,\n align,\n size,\n theme,\n }),\n fillHeight && `${CLASSNAME}--fill-height`,\n )}\n >\n <Thumbnail\n {...thumbnailProps}\n className={classNames(`${CLASSNAME}__image`, thumbnailProps?.className)}\n fillHeight={fillHeight}\n align={align}\n image={image}\n size={size}\n theme={theme}\n alt={(alt || title) as string}\n />\n <ImageCaption\n as=\"figcaption\"\n baseClassName={CLASSNAME}\n theme={theme}\n title={title}\n titleProps={titleProps}\n description={description}\n descriptionProps={descriptionProps}\n tags={tags}\n captionStyle={captionStyle}\n align={align}\n truncate={captionPosition === 'over'}\n />\n {actions && <div className={`${CLASSNAME}__actions`}>{actions}</div>}\n </figure>\n );\n});\nImageBlock.displayName = COMPONENT_NAME;\nImageBlock.className = CLASSNAME;\nImageBlock.defaultProps = DEFAULT_PROPS;\n"],"names":["ImageBlockCaptionPosition","below","over","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","captionPosition","align","Alignment","left","ImageBlock","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","actions","alt","captionStyle","className","description","descriptionProps","fillHeight","image","size","tags","theme","thumbnailProps","title","titleProps","forwardedProps","_objectWithoutProperties","_excluded","React","createElement","_extends","classNames","handleBasicClasses","prefix","Thumbnail","ImageCaption","as","baseClassName","truncate","displayName","defaultProps"],"mappings":";;;;;;;;;AAcA;AACA;AACA;AACO,MAAMA,yBAAyB,GAAG;AACrCC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,IAAI,EAAE,MAAA;AACV,EAAU;;AAGV;AACA;AACA;;AAGA;AACA;AACA;;AAoBA;AACA;AACA;AACA,MAAMC,cAAc,GAAG,YAAY,CAAA;;AAEnC;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA,MAAMG,aAAuC,GAAG;EAC5CC,eAAe,EAAEP,yBAAyB,CAACC,KAAK;EAChDO,KAAK,EAAEC,SAAS,CAACC,IAAAA;AACrB,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,UAAU,GAAGC,UAAU,CAAkC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAClF,MAAMC,YAAY,GAAGC,QAAQ,EAAE,IAAIC,KAAK,CAACC,KAAK,CAAA;EAC9C,MAAM;MACFC,OAAO;MACPX,KAAK;MACLY,GAAG;MACHb,eAAe;MACfc,YAAY;MACZC,SAAS;MACTC,WAAW;MACXC,gBAAgB;MAChBC,UAAU;MACVC,KAAK;MACLC,IAAI;MACJC,IAAI;AACJC,MAAAA,KAAK,GAAGd,YAAY;MACpBe,cAAc;MACdC,KAAK;AACLC,MAAAA,UAAAA;AAEJ,KAAC,GAAGnB,KAAK;AADFoB,IAAAA,cAAc,GAAAC,wBAAA,CACjBrB,KAAK,EAAAsB,SAAA,CAAA,CAAA;AACT,EAAA,oBACIC,cAAA,CAAAC,aAAA,CAAA,QAAA,EAAAC,QAAA,CAAA;AACIxB,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAA,EACLmB,cAAc,EAAA;AAClBX,IAAAA,SAAS,EAAEiB,UAAU,CACjBjB,SAAS,EACTkB,kBAAkB,CAAC;AACfC,MAAAA,MAAM,EAAErC,SAAS;MACjBG,eAAe;MACfC,KAAK;MACLmB,IAAI;AACJE,MAAAA,KAAAA;AACJ,KAAC,CAAC,EACFJ,UAAU,IAAK,CAAA,EAAErB,SAAU,CAC/B,aAAA,CAAA,CAAA;GAEAgC,CAAAA,eAAAA,cAAA,CAAAC,aAAA,CAACK,SAAS,EAAAJ,QAAA,KACFR,cAAc,EAAA;AAClBR,IAAAA,SAAS,EAAEiB,UAAU,CAAE,CAAA,EAAEnC,SAAU,CAAQ,OAAA,CAAA,EAAE0B,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAER,SAAS,CAAE;AACxEG,IAAAA,UAAU,EAAEA,UAAW;AACvBjB,IAAAA,KAAK,EAAEA,KAAM;AACbkB,IAAAA,KAAK,EAAEA,KAAM;AACbC,IAAAA,IAAI,EAAEA,IAAK;AACXE,IAAAA,KAAK,EAAEA,KAAM;IACbT,GAAG,EAAGA,GAAG,IAAIW,KAAAA;AAAiB,GAAA,CACjC,CAAC,eACFK,cAAA,CAAAC,aAAA,CAACM,YAAY,EAAA;AACTC,IAAAA,EAAE,EAAC,YAAY;AACfC,IAAAA,aAAa,EAAEzC,SAAU;AACzByB,IAAAA,KAAK,EAAEA,KAAM;AACbE,IAAAA,KAAK,EAAEA,KAAM;AACbC,IAAAA,UAAU,EAAEA,UAAW;AACvBT,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCI,IAAAA,IAAI,EAAEA,IAAK;AACXP,IAAAA,YAAY,EAAEA,YAAa;AAC3Bb,IAAAA,KAAK,EAAEA,KAAM;IACbsC,QAAQ,EAAEvC,eAAe,KAAK,MAAA;AAAO,GACxC,CAAC,EACDY,OAAO,iBAAIiB,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKf,SAAS,EAAG,GAAElB,SAAU,CAAA,SAAA,CAAA;GAAae,EAAAA,OAAa,CAC/D,CAAC,CAAA;AAEjB,CAAC,EAAC;AACFR,UAAU,CAACoC,WAAW,GAAG5C,cAAc,CAAA;AACvCQ,UAAU,CAACW,SAAS,GAAGlB,SAAS,CAAA;AAChCO,UAAU,CAACqC,YAAY,GAAG1C,aAAa;;;;"}