@ifhover/leaf-ui 0.6.0 → 0.7.0

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 (659) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/autocomplete/autocomplete.cjs +7 -3
  3. package/dist/cjs/autocomplete/autocomplete.cjs.map +1 -1
  4. package/dist/cjs/autocomplete/autocomplete.d.cts +2 -0
  5. package/dist/cjs/autocomplete/autocomplete.d.cts.map +1 -1
  6. package/dist/cjs/browser/modules/autocomplete/autocomplete.cjs +7 -3
  7. package/dist/cjs/browser/modules/autocomplete/autocomplete.cjs.map +1 -1
  8. package/dist/cjs/browser/modules/button/button.cjs.map +1 -1
  9. package/dist/cjs/browser/modules/cascader/cascader.cjs +9 -2
  10. package/dist/cjs/browser/modules/cascader/cascader.cjs.map +1 -1
  11. package/dist/cjs/browser/modules/colors.cjs +73 -7
  12. package/dist/cjs/browser/modules/colors.cjs.map +1 -1
  13. package/dist/cjs/browser/modules/commandpalette/commandpalette.cjs +10 -3
  14. package/dist/cjs/browser/modules/commandpalette/commandpalette.cjs.map +1 -1
  15. package/dist/cjs/browser/modules/config-provider/component-defaults.cjs.map +1 -1
  16. package/dist/cjs/browser/modules/config-provider/use-color-variables.cjs +18 -2
  17. package/dist/cjs/browser/modules/config-provider/use-color-variables.cjs.map +1 -1
  18. package/dist/cjs/browser/modules/drawer/drawer.cjs +7 -1
  19. package/dist/cjs/browser/modules/drawer/drawer.cjs.map +1 -1
  20. package/dist/cjs/browser/modules/dropdown/dropdown.cjs +25 -4
  21. package/dist/cjs/browser/modules/dropdown/dropdown.cjs.map +1 -1
  22. package/dist/cjs/browser/modules/form/form.cjs +38 -21
  23. package/dist/cjs/browser/modules/form/form.cjs.map +1 -1
  24. package/dist/cjs/browser/modules/image/viewer.cjs +8 -2
  25. package/dist/cjs/browser/modules/image/viewer.cjs.map +1 -1
  26. package/dist/cjs/browser/modules/index.cjs +3 -4
  27. package/dist/cjs/browser/modules/layout/layout.cjs +4 -1
  28. package/dist/cjs/browser/modules/layout/layout.cjs.map +1 -1
  29. package/dist/cjs/browser/modules/mentions/mentions.cjs +4 -2
  30. package/dist/cjs/browser/modules/mentions/mentions.cjs.map +1 -1
  31. package/dist/cjs/browser/modules/menu/index.cjs +5 -2
  32. package/dist/cjs/browser/modules/menu/menu.cjs +60 -18
  33. package/dist/cjs/browser/modules/menu/menu.cjs.map +1 -1
  34. package/dist/cjs/browser/modules/scrollbar/scrollbar.cjs +69 -19
  35. package/dist/cjs/browser/modules/scrollbar/scrollbar.cjs.map +1 -1
  36. package/dist/cjs/browser/modules/select/select.cjs +3 -3
  37. package/dist/cjs/browser/modules/select/select.cjs.map +1 -1
  38. package/dist/cjs/browser/modules/shared/floating.cjs +49 -20
  39. package/dist/cjs/browser/modules/shared/floating.cjs.map +1 -1
  40. package/dist/cjs/browser/modules/shared/scoped-portal.cjs +2 -23
  41. package/dist/cjs/browser/modules/shared/scoped-portal.cjs.map +1 -1
  42. package/dist/cjs/browser/modules/{segmented/index.cjs → shared/theme-variables.cjs} +27 -5
  43. package/dist/cjs/browser/modules/shared/theme-variables.cjs.map +1 -0
  44. package/dist/cjs/browser/modules/splitter/splitter.cjs +4 -1
  45. package/dist/cjs/browser/modules/splitter/splitter.cjs.map +1 -1
  46. package/dist/cjs/browser/modules/tabs/tabs.cjs +14 -8
  47. package/dist/cjs/browser/modules/tabs/tabs.cjs.map +1 -1
  48. package/dist/cjs/browser/modules/tailwind-tokens.cjs +1 -1
  49. package/dist/cjs/browser/modules/tailwind-tokens.cjs.map +1 -1
  50. package/dist/cjs/browser/modules/textarea/textarea.cjs +49 -21
  51. package/dist/cjs/browser/modules/textarea/textarea.cjs.map +1 -1
  52. package/dist/cjs/browser/modules/theme.cjs +53 -29
  53. package/dist/cjs/browser/modules/theme.cjs.map +1 -1
  54. package/dist/cjs/browser/modules/timeline/timeline.cjs +1 -1
  55. package/dist/cjs/browser/modules/timeline/timeline.cjs.map +1 -1
  56. package/dist/cjs/browser/modules/timepicker/time-panel.cjs +8 -2
  57. package/dist/cjs/browser/modules/timepicker/time-panel.cjs.map +1 -1
  58. package/dist/cjs/browser/modules/transfer/transfer.cjs +5 -5
  59. package/dist/cjs/browser/modules/transfer/transfer.cjs.map +1 -1
  60. package/dist/cjs/browser/modules/tree/tree.cjs +13 -6
  61. package/dist/cjs/browser/modules/tree/tree.cjs.map +1 -1
  62. package/dist/cjs/browser/modules/treeselect/treeselect.cjs +5 -4
  63. package/dist/cjs/browser/modules/treeselect/treeselect.cjs.map +1 -1
  64. package/dist/cjs/browser/modules/virtuallist/virtuallist.cjs +9 -3
  65. package/dist/cjs/browser/modules/virtuallist/virtuallist.cjs.map +1 -1
  66. package/dist/cjs/button/button.cjs.map +1 -1
  67. package/dist/cjs/button/button.d.cts +7 -2
  68. package/dist/cjs/button/button.d.cts.map +1 -1
  69. package/dist/cjs/cascader/cascader.cjs +9 -2
  70. package/dist/cjs/cascader/cascader.cjs.map +1 -1
  71. package/dist/cjs/cascader/cascader.d.cts +2 -0
  72. package/dist/cjs/cascader/cascader.d.cts.map +1 -1
  73. package/dist/cjs/colors.cjs +73 -7
  74. package/dist/cjs/colors.cjs.map +1 -1
  75. package/dist/cjs/colors.d.cts +3 -1
  76. package/dist/cjs/colors.d.cts.map +1 -1
  77. package/dist/cjs/commandpalette/commandpalette.cjs +10 -3
  78. package/dist/cjs/commandpalette/commandpalette.cjs.map +1 -1
  79. package/dist/cjs/commandpalette/commandpalette.d.cts.map +1 -1
  80. package/dist/cjs/config-provider/component-defaults.cjs.map +1 -1
  81. package/dist/cjs/config-provider/component-defaults.d.cts +3 -4
  82. package/dist/cjs/config-provider/component-defaults.d.cts.map +1 -1
  83. package/dist/cjs/config-provider/index.d.cts +1 -1
  84. package/dist/cjs/config-provider/index.d.cts.map +1 -1
  85. package/dist/cjs/config-provider/use-color-variables.cjs +18 -2
  86. package/dist/cjs/config-provider/use-color-variables.cjs.map +1 -1
  87. package/dist/cjs/config-provider/use-color-variables.d.cts.map +1 -1
  88. package/dist/cjs/drawer/drawer.cjs +7 -1
  89. package/dist/cjs/drawer/drawer.cjs.map +1 -1
  90. package/dist/cjs/drawer/drawer.d.cts.map +1 -1
  91. package/dist/cjs/dropdown/dropdown.cjs +25 -4
  92. package/dist/cjs/dropdown/dropdown.cjs.map +1 -1
  93. package/dist/cjs/dropdown/dropdown.d.cts +9 -1
  94. package/dist/cjs/dropdown/dropdown.d.cts.map +1 -1
  95. package/dist/cjs/form/form.cjs +38 -21
  96. package/dist/cjs/form/form.cjs.map +1 -1
  97. package/dist/cjs/form/form.d.cts +3 -1
  98. package/dist/cjs/form/form.d.cts.map +1 -1
  99. package/dist/cjs/image/viewer.cjs +8 -2
  100. package/dist/cjs/image/viewer.cjs.map +1 -1
  101. package/dist/cjs/image/viewer.d.cts.map +1 -1
  102. package/dist/cjs/index.cjs +3 -4
  103. package/dist/cjs/index.d.cts +3 -5
  104. package/dist/cjs/index.d.cts.map +1 -1
  105. package/dist/cjs/layout/layout.cjs +4 -1
  106. package/dist/cjs/layout/layout.cjs.map +1 -1
  107. package/dist/cjs/layout/layout.d.cts.map +1 -1
  108. package/dist/cjs/mentions/mentions.cjs +4 -2
  109. package/dist/cjs/mentions/mentions.cjs.map +1 -1
  110. package/dist/cjs/mentions/mentions.d.cts +2 -0
  111. package/dist/cjs/mentions/mentions.d.cts.map +1 -1
  112. package/dist/cjs/menu/index.cjs +5 -2
  113. package/dist/cjs/menu/index.d.cts +2 -2
  114. package/dist/cjs/menu/index.d.cts.map +1 -1
  115. package/dist/cjs/menu/menu.cjs +60 -18
  116. package/dist/cjs/menu/menu.cjs.map +1 -1
  117. package/dist/cjs/menu/menu.d.cts +4 -0
  118. package/dist/cjs/menu/menu.d.cts.map +1 -1
  119. package/dist/cjs/scrollbar/scrollbar.cjs +69 -19
  120. package/dist/cjs/scrollbar/scrollbar.cjs.map +1 -1
  121. package/dist/cjs/scrollbar/scrollbar.d.cts +12 -2
  122. package/dist/cjs/scrollbar/scrollbar.d.cts.map +1 -1
  123. package/dist/cjs/select/select.cjs +3 -3
  124. package/dist/cjs/select/select.cjs.map +1 -1
  125. package/dist/cjs/shared/floating.cjs +49 -20
  126. package/dist/cjs/shared/floating.cjs.map +1 -1
  127. package/dist/cjs/shared/floating.d.cts +3 -1
  128. package/dist/cjs/shared/floating.d.cts.map +1 -1
  129. package/dist/cjs/shared/scoped-portal.cjs +2 -23
  130. package/dist/cjs/shared/scoped-portal.cjs.map +1 -1
  131. package/dist/cjs/shared/scoped-portal.d.cts.map +1 -1
  132. package/dist/cjs/{segmented/index.cjs → shared/theme-variables.cjs} +27 -5
  133. package/dist/cjs/shared/theme-variables.cjs.map +1 -0
  134. package/dist/cjs/shared/theme-variables.d.cts +4 -0
  135. package/dist/cjs/shared/theme-variables.d.cts.map +1 -0
  136. package/dist/cjs/splitter/splitter.cjs +4 -1
  137. package/dist/cjs/splitter/splitter.cjs.map +1 -1
  138. package/dist/cjs/splitter/splitter.d.cts.map +1 -1
  139. package/dist/cjs/styles/alert.css +1 -1
  140. package/dist/cjs/styles/anchor.css +1 -1
  141. package/dist/cjs/styles/appbar.css +1 -1
  142. package/dist/cjs/styles/autocomplete.css +1 -1
  143. package/dist/cjs/styles/avatar.css +1 -1
  144. package/dist/cjs/styles/backtop.css +1 -1
  145. package/dist/cjs/styles/badge.css +1 -1
  146. package/dist/cjs/styles/breadcrumb.css +1 -1
  147. package/dist/cjs/styles/button.css +1 -1
  148. package/dist/cjs/styles/calendar.css +1 -1
  149. package/dist/cjs/styles/card.css +1 -1
  150. package/dist/cjs/styles/carousel.css +1 -1
  151. package/dist/cjs/styles/cascader.css +1 -1
  152. package/dist/cjs/styles/checkbox.css +1 -1
  153. package/dist/cjs/styles/collapse.css +1 -1
  154. package/dist/cjs/styles/colorpicker.css +1 -1
  155. package/dist/cjs/styles/commandpalette.css +1 -1
  156. package/dist/cjs/styles/components/alert.css +1 -1
  157. package/dist/cjs/styles/components/anchor.css +1 -1
  158. package/dist/cjs/styles/components/appbar.css +1 -1
  159. package/dist/cjs/styles/components/autocomplete.css +1 -1
  160. package/dist/cjs/styles/components/avatar.css +1 -1
  161. package/dist/cjs/styles/components/breadcrumb.css +1 -1
  162. package/dist/cjs/styles/components/button.css +1 -1
  163. package/dist/cjs/styles/components/calendar.css +1 -1
  164. package/dist/cjs/styles/components/card.css +1 -1
  165. package/dist/cjs/styles/components/carousel.css +1 -1
  166. package/dist/cjs/styles/components/cascader.css +1 -1
  167. package/dist/cjs/styles/components/checkbox.css +1 -1
  168. package/dist/cjs/styles/components/collapse.css +1 -1
  169. package/dist/cjs/styles/components/colorpicker.css +1 -1
  170. package/dist/cjs/styles/components/commandpalette.css +1 -1
  171. package/dist/cjs/styles/components/datepicker.css +1 -1
  172. package/dist/cjs/styles/components/descriptions.css +1 -1
  173. package/dist/cjs/styles/components/drawer.css +1 -1
  174. package/dist/cjs/styles/components/dropdown.css +1 -1
  175. package/dist/cjs/styles/components/errorboundary.css +1 -1
  176. package/dist/cjs/styles/components/filelist.css +1 -1
  177. package/dist/cjs/styles/components/form.css +1 -1
  178. package/dist/cjs/styles/components/image.css +1 -1
  179. package/dist/cjs/styles/components/input.css +1 -1
  180. package/dist/cjs/styles/components/inputnumber.css +1 -1
  181. package/dist/cjs/styles/components/inputotp.css +1 -1
  182. package/dist/cjs/styles/components/layout.css +1 -1
  183. package/dist/cjs/styles/components/loading.css +1 -1
  184. package/dist/cjs/styles/components/loadingbar.css +1 -1
  185. package/dist/cjs/styles/components/mentions.css +1 -1
  186. package/dist/cjs/styles/components/menu.css +1 -1
  187. package/dist/cjs/styles/components/message.css +1 -1
  188. package/dist/cjs/styles/components/modal.css +1 -1
  189. package/dist/cjs/styles/components/notification.css +1 -1
  190. package/dist/cjs/styles/components/pagination.css +1 -1
  191. package/dist/cjs/styles/components/popover.css +1 -1
  192. package/dist/cjs/styles/components/progress.css +1 -1
  193. package/dist/cjs/styles/components/radio.css +1 -1
  194. package/dist/cjs/styles/components/rate.css +1 -1
  195. package/dist/cjs/styles/components/scrollarea.css +1 -1
  196. package/dist/cjs/styles/components/scrollbar.css +1 -1
  197. package/dist/cjs/styles/components/select.css +1 -1
  198. package/dist/cjs/styles/components/shared-calendar.css +1 -1
  199. package/dist/cjs/styles/components/slider.css +1 -1
  200. package/dist/cjs/styles/components/splitter.css +1 -1
  201. package/dist/cjs/styles/components/steps.css +1 -1
  202. package/dist/cjs/styles/components/switch.css +1 -1
  203. package/dist/cjs/styles/components/table.css +1 -1
  204. package/dist/cjs/styles/components/tabletanstack.css +1 -1
  205. package/dist/cjs/styles/components/tabs.css +1 -1
  206. package/dist/cjs/styles/components/tag.css +1 -1
  207. package/dist/cjs/styles/components/textarea.css +1 -1
  208. package/dist/cjs/styles/components/timepicker.css +1 -1
  209. package/dist/cjs/styles/components/tooltip.css +1 -1
  210. package/dist/cjs/styles/components/tour.css +1 -1
  211. package/dist/cjs/styles/components/transfer.css +1 -1
  212. package/dist/cjs/styles/components/tree.css +1 -1
  213. package/dist/cjs/styles/components/treeselect.css +1 -1
  214. package/dist/cjs/styles/components/typography.css +1 -1
  215. package/dist/cjs/styles/components/upload.css +1 -1
  216. package/dist/cjs/styles/components/virtuallist.css +1 -1
  217. package/dist/cjs/styles/config-provider.css +1 -1
  218. package/dist/cjs/styles/confirm.css +1 -1
  219. package/dist/cjs/styles/datepicker.css +1 -1
  220. package/dist/cjs/styles/daterangepicker.css +1 -1
  221. package/dist/cjs/styles/datetimepicker.css +1 -1
  222. package/dist/cjs/styles/descriptions.css +1 -1
  223. package/dist/cjs/styles/divider.css +1 -1
  224. package/dist/cjs/styles/drawer.css +1 -1
  225. package/dist/cjs/styles/dropdown.css +1 -1
  226. package/dist/cjs/styles/empty.css +1 -1
  227. package/dist/cjs/styles/errorboundary.css +1 -1
  228. package/dist/cjs/styles/filelist.css +1 -1
  229. package/dist/cjs/styles/flex.css +1 -1
  230. package/dist/cjs/styles/floatbutton.css +1 -1
  231. package/dist/cjs/styles/form.css +1 -1
  232. package/dist/cjs/styles/foundation.css +1 -1
  233. package/dist/cjs/styles/grid.css +1 -1
  234. package/dist/cjs/styles/image.css +1 -1
  235. package/dist/cjs/styles/index.css +1380 -716
  236. package/dist/cjs/styles/index.css.map +1 -1
  237. package/dist/cjs/styles/infinitescroll.css +1 -1
  238. package/dist/cjs/styles/input.css +1 -1
  239. package/dist/cjs/styles/inputmask.css +1 -1
  240. package/dist/cjs/styles/inputnumber.css +1 -1
  241. package/dist/cjs/styles/inputotp.css +1 -1
  242. package/dist/cjs/styles/layout.css +1 -1
  243. package/dist/cjs/styles/loading.css +1 -1
  244. package/dist/cjs/styles/loadingbar.css +1 -1
  245. package/dist/cjs/styles/masonry.css +1 -1
  246. package/dist/cjs/styles/mentions.css +1 -1
  247. package/dist/cjs/styles/menu.css +1 -1
  248. package/dist/cjs/styles/message.css +1 -1
  249. package/dist/cjs/styles/modal.css +1 -1
  250. package/dist/cjs/styles/notification.css +1 -1
  251. package/dist/cjs/styles/pagination.css +1 -1
  252. package/dist/cjs/styles/popconfirm.css +1 -1
  253. package/dist/cjs/styles/popover.css +1 -1
  254. package/dist/cjs/styles/progress.css +1 -1
  255. package/dist/cjs/styles/qrcode.css +1 -1
  256. package/dist/cjs/styles/radio.css +1 -1
  257. package/dist/cjs/styles/rate.css +1 -1
  258. package/dist/cjs/styles/result.css +1 -1
  259. package/dist/cjs/styles/scrollarea.css +1 -1
  260. package/dist/cjs/styles/scrollbar.css +1 -1
  261. package/dist/cjs/styles/select.css +1 -1
  262. package/dist/cjs/styles/skeleton.css +1 -1
  263. package/dist/cjs/styles/slider.css +1 -1
  264. package/dist/cjs/styles/space.css +1 -1
  265. package/dist/cjs/styles/splitter.css +1 -1
  266. package/dist/cjs/styles/statistic.css +1 -1
  267. package/dist/cjs/styles/steps.css +1 -1
  268. package/dist/cjs/styles/switch.css +1 -1
  269. package/dist/cjs/styles/table.css +1 -1
  270. package/dist/cjs/styles/tabletanstack.css +1 -1
  271. package/dist/cjs/styles/tabs.css +1 -1
  272. package/dist/cjs/styles/tag.css +1 -1
  273. package/dist/cjs/styles/textarea.css +1 -1
  274. package/dist/cjs/styles/timeline.css +1 -1
  275. package/dist/cjs/styles/timepicker.css +1 -1
  276. package/dist/cjs/styles/timerangepicker.css +1 -1
  277. package/dist/cjs/styles/tooltip.css +1 -1
  278. package/dist/cjs/styles/tour.css +1 -1
  279. package/dist/cjs/styles/transfer.css +1 -1
  280. package/dist/cjs/styles/tree.css +1 -1
  281. package/dist/cjs/styles/treeselect.css +1 -1
  282. package/dist/cjs/styles/typography.css +1 -1
  283. package/dist/cjs/styles/upload.css +1 -1
  284. package/dist/cjs/styles/virtuallist.css +1 -1
  285. package/dist/cjs/tabs/tabs.cjs +14 -8
  286. package/dist/cjs/tabs/tabs.cjs.map +1 -1
  287. package/dist/cjs/tabs/tabs.d.cts +4 -2
  288. package/dist/cjs/tabs/tabs.d.cts.map +1 -1
  289. package/dist/cjs/tailwind-tokens.cjs +1 -1
  290. package/dist/cjs/tailwind-tokens.cjs.map +1 -1
  291. package/dist/cjs/tailwind-tokens.d.cts.map +1 -1
  292. package/dist/cjs/textarea/textarea.cjs +49 -21
  293. package/dist/cjs/textarea/textarea.cjs.map +1 -1
  294. package/dist/cjs/textarea/textarea.d.cts.map +1 -1
  295. package/dist/cjs/theme.cjs +53 -29
  296. package/dist/cjs/theme.cjs.map +1 -1
  297. package/dist/cjs/theme.d.cts +15 -0
  298. package/dist/cjs/theme.d.cts.map +1 -1
  299. package/dist/cjs/timeline/timeline.cjs +1 -1
  300. package/dist/cjs/timeline/timeline.cjs.map +1 -1
  301. package/dist/cjs/timeline/timeline.d.cts.map +1 -1
  302. package/dist/cjs/timepicker/time-panel.cjs +8 -2
  303. package/dist/cjs/timepicker/time-panel.cjs.map +1 -1
  304. package/dist/cjs/timepicker/time-panel.d.cts.map +1 -1
  305. package/dist/cjs/transfer/transfer.cjs +5 -5
  306. package/dist/cjs/transfer/transfer.cjs.map +1 -1
  307. package/dist/cjs/transfer/transfer.d.cts.map +1 -1
  308. package/dist/cjs/tree/tree.cjs +13 -6
  309. package/dist/cjs/tree/tree.cjs.map +1 -1
  310. package/dist/cjs/tree/tree.d.cts.map +1 -1
  311. package/dist/cjs/treeselect/treeselect.cjs +5 -4
  312. package/dist/cjs/treeselect/treeselect.cjs.map +1 -1
  313. package/dist/cjs/treeselect/treeselect.d.cts.map +1 -1
  314. package/dist/cjs/virtuallist/virtuallist.cjs +9 -3
  315. package/dist/cjs/virtuallist/virtuallist.cjs.map +1 -1
  316. package/dist/cjs/virtuallist/virtuallist.d.cts.map +1 -1
  317. package/dist/esm/autocomplete/autocomplete.d.ts +2 -0
  318. package/dist/esm/autocomplete/autocomplete.d.ts.map +1 -1
  319. package/dist/esm/autocomplete/autocomplete.js +7 -3
  320. package/dist/esm/autocomplete/autocomplete.js.map +1 -1
  321. package/dist/esm/browser/modules/autocomplete/autocomplete.js +7 -3
  322. package/dist/esm/browser/modules/autocomplete/autocomplete.js.map +1 -1
  323. package/dist/esm/browser/modules/button/button.js.map +1 -1
  324. package/dist/esm/browser/modules/cascader/cascader.js +9 -2
  325. package/dist/esm/browser/modules/cascader/cascader.js.map +1 -1
  326. package/dist/esm/browser/modules/colors.js +69 -6
  327. package/dist/esm/browser/modules/colors.js.map +1 -1
  328. package/dist/esm/browser/modules/commandpalette/commandpalette.js +10 -3
  329. package/dist/esm/browser/modules/commandpalette/commandpalette.js.map +1 -1
  330. package/dist/esm/browser/modules/config-provider/component-defaults.js.map +1 -1
  331. package/dist/esm/browser/modules/config-provider/use-color-variables.js +18 -2
  332. package/dist/esm/browser/modules/config-provider/use-color-variables.js.map +1 -1
  333. package/dist/esm/browser/modules/drawer/drawer.js +7 -1
  334. package/dist/esm/browser/modules/drawer/drawer.js.map +1 -1
  335. package/dist/esm/browser/modules/dropdown/dropdown.js +25 -4
  336. package/dist/esm/browser/modules/dropdown/dropdown.js.map +1 -1
  337. package/dist/esm/browser/modules/form/form.js +38 -21
  338. package/dist/esm/browser/modules/form/form.js.map +1 -1
  339. package/dist/esm/browser/modules/image/viewer.js +8 -2
  340. package/dist/esm/browser/modules/image/viewer.js.map +1 -1
  341. package/dist/esm/browser/modules/index.js +1 -2
  342. package/dist/esm/browser/modules/layout/layout.js +4 -1
  343. package/dist/esm/browser/modules/layout/layout.js.map +1 -1
  344. package/dist/esm/browser/modules/mentions/mentions.js +4 -2
  345. package/dist/esm/browser/modules/mentions/mentions.js.map +1 -1
  346. package/dist/esm/browser/modules/menu/index.js +1 -1
  347. package/dist/esm/browser/modules/menu/menu.js +57 -18
  348. package/dist/esm/browser/modules/menu/menu.js.map +1 -1
  349. package/dist/esm/browser/modules/scrollbar/scrollbar.js +69 -19
  350. package/dist/esm/browser/modules/scrollbar/scrollbar.js.map +1 -1
  351. package/dist/esm/browser/modules/select/select.js +3 -3
  352. package/dist/esm/browser/modules/select/select.js.map +1 -1
  353. package/dist/esm/browser/modules/shared/floating.js +49 -20
  354. package/dist/esm/browser/modules/shared/floating.js.map +1 -1
  355. package/dist/esm/browser/modules/shared/scoped-portal.js +2 -23
  356. package/dist/esm/browser/modules/shared/scoped-portal.js.map +1 -1
  357. package/dist/esm/browser/modules/shared/theme-variables.js +27 -0
  358. package/dist/esm/browser/modules/shared/theme-variables.js.map +1 -0
  359. package/dist/esm/browser/modules/splitter/splitter.js +4 -1
  360. package/dist/esm/browser/modules/splitter/splitter.js.map +1 -1
  361. package/dist/esm/browser/modules/tabs/tabs.js +14 -8
  362. package/dist/esm/browser/modules/tabs/tabs.js.map +1 -1
  363. package/dist/esm/browser/modules/tailwind-tokens.js +1 -1
  364. package/dist/esm/browser/modules/tailwind-tokens.js.map +1 -1
  365. package/dist/esm/browser/modules/textarea/textarea.js +50 -22
  366. package/dist/esm/browser/modules/textarea/textarea.js.map +1 -1
  367. package/dist/esm/browser/modules/theme.js +53 -29
  368. package/dist/esm/browser/modules/theme.js.map +1 -1
  369. package/dist/esm/browser/modules/timeline/timeline.js +1 -1
  370. package/dist/esm/browser/modules/timeline/timeline.js.map +1 -1
  371. package/dist/esm/browser/modules/timepicker/time-panel.js +8 -2
  372. package/dist/esm/browser/modules/timepicker/time-panel.js.map +1 -1
  373. package/dist/esm/browser/modules/transfer/transfer.js +5 -5
  374. package/dist/esm/browser/modules/transfer/transfer.js.map +1 -1
  375. package/dist/esm/browser/modules/tree/tree.js +13 -6
  376. package/dist/esm/browser/modules/tree/tree.js.map +1 -1
  377. package/dist/esm/browser/modules/treeselect/treeselect.js +5 -4
  378. package/dist/esm/browser/modules/treeselect/treeselect.js.map +1 -1
  379. package/dist/esm/browser/modules/virtuallist/virtuallist.js +9 -3
  380. package/dist/esm/browser/modules/virtuallist/virtuallist.js.map +1 -1
  381. package/dist/esm/button/button.d.ts +7 -2
  382. package/dist/esm/button/button.d.ts.map +1 -1
  383. package/dist/esm/button/button.js.map +1 -1
  384. package/dist/esm/cascader/cascader.d.ts +2 -0
  385. package/dist/esm/cascader/cascader.d.ts.map +1 -1
  386. package/dist/esm/cascader/cascader.js +9 -2
  387. package/dist/esm/cascader/cascader.js.map +1 -1
  388. package/dist/esm/colors.d.ts +3 -1
  389. package/dist/esm/colors.d.ts.map +1 -1
  390. package/dist/esm/colors.js +69 -6
  391. package/dist/esm/colors.js.map +1 -1
  392. package/dist/esm/commandpalette/commandpalette.d.ts.map +1 -1
  393. package/dist/esm/commandpalette/commandpalette.js +10 -3
  394. package/dist/esm/commandpalette/commandpalette.js.map +1 -1
  395. package/dist/esm/config-provider/component-defaults.d.ts +3 -4
  396. package/dist/esm/config-provider/component-defaults.d.ts.map +1 -1
  397. package/dist/esm/config-provider/component-defaults.js.map +1 -1
  398. package/dist/esm/config-provider/index.d.ts +1 -1
  399. package/dist/esm/config-provider/index.d.ts.map +1 -1
  400. package/dist/esm/config-provider/use-color-variables.d.ts.map +1 -1
  401. package/dist/esm/config-provider/use-color-variables.js +18 -2
  402. package/dist/esm/config-provider/use-color-variables.js.map +1 -1
  403. package/dist/esm/drawer/drawer.d.ts.map +1 -1
  404. package/dist/esm/drawer/drawer.js +7 -1
  405. package/dist/esm/drawer/drawer.js.map +1 -1
  406. package/dist/esm/dropdown/dropdown.d.ts +9 -1
  407. package/dist/esm/dropdown/dropdown.d.ts.map +1 -1
  408. package/dist/esm/dropdown/dropdown.js +25 -4
  409. package/dist/esm/dropdown/dropdown.js.map +1 -1
  410. package/dist/esm/form/form.d.ts +3 -1
  411. package/dist/esm/form/form.d.ts.map +1 -1
  412. package/dist/esm/form/form.js +38 -21
  413. package/dist/esm/form/form.js.map +1 -1
  414. package/dist/esm/image/viewer.d.ts.map +1 -1
  415. package/dist/esm/image/viewer.js +8 -2
  416. package/dist/esm/image/viewer.js.map +1 -1
  417. package/dist/esm/index.d.ts +3 -5
  418. package/dist/esm/index.d.ts.map +1 -1
  419. package/dist/esm/index.js +1 -2
  420. package/dist/esm/layout/layout.d.ts.map +1 -1
  421. package/dist/esm/layout/layout.js +4 -1
  422. package/dist/esm/layout/layout.js.map +1 -1
  423. package/dist/esm/mentions/mentions.d.ts +2 -0
  424. package/dist/esm/mentions/mentions.d.ts.map +1 -1
  425. package/dist/esm/mentions/mentions.js +4 -2
  426. package/dist/esm/mentions/mentions.js.map +1 -1
  427. package/dist/esm/menu/index.d.ts +2 -2
  428. package/dist/esm/menu/index.d.ts.map +1 -1
  429. package/dist/esm/menu/index.js +1 -1
  430. package/dist/esm/menu/menu.d.ts +4 -0
  431. package/dist/esm/menu/menu.d.ts.map +1 -1
  432. package/dist/esm/menu/menu.js +57 -18
  433. package/dist/esm/menu/menu.js.map +1 -1
  434. package/dist/esm/scrollbar/scrollbar.d.ts +12 -2
  435. package/dist/esm/scrollbar/scrollbar.d.ts.map +1 -1
  436. package/dist/esm/scrollbar/scrollbar.js +69 -19
  437. package/dist/esm/scrollbar/scrollbar.js.map +1 -1
  438. package/dist/esm/select/select.js +3 -3
  439. package/dist/esm/select/select.js.map +1 -1
  440. package/dist/esm/shared/floating.d.ts +3 -1
  441. package/dist/esm/shared/floating.d.ts.map +1 -1
  442. package/dist/esm/shared/floating.js +49 -20
  443. package/dist/esm/shared/floating.js.map +1 -1
  444. package/dist/esm/shared/scoped-portal.d.ts.map +1 -1
  445. package/dist/esm/shared/scoped-portal.js +2 -23
  446. package/dist/esm/shared/scoped-portal.js.map +1 -1
  447. package/dist/esm/shared/theme-variables.d.ts +4 -0
  448. package/dist/esm/shared/theme-variables.d.ts.map +1 -0
  449. package/dist/esm/shared/theme-variables.js +27 -0
  450. package/dist/esm/shared/theme-variables.js.map +1 -0
  451. package/dist/esm/splitter/splitter.d.ts.map +1 -1
  452. package/dist/esm/splitter/splitter.js +4 -1
  453. package/dist/esm/splitter/splitter.js.map +1 -1
  454. package/dist/esm/styles/alert.css +1 -1
  455. package/dist/esm/styles/anchor.css +1 -1
  456. package/dist/esm/styles/appbar.css +1 -1
  457. package/dist/esm/styles/autocomplete.css +1 -1
  458. package/dist/esm/styles/avatar.css +1 -1
  459. package/dist/esm/styles/backtop.css +1 -1
  460. package/dist/esm/styles/badge.css +1 -1
  461. package/dist/esm/styles/breadcrumb.css +1 -1
  462. package/dist/esm/styles/button.css +1 -1
  463. package/dist/esm/styles/calendar.css +1 -1
  464. package/dist/esm/styles/card.css +1 -1
  465. package/dist/esm/styles/carousel.css +1 -1
  466. package/dist/esm/styles/cascader.css +1 -1
  467. package/dist/esm/styles/checkbox.css +1 -1
  468. package/dist/esm/styles/collapse.css +1 -1
  469. package/dist/esm/styles/colorpicker.css +1 -1
  470. package/dist/esm/styles/commandpalette.css +1 -1
  471. package/dist/esm/styles/components/alert.css +1 -1
  472. package/dist/esm/styles/components/anchor.css +1 -1
  473. package/dist/esm/styles/components/appbar.css +1 -1
  474. package/dist/esm/styles/components/autocomplete.css +1 -1
  475. package/dist/esm/styles/components/avatar.css +1 -1
  476. package/dist/esm/styles/components/breadcrumb.css +1 -1
  477. package/dist/esm/styles/components/button.css +1 -1
  478. package/dist/esm/styles/components/calendar.css +1 -1
  479. package/dist/esm/styles/components/card.css +1 -1
  480. package/dist/esm/styles/components/carousel.css +1 -1
  481. package/dist/esm/styles/components/cascader.css +1 -1
  482. package/dist/esm/styles/components/checkbox.css +1 -1
  483. package/dist/esm/styles/components/collapse.css +1 -1
  484. package/dist/esm/styles/components/colorpicker.css +1 -1
  485. package/dist/esm/styles/components/commandpalette.css +1 -1
  486. package/dist/esm/styles/components/datepicker.css +1 -1
  487. package/dist/esm/styles/components/descriptions.css +1 -1
  488. package/dist/esm/styles/components/drawer.css +1 -1
  489. package/dist/esm/styles/components/dropdown.css +1 -1
  490. package/dist/esm/styles/components/errorboundary.css +1 -1
  491. package/dist/esm/styles/components/filelist.css +1 -1
  492. package/dist/esm/styles/components/form.css +1 -1
  493. package/dist/esm/styles/components/image.css +1 -1
  494. package/dist/esm/styles/components/input.css +1 -1
  495. package/dist/esm/styles/components/inputnumber.css +1 -1
  496. package/dist/esm/styles/components/inputotp.css +1 -1
  497. package/dist/esm/styles/components/layout.css +1 -1
  498. package/dist/esm/styles/components/loading.css +1 -1
  499. package/dist/esm/styles/components/loadingbar.css +1 -1
  500. package/dist/esm/styles/components/mentions.css +1 -1
  501. package/dist/esm/styles/components/menu.css +1 -1
  502. package/dist/esm/styles/components/message.css +1 -1
  503. package/dist/esm/styles/components/modal.css +1 -1
  504. package/dist/esm/styles/components/notification.css +1 -1
  505. package/dist/esm/styles/components/pagination.css +1 -1
  506. package/dist/esm/styles/components/popover.css +1 -1
  507. package/dist/esm/styles/components/progress.css +1 -1
  508. package/dist/esm/styles/components/radio.css +1 -1
  509. package/dist/esm/styles/components/rate.css +1 -1
  510. package/dist/esm/styles/components/scrollarea.css +1 -1
  511. package/dist/esm/styles/components/scrollbar.css +1 -1
  512. package/dist/esm/styles/components/select.css +1 -1
  513. package/dist/esm/styles/components/shared-calendar.css +1 -1
  514. package/dist/esm/styles/components/slider.css +1 -1
  515. package/dist/esm/styles/components/splitter.css +1 -1
  516. package/dist/esm/styles/components/steps.css +1 -1
  517. package/dist/esm/styles/components/switch.css +1 -1
  518. package/dist/esm/styles/components/table.css +1 -1
  519. package/dist/esm/styles/components/tabletanstack.css +1 -1
  520. package/dist/esm/styles/components/tabs.css +1 -1
  521. package/dist/esm/styles/components/tag.css +1 -1
  522. package/dist/esm/styles/components/textarea.css +1 -1
  523. package/dist/esm/styles/components/timepicker.css +1 -1
  524. package/dist/esm/styles/components/tooltip.css +1 -1
  525. package/dist/esm/styles/components/tour.css +1 -1
  526. package/dist/esm/styles/components/transfer.css +1 -1
  527. package/dist/esm/styles/components/tree.css +1 -1
  528. package/dist/esm/styles/components/treeselect.css +1 -1
  529. package/dist/esm/styles/components/typography.css +1 -1
  530. package/dist/esm/styles/components/upload.css +1 -1
  531. package/dist/esm/styles/components/virtuallist.css +1 -1
  532. package/dist/esm/styles/config-provider.css +1 -1
  533. package/dist/esm/styles/confirm.css +1 -1
  534. package/dist/esm/styles/datepicker.css +1 -1
  535. package/dist/esm/styles/daterangepicker.css +1 -1
  536. package/dist/esm/styles/datetimepicker.css +1 -1
  537. package/dist/esm/styles/descriptions.css +1 -1
  538. package/dist/esm/styles/divider.css +1 -1
  539. package/dist/esm/styles/drawer.css +1 -1
  540. package/dist/esm/styles/dropdown.css +1 -1
  541. package/dist/esm/styles/empty.css +1 -1
  542. package/dist/esm/styles/errorboundary.css +1 -1
  543. package/dist/esm/styles/filelist.css +1 -1
  544. package/dist/esm/styles/flex.css +1 -1
  545. package/dist/esm/styles/floatbutton.css +1 -1
  546. package/dist/esm/styles/form.css +1 -1
  547. package/dist/esm/styles/foundation.css +1 -1
  548. package/dist/esm/styles/grid.css +1 -1
  549. package/dist/esm/styles/image.css +1 -1
  550. package/dist/esm/styles/index.css +1380 -716
  551. package/dist/esm/styles/index.css.map +1 -1
  552. package/dist/esm/styles/infinitescroll.css +1 -1
  553. package/dist/esm/styles/input.css +1 -1
  554. package/dist/esm/styles/inputmask.css +1 -1
  555. package/dist/esm/styles/inputnumber.css +1 -1
  556. package/dist/esm/styles/inputotp.css +1 -1
  557. package/dist/esm/styles/layout.css +1 -1
  558. package/dist/esm/styles/loading.css +1 -1
  559. package/dist/esm/styles/loadingbar.css +1 -1
  560. package/dist/esm/styles/masonry.css +1 -1
  561. package/dist/esm/styles/mentions.css +1 -1
  562. package/dist/esm/styles/menu.css +1 -1
  563. package/dist/esm/styles/message.css +1 -1
  564. package/dist/esm/styles/modal.css +1 -1
  565. package/dist/esm/styles/notification.css +1 -1
  566. package/dist/esm/styles/pagination.css +1 -1
  567. package/dist/esm/styles/popconfirm.css +1 -1
  568. package/dist/esm/styles/popover.css +1 -1
  569. package/dist/esm/styles/progress.css +1 -1
  570. package/dist/esm/styles/qrcode.css +1 -1
  571. package/dist/esm/styles/radio.css +1 -1
  572. package/dist/esm/styles/rate.css +1 -1
  573. package/dist/esm/styles/result.css +1 -1
  574. package/dist/esm/styles/scrollarea.css +1 -1
  575. package/dist/esm/styles/scrollbar.css +1 -1
  576. package/dist/esm/styles/select.css +1 -1
  577. package/dist/esm/styles/skeleton.css +1 -1
  578. package/dist/esm/styles/slider.css +1 -1
  579. package/dist/esm/styles/space.css +1 -1
  580. package/dist/esm/styles/splitter.css +1 -1
  581. package/dist/esm/styles/statistic.css +1 -1
  582. package/dist/esm/styles/steps.css +1 -1
  583. package/dist/esm/styles/switch.css +1 -1
  584. package/dist/esm/styles/table.css +1 -1
  585. package/dist/esm/styles/tabletanstack.css +1 -1
  586. package/dist/esm/styles/tabs.css +1 -1
  587. package/dist/esm/styles/tag.css +1 -1
  588. package/dist/esm/styles/textarea.css +1 -1
  589. package/dist/esm/styles/timeline.css +1 -1
  590. package/dist/esm/styles/timepicker.css +1 -1
  591. package/dist/esm/styles/timerangepicker.css +1 -1
  592. package/dist/esm/styles/tooltip.css +1 -1
  593. package/dist/esm/styles/tour.css +1 -1
  594. package/dist/esm/styles/transfer.css +1 -1
  595. package/dist/esm/styles/tree.css +1 -1
  596. package/dist/esm/styles/treeselect.css +1 -1
  597. package/dist/esm/styles/typography.css +1 -1
  598. package/dist/esm/styles/upload.css +1 -1
  599. package/dist/esm/styles/virtuallist.css +1 -1
  600. package/dist/esm/tabs/tabs.d.ts +4 -2
  601. package/dist/esm/tabs/tabs.d.ts.map +1 -1
  602. package/dist/esm/tabs/tabs.js +14 -8
  603. package/dist/esm/tabs/tabs.js.map +1 -1
  604. package/dist/esm/tailwind-tokens.d.ts.map +1 -1
  605. package/dist/esm/tailwind-tokens.js +1 -1
  606. package/dist/esm/tailwind-tokens.js.map +1 -1
  607. package/dist/esm/textarea/textarea.d.ts.map +1 -1
  608. package/dist/esm/textarea/textarea.js +50 -22
  609. package/dist/esm/textarea/textarea.js.map +1 -1
  610. package/dist/esm/theme.d.ts +15 -0
  611. package/dist/esm/theme.d.ts.map +1 -1
  612. package/dist/esm/theme.js +53 -29
  613. package/dist/esm/theme.js.map +1 -1
  614. package/dist/esm/timeline/timeline.d.ts.map +1 -1
  615. package/dist/esm/timeline/timeline.js +1 -1
  616. package/dist/esm/timeline/timeline.js.map +1 -1
  617. package/dist/esm/timepicker/time-panel.d.ts.map +1 -1
  618. package/dist/esm/timepicker/time-panel.js +8 -2
  619. package/dist/esm/timepicker/time-panel.js.map +1 -1
  620. package/dist/esm/transfer/transfer.d.ts.map +1 -1
  621. package/dist/esm/transfer/transfer.js +5 -5
  622. package/dist/esm/transfer/transfer.js.map +1 -1
  623. package/dist/esm/tree/tree.d.ts.map +1 -1
  624. package/dist/esm/tree/tree.js +13 -6
  625. package/dist/esm/tree/tree.js.map +1 -1
  626. package/dist/esm/treeselect/treeselect.d.ts.map +1 -1
  627. package/dist/esm/treeselect/treeselect.js +5 -4
  628. package/dist/esm/treeselect/treeselect.js.map +1 -1
  629. package/dist/esm/virtuallist/virtuallist.d.ts.map +1 -1
  630. package/dist/esm/virtuallist/virtuallist.js +9 -3
  631. package/dist/esm/virtuallist/virtuallist.js.map +1 -1
  632. package/dist/tailwind.css +1 -1
  633. package/package.json +1 -22
  634. package/dist/cjs/browser/modules/segmented/index.cjs.map +0 -1
  635. package/dist/cjs/browser/modules/segmented/segmented.cjs +0 -127
  636. package/dist/cjs/browser/modules/segmented/segmented.cjs.map +0 -1
  637. package/dist/cjs/browser/segmented.cjs +0 -2
  638. package/dist/cjs/segmented/index.cjs.map +0 -1
  639. package/dist/cjs/segmented/index.d.cts +0 -3
  640. package/dist/cjs/segmented/index.d.cts.map +0 -1
  641. package/dist/cjs/segmented/segmented.cjs +0 -125
  642. package/dist/cjs/segmented/segmented.cjs.map +0 -1
  643. package/dist/cjs/segmented/segmented.d.cts +0 -21
  644. package/dist/cjs/segmented/segmented.d.cts.map +0 -1
  645. package/dist/cjs/styles/components/segmented.css +0 -1
  646. package/dist/cjs/styles/segmented.css +0 -1
  647. package/dist/esm/browser/modules/segmented/index.js +0 -2
  648. package/dist/esm/browser/modules/segmented/segmented.js +0 -89
  649. package/dist/esm/browser/modules/segmented/segmented.js.map +0 -1
  650. package/dist/esm/browser/segmented.js +0 -2
  651. package/dist/esm/segmented/index.d.ts +0 -3
  652. package/dist/esm/segmented/index.d.ts.map +0 -1
  653. package/dist/esm/segmented/index.js +0 -2
  654. package/dist/esm/segmented/segmented.d.ts +0 -21
  655. package/dist/esm/segmented/segmented.d.ts.map +0 -1
  656. package/dist/esm/segmented/segmented.js +0 -87
  657. package/dist/esm/segmented/segmented.js.map +0 -1
  658. package/dist/esm/styles/components/segmented.css +0 -1
  659. package/dist/esm/styles/segmented.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"config-provider/component-defaults.cjs","sources":["webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../../../../../src/config-provider/component-defaults.ts"],"sourcesContent":["__webpack_require__.d = (exports, getters, values) => {\n\tvar define = (defs, kind) => {\n\t\tfor(var key in defs) {\n\t\t\tif(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });\n\t\t\t}\n\t\t}\n\t};\n\tdefine(getters, \"get\");\n\tdefine(values, \"value\");\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type { HTMLAttributes } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { AlertProps } from '../alert/alert';\nimport type { AffixProps, AnchorProps } from '../anchor/anchor';\nimport type { AppBarProps, BottomNavigationProps, ToolbarProps } from '../appbar/appbar';\nimport type { AutoCompleteProps } from '../autocomplete/autocomplete';\nimport type { AvatarProps } from '../avatar/avatar';\nimport type { AvatarGroupProps } from '../avatar/group';\nimport type { BackTopProps } from '../backtop/backtop';\nimport type { BadgeProps } from '../badge/badge';\nimport type { BreadcrumbProps } from '../breadcrumb/breadcrumb';\nimport type { ButtonProps } from '../button/button';\nimport type { ButtonGroupProps, SplitButtonProps } from '../button/group';\nimport type { CalendarProps } from '../calendar/calendar';\nimport type { CardProps } from '../card/card';\nimport type { CarouselProps } from '../carousel/carousel';\nimport type { CascaderProps } from '../cascader/cascader';\nimport type { CheckboxProps } from '../checkbox/checkbox';\nimport type { CheckboxGroupProps } from '../checkbox/group';\nimport type { CollapseProps } from '../collapse/collapse';\nimport type { ColorPickerProps } from '../colorpicker/colorpicker';\nimport type { CommandPaletteProps } from '../commandpalette/commandpalette';\nimport type { ConfirmOptions } from '../confirm/confirm';\nimport type { DatePickerProps } from '../datepicker/datepicker';\nimport type { DateRangePickerProps } from '../daterangepicker/daterangepicker';\nimport type { DateTimePickerProps } from '../datetimepicker/datetimepicker';\nimport type { DescriptionsProps } from '../descriptions/descriptions';\nimport type { DividerProps } from '../divider/divider';\nimport type { DrawerProps } from '../drawer/drawer';\nimport type { DropdownProps } from '../dropdown/dropdown';\nimport type { EmptyProps } from '../empty/empty';\nimport type { ErrorBoundaryProps } from '../errorboundary/errorboundary';\nimport type { FileListProps } from '../filelist/filelist';\nimport type { FlexProps } from '../flex/flex';\nimport type { FloatButtonGroupProps, FloatButtonProps } from '../floatbutton/floatbutton';\nimport type {\n FormErrorSummaryProps,\n FormFieldProps,\n FormGroupProps,\n FormProps,\n} from '../form/form';\nimport type { FormListProps } from '../form/list';\nimport type { ColProps, GridProps, RowProps } from '../grid/grid';\nimport type { ImagePreviewGroupProps, ImagePreviewProps, ImageProps } from '../image/image';\nimport type { InfiniteScrollProps } from '../infinitescroll/infinitescroll';\nimport type { InputGroupProps, InputSearchProps } from '../input/group';\nimport type { InputProps } from '../input/input';\nimport type { InputMaskProps } from '../inputmask/inputmask';\nimport type { InputNumberProps } from '../inputnumber/inputnumber';\nimport type { InputOTPProps } from '../inputotp/inputotp';\nimport type { LayoutProps, LayoutSiderProps } from '../layout/layout';\nimport type { LoadingProps } from '../loading/loading';\nimport type { LoadingBarProps } from '../loadingbar/loadingbar';\nimport type { MasonryProps } from '../masonry/masonry';\nimport type { MentionsProps } from '../mentions/mentions';\nimport type { MenuProps } from '../menu/menu';\nimport type { MessageOptions, MessageProps } from '../message/message';\nimport type { ModalProps } from '../modal/modal';\nimport type { NotificationOptions, NotificationProps } from '../notification/notification';\nimport type { PaginationProps } from '../pagination/pagination';\nimport type { PopconfirmProps } from '../popconfirm/popconfirm';\nimport type { PopoverProps } from '../popover/popover';\nimport type { ProgressProps } from '../progress/progress';\nimport type { QRCodeProps } from '../qrcode/qrcode';\nimport type { RadioGroupProps, RadioProps } from '../radio/radio';\nimport type { RateProps } from '../rate/rate';\nimport type { ResultProps } from '../result/result';\nimport type { ScrollAreaProps } from '../scrollarea/scrollarea';\nimport type { ScrollbarProps } from '../scrollbar/scrollbar';\nimport type { SegmentedProps } from '../segmented/segmented';\nimport type { SelectProps } from '../select/select';\nimport type { SkeletonProps } from '../skeleton/skeleton';\nimport type { SliderProps } from '../slider/slider';\nimport type { SpaceProps } from '../space/space';\nimport type { SplitterProps } from '../splitter/splitter';\nimport type { CountdownProps, StatisticProps } from '../statistic/statistic';\nimport type { StepsProps } from '../steps/steps';\nimport type { SwitchProps } from '../switch/switch';\nimport type {\n TableCellProps,\n TableColumnHeaderProps,\n TableErrorProps,\n TableProps,\n TableRowProps,\n TableStateProps,\n} from '../table/table';\nimport type {\n DataTableColumnVisibilityProps,\n DataTableContentProps,\n DataTablePaginationProps,\n DataTablePresentationProps,\n DataTableSearchProps,\n} from '../tabletanstack/defaults';\nimport type { TabsProps } from '../tabs/tabs';\nimport type { CheckableTagProps, TagGroupProps } from '../tag/group';\nimport type { TagProps } from '../tag/tag';\nimport type { TextareaProps } from '../textarea/textarea';\nimport type { TimelineProps } from '../timeline/timeline';\nimport type { TimePickerProps } from '../timepicker/timepicker';\nimport type { TimeRangePickerProps } from '../timerangepicker/timerangepicker';\nimport type { TooltipProps } from '../tooltip/tooltip';\nimport type { TourProps } from '../tour/tour';\nimport type { TransferProps } from '../transfer/transfer';\nimport type { TreeProps } from '../tree/tree';\nimport type { TreeSelectProps } from '../treeselect/treeselect';\nimport type {\n LinkProps,\n ParagraphProps,\n TextProps,\n TitleProps,\n TypographyProps,\n} from '../typography/typography';\nimport type { UploadProps } from '../upload/upload';\nimport type { VirtualListProps } from '../virtuallist/virtuallist';\n\n/** Only props independent of the caller's item type can cross a generic component boundary. */\ntype GenericComponentName = 'FormList' | 'VirtualList' | 'DataTable';\n\n/** Full public props keep each hook key tied to its component, including Select's union. */\ninterface ComponentPropsMap {\n Affix: AffixProps;\n Alert: AlertProps;\n Anchor: AnchorProps;\n AppBar: AppBarProps;\n AutoComplete: AutoCompleteProps;\n Avatar: AvatarProps;\n AvatarGroup: AvatarGroupProps;\n BackTop: BackTopProps;\n Badge: BadgeProps;\n BottomNavigation: BottomNavigationProps;\n Breadcrumb: BreadcrumbProps;\n Button: ButtonProps;\n ButtonGroup: ButtonGroupProps;\n Calendar: CalendarProps;\n Card: CardProps;\n Carousel: CarouselProps;\n Cascader: CascaderProps;\n CheckableTag: CheckableTagProps;\n Checkbox: CheckboxProps;\n CheckboxGroup: CheckboxGroupProps;\n Col: ColProps;\n Collapse: CollapseProps;\n ColorPicker: ColorPickerProps;\n CommandPalette: CommandPaletteProps;\n Confirm: ConfirmOptions;\n Countdown: CountdownProps;\n DataTableColumnVisibility: DataTableColumnVisibilityProps;\n DataTableContent: DataTableContentProps;\n DataTableFooter: HTMLAttributes<HTMLDivElement>;\n DataTablePagination: DataTablePaginationProps;\n DataTableSearch: DataTableSearchProps;\n DataTableToolbar: HTMLAttributes<HTMLDivElement>;\n DatePicker: DatePickerProps;\n DateRangePicker: DateRangePickerProps;\n DateTimePicker: DateTimePickerProps;\n Descriptions: DescriptionsProps;\n Divider: DividerProps;\n Drawer: DrawerProps;\n Dropdown: DropdownProps;\n Empty: EmptyProps;\n ErrorBoundary: ErrorBoundaryProps;\n FileList: FileListProps;\n Flex: FlexProps;\n FloatButton: FloatButtonProps;\n FloatButtonGroup: FloatButtonGroupProps;\n Form: FormProps;\n FormErrorSummary: FormErrorSummaryProps;\n FormField: FormFieldProps;\n FormGroup: FormGroupProps;\n Grid: GridProps;\n Image: ImageProps;\n ImagePreview: ImagePreviewProps;\n ImagePreviewGroup: ImagePreviewGroupProps;\n InfiniteScroll: InfiniteScrollProps;\n Input: InputProps;\n InputGroup: InputGroupProps;\n InputMask: InputMaskProps;\n InputNumber: InputNumberProps;\n InputOTP: InputOTPProps;\n InputSearch: InputSearchProps;\n Layout: LayoutProps;\n LayoutContent: HTMLAttributes<HTMLElement>;\n LayoutFooter: HTMLAttributes<HTMLElement>;\n LayoutHeader: HTMLAttributes<HTMLElement>;\n LayoutSider: LayoutSiderProps;\n Link: LinkProps;\n Loading: LoadingProps;\n LoadingBar: LoadingBarProps;\n Masonry: MasonryProps;\n Mentions: MentionsProps;\n Menu: MenuProps;\n Message: MessageProps;\n Modal: ModalProps;\n Notification: NotificationProps;\n Pagination: PaginationProps;\n Paragraph: ParagraphProps;\n Popconfirm: PopconfirmProps;\n Popover: PopoverProps;\n Progress: ProgressProps;\n QRCode: QRCodeProps;\n Radio: RadioProps;\n RadioGroup: RadioGroupProps;\n Rate: RateProps;\n Result: ResultProps;\n Row: RowProps;\n ScrollArea: ScrollAreaProps;\n Scrollbar: ScrollbarProps;\n Segmented: SegmentedProps;\n Select: SelectProps;\n Skeleton: SkeletonProps;\n Slider: SliderProps;\n Space: SpaceProps;\n SplitButton: SplitButtonProps;\n Splitter: SplitterProps;\n Statistic: StatisticProps;\n Steps: StepsProps;\n Switch: SwitchProps;\n Table: TableProps;\n TableBody: HTMLAttributes<HTMLTableSectionElement>;\n TableCaption: HTMLAttributes<HTMLTableCaptionElement>;\n TableCell: TableCellProps;\n TableColumnHeader: TableColumnHeaderProps;\n TableEmpty: TableStateProps;\n TableError: TableErrorProps;\n TableFooter: HTMLAttributes<HTMLTableSectionElement>;\n TableHeader: HTMLAttributes<HTMLTableSectionElement>;\n TableLoading: TableStateProps;\n TableRow: TableRowProps;\n Tabs: TabsProps;\n Tag: TagProps;\n TagGroup: TagGroupProps;\n Text: TextProps;\n Textarea: TextareaProps;\n Timeline: TimelineProps;\n TimePicker: TimePickerProps;\n TimeRangePicker: TimeRangePickerProps;\n Title: TitleProps;\n Toolbar: ToolbarProps;\n Tooltip: TooltipProps;\n Tour: TourProps;\n Transfer: TransferProps;\n Tree: TreeProps;\n TreeSelect: TreeSelectProps;\n Typography: TypographyProps;\n Upload: UploadProps;\n}\n\n/** Default props for supported components; null clears that component's inherited defaults. */\nexport interface LeafComponentDefaults {\n Affix?: Partial<Omit<AffixProps, 'key' | 'ref'>> | null;\n Alert?: Partial<Omit<AlertProps, 'key' | 'ref' | 'title'>> | null;\n Anchor?: Partial<Omit<AnchorProps, 'key' | 'ref' | 'items'>> | null;\n AppBar?: Partial<Omit<AppBarProps, 'key' | 'ref'>> | null;\n AutoComplete?: Partial<Omit<AutoCompleteProps, 'key' | 'ref' | 'options'>> | null;\n Avatar?: Partial<Omit<AvatarProps, 'key' | 'ref'>> | null;\n AvatarGroup?: Partial<Omit<AvatarGroupProps, 'key' | 'ref'>> | null;\n BackTop?: Partial<Omit<BackTopProps, 'key' | 'ref'>> | null;\n Badge?: Partial<Omit<BadgeProps, 'key' | 'ref'>> | null;\n BottomNavigation?: Partial<Omit<BottomNavigationProps, 'key' | 'ref' | 'items'>> | null;\n Breadcrumb?: Partial<Omit<BreadcrumbProps, 'key' | 'ref' | 'items'>> | null;\n Button?: Partial<Omit<ButtonProps, 'key' | 'ref'>> | null;\n ButtonGroup?: Partial<Omit<ButtonGroupProps, 'key' | 'ref'>> | null;\n Calendar?: Partial<Omit<CalendarProps, 'key' | 'ref'>> | null;\n Card?: Partial<Omit<CardProps, 'key' | 'ref'>> | null;\n Carousel?: Partial<Omit<CarouselProps, 'key' | 'ref'>> | null;\n Cascader?: Partial<\n Omit<\n CascaderProps,\n 'key' | 'ref' | 'options' | 'multiple' | 'value' | 'defaultValue' | 'onChange'\n >\n > | null;\n CheckableTag?: Partial<Omit<CheckableTagProps, 'key' | 'ref'>> | null;\n Checkbox?: Partial<Omit<CheckboxProps, 'key' | 'ref'>> | null;\n CheckboxGroup?: Partial<Omit<CheckboxGroupProps, 'key' | 'ref' | 'options'>> | null;\n Col?: Partial<Omit<ColProps, 'key' | 'ref'>> | null;\n Collapse?: Partial<Omit<CollapseProps, 'key' | 'ref' | 'items'>> | null;\n ColorPicker?: Partial<Omit<ColorPickerProps, 'key' | 'ref'>> | null;\n CommandPalette?: Partial<Omit<CommandPaletteProps, 'key' | 'ref' | 'items'>> | null;\n Confirm?: Partial<Omit<ConfirmOptions, 'key' | 'ref'>> | null;\n Countdown?: Partial<Omit<CountdownProps, 'key' | 'ref' | 'value'>> | null;\n DataTable?: Partial<Omit<DataTablePresentationProps, 'tableRef'>> | null;\n DataTableColumnVisibility?: Partial<Omit<DataTableColumnVisibilityProps, 'key' | 'ref'>> | null;\n DataTableContent?: Partial<Omit<DataTableContentProps, 'key' | 'ref'>> | null;\n DataTableFooter?: Partial<Omit<HTMLAttributes<HTMLDivElement>, 'key' | 'ref'>> | null;\n DataTablePagination?: Partial<Omit<DataTablePaginationProps, 'key' | 'ref'>> | null;\n DataTableSearch?: Partial<Omit<DataTableSearchProps, 'key' | 'ref'>> | null;\n DataTableToolbar?: Partial<Omit<HTMLAttributes<HTMLDivElement>, 'key' | 'ref'>> | null;\n DatePicker?: Partial<\n Omit<DatePickerProps, 'key' | 'ref' | 'multiple' | 'value' | 'defaultValue' | 'onChange'>\n > | null;\n DateRangePicker?: Partial<Omit<DateRangePickerProps, 'key' | 'ref'>> | null;\n DateTimePicker?: Partial<Omit<DateTimePickerProps, 'key' | 'ref'>> | null;\n Descriptions?: Partial<Omit<DescriptionsProps, 'key' | 'ref' | 'items'>> | null;\n Divider?: Partial<Omit<DividerProps, 'key' | 'ref'>> | null;\n Drawer?: Partial<Omit<DrawerProps, 'key' | 'ref' | 'open'>> | null;\n Dropdown?: Partial<Omit<DropdownProps, 'key' | 'ref' | 'items' | 'children'>> | null;\n Empty?: Partial<Omit<EmptyProps, 'key' | 'ref'>> | null;\n ErrorBoundary?: Partial<Omit<ErrorBoundaryProps, 'key' | 'ref'>> | null;\n FileList?: Partial<Omit<FileListProps, 'key' | 'ref' | 'items'>> | null;\n Flex?: Partial<Omit<FlexProps, 'key' | 'ref'>> | null;\n FloatButton?: Partial<Omit<FloatButtonProps, 'key' | 'ref'>> | null;\n FloatButtonGroup?: Partial<Omit<FloatButtonGroupProps, 'key' | 'ref' | 'actions'>> | null;\n Form?: Partial<Omit<FormProps, 'key' | 'ref'>> | null;\n FormErrorSummary?: Partial<Omit<FormErrorSummaryProps, 'key' | 'ref'>> | null;\n FormField?: Partial<Omit<FormFieldProps, 'key' | 'ref'>> | null;\n FormGroup?: Partial<Omit<FormGroupProps, 'key' | 'ref'>> | null;\n FormList?: Partial<\n Omit<\n FormListProps<unknown>,\n 'name' | 'children' | 'value' | 'defaultValue' | 'onChange' | 'itemKey'\n >\n > | null;\n Grid?: Partial<Omit<GridProps, 'key' | 'ref'>> | null;\n Image?: Partial<Omit<ImageProps, 'key' | 'ref'>> | null;\n ImagePreview?: Partial<\n Omit<ImagePreviewProps, 'key' | 'ref' | 'items' | 'open' | 'onClose'>\n > | null;\n ImagePreviewGroup?: Partial<Omit<ImagePreviewGroupProps, 'key' | 'ref'>> | null;\n InfiniteScroll?: Partial<\n Omit<InfiniteScrollProps, 'key' | 'ref' | 'dataLength' | 'hasMore' | 'onLoadMore'>\n > | null;\n Input?: Partial<Omit<InputProps, 'key' | 'ref'>> | null;\n InputGroup?: Partial<Omit<InputGroupProps, 'key' | 'ref'>> | null;\n InputMask?: Partial<Omit<InputMaskProps, 'key' | 'ref' | 'mask'>> | null;\n InputNumber?: Partial<\n Omit<\n InputNumberProps,\n 'key' | 'ref' | 'stringMode' | 'value' | 'defaultValue' | 'onChange' | 'min' | 'max' | 'step'\n >\n > | null;\n InputOTP?: Partial<Omit<InputOTPProps, 'key' | 'ref'>> | null;\n InputSearch?: Partial<Omit<InputSearchProps, 'key' | 'ref'>> | null;\n Layout?: Partial<Omit<LayoutProps, 'key' | 'ref'>> | null;\n LayoutContent?: Partial<Omit<HTMLAttributes<HTMLElement>, 'key' | 'ref'>> | null;\n LayoutFooter?: Partial<Omit<HTMLAttributes<HTMLElement>, 'key' | 'ref'>> | null;\n LayoutHeader?: Partial<Omit<HTMLAttributes<HTMLElement>, 'key' | 'ref'>> | null;\n LayoutSider?: Partial<Omit<LayoutSiderProps, 'key' | 'ref'>> | null;\n Link?: Partial<Omit<LinkProps, 'key' | 'ref'>> | null;\n Loading?: Partial<Omit<LoadingProps, 'key' | 'ref'>> | null;\n LoadingBar?: Partial<Omit<LoadingBarProps, 'key' | 'ref' | 'active' | 'progress'>> | null;\n Masonry?: Partial<Omit<MasonryProps, 'key' | 'ref'>> | null;\n Mentions?: Partial<Omit<MentionsProps, 'key' | 'ref' | 'options'>> | null;\n Menu?: Partial<Omit<MenuProps, 'key' | 'ref' | 'items'>> | null;\n Message?: Partial<Omit<MessageOptions, 'key' | 'content'>> | null;\n Modal?: Partial<Omit<ModalProps, 'key' | 'ref' | 'open'>> | null;\n Notification?: Partial<Omit<NotificationOptions, 'key' | 'title'>> | null;\n Pagination?: Partial<Omit<PaginationProps, 'key' | 'ref' | 'total'>> | null;\n Paragraph?: Partial<Omit<ParagraphProps, 'key' | 'ref'>> | null;\n Popconfirm?: Partial<Omit<PopconfirmProps, 'key' | 'ref' | 'children' | 'title'>> | null;\n Popover?: Partial<Omit<PopoverProps, 'key' | 'ref' | 'children' | 'content'>> | null;\n Progress?: Partial<Omit<ProgressProps, 'key' | 'ref'>> | null;\n QRCode?: Partial<Omit<QRCodeProps, 'key' | 'ref' | 'value'>> | null;\n Radio?: Partial<Omit<RadioProps, 'key' | 'ref'>> | null;\n RadioGroup?: Partial<Omit<RadioGroupProps, 'key' | 'ref' | 'options'>> | null;\n Rate?: Partial<Omit<RateProps, 'key' | 'ref'>> | null;\n Result?: Partial<Omit<ResultProps, 'key' | 'ref'>> | null;\n Row?: Partial<Omit<RowProps, 'key' | 'ref'>> | null;\n ScrollArea?: Partial<Omit<ScrollAreaProps, 'key' | 'ref'>> | null;\n Scrollbar?: Partial<Omit<ScrollbarProps, 'key' | 'ref'>> | null;\n Segmented?: Partial<Omit<SegmentedProps, 'key' | 'ref' | 'options'>> | null;\n /** Required data, mode-dependent values and callbacks belong on each Select. */\n Select?: Partial<\n Omit<\n SelectProps,\n 'key' | 'ref' | 'options' | 'multiple' | 'value' | 'defaultValue' | 'onChange'\n >\n > | null;\n Skeleton?: Partial<Omit<SkeletonProps, 'key' | 'ref'>> | null;\n Slider?: Partial<\n Omit<SliderProps, 'key' | 'ref' | 'range' | 'value' | 'defaultValue' | 'onChange'>\n > | null;\n Space?: Partial<Omit<SpaceProps, 'key' | 'ref'>> | null;\n SplitButton?: Partial<Omit<SplitButtonProps, 'key' | 'ref' | 'items'>> | null;\n Splitter?: Partial<Omit<SplitterProps, 'key' | 'ref' | 'panels'>> | null;\n Statistic?: Partial<Omit<StatisticProps, 'key' | 'ref' | 'value'>> | null;\n Steps?: Partial<Omit<StepsProps, 'key' | 'ref' | 'items'>> | null;\n Switch?: Partial<Omit<SwitchProps, 'key' | 'ref'>> | null;\n Table?: Partial<Omit<TableProps, 'key' | 'ref' | 'scrollRef'>> | null;\n TableBody?: Partial<Omit<HTMLAttributes<HTMLTableSectionElement>, 'key' | 'ref'>> | null;\n TableCaption?: Partial<Omit<HTMLAttributes<HTMLTableCaptionElement>, 'key' | 'ref'>> | null;\n TableCell?: Partial<Omit<TableCellProps, 'key' | 'ref'>> | null;\n TableColumnHeader?: Partial<Omit<TableColumnHeaderProps, 'key' | 'ref'>> | null;\n TableEmpty?: Partial<Omit<TableStateProps, 'key' | 'ref'>> | null;\n TableError?: Partial<Omit<TableErrorProps, 'key' | 'ref'>> | null;\n TableFooter?: Partial<Omit<HTMLAttributes<HTMLTableSectionElement>, 'key' | 'ref'>> | null;\n TableHeader?: Partial<Omit<HTMLAttributes<HTMLTableSectionElement>, 'key' | 'ref'>> | null;\n TableLoading?: Partial<Omit<TableStateProps, 'key' | 'ref'>> | null;\n TableRow?: Partial<Omit<TableRowProps, 'key' | 'ref'>> | null;\n Tabs?: Partial<Omit<TabsProps, 'key' | 'ref' | 'items'>> | null;\n Tag?: Partial<Omit<TagProps, 'key' | 'ref'>> | null;\n TagGroup?: Partial<Omit<TagGroupProps, 'key' | 'ref' | 'options'>> | null;\n Text?: Partial<Omit<TextProps, 'key' | 'ref'>> | null;\n Textarea?: Partial<Omit<TextareaProps, 'key' | 'ref'>> | null;\n Timeline?: Partial<Omit<TimelineProps, 'key' | 'ref' | 'items'>> | null;\n TimePicker?: Partial<Omit<TimePickerProps, 'key' | 'ref'>> | null;\n TimeRangePicker?: Partial<Omit<TimeRangePickerProps, 'key' | 'ref'>> | null;\n Title?: Partial<Omit<TitleProps, 'key' | 'ref'>> | null;\n Toolbar?: Partial<Omit<ToolbarProps, 'key' | 'ref'>> | null;\n Tooltip?: Partial<Omit<TooltipProps, 'key' | 'ref' | 'content' | 'children'>> | null;\n Tour?: Partial<Omit<TourProps, 'key' | 'ref' | 'open' | 'steps'>> | null;\n Transfer?: Partial<Omit<TransferProps, 'key' | 'ref' | 'items'>> | null;\n Tree?: Partial<Omit<TreeProps, 'key' | 'ref' | 'data'>> | null;\n TreeSelect?: Partial<\n Omit<\n TreeSelectProps,\n | 'key'\n | 'ref'\n | 'options'\n | 'multiple'\n | 'treeCheckable'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n >\n > | null;\n Typography?: Partial<Omit<TypographyProps, 'key' | 'ref'>> | null;\n Upload?: Partial<Omit<UploadProps, 'key' | 'ref'>> | null;\n VirtualList?:\n | (Partial<\n Omit<VirtualListProps<unknown>, 'items' | 'itemKey' | 'renderItem' | 'estimateSize'>\n > & { estimateSize?: number })\n | null;\n}\n\nexport const ComponentDefaultsContext = createContext<LeafComponentDefaults>({});\n\n/** Supplement missing props without copying unless a defined default is used. */\nexport function mergeComponentProps<Props extends object>(\n defaults: Partial<Props> | null | undefined,\n props: Props,\n): Props {\n if (!defaults) return props;\n let resolved = props;\n for (const key of Object.keys(defaults) as (keyof Props)[]) {\n const value = defaults[key];\n if (value !== undefined && props[key] === undefined) {\n if (resolved === props) resolved = { ...props };\n resolved[key] = value as Props[typeof key];\n }\n }\n return resolved;\n}\n\n/** Merge scopes by component and prop; nested prop values are replaced as a whole. */\nexport function mergeComponentDefaults(\n parent: LeafComponentDefaults,\n overrides: LeafComponentDefaults | undefined,\n): LeafComponentDefaults {\n if (!overrides) return parent;\n let merged = parent;\n for (const name of Object.keys(overrides) as (keyof LeafComponentDefaults)[]) {\n const incoming = overrides[name];\n if (incoming === undefined) continue;\n const inherited = parent[name] ?? undefined;\n if (incoming === null) {\n if (inherited == null) continue;\n if (merged === parent) merged = { ...parent };\n delete merged[name];\n continue;\n }\n let entry = inherited;\n for (const key of Object.keys(incoming)) {\n const value = (incoming as Record<string, unknown>)[key];\n if (\n value === undefined ||\n value === (inherited as Record<string, unknown> | undefined)?.[key]\n )\n continue;\n if (entry === inherited) entry = { ...inherited };\n (entry as Record<string, unknown>)[key] = value;\n }\n if (entry !== inherited) {\n if (merged === parent) merged = { ...parent };\n // Each entry remains the same component's props; only the dynamic key loses that relation.\n (merged as Record<string, object | undefined>)[name] = entry;\n }\n }\n return merged;\n}\n\nexport function useComponentProps<Name extends keyof ComponentPropsMap>(\n name: Name,\n props: ComponentPropsMap[Name],\n): ComponentPropsMap[Name] {\n const defaults = useContext(ComponentDefaultsContext)[name];\n return mergeComponentProps(\n defaults as Partial<ComponentPropsMap[Name]> | null | undefined,\n props,\n );\n}\n\n/** Generic owners merge this type-independent projection into their own complete props. */\nexport function useGenericComponentDefaults<Name extends GenericComponentName>(name: Name) {\n return useContext(ComponentDefaultsContext)[name];\n}\n\n/** Read defaults for an API request without invoking hooks from the request callback. */\nexport function useComponentDefaults<Name extends keyof LeafComponentDefaults>(name: Name) {\n return useContext(ComponentDefaultsContext)[name];\n}\n"],"names":["__webpack_require__","getters","values","define","defs","kind","key","Object","obj","prop","Symbol","ComponentDefaultsContext","createContext","mergeComponentProps","defaults","props","resolved","value","undefined","mergeComponentDefaults","parent","overrides","merged","name","incoming","inherited","entry","useComponentProps","useContext","useGenericComponentDefaults","useComponentDefaults"],"mappings":";;;;IAAAA,oBAAoB,CAAC,GAAG,CAAC,UAASC,SAASC;QAC1C,IAAIC,SAAS,CAACC,MAAMC;YACnB,IAAI,IAAIC,OAAOF,KACd,IAAGJ,oBAAoB,CAAC,CAACI,MAAME,QAAQ,CAACN,oBAAoB,CAAC,CAAC,UAASM,MACtEC,OAAO,cAAc,CAAC,UAASD,KAAK;gBAAE,YAAY;gBAAM,CAACD,KAAK,EAAED,IAAI,CAACE,IAAI;YAAC;QAG7E;QACAH,OAAOF,SAAS;QAChBE,OAAOD,QAAQ;IAChB;;;ICVAF,oBAAoB,CAAC,GAAG,CAACQ,KAAKC,OAAUF,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACC,KAAKC;;;ICClFT,oBAAoB,CAAC,GAAG,CAAC;QACxB,IAAG,AAAkB,MAAlB,OAAOU,UAA0BA,OAAO,WAAW,EACrDH,OAAO,cAAc,CAAC,UAASG,OAAO,WAAW,EAAE;YAAE,OAAO;QAAS;QAEtEH,OAAO,cAAc,CAAC,UAAS,cAAc;YAAE,OAAO;QAAK;IAC5D;;;;;;;;;;;;;ACkaO,MAAMI,2BAA2BC,AAAAA,IAAAA,+BAAAA,aAAAA,AAAAA,EAAqC,CAAC;AAGvE,SAASC,oBACdC,QAA2C,EAC3CC,KAAY;IAEZ,IAAI,CAACD,UAAU,OAAOC;IACtB,IAAIC,WAAWD;IACf,KAAK,MAAMT,OAAOC,OAAO,IAAI,CAACO,UAA8B;QAC1D,MAAMG,QAAQH,QAAQ,CAACR,IAAI;QAC3B,IAAIW,AAAUC,WAAVD,SAAuBF,AAAeG,WAAfH,KAAK,CAACT,IAAI,EAAgB;YACnD,IAAIU,aAAaD,OAAOC,WAAW;gBAAE,GAAGD,KAAK;YAAC;YAC9CC,QAAQ,CAACV,IAAI,GAAGW;QAClB;IACF;IACA,OAAOD;AACT;AAGO,SAASG,uBACdC,MAA6B,EAC7BC,SAA4C;IAE5C,IAAI,CAACA,WAAW,OAAOD;IACvB,IAAIE,SAASF;IACb,KAAK,MAAMG,QAAQhB,OAAO,IAAI,CAACc,WAA+C;QAC5E,MAAMG,WAAWH,SAAS,CAACE,KAAK;QAChC,IAAIC,AAAaN,WAAbM,UAAwB;QAC5B,MAAMC,YAAYL,MAAM,CAACG,KAAK,IAAIL;QAClC,IAAIM,AAAa,SAAbA,UAAmB;YACrB,IAAIC,AAAa,QAAbA,WAAmB;YACvB,IAAIH,WAAWF,QAAQE,SAAS;gBAAE,GAAGF,MAAM;YAAC;YAC5C,OAAOE,MAAM,CAACC,KAAK;YACnB;QACF;QACA,IAAIG,QAAQD;QACZ,KAAK,MAAMnB,OAAOC,OAAO,IAAI,CAACiB,UAAW;YACvC,MAAMP,QAASO,QAAoC,CAAClB,IAAI;YACxD,IACEW,AAAUC,WAAVD,SACAA,UAAWQ,WAAmD,CAACnB,IAAI;gBAGrE,IAAIoB,UAAUD,WAAWC,QAAQ;oBAAE,GAAGD,SAAS;gBAAC;gBAC/CC,KAAiC,CAACpB,IAAI,GAAGW;;QAC5C;QACA,IAAIS,UAAUD,WAAW;YACvB,IAAIH,WAAWF,QAAQE,SAAS;gBAAE,GAAGF,MAAM;YAAC;YAE3CE,MAA6C,CAACC,KAAK,GAAGG;QACzD;IACF;IACA,OAAOJ;AACT;AAEO,SAASK,kBACdJ,IAAU,EACVR,KAA8B;IAE9B,MAAMD,WAAWc,AAAAA,IAAAA,+BAAAA,UAAAA,AAAAA,EAAWjB,yBAAyB,CAACY,KAAK;IAC3D,OAAOV,oBACLC,UACAC;AAEJ;AAGO,SAASc,4BAA+DN,IAAU;IACvF,OAAOK,AAAAA,IAAAA,+BAAAA,UAAAA,AAAAA,EAAWjB,yBAAyB,CAACY,KAAK;AACnD;AAGO,SAASO,qBAA+DP,IAAU;IACvF,OAAOK,AAAAA,IAAAA,+BAAAA,UAAAA,AAAAA,EAAWjB,yBAAyB,CAACY,KAAK;AACnD"}
