@cloudflare/kumo 1.16.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 (254) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/ai/USAGE.md +3 -1
  3. package/ai/component-registry.json +200 -59
  4. package/ai/component-registry.md +269 -33
  5. package/ai/schemas.ts +15 -5
  6. package/dist/.build-complete +1 -1
  7. package/dist/ai/schemas.d.ts +101 -37
  8. package/dist/ai/schemas.d.ts.map +1 -1
  9. package/dist/ai/schemas.js +187 -174
  10. package/dist/ai/schemas.js.map +1 -1
  11. package/dist/chunks/{Legend-bov5dqf08wemc2qj.js → Legend-o0ntojbaplmszwk0.js} +4 -2
  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-lawmt1894wr6rpgi.js → checkbox-dx8x0rzv582yjv7n.js} +38 -47
  22. package/dist/chunks/{checkbox-lawmt1894wr6rpgi.js.map → checkbox-dx8x0rzv582yjv7n.js.map} +1 -1
  23. package/dist/chunks/{clipboard-text-ohx8kkpxisz382rj.js → clipboard-text-kyk51d1ze7zvdn4q.js} +55 -54
  24. package/dist/chunks/clipboard-text-kyk51d1ze7zvdn4q.js.map +1 -0
  25. package/dist/chunks/{combobox-ft0u7rfaxawk0r0c.js → combobox-9fhjzprab46csmon.js} +97 -82
  26. package/dist/chunks/combobox-9fhjzprab46csmon.js.map +1 -0
  27. package/dist/chunks/{command-palette-b31nq4wk7o7gx4sa.js → command-palette-kenx2bbdzd4kpx36.js} +158 -154
  28. package/dist/chunks/command-palette-kenx2bbdzd4kpx36.js.map +1 -0
  29. package/dist/chunks/{dialog-l5tmwxrzp9g83jmw.js → dialog-e05ysa8t2fklw065.js} +22 -20
  30. package/dist/chunks/dialog-e05ysa8t2fklw065.js.map +1 -0
  31. package/dist/chunks/{dropdown-icy3xatdwhzr4une.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-csje72m7j9403fj5.js → field-fq504lyu7ttsh5m9.js} +3 -3
  36. package/dist/chunks/{field-csje72m7j9403fj5.js.map → field-fq504lyu7ttsh5m9.js.map} +1 -1
  37. package/dist/chunks/{input-area-jko15sbc6zeage3l.js → input-area-nq40szg9110on89c.js} +4 -4
  38. package/dist/chunks/{input-area-jko15sbc6zeage3l.js.map → input-area-nq40szg9110on89c.js.map} +1 -1
  39. package/dist/chunks/{input-group-cjsy8kh4vf9312xl.js → input-group-hbebbyh8fo6aqydn.js} +3 -3
  40. package/dist/chunks/{input-group-cjsy8kh4vf9312xl.js.map → input-group-hbebbyh8fo6aqydn.js.map} +1 -1
  41. package/dist/chunks/{input-c8jmidy7gdqfiky1.js → input-kvhyo3p4859bexvx.js} +4 -4
  42. package/dist/chunks/input-kvhyo3p4859bexvx.js.map +1 -0
  43. package/dist/chunks/{label-i46xnnzdh9bsxk6a.js → label-j9owppbgnn35mebg.js} +3 -3
  44. package/dist/chunks/{label-i46xnnzdh9bsxk6a.js.map → label-j9owppbgnn35mebg.js.map} +1 -1
  45. package/dist/chunks/{layer-card-mu2w82x6ko1nhhtr.js → layer-card-l5yjvrxry1dhte57.js} +8 -8
  46. package/dist/chunks/{layer-card-mu2w82x6ko1nhhtr.js.map → layer-card-l5yjvrxry1dhte57.js.map} +1 -1
  47. package/dist/chunks/{link-o7yfj4kwgl19fklp.js → link-hmmf3k1xn6rm72rt.js} +2 -2
  48. package/dist/chunks/{link-o7yfj4kwgl19fklp.js.map → link-hmmf3k1xn6rm72rt.js.map} +1 -1
  49. package/dist/chunks/{menubar-g1wqqjuyyfvsim83.js → menubar-abojnm0uwjuni8ok.js} +20 -20
  50. package/dist/chunks/menubar-abojnm0uwjuni8ok.js.map +1 -0
  51. package/dist/chunks/{meter-cqkrg5axjenbsuue.js → meter-i84dte2f82qmvn7y.js} +2 -2
  52. package/dist/chunks/{meter-cqkrg5axjenbsuue.js.map → meter-i84dte2f82qmvn7y.js.map} +1 -1
  53. package/dist/chunks/{pagination-e3dp8bd80s35f7sd.js → pagination-pbd7qqik97ac0l7m.js} +3 -3
  54. package/dist/chunks/{pagination-e3dp8bd80s35f7sd.js.map → pagination-pbd7qqik97ac0l7m.js.map} +1 -1
  55. package/dist/chunks/{popover-jurf834u2uywluux.js → popover-i951xjcgezeqr4iv.js} +31 -28
  56. package/dist/chunks/popover-i951xjcgezeqr4iv.js.map +1 -0
  57. package/dist/chunks/portal-provider-hwmkdmkpvct0cb76.js +18 -0
  58. package/dist/chunks/portal-provider-hwmkdmkpvct0cb76.js.map +1 -0
  59. package/dist/chunks/{radio-l9dzm6sohcvvrsdc.js → radio-l2vkcue40d84fmo1.js} +13 -16
  60. package/dist/chunks/{radio-l9dzm6sohcvvrsdc.js.map → radio-l2vkcue40d84fmo1.js.map} +1 -1
  61. package/dist/chunks/{select-hnt87e3cfos48qql.js → select-paedwa3nlhpq82ua.js} +39 -37
  62. package/dist/chunks/select-paedwa3nlhpq82ua.js.map +1 -0
  63. package/dist/chunks/{sensitive-input-lvtccf3iqc06lj7b.js → sensitive-input-kznmknpp5h1grc6k.js} +97 -91
  64. package/dist/chunks/sensitive-input-kznmknpp5h1grc6k.js.map +1 -0
  65. package/dist/chunks/{sidebar-l6rk9o5qf8k5vth1.js → sidebar-jepeq7gaf4issuw6.js} +3 -3
  66. package/dist/chunks/{sidebar-l6rk9o5qf8k5vth1.js.map → sidebar-jepeq7gaf4issuw6.js.map} +1 -1
  67. package/dist/chunks/skeleton-line-epxenksfesr2fkcv.js +33 -0
  68. package/dist/chunks/skeleton-line-epxenksfesr2fkcv.js.map +1 -0
  69. package/dist/chunks/surface-blo81kgy9g0sexgm.js +36 -0
  70. package/dist/chunks/surface-blo81kgy9g0sexgm.js.map +1 -0
  71. package/dist/chunks/{switch-fukrbip86khvqjn7.js → switch-i0zwcp3wq6vsxm1c.js} +64 -64
  72. package/dist/chunks/{switch-fukrbip86khvqjn7.js.map → switch-i0zwcp3wq6vsxm1c.js.map} +1 -1
  73. package/dist/chunks/table-nrcw19tlpduayukl.js +183 -0
  74. package/dist/chunks/table-nrcw19tlpduayukl.js.map +1 -0
  75. package/dist/chunks/tabs-bw92jb303zxw7w4f.js +92 -0
  76. package/dist/chunks/{tabs-n0t7iro7wr0pzgk2.js.map → tabs-bw92jb303zxw7w4f.js.map} +1 -1
  77. package/dist/chunks/{text-gzt92mlji1lug13d.js → text-nmyi1rkwdj37f30f.js} +24 -22
  78. package/dist/chunks/text-nmyi1rkwdj37f30f.js.map +1 -0
  79. package/dist/chunks/{toast-r9ajsces7xp8l85w.js → toast-lrnwby56drs7vtae.js} +59 -57
  80. package/dist/chunks/toast-lrnwby56drs7vtae.js.map +1 -0
  81. package/dist/chunks/toml-nczb2z9n0o23o3ci.js +8 -0
  82. package/dist/chunks/toml-nczb2z9n0o23o3ci.js.map +1 -0
  83. package/dist/chunks/{tooltip-hnc71tg4gz2gpcvc.js → tooltip-cit9ltlxfuhwctuj.js} +24 -21
  84. package/dist/chunks/tooltip-cit9ltlxfuhwctuj.js.map +1 -0
  85. package/dist/chunks/{vendor-base-ui-ccr5l0ynrievzzv3.js → vendor-base-ui-n30qblevnpk9cc5c.js} +42 -41
  86. package/dist/chunks/{vendor-base-ui-ccr5l0ynrievzzv3.js.map → vendor-base-ui-n30qblevnpk9cc5c.js.map} +1 -1
  87. package/dist/code/server.js +10 -9
  88. package/dist/code/server.js.map +1 -1
  89. package/dist/code.js +3 -2
  90. package/dist/code.js.map +1 -1
  91. package/dist/components/badge.js +1 -1
  92. package/dist/components/banner.js +1 -1
  93. package/dist/components/breadcrumbs.js +1 -1
  94. package/dist/components/button.js +1 -1
  95. package/dist/components/chart.js +1 -1
  96. package/dist/components/checkbox.js +1 -1
  97. package/dist/components/clipboard-text.js +1 -1
  98. package/dist/components/combobox.js +1 -1
  99. package/dist/components/command-palette.js +1 -1
  100. package/dist/components/dialog.js +1 -1
  101. package/dist/components/dropdown.js +1 -1
  102. package/dist/components/empty.js +1 -1
  103. package/dist/components/field.js +1 -1
  104. package/dist/components/flow.js +5 -4
  105. package/dist/components/flow.js.map +1 -1
  106. package/dist/components/input.js +3 -3
  107. package/dist/components/label.js +1 -1
  108. package/dist/components/layer-card.js +1 -1
  109. package/dist/components/link.js +1 -1
  110. package/dist/components/loader.js +1 -1
  111. package/dist/components/menubar.js +1 -1
  112. package/dist/components/meter.js +1 -1
  113. package/dist/components/pagination.js +1 -1
  114. package/dist/components/popover.js +1 -1
  115. package/dist/components/radio.js +1 -1
  116. package/dist/components/select.js +1 -1
  117. package/dist/components/sensitive-input.js +1 -1
  118. package/dist/components/sidebar.js +1 -1
  119. package/dist/components/surface.js +1 -1
  120. package/dist/components/switch.js +1 -1
  121. package/dist/components/table.js +1 -1
  122. package/dist/components/tabs.js +1 -1
  123. package/dist/components/text.js +1 -1
  124. package/dist/components/toast.js +2 -2
  125. package/dist/components/tooltip.js +1 -1
  126. package/dist/index.js +75 -73
  127. package/dist/index.js.map +1 -1
  128. package/dist/primitives/accordion.js +1 -1
  129. package/dist/primitives/alert-dialog.js +1 -1
  130. package/dist/primitives/autocomplete.js +1 -1
  131. package/dist/primitives/avatar.js +1 -1
  132. package/dist/primitives/button.js +1 -1
  133. package/dist/primitives/checkbox-group.js +1 -1
  134. package/dist/primitives/checkbox.js +1 -1
  135. package/dist/primitives/collapsible.js +1 -1
  136. package/dist/primitives/combobox.js +1 -1
  137. package/dist/primitives/context-menu.js +1 -1
  138. package/dist/primitives/csp-provider.js +1 -1
  139. package/dist/primitives/dialog.js +1 -1
  140. package/dist/primitives/direction-provider.js +1 -1
  141. package/dist/primitives/drawer.js +1 -1
  142. package/dist/primitives/field.js +1 -1
  143. package/dist/primitives/fieldset.js +1 -1
  144. package/dist/primitives/form.js +1 -1
  145. package/dist/primitives/input.js +1 -1
  146. package/dist/primitives/menu.js +1 -1
  147. package/dist/primitives/menubar.js +1 -1
  148. package/dist/primitives/meter.js +1 -1
  149. package/dist/primitives/navigation-menu.js +1 -1
  150. package/dist/primitives/number-field.js +1 -1
  151. package/dist/primitives/popover.js +1 -1
  152. package/dist/primitives/preview-card.js +1 -1
  153. package/dist/primitives/progress.js +1 -1
  154. package/dist/primitives/radio-group.js +1 -1
  155. package/dist/primitives/radio.js +1 -1
  156. package/dist/primitives/scroll-area.js +1 -1
  157. package/dist/primitives/select.js +1 -1
  158. package/dist/primitives/separator.js +1 -1
  159. package/dist/primitives/slider.js +1 -1
  160. package/dist/primitives/switch.js +1 -1
  161. package/dist/primitives/tabs.js +1 -1
  162. package/dist/primitives/toast.js +1 -1
  163. package/dist/primitives/toggle-group.js +1 -1
  164. package/dist/primitives/toggle.js +1 -1
  165. package/dist/primitives/toolbar.js +1 -1
  166. package/dist/primitives/tooltip.js +1 -1
  167. package/dist/primitives.js +1 -1
  168. package/dist/scripts/theme-generator/config.d.ts.map +1 -1
  169. package/dist/scripts/theme-generator/config.js +288 -24
  170. package/dist/scripts/theme-generator/config.js.map +1 -1
  171. package/dist/src/code/provider.d.ts.map +1 -1
  172. package/dist/src/code/server.d.ts.map +1 -1
  173. package/dist/src/code/types.d.ts +1 -1
  174. package/dist/src/code/types.d.ts.map +1 -1
  175. package/dist/src/components/badge/badge.d.ts +95 -22
  176. package/dist/src/components/badge/badge.d.ts.map +1 -1
  177. package/dist/src/components/banner/banner.d.ts +2 -0
  178. package/dist/src/components/banner/banner.d.ts.map +1 -1
  179. package/dist/src/components/button/button.d.ts +2 -0
  180. package/dist/src/components/button/button.d.ts.map +1 -1
  181. package/dist/src/components/chart/TimeseriesChart.d.ts.map +1 -1
  182. package/dist/src/components/checkbox/checkbox.d.ts.map +1 -1
  183. package/dist/src/components/clipboard-text/clipboard-text.d.ts +2 -0
  184. package/dist/src/components/clipboard-text/clipboard-text.d.ts.map +1 -1
  185. package/dist/src/components/combobox/combobox.d.ts +8 -1
  186. package/dist/src/components/combobox/combobox.d.ts.map +1 -1
  187. package/dist/src/components/command-palette/command-palette.d.ts +9 -2
  188. package/dist/src/components/command-palette/command-palette.d.ts.map +1 -1
  189. package/dist/src/components/command-palette/types.d.ts +7 -0
  190. package/dist/src/components/command-palette/types.d.ts.map +1 -1
  191. package/dist/src/components/dialog/dialog.d.ts +8 -1
  192. package/dist/src/components/dialog/dialog.d.ts.map +1 -1
  193. package/dist/src/components/dropdown/dropdown.d.ts +17 -2
  194. package/dist/src/components/dropdown/dropdown.d.ts.map +1 -1
  195. package/dist/src/components/flow/diagram.d.ts.map +1 -1
  196. package/dist/src/components/loader/skeleton-line.d.ts +2 -1
  197. package/dist/src/components/loader/skeleton-line.d.ts.map +1 -1
  198. package/dist/src/components/popover/popover.d.ts +8 -1
  199. package/dist/src/components/popover/popover.d.ts.map +1 -1
  200. package/dist/src/components/radio/radio.d.ts.map +1 -1
  201. package/dist/src/components/select/select.d.ts +8 -1
  202. package/dist/src/components/select/select.d.ts.map +1 -1
  203. package/dist/src/components/sensitive-input/sensitive-input.d.ts.map +1 -1
  204. package/dist/src/components/surface/surface.d.ts +23 -23
  205. package/dist/src/components/surface/surface.d.ts.map +1 -1
  206. package/dist/src/components/table/table.d.ts +34 -2
  207. package/dist/src/components/table/table.d.ts.map +1 -1
  208. package/dist/src/components/tabs/tabs.d.ts.map +1 -1
  209. package/dist/src/components/text/text.d.ts +5 -0
  210. package/dist/src/components/text/text.d.ts.map +1 -1
  211. package/dist/src/components/toast/toast.d.ts +16 -9
  212. package/dist/src/components/toast/toast.d.ts.map +1 -1
  213. package/dist/src/components/tooltip/tooltip.d.ts +11 -6
  214. package/dist/src/components/tooltip/tooltip.d.ts.map +1 -1
  215. package/dist/src/index.d.ts +1 -0
  216. package/dist/src/index.d.ts.map +1 -1
  217. package/dist/src/utils/index.d.ts +1 -0
  218. package/dist/src/utils/index.d.ts.map +1 -1
  219. package/dist/src/utils/portal-provider.d.ts +56 -0
  220. package/dist/src/utils/portal-provider.d.ts.map +1 -0
  221. package/dist/styles/kumo-binding.css +49 -46
  222. package/dist/styles/kumo-standalone.css +1 -1
  223. package/dist/styles/theme-fedramp.css +3 -3
  224. package/dist/styles/theme-kumo.css +202 -22
  225. package/dist/utils.js +8 -6
  226. package/dist/utils.js.map +1 -1
  227. package/package.json +2 -2
  228. package/scripts/theme-generator/config.ts +298 -24
  229. package/dist/chunks/Legend-bov5dqf08wemc2qj.js.map +0 -1
  230. package/dist/chunks/badge-mrshucy2530o70cq.js +0 -56
  231. package/dist/chunks/badge-mrshucy2530o70cq.js.map +0 -1
  232. package/dist/chunks/banner-vzdjbqsb6em7tmdk.js +0 -75
  233. package/dist/chunks/banner-vzdjbqsb6em7tmdk.js.map +0 -1
  234. package/dist/chunks/button-j0hi0afn33w9lxgi.js.map +0 -1
  235. package/dist/chunks/clipboard-text-ohx8kkpxisz382rj.js.map +0 -1
  236. package/dist/chunks/combobox-ft0u7rfaxawk0r0c.js.map +0 -1
  237. package/dist/chunks/command-palette-b31nq4wk7o7gx4sa.js.map +0 -1
  238. package/dist/chunks/dialog-l5tmwxrzp9g83jmw.js.map +0 -1
  239. package/dist/chunks/dropdown-icy3xatdwhzr4une.js.map +0 -1
  240. package/dist/chunks/input-c8jmidy7gdqfiky1.js.map +0 -1
  241. package/dist/chunks/menubar-g1wqqjuyyfvsim83.js.map +0 -1
  242. package/dist/chunks/popover-jurf834u2uywluux.js.map +0 -1
  243. package/dist/chunks/select-hnt87e3cfos48qql.js.map +0 -1
  244. package/dist/chunks/sensitive-input-lvtccf3iqc06lj7b.js.map +0 -1
  245. package/dist/chunks/skeleton-line-1j5exu6vv07mmhfb.js +0 -28
  246. package/dist/chunks/skeleton-line-1j5exu6vv07mmhfb.js.map +0 -1
  247. package/dist/chunks/surface-dhshylwccuaz91d1.js +0 -21
  248. package/dist/chunks/surface-dhshylwccuaz91d1.js.map +0 -1
  249. package/dist/chunks/table-orfgzwvxh8yr90dk.js +0 -155
  250. package/dist/chunks/table-orfgzwvxh8yr90dk.js.map +0 -1
  251. package/dist/chunks/tabs-n0t7iro7wr0pzgk2.js +0 -86
  252. package/dist/chunks/text-gzt92mlji1lug13d.js.map +0 -1
  253. package/dist/chunks/toast-r9ajsces7xp8l85w.js.map +0 -1
  254. package/dist/chunks/tooltip-hnc71tg4gz2gpcvc.js.map +0 -1
