@cloudflare/kumo 1.19.0 → 2.0.1

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 (296) hide show
  1. package/CHANGELOG.md +248 -0
  2. package/ai/component-registry.json +764 -131
  3. package/ai/component-registry.md +1161 -163
  4. package/ai/schemas.ts +42 -14
  5. package/dist/.build-complete +1 -1
  6. package/dist/ai/schemas.d.ts +153 -21
  7. package/dist/ai/schemas.d.ts.map +1 -1
  8. package/dist/ai/schemas.js +1994 -1956
  9. package/dist/ai/schemas.js.map +1 -1
  10. package/dist/blocks-source/resource-list/resource-list.tsx +1 -1
  11. package/dist/chunks/Legend-ibjxhfm9pn2vrb6f.js +430 -0
  12. package/dist/chunks/Legend-ibjxhfm9pn2vrb6f.js.map +1 -0
  13. package/dist/chunks/autocomplete-48aq0d244bs2e8zv.js +174 -0
  14. package/dist/chunks/autocomplete-48aq0d244bs2e8zv.js.map +1 -0
  15. package/dist/chunks/{breadcrumbs-ge20hcb3o5spswrk.js → breadcrumbs-cxcwf2l1ki3ffg5d.js} +2 -2
  16. package/dist/chunks/{breadcrumbs-ge20hcb3o5spswrk.js.map → breadcrumbs-cxcwf2l1ki3ffg5d.js.map} +1 -1
  17. package/dist/chunks/{button-oaqi7ykdisyskoos.js → button-6by9ntsa3nj553mq.js} +23 -24
  18. package/dist/chunks/button-6by9ntsa3nj553mq.js.map +1 -0
  19. package/dist/chunks/checkbox-hvxfvhtx1qjo2mww.js +210 -0
  20. package/dist/chunks/checkbox-hvxfvhtx1qjo2mww.js.map +1 -0
  21. package/dist/chunks/{clipboard-text-dxczqon3d27xp6f0.js → clipboard-text-hswydzx3iql369sd.js} +45 -41
  22. package/dist/chunks/{clipboard-text-dxczqon3d27xp6f0.js.map → clipboard-text-hswydzx3iql369sd.js.map} +1 -1
  23. package/dist/chunks/{code-cz0w1y5z4h29a9eg.js → code-f9v1ikwhekqw274q.js} +4 -4
  24. package/dist/chunks/{code-cz0w1y5z4h29a9eg.js.map → code-f9v1ikwhekqw274q.js.map} +1 -1
  25. package/dist/chunks/collapsible-k8urhi16pg90jvxa.js +71 -0
  26. package/dist/chunks/collapsible-k8urhi16pg90jvxa.js.map +1 -0
  27. package/dist/chunks/{combobox-eaowwt1xr4d23gsn.js → combobox-fq36ye0hstote16x.js} +90 -78
  28. package/dist/chunks/combobox-fq36ye0hstote16x.js.map +1 -0
  29. package/dist/chunks/{command-palette-maqtbmpfev9mysqd.js → command-palette-md65owxt5hv4rt9r.js} +68 -68
  30. package/dist/chunks/command-palette-md65owxt5hv4rt9r.js.map +1 -0
  31. package/dist/chunks/{date-range-picker-j318zxjyqz4o3dak.js → date-range-picker-o8uyril1kogvhoei.js} +11 -11
  32. package/dist/chunks/{date-range-picker-j318zxjyqz4o3dak.js.map → date-range-picker-o8uyril1kogvhoei.js.map} +1 -1
  33. package/dist/chunks/{dialog-e3m5bhs7fds26p9y.js → dialog-k3f1fbam6nt96k8x.js} +3 -3
  34. package/dist/chunks/{dialog-e3m5bhs7fds26p9y.js.map → dialog-k3f1fbam6nt96k8x.js.map} +1 -1
  35. package/dist/chunks/{dropdown-ewte287db3vyt8t5.js → dropdown-zbax0zowy6m9zhmt.js} +87 -87
  36. package/dist/chunks/dropdown-zbax0zowy6m9zhmt.js.map +1 -0
  37. package/dist/chunks/{empty-dr1eckm2z40euns6.js → empty-b82oer7npkhtkx7k.js} +14 -14
  38. package/dist/chunks/{empty-dr1eckm2z40euns6.js.map → empty-b82oer7npkhtkx7k.js.map} +1 -1
  39. package/dist/chunks/{field-bo5gmna16odrrb1q.js → field-c0wf94plit2gci59.js} +7 -7
  40. package/dist/chunks/{field-bo5gmna16odrrb1q.js.map → field-c0wf94plit2gci59.js.map} +1 -1
  41. package/dist/chunks/{input-area-jkkkjej6luumrqpa.js → input-area-bkyzu6f7gsck479h.js} +4 -4
  42. package/dist/chunks/{input-area-jkkkjej6luumrqpa.js.map → input-area-bkyzu6f7gsck479h.js.map} +1 -1
  43. package/dist/chunks/input-group-bidweffa0zyg8gt0.js +505 -0
  44. package/dist/chunks/input-group-bidweffa0zyg8gt0.js.map +1 -0
  45. package/dist/chunks/{input-cw05pbqdburghkus.js → input-ncfowphv81yq7fyy.js} +44 -44
  46. package/dist/chunks/input-ncfowphv81yq7fyy.js.map +1 -0
  47. package/dist/chunks/{label-cvyvbqmt4mt757ff.js → label-c3h9i3y4wiccelt7.js} +22 -22
  48. package/dist/chunks/{label-cvyvbqmt4mt757ff.js.map → label-c3h9i3y4wiccelt7.js.map} +1 -1
  49. package/dist/chunks/{layer-card-ljqth3yxgnk04v2o.js → layer-card-ikm31xemd70w3lru.js} +5 -5
  50. package/dist/chunks/{layer-card-ljqth3yxgnk04v2o.js.map → layer-card-ikm31xemd70w3lru.js.map} +1 -1
  51. package/dist/chunks/{link-fjnhtxvfe5ieamjf.js → link-kt74pxkud4olmcer.js} +4 -4
  52. package/dist/chunks/{link-fjnhtxvfe5ieamjf.js.map → link-kt74pxkud4olmcer.js.map} +1 -1
  53. package/dist/chunks/menubar-hwev159bm4rw9ixk.js +96 -0
  54. package/dist/chunks/menubar-hwev159bm4rw9ixk.js.map +1 -0
  55. package/dist/chunks/{meter-duj3micor1lqj3y2.js → meter-n34a7yb8c3rim26i.js} +3 -3
  56. package/dist/chunks/{meter-duj3micor1lqj3y2.js.map → meter-n34a7yb8c3rim26i.js.map} +1 -1
  57. package/dist/chunks/{pagination-olaypvwr8swsmn8m.js → pagination-jb3mncivbwsoi1se.js} +56 -56
  58. package/dist/chunks/pagination-jb3mncivbwsoi1se.js.map +1 -0
  59. package/dist/chunks/{popover-nv9cmzbo7mf6bky0.js → popover-iayd9ya5yhujz6ve.js} +5 -5
  60. package/dist/chunks/{popover-nv9cmzbo7mf6bky0.js.map → popover-iayd9ya5yhujz6ve.js.map} +1 -1
  61. package/dist/chunks/{radio-ihxbe37us2jnqtzf.js → radio-datzh3pilz8ojak1.js} +86 -74
  62. package/dist/chunks/radio-datzh3pilz8ojak1.js.map +1 -0
  63. package/dist/chunks/{select-nx6ded5swra74iar.js → select-g261chvosodu22i8.js} +64 -62
  64. package/dist/chunks/select-g261chvosodu22i8.js.map +1 -0
  65. package/dist/chunks/{sensitive-input-00fujb510rrn61v9.js → sensitive-input-cijagk551mesdtk4.js} +42 -42
  66. package/dist/chunks/sensitive-input-cijagk551mesdtk4.js.map +1 -0
  67. package/dist/chunks/{sidebar-ltbfius1eolkl8tb.js → sidebar-kb9kykqfgy5yzqwr.js} +132 -129
  68. package/dist/chunks/sidebar-kb9kykqfgy5yzqwr.js.map +1 -0
  69. package/dist/chunks/{surface-dfgurg5eu3et4vw1.js → surface-k0e8mq1x00b7i8r6.js} +2 -2
  70. package/dist/chunks/{surface-dfgurg5eu3et4vw1.js.map → surface-k0e8mq1x00b7i8r6.js.map} +1 -1
  71. package/dist/chunks/{switch-fbv3iawqo3o3jgap.js → switch-jdfsr3j3oa1qxegw.js} +86 -78
  72. package/dist/chunks/switch-jdfsr3j3oa1qxegw.js.map +1 -0
  73. package/dist/chunks/{table-olwwulga2l3hdwlx.js → table-iudje0lva0z68jto.js} +89 -71
  74. package/dist/chunks/table-iudje0lva0z68jto.js.map +1 -0
  75. package/dist/chunks/table-of-contents-fzyv7uhnnyr13dqu.js +102 -0
  76. package/dist/chunks/table-of-contents-fzyv7uhnnyr13dqu.js.map +1 -0
  77. package/dist/chunks/{tabs-lohcglgppp6gj0hp.js → tabs-mkhf1uemgr3ij0ps.js} +20 -20
  78. package/dist/chunks/{tabs-lohcglgppp6gj0hp.js.map → tabs-mkhf1uemgr3ij0ps.js.map} +1 -1
  79. package/dist/chunks/{text-nmyi1rkwdj37f30f.js → text-f7t467waymhb30sx.js} +8 -8
  80. package/dist/chunks/text-f7t467waymhb30sx.js.map +1 -0
  81. package/dist/chunks/{toast-dg52x89yd231mxhe.js → toast-h573o0tc7tefivk2.js} +11 -11
  82. package/dist/chunks/toast-h573o0tc7tefivk2.js.map +1 -0
  83. package/dist/chunks/{tooltip-hikjvdbg3xghnq1x.js → tooltip-odudhkxe282wxinq.js} +5 -5
  84. package/dist/chunks/{tooltip-hikjvdbg3xghnq1x.js.map → tooltip-odudhkxe282wxinq.js.map} +1 -1
  85. package/dist/chunks/vendor-base-ui-ie71jahf0czyf58j.js +24638 -0
  86. package/dist/chunks/vendor-base-ui-ie71jahf0czyf58j.js.map +1 -0
  87. package/dist/chunks/vendor-floating-ui-dwag5e88viikh2zs.js +1311 -0
  88. package/dist/chunks/vendor-floating-ui-dwag5e88viikh2zs.js.map +1 -0
  89. package/dist/chunks/vendor-utils-ixnhxmehwihk5tr7.js +534 -0
  90. package/dist/chunks/vendor-utils-ixnhxmehwihk5tr7.js.map +1 -0
  91. package/dist/code.js +31 -31
  92. package/dist/code.js.map +1 -1
  93. package/dist/components/autocomplete.js +9 -0
  94. package/dist/components/autocomplete.js.map +1 -0
  95. package/dist/components/breadcrumbs.js +1 -1
  96. package/dist/components/button.js +1 -1
  97. package/dist/components/chart.js +1 -1
  98. package/dist/components/checkbox.js +1 -1
  99. package/dist/components/clipboard-text.js +1 -1
  100. package/dist/components/code.js +1 -1
  101. package/dist/components/collapsible.js +1 -1
  102. package/dist/components/combobox.js +1 -1
  103. package/dist/components/command-palette.js +1 -1
  104. package/dist/components/date-range-picker.js +1 -1
  105. package/dist/components/dialog.js +1 -1
  106. package/dist/components/dropdown.js +1 -1
  107. package/dist/components/empty.js +1 -1
  108. package/dist/components/field.js +1 -1
  109. package/dist/components/input-group.js +8 -0
  110. package/dist/components/input-group.js.map +1 -0
  111. package/dist/components/input.js +9 -7
  112. package/dist/components/label.js +1 -1
  113. package/dist/components/layer-card.js +1 -1
  114. package/dist/components/link.js +1 -1
  115. package/dist/components/menubar.js +1 -1
  116. package/dist/components/meter.js +1 -1
  117. package/dist/components/pagination.js +1 -1
  118. package/dist/components/popover.js +1 -1
  119. package/dist/components/radio.js +1 -1
  120. package/dist/components/select.js +1 -1
  121. package/dist/components/sensitive-input.js +1 -1
  122. package/dist/components/sidebar.js +1 -1
  123. package/dist/components/surface.js +1 -1
  124. package/dist/components/switch.js +1 -1
  125. package/dist/components/table-of-contents.js +1 -1
  126. package/dist/components/table.js +1 -1
  127. package/dist/components/tabs.js +1 -1
  128. package/dist/components/text.js +1 -1
  129. package/dist/components/toast.js +2 -2
  130. package/dist/components/tooltip.js +1 -1
  131. package/dist/index.js +149 -144
  132. package/dist/index.js.map +1 -1
  133. package/dist/primitives/accordion.js +1 -1
  134. package/dist/primitives/alert-dialog.js +1 -1
  135. package/dist/primitives/autocomplete.js +1 -1
  136. package/dist/primitives/avatar.js +1 -1
  137. package/dist/primitives/button.js +1 -1
  138. package/dist/primitives/checkbox-group.js +1 -1
  139. package/dist/primitives/checkbox.js +1 -1
  140. package/dist/primitives/collapsible.js +1 -1
  141. package/dist/primitives/combobox.js +1 -1
  142. package/dist/primitives/context-menu.js +1 -1
  143. package/dist/primitives/csp-provider.js +1 -1
  144. package/dist/primitives/dialog.js +1 -1
  145. package/dist/primitives/direction-provider.js +1 -1
  146. package/dist/primitives/drawer.js +2 -2
  147. package/dist/primitives/field.js +1 -1
  148. package/dist/primitives/fieldset.js +1 -1
  149. package/dist/primitives/form.js +1 -1
  150. package/dist/primitives/input.js +1 -1
  151. package/dist/primitives/menu.js +1 -1
  152. package/dist/primitives/menubar.js +1 -1
  153. package/dist/primitives/meter.js +1 -1
  154. package/dist/primitives/navigation-menu.js +1 -1
  155. package/dist/primitives/number-field.js +1 -1
  156. package/dist/primitives/otp-field.js +6 -0
  157. package/dist/primitives/otp-field.js.map +1 -0
  158. package/dist/primitives/popover.js +1 -1
  159. package/dist/primitives/preview-card.js +2 -2
  160. package/dist/primitives/progress.js +1 -1
  161. package/dist/primitives/radio-group.js +1 -1
  162. package/dist/primitives/radio.js +1 -1
  163. package/dist/primitives/scroll-area.js +1 -1
  164. package/dist/primitives/select.js +1 -1
  165. package/dist/primitives/separator.js +1 -1
  166. package/dist/primitives/slider.js +1 -1
  167. package/dist/primitives/switch.js +1 -1
  168. package/dist/primitives/tabs.js +1 -1
  169. package/dist/primitives/toast.js +1 -1
  170. package/dist/primitives/toggle-group.js +1 -1
  171. package/dist/primitives/toggle.js +1 -1
  172. package/dist/primitives/toolbar.js +1 -1
  173. package/dist/primitives/tooltip.js +1 -1
  174. package/dist/primitives.js +22 -21
  175. package/dist/scripts/theme-generator/config.d.ts.map +1 -1
  176. package/dist/scripts/theme-generator/config.js +21 -4
  177. package/dist/scripts/theme-generator/config.js.map +1 -1
  178. package/dist/src/components/autocomplete/autocomplete.d.ts +180 -0
  179. package/dist/src/components/autocomplete/autocomplete.d.ts.map +1 -0
  180. package/dist/src/components/autocomplete/index.d.ts +2 -0
  181. package/dist/src/components/autocomplete/index.d.ts.map +1 -0
  182. package/dist/src/components/button/button.d.ts +3 -3
  183. package/dist/src/components/button/button.d.ts.map +1 -1
  184. package/dist/src/components/chart/Color.d.ts +36 -52
  185. package/dist/src/components/chart/Color.d.ts.map +1 -1
  186. package/dist/src/components/checkbox/checkbox.d.ts +37 -14
  187. package/dist/src/components/checkbox/checkbox.d.ts.map +1 -1
  188. package/dist/src/components/checkbox/index.d.ts +1 -1
  189. package/dist/src/components/checkbox/index.d.ts.map +1 -1
  190. package/dist/src/components/clipboard-text/clipboard-text.d.ts.map +1 -1
  191. package/dist/src/components/code/code.d.ts +2 -2
  192. package/dist/src/components/collapsible/collapsible.d.ts +77 -40
  193. package/dist/src/components/collapsible/collapsible.d.ts.map +1 -1
  194. package/dist/src/components/collapsible/index.d.ts +1 -1
  195. package/dist/src/components/collapsible/index.d.ts.map +1 -1
  196. package/dist/src/components/combobox/combobox.d.ts +3 -1
  197. package/dist/src/components/combobox/combobox.d.ts.map +1 -1
  198. package/dist/src/components/command-palette/command-palette.d.ts +2 -11
  199. package/dist/src/components/command-palette/command-palette.d.ts.map +1 -1
  200. package/dist/src/components/command-palette/index.d.ts +1 -1
  201. package/dist/src/components/command-palette/index.d.ts.map +1 -1
  202. package/dist/src/components/command-palette/types.d.ts +13 -1
  203. package/dist/src/components/command-palette/types.d.ts.map +1 -1
  204. package/dist/src/components/input/index.d.ts +16 -1
  205. package/dist/src/components/input/index.d.ts.map +1 -1
  206. package/dist/src/components/input/input.d.ts +2 -2
  207. package/dist/src/components/input/input.d.ts.map +1 -1
  208. package/dist/src/components/input-group/context.d.ts +96 -0
  209. package/dist/src/components/input-group/context.d.ts.map +1 -0
  210. package/dist/src/components/input-group/index.d.ts +2 -0
  211. package/dist/src/components/input-group/index.d.ts.map +1 -0
  212. package/dist/src/components/input-group/input-group-addon.d.ts +15 -0
  213. package/dist/src/components/input-group/input-group-addon.d.ts.map +1 -0
  214. package/dist/src/components/input-group/input-group-button.d.ts +36 -0
  215. package/dist/src/components/input-group/input-group-button.d.ts.map +1 -0
  216. package/dist/src/components/input-group/input-group-input.d.ts +9 -0
  217. package/dist/src/components/input-group/input-group-input.d.ts.map +1 -0
  218. package/dist/src/components/input-group/input-group-suffix.d.ts +13 -0
  219. package/dist/src/components/input-group/input-group-suffix.d.ts.map +1 -0
  220. package/dist/src/components/input-group/input-group.d.ts +43 -0
  221. package/dist/src/components/input-group/input-group.d.ts.map +1 -0
  222. package/dist/src/components/menubar/menubar.d.ts.map +1 -1
  223. package/dist/src/components/radio/index.d.ts +1 -1
  224. package/dist/src/components/radio/index.d.ts.map +1 -1
  225. package/dist/src/components/radio/radio.d.ts +43 -7
  226. package/dist/src/components/radio/radio.d.ts.map +1 -1
  227. package/dist/src/components/select/select.d.ts +3 -3
  228. package/dist/src/components/select/select.d.ts.map +1 -1
  229. package/dist/src/components/sensitive-input/sensitive-input.d.ts +2 -2
  230. package/dist/src/components/sidebar/sidebar.d.ts.map +1 -1
  231. package/dist/src/components/switch/index.d.ts +1 -1
  232. package/dist/src/components/switch/index.d.ts.map +1 -1
  233. package/dist/src/components/switch/switch.d.ts +31 -3
  234. package/dist/src/components/switch/switch.d.ts.map +1 -1
  235. package/dist/src/components/table/table.d.ts +17 -2
  236. package/dist/src/components/table/table.d.ts.map +1 -1
  237. package/dist/src/components/table-of-contents/table-of-contents.d.ts +9 -7
  238. package/dist/src/components/table-of-contents/table-of-contents.d.ts.map +1 -1
  239. package/dist/src/components/text/text.d.ts +34 -6
  240. package/dist/src/components/text/text.d.ts.map +1 -1
  241. package/dist/src/components/text/text.type-spec.d.ts +44 -0
  242. package/dist/src/components/text/text.type-spec.d.ts.map +1 -0
  243. package/dist/src/components/toast/toast.d.ts +2 -2
  244. package/dist/src/components/toast/toast.d.ts.map +1 -1
  245. package/dist/src/index.d.ts +8 -6
  246. package/dist/src/index.d.ts.map +1 -1
  247. package/dist/src/primitives/index.d.ts +1 -0
  248. package/dist/src/primitives/index.d.ts.map +1 -1
  249. package/dist/src/primitives/otp-field.d.ts +13 -0
  250. package/dist/src/primitives/otp-field.d.ts.map +1 -0
  251. package/dist/styles/kumo-binding.css +18 -0
  252. package/dist/styles/kumo-standalone.css +1 -1
  253. package/dist/styles/kumo.css +2 -2
  254. package/dist/styles/theme-kumo.css +15 -8
  255. package/package.json +14 -2
  256. package/scripts/component-registry/discovery.ts +1 -0
  257. package/scripts/component-registry/index.test.ts +265 -0
  258. package/scripts/component-registry/index.ts +14 -0
  259. package/scripts/component-registry/metadata.ts +56 -8
  260. package/scripts/component-registry/sub-components.ts +81 -50
  261. package/scripts/component-registry/types.ts +2 -0
  262. package/scripts/theme-generator/config.ts +19 -9
  263. package/dist/chunks/Legend-ks7se6149vsa3tze.js +0 -430
  264. package/dist/chunks/Legend-ks7se6149vsa3tze.js.map +0 -1
  265. package/dist/chunks/button-oaqi7ykdisyskoos.js.map +0 -1
  266. package/dist/chunks/checkbox-mwgmohffm22ut13s.js +0 -211
  267. package/dist/chunks/checkbox-mwgmohffm22ut13s.js.map +0 -1
  268. package/dist/chunks/collapsible-jhzee3ks51d3xowb.js +0 -58
  269. package/dist/chunks/collapsible-jhzee3ks51d3xowb.js.map +0 -1
  270. package/dist/chunks/combobox-eaowwt1xr4d23gsn.js.map +0 -1
  271. package/dist/chunks/command-palette-maqtbmpfev9mysqd.js.map +0 -1
  272. package/dist/chunks/dropdown-ewte287db3vyt8t5.js.map +0 -1
  273. package/dist/chunks/input-cw05pbqdburghkus.js.map +0 -1
  274. package/dist/chunks/input-group-lfugneuz71g42n0w.js +0 -111
  275. package/dist/chunks/input-group-lfugneuz71g42n0w.js.map +0 -1
  276. package/dist/chunks/menubar-e5e4zwfagr0wx023.js +0 -96
  277. package/dist/chunks/menubar-e5e4zwfagr0wx023.js.map +0 -1
  278. package/dist/chunks/pagination-olaypvwr8swsmn8m.js.map +0 -1
  279. package/dist/chunks/radio-ihxbe37us2jnqtzf.js.map +0 -1
  280. package/dist/chunks/select-nx6ded5swra74iar.js.map +0 -1
  281. package/dist/chunks/sensitive-input-00fujb510rrn61v9.js.map +0 -1
  282. package/dist/chunks/sidebar-ltbfius1eolkl8tb.js.map +0 -1
  283. package/dist/chunks/switch-fbv3iawqo3o3jgap.js.map +0 -1
  284. package/dist/chunks/table-of-contents-f813ivi7ta23vqdm.js +0 -88
  285. package/dist/chunks/table-of-contents-f813ivi7ta23vqdm.js.map +0 -1
  286. package/dist/chunks/table-olwwulga2l3hdwlx.js.map +0 -1
  287. package/dist/chunks/text-nmyi1rkwdj37f30f.js.map +0 -1
  288. package/dist/chunks/toast-dg52x89yd231mxhe.js.map +0 -1
  289. package/dist/chunks/vendor-base-ui-m5pz3e8c4grg5qmj.js +0 -22813
  290. package/dist/chunks/vendor-base-ui-m5pz3e8c4grg5qmj.js.map +0 -1
  291. package/dist/chunks/vendor-floating-ui-gr9m6tsa1cpqwn99.js +0 -1286
  292. package/dist/chunks/vendor-floating-ui-gr9m6tsa1cpqwn99.js.map +0 -1
  293. package/dist/chunks/vendor-utils-fxk97j6xi1g42z2v.js +0 -740
  294. package/dist/chunks/vendor-utils-fxk97j6xi1g42z2v.js.map +0 -1
  295. package/dist/src/components/input/input-group.d.ts +0 -39
  296. package/dist/src/components/input/input-group.d.ts.map +0 -1
