@logicplanes/kaeso-ui 0.2.2 → 0.3.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 (349) hide show
  1. package/AGENTS.md +2 -0
  2. package/NOTICE.md +1 -1
  3. package/ai/component-guides.md +223 -24
  4. package/ai/component-registry.json +985 -91
  5. package/ai/component-registry.md +219 -52
  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-DEc9HNa6.js → release-art-Ogl-L1Vh.js} +189 -183
  104. package/dist/chunks/release-art-Ogl-L1Vh.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-BzMlYuMe.js → status-dot-BqVOlShY.js} +3 -3
  126. package/dist/chunks/{status-dot-BzMlYuMe.js.map → status-dot-BqVOlShY.js.map} +1 -1
  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 -255
  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 +6 -6
  182. package/dist/components/dialog.js +7 -9
  183. package/dist/components/dialog.js.map +1 -1
  184. package/dist/components/display-options.js +67 -53
  185. package/dist/components/display-options.js.map +1 -1
  186. package/dist/components/empty.js +1 -1
  187. package/dist/components/field.js +1 -1
  188. package/dist/components/filter-chip.js +138 -63
  189. package/dist/components/filter-chip.js.map +1 -1
  190. package/dist/components/filter-row.js +2 -2
  191. package/dist/components/flow.js +2 -2
  192. package/dist/components/heading.js +1 -1
  193. package/dist/components/icon-button.js +1 -1
  194. package/dist/components/icon.js +1 -1
  195. package/dist/components/input.js +56 -54
  196. package/dist/components/input.js.map +1 -1
  197. package/dist/components/kaeso/conversation.js +88 -79
  198. package/dist/components/kaeso/conversation.js.map +1 -1
  199. package/dist/components/kaeso/identity.js +1 -1
  200. package/dist/components/kaeso/moments.js +8 -8
  201. package/dist/components/kaeso/moments.js.map +1 -1
  202. package/dist/components/kaeso/rights.js +1 -1
  203. package/dist/components/kaeso/usage.js +6 -6
  204. package/dist/components/kaeso/usage.js.map +1 -1
  205. package/dist/components/kaeso.js +212 -84
  206. package/dist/components/kaeso.js.map +1 -1
  207. package/dist/components/kbd.js +1 -1
  208. package/dist/components/key-value.js +3 -3
  209. package/dist/components/label.js +1 -1
  210. package/dist/components/layout.js +1 -1
  211. package/dist/components/link.js +1 -1
  212. package/dist/components/list.js +1 -1
  213. package/dist/components/loader.js +2 -2
  214. package/dist/components/logo.js +2 -2
  215. package/dist/components/markdown.js +1 -1
  216. package/dist/components/menu.js +2 -2
  217. package/dist/components/meter.js +1 -1
  218. package/dist/components/page-header.js +1 -1
  219. package/dist/components/pagination.js +1 -1
  220. package/dist/components/playground.js +654 -381
  221. package/dist/components/playground.js.map +1 -1
  222. package/dist/components/popover.js +2 -2
  223. package/dist/components/qr-code.js +1 -1
  224. package/dist/components/radio.js +1 -1
  225. package/dist/components/release-art.js +1 -1
  226. package/dist/components/scroll-area.js +1 -1
  227. package/dist/components/section.js +1 -1
  228. package/dist/components/segmented.js +1 -1
  229. package/dist/components/select.js +1 -1
  230. package/dist/components/separator.js +1 -1
  231. package/dist/components/settings.js +3 -3
  232. package/dist/components/sheet.js +69 -52
  233. package/dist/components/sheet.js.map +1 -1
  234. package/dist/components/sidebar.js +1 -1
  235. package/dist/components/skeleton.js +1 -1
  236. package/dist/components/slider.js +1 -1
  237. package/dist/components/stat.js +88 -74
  238. package/dist/components/stat.js.map +1 -1
  239. package/dist/components/status-dot.js +1 -1
  240. package/dist/components/surface.js +1 -1
  241. package/dist/components/swap-text.js +1 -1
  242. package/dist/components/switch.js +1 -1
  243. package/dist/components/table.js +1 -1
  244. package/dist/components/tabs.js +48 -49
  245. package/dist/components/tabs.js.map +1 -1
  246. package/dist/components/tag.js +1 -1
  247. package/dist/components/text.js +1 -1
  248. package/dist/components/theme-image.js +1 -1
  249. package/dist/components/theme-menu.js +2 -2
  250. package/dist/components/theme-select.js +1 -1
  251. package/dist/components/timeline.js +1 -1
  252. package/dist/components/toast.js +4 -4
  253. package/dist/components/toc.js +1 -1
  254. package/dist/components/toolbar.js +1 -1
  255. package/dist/components/tooltip.js +1 -1
  256. package/dist/components/visually-hidden.js +1 -1
  257. package/dist/format.js +87 -50
  258. package/dist/format.js.map +1 -1
  259. package/dist/i18n-provider.js +1 -1
  260. package/dist/index.js +115 -112
  261. package/dist/kaeso.css +20 -7
  262. package/dist/styles.css +1 -1
  263. package/dist/types/components/charts/bar.d.ts +6 -0
  264. package/dist/types/components/charts/core.d.ts +2 -2
  265. package/dist/types/components/charts/docs.d.ts +7 -0
  266. package/dist/types/components/charts/time-axis.d.ts +5 -0
  267. package/dist/types/components/charts/timeseries.d.ts +9 -0
  268. package/dist/types/components/code-block/highlighter.d.ts +2 -0
  269. package/dist/types/components/combobox/combobox.d.ts +2 -0
  270. package/dist/types/components/combobox/docs.d.ts +2 -4
  271. package/dist/types/components/command-list/command-list.d.ts +84 -0
  272. package/dist/types/components/command-list/docs.d.ts +52 -0
  273. package/dist/types/components/command-list/index.d.ts +3 -0
  274. package/dist/types/components/command-list/match.d.ts +1 -0
  275. package/dist/types/components/command-list/picker-popover.d.ts +44 -0
  276. package/dist/types/components/data-table/data-table.d.ts +3 -2
  277. package/dist/types/components/data-table/docs.d.ts +1 -0
  278. package/dist/types/components/date-picker/docs.d.ts +0 -6
  279. package/dist/types/components/dialog/dialog.d.ts +24 -0
  280. package/dist/types/components/dialog/docs.d.ts +4 -0
  281. package/dist/types/components/display-options/display-options.d.ts +1 -0
  282. package/dist/types/components/filter-chip/docs.d.ts +4 -0
  283. package/dist/types/components/filter-chip/filter-chip.d.ts +7 -0
  284. package/dist/types/components/input/docs.d.ts +2 -12
  285. package/dist/types/components/input/number-input.d.ts +1 -0
  286. package/dist/types/components/input/tag-input.d.ts +1 -0
  287. package/dist/types/components/kaeso/docs.d.ts +34 -0
  288. package/dist/types/components/kaeso/identity.d.ts +10 -1
  289. package/dist/types/components/kaeso/index.d.ts +1 -0
  290. package/dist/types/components/kaeso/provider-marks.d.ts +5 -1
  291. package/dist/types/components/kaeso/provider-picker.d.ts +42 -0
  292. package/dist/types/components/list/docs.d.ts +2 -0
  293. package/dist/types/components/list/list.d.ts +2 -0
  294. package/dist/types/components/menu/styles.d.ts +1 -1
  295. package/dist/types/components/playground/docs.d.ts +32 -0
  296. package/dist/types/components/playground/index.d.ts +1 -0
  297. package/dist/types/components/playground/model-picker.d.ts +39 -4
  298. package/dist/types/components/playground/reasoning.d.ts +29 -0
  299. package/dist/types/components/playground/response-view.d.ts +7 -1
  300. package/dist/types/components/release-art/docs.d.ts +1 -0
  301. package/dist/types/components/release-art/release-art.d.ts +1 -0
  302. package/dist/types/components/select/docs.d.ts +0 -2
  303. package/dist/types/components/select/option-checkbox.d.ts +1 -0
  304. package/dist/types/components/sidebar/sidebar.d.ts +1 -0
  305. package/dist/types/components/stat/docs.d.ts +1 -0
  306. package/dist/types/components/stat/stat.d.ts +1 -0
  307. package/dist/types/format/index.d.ts +6 -0
  308. package/dist/types/index.d.ts +1 -0
  309. package/dist/types/utils/index.d.ts +1 -1
  310. package/dist/types/utils/inset.d.ts +5 -0
  311. package/dist/types/utils/over-sheet.d.ts +1 -0
  312. package/dist/types/utils/restore-focus.d.ts +1 -1
  313. package/dist/utils.js +4 -4
  314. package/foundations/layout.md +45 -0
  315. package/foundations/writing.md +1 -0
  316. package/package.json +2 -2
  317. package/dist/chunks/app-frame-BXh-06HL.js +0 -214
  318. package/dist/chunks/app-frame-BXh-06HL.js.map +0 -1
  319. package/dist/chunks/cn-CidVUKMm.js.map +0 -1
  320. package/dist/chunks/code-block-DxtladFW.js.map +0 -1
  321. package/dist/chunks/collapsible-Cw_1aem5.js.map +0 -1
  322. package/dist/chunks/combobox-D30Wt11R.js +0 -291
  323. package/dist/chunks/combobox-D30Wt11R.js.map +0 -1
  324. package/dist/chunks/core-K960A4OT.js.map +0 -1
  325. package/dist/chunks/de-CTAo4KL7.js.map +0 -1
  326. package/dist/chunks/dialog-LNKgPEsV.js +0 -319
  327. package/dist/chunks/dialog-LNKgPEsV.js.map +0 -1
  328. package/dist/chunks/field-d8V94bvZ.js.map +0 -1
  329. package/dist/chunks/field-press-DwzBFafd.js +0 -10
  330. package/dist/chunks/field-press-DwzBFafd.js.map +0 -1
  331. package/dist/chunks/identity-BtZC_d_Q.js +0 -342
  332. package/dist/chunks/identity-BtZC_d_Q.js.map +0 -1
  333. package/dist/chunks/input-group-CYA1MEoZ.js.map +0 -1
  334. package/dist/chunks/inset-BLMdxX4I.js.map +0 -1
  335. package/dist/chunks/list-CzaiyNja.js +0 -483
  336. package/dist/chunks/list-CzaiyNja.js.map +0 -1
  337. package/dist/chunks/nav-sheet-BIErlV74.js +0 -58
  338. package/dist/chunks/nav-sheet-BIErlV74.js.map +0 -1
  339. package/dist/chunks/range-popup-DGOnGGag.js +0 -111
  340. package/dist/chunks/range-popup-DGOnGGag.js.map +0 -1
  341. package/dist/chunks/release-art-DEc9HNa6.js.map +0 -1
  342. package/dist/chunks/resize-motion-CMaidkwe.js.map +0 -1
  343. package/dist/chunks/rights-BbiJ0AJB.js.map +0 -1
  344. package/dist/chunks/select-Bc4kRiSG.js.map +0 -1
  345. package/dist/chunks/sidebar-5IA18LuP.js.map +0 -1
  346. package/dist/chunks/textarea-Cj8iR82R.js.map +0 -1
  347. package/dist/chunks/virtual-rows-BZe49bKi.js.map +0 -1
  348. package/dist/chunks/zh-CN-C7GmVswt.js.map +0 -1
  349. package/dist/components/charts/timeseries.js.map +0 -1
