@logicplanes/kaeso-ui 0.2.1 → 0.3.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 (356) hide show
  1. package/AGENTS.md +2 -0
  2. package/NOTICE.md +1 -1
  3. package/ai/component-guides.md +249 -24
  4. package/ai/component-registry.json +1044 -67
  5. package/ai/component-registry.md +238 -50
  6. package/ai/icons.md +1 -1
  7. package/ai/tokens.md +7 -3
  8. package/dist/blocks/delete-resource.js +1 -1
  9. package/dist/blocks/pages.js +5 -5
  10. package/dist/blocks/resource-list.js +4 -4
  11. package/dist/chunks/app-frame-B9vrgwaE.js +220 -0
  12. package/dist/chunks/app-frame-B9vrgwaE.js.map +1 -0
  13. package/dist/chunks/{avatar-D2nJNbtC.js → avatar-DOzOhYJr.js} +2 -2
  14. package/dist/chunks/{avatar-D2nJNbtC.js.map → avatar-DOzOhYJr.js.map} +1 -1
  15. package/dist/chunks/{badge-Dkyhs0_j.js → badge-wUHlj7m3.js} +2 -2
  16. package/dist/chunks/{badge-Dkyhs0_j.js.map → badge-wUHlj7m3.js.map} +1 -1
  17. package/dist/chunks/{banner-DxGBPQ7p.js → banner-BBlNFHd-.js} +4 -4
  18. package/dist/chunks/{banner-DxGBPQ7p.js.map → banner-BBlNFHd-.js.map} +1 -1
  19. package/dist/chunks/{button-DQvoOxVQ.js → button-CAPyW-v8.js} +8 -8
  20. package/dist/chunks/{button-DQvoOxVQ.js.map → button-CAPyW-v8.js.map} +1 -1
  21. package/dist/chunks/{calendar-CN3YJi2k.js → calendar-CBeptQFq.js} +2 -2
  22. package/dist/chunks/{calendar-CN3YJi2k.js.map → calendar-CBeptQFq.js.map} +1 -1
  23. package/dist/chunks/{checkbox-BgRdbfCE.js → checkbox-C5yvSS7O.js} +3 -3
  24. package/dist/chunks/{checkbox-BgRdbfCE.js.map → checkbox-C5yvSS7O.js.map} +1 -1
  25. package/dist/chunks/{cn-CidVUKMm.js → cn-DUDmdLpZ.js} +3 -1
  26. package/dist/chunks/cn-DUDmdLpZ.js.map +1 -0
  27. package/dist/chunks/{code-BADhvsgC.js → code-C49NzHUQ.js} +2 -2
  28. package/dist/chunks/{code-BADhvsgC.js.map → code-C49NzHUQ.js.map} +1 -1
  29. package/dist/chunks/{code-block-DxtladFW.js → code-block-DREsvJ-g.js} +24 -21
  30. package/dist/chunks/code-block-DREsvJ-g.js.map +1 -0
  31. package/dist/chunks/{collapsible-Cw_1aem5.js → collapsible-CDQq1Y9x.js} +6 -6
  32. package/dist/chunks/collapsible-CDQq1Y9x.js.map +1 -0
  33. package/dist/chunks/combobox-DqtzsAKG.js +314 -0
  34. package/dist/chunks/combobox-DqtzsAKG.js.map +1 -0
  35. package/dist/chunks/command-list-D5k0uvkR.js +417 -0
  36. package/dist/chunks/command-list-D5k0uvkR.js.map +1 -0
  37. package/dist/chunks/{copy-button-DXxn-YYZ.js → copy-button-CNpEnS04.js} +6 -6
  38. package/dist/chunks/{copy-button-DXxn-YYZ.js.map → copy-button-CNpEnS04.js.map} +1 -1
  39. package/dist/chunks/{core-K960A4OT.js → core-CqLWVMDI.js} +36 -36
  40. package/dist/chunks/core-CqLWVMDI.js.map +1 -0
  41. package/dist/chunks/{date-popup-B-6xhb-1.js → date-popup-BgDz6SUj.js} +4 -4
  42. package/dist/chunks/{date-popup-B-6xhb-1.js.map → date-popup-BgDz6SUj.js.map} +1 -1
  43. package/dist/chunks/{de-CTAo4KL7.js → de-CkXZKaBD.js} +37 -5
  44. package/dist/chunks/de-CkXZKaBD.js.map +1 -0
  45. package/dist/chunks/dialog-truWH0qe.js +353 -0
  46. package/dist/chunks/dialog-truWH0qe.js.map +1 -0
  47. package/dist/chunks/{empty-DIbBpytW.js → empty-YXmSkKzR.js} +2 -2
  48. package/dist/chunks/{empty-DIbBpytW.js.map → empty-YXmSkKzR.js.map} +1 -1
  49. package/dist/chunks/{field-d8V94bvZ.js → field-BZriODU7.js} +3 -3
  50. package/dist/chunks/field-BZriODU7.js.map +1 -0
  51. package/dist/chunks/{icon-CeNQtobn.js → icon-BqujXDUc.js} +2 -2
  52. package/dist/chunks/{icon-CeNQtobn.js.map → icon-BqujXDUc.js.map} +1 -1
  53. package/dist/chunks/{icon-button-_x1RUphC.js → icon-button-D4O4puwH.js} +3 -3
  54. package/dist/chunks/{icon-button-_x1RUphC.js.map → icon-button-D4O4puwH.js.map} +1 -1
  55. package/dist/chunks/identity-CsZvAUwu.js +361 -0
  56. package/dist/chunks/identity-CsZvAUwu.js.map +1 -0
  57. package/dist/chunks/{input-CNTfI6YE.js → input-B0wtkcNh.js} +5 -5
  58. package/dist/chunks/{input-CNTfI6YE.js.map → input-B0wtkcNh.js.map} +1 -1
  59. package/dist/chunks/{input-group-CYA1MEoZ.js → input-group-BQLw06B0.js} +33 -27
  60. package/dist/chunks/input-group-BQLw06B0.js.map +1 -0
  61. package/dist/chunks/{inset-BLMdxX4I.js → inset-BnBj8NJV.js} +12 -2
  62. package/dist/chunks/inset-BnBj8NJV.js.map +1 -0
  63. package/dist/chunks/{iso-field-1qmg7TP8.js → iso-field-BUXgY1dB.js} +5 -3
  64. package/dist/chunks/{iso-field-1qmg7TP8.js.map → iso-field-BUXgY1dB.js.map} +1 -1
  65. package/dist/chunks/{json-view-B6KHIWzh.js → json-view-BkG2hTXV.js} +11 -10
  66. package/dist/chunks/{json-view-B6KHIWzh.js.map → json-view-BkG2hTXV.js.map} +1 -1
  67. package/dist/chunks/{kbd-CBcBDvqU.js → kbd-DqWmbr_e.js} +2 -2
  68. package/dist/chunks/{kbd-CBcBDvqU.js.map → kbd-DqWmbr_e.js.map} +1 -1
  69. package/dist/chunks/{link-vz9aV8WX.js → link-YMcxM-BZ.js} +4 -4
  70. package/dist/chunks/{link-vz9aV8WX.js.map → link-YMcxM-BZ.js.map} +1 -1
  71. package/dist/chunks/{link-provider---9JdxTg.js → link-provider-BsUxhZKG.js} +2 -2
  72. package/dist/chunks/{link-provider---9JdxTg.js.map → link-provider-BsUxhZKG.js.map} +1 -1
  73. package/dist/chunks/list-wXZIZo_s.js +492 -0
  74. package/dist/chunks/list-wXZIZo_s.js.map +1 -0
  75. package/dist/chunks/{loader-CUehxvSZ.js → loader-ENBh2Fbt.js} +2 -2
  76. package/dist/chunks/{loader-CUehxvSZ.js.map → loader-ENBh2Fbt.js.map} +1 -1
  77. package/dist/chunks/{markdown-5NyaHHfN.js → markdown-DWyxjsSY.js} +10 -10
  78. package/dist/chunks/{markdown-5NyaHHfN.js.map → markdown-DWyxjsSY.js.map} +1 -1
  79. package/dist/chunks/{menu-DyVPwgfF.js → menu-Bnfi9P3t.js} +7 -7
  80. package/dist/chunks/{menu-DyVPwgfF.js.map → menu-Bnfi9P3t.js.map} +1 -1
  81. package/dist/chunks/{meter-DWhyzFGQ.js → meter-DhTnem4k.js} +2 -2
  82. package/dist/chunks/{meter-DWhyzFGQ.js.map → meter-DhTnem4k.js.map} +1 -1
  83. package/dist/chunks/nav-sheet-QqNRHo-y.js +60 -0
  84. package/dist/chunks/nav-sheet-QqNRHo-y.js.map +1 -0
  85. package/dist/chunks/{nav-wordmark-DLkItdvo.js → nav-wordmark-DmbT1Aiw.js} +2 -2
  86. package/dist/chunks/{nav-wordmark-DLkItdvo.js.map → nav-wordmark-DmbT1Aiw.js.map} +1 -1
  87. package/dist/chunks/option-checkbox-Df7WhGn4.js +25 -0
  88. package/dist/chunks/option-checkbox-Df7WhGn4.js.map +1 -0
  89. package/dist/chunks/over-sheet-B8vzr_zU.js +8 -0
  90. package/dist/chunks/over-sheet-B8vzr_zU.js.map +1 -0
  91. package/dist/chunks/{page-header-CEPZzhRp.js → page-header-Ccnrspbp.js} +5 -5
  92. package/dist/chunks/{page-header-CEPZzhRp.js.map → page-header-Ccnrspbp.js.map} +1 -1
  93. package/dist/chunks/{pagination-CCMxQ5pH.js → pagination-CEmWZNjp.js} +5 -4
  94. package/dist/chunks/{pagination-CCMxQ5pH.js.map → pagination-CEmWZNjp.js.map} +1 -1
  95. package/dist/chunks/picker-popover-C4ElNk7t.js +102 -0
  96. package/dist/chunks/picker-popover-C4ElNk7t.js.map +1 -0
  97. package/dist/chunks/{popover-BE7VO-a4.js → popover-bjxg020P.js} +3 -3
  98. package/dist/chunks/{popover-BE7VO-a4.js.map → popover-bjxg020P.js.map} +1 -1
  99. package/dist/chunks/{radio-CUxbLCvD.js → radio-DwYcXAzv.js} +2 -2
  100. package/dist/chunks/{radio-CUxbLCvD.js.map → radio-DwYcXAzv.js.map} +1 -1
  101. package/dist/chunks/range-popup-CG9Jo5B7.js +128 -0
  102. package/dist/chunks/range-popup-CG9Jo5B7.js.map +1 -0
  103. package/dist/chunks/release-art-Chd8l9Rf.js +555 -0
  104. package/dist/chunks/release-art-Chd8l9Rf.js.map +1 -0
  105. package/dist/chunks/{resize-motion-CMaidkwe.js → resize-motion-BWGMchyP.js} +27 -23
  106. package/dist/chunks/resize-motion-BWGMchyP.js.map +1 -0
  107. package/dist/chunks/{rights-BbiJ0AJB.js → rights-hMoaFasn.js} +12 -12
  108. package/dist/chunks/rights-hMoaFasn.js.map +1 -0
  109. package/dist/chunks/{section-DzOLLN1p.js → section-BsET7Fo-.js} +4 -4
  110. package/dist/chunks/{section-DzOLLN1p.js.map → section-BsET7Fo-.js.map} +1 -1
  111. package/dist/chunks/{segmented-MrinfDL8.js → segmented-DXKVF-nY.js} +4 -4
  112. package/dist/chunks/{segmented-MrinfDL8.js.map → segmented-DXKVF-nY.js.map} +1 -1
  113. package/dist/chunks/{select-Bc4kRiSG.js → select-Bbv2f5F8.js} +63 -80
  114. package/dist/chunks/select-Bbv2f5F8.js.map +1 -0
  115. package/dist/chunks/{separator-D5AzVFTS.js → separator-CpAUELNs.js} +2 -2
  116. package/dist/chunks/{separator-D5AzVFTS.js.map → separator-CpAUELNs.js.map} +1 -1
  117. package/dist/chunks/{sidebar-5IA18LuP.js → sidebar-Dey1ZfGt.js} +54 -51
  118. package/dist/chunks/sidebar-Dey1ZfGt.js.map +1 -0
  119. package/dist/chunks/{sidebar-menu-DRWRxcJ3.js → sidebar-menu-ct8IiL4z.js} +2 -2
  120. package/dist/chunks/{sidebar-menu-DRWRxcJ3.js.map → sidebar-menu-ct8IiL4z.js.map} +1 -1
  121. package/dist/chunks/{skeleton-kfuqdl1a.js → skeleton-BM797MAg.js} +2 -2
  122. package/dist/chunks/{skeleton-kfuqdl1a.js.map → skeleton-BM797MAg.js.map} +1 -1
  123. package/dist/chunks/{slider-DbhjJ3ML.js → slider-Ds-tqY-1.js} +2 -2
  124. package/dist/chunks/{slider-DbhjJ3ML.js.map → slider-Ds-tqY-1.js.map} +1 -1
  125. package/dist/chunks/status-dot-BqVOlShY.js +29 -0
  126. package/dist/chunks/status-dot-BqVOlShY.js.map +1 -0
  127. package/dist/chunks/{styles-Btvg2DCf.js → styles-CVJU9t9v.js} +2 -2
  128. package/dist/chunks/{styles-Btvg2DCf.js.map → styles-CVJU9t9v.js.map} +1 -1
  129. package/dist/chunks/{swap-text-BhPI8DOf.js → swap-text-Cica0pUr.js} +2 -2
  130. package/dist/chunks/{swap-text-BhPI8DOf.js.map → swap-text-Cica0pUr.js.map} +1 -1
  131. package/dist/chunks/{switch-XMY_CQE-.js → switch-CSKMEomo.js} +3 -3
  132. package/dist/chunks/{switch-XMY_CQE-.js.map → switch-CSKMEomo.js.map} +1 -1
  133. package/dist/chunks/{table-DYKa86af.js → table-D-36EM7f.js} +2 -2
  134. package/dist/chunks/{table-DYKa86af.js.map → table-D-36EM7f.js.map} +1 -1
  135. package/dist/chunks/{tag-Dg89uYpV.js → tag-CwDKXVHj.js} +4 -4
  136. package/dist/chunks/{tag-Dg89uYpV.js.map → tag-CwDKXVHj.js.map} +1 -1
  137. package/dist/chunks/{text--5MKh2G4.js → text-Dvvgg5Jt.js} +3 -3
  138. package/dist/chunks/{text--5MKh2G4.js.map → text-Dvvgg5Jt.js.map} +1 -1
  139. package/dist/chunks/{textarea-Cj8iR82R.js → textarea-2d373OyU.js} +35 -31
  140. package/dist/chunks/textarea-2d373OyU.js.map +1 -0
  141. package/dist/chunks/timeseries-LRDAZHV0.js +339 -0
  142. package/dist/chunks/timeseries-LRDAZHV0.js.map +1 -0
  143. package/dist/chunks/{toolbar-Dw3uxpsE.js → toolbar-nVLFWH2i.js} +3 -3
  144. package/dist/chunks/{toolbar-Dw3uxpsE.js.map → toolbar-nVLFWH2i.js.map} +1 -1
  145. package/dist/chunks/{tooltip-DEbCCsru.js → tooltip-S1DmyLVl.js} +4 -4
  146. package/dist/chunks/{tooltip-DEbCCsru.js.map → tooltip-S1DmyLVl.js.map} +1 -1
  147. package/dist/chunks/{tooltip-root-DRd4ciUv.js → tooltip-root-vjylFUqw.js} +4 -4
  148. package/dist/chunks/{tooltip-root-DRd4ciUv.js.map → tooltip-root-vjylFUqw.js.map} +1 -1
  149. package/dist/chunks/{virtual-rows-BZe49bKi.js → virtual-rows-yAMjeAwj.js} +4 -3
  150. package/dist/chunks/virtual-rows-yAMjeAwj.js.map +1 -0
  151. package/dist/chunks/{zh-CN-C7GmVswt.js → zh-CN-CqEA4PCM.js} +37 -5
  152. package/dist/chunks/zh-CN-CqEA4PCM.js.map +1 -0
  153. package/dist/components/app-frame.js +2 -2
  154. package/dist/components/avatar.js +1 -1
  155. package/dist/components/badge.js +1 -1
  156. package/dist/components/banner.js +1 -1
  157. package/dist/components/button-group.js +33 -32
  158. package/dist/components/button-group.js.map +1 -1
  159. package/dist/components/button.js +1 -1
  160. package/dist/components/calendar.js +1 -1
  161. package/dist/components/charts/bar.js +34 -31
  162. package/dist/components/charts/bar.js.map +1 -1
  163. package/dist/components/charts/donut.js +2 -2
  164. package/dist/components/charts/gauge.js +2 -2
  165. package/dist/components/charts/heatmap.js +1 -1
  166. package/dist/components/charts/sankey.js +2 -2
  167. package/dist/components/charts/sparkline.js +1 -1
  168. package/dist/components/charts/timeseries.js +1 -252
  169. package/dist/components/charts.js +3 -3
  170. package/dist/components/checkbox.js +1 -1
  171. package/dist/components/code-block.js +2 -2
  172. package/dist/components/code.js +1 -1
  173. package/dist/components/collapsible.js +1 -1
  174. package/dist/components/combobox.js +1 -1
  175. package/dist/components/command-list.js +4 -0
  176. package/dist/components/command-palette.js +120 -171
  177. package/dist/components/command-palette.js.map +1 -1
  178. package/dist/components/copy-button.js +1 -1
  179. package/dist/components/data-table.js +251 -193
  180. package/dist/components/data-table.js.map +1 -1
  181. package/dist/components/date-picker.js +7 -7
  182. package/dist/components/date-picker.js.map +1 -1
  183. package/dist/components/dialog.js +7 -9
  184. package/dist/components/dialog.js.map +1 -1
  185. package/dist/components/display-options.js +67 -53
  186. package/dist/components/display-options.js.map +1 -1
  187. package/dist/components/empty.js +1 -1
  188. package/dist/components/field.js +1 -1
  189. package/dist/components/filter-chip.js +138 -63
  190. package/dist/components/filter-chip.js.map +1 -1
  191. package/dist/components/filter-row.js +2 -2
  192. package/dist/components/flow.js +2 -2
  193. package/dist/components/heading.js +1 -1
  194. package/dist/components/icon-button.js +1 -1
  195. package/dist/components/icon.js +1 -1
  196. package/dist/components/input.js +56 -54
  197. package/dist/components/input.js.map +1 -1
  198. package/dist/components/kaeso/conversation.js +88 -79
  199. package/dist/components/kaeso/conversation.js.map +1 -1
  200. package/dist/components/kaeso/identity.js +1 -1
  201. package/dist/components/kaeso/moments.js +8 -8
  202. package/dist/components/kaeso/moments.js.map +1 -1
  203. package/dist/components/kaeso/rights.js +1 -1
  204. package/dist/components/kaeso/usage.js +6 -6
  205. package/dist/components/kaeso/usage.js.map +1 -1
  206. package/dist/components/kaeso.js +212 -84
  207. package/dist/components/kaeso.js.map +1 -1
  208. package/dist/components/kbd.js +1 -1
  209. package/dist/components/key-value.js +3 -3
  210. package/dist/components/label.js +1 -1
  211. package/dist/components/layout.js +1 -1
  212. package/dist/components/link.js +1 -1
  213. package/dist/components/list.js +1 -1
  214. package/dist/components/loader.js +2 -2
  215. package/dist/components/logo.js +2 -2
  216. package/dist/components/markdown.js +1 -1
  217. package/dist/components/menu.js +2 -2
  218. package/dist/components/meter.js +1 -1
  219. package/dist/components/page-header.js +1 -1
  220. package/dist/components/pagination.js +1 -1
  221. package/dist/components/playground.js +654 -381
  222. package/dist/components/playground.js.map +1 -1
  223. package/dist/components/popover.js +2 -2
  224. package/dist/components/qr-code.js +1 -1
  225. package/dist/components/radio.js +1 -1
  226. package/dist/components/release-art.js +2 -0
  227. package/dist/components/scroll-area.js +1 -1
  228. package/dist/components/section.js +1 -1
  229. package/dist/components/segmented.js +1 -1
  230. package/dist/components/select.js +1 -1
  231. package/dist/components/separator.js +1 -1
  232. package/dist/components/settings.js +3 -3
  233. package/dist/components/sheet.js +69 -52
  234. package/dist/components/sheet.js.map +1 -1
  235. package/dist/components/sidebar.js +1 -1
  236. package/dist/components/skeleton.js +1 -1
  237. package/dist/components/slider.js +1 -1
  238. package/dist/components/stat.js +88 -74
  239. package/dist/components/stat.js.map +1 -1
  240. package/dist/components/status-dot.js +1 -1
  241. package/dist/components/surface.js +1 -1
  242. package/dist/components/swap-text.js +1 -1
  243. package/dist/components/switch.js +1 -1
  244. package/dist/components/table.js +1 -1
  245. package/dist/components/tabs.js +48 -49
  246. package/dist/components/tabs.js.map +1 -1
  247. package/dist/components/tag.js +1 -1
  248. package/dist/components/text.js +1 -1
  249. package/dist/components/theme-image.js +1 -1
  250. package/dist/components/theme-menu.js +2 -2
  251. package/dist/components/theme-select.js +1 -1
  252. package/dist/components/timeline.js +1 -1
  253. package/dist/components/toast.js +4 -4
  254. package/dist/components/toc.js +1 -1
  255. package/dist/components/toolbar.js +1 -1
  256. package/dist/components/tooltip.js +1 -1
  257. package/dist/components/visually-hidden.js +1 -1
  258. package/dist/format.js +132 -79
  259. package/dist/format.js.map +1 -1
  260. package/dist/i18n-provider.js +1 -1
  261. package/dist/index.js +115 -111
  262. package/dist/kaeso.css +43 -8
  263. package/dist/styles.css +1 -1
  264. package/dist/types/components/charts/bar.d.ts +6 -0
  265. package/dist/types/components/charts/core.d.ts +2 -2
  266. package/dist/types/components/charts/docs.d.ts +7 -0
  267. package/dist/types/components/charts/time-axis.d.ts +5 -0
  268. package/dist/types/components/charts/timeseries.d.ts +9 -0
  269. package/dist/types/components/code-block/highlighter.d.ts +2 -0
  270. package/dist/types/components/combobox/combobox.d.ts +2 -0
  271. package/dist/types/components/combobox/docs.d.ts +2 -4
  272. package/dist/types/components/command-list/command-list.d.ts +84 -0
  273. package/dist/types/components/command-list/docs.d.ts +52 -0
  274. package/dist/types/components/command-list/index.d.ts +3 -0
  275. package/dist/types/components/command-list/match.d.ts +1 -0
  276. package/dist/types/components/command-list/picker-popover.d.ts +44 -0
  277. package/dist/types/components/data-table/data-table.d.ts +3 -2
  278. package/dist/types/components/data-table/docs.d.ts +1 -0
  279. package/dist/types/components/date-picker/docs.d.ts +0 -6
  280. package/dist/types/components/dialog/dialog.d.ts +24 -0
  281. package/dist/types/components/dialog/docs.d.ts +4 -0
  282. package/dist/types/components/display-options/display-options.d.ts +1 -0
  283. package/dist/types/components/filter-chip/docs.d.ts +4 -0
  284. package/dist/types/components/filter-chip/filter-chip.d.ts +7 -0
  285. package/dist/types/components/input/docs.d.ts +2 -12
  286. package/dist/types/components/input/number-input.d.ts +1 -0
  287. package/dist/types/components/input/tag-input.d.ts +1 -0
  288. package/dist/types/components/kaeso/docs.d.ts +34 -0
  289. package/dist/types/components/kaeso/identity.d.ts +10 -1
  290. package/dist/types/components/kaeso/index.d.ts +1 -0
  291. package/dist/types/components/kaeso/provider-marks.d.ts +5 -1
  292. package/dist/types/components/kaeso/provider-picker.d.ts +42 -0
  293. package/dist/types/components/list/docs.d.ts +2 -0
  294. package/dist/types/components/list/list.d.ts +2 -0
  295. package/dist/types/components/menu/styles.d.ts +1 -1
  296. package/dist/types/components/playground/docs.d.ts +32 -0
  297. package/dist/types/components/playground/index.d.ts +1 -0
  298. package/dist/types/components/playground/model-picker.d.ts +39 -4
  299. package/dist/types/components/playground/reasoning.d.ts +29 -0
  300. package/dist/types/components/playground/response-view.d.ts +7 -1
  301. package/dist/types/components/release-art/docs.d.ts +13 -0
  302. package/dist/types/components/release-art/drawing.d.ts +48 -0
  303. package/dist/types/components/release-art/index.d.ts +1 -0
  304. package/dist/types/components/release-art/release-art.d.ts +37 -0
  305. package/dist/types/components/select/docs.d.ts +0 -2
  306. package/dist/types/components/select/option-checkbox.d.ts +1 -0
  307. package/dist/types/components/sidebar/sidebar.d.ts +1 -0
  308. package/dist/types/components/stat/docs.d.ts +1 -0
  309. package/dist/types/components/stat/stat.d.ts +1 -0
  310. package/dist/types/components/status-dot/docs.d.ts +2 -0
  311. package/dist/types/components/status-dot/status-dot.d.ts +2 -0
  312. package/dist/types/format/index.d.ts +8 -0
  313. package/dist/types/index.d.ts +2 -0
  314. package/dist/types/utils/index.d.ts +1 -1
  315. package/dist/types/utils/inset.d.ts +5 -0
  316. package/dist/types/utils/over-sheet.d.ts +1 -0
  317. package/dist/types/utils/restore-focus.d.ts +1 -1
  318. package/dist/utils.js +4 -4
  319. package/foundations/accessibility.md +1 -0
  320. package/foundations/layout.md +45 -0
  321. package/foundations/writing.md +1 -0
  322. package/package.json +2 -2
  323. package/dist/chunks/app-frame-BXh-06HL.js +0 -214
  324. package/dist/chunks/app-frame-BXh-06HL.js.map +0 -1
  325. package/dist/chunks/cn-CidVUKMm.js.map +0 -1
  326. package/dist/chunks/code-block-DxtladFW.js.map +0 -1
  327. package/dist/chunks/collapsible-Cw_1aem5.js.map +0 -1
  328. package/dist/chunks/combobox-D30Wt11R.js +0 -291
  329. package/dist/chunks/combobox-D30Wt11R.js.map +0 -1
  330. package/dist/chunks/core-K960A4OT.js.map +0 -1
  331. package/dist/chunks/de-CTAo4KL7.js.map +0 -1
  332. package/dist/chunks/dialog-LNKgPEsV.js +0 -319
  333. package/dist/chunks/dialog-LNKgPEsV.js.map +0 -1
  334. package/dist/chunks/field-d8V94bvZ.js.map +0 -1
  335. package/dist/chunks/field-press-DwzBFafd.js +0 -10
  336. package/dist/chunks/field-press-DwzBFafd.js.map +0 -1
  337. package/dist/chunks/identity-BtZC_d_Q.js +0 -342
  338. package/dist/chunks/identity-BtZC_d_Q.js.map +0 -1
  339. package/dist/chunks/input-group-CYA1MEoZ.js.map +0 -1
  340. package/dist/chunks/inset-BLMdxX4I.js.map +0 -1
  341. package/dist/chunks/list-CzaiyNja.js +0 -483
  342. package/dist/chunks/list-CzaiyNja.js.map +0 -1
  343. package/dist/chunks/nav-sheet-BIErlV74.js +0 -58
  344. package/dist/chunks/nav-sheet-BIErlV74.js.map +0 -1
  345. package/dist/chunks/range-popup-DGOnGGag.js +0 -111
  346. package/dist/chunks/range-popup-DGOnGGag.js.map +0 -1
  347. package/dist/chunks/resize-motion-CMaidkwe.js.map +0 -1
  348. package/dist/chunks/rights-BbiJ0AJB.js.map +0 -1
  349. package/dist/chunks/select-Bc4kRiSG.js.map +0 -1
  350. package/dist/chunks/sidebar-5IA18LuP.js.map +0 -1
  351. package/dist/chunks/status-dot-CBoQpyL4.js +0 -25
  352. package/dist/chunks/status-dot-CBoQpyL4.js.map +0 -1
  353. package/dist/chunks/textarea-Cj8iR82R.js.map +0 -1
  354. package/dist/chunks/virtual-rows-BZe49bKi.js.map +0 -1
  355. package/dist/chunks/zh-CN-C7GmVswt.js.map +0 -1
  356. package/dist/components/charts/timeseries.js.map +0 -1