1
+ {"version":3,"file":"config-provider/component-defaults.cjs","sources":["webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../../../../../src/config-provider/component-defaults.ts"],"sourcesContent":["__webpack_require__.d = (exports, getters, values) => {\n\tvar define = (defs, kind) => {\n\t\tfor(var key in defs) {\n\t\t\tif(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });\n\t\t\t}\n\t\t}\n\t};\n\tdefine(getters, \"get\");\n\tdefine(values, \"value\");\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type { HTMLAttributes } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { AlertProps } from '../alert/alert';\nimport type { AffixProps, AnchorProps } from '../anchor/anchor';\nimport type { AppBarProps, BottomNavigationProps, ToolbarProps } from '../appbar/appbar';\nimport type { AutoCompleteProps } from '../autocomplete/autocomplete';\nimport type { AvatarProps } from '../avatar/avatar';\nimport type { AvatarGroupProps } from '../avatar/group';\nimport type { BackTopProps } from '../backtop/backtop';\nimport type { BadgeProps } from '../badge/badge';\nimport type { BreadcrumbProps } from '../breadcrumb/breadcrumb';\nimport type { ButtonProps } from '../button/button';\nimport type { ButtonGroupProps, SplitButtonProps } from '../button/group';\nimport type { CalendarProps } from '../calendar/calendar';\nimport type { CardProps } from '../card/card';\nimport type { CarouselProps } from '../carousel/carousel';\nimport type { CascaderProps } from '../cascader/cascader';\nimport type { CheckboxProps } from '../checkbox/checkbox';\nimport type { CheckboxGroupProps } from '../checkbox/group';\nimport type { CollapseProps } from '../collapse/collapse';\nimport type { ColorPickerProps } from '../colorpicker/colorpicker';\nimport type { CommandPaletteProps } from '../commandpalette/commandpalette';\nimport type { ConfirmOptions } from '../confirm/confirm';\nimport type { DatePickerProps } from '../datepicker/datepicker';\nimport type { DateRangePickerProps } from '../daterangepicker/daterangepicker';\nimport type { DateTimePickerProps } from '../datetimepicker/datetimepicker';\nimport type { DescriptionsProps } from '../descriptions/descriptions';\nimport type { DividerProps } from '../divider/divider';\nimport type { DrawerProps } from '../drawer/drawer';\nimport type { DropdownProps } from '../dropdown/dropdown';\nimport type { EmptyProps } from '../empty/empty';\nimport type { ErrorBoundaryProps } from '../errorboundary/errorboundary';\nimport type { FileListProps } from '../filelist/filelist';\nimport type { FlexProps } from '../flex/flex';\nimport type { FloatButtonGroupProps, FloatButtonProps } from '../floatbutton/floatbutton';\nimport type {\n FormErrorSummaryProps,\n FormFieldProps,\n FormGroupProps,\n FormProps,\n} from '../form/form';\nimport type { FormListProps } from '../form/list';\nimport type { ColProps, GridProps, RowProps } from '../grid/grid';\nimport type { ImagePreviewGroupProps, ImagePreviewProps, ImageProps } from '../image/image';\nimport type { InfiniteScrollProps } from '../infinitescroll/infinitescroll';\nimport type { InputGroupProps, InputSearchProps } from '../input/group';\nimport type { InputProps } from '../input/input';\nimport type { InputMaskProps } from '../inputmask/inputmask';\nimport type { InputNumberProps } from '../inputnumber/inputnumber';\nimport type { InputOTPProps } from '../inputotp/inputotp';\nimport type { LayoutProps, LayoutSiderProps } from '../layout/layout';\nimport type { LoadingProps } from '../loading/loading';\nimport type { LoadingBarProps } from '../loadingbar/loadingbar';\nimport type { MasonryProps } from '../masonry/masonry';\nimport type { MentionsProps } from '../mentions/mentions';\nimport type { MenuGroupProps, MenuProps } from '../menu/menu';\nimport type { MessageOptions, MessageProps } from '../message/message';\nimport type { ModalProps } from '../modal/modal';\nimport type { NotificationOptions, NotificationProps } from '../notification/notification';\nimport type { PaginationProps } from '../pagination/pagination';\nimport type { PopconfirmProps } from '../popconfirm/popconfirm';\nimport type { PopoverProps } from '../popover/popover';\nimport type { ProgressProps } from '../progress/progress';\nimport type { QRCodeProps } from '../qrcode/qrcode';\nimport type { RadioGroupProps, RadioProps } from '../radio/radio';\nimport type { RateProps } from '../rate/rate';\nimport type { ResultProps } from '../result/result';\nimport type { ScrollAreaProps } from '../scrollarea/scrollarea';\nimport type { ScrollbarProps } from '../scrollbar/scrollbar';\nimport type { SelectProps } from '../select/select';\nimport type { SkeletonProps } from '../skeleton/skeleton';\nimport type { SliderProps } from '../slider/slider';\nimport type { SpaceProps } from '../space/space';\nimport type { SplitterProps } from '../splitter/splitter';\nimport type { CountdownProps, StatisticProps } from '../statistic/statistic';\nimport type { StepsProps } from '../steps/steps';\nimport type { SwitchProps } from '../switch/switch';\nimport type {\n TableCellProps,\n TableColumnHeaderProps,\n TableErrorProps,\n TableProps,\n TableRowProps,\n TableStateProps,\n} from '../table/table';\nimport type {\n DataTableColumnVisibilityProps,\n DataTableContentProps,\n DataTablePaginationProps,\n DataTablePresentationProps,\n DataTableSearchProps,\n} from '../tabletanstack/defaults';\nimport type { TabsProps } from '../tabs/tabs';\nimport type { CheckableTagProps, TagGroupProps } from '../tag/group';\nimport type { TagProps } from '../tag/tag';\nimport type { TextareaProps } from '../textarea/textarea';\nimport type { TimelineProps } from '../timeline/timeline';\nimport type { TimePickerProps } from '../timepicker/timepicker';\nimport type { TimeRangePickerProps } from '../timerangepicker/timerangepicker';\nimport type { TooltipProps } from '../tooltip/tooltip';\nimport type { TourProps } from '../tour/tour';\nimport type { TransferProps } from '../transfer/transfer';\nimport type { TreeProps } from '../tree/tree';\nimport type { TreeSelectProps } from '../treeselect/treeselect';\nimport type {\n LinkProps,\n ParagraphProps,\n TextProps,\n TitleProps,\n TypographyProps,\n} from '../typography/typography';\nimport type { UploadProps } from '../upload/upload';\nimport type { VirtualListProps } from '../virtuallist/virtuallist';\n\n/** Only props independent of the caller's item type can cross a generic component boundary. */\ntype GenericComponentName = 'FormList' | 'VirtualList' | 'DataTable';\n\n/** Full public props keep each hook key tied to its component, including Select's union. */\ninterface ComponentPropsMap {\n Affix: AffixProps;\n Alert: AlertProps;\n Anchor: AnchorProps;\n AppBar: AppBarProps;\n AutoComplete: AutoCompleteProps;\n Avatar: AvatarProps;\n AvatarGroup: AvatarGroupProps;\n BackTop: BackTopProps;\n Badge: BadgeProps;\n BottomNavigation: BottomNavigationProps;\n Breadcrumb: BreadcrumbProps;\n Button: ButtonProps;\n ButtonGroup: ButtonGroupProps;\n Calendar: CalendarProps;\n Card: CardProps;\n Carousel: CarouselProps;\n Cascader: CascaderProps;\n CheckableTag: CheckableTagProps;\n Checkbox: CheckboxProps;\n CheckboxGroup: CheckboxGroupProps;\n Col: ColProps;\n Collapse: CollapseProps;\n ColorPicker: ColorPickerProps;\n CommandPalette: CommandPaletteProps;\n Confirm: ConfirmOptions;\n Countdown: CountdownProps;\n DataTableColumnVisibility: DataTableColumnVisibilityProps;\n DataTableContent: DataTableContentProps;\n DataTableFooter: HTMLAttributes<HTMLDivElement>;\n DataTablePagination: DataTablePaginationProps;\n DataTableSearch: DataTableSearchProps;\n DataTableToolbar: HTMLAttributes<HTMLDivElement>;\n DatePicker: DatePickerProps;\n DateRangePicker: DateRangePickerProps;\n DateTimePicker: DateTimePickerProps;\n Descriptions: DescriptionsProps;\n Divider: DividerProps;\n Drawer: DrawerProps;\n Dropdown: DropdownProps;\n Empty: EmptyProps;\n ErrorBoundary: ErrorBoundaryProps;\n FileList: FileListProps;\n Flex: FlexProps;\n FloatButton: FloatButtonProps;\n FloatButtonGroup: FloatButtonGroupProps;\n Form: FormProps;\n FormErrorSummary: FormErrorSummaryProps;\n FormField: FormFieldProps;\n FormGroup: FormGroupProps;\n Grid: GridProps;\n Image: ImageProps;\n ImagePreview: ImagePreviewProps;\n ImagePreviewGroup: ImagePreviewGroupProps;\n InfiniteScroll: InfiniteScrollProps;\n Input: InputProps;\n InputGroup: InputGroupProps;\n InputMask: InputMaskProps;\n InputNumber: InputNumberProps;\n InputOTP: InputOTPProps;\n InputSearch: InputSearchProps;\n Layout: LayoutProps;\n LayoutContent: HTMLAttributes<HTMLElement>;\n LayoutFooter: HTMLAttributes<HTMLElement>;\n LayoutHeader: HTMLAttributes<HTMLElement>;\n LayoutSider: LayoutSiderProps;\n Link: LinkProps;\n Loading: LoadingProps;\n LoadingBar: LoadingBarProps;\n Masonry: MasonryProps;\n Mentions: MentionsProps;\n Menu: MenuProps;\n MenuGroup: MenuGroupProps;\n Message: MessageProps;\n Modal: ModalProps;\n Notification: NotificationProps;\n Pagination: PaginationProps;\n Paragraph: ParagraphProps;\n Popconfirm: PopconfirmProps;\n Popover: PopoverProps;\n Progress: ProgressProps;\n QRCode: QRCodeProps;\n Radio: RadioProps;\n RadioGroup: RadioGroupProps;\n Rate: RateProps;\n Result: ResultProps;\n Row: RowProps;\n ScrollArea: ScrollAreaProps;\n Scrollbar: ScrollbarProps;\n Select: SelectProps;\n Skeleton: SkeletonProps;\n Slider: SliderProps;\n Space: SpaceProps;\n SplitButton: SplitButtonProps;\n Splitter: SplitterProps;\n Statistic: StatisticProps;\n Steps: StepsProps;\n Switch: SwitchProps;\n Table: TableProps;\n TableBody: HTMLAttributes<HTMLTableSectionElement>;\n TableCaption: HTMLAttributes<HTMLTableCaptionElement>;\n TableCell: TableCellProps;\n TableColumnHeader: TableColumnHeaderProps;\n TableEmpty: TableStateProps;\n TableError: TableErrorProps;\n TableFooter: HTMLAttributes<HTMLTableSectionElement>;\n TableHeader: HTMLAttributes<HTMLTableSectionElement>;\n TableLoading: TableStateProps;\n TableRow: TableRowProps;\n Tabs: TabsProps;\n Tag: TagProps;\n TagGroup: TagGroupProps;\n Text: TextProps;\n Textarea: TextareaProps;\n Timeline: TimelineProps;\n TimePicker: TimePickerProps;\n TimeRangePicker: TimeRangePickerProps;\n Title: TitleProps;\n Toolbar: ToolbarProps;\n Tooltip: TooltipProps;\n Tour: TourProps;\n Transfer: TransferProps;\n Tree: TreeProps;\n TreeSelect: TreeSelectProps;\n Typography: TypographyProps;\n Upload: UploadProps;\n}\n\n/** Default props for supported components; null clears that component's inherited defaults. */\nexport interface LeafComponentDefaults {\n Affix?: Partial<Omit<AffixProps, 'key' | 'ref'>> | null;\n Alert?: Partial<Omit<AlertProps, 'key' | 'ref' | 'title'>> | null;\n Anchor?: Partial<Omit<AnchorProps, 'key' | 'ref' | 'items'>> | null;\n AppBar?: Partial<Omit<AppBarProps, 'key' | 'ref'>> | null;\n AutoComplete?: Partial<Omit<AutoCompleteProps, 'key' | 'ref' | 'options'>> | null;\n Avatar?: Partial<Omit<AvatarProps, 'key' | 'ref'>> | null;\n AvatarGroup?: Partial<Omit<AvatarGroupProps, 'key' | 'ref'>> | null;\n BackTop?: Partial<Omit<BackTopProps, 'key' | 'ref'>> | null;\n Badge?: Partial<Omit<BadgeProps, 'key' | 'ref'>> | null;\n BottomNavigation?: Partial<Omit<BottomNavigationProps, 'key' | 'ref' | 'items'>> | null;\n Breadcrumb?: Partial<Omit<BreadcrumbProps, 'key' | 'ref' | 'items'>> | null;\n Button?: Partial<Omit<ButtonProps, 'key' | 'ref'>> | null;\n ButtonGroup?: Partial<Omit<ButtonGroupProps, 'key' | 'ref'>> | null;\n Calendar?: Partial<Omit<CalendarProps, 'key' | 'ref'>> | null;\n Card?: Partial<Omit<CardProps, 'key' | 'ref'>> | null;\n Carousel?: Partial<Omit<CarouselProps, 'key' | 'ref'>> | null;\n Cascader?: Partial<\n Omit<\n CascaderProps,\n 'key' | 'ref' | 'options' | 'multiple' | 'value' | 'defaultValue' | 'onChange'\n >\n > | null;\n CheckableTag?: Partial<Omit<CheckableTagProps, 'key' | 'ref'>> | null;\n Checkbox?: Partial<Omit<CheckboxProps, 'key' | 'ref'>> | null;\n CheckboxGroup?: Partial<Omit<CheckboxGroupProps, 'key' | 'ref' | 'options'>> | null;\n Col?: Partial<Omit<ColProps, 'key' | 'ref'>> | null;\n Collapse?: Partial<Omit<CollapseProps, 'key' | 'ref' | 'items'>> | null;\n ColorPicker?: Partial<Omit<ColorPickerProps, 'key' | 'ref'>> | null;\n CommandPalette?: Partial<Omit<CommandPaletteProps, 'key' | 'ref' | 'items'>> | null;\n Confirm?: Partial<Omit<ConfirmOptions, 'key' | 'ref'>> | null;\n Countdown?: Partial<Omit<CountdownProps, 'key' | 'ref' | 'value'>> | null;\n DataTable?: Partial<Omit<DataTablePresentationProps, 'tableRef'>> | null;\n DataTableColumnVisibility?: Partial<Omit<DataTableColumnVisibilityProps, 'key' | 'ref'>> | null;\n DataTableContent?: Partial<Omit<DataTableContentProps, 'key' | 'ref'>> | null;\n DataTableFooter?: Partial<Omit<HTMLAttributes<HTMLDivElement>, 'key' | 'ref'>> | null;\n DataTablePagination?: Partial<Omit<DataTablePaginationProps, 'key' | 'ref'>> | null;\n DataTableSearch?: Partial<Omit<DataTableSearchProps, 'key' | 'ref'>> | null;\n DataTableToolbar?: Partial<Omit<HTMLAttributes<HTMLDivElement>, 'key' | 'ref'>> | null;\n DatePicker?: Partial<\n Omit<DatePickerProps, 'key' | 'ref' | 'multiple' | 'value' | 'defaultValue' | 'onChange'>\n > | null;\n DateRangePicker?: Partial<Omit<DateRangePickerProps, 'key' | 'ref'>> | null;\n DateTimePicker?: Partial<Omit<DateTimePickerProps, 'key' | 'ref'>> | null;\n Descriptions?: Partial<Omit<DescriptionsProps, 'key' | 'ref' | 'items'>> | null;\n Divider?: Partial<Omit<DividerProps, 'key' | 'ref'>> | null;\n Drawer?: Partial<Omit<DrawerProps, 'key' | 'ref' | 'open'>> | null;\n Dropdown?: Partial<Omit<DropdownProps, 'key' | 'ref' | 'items' | 'children'>> | null;\n Empty?: Partial<Omit<EmptyProps, 'key' | 'ref'>> | null;\n ErrorBoundary?: Partial<Omit<ErrorBoundaryProps, 'key' | 'ref'>> | null;\n FileList?: Partial<Omit<FileListProps, 'key' | 'ref' | 'items'>> | null;\n Flex?: Partial<Omit<FlexProps, 'key' | 'ref'>> | null;\n FloatButton?: Partial<Omit<FloatButtonProps, 'key' | 'ref'>> | null;\n FloatButtonGroup?: Partial<Omit<FloatButtonGroupProps, 'key' | 'ref' | 'actions'>> | null;\n Form?: Partial<Omit<FormProps, 'key' | 'ref'>> | null;\n FormErrorSummary?: Partial<Omit<FormErrorSummaryProps, 'key' | 'ref'>> | null;\n FormField?: Partial<Omit<FormFieldProps, 'key' | 'ref'>> | null;\n FormGroup?: Partial<Omit<FormGroupProps, 'key' | 'ref'>> | null;\n FormList?: Partial<\n Omit<\n FormListProps<unknown>,\n 'name' | 'children' | 'value' | 'defaultValue' | 'onChange' | 'itemKey'\n >\n > | null;\n Grid?: Partial<Omit<GridProps, 'key' | 'ref'>> | null;\n Image?: Partial<Omit<ImageProps, 'key' | 'ref'>> | null;\n ImagePreview?: Partial<\n Omit<ImagePreviewProps, 'key' | 'ref' | 'items' | 'open' | 'onClose'>\n > | null;\n ImagePreviewGroup?: Partial<Omit<ImagePreviewGroupProps, 'key' | 'ref'>> | null;\n InfiniteScroll?: Partial<\n Omit<InfiniteScrollProps, 'key' | 'ref' | 'dataLength' | 'hasMore' | 'onLoadMore'>\n > | null;\n Input?: Partial<Omit<InputProps, 'key' | 'ref'>> | null;\n InputGroup?: Partial<Omit<InputGroupProps, 'key' | 'ref'>> | null;\n InputMask?: Partial<Omit<InputMaskProps, 'key' | 'ref' | 'mask'>> | null;\n InputNumber?: Partial<\n Omit<\n InputNumberProps,\n 'key' | 'ref' | 'stringMode' | 'value' | 'defaultValue' | 'onChange' | 'min' | 'max' | 'step'\n >\n > | null;\n InputOTP?: Partial<Omit<InputOTPProps, 'key' | 'ref'>> | null;\n InputSearch?: Partial<Omit<InputSearchProps, 'key' | 'ref'>> | null;\n Layout?: Partial<Omit<LayoutProps, 'key' | 'ref'>> | null;\n LayoutContent?: Partial<Omit<HTMLAttributes<HTMLElement>, 'key' | 'ref'>> | null;\n LayoutFooter?: Partial<Omit<HTMLAttributes<HTMLElement>, 'key' | 'ref'>> | null;\n LayoutHeader?: Partial<Omit<HTMLAttributes<HTMLElement>, 'key' | 'ref'>> | null;\n LayoutSider?: Partial<Omit<LayoutSiderProps, 'key' | 'ref'>> | null;\n Link?: Partial<Omit<LinkProps, 'key' | 'ref'>> | null;\n Loading?: Partial<Omit<LoadingProps, 'key' | 'ref'>> | null;\n LoadingBar?: Partial<Omit<LoadingBarProps, 'key' | 'ref' | 'active' | 'progress'>> | null;\n Masonry?: Partial<Omit<MasonryProps, 'key' | 'ref'>> | null;\n Mentions?: Partial<Omit<MentionsProps, 'key' | 'ref' | 'options'>> | null;\n Menu?: Partial<Omit<MenuProps, 'key' | 'ref' | 'items'>> | null;\n MenuGroup?: Partial<Omit<MenuGroupProps, 'key' | 'ref' | 'title'>> | null;\n Message?: Partial<Omit<MessageOptions, 'key' | 'content'>> | null;\n Modal?: Partial<Omit<ModalProps, 'key' | 'ref' | 'open'>> | null;\n Notification?: Partial<Omit<NotificationOptions, 'key' | 'title'>> | null;\n Pagination?: Partial<Omit<PaginationProps, 'key' | 'ref' | 'total'>> | null;\n Paragraph?: Partial<Omit<ParagraphProps, 'key' | 'ref'>> | null;\n Popconfirm?: Partial<Omit<PopconfirmProps, 'key' | 'ref' | 'children' | 'title'>> | null;\n Popover?: Partial<Omit<PopoverProps, 'key' | 'ref' | 'children' | 'content'>> | null;\n Progress?: Partial<Omit<ProgressProps, 'key' | 'ref'>> | null;\n QRCode?: Partial<Omit<QRCodeProps, 'key' | 'ref' | 'value'>> | null;\n Radio?: Partial<Omit<RadioProps, 'key' | 'ref'>> | null;\n RadioGroup?: Partial<Omit<RadioGroupProps, 'key' | 'ref' | 'options'>> | null;\n Rate?: Partial<Omit<RateProps, 'key' | 'ref'>> | null;\n Result?: Partial<Omit<ResultProps, 'key' | 'ref'>> | null;\n Row?: Partial<Omit<RowProps, 'key' | 'ref'>> | null;\n ScrollArea?: Partial<Omit<ScrollAreaProps, 'key' | 'ref'>> | null;\n Scrollbar?: Partial<Omit<ScrollbarProps, 'key' | 'ref'>> | null;\n /** Required data, mode-dependent values and callbacks belong on each Select. */\n Select?: Partial<\n Omit<\n SelectProps,\n 'key' | 'ref' | 'options' | 'multiple' | 'value' | 'defaultValue' | 'onChange'\n >\n > | null;\n Skeleton?: Partial<Omit<SkeletonProps, 'key' | 'ref'>> | null;\n Slider?: Partial<\n Omit<SliderProps, 'key' | 'ref' | 'range' | 'value' | 'defaultValue' | 'onChange'>\n > | null;\n Space?: Partial<Omit<SpaceProps, 'key' | 'ref'>> | null;\n SplitButton?: Partial<Omit<SplitButtonProps, 'key' | 'ref' | 'items'>> | null;\n Splitter?: Partial<Omit<SplitterProps, 'key' | 'ref' | 'panels'>> | null;\n Statistic?: Partial<Omit<StatisticProps, 'key' | 'ref' | 'value'>> | null;\n Steps?: Partial<Omit<StepsProps, 'key' | 'ref' | 'items'>> | null;\n Switch?: Partial<Omit<SwitchProps, 'key' | 'ref'>> | null;\n Table?: Partial<Omit<TableProps, 'key' | 'ref' | 'scrollRef'>> | null;\n TableBody?: Partial<Omit<HTMLAttributes<HTMLTableSectionElement>, 'key' | 'ref'>> | null;\n TableCaption?: Partial<Omit<HTMLAttributes<HTMLTableCaptionElement>, 'key' | 'ref'>> | null;\n TableCell?: Partial<Omit<TableCellProps, 'key' | 'ref'>> | null;\n TableColumnHeader?: Partial<Omit<TableColumnHeaderProps, 'key' | 'ref'>> | null;\n TableEmpty?: Partial<Omit<TableStateProps, 'key' | 'ref'>> | null;\n TableError?: Partial<Omit<TableErrorProps, 'key' | 'ref'>> | null;\n TableFooter?: Partial<Omit<HTMLAttributes<HTMLTableSectionElement>, 'key' | 'ref'>> | null;\n TableHeader?: Partial<Omit<HTMLAttributes<HTMLTableSectionElement>, 'key' | 'ref'>> | null;\n TableLoading?: Partial<Omit<TableStateProps, 'key' | 'ref'>> | null;\n TableRow?: Partial<Omit<TableRowProps, 'key' | 'ref'>> | null;\n Tabs?: Partial<Omit<TabsProps, 'key' | 'ref' | 'items'>> | null;\n Tag?: Partial<Omit<TagProps, 'key' | 'ref'>> | null;\n TagGroup?: Partial<Omit<TagGroupProps, 'key' | 'ref' | 'options'>> | null;\n Text?: Partial<Omit<TextProps, 'key' | 'ref'>> | null;\n Textarea?: Partial<Omit<TextareaProps, 'key' | 'ref'>> | null;\n Timeline?: Partial<Omit<TimelineProps, 'key' | 'ref' | 'items'>> | null;\n TimePicker?: Partial<Omit<TimePickerProps, 'key' | 'ref'>> | null;\n TimeRangePicker?: Partial<Omit<TimeRangePickerProps, 'key' | 'ref'>> | null;\n Title?: Partial<Omit<TitleProps, 'key' | 'ref'>> | null;\n Toolbar?: Partial<Omit<ToolbarProps, 'key' | 'ref'>> | null;\n Tooltip?: Partial<Omit<TooltipProps, 'key' | 'ref' | 'content' | 'children'>> | null;\n Tour?: Partial<Omit<TourProps, 'key' | 'ref' | 'open' | 'steps'>> | null;\n Transfer?: Partial<Omit<TransferProps, 'key' | 'ref' | 'items'>> | null;\n Tree?: Partial<Omit<TreeProps, 'key' | 'ref' | 'data'>> | null;\n TreeSelect?: Partial<\n Omit<\n TreeSelectProps,\n | 'key'\n | 'ref'\n | 'options'\n | 'multiple'\n | 'treeCheckable'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n >\n > | null;\n Typography?: Partial<Omit<TypographyProps, 'key' | 'ref'>> | null;\n Upload?: Partial<Omit<UploadProps, 'key' | 'ref'>> | null;\n VirtualList?:\n | (Partial<\n Omit<VirtualListProps<unknown>, 'items' | 'itemKey' | 'renderItem' | 'estimateSize'>\n > & { estimateSize?: number })\n | null;\n}\n\nexport const ComponentDefaultsContext = createContext<LeafComponentDefaults>({});\n\n/** Supplement missing props without copying unless a defined default is used. */\nexport function mergeComponentProps<Props extends object>(\n defaults: Partial<Props> | null | undefined,\n props: Props,\n): Props {\n if (!defaults) return props;\n let resolved = props;\n for (const key of Object.keys(defaults) as (keyof Props)[]) {\n const value = defaults[key];\n if (value !== undefined && props[key] === undefined) {\n if (resolved === props) resolved = { ...props };\n resolved[key] = value as Props[typeof key];\n }\n }\n return resolved;\n}\n\n/** Merge scopes by component and prop; nested prop values are replaced as a whole. */\nexport function mergeComponentDefaults(\n parent: LeafComponentDefaults,\n overrides: LeafComponentDefaults | undefined,\n): LeafComponentDefaults {\n if (!overrides) return parent;\n let merged = parent;\n for (const name of Object.keys(overrides) as (keyof LeafComponentDefaults)[]) {\n const incoming = overrides[name];\n if (incoming === undefined) continue;\n const inherited = parent[name] ?? undefined;\n if (incoming === null) {\n if (inherited == null) continue;\n if (merged === parent) merged = { ...parent };\n delete merged[name];\n continue;\n }\n let entry = inherited;\n for (const key of Object.keys(incoming)) {\n const value = (incoming as Record<string, unknown>)[key];\n if (\n value === undefined ||\n value === (inherited as Record<string, unknown> | undefined)?.[key]\n )\n continue;\n if (entry === inherited) entry = { ...inherited };\n (entry as Record<string, unknown>)[key] = value;\n }\n if (entry !== inherited) {\n if (merged === parent) merged = { ...parent };\n // Each entry remains the same component's props; only the dynamic key loses that relation.\n (merged as Record<string, object | undefined>)[name] = entry;\n }\n }\n return merged;\n}\n\nexport function useComponentProps<Name extends keyof ComponentPropsMap>(\n name: Name,\n props: ComponentPropsMap[Name],\n): ComponentPropsMap[Name] {\n const defaults = useContext(ComponentDefaultsContext)[name];\n return mergeComponentProps(\n defaults as Partial<ComponentPropsMap[Name]> | null | undefined,\n props,\n );\n}\n\n/** Generic owners merge this type-independent projection into their own complete props. */\nexport function useGenericComponentDefaults<Name extends GenericComponentName>(name: Name) {\n return useContext(ComponentDefaultsContext)[name];\n}\n\n/** Read defaults for an API request without invoking hooks from the request callback. */\nexport function useComponentDefaults<Name extends keyof LeafComponentDefaults>(name: Name) {\n return useContext(ComponentDefaultsContext)[name];\n}\n"],"names":["__webpack_require__","getters","values","define","defs","kind","key","Object","obj","prop","Symbol","ComponentDefaultsContext","createContext","mergeComponentProps","defaults","props","resolved","value","undefined","mergeComponentDefaults","parent","overrides","merged","name","incoming","inherited","entry","useComponentProps","useContext","useGenericComponentDefaults","useComponentDefaults"],"mappings":"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"}
@@ -40,16 +40,32 @@ function useColorVariables(root, theme) {
40
40
  (0, external_react_namespaceObject.useEffect)(()=>{
41
41
  const node = root.current;
42
42
  const entries = Object.entries((0, external_theme_cjs_namespaceObject.leafThemeColors)(theme));
43
- if (!node || !entries.some(([, value])=>String(value).includes('var('))) return void setResolved((previous)=>Object.keys(previous).length ? {} : previous);
43
+ if (!node || !entries.some(([, value])=>/(?:var|color-mix|light-dark|oklch|oklab|lab|lch|color)\(/i.test(value))) return void setResolved((previous)=>Object.keys(previous).length ? {} : previous);
44
44
  const sync = ()=>{
45
45
  const probe = document.createElement('span');
46
46
  probe.hidden = true;
47
47
  node.append(probe);
48
48
  const overrides = {};
49
+ let canvas;
49
50
  for (const [key, value] of entries){
50
51
  probe.style.color = '';
51
52
  probe.style.color = String(value);
52
- if (probe.style.color) overrides[key] = getComputedStyle(probe).color;
53
+ if (probe.style.color) {
54
+ const color = getComputedStyle(probe).color;
55
+ overrides[key] = color;
56
+ if (/^(?:color|oklch|oklab|lab|lch)\(/i.test(color) && globalThis.CSS?.supports?.('color', color)) {
57
+ canvas ??= document.createElement('canvas').getContext('2d', {
58
+ willReadFrequently: true
59
+ });
60
+ if (canvas) {
61
+ canvas.clearRect(0, 0, 1, 1);
62
+ canvas.fillStyle = color;
63
+ canvas.fillRect(0, 0, 1, 1);
64
+ const [r, g, b, a = 255] = canvas.getImageData(0, 0, 1, 1).data;
65
+ overrides[key] = `rgba(${r}, ${g}, ${b}, ${a / 255})`;
66
+ }
67
+ }
68
+ }
53
69
  }
54
70
  probe.remove();
55
71
  const mode = theme.appearance ?? (getComputedStyle(node).colorScheme.includes('dark') ? 'dark' : 'light');
@@ -1 +1 @@
1
- {"version":3,"file":"config-provider/use-color-variables.cjs","sources":["webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../../../../../src/config-provider/use-color-variables.ts"],"sourcesContent":["__webpack_require__.d = (exports, getters, values) => {\n\tvar define = (defs, kind) => {\n\t\tfor(var key in defs) {\n\t\t\tif(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });\n\t\t\t}\n\t\t}\n\t};\n\tdefine(getters, \"get\");\n\tdefine(values, \"value\");\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { type RefObject, useEffect, useState } from 'react';\nimport { deriveColors } from '../colors';\nimport { composedParent } from '../shared/dom';\nimport { type LeafTheme, type LeafThemeStyle, leafThemeColors } from '../theme';\n\n/** Resolve CSS variable colors after hydration; concrete theme colors are already SSR safe. */\nexport function useColorVariables(root: RefObject<HTMLDivElement | null>, theme: LeafTheme) {\n const [resolved, setResolved] = useState<LeafThemeStyle>({});\n useEffect(() => {\n const node = root.current;\n const entries = Object.entries(leafThemeColors(theme));\n if (!node || !entries.some(([, value]) => String(value).includes('var('))) {\n setResolved((previous) => (Object.keys(previous).length ? {} : previous));\n return;\n }\n const sync = () => {\n const probe = document.createElement('span');\n probe.hidden = true;\n node.append(probe);\n const overrides: Record<string, string> = {};\n for (const [key, value] of entries) {\n probe.style.color = '';\n probe.style.color = String(value);\n if (probe.style.color) overrides[key] = getComputedStyle(probe).color;\n }\n probe.remove();\n const mode =\n theme.appearance ??\n (getComputedStyle(node).colorScheme.includes('dark') ? 'dark' : 'light');\n const next = deriveColors(mode, overrides);\n setResolved((previous) =>\n JSON.stringify(previous) === JSON.stringify(next) ? previous : next,\n );\n };\n sync();\n const observer = new MutationObserver(sync);\n let ancestor: HTMLElement | null = node;\n while (ancestor) {\n observer.observe(ancestor, {\n attributes: true,\n attributeFilter: ['style', 'class', 'data-leaf-theme'],\n });\n ancestor = composedParent(ancestor);\n }\n return () => observer.disconnect();\n }, [root, theme]);\n return resolved;\n}\n"],"names":["__webpack_require__","getters","values","define","defs","kind","key","Object","obj","prop","Symbol","useColorVariables","root","theme","resolved","setResolved","useState","useEffect","node","entries","leafThemeColors","value","String","previous","sync","probe","document","overrides","getComputedStyle","mode","next","deriveColors","JSON","observer","MutationObserver","ancestor","composedParent"],"mappings":";;;;IAAAA,oBAAoB,CAAC,GAAG,CAAC,UAASC,SAASC;QAC1C,IAAIC,SAAS,CAACC,MAAMC;YACnB,IAAI,IAAIC,OAAOF,KACd,IAAGJ,oBAAoB,CAAC,CAACI,MAAME,QAAQ,CAACN,oBAAoB,CAAC,CAAC,UAASM,MACtEC,OAAO,cAAc,CAAC,UAASD,KAAK;gBAAE,YAAY;gBAAM,CAACD,KAAK,EAAED,IAAI,CAACE,IAAI;YAAC;QAG7E;QACAH,OAAOF,SAAS;QAChBE,OAAOD,QAAQ;IAChB;;;ICVAF,oBAAoB,CAAC,GAAG,CAACQ,KAAKC,OAAUF,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACC,KAAKC;;;ICClFT,oBAAoB,CAAC,GAAG,CAAC;QACxB,IAAG,AAAkB,MAAlB,OAAOU,UAA0BA,OAAO,WAAW,EACrDH,OAAO,cAAc,CAAC,UAASG,OAAO,WAAW,EAAE;YAAE,OAAO;QAAS;QAEtEH,OAAO,cAAc,CAAC,UAAS,cAAc;YAAE,OAAO;QAAK;IAC5D;;;;;;;;;;;ACAO,SAASI,kBAAkBC,IAAsC,EAAEC,KAAgB;IACxF,MAAM,CAACC,UAAUC,YAAY,GAAGC,AAAAA,IAAAA,+BAAAA,QAAAA,AAAAA,EAAyB,CAAC;IAC1DC,IAAAA,+BAAAA,SAAAA,AAAAA,EAAU;QACR,MAAMC,OAAON,KAAK,OAAO;QACzB,MAAMO,UAAUZ,OAAO,OAAO,CAACa,AAAAA,IAAAA,mCAAAA,eAAAA,AAAAA,EAAgBP;QAC/C,IAAI,CAACK,QAAQ,CAACC,QAAQ,IAAI,CAAC,CAAC,GAAGE,MAAM,GAAKC,OAAOD,OAAO,QAAQ,CAAC,UAAU,YACzEN,YAAY,CAACQ,WAAchB,OAAO,IAAI,CAACgB,UAAU,MAAM,GAAG,CAAC,IAAIA;QAGjE,MAAMC,OAAO;YACX,MAAMC,QAAQC,SAAS,aAAa,CAAC;YACrCD,MAAM,MAAM,GAAG;YACfP,KAAK,MAAM,CAACO;YACZ,MAAME,YAAoC,CAAC;YAC3C,KAAK,MAAM,CAACrB,KAAKe,MAAM,IAAIF,QAAS;gBAClCM,MAAM,KAAK,CAAC,KAAK,GAAG;gBACpBA,MAAM,KAAK,CAAC,KAAK,GAAGH,OAAOD;gBAC3B,IAAII,MAAM,KAAK,CAAC,KAAK,EAAEE,SAAS,CAACrB,IAAI,GAAGsB,iBAAiBH,OAAO,KAAK;YACvE;YACAA,MAAM,MAAM;YACZ,MAAMI,OACJhB,MAAM,UAAU,IACfe,CAAAA,iBAAiBV,MAAM,WAAW,CAAC,QAAQ,CAAC,UAAU,SAAS,OAAM;YACxE,MAAMY,OAAOC,AAAAA,IAAAA,oCAAAA,YAAAA,AAAAA,EAAaF,MAAMF;YAChCZ,YAAY,CAACQ,WACXS,KAAK,SAAS,CAACT,cAAcS,KAAK,SAAS,CAACF,QAAQP,WAAWO;QAEnE;QACAN;QACA,MAAMS,WAAW,IAAIC,iBAAiBV;QACtC,IAAIW,WAA+BjB;QACnC,MAAOiB,SAAU;YACfF,SAAS,OAAO,CAACE,UAAU;gBACzB,YAAY;gBACZ,iBAAiB;oBAAC;oBAAS;oBAAS;iBAAkB;YACxD;YACAA,WAAWC,AAAAA,IAAAA,wBAAAA,cAAAA,AAAAA,EAAeD;QAC5B;QACA,OAAO,IAAMF,SAAS,UAAU;IAClC,GAAG;QAACrB;QAAMC;KAAM;IAChB,OAAOC;AACT"}
1
+ {"version":3,"file":"config-provider/use-color-variables.cjs","sources":["webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../../../../../src/config-provider/use-color-variables.ts"],"sourcesContent":["__webpack_require__.d = (exports, getters, values) => {\n\tvar define = (defs, kind) => {\n\t\tfor(var key in defs) {\n\t\t\tif(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });\n\t\t\t}\n\t\t}\n\t};\n\tdefine(getters, \"get\");\n\tdefine(values, \"value\");\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { type RefObject, useEffect, useState } from 'react';\nimport { deriveColors } from '../colors';\nimport { composedParent } from '../shared/dom';\nimport { type LeafTheme, type LeafThemeStyle, leafThemeColors } from '../theme';\n\n/** Resolve CSS variable colors after hydration; concrete theme colors are already SSR safe. */\nexport function useColorVariables(root: RefObject<HTMLDivElement | null>, theme: LeafTheme) {\n const [resolved, setResolved] = useState<LeafThemeStyle>({});\n useEffect(() => {\n const node = root.current;\n const entries = Object.entries(leafThemeColors(theme));\n if (\n !node ||\n !entries.some(([, value]) =>\n /(?:var|color-mix|light-dark|oklch|oklab|lab|lch|color)\\(/i.test(value),\n )\n ) {\n setResolved((previous) => (Object.keys(previous).length ? {} : previous));\n return;\n }\n const sync = () => {\n const probe = document.createElement('span');\n probe.hidden = true;\n node.append(probe);\n const overrides: Record<string, string> = {};\n let canvas: CanvasRenderingContext2D | null | undefined;\n for (const [key, value] of entries) {\n probe.style.color = '';\n probe.style.color = String(value);\n if (probe.style.color) {\n const color = getComputedStyle(probe).color;\n overrides[key] = color;\n // CSS Color 4 computed values are not understood by TinyColor. Resolve\n // them to sRGB for contrast and interaction calculations in the browser.\n if (\n /^(?:color|oklch|oklab|lab|lch)\\(/i.test(color) &&\n globalThis.CSS?.supports?.('color', color)\n ) {\n canvas ??= document\n .createElement('canvas')\n .getContext('2d', { willReadFrequently: true });\n if (canvas) {\n canvas.clearRect(0, 0, 1, 1);\n canvas.fillStyle = color;\n canvas.fillRect(0, 0, 1, 1);\n const [r, g, b, a = 255] = canvas.getImageData(0, 0, 1, 1).data;\n overrides[key] = `rgba(${r}, ${g}, ${b}, ${a / 255})`;\n }\n }\n }\n }\n probe.remove();\n const mode =\n theme.appearance ??\n (getComputedStyle(node).colorScheme.includes('dark') ? 'dark' : 'light');\n const next = deriveColors(mode, overrides);\n setResolved((previous) =>\n JSON.stringify(previous) === JSON.stringify(next) ? previous : next,\n );\n };\n sync();\n const observer = new MutationObserver(sync);\n let ancestor: HTMLElement | null = node;\n while (ancestor) {\n observer.observe(ancestor, {\n attributes: true,\n attributeFilter: ['style', 'class', 'data-leaf-theme'],\n });\n ancestor = composedParent(ancestor);\n }\n return () => observer.disconnect();\n }, [root, theme]);\n return resolved;\n}\n"],"names":["__webpack_require__","getters","values","define","defs","kind","key","Object","obj","prop","Symbol","useColorVariables","root","theme","resolved","setResolved","useState","useEffect","node","entries","leafThemeColors","value","previous","sync","probe","document","overrides","canvas","String","color","getComputedStyle","globalThis","r","g","b","a","mode","next","deriveColors","JSON","observer","MutationObserver","ancestor","composedParent"],"mappings":"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"}
@@ -38,6 +38,7 @@ const external_lucide_react_namespaceObject = require("lucide-react");
38
38
  const external_react_namespaceObject = require("react");
39
39
  const component_defaults_cjs_namespaceObject = require("../config-provider/component-defaults.cjs");
40
40
  const context_cjs_namespaceObject = require("../config-provider/context.cjs");
41
+ const scrollbar_cjs_namespaceObject = require("../scrollbar/scrollbar.cjs");
41
42
  const classes_cjs_namespaceObject = require("../shared/classes.cjs");
42
43
  const dialog_cjs_namespaceObject = require("../shared/dialog.cjs");
43
44
  const inert_cjs_namespaceObject = require("../shared/inert.cjs");
@@ -241,8 +242,13 @@ function DrawerSurface({ open, title, description, icon, divided = true, footer,
241
242
  })
242
243
  ]
243
244
  }),
244
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
245
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(scrollbar_cjs_namespaceObject.ScrollbarControl, {
245
246
  className: "leaf-drawer__body",
247
+ viewportClassName: "leaf-drawer__viewport",
248
+ orientation: "vertical",
249
+ role: null != title || props['aria-label'] ? 'region' : 'presentation',
250
+ "aria-labelledby": null != title ? `${id}-title` : void 0,
251
+ "aria-label": null == title ? props['aria-label'] : void 0,
246
252
  children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
247
253
  ref: content,
248
254
  className: "leaf-drawer__content",
@@ -1 +1 @@
1
- {"version":3,"file":"drawer/drawer.cjs","sources":["webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../../../../../src/drawer/drawer.tsx"],"sourcesContent":["__webpack_require__.d = (exports, getters, values) => {\n\tvar define = (defs, kind) => {\n\t\tfor(var key in defs) {\n\t\t\tif(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });\n\t\t\t}\n\t\t}\n\t};\n\tdefine(getters, \"get\");\n\tdefine(values, \"value\");\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { X } from 'lucide-react';\nimport {\n type HTMLAttributes,\n type ReactNode,\n useContext,\n useEffect,\n useId,\n useRef,\n useState,\n} from 'react';\nimport { useComponentProps } from '../config-provider/component-defaults';\nimport { useLeafConfig } from '../config-provider/context';\nimport { classes } from '../shared/classes';\nimport { type DialogFocusOptions, useDialog } from '../shared/dialog';\nimport { inertProps } from '../shared/inert';\nimport { OverlayOwner } from '../shared/overlay-owner';\nimport { useContentTransition, usePresence } from '../shared/presence';\nimport { ScopedPortal } from '../shared/scoped-portal';\n\nexport interface DrawerProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'onResize'>,\n DialogFocusOptions {\n open: boolean;\n title?: ReactNode;\n description?: ReactNode;\n icon?: ReactNode;\n divided?: boolean;\n footer?: ReactNode;\n extra?: ReactNode;\n placement?: 'left' | 'right' | 'top' | 'bottom';\n width?: number | string;\n height?: number | string;\n closable?: boolean;\n maskClosable?: boolean;\n keyboard?: boolean;\n onClose?: () => void;\n afterClose?: () => void;\n forceRender?: boolean;\n destroyOnClose?: boolean;\n preserve?: boolean;\n container?: Element | DocumentFragment | (() => Element | DocumentFragment);\n push?: boolean | number;\n resizable?: boolean;\n minSize?: number;\n maxSize?: number;\n onResize?: (size: number) => void;\n}\nfunction DrawerSurface({\n open,\n title,\n description,\n icon,\n divided = true,\n footer,\n extra,\n placement = 'right',\n width = 380,\n height = 300,\n closable = true,\n maskClosable = true,\n keyboard = true,\n onClose,\n afterClose,\n forceRender = false,\n destroyOnClose = false,\n preserve,\n initialFocus,\n returnFocus,\n container: _container,\n push = false,\n resizable = false,\n minSize = 240,\n maxSize = 900,\n onResize,\n children,\n className,\n style,\n ...props\n}: DrawerProps) {\n const { messages, maskBlur } = useLeafConfig();\n const id = useId();\n const panel = useRef<HTMLDivElement>(null);\n const backdrop = useRef<HTMLButtonElement>(null);\n const content = useRef<HTMLDivElement>(null);\n const present = usePresence(open, backdrop);\n const contentRevision = useRef({ children, revision: 0 });\n if (children !== contentRevision.current.children)\n contentRevision.current = { children, revision: contentRevision.current.revision + 1 };\n useContentTransition(content, `${open}:${contentRevision.current.revision}`, 0, true);\n const owner = useContext(OverlayOwner);\n const [resized, setResized] = useState<number>();\n const stopDragging = useRef<(() => void) | undefined>(undefined);\n useEffect(() => () => stopDragging.current?.(), []);\n const horizontal = placement === 'left' || placement === 'right';\n // biome-ignore lint/correctness/useExhaustiveDependencies: Resizing resets when the configured dimensions change.\n useEffect(() => {\n setResized(undefined);\n }, [width, height]);\n useEffect(() => {\n if (!open || !push || !owner) return;\n const parent = document.getElementById(owner);\n if (!parent) return;\n const previous = parent.style.transform;\n const distance = typeof push === 'number' ? push : 40;\n parent.style.transform = `translate${horizontal ? 'X' : 'Y'}(${placement === 'right' || placement === 'bottom' ? -distance : distance}px)`;\n return () => {\n parent.style.transform = previous;\n };\n }, [open, push, owner, placement, horizontal]);\n const previous = useRef(false);\n useEffect(() => {\n if (previous.current && !present) afterClose?.();\n previous.current = present;\n }, [present, afterClose]);\n useDialog(open, panel, id, () => onClose?.(), keyboard, { initialFocus, returnFocus });\n const visited = useRef(false);\n if (open) visited.current = true;\n if (\n !present &&\n !forceRender &&\n ((preserve === undefined ? destroyOnClose : !preserve) || !visited.current)\n )\n return null;\n return (\n <div\n hidden={!present}\n className={classes('leaf-drawer-mask', `leaf-drawer-mask--${placement}`)}\n data-blur={maskBlur ? undefined : 'off'}\n data-state={open ? 'open' : 'closing'}\n aria-hidden={!open || undefined}\n {...inertProps(!open)}\n >\n <button\n ref={backdrop}\n type=\"button\"\n tabIndex={-1}\n className=\"leaf-drawer-backdrop\"\n aria-label={messages.common.close}\n onClick={() => {\n if (maskClosable) onClose?.();\n }}\n />\n <div\n {...props}\n ref={panel}\n id={props.id ?? id}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title != null ? `${id}-title` : props['aria-labelledby']}\n aria-describedby={\n [props['aria-describedby'], description != null && `${id}-description`]\n .filter(Boolean)\n .join(' ') || undefined\n }\n tabIndex={-1}\n className={classes('leaf-drawer', divided && 'leaf-drawer--divided', className)}\n style={{\n ...(horizontal\n ? { width: resized ?? width, height: '100%' }\n : { height: resized ?? height, width: '100%' }),\n ...style,\n }}\n >\n {resizable && (\n // biome-ignore lint/a11y/useSemanticElements: This is the adjustable ARIA window-splitter handle, not a decorative separator.\n <div\n role=\"separator\"\n tabIndex={0}\n aria-label={messages.tree.expand}\n aria-orientation={horizontal ? 'vertical' : 'horizontal'}\n aria-valuemin={minSize}\n aria-valuemax={maxSize}\n aria-valuenow={\n resized ??\n (typeof (horizontal ? width : height) === 'number'\n ? Number(horizontal ? width : height)\n : undefined)\n }\n className=\"leaf-drawer__resize\"\n onPointerDown={(event) => {\n if (!panel.current) return;\n stopDragging.current?.();\n event.preventDefault();\n event.currentTarget.setPointerCapture(event.pointerId);\n const start = horizontal ? event.clientX : event.clientY;\n const bounds = panel.current.getBoundingClientRect();\n const size = horizontal ? bounds.width : bounds.height;\n const update = (event: PointerEvent) => {\n const next = Math.min(\n maxSize,\n Math.max(\n minSize,\n size +\n ((horizontal ? event.clientX : event.clientY) - start) *\n (placement === 'right' || placement === 'bottom' ? -1 : 1),\n ),\n );\n setResized(next);\n onResize?.(next);\n };\n const end = () => {\n window.removeEventListener('pointermove', update);\n window.removeEventListener('pointerup', end);\n window.removeEventListener('pointercancel', end);\n };\n stopDragging.current = end;\n window.addEventListener('pointermove', update);\n window.addEventListener('pointerup', end, { once: true });\n window.addEventListener('pointercancel', end, { once: true });\n }}\n onKeyDown={(event) => {\n if (!panel.current) return;\n if (!['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'].includes(event.key)) return;\n event.preventDefault();\n const bounds = panel.current.getBoundingClientRect();\n const size = horizontal ? bounds.width : bounds.height;\n const next = Math.min(\n maxSize,\n Math.max(\n minSize,\n size +\n (['ArrowRight', 'ArrowDown'].includes(event.key) ? 10 : -10) *\n (placement === 'right' || placement === 'bottom' ? -1 : 1),\n ),\n );\n setResized(next);\n onResize?.(next);\n }}\n />\n )}\n <OverlayOwner.Provider value={id}>\n {(title != null || description != null || icon != null || closable || extra) && (\n <div\n className={classes(\n 'leaf-drawer__header',\n title == null &&\n description == null &&\n icon == null &&\n 'leaf-drawer__header--compact',\n )}\n >\n {icon != null && (\n <span className=\"leaf-drawer__icon\" aria-hidden=\"true\">\n {icon}\n </span>\n )}\n {(title != null || description != null) && (\n <div className=\"leaf-drawer__heading\">\n {title != null && <h2 id={`${id}-title`}>{title}</h2>}\n {description != null && (\n <div id={`${id}-description`} className=\"leaf-drawer__description\">\n {description}\n </div>\n )}\n </div>\n )}\n {extra && <div className=\"leaf-drawer__extra\">{extra}</div>}\n {closable && (\n <button\n type=\"button\"\n className=\"leaf-modal__close\"\n aria-label={messages.common.close}\n onClick={onClose}\n >\n <X size={18} aria-hidden=\"true\" />\n </button>\n )}\n </div>\n )}\n <div className=\"leaf-drawer__body\">\n <div ref={content} className=\"leaf-drawer__content\">\n {children}\n </div>\n </div>\n {footer != null && <div className=\"leaf-drawer__footer\">{footer}</div>}\n </OverlayOwner.Provider>\n </div>\n </div>\n );\n}\nexport function Drawer(rawProps: DrawerProps) {\n const props = useComponentProps('Drawer', rawProps);\n return (\n <ScopedPortal container={props.container}>\n <DrawerSurface {...props} />\n </ScopedPortal>\n );\n}\n"],"names":["__webpack_require__","getters","values","define","defs","kind","key","Object","obj","prop","Symbol","DrawerSurface","open","title","description","icon","divided","footer","extra","placement","width","height","closable","maskClosable","keyboard","onClose","afterClose","forceRender","destroyOnClose","preserve","initialFocus","returnFocus","_container","push","resizable","minSize","maxSize","onResize","children","className","style","props","messages","maskBlur","useLeafConfig","id","useId","panel","useRef","backdrop","content","present","usePresence","contentRevision","useContentTransition","owner","useContext","OverlayOwner","resized","setResized","useState","stopDragging","undefined","useEffect","horizontal","parent","document","previous","distance","useDialog","visited","classes","inertProps","Boolean","Number","event","start","bounds","size","update","next","Math","end","window","X","Drawer","rawProps","useComponentProps","ScopedPortal"],"mappings":"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"}
1
+ {"version":3,"file":"drawer/drawer.cjs","sources":["webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../../../../../src/drawer/drawer.tsx"],"sourcesContent":["__webpack_require__.d = (exports, getters, values) => {\n\tvar define = (defs, kind) => {\n\t\tfor(var key in defs) {\n\t\t\tif(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });\n\t\t\t}\n\t\t}\n\t};\n\tdefine(getters, \"get\");\n\tdefine(values, \"value\");\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { X } from 'lucide-react';\nimport {\n type HTMLAttributes,\n type ReactNode,\n useContext,\n useEffect,\n useId,\n useRef,\n useState,\n} from 'react';\nimport { useComponentProps } from '../config-provider/component-defaults';\nimport { useLeafConfig } from '../config-provider/context';\nimport { ScrollbarControl } from '../scrollbar/scrollbar';\nimport { classes } from '../shared/classes';\nimport { type DialogFocusOptions, useDialog } from '../shared/dialog';\nimport { inertProps } from '../shared/inert';\nimport { OverlayOwner } from '../shared/overlay-owner';\nimport { useContentTransition, usePresence } from '../shared/presence';\nimport { ScopedPortal } from '../shared/scoped-portal';\n\nexport interface DrawerProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'onResize'>,\n DialogFocusOptions {\n open: boolean;\n title?: ReactNode;\n description?: ReactNode;\n icon?: ReactNode;\n divided?: boolean;\n footer?: ReactNode;\n extra?: ReactNode;\n placement?: 'left' | 'right' | 'top' | 'bottom';\n width?: number | string;\n height?: number | string;\n closable?: boolean;\n maskClosable?: boolean;\n keyboard?: boolean;\n onClose?: () => void;\n afterClose?: () => void;\n forceRender?: boolean;\n destroyOnClose?: boolean;\n preserve?: boolean;\n container?: Element | DocumentFragment | (() => Element | DocumentFragment);\n push?: boolean | number;\n resizable?: boolean;\n minSize?: number;\n maxSize?: number;\n onResize?: (size: number) => void;\n}\nfunction DrawerSurface({\n open,\n title,\n description,\n icon,\n divided = true,\n footer,\n extra,\n placement = 'right',\n width = 380,\n height = 300,\n closable = true,\n maskClosable = true,\n keyboard = true,\n onClose,\n afterClose,\n forceRender = false,\n destroyOnClose = false,\n preserve,\n initialFocus,\n returnFocus,\n container: _container,\n push = false,\n resizable = false,\n minSize = 240,\n maxSize = 900,\n onResize,\n children,\n className,\n style,\n ...props\n}: DrawerProps) {\n const { messages, maskBlur } = useLeafConfig();\n const id = useId();\n const panel = useRef<HTMLDivElement>(null);\n const backdrop = useRef<HTMLButtonElement>(null);\n const content = useRef<HTMLDivElement>(null);\n const present = usePresence(open, backdrop);\n const contentRevision = useRef({ children, revision: 0 });\n if (children !== contentRevision.current.children)\n contentRevision.current = { children, revision: contentRevision.current.revision + 1 };\n useContentTransition(content, `${open}:${contentRevision.current.revision}`, 0, true);\n const owner = useContext(OverlayOwner);\n const [resized, setResized] = useState<number>();\n const stopDragging = useRef<(() => void) | undefined>(undefined);\n useEffect(() => () => stopDragging.current?.(), []);\n const horizontal = placement === 'left' || placement === 'right';\n // biome-ignore lint/correctness/useExhaustiveDependencies: Resizing resets when the configured dimensions change.\n useEffect(() => {\n setResized(undefined);\n }, [width, height]);\n useEffect(() => {\n if (!open || !push || !owner) return;\n const parent = document.getElementById(owner);\n if (!parent) return;\n const previous = parent.style.transform;\n const distance = typeof push === 'number' ? push : 40;\n parent.style.transform = `translate${horizontal ? 'X' : 'Y'}(${placement === 'right' || placement === 'bottom' ? -distance : distance}px)`;\n return () => {\n parent.style.transform = previous;\n };\n }, [open, push, owner, placement, horizontal]);\n const previous = useRef(false);\n useEffect(() => {\n if (previous.current && !present) afterClose?.();\n previous.current = present;\n }, [present, afterClose]);\n useDialog(open, panel, id, () => onClose?.(), keyboard, { initialFocus, returnFocus });\n const visited = useRef(false);\n if (open) visited.current = true;\n if (\n !present &&\n !forceRender &&\n ((preserve === undefined ? destroyOnClose : !preserve) || !visited.current)\n )\n return null;\n return (\n <div\n hidden={!present}\n className={classes('leaf-drawer-mask', `leaf-drawer-mask--${placement}`)}\n data-blur={maskBlur ? undefined : 'off'}\n data-state={open ? 'open' : 'closing'}\n aria-hidden={!open || undefined}\n {...inertProps(!open)}\n >\n <button\n ref={backdrop}\n type=\"button\"\n tabIndex={-1}\n className=\"leaf-drawer-backdrop\"\n aria-label={messages.common.close}\n onClick={() => {\n if (maskClosable) onClose?.();\n }}\n />\n <div\n {...props}\n ref={panel}\n id={props.id ?? id}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title != null ? `${id}-title` : props['aria-labelledby']}\n aria-describedby={\n [props['aria-describedby'], description != null && `${id}-description`]\n .filter(Boolean)\n .join(' ') || undefined\n }\n tabIndex={-1}\n className={classes('leaf-drawer', divided && 'leaf-drawer--divided', className)}\n style={{\n ...(horizontal\n ? { width: resized ?? width, height: '100%' }\n : { height: resized ?? height, width: '100%' }),\n ...style,\n }}\n >\n {resizable && (\n // biome-ignore lint/a11y/useSemanticElements: This is the adjustable ARIA window-splitter handle, not a decorative separator.\n <div\n role=\"separator\"\n tabIndex={0}\n aria-label={messages.tree.expand}\n aria-orientation={horizontal ? 'vertical' : 'horizontal'}\n aria-valuemin={minSize}\n aria-valuemax={maxSize}\n aria-valuenow={\n resized ??\n (typeof (horizontal ? width : height) === 'number'\n ? Number(horizontal ? width : height)\n : undefined)\n }\n className=\"leaf-drawer__resize\"\n onPointerDown={(event) => {\n if (!panel.current) return;\n stopDragging.current?.();\n event.preventDefault();\n event.currentTarget.setPointerCapture(event.pointerId);\n const start = horizontal ? event.clientX : event.clientY;\n const bounds = panel.current.getBoundingClientRect();\n const size = horizontal ? bounds.width : bounds.height;\n const update = (event: PointerEvent) => {\n const next = Math.min(\n maxSize,\n Math.max(\n minSize,\n size +\n ((horizontal ? event.clientX : event.clientY) - start) *\n (placement === 'right' || placement === 'bottom' ? -1 : 1),\n ),\n );\n setResized(next);\n onResize?.(next);\n };\n const end = () => {\n window.removeEventListener('pointermove', update);\n window.removeEventListener('pointerup', end);\n window.removeEventListener('pointercancel', end);\n };\n stopDragging.current = end;\n window.addEventListener('pointermove', update);\n window.addEventListener('pointerup', end, { once: true });\n window.addEventListener('pointercancel', end, { once: true });\n }}\n onKeyDown={(event) => {\n if (!panel.current) return;\n if (!['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'].includes(event.key)) return;\n event.preventDefault();\n const bounds = panel.current.getBoundingClientRect();\n const size = horizontal ? bounds.width : bounds.height;\n const next = Math.min(\n maxSize,\n Math.max(\n minSize,\n size +\n (['ArrowRight', 'ArrowDown'].includes(event.key) ? 10 : -10) *\n (placement === 'right' || placement === 'bottom' ? -1 : 1),\n ),\n );\n setResized(next);\n onResize?.(next);\n }}\n />\n )}\n <OverlayOwner.Provider value={id}>\n {(title != null || description != null || icon != null || closable || extra) && (\n <div\n className={classes(\n 'leaf-drawer__header',\n title == null &&\n description == null &&\n icon == null &&\n 'leaf-drawer__header--compact',\n )}\n >\n {icon != null && (\n <span className=\"leaf-drawer__icon\" aria-hidden=\"true\">\n {icon}\n </span>\n )}\n {(title != null || description != null) && (\n <div className=\"leaf-drawer__heading\">\n {title != null && <h2 id={`${id}-title`}>{title}</h2>}\n {description != null && (\n <div id={`${id}-description`} className=\"leaf-drawer__description\">\n {description}\n </div>\n )}\n </div>\n )}\n {extra && <div className=\"leaf-drawer__extra\">{extra}</div>}\n {closable && (\n <button\n type=\"button\"\n className=\"leaf-modal__close\"\n aria-label={messages.common.close}\n onClick={onClose}\n >\n <X size={18} aria-hidden=\"true\" />\n </button>\n )}\n </div>\n )}\n <ScrollbarControl\n className=\"leaf-drawer__body\"\n viewportClassName=\"leaf-drawer__viewport\"\n orientation=\"vertical\"\n role={title != null || props['aria-label'] ? 'region' : 'presentation'}\n aria-labelledby={title != null ? `${id}-title` : undefined}\n aria-label={title == null ? props['aria-label'] : undefined}\n >\n <div ref={content} className=\"leaf-drawer__content\">\n {children}\n </div>\n </ScrollbarControl>\n {footer != null && <div className=\"leaf-drawer__footer\">{footer}</div>}\n </OverlayOwner.Provider>\n </div>\n </div>\n );\n}\nexport function Drawer(rawProps: DrawerProps) {\n const props = useComponentProps('Drawer', rawProps);\n return (\n <ScopedPortal container={props.container}>\n <DrawerSurface {...props} />\n </ScopedPortal>\n );\n}\n"],"names":["__webpack_require__","getters","values","define","defs","kind","key","Object","obj","prop","Symbol","DrawerSurface","open","title","description","icon","divided","footer","extra","placement","width","height","closable","maskClosable","keyboard","onClose","afterClose","forceRender","destroyOnClose","preserve","initialFocus","returnFocus","_container","push","resizable","minSize","maxSize","onResize","children","className","style","props","messages","maskBlur","useLeafConfig","id","useId","panel","useRef","backdrop","content","present","usePresence","contentRevision","useContentTransition","owner","useContext","OverlayOwner","resized","setResized","useState","stopDragging","undefined","useEffect","horizontal","parent","document","previous","distance","useDialog","visited","classes","inertProps","Boolean","Number","event","start","bounds","size","update","next","Math","end","window","X","ScrollbarControl","Drawer","rawProps","useComponentProps","ScopedPortal"],"mappings":"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"}
@@ -53,7 +53,7 @@ const flatten = (items)=>items.flatMap((item)=>'group' === item.type ? [
53
53
  item
54
54
  ]);
55
55
  const useBrowserLayoutEffect = "u" < typeof window ? external_react_namespaceObject.useEffect : external_react_namespaceObject.useLayoutEffect;
56
- function DropdownControl({ items, children, disabled, open: controlled, defaultOpen = false, onOpenChange, onSelect, placement = 'bottom-start', popupWidth, popupMaxWidth = 420, trigger: triggerType = 'click', mouseEnterDelay = 100, mouseLeaveDelay = 150, popupPlacement, popupClassName, popupStyle, popupRender, getPopupContainer, itemRender }) {
56
+ function DropdownControl({ items, children, disabled, open: controlled, defaultOpen = false, onOpenChange, onSelect, placement = 'bottom-start', popupWidth, popupMaxWidth = 420, trigger: triggerType = 'click', mouseEnterDelay = 100, mouseLeaveDelay = 150, popupPlacement, popupClassName, popupStyle, popupRender, getPopupContainer, itemRender, navigation }) {
57
57
  const triggers = Array.isArray(triggerType) ? triggerType : [
58
58
  triggerType
59
59
  ];
@@ -206,6 +206,7 @@ function DropdownControl({ items, children, disabled, open: controlled, defaultO
206
206
  }
207
207
  }),
208
208
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(MenuPanel, {
209
+ navigation: navigation,
209
210
  items: items,
210
211
  open: open,
211
212
  trigger: trigger,
@@ -233,7 +234,7 @@ function DropdownControl({ items, children, disabled, open: controlled, defaultO
233
234
  ]
234
235
  });
235
236
  }
236
- function MenuPanel({ items, open, trigger, id, placement, width, maxWidth, startAtEnd, register, unregister, checks, choose, close, onTab, position, pointerOpen, onPointerEnter, onPointerLeave, popupClassName, popupStyle, popupRender, getPopupContainer, itemRender }) {
237
+ function MenuPanel({ navigation, items, open, trigger, id, placement, width, maxWidth, startAtEnd, register, unregister, checks, choose, close, onTab, position, pointerOpen, onPointerEnter, onPointerLeave, popupClassName, popupStyle, popupRender, getPopupContainer, itemRender }) {
237
238
  const { direction } = (0, context_cjs_namespaceObject.useLeafConfig)();
238
239
  const panel = (0, external_react_namespaceObject.useRef)(null);
239
240
  const submenuTrigger = (0, external_react_namespaceObject.useRef)(null);
@@ -322,9 +323,12 @@ function MenuPanel({ items, open, trigger, id, placement, width, maxWidth, start
322
323
  };
323
324
  const child = rows.find((item)=>item.key === submenu);
324
325
  const activeItem = rows.find((item)=>item.key === current);
326
+ const containsSelected = (item)=>item.key === navigation?.selectedKey || Boolean(item.children?.some(containsSelected));
325
327
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
326
328
  children: [
327
329
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(floating_cjs_namespaceObject.FloatingPanel, {
330
+ sideFallback: Boolean(navigation),
331
+ resetSurfaceGeometry: Boolean(navigation),
328
332
  open: open,
329
333
  triggerRef: trigger,
330
334
  panelRef: panel,
@@ -332,7 +336,7 @@ function MenuPanel({ items, open, trigger, id, placement, width, maxWidth, start
332
336
  placement: placement,
333
337
  width: width,
334
338
  maxWidth: maxWidth,
335
- className: (0, classes_cjs_namespaceObject.classes)('leaf-floating', 'leaf-dropdown', popupClassName),
339
+ className: (0, classes_cjs_namespaceObject.classes)('leaf-floating', 'leaf-dropdown', navigation && 'leaf-menu__popup', popupClassName),
336
340
  position: position,
337
341
  onPointerEnter: onPointerEnter,
338
342
  onPointerLeave: onPointerLeave,
@@ -340,15 +344,20 @@ function MenuPanel({ items, open, trigger, id, placement, width, maxWidth, start
340
344
  render: popupRender,
341
345
  container: getPopupContainer,
342
346
  role: "menu",
347
+ "aria-label": 'string' == typeof navigation?.title ? navigation.title : void 0,
343
348
  tabIndex: -1,
344
349
  onKeyDown: keyDown,
345
350
  children: [
351
+ navigation?.title && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
352
+ className: "leaf-menu__popup-title",
353
+ children: navigation.title
354
+ }),
346
355
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
347
356
  className: "leaf-dropdown__highlight",
348
357
  "aria-hidden": "true",
349
358
  "data-ready": Boolean(highlight),
350
359
  "data-danger": activeItem?.danger || void 0,
351
- "data-selected": (activeItem?.type === 'checkbox' || activeItem?.type === 'radio') && (activeItem.checked ?? Boolean(checks[activeItem.key])) || void 0,
360
+ "data-selected": navigation && activeItem?.key === navigation.selectedKey || (activeItem?.type === 'checkbox' || activeItem?.type === 'radio') && (activeItem.checked ?? Boolean(checks[activeItem.key])) || void 0,
352
361
  style: highlight
353
362
  }),
354
363
  rows.map((item)=>'divider' === item.type ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("hr", {
@@ -363,6 +372,8 @@ function MenuPanel({ items, open, trigger, id, placement, width, maxWidth, start
363
372
  role: 'checkbox' === item.type ? 'menuitemcheckbox' : 'radio' === item.type ? 'menuitemradio' : 'menuitem',
364
373
  "aria-checked": 'checkbox' === item.type || 'radio' === item.type ? item.checked ?? Boolean(checks[item.key]) : void 0,
365
374
  "aria-haspopup": item.children?.length ? 'menu' : void 0,
375
+ "aria-current": navigation && item.key === navigation.selectedKey ? 'page' : void 0,
376
+ "data-active-parent": navigation && item.children?.length && containsSelected(item) ? true : void 0,
366
377
  "aria-expanded": item.children?.length ? submenu === item.key : void 0,
367
378
  disabled: item.disabled,
368
379
  tabIndex: current === item.key ? 0 : -1,
@@ -398,8 +409,13 @@ function MenuPanel({ items, open, trigger, id, placement, width, maxWidth, start
398
409
  opacity: item.checked ?? checks[item.key] ? 1 : 0
399
410
  },
400
411
  "aria-hidden": "true"
412
+ }) : navigation && item.icon ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
413
+ className: "leaf-menu__popup-icon",
414
+ "aria-hidden": "true",
415
+ children: item.icon
401
416
  }) : item.icon,
402
417
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
418
+ className: navigation ? 'leaf-menu__popup-label' : void 0,
403
419
  children: itemRender?.(item) ?? item.label
404
420
  }),
405
421
  item.children?.length ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.ChevronRight, {
@@ -412,6 +428,9 @@ function MenuPanel({ items, open, trigger, id, placement, width, maxWidth, start
412
428
  ]
413
429
  }),
414
430
  child?.children && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(MenuPanel, {
431
+ navigation: navigation ? {
432
+ selectedKey: navigation.selectedKey
433
+ } : void 0,
415
434
  items: child.children,
416
435
  open: open && Boolean(submenu),
417
436
  trigger: submenuTrigger,
@@ -423,6 +442,7 @@ function MenuPanel({ items, open, trigger, id, placement, width, maxWidth, start
423
442
  getPopupContainer: getPopupContainer,
424
443
  itemRender: itemRender,
425
444
  maxWidth: maxWidth,
445
+ width: navigation ? width : void 0,
426
446
  register: register,
427
447
  unregister: unregister,
428
448
  checks: checks,
@@ -440,6 +460,7 @@ function MenuAction({ item, children, ...props }) {
440
460
  rel: '_blank' === item.target ? 'noopener noreferrer' : void 0,
441
461
  role: props.role,
442
462
  "aria-disabled": item.disabled || void 0,
463
+ "aria-current": props['aria-current'],
443
464
  className: props.className,
444
465
  tabIndex: props.tabIndex,
445
466
  "data-key": item.key,