@cloudflare/kumo 1.15.0 → 1.17.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 (266) hide show
  1. package/CHANGELOG.md +144 -0
  2. package/ai/USAGE.md +3 -1
  3. package/ai/component-registry.json +511 -66
  4. package/ai/component-registry.md +776 -59
  5. package/ai/schemas.ts +33 -7
  6. package/dist/.build-complete +1 -1
  7. package/dist/ai/schemas.d.ts +158 -39
  8. package/dist/ai/schemas.d.ts.map +1 -1
  9. package/dist/ai/schemas.js +456 -418
  10. package/dist/ai/schemas.js.map +1 -1
  11. package/dist/chunks/{Legend-mkh1v83sz972e29d.js → Legend-o0ntojbaplmszwk0.js} +115 -101
  12. package/dist/chunks/Legend-o0ntojbaplmszwk0.js.map +1 -0
  13. package/dist/chunks/badge-n80t3z8u9ttlxi20.js +120 -0
  14. package/dist/chunks/badge-n80t3z8u9ttlxi20.js.map +1 -0
  15. package/dist/chunks/banner-nz0eryqnz3qd86ln.js +79 -0
  16. package/dist/chunks/banner-nz0eryqnz3qd86ln.js.map +1 -0
  17. package/dist/chunks/{breadcrumbs-m79gm4gjwbfajpna.js → breadcrumbs-cjgn3w4drahvqnuj.js} +3 -3
  18. package/dist/chunks/{breadcrumbs-m79gm4gjwbfajpna.js.map → breadcrumbs-cjgn3w4drahvqnuj.js.map} +1 -1
  19. package/dist/chunks/{button-j0hi0afn33w9lxgi.js → button-odxi0hp4fvi5i2w3.js} +50 -48
  20. package/dist/chunks/button-odxi0hp4fvi5i2w3.js.map +1 -0
  21. package/dist/chunks/{checkbox-bvzuggmadtqawis4.js → checkbox-dx8x0rzv582yjv7n.js} +38 -47
  22. package/dist/chunks/{checkbox-bvzuggmadtqawis4.js.map → checkbox-dx8x0rzv582yjv7n.js.map} +1 -1
  23. package/dist/chunks/{clipboard-text-mwcknzn75qdvigrd.js → clipboard-text-kyk51d1ze7zvdn4q.js} +55 -54
  24. package/dist/chunks/clipboard-text-kyk51d1ze7zvdn4q.js.map +1 -0
  25. package/dist/chunks/{combobox-ndbaroqh1c0u49ye.js → combobox-9fhjzprab46csmon.js} +97 -82
  26. package/dist/chunks/combobox-9fhjzprab46csmon.js.map +1 -0
  27. package/dist/chunks/{command-palette-ejoszjfivybu9yi5.js → command-palette-kenx2bbdzd4kpx36.js} +158 -154
  28. package/dist/chunks/command-palette-kenx2bbdzd4kpx36.js.map +1 -0
  29. package/dist/chunks/{dialog-gkmecnx48ge38jrr.js → dialog-e05ysa8t2fklw065.js} +22 -20
  30. package/dist/chunks/dialog-e05ysa8t2fklw065.js.map +1 -0
  31. package/dist/chunks/{dropdown-i8n7nv3cvkvb1x3e.js → dropdown-g587px7zv3ssaxr4.js} +96 -90
  32. package/dist/chunks/dropdown-g587px7zv3ssaxr4.js.map +1 -0
  33. package/dist/chunks/{empty-hrwtammqp0b2nvtf.js → empty-fuz1un7r7mbz0kim.js} +2 -2
  34. package/dist/chunks/{empty-hrwtammqp0b2nvtf.js.map → empty-fuz1un7r7mbz0kim.js.map} +1 -1
  35. package/dist/chunks/{field-lweivfadxgpqhuqi.js → field-fq504lyu7ttsh5m9.js} +3 -3
  36. package/dist/chunks/{field-lweivfadxgpqhuqi.js.map → field-fq504lyu7ttsh5m9.js.map} +1 -1
  37. package/dist/chunks/hcl-hcu7d6ja6t540ijn.js +8 -0
  38. package/dist/chunks/hcl-hcu7d6ja6t540ijn.js.map +1 -0
  39. package/dist/chunks/{input-area-obli4ufvu40bfpgp.js → input-area-nq40szg9110on89c.js} +4 -4
  40. package/dist/chunks/{input-area-obli4ufvu40bfpgp.js.map → input-area-nq40szg9110on89c.js.map} +1 -1
  41. package/dist/chunks/{input-group-dwtsd04lzf2bcsdo.js → input-group-hbebbyh8fo6aqydn.js} +3 -3
  42. package/dist/chunks/{input-group-dwtsd04lzf2bcsdo.js.map → input-group-hbebbyh8fo6aqydn.js.map} +1 -1
  43. package/dist/chunks/{input-ko2dne1givlxq7sz.js → input-kvhyo3p4859bexvx.js} +4 -4
  44. package/dist/chunks/input-kvhyo3p4859bexvx.js.map +1 -0
  45. package/dist/chunks/{label-kjahhybc191quieo.js → label-j9owppbgnn35mebg.js} +3 -3
  46. package/dist/chunks/{label-kjahhybc191quieo.js.map → label-j9owppbgnn35mebg.js.map} +1 -1
  47. package/dist/chunks/{layer-card-mu2w82x6ko1nhhtr.js → layer-card-l5yjvrxry1dhte57.js} +8 -8
  48. package/dist/chunks/{layer-card-mu2w82x6ko1nhhtr.js.map → layer-card-l5yjvrxry1dhte57.js.map} +1 -1
  49. package/dist/chunks/{link-lpzl5s47pmobk361.js → link-hmmf3k1xn6rm72rt.js} +2 -2
  50. package/dist/chunks/{link-lpzl5s47pmobk361.js.map → link-hmmf3k1xn6rm72rt.js.map} +1 -1
  51. package/dist/chunks/{menubar-ifxxdoa35zz79z1q.js → menubar-abojnm0uwjuni8ok.js} +20 -20
  52. package/dist/chunks/menubar-abojnm0uwjuni8ok.js.map +1 -0
  53. package/dist/chunks/{meter-fbtqfg0okpwmaiju.js → meter-i84dte2f82qmvn7y.js} +2 -2
  54. package/dist/chunks/{meter-fbtqfg0okpwmaiju.js.map → meter-i84dte2f82qmvn7y.js.map} +1 -1
  55. package/dist/chunks/{pagination-eo0gzzm7v5w8niqe.js → pagination-pbd7qqik97ac0l7m.js} +3 -3
  56. package/dist/chunks/{pagination-eo0gzzm7v5w8niqe.js.map → pagination-pbd7qqik97ac0l7m.js.map} +1 -1
  57. package/dist/chunks/{popover-dd7hi5ajeoq9od1i.js → popover-i951xjcgezeqr4iv.js} +31 -28
  58. package/dist/chunks/popover-i951xjcgezeqr4iv.js.map +1 -0
  59. package/dist/chunks/portal-provider-hwmkdmkpvct0cb76.js +18 -0
  60. package/dist/chunks/portal-provider-hwmkdmkpvct0cb76.js.map +1 -0
  61. package/dist/chunks/{radio-oi9iw7ls1t04j377.js → radio-l2vkcue40d84fmo1.js} +13 -16
  62. package/dist/chunks/{radio-oi9iw7ls1t04j377.js.map → radio-l2vkcue40d84fmo1.js.map} +1 -1
  63. package/dist/chunks/{select-0m0xklfwdlx8dwba.js → select-paedwa3nlhpq82ua.js} +39 -37
  64. package/dist/chunks/select-paedwa3nlhpq82ua.js.map +1 -0
  65. package/dist/chunks/{sensitive-input-rjpykxn2llh0thx1.js → sensitive-input-kznmknpp5h1grc6k.js} +97 -91
  66. package/dist/chunks/sensitive-input-kznmknpp5h1grc6k.js.map +1 -0
  67. package/dist/chunks/sidebar-jepeq7gaf4issuw6.js +875 -0
  68. package/dist/chunks/sidebar-jepeq7gaf4issuw6.js.map +1 -0
  69. package/dist/chunks/skeleton-line-epxenksfesr2fkcv.js +33 -0
  70. package/dist/chunks/skeleton-line-epxenksfesr2fkcv.js.map +1 -0
  71. package/dist/chunks/surface-blo81kgy9g0sexgm.js +36 -0
  72. package/dist/chunks/surface-blo81kgy9g0sexgm.js.map +1 -0
  73. package/dist/chunks/{switch-lv4mrrkfl5uc99xo.js → switch-i0zwcp3wq6vsxm1c.js} +64 -64
  74. package/dist/chunks/{switch-lv4mrrkfl5uc99xo.js.map → switch-i0zwcp3wq6vsxm1c.js.map} +1 -1
  75. package/dist/chunks/table-nrcw19tlpduayukl.js +183 -0
  76. package/dist/chunks/table-nrcw19tlpduayukl.js.map +1 -0
  77. package/dist/chunks/tabs-bw92jb303zxw7w4f.js +92 -0
  78. package/dist/chunks/{tabs-hy6oa7xtf96d9mxt.js.map → tabs-bw92jb303zxw7w4f.js.map} +1 -1
  79. package/dist/chunks/{text-gzt92mlji1lug13d.js → text-nmyi1rkwdj37f30f.js} +24 -22
  80. package/dist/chunks/text-nmyi1rkwdj37f30f.js.map +1 -0
  81. package/dist/chunks/{toast-kswfqmjysxcrwij3.js → toast-lrnwby56drs7vtae.js} +61 -59
  82. package/dist/chunks/toast-lrnwby56drs7vtae.js.map +1 -0
  83. package/dist/chunks/toml-nczb2z9n0o23o3ci.js +8 -0
  84. package/dist/chunks/toml-nczb2z9n0o23o3ci.js.map +1 -0
  85. package/dist/chunks/{tooltip-k68wcv9mrigb7rcb.js → tooltip-cit9ltlxfuhwctuj.js} +24 -21
  86. package/dist/chunks/tooltip-cit9ltlxfuhwctuj.js.map +1 -0
  87. package/dist/chunks/{vendor-base-ui-cpvkrhz4zgw9nw2b.js → vendor-base-ui-n30qblevnpk9cc5c.js} +551 -549
  88. package/dist/chunks/{vendor-base-ui-cpvkrhz4zgw9nw2b.js.map → vendor-base-ui-n30qblevnpk9cc5c.js.map} +1 -1
  89. package/dist/code/server.js +11 -9
  90. package/dist/code/server.js.map +1 -1
  91. package/dist/code.js +16 -14
  92. package/dist/code.js.map +1 -1
  93. package/dist/components/badge.js +1 -1
  94. package/dist/components/banner.js +1 -1
  95. package/dist/components/breadcrumbs.js +1 -1
  96. package/dist/components/button.js +1 -1
  97. package/dist/components/chart.js +1 -1
  98. package/dist/components/checkbox.js +1 -1
  99. package/dist/components/clipboard-text.js +1 -1
  100. package/dist/components/combobox.js +1 -1
  101. package/dist/components/command-palette.js +1 -1
  102. package/dist/components/dialog.js +1 -1
  103. package/dist/components/dropdown.js +1 -1
  104. package/dist/components/empty.js +1 -1
  105. package/dist/components/field.js +1 -1
  106. package/dist/components/flow.js +2142 -2090
  107. package/dist/components/flow.js.map +1 -1
  108. package/dist/components/input.js +3 -3
  109. package/dist/components/label.js +1 -1
  110. package/dist/components/layer-card.js +1 -1
  111. package/dist/components/link.js +1 -1
  112. package/dist/components/loader.js +1 -1
  113. package/dist/components/menubar.js +1 -1
  114. package/dist/components/meter.js +1 -1
  115. package/dist/components/pagination.js +1 -1
  116. package/dist/components/popover.js +1 -1
  117. package/dist/components/radio.js +1 -1
  118. package/dist/components/select.js +1 -1
  119. package/dist/components/sensitive-input.js +1 -1
  120. package/dist/components/sidebar.js +35 -0
  121. package/dist/components/sidebar.js.map +1 -0
  122. package/dist/components/surface.js +1 -1
  123. package/dist/components/switch.js +1 -1
  124. package/dist/components/table.js +1 -1
  125. package/dist/components/tabs.js +1 -1
  126. package/dist/components/text.js +1 -1
  127. package/dist/components/toast.js +2 -2
  128. package/dist/components/tooltip.js +1 -1
  129. package/dist/index.js +192 -159
  130. package/dist/index.js.map +1 -1
  131. package/dist/primitives/accordion.js +1 -1
  132. package/dist/primitives/alert-dialog.js +1 -1
  133. package/dist/primitives/autocomplete.js +1 -1
  134. package/dist/primitives/avatar.js +1 -1
  135. package/dist/primitives/button.js +1 -1
  136. package/dist/primitives/checkbox-group.js +1 -1
  137. package/dist/primitives/checkbox.js +1 -1
  138. package/dist/primitives/collapsible.js +1 -1
  139. package/dist/primitives/combobox.js +1 -1
  140. package/dist/primitives/context-menu.js +1 -1
  141. package/dist/primitives/csp-provider.js +1 -1
  142. package/dist/primitives/dialog.js +1 -1
  143. package/dist/primitives/direction-provider.js +1 -1
  144. package/dist/primitives/drawer.js +1 -1
  145. package/dist/primitives/field.js +1 -1
  146. package/dist/primitives/fieldset.js +1 -1
  147. package/dist/primitives/form.js +1 -1
  148. package/dist/primitives/input.js +1 -1
  149. package/dist/primitives/menu.js +1 -1
  150. package/dist/primitives/menubar.js +1 -1
  151. package/dist/primitives/meter.js +1 -1
  152. package/dist/primitives/navigation-menu.js +1 -1
  153. package/dist/primitives/number-field.js +1 -1
  154. package/dist/primitives/popover.js +1 -1
  155. package/dist/primitives/preview-card.js +1 -1
  156. package/dist/primitives/progress.js +1 -1
  157. package/dist/primitives/radio-group.js +1 -1
  158. package/dist/primitives/radio.js +1 -1
  159. package/dist/primitives/scroll-area.js +1 -1
  160. package/dist/primitives/select.js +1 -1
  161. package/dist/primitives/separator.js +1 -1
  162. package/dist/primitives/slider.js +1 -1
  163. package/dist/primitives/switch.js +1 -1
  164. package/dist/primitives/tabs.js +1 -1
  165. package/dist/primitives/toast.js +1 -1
  166. package/dist/primitives/toggle-group.js +1 -1
  167. package/dist/primitives/toggle.js +1 -1
  168. package/dist/primitives/toolbar.js +1 -1
  169. package/dist/primitives/tooltip.js +1 -1
  170. package/dist/primitives.js +1 -1
  171. package/dist/scripts/theme-generator/config.d.ts.map +1 -1
  172. package/dist/scripts/theme-generator/config.js +288 -24
  173. package/dist/scripts/theme-generator/config.js.map +1 -1
  174. package/dist/src/code/provider.d.ts.map +1 -1
  175. package/dist/src/code/server.d.ts.map +1 -1
  176. package/dist/src/code/types.d.ts +1 -1
  177. package/dist/src/code/types.d.ts.map +1 -1
  178. package/dist/src/components/badge/badge.d.ts +95 -22
  179. package/dist/src/components/badge/badge.d.ts.map +1 -1
  180. package/dist/src/components/banner/banner.d.ts +2 -0
  181. package/dist/src/components/banner/banner.d.ts.map +1 -1
  182. package/dist/src/components/button/button.d.ts +2 -0
  183. package/dist/src/components/button/button.d.ts.map +1 -1
  184. package/dist/src/components/chart/EChart.d.ts.map +1 -1
  185. package/dist/src/components/chart/TimeseriesChart.d.ts +11 -1
  186. package/dist/src/components/chart/TimeseriesChart.d.ts.map +1 -1
  187. package/dist/src/components/checkbox/checkbox.d.ts.map +1 -1
  188. package/dist/src/components/clipboard-text/clipboard-text.d.ts +2 -0
  189. package/dist/src/components/clipboard-text/clipboard-text.d.ts.map +1 -1
  190. package/dist/src/components/combobox/combobox.d.ts +8 -1
  191. package/dist/src/components/combobox/combobox.d.ts.map +1 -1
  192. package/dist/src/components/command-palette/command-palette.d.ts +9 -2
  193. package/dist/src/components/command-palette/command-palette.d.ts.map +1 -1
  194. package/dist/src/components/command-palette/types.d.ts +7 -0
  195. package/dist/src/components/command-palette/types.d.ts.map +1 -1
  196. package/dist/src/components/dialog/dialog.d.ts +8 -1
  197. package/dist/src/components/dialog/dialog.d.ts.map +1 -1
  198. package/dist/src/components/dropdown/dropdown.d.ts +17 -2
  199. package/dist/src/components/dropdown/dropdown.d.ts.map +1 -1
  200. package/dist/src/components/flow/diagram.d.ts.map +1 -1
  201. package/dist/src/components/flow/node.d.ts.map +1 -1
  202. package/dist/src/components/flow/parallel.d.ts.map +1 -1
  203. package/dist/src/components/loader/skeleton-line.d.ts +2 -1
  204. package/dist/src/components/loader/skeleton-line.d.ts.map +1 -1
  205. package/dist/src/components/popover/popover.d.ts +8 -1
  206. package/dist/src/components/popover/popover.d.ts.map +1 -1
  207. package/dist/src/components/radio/radio.d.ts.map +1 -1
  208. package/dist/src/components/select/select.d.ts +8 -1
  209. package/dist/src/components/select/select.d.ts.map +1 -1
  210. package/dist/src/components/sensitive-input/sensitive-input.d.ts.map +1 -1
  211. package/dist/src/components/sidebar/index.d.ts +2 -0
  212. package/dist/src/components/sidebar/index.d.ts.map +1 -0
  213. package/dist/src/components/sidebar/sidebar.d.ts +556 -0
  214. package/dist/src/components/sidebar/sidebar.d.ts.map +1 -0
  215. package/dist/src/components/surface/surface.d.ts +23 -23
  216. package/dist/src/components/surface/surface.d.ts.map +1 -1
  217. package/dist/src/components/table/table.d.ts +34 -2
  218. package/dist/src/components/table/table.d.ts.map +1 -1
  219. package/dist/src/components/tabs/tabs.d.ts.map +1 -1
  220. package/dist/src/components/text/text.d.ts +5 -0
  221. package/dist/src/components/text/text.d.ts.map +1 -1
  222. package/dist/src/components/toast/toast.d.ts +16 -9
  223. package/dist/src/components/toast/toast.d.ts.map +1 -1
  224. package/dist/src/components/tooltip/tooltip.d.ts +11 -6
  225. package/dist/src/components/tooltip/tooltip.d.ts.map +1 -1
  226. package/dist/src/index.d.ts +2 -0
  227. package/dist/src/index.d.ts.map +1 -1
  228. package/dist/src/utils/index.d.ts +1 -0
  229. package/dist/src/utils/index.d.ts.map +1 -1
  230. package/dist/src/utils/portal-provider.d.ts +56 -0
  231. package/dist/src/utils/portal-provider.d.ts.map +1 -0
  232. package/dist/styles/kumo-binding.css +49 -46
  233. package/dist/styles/kumo-standalone.css +1 -1
  234. package/dist/styles/theme-fedramp.css +3 -3
  235. package/dist/styles/theme-kumo.css +202 -22
  236. package/dist/utils.js +8 -6
  237. package/dist/utils.js.map +1 -1
  238. package/package.json +7 -3
  239. package/scripts/component-registry/index.ts +12 -0
  240. package/scripts/theme-generator/config.ts +298 -24
  241. package/dist/chunks/Legend-mkh1v83sz972e29d.js.map +0 -1
  242. package/dist/chunks/badge-mrshucy2530o70cq.js +0 -56
  243. package/dist/chunks/badge-mrshucy2530o70cq.js.map +0 -1
  244. package/dist/chunks/banner-vzdjbqsb6em7tmdk.js +0 -75
  245. package/dist/chunks/banner-vzdjbqsb6em7tmdk.js.map +0 -1
  246. package/dist/chunks/button-j0hi0afn33w9lxgi.js.map +0 -1
  247. package/dist/chunks/clipboard-text-mwcknzn75qdvigrd.js.map +0 -1
  248. package/dist/chunks/combobox-ndbaroqh1c0u49ye.js.map +0 -1
  249. package/dist/chunks/command-palette-ejoszjfivybu9yi5.js.map +0 -1
  250. package/dist/chunks/dialog-gkmecnx48ge38jrr.js.map +0 -1
  251. package/dist/chunks/dropdown-i8n7nv3cvkvb1x3e.js.map +0 -1
  252. package/dist/chunks/input-ko2dne1givlxq7sz.js.map +0 -1
  253. package/dist/chunks/menubar-ifxxdoa35zz79z1q.js.map +0 -1
  254. package/dist/chunks/popover-dd7hi5ajeoq9od1i.js.map +0 -1
  255. package/dist/chunks/select-0m0xklfwdlx8dwba.js.map +0 -1
  256. package/dist/chunks/sensitive-input-rjpykxn2llh0thx1.js.map +0 -1
  257. package/dist/chunks/skeleton-line-1j5exu6vv07mmhfb.js +0 -28
  258. package/dist/chunks/skeleton-line-1j5exu6vv07mmhfb.js.map +0 -1
  259. package/dist/chunks/surface-dhshylwccuaz91d1.js +0 -21
  260. package/dist/chunks/surface-dhshylwccuaz91d1.js.map +0 -1
  261. package/dist/chunks/table-fh7jmfip27vdapxm.js +0 -155
  262. package/dist/chunks/table-fh7jmfip27vdapxm.js.map +0 -1
  263. package/dist/chunks/tabs-hy6oa7xtf96d9mxt.js +0 -86
  264. package/dist/chunks/text-gzt92mlji1lug13d.js.map +0 -1
  265. package/dist/chunks/toast-kswfqmjysxcrwij3.js.map +0 -1
  266. package/dist/chunks/tooltip-k68wcv9mrigb7rcb.js.map +0 -1