@@ -0,0 +1,92 @@
1
+ "use client";
2
+ import { jsxs as d, jsx as a } from "react/jsx-runtime";
3
+ import { c as s } from "./cn-ct4n7r74mh8y0f48.js";
4
+ import { b6 as x, b7 as T, b8 as w, b9 as N } from "./vendor-base-ui-n30qblevnpk9cc5c.js";
5
+ const V = {
6
+ variant: "segmented"
7
+ };
8
+ function z({
9
+ tabs: u,
10
+ value: n,
11
+ selectedValue: m,
12
+ onValueChange: c,
13
+ activateOnFocus: b,
14
+ className: g,
15
+ listClassName: v,
16
+ indicatorClassName: f,
17
+ variant: i = V.variant
18
+ }) {
19
+ const r = u ?? [];
20
+ if (r.length === 0)
21
+ return null;
22
+ const h = r[0]?.value, l = n !== void 0, p = {
23
+ value: l ? n : void 0,
24
+ defaultValue: l ? void 0 : m ?? h
25
+ }, t = i === "segmented", o = i === "underline";
26
+ return /* @__PURE__ */ d(
27
+ x,
28
+ {
29
+ ...p,
30
+ className: s("relative isolate min-w-0 font-medium", g),
31
+ onValueChange: (e) => {
32
+ const k = String(e);
33
+ c?.(k);
34
+ },
35
+ children: [
36
+ t && /* @__PURE__ */ a("div", { className: "absolute inset-x-0 top-1/2 z-0 h-9 -translate-y-1/2 rounded-lg bg-kumo-recessed" }),
37
+ /* @__PURE__ */ d(
38
+ T,
39
+ {
40
+ activateOnFocus: b,
41
+ className: s(
42
+ "scrollbar-hide relative flex min-w-0 shrink items-stretch",
43
+ t && "h-9 rounded-lg bg-kumo-recessed px-0.5 ring ring-kumo-line/70",
44
+ o && "h-7 gap-4 border-b border-kumo-ring pb-2",
45
+ v
46
+ ),
47
+ children: [
48
+ r.map((e) => /* @__PURE__ */ a(
49
+ w,
50
+ {
51
+ value: e.value,
52
+ render: e.render,
53
+ className: s(
54
+ "relative z-2 flex cursor-pointer items-center rounded bg-transparent text-base whitespace-nowrap focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-kumo-ring",
55
+ t && "my-0.5 rounded-md px-2.5 text-kumo-strong hover:text-kumo-default aria-selected:text-kumo-default focus-visible:ring-inset",
56
+ o && "px-2 py-2.5 text-kumo-strong hover:bg-kumo-tint hover:text-kumo-subtle aria-selected:hover:bg-kumo-tint aria-selected:font-medium aria-selected:text-kumo-default",
57
+ e.className
58
+ ),
59
+ children: e.label
60
+ },
61
+ e.value
62
+ )),
63
+ /* @__PURE__ */ a(
64
+ N,
65
+ {
66
+ render: (e) => /* @__PURE__ */ a(
67
+ "div",
68
+ {
69
+ ...e,
70
+ className: s(
71
+ "absolute z-1 left-0",
72
+ "w-(--active-tab-width) translate-x-(--active-tab-left) transition-all duration-200",
73
+ "data-[rendered=false]:scale-90 data-[rendered=false]:opacity-0",
74
+ t && "top-(--active-tab-top) h-(--active-tab-height) rounded-md bg-kumo-base shadow-sm ring ring-kumo-ring",
75
+ o && "bottom-0 h-0.5 bg-kumo-brand",
76
+ f
77
+ )
78
+ }
79
+ )
80
+ }
81
+ )
82
+ ]
83
+ }
84
+ )
85
+ ]
86
+ }
87
+ );
88
+ }
89
+ export {
90
+ z as T
91
+ };
92
+ //# sourceMappingURL=tabs-bw92jb303zxw7w4f.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-n0t7iro7wr0pzgk2.js","sources":["../../src/components/tabs/tabs.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport type { TabsTab } from \"@base-ui/react/tabs\";\nimport { Tabs as TabsPrimitive } from \"@base-ui/react/tabs\";\nimport { cn } from \"../../utils/cn\";\n\n/** Tabs variant definitions. */\nexport const KUMO_TABS_VARIANTS = {\n variant: [\"segmented\", \"underline\"],\n} as const;\n\nexport const KUMO_TABS_DEFAULT_VARIANTS = {\n variant: \"segmented\",\n} as const;\n\nexport const KUMO_TABS_STYLING = {\n container: {\n height: 34,\n borderRadius: 8,\n background: \"color-accent\",\n padding: 1,\n },\n tab: {\n paddingX: 10,\n verticalMargin: 1,\n fontSize: 16,\n fontWeight: 500,\n borderRadius: 8,\n activeColor: \"text-color-surface\",\n inactiveColor: \"text-color-label\",\n },\n indicator: {\n background: \"color-surface-secondary\",\n ring: \"color-color-2\",\n borderRadius: 6,\n shadow: \"shadow-sm\",\n },\n} as const;\n\n// Derived types from KUMO_TABS_VARIANTS\nexport interface KumoTabsVariantsProps {\n /**\n * Tab style.\n * - `\"segmented\"` — Pill-shaped indicator on a filled track\n * - `\"underline\"` — Underline indicator below tab text\n * @default \"segmented\"\n */\n variant?: (typeof KUMO_TABS_VARIANTS.variant)[number];\n}\n\n/** Configuration for a single tab within the Tabs component. */\nexport type TabsItem = {\n /** Unique identifier for the tab, used as the controlled value. */\n value: string;\n /** Display content for the tab trigger. */\n label: ReactNode;\n /** Additional CSS classes for this tab trigger. */\n className?: string;\n /**\n * Custom render function or element to replace the tab element (e.g. for link-based tabs).\n * When using a function, it receives the props to spread on the element and the tab's state.\n */\n render?: TabsTab.Props[\"render\"];\n};\n\n/**\n * Tabs component props.\n *\n * @example\n * ```tsx\n * <Tabs\n * tabs={[\n * { value: \"overview\", label: \"Overview\" },\n * { value: \"settings\", label: \"Settings\" },\n * ]}\n * value={activeTab}\n * onValueChange={setActiveTab}\n * />\n * ```\n */\nexport type TabsProps = KumoTabsVariantsProps & {\n /** Array of tab items to render. */\n tabs?: TabsItem[];\n /** Controlled value. When set, component becomes controlled. */\n value?: string;\n /** Default selected value for uncontrolled mode. Ignored when `value` is set. */\n selectedValue?: string;\n /** Callback fired when the active tab changes. */\n onValueChange?: (value: string) => void;\n /**\n * When `true`, tabs are activated immediately upon receiving focus via arrow keys.\n * When `false` (default), tabs receive focus but require Enter/Space to activate.\n */\n activateOnFocus?: boolean;\n /** Additional CSS classes for the root element. */\n className?: string;\n /** Additional CSS classes for the tab list element. */\n listClassName?: string;\n /** Additional CSS classes for the indicator element. */\n indicatorClassName?: string;\n};\n\n/**\n * Tab navigation component with segmented or underline style.\n * Built on Base UI Tabs with animated active indicator.\n *\n * @example\n * ```tsx\n * <Tabs\n * variant=\"segmented\"\n * tabs={[{ value: \"tab1\", label: \"Tab 1\" }, { value: \"tab2\", label: \"Tab 2\" }]}\n * value={active}\n * onValueChange={setActive}\n * />\n * ```\n */\nexport function Tabs({\n tabs,\n value,\n selectedValue,\n onValueChange,\n activateOnFocus,\n className,\n listClassName,\n indicatorClassName,\n variant = KUMO_TABS_DEFAULT_VARIANTS.variant,\n}: TabsProps) {\n const items: TabsItem[] = tabs ?? [];\n\n if (items.length === 0) {\n return null;\n }\n\n const fallbackValue = items[0]?.value;\n const isControlled = value !== undefined;\n const rootProps = {\n value: isControlled ? value : undefined,\n defaultValue: isControlled ? undefined : (selectedValue ?? fallbackValue),\n };\n\n const isSegmented = variant === \"segmented\";\n const isUnderline = variant === \"underline\";\n\n return (\n <TabsPrimitive.Root\n {...rootProps}\n className={cn(\"relative isolate min-w-0 font-medium\", className)}\n onValueChange={(nextValue) => {\n const stringValue = String(nextValue);\n onValueChange?.(stringValue);\n }}\n >\n {/* Background element for segmented variant */}\n {isSegmented && (\n <div className=\"absolute inset-x-0 top-1/2 z-0 h-8.5 -translate-y-1/2 rounded-lg bg-kumo-surface\" />\n )}\n <TabsPrimitive.List\n activateOnFocus={activateOnFocus}\n className={cn(\n \"scrollbar-hide relative flex min-w-0 shrink items-stretch\",\n isSegmented && \"h-8.5 rounded-lg bg-kumo-recessed px-px\",\n isUnderline && \"h-7 gap-4 border-b border-kumo-ring pb-2\",\n listClassName,\n )}\n >\n {items.map((tab) => (\n <TabsPrimitive.Tab\n key={tab.value}\n value={tab.value}\n render={tab.render}\n className={cn(\n \"relative z-2 flex cursor-pointer items-center rounded bg-transparent text-base whitespace-nowrap focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-kumo-ring\",\n isSegmented &&\n \"my-px rounded-lg px-2.5 text-kumo-strong hover:text-kumo-default aria-selected:text-kumo-default focus-visible:ring-inset\",\n isUnderline &&\n \"px-2 py-2.5 text-kumo-strong hover:bg-kumo-tint hover:text-kumo-subtle aria-selected:hover:bg-kumo-tint aria-selected:font-medium aria-selected:text-kumo-default\",\n tab.className,\n )}\n >\n {tab.label}\n </TabsPrimitive.Tab>\n ))}\n <TabsPrimitive.Indicator\n className={cn(\n \"absolute z-1 transition-[left,width,transform] duration-200 ease-out\",\n \"data-[rendered=false]:scale-90 data-[rendered=false]:opacity-0\",\n \"left-(--active-tab-left) w-(--active-tab-width)\",\n isSegmented &&\n \"top-(--active-tab-top) h-(--active-tab-height) rounded-lg bg-kumo-base shadow-sm ring ring-kumo-ring\",\n isUnderline && \"bottom-0 h-0.5 bg-kumo-brand\",\n indicatorClassName,\n )}\n />\n </TabsPrimitive.List>\n </TabsPrimitive.Root>\n );\n}\n"],"names":["KUMO_TABS_DEFAULT_VARIANTS","Tabs","tabs","value","selectedValue","onValueChange","activateOnFocus","className","listClassName","indicatorClassName","variant","items","fallbackValue","isControlled","rootProps","isSegmented","isUnderline","jsxs","TabsPrimitive.Root","cn","nextValue","stringValue","jsx","TabsPrimitive.List","tab","TabsPrimitive.Tab","TabsPrimitive.Indicator"],"mappings":";;;;AAUO,MAAMA,IAA6B;AAAA,EACxC,SAAS;AACX;AAuGO,SAASC,EAAK;AAAA,EACnB,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,SAAAC,IAAUV,EAA2B;AACvC,GAAc;AACZ,QAAMW,IAAoBT,KAAQ,CAAA;AAElC,MAAIS,EAAM,WAAW;AACnB,WAAO;AAGT,QAAMC,IAAgBD,EAAM,CAAC,GAAG,OAC1BE,IAAeV,MAAU,QACzBW,IAAY;AAAA,IAChB,OAAOD,IAAeV,IAAQ;AAAA,IAC9B,cAAcU,IAAe,SAAaT,KAAiBQ;AAAA,EAAA,GAGvDG,IAAcL,MAAY,aAC1BM,IAAcN,MAAY;AAEhC,SACE,gBAAAO;AAAA,IAACC;AAAAA,IAAA;AAAA,MACE,GAAGJ;AAAA,MACJ,WAAWK,EAAG,wCAAwCZ,CAAS;AAAA,MAC/D,eAAe,CAACa,MAAc;AAC5B,cAAMC,IAAc,OAAOD,CAAS;AACpC,QAAAf,IAAgBgB,CAAW;AAAA,MAC7B;AAAA,MAGC,UAAA;AAAA,QAAAN,KACC,gBAAAO,EAAC,OAAA,EAAI,WAAU,mFAAA,CAAmF;AAAA,QAEpG,gBAAAL;AAAA,UAACM;AAAAA,UAAA;AAAA,YACC,iBAAAjB;AAAA,YACA,WAAWa;AAAA,cACT;AAAA,cACAJ,KAAe;AAAA,cACfC,KAAe;AAAA,cACfR;AAAA,YAAA;AAAA,YAGD,UAAA;AAAA,cAAAG,EAAM,IAAI,CAACa,MACV,gBAAAF;AAAA,gBAACG;AAAAA,gBAAA;AAAA,kBAEC,OAAOD,EAAI;AAAA,kBACX,QAAQA,EAAI;AAAA,kBACZ,WAAWL;AAAA,oBACT;AAAA,oBACAJ,KACE;AAAA,oBACFC,KACE;AAAA,oBACFQ,EAAI;AAAA,kBAAA;AAAA,kBAGL,UAAAA,EAAI;AAAA,gBAAA;AAAA,gBAZAA,EAAI;AAAA,cAAA,CAcZ;AAAA,cACD,gBAAAF;AAAA,gBAACI;AAAAA,gBAAA;AAAA,kBACC,WAAWP;AAAA,oBACT;AAAA,oBACA;AAAA,oBACA;AAAA,oBACAJ,KACE;AAAA,oBACFC,KAAe;AAAA,oBACfP;AAAA,kBAAA;AAAA,gBACF;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"tabs-bw92jb303zxw7w4f.js","sources":["../../src/components/tabs/tabs.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport type { TabsTab } from \"@base-ui/react/tabs\";\nimport { Tabs as TabsPrimitive } from \"@base-ui/react/tabs\";\nimport { cn } from \"../../utils/cn\";\n\n/** Tabs variant definitions. */\nexport const KUMO_TABS_VARIANTS = {\n variant: [\"segmented\", \"underline\"],\n} as const;\n\nexport const KUMO_TABS_DEFAULT_VARIANTS = {\n variant: \"segmented\",\n} as const;\n\nexport const KUMO_TABS_STYLING = {\n container: {\n height: 34,\n borderRadius: 8,\n background: \"color-accent\",\n padding: 1,\n },\n tab: {\n paddingX: 10,\n verticalMargin: 1,\n fontSize: 16,\n fontWeight: 500,\n borderRadius: 8,\n activeColor: \"text-color-surface\",\n inactiveColor: \"text-color-label\",\n },\n indicator: {\n background: \"color-surface-secondary\",\n ring: \"color-color-2\",\n borderRadius: 6,\n shadow: \"shadow-sm\",\n },\n} as const;\n\n// Derived types from KUMO_TABS_VARIANTS\nexport interface KumoTabsVariantsProps {\n /**\n * Tab style.\n * - `\"segmented\"` — Pill-shaped indicator on a filled track\n * - `\"underline\"` — Underline indicator below tab text\n * @default \"segmented\"\n */\n variant?: (typeof KUMO_TABS_VARIANTS.variant)[number];\n}\n\n/** Configuration for a single tab within the Tabs component. */\nexport type TabsItem = {\n /** Unique identifier for the tab, used as the controlled value. */\n value: string;\n /** Display content for the tab trigger. */\n label: ReactNode;\n /** Additional CSS classes for this tab trigger. */\n className?: string;\n /**\n * Custom render function or element to replace the tab element (e.g. for link-based tabs).\n * When using a function, it receives the props to spread on the element and the tab's state.\n */\n render?: TabsTab.Props[\"render\"];\n};\n\n/**\n * Tabs component props.\n *\n * @example\n * ```tsx\n * <Tabs\n * tabs={[\n * { value: \"overview\", label: \"Overview\" },\n * { value: \"settings\", label: \"Settings\" },\n * ]}\n * value={activeTab}\n * onValueChange={setActiveTab}\n * />\n * ```\n */\nexport type TabsProps = KumoTabsVariantsProps & {\n /** Array of tab items to render. */\n tabs?: TabsItem[];\n /** Controlled value. When set, component becomes controlled. */\n value?: string;\n /** Default selected value for uncontrolled mode. Ignored when `value` is set. */\n selectedValue?: string;\n /** Callback fired when the active tab changes. */\n onValueChange?: (value: string) => void;\n /**\n * When `true`, tabs are activated immediately upon receiving focus via arrow keys.\n * When `false` (default), tabs receive focus but require Enter/Space to activate.\n */\n activateOnFocus?: boolean;\n /** Additional CSS classes for the root element. */\n className?: string;\n /** Additional CSS classes for the tab list element. */\n listClassName?: string;\n /** Additional CSS classes for the indicator element. */\n indicatorClassName?: string;\n};\n\n/**\n * Tab navigation component with segmented or underline style.\n * Built on Base UI Tabs with animated active indicator.\n *\n * @example\n * ```tsx\n * <Tabs\n * variant=\"segmented\"\n * tabs={[{ value: \"tab1\", label: \"Tab 1\" }, { value: \"tab2\", label: \"Tab 2\" }]}\n * value={active}\n * onValueChange={setActive}\n * />\n * ```\n */\nexport function Tabs({\n tabs,\n value,\n selectedValue,\n onValueChange,\n activateOnFocus,\n className,\n listClassName,\n indicatorClassName,\n variant = KUMO_TABS_DEFAULT_VARIANTS.variant,\n}: TabsProps) {\n const items: TabsItem[] = tabs ?? [];\n\n if (items.length === 0) {\n return null;\n }\n\n const fallbackValue = items[0]?.value;\n const isControlled = value !== undefined;\n const rootProps = {\n value: isControlled ? value : undefined,\n defaultValue: isControlled ? undefined : (selectedValue ?? fallbackValue),\n };\n\n const isSegmented = variant === \"segmented\";\n const isUnderline = variant === \"underline\";\n\n return (\n <TabsPrimitive.Root\n {...rootProps}\n className={cn(\"relative isolate min-w-0 font-medium\", className)}\n onValueChange={(nextValue) => {\n const stringValue = String(nextValue);\n onValueChange?.(stringValue);\n }}\n >\n {/* Background element for segmented variant */}\n {isSegmented && (\n <div className=\"absolute inset-x-0 top-1/2 z-0 h-9 -translate-y-1/2 rounded-lg bg-kumo-recessed\" />\n )}\n <TabsPrimitive.List\n activateOnFocus={activateOnFocus}\n className={cn(\n \"scrollbar-hide relative flex min-w-0 shrink items-stretch\",\n isSegmented && \"h-9 rounded-lg bg-kumo-recessed px-0.5 ring ring-kumo-line/70\",\n isUnderline && \"h-7 gap-4 border-b border-kumo-ring pb-2\",\n listClassName,\n )}\n >\n {items.map((tab) => (\n <TabsPrimitive.Tab\n key={tab.value}\n value={tab.value}\n render={tab.render}\n className={cn(\n \"relative z-2 flex cursor-pointer items-center rounded bg-transparent text-base whitespace-nowrap focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-kumo-ring\",\n isSegmented &&\n \"my-0.5 rounded-md px-2.5 text-kumo-strong hover:text-kumo-default aria-selected:text-kumo-default focus-visible:ring-inset\",\n isUnderline &&\n \"px-2 py-2.5 text-kumo-strong hover:bg-kumo-tint hover:text-kumo-subtle aria-selected:hover:bg-kumo-tint aria-selected:font-medium aria-selected:text-kumo-default\",\n tab.className,\n )}\n >\n {tab.label}\n </TabsPrimitive.Tab>\n ))}\n <TabsPrimitive.Indicator\n render={(props) => (\n <div\n {...props}\n className={cn(\n \"absolute z-1 left-0\",\n \"w-(--active-tab-width) translate-x-(--active-tab-left) transition-all duration-200\",\n \"data-[rendered=false]:scale-90 data-[rendered=false]:opacity-0\",\n isSegmented &&\n \"top-(--active-tab-top) h-(--active-tab-height) rounded-md bg-kumo-base shadow-sm ring ring-kumo-ring\",\n isUnderline && \"bottom-0 h-0.5 bg-kumo-brand\",\n indicatorClassName,\n )}\n />\n )}\n />\n </TabsPrimitive.List>\n </TabsPrimitive.Root>\n );\n}\n"],"names":["KUMO_TABS_DEFAULT_VARIANTS","Tabs","tabs","value","selectedValue","onValueChange","activateOnFocus","className","listClassName","indicatorClassName","variant","items","fallbackValue","isControlled","rootProps","isSegmented","isUnderline","jsxs","TabsPrimitive.Root","cn","nextValue","stringValue","jsx","TabsPrimitive.List","tab","TabsPrimitive.Tab","TabsPrimitive.Indicator","props"],"mappings":";;;;AAUO,MAAMA,IAA6B;AAAA,EACxC,SAAS;AACX;AAuGO,SAASC,EAAK;AAAA,EACnB,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,SAAAC,IAAUV,EAA2B;AACvC,GAAc;AACZ,QAAMW,IAAoBT,KAAQ,CAAA;AAElC,MAAIS,EAAM,WAAW;AACnB,WAAO;AAGT,QAAMC,IAAgBD,EAAM,CAAC,GAAG,OAC1BE,IAAeV,MAAU,QACzBW,IAAY;AAAA,IAChB,OAAOD,IAAeV,IAAQ;AAAA,IAC9B,cAAcU,IAAe,SAAaT,KAAiBQ;AAAA,EAAA,GAGvDG,IAAcL,MAAY,aAC1BM,IAAcN,MAAY;AAEhC,SACE,gBAAAO;AAAA,IAACC;AAAAA,IAAA;AAAA,MACE,GAAGJ;AAAA,MACJ,WAAWK,EAAG,wCAAwCZ,CAAS;AAAA,MAC/D,eAAe,CAACa,MAAc;AAC5B,cAAMC,IAAc,OAAOD,CAAS;AACpC,QAAAf,IAAgBgB,CAAW;AAAA,MAC7B;AAAA,MAGC,UAAA;AAAA,QAAAN,KACC,gBAAAO,EAAC,OAAA,EAAI,WAAU,kFAAA,CAAkF;AAAA,QAEnG,gBAAAL;AAAA,UAACM;AAAAA,UAAA;AAAA,YACC,iBAAAjB;AAAA,YACA,WAAWa;AAAA,cACT;AAAA,cACAJ,KAAe;AAAA,cACfC,KAAe;AAAA,cACfR;AAAA,YAAA;AAAA,YAGD,UAAA;AAAA,cAAAG,EAAM,IAAI,CAACa,MACV,gBAAAF;AAAA,gBAACG;AAAAA,gBAAA;AAAA,kBAEC,OAAOD,EAAI;AAAA,kBACX,QAAQA,EAAI;AAAA,kBACZ,WAAWL;AAAA,oBACT;AAAA,oBACAJ,KACE;AAAA,oBACFC,KACE;AAAA,oBACFQ,EAAI;AAAA,kBAAA;AAAA,kBAGL,UAAAA,EAAI;AAAA,gBAAA;AAAA,gBAZAA,EAAI;AAAA,cAAA,CAcZ;AAAA,cACD,gBAAAF;AAAA,gBAACI;AAAAA,gBAAA;AAAA,kBACC,QAAQ,CAACC,MACP,gBAAAL;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACE,GAAGK;AAAA,sBACJ,WAAWR;AAAA,wBACT;AAAA,wBACA;AAAA,wBACA;AAAA,wBACAJ,KACE;AAAA,wBACFC,KAAe;AAAA,wBACfP;AAAA,sBAAA;AAAA,oBACF;AAAA,kBAAA;AAAA,gBACF;AAAA,cAAA;AAAA,YAEJ;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { jsx as x } from "react/jsx-runtime";
3
- import { forwardRef as f, useMemo as p } from "react";
4
- import { c as g } from "./cn-ct4n7r74mh8y0f48.js";
2
+ import { jsx as f } from "react/jsx-runtime";
3
+ import { forwardRef as p, useMemo as g } from "react";
4
+ import { c as b } from "./cn-ct4n7r74mh8y0f48.js";
5
5
  const s = {
6
6
  variant: {
7
7
  heading1: {
@@ -60,38 +60,40 @@ const s = {
60
60
  }
61
61
  }
62
62
  };
63
- function b({
63
+ function h({
64
64
  variant: e = "body",
65
65
  bold: i = !1,
66
66
  size: o = "base",
67
- children: c,
68
- DANGEROUS_className: r,
69
- DANGEROUS_style: a,
67
+ truncate: c = !1,
68
+ children: r,
69
+ DANGEROUS_className: a,
70
+ DANGEROUS_style: l,
70
71
  as: t,
71
- ...l
72
- }, d) {
73
- const n = ["body", "secondary", "success", "error"].includes(e), m = ["mono", "mono-secondary"].includes(e), u = p(() => t || (e === "heading1" ? "h1" : e === "heading2" ? "h2" : e === "heading3" ? "h3" : ["mono", "mono-secondary"].includes(e) ? "span" : "p"), [e, t]);
74
- return /* @__PURE__ */ x(
75
- u,
72
+ ...d
73
+ }, m) {
74
+ const n = ["body", "secondary", "success", "error"].includes(e), u = ["mono", "mono-secondary"].includes(e), x = g(() => t || (e === "heading1" ? "h1" : e === "heading2" ? "h2" : e === "heading3" ? "h3" : ["mono", "mono-secondary"].includes(e) ? "span" : "p"), [e, t]);
75
+ return /* @__PURE__ */ f(
76
+ x,
76
77
  {
77
- ref: d,
78
- className: g(
78
+ ref: m,
79
+ className: b(
79
80
  "text-kumo-default",
80
81
  s.variant[e].classes,
81
82
  n ? s.size[o].classes : "",
82
83
  n && i ? "font-medium" : "",
83
84
  // Monospace fonts need to be 1pt smaller than body text to optically match
84
- m && (o === "lg" ? s.size.base.classes : s.size.sm.classes),
85
- r
85
+ u && (o === "lg" ? s.size.base.classes : s.size.sm.classes),
86
+ c && "truncate min-w-0",
87
+ a
86
88
  ),
87
- style: a,
88
- ...l,
89
- children: c
89
+ style: l,
90
+ ...d,
91
+ children: r
90
92
  }
91
93
  );
92
94
  }
93
- const M = f(b);
95
+ const T = p(h);
94
96
  export {
95
- M as T
97
+ T
96
98
  };
97
- //# sourceMappingURL=text-gzt92mlji1lug13d.js.map
99
+ //# sourceMappingURL=text-nmyi1rkwdj37f30f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-nmyi1rkwdj37f30f.js","sources":["../../src/components/text/text.tsx"],"sourcesContent":["import {\n type CSSProperties,\n type ComponentPropsWithoutRef,\n type ElementRef,\n type ForwardedRef,\n forwardRef,\n useMemo,\n type ElementType,\n} from \"react\";\nimport { cn } from \"../../utils/cn\";\n\n/** Text variant and size definitions mapping names to their Tailwind classes. */\nexport const KUMO_TEXT_VARIANTS = {\n variant: {\n heading1: {\n classes: \"text-3xl font-semibold\",\n description: \"Large heading for page titles\",\n },\n heading2: {\n classes: \"text-2xl font-semibold\",\n description: \"Medium heading for section titles\",\n },\n heading3: {\n classes: \"text-lg font-semibold\",\n description: \"Small heading for subsections\",\n },\n body: {\n classes: \"text-kumo-default\",\n description: \"Default body text\",\n },\n secondary: {\n classes: \"text-kumo-subtle\",\n description: \"Muted text for secondary information\",\n },\n success: {\n classes: \"text-kumo-link\",\n description: \"Success state text\",\n },\n error: {\n classes: \"text-kumo-danger\",\n description: \"Error state text\",\n },\n mono: {\n classes: \"font-mono\",\n description: \"Monospace text for code\",\n },\n \"mono-secondary\": {\n classes: \"font-mono text-kumo-subtle\",\n description: \"Muted monospace text\",\n },\n },\n size: {\n xs: {\n classes: \"text-xs\",\n description: \"Extra small text\",\n },\n sm: {\n classes: \"text-sm\",\n description: \"Small text\",\n },\n base: {\n classes: \"text-base\",\n description: \"Default text size\",\n },\n lg: {\n classes: \"text-lg\",\n description: \"Large text\",\n },\n },\n} as const;\n\nexport const KUMO_TEXT_DEFAULT_VARIANTS = {\n variant: \"body\",\n size: \"base\",\n} as const;\n\n/**\n * KUMO_TEXT_STYLING - Typography metadata for Figma generator\n *\n * This export provides structured styling information extracted from text.tsx\n * for use by the Figma plugin generator. It documents font sizes, weights,\n * colors, and font families used across all Text variants.\n *\n * Source of truth chain:\n * text.tsx (this file) → component-registry.json → text.ts (Figma generator)\n */\nexport const KUMO_TEXT_STYLING = {\n fontSizes: {\n xs: 12,\n sm: 14,\n base: 16,\n lg: 18,\n xl: 20,\n \"2xl\": 24,\n \"3xl\": 30,\n },\n fontWeights: {\n normal: 400,\n medium: 500,\n semibold: 600,\n },\n baseColor: \"text-kumo-default\",\n variantColors: {\n body: \"text-kumo-default\",\n secondary: \"text-kumo-subtle\",\n success: \"text-kumo-link\",\n error: \"text-kumo-danger\",\n mono: \"text-kumo-default\",\n \"mono-secondary\": \"text-kumo-subtle\",\n },\n fontFamilies: {\n default: \"sans-serif\",\n mono: \"monospace\",\n },\n} as const;\n\n// Derived types from KUMO_TEXT_VARIANTS\nexport type KumoTextVariant = keyof typeof KUMO_TEXT_VARIANTS.variant;\nexport type KumoTextSize = keyof typeof KUMO_TEXT_VARIANTS.size;\n\nexport interface KumoTextVariantsProps {\n variant?: KumoTextVariant;\n size?: KumoTextSize;\n}\n\nexport function textVariants({\n variant = KUMO_TEXT_DEFAULT_VARIANTS.variant,\n size = KUMO_TEXT_DEFAULT_VARIANTS.size,\n}: KumoTextVariantsProps = {}) {\n return cn(\n KUMO_TEXT_VARIANTS.variant[variant].classes,\n KUMO_TEXT_VARIANTS.size[size].classes,\n );\n}\n\n// Legacy types for backwards compatibility\ntype Heading = \"heading1\" | \"heading2\" | \"heading3\";\ntype Copy = \"body\" | \"secondary\" | \"success\" | \"error\";\ntype Monospace = \"mono\" | \"mono-secondary\";\ntype TextSize = KumoTextSize;\ntype TextVariant = KumoTextVariant;\n\ntype BaseTextProps = Omit<\n ComponentPropsWithoutRef<\"span\">,\n \"className\" | \"style\"\n> & {\n DANGEROUS_className?: string;\n DANGEROUS_style?: CSSProperties;\n as?: ElementType;\n};\n\ntype TextPropsInternal<Variant extends TextVariant = \"body\"> = BaseTextProps &\n (Variant extends Copy\n ? {\n variant?: Variant;\n bold?: boolean;\n size?: TextSize;\n truncate?: boolean;\n }\n : Variant extends Monospace\n ? {\n variant?: Variant;\n bold?: never;\n size?: \"lg\";\n truncate?: boolean;\n }\n : Variant extends Heading\n ? {\n variant?: Variant;\n bold?: never;\n size?: never;\n truncate?: boolean;\n }\n : never);\n\n/**\n * Text component props.\n *\n * @example\n * ```tsx\n * <Text variant=\"heading1\">Page Title</Text>\n * <Text variant=\"body\">Default paragraph text.</Text>\n * <Text variant=\"secondary\" size=\"sm\">Muted helper text</Text>\n * <Text variant=\"error\">Something went wrong</Text>\n * <Text variant=\"mono\">console.log(\"code\")</Text>\n * ```\n */\nexport interface TextProps {\n /**\n * Text style variant. Determines color, font, and weight.\n * - `\"heading1\"` — Large page title (30px, semibold)\n * - `\"heading2\"` — Section title (24px, semibold)\n * - `\"heading3\"` — Subsection title (18px, semibold)\n * - `\"body\"` — Default body text\n * - `\"secondary\"` — Muted text for secondary information\n * - `\"success\"` — Success state text\n * - `\"error\"` — Error state text\n * - `\"mono\"` — Monospace text for code\n * - `\"mono-secondary\"` — Muted monospace text\n * @default \"body\"\n */\n variant?: KumoTextVariant;\n /**\n * Text size (only applies to body/secondary/success/error variants).\n * - `\"xs\"` — 12px\n * - `\"sm\"` — 14px\n * - `\"base\"` — 16px\n * - `\"lg\"` — 18px\n * @default \"base\"\n */\n size?: KumoTextSize;\n /** Whether to use bold font weight (only applies to body variants). */\n bold?: boolean;\n /** Whether to truncate overflowing text with an ellipsis. Adds `truncate min-w-0` classes. */\n truncate?: boolean;\n /** The HTML element type to render as (e.g. `\"span\"`, `\"p\"`, `\"h1\"`). Auto-selected based on variant if omitted. */\n as?: ElementType;\n /** Text content. */\n children?: React.ReactNode;\n}\n\n/**\n * Typography component for rendering text with consistent styling.\n * Automatically selects the appropriate HTML element based on variant\n * (`h1`/`h2`/`h3` for headings, `p` for body, `span` for mono).\n *\n * @example\n * ```tsx\n * <Text variant=\"heading1\">Dashboard</Text>\n * <Text>Default body text</Text>\n * ```\n */\nfunction _Text<Variant extends TextVariant = \"body\">(\n {\n variant = \"body\" as Variant,\n bold = false,\n size = \"base\",\n truncate = false,\n children,\n DANGEROUS_className,\n DANGEROUS_style,\n as,\n ...props\n }: TextPropsInternal<Variant>,\n ref: ForwardedRef<HTMLHeadingElement>,\n) {\n const isCopy = [\"body\", \"secondary\", \"success\", \"error\"].includes(variant);\n const isMono = [\"mono\", \"mono-secondary\"].includes(variant);\n\n const Component = useMemo(() => {\n if (as) return as;\n if (variant === \"heading1\") return \"h1\";\n if (variant === \"heading2\") return \"h2\";\n if (variant === \"heading3\") return \"h3\";\n if ([\"mono\", \"mono-secondary\"].includes(variant)) return \"span\";\n return \"p\";\n }, [variant, as]);\n\n return (\n <Component\n ref={ref}\n className={cn(\n \"text-kumo-default\",\n KUMO_TEXT_VARIANTS.variant[variant].classes,\n isCopy ? KUMO_TEXT_VARIANTS.size[size].classes : \"\",\n isCopy && bold ? \"font-medium\" : \"\",\n // Monospace fonts need to be 1pt smaller than body text to optically match\n isMono &&\n (size === \"lg\"\n ? KUMO_TEXT_VARIANTS.size.base.classes\n : KUMO_TEXT_VARIANTS.size.sm.classes),\n truncate && \"truncate min-w-0\",\n DANGEROUS_className,\n )}\n style={DANGEROUS_style}\n {...props}\n >\n {children}\n </Component>\n );\n}\n\nexport const Text = forwardRef(_Text) as <Variant extends TextVariant = \"body\">(\n props: TextPropsInternal<Variant> & {\n ref?: ForwardedRef<ElementRef<\"span\">>;\n },\n) => React.ReactElement;\n"],"names":["KUMO_TEXT_VARIANTS","_Text","variant","bold","size","truncate","children","DANGEROUS_className","DANGEROUS_style","as","props","ref","isCopy","isMono","Component","useMemo","jsx","cn","Text","forwardRef"],"mappings":";;;;AAYO,MAAMA,IAAqB;AAAA,EAChC,SAAS;AAAA,IACP,UAAU;AAAA,MACR,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,UAAU;AAAA,MACR,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,UAAU;AAAA,MACR,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,WAAW;AAAA,MACT,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,SAAS;AAAA,MACP,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,OAAO;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,kBAAkB;AAAA,MAChB,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,EACf;AAAA,EAEF,MAAM;AAAA,IACJ,IAAI;AAAA,MACF,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,IAAI;AAAA,MACF,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,IAAI;AAAA,MACF,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,EACf;AAEJ;AAmKA,SAASC,EACP;AAAA,EACE,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,MAAAC,IAAO;AAAA,EACP,UAAAC,IAAW;AAAA,EACX,UAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,IAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,QAAMC,IAAS,CAAC,QAAQ,aAAa,WAAW,OAAO,EAAE,SAASV,CAAO,GACnEW,IAAS,CAAC,QAAQ,gBAAgB,EAAE,SAASX,CAAO,GAEpDY,IAAYC,EAAQ,MACpBN,MACAP,MAAY,aAAmB,OAC/BA,MAAY,aAAmB,OAC/BA,MAAY,aAAmB,OAC/B,CAAC,QAAQ,gBAAgB,EAAE,SAASA,CAAO,IAAU,SAClD,MACN,CAACA,GAASO,CAAE,CAAC;AAEhB,SACE,gBAAAO;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,KAAAH;AAAA,MACA,WAAWM;AAAA,QACT;AAAA,QACAjB,EAAmB,QAAQE,CAAO,EAAE;AAAA,QACpCU,IAASZ,EAAmB,KAAKI,CAAI,EAAE,UAAU;AAAA,QACjDQ,KAAUT,IAAO,gBAAgB;AAAA;AAAA,QAEjCU,MACGT,MAAS,OACNJ,EAAmB,KAAK,KAAK,UAC7BA,EAAmB,KAAK,GAAG;AAAA,QACjCK,KAAY;AAAA,QACZE;AAAA,MAAA;AAAA,MAEF,OAAOC;AAAA,MACN,GAAGE;AAAA,MAEH,UAAAJ;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,MAAMY,IAAOC,EAAWlB,CAAK;"}
@@ -1,10 +1,11 @@
1
1
  "use client";
2
- import { jsxs as s, jsx as r, Fragment as E } from "react/jsx-runtime";
2
+ import { jsxs as o, jsx as r, Fragment as E } from "react/jsx-runtime";
3
3
  import { c } from "./cn-ct4n7r74mh8y0f48.js";
4
- import { B as w } from "./button-j0hi0afn33w9lxgi.js";
4
+ import { B as w } from "./button-odxi0hp4fvi5i2w3.js";
5
+ import { u as x } from "./portal-provider-hwmkdmkpvct0cb76.js";
5
6
  import * as a from "react";
6
- import { $ as x, bq as b, a1 as y, a0 as k, a3 as F, br as V, bs as T, a4 as _, bt as H, U as N } from "./vendor-base-ui-ccr5l0ynrievzzv3.js";
7
- const o = a.forwardRef((t, e) => {
7
+ import { $ as b, bq as y, a1 as k, a0 as F, a3 as V, br as T, bs as _, a4 as H, bt as N, U as S } from "./vendor-base-ui-n30qblevnpk9cc5c.js";
8
+ const s = a.forwardRef((t, e) => {
8
9
  const {
9
10
  alt: n,
10
11
  color: l = "currentColor",
@@ -32,8 +33,8 @@ const o = a.forwardRef((t, e) => {
32
33
  M.get(A)
33
34
  );
34
35
  });
35
- o.displayName = "SSRBase";
36
- const S = /* @__PURE__ */ new Map([
36
+ s.displayName = "SSRBase";
37
+ const C = /* @__PURE__ */ new Map([
37
38
  [
38
39
  "bold",
39
40
  /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement("path", { d: "M176.49,95.51a12,12,0,0,1,0,17l-56,56a12,12,0,0,1-17,0l-24-24a12,12,0,1,1,17-17L112,143l47.51-47.52A12,12,0,0,1,176.49,95.51ZM236,128A108,108,0,1,1,128,20,108.12,108.12,0,0,1,236,128Zm-24,0a84,84,0,1,0-84,84A84.09,84.09,0,0,0,212,128Z" }))
@@ -58,7 +59,7 @@ const S = /* @__PURE__ */ new Map([
58
59
  "thin",
59
60
  /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement("path", { d: "M170.83,101.17a4,4,0,0,1,0,5.66l-56,56a4,4,0,0,1-5.66,0l-24-24a4,4,0,0,1,5.66-5.66L112,154.34l53.17-53.17A4,4,0,0,1,170.83,101.17ZM228,128A100,100,0,1,1,128,28,100.11,100.11,0,0,1,228,128Zm-8,0a92,92,0,1,0-92,92A92.1,92.1,0,0,0,220,128Z" }))
60
61
  ]
61
- ]), m = a.forwardRef((t, e) => /* @__PURE__ */ a.createElement(o, { ref: e, ...t, weights: S }));
62
+ ]), m = a.forwardRef((t, e) => /* @__PURE__ */ a.createElement(s, { ref: e, ...t, weights: C }));
62
63
  m.displayName = "CheckCircleIcon";
63
64
  const I = /* @__PURE__ */ new Map([
64
65
  [
@@ -85,7 +86,7 @@ const I = /* @__PURE__ */ new Map([
85
86
  "thin",
86
87
  /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement("path", { d: "M140,176a4,4,0,0,1-4,4,12,12,0,0,1-12-12V128a4,4,0,0,0-4-4,4,4,0,0,1,0-8,12,12,0,0,1,12,12v40a4,4,0,0,0,4,4A4,4,0,0,1,140,176ZM124,92a8,8,0,1,0-8-8A8,8,0,0,0,124,92Zm104,36A100,100,0,1,1,128,28,100.11,100.11,0,0,1,228,128Zm-8,0a92,92,0,1,0-92,92A92.1,92.1,0,0,0,220,128Z" }))
87
88
  ]
88
- ]), d = a.forwardRef((t, e) => /* @__PURE__ */ a.createElement(o, { ref: e, ...t, weights: I }));
89
+ ]), d = a.forwardRef((t, e) => /* @__PURE__ */ a.createElement(s, { ref: e, ...t, weights: I }));
89
90
  d.displayName = "InfoIcon";
90
91
  const Y = /* @__PURE__ */ new Map([
91
92
  [
@@ -118,9 +119,9 @@ const Y = /* @__PURE__ */ new Map([
118
119
  "thin",
119
120
  /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement("path", { d: "M233.34,190.09,145.88,38.22h0a20.75,20.75,0,0,0-35.76,0L22.66,190.09a19.52,19.52,0,0,0,0,19.71A20.36,20.36,0,0,0,40.54,220H215.46a20.36,20.36,0,0,0,17.86-10.2A19.52,19.52,0,0,0,233.34,190.09ZM226.4,205.8a12.47,12.47,0,0,1-10.94,6.2H40.54a12.47,12.47,0,0,1-10.94-6.2,11.45,11.45,0,0,1,0-11.72L117.05,42.21a12.76,12.76,0,0,1,21.9,0L226.4,194.08A11.45,11.45,0,0,1,226.4,205.8ZM124,144V104a4,4,0,0,1,8,0v40a4,4,0,0,1-8,0Zm12,36a8,8,0,1,1-8-8A8,8,0,0,1,136,180Z" }))
120
121
  ]
121
- ]), u = a.forwardRef((t, e) => /* @__PURE__ */ a.createElement(o, { ref: e, ...t, weights: Y }));
122
+ ]), u = a.forwardRef((t, e) => /* @__PURE__ */ a.createElement(s, { ref: e, ...t, weights: Y }));
122
123
  u.displayName = "WarningIcon";
123
- const C = /* @__PURE__ */ new Map([
124
+ const R = /* @__PURE__ */ new Map([
124
125
  [
125
126
  "bold",
126
127
  /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement("path", { d: "M116,132V80a12,12,0,0,1,24,0v52a12,12,0,0,1-24,0ZM236,91.55v72.9a19.86,19.86,0,0,1-5.86,14.14l-51.55,51.55A19.85,19.85,0,0,1,164.45,236H91.55a19.85,19.85,0,0,1-14.14-5.86L25.86,178.59A19.86,19.86,0,0,1,20,164.45V91.55a19.86,19.86,0,0,1,5.86-14.14L77.41,25.86A19.85,19.85,0,0,1,91.55,20h72.9a19.85,19.85,0,0,1,14.14,5.86l51.55,51.55A19.86,19.86,0,0,1,236,91.55Zm-24,1.66L162.79,44H93.21L44,93.21v69.58L93.21,212h69.58L212,162.79ZM128,156a16,16,0,1,0,16,16A16,16,0,0,0,128,156Z" }))
@@ -151,9 +152,9 @@ const C = /* @__PURE__ */ new Map([
151
152
  "thin",
152
153
  /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement("path", { d: "M124,136V80a4,4,0,0,1,8,0v56a4,4,0,0,1-8,0ZM228,91.55v72.9a12,12,0,0,1-3.51,8.49l-51.55,51.55a12,12,0,0,1-8.49,3.51H91.55a12,12,0,0,1-8.49-3.51L31.51,172.94A12,12,0,0,1,28,164.45V91.55a12,12,0,0,1,3.51-8.49L83.06,31.51A12,12,0,0,1,91.55,28h72.9a12,12,0,0,1,8.49,3.51l51.55,51.55A12,12,0,0,1,228,91.55Zm-8,0a4,4,0,0,0-1.17-2.83L167.28,37.17A4.06,4.06,0,0,0,164.45,36H91.55a4.06,4.06,0,0,0-2.83,1.17L37.17,88.72A4,4,0,0,0,36,91.55v72.9a4,4,0,0,0,1.17,2.83l51.55,51.55A4.06,4.06,0,0,0,91.55,220h72.9a4.06,4.06,0,0,0,2.83-1.17l51.55-51.55a4,4,0,0,0,1.17-2.83ZM128,164a8,8,0,1,0,8,8A8,8,0,0,0,128,164Z" }))
153
154
  ]
154
- ]), h = a.forwardRef((t, e) => /* @__PURE__ */ a.createElement(o, { ref: e, ...t, weights: C }));
155
- h.displayName = "WarningOctagonIcon";
156
- const R = /* @__PURE__ */ new Map([
155
+ ]), g = a.forwardRef((t, e) => /* @__PURE__ */ a.createElement(s, { ref: e, ...t, weights: R }));
156
+ g.displayName = "WarningOctagonIcon";
157
+ const $ = /* @__PURE__ */ new Map([
157
158
  [
158
159
  "bold",
159
160
  /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement("path", { d: "M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z" }))
@@ -184,46 +185,46 @@ const R = /* @__PURE__ */ new Map([
184
185
  "thin",
185
186
  /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement("path", { d: "M202.83,197.17a4,4,0,0,1-5.66,5.66L128,133.66,58.83,202.83a4,4,0,0,1-5.66-5.66L122.34,128,53.17,58.83a4,4,0,0,1,5.66-5.66L128,122.34l69.17-69.17a4,4,0,1,1,5.66,5.66L133.66,128Z" }))
186
187
  ]
187
- ]), p = a.forwardRef((t, e) => /* @__PURE__ */ a.createElement(o, { ref: e, ...t, weights: R }));
188
+ ]), p = a.forwardRef((t, e) => /* @__PURE__ */ a.createElement(s, { ref: e, ...t, weights: $ }));
188
189
  p.displayName = "XIcon";
189
- const g = {
190
+ const h = {
190
191
  variant: {
191
192
  default: {
192
- classes: "border-kumo-fill bg-kumo-control",
193
+ classes: "border-kumo-fill bg-kumo-base",
193
194
  description: "Default toast style"
194
195
  },
195
196
  success: {
196
- classes: "border-kumo-success bg-kumo-control [&_[data-toast-icon]]:text-kumo-success [&_[data-toast-title]]:text-kumo-success",
197
+ classes: "ring-[0.3px] ring-kumo-success bg-kumo-base [&_[data-toast-icon]]:text-kumo-success [&_[data-toast-title]]:text-kumo-success",
197
198
  description: "Success toast for confirmations and positive outcomes",
198
199
  icon: m
199
200
  },
200
201
  error: {
201
- classes: "border-kumo-danger bg-kumo-control [&_[data-toast-icon]]:text-kumo-danger [&_[data-toast-title]]:text-kumo-danger",
202
+ classes: "ring-[0.3px] ring-kumo-danger bg-kumo-base [&_[data-toast-icon]]:text-kumo-danger [&_[data-toast-title]]:text-kumo-danger",
202
203
  description: "Error toast for critical issues",
203
- icon: h
204
+ icon: g
204
205
  },
205
206
  warning: {
206
- classes: "border-kumo-warning bg-kumo-control [&_[data-toast-icon]]:text-kumo-warning [&_[data-toast-title]]:text-kumo-warning",
207
+ classes: "ring-[0.3px] ring-kumo-warning bg-kumo-base [&_[data-toast-icon]]:text-kumo-warning [&_[data-toast-title]]:text-kumo-warning",
207
208
  description: "Warning toast for cautionary messages",
208
209
  icon: u
209
210
  },
210
211
  info: {
211
- classes: "border-kumo-info bg-kumo-control [&_[data-toast-icon]]:text-kumo-info [&_[data-toast-title]]:text-kumo-info",
212
+ classes: "ring-[0.3px] ring-kumo-info bg-kumo-control [&_[data-toast-icon]]:text-kumo-info [&_[data-toast-title]]:text-kumo-info",
212
213
  description: "Info toast for neutral informational messages",
213
214
  icon: d
214
215
  }
215
216
  }
216
- }, $ = {
217
+ }, X = {
217
218
  variant: "default"
218
219
  };
219
- function X({
220
- variant: t = $.variant
220
+ function O({
221
+ variant: t = X.variant
221
222
  } = {}) {
222
223
  return c(
223
224
  // Base styles for toast root
224
- "rounded-xl border bg-clip-padding p-4 shadow-lg",
225
+ "rounded-xl ring ring-kumo-ring bg-clip-padding p-4 shadow-lg",
225
226
  // Apply variant styles from KUMO_TOAST_VARIANTS
226
- g.variant[t].classes
227
+ h.variant[t].classes
227
228
  );
228
229
  }
229
230
  function f(t) {
@@ -265,29 +266,30 @@ function f(t) {
265
266
  })
266
267
  };
267
268
  }
268
- const O = () => {
269
- const t = k();
269
+ const B = () => {
270
+ const t = F();
270
271
  return {
271
272
  ...f(t),
272
273
  toasts: t.toasts
273
274
  };
274
- }, G = () => f(N());
275
- function B({ children: t }) {
276
- return /* @__PURE__ */ s(x, { children: [
275
+ }, Q = () => f(S());
276
+ function z({ children: t, container: e }) {
277
+ const n = x();
278
+ return /* @__PURE__ */ o(b, { children: [
277
279
  t,
278
- /* @__PURE__ */ r(b, { children: /* @__PURE__ */ r(y, { className: "fixed top-auto right-4 bottom-4 z-1 mx-auto flex w-[calc(100%-2rem)] sm:right-8 sm:bottom-8 sm:w-[340px]", children: /* @__PURE__ */ r(z, {}) }) })
280
+ /* @__PURE__ */ r(y, { container: e ?? n ?? void 0, children: /* @__PURE__ */ r(k, { className: "fixed top-auto right-4 bottom-4 z-1 mx-auto flex w-[calc(100%-2rem)] sm:right-8 sm:bottom-8 sm:w-[340px]", children: /* @__PURE__ */ r(K, {}) }) })
279
281
  ] });
280
282
  }
281
- const J = B;
282
- function z() {
283
- const { toasts: t } = O();
284
- return t.map((e) => /* @__PURE__ */ s(
285
- F,
283
+ const a1 = z;
284
+ function K() {
285
+ const { toasts: t } = B();
286
+ return t.map((e) => /* @__PURE__ */ o(
287
+ V,
286
288
  {
287
289
  toast: e,
288
290
  className: c(
289
291
  "absolute right-0 bottom-0 left-auto z-[calc(1000-var(--toast-index))] mr-0 h-[var(--height)] w-full origin-bottom select-none",
290
- X({ variant: e.variant }),
292
+ O({ variant: e.variant }),
291
293
  "[--gap:0.75rem] [--height:var(--toast-frontmost-height,var(--toast-height))] [--offset-y:calc(var(--toast-offset-y)*-1+calc(var(--toast-index)*var(--gap)*-1)+var(--toast-swipe-movement-y))] [--peek:0.75rem] [--scale:calc(max(0,1-(var(--toast-index)*0.1)))] [--shrink:calc(1-var(--scale))]",
292
294
  "[transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)-(var(--toast-index)*var(--peek))-(var(--shrink)*var(--height))))_scale(var(--scale))] [transition:transform_0.5s_cubic-bezier(0.22,1,0.36,1),opacity_0.5s,height_0.15s]",
293
295
  "after:absolute after:top-full after:left-0 after:h-[calc(var(--gap)+1px)] after:w-full after:content-['']",
@@ -301,23 +303,23 @@ function z() {
301
303
  ),
302
304
  children: [
303
305
  /* @__PURE__ */ r(U, { variant: e.variant }),
304
- /* @__PURE__ */ s(V, { className: "isolate flex flex-col gap-1 transition-opacity [transition-duration:250ms] data-[behind]:pointer-events-none data-[behind]:opacity-0 data-[expanded]:pointer-events-auto data-[expanded]:opacity-100", children: [
305
- e.content ?? /* @__PURE__ */ r(E, { children: /* @__PURE__ */ s("div", { className: "flex items-start gap-2", children: [
306
+ /* @__PURE__ */ o(T, { className: "isolate flex flex-col gap-1 transition-opacity [transition-duration:250ms] data-[behind]:pointer-events-none data-[behind]:opacity-0 data-[expanded]:pointer-events-auto data-[expanded]:opacity-100", children: [
307
+ e.content ?? /* @__PURE__ */ r(E, { children: /* @__PURE__ */ o("div", { className: "flex items-start gap-2", children: [
306
308
  /* @__PURE__ */ r(j, { variant: e.variant }),
307
- /* @__PURE__ */ s("div", { className: "flex flex-col gap-1 overflow-hidden", children: [
309
+ /* @__PURE__ */ o("div", { className: "flex flex-col gap-1 overflow-hidden", children: [
308
310
  /* @__PURE__ */ r(
309
- T,
311
+ _,
310
312
  {
311
313
  "data-toast-title": !0,
312
314
  className: "text-[0.975rem] leading-5 font-medium text-kumo-default"
313
315
  }
314
316
  ),
315
- /* @__PURE__ */ r(_, { className: "text-[0.925rem] leading-5 text-kumo-subtle" }),
317
+ /* @__PURE__ */ r(H, { className: "text-[0.925rem] leading-5 text-kumo-subtle" }),
316
318
  !!e.actions && /* @__PURE__ */ r("div", { className: "mt-2 flex min-w-0 flex-nowrap gap-2 overflow-x-auto p-px", children: e.actions.map((n, l) => /* @__PURE__ */ r(w, { ...n }, l)) })
317
319
  ] })
318
320
  ] }) }),
319
321
  /* @__PURE__ */ r(
320
- H,
322
+ N,
321
323
  {
322
324
  className: "absolute top-2 right-2 flex h-4 w-4 items-center justify-center rounded border-none bg-transparent text-current/50 hover:bg-kumo-contrast/10 hover:text-current",
323
325
  "aria-label": "Close",
@@ -330,32 +332,32 @@ function z() {
330
332
  e.id
331
333
  ));
332
334
  }
333
- const K = {
334
- success: "bg-kumo-success-tint/10",
335
- error: "bg-kumo-danger-tint/10",
336
- warning: "bg-kumo-warning-tint/10",
337
- info: "bg-kumo-info-tint/10"
335
+ const P = {
336
+ success: "bg-kumo-success-tint/5",
337
+ error: "bg-kumo-danger-tint/5",
338
+ warning: "bg-kumo-warning-tint/5",
339
+ info: "bg-kumo-info-tint/5"
338
340
  };
339
341
  function U({ variant: t }) {
340
- const e = t && K[t];
342
+ const e = t && P[t];
341
343
  return /* @__PURE__ */ r(
342
344
  "div",
343
345
  {
344
- className: c("absolute inset-0 rounded-[11px] bg-kumo-control/90", e)
346
+ className: c("absolute inset-0 rounded-[11px] bg-kumo-base/90", e)
345
347
  }
346
348
  );
347
349
  }
348
350
  function j({ variant: t }) {
349
351
  if (!t || t === "default") return null;
350
- const e = g.variant[t];
352
+ const e = h.variant[t];
351
353
  if (!("icon" in e)) return null;
352
354
  const n = e.icon;
353
355
  return /* @__PURE__ */ r(n, { "data-toast-icon": !0, className: "mt-0.5 h-4 w-4 shrink-0", weight: "fill" });
354
356
  }
355
357
  export {
356
- B as T,
357
- J as a,
358
- G as c,
359
- O as u
358
+ z as T,
359
+ a1 as a,
360
+ Q as c,
361
+ B as u
360
362
  };
361
- //# sourceMappingURL=toast-r9ajsces7xp8l85w.js.map
363
+ //# sourceMappingURL=toast-lrnwby56drs7vtae.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast-lrnwby56drs7vtae.js","sources":["../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@phosphor-icons/react/dist/lib/SSRBase.es.js","../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@phosphor-icons/react/dist/defs/CheckCircle.es.js","../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@phosphor-icons/react/dist/ssr/CheckCircle.es.js","../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@phosphor-icons/react/dist/defs/Info.es.js","../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@phosphor-icons/react/dist/ssr/Info.es.js","../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@phosphor-icons/react/dist/defs/Warning.es.js","../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@phosphor-icons/react/dist/ssr/Warning.es.js","../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@phosphor-icons/react/dist/defs/WarningOctagon.es.js","../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@phosphor-icons/react/dist/ssr/WarningOctagon.es.js","../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@phosphor-icons/react/dist/defs/X.es.js","../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@phosphor-icons/react/dist/ssr/X.es.js","../../src/components/toast/toast.tsx"],"sourcesContent":["import * as e from \"react\";\nconst w = e.forwardRef((l, s) => {\n const {\n alt: r,\n color: a = \"currentColor\",\n size: t = \"1em\",\n weight: o = \"regular\",\n mirrored: i = !1,\n children: n,\n weights: c,\n ...m\n } = l;\n return /* @__PURE__ */ e.createElement(\n \"svg\",\n {\n ref: s,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: t,\n height: t,\n fill: a,\n viewBox: \"0 0 256 256\",\n transform: i ? \"scale(-1, 1)\" : void 0,\n ...m\n },\n !!r && /* @__PURE__ */ e.createElement(\"title\", null, r),\n n,\n c.get(o)\n );\n});\nw.displayName = \"SSRBase\";\nexport {\n w as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M176.49,95.51a12,12,0,0,1,0,17l-56,56a12,12,0,0,1-17,0l-24-24a12,12,0,1,1,17-17L112,143l47.51-47.52A12,12,0,0,1,176.49,95.51ZM236,128A108,108,0,1,1,128,20,108.12,108.12,0,0,1,236,128Zm-24,0a84,84,0,1,0-84,84A84.09,84.09,0,0,0,212,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm45.66,85.66-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35a8,8,0,0,1,11.32,11.32Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M172.24,99.76a6,6,0,0,1,0,8.48l-56,56a6,6,0,0,1-8.48,0l-24-24a6,6,0,0,1,8.48-8.48L112,151.51l51.76-51.75A6,6,0,0,1,172.24,99.76ZM230,128A102,102,0,1,1,128,26,102.12,102.12,0,0,1,230,128Zm-12,0a90,90,0,1,0-90,90A90.1,90.1,0,0,0,218,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M170.83,101.17a4,4,0,0,1,0,5.66l-56,56a4,4,0,0,1-5.66,0l-24-24a4,4,0,0,1,5.66-5.66L112,154.34l53.17-53.17A4,4,0,0,1,170.83,101.17ZM228,128A100,100,0,1,1,128,28,100.11,100.11,0,0,1,228,128Zm-8,0a92,92,0,1,0-92,92A92.1,92.1,0,0,0,220,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as e from \"react\";\nimport t from \"../lib/SSRBase.es.js\";\nimport a from \"../defs/CheckCircle.es.js\";\nconst r = e.forwardRef((c, o) => /* @__PURE__ */ e.createElement(t, { ref: o, ...c, weights: a }));\nr.displayName = \"CheckCircleIcon\";\nconst s = r;\nexport {\n s as CheckCircle,\n r as CheckCircleIcon\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M108,84a16,16,0,1,1,16,16A16,16,0,0,1,108,84Zm128,44A108,108,0,1,1,128,20,108.12,108.12,0,0,1,236,128Zm-24,0a84,84,0,1,0-84,84A84.09,84.09,0,0,0,212,128Zm-72,36.68V132a20,20,0,0,0-20-20,12,12,0,0,0-4,23.32V168a20,20,0,0,0,20,20,12,12,0,0,0,4-23.32Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M144,176a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176Zm88-48A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128ZM124,96a12,12,0,1,0-12-12A12,12,0,0,0,124,96Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm-4,48a12,12,0,1,1-12,12A12,12,0,0,1,124,72Zm12,112a16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40a8,8,0,0,1,0,16Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M142,176a6,6,0,0,1-6,6,14,14,0,0,1-14-14V128a2,2,0,0,0-2-2,6,6,0,0,1,0-12,14,14,0,0,1,14,14v40a2,2,0,0,0,2,2A6,6,0,0,1,142,176ZM124,94a10,10,0,1,0-10-10A10,10,0,0,0,124,94Zm106,34A102,102,0,1,1,128,26,102.12,102.12,0,0,1,230,128Zm-12,0a90,90,0,1,0-90,90A90.1,90.1,0,0,0,218,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm16-40a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176ZM112,84a12,12,0,1,1,12,12A12,12,0,0,1,112,84Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M140,176a4,4,0,0,1-4,4,12,12,0,0,1-12-12V128a4,4,0,0,0-4-4,4,4,0,0,1,0-8,12,12,0,0,1,12,12v40a4,4,0,0,0,4,4A4,4,0,0,1,140,176ZM124,92a8,8,0,1,0-8-8A8,8,0,0,0,124,92Zm104,36A100,100,0,1,1,128,28,100.11,100.11,0,0,1,228,128Zm-8,0a92,92,0,1,0-92,92A92.1,92.1,0,0,0,220,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as o from \"react\";\nimport a from \"../lib/SSRBase.es.js\";\nimport f from \"../defs/Info.es.js\";\nconst e = o.forwardRef((r, t) => /* @__PURE__ */ o.createElement(a, { ref: t, ...r, weights: f }));\ne.displayName = \"InfoIcon\";\nconst s = e;\nexport {\n s as Info,\n e as InfoIcon\n};\n","import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M240.26,186.1,152.81,34.23h0a28.74,28.74,0,0,0-49.62,0L15.74,186.1a27.45,27.45,0,0,0,0,27.71A28.31,28.31,0,0,0,40.55,228h174.9a28.31,28.31,0,0,0,24.79-14.19A27.45,27.45,0,0,0,240.26,186.1Zm-20.8,15.7a4.46,4.46,0,0,1-4,2.2H40.55a4.46,4.46,0,0,1-4-2.2,3.56,3.56,0,0,1,0-3.73L124,46.2a4.77,4.77,0,0,1,8,0l87.44,151.87A3.56,3.56,0,0,1,219.46,201.8ZM116,136V104a12,12,0,0,1,24,0v32a12,12,0,0,1-24,0Zm28,40a16,16,0,1,1-16-16A16,16,0,0,1,144,176Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M215.46,216H40.54C27.92,216,20,202.79,26.13,192.09L113.59,40.22c6.3-11,22.52-11,28.82,0l87.46,151.87C236,202.79,228.08,216,215.46,216Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM120,104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm8,88a12,12,0,1,1,12-12A12,12,0,0,1,128,192Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M235.07,189.09,147.61,37.22h0a22.75,22.75,0,0,0-39.22,0L20.93,189.09a21.53,21.53,0,0,0,0,21.72A22.35,22.35,0,0,0,40.55,222h174.9a22.35,22.35,0,0,0,19.6-11.19A21.53,21.53,0,0,0,235.07,189.09ZM224.66,204.8a10.46,10.46,0,0,1-9.21,5.2H40.55a10.46,10.46,0,0,1-9.21-5.2,9.51,9.51,0,0,1,0-9.72L118.79,43.21a10.75,10.75,0,0,1,18.42,0l87.46,151.87A9.51,9.51,0,0,1,224.66,204.8ZM122,144V104a6,6,0,0,1,12,0v40a6,6,0,0,1-12,0Zm16,36a10,10,0,1,1-10-10A10,10,0,0,1,138,180Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M233.34,190.09,145.88,38.22h0a20.75,20.75,0,0,0-35.76,0L22.66,190.09a19.52,19.52,0,0,0,0,19.71A20.36,20.36,0,0,0,40.54,220H215.46a20.36,20.36,0,0,0,17.86-10.2A19.52,19.52,0,0,0,233.34,190.09ZM226.4,205.8a12.47,12.47,0,0,1-10.94,6.2H40.54a12.47,12.47,0,0,1-10.94-6.2,11.45,11.45,0,0,1,0-11.72L117.05,42.21a12.76,12.76,0,0,1,21.9,0L226.4,194.08A11.45,11.45,0,0,1,226.4,205.8ZM124,144V104a4,4,0,0,1,8,0v40a4,4,0,0,1-8,0Zm12,36a8,8,0,1,1-8-8A8,8,0,0,1,136,180Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as r from \"react\";\nimport e from \"../lib/SSRBase.es.js\";\nimport t from \"../defs/Warning.es.js\";\nconst o = r.forwardRef((a, n) => /* @__PURE__ */ r.createElement(e, { ref: n, ...a, weights: t }));\no.displayName = \"WarningIcon\";\nconst s = o;\nexport {\n s as Warning,\n o as WarningIcon\n};\n","import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M116,132V80a12,12,0,0,1,24,0v52a12,12,0,0,1-24,0ZM236,91.55v72.9a19.86,19.86,0,0,1-5.86,14.14l-51.55,51.55A19.85,19.85,0,0,1,164.45,236H91.55a19.85,19.85,0,0,1-14.14-5.86L25.86,178.59A19.86,19.86,0,0,1,20,164.45V91.55a19.86,19.86,0,0,1,5.86-14.14L77.41,25.86A19.85,19.85,0,0,1,91.55,20h72.9a19.85,19.85,0,0,1,14.14,5.86l51.55,51.55A19.86,19.86,0,0,1,236,91.55Zm-24,1.66L162.79,44H93.21L44,93.21v69.58L93.21,212h69.58L212,162.79ZM128,156a16,16,0,1,0,16,16A16,16,0,0,0,128,156Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M224,91.55v72.9a8,8,0,0,1-2.34,5.66l-51.55,51.55a8,8,0,0,1-5.66,2.34H91.55a8,8,0,0,1-5.66-2.34L34.34,170.11A8,8,0,0,1,32,164.45V91.55a8,8,0,0,1,2.34-5.66L85.89,34.34A8,8,0,0,1,91.55,32h72.9a8,8,0,0,1,5.66,2.34l51.55,51.55A8,8,0,0,1,224,91.55Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M120,136V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0ZM232,91.55v72.9a15.86,15.86,0,0,1-4.69,11.31l-51.55,51.55A15.86,15.86,0,0,1,164.45,232H91.55a15.86,15.86,0,0,1-11.31-4.69L28.69,175.76A15.86,15.86,0,0,1,24,164.45V91.55a15.86,15.86,0,0,1,4.69-11.31L80.24,28.69A15.86,15.86,0,0,1,91.55,24h72.9a15.86,15.86,0,0,1,11.31,4.69l51.55,51.55A15.86,15.86,0,0,1,232,91.55Zm-16,0L164.45,40H91.55L40,91.55v72.9L91.55,216h72.9L216,164.45ZM128,160a12,12,0,1,0,12,12A12,12,0,0,0,128,160Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M227.31,80.23,175.77,28.69A16.13,16.13,0,0,0,164.45,24H91.55a16.13,16.13,0,0,0-11.32,4.69L28.69,80.23A16.13,16.13,0,0,0,24,91.55v72.9a16.13,16.13,0,0,0,4.69,11.32l51.54,51.54A16.13,16.13,0,0,0,91.55,232h72.9a16.13,16.13,0,0,0,11.32-4.69l51.54-51.54A16.13,16.13,0,0,0,232,164.45V91.55A16.13,16.13,0,0,0,227.31,80.23ZM120,80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm8,104a12,12,0,1,1,12-12A12,12,0,0,1,128,184Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M122,136V80a6,6,0,0,1,12,0v56a6,6,0,0,1-12,0ZM230,91.55v72.9a13.92,13.92,0,0,1-4.1,9.9L174.35,225.9a13.92,13.92,0,0,1-9.9,4.1H91.55a13.92,13.92,0,0,1-9.9-4.1L30.1,174.35a13.92,13.92,0,0,1-4.1-9.9V91.55a13.92,13.92,0,0,1,4.1-9.9L81.65,30.1a13.92,13.92,0,0,1,9.9-4.1h72.9a13.92,13.92,0,0,1,9.9,4.1L225.9,81.65A13.92,13.92,0,0,1,230,91.55Zm-12,0a2,2,0,0,0-.59-1.42L165.87,38.59a2,2,0,0,0-1.42-.59H91.55a2,2,0,0,0-1.41.59L38.58,90.13A2,2,0,0,0,38,91.55v72.9a2,2,0,0,0,.59,1.42l51.54,51.54a2,2,0,0,0,1.42.59h72.9a2,2,0,0,0,1.41-.59l51.56-51.54a2,2,0,0,0,.58-1.42ZM128,162a10,10,0,1,0,10,10A10,10,0,0,0,128,162Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M120,136V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0ZM232,91.55v72.9a15.86,15.86,0,0,1-4.69,11.31l-51.55,51.55A15.86,15.86,0,0,1,164.45,232H91.55a15.86,15.86,0,0,1-11.31-4.69L28.69,175.76A15.86,15.86,0,0,1,24,164.45V91.55a15.86,15.86,0,0,1,4.69-11.31L80.24,28.69A15.86,15.86,0,0,1,91.55,24h72.9a15.86,15.86,0,0,1,11.31,4.69l51.55,51.55A15.86,15.86,0,0,1,232,91.55Zm-16,0L164.45,40H91.55L40,91.55v72.9L91.55,216h72.9L216,164.45ZM128,160a12,12,0,1,0,12,12A12,12,0,0,0,128,160Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M124,136V80a4,4,0,0,1,8,0v56a4,4,0,0,1-8,0ZM228,91.55v72.9a12,12,0,0,1-3.51,8.49l-51.55,51.55a12,12,0,0,1-8.49,3.51H91.55a12,12,0,0,1-8.49-3.51L31.51,172.94A12,12,0,0,1,28,164.45V91.55a12,12,0,0,1,3.51-8.49L83.06,31.51A12,12,0,0,1,91.55,28h72.9a12,12,0,0,1,8.49,3.51l51.55,51.55A12,12,0,0,1,228,91.55Zm-8,0a4,4,0,0,0-1.17-2.83L167.28,37.17A4.06,4.06,0,0,0,164.45,36H91.55a4.06,4.06,0,0,0-2.83,1.17L37.17,88.72A4,4,0,0,0,36,91.55v72.9a4,4,0,0,0,1.17,2.83l51.55,51.55A4.06,4.06,0,0,0,91.55,220h72.9a4.06,4.06,0,0,0,2.83-1.17l51.55-51.55a4,4,0,0,0,1.17-2.83ZM128,164a8,8,0,1,0,8,8A8,8,0,0,0,128,164Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as o from \"react\";\nimport t from \"../lib/SSRBase.es.js\";\nimport e from \"../defs/WarningOctagon.es.js\";\nconst a = o.forwardRef((n, r) => /* @__PURE__ */ o.createElement(t, { ref: r, ...n, weights: e }));\na.displayName = \"WarningOctagonIcon\";\nconst m = a;\nexport {\n m as WarningOctagon,\n a as WarningOctagonIcon\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\n \"path\",\n {\n d: \"M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ e.createElement(\"path\", { d: \"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM181.66,170.34a8,8,0,0,1-11.32,11.32L128,139.31,85.66,181.66a8,8,0,0,1-11.32-11.32L116.69,128,74.34,85.66A8,8,0,0,1,85.66,74.34L128,116.69l42.34-42.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M204.24,195.76a6,6,0,1,1-8.48,8.48L128,136.49,60.24,204.24a6,6,0,0,1-8.48-8.48L119.51,128,51.76,60.24a6,6,0,0,1,8.48-8.48L128,119.51l67.76-67.75a6,6,0,0,1,8.48,8.48L136.49,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M202.83,197.17a4,4,0,0,1-5.66,5.66L128,133.66,58.83,202.83a4,4,0,0,1-5.66-5.66L122.34,128,53.17,58.83a4,4,0,0,1,5.66-5.66L128,122.34l69.17-69.17a4,4,0,1,1,5.66,5.66L133.66,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as o from \"react\";\nimport a from \"../lib/SSRBase.es.js\";\nimport m from \"../defs/X.es.js\";\nconst e = o.forwardRef((r, t) => /* @__PURE__ */ o.createElement(a, { ref: t, ...r, weights: m }));\ne.displayName = \"XIcon\";\nconst f = e;\nexport {\n f as X,\n e as XIcon\n};\n","import {\n Toast,\n ToastManagerAddOptions,\n ToastObject,\n} from \"@base-ui/react/toast\";\nimport type React from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Button, ButtonProps } from \"../../components/button\";\nimport {\n usePortalContainer,\n type PortalContainer,\n} from \"../../utils/portal-provider\";\nimport {\n CheckCircleIcon,\n InfoIcon,\n WarningIcon,\n WarningOctagonIcon,\n XIcon,\n} from \"@phosphor-icons/react/dist/ssr\";\n\n/**\n * Toast styling configuration for Figma plugin consumption.\n * Toast has no user-facing variants but documents the styling structure.\n */\nexport const KUMO_TOAST_VARIANTS = {\n root: {\n classes:\n \"rounded-lg border border-kumo-fill bg-kumo-control p-4 shadow-lg text-kumo-default\",\n description: \"Toast container with background, border, and shadow\",\n },\n title: {\n classes: \"text-[0.975rem] leading-5 font-medium text-kumo-default\",\n description: \"Toast title with primary text color\",\n },\n description: {\n classes: \"text-[0.925rem] leading-5 text-kumo-subtle\",\n description: \"Toast description with muted text color\",\n },\n close: {\n classes:\n \"absolute top-2 right-2 flex h-5 w-5 items-center justify-center rounded bg-transparent text-kumo-subtle hover:bg-kumo-fill-hover hover:text-kumo-strong\",\n description: \"Close button with X icon\",\n },\n variant: {\n default: {\n classes: \"border-kumo-fill bg-kumo-base\",\n description: \"Default toast style\",\n },\n success: {\n classes:\n \"ring-[0.3px] ring-kumo-success bg-kumo-base [&_[data-toast-icon]]:text-kumo-success [&_[data-toast-title]]:text-kumo-success\",\n description: \"Success toast for confirmations and positive outcomes\",\n icon: CheckCircleIcon,\n },\n error: {\n classes:\n \"ring-[0.3px] ring-kumo-danger bg-kumo-base [&_[data-toast-icon]]:text-kumo-danger [&_[data-toast-title]]:text-kumo-danger\",\n description: \"Error toast for critical issues\",\n icon: WarningOctagonIcon,\n },\n warning: {\n classes:\n \"ring-[0.3px] ring-kumo-warning bg-kumo-base [&_[data-toast-icon]]:text-kumo-warning [&_[data-toast-title]]:text-kumo-warning\",\n description: \"Warning toast for cautionary messages\",\n icon: WarningIcon,\n },\n info: {\n classes:\n \"ring-[0.3px] ring-kumo-info bg-kumo-control [&_[data-toast-icon]]:text-kumo-info [&_[data-toast-title]]:text-kumo-info\",\n description: \"Info toast for neutral informational messages\",\n icon: InfoIcon,\n },\n },\n} as const;\n\nexport const KUMO_TOAST_DEFAULT_VARIANTS = {\n variant: \"default\",\n} as const;\n\n/**\n * Toast styling configuration for Figma plugin consumption.\n * Provides structured metadata for generating Toast components in Figma.\n */\nexport const KUMO_TOAST_STYLING = {\n container: {\n width: 300,\n padding: 16,\n borderRadius: 8,\n background: \"bg-kumo-base\",\n border: \"ring-[0.3px] ring-kumo-ring\",\n shadow: \"shadow-lg\",\n gap: 4,\n },\n title: {\n fontSize: 16,\n fontWeight: 500,\n color: \"text-color-surface\",\n },\n description: {\n fontSize: 15,\n fontWeight: 400,\n color: \"text-color-muted\",\n },\n closeButton: {\n size: 20,\n iconSize: 16,\n iconName: \"ph-x\",\n iconColor: \"text-color-muted\",\n hoverBackground: \"color-color-2\",\n hoverColor: \"text-color-label\",\n borderRadius: 4,\n },\n} as const;\n\n// Derived types from KUMO_TOAST_VARIANTS\nexport type KumoToastVariant = keyof typeof KUMO_TOAST_VARIANTS.variant;\n\nexport interface KumoToastVariantsProps {\n variant?: KumoToastVariant;\n}\n\nexport function toastVariants({\n variant = KUMO_TOAST_DEFAULT_VARIANTS.variant,\n}: KumoToastVariantsProps = {}) {\n return cn(\n // Base styles for toast root\n \"rounded-xl ring ring-kumo-ring bg-clip-padding p-4 shadow-lg\",\n // Apply variant styles from KUMO_TOAST_VARIANTS\n KUMO_TOAST_VARIANTS.variant[variant].classes,\n );\n}\n\n/**\n * Toasty component props.\n *\n * Wrap your app with `<Toasty>` to enable toast notifications.\n * Use `Toast.useToastManager().notify(…)` to create toasts.\n *\n * @example\n * ```tsx\n * // 1. Wrap your app\n * <Toasty>\n * <App />\n * </Toasty>\n *\n * // 2. Show a toast from any child component\n * const toasts = Toast.useToastManager();\n * toasts.notify({ title: \"Saved\", description: \"Changes saved successfully.\" });\n * ```\n */\nexport interface ToastyProps extends KumoToastVariantsProps {\n /** Application content. Toasts render via a portal above this. */\n children: React.ReactNode;\n /**\n * Container element for the portal. Use this to render toasts inside\n * a Shadow DOM or custom container. Overrides `KumoPortalProvider` context.\n * @default document.body (or KumoPortalProvider container if set)\n */\n container?: PortalContainer;\n}\n\ntype KumoToastOptionsBase = {\n variant?: KumoToastVariant;\n content?: React.ReactNode;\n actions?: Array<ButtonProps>;\n bump?: boolean;\n};\n\nexport type KumoToastOptions<Data extends object> = ToastObject<Data> &\n KumoToastOptionsBase;\n\nexport type KumoToastManagerAddOptions<Data extends object> =\n ToastManagerAddOptions<Data> & KumoToastOptionsBase;\n\nfunction wrapManagerMethods<\n T extends { add: Function; update: Function; promise: Function },\n>(manager: T) {\n return {\n ...manager,\n\n add: (options: KumoToastManagerAddOptions<any>) => {\n if (options.id) {\n const toasts = (manager as any).toasts as\n | Array<ToastObject<any>>\n | undefined;\n\n if (toasts) {\n const existingToast = toasts.find((toast) => toast.id === options.id);\n\n // If toast exists and is not exiting, trigger bump and prevent duplicate\n if (existingToast && existingToast.transitionStatus !== \"ending\") {\n // Reset animation by disabling then re-enabling\n manager.update(options.id, { bump: false });\n requestAnimationFrame(() => {\n manager.update(options.id, {\n bump: true,\n ...(options.timeout !== undefined && {\n timeout: options.timeout,\n }),\n });\n });\n return options.id;\n }\n\n // If toast exists and is exiting, let it finish - don't add duplicate\n if (existingToast && existingToast.transitionStatus === \"ending\") {\n return options.id;\n }\n }\n }\n\n return manager.add({\n ...options,\n });\n },\n\n update: (id: string, options: Partial<KumoToastManagerAddOptions<any>>) => {\n return manager.update(id, {\n ...options,\n });\n },\n\n promise: <T,>(\n promise: Promise<T>,\n options: {\n loading: KumoToastManagerAddOptions<any>;\n success:\n | KumoToastManagerAddOptions<any>\n | ((data: T) => KumoToastManagerAddOptions<any>);\n error:\n | KumoToastManagerAddOptions<any>\n | ((error: Error) => KumoToastManagerAddOptions<any>);\n },\n ) => {\n return manager.promise(promise, {\n loading: { ...options.loading },\n success:\n typeof options.success === \"function\"\n ? (data: T) => ({\n ...(\n options.success as (\n data: T,\n ) => KumoToastManagerAddOptions<any>\n )(data),\n })\n : { ...options.success },\n error:\n typeof options.error === \"function\"\n ? (error: Error) => ({\n ...(\n options.error as (\n error: Error,\n ) => KumoToastManagerAddOptions<any>\n )(error),\n })\n : { ...options.error },\n });\n },\n };\n}\n\nexport const useKumoToastManager = () => {\n const manager = Toast.useToastManager();\n return {\n ...wrapManagerMethods(manager),\n toasts: manager.toasts as Array<KumoToastOptions<any>>,\n };\n};\n\nexport const createKumoToastManager = () => {\n return wrapManagerMethods(Toast.createToastManager());\n};\n\n/**\n * Toasty — toast notification provider and viewport.\n *\n * Renders a `Toast.Provider` with a fixed-position viewport in the bottom-right corner.\n * Toasts stack with smooth enter/exit animations, swipe-to-dismiss, and expand-on-hover.\n *\n * Built on `@base-ui/react/toast`.\n *\n * @example\n * ```tsx\n * <Toasty>\n * <App />\n * </Toasty>\n * ```\n */\nexport function Toasty({ children, container: containerProp }: ToastyProps) {\n const contextContainer = usePortalContainer();\n const container = containerProp ?? contextContainer ?? undefined;\n\n return (\n <Toast.Provider>\n {children}\n <Toast.Portal container={container}>\n <Toast.Viewport className=\"fixed top-auto right-4 bottom-4 z-1 mx-auto flex w-[calc(100%-2rem)] sm:right-8 sm:bottom-8 sm:w-[340px]\">\n <ToastList />\n </Toast.Viewport>\n </Toast.Portal>\n </Toast.Provider>\n );\n}\n\n/** Alias for Toasty — provided for discoverability when migrating from other libraries */\nexport const ToastProvider = Toasty;\n\nfunction ToastList() {\n const { toasts } = useKumoToastManager();\n return toasts.map((toast) => (\n <Toast.Root\n key={toast.id}\n toast={toast}\n className={cn(\n \"absolute right-0 bottom-0 left-auto z-[calc(1000-var(--toast-index))] mr-0 h-[var(--height)] w-full origin-bottom select-none\",\n toastVariants({ variant: toast.variant }),\n \"[--gap:0.75rem] [--height:var(--toast-frontmost-height,var(--toast-height))] [--offset-y:calc(var(--toast-offset-y)*-1+calc(var(--toast-index)*var(--gap)*-1)+var(--toast-swipe-movement-y))] [--peek:0.75rem] [--scale:calc(max(0,1-(var(--toast-index)*0.1)))] [--shrink:calc(1-var(--scale))]\",\n \"[transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)-(var(--toast-index)*var(--peek))-(var(--shrink)*var(--height))))_scale(var(--scale))] [transition:transform_0.5s_cubic-bezier(0.22,1,0.36,1),opacity_0.5s,height_0.15s]\",\n \"after:absolute after:top-full after:left-0 after:h-[calc(var(--gap)+1px)] after:w-full after:content-['']\",\n \"data-[ending-style]:opacity-0 data-[expanded]:h-[var(--toast-height)] data-[expanded]:[transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--offset-y)))] data-[limited]:opacity-0 data-[starting-style]:[transform:translateY(150%)]\",\n \"data-[ending-style]:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+150%))] data-[expanded]:data-[ending-style]:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+150%))]\",\n \"data-[ending-style]:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-150%))_translateY(var(--offset-y))] data-[expanded]:data-[ending-style]:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-150%))_translateY(var(--offset-y))]\",\n \"data-[ending-style]:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+150%))_translateY(var(--offset-y))] data-[expanded]:data-[ending-style]:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+150%))_translateY(var(--offset-y))]\",\n \"data-[ending-style]:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-150%))] data-[expanded]:data-[ending-style]:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-150%))]\",\n \"[&[data-ending-style]:not([data-limited]):not([data-swipe-direction])]:[transform:translateY(150%)]\",\n toast.bump && \"animate-toast-bump\",\n )}\n >\n <ToastBackground variant={toast.variant} />\n <Toast.Content className=\"isolate flex flex-col gap-1 transition-opacity [transition-duration:250ms] data-[behind]:pointer-events-none data-[behind]:opacity-0 data-[expanded]:pointer-events-auto data-[expanded]:opacity-100\">\n {toast.content ?? (\n <>\n <div className=\"flex items-start gap-2\">\n <ToastIcon variant={toast.variant} />\n <div className=\"flex flex-col gap-1 overflow-hidden\">\n <Toast.Title\n data-toast-title\n className=\"text-[0.975rem] leading-5 font-medium text-kumo-default\"\n />\n <Toast.Description className=\"text-[0.925rem] leading-5 text-kumo-subtle\" />\n\n {!!toast.actions && (\n <div className=\"mt-2 flex min-w-0 flex-nowrap gap-2 overflow-x-auto p-px\">\n {toast.actions.map((actionProps, idx) => (\n <Button key={idx} {...actionProps} />\n ))}\n </div>\n )}\n </div>\n </div>\n </>\n )}\n <Toast.Close\n className=\"absolute top-2 right-2 flex h-4 w-4 items-center justify-center rounded border-none bg-transparent text-current/50 hover:bg-kumo-contrast/10 hover:text-current\"\n aria-label=\"Close\"\n >\n <XIcon className=\"h-3 w-3\" />\n </Toast.Close>\n </Toast.Content>\n </Toast.Root>\n ));\n}\n\nconst TOAST_TINT_CLASSES: Record<string, string> = {\n success: \"bg-kumo-success-tint/5\",\n error: \"bg-kumo-danger-tint/5\",\n warning: \"bg-kumo-warning-tint/5\",\n info: \"bg-kumo-info-tint/5\",\n};\n\nfunction ToastBackground({ variant }: { variant?: KumoToastVariant }) {\n const tint = variant && TOAST_TINT_CLASSES[variant];\n return (\n <div\n className={cn(\"absolute inset-0 rounded-[11px] bg-kumo-base/90\", tint)}\n />\n );\n}\n\nfunction ToastIcon({ variant }: { variant?: KumoToastVariant }) {\n if (!variant || variant === \"default\") return null;\n const variantConfig = KUMO_TOAST_VARIANTS.variant[variant];\n if (!(\"icon\" in variantConfig)) return null;\n const Icon = variantConfig.icon;\n return (\n <Icon data-toast-icon className=\"mt-0.5 h-4 w-4 shrink-0\" weight=\"fill\" />\n );\n}\n"],"names":["w","e","l","s","r","a","t","o","i","n","c","m","f","KUMO_TOAST_VARIANTS","CheckCircleIcon","WarningOctagonIcon","WarningIcon","InfoIcon","KUMO_TOAST_DEFAULT_VARIANTS","toastVariants","variant","cn","wrapManagerMethods","manager","options","toasts","existingToast","toast","id","promise","data","error","useKumoToastManager","Toast.useToastManager","createKumoToastManager","Toast.createToastManager","Toasty","children","containerProp","contextContainer","usePortalContainer","jsxs","Toast.Provider","jsx","Toast.Portal","Toast.Viewport","ToastList","ToastProvider","Toast.Root","ToastBackground","Toast.Content","Fragment","ToastIcon","Toast.Title","Toast.Description","actionProps","idx","Button","Toast.Close","XIcon","TOAST_TINT_CLASSES","tint","variantConfig","Icon"],"mappings":";;;;;;;AACA,MAAMA,IAAIC,EAAE,WAAW,CAACC,GAAGC,MAAM;AAC/B,QAAM;AAAA,IACJ,KAAKC;AAAA,IACL,OAAOC,IAAI;AAAA,IACX,MAAMC,IAAI;AAAA,IACV,QAAQC,IAAI;AAAA,IACZ,UAAUC,IAAI;AAAA,IACd,UAAUC;AAAA,IACV,SAASC;AAAA,IACT,GAAGC;AAAA,EACP,IAAMT;AACJ,SAAuBD,gBAAAA,EAAE;AAAA,IACvB;AAAA,IACA;AAAA,MACE,KAAKE;AAAA,MACL,OAAO;AAAA,MACP,OAAOG;AAAA,MACP,QAAQA;AAAA,MACR,MAAMD;AAAA,MACN,SAAS;AAAA,MACT,WAAWG,IAAI,iBAAiB;AAAA,MAChC,GAAGG;AAAA,IACT;AAAA,IACI,CAAC,CAACP,KAAqBH,gBAAAA,EAAE,cAAc,SAAS,MAAMG,CAAC;AAAA,IACvDK;AAAA,IACAC,EAAE,IAAIH,CAAC;AAAA,EACX;AACA,CAAC;AACDP,EAAE,cAAc;AC5BhB,MAAMK,IAAoB,oBAAI,IAAI;AAAA,EAChC;AAAA,IACE;AAAA,IACgBJ,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,6OAA4O,CAAE,CAAC;AAAA,EAClV;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,mDAAmD,SAAS,MAAK,CAAE,GAAmBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,mPAAmP,CAAC;AAAA,EAC1c;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,2KAA0K,CAAE,CAAC;AAAA,EAChR;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,8OAA6O,CAAE,CAAC;AAAA,EACnV;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,kPAAiP,CAAE,CAAC;AAAA,EACvV;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,+OAA8O,CAAE,CAAC;AAAA,EACpV;AACA,CAAC,GCvBKG,IAAIH,EAAE,WAAW,CAACS,GAAGH,MAAsBN,gBAAAA,EAAE,cAAcK,GAAG,EAAE,KAAKC,GAAG,GAAGG,GAAG,SAASL,EAAC,CAAE,CAAC;AACjGD,EAAE,cAAc;ACHhB,MAAMC,IAAoB,oBAAI,IAAI;AAAA,EAChC;AAAA,IACE;AAAA,IACgBJ,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,2PAA0P,CAAE,CAAC;AAAA,EAChW;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,mDAAmD,SAAS,MAAK,CAAE,GAAmBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,6PAA6P,CAAC;AAAA,EACpd;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,yLAAwL,CAAE,CAAC;AAAA,EAC9R;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,yRAAwR,CAAE,CAAC;AAAA,EAC9X;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,2PAA0P,CAAE,CAAC;AAAA,EAChW;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,iRAAgR,CAAE,CAAC;AAAA,EACtX;AACA,CAAC,GCvBKA,IAAIM,EAAE,WAAW,CAACH,GAAGE,MAAsBC,gBAAAA,EAAE,cAAcF,GAAG,EAAE,KAAKC,GAAG,GAAGF,GAAG,SAASQ,EAAC,CAAE,CAAC;AACjGX,EAAE,cAAc;ACHhB,MAAMA,IAAoB,oBAAI,IAAI;AAAA,EAChC;AAAA,IACE;AAAA,IACgBI,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,0bAAyb,CAAE,CAAC;AAAA,EAC/hB;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE;AAAA,MAClE;AAAA,MACA;AAAA,QACE,GAAG;AAAA,QACH,SAAS;AAAA,MACjB;AAAA,IACA,GAAuBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,8bAA6b,CAAE,CAAC;AAAA,EACpf;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,oRAAmR,CAAE,CAAC;AAAA,EACzX;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,8cAA6c,CAAE,CAAC;AAAA,EACnjB;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,8bAA6b,CAAE,CAAC;AAAA,EACniB;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,2cAA0c,CAAE,CAAC;AAAA,EAChjB;AACA,CAAC,GC7BKE,IAAIH,EAAE,WAAW,CAACC,GAAGI,MAAsBL,gBAAAA,EAAE,cAAcH,GAAG,EAAE,KAAKQ,GAAG,GAAGJ,GAAG,SAASC,EAAC,CAAE,CAAC;AACjGC,EAAE,cAAc;ACHhB,MAAMN,IAAoB,oBAAI,IAAI;AAAA,EAChC;AAAA,IACE;AAAA,IACgBI,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,8dAA6d,CAAE,CAAC;AAAA,EACnkB;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE;AAAA,MAClE;AAAA,MACA;AAAA,QACE,GAAG;AAAA,QACH,SAAS;AAAA,MACjB;AAAA,IACA,GAAuBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,qdAAod,CAAE,CAAC;AAAA,EAC3gB;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,oZAAmZ,CAAE,CAAC;AAAA,EACzf;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,gmBAA+lB,CAAE,CAAC;AAAA,EACrsB;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,qdAAod,CAAE,CAAC;AAAA,EAC1jB;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,ulBAAslB,CAAE,CAAC;AAAA,EAC5rB;AACA,CAAC,GC7BKA,IAAIE,EAAE,WAAW,CAACE,GAAGL,MAAsBG,gBAAAA,EAAE,cAAcD,GAAG,EAAE,KAAKF,GAAG,GAAGK,GAAG,SAASR,EAAC,CAAE,CAAC;AACjGI,EAAE,cAAc;ACHhB,MAAMA,IAAoB,oBAAI,IAAI;AAAA,EAChC;AAAA,IACE;AAAA,IACgBJ,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,+JAA8J,CAAE,CAAC;AAAA,EACpQ;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE;AAAA,MAClE;AAAA,MACA;AAAA,QACE,GAAG;AAAA,QACH,SAAS;AAAA,MACjB;AAAA,IACA,GAAuBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,2LAA0L,CAAE,CAAC;AAAA,EACjP;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,0RAAyR,CAAE,CAAC;AAAA,EAC/X;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,mLAAkL,CAAE,CAAC;AAAA,EACxR;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,2LAA0L,CAAE,CAAC;AAAA,EAChS;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,mLAAkL,CAAE,CAAC;AAAA,EACxR;AACA,CAAC,GC7BKA,IAAIM,EAAE,WAAW,CAACH,GAAGE,MAAsBC,gBAAAA,EAAE,cAAcF,GAAG,EAAE,KAAKC,GAAG,GAAGF,GAAG,SAASO,EAAC,CAAE,CAAC;AACjGV,EAAE,cAAc;ACoBT,MAAMY,IAAsB;AAAA,EAmBjC,SAAS;AAAA,IACP,SAAS;AAAA,MACP,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,IAEf,SAAS;AAAA,MACP,SACE;AAAA,MACF,aAAa;AAAA,MACb,MAAMC;AAAAA,IAAA;AAAA,IAER,OAAO;AAAA,MACL,SACE;AAAA,MACF,aAAa;AAAA,MACb,MAAMC;AAAAA,IAAA;AAAA,IAER,SAAS;AAAA,MACP,SACE;AAAA,MACF,aAAa;AAAA,MACb,MAAMC;AAAAA,IAAA;AAAA,IAER,MAAM;AAAA,MACJ,SACE;AAAA,MACF,aAAa;AAAA,MACb,MAAMC;AAAAA,IAAA;AAAA,EACR;AAEJ,GAEaC,IAA8B;AAAA,EACzC,SAAS;AACX;AA4CO,SAASC,EAAc;AAAA,EAC5B,SAAAC,IAAUF,EAA4B;AACxC,IAA4B,IAAI;AAC9B,SAAOG;AAAA;AAAA,IAEL;AAAA;AAAA,IAEAR,EAAoB,QAAQO,CAAO,EAAE;AAAA,EAAA;AAEzC;AA4CA,SAASE,EAEPC,GAAY;AACZ,SAAO;AAAA,IACL,GAAGA;AAAA,IAEH,KAAK,CAACC,MAA6C;AACjD,UAAIA,EAAQ,IAAI;AACd,cAAMC,IAAUF,EAAgB;AAIhC,YAAIE,GAAQ;AACV,gBAAMC,IAAgBD,EAAO,KAAK,CAACE,MAAUA,EAAM,OAAOH,EAAQ,EAAE;AAGpE,cAAIE,KAAiBA,EAAc,qBAAqB;AAEtD,mBAAAH,EAAQ,OAAOC,EAAQ,IAAI,EAAE,MAAM,IAAO,GAC1C,sBAAsB,MAAM;AAC1B,cAAAD,EAAQ,OAAOC,EAAQ,IAAI;AAAA,gBACzB,MAAM;AAAA,gBACN,GAAIA,EAAQ,YAAY,UAAa;AAAA,kBACnC,SAASA,EAAQ;AAAA,gBAAA;AAAA,cACnB,CACD;AAAA,YACH,CAAC,GACMA,EAAQ;AAIjB,cAAIE,KAAiBA,EAAc,qBAAqB;AACtD,mBAAOF,EAAQ;AAAA,QAEnB;AAAA,MACF;AAEA,aAAOD,EAAQ,IAAI;AAAA,QACjB,GAAGC;AAAA,MAAA,CACJ;AAAA,IACH;AAAA,IAEA,QAAQ,CAACI,GAAYJ,MACZD,EAAQ,OAAOK,GAAI;AAAA,MACxB,GAAGJ;AAAA,IAAA,CACJ;AAAA,IAGH,SAAS,CACPK,GACAL,MAUOD,EAAQ,QAAQM,GAAS;AAAA,MAC9B,SAAS,EAAE,GAAGL,EAAQ,QAAA;AAAA,MACtB,SACE,OAAOA,EAAQ,WAAY,aACvB,CAACM,OAAa;AAAA,QACZ,GACEN,EAAQ,QAGRM,CAAI;AAAA,MAAA,KAER,EAAE,GAAGN,EAAQ,QAAA;AAAA,MACnB,OACE,OAAOA,EAAQ,SAAU,aACrB,CAACO,OAAkB;AAAA,QACjB,GACEP,EAAQ,MAGRO,CAAK;AAAA,MAAA,KAET,EAAE,GAAGP,EAAQ,MAAA;AAAA,IAAM,CAC1B;AAAA,EACH;AAEJ;AAEO,MAAMQ,IAAsB,MAAM;AACvC,QAAMT,IAAUU,EAAM;AACtB,SAAO;AAAA,IACL,GAAGX,EAAmBC,CAAO;AAAA,IAC7B,QAAQA,EAAQ;AAAA,EAAA;AAEpB,GAEaW,IAAyB,MAC7BZ,EAAmBa,GAA0B;AAkB/C,SAASC,EAAO,EAAE,UAAAC,GAAU,WAAWC,KAA8B;AAC1E,QAAMC,IAAmBC,EAAA;AAGzB,SACE,gBAAAC,EAACC,GAAA,EACE,UAAA;AAAA,IAAAL;AAAA,IACD,gBAAAM,EAACC,GAAA,EAAa,WALAN,KAAiBC,KAAoB,QAMjD,UAAA,gBAAAI,EAACE,GAAA,EAAe,WAAU,4GACxB,UAAA,gBAAAF,EAACG,GAAA,CAAA,CAAU,GACb,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;AAGO,MAAMC,KAAgBX;AAE7B,SAASU,IAAY;AACnB,QAAM,EAAE,QAAArB,EAAA,IAAWO,EAAA;AACnB,SAAOP,EAAO,IAAI,CAACE,MACjB,gBAAAc;AAAA,IAACO;AAAAA,IAAA;AAAA,MAEC,OAAArB;AAAA,MACA,WAAWN;AAAA,QACT;AAAA,QACAF,EAAc,EAAE,SAASQ,EAAM,SAAS;AAAA,QACxC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACAA,EAAM,QAAQ;AAAA,MAAA;AAAA,MAGhB,UAAA;AAAA,QAAA,gBAAAgB,EAACM,GAAA,EAAgB,SAAStB,EAAM,QAAA,CAAS;AAAA,QACzC,gBAAAc,EAACS,GAAA,EAAc,WAAU,wMACtB,UAAA;AAAA,UAAAvB,EAAM,WACL,gBAAAgB,EAAAQ,GAAA,EACE,UAAA,gBAAAV,EAAC,OAAA,EAAI,WAAU,0BACb,UAAA;AAAA,YAAA,gBAAAE,EAACS,GAAA,EAAU,SAASzB,EAAM,QAAA,CAAS;AAAA,YACnC,gBAAAc,EAAC,OAAA,EAAI,WAAU,uCACb,UAAA;AAAA,cAAA,gBAAAE;AAAA,gBAACU;AAAAA,gBAAA;AAAA,kBACC,oBAAgB;AAAA,kBAChB,WAAU;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEZ,gBAAAV,EAACW,GAAA,EAAkB,WAAU,6CAAA,CAA6C;AAAA,cAEzE,CAAC,CAAC3B,EAAM,6BACN,OAAA,EAAI,WAAU,4DACZ,UAAAA,EAAM,QAAQ,IAAI,CAAC4B,GAAaC,MAC/B,gBAAAb,EAACc,GAAA,EAAkB,GAAGF,EAAA,GAATC,CAAsB,CACpC,EAAA,CACH;AAAA,YAAA,EAAA,CAEJ;AAAA,UAAA,EAAA,CACF,EAAA,CACF;AAAA,UAEF,gBAAAb;AAAA,YAACe;AAAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,cAAW;AAAA,cAEX,UAAA,gBAAAf,EAACgB,GAAA,EAAM,WAAU,UAAA,CAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QAC7B,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,IA/CKhC,EAAM;AAAA,EAAA,CAiDd;AACH;AAEA,MAAMiC,IAA6C;AAAA,EACjD,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AACR;AAEA,SAASX,EAAgB,EAAE,SAAA7B,KAA2C;AACpE,QAAMyC,IAAOzC,KAAWwC,EAAmBxC,CAAO;AAClD,SACE,gBAAAuB;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWtB,EAAG,mDAAmDwC,CAAI;AAAA,IAAA;AAAA,EAAA;AAG3E;AAEA,SAAST,EAAU,EAAE,SAAAhC,KAA2C;AAC9D,MAAI,CAACA,KAAWA,MAAY,UAAW,QAAO;AAC9C,QAAM0C,IAAgBjD,EAAoB,QAAQO,CAAO;AACzD,MAAI,EAAE,UAAU0C,GAAgB,QAAO;AACvC,QAAMC,IAAOD,EAAc;AAC3B,2BACGC,GAAA,EAAK,mBAAe,IAAC,WAAU,2BAA0B,QAAO,QAAO;AAE5E;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10]}