@cloudflare/kumo 1.9.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (876) hide show
  1. package/CHANGELOG.md +197 -0
  2. package/ai/component-registry.json +55 -38
  3. package/ai/component-registry.md +252 -56
  4. package/ai/schemas.ts +4 -3
  5. package/dist/.build-complete +1 -1
  6. package/dist/Legend-AE5XCSyU.js +388 -0
  7. package/dist/Legend-AE5XCSyU.js.map +1 -0
  8. package/dist/abap-DBQ6eW1v.js +8 -0
  9. package/dist/abap-DBQ6eW1v.js.map +1 -0
  10. package/dist/actionscript-3-DiEsS-FW.js +8 -0
  11. package/dist/actionscript-3-DiEsS-FW.js.map +1 -0
  12. package/dist/ada-DGQ_5PSJ.js +8 -0
  13. package/dist/ada-DGQ_5PSJ.js.map +1 -0
  14. package/dist/ai/schemas.d.ts +16 -2
  15. package/dist/ai/schemas.d.ts.map +1 -1
  16. package/dist/{schemas-CdpAeJKO.js → ai/schemas.js} +117 -116
  17. package/dist/ai/schemas.js.map +1 -0
  18. package/dist/andromeeda-0OVEHq5k.js +6 -0
  19. package/dist/andromeeda-0OVEHq5k.js.map +1 -0
  20. package/dist/angular-html-C3bwzvDd.js +34 -0
  21. package/dist/angular-html-C3bwzvDd.js.map +1 -0
  22. package/dist/angular-ts-fBH42fxp.js +23 -0
  23. package/dist/angular-ts-fBH42fxp.js.map +1 -0
  24. package/dist/apache-Bbrn7pkv.js +8 -0
  25. package/dist/apache-Bbrn7pkv.js.map +1 -0
  26. package/dist/apex-D7jlLUJl.js +8 -0
  27. package/dist/apex-D7jlLUJl.js.map +1 -0
  28. package/dist/apl-Cal58rzR.js +18 -0
  29. package/dist/apl-Cal58rzR.js.map +1 -0
  30. package/dist/applescript-AZMDCVmb.js +8 -0
  31. package/dist/applescript-AZMDCVmb.js.map +1 -0
  32. package/dist/ara-D7lI3smf.js +8 -0
  33. package/dist/ara-D7lI3smf.js.map +1 -0
  34. package/dist/asciidoc-B_JWnvj-.js +8 -0
  35. package/dist/asciidoc-B_JWnvj-.js.map +1 -0
  36. package/dist/asm-CF39_jeh.js +8 -0
  37. package/dist/asm-CF39_jeh.js.map +1 -0
  38. package/dist/astro-DvJenNvt.js +20 -0
  39. package/dist/astro-DvJenNvt.js.map +1 -0
  40. package/dist/aurora-x-lzSm_5DI.js +6 -0
  41. package/dist/aurora-x-lzSm_5DI.js.map +1 -0
  42. package/dist/awk-D1dwqHUl.js +8 -0
  43. package/dist/awk-D1dwqHUl.js.map +1 -0
  44. package/dist/ayu-dark-C_pOwMAx.js +6 -0
  45. package/dist/ayu-dark-C_pOwMAx.js.map +1 -0
  46. package/dist/ayu-light-C25DTeWu.js +6 -0
  47. package/dist/ayu-light-C25DTeWu.js.map +1 -0
  48. package/dist/ayu-mirage-9IoMPoai.js +6 -0
  49. package/dist/ayu-mirage-9IoMPoai.js.map +1 -0
  50. package/dist/{badge-Dc99vsfo.js → badge-DUfmrhhZ.js} +23 -18
  51. package/dist/badge-DUfmrhhZ.js.map +1 -0
  52. package/dist/ballerina-0aHuYbBL.js +8 -0
  53. package/dist/ballerina-0aHuYbBL.js.map +1 -0
  54. package/dist/bat-hp8TkMW_.js +8 -0
  55. package/dist/bat-hp8TkMW_.js.map +1 -0
  56. package/dist/beancount-DhXwArMG.js +8 -0
  57. package/dist/beancount-DhXwArMG.js.map +1 -0
  58. package/dist/berry-SKcQ_bn6.js +8 -0
  59. package/dist/berry-SKcQ_bn6.js.map +1 -0
  60. package/dist/bibtex-CKeuI1gX.js +8 -0
  61. package/dist/bibtex-CKeuI1gX.js.map +1 -0
  62. package/dist/bicep-Bb1Z8c8o.js +8 -0
  63. package/dist/bicep-Bb1Z8c8o.js.map +1 -0
  64. package/dist/bird2-C3rWbj4Z.js +8 -0
  65. package/dist/bird2-C3rWbj4Z.js.map +1 -0
  66. package/dist/blade-THHHddQO.js +22 -0
  67. package/dist/blade-THHHddQO.js.map +1 -0
  68. package/dist/breadcrumbs-BPtbCStQ.js +166 -0
  69. package/dist/breadcrumbs-BPtbCStQ.js.map +1 -0
  70. package/dist/bsl-CflI2mMp.js +10 -0
  71. package/dist/bsl-CflI2mMp.js.map +1 -0
  72. package/dist/c-D5qA7m19.js +8 -0
  73. package/dist/c-D5qA7m19.js.map +1 -0
  74. package/dist/c3-COOn93H9.js +8 -0
  75. package/dist/c3-COOn93H9.js.map +1 -0
  76. package/dist/cadence-Dxfo-G8_.js +8 -0
  77. package/dist/cadence-Dxfo-G8_.js.map +1 -0
  78. package/dist/cairo-CY6szQm5.js +10 -0
  79. package/dist/cairo-CY6szQm5.js.map +1 -0
  80. package/dist/catalog.js +1 -1
  81. package/dist/catalog.js.map +1 -1
  82. package/dist/catppuccin-frappe-CpIXPvSU.js +6 -0
  83. package/dist/catppuccin-frappe-CpIXPvSU.js.map +1 -0
  84. package/dist/catppuccin-latte-xiJp113n.js +6 -0
  85. package/dist/catppuccin-latte-xiJp113n.js.map +1 -0
  86. package/dist/catppuccin-macchiato-CUb8G_sh.js +6 -0
  87. package/dist/catppuccin-macchiato-CUb8G_sh.js.map +1 -0
  88. package/dist/catppuccin-mocha-_pSbIuk3.js +6 -0
  89. package/dist/catppuccin-mocha-_pSbIuk3.js.map +1 -0
  90. package/dist/checkbox-ZiHzIOCx.js +220 -0
  91. package/dist/checkbox-ZiHzIOCx.js.map +1 -0
  92. package/dist/clarity-S9WX3mE2.js +8 -0
  93. package/dist/clarity-S9WX3mE2.js.map +1 -0
  94. package/dist/{clipboard-text-1d0rHIhb.js → clipboard-text-DXs1GdOt.js} +4 -4
  95. package/dist/clipboard-text-DXs1GdOt.js.map +1 -0
  96. package/dist/clojure-CMSQ2cRZ.js +8 -0
  97. package/dist/clojure-CMSQ2cRZ.js.map +1 -0
  98. package/dist/cmake-BjGOmuDM.js +8 -0
  99. package/dist/cmake-BjGOmuDM.js.map +1 -0
  100. package/dist/cobol-CdczAIkZ.js +12 -0
  101. package/dist/cobol-CdczAIkZ.js.map +1 -0
  102. package/dist/code/server.js +58 -0
  103. package/dist/code/server.js.map +1 -0
  104. package/dist/code-T2wPDiM0.js.map +1 -1
  105. package/dist/code.js +205 -0
  106. package/dist/code.js.map +1 -0
  107. package/dist/codeowners-CJleX2EU.js +8 -0
  108. package/dist/codeowners-CJleX2EU.js.map +1 -0
  109. package/dist/codeql-C_xiqGOC.js +8 -0
  110. package/dist/codeql-C_xiqGOC.js.map +1 -0
  111. package/dist/coffee-DbwFrMGw.js +10 -0
  112. package/dist/coffee-DbwFrMGw.js.map +1 -0
  113. package/dist/{collapsible-OBNkTO48.js → collapsible-C3LJ1dfZ.js} +13 -11
  114. package/dist/collapsible-C3LJ1dfZ.js.map +1 -0
  115. package/dist/combobox--ec3iibR.js +336 -0
  116. package/dist/combobox--ec3iibR.js.map +1 -0
  117. package/dist/command-line/cli.js +4 -0
  118. package/dist/command-line/commands/add.js +4 -0
  119. package/dist/{command-palette-B80cqB7K.js → command-palette-B_J7o7P-.js} +49 -49
  120. package/dist/command-palette-B_J7o7P-.js.map +1 -0
  121. package/dist/common-lisp-bZFDzkJA.js +8 -0
  122. package/dist/common-lisp-bZFDzkJA.js.map +1 -0
  123. package/dist/components/badge.js +1 -1
  124. package/dist/components/breadcrumbs.js +1 -1
  125. package/dist/components/chart.js +9 -0
  126. package/dist/components/chart.js.map +1 -0
  127. package/dist/components/checkbox.js +1 -1
  128. package/dist/components/clipboard-text.js +1 -1
  129. package/dist/components/collapsible.js +1 -1
  130. package/dist/components/combobox.js +1 -1
  131. package/dist/components/command-palette.js +1 -1
  132. package/dist/components/dialog.js +1 -1
  133. package/dist/components/dropdown.js +1 -1
  134. package/dist/components/field.js +1 -1
  135. package/dist/components/flow.js +1998 -1924
  136. package/dist/components/flow.js.map +1 -1
  137. package/dist/components/input.js +3 -3
  138. package/dist/components/label.js +1 -1
  139. package/dist/components/link.js +1 -1
  140. package/dist/components/menubar.js +1 -1
  141. package/dist/components/meter.js +1 -1
  142. package/dist/components/pagination.js +1 -1
  143. package/dist/components/popover.js +1 -1
  144. package/dist/components/radio.js +1 -1
  145. package/dist/components/select.js +1 -1
  146. package/dist/components/sensitive-input.js +1 -1
  147. package/dist/components/switch.js +1 -1
  148. package/dist/components/table.js +1 -1
  149. package/dist/components/tabs.js +1 -1
  150. package/dist/components/toast.js +2 -2
  151. package/dist/components/tooltip.js +1 -1
  152. package/dist/coq-BHwvPA1n.js +8 -0
  153. package/dist/coq-BHwvPA1n.js.map +1 -0
  154. package/dist/cpp-8X-mPrPy.js +20 -0
  155. package/dist/cpp-8X-mPrPy.js.map +1 -0
  156. package/dist/crystal-ClltT4Pm.js +20 -0
  157. package/dist/crystal-ClltT4Pm.js.map +1 -0
  158. package/dist/csharp-Byem5RBI.js +8 -0
  159. package/dist/csharp-Byem5RBI.js.map +1 -0
  160. package/dist/css-qd-96f_M.js +8 -0
  161. package/dist/css-qd-96f_M.js.map +1 -0
  162. package/dist/csv-CF_FKHnB.js +8 -0
  163. package/dist/csv-CF_FKHnB.js.map +1 -0
  164. package/dist/cue-I1Agx594.js +8 -0
  165. package/dist/cue-I1Agx594.js.map +1 -0
  166. package/dist/cypher-plLNBUt5.js +8 -0
  167. package/dist/cypher-plLNBUt5.js.map +1 -0
  168. package/dist/d-CEuq9VFi.js +8 -0
  169. package/dist/d-CEuq9VFi.js.map +1 -0
  170. package/dist/dark-plus-BoH9QJRG.js +6 -0
  171. package/dist/dark-plus-BoH9QJRG.js.map +1 -0
  172. package/dist/dart-BW14f2cB.js +8 -0
  173. package/dist/dart-BW14f2cB.js.map +1 -0
  174. package/dist/dax-3tjM9tVE.js +8 -0
  175. package/dist/dax-3tjM9tVE.js.map +1 -0
  176. package/dist/desktop-C_s7lQ2C.js +8 -0
  177. package/dist/desktop-C_s7lQ2C.js.map +1 -0
  178. package/dist/dialog-DGaQTZVR.js +112 -0
  179. package/dist/dialog-DGaQTZVR.js.map +1 -0
  180. package/dist/diff-B9PHDIQg.js +8 -0
  181. package/dist/diff-B9PHDIQg.js.map +1 -0
  182. package/dist/docker-rmWVNdXq.js +8 -0
  183. package/dist/docker-rmWVNdXq.js.map +1 -0
  184. package/dist/dotenv-DZArZ0py.js +8 -0
  185. package/dist/dotenv-DZArZ0py.js.map +1 -0
  186. package/dist/dracula-CdWPhGUA.js +6 -0
  187. package/dist/dracula-CdWPhGUA.js.map +1 -0
  188. package/dist/dracula-soft-DRgtS4KI.js +6 -0
  189. package/dist/dracula-soft-DRgtS4KI.js.map +1 -0
  190. package/dist/dream-maker-DNRMl5wX.js +8 -0
  191. package/dist/dream-maker-DNRMl5wX.js.map +1 -0
  192. package/dist/{dropdown-CfS4QcSR.js → dropdown-DBfVqi0v.js} +74 -75
  193. package/dist/dropdown-DBfVqi0v.js.map +1 -0
  194. package/dist/edge-CQUaQiBB.js +14 -0
  195. package/dist/edge-CQUaQiBB.js.map +1 -0
  196. package/dist/elixir-BIX3y1uJ.js +10 -0
  197. package/dist/elixir-BIX3y1uJ.js.map +1 -0
  198. package/dist/elm-DNVN4B4L.js +10 -0
  199. package/dist/elm-DNVN4B4L.js.map +1 -0
  200. package/dist/emacs-lisp-C3TqDViv.js +8 -0
  201. package/dist/emacs-lisp-C3TqDViv.js.map +1 -0
  202. package/dist/engine-compile-D-n7xALU.js +2621 -0
  203. package/dist/engine-compile-D-n7xALU.js.map +1 -0
  204. package/dist/engine-javascript-BGkeRc0U.js +26 -0
  205. package/dist/engine-javascript-BGkeRc0U.js.map +1 -0
  206. package/dist/engine-oniguruma-T2xha06Q.js +304 -0
  207. package/dist/engine-oniguruma-T2xha06Q.js.map +1 -0
  208. package/dist/erb-CPJOs_gM.js +12 -0
  209. package/dist/erb-CPJOs_gM.js.map +1 -0
  210. package/dist/erlang-X97pCGTS.js +10 -0
  211. package/dist/erlang-X97pCGTS.js.map +1 -0
  212. package/dist/everforest-dark-C9JXzteI.js +6 -0
  213. package/dist/everforest-dark-C9JXzteI.js.map +1 -0
  214. package/dist/everforest-light-xBi4ZMR7.js +6 -0
  215. package/dist/everforest-light-xBi4ZMR7.js.map +1 -0
  216. package/dist/fennel-fKVJGO8V.js +8 -0
  217. package/dist/fennel-fKVJGO8V.js.map +1 -0
  218. package/dist/{field-B8xISAuX.js → field-CQmGKOVZ.js} +11 -11
  219. package/dist/{field-B8xISAuX.js.map → field-CQmGKOVZ.js.map} +1 -1
  220. package/dist/fish-BB5DT4M2.js +8 -0
  221. package/dist/fish-BB5DT4M2.js.map +1 -0
  222. package/dist/fluent-AMVPEbdR.js +8 -0
  223. package/dist/fluent-AMVPEbdR.js.map +1 -0
  224. package/dist/fortran-fixed-form-J4xKprxx.js +10 -0
  225. package/dist/fortran-fixed-form-J4xKprxx.js.map +1 -0
  226. package/dist/fortran-free-form-89VVYcvD.js +8 -0
  227. package/dist/fortran-free-form-89VVYcvD.js.map +1 -0
  228. package/dist/fsharp-BnRQMxrz.js +10 -0
  229. package/dist/fsharp-BnRQMxrz.js.map +1 -0
  230. package/dist/gdresource-DGR3GPIj.js +12 -0
  231. package/dist/gdresource-DGR3GPIj.js.map +1 -0
  232. package/dist/gdscript-8-4n2AaI.js +8 -0
  233. package/dist/gdscript-8-4n2AaI.js.map +1 -0
  234. package/dist/gdshader-BCM6bIM_.js +8 -0
  235. package/dist/gdshader-BCM6bIM_.js.map +1 -0
  236. package/dist/genie-CxR2u3hD.js +8 -0
  237. package/dist/genie-CxR2u3hD.js.map +1 -0
  238. package/dist/gherkin-BhW6oAYW.js +8 -0
  239. package/dist/gherkin-BhW6oAYW.js.map +1 -0
  240. package/dist/git-commit-DSzkYnqf.js +10 -0
  241. package/dist/git-commit-DSzkYnqf.js.map +1 -0
  242. package/dist/git-rebase-CY0sqDHH.js +10 -0
  243. package/dist/git-rebase-CY0sqDHH.js.map +1 -0
  244. package/dist/github-dark-EGgK0P1m.js +6 -0
  245. package/dist/github-dark-EGgK0P1m.js.map +1 -0
  246. package/dist/github-dark-default-69UGLTaR.js +6 -0
  247. package/dist/github-dark-default-69UGLTaR.js.map +1 -0
  248. package/dist/github-dark-dimmed-CnBHruXC.js +6 -0
  249. package/dist/github-dark-dimmed-CnBHruXC.js.map +1 -0
  250. package/dist/github-dark-high-contrast-Dz2ZsuOt.js +6 -0
  251. package/dist/github-dark-high-contrast-Dz2ZsuOt.js.map +1 -0
  252. package/dist/github-light-C7TbDuh5.js +6 -0
  253. package/dist/github-light-C7TbDuh5.js.map +1 -0
  254. package/dist/github-light-default-C1fruPEw.js +6 -0
  255. package/dist/github-light-default-C1fruPEw.js.map +1 -0
  256. package/dist/github-light-high-contrast-SmWFD2B-.js +6 -0
  257. package/dist/github-light-high-contrast-SmWFD2B-.js.map +1 -0
  258. package/dist/gleam-PNso-9g-.js +8 -0
  259. package/dist/gleam-PNso-9g-.js.map +1 -0
  260. package/dist/glimmer-js-DY9OBWW6.js +16 -0
  261. package/dist/glimmer-js-DY9OBWW6.js.map +1 -0
  262. package/dist/glimmer-ts-CKjdlzG3.js +16 -0
  263. package/dist/glimmer-ts-CKjdlzG3.js.map +1 -0
  264. package/dist/glsl-Bo9QfxI7.js +10 -0
  265. package/dist/glsl-Bo9QfxI7.js.map +1 -0
  266. package/dist/gn-B8imrxEe.js +8 -0
  267. package/dist/gn-B8imrxEe.js.map +1 -0
  268. package/dist/gnuplot-z48QnpzZ.js +8 -0
  269. package/dist/gnuplot-z48QnpzZ.js.map +1 -0
  270. package/dist/go-BUI2a86a.js +8 -0
  271. package/dist/go-BUI2a86a.js.map +1 -0
  272. package/dist/graphql-CYUl2j62.js +16 -0
  273. package/dist/graphql-CYUl2j62.js.map +1 -0
  274. package/dist/groovy-BZajDB1h.js +8 -0
  275. package/dist/groovy-BZajDB1h.js.map +1 -0
  276. package/dist/gruvbox-dark-hard-DEp4fn0U.js +6 -0
  277. package/dist/gruvbox-dark-hard-DEp4fn0U.js.map +1 -0
  278. package/dist/gruvbox-dark-medium-D3l-n4N3.js +6 -0
  279. package/dist/gruvbox-dark-medium-D3l-n4N3.js.map +1 -0
  280. package/dist/gruvbox-dark-soft-Ca_lMr1K.js +6 -0
  281. package/dist/gruvbox-dark-soft-Ca_lMr1K.js.map +1 -0
  282. package/dist/gruvbox-light-hard-D5BcqPys.js +6 -0
  283. package/dist/gruvbox-light-hard-D5BcqPys.js.map +1 -0
  284. package/dist/gruvbox-light-medium-C_7vC_ep.js +6 -0
  285. package/dist/gruvbox-light-medium-C_7vC_ep.js.map +1 -0
  286. package/dist/gruvbox-light-soft-YeHuiVT9.js +6 -0
  287. package/dist/gruvbox-light-soft-YeHuiVT9.js.map +1 -0
  288. package/dist/hack-Bo7_3XMo.js +12 -0
  289. package/dist/hack-Bo7_3XMo.js.map +1 -0
  290. package/dist/haml-lAa-UgZq.js +12 -0
  291. package/dist/haml-lAa-UgZq.js.map +1 -0
  292. package/dist/handlebars-C-lypSbJ.js +16 -0
  293. package/dist/handlebars-C-lypSbJ.js.map +1 -0
  294. package/dist/haskell-CyfJi0Qi.js +8 -0
  295. package/dist/haskell-CyfJi0Qi.js.map +1 -0
  296. package/dist/haxe-DHpItfCt.js +8 -0
  297. package/dist/haxe-DHpItfCt.js.map +1 -0
  298. package/dist/hcl-C-f84Y9W.js +8 -0
  299. package/dist/hcl-C-f84Y9W.js.map +1 -0
  300. package/dist/hjson-8VYQauSm.js +8 -0
  301. package/dist/hjson-8VYQauSm.js.map +1 -0
  302. package/dist/hlsl-Bi2Lb4au.js +8 -0
  303. package/dist/hlsl-Bi2Lb4au.js.map +1 -0
  304. package/dist/horizon-DyGYchkb.js +6 -0
  305. package/dist/horizon-DyGYchkb.js.map +1 -0
  306. package/dist/horizon-bright-DatYugLo.js +6 -0
  307. package/dist/horizon-bright-DatYugLo.js.map +1 -0
  308. package/dist/houston-DaTAsj92.js +6 -0
  309. package/dist/houston-DaTAsj92.js.map +1 -0
  310. package/dist/html-BXZx6WkT.js +12 -0
  311. package/dist/html-BXZx6WkT.js.map +1 -0
  312. package/dist/html-derivative-CaPNhXFu.js +10 -0
  313. package/dist/html-derivative-CaPNhXFu.js.map +1 -0
  314. package/dist/http-BJ0BMq9T.js +16 -0
  315. package/dist/http-BJ0BMq9T.js.map +1 -0
  316. package/dist/hurl-D_d_bmYM.js +14 -0
  317. package/dist/hurl-D_d_bmYM.js.map +1 -0
  318. package/dist/hxml-C8H9PCaB.js +10 -0
  319. package/dist/hxml-C8H9PCaB.js.map +1 -0
  320. package/dist/hy-Cf7WyqnA.js +8 -0
  321. package/dist/hy-Cf7WyqnA.js.map +1 -0
  322. package/dist/imba-4cu8YWL6.js +8 -0
  323. package/dist/imba-4cu8YWL6.js.map +1 -0
  324. package/dist/index-yfbAkHut.js +7313 -0
  325. package/dist/index-yfbAkHut.js.map +1 -0
  326. package/dist/index.js +72 -67
  327. package/dist/index.js.map +1 -1
  328. package/dist/ini-DdlAq5Sk.js +8 -0
  329. package/dist/ini-DdlAq5Sk.js.map +1 -0
  330. package/dist/{input-area-DCaAN9nG.js → input-area-BgpN8siO.js} +3 -3
  331. package/dist/{input-area-DCaAN9nG.js.map → input-area-BgpN8siO.js.map} +1 -1
  332. package/dist/{input-DCzpefuq.js → input-gGpJCiT7.js} +3 -3
  333. package/dist/{input-DCzpefuq.js.map → input-gGpJCiT7.js.map} +1 -1
  334. package/dist/{input-group-BbaVpJnA.js → input-group-DwPPwJEW.js} +5 -5
  335. package/dist/input-group-DwPPwJEW.js.map +1 -0
  336. package/dist/java-DZX_qz_V.js +8 -0
  337. package/dist/java-DZX_qz_V.js.map +1 -0
  338. package/dist/javascript-Dcop9YgO.js +8 -0
  339. package/dist/javascript-Dcop9YgO.js.map +1 -0
  340. package/dist/jinja-CYDaN8cn.js +13 -0
  341. package/dist/jinja-CYDaN8cn.js.map +1 -0
  342. package/dist/jison-B8TKZKc6.js +10 -0
  343. package/dist/jison-B8TKZKc6.js.map +1 -0
  344. package/dist/json-BONZstWZ.js +8 -0
  345. package/dist/json-BONZstWZ.js.map +1 -0
  346. package/dist/json5-C-4cnXW0.js +8 -0
  347. package/dist/json5-C-4cnXW0.js.map +1 -0
  348. package/dist/jsonc-CIx6BVP6.js +8 -0
  349. package/dist/jsonc-CIx6BVP6.js.map +1 -0
  350. package/dist/jsonl-DFezC0c-.js +8 -0
  351. package/dist/jsonl-DFezC0c-.js.map +1 -0
  352. package/dist/jsonnet-CrYiLnuZ.js +8 -0
  353. package/dist/jsonnet-CrYiLnuZ.js.map +1 -0
  354. package/dist/jssm-DPqP_6Yy.js +8 -0
  355. package/dist/jssm-DPqP_6Yy.js.map +1 -0
  356. package/dist/jsx-Buo8VY2N.js +8 -0
  357. package/dist/jsx-Buo8VY2N.js.map +1 -0
  358. package/dist/julia-BGc-upw8.js +18 -0
  359. package/dist/julia-BGc-upw8.js.map +1 -0
  360. package/dist/just-Btim_Xbp.js +20 -0
  361. package/dist/just-Btim_Xbp.js.map +1 -0
  362. package/dist/kanagawa-dragon-CrRYMC-y.js +6 -0
  363. package/dist/kanagawa-dragon-CrRYMC-y.js.map +1 -0
  364. package/dist/kanagawa-lotus-CpAeLZo_.js +6 -0
  365. package/dist/kanagawa-lotus-CpAeLZo_.js.map +1 -0
  366. package/dist/kanagawa-wave-DgLnfzgl.js +6 -0
  367. package/dist/kanagawa-wave-DgLnfzgl.js.map +1 -0
  368. package/dist/kdl-D5mP0US-.js +8 -0
  369. package/dist/kdl-D5mP0US-.js.map +1 -0
  370. package/dist/kotlin-Bj4GXgal.js +8 -0
  371. package/dist/kotlin-Bj4GXgal.js.map +1 -0
  372. package/dist/kusto-xKgi3EM3.js +8 -0
  373. package/dist/kusto-xKgi3EM3.js.map +1 -0
  374. package/dist/label-hoE9-Nzo.js +62 -0
  375. package/dist/label-hoE9-Nzo.js.map +1 -0
  376. package/dist/laserwave-DwIE46bX.js +6 -0
  377. package/dist/laserwave-DwIE46bX.js.map +1 -0
  378. package/dist/latex-Ba_x0_mo.js +10 -0
  379. package/dist/latex-Ba_x0_mo.js.map +1 -0
  380. package/dist/lean-CFZjFqaI.js +8 -0
  381. package/dist/lean-CFZjFqaI.js.map +1 -0
  382. package/dist/less-Cah4u9hl.js +8 -0
  383. package/dist/less-Cah4u9hl.js.map +1 -0
  384. package/dist/light-plus-uDz5yXau.js +6 -0
  385. package/dist/light-plus-uDz5yXau.js.map +1 -0
  386. package/dist/{link-DJq9RWpK.js → link-BFszrye7.js} +20 -14
  387. package/dist/link-BFszrye7.js.map +1 -0
  388. package/dist/liquid-DUwftMLD.js +16 -0
  389. package/dist/liquid-DUwftMLD.js.map +1 -0
  390. package/dist/llvm-p6MskI4D.js +8 -0
  391. package/dist/llvm-p6MskI4D.js.map +1 -0
  392. package/dist/log-B-eGB3gN.js +8 -0
  393. package/dist/log-B-eGB3gN.js.map +1 -0
  394. package/dist/logo-_QhIaHqR.js +8 -0
  395. package/dist/logo-_QhIaHqR.js.map +1 -0
  396. package/dist/lua-DXBtl-xZ.js +10 -0
  397. package/dist/lua-DXBtl-xZ.js.map +1 -0
  398. package/dist/luau-cNt0OAd4.js +8 -0
  399. package/dist/luau-cNt0OAd4.js.map +1 -0
  400. package/dist/make-LOzELzzn.js +8 -0
  401. package/dist/make-LOzELzzn.js.map +1 -0
  402. package/dist/markdown-CPiFXKuQ.js +8 -0
  403. package/dist/markdown-CPiFXKuQ.js.map +1 -0
  404. package/dist/marko-B5j5W6dr.js +16 -0
  405. package/dist/marko-B5j5W6dr.js.map +1 -0
  406. package/dist/material-theme-BNmHEIvm.js +6 -0
  407. package/dist/material-theme-BNmHEIvm.js.map +1 -0
  408. package/dist/material-theme-darker-DSlFkdBn.js +6 -0
  409. package/dist/material-theme-darker-DSlFkdBn.js.map +1 -0
  410. package/dist/material-theme-lighter-DMthFo49.js +6 -0
  411. package/dist/material-theme-lighter-DMthFo49.js.map +1 -0
  412. package/dist/material-theme-ocean-Bza3srwZ.js +6 -0
  413. package/dist/material-theme-ocean-Bza3srwZ.js.map +1 -0
  414. package/dist/material-theme-palenight-cC7823m_.js +6 -0
  415. package/dist/material-theme-palenight-cC7823m_.js.map +1 -0
  416. package/dist/matlab-BXc70sGh.js +8 -0
  417. package/dist/matlab-BXc70sGh.js.map +1 -0
  418. package/dist/mdc-DIfFG4VK.js +14 -0
  419. package/dist/mdc-DIfFG4VK.js.map +1 -0
  420. package/dist/mdx-DDEEGmMw.js +8 -0
  421. package/dist/mdx-DDEEGmMw.js.map +1 -0
  422. package/dist/{menubar-Chchzst0.js → menubar-DF-6twXU.js} +14 -14
  423. package/dist/menubar-DF-6twXU.js.map +1 -0
  424. package/dist/mermaid-BbhKaiym.js +8 -0
  425. package/dist/mermaid-BbhKaiym.js.map +1 -0
  426. package/dist/{meter-Wk7_EhaO.js → meter-CP6NBKRN.js} +4 -4
  427. package/dist/{meter-Wk7_EhaO.js.map → meter-CP6NBKRN.js.map} +1 -1
  428. package/dist/min-dark-B2RGEXlR.js +6 -0
  429. package/dist/min-dark-B2RGEXlR.js.map +1 -0
  430. package/dist/min-light-CdvDdehu.js +6 -0
  431. package/dist/min-light-CdvDdehu.js.map +1 -0
  432. package/dist/mipsasm-A-azREv6.js +8 -0
  433. package/dist/mipsasm-A-azREv6.js.map +1 -0
  434. package/dist/mojo-eENZKkWN.js +8 -0
  435. package/dist/mojo-eENZKkWN.js.map +1 -0
  436. package/dist/monokai-DfGcBwbw.js +6 -0
  437. package/dist/monokai-DfGcBwbw.js.map +1 -0
  438. package/dist/moonbit-OY9Cnyv0.js +8 -0
  439. package/dist/moonbit-OY9Cnyv0.js.map +1 -0
  440. package/dist/move-DQ3SUBHm.js +8 -0
  441. package/dist/move-DQ3SUBHm.js.map +1 -0
  442. package/dist/narrat-DEs1QMww.js +8 -0
  443. package/dist/narrat-DEs1QMww.js.map +1 -0
  444. package/dist/nextflow-BLqoZa2U.js +10 -0
  445. package/dist/nextflow-BLqoZa2U.js.map +1 -0
  446. package/dist/nextflow-groovy-sn5GPI4S.js +8 -0
  447. package/dist/nextflow-groovy-sn5GPI4S.js.map +1 -0
  448. package/dist/nginx-DV2C2lFg.js +10 -0
  449. package/dist/nginx-DV2C2lFg.js.map +1 -0
  450. package/dist/night-owl-Cx4f311z.js +6 -0
  451. package/dist/night-owl-Cx4f311z.js.map +1 -0
  452. package/dist/night-owl-light-CFIwPg_e.js +6 -0
  453. package/dist/night-owl-light-CFIwPg_e.js.map +1 -0
  454. package/dist/nim-DX5HB9SQ.js +22 -0
  455. package/dist/nim-DX5HB9SQ.js.map +1 -0
  456. package/dist/nix-BbTJzn8W.js +11 -0
  457. package/dist/nix-BbTJzn8W.js.map +1 -0
  458. package/dist/nord-N4OTOgI2.js +6 -0
  459. package/dist/nord-N4OTOgI2.js.map +1 -0
  460. package/dist/nushell-CRsPhsIw.js +8 -0
  461. package/dist/nushell-CRsPhsIw.js.map +1 -0
  462. package/dist/objective-c-7VQzYTNs.js +8 -0
  463. package/dist/objective-c-7VQzYTNs.js.map +1 -0
  464. package/dist/objective-cpp-C_AHgfC8.js +8 -0
  465. package/dist/objective-cpp-C_AHgfC8.js.map +1 -0
  466. package/dist/ocaml-N0gcbB8P.js +8 -0
  467. package/dist/ocaml-N0gcbB8P.js.map +1 -0
  468. package/dist/odin-CbArZjV2.js +8 -0
  469. package/dist/odin-CbArZjV2.js.map +1 -0
  470. package/dist/one-dark-pro-CFjKUJ8l.js +6 -0
  471. package/dist/one-dark-pro-CFjKUJ8l.js.map +1 -0
  472. package/dist/one-light-cHFZvryT.js +6 -0
  473. package/dist/one-light-cHFZvryT.js.map +1 -0
  474. package/dist/openscad-9QYZdZML.js +8 -0
  475. package/dist/openscad-9QYZdZML.js.map +1 -0
  476. package/dist/pagination-BWkeDEqb.js +224 -0
  477. package/dist/pagination-BWkeDEqb.js.map +1 -0
  478. package/dist/pascal-Chee6n3j.js +8 -0
  479. package/dist/pascal-Chee6n3j.js.map +1 -0
  480. package/dist/perl-Bo9cWF9y.js +18 -0
  481. package/dist/perl-Bo9cWF9y.js.map +1 -0
  482. package/dist/php-Cbqedh5-.js +20 -0
  483. package/dist/php-Cbqedh5-.js.map +1 -0
  484. package/dist/pkl-DmRpyJfO.js +8 -0
  485. package/dist/pkl-DmRpyJfO.js.map +1 -0
  486. package/dist/plastic-BWaSpRpp.js +6 -0
  487. package/dist/plastic-BWaSpRpp.js.map +1 -0
  488. package/dist/plsql-DXyBT3AN.js +8 -0
  489. package/dist/plsql-DXyBT3AN.js.map +1 -0
  490. package/dist/po-Duw5KTH-.js +8 -0
  491. package/dist/po-Duw5KTH-.js.map +1 -0
  492. package/dist/poimandres-DtrtfOBO.js +6 -0
  493. package/dist/poimandres-DtrtfOBO.js.map +1 -0
  494. package/dist/polar-C9ZZjIU6.js +8 -0
  495. package/dist/polar-C9ZZjIU6.js.map +1 -0
  496. package/dist/{popover-D20xpmdk.js → popover-B5CWcu7v.js} +2 -2
  497. package/dist/{popover-D20xpmdk.js.map → popover-B5CWcu7v.js.map} +1 -1
  498. package/dist/postcss-D9nF9Ns4.js +8 -0
  499. package/dist/postcss-D9nF9Ns4.js.map +1 -0
  500. package/dist/powerquery-Bf1siwRH.js +8 -0
  501. package/dist/powerquery-Bf1siwRH.js.map +1 -0
  502. package/dist/powershell-DbLFMYnO.js +8 -0
  503. package/dist/powershell-DbLFMYnO.js.map +1 -0
  504. package/dist/primitives/accordion.js +1 -1
  505. package/dist/primitives/alert-dialog.js +1 -1
  506. package/dist/primitives/autocomplete.js +1 -1
  507. package/dist/primitives/avatar.js +1 -1
  508. package/dist/primitives/button.js +1 -1
  509. package/dist/primitives/checkbox-group.js +1 -1
  510. package/dist/primitives/checkbox.js +1 -1
  511. package/dist/primitives/collapsible.js +1 -1
  512. package/dist/primitives/combobox.js +1 -1
  513. package/dist/primitives/context-menu.js +1 -1
  514. package/dist/primitives/csp-provider.js +1 -1
  515. package/dist/primitives/dialog.js +1 -1
  516. package/dist/primitives/direction-provider.js +1 -1
  517. package/dist/primitives/drawer.js +1 -1
  518. package/dist/primitives/field.js +1 -1
  519. package/dist/primitives/fieldset.js +1 -1
  520. package/dist/primitives/form.js +1 -1
  521. package/dist/primitives/input.js +1 -1
  522. package/dist/primitives/menu.js +1 -1
  523. package/dist/primitives/menubar.js +1 -1
  524. package/dist/primitives/meter.js +1 -1
  525. package/dist/primitives/navigation-menu.js +1 -1
  526. package/dist/primitives/number-field.js +1 -1
  527. package/dist/primitives/popover.js +1 -1
  528. package/dist/primitives/preview-card.js +1 -1
  529. package/dist/primitives/progress.js +1 -1
  530. package/dist/primitives/radio-group.js +1 -1
  531. package/dist/primitives/radio.js +1 -1
  532. package/dist/primitives/scroll-area.js +1 -1
  533. package/dist/primitives/select.js +1 -1
  534. package/dist/primitives/separator.js +1 -1
  535. package/dist/primitives/slider.js +1 -1
  536. package/dist/primitives/switch.js +1 -1
  537. package/dist/primitives/tabs.js +1 -1
  538. package/dist/primitives/toast.js +1 -1
  539. package/dist/primitives/toggle-group.js +1 -1
  540. package/dist/primitives/toggle.js +1 -1
  541. package/dist/primitives/toolbar.js +1 -1
  542. package/dist/primitives/tooltip.js +1 -1
  543. package/dist/primitives.js +1 -1
  544. package/dist/prisma-DQmdODpM.js +8 -0
  545. package/dist/prisma-DQmdODpM.js.map +1 -0
  546. package/dist/prolog-BhDhfNq2.js +8 -0
  547. package/dist/prolog-BhDhfNq2.js.map +1 -0
  548. package/dist/proto-8YBPwIZV.js +8 -0
  549. package/dist/proto-8YBPwIZV.js.map +1 -0
  550. package/dist/pug-Cd1k_DIC.js +14 -0
  551. package/dist/pug-Cd1k_DIC.js.map +1 -0
  552. package/dist/puppet-DWeotfji.js +8 -0
  553. package/dist/puppet-DWeotfji.js.map +1 -0
  554. package/dist/purescript-BlRfpTfS.js +8 -0
  555. package/dist/purescript-BlRfpTfS.js.map +1 -0
  556. package/dist/python--QhWBEuB.js +8 -0
  557. package/dist/python--QhWBEuB.js.map +1 -0
  558. package/dist/qml-D5YeakZo.js +10 -0
  559. package/dist/qml-D5YeakZo.js.map +1 -0
  560. package/dist/qmldir-Cvb9I9Hu.js +8 -0
  561. package/dist/qmldir-Cvb9I9Hu.js.map +1 -0
  562. package/dist/qss-MOxpdvNy.js +8 -0
  563. package/dist/qss-MOxpdvNy.js.map +1 -0
  564. package/dist/r-CPa3sP0i.js +8 -0
  565. package/dist/r-CPa3sP0i.js.map +1 -0
  566. package/dist/racket-u4Z5W-hW.js +8 -0
  567. package/dist/racket-u4Z5W-hW.js.map +1 -0
  568. package/dist/{radio-ibVa4Y8a.js → radio-BQTXNBkS.js} +26 -26
  569. package/dist/radio-BQTXNBkS.js.map +1 -0
  570. package/dist/raku-DD1-d8EI.js +8 -0
  571. package/dist/raku-DD1-d8EI.js.map +1 -0
  572. package/dist/razor-CvgW6g5F.js +12 -0
  573. package/dist/razor-CvgW6g5F.js.map +1 -0
  574. package/dist/red-nqtx3ZzA.js +6 -0
  575. package/dist/red-nqtx3ZzA.js.map +1 -0
  576. package/dist/reg-D39ozI4Z.js +8 -0
  577. package/dist/reg-D39ozI4Z.js.map +1 -0
  578. package/dist/regexp-C-mTs3Xt.js +8 -0
  579. package/dist/regexp-C-mTs3Xt.js.map +1 -0
  580. package/dist/rel-CvIujmyu.js +8 -0
  581. package/dist/rel-CvIujmyu.js.map +1 -0
  582. package/dist/riscv-BDw_rTFU.js +8 -0
  583. package/dist/riscv-BDw_rTFU.js.map +1 -0
  584. package/dist/ron-Dr-HoCkP.js +8 -0
  585. package/dist/ron-Dr-HoCkP.js.map +1 -0
  586. package/dist/rose-pine-Ca6P34ai.js +6 -0
  587. package/dist/rose-pine-Ca6P34ai.js.map +1 -0
  588. package/dist/rose-pine-dawn-CSsyidmk.js +6 -0
  589. package/dist/rose-pine-dawn-CSsyidmk.js.map +1 -0
  590. package/dist/rose-pine-moon-DFcWGQ4j.js +6 -0
  591. package/dist/rose-pine-moon-DFcWGQ4j.js.map +1 -0
  592. package/dist/rosmsg-D3QLmOd5.js +8 -0
  593. package/dist/rosmsg-D3QLmOd5.js.map +1 -0
  594. package/dist/rst-BVJfTGcR.js +24 -0
  595. package/dist/rst-BVJfTGcR.js.map +1 -0
  596. package/dist/ruby-0gZcrdnG.js +32 -0
  597. package/dist/ruby-0gZcrdnG.js.map +1 -0
  598. package/dist/rust-CiVdiDo-.js +8 -0
  599. package/dist/rust-CiVdiDo-.js.map +1 -0
  600. package/dist/sas-Df_jutC7.js +10 -0
  601. package/dist/sas-Df_jutC7.js.map +1 -0
  602. package/dist/sass-CnN1LcIf.js +8 -0
  603. package/dist/sass-CnN1LcIf.js.map +1 -0
  604. package/dist/scala-D_7p1-Ff.js +8 -0
  605. package/dist/scala-D_7p1-Ff.js.map +1 -0
  606. package/dist/scheme-kuKKlndT.js +8 -0
  607. package/dist/scheme-kuKKlndT.js.map +1 -0
  608. package/dist/scripts/theme-generator/config.d.ts +6 -0
  609. package/dist/scripts/theme-generator/config.d.ts.map +1 -0
  610. package/dist/scripts/theme-generator/config.js +394 -0
  611. package/dist/scripts/theme-generator/config.js.map +1 -0
  612. package/dist/scripts/theme-generator/generate-css.d.ts +31 -0
  613. package/dist/scripts/theme-generator/generate-css.d.ts.map +1 -0
  614. package/dist/scripts/theme-generator/index.d.ts +13 -0
  615. package/dist/scripts/theme-generator/index.d.ts.map +1 -0
  616. package/dist/scripts/theme-generator/migrate.d.ts +56 -0
  617. package/dist/scripts/theme-generator/migrate.d.ts.map +1 -0
  618. package/dist/scripts/theme-generator/types.d.ts +76 -0
  619. package/dist/scripts/theme-generator/types.d.ts.map +1 -0
  620. package/dist/scripts/theme-generator/types.js +2 -0
  621. package/dist/scripts/theme-generator/types.js.map +1 -0
  622. package/dist/scss-Cnx3ZIbn.js +10 -0
  623. package/dist/scss-Cnx3ZIbn.js.map +1 -0
  624. package/dist/sdbl-C99B6EXT.js +8 -0
  625. package/dist/sdbl-C99B6EXT.js.map +1 -0
  626. package/dist/select-BWUNPPHQ.js +123 -0
  627. package/dist/select-BWUNPPHQ.js.map +1 -0
  628. package/dist/{sensitive-input-DHDRZRC7.js → sensitive-input-A6Kw7URa.js} +4 -4
  629. package/dist/{sensitive-input-DHDRZRC7.js.map → sensitive-input-A6Kw7URa.js.map} +1 -1
  630. package/dist/shaderlab-r5kupfNY.js +10 -0
  631. package/dist/shaderlab-r5kupfNY.js.map +1 -0
  632. package/dist/shellscript-C9yrawww.js +8 -0
  633. package/dist/shellscript-C9yrawww.js.map +1 -0
  634. package/dist/shellsession-Vfxwd5pt.js +10 -0
  635. package/dist/shellsession-Vfxwd5pt.js.map +1 -0
  636. package/dist/slack-dark-DPwE-fTd.js +6 -0
  637. package/dist/slack-dark-DPwE-fTd.js.map +1 -0
  638. package/dist/slack-ochin-XQpb-bu3.js +6 -0
  639. package/dist/slack-ochin-XQpb-bu3.js.map +1 -0
  640. package/dist/smalltalk-DBHjpWnU.js +8 -0
  641. package/dist/smalltalk-DBHjpWnU.js.map +1 -0
  642. package/dist/snazzy-light-B301-rZ_.js +6 -0
  643. package/dist/snazzy-light-B301-rZ_.js.map +1 -0
  644. package/dist/solarized-dark-Bmasqmd6.js +6 -0
  645. package/dist/solarized-dark-Bmasqmd6.js.map +1 -0
  646. package/dist/solarized-light-D79sTVew.js +6 -0
  647. package/dist/solarized-light-D79sTVew.js.map +1 -0
  648. package/dist/solidity-DiELThdT.js +8 -0
  649. package/dist/solidity-DiELThdT.js.map +1 -0
  650. package/dist/soy-JFzJcdvc.js +10 -0
  651. package/dist/soy-JFzJcdvc.js.map +1 -0
  652. package/dist/sparql-DFkbfk9m.js +10 -0
  653. package/dist/sparql-DFkbfk9m.js.map +1 -0
  654. package/dist/splunk-D_3lOa0g.js +8 -0
  655. package/dist/splunk-D_3lOa0g.js.map +1 -0
  656. package/dist/sql-BUQKMpen.js +8 -0
  657. package/dist/sql-BUQKMpen.js.map +1 -0
  658. package/dist/src/code/code-highlighted.d.ts +32 -0
  659. package/dist/src/code/code-highlighted.d.ts.map +1 -0
  660. package/dist/src/code/context.d.ts +16 -0
  661. package/dist/src/code/context.d.ts.map +1 -0
  662. package/dist/src/code/index.d.ts +31 -0
  663. package/dist/src/code/index.d.ts.map +1 -0
  664. package/dist/src/code/provider.d.ts +7 -0
  665. package/dist/src/code/provider.d.ts.map +1 -0
  666. package/dist/src/code/server.d.ts +96 -0
  667. package/dist/src/code/server.d.ts.map +1 -0
  668. package/dist/src/code/types.d.ts +89 -0
  669. package/dist/src/code/types.d.ts.map +1 -0
  670. package/dist/src/code/use-shiki-highlighter.d.ts +36 -0
  671. package/dist/src/code/use-shiki-highlighter.d.ts.map +1 -0
  672. package/dist/src/command-line/commands/add.d.ts.map +1 -1
  673. package/dist/src/components/badge/badge.d.ts +4 -0
  674. package/dist/src/components/badge/badge.d.ts.map +1 -1
  675. package/dist/src/components/breadcrumbs/breadcrumbs.d.ts.map +1 -1
  676. package/dist/src/components/chart/Color.d.ts +96 -0
  677. package/dist/src/components/chart/Color.d.ts.map +1 -0
  678. package/dist/src/components/chart/EChart.d.ts +130 -0
  679. package/dist/src/components/chart/EChart.d.ts.map +1 -0
  680. package/dist/src/components/chart/Legend.d.ts +42 -0
  681. package/dist/src/components/chart/Legend.d.ts.map +1 -0
  682. package/dist/src/components/chart/TimeseriesChart.d.ts +94 -0
  683. package/dist/src/components/chart/TimeseriesChart.d.ts.map +1 -0
  684. package/dist/src/components/chart/index.d.ts +5 -0
  685. package/dist/src/components/chart/index.d.ts.map +1 -0
  686. package/dist/src/components/code/code.d.ts +19 -0
  687. package/dist/src/components/code/code.d.ts.map +1 -1
  688. package/dist/src/components/collapsible/collapsible.d.ts.map +1 -1
  689. package/dist/src/components/combobox/combobox.d.ts +33 -2
  690. package/dist/src/components/combobox/combobox.d.ts.map +1 -1
  691. package/dist/src/components/dialog/dialog.d.ts +41 -2
  692. package/dist/src/components/dialog/dialog.d.ts.map +1 -1
  693. package/dist/src/components/dropdown/dropdown.d.ts.map +1 -1
  694. package/dist/src/components/flow/connectors.d.ts +4 -0
  695. package/dist/src/components/flow/connectors.d.ts.map +1 -1
  696. package/dist/src/components/flow/diagram.d.ts +35 -2
  697. package/dist/src/components/flow/diagram.d.ts.map +1 -1
  698. package/dist/src/components/flow/node.d.ts +6 -1
  699. package/dist/src/components/flow/node.d.ts.map +1 -1
  700. package/dist/src/components/flow/parallel.d.ts.map +1 -1
  701. package/dist/src/components/flow/use-children.d.ts +20 -2
  702. package/dist/src/components/flow/use-children.d.ts.map +1 -1
  703. package/dist/src/components/label/label.d.ts.map +1 -1
  704. package/dist/src/components/link/link.d.ts +2 -2
  705. package/dist/src/components/link/link.d.ts.map +1 -1
  706. package/dist/src/components/pagination/pagination.d.ts.map +1 -1
  707. package/dist/src/components/radio/radio.d.ts.map +1 -1
  708. package/dist/src/components/select/select.d.ts +29 -6
  709. package/dist/src/components/select/select.d.ts.map +1 -1
  710. package/dist/src/components/switch/switch.d.ts.map +1 -1
  711. package/dist/src/components/table/table.d.ts +3 -1
  712. package/dist/src/components/table/table.d.ts.map +1 -1
  713. package/dist/src/components/tabs/tabs.d.ts +6 -2
  714. package/dist/src/components/tabs/tabs.d.ts.map +1 -1
  715. package/dist/src/components/toast/toast.d.ts +1 -0
  716. package/dist/src/components/toast/toast.d.ts.map +1 -1
  717. package/dist/src/components/tooltip/tooltip.d.ts.map +1 -1
  718. package/dist/src/index.d.ts +1 -0
  719. package/dist/src/index.d.ts.map +1 -1
  720. package/dist/ssh-config-DNaBVjVu.js +8 -0
  721. package/dist/ssh-config-DNaBVjVu.js.map +1 -0
  722. package/dist/stata-DLB0gsgJ.js +10 -0
  723. package/dist/stata-DLB0gsgJ.js.map +1 -0
  724. package/dist/styles/kumo-binding.css +31 -0
  725. package/dist/styles/kumo-standalone.css +1 -1
  726. package/dist/styles/kumo.css +67 -0
  727. package/dist/styles/theme-fedramp.css +13 -0
  728. package/dist/styles/theme-kumo.css +88 -2
  729. package/dist/stylus-D51fN9sH.js +8 -0
  730. package/dist/stylus-D51fN9sH.js.map +1 -0
  731. package/dist/surrealql-sFzY-ODM.js +10 -0
  732. package/dist/surrealql-sFzY-ODM.js.map +1 -0
  733. package/dist/svelte-CvDgWedh.js +16 -0
  734. package/dist/svelte-CvDgWedh.js.map +1 -0
  735. package/dist/swift-DwwnjRI-.js +8 -0
  736. package/dist/swift-DwwnjRI-.js.map +1 -0
  737. package/dist/{switch-DrbaX2iC.js → switch-CmUFBiJv.js} +4 -4
  738. package/dist/switch-CmUFBiJv.js.map +1 -0
  739. package/dist/synthwave-84-H0OiUA6S.js +6 -0
  740. package/dist/synthwave-84-H0OiUA6S.js.map +1 -0
  741. package/dist/system-verilog-Crpmwi64.js +8 -0
  742. package/dist/system-verilog-Crpmwi64.js.map +1 -0
  743. package/dist/systemd-DpPksTVO.js +8 -0
  744. package/dist/systemd-DpPksTVO.js.map +1 -0
  745. package/dist/{table-CH9KC36S.js → table-CbU4Oe3o.js} +39 -33
  746. package/dist/table-CbU4Oe3o.js.map +1 -0
  747. package/dist/{tabs-B-Fxc6Zo.js → tabs-uLzHh6SR.js} +16 -15
  748. package/dist/tabs-uLzHh6SR.js.map +1 -0
  749. package/dist/talonscript-C0B9tdh0.js +8 -0
  750. package/dist/talonscript-C0B9tdh0.js.map +1 -0
  751. package/dist/tasl-De-6_1ux.js +8 -0
  752. package/dist/tasl-De-6_1ux.js.map +1 -0
  753. package/dist/tcl-tdOXVFhT.js +8 -0
  754. package/dist/tcl-tdOXVFhT.js.map +1 -0
  755. package/dist/templ-D3k0ETqq.js +14 -0
  756. package/dist/templ-D3k0ETqq.js.map +1 -0
  757. package/dist/terraform-C65cvXJK.js +8 -0
  758. package/dist/terraform-C65cvXJK.js.map +1 -0
  759. package/dist/tex-4pYKQzZ9.js +10 -0
  760. package/dist/tex-4pYKQzZ9.js.map +1 -0
  761. package/dist/{toast-DUYp3EtH.js → toast-B-d56fkl.js} +125 -93
  762. package/dist/toast-B-d56fkl.js.map +1 -0
  763. package/dist/tokyo-night-BcIcd5FP.js +6 -0
  764. package/dist/tokyo-night-BcIcd5FP.js.map +1 -0
  765. package/dist/toml-BTLaxjFB.js +8 -0
  766. package/dist/toml-BTLaxjFB.js.map +1 -0
  767. package/dist/{tooltip-D-KwZQDV.js → tooltip-C7p2iJ0y.js} +24 -18
  768. package/dist/tooltip-C7p2iJ0y.js.map +1 -0
  769. package/dist/ts-tags-DeeA5bAv.js +43 -0
  770. package/dist/ts-tags-DeeA5bAv.js.map +1 -0
  771. package/dist/tsv-BSiNlNds.js +8 -0
  772. package/dist/tsv-BSiNlNds.js.map +1 -0
  773. package/dist/tsx-1QZ5GNk-.js +8 -0
  774. package/dist/tsx-1QZ5GNk-.js.map +1 -0
  775. package/dist/turtle-B1Pzn5av.js +8 -0
  776. package/dist/turtle-B1Pzn5av.js.map +1 -0
  777. package/dist/twig-C2HueQmu.js +20 -0
  778. package/dist/twig-C2HueQmu.js.map +1 -0
  779. package/dist/typescript-CLMZXfG9.js +8 -0
  780. package/dist/typescript-CLMZXfG9.js.map +1 -0
  781. package/dist/typespec-C5gqdlO4.js +8 -0
  782. package/dist/typespec-C5gqdlO4.js.map +1 -0
  783. package/dist/typst-pX4dU_Sd.js +8 -0
  784. package/dist/typst-pX4dU_Sd.js.map +1 -0
  785. package/dist/v-C_UlMRpP.js +8 -0
  786. package/dist/v-C_UlMRpP.js.map +1 -0
  787. package/dist/vala-B0RfnRiT.js +8 -0
  788. package/dist/vala-B0RfnRiT.js.map +1 -0
  789. package/dist/vb-DYbmUkLw.js +8 -0
  790. package/dist/vb-DYbmUkLw.js.map +1 -0
  791. package/dist/{vendor-base-ui-Bsg5ebHI.js → vendor-base-ui-DN1j_aJS.js} +261 -259
  792. package/dist/{vendor-base-ui-Bsg5ebHI.js.map → vendor-base-ui-DN1j_aJS.js.map} +1 -1
  793. package/dist/verilog-BUqLwf8h.js +8 -0
  794. package/dist/verilog-BUqLwf8h.js.map +1 -0
  795. package/dist/vesper-BW8Q9P3p.js +6 -0
  796. package/dist/vesper-BW8Q9P3p.js.map +1 -0
  797. package/dist/vhdl-e6zXgkQJ.js +8 -0
  798. package/dist/vhdl-e6zXgkQJ.js.map +1 -0
  799. package/dist/viml-Bw7DMabC.js +8 -0
  800. package/dist/viml-Bw7DMabC.js.map +1 -0
  801. package/dist/vitesse-black-BBGvp4RB.js +6 -0
  802. package/dist/vitesse-black-BBGvp4RB.js.map +1 -0
  803. package/dist/vitesse-dark-qcbI9VBy.js +6 -0
  804. package/dist/vitesse-dark-qcbI9VBy.js.map +1 -0
  805. package/dist/vitesse-light-BL2wQDaR.js +6 -0
  806. package/dist/vitesse-light-BL2wQDaR.js.map +1 -0
  807. package/dist/vue-DKeMdoTK.js +33 -0
  808. package/dist/vue-DKeMdoTK.js.map +1 -0
  809. package/dist/vue-html-CEfeAKp2.js +10 -0
  810. package/dist/vue-html-CEfeAKp2.js.map +1 -0
  811. package/dist/vue-vine-CjuPBhXu.js +20 -0
  812. package/dist/vue-vine-CjuPBhXu.js.map +1 -0
  813. package/dist/vyper-Dc9KcbZ_.js +8 -0
  814. package/dist/vyper-Dc9KcbZ_.js.map +1 -0
  815. package/dist/wasm-Bae8j78o.js +8 -0
  816. package/dist/wasm-Bae8j78o.js.map +1 -0
  817. package/dist/wasm-D5B682Xt.js +9 -0
  818. package/dist/wasm-D5B682Xt.js.map +1 -0
  819. package/dist/wenyan-j7Mu9-Zf.js +8 -0
  820. package/dist/wenyan-j7Mu9-Zf.js.map +1 -0
  821. package/dist/wgsl-DEgz941F.js +8 -0
  822. package/dist/wgsl-DEgz941F.js.map +1 -0
  823. package/dist/wikitext-CFdiH6zG.js +8 -0
  824. package/dist/wikitext-CFdiH6zG.js.map +1 -0
  825. package/dist/wit-CQDxIROw.js +8 -0
  826. package/dist/wit-CQDxIROw.js.map +1 -0
  827. package/dist/wolfram-BkETUL8d.js +8 -0
  828. package/dist/wolfram-BkETUL8d.js.map +1 -0
  829. package/dist/xml-CKSarKBc.js +10 -0
  830. package/dist/xml-CKSarKBc.js.map +1 -0
  831. package/dist/xsl-oImqe_65.js +10 -0
  832. package/dist/xsl-oImqe_65.js.map +1 -0
  833. package/dist/yaml-CqFcuW2H.js +8 -0
  834. package/dist/yaml-CqFcuW2H.js.map +1 -0
  835. package/dist/zenscript-DfbVeZ74.js +8 -0
  836. package/dist/zenscript-DfbVeZ74.js.map +1 -0
  837. package/dist/zig--LeFnMpj.js +8 -0
  838. package/dist/zig--LeFnMpj.js.map +1 -0
  839. package/package.json +35 -10
  840. package/scripts/css-build.ts +5 -1
  841. package/scripts/theme-generator/config.ts +20 -2
  842. package/scripts/theme-generator/generate-css.test.ts +30 -0
  843. package/scripts/theme-generator/generate-css.ts +104 -6
  844. package/dist/badge-Dc99vsfo.js.map +0 -1
  845. package/dist/breadcrumbs-DyKi7BcP.js +0 -132
  846. package/dist/breadcrumbs-DyKi7BcP.js.map +0 -1
  847. package/dist/checkbox-CfFoTNFI.js +0 -224
  848. package/dist/checkbox-CfFoTNFI.js.map +0 -1
  849. package/dist/clipboard-text-1d0rHIhb.js.map +0 -1
  850. package/dist/collapsible-OBNkTO48.js.map +0 -1
  851. package/dist/combobox-vnvi22pn.js +0 -250
  852. package/dist/combobox-vnvi22pn.js.map +0 -1
  853. package/dist/command-palette-B80cqB7K.js.map +0 -1
  854. package/dist/dialog-C4BIM-74.js +0 -97
  855. package/dist/dialog-C4BIM-74.js.map +0 -1
  856. package/dist/dropdown-CfS4QcSR.js.map +0 -1
  857. package/dist/input-group-BbaVpJnA.js.map +0 -1
  858. package/dist/label-Cd6nCDWj.js +0 -58
  859. package/dist/label-Cd6nCDWj.js.map +0 -1
  860. package/dist/link-DJq9RWpK.js.map +0 -1
  861. package/dist/menubar-Chchzst0.js.map +0 -1
  862. package/dist/pagination-DFHoZwPJ.js +0 -208
  863. package/dist/pagination-DFHoZwPJ.js.map +0 -1
  864. package/dist/radio-ibVa4Y8a.js.map +0 -1
  865. package/dist/schemas-CdpAeJKO.js.map +0 -1
  866. package/dist/select-DtcT1zGm.js +0 -122
  867. package/dist/select-DtcT1zGm.js.map +0 -1
  868. package/dist/switch-DrbaX2iC.js.map +0 -1
  869. package/dist/table-CH9KC36S.js.map +0 -1
  870. package/dist/tabs-B-Fxc6Zo.js.map +0 -1
  871. package/dist/toast-DUYp3EtH.js.map +0 -1
  872. package/dist/tooltip-D-KwZQDV.js.map +0 -1
  873. /package/dist/{src/blocks → blocks-source}/delete-resource/delete-resource.tsx +0 -0
  874. /package/dist/{src/blocks → blocks-source}/page-header/page-header.tsx +0 -0
  875. /package/dist/{src/blocks → blocks-source}/resource-list/resource-list.test.tsx +0 -0
  876. /package/dist/{src/blocks → blocks-source}/resource-list/resource-list.tsx +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"label-Cd6nCDWj.js","sources":["../src/components/label/label.tsx"],"sourcesContent":["import { Info } from \"@phosphor-icons/react\";\nimport type { ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Tooltip } from \"../tooltip\";\n\n/** Label variant definitions (currently empty, reserved for future additions). */\nexport const KUMO_LABEL_VARIANTS = {\n // Label currently has no variant options but structure is ready for future additions\n} as const;\n\nexport const KUMO_LABEL_DEFAULT_VARIANTS = {} as const;\n\n// Derived types from KUMO_LABEL_VARIANTS\nexport interface KumoLabelVariantsProps {}\n\nexport function labelVariants(_props: KumoLabelVariantsProps = {}) {\n return cn(\n // Base styles - when used standalone, apply text styling\n // When used inside Field, the parent FieldBase.Label provides these styles\n \"text-base font-medium text-kumo-default\",\n );\n}\n\nexport function labelContentVariants() {\n return cn(\n // Content wrapper styles - always applied\n \"inline-flex items-center gap-1\",\n );\n}\n\n/**\n * Label component props.\n *\n * @example\n * ```tsx\n * <Label>Email</Label>\n * <Label showOptional>Middle Name</Label>\n * <Label tooltip=\"We'll use this to send you updates\">Email</Label>\n * ```\n */\nexport interface LabelProps extends KumoLabelVariantsProps {\n /** The label content — can be a string or any React node. */\n children: ReactNode;\n /** When `true`, shows gray \"(optional)\" text after the label. */\n showOptional?: boolean;\n /** Tooltip content displayed next to the label via an info icon. */\n tooltip?: ReactNode;\n /** Additional CSS classes merged via `cn()`. */\n className?: string;\n /** The id of the form element this label is associated with */\n htmlFor?: string;\n /**\n * When true, only renders the inline content (indicators, tooltip) without\n * the outer label element with font styling. Useful when composed inside another\n * label element that already provides the text styling.\n * @default false\n */\n asContent?: boolean;\n}\n\n/**\n * Label component for form fields.\n *\n * Provides a standardized way to display labels with optional indicators:\n * - Optional indicator: gray \"(optional)\" text when `showOptional={true}`\n * - Tooltip: info icon with hover tooltip for additional context\n *\n * @example\n * // Basic label\n * <Label>Email</Label>\n *\n * @example\n * // Optional field with indicator\n * <Label showOptional>Middle Name</Label>\n *\n * @example\n * // With tooltip\n * <Label tooltip=\"We'll use this to send you updates\">Email</Label>\n *\n * @example\n * // With ReactNode children\n * <Label>\n * <span>Custom label with <strong>bold</strong> text</span>\n * </Label>\n */\nexport function Label({\n children,\n showOptional = false,\n tooltip,\n className,\n htmlFor,\n asContent = false,\n}: LabelProps) {\n const content = (\n <>\n {children}\n {showOptional && (\n <span className=\"font-normal text-kumo-strong\">(optional)</span>\n )}\n {tooltip && (\n <Tooltip content={tooltip}>\n <Info\n className=\"size-4 cursor-help text-kumo-strong\"\n aria-label=\"More information\"\n />\n </Tooltip>\n )}\n </>\n );\n\n // When used as content inside another styled element, just render inline\n if (asContent) {\n return (\n <span className={cn(labelContentVariants(), className)}>{content}</span>\n );\n }\n\n // When used standalone, render as <label> for accessibility\n return (\n <label\n htmlFor={htmlFor}\n className={cn(labelVariants(), labelContentVariants(), className)}\n >\n {content}\n </label>\n );\n}\n\nLabel.displayName = \"Label\";\n"],"names":["KUMO_LABEL_VARIANTS","KUMO_LABEL_DEFAULT_VARIANTS","labelVariants","_props","cn","labelContentVariants","Label","children","showOptional","tooltip","className","htmlFor","asContent","content","jsxs","Fragment","jsx","Tooltip","Info"],"mappings":";;;;;AAMO,MAAMA,IAAsB;AAAA;AAEnC,GAEaC,IAA8B,CAAA;AAKpC,SAASC,EAAcC,IAAiC,IAAI;AACjE,SAAOC;AAAA;AAAA;AAAA,IAGL;AAAA,EAAA;AAEJ;AAEO,SAASC,IAAuB;AACrC,SAAOD;AAAA;AAAA,IAEL;AAAA,EAAA;AAEJ;AAyDO,SAASE,EAAM;AAAA,EACpB,UAAAC;AAAA,EACA,cAAAC,IAAe;AAAA,EACf,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC,IAAY;AACd,GAAe;AACb,QAAMC,IACJ,gBAAAC,EAAAC,GAAA,EACG,UAAA;AAAA,IAAAR;AAAA,IACAC,KACC,gBAAAQ,EAAC,QAAA,EAAK,WAAU,gCAA+B,UAAA,cAAU;AAAA,IAE1DP,KACC,gBAAAO,EAACC,GAAA,EAAQ,SAASR,GAChB,UAAA,gBAAAO;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,cAAW;AAAA,MAAA;AAAA,IAAA,EACb,CACF;AAAA,EAAA,GAEJ;AAIF,SAAIN,IAEA,gBAAAI,EAAC,UAAK,WAAWZ,EAAGC,KAAwBK,CAAS,GAAI,UAAAG,GAAQ,IAMnE,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAAL;AAAA,MACA,WAAWP,EAAGF,EAAA,GAAiBG,EAAA,GAAwBK,CAAS;AAAA,MAE/D,UAAAG;AAAA,IAAA;AAAA,EAAA;AAGP;AAEAP,EAAM,cAAc;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"link-DJq9RWpK.js","sources":["../src/components/link/link.tsx"],"sourcesContent":["import { forwardRef, type SVGProps } from \"react\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { cn } from \"../../utils/cn\";\nimport {\n useLinkComponent,\n type LinkComponentProps,\n} from \"../../utils/link-provider\";\n\n/**\n * ExternalIcon - Visual indicator for links that open in a new tab/window.\n *\n * Use this as a child of Link to indicate external navigation:\n * ```tsx\n * <Link href=\"https://example.com\" target=\"_blank\" rel=\"noopener noreferrer\">\n * Visit Example <Link.ExternalIcon />\n * </Link>\n * ```\n */\nconst ExternalIcon = (props: SVGProps<SVGSVGElement>) => (\n <svg\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n className=\"link-external-icon\"\n {...props}\n >\n <path d=\"M9 4H8.8C7.11984 4 6.27976 4 5.63803 4.32698C5.07354 4.6146 4.6146 5.07354 4.32698 5.63803C4 6.27976 4 7.11984 4 8.8V15.2C4 16.8802 4 17.7202 4.32698 18.362C4.6146 18.9265 5.07354 19.3854 5.63803 19.673C6.27976 20 7.11984 20 8.8 20H15.2C16.8802 20 17.7202 20 18.362 19.673C18.9265 19.3854 19.3854 18.9265 19.673 18.362C20 17.7202 20 16.8802 20 15.2V15\" />\n <path d=\"M14 4H20M20 4V10M20 4L11 13\" />\n </svg>\n);\n\nExternalIcon.displayName = \"Link.ExternalIcon\";\n\n/** Link variant definitions mapping variant names to their Tailwind classes. */\nexport const KUMO_LINK_VARIANTS = {\n variant: {\n inline: {\n classes:\n \"text-primary underline underline-offset-[0.15em] decoration-[0.0625em] link-current transition-colors\",\n description: \"Inline text link that flows with content\",\n },\n current: {\n classes:\n \"text-current underline underline-offset-[0.15em] decoration-[0.0625em] link-current transition-colors\",\n description: \"Link that inherits color from parent text\",\n },\n plain: {\n classes: \"text-primary hover:text-primary/70 transition-colors\",\n description: \"Link without underline decoration\",\n },\n },\n} as const;\n\nexport const KUMO_LINK_DEFAULT_VARIANTS = {\n variant: \"inline\",\n} as const;\n\nexport type KumoLinkVariant = keyof typeof KUMO_LINK_VARIANTS.variant;\n\nexport interface KumoLinkVariantsProps {\n /**\n * Visual style of the link.\n * - `\"inline\"` — Inline text link that flows with content\n * - `\"current\"` — Link that inherits color from parent text\n * - `\"plain\"` — Link without underline decoration\n * @default \"inline\"\n */\n variant?: KumoLinkVariant;\n}\n\nexport function linkVariants({\n variant = KUMO_LINK_DEFAULT_VARIANTS.variant,\n}: KumoLinkVariantsProps = {}) {\n return cn(KUMO_LINK_VARIANTS.variant[variant].classes);\n}\n\n/**\n * Link component props.\n *\n * @example\n * ```tsx\n * <Link href=\"/docs\">Learn more</Link>\n * <Link href=\"https://cloudflare.com\" target=\"_blank\" rel=\"noopener noreferrer\">\n * Visit Cloudflare <Link.ExternalIcon />\n * </Link>\n * <Link render={<RouterLink to=\"/dashboard\" />}>Dashboard</Link>\n * ```\n */\nexport type LinkProps = useRender.ComponentProps<\"a\"> &\n LinkComponentProps &\n KumoLinkVariantsProps;\n\n/**\n * Link component for consistent inline text links.\n *\n * Supports composition via `render` prop for framework-specific routing:\n * - Without render: renders via LinkProvider (default anchor or configured component)\n * - With render: merges props onto the provided element with proper ref/event handling\n *\n * @example Basic usage\n * ```tsx\n * <Link href=\"/docs\">Learn more</Link>\n * ```\n *\n * @example External link with icon\n * ```tsx\n * <Link href=\"https://cloudflare.com\" target=\"_blank\" rel=\"noopener noreferrer\">\n * Visit Cloudflare <Link.ExternalIcon />\n * </Link>\n * ```\n *\n * @example Composition with React Router\n * ```tsx\n * <Link render={<RouterLink to=\"/dashboard\" />} variant=\"inline\">\n * Dashboard\n * </Link>\n * ```\n */\nconst LinkBase = forwardRef<HTMLAnchorElement, LinkProps>(function Link(\n { className, variant = \"inline\", render, ...props },\n ref,\n) {\n const LinkComponent = useLinkComponent();\n\n const defaultProps: useRender.ElementProps<\"a\"> = {\n className: cn(\n linkVariants({ variant }),\n \"group/link inline-flex items-center gap-[0.1875em]\",\n ),\n };\n\n const element = useRender({\n render: render ?? <LinkComponent />,\n ref,\n props: mergeProps<\"a\">(defaultProps, props, { className }),\n });\n\n return element;\n});\n\nLinkBase.displayName = \"Link\";\n\n// Compound component with ExternalIcon subcomponent\nexport const Link = Object.assign(LinkBase, {\n ExternalIcon,\n});\n"],"names":["ExternalIcon","props","jsxs","jsx","KUMO_LINK_VARIANTS","KUMO_LINK_DEFAULT_VARIANTS","linkVariants","variant","cn","LinkBase","forwardRef","className","render","ref","LinkComponent","useLinkComponent","defaultProps","useRender","mergeProps","Link"],"mappings":";;;;;;AAmBA,MAAMA,IAAe,CAACC,MACpB,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,QAAO;AAAA,IACP,eAAc;AAAA,IACd,gBAAe;AAAA,IACf,eAAY;AAAA,IACZ,WAAU;AAAA,IACT,GAAGD;AAAA,IAEJ,UAAA;AAAA,MAAA,gBAAAE,EAAC,QAAA,EAAK,GAAE,kWAAA,CAAkW;AAAA,MAC1W,gBAAAA,EAAC,QAAA,EAAK,GAAE,8BAAA,CAA8B;AAAA,IAAA;AAAA,EAAA;AACxC;AAGFH,EAAa,cAAc;AAGpB,MAAMI,IAAqB;AAAA,EAChC,SAAS;AAAA,IACP,QAAQ;AAAA,MACN,SACE;AAAA,MACF,aAAa;AAAA,IAAA;AAAA,IAEf,SAAS;AAAA,MACP,SACE;AAAA,MACF,aAAa;AAAA,IAAA;AAAA,IAEf,OAAO;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,EACf;AAEJ,GAEaC,IAA6B;AAAA,EACxC,SAAS;AACX;AAeO,SAASC,EAAa;AAAA,EAC3B,SAAAC,IAAUF,EAA2B;AACvC,IAA2B,IAAI;AAC7B,SAAOG,EAAGJ,EAAmB,QAAQG,CAAO,EAAE,OAAO;AACvD;AA4CA,MAAME,IAAWC,EAAyC,SACxD,EAAE,WAAAC,GAAW,SAAAJ,IAAU,UAAU,QAAAK,GAAQ,GAAGX,EAAA,GAC5CY,GACA;AACA,QAAMC,IAAgBC,EAAA,GAEhBC,IAA4C;AAAA,IAChD,WAAWR;AAAA,MACTF,EAAa,EAAE,SAAAC,GAAS;AAAA,MACxB;AAAA,IAAA;AAAA,EACF;AASF,SANgBU,EAAU;AAAA,IACxB,QAAQL,KAAU,gBAAAT,EAACW,GAAA,CAAA,CAAc;AAAA,IACjC,KAAAD;AAAA,IACA,OAAOK,EAAgBF,GAAcf,GAAO,EAAE,WAAAU,GAAW;AAAA,EAAA,CAC1D;AAGH,CAAC;AAEDF,EAAS,cAAc;AAGhB,MAAMU,IAAO,OAAO,OAAOV,GAAU;AAAA,EAC1C,cAAAT;AACF,CAAC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"menubar-Chchzst0.js","sources":["../src/components/menubar/use-menu-navigation.ts","../src/components/menubar/menubar.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\n\ntype UseMenuNavigationProps = {\n menuRef: React.RefObject<HTMLElement | null>;\n direction?: \"horizontal\" | \"vertical\"; // Default: horizontal\n};\n\nexport const useMenuNavigation = ({\n menuRef,\n direction = \"horizontal\",\n}: UseMenuNavigationProps) => {\n const activeElementRef = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (!menuRef.current) return;\n\n const focusableElements = Array.from(\n menuRef.current.querySelectorAll(\n 'a, button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])',\n ),\n ) as HTMLElement[];\n\n if (focusableElements.length === 0) return;\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (!activeElementRef.current) return;\n\n const currentIndex = focusableElements.indexOf(activeElementRef.current);\n let nextIndex = currentIndex;\n\n const isHorizontal = direction === \"horizontal\";\n const forwardKey = isHorizontal ? \"ArrowRight\" : \"ArrowDown\";\n const backwardKey = isHorizontal ? \"ArrowLeft\" : \"ArrowUp\";\n\n if (e.key === forwardKey) {\n e.preventDefault();\n nextIndex = (currentIndex + 1) % focusableElements.length;\n } else if (e.key === backwardKey) {\n e.preventDefault();\n nextIndex =\n (currentIndex - 1 + focusableElements.length) %\n focusableElements.length;\n } else {\n return;\n }\n\n const nextElement = focusableElements[nextIndex];\n activeElementRef.current = nextElement;\n nextElement.focus();\n };\n\n const addKeyListener = () =>\n document.addEventListener(\"keydown\", handleKeyDown);\n const removeKeyListener = () =>\n document.removeEventListener(\"keydown\", handleKeyDown);\n\n const handleFocusIn = () => {\n activeElementRef.current = document.activeElement as HTMLElement;\n addKeyListener();\n };\n\n const handleFocusOut = () => {\n activeElementRef.current = null;\n removeKeyListener();\n };\n\n menuRef.current.addEventListener(\"focusin\", handleFocusIn);\n menuRef.current.addEventListener(\"focusout\", handleFocusOut);\n\n return () => {\n menuRef.current?.removeEventListener(\"focusin\", handleFocusIn);\n menuRef.current?.removeEventListener(\"focusout\", handleFocusOut);\n removeKeyListener();\n };\n }, [menuRef, direction]);\n};\n","import { Tooltip } from \"../tooltip\";\nimport { cn } from \"../../utils/cn\";\nimport { IconContext } from \"@phosphor-icons/react\";\nimport React, { useRef } from \"react\";\nimport { useMenuNavigation } from \"./use-menu-navigation\";\n\n/** MenuBar variant definitions (currently empty, reserved for future additions). */\nexport const KUMO_MENUBAR_VARIANTS = {\n // MenuBar currently has no variant options but structure is ready for future additions\n} as const;\n\nexport const KUMO_MENUBAR_DEFAULT_VARIANTS = {} as const;\n\n// Derived types from KUMO_MENUBAR_VARIANTS\nexport interface KumoMenuBarVariantsProps {}\n\nexport function menuBarVariants(_props: KumoMenuBarVariantsProps = {}) {\n return cn(\n // Base styles\n \"flex rounded-lg border border-kumo-fill bg-kumo-fill pl-px shadow-xs transition-colors\",\n );\n}\n\n/** Props for an individual menu option within a MenuBar. */\ntype MenuOptionProps = {\n /** Icon element (typically from `@phosphor-icons/react`) rendered at 18px */\n icon: React.ReactNode;\n /** Unique identifier for the option (used when `optionIds` is true) */\n id?: number | string;\n /** Currently active value from the parent MenuBar */\n isActive?: number | boolean | string | undefined;\n /** Callback when this option is clicked */\n onClick: () => void;\n /** Tooltip text shown on hover */\n tooltip: string;\n};\n\nconst MenuOption = ({\n icon,\n id,\n isActive,\n onClick,\n tooltip,\n}: MenuOptionProps) => {\n return (\n <Tooltip content={tooltip} asChild>\n <button\n className={cn(\n \"focus:inset-ring-focus relative -ml-px flex h-full w-11 cursor-pointer items-center justify-center rounded-md border-none bg-kumo-fill first:rounded-l-lg last:rounded-r-lg transition-colors focus:z-10 focus:outline-none focus-visible:z-10 focus-visible:inset-ring-[0.5]\",\n {\n \"z-20 bg-kumo-base shadow-xs transition-colors\": isActive === id,\n },\n )}\n onClick={onClick}\n >\n <IconContext.Provider value={{ size: 18 }} {...({} as any)}>\n {icon}\n </IconContext.Provider>\n </button>\n </Tooltip>\n );\n};\n\n/**\n * MenuBar component props.\n *\n * Horizontal icon-button toolbar with keyboard navigation and tooltip labels.\n *\n * @example\n * ```tsx\n * <MenuBar\n * isActive={activeIndex}\n * options={[\n * { icon: <ListIcon />, tooltip: \"List view\", onClick: () => setView(\"list\") },\n * { icon: <GridFourIcon />, tooltip: \"Grid view\", onClick: () => setView(\"grid\") },\n * ]}\n * />\n * ```\n */\ntype MenuBarProps = {\n /** Additional CSS classes merged via `cn()`. */\n className?: string;\n /** The currently active option value — matched against option index or `id`. */\n isActive: number | boolean | string | undefined;\n /** Array of menu option configurations. */\n options: MenuOptionProps[];\n /** When true, each option's `id` field is used for matching instead of its array index. */\n optionIds?: boolean;\n};\n\n/**\n * MenuBar — horizontal icon-button toolbar with keyboard arrow-key navigation.\n *\n * Each option renders as a `<button>` with a Tooltip. The active option is\n * visually highlighted with an elevated background.\n *\n * @example\n * ```tsx\n * <MenuBar\n * isActive={0}\n * options={[\n * { icon: <ListIcon />, tooltip: \"List\", onClick: () => {} },\n * { icon: <GridFourIcon />, tooltip: \"Grid\", onClick: () => {} },\n * ]}\n * />\n * ```\n */\nexport const MenuBar = ({\n className,\n isActive,\n options,\n optionIds = false, // if option needs an extra unique ID\n}: MenuBarProps) => {\n const menuRef = useRef<HTMLElement | null>(null);\n\n useMenuNavigation({ menuRef, direction: \"horizontal\" });\n\n return (\n <nav\n className={cn(\n \"flex rounded-lg border border-kumo-fill bg-kumo-fill pl-px shadow-xs transition-colors\",\n className,\n )}\n ref={menuRef}\n >\n {options.map((option, index) => (\n <MenuOption\n key={index}\n {...option}\n isActive={isActive}\n id={optionIds ? option.id : index}\n />\n ))}\n </nav>\n );\n};\n"],"names":["useMenuNavigation","menuRef","direction","activeElementRef","useRef","useEffect","focusableElements","handleKeyDown","e","currentIndex","nextIndex","isHorizontal","forwardKey","backwardKey","nextElement","addKeyListener","removeKeyListener","handleFocusIn","handleFocusOut","MenuOption","icon","id","isActive","onClick","tooltip","jsx","Tooltip","cn","IconContext","MenuBar","className","options","optionIds","option","index"],"mappings":"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"}
