@logicplanes/kaeso-ui 0.4.0 → 0.4.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 (289) hide show
  1. package/ai/component-guides.md +1 -1
  2. package/ai/component-registry.json +10 -10
  3. package/ai/component-registry.md +9 -9
  4. package/ai/icons.md +1 -1
  5. package/ai/tokens.md +2 -1
  6. package/dist/blocks/delete-resource.js +1 -1
  7. package/dist/blocks/pages.js +5 -5
  8. package/dist/blocks/resource-list.js +4 -4
  9. package/dist/chunks/{app-frame-Cj_gCbmu.js → app-frame-DZPEf2NQ.js} +9 -9
  10. package/dist/chunks/{app-frame-Cj_gCbmu.js.map → app-frame-DZPEf2NQ.js.map} +1 -1
  11. package/dist/chunks/{avatar-DOzOhYJr.js → avatar-HnvBUoe5.js} +2 -2
  12. package/dist/chunks/{avatar-DOzOhYJr.js.map → avatar-HnvBUoe5.js.map} +1 -1
  13. package/dist/chunks/{badge-wUHlj7m3.js → badge-CM8ahjDR.js} +2 -2
  14. package/dist/chunks/{badge-wUHlj7m3.js.map → badge-CM8ahjDR.js.map} +1 -1
  15. package/dist/chunks/{banner-DY1jSc9Y.js → banner-CvYgPwCc.js} +4 -4
  16. package/dist/chunks/{banner-DY1jSc9Y.js.map → banner-CvYgPwCc.js.map} +1 -1
  17. package/dist/chunks/{button-h2IFCER2.js → button-9q66Ta23.js} +13 -13
  18. package/dist/chunks/button-9q66Ta23.js.map +1 -0
  19. package/dist/chunks/{calendar-cVuezHQ6.js → calendar-CeNcqLFd.js} +2 -2
  20. package/dist/chunks/{calendar-cVuezHQ6.js.map → calendar-CeNcqLFd.js.map} +1 -1
  21. package/dist/chunks/{checkbox-C5yvSS7O.js → checkbox-C_DrNA2N.js} +2 -2
  22. package/dist/chunks/{checkbox-C5yvSS7O.js.map → checkbox-C_DrNA2N.js.map} +1 -1
  23. package/dist/chunks/{cn-DUDmdLpZ.js → cn-Isw2DnQX.js} +10 -3
  24. package/dist/chunks/cn-Isw2DnQX.js.map +1 -0
  25. package/dist/chunks/{code-C49NzHUQ.js → code-Bp2p9AuD.js} +2 -2
  26. package/dist/chunks/{code-C49NzHUQ.js.map → code-Bp2p9AuD.js.map} +1 -1
  27. package/dist/chunks/code-block-mEH6Sy3h.js +309 -0
  28. package/dist/chunks/code-block-mEH6Sy3h.js.map +1 -0
  29. package/dist/chunks/{collapsible-CDQq1Y9x.js → collapsible-CtQNJn9b.js} +13 -13
  30. package/dist/chunks/collapsible-CtQNJn9b.js.map +1 -0
  31. package/dist/chunks/{combobox-B9ttar4C.js → combobox-D8ZOm8uT.js} +6 -6
  32. package/dist/chunks/{combobox-B9ttar4C.js.map → combobox-D8ZOm8uT.js.map} +1 -1
  33. package/dist/chunks/{command-list-DZMVrXWD.js → command-list-CzMbdtJs.js} +140 -139
  34. package/dist/chunks/command-list-CzMbdtJs.js.map +1 -0
  35. package/dist/chunks/copy-button-Cdea0wKl.js +142 -0
  36. package/dist/chunks/copy-button-Cdea0wKl.js.map +1 -0
  37. package/dist/chunks/{core-Bu6iq5uh.js → core-FtMDNELx.js} +10 -10
  38. package/dist/chunks/core-FtMDNELx.js.map +1 -0
  39. package/dist/chunks/{date-popup-BJPA_fBm.js → date-popup-NytWvSNh.js} +4 -4
  40. package/dist/chunks/{date-popup-BJPA_fBm.js.map → date-popup-NytWvSNh.js.map} +1 -1
  41. package/dist/chunks/{dialog-BLcP7v24.js → dialog-BZCVFmGF.js} +5 -5
  42. package/dist/chunks/{dialog-BLcP7v24.js.map → dialog-BZCVFmGF.js.map} +1 -1
  43. package/dist/chunks/{empty-YXmSkKzR.js → empty-By1qTJr6.js} +2 -2
  44. package/dist/chunks/{empty-YXmSkKzR.js.map → empty-By1qTJr6.js.map} +1 -1
  45. package/dist/chunks/{field-BZriODU7.js → field-DfITT6Jm.js} +2 -2
  46. package/dist/chunks/{field-BZriODU7.js.map → field-DfITT6Jm.js.map} +1 -1
  47. package/dist/chunks/{icon-BqujXDUc.js → icon-D5uD_mnL.js} +2 -2
  48. package/dist/chunks/{icon-BqujXDUc.js.map → icon-D5uD_mnL.js.map} +1 -1
  49. package/dist/chunks/{icon-button-DmKFxQbP.js → icon-button-C7Du4pvb.js} +3 -3
  50. package/dist/chunks/{icon-button-DmKFxQbP.js.map → icon-button-C7Du4pvb.js.map} +1 -1
  51. package/dist/chunks/{identity-Chj7fW89.js → identity-BcVQd-7H.js} +6 -6
  52. package/dist/chunks/{identity-Chj7fW89.js.map → identity-BcVQd-7H.js.map} +1 -1
  53. package/dist/chunks/{input-9y3afoiq.js → input-B6Docqrk.js} +5 -5
  54. package/dist/chunks/{input-9y3afoiq.js.map → input-B6Docqrk.js.map} +1 -1
  55. package/dist/chunks/{input-group-BoxjnN8I.js → input-group-Dgdb0JpZ.js} +4 -4
  56. package/dist/chunks/{input-group-BoxjnN8I.js.map → input-group-Dgdb0JpZ.js.map} +1 -1
  57. package/dist/chunks/{iso-field-DAa6iPWn.js → iso-field-SOZ7Z-yE.js} +2 -2
  58. package/dist/chunks/{iso-field-DAa6iPWn.js.map → iso-field-SOZ7Z-yE.js.map} +1 -1
  59. package/dist/chunks/{json-view-BkG2hTXV.js → json-view-DCTMY_j4.js} +3 -3
  60. package/dist/chunks/{json-view-BkG2hTXV.js.map → json-view-DCTMY_j4.js.map} +1 -1
  61. package/dist/chunks/{kbd-DqWmbr_e.js → kbd-9A9rX60U.js} +2 -2
  62. package/dist/chunks/{kbd-DqWmbr_e.js.map → kbd-9A9rX60U.js.map} +1 -1
  63. package/dist/chunks/{link-YMcxM-BZ.js → link-CtII7u3h.js} +3 -3
  64. package/dist/chunks/{link-YMcxM-BZ.js.map → link-CtII7u3h.js.map} +1 -1
  65. package/dist/chunks/{list-7VARol_x.js → list-CMXBTVkI.js} +8 -8
  66. package/dist/chunks/{list-7VARol_x.js.map → list-CMXBTVkI.js.map} +1 -1
  67. package/dist/chunks/{loader-ENBh2Fbt.js → loader-DqOUwS1j.js} +2 -2
  68. package/dist/chunks/{loader-ENBh2Fbt.js.map → loader-DqOUwS1j.js.map} +1 -1
  69. package/dist/chunks/{markdown-DBVNULWg.js → markdown-CwVQ0niB.js} +9 -9
  70. package/dist/chunks/{markdown-DBVNULWg.js.map → markdown-CwVQ0niB.js.map} +1 -1
  71. package/dist/chunks/{menu-Bnfi9P3t.js → menu-Cjg4RggA.js} +4 -4
  72. package/dist/chunks/{menu-Bnfi9P3t.js.map → menu-Cjg4RggA.js.map} +1 -1
  73. package/dist/chunks/{meter-DhTnem4k.js → meter-VrC2J2GF.js} +2 -2
  74. package/dist/chunks/{meter-DhTnem4k.js.map → meter-VrC2J2GF.js.map} +1 -1
  75. package/dist/chunks/{nav-sheet-D7wIF_OU.js → nav-sheet-Y2Ite-iF.js} +2 -2
  76. package/dist/chunks/{nav-sheet-D7wIF_OU.js.map → nav-sheet-Y2Ite-iF.js.map} +1 -1
  77. package/dist/chunks/{nav-wordmark-DmbT1Aiw.js → nav-wordmark-CjWM3NYa.js} +2 -2
  78. package/dist/chunks/{nav-wordmark-DmbT1Aiw.js.map → nav-wordmark-CjWM3NYa.js.map} +1 -1
  79. package/dist/chunks/{page-header-B3tV8Wog.js → page-header-CZCQVHYE.js} +4 -4
  80. package/dist/chunks/{page-header-B3tV8Wog.js.map → page-header-CZCQVHYE.js.map} +1 -1
  81. package/dist/chunks/{pagination-CLfsofo3.js → pagination-BStrMDqM.js} +4 -4
  82. package/dist/chunks/{pagination-CLfsofo3.js.map → pagination-BStrMDqM.js.map} +1 -1
  83. package/dist/chunks/{picker-popover-B5YdOxNm.js → picker-popover-BerQAEBT.js} +7 -7
  84. package/dist/chunks/{picker-popover-B5YdOxNm.js.map → picker-popover-BerQAEBT.js.map} +1 -1
  85. package/dist/chunks/{popover-bjxg020P.js → popover-CgLt_4yG.js} +2 -2
  86. package/dist/chunks/{popover-bjxg020P.js.map → popover-CgLt_4yG.js.map} +1 -1
  87. package/dist/chunks/{radio-DwYcXAzv.js → radio-07Muf4cX.js} +2 -2
  88. package/dist/chunks/{radio-DwYcXAzv.js.map → radio-07Muf4cX.js.map} +1 -1
  89. package/dist/chunks/{range-popup-ZunS8QSH.js → range-popup-BCov1iPe.js} +6 -6
  90. package/dist/chunks/{range-popup-ZunS8QSH.js.map → range-popup-BCov1iPe.js.map} +1 -1
  91. package/dist/chunks/{release-art-Ogl-L1Vh.js → release-art-69WpgVik.js} +2 -2
  92. package/dist/chunks/{release-art-Ogl-L1Vh.js.map → release-art-69WpgVik.js.map} +1 -1
  93. package/dist/chunks/{rights-CiIBzT9o.js → rights-UVngOX_4.js} +9 -9
  94. package/dist/chunks/{rights-CiIBzT9o.js.map → rights-UVngOX_4.js.map} +1 -1
  95. package/dist/chunks/{section-BsET7Fo-.js → section-Bvg0EUnr.js} +3 -3
  96. package/dist/chunks/{section-BsET7Fo-.js.map → section-Bvg0EUnr.js.map} +1 -1
  97. package/dist/chunks/{segmented-DxjnIuww.js → segmented-DRLDN8EW.js} +4 -4
  98. package/dist/chunks/{segmented-DxjnIuww.js.map → segmented-DRLDN8EW.js.map} +1 -1
  99. package/dist/chunks/{select-Bbv2f5F8.js → select-eFTHLeYG.js} +14 -14
  100. package/dist/chunks/select-eFTHLeYG.js.map +1 -0
  101. package/dist/chunks/{separator-CpAUELNs.js → separator-D86IW7Ge.js} +2 -2
  102. package/dist/chunks/{separator-CpAUELNs.js.map → separator-D86IW7Ge.js.map} +1 -1
  103. package/dist/chunks/{sidebar-ZSTPK9Jn.js → sidebar-DifJ5KgE.js} +7 -7
  104. package/dist/chunks/{sidebar-ZSTPK9Jn.js.map → sidebar-DifJ5KgE.js.map} +1 -1
  105. package/dist/chunks/{sidebar-menu-ct8IiL4z.js → sidebar-menu-XKOiwrQp.js} +2 -2
  106. package/dist/chunks/{sidebar-menu-ct8IiL4z.js.map → sidebar-menu-XKOiwrQp.js.map} +1 -1
  107. package/dist/chunks/{skeleton-BM797MAg.js → skeleton-Cu74kGJA.js} +2 -2
  108. package/dist/chunks/{skeleton-BM797MAg.js.map → skeleton-Cu74kGJA.js.map} +1 -1
  109. package/dist/chunks/{slider-Ds-tqY-1.js → slider-Dh0qq1wa.js} +2 -2
  110. package/dist/chunks/{slider-Ds-tqY-1.js.map → slider-Dh0qq1wa.js.map} +1 -1
  111. package/dist/chunks/{status-dot-BqVOlShY.js → status-dot-u4Izk-uC.js} +3 -3
  112. package/dist/chunks/{status-dot-BqVOlShY.js.map → status-dot-u4Izk-uC.js.map} +1 -1
  113. package/dist/chunks/{swap-text-Cica0pUr.js → swap-text-CC77iKJF.js} +2 -2
  114. package/dist/chunks/{swap-text-Cica0pUr.js.map → swap-text-CC77iKJF.js.map} +1 -1
  115. package/dist/chunks/{switch-Cq1OfeBr.js → switch-CbU9m9gi.js} +5 -5
  116. package/dist/chunks/switch-CbU9m9gi.js.map +1 -0
  117. package/dist/chunks/{table-D-36EM7f.js → table-CTxDp7zC.js} +2 -2
  118. package/dist/chunks/{table-D-36EM7f.js.map → table-CTxDp7zC.js.map} +1 -1
  119. package/dist/chunks/{tag-XgPXKoxi.js → tag-CqSk8F7M.js} +4 -4
  120. package/dist/chunks/{tag-XgPXKoxi.js.map → tag-CqSk8F7M.js.map} +1 -1
  121. package/dist/chunks/{text-IoDy3Vxi.js → text-hFc6TDp9.js} +3 -3
  122. package/dist/chunks/{text-IoDy3Vxi.js.map → text-hFc6TDp9.js.map} +1 -1
  123. package/dist/chunks/{textarea-jOiTkfMf.js → textarea-17Ftvph_.js} +5 -5
  124. package/dist/chunks/{textarea-jOiTkfMf.js.map → textarea-17Ftvph_.js.map} +1 -1
  125. package/dist/chunks/{timeseries-BBWsSM4Q.js → timeseries-CbnSFD5q.js} +3 -3
  126. package/dist/chunks/{timeseries-BBWsSM4Q.js.map → timeseries-CbnSFD5q.js.map} +1 -1
  127. package/dist/chunks/{toolbar-nVLFWH2i.js → toolbar-B_960Ttx.js} +2 -2
  128. package/dist/chunks/{toolbar-nVLFWH2i.js.map → toolbar-B_960Ttx.js.map} +1 -1
  129. package/dist/chunks/{tooltip-CTBnfiDH.js → tooltip-CRApbLF6.js} +4 -4
  130. package/dist/chunks/{tooltip-CTBnfiDH.js.map → tooltip-CRApbLF6.js.map} +1 -1
  131. package/dist/chunks/{tooltip-root-B0zWodAJ.js → tooltip-root-Dssjjp-E.js} +4 -4
  132. package/dist/chunks/{tooltip-root-B0zWodAJ.js.map → tooltip-root-Dssjjp-E.js.map} +1 -1
  133. package/dist/components/app-frame.js +2 -2
  134. package/dist/components/avatar.js +1 -1
  135. package/dist/components/badge.js +1 -1
  136. package/dist/components/banner.js +1 -1
  137. package/dist/components/button-group.js +4 -4
  138. package/dist/components/button.js +1 -1
  139. package/dist/components/calendar.js +1 -1
  140. package/dist/components/charts/bar.js +2 -2
  141. package/dist/components/charts/donut.js +2 -2
  142. package/dist/components/charts/gauge.js +2 -2
  143. package/dist/components/charts/heatmap.js +1 -1
  144. package/dist/components/charts/sankey.js +2 -2
  145. package/dist/components/charts/sparkline.js +1 -1
  146. package/dist/components/charts/timeseries.js +1 -1
  147. package/dist/components/charts.js +2 -2
  148. package/dist/components/checkbox.js +1 -1
  149. package/dist/components/code-block.js +2 -2
  150. package/dist/components/code.js +1 -1
  151. package/dist/components/collapsible.js +1 -1
  152. package/dist/components/combobox.js +1 -1
  153. package/dist/components/command-list.js +2 -2
  154. package/dist/components/command-palette.js +4 -4
  155. package/dist/components/copy-button.js +1 -1
  156. package/dist/components/data-table.js +14 -14
  157. package/dist/components/data-table.js.map +1 -1
  158. package/dist/components/date-picker.js +7 -7
  159. package/dist/components/date-picker.js.map +1 -1
  160. package/dist/components/dialog.js +2 -2
  161. package/dist/components/display-options.js +8 -8
  162. package/dist/components/empty.js +1 -1
  163. package/dist/components/field.js +1 -1
  164. package/dist/components/filter-chip.js +5 -5
  165. package/dist/components/filter-row.js +1 -1
  166. package/dist/components/flow.js +2 -2
  167. package/dist/components/heading.js +1 -1
  168. package/dist/components/icon-button.js +1 -1
  169. package/dist/components/icon.js +1 -1
  170. package/dist/components/input.js +7 -7
  171. package/dist/components/kaeso/conversation.js +8 -8
  172. package/dist/components/kaeso/identity.js +1 -1
  173. package/dist/components/kaeso/moments.js +5 -5
  174. package/dist/components/kaeso/rights.js +1 -1
  175. package/dist/components/kaeso/usage.js +5 -5
  176. package/dist/components/kaeso.js +10 -10
  177. package/dist/components/kbd.js +1 -1
  178. package/dist/components/key-value.js +3 -3
  179. package/dist/components/label.js +1 -1
  180. package/dist/components/layout.js +1 -1
  181. package/dist/components/link.js +1 -1
  182. package/dist/components/list.js +1 -1
  183. package/dist/components/loader.js +2 -2
  184. package/dist/components/logo.js +2 -2
  185. package/dist/components/markdown.js +1 -1
  186. package/dist/components/menu.js +1 -1
  187. package/dist/components/meter.js +1 -1
  188. package/dist/components/page-header.js +1 -1
  189. package/dist/components/pagination.js +1 -1
  190. package/dist/components/playground.js +16 -16
  191. package/dist/components/popover.js +2 -2
  192. package/dist/components/qr-code.js +2 -2
  193. package/dist/components/qr-code.js.map +1 -1
  194. package/dist/components/radio.js +1 -1
  195. package/dist/components/release-art.js +1 -1
  196. package/dist/components/scroll-area.js +1 -1
  197. package/dist/components/section.js +1 -1
  198. package/dist/components/segmented.js +1 -1
  199. package/dist/components/select.js +1 -1
  200. package/dist/components/separator.js +1 -1
  201. package/dist/components/settings.js +5 -4
  202. package/dist/components/settings.js.map +1 -1
  203. package/dist/components/sheet.js +4 -4
  204. package/dist/components/sheet.js.map +1 -1
  205. package/dist/components/sidebar.js +1 -1
  206. package/dist/components/skeleton.js +1 -1
  207. package/dist/components/slider.js +1 -1
  208. package/dist/components/stat.js +3 -3
  209. package/dist/components/status-dot.js +1 -1
  210. package/dist/components/surface.js +1 -1
  211. package/dist/components/swap-text.js +1 -1
  212. package/dist/components/switch.js +1 -1
  213. package/dist/components/table.js +1 -1
  214. package/dist/components/tabs.js +2 -2
  215. package/dist/components/tag.js +1 -1
  216. package/dist/components/text.js +1 -1
  217. package/dist/components/theme-image.js +1 -1
  218. package/dist/components/theme-menu.js +2 -2
  219. package/dist/components/theme-select.js +1 -1
  220. package/dist/components/timeline.js +1 -1
  221. package/dist/components/toast.js +4 -4
  222. package/dist/components/toc.js +1 -1
  223. package/dist/components/toolbar.js +1 -1
  224. package/dist/components/tooltip.js +1 -1
  225. package/dist/components/visually-hidden.js +1 -1
  226. package/dist/index.js +55 -55
  227. package/dist/kaeso.css +45 -0
  228. package/dist/styles.css +1 -1
  229. package/dist/types/blocks/delete-resource/delete-resource.d.ts +1 -1
  230. package/dist/types/blocks/pages/pages.d.ts +3 -3
  231. package/dist/types/blocks/resource-list/resource-list.d.ts +1 -1
  232. package/dist/types/components/app-frame/app-frame.d.ts +1 -1
  233. package/dist/types/components/app-frame/nav-sheet.d.ts +1 -1
  234. package/dist/types/components/button/button.d.ts +6 -6
  235. package/dist/types/components/calendar/calendar.d.ts +1 -1
  236. package/dist/types/components/charts/core.d.ts +5 -5
  237. package/dist/types/components/combobox/combobox.d.ts +1 -1
  238. package/dist/types/components/command-list/picker-popover.d.ts +1 -1
  239. package/dist/types/components/command-palette/command-palette.d.ts +1 -1
  240. package/dist/types/components/data-table/data-table.d.ts +1 -1
  241. package/dist/types/components/date-picker/date-popup.d.ts +1 -1
  242. package/dist/types/components/date-picker/iso-field.d.ts +1 -1
  243. package/dist/types/components/date-picker/range-popup.d.ts +1 -1
  244. package/dist/types/components/dialog/dialog.d.ts +3 -3
  245. package/dist/types/components/dialog/scope.d.ts +1 -1
  246. package/dist/types/components/dialog/step-dialog.d.ts +1 -1
  247. package/dist/types/components/display-options/display-options.d.ts +1 -1
  248. package/dist/types/components/field/field.d.ts +1 -1
  249. package/dist/types/components/list/list.d.ts +1 -1
  250. package/dist/types/components/list/row-checkbox.d.ts +1 -1
  251. package/dist/types/components/list/virtual-rows.d.ts +1 -1
  252. package/dist/types/components/menu/menu.d.ts +8 -8
  253. package/dist/types/components/playground/model-picker.d.ts +3 -3
  254. package/dist/types/components/playground/parameter-panel.d.ts +1 -1
  255. package/dist/types/components/popover/hover-card.d.ts +2 -2
  256. package/dist/types/components/popover/popover-root.d.ts +3 -3
  257. package/dist/types/components/radio/radio.d.ts +1 -1
  258. package/dist/types/components/select/option-checkbox.d.ts +1 -1
  259. package/dist/types/components/select/select.d.ts +4 -4
  260. package/dist/types/components/sheet/sheet.d.ts +4 -4
  261. package/dist/types/components/sidebar/sidebar-menu.d.ts +1 -1
  262. package/dist/types/components/sidebar/sidebar.d.ts +7 -7
  263. package/dist/types/components/theme-menu/theme-menu.d.ts +1 -1
  264. package/dist/types/components/toast/toast.d.ts +3 -3
  265. package/dist/types/components/toolbar/toolbar.d.ts +1 -1
  266. package/dist/types/components/tooltip/tooltip-provider.d.ts +1 -1
  267. package/dist/types/components/tooltip/tooltip-root.d.ts +1 -1
  268. package/dist/types/components/tooltip/tooltip.d.ts +2 -2
  269. package/dist/types/hooks/use-scroll-fade.d.ts +2 -0
  270. package/dist/types/i18n/provider.d.ts +1 -1
  271. package/dist/types/theme/theme-provider.d.ts +1 -1
  272. package/dist/types/utils/cn.d.ts +3 -0
  273. package/dist/types/utils/inset.d.ts +2 -2
  274. package/dist/types/utils/link-provider.d.ts +1 -1
  275. package/dist/types/utils/portal-context.d.ts +1 -1
  276. package/dist/utils.js +1 -1
  277. package/foundations/color.md +1 -0
  278. package/package.json +8 -8
  279. package/dist/chunks/button-h2IFCER2.js.map +0 -1
  280. package/dist/chunks/cn-DUDmdLpZ.js.map +0 -1
  281. package/dist/chunks/code-block-BU8gYeZQ.js +0 -280
  282. package/dist/chunks/code-block-BU8gYeZQ.js.map +0 -1
  283. package/dist/chunks/collapsible-CDQq1Y9x.js.map +0 -1
  284. package/dist/chunks/command-list-DZMVrXWD.js.map +0 -1
  285. package/dist/chunks/copy-button-CXJ7fA9z.js +0 -109
  286. package/dist/chunks/copy-button-CXJ7fA9z.js.map +0 -1
  287. package/dist/chunks/core-Bu6iq5uh.js.map +0 -1
  288. package/dist/chunks/select-Bbv2f5F8.js.map +0 -1
  289. package/dist/chunks/switch-Cq1OfeBr.js.map +0 -1