@@ -1,214 +0,0 @@
1
- "use client";
2
- import { t as e } from "./cn-CidVUKMm.js";
3
- import { t } from "./inset-BLMdxX4I.js";
4
- import { i as n } from "./context-BELWW79w.js";
5
- import { l as r, s as i } from "./tooltip-DEbCCsru.js";
6
- import { a } from "./button-DQvoOxVQ.js";
7
- import { t as o } from "./icon-button-_x1RUphC.js";
8
- import { l as s, t as c } from "./sidebar-5IA18LuP.js";
9
- import { t as l } from "./when-idle-Cy3pinqO.js";
10
- import { createContext as u, forwardRef as d, useCallback as f, useContext as p, useEffect as m, useId as h, useLayoutEffect as g, useRef as _, useState as v } from "react";
11
- import { jsx as y, jsxs as b } from "react/jsx-runtime";
12
- import { SidebarLeftIcon as x } from "@hugeicons/core-free-icons";
13
- //#region src/components/app-frame/app-frame.tsx
14
- var S = { fill: {
15
- screen: { classes: "h-dvh" },
16
- parent: { classes: "h-full" }
17
- } }, C = { fill: "screen" }, w = /* @__PURE__ */ u({
18
- openNav: () => void 0,
19
- embedded: !1,
20
- sheetReady: { current: !1 }
21
- }), T = () => p(w), E = /* @__PURE__ */ d(function({ sidebar: t, children: n, corner: r, fill: i = "screen", brandHref: a, brandLabel: o, phoneActions: s, className: c }, l) {
22
- let [u, d] = v(!1), f = _(null), p = _(!1), m = `k-main-${h().replace(/[^\w-]/g, "")}`, g = i === "screen" ? "main" : "div";
23
- return /* @__PURE__ */ b(w.Provider, {
24
- value: {
25
- openNav: () => d(!0),
26
- embedded: i === "parent",
27
- sheetReady: p
28
- },
29
- children: [/* @__PURE__ */ b("div", {
30
- ref: l,
31
- className: e("relative isolate flex w-full flex-col overflow-hidden bg-chrome text-fg lg:flex-row", S.fill[i].classes, c),
32
- children: [
33
- /* @__PURE__ */ y(D, { target: m }),
34
- /* @__PURE__ */ y("div", {
35
- className: "hidden h-full lg:flex",
36
- children: t
37
- }),
38
- /* @__PURE__ */ y(O, {
39
- banner: i === "screen",
40
- href: a,
41
- label: o,
42
- actions: s,
43
- open: u,
44
- onToggle: () => d((e) => !e),
45
- toggleRef: f
46
- }),
47
- /* @__PURE__ */ y(g, {
48
- id: m,
49
- className: "relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-panel outline-none safe-area-panel lg:my-8 lg:mr-8 lg:rounded-panel lg:shadow-panel",
50
- children: n
51
- }),
52
- r && /* @__PURE__ */ y("div", {
53
- className: "fixed right-16 bottom-16 z-10 flex items-center gap-8",
54
- children: r
55
- })
56
- ]
57
- }), /* @__PURE__ */ y(j, {
58
- navOpen: u,
59
- setNavOpen: d,
60
- toggle: f,
61
- ready: p,
62
- children: t
63
- })]
64
- });
65
- });
66
- process.env.NODE_ENV !== "production" && (E.displayName = "AppFrame");
67
- function D({ target: t }) {
68
- let r = n();
69
- return /* @__PURE__ */ y("a", {
70
- href: `#${t}`,
71
- onClick: (e) => {
72
- let n = document.getElementById(t);
73
- n && (e.preventDefault(), n.setAttribute("tabindex", "-1"), n.addEventListener("blur", () => n.removeAttribute("tabindex"), { once: !0 }), n.focus());
74
- },
75
- className: e(a({ size: "sm" }), "absolute top-8 left-8 z-50 not-focus:sr-only"),
76
- children: r("appFrame.skipToContent", "Skip to content")
77
- });
78
- }
79
- process.env.NODE_ENV !== "production" && (D.displayName = "AppFrame.SkipLink");
80
- function O({ banner: e, href: t, label: r, actions: i, open: a, onToggle: s, toggleRef: l }) {
81
- let u = e ? "header" : "div", d = n();
82
- return /* @__PURE__ */ y(u, {
83
- "data-phone-bar": "",
84
- className: "shrink-0 bg-panel safe-area-bar lg:hidden",
85
- children: /* @__PURE__ */ b("div", {
86
- className: "mt-8 flex h-52 items-center justify-between pr-20 pl-28",
87
- children: [/* @__PURE__ */ y(c, {
88
- href: t,
89
- label: r
90
- }), /* @__PURE__ */ b("span", {
91
- className: "flex items-center",
92
- children: [i, /* @__PURE__ */ y(o, {
93
- ref: l,
94
- icon: x,
95
- "aria-label": d("appFrame.openNavigation", "Open navigation"),
96
- "aria-haspopup": "dialog",
97
- "aria-expanded": a,
98
- tooltip: !1,
99
- onClick: s
100
- })]
101
- })]
102
- })
103
- });
104
- }
105
- process.env.NODE_ENV !== "production" && (O.displayName = "AppFrame.PhoneBar");
106
- var k = 750, A = /* @__PURE__ */ i(() => import("./nav-sheet-BIErlV74.js").then((e) => e.n), { base: () => import.meta.url });
107
- function j({ navOpen: e, setNavOpen: t, toggle: n, ready: i, children: a }) {
108
- let { peeking: o, setPeeking: c } = s(), [u, d] = v(!1);
109
- m(() => l(() => d(!0)), []);
110
- let p = f(() => {
111
- t(!1), c(!1);
112
- }, [t, c]), h = r(A, u || e || o, () => {
113
- d(!1), p();
114
- })?.NavSheet, _ = (e || o) && !h;
115
- return g(() => {
116
- i.current = !!h;
117
- }), M(_, n, p), h ? /* @__PURE__ */ y(h, {
118
- open: e || o,
119
- peek: o && !e,
120
- ...e ? { returnFocus: n } : {},
121
- onOpenChange: (e) => {
122
- e || p();
123
- },
124
- children: a
125
- }) : null;
126
- }
127
- function M(e, t, n) {
128
- m(() => {
129
- if (!e) return;
130
- let r = t.current?.ownerDocument ?? document, i = (e) => {
131
- e.key === "Escape" && (e.stopPropagation(), n());
132
- }, a = (e) => {
133
- t.current?.contains(e.target) || n();
134
- };
135
- return r.addEventListener("keydown", i, !0), r.addEventListener("pointerdown", a, !0), () => {
136
- r.removeEventListener("keydown", i, !0), r.removeEventListener("pointerdown", a, !0);
137
- };
138
- }, [
139
- e,
140
- t,
141
- n
142
- ]);
143
- }
144
- function N({ className: t }) {
145
- let { openNav: r, sheetReady: i } = T(), { collapsed: a, setCollapsed: c, setPeeking: l } = s(), u = _(void 0), d = n(), f = () => typeof window < "u" && window.matchMedia("(min-width: 1024px)").matches;
146
- return /* @__PURE__ */ y(o, {
147
- onPointerEnter: () => {
148
- a && f() && (u.current = setTimeout(() => l(!0), 750));
149
- },
150
- onPointerLeave: () => {
151
- clearTimeout(u.current), i.current || l(!1);
152
- },
153
- icon: x,
154
- "data-sidebar-expand": "",
155
- "aria-label": a ? d("appFrame.expandSidebar", "Expand sidebar") : d("appFrame.openNavigation", "Open navigation"),
156
- shortcut: a ? ["["] : void 0,
157
- onClick: () => {
158
- clearTimeout(u.current), a && f() ? c(!1) : r();
159
- },
160
- className: e("hidden", a && "lg:inline-flex", t)
161
- });
162
- }
163
- process.env.NODE_ENV !== "production" && (N.displayName = "AppFrame.MenuButton");
164
- var P = { padding: {
165
- none: { classes: "" },
166
- list: { classes: "pt-8 pb-24" },
167
- page: { classes: "px-24 pt-16 pb-48" }
168
- } }, F = { padding: "none" }, I = /* @__PURE__ */ d(function({ className: t, padding: n = "none", ...r }, i) {
169
- return /* @__PURE__ */ y("div", {
170
- ref: i,
171
- className: e("min-h-0 flex-1 overflow-y-auto overscroll-contain scrollbar-quiet", P.padding[n].classes, t),
172
- ...r
173
- });
174
- });
175
- process.env.NODE_ENV !== "production" && (I.displayName = "AppFrame.Body");
176
- var L = /* @__PURE__ */ d(function({ title: n, description: r, actions: i, className: a, children: o, ...s }, c) {
177
- return /* @__PURE__ */ b(I, {
178
- ref: c,
179
- className: "relative",
180
- children: [/* @__PURE__ */ y(N, { className: "absolute top-10 left-12 z-10" }), /* @__PURE__ */ b("div", {
181
- className: e("mx-auto w-full max-w-settings px-24 pt-64 pb-96", a),
182
- ...s,
183
- children: [/* @__PURE__ */ b("header", {
184
- className: "flex flex-col gap-8",
185
- children: [/* @__PURE__ */ b("div", {
186
- className: "flex items-start justify-between gap-16",
187
- children: [/* @__PURE__ */ y("h1", {
188
- className: "min-w-0 text-title-lg font-semibold text-fg text-balance",
189
- children: n
190
- }), i && /* @__PURE__ */ y("div", {
191
- className: "flex h-34 shrink-0 items-center gap-8",
192
- children: i
193
- })]
194
- }), r && /* @__PURE__ */ y("p", {
195
- className: "text-body-lg font-regular text-fg-secondary",
196
- children: r
197
- })]
198
- }), /* @__PURE__ */ y("div", {
199
- className: "mt-8",
200
- children: /* @__PURE__ */ y(t, { children: o })
201
- })]
202
- })]
203
- });
204
- });
205
- process.env.NODE_ENV !== "production" && (L.displayName = "AppFrame.Settings");
206
- var R = /* @__PURE__ */ Object.assign(E, {
207
- MenuButton: N,
208
- Body: I,
209
- Settings: L
210
- });
211
- //#endregion
212
- export { S as a, C as i, F as n, k as o, P as r, T as s, R as t };
213
-
214
- //# sourceMappingURL=app-frame-BXh-06HL.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"app-frame-BXh-06HL.js","names":["__icon_SidebarLeftIcon","cn","useUiText","useLazyModule","lazyModule","IconButton","useSidebar","BrandWordmark","whenIdle","KAESO_APP_FRAME_VARIANTS","KAESO_APP_FRAME_DEFAULT_VARIANTS","Ctx","useAppFrame","useContext","Root","navOpen","setNavOpen","useState","toggle","useRef","sheetReady","mainId","useId","Main","fill","className","SkipLink","sidebar","PhoneBar","brandHref","brandLabel","phoneActions","o","corner","FrameSheet","t","target","main","buttonClasses","Bar","banner","actions","toggleRef","SidebarLeftIcon","open","onToggle","PEEK_DELAY","navSheet","n","idle","setIdle","dismiss","useCallback","setPeeking","NavSheet","peeking","pending","useLayoutEffect","usePendingDismiss","doc","onKeyDown","onPointerDown","MenuButton","intent","wide","collapsed","setCollapsed","openNav","KAESO_APP_FRAME_BODY_VARIANTS","KAESO_APP_FRAME_BODY_DEFAULT_VARIANTS","Body","props","padding","Settings","title","description","InsetContent","AppFrame"],"sources":["../../src/components/app-frame/app-frame.tsx"],"sourcesContent":["import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useId,\n useLayoutEffect,\n useRef,\n useState,\n type HTMLAttributes,\n type ReactNode,\n type RefObject,\n} from \"react\";\nimport { InsetContent } from \"../../utils/inset.js\";\nimport { cn } from \"../../utils/cn.js\";\nimport { SidebarLeftIcon as __icon_SidebarLeftIcon } from \"@hugeicons/core-free-icons\";\nimport { IconButton } from \"../icon-button/icon-button.js\";\nimport { buttonClasses } from \"../button/button.js\";\nimport { useSidebar, BrandWordmark } from \"../sidebar/sidebar.js\";\nimport { lazyModule, useLazyModule } from \"../../utils/lazy-module.js\";\nimport { whenIdle } from \"../../utils/when-idle.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_APP_FRAME_VARIANTS = {\n fill: {\n screen: { classes: \"h-dvh\" },\n parent: { classes: \"h-full\" },\n },\n} as const;\nexport const KAESO_APP_FRAME_DEFAULT_VARIANTS = { fill: \"screen\" } as const;\n\nconst Ctx = /* @__PURE__ */ createContext<{ openNav: () => void; embedded: boolean; sheetReady: RefObject<boolean> }>({\n openNav: () => undefined,\n embedded: false,\n sheetReady: { current: false },\n});\nexport const useAppFrame = () => useContext(Ctx);\n\nexport interface AppFrameProps {\n sidebar: ReactNode;\n children: ReactNode;\n corner?: ReactNode | undefined;\n fill?: keyof typeof KAESO_APP_FRAME_VARIANTS.fill | undefined;\n brandHref?: string | undefined;\n brandLabel?: string | undefined;\n phoneActions?: ReactNode | undefined;\n className?: string | undefined;\n}\n\nconst Root = /* @__PURE__ */ forwardRef<HTMLDivElement, AppFrameProps>(function AppFrame(\n { sidebar, children, corner, fill = \"screen\", brandHref, brandLabel, phoneActions, className },\n ref,\n) {\n const [navOpen, setNavOpen] = useState(false);\n const toggle = useRef<HTMLButtonElement | null>(null);\n const sheetReady = useRef(false);\n const mainId = `k-main-${useId().replace(/[^\\w-]/g, \"\")}`;\n const Main = fill === \"screen\" ? \"main\" : \"div\";\n return (\n <Ctx.Provider value={{ openNav: () => setNavOpen(true), embedded: fill === \"parent\", sheetReady }}>\n <div\n ref={ref}\n className={cn(\n \"relative isolate flex w-full flex-col overflow-hidden bg-chrome text-fg lg:flex-row\",\n KAESO_APP_FRAME_VARIANTS.fill[fill].classes,\n className,\n )}\n >\n <SkipLink target={mainId} />\n <div className=\"hidden h-full lg:flex\">{sidebar}</div>\n <PhoneBar\n banner={fill === \"screen\"}\n href={brandHref}\n label={brandLabel}\n actions={phoneActions}\n open={navOpen}\n onToggle={() => setNavOpen((o) => !o)}\n toggleRef={toggle}\n />\n <Main\n id={mainId}\n className=\"relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-panel outline-none safe-area-panel lg:my-8 lg:mr-8 lg:rounded-panel lg:shadow-panel\"\n >\n {children}\n </Main>\n {corner && <div className=\"fixed right-16 bottom-16 z-10 flex items-center gap-8\">{corner}</div>}\n </div>\n <FrameSheet navOpen={navOpen} setNavOpen={setNavOpen} toggle={toggle} ready={sheetReady}>\n {sidebar}\n </FrameSheet>\n </Ctx.Provider>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Root.displayName = \"AppFrame\";\n\nfunction SkipLink({ target }: { target: string }) {\n const t = useUiText();\n return (\n <a\n href={`#${target}`}\n onClick={(e) => {\n const main = document.getElementById(target);\n if (!main) return;\n e.preventDefault();\n main.setAttribute(\"tabindex\", \"-1\");\n main.addEventListener(\"blur\", () => main.removeAttribute(\"tabindex\"), { once: true });\n main.focus();\n }}\n className={cn(buttonClasses({ size: \"sm\" }), \"absolute top-8 left-8 z-50 not-focus:sr-only\")}\n >\n {t(\"appFrame.skipToContent\", \"Skip to content\")}\n </a>\n );\n}\nif (process.env.NODE_ENV !== \"production\") SkipLink.displayName = \"AppFrame.SkipLink\";\n\nfunction PhoneBar({\n banner,\n href,\n label,\n actions,\n open,\n onToggle,\n toggleRef,\n}: {\n banner: boolean;\n href: string | undefined;\n label: string | undefined;\n actions: ReactNode;\n open: boolean;\n onToggle: () => void;\n toggleRef: RefObject<HTMLButtonElement | null>;\n}) {\n const Bar = banner ? \"header\" : \"div\";\n const t = useUiText();\n return (\n <Bar data-phone-bar=\"\" className=\"shrink-0 bg-panel safe-area-bar lg:hidden\">\n <div className=\"mt-8 flex h-52 items-center justify-between pr-20 pl-28\">\n <BrandWordmark href={href} label={label} />\n <span className=\"flex items-center\">\n {actions}\n <IconButton\n ref={toggleRef}\n icon={__icon_SidebarLeftIcon}\n aria-label={t(\"appFrame.openNavigation\", \"Open navigation\")}\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n tooltip={false}\n onClick={onToggle}\n />\n </span>\n </div>\n </Bar>\n );\n}\nif (process.env.NODE_ENV !== \"production\") PhoneBar.displayName = \"AppFrame.PhoneBar\";\n\nexport const PEEK_DELAY = 750;\n\nconst navSheet = /* @__PURE__ */ lazyModule(() => import(\"./nav-sheet.js\"), { base: () => import.meta.url });\n\nfunction FrameSheet({\n navOpen,\n setNavOpen,\n toggle,\n ready,\n children,\n}: {\n navOpen: boolean;\n setNavOpen: (o: boolean) => void;\n toggle: RefObject<HTMLElement | null>;\n ready: RefObject<boolean>;\n children: ReactNode;\n}) {\n const { peeking, setPeeking } = useSidebar();\n const [idle, setIdle] = useState(false);\n useEffect(() => whenIdle(() => setIdle(true)), []);\n const dismiss = useCallback(() => {\n setNavOpen(false);\n setPeeking(false);\n }, [setNavOpen, setPeeking]);\n const NavSheet = useLazyModule(navSheet, idle || navOpen || peeking, () => {\n setIdle(false);\n dismiss();\n })?.NavSheet;\n const pending = (navOpen || peeking) && !NavSheet;\n useLayoutEffect(() => {\n ready.current = !!NavSheet;\n });\n usePendingDismiss(pending, toggle, dismiss);\n if (!NavSheet) return null;\n return (\n <NavSheet\n open={navOpen || peeking}\n peek={peeking && !navOpen}\n {...(navOpen ? { returnFocus: toggle } : {})}\n onOpenChange={(o) => {\n if (!o) dismiss();\n }}\n >\n {children}\n </NavSheet>\n );\n}\n\nfunction usePendingDismiss(pending: boolean, toggle: RefObject<HTMLElement | null>, dismiss: () => void) {\n useEffect(() => {\n if (!pending) return;\n const doc = toggle.current?.ownerDocument ?? document;\n const onKeyDown = (e: KeyboardEvent) => {\n if (e.key !== \"Escape\") return;\n e.stopPropagation();\n dismiss();\n };\n const onPointerDown = (e: PointerEvent) => {\n if (!toggle.current?.contains(e.target as Node)) dismiss();\n };\n doc.addEventListener(\"keydown\", onKeyDown, true);\n doc.addEventListener(\"pointerdown\", onPointerDown, true);\n return () => {\n doc.removeEventListener(\"keydown\", onKeyDown, true);\n doc.removeEventListener(\"pointerdown\", onPointerDown, true);\n };\n }, [pending, toggle, dismiss]);\n}\n\nfunction MenuButton({ className }: { className?: string | undefined }) {\n const { openNav, sheetReady } = useAppFrame();\n const { collapsed, setCollapsed, setPeeking } = useSidebar();\n const intent = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const t = useUiText();\n const wide = () => typeof window !== \"undefined\" && window.matchMedia(\"(min-width: 1024px)\").matches;\n return (\n <IconButton\n onPointerEnter={() => {\n if (collapsed && wide()) intent.current = setTimeout(() => setPeeking(true), PEEK_DELAY);\n }}\n onPointerLeave={() => {\n clearTimeout(intent.current);\n if (!sheetReady.current) setPeeking(false);\n }}\n icon={__icon_SidebarLeftIcon}\n data-sidebar-expand=\"\"\n aria-label={collapsed ? t(\"appFrame.expandSidebar\", \"Expand sidebar\") : t(\"appFrame.openNavigation\", \"Open navigation\")}\n shortcut={collapsed ? [\"[\"] : undefined}\n onClick={() => {\n clearTimeout(intent.current);\n if (collapsed && wide()) setCollapsed(false);\n else openNav();\n }}\n className={cn(\"hidden\", collapsed && \"lg:inline-flex\", className)}\n />\n );\n}\nif (process.env.NODE_ENV !== \"production\") MenuButton.displayName = \"AppFrame.MenuButton\";\n\nexport const KAESO_APP_FRAME_BODY_VARIANTS = {\n padding: {\n none: { classes: \"\" },\n list: { classes: \"pt-8 pb-24\" },\n page: { classes: \"px-24 pt-16 pb-48\" },\n },\n} as const;\nexport const KAESO_APP_FRAME_BODY_DEFAULT_VARIANTS = { padding: \"none\" } as const;\n\nexport interface AppFrameBodyProps extends HTMLAttributes<HTMLDivElement> {\n padding?: keyof typeof KAESO_APP_FRAME_BODY_VARIANTS.padding | undefined;\n}\n\nconst Body = /* @__PURE__ */ forwardRef<HTMLDivElement, AppFrameBodyProps>(function AppFrameBody({ className, padding = \"none\", ...props }, ref) {\n return (\n <div\n ref={ref}\n className={cn(\"min-h-0 flex-1 overflow-y-auto overscroll-contain scrollbar-quiet\", KAESO_APP_FRAME_BODY_VARIANTS.padding[padding].classes, className)}\n {...props}\n />\n );\n});\nif (process.env.NODE_ENV !== \"production\") Body.displayName = \"AppFrame.Body\";\n\nexport interface SettingsPageProps extends Omit<HTMLAttributes<HTMLDivElement>, \"title\"> {\n title: ReactNode;\n description?: ReactNode | undefined;\n actions?: ReactNode | undefined;\n}\n\nconst Settings = /* @__PURE__ */ forwardRef<HTMLDivElement, SettingsPageProps>(function AppFrameSettings({ title, description, actions, className, children, ...props }, ref) {\n return (\n <Body ref={ref} className=\"relative\">\n <MenuButton className=\"absolute top-10 left-12 z-10\" />\n <div className={cn(\"mx-auto w-full max-w-settings px-24 pt-64 pb-96\", className)} {...props}>\n <header className=\"flex flex-col gap-8\">\n <div className=\"flex items-start justify-between gap-16\">\n <h1 className=\"min-w-0 text-title-lg font-semibold text-fg text-balance\">{title}</h1>\n {actions && <div className=\"flex h-34 shrink-0 items-center gap-8\">{actions}</div>}\n </div>\n {description && <p className=\"text-body-lg font-regular text-fg-secondary\">{description}</p>}\n </header>\n <div className=\"mt-8\">\n <InsetContent>{children}</InsetContent>\n </div>\n </div>\n </Body>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Settings.displayName = \"AppFrame.Settings\";\n\nexport const AppFrame = /* @__PURE__ */ Object.assign(Root, { MenuButton, Body, Settings });\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cn-CidVUKMm.js","names":["kaesoMergeConfig","validators","arbitrary","isArbitraryVariable","isArbitraryValue","spacing","isNumber","inset","isFraction","margin","sizing","overflow","span","isInteger","lineOrPosition","tracks","rounded","width","isArbitraryVariableLength","isArbitraryLength","color","isAny","isArbitraryVariableWeight","isArbitraryWeight","isArbitraryVariableFamilyName","isArbitraryFamilyName","isAnyNonArbitrary","isArbitraryNumber","isArbitraryVariableShadow","isArbitraryShadow","merge","cn","inputs","createTailwindMerge","clsx"],"sources":["../../src/utils/cn.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { createTailwindMerge, validators } from \"tailwind-merge\";\n\nexport function kaesoMergeConfig() {\n const {\n isAny,\n isAnyNonArbitrary,\n isArbitraryFamilyName,\n isArbitraryLength,\n isArbitraryNumber,\n isArbitraryShadow,\n isArbitraryValue,\n isArbitraryVariable,\n isArbitraryVariableFamilyName,\n isArbitraryVariableLength,\n isArbitraryVariableShadow,\n isArbitraryVariableWeight,\n isArbitraryWeight,\n isFraction,\n isInteger,\n isNumber,\n } = validators;\n const arbitrary = [isArbitraryVariable, isArbitraryValue];\n const spacing = [...arbitrary, isNumber];\n const inset = [isFraction, \"full\", \"auto\", ...spacing];\n const margin = [\"auto\", ...spacing];\n const sizing = [isFraction, \"auto\", \"full\", \"dvw\", \"dvh\", \"lvw\", \"lvh\", \"svw\", \"svh\", \"min\", \"max\", \"fit\", ...spacing];\n const overflow = [\"auto\", \"hidden\", \"clip\", \"visible\", \"scroll\"];\n const span = [\"auto\", { span: [\"full\", isInteger, ...arbitrary] }, isInteger, ...arbitrary];\n const lineOrPosition = [isInteger, \"auto\", ...arbitrary];\n const tracks = [isInteger, \"none\", \"subgrid\", ...arbitrary];\n const rounded = [\"\", \"none\", \"full\", ...[\"pill\",\"panel\",\"menu\",\"item\",\"popover\",\"dialog\",\"sheet\",\"group\",\"well\",\"tooltip\",\"palette\",\"palette-item\",\"checkbox\",\"org\",\"kbd\",\"code\",\"bar\",\"cell\",\"avatar\",\"field\",\"textarea\",\"cell-lg\",\"tooltip-lg\",\"frame\",\"toast\"], ...arbitrary];\n const width = [\"\", isNumber, isArbitraryVariableLength, isArbitraryLength];\n const color = [isAny];\n return {\n cacheSize: 500,\n theme: {},\n classGroups: {\n aspect: [{ aspect: [\"auto\", \"square\", isFraction, ...arbitrary] }],\n container: [\"container\"],\n \"container-type\": [{ \"@container\": [\"\", \"normal\", \"size\", ...arbitrary] }],\n \"box-decoration\": [{ \"box-decoration\": [\"slice\", \"clone\"] }],\n box: [{ box: [\"border\", \"content\"] }],\n display: [\n \"block\",\n \"inline-block\",\n \"inline\",\n \"flex\",\n \"inline-flex\",\n \"table\",\n \"inline-table\",\n \"table-caption\",\n \"table-cell\",\n \"table-column\",\n \"table-column-group\",\n \"table-footer-group\",\n \"table-header-group\",\n \"table-row-group\",\n \"table-row\",\n \"flow-root\",\n \"grid\",\n \"inline-grid\",\n \"contents\",\n \"list-item\",\n \"hidden\",\n ],\n sr: [\"sr-only\", \"not-sr-only\"],\n isolation: [\"isolate\", \"isolation-auto\"],\n \"object-fit\": [{ object: [\"contain\", \"cover\", \"fill\", \"none\", \"scale-down\"] }],\n overflow: [{ overflow }],\n \"overflow-x\": [{ \"overflow-x\": overflow }],\n \"overflow-y\": [{ \"overflow-y\": overflow }],\n overscroll: [{ overscroll: [\"auto\", \"contain\", \"none\"] }],\n position: [\"static\", \"fixed\", \"absolute\", \"relative\", \"sticky\"],\n inset: [{ inset }],\n \"inset-x\": [{ \"inset-x\": inset }],\n \"inset-y\": [{ \"inset-y\": inset }],\n top: [{ top: inset }],\n right: [{ right: inset }],\n bottom: [{ bottom: inset }],\n left: [{ left: inset }],\n visibility: [\"visible\", \"invisible\", \"collapse\"],\n z: [{ z: [isInteger, \"auto\", ...arbitrary] }],\n basis: [{ basis: [isFraction, \"full\", \"auto\", ...spacing] }],\n \"flex-direction\": [{ flex: [\"row\", \"row-reverse\", \"col\", \"col-reverse\"] }],\n \"flex-wrap\": [{ flex: [\"nowrap\", \"wrap\", \"wrap-reverse\"] }],\n flex: [{ flex: [isNumber, isFraction, \"auto\", \"initial\", \"none\", isArbitraryValue] }],\n grow: [{ grow: [\"\", isNumber, ...arbitrary] }],\n shrink: [{ shrink: [\"\", isNumber, ...arbitrary] }],\n order: [{ order: [isInteger, \"first\", \"last\", \"none\", ...arbitrary] }],\n \"grid-cols\": [{ \"grid-cols\": tracks }],\n \"col-start-end\": [{ col: span }],\n \"col-start\": [{ \"col-start\": lineOrPosition }],\n \"grid-rows\": [{ \"grid-rows\": tracks }],\n \"row-start-end\": [{ row: span }],\n \"row-start\": [{ \"row-start\": lineOrPosition }],\n gap: [{ gap: spacing }],\n \"gap-x\": [{ \"gap-x\": spacing }],\n \"gap-y\": [{ \"gap-y\": spacing }],\n \"justify-content\": [{ justify: [\"start\", \"end\", \"center\", \"between\", \"around\", \"evenly\", \"stretch\", \"baseline\", \"center-safe\", \"end-safe\", \"normal\"] }],\n \"justify-items\": [{ \"justify-items\": [\"start\", \"end\", \"center\", \"stretch\", \"center-safe\", \"end-safe\", \"normal\"] }],\n \"align-content\": [{ content: [\"normal\", \"start\", \"end\", \"center\", \"between\", \"around\", \"evenly\", \"stretch\", \"baseline\", \"center-safe\", \"end-safe\"] }],\n \"align-items\": [{ items: [\"start\", \"end\", \"center\", \"stretch\", \"center-safe\", \"end-safe\", { baseline: [\"\", \"last\"] }] }],\n \"align-self\": [{ self: [\"auto\", \"start\", \"end\", \"center\", \"stretch\", \"center-safe\", \"end-safe\", { baseline: [\"\", \"last\"] }] }],\n p: [{ p: spacing }],\n px: [{ px: spacing }],\n py: [{ py: spacing }],\n pt: [{ pt: spacing }],\n pr: [{ pr: spacing }],\n pb: [{ pb: spacing }],\n pl: [{ pl: spacing }],\n m: [{ m: margin }],\n mx: [{ mx: margin }],\n my: [{ my: margin }],\n ms: [{ ms: margin }],\n mt: [{ mt: margin }],\n mr: [{ mr: margin }],\n mb: [{ mb: margin }],\n ml: [{ ml: margin }],\n size: [{ size: sizing }],\n w: [{ w: [\"screen\", \"anchor\", ...sizing] }],\n \"min-w\": [{ \"min-w\": [\"screen\", \"none\", \"anchor\", ...sizing] }],\n \"max-w\": [{ \"max-w\": [\"screen\", \"none\", \"prose\", ...sizing] }],\n h: [{ h: [\"screen\", \"lh\", ...sizing] }],\n \"min-h\": [{ \"min-h\": [\"screen\", \"lh\", \"none\", ...sizing] }],\n \"max-h\": [{ \"max-h\": [\"screen\", \"lh\", \"none\", ...sizing] }],\n \"font-size\": [{ text: [...[\"micro\",\"caption\",\"small\",\"body\",\"body-lg\",\"title-sm\",\"title\",\"title-lg\",\"display\",\"metric\"], isArbitraryVariableLength, isArbitraryLength] }],\n \"font-style\": [\"italic\", \"not-italic\"],\n \"font-weight\": [{ font: [\"regular\", \"medium\", \"semibold\", isArbitraryVariableWeight, isArbitraryWeight] }],\n \"font-family\": [{ font: [isArbitraryVariableFamilyName, isArbitraryFamilyName, isAnyNonArbitrary] }],\n \"fvn-spacing\": [\"proportional-nums\", \"tabular-nums\"],\n \"line-clamp\": [{ \"line-clamp\": [isNumber, \"none\", isArbitraryVariable, isArbitraryNumber] }],\n leading: [{ leading: [\"none\", ...spacing] }],\n \"text-alignment\": [{ text: [\"left\", \"center\", \"right\", \"justify\", \"start\", \"end\"] }],\n \"text-color\": [{ text: color }],\n \"text-decoration\": [\"underline\", \"overline\", \"line-through\", \"no-underline\"],\n \"text-decoration-thickness\": [{ decoration: [isNumber, \"from-font\", \"auto\", isArbitraryVariable, isArbitraryLength] }],\n \"text-decoration-color\": [{ decoration: color }],\n \"underline-offset\": [{ \"underline-offset\": [isNumber, \"auto\", ...arbitrary] }],\n \"text-overflow\": [\"truncate\", \"text-ellipsis\", \"text-clip\"],\n \"text-wrap\": [{ text: [\"wrap\", \"nowrap\", \"balance\", \"pretty\"] }],\n \"vertical-align\": [{ align: [\"baseline\", \"top\", \"middle\", \"bottom\", \"text-top\", \"text-bottom\", \"sub\", \"super\", ...arbitrary] }],\n whitespace: [{ whitespace: [\"normal\", \"nowrap\", \"pre\", \"pre-line\", \"pre-wrap\", \"break-spaces\"] }],\n break: [{ break: [\"normal\", \"words\", \"all\", \"keep\"] }],\n wrap: [{ wrap: [\"break-word\", \"anywhere\", \"normal\"] }],\n \"bg-color\": [{ bg: color }],\n rounded: [{ rounded }],\n \"rounded-r\": [{ \"rounded-r\": rounded }],\n \"rounded-l\": [{ \"rounded-l\": rounded }],\n \"outline-style\": [{ outline: [\"solid\", \"dashed\", \"dotted\", \"double\", \"none\", \"hidden\"] }],\n \"outline-offset\": [{ \"outline-offset\": [isNumber, ...arbitrary] }],\n \"outline-w\": [{ outline: width }],\n \"outline-color\": [{ outline: color }],\n shadow: [{ shadow: [\"\", \"inner\", \"none\", ...[\"ring\",\"control\",\"control-hover\",\"control-on-fill\",\"selector\",\"selector-hover\",\"frame\",\"xs\",\"raised\",\"dialog\",\"panel\",\"segment\",\"toast\",\"thumb\"], isArbitraryVariableShadow, isArbitraryShadow] }],\n \"ring-w\": [{ ring: width }],\n \"ring-color\": [{ ring: color }],\n opacity: [{ opacity: [isNumber, ...arbitrary] }],\n filter: [{ filter: [\"\", \"none\", ...arbitrary] }],\n \"border-collapse\": [{ border: [\"collapse\", \"separate\"] }],\n \"table-layout\": [{ table: [\"auto\", \"fixed\"] }],\n transition: [{ transition: [\"\", \"all\", \"colors\", \"opacity\", \"shadow\", \"transform\", \"none\", ...arbitrary] }],\n duration: [{ duration: [isNumber, \"initial\", ...arbitrary] }],\n ease: [{ ease: [\"linear\", \"initial\", ...[\"standard\",\"overlay\",\"exit\",\"pulse\"], ...arbitrary] }],\n animate: [{ animate: [\"none\", ...arbitrary] }],\n rotate: [{ rotate: [\"none\", isNumber, ...arbitrary] }],\n \"translate-x\": [{ \"translate-x\": [isFraction, \"full\", ...spacing] }],\n \"caret-color\": [{ caret: color }],\n cursor: [\n {\n cursor: [\n \"auto\",\n \"default\",\n \"pointer\",\n \"wait\",\n \"text\",\n \"move\",\n \"help\",\n \"not-allowed\",\n \"none\",\n \"context-menu\",\n \"progress\",\n \"cell\",\n \"crosshair\",\n \"vertical-text\",\n \"alias\",\n \"copy\",\n \"no-drop\",\n \"grab\",\n \"grabbing\",\n \"all-scroll\",\n \"col-resize\",\n \"row-resize\",\n \"n-resize\",\n \"e-resize\",\n \"s-resize\",\n \"w-resize\",\n \"ne-resize\",\n \"nw-resize\",\n \"se-resize\",\n \"sw-resize\",\n \"ew-resize\",\n \"ns-resize\",\n \"nesw-resize\",\n \"nwse-resize\",\n \"zoom-in\",\n \"zoom-out\",\n ...arbitrary,\n ],\n },\n ],\n \"pointer-events\": [{ \"pointer-events\": [\"auto\", \"none\"] }],\n resize: [{ resize: [\"none\", \"\", \"y\", \"x\"] }],\n \"scrollbar-w\": [{ scrollbar: [\"auto\", \"thin\", \"none\"] }],\n \"scroll-mt\": [{ \"scroll-mt\": spacing }],\n \"snap-align\": [{ snap: [\"start\", \"end\", \"center\", \"align-none\"] }],\n \"snap-stop\": [{ snap: [\"normal\", \"always\"] }],\n touch: [{ touch: [\"auto\", \"none\", \"manipulation\"] }],\n select: [{ select: [\"none\", \"text\", \"all\", \"auto\"] }],\n material: [\"material-primary\", \"material-secondary\", \"material-ghost\", \"material-soft\", \"material-danger\", \"material-danger-secondary\", \"material-field\"],\n focus: [\"focus-ring\", \"focus-ring-inset\"],\n motion: [\"popup-motion\", \"dialog-motion\", \"sheet-motion\", \"backdrop-motion\", \"indicator-motion\"],\n },\n conflictingClassGroups: {\n overflow: [\"overflow-x\", \"overflow-y\"],\n inset: [\"inset-x\", \"inset-y\", \"top\", \"right\", \"bottom\", \"left\"],\n \"inset-x\": [\"right\", \"left\"],\n \"inset-y\": [\"top\", \"bottom\"],\n flex: [\"basis\", \"grow\", \"shrink\"],\n gap: [\"gap-x\", \"gap-y\"],\n p: [\"px\", \"py\", \"pt\", \"pr\", \"pb\", \"pl\"],\n px: [\"pr\", \"pl\"],\n py: [\"pt\", \"pb\"],\n m: [\"mx\", \"my\", \"ms\", \"mt\", \"mr\", \"mb\", \"ml\"],\n mx: [\"ms\", \"mr\", \"ml\"],\n my: [\"mt\", \"mb\"],\n size: [\"w\", \"h\"],\n \"font-size\": [\"leading\"],\n \"line-clamp\": [\"display\", \"overflow\"],\n rounded: [\"rounded-r\", \"rounded-l\"],\n },\n conflictingClassGroupModifiers: { \"font-size\": [\"leading\"] },\n postfixLookupClassGroups: [\"container-type\"],\n orderSensitiveModifiers: [\n \"*\",\n \"**\",\n \"after\",\n \"backdrop\",\n \"before\",\n \"details-content\",\n \"file\",\n \"first-letter\",\n \"first-line\",\n \"marker\",\n \"placeholder\",\n \"selection\",\n ],\n };\n}\n\nlet merge: ReturnType<typeof createTailwindMerge> | undefined;\n\nexport function cn(...inputs: ClassValue[]): string {\n merge ??= createTailwindMerge(kaesoMergeConfig);\n return merge(clsx(inputs));\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-block-DxtladFW.js","names":["BaseTabs","cn","useUiText","TONES","ITALIC","BOLD","codeTokenClass","style","fontStyle","tone","color","kaesoShikiTheme","instance","CODE_LANGS","getHighlighter","createHighlighterCore","createJavaScriptRegexEngine","LOADERS","highlight","lang","h","loader","code","line","token","KAESO_CODE_BLOCK_VARIANTS","KAESO_CODE_BLOCK_DEFAULT_VARIANTS","CodeBlock","chosen","own","setOwn","useState","match","tabs","item","tab","choose","i","label","onTabChange","t","current","text","lines","useMemo","highlighted","setHighlighted","expanded","setExpanded","alive","tokenLines","collapsed","collapseAfter","visible","codeClass","copy","source","wrap","highlightLines","lineNumbers","j","surface","className","Tabs","v","title","CopyButton","CodeHighlighted"],"sources":["../../src/components/code-block/kaeso-theme.ts","../../src/components/code-block/highlighter.ts","../../src/components/code-block/code-block.tsx"],"sourcesContent":["const TONES = {\n text: { color: \"var(--k-text)\", className: \"\" },\n quiet: { color: \"var(--k-text-tertiary)\", className: \"text-fg-tertiary\" },\n secondary: { color: \"var(--k-text-secondary)\", className: \"text-fg-secondary\" },\n string: { color: \"var(--k-info-text)\", className: \"text-info-text\" },\n constant: { color: \"var(--k-warning-text)\", className: \"text-warning-text\" },\n} as const;\n\nconst ITALIC = 1;\nconst BOLD = 2;\n\nexport function codeTokenClass(color: string | undefined, fontStyle: number | undefined): string {\n const style = fontStyle ?? 0;\n return [\n Object.values(TONES).find((tone) => tone.color === color?.toLowerCase())?.className ?? \"\",\n style & ITALIC ? \"italic\" : \"\",\n style & BOLD ? \"font-semibold\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \");\n}\n\nexport const kaesoShikiTheme = {\n name: \"kaeso\",\n type: \"light\" as const,\n colors: { \"editor.background\": \"transparent\", \"editor.foreground\": TONES.text.color },\n settings: [\n { settings: { foreground: TONES.text.color, background: \"transparent\" } },\n { scope: [\"comment\", \"punctuation.definition.comment\"], settings: { foreground: TONES.quiet.color, fontStyle: \"italic\" } },\n {\n scope: [\"string\", \"string.quoted\", \"string.template\", \"punctuation.definition.string\", \"markup.inline.raw\"],\n settings: { foreground: TONES.string.color },\n },\n {\n scope: [\"constant.numeric\", \"constant.language.boolean\", \"constant.language.null\", \"constant.language\"],\n settings: { foreground: TONES.constant.color },\n },\n {\n scope: [\"keyword\", \"storage\", \"storage.type\", \"storage.modifier\", \"keyword.control\", \"keyword.operator.new\", \"variable.language\"],\n settings: { foreground: TONES.text.color, fontStyle: \"bold\" },\n },\n {\n scope: [\"punctuation\", \"meta.brace\", \"punctuation.separator\", \"punctuation.terminator\", \"keyword.operator\", \"meta.tag punctuation\"],\n settings: { foreground: TONES.quiet.color },\n },\n { scope: [\"entity.name.function\", \"support.function\", \"entity.name.tag\", \"support.class.component\"], settings: { foreground: TONES.text.color } },\n {\n scope: [\"support.type.property-name\", \"meta.object-literal.key\", \"entity.other.attribute-name\", \"variable.other.property\"],\n settings: { foreground: TONES.text.color },\n },\n { scope: [\"entity.name.type\", \"support.type\", \"entity.other.inherited-class\"], settings: { foreground: TONES.secondary.color } },\n ],\n};\n","import { codeTokenClass, kaesoShikiTheme } from \"./kaeso-theme.js\";\n\ntype Highlighter = {\n codeToTokens: (\n code: string,\n o: { lang: string; theme: string },\n ) => { tokens: { content: string; color?: string | undefined; fontStyle?: number | undefined }[][] };\n getLoadedLanguages: () => string[];\n loadLanguage: (...l: unknown[]) => Promise<void>;\n};\nlet instance: Promise<Highlighter> | null = null;\n\nexport const CODE_LANGS = [\"ts\", \"tsx\", \"js\", \"json\", \"bash\", \"python\", \"yaml\", \"diff\"] as const;\nexport type CodeLang = (typeof CODE_LANGS)[number] | \"text\";\n\nexport function getHighlighter(): Promise<Highlighter> {\n instance ??= (async () => {\n const [{ createHighlighterCore }, { createJavaScriptRegexEngine }] = await Promise.all([import(\"shiki/core\"), import(\"shiki/engine/javascript\")]);\n return (await createHighlighterCore({ themes: [kaesoShikiTheme as never], langs: [], engine: createJavaScriptRegexEngine() })) as unknown as Highlighter;\n })();\n return instance;\n}\n\nconst LOADERS: Record<Exclude<CodeLang, \"text\">, () => Promise<{ default: unknown }>> = {\n ts: () => import(\"shiki/dist/langs/typescript.mjs\"),\n tsx: () => import(\"shiki/dist/langs/tsx.mjs\"),\n js: () => import(\"shiki/dist/langs/javascript.mjs\"),\n json: () => import(\"shiki/dist/langs/json.mjs\"),\n bash: () => import(\"shiki/dist/langs/bash.mjs\"),\n python: () => import(\"shiki/dist/langs/python.mjs\"),\n yaml: () => import(\"shiki/dist/langs/yaml.mjs\"),\n diff: () => import(\"shiki/dist/langs/diff.mjs\"),\n};\n\nexport interface CodeToken {\n content: string;\n className: string;\n}\n\nexport async function highlight(code: string, lang: CodeLang): Promise<CodeToken[][] | null> {\n if (lang === \"text\") return null;\n const h = await getHighlighter();\n if (!h.getLoadedLanguages().includes(lang)) {\n const loader = LOADERS[lang];\n if (!loader) return null;\n await h.loadLanguage((await loader()).default);\n }\n return h\n .codeToTokens(code, { lang, theme: \"kaeso\" })\n .tokens.map((line) => line.map((token) => ({ content: token.content, className: codeTokenClass(token.color, token.fontStyle) })));\n}\n","import { forwardRef, useEffect, useMemo, useState, type ReactNode } from \"react\";\nimport { Tabs as BaseTabs } from \"@base-ui/react/tabs\";\nimport { cn } from \"../../utils/cn.js\";\nimport { CopyButton } from \"../copy-button/copy-button.js\";\nimport { highlight, type CodeLang, type CodeToken } from \"./highlighter.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_CODE_BLOCK_VARIANTS = {\n surface: {\n well: { classes: \"rounded-well bg-fill-1\" },\n plain: { classes: \"bg-transparent\" },\n },\n} as const;\nexport const KAESO_CODE_BLOCK_DEFAULT_VARIANTS = { surface: \"well\" } as const;\n\nexport interface CodeTab {\n label: string;\n code: string;\n lang?: CodeLang | undefined;\n}\n\nexport interface CodeBlockProps {\n code?: string | undefined;\n lang?: CodeLang | undefined;\n tabs?: CodeTab[] | undefined;\n tab?: string | undefined;\n onTabChange?: ((label: string) => void) | undefined;\n title?: ReactNode | undefined;\n lineNumbers?: boolean | undefined;\n highlightLines?: number[] | undefined;\n collapseAfter?: number | undefined;\n surface?: keyof typeof KAESO_CODE_BLOCK_VARIANTS.surface | undefined;\n copy?: boolean | undefined;\n wrap?: boolean | undefined;\n className?: string | undefined;\n}\n\nexport const CodeBlock = /* @__PURE__ */ forwardRef<HTMLDivElement, CodeBlockProps>(function CodeBlock(\n {\n code = \"\",\n lang = \"ts\",\n tabs,\n tab: chosen,\n onTabChange,\n title,\n lineNumbers,\n highlightLines = [],\n collapseAfter = 24,\n surface = \"well\",\n copy = true,\n wrap = false,\n className,\n },\n ref,\n) {\n const [own, setOwn] = useState(0);\n const match = chosen === undefined ? -1 : (tabs?.findIndex((item) => item.label === chosen) ?? -1);\n const tab = match >= 0 ? match : own;\n const choose = (i: number) => {\n setOwn(i);\n const label = tabs?.[i]?.label;\n if (label !== undefined) onTabChange?.(label);\n };\n const t = useUiText();\n const current = tabs?.[tab] ?? { label: \"\", code, lang };\n const text = current.code.replace(/\\n$/, \"\");\n const lines = useMemo(() => text.split(\"\\n\"), [text]);\n const [highlighted, setHighlighted] = useState<{ text: string; lang: CodeLang; tokens: CodeToken[][] | null } | null>(null);\n const [expanded, setExpanded] = useState(false);\n useEffect(() => {\n let alive = true;\n const lang = current.lang ?? \"ts\";\n highlight(text, lang)\n .then((tokens) => alive && setHighlighted({ text, lang, tokens }))\n .catch(() => undefined);\n return () => {\n alive = false;\n };\n }, [text, current.lang]);\n const tokenLines = highlighted && highlighted.lang === (current.lang ?? \"ts\") && highlighted.text === text ? highlighted.tokens : null;\n const collapsed = collapseAfter > 0 && lines.length > collapseAfter && !expanded;\n const visible = collapsed ? collapseAfter : lines.length;\n const codeClass = cn(\"relative overflow-x-auto py-16 scrollbar-quiet focus-ring-inset\", collapsed && \"overflow-y-hidden\", copy && \"coarse:mr-40\");\n const source = (\n <pre className=\"mono text-small text-fg\">\n <code className={cn(\"grid\", !wrap && \"min-w-max\")}>\n {lines.slice(0, visible).map((line, i) => (\n <span key={i} className={cn(\"flex px-16 leading-code\", wrap && \"whitespace-pre-wrap wrap-anywhere\", highlightLines.includes(i + 1) && \"bg-fill-2\")}>\n {lineNumbers && <span className=\"mr-16 inline-block w-24 shrink-0 text-right text-fg-tertiary select-none tabular\">{i + 1}</span>}\n <span className=\"min-w-0\">\n {tokenLines?.[i]?.length\n ? tokenLines[i].map((token, j) => (\n <span key={j} className={token.className || undefined}>\n {token.content}\n </span>\n ))\n : line || \" \"}\n </span>\n </span>\n ))}\n </code>\n </pre>\n );\n\n return (\n <div ref={ref} className={cn(\"group/code relative min-w-0\", KAESO_CODE_BLOCK_VARIANTS.surface[surface].classes, className)}>\n <BaseTabs.Root value={tab} onValueChange={(v: unknown) => choose(Number(v))}>\n {(title || tabs) && (\n <div className=\"flex h-44 items-center gap-4 px-8 hairline-b\">\n {title && <span className=\"px-8 mono text-small text-fg-secondary\">{title}</span>}\n {tabs && (\n <BaseTabs.List aria-label={t(\"codeBlock.language\", \"Language\")} className=\"flex items-center gap-2\">\n {tabs.map((item, i) => (\n <BaseTabs.Tab\n key={item.label}\n value={i}\n className={cn(\n \"inline-flex h-28 cursor-pointer items-center rounded-pill px-10 text-small font-medium transition-control focus-ring\",\n i === tab ? \"bg-fill-2 text-fg\" : \"text-fg-secondary hover:bg-fill-2 hover:text-fg\",\n )}\n >\n {item.label}\n </BaseTabs.Tab>\n ))}\n </BaseTabs.List>\n )}\n </div>\n )}\n {tabs ? (\n <BaseTabs.Panel value={tab} className={codeClass}>\n {source}\n </BaseTabs.Panel>\n ) : (\n <div\n tabIndex={0}\n role=\"region\"\n aria-label={typeof title === \"string\" ? t(\"codeBlock.titledCode\", \"{title} code\", { title }) : t(\"codeBlock.code\", \"Code\")}\n className={codeClass}\n >\n {source}\n </div>\n )}\n </BaseTabs.Root>\n {collapseAfter > 0 && lines.length > collapseAfter && (\n <div className=\"flex justify-center pb-12\">\n <button\n type=\"button\"\n onClick={() => setExpanded((e) => !e)}\n className=\"inline-flex h-28 cursor-pointer items-center rounded-pill px-12 text-small font-medium text-fg-secondary transition-control hover:bg-fill-2 hover:text-fg focus-ring\"\n >\n {expanded ? t(\"codeBlock.showLess\", \"Show less\") : t(\"codeBlock.showAllLines\", \"Show all {count} lines\", { count: String(lines.length) })}\n </button>\n </div>\n )}\n {copy && (\n <div\n className={cn(\n \"absolute right-8 opacity-0 transition-control group-hover/code:opacity-100 coarse:opacity-100 focus-within:opacity-100\",\n title || tabs ? \"top-52\" : \"top-8\",\n )}\n >\n <CopyButton value={text} label={t(\"codeBlock.copy\", \"Copy code\")} />\n </div>\n )}\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") CodeBlock.displayName = \"CodeBlock\";\n\nexport const CodeHighlighted = CodeBlock;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"collapsible-Cw_1aem5.js","names":["Collapsible","BaseCollapsible","__icon_ArrowRight01Icon","Accordion","BaseAccordion","__icon_ArrowDown01Icon","cn","KAESO_COLLAPSIBLE_VARIANTS","KAESO_COLLAPSIBLE_DEFAULT_VARIANTS","TRIGGER","Collapsible$1","Collapsible","open","defaultOpen","onOpenChange","o","className","Icon","ArrowRight01Icon","title","hint","Accordion$1","Accordion","multiple","defaultValue","items","it","ArrowDown01Icon"],"sources":["../../src/components/collapsible/collapsible.tsx"],"sourcesContent":["import { forwardRef, type ReactNode } from \"react\";\nimport { Collapsible as BaseCollapsible } from \"@base-ui/react/collapsible\";\nimport { Accordion as BaseAccordion } from \"@base-ui/react/accordion\";\nimport { cn } from \"../../utils/cn.js\";\nimport { ArrowRight01Icon as __icon_ArrowRight01Icon, ArrowDown01Icon as __icon_ArrowDown01Icon } from \"@hugeicons/core-free-icons\";\nimport { Icon } from \"../icon/icon.js\";\n\nexport const KAESO_COLLAPSIBLE_VARIANTS = {\n state: {\n closed: { classes: \"\" },\n open: { classes: \"group-data-panel-open/dt:rotate-90\" },\n },\n} as const;\nexport const KAESO_COLLAPSIBLE_DEFAULT_VARIANTS = { state: \"closed\" } as const;\n\nconst TRIGGER =\n \"group/dt flex min-h-40 w-full cursor-pointer items-center gap-8 rounded-item px-8 -mx-8 text-left text-body font-medium text-fg transition-control hover:bg-fill-1 focus-ring-inset\";\n\nexport interface CollapsibleProps {\n title: ReactNode;\n children: ReactNode;\n open?: boolean | undefined;\n defaultOpen?: boolean | undefined;\n onOpenChange?: ((open: boolean) => void) | undefined;\n hint?: ReactNode | undefined;\n className?: string | undefined;\n}\n\nexport const Collapsible = /* @__PURE__ */ forwardRef<HTMLDivElement, CollapsibleProps>(function Collapsible(\n { title, children, open, defaultOpen, onOpenChange, hint, className },\n ref,\n) {\n return (\n <BaseCollapsible.Root\n ref={ref}\n {...(open !== undefined ? { open } : {})}\n {...(defaultOpen !== undefined ? { defaultOpen } : {})}\n {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}\n className={cn(\"flex flex-col\", className)}\n >\n <BaseCollapsible.Trigger className={TRIGGER}>\n <Icon\n icon={__icon_ArrowRight01Icon}\n size=\"sm\"\n className={cn(\"text-fg-tertiary transition-transform duration-180 ease-overlay\", KAESO_COLLAPSIBLE_VARIANTS.state.open.classes)}\n />\n <span className=\"min-w-0 flex-1\">{title}</span>\n {hint && <span className=\"text-small font-regular text-fg-secondary\">{hint}</span>}\n </BaseCollapsible.Trigger>\n <BaseCollapsible.Panel className=\"collapse-motion\">\n <div className=\"pt-4 pb-12 pl-24\">{children}</div>\n </BaseCollapsible.Panel>\n </BaseCollapsible.Root>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Collapsible.displayName = \"Collapsible\";\n\nexport interface AccordionItem {\n value: string;\n title: ReactNode;\n content: ReactNode;\n hint?: ReactNode | undefined;\n}\n\nexport interface AccordionProps {\n items: AccordionItem[];\n multiple?: boolean | undefined;\n defaultValue?: string[] | undefined;\n className?: string | undefined;\n}\n\nexport const Accordion = /* @__PURE__ */ forwardRef<HTMLDivElement, AccordionProps>(function Accordion({ items, multiple = false, defaultValue, className }, ref) {\n return (\n <BaseAccordion.Root\n ref={ref}\n {...(multiple ? { multiple: true } : {})}\n {...(defaultValue ? { defaultValue } : {})}\n className={cn(\"flex flex-col\", className)}\n >\n {items.map((it) => (\n <BaseAccordion.Item key={it.value} value={it.value} className=\"hairline-b\">\n <BaseAccordion.Header>\n <BaseAccordion.Trigger className={cn(TRIGGER, \"min-h-48\")}>\n <span className=\"min-w-0 flex-1\">{it.title}</span>\n {it.hint && <span className=\"text-small font-regular text-fg-secondary\">{it.hint}</span>}\n <Icon\n icon={__icon_ArrowDown01Icon}\n size=\"sm\"\n className=\"text-fg-tertiary transition-transform duration-180 ease-overlay group-data-panel-open/dt:rotate-180\"\n />\n </BaseAccordion.Trigger>\n </BaseAccordion.Header>\n <BaseAccordion.Panel className=\"collapse-motion\">\n <div className=\"pb-16 text-body text-fg-secondary\">{it.content}</div>\n </BaseAccordion.Panel>\n </BaseAccordion.Item>\n ))}\n </BaseAccordion.Root>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Accordion.displayName = \"Accordion\";\n"],"mappings":";;;;;;;;;AAOA,IAAaO,IAA6B,EACxC,OAAO;CACL,QAAQ,EAAE,SAAS,GAAG;CACtB,MAAM,EAAE,SAAS,qCAAqC;AACxD,EACF,GACaC,IAAqC,EAAE,OAAO,SAAS,GAE9DC,IACJ,uLAYWT,IAA8B,kBAA6C,SACtF,EAAE,UAAO,aAAU,SAAM,gBAAa,iBAAc,SAAM,gBAC1D,GACA;CACA,OACE,kBAACC,EAAgB,MAAjB;EACO;EACL,GAAKW,MAAS,KAAA,IAAuB,CAAC,IAAZ,EAAE,QAAK;EACjC,GAAKC,MAAgB,KAAA,IAA8B,CAAC,IAAnB,EAAE,eAAY;EAC/C,GAAKC,IAAe,EAAE,eAAe,MAAeA,EAAaC,CAAC,EAAE,IAAI,CAAC;EACzE,WAAWT,EAAG,iBAAiBU,CAAS;EAL1C,UAAA,CAOE,kBAACf,EAAgB,SAAjB;GAAyB,WAAWQ;GAApC,UAAA;IACE,kBAACQ,GAAD;KACE,MAAMf;KACN,MAAK;KACL,WAAWI,EAAG,mEAAmEC,EAA2B,MAAM,KAAK,OAAO;IAC/H,CAAA;IACD,kBAAC,QAAD;KAAM,WAAU;KAAkB,UAAAY;IAAY,CAAA;IAC7CC,KAAQ,kBAAC,QAAD;KAAM,WAAU;KAA6C,UAAAA;IAAW,CAAA;GAC1D;EACzB,CAAA,GAAA,kBAACnB,EAAgB,OAAjB;GAAuB,WAAU;GAC/B,UAAA,kBAAC,OAAD;IAAK,WAAU;IAAoB;GAAc,CAAA;EAC5B,CAAA,CACH;;AAE1B,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAY,cAAc;AAgBrE,IAAaE,IAA4B,kBAA2C,SAAmB,EAAE,UAAO,cAAW,IAAO,iBAAc,gBAAa,GAAK;CAChK,OACE,kBAACC,EAAc,MAAf;EACO;EACL,GAAKmB,IAAW,EAAE,UAAU,GAAK,IAAI,CAAC;EACtC,GAAKC,IAAe,EAAE,gBAAa,IAAI,CAAC;EACxC,WAAWlB,EAAG,iBAAiBU,CAAS;EAEvC,UAAAS,EAAM,KAAK,MACV,kBAACrB,EAAc,MAAf;GAAmC,OAAOsB,EAAG;GAAO,WAAU;GAA9D,UAAA,CACE,kBAACtB,EAAc,QAAf,EAAA,UACE,kBAACA,EAAc,SAAf;IAAuB,WAAWE,EAAGG,GAAS,UAAU;IAAxD,UAAA;KACE,kBAAC,QAAD;MAAM,WAAU;MAAkB,UAAAiB,EAAG;KAAY,CAAA;KAChDA,EAAG,QAAQ,kBAAC,QAAD;MAAM,WAAU;MAA6C,UAAAA,EAAG;KAAW,CAAA;KACvF,kBAACT,GAAD;MACE,MAAMZ;MACN,MAAK;MACL,WAAU;KACX,CAAA;IACoB;GACH,CAAA,EAAA,CAAA,GACtB,kBAACD,EAAc,OAAf;IAAqB,WAAU;IAC7B,UAAA,kBAAC,OAAD;KAAK,WAAU;KAAqC,UAAAsB,EAAG;IAAa,CAAA;GACjD,CAAA,CACH;EAfK,GAAAA,EAAG,KAeR,CACrB;CACiB,CAAA;AAExB,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAU,cAAc"}