@@ -48,13 +48,18 @@
48
48
  var(--color-blue-400, oklch(70.7% 0.165 254.624))
49
49
  );
50
50
 
51
+ --text-color-kumo-info: light-dark(
52
+ var(--color-blue-700, oklch(48.8% 0.243 264.376)),
53
+ var(--color-blue-400, oklch(70.7% 0.165 254.624))
54
+ );
55
+
51
56
  --text-color-kumo-success: light-dark(
52
57
  var(--color-green-500, oklch(72.3% 0.219 149.579)),
53
58
  var(--color-green-400, oklch(79.2% 0.209 151.711))
54
59
  );
55
60
 
56
61
  --text-color-kumo-danger: light-dark(
57
- var(--color-red-500, oklch(63.7% 0.237 25.331)),
62
+ var(--color-red-700, oklch(50.5% 0.213 27.518)),
58
63
  var(--color-red-400, oklch(70.4% 0.191 22.216))
59
64
  );
60
65
 
@@ -63,37 +68,77 @@
63
68
  var(--color-yellow-400, oklch(85.2% 0.199 91.936))
64
69
  );
65
70
 
71
+ --text-color-kumo-badge-red-subtle: light-dark(
72
+ var(--color-red-800, oklch(44.4% 0.177 26.899)),
73
+ var(--color-red-200, oklch(88.5% 0.062 18.334))
74
+ );
75
+
76
+ --text-color-kumo-badge-orange-subtle: light-dark(
77
+ var(--color-orange-800, oklch(47% 0.157 37.304)),
78
+ var(--color-orange-200, oklch(90.1% 0.076 70.697))
79
+ );
80
+
81
+ --text-color-kumo-badge-yellow-subtle: light-dark(
82
+ var(--color-yellow-800, oklch(47.6% 0.114 61.907)),
83
+ var(--color-yellow-200, oklch(94.5% 0.129 101.54))
84
+ );
85
+
86
+ --text-color-kumo-badge-green-subtle: light-dark(
87
+ var(--color-emerald-800, oklch(43.2% 0.095 166.913)),
88
+ var(--color-emerald-200, oklch(90.5% 0.093 164.15))
89
+ );
90
+
91
+ --text-color-kumo-badge-teal-subtle: light-dark(
92
+ var(--color-teal-800, oklch(43.7% 0.078 188.216)),
93
+ var(--color-teal-200, oklch(91% 0.096 180.426))
94
+ );
95
+
96
+ --text-color-kumo-badge-blue-subtle: light-dark(
97
+ var(--color-blue-800, oklch(42.4% 0.199 265.638)),
98
+ var(--color-blue-200, oklch(88.2% 0.059 254.128))
99
+ );
100
+
101
+ --text-color-kumo-badge-neutral-subtle: light-dark(
102
+ var(--color-neutral-800, oklch(26.9% 0 0)),
103
+ var(--color-neutral-200, oklch(92.2% 0 0))
104
+ );
105
+
106
+ --text-color-kumo-badge-inverted: light-dark(
107
+ var(--color-white, #fff),
108
+ var(--color-black, #000)
109
+ );
110
+
66
111
  }
67
112
 
68
113
  @theme {
69
- --color-kumo-surface: light-dark(
70
- var(--color-kumo-neutral-25, oklch(99% 0 0)),
71
- var(--color-kumo-neutral-975, oklch(8.5% 0 0))
114
+ --color-kumo-canvas: light-dark(
115
+ var(--color-kumo-neutral-25, oklch(98.75% 0 0)),
116
+ var(--color-kumo-neutral-1000, oklch(10% 0 0))
117
+ );
118
+
119
+ --color-kumo-elevated: light-dark(
120
+ var(--color-kumo-neutral-75, oklch(98% 0 0)),
121
+ var(--color-kumo-neutral-975, oklch(12% 0 0))
72
122
  );
73
123
 
74
124
  --color-kumo-recessed: light-dark(
75
- var(--color-kumo-neutral-50, oklch(97.5% 0 0)),
76
- var(--color-kumo-neutral-925, oklch(18% 0 0))
125
+ var(--color-kumo-neutral-125, oklch(96% 0 0)),
126
+ var(--color-kumo-neutral-950, oklch(12% 0 0))
77
127
  );
78
128
 
79
129
  --color-kumo-base: light-dark(
80
130
  var(--color-white, #fff),
81
- var(--color-kumo-neutral-850, oklch(22.4% 0 0))
131
+ var(--color-kumo-neutral-925, oklch(17% 0 0))
82
132
  );
83
133
 
84
134
  --color-kumo-tint: light-dark(
85
- var(--color-kumo-neutral-75, oklch(96.7% 0 0)),
135
+ var(--color-neutral-100, oklch(97% 0 0)),
86
136
  var(--color-kumo-neutral-800, oklch(26.9% 0 0))
87
137
  );
88
138
 
89
139
  --color-kumo-contrast: light-dark(
90
140
  var(--color-kumo-neutral-975, oklch(8.5% 0 0)),
91
- var(--color-kumo-neutral-25, oklch(99% 0 0))
92
- );
93
-
94
- --color-kumo-elevated: light-dark(
95
- var(--color-kumo-neutral-25, oklch(98.5% 0 0)),
96
- var(--color-neutral-950, oklch(14.5% 0 0))
141
+ var(--color-kumo-neutral-25, oklch(98.5% 0 0))
97
142
  );
98
143
 
99
144
  --color-kumo-overlay: light-dark(
@@ -117,7 +162,7 @@
117
162
  );
118
163
 
119
164
  --color-kumo-fill-hover: light-dark(
120
- var(--color-neutral-200, oklch(92.2% 0 0)),
165
+ var(--color-kumo-neutral-125, oklch(96.5% 0 0)),
121
166
  var(--color-neutral-700, oklch(37.1% 0 0))
122
167
  );
123
168
 
@@ -141,6 +186,16 @@
141
186
  var(--color-neutral-700, oklch(37.1% 0 0))
142
187
  );
143
188
 
189
+ --color-kumo-shadow-edge: light-dark(
190
+ oklch(0% 0 0 / 0.12),
191
+ oklch(100% 0 0 / 0.1)
192
+ );
193
+
194
+ --color-kumo-shadow-drop: light-dark(
195
+ oklch(0% 0 0 / 0.08),
196
+ oklch(0% 0 0 / 0.3)
197
+ );
198
+
144
199
  --color-kumo-tip-shadow: light-dark(
145
200
  var(--color-gray-200, oklch(92.8% 0.006 264.531)),
146
201
  transparent
@@ -191,6 +246,76 @@
191
246
  var(--color-green-900, oklch(39.3% 0.095 152.535))
192
247
  );
193
248
 
249
+ --color-kumo-badge-red: light-dark(
250
+ var(--color-red-600, oklch(57.7% 0.245 27.325)),
251
+ var(--color-red-700, oklch(50.5% 0.213 27.518))
252
+ );
253
+
254
+ --color-kumo-badge-red-subtle: light-dark(
255
+ var(--color-red-100, oklch(93.6% 0.032 17.717)),
256
+ var(--color-red-900, oklch(39.6% 0.141 25.723))
257
+ );
258
+
259
+ --color-kumo-badge-orange: light-dark(
260
+ var(--color-orange-600, oklch(64.6% 0.222 41.116)),
261
+ var(--color-orange-700, oklch(55.3% 0.195 38.402))
262
+ );
263
+
264
+ --color-kumo-badge-orange-subtle: light-dark(
265
+ var(--color-orange-100, oklch(95.4% 0.038 75.164)),
266
+ var(--color-orange-900, oklch(40.8% 0.123 38.172))
267
+ );
268
+
269
+ --color-kumo-badge-yellow: light-dark(
270
+ var(--color-yellow-600, oklch(68.1% 0.162 75.834)),
271
+ var(--color-yellow-700, oklch(55.4% 0.135 66.442))
272
+ );
273
+
274
+ --color-kumo-badge-yellow-subtle: light-dark(
275
+ var(--color-yellow-100, oklch(97.3% 0.071 103.193)),
276
+ var(--color-yellow-900, oklch(42.1% 0.095 57.708))
277
+ );
278
+
279
+ --color-kumo-badge-green: light-dark(
280
+ var(--color-emerald-600, oklch(59.6% 0.145 163.225)),
281
+ var(--color-emerald-700, oklch(50.8% 0.118 165.612))
282
+ );
283
+
284
+ --color-kumo-badge-green-subtle: light-dark(
285
+ var(--color-emerald-100, oklch(95% 0.052 163.051)),
286
+ var(--color-emerald-900, oklch(37.8% 0.077 168.94))
287
+ );
288
+
289
+ --color-kumo-badge-teal: light-dark(
290
+ var(--color-teal-600, oklch(60% 0.118 184.704)),
291
+ var(--color-teal-700, oklch(51.1% 0.096 186.391))
292
+ );
293
+
294
+ --color-kumo-badge-teal-subtle: light-dark(
295
+ var(--color-teal-100, oklch(95.3% 0.051 180.801)),
296
+ var(--color-teal-900, oklch(38.6% 0.063 188.416))
297
+ );
298
+
299
+ --color-kumo-badge-blue: light-dark(
300
+ var(--color-blue-600, oklch(54.6% 0.245 262.881)),
301
+ var(--color-blue-700, oklch(48.8% 0.243 264.376))
302
+ );
303
+
304
+ --color-kumo-badge-blue-subtle: light-dark(
305
+ var(--color-blue-100, oklch(93.2% 0.032 255.585)),
306
+ var(--color-blue-900, oklch(37.9% 0.146 265.522))
307
+ );
308
+
309
+ --color-kumo-badge-neutral: light-dark(
310
+ var(--color-neutral-600, oklch(43.9% 0 0)),
311
+ var(--color-neutral-600, oklch(43.9% 0 0))
312
+ );
313
+
314
+ --color-kumo-badge-inverted: light-dark(
315
+ var(--color-neutral-950, oklch(14.5% 0 0)),
316
+ var(--color-white, #fff)
317
+ );
318
+
194
319
  }
195
320
 
196
321
  @theme {
@@ -215,24 +340,37 @@
215
340
  --text-color-kumo-placeholder: var(--color-neutral-400, oklch(70.8% 0 0));
216
341
  --text-color-kumo-brand: #f6821f;
217
342
  --text-color-kumo-link: var(--color-blue-800, oklch(42.4% 0.199 265.638));
343
+ --text-color-kumo-info: var(--color-blue-700, oklch(48.8% 0.243 264.376));
218
344
  --text-color-kumo-success: var(--color-green-500, oklch(72.3% 0.219 149.579));
219
- --text-color-kumo-danger: var(--color-red-500, oklch(63.7% 0.237 25.331));
345
+ --text-color-kumo-danger: var(--color-red-700, oklch(50.5% 0.213 27.518));
220
346
  --text-color-kumo-warning: var(--color-yellow-800, oklch(47.6% 0.114 61.907));
347
+ --color-kumo-canvas: var(--color-kumo-neutral-25, oklch(98.75% 0 0));
348
+ --color-kumo-elevated: var(--color-kumo-neutral-75, oklch(98% 0 0));
349
+ --color-kumo-recessed: var(--color-kumo-neutral-125, oklch(96% 0 0));
350
+ --text-color-kumo-badge-red-subtle: var(--color-red-800, oklch(44.4% 0.177 26.899));
351
+ --text-color-kumo-badge-orange-subtle: var(--color-orange-800, oklch(47% 0.157 37.304));
352
+ --text-color-kumo-badge-yellow-subtle: var(--color-yellow-800, oklch(47.6% 0.114 61.907));
353
+ --text-color-kumo-badge-green-subtle: var(--color-emerald-800, oklch(43.2% 0.095 166.913));
354
+ --text-color-kumo-badge-teal-subtle: var(--color-teal-800, oklch(43.7% 0.078 188.216));
355
+ --text-color-kumo-badge-blue-subtle: var(--color-blue-800, oklch(42.4% 0.199 265.638));
356
+ --text-color-kumo-badge-neutral-subtle: var(--color-neutral-800, oklch(26.9% 0 0));
357
+ --text-color-kumo-badge-inverted: var(--color-white, #fff);
221
358
  --color-kumo-surface: var(--color-kumo-neutral-25, oklch(99% 0 0));
222
- --color-kumo-recessed: var(--color-kumo-neutral-50, oklch(97.5% 0 0));
359
+ --color-kumo-recessed: var(--color-kumo-neutral-50, oklch(96.5% 0 0));
223
360
  --color-kumo-base: var(--color-white, #fff);
224
- --color-kumo-tint: var(--color-kumo-neutral-75, oklch(96.7% 0 0));
361
+ --color-kumo-tint: var(--color-neutral-100, oklch(97% 0 0));
225
362
  --color-kumo-contrast: var(--color-kumo-neutral-975, oklch(8.5% 0 0));
226
- --color-kumo-elevated: var(--color-kumo-neutral-25, oklch(98.5% 0 0));
227
363
  --color-kumo-overlay: var(--color-kumo-neutral-50, oklch(97.5% 0 0));
228
364
  --color-kumo-control: var(--color-white, #fff);
229
365
  --color-kumo-interact: var(--color-neutral-300, oklch(87% 0 0));
230
366
  --color-kumo-fill: var(--color-neutral-200, oklch(92.2% 0 0));
231
- --color-kumo-fill-hover: var(--color-neutral-200, oklch(92.2% 0 0));
367
+ --color-kumo-fill-hover: var(--color-kumo-neutral-125, oklch(96.5% 0 0));
232
368
  --color-kumo-brand: oklch(0.5772 0.2324 260);
233
369
  --color-kumo-brand-hover: var(--color-blue-700, oklch(48.8% 0.243 264.376));
234
370
  --color-kumo-line: oklch(14.5% 0 0 / 0.1);
235
371
  --color-kumo-ring: var(--color-kumo-neutral-150, oklch(93.5% 0 0));
372
+ --color-kumo-shadow-edge: oklch(0% 0 0 / 0.12);
373
+ --color-kumo-shadow-drop: oklch(0% 0 0 / 0.08);
236
374
  --color-kumo-tip-shadow: var(--color-gray-200, oklch(92.8% 0.006 264.531));
237
375
  --color-kumo-tip-stroke: transparent;
238
376
  --color-kumo-info: var(--color-blue-500, oklch(62.3% 0.214 259.815));
@@ -243,6 +381,20 @@
243
381
  --color-kumo-danger-tint: var(--color-red-300, oklch(80.8% 0.114 19.571));
244
382
  --color-kumo-success: var(--color-green-500, oklch(72.3% 0.219 149.579));
245
383
  --color-kumo-success-tint: var(--color-green-300, oklch(87.1% 0.15 154.449));
384
+ --color-kumo-badge-red: var(--color-red-600, oklch(57.7% 0.245 27.325));
385
+ --color-kumo-badge-red-subtle: var(--color-red-100, oklch(93.6% 0.032 17.717));
386
+ --color-kumo-badge-orange: var(--color-orange-600, oklch(64.6% 0.222 41.116));
387
+ --color-kumo-badge-orange-subtle: var(--color-orange-100, oklch(95.4% 0.038 75.164));
388
+ --color-kumo-badge-yellow: var(--color-yellow-600, oklch(68.1% 0.162 75.834));
389
+ --color-kumo-badge-yellow-subtle: var(--color-yellow-100, oklch(97.3% 0.071 103.193));
390
+ --color-kumo-badge-green: var(--color-emerald-600, oklch(59.6% 0.145 163.225));
391
+ --color-kumo-badge-green-subtle: var(--color-emerald-100, oklch(95% 0.052 163.051));
392
+ --color-kumo-badge-teal: var(--color-teal-600, oklch(60% 0.118 184.704));
393
+ --color-kumo-badge-teal-subtle: var(--color-teal-100, oklch(95.3% 0.051 180.801));
394
+ --color-kumo-badge-blue: var(--color-blue-600, oklch(54.6% 0.245 262.881));
395
+ --color-kumo-badge-blue-subtle: var(--color-blue-100, oklch(93.2% 0.032 255.585));
396
+ --color-kumo-badge-neutral: var(--color-neutral-600, oklch(43.9% 0 0));
397
+ --color-kumo-badge-inverted: var(--color-neutral-950, oklch(14.5% 0 0));
246
398
  }
247
399
 
248
400
  :root[data-mode="dark"], [data-mode="dark"]:not([data-theme]), [data-mode="dark"] [data-theme="kumo"], [data-theme="kumo"][data-mode="dark"], [data-theme="kumo"] [data-mode="dark"] {
@@ -254,15 +406,27 @@
254
406
  --text-color-kumo-placeholder: var(--color-neutral-500, oklch(55.6% 0 0));
255
407
  --text-color-kumo-brand: #f6821f;
256
408
  --text-color-kumo-link: var(--color-blue-400, oklch(70.7% 0.165 254.624));
409
+ --text-color-kumo-info: var(--color-blue-400, oklch(70.7% 0.165 254.624));
257
410
  --text-color-kumo-success: var(--color-green-400, oklch(79.2% 0.209 151.711));
258
411
  --text-color-kumo-danger: var(--color-red-400, oklch(70.4% 0.191 22.216));
259
412
  --text-color-kumo-warning: var(--color-yellow-400, oklch(85.2% 0.199 91.936));
413
+ --color-kumo-canvas: var(--color-kumo-neutral-1000, oklch(10% 0 0));
414
+ --color-kumo-elevated: var(--color-kumo-neutral-975, oklch(12% 0 0));
415
+ --color-kumo-recessed: var(--color-kumo-neutral-950, oklch(12% 0 0));
416
+ --color-kumo-base: var(--color-kumo-neutral-925, oklch(17% 0 0));
417
+ --text-color-kumo-badge-red-subtle: var(--color-red-200, oklch(88.5% 0.062 18.334));
418
+ --text-color-kumo-badge-orange-subtle: var(--color-orange-200, oklch(90.1% 0.076 70.697));
419
+ --text-color-kumo-badge-yellow-subtle: var(--color-yellow-200, oklch(94.5% 0.129 101.54));
420
+ --text-color-kumo-badge-green-subtle: var(--color-emerald-200, oklch(90.5% 0.093 164.15));
421
+ --text-color-kumo-badge-teal-subtle: var(--color-teal-200, oklch(91% 0.096 180.426));
422
+ --text-color-kumo-badge-blue-subtle: var(--color-blue-200, oklch(88.2% 0.059 254.128));
423
+ --text-color-kumo-badge-neutral-subtle: var(--color-neutral-200, oklch(92.2% 0 0));
424
+ --text-color-kumo-badge-inverted: var(--color-black, #000);
260
425
  --color-kumo-surface: var(--color-kumo-neutral-975, oklch(8.5% 0 0));
261
426
  --color-kumo-recessed: var(--color-kumo-neutral-925, oklch(18% 0 0));
262
427
  --color-kumo-base: var(--color-kumo-neutral-850, oklch(22.4% 0 0));
263
428
  --color-kumo-tint: var(--color-kumo-neutral-800, oklch(26.9% 0 0));
264
- --color-kumo-contrast: var(--color-kumo-neutral-25, oklch(99% 0 0));
265
- --color-kumo-elevated: var(--color-neutral-950, oklch(14.5% 0 0));
429
+ --color-kumo-contrast: var(--color-kumo-neutral-25, oklch(98.5% 0 0));
266
430
  --color-kumo-overlay: var(--color-neutral-800, oklch(26.9% 0 0));
267
431
  --color-kumo-control: var(--color-neutral-900, oklch(21% 0.006 285.885));
268
432
  --color-kumo-interact: var(--color-neutral-700, oklch(37.1% 0 0));
@@ -272,6 +436,8 @@
272
436
  --color-kumo-brand-hover: var(--color-blue-700, oklch(48.8% 0.243 264.376));
273
437
  --color-kumo-line: var(--color-neutral-800, oklch(26.9% 0 0));
274
438
  --color-kumo-ring: var(--color-neutral-700, oklch(37.1% 0 0));
439
+ --color-kumo-shadow-edge: oklch(100% 0 0 / 0.1);
440
+ --color-kumo-shadow-drop: oklch(0% 0 0 / 0.3);
275
441
  --color-kumo-tip-shadow: transparent;
276
442
  --color-kumo-tip-stroke: var(--color-neutral-800, oklch(26.9% 0 0));
277
443
  --color-kumo-info: var(--color-blue-400, oklch(70.7% 0.165 254.624));
@@ -282,5 +448,19 @@
282
448
  --color-kumo-danger-tint: var(--color-red-900, oklch(39.6% 0.141 25.723));
283
449
  --color-kumo-success: var(--color-green-700, oklch(52.7% 0.154 150.069));
284
450
  --color-kumo-success-tint: var(--color-green-900, oklch(39.3% 0.095 152.535));
451
+ --color-kumo-badge-red: var(--color-red-700, oklch(50.5% 0.213 27.518));
452
+ --color-kumo-badge-red-subtle: var(--color-red-900, oklch(39.6% 0.141 25.723));
453
+ --color-kumo-badge-orange: var(--color-orange-700, oklch(55.3% 0.195 38.402));
454
+ --color-kumo-badge-orange-subtle: var(--color-orange-900, oklch(40.8% 0.123 38.172));
455
+ --color-kumo-badge-yellow: var(--color-yellow-700, oklch(55.4% 0.135 66.442));
456
+ --color-kumo-badge-yellow-subtle: var(--color-yellow-900, oklch(42.1% 0.095 57.708));
457
+ --color-kumo-badge-green: var(--color-emerald-700, oklch(50.8% 0.118 165.612));
458
+ --color-kumo-badge-green-subtle: var(--color-emerald-900, oklch(37.8% 0.077 168.94));
459
+ --color-kumo-badge-teal: var(--color-teal-700, oklch(51.1% 0.096 186.391));
460
+ --color-kumo-badge-teal-subtle: var(--color-teal-900, oklch(38.6% 0.063 188.416));
461
+ --color-kumo-badge-blue: var(--color-blue-700, oklch(48.8% 0.243 264.376));
462
+ --color-kumo-badge-blue-subtle: var(--color-blue-900, oklch(37.9% 0.146 265.522));
463
+ --color-kumo-badge-neutral: var(--color-neutral-600, oklch(43.9% 0 0));
464
+ --color-kumo-badge-inverted: var(--color-white, #fff);
285
465
  }
286
466
  }
package/dist/utils.js CHANGED
@@ -1,10 +1,12 @@
1
1
  "use client";
2
- import { c as s, s as n } from "./chunks/cn-ct4n7r74mh8y0f48.js";
3
- import { L as r, u as i } from "./chunks/link-provider-mn2voeohon7cj9o4.js";
2
+ import { c as e, s } from "./chunks/cn-ct4n7r74mh8y0f48.js";
3
+ import { L as n, u as m } from "./chunks/link-provider-mn2voeohon7cj9o4.js";
4
+ import { K as i } from "./chunks/portal-provider-hwmkdmkpvct0cb76.js";
4
5
  export {
5
- r as LinkProvider,
6
- s as cn,
7
- n as safeRandomId,
8
- i as useLinkComponent
6
+ i as KumoPortalProvider,
7
+ n as LinkProvider,
8
+ e as cn,
9
+ s as safeRandomId,
10
+ m as useLinkComponent
9
11
  };
10
12
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"utils.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudflare/kumo",
3
- "version": "1.15.0",
3
+ "version": "1.17.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Kumo - Cloudflare's component library for building modern web applications",
@@ -187,6 +187,10 @@
187
187
  "types": "./dist/src/components/flow/index.d.ts",
188
188
  "import": "./dist/components/flow.js"
189
189
  },
190
+ "./components/sidebar": {
191
+ "types": "./dist/src/components/sidebar/index.d.ts",
192
+ "import": "./dist/components/sidebar.js"
193
+ },
190
194
  "./utils": {
191
195
  "types": "./dist/src/utils/index.d.ts",
192
196
  "import": "./dist/utils.js"
@@ -442,7 +446,7 @@
442
446
  "esbuild": "0.27.2",
443
447
  "eslint-plugin-jsx-a11y": "^6.10.2",
444
448
  "glob": "13.0.0",
445
- "happy-dom": "^20.0.2",
449
+ "happy-dom": "^20.8.8",
446
450
  "oxlint": "1.42.0",
447
451
  "oxlint-tsgolint": "0.11.3",
448
452
  "playwright": "^1.57.0",
@@ -461,7 +465,7 @@
461
465
  "zod": "^4.0.0"
462
466
  },
463
467
  "scripts": {
464
- "build": "vite build --mode production && tsx scripts/css-build.ts && tsx src/command-line/build-cli.ts",
468
+ "build": "pnpm run codegen:registry && vite build --mode production && tsx scripts/css-build.ts && tsx src/command-line/build-cli.ts",
465
469
  "dev": "vite build --watch --mode development",
466
470
  "new:component": "plop component",
467
471
  "clean": "rm -rf dist",
@@ -450,11 +450,19 @@ function generatePropsFromVariantsOnly(
450
450
  for (const [propName, variantDef] of Object.entries(config.variants)) {
451
451
  const values = Object.keys(variantDef);
452
452
  const descriptions: Record<string, string> = {};
453
+ const classes: Record<string, string> = {};
454
+ const stateClassesMap: Record<string, Record<string, string>> = {};
453
455
 
454
456
  for (const [key, val] of Object.entries(variantDef)) {
455
457
  if (val.description) {
456
458
  descriptions[key] = val.description;
457
459
  }
460
+ if (val.classes) {
461
+ classes[key] = val.classes;
462
+ }
463
+ if (val.stateClasses) {
464
+ stateClassesMap[key] = val.stateClasses;
465
+ }
458
466
  }
459
467
 
460
468
  props[propName] = {
@@ -462,6 +470,10 @@ function generatePropsFromVariantsOnly(
462
470
  values,
463
471
  ...(config.defaults[propName] && { default: config.defaults[propName] }),
464
472
  ...(Object.keys(descriptions).length > 0 && { descriptions }),
473
+ ...(Object.keys(classes).length > 0 && { classes }),
474
+ ...(Object.keys(stateClassesMap).length > 0 && {
475
+ stateClasses: stateClassesMap,
476
+ }),
465
477
  };
466
478
  }
467
479