@@ -1,19 +1,20 @@
1
1
  "use client";
2
- import { i as e, o as t } from "./styles-Btvg2DCf.js";
3
- import { t as n } from "./cn-CidVUKMm.js";
2
+ import { i as e, o as t } from "./styles-CVJU9t9v.js";
3
+ import { t as n } from "./cn-DUDmdLpZ.js";
4
4
  import { i as r } from "./dev-CR1p7gCm.js";
5
- import { n as i, r as a } from "./portal-context-BBbzDKmY.js";
6
- import { i as o } from "./context-BELWW79w.js";
7
- import { t as s } from "./icon-CeNQtobn.js";
8
- import { a as ee, o as c, s as l } from "./field-d8V94bvZ.js";
9
- import { n as u, t as te } from "./use-layout-width-CbSDbRb0.js";
10
- import { Fragment as ne, forwardRef as d, useCallback as re, useRef as f } from "react";
11
- import { jsx as p, jsxs as m } from "react/jsx-runtime";
12
- import { ArrowDown01Icon as h, ArrowUp01Icon as ie, Tick02Icon as g } from "@hugeicons/core-free-icons";
13
- import { CSPProvider as _ } from "@base-ui/react/csp-provider";
14
- import { Select as v } from "@base-ui/react/select";
5
+ import { n as ee, r as i } from "./portal-context-BBbzDKmY.js";
6
+ import { i as a } from "./context-BELWW79w.js";
7
+ import { t as o } from "./icon-BqujXDUc.js";
8
+ import { a as te, o as ne, s } from "./field-BZriODU7.js";
9
+ import { n as c, t as l } from "./use-layout-width-CbSDbRb0.js";
10
+ import { t as re } from "./option-checkbox-Df7WhGn4.js";
11
+ import { Fragment as u, forwardRef as d, useCallback as f, useRef as p } from "react";
12
+ import { jsx as m, jsxs as h } from "react/jsx-runtime";
13
+ import { ArrowDown01Icon as g, ArrowUp01Icon as _, Tick02Icon as v } from "@hugeicons/core-free-icons";
14
+ import { CSPProvider as ie } from "@base-ui/react/csp-provider";
15
+ import { Select as y } from "@base-ui/react/select";
15
16
  //#region src/components/select/select.tsx