@@ -1,208 +0,0 @@
1
- "use client";
2
- import { jsx as t, jsxs as P } from "react/jsx-runtime";
3
- import { useState as A, useEffect as O, useMemo as v, createContext as R, useContext as T } from "react";
4
- import { I as c } from "./input-group-BbaVpJnA.js";
5
- import { CaretDoubleLeftIcon as _, CaretLeftIcon as $, CaretRightIcon as B, CaretDoubleRightIcon as L } from "@phosphor-icons/react";
6
- import { c as g } from "./cn-Bhsu1vx2.js";
7
- import { S as b } from "./select-DtcT1zGm.js";
8
- const D = [25, 50, 100, 250], p = {
9
- controls: "full"
10
- }, f = R(null);
11
- function C() {
12
- const a = T(f);
13
- if (!a)
14
- throw new Error(
15
- "Pagination compound components must be used within a Pagination component"
16
- );
17
- return a;
18
- }
19
- function S({ children: a, className: l }) {
20
- const { page: n, perPage: e, totalCount: o, pageShowingRange: r } = C(), s = a ? a({ page: n, perPage: e, totalCount: o, pageShowingRange: r }) : o && o > 0 ? `Showing ${r} of ${o}` : null;
21
- return /* @__PURE__ */ t(
22
- "div",
23
- {
24
- "data-slot": "pagination-info",
25
- className: g("text-sm text-kumo-strong", l),
26
- children: s
27
- }
28
- );
29
- }
30
- S.displayName = "Pagination.Info";
31
- function I({
32
- value: a,
33
- onChange: l,
34
- options: n = D,
35
- label: e = "Per page:",
36
- className: o
37
- }) {
38
- return /* @__PURE__ */ P(
39
- "div",
40
- {
41
- "data-slot": "pagination-page-size",
42
- className: g("flex items-center gap-2", o),
43
- children: [
44
- e && /* @__PURE__ */ t("span", { className: "text-sm text-kumo-strong", children: e }),
45
- /* @__PURE__ */ t(
46
- b,
47
- {
48
- label: "Page size",
49
- value: a,
50
- onValueChange: (r) => l(r),
51
- children: n.map((r) => /* @__PURE__ */ t(b.Option, { value: r, children: r }, r))
52
- }
53
- )
54
- ]
55
- }
56
- );
57
- }
58
- I.displayName = "Pagination.PageSize";
59
- function h({
60
- controls: a = p.controls,
61
- className: l
62
- }) {
63
- const { page: n, maxPage: e, setPage: o, editingPage: r, setEditingPage: s } = C();
64
- return /* @__PURE__ */ t(
65
- "div",
66
- {
67
- "data-slot": "pagination-controls",
68
- className: g("grow flex flex-col items-end", l),
69
- children: /* @__PURE__ */ t("div", { children: /* @__PURE__ */ P(c, { focusMode: "individual", children: [
70
- a === "full" && /* @__PURE__ */ t(
71
- c.Button,
72
- {
73
- variant: "secondary",
74
- "aria-label": "First page",
75
- disabled: n <= 1,
76
- onClick: () => {
77
- o(1), s(1);
78
- },
79
- children: /* @__PURE__ */ t(_, { size: 16 })
80
- }
81
- ),
82
- /* @__PURE__ */ t(
83
- c.Button,
84
- {
85
- variant: "secondary",
86
- "aria-label": "Previous page",
87
- disabled: n <= 1,
88
- onClick: () => {
89
- const i = Math.max(n - 1, 1);
90
- o(i), s(i);
91
- },
92
- children: /* @__PURE__ */ t($, { size: 16 })
93
- }
94
- ),
95
- a === "full" && /* @__PURE__ */ t(
96
- c.Input,
97
- {
98
- style: { width: 50 },
99
- className: "text-center",
100
- "aria-label": "Page number",
101
- value: r,
102
- onValueChange: (i) => {
103
- s(Number(i));
104
- },
105
- onBlur: () => {
106
- let i = Math.max(r, 1);
107
- i = Math.min(i, e), o(i), s(i);
108
- }
109
- }
110
- ),
111
- /* @__PURE__ */ t(
112
- c.Button,
113
- {
114
- variant: "secondary",
115
- "aria-label": "Next page",
116
- disabled: n === e,
117
- onClick: () => {
118
- const i = Math.min(n + 1, e);
119
- o(i), s(i);
120
- },
121
- children: /* @__PURE__ */ t(B, { size: 16 })
122
- }
123
- ),
124
- a === "full" && /* @__PURE__ */ t(
125
- c.Button,
126
- {
127
- variant: "secondary",
128
- "aria-label": "Last page",
129
- disabled: n === e,
130
- onClick: () => {
131
- o(e), s(e);
132
- },
133
- children: /* @__PURE__ */ t(L, { size: 16 })
134
- }
135
- )
136
- ] }) })
137
- }
138
- );
139
- }
140
- h.displayName = "Pagination.Controls";
141
- function w({ className: a }) {
142
- return /* @__PURE__ */ t(
143
- "div",
144
- {
145
- "data-slot": "pagination-separator",
146
- className: g("mx-2 h-6 border-l border-kumo-line", a)
147
- }
148
- );
149
- }
150
- w.displayName = "Pagination.Separator";
151
- function y(a) {
152
- const { page: l = 1, perPage: n, totalCount: e, setPage: o, children: r, className: s } = a, i = "text" in a ? a.text : void 0, M = "controls" in a ? a.controls ?? p.controls : p.controls, [k, x] = A(1);
153
- O(() => {
154
- x(l);
155
- }, [l]);
156
- const u = v(() => {
157
- let d = l * (n ?? 1) - (n ?? 0) + 1, m = Math.min(l * (n ?? 0), e ?? 0);
158
- return Number.isNaN(d) && (d = 0), Number.isNaN(m) && (m = 0), `${d}-${m}`;
159
- }, [l, n, e]), E = v(() => Math.ceil((e ?? 1) / (n ?? 1)), [e, n]), N = {
160
- page: l,
161
- perPage: n,
162
- totalCount: e,
163
- maxPage: E,
164
- pageShowingRange: u,
165
- setPage: o,
166
- editingPage: k,
167
- setEditingPage: x
168
- };
169
- if (r)
170
- return /* @__PURE__ */ t(f.Provider, { value: N, children: /* @__PURE__ */ t(
171
- "div",
172
- {
173
- "data-slot": "pagination",
174
- className: g("flex items-center gap-2 w-full", s),
175
- children: r
176
- }
177
- ) });
178
- const z = () => i ? i({ page: l, perPage: n, totalCount: e, pageShowingRange: u }) : e && e > 0 ? `Showing ${u} of ${e}` : null;
179
- return /* @__PURE__ */ t(f.Provider, { value: N, children: /* @__PURE__ */ P(
180
- "div",
181
- {
182
- "data-slot": "pagination",
183
- className: g("flex items-center gap-2 w-full", s),
184
- children: [
185
- /* @__PURE__ */ t(
186
- "div",
187
- {
188
- "data-slot": "pagination-info",
189
- className: "grow text-sm text-kumo-strong",
190
- children: z()
191
- }
192
- ),
193
- /* @__PURE__ */ t(h, { controls: M })
194
- ]
195
- }
196
- ) });
197
- }
198
- y.displayName = "Pagination";
199
- const Z = Object.assign(y, {
200
- Info: S,
201
- PageSize: I,
202
- Controls: h,
203
- Separator: w
204
- });
205
- export {
206
- Z as P
207
- };
208
- //# sourceMappingURL=pagination-DFHoZwPJ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pagination-DFHoZwPJ.js","sources":["../src/components/pagination/pagination.tsx"],"sourcesContent":["import {\n createContext,\n useContext,\n useEffect,\n useMemo,\n useState,\n type ReactNode,\n} from \"react\";\nimport { InputGroup } from \"../input\";\nimport {\n CaretDoubleLeftIcon,\n CaretDoubleRightIcon,\n CaretLeftIcon,\n CaretRightIcon,\n} from \"@phosphor-icons/react\";\nimport { cn } from \"../../utils/cn\";\nimport { Select } from \"../select\";\n\nconst DEFAULT_PAGE_SIZE_OPTIONS = [25, 50, 100, 250] as const;\n\n/** Pagination controls variant definitions. */\nexport const KUMO_PAGINATION_VARIANTS = {\n controls: {\n full: {\n classes: \"\",\n description:\n \"Full pagination controls with first, previous, page input, next, and last buttons\",\n },\n simple: {\n classes: \"\",\n description:\n \"Simple pagination controls with only previous and next buttons\",\n },\n },\n} as const;\n\nexport type KumoPaginationControls =\n keyof typeof KUMO_PAGINATION_VARIANTS.controls;\n\nexport const KUMO_PAGINATION_DEFAULT_VARIANTS = {\n controls: \"full\",\n} as const;\n\nexport interface KumoPaginationVariantsProps {\n controls?: KumoPaginationControls;\n}\n\nexport function paginationVariants({\n controls = KUMO_PAGINATION_DEFAULT_VARIANTS.controls,\n}: KumoPaginationVariantsProps = {}) {\n return cn(\n \"flex items-center justify-between gap-2\",\n KUMO_PAGINATION_VARIANTS.controls[controls].classes,\n );\n}\n\n// ============================================================================\n// Pagination Context\n// ============================================================================\n\ninterface PaginationContextValue {\n page: number;\n perPage?: number;\n totalCount?: number;\n maxPage: number;\n pageShowingRange: string;\n setPage: (page: number) => void;\n editingPage: number;\n setEditingPage: (page: number) => void;\n}\n\nconst PaginationContext = createContext<PaginationContextValue | null>(null);\n\nfunction usePaginationContext() {\n const context = useContext(PaginationContext);\n if (!context) {\n throw new Error(\n \"Pagination compound components must be used within a Pagination component\",\n );\n }\n return context;\n}\n\n// ============================================================================\n// Pagination.Info\n// ============================================================================\n\nexport interface PaginationInfoProps {\n /** Custom render function for the info text */\n children?: (props: {\n page: number;\n perPage?: number;\n totalCount?: number;\n pageShowingRange: string;\n }) => ReactNode;\n /** Additional CSS classes */\n className?: string;\n}\n\nfunction PaginationInfo({ children, className }: PaginationInfoProps) {\n const { page, perPage, totalCount, pageShowingRange } =\n usePaginationContext();\n\n const content = children\n ? children({ page, perPage, totalCount, pageShowingRange })\n : totalCount && totalCount > 0\n ? `Showing ${pageShowingRange} of ${totalCount}`\n : null;\n\n return (\n <div\n data-slot=\"pagination-info\"\n className={cn(\"text-sm text-kumo-strong\", className)}\n >\n {content}\n </div>\n );\n}\n\nPaginationInfo.displayName = \"Pagination.Info\";\n\n// ============================================================================\n// Pagination.PageSize\n// ============================================================================\n\nexport interface PaginationPageSizeProps {\n /** Current page size value */\n value: number;\n /** Callback when page size changes */\n onChange: (size: number) => void;\n /** Available page size options */\n options?: number[];\n /** Label text shown before the selector */\n label?: ReactNode;\n /** Additional CSS classes */\n className?: string;\n}\n\nfunction PaginationPageSize({\n value,\n onChange,\n options = DEFAULT_PAGE_SIZE_OPTIONS as unknown as number[],\n label = \"Per page:\",\n className,\n}: PaginationPageSizeProps) {\n return (\n <div\n data-slot=\"pagination-page-size\"\n className={cn(\"flex items-center gap-2\", className)}\n >\n {label && <span className=\"text-sm text-kumo-strong\">{label}</span>}\n <Select\n label=\"Page size\"\n value={value}\n onValueChange={(v) => onChange(v as number)}\n >\n {options.map((size) => (\n <Select.Option key={size} value={size}>\n {size}\n </Select.Option>\n ))}\n </Select>\n </div>\n );\n}\n\nPaginationPageSize.displayName = \"Pagination.PageSize\";\n\n// ============================================================================\n// Pagination.Controls\n// ============================================================================\n\nexport interface PaginationControlsProps extends KumoPaginationVariantsProps {\n /** Additional CSS classes */\n className?: string;\n}\n\nfunction PaginationControls({\n controls = KUMO_PAGINATION_DEFAULT_VARIANTS.controls,\n className,\n}: PaginationControlsProps) {\n const { page, maxPage, setPage, editingPage, setEditingPage } =\n usePaginationContext();\n\n return (\n <div\n data-slot=\"pagination-controls\"\n className={cn(\"grow flex flex-col items-end\", className)}\n >\n <div>\n <InputGroup focusMode=\"individual\">\n {controls === \"full\" && (\n <InputGroup.Button\n variant=\"secondary\"\n aria-label=\"First page\"\n disabled={page <= 1}\n onClick={() => {\n setPage(1);\n setEditingPage(1);\n }}\n >\n <CaretDoubleLeftIcon size={16} />\n </InputGroup.Button>\n )}\n <InputGroup.Button\n variant=\"secondary\"\n aria-label=\"Previous page\"\n disabled={page <= 1}\n onClick={() => {\n const previousPage = Math.max(page - 1, 1);\n setPage(previousPage);\n setEditingPage(previousPage);\n }}\n >\n <CaretLeftIcon size={16} />\n </InputGroup.Button>\n {controls === \"full\" && (\n <InputGroup.Input\n style={{ width: 50 }}\n className=\"text-center\"\n aria-label=\"Page number\"\n value={editingPage}\n onValueChange={(value: string) => {\n setEditingPage(Number(value));\n }}\n onBlur={() => {\n let number = Math.max(editingPage, 1);\n number = Math.min(number, maxPage);\n setPage(number);\n setEditingPage(number);\n }}\n />\n )}\n <InputGroup.Button\n variant=\"secondary\"\n aria-label=\"Next page\"\n disabled={page === maxPage}\n onClick={() => {\n const nextPage = Math.min(page + 1, maxPage);\n setPage(nextPage);\n setEditingPage(nextPage);\n }}\n >\n <CaretRightIcon size={16} />\n </InputGroup.Button>\n {controls === \"full\" && (\n <InputGroup.Button\n variant=\"secondary\"\n aria-label=\"Last page\"\n disabled={page === maxPage}\n onClick={() => {\n setPage(maxPage);\n setEditingPage(maxPage);\n }}\n >\n <CaretDoubleRightIcon size={16} />\n </InputGroup.Button>\n )}\n </InputGroup>\n </div>\n </div>\n );\n}\n\nPaginationControls.displayName = \"Pagination.Controls\";\n\n// ============================================================================\n// Pagination.Separator\n// ============================================================================\n\nexport interface PaginationSeparatorProps {\n /** Additional CSS classes */\n className?: string;\n}\n\nfunction PaginationSeparator({ className }: PaginationSeparatorProps) {\n return (\n <div\n data-slot=\"pagination-separator\"\n className={cn(\"mx-2 h-6 border-l border-kumo-line\", className)}\n />\n );\n}\n\nPaginationSeparator.displayName = \"Pagination.Separator\";\n\n// ============================================================================\n// Pagination Root\n// ============================================================================\n\n/** Base props shared by both compound and legacy Pagination APIs */\ninterface PaginationBaseProps {\n /** Callback fired when the current page changes. */\n setPage: (page: number) => void;\n /**\n * Current page number (1-indexed).\n * @default 1\n */\n page?: number;\n /** Number of items displayed per page. */\n perPage?: number;\n /** Total number of items across all pages. */\n totalCount?: number;\n /** Additional CSS classes for the container */\n className?: string;\n}\n\n/**\n * Props for the compound component API (recommended).\n *\n * @example\n * ```tsx\n * <Pagination page={page} setPage={setPage} perPage={perPage} totalCount={500}>\n * <Pagination.Info />\n * <Pagination.PageSize value={perPage} onChange={setPerPage} />\n * <Pagination.Controls />\n * </Pagination>\n * ```\n */\nexport interface PaginationCompoundProps extends PaginationBaseProps {\n /**\n * Compound component children for custom layouts.\n * Use Pagination.Info, Pagination.PageSize, Pagination.Controls, and Pagination.Separator.\n */\n children: ReactNode;\n controls?: never;\n text?: never;\n}\n\n/**\n * Props for the legacy API (deprecated, use compound components instead).\n *\n * @deprecated Use the compound component API with children instead:\n * ```tsx\n * <Pagination page={page} setPage={setPage} perPage={perPage} totalCount={500}>\n * <Pagination.Info />\n * <Pagination.Controls />\n * </Pagination>\n * ```\n *\n * @example\n * ```tsx\n * // Legacy usage (deprecated)\n * <Pagination page={page} setPage={setPage} perPage={10} totalCount={100} />\n * ```\n */\nexport interface PaginationLegacyProps\n extends PaginationBaseProps,\n KumoPaginationVariantsProps {\n children?: never;\n /** @deprecated Use Pagination.Info with children prop instead */\n text?: (props: {\n page?: number;\n perPage?: number;\n totalCount?: number;\n pageShowingRange: string;\n }) => ReactNode;\n}\n\n/**\n * Pagination component props.\n *\n * Prefer the compound component API for new code:\n * @example\n * ```tsx\n * <Pagination page={page} setPage={setPage} perPage={perPage} totalCount={500}>\n * <Pagination.Info />\n * <Pagination.PageSize value={perPage} onChange={setPerPage} />\n * <Pagination.Controls />\n * </Pagination>\n * ```\n */\nexport type PaginationProps = PaginationCompoundProps | PaginationLegacyProps;\n\n/**\n * Page navigation controls with page count display.\n *\n * Supports both compound component and legacy patterns. Prefer compound components for new code:\n *\n * @example\n * // Compound component (recommended)\n * ```tsx\n * <Pagination page={page} setPage={setPage} perPage={perPage} totalCount={500}>\n * <Pagination.Info />\n * <Pagination.Separator />\n * <Pagination.PageSize value={perPage} onChange={setPerPage} />\n * <Pagination.Controls />\n * </Pagination>\n * ```\n *\n * @example\n * // Legacy (deprecated)\n * ```tsx\n * <Pagination page={page} setPage={setPage} perPage={10} totalCount={100} />\n * ```\n */\nfunction PaginationRoot(props: PaginationProps) {\n const { page = 1, perPage, totalCount, setPage, children, className } = props;\n\n // Extract legacy props (only present when children is not provided)\n const text = \"text\" in props ? props.text : undefined;\n const controls =\n \"controls\" in props\n ? (props.controls ?? KUMO_PAGINATION_DEFAULT_VARIANTS.controls)\n : KUMO_PAGINATION_DEFAULT_VARIANTS.controls;\n const [editingPage, setEditingPage] = useState<number>(1);\n\n useEffect(() => {\n setEditingPage(page);\n }, [page]);\n\n const pageShowingRange = useMemo(() => {\n let lower = page * (perPage ?? 1) - (perPage ?? 0) + 1;\n let upper = Math.min(page * (perPage ?? 0), totalCount ?? 0);\n\n if (Number.isNaN(lower)) lower = 0;\n if (Number.isNaN(upper)) upper = 0;\n\n return `${lower}-${upper}`;\n }, [page, perPage, totalCount]);\n\n const maxPage = useMemo(() => {\n return Math.ceil((totalCount ?? 1) / (perPage ?? 1));\n }, [totalCount, perPage]);\n\n const contextValue: PaginationContextValue = {\n page,\n perPage,\n totalCount,\n maxPage,\n pageShowingRange,\n setPage,\n editingPage,\n setEditingPage,\n };\n\n // Compound component mode: render children within context\n if (children) {\n return (\n <PaginationContext.Provider value={contextValue}>\n <div\n data-slot=\"pagination\"\n className={cn(\"flex items-center gap-2 w-full\", className)}\n >\n {children}\n </div>\n </PaginationContext.Provider>\n );\n }\n\n // Legacy mode: render default layout for backwards compatibility\n const getPaginationText = () => {\n if (text) {\n return text({ page, perPage, totalCount, pageShowingRange });\n } else if (totalCount && totalCount > 0) {\n return `Showing ${pageShowingRange} of ${totalCount}`;\n }\n return null;\n };\n\n return (\n <PaginationContext.Provider value={contextValue}>\n <div\n data-slot=\"pagination\"\n className={cn(\"flex items-center gap-2 w-full\", className)}\n >\n <div\n data-slot=\"pagination-info\"\n className=\"grow text-sm text-kumo-strong\"\n >\n {getPaginationText()}\n </div>\n <PaginationControls controls={controls} />\n </div>\n </PaginationContext.Provider>\n );\n}\n\nPaginationRoot.displayName = \"Pagination\";\n\n// ============================================================================\n// Compound Component Export\n// ============================================================================\n\nexport const Pagination = Object.assign(PaginationRoot, {\n Info: PaginationInfo,\n PageSize: PaginationPageSize,\n Controls: PaginationControls,\n Separator: PaginationSeparator,\n});\n\nexport {\n PaginationInfo,\n PaginationPageSize,\n PaginationControls,\n PaginationSeparator,\n};\n"],"names":["DEFAULT_PAGE_SIZE_OPTIONS","KUMO_PAGINATION_DEFAULT_VARIANTS","PaginationContext","createContext","usePaginationContext","context","useContext","PaginationInfo","children","className","page","perPage","totalCount","pageShowingRange","content","jsx","cn","PaginationPageSize","value","onChange","options","label","jsxs","Select","v","size","PaginationControls","controls","maxPage","setPage","editingPage","setEditingPage","InputGroup","CaretDoubleLeftIcon","previousPage","CaretLeftIcon","number","nextPage","CaretRightIcon","CaretDoubleRightIcon","PaginationSeparator","PaginationRoot","props","text","useState","useEffect","useMemo","lower","upper","contextValue","getPaginationText","Pagination"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"radio-ibVa4Y8a.js","sources":["../src/components/radio/radio.tsx"],"sourcesContent":["import { forwardRef, createContext, useContext, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Fieldset } from \"@base-ui/react/fieldset\";\nimport { RadioGroup as BaseRadioGroup } from \"@base-ui/react/radio-group\";\nimport { Radio as BaseRadio } from \"@base-ui/react/radio\";\n\n/** Radio variant definitions mapping variant names to their Tailwind classes. */\nexport const KUMO_RADIO_VARIANTS = {\n variant: {\n default: {\n classes: \"ring-kumo-line\",\n description: \"Default radio appearance\",\n },\n error: {\n classes: \"ring-destructive\",\n description: \"Error state for validation failures\",\n },\n },\n} as const;\n\nexport const KUMO_RADIO_DEFAULT_VARIANTS = {\n variant: \"default\",\n} as const;\n\n// Derived types from KUMO_RADIO_VARIANTS\nexport type KumoRadioVariant = keyof typeof KUMO_RADIO_VARIANTS.variant;\n\nexport interface KumoRadioVariantsProps {\n /**\n * Visual variant.\n * - `\"default\"` — Standard radio appearance\n * - `\"error\"` — Error state for validation failures\n * @default \"default\"\n */\n variant?: KumoRadioVariant;\n}\n\nexport function radioVariants({\n variant = KUMO_RADIO_DEFAULT_VARIANTS.variant,\n}: KumoRadioVariantsProps = {}) {\n return cn(KUMO_RADIO_VARIANTS.variant[variant].classes);\n}\n\n// Legacy type alias for backwards compatibility\nexport type RadioVariant = KumoRadioVariant;\n\n/** Position of the radio control relative to its label */\nexport type RadioControlPosition = \"start\" | \"end\";\n\n// Context for passing controlPosition from Group to Items\nconst RadioGroupContext = createContext<{\n controlPosition: RadioControlPosition;\n}>({\n controlPosition: \"start\",\n});\n\n/**\n * Radio group component props (with built-in Fieldset and RadioGroup)\n *\n * @example\n * // Basic usage\n * ```tsx\n * <Radio.Group legend=\"Notification preference\" defaultValue=\"email\">\n * <Radio.Item label=\"Email\" value=\"email\" />\n * <Radio.Item label=\"SMS\" value=\"sms\" />\n * <Radio.Item label=\"Push\" value=\"push\" />\n * </Radio.Group>\n * ```\n *\n * @example\n * // Horizontal layout\n * ```tsx\n * <Radio.Group legend=\"Size\" orientation=\"horizontal\" defaultValue=\"md\">\n * <Radio.Item label=\"Small\" value=\"sm\" />\n * <Radio.Item label=\"Medium\" value=\"md\" />\n * <Radio.Item label=\"Large\" value=\"lg\" />\n * </Radio.Group>\n * ```\n *\n * @example\n * // With error and description\n * ```tsx\n * <Radio.Group\n * legend=\"Payment method\"\n * error=\"Please select a payment method\"\n * description=\"Choose how you'd like to pay\"\n * >\n * <Radio.Item label=\"Credit Card\" value=\"card\" />\n * <Radio.Item label=\"PayPal\" value=\"paypal\" />\n * </Radio.Group>\n * ```\n *\n * @example\n * // Controlled\n * ```tsx\n * const [value, setValue] = useState(\"email\");\n * <Radio.Group legend=\"Contact\" value={value} onValueChange={setValue}>\n * <Radio.Item label=\"Email\" value=\"email\" />\n * <Radio.Item label=\"Phone\" value=\"phone\" />\n * </Radio.Group>\n * ```\n *\n * @example\n * // Label before radio (controlPosition=\"end\")\n * ```tsx\n * <Radio.Group legend=\"Options\" controlPosition=\"end\" defaultValue=\"a\">\n * <Radio.Item label=\"Option A\" value=\"a\" />\n * <Radio.Item label=\"Option B\" value=\"b\" />\n * </Radio.Group>\n * ```\n */\nexport interface RadioGroupProps {\n /** Legend text for the group (required for accessibility) */\n legend: string;\n /** Child Radio.Item components */\n children: ReactNode;\n /** Layout direction of the radio items */\n orientation?: \"vertical\" | \"horizontal\";\n /** Error message for the group */\n error?: string;\n /** Helper text for the group */\n description?: ReactNode;\n /** Value of the radio that should be initially selected (uncontrolled) */\n defaultValue?: string;\n /** Value of the radio that should be selected (controlled) */\n value?: string;\n /** Event handler called when radio value changes */\n onValueChange?: (value: string) => void;\n /** Whether all radios in the group are disabled */\n disabled?: boolean;\n /** Position of radio control relative to label: \"start\" (default) puts radio before label, \"end\" puts label before radio */\n controlPosition?: RadioControlPosition;\n /** Form submission name for the radio group */\n name?: string;\n /** Additional CSS classes */\n className?: string;\n}\n\n/**\n * Individual radio item within a group\n *\n * @example\n * ```tsx\n * <Radio.Item label=\"Option A\" value=\"a\" />\n * ```\n *\n * @example\n * // Disabled item\n * ```tsx\n * <Radio.Item label=\"Unavailable\" value=\"unavailable\" disabled />\n * ```\n */\nexport type RadioItemProps = {\n /** Visual variant: \"default\" or \"error\" for validation failures */\n variant?: RadioVariant;\n /** Label text displayed next to radio (required) */\n label: string;\n /** Value of the radio (required) */\n value: string;\n /** Additional CSS classes for the label wrapper */\n className?: string;\n /** Whether the radio is disabled */\n disabled?: boolean;\n};\n\n// Radio.Item for use within Radio.Group\nconst RadioItem = forwardRef<HTMLButtonElement, RadioItemProps>(\n ({ className, disabled, variant = \"default\", label, value }, ref) => {\n const { controlPosition } = useContext(RadioGroupContext);\n\n return (\n <label\n className={cn(\n \"group relative inline-flex items-center gap-2\",\n // \"start\" (default): radio before label\n // \"end\": label before radio using flex-row-reverse\n controlPosition === \"end\" && \"flex-row-reverse justify-end\",\n disabled ? \"cursor-not-allowed opacity-50\" : \"cursor-pointer\",\n className,\n )}\n >\n <BaseRadio.Root\n ref={ref}\n value={value}\n disabled={disabled}\n className={cn(\n \"flex h-4 w-4 items-center justify-center rounded-full border-0 bg-kumo-base ring\",\n variant === \"error\" ? \"ring-kumo-danger\" : \"ring-kumo-line\",\n !disabled &&\n \"group-hover:ring-kumo-ring focus-visible:ring-kumo-ring focus-visible:outline-offset-3\",\n \"data-checked:bg-kumo-contrast\",\n )}\n >\n <BaseRadio.Indicator className=\"flex items-center justify-center\">\n <span className=\"h-2 w-2 rounded-full bg-kumo-base\" />\n </BaseRadio.Indicator>\n </BaseRadio.Root>\n <span className=\"text-base font-medium text-kumo-default\">{label}</span>\n </label>\n );\n },\n);\n\nRadioItem.displayName = \"Radio.Item\";\n\n// Radio.Group with built-in Fieldset and RadioGroup\nfunction RadioGroup({\n legend,\n children,\n orientation = \"vertical\",\n error,\n description,\n defaultValue,\n value,\n onValueChange,\n disabled,\n controlPosition = \"start\",\n name,\n className,\n}: RadioGroupProps) {\n return (\n <RadioGroupContext.Provider value={{ controlPosition }}>\n <BaseRadioGroup\n defaultValue={defaultValue}\n value={value}\n onValueChange={(newValue) => onValueChange?.(newValue as string)}\n disabled={disabled}\n name={name}\n >\n <Fieldset.Root\n className={cn(\n \"flex flex-col gap-4 rounded-lg border border-kumo-line p-4\",\n className,\n )}\n >\n <Fieldset.Legend className=\"text-lg font-medium text-kumo-default\">\n {legend}\n </Fieldset.Legend>\n <div\n className={cn(\n \"flex gap-2\",\n orientation === \"vertical\" ? \"flex-col\" : \"flex-row flex-wrap\",\n )}\n >\n {children}\n </div>\n {error && <p className=\"text-sm text-kumo-danger\">{error}</p>}\n {description && <p className=\"text-sm text-kumo-subtle\">{description}</p>}\n </Fieldset.Root>\n </BaseRadioGroup>\n </RadioGroupContext.Provider>\n );\n}\n\nRadioGroup.displayName = \"Radio.Group\";\n\n// Export RadioGroup directly for external usage\nexport { RadioGroup };\n\n/**\n * Radio — radio button group for single-select choices.\n *\n * Compound component: `Radio.Group` (with built-in Fieldset) and `Radio.Item`.\n * Built on `@base-ui/react/radio-group` + `@base-ui/react/radio`.\n *\n * @example\n * ```tsx\n * <Radio.Group legend=\"Notification preference\" defaultValue=\"email\">\n * <Radio.Item label=\"Email\" value=\"email\" />\n * <Radio.Item label=\"SMS\" value=\"sms\" />\n * <Radio.Item label=\"Push\" value=\"push\" />\n * </Radio.Group>\n * ```\n */\nexport const Radio = {\n Item: RadioItem,\n Group: RadioGroup,\n};\n"],"names":["KUMO_RADIO_VARIANTS","KUMO_RADIO_DEFAULT_VARIANTS","radioVariants","variant","cn","RadioGroupContext","createContext","RadioItem","forwardRef","className","disabled","label","value","ref","controlPosition","useContext","jsxs","jsx","BaseRadio.Root","BaseRadio.Indicator","RadioGroup","legend","children","orientation","error","description","defaultValue","onValueChange","name","BaseRadioGroup","newValue","Fieldset.Root","Fieldset.Legend","Radio"],"mappings":"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"}