@@ -2,10 +2,10 @@ import { type ReactNode } from "react";
2
2
  export declare function InsetContent({ children, inset }: {
3
3
  children: ReactNode;
4
4
  inset?: boolean | undefined;
5
- }): import("react/jsx-runtime").JSX.Element;
5
+ }): import("react").JSX.Element;
6
6
  export declare function useInset(): boolean;
7
7
  export declare function GutterContent({ children, padded }: {
8
8
  children: ReactNode;
9
9
  padded?: boolean | undefined;
10
- }): import("react/jsx-runtime").JSX.Element;
10
+ }): import("react").JSX.Element;
11
11
  export declare function useGutterPadded(): boolean;
@@ -7,7 +7,7 @@ export type LinkComponent = ComponentType<LinkComponentProps>;
7
7
  export declare function LinkProvider({ component, children }: {
8
8
  component: LinkComponent;
9
9
  children: ReactNode;
10
- }): import("react/jsx-runtime").JSX.Element;
10
+ }): import("react").JSX.Element;
11
11
  export declare namespace LinkProvider {
12
12
  var displayName: string;
13
13
  }
@@ -2,7 +2,7 @@ import { type ReactNode } from "react";
2
2
  export declare function PortalContainer({ children, className }: {
3
3
  children: ReactNode;
4
4
  className?: string;
5
- }): import("react/jsx-runtime").JSX.Element;
5
+ }): import("react").JSX.Element;
6
6
  export declare namespace PortalContainer {
7
7
  var displayName: string;
8
8
  }
