@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
@@ -58,7 +58,7 @@ function resolvePath(options, values) {
58
58
  return path;
59
59
  }
60
60
  const cascader_Cascader = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRef)(function(rawProps, forwardedRef) {
61
- const { options: suppliedOptions, value, defaultValue = emptyPath, size = 'md', status: statusProp, placeholder, name, form, required: requiredProp, allowClear = true, disabled: disabledProp, className, style, onChange, onOpenChange, open: controlledOpen, defaultOpen, multiple = false, readOnly, showSearch, changeOnSelect, displayRender, optionRender, loadData, onLoadError, cacheKey, tagWrap = true, maxTagCount, popupPlacement, popupClassName, popupStyle, popupRender, getPopupContainer, onClick, onKeyDown, 'aria-label': ariaLabel, id: idProp, 'aria-describedby': ariaDescribedByProp, 'aria-invalid': ariaInvalid, ...props } = (0, component_defaults_cjs_namespaceObject.useComponentProps)('Cascader', rawProps);
61
+ const { options: suppliedOptions, value, defaultValue = emptyPath, size = 'md', status: statusProp, placeholder, name, form, required: requiredProp, allowClear = true, disabled: disabledProp, className, style, onChange, onOpenChange, open: controlledOpen, defaultOpen, multiple = false, readOnly, showSearch, changeOnSelect, displayRender, optionRender, loadData, onLoadError, cacheKey, tagWrap = true, maxTagCount, popupWidth = 'trigger', popupMaxWidth, popupPlacement, popupClassName, popupStyle, popupRender, getPopupContainer, onClick, onKeyDown, 'aria-label': ariaLabel, id: idProp, 'aria-describedby': ariaDescribedByProp, 'aria-invalid': ariaInvalid, ...props } = (0, component_defaults_cjs_namespaceObject.useComponentProps)('Cascader', rawProps);
62
62
  const { messages, direction } = (0, context_cjs_namespaceObject.useLeafConfig)();
63
63
  const format = (0, use_formatted_text_cjs_namespaceObject.useFormattedText)();
64
64
  const [loaded, setLoaded] = (0, external_react_namespaceObject.useState)(new Map());
@@ -101,6 +101,7 @@ const cascader_Cascader = /*#__PURE__*/ (0, external_react_namespaceObject.forwa
101
101
  field?.descriptionId
102
102
  ].filter(Boolean).join(' ') || void 0;
103
103
  const triggerRef = (0, external_react_namespaceObject.useRef)(null);
104
+ const rootRef = (0, external_react_namespaceObject.useRef)(null);
104
105
  const panelRef = (0, external_react_namespaceObject.useRef)(null);
105
106
  const ref = (0, field_cjs_namespaceObject.useMergedRef)(triggerRef, forwardedRef);
106
107
  const panelId = `${(0, external_react_namespaceObject.useId)()}-cascader`;
@@ -206,8 +207,10 @@ const cascader_Cascader = /*#__PURE__*/ (0, external_react_namespaceObject.forwa
206
207
  }
207
208
  };
208
209
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
210
+ ref: rootRef,
209
211
  className: (0, classes_cjs_namespaceObject.classes)('leaf-cascader', `leaf-cascader--${size}`, multiple && 'leaf-cascader--multiple', className),
210
212
  style: style,
213
+ dir: props.dir ?? direction,
211
214
  "data-status": status,
212
215
  "data-disabled": disabled ? '' : void 0,
213
216
  "data-open": open ? '' : void 0,
@@ -215,6 +218,7 @@ const cascader_Cascader = /*#__PURE__*/ (0, external_react_namespaceObject.forwa
215
218
  children: [
216
219
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("button", {
217
220
  ...props,
221
+ dir: props.dir ?? direction,
218
222
  ref: ref,
219
223
  type: "button",
220
224
  form: form,
@@ -298,8 +302,11 @@ const cascader_Cascader = /*#__PURE__*/ (0, external_react_namespaceObject.forwa
298
302
  render: popupRender,
299
303
  style: popupStyle,
300
304
  open: open,
301
- triggerRef: triggerRef,
305
+ triggerRef: rootRef,
302
306
  panelRef: panelRef,
307
+ matchWidth: 'trigger' === popupWidth,
308
+ width: 'trigger' === popupWidth ? void 0 : 'auto' === popupWidth ? 'max-content' : popupWidth,
309
+ maxWidth: popupMaxWidth,
303
310
  id: panelId,
304
311
  className: (0, classes_cjs_namespaceObject.classes)('leaf-floating leaf-cascader__panel', popupClassName),
305
312
  role: "dialog",
@@ -1 +1 @@
1
- {"version":3,"file":"cascader/cascader.cjs","sources":["webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../../../src/cascader/cascader.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 { Check, ChevronDown, ChevronRight, LoaderCircle } from 'lucide-react';\nimport {\n type ButtonHTMLAttributes,\n forwardRef,\n type ReactNode,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useComponentProps } from '../config-provider/component-defaults';\nimport { useLeafConfig } from '../config-provider/context';\nimport { FieldScope, useFormField } from '../form/form';\nimport { InputControl } from '../input/input';\nimport { ScrollbarControl as Scrollbar } from '../scrollbar/scrollbar';\nimport { classes } from '../shared/classes';\nimport { ClearButton } from '../shared/clear-button';\nimport { FormValue, useFieldValue, useMergedRef } from '../shared/field';\nimport {\n FloatingPanel,\n type PopupOptions,\n useFloatingDismiss,\n usePopupState,\n} from '../shared/floating';\nimport { SelectionContent } from '../shared/selection-content';\nimport type { ControlSize, ControlStatus } from '../shared/types';\nimport { useFormattedText } from '../shared/use-formatted-text';\n\nexport interface CascaderOption {\n value: string;\n label: ReactNode;\n searchLabel?: string;\n isLeaf?: boolean;\n disabled?: boolean;\n children?: readonly CascaderOption[];\n}\n\ninterface CascaderBaseProps\n extends Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'type' | 'value' | 'defaultValue' | 'onChange' | 'children'\n >,\n PopupOptions {\n options: readonly CascaderOption[];\n size?: ControlSize;\n status?: ControlStatus;\n placeholder?: string;\n name?: string;\n required?: boolean;\n allowClear?: boolean;\n onOpenChange?: (open: boolean) => void;\n open?: boolean;\n defaultOpen?: boolean;\n readOnly?: boolean;\n showSearch?: boolean;\n changeOnSelect?: boolean;\n displayRender?: (labels: ReactNode[], selectedOptions: CascaderOption[]) => ReactNode;\n optionRender?: (option: CascaderOption) => ReactNode;\n loadData?: (option: CascaderOption, signal: AbortSignal) => Promise<readonly CascaderOption[]>;\n onLoadError?: (error: unknown, option: CascaderOption) => void;\n cacheKey?: string | number;\n tagWrap?: boolean;\n maxTagCount?: number | 'responsive';\n}\nexport type CascaderProps = CascaderBaseProps &\n (\n | {\n multiple?: false;\n value?: readonly string[];\n defaultValue?: readonly string[];\n onChange?: (value: string[], selectedOptions: CascaderOption[]) => void;\n }\n | {\n multiple: true;\n value?: readonly (readonly string[])[];\n defaultValue?: readonly (readonly string[])[];\n onChange?: (value: string[][], selectedOptions: CascaderOption[][]) => void;\n }\n );\n\nconst emptyPath: readonly string[] = [];\nfunction resolvePath(options: readonly CascaderOption[], values: readonly string[]) {\n const path: CascaderOption[] = [];\n let level = options;\n for (const value of values) {\n const option = level.find((item) => item.value === value);\n if (!option) break;\n path.push(option);\n level = option.children ?? [];\n }\n return path;\n}\n\nexport const Cascader = forwardRef<HTMLButtonElement, CascaderProps>(function Cascader(\n rawProps: CascaderProps,\n forwardedRef,\n) {\n const {\n options: suppliedOptions,\n value,\n defaultValue = emptyPath,\n size = 'md',\n status: statusProp,\n placeholder,\n name,\n form,\n required: requiredProp,\n allowClear = true,\n disabled: disabledProp,\n className,\n style,\n onChange,\n onOpenChange,\n open: controlledOpen,\n defaultOpen,\n multiple = false,\n readOnly,\n showSearch,\n changeOnSelect,\n displayRender,\n optionRender,\n loadData,\n onLoadError,\n cacheKey,\n tagWrap = true,\n maxTagCount,\n popupPlacement,\n popupClassName,\n popupStyle,\n popupRender,\n getPopupContainer,\n onClick,\n onKeyDown,\n 'aria-label': ariaLabel,\n id: idProp,\n 'aria-describedby': ariaDescribedByProp,\n 'aria-invalid': ariaInvalid,\n ...props\n } = useComponentProps('Cascader', rawProps);\n const { messages, direction } = useLeafConfig();\n const format = useFormattedText();\n const [loaded, setLoaded] = useState(new Map<string, readonly CascaderOption[]>());\n const [loading, setLoading] = useState(new Set<string>());\n const requests = useRef(new Map<string, AbortController>());\n // biome-ignore lint/correctness/useExhaustiveDependencies: Invalidate lazy children and abort requests when the source or explicit cache version changes.\n useEffect(() => {\n for (const request of requests.current.values()) request.abort();\n requests.current.clear();\n setLoaded(new Map());\n setLoading(new Set());\n return () => {\n for (const request of requests.current.values()) request.abort();\n };\n }, [suppliedOptions, loadData, cacheKey]);\n const options = useMemo(() => {\n const merge = (entries: readonly CascaderOption[]): CascaderOption[] =>\n entries.map((option) => {\n const children = option.children ?? loaded.get(option.value);\n return children\n ? { ...option, children: merge(children), isLeaf: !children.length }\n : option;\n });\n return merge(suppliedOptions);\n }, [suppliedOptions, loaded]);\n const field = useFormField();\n const disabled = disabledProp || field?.disabled;\n const required = requiredProp ?? field?.required;\n const status = statusProp ?? (field?.error ? 'error' : undefined);\n const id = idProp ?? field?.id;\n const ariaDescribedBy =\n [ariaDescribedByProp, field?.descriptionId].filter(Boolean).join(' ') || undefined;\n const triggerRef = useRef<HTMLButtonElement>(null);\n const panelRef = useRef<HTMLDivElement>(null);\n const ref = useMergedRef(triggerRef, forwardedRef);\n const panelId = `${useId()}-cascader`;\n const [selectedValue, setSelectedValue] = useFieldValue<\n readonly string[] | readonly (readonly string[])[]\n >(value, defaultValue, triggerRef, form);\n const paths = multiple\n ? (selectedValue as readonly (readonly string[])[])\n : selectedValue.length\n ? [selectedValue as readonly string[]]\n : [];\n const [draft, setDraft] = useState<readonly string[]>(paths[0] ?? []);\n const [query, setQuery] = useState('');\n const [open, setOpen] = usePopupState(\n disabled || readOnly,\n onOpenChange,\n controlledOpen,\n defaultOpen,\n );\n const [focusLevel, setFocusLevel] = useState<number | null>(null);\n const selectedPaths = paths.map((path) => resolvePath(options, path));\n const caption = (path: CascaderOption[]) =>\n displayRender?.(\n path.map((option) => option.label),\n path,\n ) ??\n path\n .map(\n (option) =>\n option.searchLabel ?? (typeof option.label === 'string' ? option.label : option.value),\n )\n .join(' / ');\n const searchResults: CascaderOption[][] = [];\n const visit = (entries: readonly CascaderOption[], path: CascaderOption[]) => {\n for (const entry of entries) {\n const next = [...path, entry];\n if (entry.disabled) continue;\n if (changeOnSelect || (!entry.children?.length && (!loadData || entry.isLeaf !== false))) {\n if (\n next\n .map(\n (option) =>\n option.searchLabel ??\n (typeof option.label === 'string' ? option.label : option.value),\n )\n .join(' / ')\n .toLocaleLowerCase()\n .includes(query.toLocaleLowerCase())\n )\n searchResults.push(next);\n }\n if (entry.children) visit(entry.children, next);\n }\n };\n if (query) visit(options, []);\n const draftOptions = resolvePath(options, draft);\n const levels: (readonly CascaderOption[])[] = [options];\n for (const option of draftOptions) if (option.children?.length) levels.push(option.children);\n const close = () => {\n setOpen(false);\n };\n useFloatingDismiss(open, close, triggerRef, panelRef);\n useEffect(() => {\n if (open && focusLevel !== null) {\n const column = panelRef.current?.querySelector<HTMLElement>(`[data-level='${focusLevel}']`);\n const option =\n column?.querySelector<HTMLButtonElement>('button[aria-selected=\"true\"]:not(:disabled)') ??\n column?.querySelector<HTMLButtonElement>('button:not(:disabled)');\n option?.focus();\n option?.scrollIntoView?.({ block: 'nearest' });\n setFocusLevel(null);\n }\n }, [open, focusLevel]);\n\n const openPanel = () => {\n if (disabled) return;\n setDraft(paths[0] ?? []);\n setFocusLevel(0);\n setOpen(true);\n };\n const choose = (option: CascaderOption, level: number) => {\n if (option.disabled || disabled || readOnly) return;\n const next = [...draft.slice(0, level), option.value];\n setDraft(next);\n if (\n loadData &&\n option.isLeaf === false &&\n option.children === undefined &&\n !requests.current.has(option.value)\n ) {\n const request = new AbortController();\n requests.current.set(option.value, request);\n setLoading((previous) => new Set(previous).add(option.value));\n void loadData(option, request.signal)\n .then((children) => {\n if (!request.signal.aborted)\n setLoaded((previous) => new Map(previous).set(option.value, children));\n })\n .catch((error) => {\n if (!request.signal.aborted) onLoadError?.(error, option);\n })\n .finally(() => {\n if (requests.current.get(option.value) === request) {\n requests.current.delete(option.value);\n setLoading((previous) => {\n const next = new Set(previous);\n next.delete(option.value);\n return next;\n });\n }\n });\n return;\n }\n if (changeOnSelect || (!option.children?.length && option.isLeaf !== false))\n commit(next, !option.children?.length);\n };\n const commit = (path: string[], leaf = true) => {\n if (disabled || readOnly) return;\n const next = multiple\n ? paths.some((current) => JSON.stringify(current) === JSON.stringify(path))\n ? paths\n .filter((current) => JSON.stringify(current) !== JSON.stringify(path))\n .map((current) => [...current])\n : [...paths.map((current) => [...current]), path]\n : path;\n setSelectedValue(next);\n (\n onChange as\n | ((value: string[] | string[][], options: CascaderOption[] | CascaderOption[][]) => void)\n | undefined\n )?.(\n next,\n multiple\n ? (next as string[][]).map((path) => resolvePath(options, path))\n : resolvePath(options, path),\n );\n if (!multiple && leaf) {\n close();\n triggerRef.current?.focus();\n }\n };\n\n return (\n <div\n className={classes(\n 'leaf-cascader',\n `leaf-cascader--${size}`,\n multiple && 'leaf-cascader--multiple',\n className,\n )}\n style={style}\n data-status={status}\n data-disabled={disabled ? '' : undefined}\n data-open={open ? '' : undefined}\n data-clearable={allowClear && selectedValue.length && !disabled && !readOnly ? '' : undefined}\n >\n <button\n {...props}\n ref={ref}\n type=\"button\"\n form={form}\n className=\"leaf-cascader__trigger\"\n disabled={disabled}\n role=\"combobox\"\n aria-expanded={open}\n aria-haspopup=\"dialog\"\n aria-controls={panelId}\n aria-label={ariaLabel}\n id={id}\n aria-describedby={ariaDescribedBy}\n aria-invalid={status === 'error' ? true : ariaInvalid}\n aria-required={required || undefined}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n if (open) close();\n else openPanel();\n }\n }}\n onKeyDown={(event) => {\n onKeyDown?.(event);\n if (event.defaultPrevented) return;\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n if (!open) openPanel();\n }\n if (event.key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n close();\n }\n }}\n >\n {multiple && selectedPaths.length ? (\n <SelectionContent\n className=\"leaf-cascader__value\"\n tagClassName=\"leaf-cascader__tag\"\n tagWrap={tagWrap}\n maxTagCount={maxTagCount}\n items={selectedPaths.map((path, index) => ({\n key: JSON.stringify(paths[index]),\n label: caption(path),\n text: path\n .map(\n (option) =>\n option.searchLabel ??\n (typeof option.label === 'string' ? option.label : option.value),\n )\n .join(' / '),\n }))}\n />\n ) : (\n <span\n className={classes(\n 'leaf-cascader__value',\n !selectedPaths.length && 'leaf-cascader__placeholder',\n )}\n >\n {selectedPaths.length\n ? selectedPaths.map((path, index) => (\n <span key={paths[index]?.join('/')}>\n {index > 0 ? '、' : ''}\n {caption(path)}\n </span>\n ))\n : placeholder || messages.cascader.placeholder}\n </span>\n )}\n <ChevronDown size={16} aria-hidden=\"true\" />\n </button>\n {allowClear && selectedValue.length > 0 && !disabled && !readOnly && (\n <ClearButton\n label={messages.cascader.clear}\n beforeArrow\n onClear={() => {\n setSelectedValue([]);\n setDraft([]);\n (onChange as ((value: [], options: []) => void) | undefined)?.([], []);\n close();\n triggerRef.current?.focus();\n }}\n />\n )}\n <FormValue\n name={name}\n form={form}\n required={required}\n disabled={disabled}\n value={selectedValue.length ? JSON.stringify(selectedValue) : ''}\n triggerRef={triggerRef}\n />\n <FloatingPanel\n placement={popupPlacement}\n container={getPopupContainer}\n render={popupRender}\n style={popupStyle}\n open={open}\n triggerRef={triggerRef}\n panelRef={panelRef}\n id={panelId}\n className={classes('leaf-floating leaf-cascader__panel', popupClassName)}\n role=\"dialog\"\n aria-label={ariaLabel || messages.cascader.placeholder}\n >\n {showSearch && (\n <FieldScope>\n <div className=\"leaf-cascader__search\">\n <InputControl\n allowClear\n aria-label={messages.common.search}\n value={query}\n onChange={(event) => setQuery(event.target.value)}\n />\n </div>\n </FieldScope>\n )}\n {query ? (\n <Scrollbar\n role=\"listbox\"\n aria-label={messages.common.search}\n className=\"leaf-cascader__column\"\n orientation=\"vertical\"\n maxHeight={256}\n >\n {searchResults.length ? (\n searchResults.map((path) => (\n <button\n type=\"button\"\n role=\"option\"\n aria-selected={paths.some(\n (current) =>\n JSON.stringify(current) ===\n JSON.stringify(path.map((option) => option.value)),\n )}\n className=\"leaf-floating__option\"\n key={path.map((option) => option.value).join('/')}\n onClick={() => commit(path.map((option) => option.value))}\n >\n {caption(path)}\n </button>\n ))\n ) : (\n <div className=\"leaf-floating__empty\">{messages.cascader.empty}</div>\n )}\n </Scrollbar>\n ) : (\n <div className=\"leaf-cascader__columns\">\n {levels.map((level, depth) => (\n <Scrollbar\n key={depth === 0 ? 'root' : draft[depth - 1]}\n className=\"leaf-cascader__column\"\n orientation=\"vertical\"\n maxHeight={256}\n data-level={depth}\n role=\"listbox\"\n aria-label={format('cascader.level', { level: depth + 1 })}\n >\n {level.length ? (\n level.map((option) => (\n <button\n key={option.value}\n type=\"button\"\n role=\"option\"\n className=\"leaf-floating__option\"\n aria-selected={draft[depth] === option.value}\n disabled={option.disabled}\n tabIndex={\n option.value ===\n (draft[depth] ?? level.find((item) => !item.disabled)?.value)\n ? 0\n : -1\n }\n onClick={() => {\n choose(option, depth);\n if (option.children?.length) setFocusLevel(depth + 1);\n }}\n onKeyDown={(event) => {\n if (\n event.key === (direction === 'rtl' ? 'ArrowLeft' : 'ArrowRight') &&\n (option.children?.length || option.isLeaf === false)\n ) {\n event.preventDefault();\n choose(option, depth);\n setFocusLevel(depth + 1);\n } else if (\n event.key === (direction === 'rtl' ? 'ArrowRight' : 'ArrowLeft') &&\n depth > 0\n ) {\n event.preventDefault();\n setFocusLevel(depth - 1);\n } else if (['ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n event.preventDefault();\n const items = Array.from(\n event.currentTarget.parentElement?.querySelectorAll<HTMLButtonElement>(\n 'button:not(:disabled)',\n ) ?? [],\n );\n const index = items.indexOf(event.currentTarget);\n const next =\n event.key === 'Home'\n ? 0\n : event.key === 'End'\n ? items.length - 1\n : (index + (event.key === 'ArrowDown' ? 1 : -1) + items.length) %\n items.length;\n items[next]?.focus();\n items[next]?.scrollIntoView?.({ block: 'nearest' });\n }\n }}\n >\n <span>{optionRender?.(option) ?? option.label}</span>\n {loading.has(option.value) ? (\n <LoaderCircle size={14} className=\"leaf-select__spinner\" />\n ) : option.children?.length || option.isLeaf === false ? (\n <ChevronRight size={14} aria-hidden=\"true\" />\n ) : (\n (multiple\n ? paths.some(\n (path) =>\n JSON.stringify(path) ===\n JSON.stringify([...draft.slice(0, depth), option.value]),\n )\n : draft[depth] === option.value) && (\n <Check size={14} className=\"leaf-cascader__check\" aria-hidden=\"true\" />\n )\n )}\n </button>\n ))\n ) : (\n <div className=\"leaf-floating__empty\">{messages.cascader.empty}</div>\n )}\n </Scrollbar>\n ))}\n </div>\n )}\n </FloatingPanel>\n </div>\n );\n});\nCascader.displayName = 'Cascader';\n"],"names":["__webpack_require__","getters","values","define","defs","kind","key","Object","obj","prop","Symbol","emptyPath","resolvePath","options","path","level","value","option","item","Cascader","forwardRef","rawProps","forwardedRef","suppliedOptions","defaultValue","size","statusProp","placeholder","name","form","requiredProp","allowClear","disabledProp","className","style","onChange","onOpenChange","controlledOpen","defaultOpen","multiple","readOnly","showSearch","changeOnSelect","displayRender","optionRender","loadData","onLoadError","cacheKey","tagWrap","maxTagCount","popupPlacement","popupClassName","popupStyle","popupRender","getPopupContainer","onClick","onKeyDown","ariaLabel","idProp","ariaDescribedByProp","ariaInvalid","props","useComponentProps","messages","direction","useLeafConfig","format","useFormattedText","loaded","setLoaded","useState","Map","loading","setLoading","Set","requests","useRef","useEffect","request","useMemo","merge","entries","children","field","useFormField","disabled","required","status","undefined","id","ariaDescribedBy","Boolean","triggerRef","panelRef","ref","useMergedRef","panelId","useId","selectedValue","setSelectedValue","useFieldValue","paths","draft","setDraft","query","setQuery","open","setOpen","usePopupState","focusLevel","setFocusLevel","selectedPaths","caption","searchResults","visit","entry","next","draftOptions","levels","close","useFloatingDismiss","column","openPanel","choose","AbortController","previous","error","commit","leaf","current","JSON","classes","event","SelectionContent","index","ChevronDown","ClearButton","FormValue","FloatingPanel","FieldScope","InputControl","Scrollbar","depth","items","Array","LoaderCircle","ChevronRight","Check"],"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;;;;;;;;;;;;;;;;;;;;;AC2EA,MAAMI,YAA+B,EAAE;AACvC,SAASC,YAAYC,OAAkC,EAAEX,MAAyB;IAChF,MAAMY,OAAyB,EAAE;IACjC,IAAIC,QAAQF;IACZ,KAAK,MAAMG,SAASd,OAAQ;QAC1B,MAAMe,SAASF,MAAM,IAAI,CAAC,CAACG,OAASA,KAAK,KAAK,KAAKF;QACnD,IAAI,CAACC,QAAQ;QACbH,KAAK,IAAI,CAACG;QACVF,QAAQE,OAAO,QAAQ,IAAI,EAAE;IAC/B;IACA,OAAOH;AACT;AAEO,MAAMK,oBAAWC,AAAA,WAAHD,GAAGC,IAAAA,+BAAAA,UAAAA,AAAAA,EAA6C,SACnEC,QAAuB,EACvBC,YAAY;IAEZ,MAAM,EACJ,SAASC,eAAe,EACxBP,KAAK,EACLQ,eAAeb,SAAS,EACxBc,OAAO,IAAI,EACX,QAAQC,UAAU,EAClBC,WAAW,EACXC,IAAI,EACJC,IAAI,EACJ,UAAUC,YAAY,EACtBC,aAAa,IAAI,EACjB,UAAUC,YAAY,EACtBC,SAAS,EACTC,KAAK,EACLC,QAAQ,EACRC,YAAY,EACZ,MAAMC,cAAc,EACpBC,WAAW,EACXC,WAAW,KAAK,EAChBC,QAAQ,EACRC,UAAU,EACVC,cAAc,EACdC,aAAa,EACbC,YAAY,EACZC,QAAQ,EACRC,WAAW,EACXC,QAAQ,EACRC,UAAU,IAAI,EACdC,WAAW,EACXC,cAAc,EACdC,cAAc,EACdC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,OAAO,EACPC,SAAS,EACT,cAAcC,SAAS,EACvB,IAAIC,MAAM,EACV,oBAAoBC,mBAAmB,EACvC,gBAAgBC,WAAW,EAC3B,GAAGC,OACJ,GAAGC,AAAAA,IAAAA,uCAAAA,iBAAAA,AAAAA,EAAkB,YAAYzC;IAClC,MAAM,EAAE0C,QAAQ,EAAEC,SAAS,EAAE,GAAGC,AAAAA,IAAAA,4BAAAA,aAAAA,AAAAA;IAChC,MAAMC,SAASC,AAAAA,IAAAA,uCAAAA,gBAAAA,AAAAA;IACf,MAAM,CAACC,QAAQC,UAAU,GAAGC,AAAAA,IAAAA,+BAAAA,QAAAA,AAAAA,EAAS,IAAIC;IACzC,MAAM,CAACC,SAASC,WAAW,GAAGH,AAAAA,IAAAA,+BAAAA,QAAAA,AAAAA,EAAS,IAAII;IAC3C,MAAMC,WAAWC,AAAAA,IAAAA,+BAAAA,MAAAA,AAAAA,EAAO,IAAIL;IAE5BM,IAAAA,+BAAAA,SAAAA,AAAAA,EAAU;QACR,KAAK,MAAMC,WAAWH,SAAS,OAAO,CAAC,MAAM,GAAIG,QAAQ,KAAK;QAC9DH,SAAS,OAAO,CAAC,KAAK;QACtBN,UAAU,IAAIE;QACdE,WAAW,IAAIC;QACf,OAAO;YACL,KAAK,MAAMI,WAAWH,SAAS,OAAO,CAAC,MAAM,GAAIG,QAAQ,KAAK;QAChE;IACF,GAAG;QAACvD;QAAiBsB;QAAUE;KAAS;IACxC,MAAMlC,UAAUkE,AAAAA,IAAAA,+BAAAA,OAAAA,AAAAA,EAAQ;QACtB,MAAMC,QAAQ,CAACC,UACbA,QAAQ,GAAG,CAAC,CAAChE;gBACX,MAAMiE,WAAWjE,OAAO,QAAQ,IAAImD,OAAO,GAAG,CAACnD,OAAO,KAAK;gBAC3D,OAAOiE,WACH;oBAAE,GAAGjE,MAAM;oBAAE,UAAU+D,MAAME;oBAAW,QAAQ,CAACA,SAAS,MAAM;gBAAC,IACjEjE;YACN;QACF,OAAO+D,MAAMzD;IACf,GAAG;QAACA;QAAiB6C;KAAO;IAC5B,MAAMe,QAAQC,AAAAA,IAAAA,yBAAAA,YAAAA,AAAAA;IACd,MAAMC,WAAWrD,gBAAgBmD,OAAO;IACxC,MAAMG,WAAWxD,gBAAgBqD,OAAO;IACxC,MAAMI,SAAS7D,cAAeyD,CAAAA,OAAO,QAAQ,UAAUK,MAAQ;IAC/D,MAAMC,KAAK/B,UAAUyB,OAAO;IAC5B,MAAMO,kBACJ;QAAC/B;QAAqBwB,OAAO;KAAc,CAAC,MAAM,CAACQ,SAAS,IAAI,CAAC,QAAQH;IAC3E,MAAMI,aAAahB,AAAAA,IAAAA,+BAAAA,MAAAA,AAAAA,EAA0B;IAC7C,MAAMiB,WAAWjB,AAAAA,IAAAA,+BAAAA,MAAAA,AAAAA,EAAuB;IACxC,MAAMkB,MAAMC,AAAAA,IAAAA,0BAAAA,YAAAA,AAAAA,EAAaH,YAAYtE;IACrC,MAAM0E,UAAU,GAAGC,AAAAA,IAAAA,+BAAAA,KAAAA,AAAAA,IAAQ,SAAS,CAAC;IACrC,MAAM,CAACC,eAAeC,iBAAiB,GAAGC,AAAAA,IAAAA,0BAAAA,aAAAA,AAAAA,EAExCpF,OAAOQ,cAAcoE,YAAY/D;IACnC,MAAMwE,QAAQ9D,WACT2D,gBACDA,cAAc,MAAM,GAClB;QAACA;KAAmC,GACpC,EAAE;IACR,MAAM,CAACI,OAAOC,SAAS,GAAGjC,AAAAA,IAAAA,+BAAAA,QAAAA,AAAAA,EAA4B+B,KAAK,CAAC,EAAE,IAAI,EAAE;IACpE,MAAM,CAACG,OAAOC,SAAS,GAAGnC,AAAAA,IAAAA,+BAAAA,QAAAA,AAAAA,EAAS;IACnC,MAAM,CAACoC,MAAMC,QAAQ,GAAGC,AAAAA,IAAAA,6BAAAA,aAAAA,AAAAA,EACtBvB,YAAY7C,UACZJ,cACAC,gBACAC;IAEF,MAAM,CAACuE,YAAYC,cAAc,GAAGxC,AAAAA,IAAAA,+BAAAA,QAAAA,AAAAA,EAAwB;IAC5D,MAAMyC,gBAAgBV,MAAM,GAAG,CAAC,CAACvF,OAASF,YAAYC,SAASC;IAC/D,MAAMkG,UAAU,CAAClG,OACf6B,gBACE7B,KAAK,GAAG,CAAC,CAACG,SAAWA,OAAO,KAAK,GACjCH,SAEFA,KACG,GAAG,CACF,CAACG,SACCA,OAAO,WAAW,IAAK,CAAwB,YAAxB,OAAOA,OAAO,KAAK,GAAgBA,OAAO,KAAK,GAAGA,OAAO,KAAI,GAEvF,IAAI,CAAC;IACV,MAAMgG,gBAAoC,EAAE;IAC5C,MAAMC,QAAQ,CAACjC,SAAoCnE;QACjD,KAAK,MAAMqG,SAASlC,QAAS;YAC3B,MAAMmC,OAAO;mBAAItG;gBAAMqG;aAAM;YAC7B,KAAIA,MAAM,QAAQ;gBAClB,IAAIzE,kBAAmB,CAACyE,MAAM,QAAQ,EAAE,UAAW,EAACtE,YAAYsE,AAAiB,UAAjBA,MAAM,MAAM,AAAS,GACnF;oBAAA,IACEC,KACG,GAAG,CACF,CAACnG,SACCA,OAAO,WAAW,IACjB,CAAwB,YAAxB,OAAOA,OAAO,KAAK,GAAgBA,OAAO,KAAK,GAAGA,OAAO,KAAI,GAEjE,IAAI,CAAC,OACL,iBAAiB,GACjB,QAAQ,CAACuF,MAAM,iBAAiB,KAEnCS,cAAc,IAAI,CAACG;gBAAK;gBAE5B,IAAID,MAAM,QAAQ,EAAED,MAAMC,MAAM,QAAQ,EAAEC;;QAC5C;IACF;IACA,IAAIZ,OAAOU,MAAMrG,SAAS,EAAE;IAC5B,MAAMwG,eAAezG,YAAYC,SAASyF;IAC1C,MAAMgB,SAAwC;QAACzG;KAAQ;IACvD,KAAK,MAAMI,UAAUoG,aAAc,IAAIpG,OAAO,QAAQ,EAAE,QAAQqG,OAAO,IAAI,CAACrG,OAAO,QAAQ;IAC3F,MAAMsG,QAAQ;QACZZ,QAAQ;IACV;IACAa,IAAAA,6BAAAA,kBAAAA,AAAAA,EAAmBd,MAAMa,OAAO3B,YAAYC;IAC5ChB,IAAAA,+BAAAA,SAAAA,AAAAA,EAAU;QACR,IAAI6B,QAAQG,AAAe,SAAfA,YAAqB;YAC/B,MAAMY,SAAS5B,SAAS,OAAO,EAAE,cAA2B,CAAC,aAAa,EAAEgB,WAAW,EAAE,CAAC;YAC1F,MAAM5F,SACJwG,QAAQ,cAAiC,kDACzCA,QAAQ,cAAiC;YAC3CxG,QAAQ;YACRA,QAAQ,iBAAiB;gBAAE,OAAO;YAAU;YAC5C6F,cAAc;QAChB;IACF,GAAG;QAACJ;QAAMG;KAAW;IAErB,MAAMa,YAAY;QAChB,IAAIrC,UAAU;QACdkB,SAASF,KAAK,CAAC,EAAE,IAAI,EAAE;QACvBS,cAAc;QACdH,QAAQ;IACV;IACA,MAAMgB,SAAS,CAAC1G,QAAwBF;QACtC,IAAIE,OAAO,QAAQ,IAAIoE,YAAY7C,UAAU;QAC7C,MAAM4E,OAAO;eAAId,MAAM,KAAK,CAAC,GAAGvF;YAAQE,OAAO,KAAK;SAAC;QACrDsF,SAASa;QACT,IACEvE,YACA5B,AAAkB,UAAlBA,OAAO,MAAM,IACbA,AAAoBuE,WAApBvE,OAAO,QAAQ,IACf,CAAC0D,SAAS,OAAO,CAAC,GAAG,CAAC1D,OAAO,KAAK,GAClC;YACA,MAAM6D,UAAU,IAAI8C;YACpBjD,SAAS,OAAO,CAAC,GAAG,CAAC1D,OAAO,KAAK,EAAE6D;YACnCL,WAAW,CAACoD,WAAa,IAAInD,IAAImD,UAAU,GAAG,CAAC5G,OAAO,KAAK;YACtD4B,SAAS5B,QAAQ6D,QAAQ,MAAM,EACjC,IAAI,CAAC,CAACI;gBACL,IAAI,CAACJ,QAAQ,MAAM,CAAC,OAAO,EACzBT,UAAU,CAACwD,WAAa,IAAItD,IAAIsD,UAAU,GAAG,CAAC5G,OAAO,KAAK,EAAEiE;YAChE,GACC,KAAK,CAAC,CAAC4C;gBACN,IAAI,CAAChD,QAAQ,MAAM,CAAC,OAAO,EAAEhC,cAAcgF,OAAO7G;YACpD,GACC,OAAO,CAAC;gBACP,IAAI0D,SAAS,OAAO,CAAC,GAAG,CAAC1D,OAAO,KAAK,MAAM6D,SAAS;oBAClDH,SAAS,OAAO,CAAC,MAAM,CAAC1D,OAAO,KAAK;oBACpCwD,WAAW,CAACoD;wBACV,MAAMT,OAAO,IAAI1C,IAAImD;wBACrBT,KAAK,MAAM,CAACnG,OAAO,KAAK;wBACxB,OAAOmG;oBACT;gBACF;YACF;YACF;QACF;QACA,IAAI1E,kBAAmB,CAACzB,OAAO,QAAQ,EAAE,UAAUA,AAAkB,UAAlBA,OAAO,MAAM,EAC9D8G,OAAOX,MAAM,CAACnG,OAAO,QAAQ,EAAE;IACnC;IACA,MAAM8G,SAAS,CAACjH,MAAgBkH,OAAO,IAAI;QACzC,IAAI3C,YAAY7C,UAAU;QAC1B,MAAM4E,OAAO7E,WACT8D,MAAM,IAAI,CAAC,CAAC4B,UAAYC,KAAK,SAAS,CAACD,aAAaC,KAAK,SAAS,CAACpH,SACjEuF,MACG,MAAM,CAAC,CAAC4B,UAAYC,KAAK,SAAS,CAACD,aAAaC,KAAK,SAAS,CAACpH,OAC/D,GAAG,CAAC,CAACmH,UAAY;mBAAIA;aAAQ,IAChC;eAAI5B,MAAM,GAAG,CAAC,CAAC4B,UAAY;uBAAIA;iBAAQ;YAAGnH;SAAK,GACjDA;QACJqF,iBAAiBiB;QAEfjF,WAIAiF,MACA7E,WACK6E,KAAoB,GAAG,CAAC,CAACtG,OAASF,YAAYC,SAASC,SACxDF,YAAYC,SAASC;QAE3B,IAAI,CAACyB,YAAYyF,MAAM;YACrBT;YACA3B,WAAW,OAAO,EAAE;QACtB;IACF;IAEA,OACE,AADK,WAAP,GACE,sCAAC;QACC,WAAWuC,AAAAA,IAAAA,4BAAAA,OAAAA,AAAAA,EACT,iBACA,CAAC,eAAe,EAAE1G,MAAM,EACxBc,YAAY,2BACZN;QAEF,OAAOC;QACP,eAAaqD;QACb,iBAAeF,WAAW,KAAKG;QAC/B,aAAWkB,OAAO,KAAKlB;QACvB,kBAAgBzD,cAAcmE,cAAc,MAAM,IAAI,CAACb,YAAY,CAAC7C,WAAW,KAAKgD;;0BAEpF,sCAAC;gBACE,GAAG3B,KAAK;gBACT,KAAKiC;gBACL,MAAK;gBACL,MAAMjE;gBACN,WAAU;gBACV,UAAUwD;gBACV,MAAK;gBACL,iBAAeqB;gBACf,iBAAc;gBACd,iBAAeV;gBACf,cAAYvC;gBACZ,IAAIgC;gBACJ,oBAAkBC;gBAClB,gBAAcH,AAAW,YAAXA,SAAqB,OAAO3B;gBAC1C,iBAAe0B,YAAYE;gBAC3B,SAAS,CAAC4C;oBACR7E,UAAU6E;oBACV,IAAI,CAACA,MAAM,gBAAgB,EACzB,IAAI1B,MAAMa;yBACLG;gBAET;gBACA,WAAW,CAACU;oBACV5E,YAAY4E;oBACZ,IAAIA,MAAM,gBAAgB,EAAE;oBAC5B,IAAIA,AAAc,gBAAdA,MAAM,GAAG,EAAkB;wBAC7BA,MAAM,cAAc;wBACpB,IAAI,CAAC1B,MAAMgB;oBACb;oBACA,IAAIU,AAAc,aAAdA,MAAM,GAAG,EAAe;wBAC1BA,MAAM,cAAc;wBACpBA,MAAM,eAAe;wBACrBb;oBACF;gBACF;;oBAEChF,YAAYwE,cAAc,MAAM,GAC/B,AADkC,WAAH,GAC/B,qCAACsB,sCAAAA,gBAAgBA,EAAAA;wBACf,WAAU;wBACV,cAAa;wBACb,SAASrF;wBACT,aAAaC;wBACb,OAAO8D,cAAc,GAAG,CAAC,CAACjG,MAAMwH,QAAW;gCACzC,KAAKJ,KAAK,SAAS,CAAC7B,KAAK,CAACiC,MAAM;gCAChC,OAAOtB,QAAQlG;gCACf,MAAMA,KACH,GAAG,CACF,CAACG,SACCA,OAAO,WAAW,IACjB,CAAwB,YAAxB,OAAOA,OAAO,KAAK,GAAgBA,OAAO,KAAK,GAAGA,OAAO,KAAI,GAEjE,IAAI,CAAC;4BACV;yBAGF,mDAAC;wBACC,WAAWkH,AAAAA,IAAAA,4BAAAA,OAAAA,AAAAA,EACT,wBACA,CAACpB,cAAc,MAAM,IAAI;kCAG1BA,cAAc,MAAM,GACjBA,cAAc,GAAG,CAAC,CAACjG,MAAMwH,QACvB,AADuBA,WAAAA,GACvB,sCAAC;;oCACEA,QAAQ,IAAI,MAAM;oCAClBtB,QAAQlG;;+BAFAuF,KAAK,CAACiC,MAAM,EAAE,KAAK,SAKhC3G,eAAeoC,SAAS,QAAQ,CAAC,WAAW;;kCAGpD,qCAACwE,sCAAAA,WAAWA,EAAAA;wBAAC,MAAM;wBAAI,eAAY;;;;YAEpCxG,cAAcmE,cAAc,MAAM,GAAG,KAAK,CAACb,YAAY,CAAC7C,YACvD,AADmE,WAAZA,GACvD,qCAACgG,iCAAAA,WAAWA,EAAAA;gBACV,OAAOzE,SAAS,QAAQ,CAAC,KAAK;gBAC9B,aAAW;gBACX,SAAS;oBACPoC,iBAAiB,EAAE;oBACnBI,SAAS,EAAE;oBACVpE,WAA8D,EAAE,EAAE,EAAE;oBACrEoF;oBACA3B,WAAW,OAAO,EAAE;gBACtB;;0BAGJ,qCAAC6C,0BAAAA,SAASA,EAAAA;gBACR,MAAM7G;gBACN,MAAMC;gBACN,UAAUyD;gBACV,UAAUD;gBACV,OAAOa,cAAc,MAAM,GAAGgC,KAAK,SAAS,CAAChC,iBAAiB;gBAC9D,YAAYN;;0BAEd,sCAAC8C,6BAAAA,aAAaA,EAAAA;gBACZ,WAAWxF;gBACX,WAAWI;gBACX,QAAQD;gBACR,OAAOD;gBACP,MAAMsD;gBACN,YAAYd;gBACZ,UAAUC;gBACV,IAAIG;gBACJ,WAAWmC,AAAAA,IAAAA,4BAAAA,OAAAA,AAAAA,EAAQ,sCAAsChF;gBACzD,MAAK;gBACL,cAAYM,aAAaM,SAAS,QAAQ,CAAC,WAAW;;oBAErDtB,cACC,AADa,WAAdA,GACC,qCAACkG,yBAAAA,UAAUA,EAAAA;kCACT,mDAAC;4BAAI,WAAU;sCACb,mDAACC,0BAAAA,YAAYA,EAAAA;gCACX,YAAU;gCACV,cAAY7E,SAAS,MAAM,CAAC,MAAM;gCAClC,OAAOyC;gCACP,UAAU,CAAC4B,QAAU3B,SAAS2B,MAAM,MAAM,CAAC,KAAK;;;;oBAKvD5B,QACC,AADO,WAARA,GACC,qCAACqC,8BAAAA,gBAASA,EAAAA;wBACR,MAAK;wBACL,cAAY9E,SAAS,MAAM,CAAC,MAAM;wBAClC,WAAU;wBACV,aAAY;wBACZ,WAAW;kCAEVkD,cAAc,MAAM,GACnBA,cAAc,GAAG,CAAC,CAACnG,OACjB,AADiBA,WAAAA,GACjB,qCAAC;gCACC,MAAK;gCACL,MAAK;gCACL,iBAAeuF,MAAM,IAAI,CACvB,CAAC4B,UACCC,KAAK,SAAS,CAACD,aACfC,KAAK,SAAS,CAACpH,KAAK,GAAG,CAAC,CAACG,SAAWA,OAAO,KAAK;gCAEpD,WAAU;gCAEV,SAAS,IAAM8G,OAAOjH,KAAK,GAAG,CAAC,CAACG,SAAWA,OAAO,KAAK;0CAEtD+F,QAAQlG;+BAHJA,KAAK,GAAG,CAAC,CAACG,SAAWA,OAAO,KAAK,EAAE,IAAI,CAAC,SAOjD,AAPiD,cAOjD,qCAAC;4BAAI,WAAU;sCAAwB8C,SAAS,QAAQ,CAAC,KAAK;;yBAIlE,mDAAC;wBAAI,WAAU;kCACZuD,OAAO,GAAG,CAAC,CAACvG,OAAO+H,QAClB,AADkBA,WAAAA,GAClB,qCAACD,8BAAAA,gBAASA,EAAAA;gCAER,WAAU;gCACV,aAAY;gCACZ,WAAW;gCACX,cAAYC;gCACZ,MAAK;gCACL,cAAY5E,OAAO,kBAAkB;oCAAE,OAAO4E,QAAQ;gCAAE;0CAEvD/H,MAAM,MAAM,GACXA,MAAM,GAAG,CAAC,CAACE,SACT,AADSA,WAAAA,GACT,sCAAC;wCAEC,MAAK;wCACL,MAAK;wCACL,WAAU;wCACV,iBAAeqF,KAAK,CAACwC,MAAM,KAAK7H,OAAO,KAAK;wCAC5C,UAAUA,OAAO,QAAQ;wCACzB,UACEA,OAAO,KAAK,KACXqF,CAAAA,KAAK,CAACwC,MAAM,IAAI/H,MAAM,IAAI,CAAC,CAACG,OAAS,CAACA,KAAK,QAAQ,GAAG,KAAI,IACvD,IACA;wCAEN,SAAS;4CACPyG,OAAO1G,QAAQ6H;4CACf,IAAI7H,OAAO,QAAQ,EAAE,QAAQ6F,cAAcgC,QAAQ;wCACrD;wCACA,WAAW,CAACV;4CACV,IACEA,MAAM,GAAG,KAAMpE,CAAAA,AAAc,UAAdA,YAAsB,cAAc,YAAW,KAC7D/C,CAAAA,OAAO,QAAQ,EAAE,UAAUA,AAAkB,UAAlBA,OAAO,MAAM,AAAS,GAClD;gDACAmH,MAAM,cAAc;gDACpBT,OAAO1G,QAAQ6H;gDACfhC,cAAcgC,QAAQ;4CACxB,OAAO,IACLV,MAAM,GAAG,KAAMpE,CAAAA,AAAc,UAAdA,YAAsB,eAAe,WAAU,KAC9D8E,QAAQ,GACR;gDACAV,MAAM,cAAc;gDACpBtB,cAAcgC,QAAQ;4CACxB,OAAO,IAAI;gDAAC;gDAAW;gDAAa;gDAAQ;6CAAM,CAAC,QAAQ,CAACV,MAAM,GAAG,GAAG;gDACtEA,MAAM,cAAc;gDACpB,MAAMW,QAAQC,MAAM,IAAI,CACtBZ,MAAM,aAAa,CAAC,aAAa,EAAE,iBACjC,4BACG,EAAE;gDAET,MAAME,QAAQS,MAAM,OAAO,CAACX,MAAM,aAAa;gDAC/C,MAAMhB,OACJgB,AAAc,WAAdA,MAAM,GAAG,GACL,IACAA,AAAc,UAAdA,MAAM,GAAG,GACPW,MAAM,MAAM,GAAG,IACdT,AAAAA,CAAAA,QAASF,CAAAA,AAAc,gBAAdA,MAAM,GAAG,GAAmB,IAAI,EAAC,IAAKW,MAAM,MAAK,IAC3DA,MAAM,MAAM;gDACpBA,KAAK,CAAC3B,KAAK,EAAE;gDACb2B,KAAK,CAAC3B,KAAK,EAAE,iBAAiB;oDAAE,OAAO;gDAAU;4CACnD;wCACF;;0DAEA,qCAAC;0DAAMxE,eAAe3B,WAAWA,OAAO,KAAK;;4CAC5CuD,QAAQ,GAAG,CAACvD,OAAO,KAAK,IACvB,AAD2B,WAAJ,GACvB,qCAACgI,sCAAAA,YAAYA,EAAAA;gDAAC,MAAM;gDAAI,WAAU;iDAChChI,OAAO,QAAQ,EAAE,UAAUA,AAAkB,UAAlBA,OAAO,MAAM,GAC1C,AADuD,WAAR,GAC/C,qCAACiI,sCAAAA,YAAYA,EAAAA;gDAAC,MAAM;gDAAI,eAAY;iDAEnC3G,AAAAA,CAAAA,WACG8D,MAAM,IAAI,CACR,CAACvF,OACCoH,KAAK,SAAS,CAACpH,UACfoH,KAAK,SAAS,CAAC;uDAAI5B,MAAM,KAAK,CAAC,GAAGwC;oDAAQ7H,OAAO,KAAK;iDAAC,KAE3DqF,KAAK,CAACwC,MAAM,KAAK7H,OAAO,KAAI,KAC9B,AAD8B,cAC9B,qCAACkI,sCAAAA,KAAKA,EAAAA;gDAAC,MAAM;gDAAI,WAAU;gDAAuB,eAAY;;;uCA/D7DlI,OAAO,KAAK,KAqErB,AArEqB,cAqErB,qCAAC;oCAAI,WAAU;8CAAwB8C,SAAS,QAAQ,CAAC,KAAK;;+BAhF3D+E,AAAU,MAAVA,QAAc,SAASxC,KAAK,CAACwC,QAAQ,EAAE;;;;;;AAyF5D;AACA3H,kBAAS,WAAW,GAAG"}
1
+ {"version":3,"file":"cascader/cascader.cjs","sources":["webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../../../src/cascader/cascader.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 { Check, ChevronDown, ChevronRight, LoaderCircle } from 'lucide-react';\nimport {\n type ButtonHTMLAttributes,\n forwardRef,\n type ReactNode,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useComponentProps } from '../config-provider/component-defaults';\nimport { useLeafConfig } from '../config-provider/context';\nimport { FieldScope, useFormField } from '../form/form';\nimport { InputControl } from '../input/input';\nimport { ScrollbarControl as Scrollbar } from '../scrollbar/scrollbar';\nimport { classes } from '../shared/classes';\nimport { ClearButton } from '../shared/clear-button';\nimport { FormValue, useFieldValue, useMergedRef } from '../shared/field';\nimport {\n FloatingPanel,\n type PopupOptions,\n useFloatingDismiss,\n usePopupState,\n} from '../shared/floating';\nimport { SelectionContent } from '../shared/selection-content';\nimport type { ControlSize, ControlStatus } from '../shared/types';\nimport { useFormattedText } from '../shared/use-formatted-text';\n\nexport interface CascaderOption {\n value: string;\n label: ReactNode;\n searchLabel?: string;\n isLeaf?: boolean;\n disabled?: boolean;\n children?: readonly CascaderOption[];\n}\n\ninterface CascaderBaseProps\n extends Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'type' | 'value' | 'defaultValue' | 'onChange' | 'children'\n >,\n PopupOptions {\n options: readonly CascaderOption[];\n size?: ControlSize;\n status?: ControlStatus;\n placeholder?: string;\n name?: string;\n required?: boolean;\n allowClear?: boolean;\n onOpenChange?: (open: boolean) => void;\n open?: boolean;\n defaultOpen?: boolean;\n readOnly?: boolean;\n showSearch?: boolean;\n changeOnSelect?: boolean;\n displayRender?: (labels: ReactNode[], selectedOptions: CascaderOption[]) => ReactNode;\n optionRender?: (option: CascaderOption) => ReactNode;\n loadData?: (option: CascaderOption, signal: AbortSignal) => Promise<readonly CascaderOption[]>;\n onLoadError?: (error: unknown, option: CascaderOption) => void;\n cacheKey?: string | number;\n tagWrap?: boolean;\n maxTagCount?: number | 'responsive';\n popupWidth?: number | string;\n popupMaxWidth?: number | string;\n}\nexport type CascaderProps = CascaderBaseProps &\n (\n | {\n multiple?: false;\n value?: readonly string[];\n defaultValue?: readonly string[];\n onChange?: (value: string[], selectedOptions: CascaderOption[]) => void;\n }\n | {\n multiple: true;\n value?: readonly (readonly string[])[];\n defaultValue?: readonly (readonly string[])[];\n onChange?: (value: string[][], selectedOptions: CascaderOption[][]) => void;\n }\n );\n\nconst emptyPath: readonly string[] = [];\nfunction resolvePath(options: readonly CascaderOption[], values: readonly string[]) {\n const path: CascaderOption[] = [];\n let level = options;\n for (const value of values) {\n const option = level.find((item) => item.value === value);\n if (!option) break;\n path.push(option);\n level = option.children ?? [];\n }\n return path;\n}\n\nexport const Cascader = forwardRef<HTMLButtonElement, CascaderProps>(function Cascader(\n rawProps: CascaderProps,\n forwardedRef,\n) {\n const {\n options: suppliedOptions,\n value,\n defaultValue = emptyPath,\n size = 'md',\n status: statusProp,\n placeholder,\n name,\n form,\n required: requiredProp,\n allowClear = true,\n disabled: disabledProp,\n className,\n style,\n onChange,\n onOpenChange,\n open: controlledOpen,\n defaultOpen,\n multiple = false,\n readOnly,\n showSearch,\n changeOnSelect,\n displayRender,\n optionRender,\n loadData,\n onLoadError,\n cacheKey,\n tagWrap = true,\n maxTagCount,\n popupWidth = 'trigger',\n popupMaxWidth,\n popupPlacement,\n popupClassName,\n popupStyle,\n popupRender,\n getPopupContainer,\n onClick,\n onKeyDown,\n 'aria-label': ariaLabel,\n id: idProp,\n 'aria-describedby': ariaDescribedByProp,\n 'aria-invalid': ariaInvalid,\n ...props\n } = useComponentProps('Cascader', rawProps);\n const { messages, direction } = useLeafConfig();\n const format = useFormattedText();\n const [loaded, setLoaded] = useState(new Map<string, readonly CascaderOption[]>());\n const [loading, setLoading] = useState(new Set<string>());\n const requests = useRef(new Map<string, AbortController>());\n // biome-ignore lint/correctness/useExhaustiveDependencies: Invalidate lazy children and abort requests when the source or explicit cache version changes.\n useEffect(() => {\n for (const request of requests.current.values()) request.abort();\n requests.current.clear();\n setLoaded(new Map());\n setLoading(new Set());\n return () => {\n for (const request of requests.current.values()) request.abort();\n };\n }, [suppliedOptions, loadData, cacheKey]);\n const options = useMemo(() => {\n const merge = (entries: readonly CascaderOption[]): CascaderOption[] =>\n entries.map((option) => {\n const children = option.children ?? loaded.get(option.value);\n return children\n ? { ...option, children: merge(children), isLeaf: !children.length }\n : option;\n });\n return merge(suppliedOptions);\n }, [suppliedOptions, loaded]);\n const field = useFormField();\n const disabled = disabledProp || field?.disabled;\n const required = requiredProp ?? field?.required;\n const status = statusProp ?? (field?.error ? 'error' : undefined);\n const id = idProp ?? field?.id;\n const ariaDescribedBy =\n [ariaDescribedByProp, field?.descriptionId].filter(Boolean).join(' ') || undefined;\n const triggerRef = useRef<HTMLButtonElement>(null);\n const rootRef = useRef<HTMLDivElement>(null);\n const panelRef = useRef<HTMLDivElement>(null);\n const ref = useMergedRef(triggerRef, forwardedRef);\n const panelId = `${useId()}-cascader`;\n const [selectedValue, setSelectedValue] = useFieldValue<\n readonly string[] | readonly (readonly string[])[]\n >(value, defaultValue, triggerRef, form);\n const paths = multiple\n ? (selectedValue as readonly (readonly string[])[])\n : selectedValue.length\n ? [selectedValue as readonly string[]]\n : [];\n const [draft, setDraft] = useState<readonly string[]>(paths[0] ?? []);\n const [query, setQuery] = useState('');\n const [open, setOpen] = usePopupState(\n disabled || readOnly,\n onOpenChange,\n controlledOpen,\n defaultOpen,\n );\n const [focusLevel, setFocusLevel] = useState<number | null>(null);\n const selectedPaths = paths.map((path) => resolvePath(options, path));\n const caption = (path: CascaderOption[]) =>\n displayRender?.(\n path.map((option) => option.label),\n path,\n ) ??\n path\n .map(\n (option) =>\n option.searchLabel ?? (typeof option.label === 'string' ? option.label : option.value),\n )\n .join(' / ');\n const searchResults: CascaderOption[][] = [];\n const visit = (entries: readonly CascaderOption[], path: CascaderOption[]) => {\n for (const entry of entries) {\n const next = [...path, entry];\n if (entry.disabled) continue;\n if (changeOnSelect || (!entry.children?.length && (!loadData || entry.isLeaf !== false))) {\n if (\n next\n .map(\n (option) =>\n option.searchLabel ??\n (typeof option.label === 'string' ? option.label : option.value),\n )\n .join(' / ')\n .toLocaleLowerCase()\n .includes(query.toLocaleLowerCase())\n )\n searchResults.push(next);\n }\n if (entry.children) visit(entry.children, next);\n }\n };\n if (query) visit(options, []);\n const draftOptions = resolvePath(options, draft);\n const levels: (readonly CascaderOption[])[] = [options];\n for (const option of draftOptions) if (option.children?.length) levels.push(option.children);\n const close = () => {\n setOpen(false);\n };\n useFloatingDismiss(open, close, triggerRef, panelRef);\n useEffect(() => {\n if (open && focusLevel !== null) {\n const column = panelRef.current?.querySelector<HTMLElement>(`[data-level='${focusLevel}']`);\n const option =\n column?.querySelector<HTMLButtonElement>('button[aria-selected=\"true\"]:not(:disabled)') ??\n column?.querySelector<HTMLButtonElement>('button:not(:disabled)');\n option?.focus();\n option?.scrollIntoView?.({ block: 'nearest' });\n setFocusLevel(null);\n }\n }, [open, focusLevel]);\n\n const openPanel = () => {\n if (disabled) return;\n setDraft(paths[0] ?? []);\n setFocusLevel(0);\n setOpen(true);\n };\n const choose = (option: CascaderOption, level: number) => {\n if (option.disabled || disabled || readOnly) return;\n const next = [...draft.slice(0, level), option.value];\n setDraft(next);\n if (\n loadData &&\n option.isLeaf === false &&\n option.children === undefined &&\n !requests.current.has(option.value)\n ) {\n const request = new AbortController();\n requests.current.set(option.value, request);\n setLoading((previous) => new Set(previous).add(option.value));\n void loadData(option, request.signal)\n .then((children) => {\n if (!request.signal.aborted)\n setLoaded((previous) => new Map(previous).set(option.value, children));\n })\n .catch((error) => {\n if (!request.signal.aborted) onLoadError?.(error, option);\n })\n .finally(() => {\n if (requests.current.get(option.value) === request) {\n requests.current.delete(option.value);\n setLoading((previous) => {\n const next = new Set(previous);\n next.delete(option.value);\n return next;\n });\n }\n });\n return;\n }\n if (changeOnSelect || (!option.children?.length && option.isLeaf !== false))\n commit(next, !option.children?.length);\n };\n const commit = (path: string[], leaf = true) => {\n if (disabled || readOnly) return;\n const next = multiple\n ? paths.some((current) => JSON.stringify(current) === JSON.stringify(path))\n ? paths\n .filter((current) => JSON.stringify(current) !== JSON.stringify(path))\n .map((current) => [...current])\n : [...paths.map((current) => [...current]), path]\n : path;\n setSelectedValue(next);\n (\n onChange as\n | ((value: string[] | string[][], options: CascaderOption[] | CascaderOption[][]) => void)\n | undefined\n )?.(\n next,\n multiple\n ? (next as string[][]).map((path) => resolvePath(options, path))\n : resolvePath(options, path),\n );\n if (!multiple && leaf) {\n close();\n triggerRef.current?.focus();\n }\n };\n\n return (\n <div\n ref={rootRef}\n className={classes(\n 'leaf-cascader',\n `leaf-cascader--${size}`,\n multiple && 'leaf-cascader--multiple',\n className,\n )}\n style={style}\n dir={props.dir ?? direction}\n data-status={status}\n data-disabled={disabled ? '' : undefined}\n data-open={open ? '' : undefined}\n data-clearable={allowClear && selectedValue.length && !disabled && !readOnly ? '' : undefined}\n >\n <button\n {...props}\n dir={props.dir ?? direction}\n ref={ref}\n type=\"button\"\n form={form}\n className=\"leaf-cascader__trigger\"\n disabled={disabled}\n role=\"combobox\"\n aria-expanded={open}\n aria-haspopup=\"dialog\"\n aria-controls={panelId}\n aria-label={ariaLabel}\n id={id}\n aria-describedby={ariaDescribedBy}\n aria-invalid={status === 'error' ? true : ariaInvalid}\n aria-required={required || undefined}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n if (open) close();\n else openPanel();\n }\n }}\n onKeyDown={(event) => {\n onKeyDown?.(event);\n if (event.defaultPrevented) return;\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n if (!open) openPanel();\n }\n if (event.key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n close();\n }\n }}\n >\n {multiple && selectedPaths.length ? (\n <SelectionContent\n className=\"leaf-cascader__value\"\n tagClassName=\"leaf-cascader__tag\"\n tagWrap={tagWrap}\n maxTagCount={maxTagCount}\n items={selectedPaths.map((path, index) => ({\n key: JSON.stringify(paths[index]),\n label: caption(path),\n text: path\n .map(\n (option) =>\n option.searchLabel ??\n (typeof option.label === 'string' ? option.label : option.value),\n )\n .join(' / '),\n }))}\n />\n ) : (\n <span\n className={classes(\n 'leaf-cascader__value',\n !selectedPaths.length && 'leaf-cascader__placeholder',\n )}\n >\n {selectedPaths.length\n ? selectedPaths.map((path, index) => (\n <span key={paths[index]?.join('/')}>\n {index > 0 ? '、' : ''}\n {caption(path)}\n </span>\n ))\n : placeholder || messages.cascader.placeholder}\n </span>\n )}\n <ChevronDown size={16} aria-hidden=\"true\" />\n </button>\n {allowClear && selectedValue.length > 0 && !disabled && !readOnly && (\n <ClearButton\n label={messages.cascader.clear}\n beforeArrow\n onClear={() => {\n setSelectedValue([]);\n setDraft([]);\n (onChange as ((value: [], options: []) => void) | undefined)?.([], []);\n close();\n triggerRef.current?.focus();\n }}\n />\n )}\n <FormValue\n name={name}\n form={form}\n required={required}\n disabled={disabled}\n value={selectedValue.length ? JSON.stringify(selectedValue) : ''}\n triggerRef={triggerRef}\n />\n <FloatingPanel\n placement={popupPlacement}\n container={getPopupContainer}\n render={popupRender}\n style={popupStyle}\n open={open}\n triggerRef={rootRef}\n panelRef={panelRef}\n matchWidth={popupWidth === 'trigger'}\n width={\n popupWidth === 'trigger' ? undefined : popupWidth === 'auto' ? 'max-content' : popupWidth\n }\n maxWidth={popupMaxWidth}\n id={panelId}\n className={classes('leaf-floating leaf-cascader__panel', popupClassName)}\n role=\"dialog\"\n aria-label={ariaLabel || messages.cascader.placeholder}\n >\n {showSearch && (\n <FieldScope>\n <div className=\"leaf-cascader__search\">\n <InputControl\n allowClear\n aria-label={messages.common.search}\n value={query}\n onChange={(event) => setQuery(event.target.value)}\n />\n </div>\n </FieldScope>\n )}\n {query ? (\n <Scrollbar\n role=\"listbox\"\n aria-label={messages.common.search}\n className=\"leaf-cascader__column\"\n orientation=\"vertical\"\n maxHeight={256}\n >\n {searchResults.length ? (\n searchResults.map((path) => (\n <button\n type=\"button\"\n role=\"option\"\n aria-selected={paths.some(\n (current) =>\n JSON.stringify(current) ===\n JSON.stringify(path.map((option) => option.value)),\n )}\n className=\"leaf-floating__option\"\n key={path.map((option) => option.value).join('/')}\n onClick={() => commit(path.map((option) => option.value))}\n >\n {caption(path)}\n </button>\n ))\n ) : (\n <div className=\"leaf-floating__empty\">{messages.cascader.empty}</div>\n )}\n </Scrollbar>\n ) : (\n <div className=\"leaf-cascader__columns\">\n {levels.map((level, depth) => (\n <Scrollbar\n key={depth === 0 ? 'root' : draft[depth - 1]}\n className=\"leaf-cascader__column\"\n orientation=\"vertical\"\n maxHeight={256}\n data-level={depth}\n role=\"listbox\"\n aria-label={format('cascader.level', { level: depth + 1 })}\n >\n {level.length ? (\n level.map((option) => (\n <button\n key={option.value}\n type=\"button\"\n role=\"option\"\n className=\"leaf-floating__option\"\n aria-selected={draft[depth] === option.value}\n disabled={option.disabled}\n tabIndex={\n option.value ===\n (draft[depth] ?? level.find((item) => !item.disabled)?.value)\n ? 0\n : -1\n }\n onClick={() => {\n choose(option, depth);\n if (option.children?.length) setFocusLevel(depth + 1);\n }}\n onKeyDown={(event) => {\n if (\n event.key === (direction === 'rtl' ? 'ArrowLeft' : 'ArrowRight') &&\n (option.children?.length || option.isLeaf === false)\n ) {\n event.preventDefault();\n choose(option, depth);\n setFocusLevel(depth + 1);\n } else if (\n event.key === (direction === 'rtl' ? 'ArrowRight' : 'ArrowLeft') &&\n depth > 0\n ) {\n event.preventDefault();\n setFocusLevel(depth - 1);\n } else if (['ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n event.preventDefault();\n const items = Array.from(\n event.currentTarget.parentElement?.querySelectorAll<HTMLButtonElement>(\n 'button:not(:disabled)',\n ) ?? [],\n );\n const index = items.indexOf(event.currentTarget);\n const next =\n event.key === 'Home'\n ? 0\n : event.key === 'End'\n ? items.length - 1\n : (index + (event.key === 'ArrowDown' ? 1 : -1) + items.length) %\n items.length;\n items[next]?.focus();\n items[next]?.scrollIntoView?.({ block: 'nearest' });\n }\n }}\n >\n <span>{optionRender?.(option) ?? option.label}</span>\n {loading.has(option.value) ? (\n <LoaderCircle size={14} className=\"leaf-select__spinner\" />\n ) : option.children?.length || option.isLeaf === false ? (\n <ChevronRight size={14} aria-hidden=\"true\" />\n ) : (\n (multiple\n ? paths.some(\n (path) =>\n JSON.stringify(path) ===\n JSON.stringify([...draft.slice(0, depth), option.value]),\n )\n : draft[depth] === option.value) && (\n <Check size={14} className=\"leaf-cascader__check\" aria-hidden=\"true\" />\n )\n )}\n </button>\n ))\n ) : (\n <div className=\"leaf-floating__empty\">{messages.cascader.empty}</div>\n )}\n </Scrollbar>\n ))}\n </div>\n )}\n </FloatingPanel>\n </div>\n );\n});\nCascader.displayName = 'Cascader';\n"],"names":["__webpack_require__","getters","values","define","defs","kind","key","Object","obj","prop","Symbol","emptyPath","resolvePath","options","path","level","value","option","item","Cascader","forwardRef","rawProps","forwardedRef","suppliedOptions","defaultValue","size","statusProp","placeholder","name","form","requiredProp","allowClear","disabledProp","className","style","onChange","onOpenChange","controlledOpen","defaultOpen","multiple","readOnly","showSearch","changeOnSelect","displayRender","optionRender","loadData","onLoadError","cacheKey","tagWrap","maxTagCount","popupWidth","popupMaxWidth","popupPlacement","popupClassName","popupStyle","popupRender","getPopupContainer","onClick","onKeyDown","ariaLabel","idProp","ariaDescribedByProp","ariaInvalid","props","useComponentProps","messages","direction","useLeafConfig","format","useFormattedText","loaded","setLoaded","useState","Map","loading","setLoading","Set","requests","useRef","useEffect","request","useMemo","merge","entries","children","field","useFormField","disabled","required","status","undefined","id","ariaDescribedBy","Boolean","triggerRef","rootRef","panelRef","ref","useMergedRef","panelId","useId","selectedValue","setSelectedValue","useFieldValue","paths","draft","setDraft","query","setQuery","open","setOpen","usePopupState","focusLevel","setFocusLevel","selectedPaths","caption","searchResults","visit","entry","next","draftOptions","levels","close","useFloatingDismiss","column","openPanel","choose","AbortController","previous","error","commit","leaf","current","JSON","classes","event","SelectionContent","index","ChevronDown","ClearButton","FormValue","FloatingPanel","FieldScope","InputControl","Scrollbar","depth","items","Array","LoaderCircle","ChevronRight","Check"],"mappings":"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"}
@@ -30,6 +30,8 @@ interface CascaderBaseProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>
30
30
  cacheKey?: string | number;
31
31
  tagWrap?: boolean;
32
32
  maxTagCount?: number | 'responsive';
33
+ popupWidth?: number | string;
34
+ popupMaxWidth?: number | string;
33
35
  }
34
36
  export type CascaderProps = CascaderBaseProps & ({
35
37
  multiple?: false;
@@ -1 +1 @@
1
- {"version":3,"file":"cascader.d.cts","sourceRoot":"","sources":["../../../src/cascader/cascader.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AASf,OAAO,EAEL,KAAK,YAAY,EAGlB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGlE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CACtC;AAED,UAAU,iBACR,SAAQ,IAAI,CACR,oBAAoB,CAAC,iBAAiB,CAAC,EACvC,MAAM,GAAG,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,UAAU,CAC5D,EACD,YAAY;IACd,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,SAAS,CAAC;IACtF,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,SAAS,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC;IAC/F,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC/D,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;CACrC;AACD,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAC3C,CACI;IACE,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;CACzE,GACD;IACE,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,KAAK,IAAI,CAAC;CAC7E,CACJ,CAAC;AAeJ,eAAO,MAAM,QAAQ,6GA6dnB,CAAC"}
1
+ {"version":3,"file":"cascader.d.cts","sourceRoot":"","sources":["../../../src/cascader/cascader.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AASf,OAAO,EAEL,KAAK,YAAY,EAGlB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGlE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CACtC;AAED,UAAU,iBACR,SAAQ,IAAI,CACR,oBAAoB,CAAC,iBAAiB,CAAC,EACvC,MAAM,GAAG,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,UAAU,CAC5D,EACD,YAAY;IACd,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,SAAS,CAAC;IACtF,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,SAAS,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC;IAC/F,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC/D,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC;AACD,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAC3C,CACI;IACE,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;CACzE,GACD;IACE,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,KAAK,IAAI,CAAC;CAC7E,CACJ,CAAC;AAeJ,eAAO,MAAM,QAAQ,6GAwenB,CAAC"}
@@ -31,7 +31,8 @@ __webpack_require__.r(__webpack_exports__);
31
31
  __webpack_require__.d(__webpack_exports__, {
32
32
  defaultColors: ()=>defaultColors,
33
33
  deriveColors: ()=>deriveColors,
34
- mixColors: ()=>mixColors
34
+ mixColors: ()=>mixColors,
35
+ primaryForeground: ()=>primaryForeground
35
36
  });
36
37
  const tinycolor_namespaceObject = require("@ctrl/tinycolor");
37
38
  const external_color_recipes_cjs_namespaceObject = require("./color-recipes.cjs");
@@ -65,11 +66,50 @@ const defaultColors = {
65
66
  border: '#38383f'
66
67
  }
67
68
  };
69
+ function primaryForeground(color) {
70
+ if (cssColorExpression(color) || !new tinycolor_namespaceObject.TinyColor(color).isValid) return;
71
+ return (0, tinycolor_namespaceObject.readability)(color, '#ffffff') >= 2.8 ? '#ffffff' : '#000000';
72
+ }
73
+ const cssColorExpression = (color)=>/^(?:var|color-mix|light-dark|oklch|oklab|lab|lch|color)\(/i.test(color);
74
+ function visibleDarkColor(color, backgrounds, minimum) {
75
+ if ([
76
+ color,
77
+ ...backgrounds
78
+ ].some((value)=>cssColorExpression(value))) return color;
79
+ const primary = new tinycolor_namespaceObject.TinyColor(color);
80
+ const surfaces = backgrounds.map((value)=>new tinycolor_namespaceObject.TinyColor(value));
81
+ if ([
82
+ primary,
83
+ ...surfaces
84
+ ].some((value)=>!value.isValid || 1 !== value.getAlpha())) return color;
85
+ const contrasts = (candidate)=>backgrounds.every((background)=>(0, tinycolor_namespaceObject.readability)(candidate, background) >= minimum);
86
+ if (contrasts(color) || !contrasts('#ffffff')) return color;
87
+ const { h, s, l } = primary.toHsl();
88
+ let low = l;
89
+ let high = 1;
90
+ let result = '#ffffff';
91
+ for(let step = 0; step < 16; step++){
92
+ const lightness = (low + high) / 2;
93
+ const candidate = new tinycolor_namespaceObject.TinyColor({
94
+ h,
95
+ s,
96
+ l: lightness
97
+ }).toHexString();
98
+ if (contrasts(candidate)) {
99
+ result = candidate;
100
+ high = lightness;
101
+ } else low = lightness;
102
+ }
103
+ return result;
104
+ }
68
105
  function mixColors(first, second, weight) {
69
106
  if (!first || !second) return;
70
107
  const a = new tinycolor_namespaceObject.TinyColor(first);
71
108
  const b = new tinycolor_namespaceObject.TinyColor(second);
72
- if (!a.isValid || !b.isValid) return;
109
+ if (cssColorExpression(first) || cssColorExpression(second) || !a.isValid || !b.isValid) {
110
+ const cssColor = (value)=>cssColorExpression(value) || new tinycolor_namespaceObject.TinyColor(value).isValid;
111
+ return cssColor(first) && cssColor(second) ? `color-mix(in srgb, ${first} ${Math.min(100, Math.max(0, weight))}%, ${second})` : void 0;
112
+ }
73
113
  const x = a.toRgb();
74
114
  const y = b.toRgb();
75
115
  const ratio = Math.min(1, Math.max(0, weight / 100));
@@ -78,7 +118,7 @@ function mixColors(first, second, weight) {
78
118
  return `rgba(${channel('r')}, ${channel('g')}, ${channel('b')}, ${Number(alpha.toFixed(4))})`;
79
119
  }
80
120
  function interactionColor(color, foreground, toward, amounts) {
81
- if (!new tinycolor_namespaceObject.TinyColor(color).isValid || !new tinycolor_namespaceObject.TinyColor(foreground).isValid) return;
121
+ if (cssColorExpression(color) || cssColorExpression(foreground) || !new tinycolor_namespaceObject.TinyColor(color).isValid || !new tinycolor_namespaceObject.TinyColor(foreground).isValid) return;
82
122
  const minimumContrast = Math.min(4.5, (0, tinycolor_namespaceObject.readability)(color, foreground));
83
123
  for (const amount of amounts){
84
124
  const candidate = mixColors(color, toward, 100 - amount);
@@ -91,14 +131,34 @@ function deriveColors(appearance, overrides = {}) {
91
131
  ...defaultColors[appearance],
92
132
  ...overrides
93
133
  };
134
+ const backgrounds = [
135
+ colors.surface ?? '',
136
+ colors['surface-muted'] ?? ''
137
+ ];
138
+ const visible = (color, minimum)=>'dark' === appearance ? visibleDarkColor(color, backgrounds, minimum) : color;
139
+ const primary = colors.primary ?? '';
140
+ const ink = visible(primary, 4.5);
141
+ const indicator = visible(primary, 3);
142
+ const dim = indicator !== primary;
143
+ const hasPrimary = Boolean(overrides.primary);
144
+ if (hasPrimary && !overrides['on-primary']) colors['on-primary'] = primaryForeground(colors.primary ?? '') ?? defaultColors[appearance]['on-primary'];
94
145
  colors['text-subtle'] ??= mixColors(colors['text-muted'], colors.surface, 92) ?? '#68686f';
95
146
  colors['surface-raised'] ??= mixColors(colors.surface, colors.text, 98) ?? '#ffffff';
96
147
  colors['border-hover'] ??= mixColors(colors.border, colors['text-muted'], 65) ?? '#e5e5e8';
97
148
  const result = {};
149
+ result['--leaf-color-primary-ink'] = ink;
150
+ result['--leaf-color-primary-indicator'] = indicator;
151
+ result['--leaf-color-primary-fill-border'] = dim ? mixColors(primary, colors.text, 80) ?? 'transparent' : 'transparent';
152
+ result['--leaf-color-primary-focus'] = dim ? indicator : mixColors(primary, 'transparent', 42) ?? 'transparent';
153
+ if (hasPrimary) {
154
+ result['--leaf-color-primary'] = colors.primary ?? '';
155
+ result['--leaf-color-on-primary'] = colors['on-primary'] ?? defaultColors[appearance]['on-primary'];
156
+ }
98
157
  for (const [key, [first, second, ratio]] of Object.entries(external_color_recipes_cjs_namespaceObject.colorRecipes)){
99
158
  const other = 'alpha' === second ? 'transparent' : 'white' === second ? '#fff' : 'black' === second ? '#000' : colors[second];
100
- const value = mixColors(colors[first], other, ratio);
101
- if (value) result[key] = value;
159
+ const source = dim && 'primary' === first && 'surface' === second ? indicator : colors[first];
160
+ const value = mixColors(source, other, ratio);
161
+ if (value) result[key] = key.startsWith('--leaf-color-primary-text-') ? visible(value, 4.5) : value;
102
162
  }
103
163
  for (const key of [
104
164
  'text-subtle',
@@ -107,7 +167,7 @@ function deriveColors(appearance, overrides = {}) {
107
167
  ])result[`--leaf-color-${key}`] = colors[key] ?? '';
108
168
  const warning = colors.warning;
109
169
  const text = colors.text;
110
- if (warning && text && new tinycolor_namespaceObject.TinyColor(warning).isValid && new tinycolor_namespaceObject.TinyColor(text).isValid) {
170
+ if (warning && text && !cssColorExpression(warning) && !cssColorExpression(text) && new tinycolor_namespaceObject.TinyColor(warning).isValid && new tinycolor_namespaceObject.TinyColor(text).isValid) {
111
171
  const backgrounds = [
112
172
  colors.surface,
113
173
  colors['surface-muted'],
@@ -149,16 +209,22 @@ function deriveColors(appearance, overrides = {}) {
149
209
  ]);
150
210
  if (hover) result[`--leaf-color-${key}-hover`] = hover;
151
211
  if (active) result[`--leaf-color-${key}-active`] = active;
212
+ if ('primary' === key) {
213
+ if (hover) result['--leaf-color-primary-ink-hover'] = colors['primary-hover'] ?? visible(hover, 4.5);
214
+ if (active) result['--leaf-color-primary-ink-active'] = colors['primary-active'] ?? visible(active, 4.5);
215
+ }
152
216
  }
153
217
  return result;
154
218
  }
155
219
  exports.defaultColors = __webpack_exports__.defaultColors;
156
220
  exports.deriveColors = __webpack_exports__.deriveColors;
157
221
  exports.mixColors = __webpack_exports__.mixColors;
222
+ exports.primaryForeground = __webpack_exports__.primaryForeground;
158
223
  for(var __rspack_i in __webpack_exports__)if (-1 === [
159
224
  "defaultColors",
160
225
  "deriveColors",
161
- "mixColors"
226
+ "mixColors",
227
+ "primaryForeground"
162
228
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
163
229
  Object.defineProperty(exports, '__esModule', {
164
230
  value: true
@@ -1 +1 @@
1
- {"version":3,"file":"colors.cjs","sources":["webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../../src/colors.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 { readability, TinyColor } from '@ctrl/tinycolor';\nimport { colorRecipes } from './color-recipes';\n\nexport const defaultColors = {\n light: {\n primary: '#20834a',\n 'on-primary': '#ffffff',\n danger: '#c83c3c',\n 'on-danger': '#ffffff',\n warning: '#faad14',\n info: '#1677ff',\n success: '#20834a',\n text: '#202024',\n 'text-muted': '#68686f',\n surface: '#ffffff',\n 'surface-muted': '#f6f6f7',\n border: '#e5e5e8',\n },\n dark: {\n primary: '#83cf9e',\n 'on-primary': '#11271a',\n danger: '#ef8585',\n 'on-danger': '#381818',\n warning: '#ffc53d',\n info: '#69b1ff',\n success: '#83cf9e',\n text: '#ededf0',\n 'text-muted': '#a5a5ae',\n surface: '#1c1c20',\n 'surface-muted': '#25252b',\n border: '#38383f',\n },\n};\n\n/** sRGB mixing with premultiplied alpha, matching CSS transparent-color semantics. */\nexport function mixColors(\n first: string | undefined,\n second: string | undefined,\n weight: number,\n): string | undefined {\n if (!first || !second) return undefined;\n const a = new TinyColor(first);\n const b = new TinyColor(second);\n if (!a.isValid || !b.isValid) return undefined;\n const x = a.toRgb();\n const y = b.toRgb();\n const ratio = Math.min(1, Math.max(0, weight / 100));\n const alpha = x.a * ratio + y.a * (1 - ratio);\n const channel = (key: 'r' | 'g' | 'b') =>\n alpha ? Math.round((x[key] * x.a * ratio + y[key] * y.a * (1 - ratio)) / alpha) : 0;\n return `rgba(${channel('r')}, ${channel('g')}, ${channel('b')}, ${Number(alpha.toFixed(4))})`;\n}\n\n/** Derive once per theme; keep readable solid-button labels when changing shade. */\nfunction interactionColor(color: string, foreground: string, toward: string, amounts: number[]) {\n if (!new TinyColor(color).isValid || !new TinyColor(foreground).isValid) return undefined;\n const minimumContrast = Math.min(4.5, readability(color, foreground));\n for (const amount of amounts) {\n const candidate = mixColors(color, toward, 100 - amount);\n if (candidate && readability(candidate, foreground) >= minimumContrast) return candidate;\n }\n return color;\n}\n\n/** Concrete values only; CSS variable inputs can be resolved by the provider in the browser. */\nexport function deriveColors(appearance: 'light' | 'dark', overrides: Record<string, string> = {}) {\n const colors: Record<string, string> = { ...defaultColors[appearance], ...overrides };\n colors['text-subtle'] ??= mixColors(colors['text-muted'], colors.surface, 92) ?? '#68686f';\n colors['surface-raised'] ??= mixColors(colors.surface, colors.text, 98) ?? '#ffffff';\n colors['border-hover'] ??= mixColors(colors.border, colors['text-muted'], 65) ?? '#e5e5e8';\n const result: Record<`--leaf-${string}`, string> = {};\n for (const [key, [first, second, ratio]] of Object.entries(colorRecipes)) {\n const other =\n second === 'alpha'\n ? 'transparent'\n : second === 'white'\n ? '#fff'\n : second === 'black'\n ? '#000'\n : colors[second];\n const value = mixColors(colors[first], other, ratio);\n if (value) result[key as `--leaf-${string}`] = value;\n }\n for (const key of ['text-subtle', 'surface-raised', 'border-hover'])\n result[`--leaf-color-${key}`] = colors[key] ?? '';\n // Bright warning glyphs and fills need a separate, readable text color.\n const warning = colors.warning;\n const text = colors.text;\n if (warning && text && new TinyColor(warning).isValid && new TinyColor(text).isValid) {\n const backgrounds = [\n colors.surface,\n colors['surface-muted'],\n result['--leaf-color-warning-surface-8'],\n ].filter((color): color is string => Boolean(color));\n for (let weight = 80; weight >= 0; weight -= 10) {\n const ink = mixColors(warning, text, weight);\n if (ink && backgrounds.every((background) => readability(ink, background) >= 4.5)) {\n result['--leaf-color-warning-text-80'] = ink;\n break;\n }\n }\n result['--leaf-color-on-warning'] =\n readability(warning, '#202024') >= readability(warning, '#ffffff') ? '#202024' : '#ffffff';\n }\n for (const key of ['primary', 'danger']) {\n const color = colors[key];\n const foreground = colors[`on-${key}`];\n if (!color || !foreground) continue;\n const hover =\n colors[`${key}-hover`] ?? interactionColor(color, foreground, '#fff', [10, 8, 6, 4, 2.5, 1]);\n const active =\n colors[`${key}-active`] ??\n interactionColor(color, foreground, '#000', [15, 12, 10, 8, 6, 4, 2.5, 1]);\n if (hover) result[`--leaf-color-${key}-hover`] = hover;\n if (active) result[`--leaf-color-${key}-active`] = active;\n }\n return result;\n}\n"],"names":["__webpack_require__","getters","values","define","defs","kind","key","Object","obj","prop","Symbol","defaultColors","mixColors","first","second","weight","a","TinyColor","b","x","y","ratio","Math","alpha","channel","Number","interactionColor","color","foreground","toward","amounts","minimumContrast","readability","amount","candidate","deriveColors","appearance","overrides","colors","result","colorRecipes","other","value","warning","text","backgrounds","Boolean","ink","background","hover","active"],"mappings":"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"}
1
+ {"version":3,"file":"colors.cjs","sources":["webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../../src/colors.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 { readability, TinyColor } from '@ctrl/tinycolor';\nimport { colorRecipes } from './color-recipes';\n\nexport const defaultColors = {\n light: {\n primary: '#20834a',\n 'on-primary': '#ffffff',\n danger: '#c83c3c',\n 'on-danger': '#ffffff',\n warning: '#faad14',\n info: '#1677ff',\n success: '#20834a',\n text: '#202024',\n 'text-muted': '#68686f',\n surface: '#ffffff',\n 'surface-muted': '#f6f6f7',\n border: '#e5e5e8',\n },\n dark: {\n primary: '#83cf9e',\n 'on-primary': '#11271a',\n danger: '#ef8585',\n 'on-danger': '#381818',\n warning: '#ffc53d',\n info: '#69b1ff',\n success: '#83cf9e',\n text: '#ededf0',\n 'text-muted': '#a5a5ae',\n surface: '#1c1c20',\n 'surface-muted': '#25252b',\n border: '#38383f',\n },\n};\n\n/** Prefer white labels at 2.8:1 contrast; brighter fills use black unless explicitly overridden. */\nexport function primaryForeground(color: string) {\n if (cssColorExpression(color) || !new TinyColor(color).isValid) return undefined;\n return readability(color, '#ffffff') >= 2.8 ? '#ffffff' : '#000000';\n}\n\nconst cssColorExpression = (color: string) =>\n /^(?:var|color-mix|light-dark|oklch|oklab|lab|lch|color)\\(/i.test(color);\n\n/** Derive visible ink/indicators without altering the brand fill or supplied theme. */\nfunction visibleDarkColor(color: string, backgrounds: string[], minimum: number) {\n if ([color, ...backgrounds].some((value) => cssColorExpression(value))) return color;\n const primary = new TinyColor(color);\n const surfaces = backgrounds.map((value) => new TinyColor(value));\n if ([primary, ...surfaces].some((value) => !value.isValid || value.getAlpha() !== 1))\n return color;\n const contrasts = (candidate: string) =>\n backgrounds.every((background) => readability(candidate, background) >= minimum);\n if (contrasts(color) || !contrasts('#ffffff')) return color;\n const { h, s, l } = primary.toHsl();\n let low = l;\n let high = 1;\n let result = '#ffffff';\n for (let step = 0; step < 16; step++) {\n const lightness = (low + high) / 2;\n const candidate = new TinyColor({ h, s, l: lightness }).toHexString();\n if (contrasts(candidate)) {\n result = candidate;\n high = lightness;\n } else low = lightness;\n }\n return result;\n}\n\n/** sRGB mixing with premultiplied alpha, matching CSS transparent-color semantics. */\nexport function mixColors(\n first: string | undefined,\n second: string | undefined,\n weight: number,\n): string | undefined {\n if (!first || !second) return undefined;\n const a = new TinyColor(first);\n const b = new TinyColor(second);\n if (cssColorExpression(first) || cssColorExpression(second) || !a.isValid || !b.isValid) {\n const cssColor = (value: string) => cssColorExpression(value) || new TinyColor(value).isValid;\n return cssColor(first) && cssColor(second)\n ? `color-mix(in srgb, ${first} ${Math.min(100, Math.max(0, weight))}%, ${second})`\n : undefined;\n }\n const x = a.toRgb();\n const y = b.toRgb();\n const ratio = Math.min(1, Math.max(0, weight / 100));\n const alpha = x.a * ratio + y.a * (1 - ratio);\n const channel = (key: 'r' | 'g' | 'b') =>\n alpha ? Math.round((x[key] * x.a * ratio + y[key] * y.a * (1 - ratio)) / alpha) : 0;\n return `rgba(${channel('r')}, ${channel('g')}, ${channel('b')}, ${Number(alpha.toFixed(4))})`;\n}\n\n/** Derive once per theme; keep readable solid-button labels when changing shade. */\nfunction interactionColor(color: string, foreground: string, toward: string, amounts: number[]) {\n if (\n cssColorExpression(color) ||\n cssColorExpression(foreground) ||\n !new TinyColor(color).isValid ||\n !new TinyColor(foreground).isValid\n )\n return undefined;\n const minimumContrast = Math.min(4.5, readability(color, foreground));\n for (const amount of amounts) {\n const candidate = mixColors(color, toward, 100 - amount);\n if (candidate && readability(candidate, foreground) >= minimumContrast) return candidate;\n }\n return color;\n}\n\n/** Keep CSS expressions reactive in SSR; resolve contrast-sensitive values after hydration. */\nexport function deriveColors(appearance: 'light' | 'dark', overrides: Record<string, string> = {}) {\n const colors: Record<string, string> = { ...defaultColors[appearance], ...overrides };\n const backgrounds = [colors.surface ?? '', colors['surface-muted'] ?? ''];\n const visible = (color: string, minimum: number) =>\n appearance === 'dark' ? visibleDarkColor(color, backgrounds, minimum) : color;\n const primary = colors.primary ?? '';\n const ink = visible(primary, 4.5);\n const indicator = visible(primary, 3);\n const dim = indicator !== primary;\n const hasPrimary = Boolean(overrides.primary);\n if (hasPrimary && !overrides['on-primary'])\n colors['on-primary'] =\n primaryForeground(colors.primary ?? '') ?? defaultColors[appearance]['on-primary'];\n colors['text-subtle'] ??= mixColors(colors['text-muted'], colors.surface, 92) ?? '#68686f';\n colors['surface-raised'] ??= mixColors(colors.surface, colors.text, 98) ?? '#ffffff';\n colors['border-hover'] ??= mixColors(colors.border, colors['text-muted'], 65) ?? '#e5e5e8';\n const result: Record<`--leaf-${string}`, string> = {};\n result['--leaf-color-primary-ink'] = ink;\n result['--leaf-color-primary-indicator'] = indicator;\n result['--leaf-color-primary-fill-border'] = dim\n ? (mixColors(primary, colors.text, 80) ?? 'transparent')\n : 'transparent';\n result['--leaf-color-primary-focus'] = dim\n ? indicator\n : (mixColors(primary, 'transparent', 42) ?? 'transparent');\n if (hasPrimary) {\n result['--leaf-color-primary'] = colors.primary ?? '';\n result['--leaf-color-on-primary'] =\n colors['on-primary'] ?? defaultColors[appearance]['on-primary'];\n }\n for (const [key, [first, second, ratio]] of Object.entries(colorRecipes)) {\n const other =\n second === 'alpha'\n ? 'transparent'\n : second === 'white'\n ? '#fff'\n : second === 'black'\n ? '#000'\n : colors[second];\n const source = dim && first === 'primary' && second === 'surface' ? indicator : colors[first];\n const value = mixColors(source, other, ratio);\n if (value)\n result[key as `--leaf-${string}`] = key.startsWith('--leaf-color-primary-text-')\n ? visible(value, 4.5)\n : value;\n }\n for (const key of ['text-subtle', 'surface-raised', 'border-hover'])\n result[`--leaf-color-${key}`] = colors[key] ?? '';\n // Bright warning glyphs and fills need a separate, readable text color.\n const warning = colors.warning;\n const text = colors.text;\n if (\n warning &&\n text &&\n !cssColorExpression(warning) &&\n !cssColorExpression(text) &&\n new TinyColor(warning).isValid &&\n new TinyColor(text).isValid\n ) {\n const backgrounds = [\n colors.surface,\n colors['surface-muted'],\n result['--leaf-color-warning-surface-8'],\n ].filter((color): color is string => Boolean(color));\n for (let weight = 80; weight >= 0; weight -= 10) {\n const ink = mixColors(warning, text, weight);\n if (ink && backgrounds.every((background) => readability(ink, background) >= 4.5)) {\n result['--leaf-color-warning-text-80'] = ink;\n break;\n }\n }\n result['--leaf-color-on-warning'] =\n readability(warning, '#202024') >= readability(warning, '#ffffff') ? '#202024' : '#ffffff';\n }\n for (const key of ['primary', 'danger']) {\n const color = colors[key];\n const foreground = colors[`on-${key}`];\n if (!color || !foreground) continue;\n const hover =\n colors[`${key}-hover`] ?? interactionColor(color, foreground, '#fff', [10, 8, 6, 4, 2.5, 1]);\n const active =\n colors[`${key}-active`] ??\n interactionColor(color, foreground, '#000', [15, 12, 10, 8, 6, 4, 2.5, 1]);\n if (hover) result[`--leaf-color-${key}-hover`] = hover;\n if (active) result[`--leaf-color-${key}-active`] = active;\n if (key === 'primary') {\n if (hover)\n result['--leaf-color-primary-ink-hover'] = colors['primary-hover'] ?? visible(hover, 4.5);\n if (active)\n result['--leaf-color-primary-ink-active'] =\n colors['primary-active'] ?? visible(active, 4.5);\n }\n }\n return result;\n}\n"],"names":["__webpack_require__","getters","values","define","defs","kind","key","Object","obj","prop","Symbol","defaultColors","primaryForeground","color","cssColorExpression","TinyColor","readability","visibleDarkColor","backgrounds","minimum","value","primary","surfaces","contrasts","candidate","background","h","s","l","low","high","result","step","lightness","mixColors","first","second","weight","a","b","cssColor","Math","undefined","x","y","ratio","alpha","channel","Number","interactionColor","foreground","toward","amounts","minimumContrast","amount","deriveColors","appearance","overrides","colors","visible","ink","indicator","dim","hasPrimary","Boolean","colorRecipes","other","source","warning","text","hover","active"],"mappings":"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"}
@@ -28,8 +28,10 @@ export declare const defaultColors: {
28
28
  border: string;
29
29
  };
30
30
  };
31
+ /** Prefer white labels at 2.8:1 contrast; brighter fills use black unless explicitly overridden. */
32
+ export declare function primaryForeground(color: string): "#000000" | "#ffffff" | undefined;
31
33
  /** sRGB mixing with premultiplied alpha, matching CSS transparent-color semantics. */
32
34
  export declare function mixColors(first: string | undefined, second: string | undefined, weight: number): string | undefined;
33
- /** Concrete values only; CSS variable inputs can be resolved by the provider in the browser. */
35
+ /** Keep CSS expressions reactive in SSR; resolve contrast-sensitive values after hydration. */
34
36
  export declare function deriveColors(appearance: 'light' | 'dark', overrides?: Record<string, string>): Record<`--leaf-${string}`, string>;
35
37
  //# sourceMappingURL=colors.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors.d.cts","sourceRoot":"","sources":["../../src/colors.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa;IACxB,KAAK;QACH,OAAO;QACP,YAAY;QACZ,MAAM;QACN,WAAW;QACX,OAAO;QACP,IAAI;QACJ,OAAO;QACP,IAAI;QACJ,YAAY;QACZ,OAAO;QACP,eAAe;QACf,MAAM;;IAER,IAAI;QACF,OAAO;QACP,YAAY;QACZ,MAAM;QACN,WAAW;QACX,OAAO;QACP,IAAI;QACJ,OAAO;QACP,IAAI;QACJ,YAAY;QACZ,OAAO;QACP,eAAe;QACf,MAAM;;CAET,CAAC;AAEF,sFAAsF;AACtF,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,SAAS,CAYpB;AAaD,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,sCAoDhG"}
1
+ {"version":3,"file":"colors.d.cts","sourceRoot":"","sources":["../../src/colors.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa;IACxB,KAAK;QACH,OAAO;QACP,YAAY;QACZ,MAAM;QACN,WAAW;QACX,OAAO;QACP,IAAI;QACJ,OAAO;QACP,IAAI;QACJ,YAAY;QACZ,OAAO;QACP,eAAe;QACf,MAAM;;IAER,IAAI;QACF,OAAO;QACP,YAAY;QACZ,MAAM;QACN,WAAW;QACX,OAAO;QACP,IAAI;QACJ,OAAO;QACP,IAAI;QACJ,YAAY;QACZ,OAAO;QACP,eAAe;QACf,MAAM;;CAET,CAAC;AAEF,oGAAoG;AACpG,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,qCAG9C;AA8BD,sFAAsF;AACtF,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,SAAS,CAiBpB;AAmBD,+FAA+F;AAC/F,wBAAgB,YAAY,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,sCA8FhG"}
@@ -38,6 +38,7 @@ const component_defaults_cjs_namespaceObject = require("../config-provider/compo
38
38
  const context_cjs_namespaceObject = require("../config-provider/context.cjs");
39
39
  const input_cjs_namespaceObject = require("../input/input.cjs");
40
40
  const modal_cjs_namespaceObject = require("../modal/modal.cjs");
41
+ const scrollbar_cjs_namespaceObject = require("../scrollbar/scrollbar.cjs");
41
42
  const use_controllable_cjs_namespaceObject = require("../shared/use-controllable.cjs");
42
43
  const use_text_cjs_namespaceObject = require("../shared/use-text.cjs");
43
44
  const useBrowserLayoutEffect = "u" < typeof window ? external_react_namespaceObject.useEffect : external_react_namespaceObject.useLayoutEffect;
@@ -189,13 +190,19 @@ function CommandPalette(rawProps) {
189
190
  className: "leaf-command-palette__error",
190
191
  children: error
191
192
  }),
192
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
193
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(scrollbar_cjs_namespaceObject.ScrollbarControl, {
193
194
  ref: listRef,
194
195
  id: id,
195
196
  role: "listbox",
196
197
  "aria-label": t('commandPalette.commands'),
197
- "aria-busy": loading || !!busy,
198
- className: "leaf-command-palette__list",
198
+ viewportProps: {
199
+ 'aria-busy': loading || !!busy
200
+ },
201
+ className: "leaf-command-palette__results",
202
+ viewportClassName: "leaf-command-palette__list",
203
+ tabIndex: -1,
204
+ scrollbarTabIndex: -1,
205
+ maxHeight: 340,
199
206
  children: [
200
207
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
201
208
  className: "leaf-command-palette__selection",