@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
@@ -1,15 +1,16 @@
1
- import React, { forwardRef, RefObject, useCallback, useMemo } from 'react';
1
+ import React, { RefObject, useCallback, useMemo } from 'react';
2
2
 
3
3
  import classNames from 'classnames';
4
4
  import range from 'lodash/range';
5
5
 
6
6
  import { mdiChevronLeft, mdiChevronRight, mdiPlayCircleOutline, mdiPauseCircleOutline } from '@lumx/icons';
7
7
  import { Emphasis, IconButton, IconButtonProps, Theme } from '@lumx/react';
8
- import { Comp, GenericProps, HasTheme } from '@lumx/react/utils/type';
8
+ import { GenericProps, HasTheme } from '@lumx/react/utils/type';
9
9
  import { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';
10
10
  import { WINDOW } from '@lumx/react/constants';
11
11
  import { useSlideshowControls, DEFAULT_OPTIONS } from '@lumx/react/hooks/useSlideshowControls';
12
12
  import { useRovingTabIndex } from '@lumx/react/hooks/useRovingTabIndex';
13
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
13
14
 
14
15
  import { useTheme } from '@lumx/react/utils/theme/ThemeContext';
15
16
  import { useSwipeNavigate } from './useSwipeNavigate';
@@ -80,7 +81,7 @@ const DEFAULT_PROPS: Partial<SlideshowControlsProps> = {
80
81
  * @param ref Component ref.
81
82
  * @return React element.
82
83
  */
83
- const InternalSlideshowControls: Comp<SlideshowControlsProps, HTMLDivElement> = forwardRef((props, ref) => {
84
+ const InternalSlideshowControls = forwardRef<SlideshowControlsProps, HTMLDivElement>((props, ref) => {
84
85
  const defaultTheme = useTheme() || Theme.light;
85
86
  const {
86
87
  activeIndex,
@@ -1,9 +1,10 @@
1
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
2
2
 
3
3
  import classNames from 'classnames';
4
4
 
5
- import { Comp, GenericProps } from '@lumx/react/utils/type';
5
+ import { GenericProps } from '@lumx/react/utils/type';
6
6
  import { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';
7
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
7
8
 
8
9
  /**
9
10
  * Defines the props of the component.
@@ -30,7 +31,7 @@ const CLASSNAME = getRootClassName(COMPONENT_NAME);
30
31
  * @param ref Component ref.
31
32
  * @return React element.
32
33
  */
33
- export const SlideshowItem: Comp<SlideshowItemProps, HTMLDivElement> = forwardRef((props, ref) => {
34
+ export const SlideshowItem = forwardRef<SlideshowItemProps, HTMLDivElement>((props, ref) => {
34
35
  const { className, children, ...forwardedProps } = props;
35
36
  return (
36
37
  <div
@@ -1,10 +1,11 @@
1
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
2
2
 
3
3
  import classNames from 'classnames';
4
4
  import { mergeRefs } from '@lumx/react/utils/mergeRefs';
5
-
6
- import { Comp, GenericProps } from '@lumx/react/utils/type';
5
+ import { GenericProps } from '@lumx/react/utils/type';
7
6
  import { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';
7
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
8
+
8
9
  import { useSlideFocusManagement } from './useSlideFocusManagement';
9
10
 
10
11
  /**
@@ -35,7 +36,7 @@ export const buildSlideShowGroupId = (slidesId: string, index: number) => `${sli
35
36
  * @param ref Component ref.
36
37
  * @return React element.
37
38
  */
38
- export const SlideshowItemGroup: Comp<SlideshowItemGroupProps, HTMLDivElement> = forwardRef((props, ref) => {
39
+ export const SlideshowItemGroup = forwardRef<SlideshowItemGroupProps, HTMLDivElement>((props, ref) => {
39
40
  const { className, children, role = 'group', label, isDisplayed, ...forwardedProps } = props;
40
41
  const groupRef = React.useRef<HTMLDivElement>(null);
41
42
 
@@ -1,15 +1,14 @@
1
- import React, { Children, forwardRef, InputHTMLAttributes, SyntheticEvent } from 'react';
1
+ import React, { Children, InputHTMLAttributes, SyntheticEvent } from 'react';
2
2
 
3
3
  import classNames from 'classnames';
4
-
5
4
  import isEmpty from 'lodash/isEmpty';
6
5
 
7
6
  import { Alignment, InputHelper, InputLabel, Theme } from '@lumx/react';
8
-
9
- import { Comp, GenericProps, HasTheme } from '@lumx/react/utils/type';
7
+ import { GenericProps, HasTheme } from '@lumx/react/utils/type';
10
8
  import { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';
11
9
  import { useId } from '@lumx/react/hooks/useId';
12
10
  import { useTheme } from '@lumx/react/utils/theme/ThemeContext';
11
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
13
12
 
14
13
  /**
15
14
  * Defines the props of the component.
@@ -57,7 +56,7 @@ const DEFAULT_PROPS: Partial<SwitchProps> = {
57
56
  * @param ref Component ref.
58
57
  * @return React element.
59
58
  */
60
- export const Switch: Comp<SwitchProps, HTMLDivElement> = forwardRef((props, ref) => {
59
+ export const Switch = forwardRef<SwitchProps, HTMLDivElement>((props, ref) => {
61
60
  const defaultTheme = useTheme() || Theme.light;
62
61
  const {
63
62
  checked,
@@ -1,12 +1,12 @@
1
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
2
2
 
3
3
  import classNames from 'classnames';
4
4
 
5
5
  import { Theme } from '@lumx/react';
6
-
7
- import { Comp, GenericProps, HasTheme } from '@lumx/react/utils/type';
6
+ import { GenericProps, HasTheme } from '@lumx/react/utils/type';
8
7
  import { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';
9
8
  import { useTheme } from '@lumx/react/utils/theme/ThemeContext';
9
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
10
10
 
11
11
  /**
12
12
  * Defines the props of the component.
@@ -40,7 +40,7 @@ const DEFAULT_PROPS: Partial<TableProps> = {};
40
40
  * @param ref Component ref.
41
41
  * @return React element.
42
42
  */
43
- export const Table: Comp<TableProps, HTMLTableElement> = forwardRef((props, ref) => {
43
+ export const Table = forwardRef<TableProps, HTMLTableElement>((props, ref) => {
44
44
  const defaultTheme = useTheme() || Theme.light;
45
45
  const { children, className, hasBefore, hasDividers, theme = defaultTheme, ...forwardedProps } = props;
46
46
 
@@ -1,9 +1,10 @@
1
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
2
2
 
3
3
  import classNames from 'classnames';
4
4
 
5
- import { Comp, GenericProps } from '@lumx/react/utils/type';
5
+ import { GenericProps } from '@lumx/react/utils/type';
6
6
  import { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';
7
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
7
8
 
8
9
  /**
9
10
  * Defines the props of the component.
@@ -27,7 +28,7 @@ const CLASSNAME = getRootClassName(COMPONENT_NAME, true);
27
28
  * @param ref Component ref.
28
29
  * @return React element.
29
30
  */
30
- export const TableBody: Comp<TableBodyProps, HTMLTableSectionElement> = forwardRef((props, ref) => {
31
+ export const TableBody = forwardRef<TableBodyProps, HTMLTableSectionElement>((props, ref) => {
31
32
  const { children, className, ...forwardedProps } = props;
32
33
 
33
34
  return (
@@ -1,12 +1,12 @@
1
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
2
2
 
3
3
  import classNames from 'classnames';
4
4
 
5
+ import { mdiArrowDown, mdiArrowUp } from '@lumx/icons';
5
6
  import { Icon, Size } from '@lumx/react';
6
- import { Comp, GenericProps, ValueOf } from '@lumx/react/utils/type';
7
+ import { GenericProps, ValueOf } from '@lumx/react/utils/type';
7
8
  import { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';
8
-
9
- import { mdiArrowDown, mdiArrowUp } from '@lumx/icons';
9
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
10
10
 
11
11
  /**
12
12
  * Table head cell sort order.
@@ -60,7 +60,7 @@ const DEFAULT_PROPS: Partial<TableCellProps> = {
60
60
  * @param ref Component ref.
61
61
  * @return React element.
62
62
  */
63
- export const TableCell: Comp<TableCellProps, HTMLTableCellElement> = forwardRef((props, ref) => {
63
+ export const TableCell = forwardRef<TableCellProps, HTMLTableCellElement>((props, ref) => {
64
64
  const { children, className, icon, isSortable, onHeaderClick, sortOrder, variant, ...forwardedProps } = props;
65
65
 
66
66
  // Use button if clickable
@@ -1,9 +1,10 @@
1
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
2
2
 
3
3
  import classNames from 'classnames';
4
4
 
5
- import { Comp, GenericProps } from '@lumx/react/utils/type';
5
+ import { GenericProps } from '@lumx/react/utils/type';
6
6
  import { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';
7
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
7
8
 
8
9
  /**
9
10
  * Defines the props of the component.
@@ -32,7 +33,7 @@ const DEFAULT_PROPS: Partial<TableHeaderProps> = {};
32
33
  * @param ref Component ref.
33
34
  * @return React element.
34
35
  */
35
- export const TableHeader: Comp<TableHeaderProps, HTMLTableSectionElement> = forwardRef((props, ref) => {
36
+ export const TableHeader = forwardRef<TableHeaderProps, HTMLTableSectionElement>((props, ref) => {
36
37
  const { children, className, ...forwardedProps } = props;
37
38
 
38
39
  return (
@@ -1,9 +1,10 @@
1
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
2
2
 
3
3
  import classNames from 'classnames';
4
4
 
5
- import { Comp, GenericProps } from '@lumx/react/utils/type';
5
+ import { GenericProps } from '@lumx/react/utils/type';
6
6
  import { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';
7
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
7
8
 
8
9
  /**
9
10
  * Defines the props of the component.
@@ -39,7 +40,7 @@ const DEFAULT_PROPS: Partial<TableRowProps> = {};
39
40
  * @param ref Component ref.
40
41
  * @return React element.
41
42
  */
42
- export const TableRow: Comp<TableRowProps, HTMLTableRowElement> = forwardRef((props, ref) => {
43
+ export const TableRow = forwardRef<TableRowProps, HTMLTableRowElement>((props, ref) => {
43
44
  const { children, className, disabled, isClickable, isDisabled = disabled, isSelected, ...forwardedProps } = props;
44
45
 
45
46
  return (
@@ -1,11 +1,12 @@
1
- import React, { FocusEventHandler, forwardRef, KeyboardEventHandler, ReactNode, useCallback } from 'react';
1
+ import React, { FocusEventHandler, KeyboardEventHandler, ReactNode, useCallback } from 'react';
2
2
 
3
3
  import classNames from 'classnames';
4
4
 
5
5
  import { Icon, IconProps, Size, Text } from '@lumx/react';
6
6
  import { CSS_PREFIX } from '@lumx/react/constants';
7
- import { Comp, GenericProps } from '@lumx/react/utils/type';
7
+ import { GenericProps } from '@lumx/react/utils/type';
8
8
  import { handleBasicClasses } from '@lumx/react/utils/className';
9
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
9
10
 
10
11
  import { useTabProviderContext } from './state';
11
12
 
@@ -53,7 +54,7 @@ const DEFAULT_PROPS: Partial<TabProps> = {};
53
54
  * @param ref Component ref.
54
55
  * @return React element.
55
56
  */
56
- export const Tab: Comp<TabProps, HTMLButtonElement> = forwardRef((props, ref) => {
57
+ export const Tab = forwardRef<TabProps, HTMLButtonElement>((props, ref) => {
57
58
  const {
58
59
  className,
59
60
  disabled,
@@ -1,12 +1,15 @@
1
+ import React, { ReactNode } from 'react';
2
+
3
+ import classNames from 'classnames';
4
+
1
5
  import { Alignment, Theme } from '@lumx/react';
2
6
  import { CSS_PREFIX } from '@lumx/react/constants';
3
- import { Comp, GenericProps, HasTheme } from '@lumx/react/utils/type';
7
+ import { GenericProps, HasTheme } from '@lumx/react/utils/type';
4
8
  import { handleBasicClasses } from '@lumx/react/utils/className';
5
9
  import { mergeRefs } from '@lumx/react/utils/mergeRefs';
6
-
7
- import classNames from 'classnames';
8
- import React, { forwardRef, ReactNode } from 'react';
10
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
9
11
  import { useTheme } from '@lumx/react/utils/theme/ThemeContext';
12
+
10
13
  import { useRovingTabIndex } from '../../hooks/useRovingTabIndex';
11
14
 
12
15
  export enum TabListLayout {
@@ -55,7 +58,7 @@ const DEFAULT_PROPS: Partial<TabListProps> = {
55
58
  * @param ref Component ref.
56
59
  * @return React element.
57
60
  */
58
- export const TabList: Comp<TabListProps, HTMLDivElement> = forwardRef((props, ref) => {
61
+ export const TabList = forwardRef<TabListProps, HTMLDivElement>((props, ref) => {
59
62
  const defaultTheme = useTheme() || Theme.light;
60
63
  const {
61
64
  'aria-label': ariaLabel,
@@ -1,11 +1,13 @@
1
+ import React from 'react';
2
+
3
+ import classNames from 'classnames';
4
+
5
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
1
6
  import { useTabProviderContext } from '@lumx/react/components/tabs/state';
2
7
  import { CSS_PREFIX } from '@lumx/react/constants';
3
- import { Comp, GenericProps } from '@lumx/react/utils/type';
8
+ import { GenericProps } from '@lumx/react/utils/type';
4
9
  import { handleBasicClasses } from '@lumx/react/utils/className';
5
10
 
6
- import classNames from 'classnames';
7
- import React, { forwardRef } from 'react';
8
-
9
11
  /**
10
12
  * Defines the props of the component.
11
13
  */
@@ -40,7 +42,7 @@ const DEFAULT_PROPS: Partial<TabPanelProps> = {};
40
42
  * @param ref Component ref.
41
43
  * @return React element.
42
44
  */
43
- export const TabPanel: Comp<TabPanelProps, HTMLDivElement> = forwardRef((props, ref) => {
45
+ export const TabPanel = forwardRef<TabPanelProps, HTMLDivElement>((props, ref) => {
44
46
  const { children, id, className, isActive: propIsActive, ...forwardedProps } = props;
45
47
 
46
48
  const state = useTabProviderContext('tabPanel', id);
@@ -1,16 +1,18 @@
1
- import React, { Children, Fragment, forwardRef } from 'react';
1
+ import React, { Children, Fragment } from 'react';
2
+
3
+ import classNames from 'classnames';
2
4
 
3
5
  import { Icon, ColorPalette, ColorVariant, Typography, WhiteSpace } from '@lumx/react';
4
- import { Comp, GenericProps, TextElement, isComponent } from '@lumx/react/utils/type';
6
+ import { GenericProps, TextElement, isComponent } from '@lumx/react/utils/type';
5
7
  import {
6
8
  getFontColorClassName,
7
9
  getRootClassName,
8
10
  handleBasicClasses,
9
11
  getTypographyClassName,
10
12
  } from '@lumx/react/utils/className';
11
- import classNames from 'classnames';
12
13
  import { useOverflowTooltipLabel } from '@lumx/react/hooks/useOverflowTooltipLabel';
13
14
  import { useMergeRefs } from '@lumx/react/utils/mergeRefs';
15
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
14
16
 
15
17
  /**
16
18
  * Defines the props of the component.
@@ -73,7 +75,7 @@ const DEFAULT_PROPS = {} as const;
73
75
  * @param ref Component ref.
74
76
  * @return React element.
75
77
  */
76
- export const Text: Comp<TextProps> = forwardRef((props, ref) => {
78
+ export const Text = forwardRef<TextProps>((props, ref) => {
77
79
  const {
78
80
  as: Component,
79
81
  children,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, ReactNode, Ref, RefObject, SyntheticEvent, useEffect, useRef, useState } from 'react';
1
+ import React, { ReactNode, Ref, RefObject, SyntheticEvent, useEffect, useRef, useState } from 'react';
2
2
 
3
3
  import classNames from 'classnames';
4
4
  import get from 'lodash/get';
@@ -16,11 +16,12 @@ import {
16
16
  Size,
17
17
  Theme,
18
18
  } from '@lumx/react';
19
- import { Comp, GenericProps, HasTheme } from '@lumx/react/utils/type';
19
+ import { GenericProps, HasTheme } from '@lumx/react/utils/type';
20
20
  import { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';
21
21
  import { mergeRefs } from '@lumx/react/utils/mergeRefs';
22
22
  import { useId } from '@lumx/react/hooks/useId';
23
23
  import { useTheme } from '@lumx/react/utils/theme/ThemeContext';
24
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
24
25
 
25
26
  /**
26
27
  * Defines the props of the component.
@@ -254,7 +255,7 @@ const renderInputNative: React.FC<InputNativeProps> = (props) => {
254
255
  * @param ref Component ref.
255
256
  * @return React element.
256
257
  */
257
- export const TextField: Comp<TextFieldProps, HTMLDivElement> = forwardRef((props, ref) => {
258
+ export const TextField = forwardRef<TextFieldProps, HTMLDivElement>((props, ref) => {
258
259
  const defaultTheme = useTheme() || Theme.light;
259
260
  const {
260
261
  chips,
@@ -1,6 +1,5 @@
1
1
  import React, {
2
2
  CSSProperties,
3
- forwardRef,
4
3
  ImgHTMLAttributes,
5
4
  KeyboardEventHandler,
6
5
  MouseEventHandler,
@@ -9,18 +8,19 @@ import React, {
9
8
  Ref,
10
9
  useState,
11
10
  } from 'react';
11
+
12
12
  import classNames from 'classnames';
13
13
 
14
14
  import { AspectRatio, HorizontalAlignment, Icon, Size, Theme, ThumbnailObjectFit } from '@lumx/react';
15
-
16
- import { Comp, Falsy, GenericProps, HasTheme } from '@lumx/react/utils/type';
15
+ import { Falsy, GenericProps, HasTheme } from '@lumx/react/utils/type';
17
16
  import { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';
18
-
19
17
  import { mdiImageBroken } from '@lumx/icons';
20
18
  import { useMergeRefs } from '@lumx/react/utils/mergeRefs';
21
19
  import { useImageLoad } from '@lumx/react/components/thumbnail/useImageLoad';
22
20
  import { useFocusPointStyle } from '@lumx/react/components/thumbnail/useFocusPointStyle';
23
21
  import { useTheme } from '@lumx/react/utils/theme/ThemeContext';
22
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
23
+
24
24
  import { FocusPoint, ThumbnailSize, ThumbnailVariant } from './types';
25
25
 
26
26
  type ImgHTMLProps = ImgHTMLAttributes<HTMLImageElement>;
@@ -98,7 +98,7 @@ const DEFAULT_PROPS: Partial<ThumbnailProps> = {
98
98
  * @param ref Component ref.
99
99
  * @return React element.
100
100
  */
101
- export const Thumbnail: Comp<ThumbnailProps> = forwardRef((props, ref) => {
101
+ export const Thumbnail = forwardRef<ThumbnailProps>((props, ref) => {
102
102
  const defaultTheme = useTheme() || Theme.light;
103
103
  const {
104
104
  align,
@@ -1,9 +1,10 @@
1
- import React, { forwardRef, ReactNode } from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
 
3
3
  import classNames from 'classnames';
4
4
 
5
- import { Comp, GenericProps } from '@lumx/react/utils/type';
5
+ import { GenericProps } from '@lumx/react/utils/type';
6
6
  import { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';
7
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
7
8
 
8
9
  /**
9
10
  * Defines the props of the component.
@@ -39,7 +40,7 @@ const DEFAULT_PROPS: Partial<ToolbarProps> = {};
39
40
  * @param ref Component ref.
40
41
  * @return React element.
41
42
  */
42
- export const Toolbar: Comp<ToolbarProps, HTMLDivElement> = forwardRef((props, ref) => {
43
+ export const Toolbar = forwardRef<ToolbarProps, HTMLDivElement>((props, ref) => {
43
44
  const { after, before, className, label, ...forwardedProps } = props;
44
45
 
45
46
  return (
@@ -1,17 +1,18 @@
1
1
  /* eslint-disable react-hooks/rules-of-hooks */
2
- import React, { forwardRef, ReactNode, useState } from 'react';
2
+ import React, { ReactNode, useState } from 'react';
3
3
  import { createPortal } from 'react-dom';
4
4
 
5
5
  import classNames from 'classnames';
6
6
 
7
7
  import { DOCUMENT, VISUALLY_HIDDEN } from '@lumx/react/constants';
8
- import { Comp, GenericProps, HasCloseMode } from '@lumx/react/utils/type';
8
+ import { GenericProps, HasCloseMode } from '@lumx/react/utils/type';
9
9
  import { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';
10
10
  import { useMergeRefs } from '@lumx/react/utils/mergeRefs';
11
11
  import { Placement } from '@lumx/react/components/popover';
12
12
  import { TooltipContextProvider } from '@lumx/react/components/tooltip/context';
13
13
  import { useId } from '@lumx/react/hooks/useId';
14
14
  import { usePopper } from '@lumx/react/hooks/usePopper';
15
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
15
16
 
16
17
  import { ARIA_LINK_MODES, TOOLTIP_ZINDEX } from '@lumx/react/components/tooltip/constants';
17
18
  import { useInjectTooltipRef } from './useInjectTooltipRef';
@@ -70,7 +71,7 @@ const ARROW_SIZE = 8;
70
71
  * @param ref Component ref.
71
72
  * @return React element.
72
73
  */
73
- export const Tooltip: Comp<TooltipProps, HTMLDivElement> = forwardRef((props, ref) => {
74
+ export const Tooltip = forwardRef<TooltipProps, HTMLDivElement>((props, ref) => {
74
75
  const {
75
76
  label,
76
77
  children,
@@ -1,12 +1,14 @@
1
- import React, { forwardRef, MouseEventHandler } from 'react';
1
+ import React, { MouseEventHandler } from 'react';
2
+
2
3
  import classNames from 'classnames';
3
4
 
4
5
  import { AspectRatio, Icon, Size, Theme } from '@lumx/react';
5
- import { Comp, GenericProps, HasTheme, ValueOf } from '@lumx/react/utils/type';
6
+ import { GenericProps, HasTheme, ValueOf } from '@lumx/react/utils/type';
6
7
  import { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';
7
8
  import { useBooleanState } from '@lumx/react/hooks/useBooleanState';
8
9
  import { useId } from '@lumx/react/hooks/useId';
9
10
  import { useTheme } from '@lumx/react/utils/theme/ThemeContext';
11
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
10
12
 
11
13
  /**
12
14
  * Uploader variants.
@@ -76,7 +78,7 @@ const DEFAULT_PROPS: Partial<UploaderProps> = {
76
78
  * @param ref Component ref.
77
79
  * @return React element.
78
80
  */
79
- export const Uploader: Comp<UploaderProps> = forwardRef((props, ref) => {
81
+ export const Uploader = forwardRef<UploaderProps>((props, ref) => {
80
82
  const defaultTheme = useTheme() || Theme.light;
81
83
  const {
82
84
  aspectRatio,
@@ -1,11 +1,13 @@
1
- import React, { forwardRef, ReactNode } from 'react';
2
- import isEmpty from 'lodash/isEmpty';
1
+ import React, { ReactNode } from 'react';
2
+
3
3
  import classNames from 'classnames';
4
+ import isEmpty from 'lodash/isEmpty';
4
5
  import set from 'lodash/set';
5
6
 
6
7
  import { Avatar, ColorPalette, Link, Orientation, Size, Theme } from '@lumx/react';
7
- import { Comp, GenericProps, HasTheme } from '@lumx/react/utils/type';
8
+ import { GenericProps, HasTheme } from '@lumx/react/utils/type';
8
9
  import { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';
10
+ import { forwardRef } from '@lumx/react/utils/react/forwardRef';
9
11
 
10
12
  import { useTheme } from '@lumx/react/utils/theme/ThemeContext';
11
13
  import { AvatarProps } from '../avatar/Avatar';
@@ -72,7 +74,7 @@ const DEFAULT_PROPS: Partial<UserBlockProps> = {
72
74
  * @param ref Component ref.
73
75
  * @return React element.
74
76
  */
75
- export const UserBlock: Comp<UserBlockProps, HTMLDivElement> = forwardRef((props, ref) => {
77
+ export const UserBlock = forwardRef<UserBlockProps, HTMLDivElement>((props, ref) => {
76
78
  const defaultTheme = useTheme() || Theme.light;
77
79
  const {
78
80
  avatarProps,
@@ -33,7 +33,8 @@ interface Options<S extends CommonSetup> {
33
33
  };
34
34
  }
35
35
 
36
- export type SetupRenderOptions = { wrapper?: RenderOptions['wrapper'] };
36
+ export type RenderWrapper = RenderOptions['wrapper'];
37
+ export type SetupRenderOptions = { wrapper?: RenderWrapper };
37
38
  export type SetupFunction<S extends CommonSetup> = (
38
39
  props?: GenericProps,
39
40
  options?: SetupRenderOptions,
@@ -0,0 +1,10 @@
1
+ import React, { type ReactNode, type ForwardedRef } from 'react';
2
+ import type { Comp } from '../type';
3
+
4
+ type ForwardRef = <P, T = HTMLElement>(render: (props: P, ref: ForwardedRef<T>) => ReactNode) => Comp<P, T>;
5
+
6
+ /**
7
+ * React.forwardRef but re-typed to attach some custom metadata on our components.
8
+ */
9
+ /*#__NO_SIDE_EFFECTS__*/
10
+ export const forwardRef = React.forwardRef as ForwardRef;
@@ -0,0 +1,10 @@
1
+ import React, { type ElementType } from 'react';
2
+ import type { ComponentRef } from '@lumx/react/utils/type';
3
+
4
+ type ForwardRefPolymorphic = <E extends ElementType, P extends { as?: E }>(
5
+ render: (props: P, ref: ComponentRef<E>) => React.ReactNode,
6
+ ) => (props: P & { ref?: ComponentRef<E> }) => React.ReactNode;
7
+
8
+ /** Same as `React.forwardRef` but inferring Ref type from the `as` prop. */
9
+ /*#__NO_SIDE_EFFECTS__*/
10
+ export const forwardRefPolymorphic = React.forwardRef as ForwardRefPolymorphic;
package/utils/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import React, { RefObject } from 'react';
2
- import { F as Falsy } from '../_internal/index.js';
2
+ import { F as Falsy } from '../_internal/8d67e1e3.js';
3
3
 
4
4
  interface ClickAwayParameters {
5
5
  /**
@@ -1,9 +0,0 @@
1
- import React, { ElementType } from 'react';
2
- import { ComponentRef } from '@lumx/react/utils/type';
3
-
4
- /** Same as `React.forwardRef` but inferring Ref type from the `as` prop. */
5
- export function forwardRefPolymorphic<E extends ElementType, P extends { as?: E }>(
6
- render: (props: P, ref: ComponentRef<E>) => React.ReactElement | null,
7
- ): (props: P & { ref?: ComponentRef<E> }) => React.ReactElement | null {
8
- return React.forwardRef(render as any) as any;
9
- }