@@ -1,11 +1,11 @@
1
1
  "use client";
2
- import { jsx as s, jsxs as E, Fragment as ye } from "react/jsx-runtime";
3
- import ke, { forwardRef as u, useState as k, useCallback as D, useMemo as W, createContext as L, useContext as R, useRef as P, useEffect as Ne } from "react";
2
+ import { jsx as s, jsxs as P, Fragment as ye } from "react/jsx-runtime";
3
+ import ke, { forwardRef as u, useState as k, useCallback as D, useMemo as W, createContext as A, useContext as R, useRef as L, useEffect as Ne } from "react";
4
4
  import { CaretRightIcon as F, MagnifyingGlassIcon as Ce, SidebarSimpleIcon as Me } from "@phosphor-icons/react";
5
- import { c as i } from "./cn-ct4n7r74mh8y0f48.js";
5
+ import { c as n } from "./cn-ct4n7r74mh8y0f48.js";
6
6
  import { u as X } from "./link-provider-mn2voeohon7cj9o4.js";
7
- import { a as Ie, T as Re } from "./tooltip-hikjvdbg3xghnq1x.js";
8
- import { bq as U, br as V, ap as Te, au as ze, av as _e, aw as Be, bs as De } from "./vendor-base-ui-m5pz3e8c4grg5qmj.js";
7
+ import { a as Ie, T as Re } from "./tooltip-odudhkxe282wxinq.js";
8
+ import { aO as U, aQ as V, aq as Te, av as ze, aw as _e, ax as Be, aP as De } from "./vendor-base-ui-ie71jahf0czyf58j.js";
9
9
  const $e = {
10
10
  variant: {
11
11
  sidebar: {
@@ -49,7 +49,7 @@ const $e = {
49
49
  variant: "sidebar",
50
50
  collapsible: "icon",
51
51
  side: "left"
52
- }, Ye = {
52
+ }, Qe = {
53
53
  width: {
54
54
  expanded: "16rem",
55
55
  icon: "3rem"
@@ -57,39 +57,39 @@ const $e = {
57
57
  mobile: {
58
58
  breakpoint: 768
59
59
  }
60
- }, j = "16rem", Ae = "3rem", Ee = 768;
61
- function Le() {
60
+ }, j = "16rem", Oe = "3rem", Pe = 768;
61
+ function Ae() {
62
62
  const [t, a] = k(!1);
63
63
  return Ne(() => {
64
- const e = window.matchMedia(`(max-width: ${Ee - 1}px)`), n = () => a(e.matches);
65
- return e.addEventListener("change", n), a(e.matches), () => e.removeEventListener("change", n);
64
+ const e = window.matchMedia(`(max-width: ${Pe - 1}px)`), i = () => a(e.matches);
65
+ return e.addEventListener("change", i), a(e.matches), () => e.removeEventListener("change", i);
66
66
  }, []), t;
67
67
  }
68
- const K = L(null);
68
+ const K = A(null);
69
69
  function T() {
70
70
  const t = R(K);
71
71
  if (!t)
72
72
  throw new Error("useSidebar must be used within a Sidebar.Provider");
73
73
  return t;
74
74
  }
75
- const Oe = 256, Pe = 200, Ge = 480;
75
+ const Ee = 256, Le = 200, Ge = 480;
76
76
  function q({
77
77
  defaultOpen: t = !0,
78
78
  open: a,
79
79
  onOpenChange: e,
80
- variant: n = G.variant,
80
+ variant: i = G.variant,
81
81
  side: r = G.side,
82
82
  collapsible: o = G.collapsible,
83
83
  resizable: b = !1,
84
- defaultWidth: m = Oe,
85
- minWidth: d = Pe,
84
+ defaultWidth: m = Ee,
85
+ minWidth: d = Le,
86
86
  maxWidth: l = Ge,
87
87
  onWidthChange: c,
88
88
  children: x,
89
89
  className: g,
90
90
  style: h
91
91
  }) {
92
- const p = Le(), [f, S] = k(!1), [N, z] = k(m), [w, C] = k(!1), _ = D(
92
+ const p = Ae(), [f, S] = k(!1), [N, z] = k(m), [w, C] = k(!1), _ = D(
93
93
  (v) => {
94
94
  const I = Math.min(l, Math.max(d, v));
95
95
  z(I), c?.(I);
@@ -103,16 +103,16 @@ function q({
103
103
  [e, M]
104
104
  ), H = D(() => {
105
105
  p ? S((v) => !v) : B((v) => !v);
106
- }, [p, B]), O = M ? "expanded" : "collapsed", Se = b ? `${N}px` : j, we = W(
106
+ }, [p, B]), E = M ? "expanded" : "collapsed", Se = b ? `${N}px` : j, we = W(
107
107
  () => ({
108
- state: O,
108
+ state: E,
109
109
  open: M,
110
110
  setOpen: B,
111
111
  openMobile: f,
112
112
  setOpenMobile: S,
113
113
  isMobile: p,
114
114
  toggleSidebar: H,
115
- variant: n,
115
+ variant: i,
116
116
  side: r,
117
117
  collapsible: o,
118
118
  width: N,
@@ -124,14 +124,14 @@ function q({
124
124
  setWidth: _
125
125
  }),
126
126
  [
127
- O,
127
+ E,
128
128
  M,
129
129
  B,
130
130
  f,
131
131
  S,
132
132
  p,
133
133
  H,
134
- n,
134
+ i,
135
135
  r,
136
136
  o,
137
137
  N,
@@ -147,14 +147,14 @@ function q({
147
147
  "div",
148
148
  {
149
149
  "data-sidebar-wrapper": "",
150
- "data-state": O,
150
+ "data-state": E,
151
151
  "data-side": r,
152
152
  style: {
153
153
  "--sidebar-width": Se,
154
- "--sidebar-width-icon": Ae,
154
+ "--sidebar-width-icon": Oe,
155
155
  ...h
156
156
  },
157
- className: i(
157
+ className: n(
158
158
  "group/sidebar-wrapper flex min-h-svh w-full",
159
159
  "has-data-[variant=inset]:bg-kumo-recessed",
160
160
  w && "select-none",
@@ -166,7 +166,7 @@ function q({
166
166
  }
167
167
  q.displayName = "Sidebar.Provider";
168
168
  const $ = u(
169
- ({ className: t, children: a, ...e }, n) => {
169
+ ({ className: t, children: a, ...e }, i) => {
170
170
  const {
171
171
  state: r,
172
172
  isMobile: o,
@@ -183,7 +183,7 @@ const $ = u(
183
183
  return /* @__PURE__ */ s(
184
184
  "aside",
185
185
  {
186
- ref: n,
186
+ ref: i,
187
187
  "data-state": "expanded",
188
188
  "data-side": d,
189
189
  "data-variant": l,
@@ -193,7 +193,7 @@ const $ = u(
193
193
  minWidth: "var(--sidebar-width)",
194
194
  maxWidth: "var(--sidebar-width)"
195
195
  },
196
- className: i(
196
+ className: n(
197
197
  "relative flex h-full shrink-0 grow-0 flex-col overflow-hidden bg-kumo-base text-kumo-default",
198
198
  l === "sidebar" && (d === "left" ? "border-r border-kumo-hairline" : "border-l border-kumo-hairline"),
199
199
  l === "floating" && "m-2 rounded-lg border border-kumo-hairline shadow-lg",
@@ -204,12 +204,12 @@ const $ = u(
204
204
  }
205
205
  );
206
206
  if (o)
207
- return /* @__PURE__ */ s(Te, { open: b, onOpenChange: m, children: /* @__PURE__ */ E(ze, { children: [
207
+ return /* @__PURE__ */ s(Te, { open: b, onOpenChange: m, children: /* @__PURE__ */ P(ze, { children: [
208
208
  /* @__PURE__ */ s(_e, { className: "fixed inset-0 z-50 bg-black/50 transition-opacity duration-200 data-[ending-style]:opacity-0 data-[starting-style]:opacity-0" }),
209
209
  /* @__PURE__ */ s(
210
210
  Be,
211
211
  {
212
- className: i(
212
+ className: n(
213
213
  "fixed inset-y-0 z-50 flex w-[--sidebar-width] flex-col bg-kumo-base p-0",
214
214
  "duration-200 data-[ending-style]:opacity-0 data-[starting-style]:opacity-0",
215
215
  d === "left" && "left-0 data-[ending-style]:-translate-x-full data-[starting-style]:-translate-x-full",
@@ -225,7 +225,7 @@ const $ = u(
225
225
  {
226
226
  "data-sidebar": "sidebar",
227
227
  "data-mobile": "true",
228
- className: i(
228
+ className: n(
229
229
  "flex h-full w-full flex-col bg-kumo-base text-kumo-default",
230
230
  t
231
231
  ),
@@ -239,14 +239,14 @@ const $ = u(
239
239
  return /* @__PURE__ */ s(
240
240
  "aside",
241
241
  {
242
- ref: n,
242
+ ref: i,
243
243
  "data-state": r,
244
244
  "data-side": d,
245
245
  "data-variant": l,
246
246
  "data-collapsible": c,
247
247
  "data-sidebar": "sidebar",
248
248
  style: { width: r === "expanded" ? f : p },
249
- className: i(
249
+ className: n(
250
250
  "group/sidebar relative flex h-full shrink-0 grow-0 flex-col",
251
251
  // overflow-hidden makes flex min-width resolve to 0 (per spec),
252
252
  // preventing children from pushing the sidebar wider than its width
@@ -268,12 +268,12 @@ const $ = u(
268
268
  }
269
269
  );
270
270
  $.displayName = "Sidebar";
271
- const Y = u(({ className: t, ...a }, e) => /* @__PURE__ */ s(
271
+ const Q = u(({ className: t, ...a }, e) => /* @__PURE__ */ s(
272
272
  "div",
273
273
  {
274
274
  ref: e,
275
275
  "data-sidebar": "header",
276
- className: i(
276
+ className: n(
277
277
  "flex items-center gap-2 border-b border-kumo-hairline px-2 py-3",
278
278
  "overflow-hidden",
279
279
  // Collapsed: just remove border, keep same height
@@ -283,13 +283,13 @@ const Y = u(({ className: t, ...a }, e) => /* @__PURE__ */ s(
283
283
  ...a
284
284
  }
285
285
  ));
286
- Y.displayName = "Sidebar.Header";
287
- const J = u(({ className: t, ...a }, e) => /* @__PURE__ */ s(
286
+ Q.displayName = "Sidebar.Header";
287
+ const Y = u(({ className: t, ...a }, e) => /* @__PURE__ */ s(
288
288
  "div",
289
289
  {
290
290
  ref: e,
291
291
  "data-sidebar": "content",
292
- className: i(
292
+ className: n(
293
293
  "flex min-w-0 flex-1 flex-col gap-2 overflow-y-auto overflow-x-hidden px-2 py-2",
294
294
  // Collapsed: flatten spacing so icons are evenly spaced
295
295
  "group-data-[state=collapsed]/sidebar:gap-0 group-data-[state=collapsed]/sidebar:py-0",
@@ -299,13 +299,13 @@ const J = u(({ className: t, ...a }, e) => /* @__PURE__ */ s(
299
299
  ...a
300
300
  }
301
301
  ));
302
- J.displayName = "Sidebar.Content";
303
- const Q = u(({ className: t, ...a }, e) => /* @__PURE__ */ s(
302
+ Y.displayName = "Sidebar.Content";
303
+ const J = u(({ className: t, ...a }, e) => /* @__PURE__ */ s(
304
304
  "div",
305
305
  {
306
306
  ref: e,
307
307
  "data-sidebar": "footer",
308
- className: i(
308
+ className: n(
309
309
  "flex min-w-0 flex-col gap-2 border-t border-kumo-hairline px-2 py-2",
310
310
  // Collapsed: remove border, tighten padding
311
311
  "group-data-[state=collapsed]/sidebar:border-t-0 group-data-[state=collapsed]/sidebar:py-1",
@@ -314,8 +314,8 @@ const Q = u(({ className: t, ...a }, e) => /* @__PURE__ */ s(
314
314
  ...a
315
315
  }
316
316
  ));
317
- Q.displayName = "Sidebar.Footer";
318
- const A = L({
317
+ J.displayName = "Sidebar.Footer";
318
+ const O = A({
319
319
  isCollapsible: !1,
320
320
  isOpen: !0
321
321
  }), Z = u(
@@ -323,12 +323,12 @@ const A = L({
323
323
  className: t,
324
324
  collapsible: a = !1,
325
325
  defaultOpen: e = !0,
326
- open: n,
326
+ open: i,
327
327
  onOpenChange: r,
328
328
  children: o,
329
329
  ...b
330
330
  }, m) => {
331
- const [d, l] = k(e), c = n ?? d, x = D(
331
+ const [d, l] = k(e), c = i ?? d, x = D(
332
332
  (p) => {
333
333
  l(p), r?.(p);
334
334
  },
@@ -341,7 +341,7 @@ const A = L({
341
341
  {
342
342
  ref: m,
343
343
  "data-sidebar": "group",
344
- className: i(
344
+ className: n(
345
345
  "flex min-w-0 flex-col gap-0.5",
346
346
  // Collapsed: remove internal gap so icons stack uniformly
347
347
  "group-data-[state=collapsed]/sidebar:gap-0",
@@ -351,27 +351,27 @@ const A = L({
351
351
  children: o
352
352
  }
353
353
  );
354
- return a ? /* @__PURE__ */ s(A.Provider, { value: g, children: /* @__PURE__ */ s(
354
+ return a ? /* @__PURE__ */ s(O.Provider, { value: g, children: /* @__PURE__ */ s(
355
355
  U,
356
356
  {
357
357
  defaultOpen: e,
358
- open: n,
358
+ open: i,
359
359
  onOpenChange: x,
360
360
  className: "min-w-0",
361
361
  children: h
362
362
  }
363
- ) }) : /* @__PURE__ */ s(A.Provider, { value: g, children: h });
363
+ ) }) : /* @__PURE__ */ s(O.Provider, { value: g, children: h });
364
364
  }
365
365
  );
366
366
  Z.displayName = "Sidebar.Group";
367
- const ee = u(({ className: t, children: a, ...e }, n) => {
368
- const { isCollapsible: r } = R(A);
369
- return r ? /* @__PURE__ */ E(
367
+ const ee = u(({ className: t, children: a, ...e }, i) => {
368
+ const { isCollapsible: r } = R(O);
369
+ return r ? /* @__PURE__ */ P(
370
370
  V,
371
371
  {
372
- ref: n,
372
+ ref: i,
373
373
  "data-sidebar": "group-label",
374
- className: i(
374
+ className: n(
375
375
  "group/group-label flex w-full cursor-pointer items-center px-3 py-1 text-xs font-medium text-kumo-subtle",
376
376
  "group-data-[state=collapsed]/sidebar:hidden",
377
377
  t
@@ -382,7 +382,7 @@ const ee = u(({ className: t, children: a, ...e }, n) => {
382
382
  /* @__PURE__ */ s(
383
383
  F,
384
384
  {
385
- className: i(
385
+ className: n(
386
386
  "ml-auto size-3 shrink-0 text-kumo-subtle transition-transform duration-200",
387
387
  "group-data-[panel-open]/group-label:rotate-90"
388
388
  )
@@ -393,9 +393,9 @@ const ee = u(({ className: t, children: a, ...e }, n) => {
393
393
  ) : /* @__PURE__ */ s(
394
394
  "div",
395
395
  {
396
- ref: n,
396
+ ref: i,
397
397
  "data-sidebar": "group-label",
398
- className: i(
398
+ className: n(
399
399
  "truncate px-3 py-1 text-xs font-medium text-kumo-subtle",
400
400
  "group-data-[state=collapsed]/sidebar:hidden",
401
401
  t
@@ -406,14 +406,14 @@ const ee = u(({ className: t, children: a, ...e }, n) => {
406
406
  );
407
407
  });
408
408
  ee.displayName = "Sidebar.GroupLabel";
409
- const ae = u(({ className: t, children: a, ...e }, n) => {
410
- const { isCollapsible: r, isOpen: o } = R(A);
409
+ const ae = u(({ className: t, children: a, ...e }, i) => {
410
+ const { isCollapsible: r, isOpen: o } = R(O);
411
411
  return r ? /* @__PURE__ */ s(
412
412
  "div",
413
413
  {
414
- ref: n,
414
+ ref: i,
415
415
  "data-sidebar": "group-content",
416
- className: i(
416
+ className: n(
417
417
  "grid",
418
418
  // Animate height via grid-rows — matches production NavGroup pattern
419
419
  "transition-[grid-template-rows] duration-250 ease-[cubic-bezier(0.77,0,0.175,1)]",
@@ -430,21 +430,21 @@ const ae = u(({ className: t, children: a, ...e }, n) => {
430
430
  ) : /* @__PURE__ */ s(
431
431
  "div",
432
432
  {
433
- ref: n,
433
+ ref: i,
434
434
  "data-sidebar": "group-content",
435
- className: i("flex flex-col", t),
435
+ className: n("flex flex-col", t),
436
436
  ...e,
437
437
  children: a
438
438
  }
439
439
  );
440
440
  });
441
441
  ae.displayName = "Sidebar.GroupContent";
442
- const te = L(!1), se = L(!1), ne = u(({ className: t, ...a }, e) => /* @__PURE__ */ s(
442
+ const te = A(!1), se = A(!1), ie = u(({ className: t, ...a }, e) => /* @__PURE__ */ s(
443
443
  "ul",
444
444
  {
445
445
  ref: e,
446
446
  "data-sidebar": "menu",
447
- className: i(
447
+ className: n(
448
448
  "m-0 flex min-w-0 list-none flex-col gap-0.5 p-0",
449
449
  "group-data-[state=collapsed]/sidebar:gap-0",
450
450
  t
@@ -452,24 +452,24 @@ const te = L(!1), se = L(!1), ne = u(({ className: t, ...a }, e) => /* @__PURE__
452
452
  ...a
453
453
  }
454
454
  ));
455
- ne.displayName = "Sidebar.Menu";
456
- const ie = u(({ className: t, children: a, ...e }, n) => /* @__PURE__ */ s(te.Provider, { value: !0, children: /* @__PURE__ */ s(
455
+ ie.displayName = "Sidebar.Menu";
456
+ const ne = u(({ className: t, children: a, ...e }, i) => /* @__PURE__ */ s(te.Provider, { value: !0, children: /* @__PURE__ */ s(
457
457
  "li",
458
458
  {
459
- ref: n,
459
+ ref: i,
460
460
  "data-sidebar": "menu-item",
461
- className: i("relative", t),
461
+ className: n("relative", t),
462
462
  ...e,
463
463
  children: a
464
464
  }
465
465
  ) }));
466
- ie.displayName = "Sidebar.MenuItem";
466
+ ne.displayName = "Sidebar.MenuItem";
467
467
  const re = u(
468
468
  ({
469
469
  className: t,
470
470
  icon: a,
471
471
  active: e = !1,
472
- size: n = "base",
472
+ size: i = "base",
473
473
  href: r,
474
474
  tooltip: o,
475
475
  children: b,
@@ -478,26 +478,26 @@ const re = u(
478
478
  const { state: l } = T(), c = X(), x = R(te), g = a ? ke.isValidElement(a) ? a : /* @__PURE__ */ s(
479
479
  a,
480
480
  {
481
- className: i("shrink-0", n === "base" ? "size-4" : "size-3.5")
481
+ className: n("shrink-0", i === "base" ? "size-4" : "size-3.5")
482
482
  }
483
- ) : null, h = /* @__PURE__ */ E(ye, { children: [
483
+ ) : null, h = /* @__PURE__ */ P(ye, { children: [
484
484
  g,
485
485
  /* @__PURE__ */ s(
486
486
  "span",
487
487
  {
488
- className: i(
488
+ className: n(
489
489
  "flex flex-1 items-center min-w-0 text-left overflow-hidden",
490
490
  "group-data-[state=collapsed]/sidebar:hidden"
491
491
  ),
492
492
  children: b
493
493
  }
494
494
  )
495
- ] }), p = i(
495
+ ] }), p = n(
496
496
  // Layout
497
- "group/menu-button flex w-full min-w-0 items-center gap-2 rounded-lg outline-none cursor-pointer",
497
+ "group/menu-button flex w-full min-w-0 items-center gap-2 rounded-lg cursor-pointer",
498
498
  // Sizing
499
- n === "base" && "min-h-[34px] px-3 py-1.5 text-sm font-medium",
500
- n === "sm" && "min-h-[28px] px-2 py-1 text-sm",
499
+ i === "base" && "min-h-[34px] px-3 py-1.5 text-sm font-medium",
500
+ i === "sm" && "min-h-[28px] px-2 py-1 text-sm",
501
501
  // Default state — transition includes padding so collapsed centering animates smoothly
502
502
  "text-kumo-default",
503
503
  "transition-[color,background-color,padding] duration-0 ease-[cubic-bezier(0.77,0,0.175,1)]",
@@ -509,7 +509,7 @@ const re = u(
509
509
  // When a child sub-button is active, don't show active styling on the parent trigger
510
510
  "has-[[data-active]]:bg-transparent has-[[data-active]]:hover:bg-kumo-tint",
511
511
  // Focus
512
- "focus-visible:ring-1 focus-visible:ring-kumo-hairline",
512
+ "focus-visible:ring-2 focus-visible:ring-kumo-brand",
513
513
  // Collapsed: px-2 centers the icon (48px sidebar − 16px content padding = 32px;
514
514
  // 32px − 2×8px padding = 16px = icon size). Padding transition keeps it smooth.
515
515
  "group-data-[state=collapsed]/sidebar:px-2",
@@ -520,12 +520,12 @@ const re = u(
520
520
  c,
521
521
  {
522
522
  ref: d,
523
- className: i(p, "no-underline!"),
523
+ className: n(p, "no-underline!"),
524
524
  href: r,
525
525
  to: r,
526
526
  "data-active": e || void 0,
527
527
  "data-sidebar": "menu-button",
528
- "data-size": n,
528
+ "data-size": i,
529
529
  onClick: m.onClick,
530
530
  children: h
531
531
  }
@@ -537,7 +537,7 @@ const re = u(
537
537
  className: p,
538
538
  "data-active": e || void 0,
539
539
  "data-sidebar": "menu-button",
540
- "data-size": n,
540
+ "data-size": i,
541
541
  ...m,
542
542
  children: h
543
543
  }
@@ -551,9 +551,10 @@ const oe = u(({ className: t, ...a }, e) => /* @__PURE__ */ s(
551
551
  ref: e,
552
552
  type: "button",
553
553
  "data-sidebar": "menu-action",
554
- className: i(
554
+ className: n(
555
555
  "absolute right-1.5 top-1/2 flex -translate-y-1/2 items-center justify-center rounded-md p-1",
556
- "text-kumo-strong hover:bg-kumo-overlay",
556
+ "text-kumo-subtle hover:bg-kumo-overlay",
557
+ "focus-visible:ring-2 focus-visible:ring-kumo-brand",
557
558
  "transition-colors duration-150",
558
559
  "group-data-[state=collapsed]/sidebar:hidden",
559
560
  t
@@ -567,9 +568,9 @@ const de = u(({ className: t, ...a }, e) => /* @__PURE__ */ s(
567
568
  {
568
569
  ref: e,
569
570
  "data-sidebar": "menu-badge",
570
- className: i(
571
+ className: n(
571
572
  "inline-flex shrink-0 items-center rounded-full border border-dashed border-kumo-hairline",
572
- "select-none px-1.5 py-0.5 text-[11px]/none font-medium text-kumo-strong",
573
+ "select-none px-1.5 py-0.5 text-[11px]/none font-medium text-kumo-subtle",
573
574
  // Hidden when collapsed
574
575
  "group-data-[state=collapsed]/sidebar:hidden",
575
576
  t
@@ -583,7 +584,7 @@ const le = u(({ className: t, ...a }, e) => /* @__PURE__ */ s(
583
584
  {
584
585
  ref: e,
585
586
  "data-sidebar": "menu-sub",
586
- className: i(
587
+ className: n(
587
588
  "m-0 ml-3.5 flex min-w-0 list-none flex-col gap-0.5 border-l border-kumo-hairline p-0 pl-2.5",
588
589
  // Hidden when collapsed
589
590
  "group-data-[state=collapsed]/sidebar:hidden",
@@ -593,32 +594,32 @@ const le = u(({ className: t, ...a }, e) => /* @__PURE__ */ s(
593
594
  }
594
595
  ));
595
596
  le.displayName = "Sidebar.MenuSub";
596
- const ue = u(({ className: t, children: a, ...e }, n) => /* @__PURE__ */ s(se.Provider, { value: !0, children: /* @__PURE__ */ s(
597
+ const ue = u(({ className: t, children: a, ...e }, i) => /* @__PURE__ */ s(se.Provider, { value: !0, children: /* @__PURE__ */ s(
597
598
  "li",
598
599
  {
599
- ref: n,
600
+ ref: i,
600
601
  "data-sidebar": "menu-sub-item",
601
- className: i("relative", t),
602
+ className: n("relative", t),
602
603
  ...e,
603
604
  children: a
604
605
  }
605
606
  ) }));
606
607
  ue.displayName = "Sidebar.MenuSubItem";
607
- const ce = u(({ className: t, active: a = !1, href: e, children: n, ...r }, o) => {
608
- const b = X(), m = R(se), d = i(
609
- "flex w-full min-w-0 items-center gap-2 rounded-lg min-h-[34px] px-3 py-1 text-sm font-medium outline-none",
608
+ const ce = u(({ className: t, active: a = !1, href: e, children: i, ...r }, o) => {
609
+ const b = X(), m = R(se), d = n(
610
+ "flex w-full min-w-0 items-center gap-2 rounded-lg min-h-[34px] px-3 py-1 text-sm font-medium",
610
611
  "text-kumo-default transition-colors duration-150",
611
612
  !a && "hover:bg-kumo-tint",
612
613
  a && "bg-kumo-tint",
613
- "focus-visible:ring-1 focus-visible:ring-kumo-hairline",
614
+ "focus-visible:ring-2 focus-visible:ring-kumo-brand",
614
615
  t
615
- ), l = /* @__PURE__ */ s("span", { className: "flex-1 truncate text-left", children: n });
616
+ ), l = /* @__PURE__ */ s("span", { className: "flex-1 truncate text-left", children: i });
616
617
  let c;
617
618
  return e ? c = /* @__PURE__ */ s(
618
619
  b,
619
620
  {
620
621
  ref: o,
621
- className: i(d, "no-underline!"),
622
+ className: n(d, "no-underline!"),
622
623
  href: e,
623
624
  to: e,
624
625
  "data-active": a || void 0,
@@ -645,23 +646,24 @@ const be = u(({ className: t, ...a }, e) => /* @__PURE__ */ s(
645
646
  {
646
647
  ref: e,
647
648
  "data-sidebar": "separator",
648
- className: i("mx-2 min-h-px h-px border-0 bg-kumo-hairline", t),
649
+ className: n("mx-2 min-h-px h-px border-0 bg-kumo-hairline", t),
649
650
  ...a
650
651
  }
651
652
  ));
652
653
  be.displayName = "Sidebar.Separator";
653
654
  const pe = u(
654
- ({ className: t, placeholder: a = "Search...", shortcut: e, children: n, ...r }, o) => /* @__PURE__ */ E(
655
+ ({ className: t, placeholder: a = "Search...", shortcut: e, children: i, ...r }, o) => /* @__PURE__ */ P(
655
656
  "button",
656
657
  {
657
658
  ref: o,
658
659
  type: "button",
659
660
  "data-sidebar": "input",
660
- className: i(
661
+ className: n(
661
662
  "flex w-full items-center gap-2 rounded-lg px-3 py-2 text-sm",
662
663
  "bg-kumo-base text-kumo-subtle ring ring-kumo-hairline",
663
664
  "transition-[color,background-color,padding,box-shadow] duration-250 ease-[cubic-bezier(0.77,0,0.175,1)]",
664
665
  "hover:bg-kumo-overlay",
666
+ "focus-visible:ring-2 focus-visible:ring-kumo-brand",
665
667
  // Collapsed: icon-only, padding centers icon, ring fades via box-shadow transition
666
668
  "group-data-[state=collapsed]/sidebar:px-2 group-data-[state=collapsed]/sidebar:ring-0",
667
669
  t
@@ -669,14 +671,14 @@ const pe = u(
669
671
  ...r,
670
672
  children: [
671
673
  /* @__PURE__ */ s(Ce, { className: "size-4 shrink-0 text-kumo-subtle" }),
672
- /* @__PURE__ */ s("span", { className: "flex-1 truncate text-left group-data-[state=collapsed]/sidebar:hidden", children: n ?? a }),
674
+ /* @__PURE__ */ s("span", { className: "flex-1 truncate text-left group-data-[state=collapsed]/sidebar:hidden", children: i ?? a }),
673
675
  e && /* @__PURE__ */ s("kbd", { className: "ml-auto font-sans text-xs text-kumo-subtle group-data-[state=collapsed]/sidebar:hidden", children: e })
674
676
  ]
675
677
  }
676
678
  )
677
679
  );
678
680
  pe.displayName = "Sidebar.Input";
679
- const me = u(({ className: t, children: a, onClick: e, ...n }, r) => {
681
+ const me = u(({ className: t, children: a, onClick: e, ...i }, r) => {
680
682
  const { toggleSidebar: o } = T();
681
683
  return /* @__PURE__ */ s(
682
684
  "button",
@@ -685,23 +687,24 @@ const me = u(({ className: t, children: a, onClick: e, ...n }, r) => {
685
687
  type: "button",
686
688
  "data-sidebar": "trigger",
687
689
  "aria-label": "Toggle sidebar",
688
- className: i(
690
+ className: n(
689
691
  "flex items-center rounded-md p-1.5",
690
- "text-kumo-subtle hover:text-kumo-strong hover:bg-kumo-overlay",
692
+ "text-kumo-subtle hover:text-kumo-default hover:bg-kumo-overlay",
693
+ "focus-visible:ring-2 focus-visible:ring-kumo-brand",
691
694
  "transition-colors duration-150",
692
695
  t
693
696
  ),
694
697
  onClick: (b) => {
695
698
  e?.(b), o();
696
699
  },
697
- ...n,
700
+ ...i,
698
701
  children: a ?? /* @__PURE__ */ s(Me, { className: "size-5" })
699
702
  }
700
703
  );
701
704
  });
702
705
  me.displayName = "Sidebar.Trigger";
703
706
  const ge = u(({ className: t, ...a }, e) => {
704
- const { toggleSidebar: n } = T();
707
+ const { toggleSidebar: i } = T();
705
708
  return /* @__PURE__ */ s(
706
709
  "button",
707
710
  {
@@ -710,7 +713,7 @@ const ge = u(({ className: t, ...a }, e) => {
710
713
  "data-sidebar": "rail",
711
714
  "aria-label": "Toggle sidebar",
712
715
  tabIndex: -1,
713
- className: i(
716
+ className: n(
714
717
  "absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 cursor-pointer transition-all",
715
718
  "after:absolute after:inset-y-0 after:left-1/2 after:w-0.5",
716
719
  "hover:after:bg-kumo-brand/20",
@@ -719,14 +722,14 @@ const ge = u(({ className: t, ...a }, e) => {
719
722
  "sm:flex",
720
723
  t
721
724
  ),
722
- onClick: n,
725
+ onClick: i,
723
726
  ...a
724
727
  }
725
728
  );
726
729
  });
727
730
  ge.displayName = "Sidebar.Rail";
728
731
  const fe = u(({ className: t, ...a }, e) => {
729
- const { side: n, resizable: r, setIsResizing: o, setWidth: b, setOpen: m, open: d, minWidth: l } = T(), c = P(0), x = P(0), g = P(!1);
732
+ const { side: i, resizable: r, setIsResizing: o, setWidth: b, setOpen: m, open: d, minWidth: l } = T(), c = L(0), x = L(0), g = L(!1);
730
733
  if (!r) return null;
731
734
  const h = (p) => {
732
735
  p.preventDefault(), o(!0), c.current = p.clientX, g.current = !d;
@@ -737,7 +740,7 @@ const fe = u(({ className: t, ...a }, e) => {
737
740
  const N = () => {
738
741
  o(!1), document.removeEventListener("pointermove", z), document.removeEventListener("pointerup", w);
739
742
  }, z = (C) => {
740
- const _ = n === "left" ? C.clientX - c.current : c.current - C.clientX, y = x.current + _;
743
+ const _ = i === "left" ? C.clientX - c.current : c.current - C.clientX, y = x.current + _;
741
744
  if (g.current) {
742
745
  y >= l && (g.current = !1, m(!0), b(y));
743
746
  return;
@@ -757,11 +760,11 @@ const fe = u(({ className: t, ...a }, e) => {
757
760
  {
758
761
  ref: e,
759
762
  "data-sidebar": "resize-handle",
760
- className: i(
763
+ className: n(
761
764
  "absolute inset-y-0 z-20 hidden w-1 cursor-col-resize transition-colors sm:block",
762
765
  "hover:bg-kumo-brand/30 active:bg-kumo-brand/50",
763
- n === "left" && "right-0",
764
- n === "right" && "left-0",
766
+ i === "left" && "right-0",
767
+ i === "right" && "left-0",
765
768
  t
766
769
  ),
767
770
  onPointerDown: h,
@@ -774,7 +777,7 @@ function he({ className: t }) {
774
777
  return /* @__PURE__ */ s(
775
778
  F,
776
779
  {
777
- className: i(
780
+ className: n(
778
781
  "ml-auto size-4 shrink-0 text-kumo-subtle transition-transform duration-200",
779
782
  // Auto-rotate when inside an open Collapsible trigger
780
783
  "group-data-[panel-open]/menu-button:rotate-90",
@@ -786,12 +789,12 @@ function he({ className: t }) {
786
789
  );
787
790
  }
788
791
  he.displayName = "Sidebar.MenuChevron";
789
- const He = U, We = V, xe = u(({ className: t, keepMounted: a = !0, ...e }, n) => /* @__PURE__ */ s(
792
+ const He = U, We = V, xe = u(({ className: t, keepMounted: a = !0, ...e }, i) => /* @__PURE__ */ s(
790
793
  De,
791
794
  {
792
- ref: n,
795
+ ref: i,
793
796
  keepMounted: a,
794
- className: i(
797
+ className: n(
795
798
  "overflow-hidden",
796
799
  // Default: keep the measured height that Base UI writes to --collapsible-panel-height.
797
800
  // This must also remain true during the initial close frame so the exit transition has
@@ -810,16 +813,16 @@ const He = U, We = V, xe = u(({ className: t, keepMounted: a = !0, ...e }, n) =>
810
813
  }
811
814
  ));
812
815
  xe.displayName = "Sidebar.CollapsibleContent";
813
- const Je = Object.assign($, {
816
+ const Ye = Object.assign($, {
814
817
  Provider: q,
815
- Header: Y,
816
- Content: J,
817
- Footer: Q,
818
+ Header: Q,
819
+ Content: Y,
820
+ Footer: J,
818
821
  Group: Z,
819
822
  GroupLabel: ee,
820
823
  GroupContent: ae,
821
- Menu: ne,
822
- MenuItem: ie,
824
+ Menu: ie,
825
+ MenuItem: ne,
823
826
  MenuButton: re,
824
827
  MenuAction: oe,
825
828
  MenuBadge: de,
@@ -838,19 +841,19 @@ const Je = Object.assign($, {
838
841
  });
839
842
  export {
840
843
  G as A,
841
- Ye as B,
844
+ Qe as B,
842
845
  $e as K,
843
- Je as S,
846
+ Ye as S,
844
847
  q as a,
845
848
  $ as b,
846
- Y as c,
847
- J as d,
848
- Q as e,
849
+ Q as c,
850
+ Y as d,
851
+ J as e,
849
852
  Z as f,
850
853
  ee as g,
851
854
  ae as h,
852
- ne as i,
853
- ie as j,
855
+ ie as i,
856
+ ne as j,
854
857
  re as k,
855
858
  oe as l,
856
859
  de as m,
@@ -868,4 +871,4 @@ export {
868
871
  xe as y,
869
872
  T as z
870
873
  };
871
- //# sourceMappingURL=sidebar-ltbfius1eolkl8tb.js.map
874
+ //# sourceMappingURL=sidebar-kb9kykqfgy5yzqwr.js.map