16
- var y = {
17
+ var b = {
17
18
  appearance: {
18
19
  default: { classes: "material-secondary" },
19
20
  ghost: { classes: "material-ghost text-fg-secondary hover:text-fg open:text-fg" },
@@ -25,16 +26,16 @@ var y = {
25
26
  lg: { classes: "h-40 pl-18 pr-14 gap-8 text-body" },
26
27
  xl: { classes: "h-48 pl-22 pr-18 gap-8 text-body-lg" }
27
28
  }
28
- }, b = {
29
+ }, x = {
29
30
  appearance: "default",
30
31
  size: "md"
31
32
  };
32
- function x(e, t) {
33
+ function S(e, t) {
33
34
  return (n) => {
34
35
  t(n) && e(n);
35
36
  };
36
37
  }
37
- function S(e) {
38
+ function C(e) {
38
39
  let t = [];
39
40
  for (let n of e) {
40
41
  let e = t[t.length - 1];
@@ -45,24 +46,24 @@ function S(e) {
45
46
  }
46
47
  return t;
47
48
  }
48
- var C = /* @__PURE__ */ d(function(d, b) {
49
- let { options: C, placeholder: T, size: E = "md", appearance: D = "default", disabled: O, name: k, id: A, open: j, onOpenChange: M, invalid: N, icon: P, fullWidth: F, label: I, description: L, error: R, optional: z, required: B, layout: V, className: H, multiple: U, "aria-label": W, "data-force": G } = d;
49
+ var w = /* @__PURE__ */ d(function(d, x) {
50
+ let { options: w, placeholder: T, size: E = "md", appearance: D = "default", disabled: O, name: k, id: A, open: j, onOpenChange: M, invalid: N, icon: P, fullWidth: F, label: I, description: L, error: R, optional: z, required: B, layout: V, className: H, multiple: U, "aria-label": W, "data-force": G } = d;
50
51
  r("Select", H);
51
- let K = o(), q = T ?? K("select.placeholder", "Select"), J = ee(), Y = c(d), X = f(null), ae = u(X), oe = re((e) => {
52
- X.current = e, typeof b == "function" ? b(e) : b && (b.current = e);
53
- }, [b]), Z = new Map(C.map((e) => [e.value, e])), Q = (e) => {
52
+ let K = a(), q = T ?? K("select.placeholder", "Select"), J = te(), Y = ne(d), X = p(null), ae = c(X), oe = f((e) => {
53
+ X.current = e, typeof x == "function" ? x(e) : x && (x.current = e);
54
+ }, [x]), Z = new Map(w.map((e) => [e.value, e])), Q = (e) => {
54
55
  let t = Z.get(e);
55
56
  return t?.textValue ?? (typeof t?.label == "string" ? t.label : e);
56
57
  }, se = d.multiple ? {
57
58
  multiple: !0,
58
59
  ...d.value === void 0 ? {} : { value: d.value },
59
60
  ...d.defaultValue === void 0 ? {} : { defaultValue: d.defaultValue },
60
- ...d.onValueChange ? { onValueChange: x(d.onValueChange, Array.isArray) } : {}
61
+ ...d.onValueChange ? { onValueChange: S(d.onValueChange, Array.isArray) } : {}
61
62
  } : {
62
63
  ...d.value === void 0 ? {} : { value: d.value },
63
64
  ...d.defaultValue === void 0 ? {} : { defaultValue: d.defaultValue },
64
- ...d.onValueChange ? { onValueChange: x(d.onValueChange, (e) => typeof e == "string") } : {}
65
- }, $ = /* @__PURE__ */ m(v.Root, {
65
+ ...d.onValueChange ? { onValueChange: S(d.onValueChange, (e) => typeof e == "string") } : {}
66
+ }, $ = /* @__PURE__ */ h(y.Root, {
66
67
  ...se,
67
68
  ...J?.required ?? B ? { required: !0 } : {},
68
69
  ...O === void 0 ? {} : { disabled: O },
@@ -71,21 +72,21 @@ var C = /* @__PURE__ */ d(function(d, b) {
71
72
  ...M ? { onOpenChange: (e) => M(e) } : {},
72
73
  itemToStringLabel: (e) => Q(String(e)),
73
74
  modal: !1,
74
- children: [/* @__PURE__ */ m(v.Trigger, {
75
+ children: [/* @__PURE__ */ h(y.Trigger, {
75
76
  ref: oe,
76
77
  ...A ? { id: A } : {},
77
78
  ...Y.controlProps,
78
79
  ...W ? { "aria-label": W } : {},
79
80
  ...N || R ? { "aria-invalid": !0 } : {},
80
81
  ...G ? { "data-force": G } : {},
81
- className: n("inline-flex min-w-0 cursor-pointer items-center justify-between rounded-pill font-medium whitespace-nowrap transition-control focus-ring disabled:cursor-not-allowed", y.size[E].classes, y.appearance[D].classes, (N || R) && "ring-invalid", F && "w-full", !(I || L || R) && H),
82
+ className: n("inline-flex min-w-0 cursor-pointer items-center justify-between rounded-pill font-medium whitespace-nowrap transition-control focus-ring disabled:cursor-not-allowed", b.size[E].classes, b.appearance[D].classes, (N || R) && "ring-invalid", F && "w-full", !(I || L || R) && H),
82
83
  children: [
83
- P && /* @__PURE__ */ p(s, {
84
+ P && /* @__PURE__ */ m(o, {
84
85
  icon: P,
85
86
  size: "sm",
86
87
  className: "text-fg-secondary"
87
88
  }),
88
- /* @__PURE__ */ p(v.Value, {
89
+ /* @__PURE__ */ m(y.Value, {
89
90
  className: "min-w-0 flex-1 truncate text-left data-placeholder:text-fg-tertiary data-placeholder:font-regular",
90
91
  placeholder: q,
91
92
  children: (e) => {
@@ -99,77 +100,77 @@ var C = /* @__PURE__ */ d(function(d, b) {
99
100
  return e == null || e === "" ? q : Z.get(String(e))?.label ?? String(e);
100
101
  }
101
102
  }),
102
- /* @__PURE__ */ p(v.Icon, {
103
+ /* @__PURE__ */ m(y.Icon, {
103
104
  className: "flex shrink-0 text-fg-tertiary",
104
- children: /* @__PURE__ */ p(s, {
105
- icon: h,
105
+ children: /* @__PURE__ */ m(o, {
106
+ icon: g,
106
107
  size: "sm"
107
108
  })
108
109
  })
109
110
  ]
110
- }), /* @__PURE__ */ p(_, {
111
+ }), /* @__PURE__ */ m(ie, {
111
112
  disableStyleElements: !0,
112
- children: /* @__PURE__ */ p(v.Portal, {
113
- container: a(),
114
- children: /* @__PURE__ */ p(v.Positioner, {
113
+ children: /* @__PURE__ */ m(y.Portal, {
114
+ container: i(),
115
+ children: /* @__PURE__ */ m(y.Positioner, {
115
116
  positionMethod: "fixed",
116
- collisionBoundary: i(),
117
+ collisionBoundary: ee(),
117
118
  alignItemWithTrigger: !1,
118
119
  align: "start",
119
120
  sideOffset: 6,
120
121
  collisionPadding: 8,
121
122
  className: "z-50 outline-none",
122
- children: /* @__PURE__ */ m(v.Popup, {
123
+ children: /* @__PURE__ */ h(y.Popup, {
123
124
  className: n(t, "min-w-anchor overflow-hidden"),
124
- style: te(ae),
125
+ style: l(ae),
125
126
  children: [
126
- /* @__PURE__ */ p(v.ScrollUpArrow, {
127
+ /* @__PURE__ */ m(y.ScrollUpArrow, {
127
128
  className: "flex h-20 items-center justify-center text-fg-tertiary",
128
- children: /* @__PURE__ */ p(s, {
129
- icon: ie,
129
+ children: /* @__PURE__ */ m(o, {
130
+ icon: _,
130
131
  size: "xs"
131
132
  })
132
133
  }),
133
- /* @__PURE__ */ p(v.List, {
134
+ /* @__PURE__ */ m(y.List, {
134
135
  className: "-mx-6 flex min-h-0 flex-col overflow-y-auto overscroll-contain px-6 outline-none scrollbar-quiet",
135
- children: S(C).map((t, r) => /* @__PURE__ */ m(ne, { children: [r > 0 && /* @__PURE__ */ p("div", {
136
+ children: C(w).map((t, r) => /* @__PURE__ */ h(u, { children: [r > 0 && /* @__PURE__ */ m("div", {
136
137
  role: "presentation",
137
138
  className: "mx-10 my-4 h-1 shrink-0 bg-line-subtle"
138
- }), /* @__PURE__ */ m(v.Group, {
139
+ }), /* @__PURE__ */ h(y.Group, {
139
140
  className: "flex flex-col",
140
- children: [t.group && /* @__PURE__ */ p(v.GroupLabel, {
141
+ children: [t.group && /* @__PURE__ */ m(y.GroupLabel, {
141
142
  className: "flex h-28 items-center px-10 text-caption font-medium text-fg-secondary",
142
143
  children: t.group
143
- }), t.items.map((t) => /* @__PURE__ */ m(v.Item, {
144
+ }), t.items.map((t) => /* @__PURE__ */ h(y.Item, {
144
145
  value: t.value,
145
146
  ...t.disabled ? { disabled: !0 } : {},
146
147
  label: t.textValue ?? (typeof t.label == "string" ? t.label : t.value),
147
148
  className: n(e, "group/opt"),
148
149
  children: [
149
- U && /* @__PURE__ */ p("span", {
150
+ U && /* @__PURE__ */ m("span", {
150
151
  className: "pointer-events-none flex",
151
- children: /* @__PURE__ */ p(w, {})
152
+ children: /* @__PURE__ */ m(re, {})
152
153
  }),
153
- t.icon && /* @__PURE__ */ p(s, {
154
+ t.icon && /* @__PURE__ */ m(o, {
154
155
  icon: t.icon,
155
156
  size: "sm",
156
157
  className: n("text-fg-secondary group-data-highlighted/item:text-fg group-data-disabled/item:text-fg-disabled", t.description && "self-start mt-10")
157
158
  }),
158
- /* @__PURE__ */ m("span", {
159
+ /* @__PURE__ */ h("span", {
159
160
  className: n("flex min-w-0 flex-1 flex-col", t.description && "gap-2 py-8"),
160
- children: [/* @__PURE__ */ p(v.ItemText, {
161
+ children: [/* @__PURE__ */ m(y.ItemText, {
161
162
  className: "truncate",
162
163
  children: t.label
163
- }), t.description && /* @__PURE__ */ p("span", {
164
+ }), t.description && /* @__PURE__ */ m("span", {
164
165
  className: "text-small font-regular whitespace-normal text-fg-secondary",
165
166
  children: t.description
166
167
  })]
167
168
  }),
168
- !U && /* @__PURE__ */ p(v.ItemIndicator, {
169
+ !U && /* @__PURE__ */ m(y.ItemIndicator, {
169
170
  keepMounted: !0,
170
171
  className: n("flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-selected:opacity-100", t.description && "self-start mt-10"),
171
- children: /* @__PURE__ */ p(s, {
172
- icon: g,
172
+ children: /* @__PURE__ */ m(o, {
173
+ icon: v,
173
174
  size: "sm"
174
175
  })
175
176
  })
@@ -177,10 +178,10 @@ var C = /* @__PURE__ */ d(function(d, b) {
177
178
  }, t.value))]
178
179
  })] }, t.group ?? `g${r}`))
179
180
  }),
180
- /* @__PURE__ */ p(v.ScrollDownArrow, {
181
+ /* @__PURE__ */ m(y.ScrollDownArrow, {
181
182
  className: "flex h-20 items-center justify-center text-fg-tertiary",
182
- children: /* @__PURE__ */ p(s, {
183
- icon: h,
183
+ children: /* @__PURE__ */ m(o, {
184
+ icon: g,
184
185
  size: "xs"
185
186
  })
186
187
  })
@@ -190,7 +191,7 @@ var C = /* @__PURE__ */ d(function(d, b) {
190
191
  })
191
192
  })]
192
193
  });
193
- return J ? $ : l({
194
+ return J ? $ : s({
194
195
  label: I,
195
196
  description: L,
196
197
  error: R,
@@ -202,26 +203,8 @@ var C = /* @__PURE__ */ d(function(d, b) {
202
203
  className: H
203
204
  }, $);
204
205
  });
205
- process.env.NODE_ENV !== "production" && (C.displayName = "Select");
206
- function w() {
207
- return /* @__PURE__ */ p("span", {
208
- className: "inline-flex size-18 shrink-0 items-center justify-center rounded-checkbox bg-raised shadow-selector group-data-selected/opt:bg-ink group-data-selected/opt:shadow-none",
209
- children: /* @__PURE__ */ p("svg", {
210
- viewBox: "0 0 12 12",
211
- className: "hidden size-12 text-on-ink group-data-selected/opt:block",
212
- fill: "none",
213
- "aria-hidden": !0,
214
- children: /* @__PURE__ */ p("path", {
215
- d: "M2.5 6.25 4.9 8.5 9.5 3.75",
216
- stroke: "currentColor",
217
- strokeWidth: "1.75",
218
- strokeLinecap: "round",
219
- strokeLinejoin: "round"
220
- })
221
- })
222
- });
223
- }
206
+ process.env.NODE_ENV !== "production" && (w.displayName = "Select");
224
207
  //#endregion
225
- export { y as n, C as r, b as t };
208
+ export { b as n, w as r, x as t };
226
209
 
227
- //# sourceMappingURL=select-Bc4kRiSG.js.map
210
+ //# sourceMappingURL=select-Bbv2f5F8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-Bbv2f5F8.js","names":["Select","BaseSelect","__icon_ArrowDown01Icon","__icon_ArrowUp01Icon","__icon_Tick02Icon","MENU_ITEM","MENU_POPUP","cn","warnStylingClassName","pageBoundary","usePortalContainer","useUiText","Icon","useField","useFieldControl","useLayoutWidth","anchorWidthStyle","OptionCheckbox","KAESO_SELECT_VARIANTS","KAESO_SELECT_DEFAULT_VARIANTS","changeWith","accepts","value","onChange","groupsOf","out","o","options","last","Select$1","placeholderProp","ariaLabel","force","props","className","t","placeholder","field","fc","trigger","useRef","triggerWidth","setTrigger","useCallback","el","ref","byValue","textOf","v","valueProps","control","Select","required","disabled","name","open","onOpenChange","id","invalid","error","size","appearance","fullWidth","label","description","icon","multiple","arr","first","ArrowDown01Icon","CSPProvider","ArrowUp01Icon","Fragment","gi","g","Tick02Icon","withField"],"sources":["../../src/components/select/select.tsx"],"sourcesContent":["import { pageBoundary, usePortalContainer } from \"../../utils/portal-context.js\";\nimport { Fragment, forwardRef, useCallback, useRef, type ReactNode } from \"react\";\nimport { CSPProvider } from \"@base-ui/react/csp-provider\";\nimport { Select as BaseSelect } from \"@base-ui/react/select\";\nimport { cn } from \"../../utils/cn.js\";\nimport { warnStylingClassName } from \"../../utils/dev.js\";\nimport { useField, useFieldControl, withField, type FieldWrapProps } from \"../field/field.js\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { ArrowDown01Icon as __icon_ArrowDown01Icon, ArrowUp01Icon as __icon_ArrowUp01Icon, Tick02Icon as __icon_Tick02Icon } from \"@hugeicons/core-free-icons\";\nimport { MENU_ICON, MENU_ITEM, MENU_LABEL, MENU_POPUP, MENU_SEPARATOR } from \"../menu/styles.js\";\nimport { anchorWidthStyle, useLayoutWidth } from \"../../hooks/use-layout-width.js\";\nimport { useUiText } from \"../../i18n/context.js\";\nimport { OptionCheckbox } from \"./option-checkbox.js\";\n\nexport const KAESO_SELECT_VARIANTS = {\n appearance: {\n default: { classes: \"material-secondary\" },\n ghost: { classes: \"material-ghost text-fg-secondary hover:text-fg open:text-fg\" },\n header: { classes: \"material-ghost text-fg\" },\n },\n size: {\n sm: { classes: \"h-32 pl-12 pr-10 gap-6 text-body\" },\n md: { classes: \"h-36 pl-16 pr-12 gap-8 text-body\" },\n lg: { classes: \"h-40 pl-18 pr-14 gap-8 text-body\" },\n xl: { classes: \"h-48 pl-22 pr-18 gap-8 text-body-lg\" },\n },\n} as const;\nexport const KAESO_SELECT_DEFAULT_VARIANTS = { appearance: \"default\", size: \"md\" } as const;\n\nexport interface SelectOption {\n value: string;\n label: ReactNode;\n textValue?: string | undefined;\n description?: ReactNode | undefined;\n icon?: IconData | undefined;\n group?: string | undefined;\n disabled?: boolean | undefined;\n}\n\ninterface BaseProps extends FieldWrapProps {\n options: SelectOption[];\n placeholder?: ReactNode | undefined;\n size?: keyof typeof KAESO_SELECT_VARIANTS.size | undefined;\n appearance?: keyof typeof KAESO_SELECT_VARIANTS.appearance | undefined;\n disabled?: boolean | undefined;\n name?: string | undefined;\n id?: string | undefined;\n open?: boolean | undefined;\n onOpenChange?: ((open: boolean) => void) | undefined;\n invalid?: boolean | undefined;\n icon?: IconData | undefined;\n fullWidth?: boolean | undefined;\n \"aria-label\"?: string | undefined;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\nexport interface SingleSelectProps extends BaseProps {\n multiple?: false | undefined;\n value?: string | null | undefined;\n defaultValue?: string | null | undefined;\n onValueChange?: ((value: string) => void) | undefined;\n}\nexport interface MultiSelectProps extends BaseProps {\n multiple: true;\n value?: string[] | undefined;\n defaultValue?: string[] | undefined;\n onValueChange?: ((value: string[]) => void) | undefined;\n}\nexport type SelectProps = SingleSelectProps | MultiSelectProps;\n\nfunction changeWith<T extends string | string[]>(onChange: (value: T) => void, accepts: (value: unknown) => value is T) {\n return (value: unknown) => {\n if (accepts(value)) onChange(value);\n };\n}\n\nfunction groupsOf(options: SelectOption[]) {\n const out: { group: string | undefined; items: SelectOption[] }[] = [];\n for (const o of options) {\n const last = out[out.length - 1];\n if (last && last.group === o.group) last.items.push(o);\n else out.push({ group: o.group, items: [o] });\n }\n return out;\n}\n\nexport const Select = /* @__PURE__ */ forwardRef<HTMLButtonElement, SelectProps>(function Select(props, ref) {\n const {\n options,\n placeholder: placeholderProp,\n size = \"md\",\n appearance = \"default\",\n disabled,\n name,\n id,\n open,\n onOpenChange,\n invalid,\n icon,\n fullWidth,\n label,\n description,\n error,\n optional,\n required,\n layout,\n className,\n multiple,\n \"aria-label\": ariaLabel,\n \"data-force\": force,\n } = props;\n warnStylingClassName(\"Select\", className);\n const t = useUiText();\n const placeholder = placeholderProp ?? t(\"select.placeholder\", \"Select\");\n const field = useField();\n const fc = useFieldControl(props);\n const trigger = useRef<HTMLButtonElement | null>(null);\n const triggerWidth = useLayoutWidth(trigger);\n const setTrigger = useCallback(\n (el: HTMLButtonElement | null) => {\n trigger.current = el;\n if (typeof ref === \"function\") ref(el);\n else if (ref) ref.current = el;\n },\n [ref],\n );\n const byValue = new Map(options.map((o) => [o.value, o]));\n const textOf = (v: string) => {\n const o = byValue.get(v);\n return o?.textValue ?? (typeof o?.label === \"string\" ? o.label : v);\n };\n const valueProps: Pick<BaseSelect.Root.Props<string, boolean>, \"multiple\" | \"value\" | \"defaultValue\" | \"onValueChange\"> = props.multiple\n ? {\n multiple: true,\n ...(props.value !== undefined ? { value: props.value } : {}),\n ...(props.defaultValue !== undefined ? { defaultValue: props.defaultValue } : {}),\n ...(props.onValueChange ? { onValueChange: changeWith(props.onValueChange, Array.isArray) } : {}),\n }\n : {\n ...(props.value !== undefined ? { value: props.value } : {}),\n ...(props.defaultValue !== undefined ? { defaultValue: props.defaultValue } : {}),\n ...(props.onValueChange ? { onValueChange: changeWith(props.onValueChange, (v) => typeof v === \"string\") } : {}),\n };\n const control = (\n <BaseSelect.Root\n {...valueProps}\n {...((field?.required ?? required) ? { required: true } : {})}\n {...(disabled !== undefined ? { disabled } : {})}\n {...(name ? { name } : {})}\n {...(open !== undefined ? { open } : {})}\n {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}\n itemToStringLabel={(v: unknown) => textOf(String(v))}\n modal={false}\n >\n <BaseSelect.Trigger\n ref={setTrigger}\n {...(id ? { id } : {})}\n {...fc.controlProps}\n {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}\n {...(invalid || error ? { \"aria-invalid\": true } : {})}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\n \"inline-flex min-w-0 cursor-pointer items-center justify-between rounded-pill font-medium whitespace-nowrap transition-control focus-ring disabled:cursor-not-allowed\",\n KAESO_SELECT_VARIANTS.size[size].classes,\n KAESO_SELECT_VARIANTS.appearance[appearance].classes,\n (invalid || error) && \"ring-invalid\",\n fullWidth && \"w-full\",\n !(label || description || error) && className,\n )}\n >\n {icon && <Icon icon={icon} size=\"sm\" className=\"text-fg-secondary\" />}\n <BaseSelect.Value\n className=\"min-w-0 flex-1 truncate text-left data-placeholder:text-fg-tertiary data-placeholder:font-regular\"\n placeholder={placeholder}\n >\n {(value: unknown) => {\n if (multiple) {\n const arr = Array.isArray(value) ? value.map(String) : [];\n const [first] = arr;\n if (first === undefined) return placeholder;\n return arr.length === 1 ? textOf(first) : t(\"select.firstAndMore\", \"{first} +{count}\", { first: textOf(first), count: String(arr.length - 1) });\n }\n return value == null || value === \"\" ? placeholder : (byValue.get(String(value))?.label ?? String(value));\n }}\n </BaseSelect.Value>\n <BaseSelect.Icon className=\"flex shrink-0 text-fg-tertiary\">\n <Icon icon={__icon_ArrowDown01Icon} size=\"sm\" />\n </BaseSelect.Icon>\n </BaseSelect.Trigger>\n <CSPProvider disableStyleElements>\n <BaseSelect.Portal container={usePortalContainer()}>\n <BaseSelect.Positioner\n positionMethod=\"fixed\"\n collisionBoundary={pageBoundary()}\n alignItemWithTrigger={false}\n align=\"start\"\n sideOffset={6}\n collisionPadding={8}\n className=\"z-50 outline-none\"\n >\n <BaseSelect.Popup className={cn(MENU_POPUP, \"min-w-anchor overflow-hidden\")} style={anchorWidthStyle(triggerWidth)}>\n <BaseSelect.ScrollUpArrow className=\"flex h-20 items-center justify-center text-fg-tertiary\">\n <Icon icon={__icon_ArrowUp01Icon} size=\"xs\" />\n </BaseSelect.ScrollUpArrow>\n <BaseSelect.List className=\"-mx-6 flex min-h-0 flex-col overflow-y-auto overscroll-contain px-6 outline-none scrollbar-quiet\">\n {groupsOf(options).map((g, gi) => (\n <Fragment key={g.group ?? `g${gi}`}>\n {gi > 0 && <div role=\"presentation\" className={MENU_SEPARATOR} />}\n <BaseSelect.Group className=\"flex flex-col\">\n {g.group && <BaseSelect.GroupLabel className={MENU_LABEL}>{g.group}</BaseSelect.GroupLabel>}\n {g.items.map((o) => (\n <BaseSelect.Item\n key={o.value}\n value={o.value}\n {...(o.disabled ? { disabled: true } : {})}\n label={o.textValue ?? (typeof o.label === \"string\" ? o.label : o.value)}\n className={cn(MENU_ITEM, \"group/opt\")}\n >\n {multiple && (\n <span className=\"pointer-events-none flex\">\n <OptionCheckbox />\n </span>\n )}\n {o.icon && <Icon icon={o.icon} size=\"sm\" className={cn(MENU_ICON, o.description && \"self-start mt-10\")} />}\n <span className={cn(\"flex min-w-0 flex-1 flex-col\", o.description && \"gap-2 py-8\")}>\n <BaseSelect.ItemText className=\"truncate\">{o.label}</BaseSelect.ItemText>\n {o.description && <span className=\"text-small font-regular whitespace-normal text-fg-secondary\">{o.description}</span>}\n </span>\n {!multiple && (\n <BaseSelect.ItemIndicator\n keepMounted\n className={cn(\n \"flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-selected:opacity-100\",\n o.description && \"self-start mt-10\",\n )}\n >\n <Icon icon={__icon_Tick02Icon} size=\"sm\" />\n </BaseSelect.ItemIndicator>\n )}\n </BaseSelect.Item>\n ))}\n </BaseSelect.Group>\n </Fragment>\n ))}\n </BaseSelect.List>\n <BaseSelect.ScrollDownArrow className=\"flex h-20 items-center justify-center text-fg-tertiary\">\n <Icon icon={__icon_ArrowDown01Icon} size=\"xs\" />\n </BaseSelect.ScrollDownArrow>\n </BaseSelect.Popup>\n </BaseSelect.Positioner>\n </BaseSelect.Portal>\n </CSPProvider>\n </BaseSelect.Root>\n );\n if (field) return control;\n return withField({ label, description, error, optional, required, layout, id: fc.wrapId ?? id, disabled, className }, control);\n});\nif (process.env.NODE_ENV !== \"production\") Select.displayName = \"Select\";\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { t as e } from "./cn-CidVUKMm.js";
2
+ import { t as e } from "./cn-DUDmdLpZ.js";
3
3
  import { forwardRef as t } from "react";
4
4
  import { jsx as n, jsxs as r } from "react/jsx-runtime";
5
5
  //#region src/components/separator/separator.tsx
@@ -42,4 +42,4 @@ process.env.NODE_ENV !== "production" && (o.displayName = "Separator");
42
42
  //#endregion
43
43
  export { i as n, o as r, a as t };
44
44
 
45
- //# sourceMappingURL=separator-D5AzVFTS.js.map
45
+ //# sourceMappingURL=separator-CpAUELNs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"separator-D5AzVFTS.js","names":["cn","KAESO_SEPARATOR_VARIANTS","KAESO_SEPARATOR_DEFAULT_VARIANTS","Separator","props","label","orientation","className","tone"],"sources":["../../src/components/separator/separator.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\n\nexport const KAESO_SEPARATOR_VARIANTS = {\n orientation: {\n horizontal: { classes: \"h-1 w-full\" },\n vertical: { classes: \"w-1 self-stretch\" },\n },\n tone: {\n subtle: { classes: \"bg-line-subtle\" },\n default: { classes: \"bg-line\" },\n },\n} as const;\nexport const KAESO_SEPARATOR_DEFAULT_VARIANTS = { orientation: \"horizontal\", tone: \"subtle\" } as const;\n\nexport interface SeparatorProps extends HTMLAttributes<HTMLDivElement> {\n orientation?: keyof typeof KAESO_SEPARATOR_VARIANTS.orientation | undefined;\n tone?: keyof typeof KAESO_SEPARATOR_VARIANTS.tone | undefined;\n label?: ReactNode | undefined;\n}\n\nexport const Separator = /* @__PURE__ */ forwardRef<HTMLDivElement, SeparatorProps>(function Separator(\n { orientation = \"horizontal\", tone = \"subtle\", label, className, ...props },\n ref,\n) {\n if (label && orientation === \"horizontal\") {\n return (\n <div ref={ref} role=\"separator\" aria-orientation=\"horizontal\" className={cn(\"flex w-full items-center gap-12\", className)} {...props}>\n <span className={cn(\"h-1 flex-1\", KAESO_SEPARATOR_VARIANTS.tone[tone].classes)} />\n <span className=\"text-caption font-medium text-fg-tertiary\">{label}</span>\n <span className={cn(\"h-1 flex-1\", KAESO_SEPARATOR_VARIANTS.tone[tone].classes)} />\n </div>\n );\n }\n return (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation={orientation}\n className={cn(\"shrink-0\", KAESO_SEPARATOR_VARIANTS.orientation[orientation].classes, KAESO_SEPARATOR_VARIANTS.tone[tone].classes, className)}\n {...props}\n />\n );\n});\nif (process.env.NODE_ENV !== \"production\") Separator.displayName = \"Separator\";\n"],"mappings":";;;;;AAGA,IAAaC,IAA2B;CACtC,aAAa;EACX,YAAY,EAAE,SAAS,aAAa;EACpC,UAAU,EAAE,SAAS,mBAAmB;CAC1C;CACA,MAAM;EACJ,QAAQ,EAAE,SAAS,iBAAiB;EACpC,SAAS,EAAE,SAAS,UAAU;CAChC;AACF,GACaC,IAAmC;CAAE,aAAa;CAAc,MAAM;AAAS,GAQ/EC,IAA4B,kBAA2C,SAClF,EAAE,iBAAc,cAAc,UAAO,UAAU,UAAO,cAAW,GAAGC,KACpE,GACA;CAUA,OATIC,KAASC,MAAgB,eAEzB,kBAAC,OAAD;EAAU;EAAK,MAAK;EAAY,oBAAiB;EAAa,WAAWN,EAAG,mCAAmCO,CAAS;EAAG,GAAIH;EAA/H,UAAA;GACE,kBAAC,QAAD,EAAM,WAAWJ,EAAG,cAAcC,EAAyB,KAAKO,EAAK,CAAC,OAAO,EAAI,CAAA;GACjF,kBAAC,QAAD;IAAM,WAAU;IAA6C,UAAAH;GAAY,CAAA;GACzE,kBAAC,QAAD,EAAM,WAAWL,EAAG,cAAcC,EAAyB,KAAKO,EAAK,CAAC,OAAO,EAAI,CAAA;EAC9E;C,KAIP,kBAAC,OAAD;EACO;EACL,MAAK;EACL,oBAAkBF;EAClB,WAAWN,EAAG,YAAYC,EAAyB,YAAYK,EAAY,CAAC,SAASL,EAAyB,KAAKO,EAAK,CAAC,SAASD,CAAS;EAC3I,GAAIH;CACL,CAAA;AAEL,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAU,cAAc"}
1
+ {"version":3,"file":"separator-CpAUELNs.js","names":["cn","KAESO_SEPARATOR_VARIANTS","KAESO_SEPARATOR_DEFAULT_VARIANTS","Separator","props","label","orientation","className","tone"],"sources":["../../src/components/separator/separator.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\n\nexport const KAESO_SEPARATOR_VARIANTS = {\n orientation: {\n horizontal: { classes: \"h-1 w-full\" },\n vertical: { classes: \"w-1 self-stretch\" },\n },\n tone: {\n subtle: { classes: \"bg-line-subtle\" },\n default: { classes: \"bg-line\" },\n },\n} as const;\nexport const KAESO_SEPARATOR_DEFAULT_VARIANTS = { orientation: \"horizontal\", tone: \"subtle\" } as const;\n\nexport interface SeparatorProps extends HTMLAttributes<HTMLDivElement> {\n orientation?: keyof typeof KAESO_SEPARATOR_VARIANTS.orientation | undefined;\n tone?: keyof typeof KAESO_SEPARATOR_VARIANTS.tone | undefined;\n label?: ReactNode | undefined;\n}\n\nexport const Separator = /* @__PURE__ */ forwardRef<HTMLDivElement, SeparatorProps>(function Separator(\n { orientation = \"horizontal\", tone = \"subtle\", label, className, ...props },\n ref,\n) {\n if (label && orientation === \"horizontal\") {\n return (\n <div ref={ref} role=\"separator\" aria-orientation=\"horizontal\" className={cn(\"flex w-full items-center gap-12\", className)} {...props}>\n <span className={cn(\"h-1 flex-1\", KAESO_SEPARATOR_VARIANTS.tone[tone].classes)} />\n <span className=\"text-caption font-medium text-fg-tertiary\">{label}</span>\n <span className={cn(\"h-1 flex-1\", KAESO_SEPARATOR_VARIANTS.tone[tone].classes)} />\n </div>\n );\n }\n return (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation={orientation}\n className={cn(\"shrink-0\", KAESO_SEPARATOR_VARIANTS.orientation[orientation].classes, KAESO_SEPARATOR_VARIANTS.tone[tone].classes, className)}\n {...props}\n />\n );\n});\nif (process.env.NODE_ENV !== \"production\") Separator.displayName = \"Separator\";\n"],"mappings":";;;;;AAGA,IAAaC,IAA2B;CACtC,aAAa;EACX,YAAY,EAAE,SAAS,aAAa;EACpC,UAAU,EAAE,SAAS,mBAAmB;CAC1C;CACA,MAAM;EACJ,QAAQ,EAAE,SAAS,iBAAiB;EACpC,SAAS,EAAE,SAAS,UAAU;CAChC;AACF,GACaC,IAAmC;CAAE,aAAa;CAAc,MAAM;AAAS,GAQ/EC,IAA4B,kBAA2C,SAClF,EAAE,iBAAc,cAAc,UAAO,UAAU,UAAO,cAAW,GAAGC,KACpE,GACA;CAUA,OATIC,KAASC,MAAgB,eAEzB,kBAAC,OAAD;EAAU;EAAK,MAAK;EAAY,oBAAiB;EAAa,WAAWN,EAAG,mCAAmCO,CAAS;EAAG,GAAIH;EAA/H,UAAA;GACE,kBAAC,QAAD,EAAM,WAAWJ,EAAG,cAAcC,EAAyB,KAAKO,EAAK,CAAC,OAAO,EAAI,CAAA;GACjF,kBAAC,QAAD;IAAM,WAAU;IAA6C,UAAAH;GAAY,CAAA;GACzE,kBAAC,QAAD,EAAM,WAAWL,EAAG,cAAcC,EAAyB,KAAKO,EAAK,CAAC,OAAO,EAAI,CAAA;EAC9E;C,KAIP,kBAAC,OAAD;EACO;EACL,MAAK;EACL,oBAAkBF;EAClB,WAAWN,EAAG,YAAYC,EAAyB,YAAYK,EAAY,CAAC,SAASL,EAAyB,KAAKO,EAAK,CAAC,SAASD,CAAS;EAC3I,GAAIH;CACL,CAAA;AAEL,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAU,cAAc"}
@@ -1,12 +1,12 @@
1
1
  "use client";
2
- import { t as e } from "./cn-CidVUKMm.js";
3
- import { r as t } from "./link-provider---9JdxTg.js";
2
+ import { t as e } from "./cn-DUDmdLpZ.js";
3
+ import { r as t } from "./link-provider-BsUxhZKG.js";
4
4
  import { i as n } from "./context-BELWW79w.js";
5
- import { t as r } from "./icon-CeNQtobn.js";
6
- import { a as i, l as a, o, r as s, s as c } from "./tooltip-DEbCCsru.js";
5
+ import { t as r } from "./icon-BqujXDUc.js";
6
+ import { a as i, l as a, o, r as s, s as c } from "./tooltip-S1DmyLVl.js";
7
7
  import { t as l } from "./observe-resize-DhxhmoyB.js";
8
- import { t as u } from "./nav-wordmark-DLkItdvo.js";
9
- import { r as d } from "./skeleton-kfuqdl1a.js";
8
+ import { t as u } from "./nav-wordmark-DmbT1Aiw.js";
9
+ import { r as d } from "./skeleton-BM797MAg.js";
10
10
  import { t as f } from "./when-idle-Cy3pinqO.js";
11
11
  import { createContext as p, forwardRef as m, useCallback as h, useContext as g, useEffect as _, useId as v, useLayoutEffect as y, useMemo as b, useRef as x, useState as S, useSyncExternalStore as C } from "react";
12
12
  import { Fragment as w, jsx as T, jsxs as E } from "react/jsx-runtime";
@@ -86,72 +86,75 @@ var P = (e) => e.split("**").map((e, t) => t % 2 ? /* @__PURE__ */ T("span", {
86
86
  setPeeking: () => void 0,
87
87
  width: 248,
88
88
  setWidth: () => void 0,
89
+ previewWidth: () => void 0,
89
90
  storageKey: void 0
90
91
  }), L = () => g(I), R = /* @__PURE__ */ p(!1), z = /* @__PURE__ */ p(null);
91
92
  function B({ children: e, storageKey: t, defaultRail: n = !1, shortcut: r = !0 }) {
92
- let [i, a] = N(t ? `${t}:rail` : void 0, n), [o, s] = N(t ? `${t}:width` : void 0, 248), c = V(o), [l, u] = N(t ? `${t}:collapsed` : void 0, !1), [d, f] = S(!1), p = h((e) => {
93
+ let [i, a] = N(t ? `${t}:rail` : void 0, n), [o, s] = N(t ? `${t}:width` : void 0, 248), [c, l] = S(null), u = V(c ?? o), [d, f] = N(t ? `${t}:collapsed` : void 0, !1), [p, m] = S(!1), g = h((e) => {
93
94
  let t = e && !!document.activeElement?.closest("[data-sidebar-root]");
94
- u(e), f(!1), t && requestAnimationFrame(() => document.querySelector("[data-sidebar-expand]")?.focus());
95
- }, [u]);
95
+ f(e), m(!1), t && requestAnimationFrame(() => document.querySelector("[data-sidebar-expand]")?.focus());
96
+ }, [f]);
96
97
  _(() => {
97
98
  if (!r) return;
98
99
  let e = (e) => {
99
100
  let t = e.target;
100
- e.key !== "[" || e.metaKey || e.ctrlKey || e.altKey || t instanceof Element && t.closest("input, textarea, select, [contenteditable=true]") || p(!l);
101
+ e.key !== "[" || e.metaKey || e.ctrlKey || e.altKey || t instanceof Element && t.closest("input, textarea, select, [contenteditable=true]") || g(!d);
101
102
  };
102
103
  return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
103
104
  }, [
104
- l,
105
- p,
105
+ d,
106
+ g,
106
107
  r
107
108
  ]);
108
- let m = b(() => ({
109
+ let v = b(() => ({
109
110
  rail: i,
110
111
  setRail: a,
111
- collapsed: l,
112
- setCollapsed: p,
113
- peeking: d,
114
- setPeeking: f,
115
- width: c,
112
+ collapsed: d,
113
+ setCollapsed: g,
114
+ peeking: p,
115
+ setPeeking: m,
116
+ width: u,
116
117
  setWidth: s,
118
+ previewWidth: l,
117
119
  storageKey: t
118
120
  }), [
119
121
  i,
120
122
  a,
121
- l,
122
- p,
123
123
  d,
124
- c,
124
+ g,
125
+ p,
126
+ u,
125
127
  s,
126
128
  t
127
129
  ]);
128
130
  return /* @__PURE__ */ T(I.Provider, {
129
- value: m,
131
+ value: v,
130
132
  children: e
131
133
  });
132
134
  }
133
135
  process.env.NODE_ENV !== "production" && (B.displayName = "Sidebar.Provider");
134
136
  var ae = 232, oe = 280, V = (e) => Math.round(Math.min(280, Math.max(232, Number.isFinite(e) ? e : 248))), H = /* @__PURE__ */ m(function({ resizable: t = !0, className: r, children: i, style: a, "aria-label": o, ...s }, c) {
135
- let { rail: l, width: u, setWidth: d, collapsed: f, setCollapsed: p } = L(), m = n(), [v, y] = S(null), [b, C] = S(!1), w = x(null);
136
- _(() => () => w.current?.(), []);
137
- let D = h((e) => {
137
+ let { rail: l, width: u, setWidth: d, previewWidth: f, collapsed: p, setCollapsed: m } = L(), v = n(), [y, b] = S(null), [C, w] = S(!1), D = x(null);
138
+ _(() => () => D.current?.(), []);
139
+ let O = h((e) => {
138
140
  if (e.button !== 0) return;
139
- e.preventDefault(), w.current?.();
140
- let t = e.currentTarget, n = e.clientX, r = u, i = !1, a = (e) => {
141
- Math.abs(e.clientX - n) > 3 && (i = !0, C(!0)), i && d(V(r + e.clientX - n));
142
- }, o = () => {
143
- t.removeEventListener("pointermove", a), t.removeEventListener("pointerup", s), t.removeEventListener("pointercancel", o), document.body.style.cursor = "", document.body.style.userSelect = "", w.current = null, C(!1);
141
+ e.preventDefault(), D.current?.();
142
+ let t = e.currentTarget, n = e.clientX, r = u, i = !1, a = r, o = (e) => {
143
+ Math.abs(e.clientX - n) > 3 && (i = !0, w(!0)), i && (a = V(r + e.clientX - n), f(a));
144
144
  }, s = () => {
145
- o(), i || p(!0);
145
+ t.removeEventListener("pointermove", o), t.removeEventListener("pointerup", c), t.removeEventListener("pointercancel", s), document.body.style.cursor = "", document.body.style.userSelect = "", D.current = null, w(!1), i && d(a), f(null);
146
+ }, c = () => {
147
+ s(), i || m(!0);
146
148
  };
147
- t.setPointerCapture(e.pointerId), t.addEventListener("pointermove", a), t.addEventListener("pointerup", s), t.addEventListener("pointercancel", o), document.body.style.cursor = "col-resize", document.body.style.userSelect = "none", w.current = o;
149
+ t.setPointerCapture(e.pointerId), t.addEventListener("pointermove", o), t.addEventListener("pointerup", c), t.addEventListener("pointercancel", s), document.body.style.cursor = "col-resize", document.body.style.userSelect = "none", D.current = s;
148
150
  }, [
149
151
  u,
150
152
  d,
151
- p
152
- ]), O = g(R), k = f && !O, A = /* @__PURE__ */ T("nav", {
153
+ f,
154
+ m
155
+ ]), k = g(R), A = p && !k, j = /* @__PURE__ */ T("nav", {
153
156
  ref: c,
154
- "aria-label": o ?? m("sidebar.main", "Main"),
157
+ "aria-label": o ?? v("sidebar.main", "Main"),
155
158
  "data-rail": l || void 0,
156
159
  "data-sidebar-root": "",
157
160
  className: e("group/sidebar relative flex h-full shrink-0 flex-col bg-chrome text-fg", l ? F.mode.rail.classes : F.mode.expanded.classes, r),
@@ -162,12 +165,12 @@ var ae = 232, oe = 280, V = (e) => Math.round(Math.min(280, Math.max(232, Number
162
165
  ...s,
163
166
  children: i
164
167
  });
165
- return O ? A : /* @__PURE__ */ E("div", {
168
+ return k ? j : /* @__PURE__ */ E("div", {
166
169
  className: "relative flex h-full shrink-0",
167
170
  children: [/* @__PURE__ */ T("div", {
168
171
  className: "sidebar-motion relative h-full shrink-0",
169
- style: { width: k ? 8 : l ? 60 : u },
170
- ...k ? {
172
+ style: { width: A ? 8 : l ? 60 : u },
173
+ ...A ? {
171
174
  "data-collapsed": "",
172
175
  inert: !0,
173
176
  "aria-hidden": !0
@@ -175,28 +178,28 @@ var ae = 232, oe = 280, V = (e) => Math.round(Math.min(280, Math.max(232, Number
175
178
  children: /* @__PURE__ */ T("div", {
176
179
  className: "sidebar-content-motion h-full",
177
180
  style: { width: l ? 60 : u },
178
- children: A
181
+ children: j
179
182
  })
180
- }), t && !l && !k && /* @__PURE__ */ T("div", {
183
+ }), t && !l && !A && /* @__PURE__ */ T("div", {
181
184
  role: "separator",
182
185
  "aria-orientation": "vertical",
183
- "aria-label": m("sidebar.resizeOrCollapse", "Resize sidebar; click to collapse"),
186
+ "aria-label": v("sidebar.resizeOrCollapse", "Resize sidebar; click to collapse"),
184
187
  "aria-valuemin": 232,
185
188
  "aria-valuemax": 280,
186
189
  "aria-valuenow": u,
187
190
  tabIndex: 0,
188
- onPointerDown: D,
189
- onPointerMove: (e) => y(Math.round(e.clientY - e.currentTarget.getBoundingClientRect().top)),
190
- onPointerLeave: () => y(null),
191
+ onPointerDown: O,
192
+ onPointerMove: (e) => b(Math.round(e.clientY - e.currentTarget.getBoundingClientRect().top)),
193
+ onPointerLeave: () => b(null),
191
194
  onKeyDown: (e) => {
192
- e.key === "ArrowLeft" && d(V(u - 8)), e.key === "ArrowRight" && d(V(u + 8)), (e.key === "Enter" || e.key === " ") && p(!0);
195
+ e.key === "ArrowLeft" && d(V(u - 8)), e.key === "ArrowRight" && d(V(u + 8)), (e.key === "Enter" || e.key === " ") && m(!0);
193
196
  },
194
197
  className: "absolute top-0 right-0 z-10 h-full w-8 cursor-col-resize rounded-pill focus-ring-inset",
195
- children: v !== null && !b && /* @__PURE__ */ E("span", {
198
+ children: y !== null && !C && /* @__PURE__ */ E("span", {
196
199
  "aria-hidden": !0,
197
200
  className: "pointer-events-none absolute left-16 flex w-max flex-col gap-2 rounded-tooltip bg-tooltip px-12 py-8 text-small text-fg-secondary shadow-raised",
198
- style: { top: Math.max(8, (v ?? 0) - 24) },
199
- children: [/* @__PURE__ */ T("span", { children: P(m("sidebar.dragToResize", "**Drag** to resize")) }), /* @__PURE__ */ T("span", { children: P(m("sidebar.clickToCollapse", "**Click** to collapse")) })]
201
+ style: { top: Math.max(8, (y ?? 0) - 24) },
202
+ children: [/* @__PURE__ */ T("span", { children: P(v("sidebar.dragToResize", "**Drag** to resize")) }), /* @__PURE__ */ T("span", { children: P(v("sidebar.clickToCollapse", "**Click** to collapse")) })]
200
203
  })
201
204
  })]
202
205
  });
@@ -218,7 +221,7 @@ var W = /* @__PURE__ */ m(function({ href: t, label: n = "Kaeso", children: r, c
218
221
  children: r
219
222
  }) : /* @__PURE__ */ E(U, {
220
223
  ref: a,
221
- className: e("justify-between pr-8 pl-28", i),
224
+ className: e("justify-between pr-16 pl-28", i),
222
225
  children: [/* @__PURE__ */ T(G, {
223
226
  href: t,
224
227
  label: n
@@ -242,7 +245,7 @@ function G({ href: e, label: n = "Kaeso" }) {
242
245
  });
243
246
  }
244
247
  process.env.NODE_ENV !== "production" && (G.displayName = "Sidebar.BrandWordmark");
245
- var se = /* @__PURE__ */ c(() => import("./sidebar-menu-DRWRxcJ3.js"), { base: () => import.meta.url });
248
+ var se = /* @__PURE__ */ c(() => import("./sidebar-menu-ct8IiL4z.js"), { base: () => import.meta.url });
246
249
  function K({ trigger: e, side: t, header: n, footer: r, children: s }) {
247
250
  let [c, l] = S(!1), [u, d] = S(!1), p = a(se, u || c, () => {
248
251
  d(!1), l(!1);
@@ -593,4 +596,4 @@ var pe = /* @__PURE__ */ Object.assign(H, {
593
596
  //#endregion
594
597
  export { ae as a, z as c, oe as i, L as l, ie as n, pe as o, F as r, R as s, G as t };
595
598
 
596
- //# sourceMappingURL=sidebar-5IA18LuP.js.map
599
+ //# sourceMappingURL=sidebar-Dey1ZfGt.js.map