package/dist/utils.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { t as e } from "./chunks/cn-DUDmdLpZ.js";
2
+ import { t as e } from "./chunks/cn-Isw2DnQX.js";
3
3
  import { t } from "./chunks/utils-CdH72WEp.js";
4
4
  import { i as n, n as r, r as i, t as a } from "./chunks/dev-CR1p7gCm.js";
5
5
  import { n as o, r as s, t as c } from "./chunks/link-provider-BsUxhZKG.js";
@@ -17,6 +17,7 @@ Two tint-free ramps. Components use the role names, never a step, so both themes
17
17
  | `line-subtle` | Separators inside groups. |
18
18
  | `line` | Rings around controls and groups. |
19
19
  | `line-strong` | Hovered rings, table header rules. |
20
+ | `switch-thumb` | An off switch's thumb: white in light, light grey in dark. |
20
21
  | `text` | Titles, labels, values. |
21
22
  | `text-secondary` | Descriptions, metadata, icons at rest. |
22
23
  | `text-tertiary` | Placeholders, counts, axis labels. |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logicplanes/kaeso-ui",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Kaeso's UI library: React components on Base UI, Tailwind CSS v4 and the Kaeso tokens.",
5
5
  "license": "MIT",
6
6
  "author": "Devin Oldenburg",
@@ -90,7 +90,7 @@
90
90
  "dependencies": {
91
91
  "@base-ui/react": "1.9.0",
92
92
  "@tanstack/react-table": "8.21.3",
93
- "@tanstack/react-virtual": "3.14.20",
93
+ "@tanstack/react-virtual": "3.14.21",
94
94
  "clsx": "2.1.1",
95
95
  "d3-array": "3.2.4",
96
96
  "d3-sankey": "0.12.3",
@@ -102,7 +102,7 @@
102
102
  "shiki": "4.5.0",
103
103
  "tailwind-merge": "3.7.0",
104
104
  "uqr": "0.1.3",
105
- "@logicplanes/kaeso-tokens": "0.4.0"
105
+ "@logicplanes/kaeso-tokens": "0.4.1"
106
106
  },
107
107
  "devDependencies": {
108
108
  "@hugeicons/core-free-icons": "4.3.5",
@@ -119,16 +119,16 @@
119
119
  "@types/d3-shape": "3.2.0",
120
120
  "@types/d3-time": "3.0.4",
121
121
  "@types/node": "24.19.2",
122
- "@types/react": "19.2.7",
123
- "@types/react-dom": "19.2.3",
122
+ "@types/react": "19.3.0",
123
+ "@types/react-dom": "19.3.0",
124
124
  "@vitejs/plugin-react": "6.1.2",
125
125
  "@vitest/coverage-v8": "5.0.5",
126
126
  "axe-core": "4.14.0",
127
- "happy-dom": "21.0.1",
127
+ "happy-dom": "21.0.3",
128
128
  "oxlint": "1.88.0",
129
- "react": "19.2.8",
129
+ "react": "19.3.1",
130
130
  "react-docgen-typescript": "2.4.0",
131
- "react-dom": "19.2.8",
131
+ "react-dom": "19.3.1",
132
132
  "tailwindcss": "4.3.3",
133
133
  "tsx": "4.23.15",
134
134
  "typescript": "5.9.3",
@@ -1 +0,0 @@
1
- {"version":3,"file":"button-h2IFCER2.js","names":["_Fragment","cn","warnStylingClassName","warnMissingName","isExternalHref","useLinkComponent","Icon","KbdSequence","Tooltip","useDelayedLoading","Spinner","SwapText","Fragment$1","KAESO_BUTTON_VARIANTS","KAESO_BUTTON_DEFAULT_VARIANTS","LEADING_ICON_PADDING","TRAILING_ICON_PADDING","CIRCLE","BUTTON_ICON_SIZE","buttonClasses","size","shape","leading","variant","trailing","fullWidth","Button","rest","props","LinkComp","className","spinning","loading","busy","isCircle","iconSize","spinnerSize","leadingIcon","trailingIcon","shortcut","count","reserveLabels","domProps","k","softDisabled","disabledReason","disabled","inert","classes","content","handleClick","onClick","el","href","external","target","rel","type"],"sources":["../../src/components/button/button.tsx"],"sourcesContent":["import { forwardRef, type ButtonHTMLAttributes, type MouseEvent, type ReactElement, type ReactNode, type Ref } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { useLinkComponent, isExternalHref } from \"../../utils/link-provider.js\";\nimport { warnMissingName, warnStylingClassName } from \"../../utils/dev.js\";\nimport { Icon, type IconData, type IconSize } from \"../icon/icon.js\";\nimport { Spinner, useDelayedLoading } from \"../loader/loader.js\";\nimport { KbdSequence } from \"../kbd/kbd.js\";\nimport { Tooltip } from \"../tooltip/tooltip.js\";\nimport { SwapText } from \"../swap-text/swap-text.js\";\n\nexport const KAESO_BUTTON_VARIANTS = {\n variant: {\n primary: { classes: \"material-primary\" },\n secondary: { classes: \"material-secondary\" },\n ghost: { classes: \"material-ghost\" },\n quiet: {\n classes: \"material-ghost text-fg-secondary hover:text-fg\",\n },\n soft: { classes: \"material-soft\" },\n danger: { classes: \"material-danger\" },\n \"danger-secondary\": { classes: \"material-danger-secondary\" },\n link: {\n classes: \"bg-transparent text-fg underline decoration-line-strong decoration-1 underline-offset-3 hover:decoration-current disabled:text-fg-disabled\",\n },\n },\n size: {\n xs: { classes: \"h-24 px-10 gap-4 text-caption font-medium\" },\n sm: { classes: \"h-32 px-12 gap-6 text-body font-medium\" },\n md: { classes: \"h-36 px-16 gap-6 text-body font-medium\" },\n lg: { classes: \"h-40 px-18 gap-8 text-body font-medium\" },\n xl: { classes: \"h-48 px-22 gap-8 text-body-lg font-medium\" },\n },\n shape: {\n pill: { classes: \"rounded-pill\" },\n circle: { classes: \"rounded-pill p-0 justify-center\" },\n },\n} as const;\nexport const KAESO_BUTTON_DEFAULT_VARIANTS = { variant: \"secondary\", size: \"md\", shape: \"pill\" } as const;\n\nexport type ButtonVariant = keyof typeof KAESO_BUTTON_VARIANTS.variant;\nexport type ButtonSize = keyof typeof KAESO_BUTTON_VARIANTS.size;\nexport type ButtonShape = keyof typeof KAESO_BUTTON_VARIANTS.shape;\n\nconst LEADING_ICON_PADDING: Record<ButtonSize, string> = { xs: \"pl-8\", sm: \"pl-10\", md: \"pl-14\", lg: \"pl-16\", xl: \"pl-20\" };\nconst TRAILING_ICON_PADDING: Record<ButtonSize, string> = { xs: \"pr-8\", sm: \"pr-10\", md: \"pr-14\", lg: \"pr-16\", xl: \"pr-20\" };\nconst CIRCLE: Record<ButtonSize, string> = { xs: \"size-24\", sm: \"size-32\", md: \"size-36\", lg: \"size-40\", xl: \"size-48\" };\nexport const BUTTON_ICON_SIZE: Record<ButtonSize, IconSize> = { xs: \"xs\", sm: \"sm\", md: \"sm\", lg: \"md\", xl: \"lg\" };\n\nexport function buttonClasses({\n variant = KAESO_BUTTON_DEFAULT_VARIANTS.variant,\n size = KAESO_BUTTON_DEFAULT_VARIANTS.size,\n shape = KAESO_BUTTON_DEFAULT_VARIANTS.shape,\n leading = false,\n trailing = false,\n fullWidth = false,\n}: {\n variant?: ButtonVariant | undefined;\n size?: ButtonSize | undefined;\n shape?: ButtonShape | undefined;\n leading?: boolean | undefined;\n trailing?: boolean | undefined;\n fullWidth?: boolean | undefined;\n} = {}) {\n return cn(\n \"relative inline-flex shrink-0 select-none items-center justify-center whitespace-nowrap no-underline\",\n \"cursor-pointer transition-control focus-ring tap-target disabled:cursor-not-allowed\",\n KAESO_BUTTON_VARIANTS.size[size].classes,\n KAESO_BUTTON_VARIANTS.shape[shape].classes,\n shape === \"circle\" && CIRCLE[size],\n shape === \"pill\" && leading && variant !== \"link\" && LEADING_ICON_PADDING[size],\n shape === \"pill\" && trailing && variant !== \"link\" && TRAILING_ICON_PADDING[size],\n variant === \"link\" && \"-mx-4 px-4\",\n KAESO_BUTTON_VARIANTS.variant[variant].classes,\n fullWidth && \"w-full\",\n );\n}\n\ninterface CommonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, \"children\"> {\n variant?: ButtonVariant | undefined;\n size?: ButtonSize | undefined;\n loading?: boolean | undefined;\n disabledReason?: string | undefined;\n href?: string | undefined;\n target?: string | undefined;\n rel?: string | undefined;\n fullWidth?: boolean | undefined;\n \"data-force\"?: string | undefined;\n}\n\nexport interface PillButtonProps extends CommonProps {\n shape?: \"pill\" | undefined;\n children: ReactNode;\n leadingIcon?: IconData | undefined;\n trailingIcon?: IconData | undefined;\n shortcut?: string[] | string[][] | undefined;\n count?: number | undefined;\n reserveLabels?: ReactNode[] | undefined;\n}\n\nexport interface CircleButtonProps extends CommonProps {\n shape: \"circle\";\n icon: IconData;\n \"aria-label\": string;\n children?: never | undefined;\n}\n\nexport type ButtonProps = PillButtonProps | CircleButtonProps;\n\nexport const Button = /* @__PURE__ */ forwardRef<HTMLButtonElement | HTMLAnchorElement, ButtonProps>(function Button(props, ref) {\n const {\n variant = KAESO_BUTTON_DEFAULT_VARIANTS.variant,\n size = KAESO_BUTTON_DEFAULT_VARIANTS.size,\n loading = false,\n disabled = false,\n disabledReason,\n href,\n target,\n rel,\n fullWidth,\n className,\n type,\n onClick,\n ...rest\n } = props;\n const LinkComp = useLinkComponent();\n warnStylingClassName(\"Button\", className);\n\n const spinning = useDelayedLoading(loading);\n const busy = loading || spinning;\n const isCircle = props.shape === \"circle\";\n const iconSize = BUTTON_ICON_SIZE[size];\n const spinnerSize = iconSize === \"xs\" ? \"xs\" : iconSize === \"sm\" ? \"sm\" : \"md\";\n const leadingIcon = !isCircle ? (props as PillButtonProps).leadingIcon : undefined;\n const trailingIcon = !isCircle ? (props as PillButtonProps).trailingIcon : undefined;\n const shortcut = !isCircle ? (props as PillButtonProps).shortcut : undefined;\n const count = !isCircle ? (props as PillButtonProps).count : undefined;\n const reserveLabels = !isCircle ? (props as PillButtonProps).reserveLabels : undefined;\n if (isCircle) warnMissingName(\"Button\", !!(props as CircleButtonProps)[\"aria-label\"]);\n\n const domProps = { ...rest } as Record<string, unknown>;\n for (const k of [\"shape\", \"icon\", \"leadingIcon\", \"trailingIcon\", \"shortcut\", \"count\", \"children\", \"reserveLabels\"]) delete domProps[k];\n\n const softDisabled = !!disabledReason && disabled;\n const inert = busy || softDisabled;\n const classes = cn(\n buttonClasses({\n variant,\n size,\n shape: isCircle ? \"circle\" : \"pill\",\n leading: !!leadingIcon,\n trailing: !!trailingIcon || !!shortcut || count !== undefined,\n fullWidth: !!fullWidth,\n }),\n busy && \"cursor-progress\",\n className,\n );\n\n const content = isCircle ? (\n spinning ? (\n <Spinner size={spinnerSize} />\n ) : (\n <Icon icon={(props as CircleButtonProps).icon} size={iconSize} />\n )\n ) : (\n <>\n {spinning && leadingIcon ? <Spinner size={spinnerSize} /> : leadingIcon ? <Icon icon={leadingIcon} size={iconSize} /> : null}\n <span className={cn(\"inline-flex min-w-0 items-center\", spinning && !leadingIcon && \"opacity-0\")}>\n {reserveLabels ? <SwapText reserve={reserveLabels}>{(props as PillButtonProps).children}</SwapText> : (props as PillButtonProps).children}\n </span>\n {count !== undefined && (\n <span\n className={cn(\n \"inline-flex h-20 min-w-20 items-center justify-center rounded-pill px-6 text-caption font-medium tabular\",\n variant === \"primary\" ? \"bg-on-ink/15 text-on-ink\" : variant === \"danger\" ? \"bg-on-danger/20 text-on-danger\" : \"bg-fill-2 text-fg-secondary\",\n )}\n >\n {count}\n </span>\n )}\n {shortcut && <KbdSequence keys={shortcut} tone={variant === \"primary\" || variant === \"danger\" ? \"onInk\" : \"default\"} />}\n {trailingIcon && <Icon icon={trailingIcon} size={iconSize} />}\n {spinning && !leadingIcon && <Spinner size={spinnerSize} className=\"absolute inset-0 m-auto\" />}\n </>\n );\n\n const handleClick = (e: MouseEvent<HTMLButtonElement & HTMLAnchorElement>) => {\n if (inert) {\n e.preventDefault();\n return;\n }\n onClick?.(e as MouseEvent<HTMLButtonElement>);\n };\n\n let el: ReactNode;\n if (href && !disabled) {\n const external = isExternalHref(href);\n el = (\n <LinkComp\n ref={ref as Ref<HTMLAnchorElement>}\n href={href}\n className={classes}\n {...(target ? { target } : external ? { target: \"_blank\" } : {})}\n {...(rel ? { rel } : external ? { rel: \"noopener noreferrer\" } : {})}\n {...(domProps as object)}\n {...(busy ? { \"aria-busy\": true, \"data-loading\": \"\" } : {})}\n onClick={handleClick}\n >\n {content}\n </LinkComp>\n );\n } else {\n el = (\n <button\n ref={ref as Ref<HTMLButtonElement>}\n type={type ?? \"button\"}\n className={classes}\n disabled={disabled && !softDisabled}\n {...(domProps as object)}\n {...(softDisabled ? { \"aria-disabled\": true } : {})}\n {...(busy ? { \"aria-busy\": true, \"data-loading\": \"\" } : {})}\n {...(softDisabled ? { \"data-disabled\": \"\" } : {})}\n onClick={handleClick}\n >\n {content}\n </button>\n );\n }\n\n if (disabledReason && disabled) {\n return <Tooltip content={disabledReason}>{el as ReactElement}</Tooltip>;\n }\n return el;\n});\nif (process.env.NODE_ENV !== \"production\") Button.displayName = \"Button\";\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cn-DUDmdLpZ.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\",\"field\",\"field-hover\",\"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,280 +0,0 @@
1
- "use client";
2
- import { t as e } from "./cn-DUDmdLpZ.js";
3
- import { i as t } from "./context-BELWW79w.js";
4
- import { n } from "./copy-button-CXJ7fA9z.js";
5
- import { forwardRef as r, useEffect as i, useMemo as a, useState as o } from "react";
6
- import { jsx as s, jsxs as c } from "react/jsx-runtime";
7
- import { Tabs as l } from "@base-ui/react/tabs";
8
- //#region src/components/code-block/kaeso-theme.ts
9
- var u = {
10
- text: {
11
- color: "var(--k-text)",
12
- className: ""
13
- },
14
- quiet: {
15
- color: "var(--k-text-tertiary)",
16
- className: "text-fg-tertiary"
17
- },
18
- secondary: {
19
- color: "var(--k-text-secondary)",
20
- className: "text-fg-secondary"
21
- },
22
- string: {
23
- color: "var(--k-info-text)",
24
- className: "text-info-text"
25
- },
26
- constant: {
27
- color: "var(--k-warning-text)",
28
- className: "text-warning-text"
29
- }
30
- }, d = 1, f = 2;
31
- function p(e, t) {
32
- let n = t ?? 0;
33
- return [
34
- Object.values(u).find((t) => t.color === e?.toLowerCase())?.className ?? "",
35
- n & d ? "italic" : "",
36
- n & f ? "font-semibold" : ""
37
- ].filter(Boolean).join(" ");
38
- }
39
- var m = {
40
- name: "kaeso",
41
- type: "light",
42
- colors: {
43
- "editor.background": "transparent",
44
- "editor.foreground": u.text.color
45
- },
46
- settings: [
47
- { settings: {
48
- foreground: u.text.color,
49
- background: "transparent"
50
- } },
51
- {
52
- scope: ["comment", "punctuation.definition.comment"],
53
- settings: {
54
- foreground: u.quiet.color,
55
- fontStyle: "italic"
56
- }
57
- },
58
- {
59
- scope: [
60
- "string",
61
- "string.quoted",
62
- "string.template",
63
- "punctuation.definition.string",
64
- "markup.inline.raw"
65
- ],
66
- settings: { foreground: u.string.color }
67
- },
68
- {
69
- scope: [
70
- "constant.numeric",
71
- "constant.language.boolean",
72
- "constant.language.null",
73
- "constant.language"
74
- ],
75
- settings: { foreground: u.constant.color }
76
- },
77
- {
78
- scope: [
79
- "keyword",
80
- "storage",
81
- "storage.type",
82
- "storage.modifier",
83
- "keyword.control",
84
- "keyword.operator.new",
85
- "variable.language"
86
- ],
87
- settings: {
88
- foreground: u.text.color,
89
- fontStyle: "bold"
90
- }
91
- },
92
- {
93
- scope: [
94
- "punctuation",
95
- "meta.brace",
96
- "punctuation.separator",
97
- "punctuation.terminator",
98
- "keyword.operator",
99
- "meta.tag punctuation"
100
- ],
101
- settings: { foreground: u.quiet.color }
102
- },
103
- {
104
- scope: [
105
- "entity.name.function",
106
- "support.function",
107
- "entity.name.tag",
108
- "support.class.component"
109
- ],
110
- settings: { foreground: u.text.color }
111
- },
112
- {
113
- scope: [
114
- "support.type.property-name",
115
- "meta.object-literal.key",
116
- "entity.other.attribute-name",
117
- "variable.other.property"
118
- ],
119
- settings: { foreground: u.text.color }
120
- },
121
- {
122
- scope: [
123
- "entity.name.type",
124
- "support.type",
125
- "entity.other.inherited-class"
126
- ],
127
- settings: { foreground: u.secondary.color }
128
- }
129
- ]
130
- }, h = null, g = 2e3, _ = [
131
- "ts",
132
- "tsx",
133
- "js",
134
- "json",
135
- "bash",
136
- "python",
137
- "yaml",
138
- "diff"
139
- ];
140
- function v() {
141
- return h ??= (async () => {
142
- let [{ createHighlighterCore: e }, { createJavaScriptRegexEngine: t }] = await Promise.all([import("shiki/core"), import("shiki/engine/javascript")]);
143
- return await e({
144
- themes: [m],
145
- langs: [],
146
- engine: t()
147
- });
148
- })().catch((e) => {
149
- throw h = null, e;
150
- }), h;
151
- }
152
- var y = {
153
- ts: () => import("shiki/dist/langs/typescript.mjs"),
154
- tsx: () => import("shiki/dist/langs/tsx.mjs"),
155
- js: () => import("shiki/dist/langs/javascript.mjs"),
156
- json: () => import("shiki/dist/langs/json.mjs"),
157
- bash: () => import("shiki/dist/langs/bash.mjs"),
158
- python: () => import("shiki/dist/langs/python.mjs"),
159
- yaml: () => import("shiki/dist/langs/yaml.mjs"),
160
- diff: () => import("shiki/dist/langs/diff.mjs")
161
- };
162
- async function b(e, t) {
163
- if (t === "text" || e.length > 2e5) return null;
164
- let n = await v();
165
- if (!n.getLoadedLanguages().includes(t)) {
166
- let e = y[t];
167
- if (!e) return null;
168
- await n.loadLanguage((await e()).default);
169
- }
170
- return n.codeToTokens(e, {
171
- lang: t,
172
- theme: "kaeso",
173
- tokenizeMaxLineLength: g
174
- }).tokens.map((e) => e.map((e) => ({
175
- content: e.content,
176
- className: p(e.color, e.fontStyle)
177
- })));
178
- }
179
- //#endregion
180
- //#region src/components/code-block/code-block.tsx
181
- var x = { surface: {
182
- well: { classes: "rounded-well bg-fill-1" },
183
- plain: { classes: "bg-transparent" }
184
- } }, S = { surface: "well" }, C = /* @__PURE__ */ r(function({ code: r = "", lang: u = "ts", tabs: d, tab: f, onTabChange: p, title: m, lineNumbers: h, highlightLines: g = [], collapseAfter: _ = 24, surface: v = "well", copy: y = !0, wrap: S = !1, className: C }, w) {
185
- let [T, E] = o(0), D = f === void 0 ? -1 : d?.findIndex((e) => e.label === f) ?? -1, O = D >= 0 ? D : T, k = (e) => {
186
- E(e);
187
- let t = d?.[e]?.label;
188
- t !== void 0 && p?.(t);
189
- }, A = t(), j = d?.[O] ?? {
190
- label: "",
191
- code: r,
192
- lang: u
193
- }, M = j.code.replace(/\n$/, ""), N = a(() => M.split("\n"), [M]), [P, F] = o(null), [I, L] = o(!1);
194
- i(() => {
195
- let e = !0, t = j.lang ?? "ts";
196
- return b(M, t).then((n) => e && F({
197
- text: M,
198
- lang: t,
199
- tokens: n
200
- })).catch(() => void 0), () => {
201
- e = !1;
202
- };
203
- }, [M, j.lang]);
204
- let R = P && P.lang === (j.lang ?? "ts") && P.text === M ? P.tokens : null, z = _ > 0 && N.length > _ && !I, B = z ? _ : N.length, V = e("relative overflow-x-auto py-16 scrollbar-quiet focus-ring-inset", z && "overflow-y-hidden", y && "coarse:mr-40"), H = /* @__PURE__ */ s("pre", {
205
- className: "mono text-small text-fg",
206
- children: /* @__PURE__ */ s("code", {
207
- className: e("grid", !S && "min-w-max"),
208
- children: N.slice(0, B).map((t, n) => /* @__PURE__ */ c("span", {
209
- className: e("flex px-16 leading-code", S && "whitespace-pre-wrap wrap-anywhere", g.includes(n + 1) && "bg-fill-2"),
210
- children: [h && /* @__PURE__ */ s("span", {
211
- className: "mr-16 inline-block w-24 shrink-0 text-right text-fg-tertiary select-none tabular",
212
- children: n + 1
213
- }), /* @__PURE__ */ s("span", {
214
- className: "min-w-0",
215
- children: R?.[n]?.length ? R[n].map((e, t) => /* @__PURE__ */ s("span", {
216
- className: e.className || void 0,
217
- children: e.content
218
- }, t)) : t || " "
219
- })]
220
- }, n))
221
- })
222
- });
223
- return /* @__PURE__ */ c("div", {
224
- ref: w,
225
- className: e("group/code relative min-w-0", x.surface[v].classes, C),
226
- children: [
227
- /* @__PURE__ */ c(l.Root, {
228
- value: O,
229
- onValueChange: (e) => k(Number(e)),
230
- children: [(m || d) && /* @__PURE__ */ c("div", {
231
- className: "flex h-44 items-center gap-4 px-8 hairline-b",
232
- children: [m && /* @__PURE__ */ s("span", {
233
- className: "px-8 mono text-small text-fg-secondary",
234
- children: m
235
- }), d && /* @__PURE__ */ s(l.List, {
236
- "aria-label": A("codeBlock.language", "Language"),
237
- className: "flex items-center gap-2",
238
- children: d.map((t, n) => /* @__PURE__ */ s(l.Tab, {
239
- value: n,
240
- className: e("inline-flex h-28 cursor-pointer items-center rounded-pill px-10 text-small font-medium transition-control focus-ring", n === O ? "bg-fill-2 text-fg" : "text-fg-secondary hover:bg-fill-2 hover:text-fg"),
241
- children: t.label
242
- }, t.label))
243
- })]
244
- }), d ? /* @__PURE__ */ s(l.Panel, {
245
- value: O,
246
- className: V,
247
- children: H
248
- }) : /* @__PURE__ */ s("div", {
249
- tabIndex: 0,
250
- role: "region",
251
- "aria-label": typeof m == "string" ? A("codeBlock.titledCode", "{title} code", { title: m }) : A("codeBlock.code", "Code"),
252
- className: V,
253
- children: H
254
- })]
255
- }),
256
- _ > 0 && N.length > _ && /* @__PURE__ */ s("div", {
257
- className: "flex justify-center pb-12",
258
- children: /* @__PURE__ */ s("button", {
259
- type: "button",
260
- onClick: () => L((e) => !e),
261
- 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",
262
- children: I ? A("codeBlock.showLess", "Show less") : A("codeBlock.showAllLines", "Show all {count} lines", { count: String(N.length) })
263
- })
264
- }),
265
- y && /* @__PURE__ */ s("div", {
266
- className: e("absolute right-8 opacity-0 transition-control group-hover/code:opacity-100 coarse:opacity-100 focus-within:opacity-100", m || d ? "top-52" : "top-8"),
267
- children: /* @__PURE__ */ s(n, {
268
- value: M,
269
- label: A("codeBlock.copy", "Copy code")
270
- })
271
- })
272
- ]
273
- });
274
- });
275
- process.env.NODE_ENV !== "production" && (C.displayName = "CodeBlock");
276
- var w = C;
277
- //#endregion
278
- export { _ as a, x as i, w as n, b as o, S as r, m as s, C as t };
279
-
280
- //# sourceMappingURL=code-block-BU8gYeZQ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-block-BU8gYeZQ.js","names":["BaseTabs","cn","useUiText","TONES","ITALIC","BOLD","codeTokenClass","style","fontStyle","tone","color","kaesoShikiTheme","instance","HIGHLIGHT_MAX_LINE","CODE_LANGS","getHighlighter","createHighlighterCore","createJavaScriptRegexEngine","error","LOADERS","highlight","lang","code","h","loader","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; tokenizeMaxLineLength?: number | undefined },\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 HIGHLIGHT_MAX_CHARS = 200_000;\n\nconst HIGHLIGHT_MAX_LINE = 2_000;\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 })().catch((error: unknown) => {\n instance = null;\n throw error;\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\" || code.length > HIGHLIGHT_MAX_CHARS) 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\", tokenizeMaxLineLength: HIGHLIGHT_MAX_LINE })\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-CDQq1Y9x.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-12 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 pr-12 pb-12 pl-36\">{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=\"px-12 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,kLAYWT,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;IAA0B;GAAc,CAAA;EAClC,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;KAA2C,UAAAsB,EAAG;IAAa,CAAA;GACvD,CAAA,CACH;EAfK,GAAAA,EAAG,KAeR,CACrB;CACiB,CAAA;AAExB,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAU,cAAc"}