@cloudflare/kumo 2.1.0 → 2.2.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 (182) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/ai/component-registry.json +24 -1
  3. package/ai/component-registry.md +87 -11
  4. package/ai/schemas.ts +3 -0
  5. package/dist/.build-complete +1 -1
  6. package/dist/ai/schemas.d.ts +12 -0
  7. package/dist/ai/schemas.d.ts.map +1 -1
  8. package/dist/ai/schemas.js +137 -131
  9. package/dist/ai/schemas.js.map +1 -1
  10. package/dist/chunks/SankeyChart-h1kzhs1tyt20luha.js +629 -0
  11. package/dist/chunks/SankeyChart-h1kzhs1tyt20luha.js.map +1 -0
  12. package/dist/chunks/{autocomplete-1hi2rgzo10bczkfa.js → autocomplete-nw1ig02pawtj3il9.js} +4 -4
  13. package/dist/chunks/{autocomplete-1hi2rgzo10bczkfa.js.map → autocomplete-nw1ig02pawtj3il9.js.map} +1 -1
  14. package/dist/chunks/{breadcrumbs-davmangc0urzivbs.js → breadcrumbs-f7bi3g8tx6dfcgl6.js} +2 -2
  15. package/dist/chunks/{breadcrumbs-davmangc0urzivbs.js.map → breadcrumbs-f7bi3g8tx6dfcgl6.js.map} +1 -1
  16. package/dist/chunks/{button-n859eyw550yi2b9z.js → button-gflkhovvkmt0ftzz.js} +2 -2
  17. package/dist/chunks/{button-n859eyw550yi2b9z.js.map → button-gflkhovvkmt0ftzz.js.map} +1 -1
  18. package/dist/chunks/{checkbox-dfl2fr8nchh43qfc.js → checkbox-imuc4c45j7sds6wk.js} +3 -3
  19. package/dist/chunks/{checkbox-dfl2fr8nchh43qfc.js.map → checkbox-imuc4c45j7sds6wk.js.map} +1 -1
  20. package/dist/chunks/{clipboard-text-ic9k5qjkljlr9z3b.js → clipboard-text-dp5eb2c2qudgusnc.js} +4 -4
  21. package/dist/chunks/{clipboard-text-ic9k5qjkljlr9z3b.js.map → clipboard-text-dp5eb2c2qudgusnc.js.map} +1 -1
  22. package/dist/chunks/{collapsible-jvebgqfqljzokj8h.js → collapsible-ej6p2bq758sw30nk.js} +2 -2
  23. package/dist/chunks/{collapsible-jvebgqfqljzokj8h.js.map → collapsible-ej6p2bq758sw30nk.js.map} +1 -1
  24. package/dist/chunks/{combobox-f5nyw45yiwx5f69l.js → combobox-42i2nyvfgkqjb5a4.js} +4 -4
  25. package/dist/chunks/{combobox-f5nyw45yiwx5f69l.js.map → combobox-42i2nyvfgkqjb5a4.js.map} +1 -1
  26. package/dist/chunks/{command-palette-ezbzp2fpbbo97ogf.js → command-palette-eep807rf6iapoz8r.js} +3 -3
  27. package/dist/chunks/{command-palette-ezbzp2fpbbo97ogf.js.map → command-palette-eep807rf6iapoz8r.js.map} +1 -1
  28. package/dist/chunks/{dialog-n6uc2s99xwdn2pnb.js → dialog-fo3qhv9fgiadq5gp.js} +3 -3
  29. package/dist/chunks/{dialog-n6uc2s99xwdn2pnb.js.map → dialog-fo3qhv9fgiadq5gp.js.map} +1 -1
  30. package/dist/chunks/{dropdown-mftv4iv9nzhprg81.js → dropdown-cobpydatw4vlb3ov.js} +2 -2
  31. package/dist/chunks/{dropdown-mftv4iv9nzhprg81.js.map → dropdown-cobpydatw4vlb3ov.js.map} +1 -1
  32. package/dist/chunks/{empty-mmtirqntk6enx51o.js → empty-jwan4d5hqjocakhm.js} +2 -2
  33. package/dist/chunks/{empty-mmtirqntk6enx51o.js.map → empty-jwan4d5hqjocakhm.js.map} +1 -1
  34. package/dist/chunks/{field-mil8efu3x0s68eed.js → field-yhlyu6fy0qi1ewtl.js} +36 -30
  35. package/dist/chunks/field-yhlyu6fy0qi1ewtl.js.map +1 -0
  36. package/dist/chunks/input-area-d85jzxlnvx7mc3x9.js +78 -0
  37. package/dist/chunks/input-area-d85jzxlnvx7mc3x9.js.map +1 -0
  38. package/dist/chunks/{input-kmztt6h4mzy101ho.js → input-cyils8jxj8e0udr7.js} +61 -45
  39. package/dist/chunks/input-cyils8jxj8e0udr7.js.map +1 -0
  40. package/dist/chunks/{input-group-5luo0442jgsie018.js → input-group-mu8yklweljytpt04.js} +5 -5
  41. package/dist/chunks/{input-group-5luo0442jgsie018.js.map → input-group-mu8yklweljytpt04.js.map} +1 -1
  42. package/dist/chunks/{label-d14ibjmcbk1qmyrt.js → label-kaz4uxdt1yf3i5x5.js} +3 -3
  43. package/dist/chunks/{label-d14ibjmcbk1qmyrt.js.map → label-kaz4uxdt1yf3i5x5.js.map} +1 -1
  44. package/dist/chunks/{layer-card-eomdoafn3sfpih1d.js → layer-card-hyz8lfxceudt05pv.js} +2 -2
  45. package/dist/chunks/{layer-card-eomdoafn3sfpih1d.js.map → layer-card-hyz8lfxceudt05pv.js.map} +1 -1
  46. package/dist/chunks/{link-ihastr6a2dmo1so5.js → link-lkzjiitte3l29q87.js} +2 -2
  47. package/dist/chunks/{link-ihastr6a2dmo1so5.js.map → link-lkzjiitte3l29q87.js.map} +1 -1
  48. package/dist/chunks/{menubar-f6xelkurau8cl60f.js → menubar-gk322oew1y1lr851.js} +2 -2
  49. package/dist/chunks/{menubar-f6xelkurau8cl60f.js.map → menubar-gk322oew1y1lr851.js.map} +1 -1
  50. package/dist/chunks/{meter-g1ja8cwtum0frcdj.js → meter-jbxkh6gfggx1kjna.js} +2 -2
  51. package/dist/chunks/{meter-g1ja8cwtum0frcdj.js.map → meter-jbxkh6gfggx1kjna.js.map} +1 -1
  52. package/dist/chunks/{pagination-kmtbb3twehv79tm8.js → pagination-kswioh2znglyq7as.js} +3 -3
  53. package/dist/chunks/{pagination-kmtbb3twehv79tm8.js.map → pagination-kswioh2znglyq7as.js.map} +1 -1
  54. package/dist/chunks/{popover-f3t99000mahsnjzc.js → popover-i4opvl9g0as52fyx.js} +2 -2
  55. package/dist/chunks/{popover-f3t99000mahsnjzc.js.map → popover-i4opvl9g0as52fyx.js.map} +1 -1
  56. package/dist/chunks/{radio-me5m5ei86beum5bo.js → radio-g56o5rftpu1qpxuv.js} +6 -6
  57. package/dist/chunks/{radio-me5m5ei86beum5bo.js.map → radio-g56o5rftpu1qpxuv.js.map} +1 -1
  58. package/dist/chunks/select-hz8wwd2msvp1u0jp.js +226 -0
  59. package/dist/chunks/select-hz8wwd2msvp1u0jp.js.map +1 -0
  60. package/dist/chunks/{sensitive-input-gyf5hhgyolt07y1p.js → sensitive-input-mdtjukbb3wimz1iy.js} +4 -4
  61. package/dist/chunks/{sensitive-input-gyf5hhgyolt07y1p.js.map → sensitive-input-mdtjukbb3wimz1iy.js.map} +1 -1
  62. package/dist/chunks/{sidebar-o8y71x814ptc0xpf.js → sidebar-dlh79t5uliezwniq.js} +3 -3
  63. package/dist/chunks/{sidebar-o8y71x814ptc0xpf.js.map → sidebar-dlh79t5uliezwniq.js.map} +1 -1
  64. package/dist/chunks/{surface-ivrb4btwdoq91ytl.js → surface-ck1nt2uqfzmod4sz.js} +2 -2
  65. package/dist/chunks/{surface-ivrb4btwdoq91ytl.js.map → surface-ck1nt2uqfzmod4sz.js.map} +1 -1
  66. package/dist/chunks/{switch-c0avfhj6n85inmtb.js → switch-luut1d75u179g7x6.js} +3 -3
  67. package/dist/chunks/{switch-c0avfhj6n85inmtb.js.map → switch-luut1d75u179g7x6.js.map} +1 -1
  68. package/dist/chunks/{table-htqdo9dgy8c6hwuq.js → table-ef63hg1r1zia9u9j.js} +2 -2
  69. package/dist/chunks/{table-htqdo9dgy8c6hwuq.js.map → table-ef63hg1r1zia9u9j.js.map} +1 -1
  70. package/dist/chunks/tabs-g8ier5pehjpfxauf.js +152 -0
  71. package/dist/chunks/tabs-g8ier5pehjpfxauf.js.map +1 -0
  72. package/dist/chunks/{toast-evn3ce20j18hpyqt.js → toast-e5id2hx8pv0x3vue.js} +42 -38
  73. package/dist/chunks/{toast-evn3ce20j18hpyqt.js.map → toast-e5id2hx8pv0x3vue.js.map} +1 -1
  74. package/dist/chunks/{tooltip-fjxy4s4l75hjxp1x.js → tooltip-caka3fmn1ogdc7q8.js} +2 -2
  75. package/dist/chunks/{tooltip-fjxy4s4l75hjxp1x.js.map → tooltip-caka3fmn1ogdc7q8.js.map} +1 -1
  76. package/dist/chunks/{vendor-base-ui-epfrwb4nfbd4btaz.js → vendor-base-ui-nbyiqqi138hcoz52.js} +30 -29
  77. package/dist/chunks/{vendor-base-ui-epfrwb4nfbd4btaz.js.map → vendor-base-ui-nbyiqqi138hcoz52.js.map} +1 -1
  78. package/dist/code.js +1 -1
  79. package/dist/components/autocomplete.js +1 -1
  80. package/dist/components/breadcrumbs.js +1 -1
  81. package/dist/components/button.js +1 -1
  82. package/dist/components/chart.js +1 -1
  83. package/dist/components/checkbox.js +1 -1
  84. package/dist/components/clipboard-text.js +1 -1
  85. package/dist/components/collapsible.js +1 -1
  86. package/dist/components/combobox.js +1 -1
  87. package/dist/components/command-palette.js +1 -1
  88. package/dist/components/dialog.js +1 -1
  89. package/dist/components/dropdown.js +1 -1
  90. package/dist/components/empty.js +1 -1
  91. package/dist/components/field.js +6 -5
  92. package/dist/components/input-group.js +1 -1
  93. package/dist/components/input.js +3 -3
  94. package/dist/components/label.js +1 -1
  95. package/dist/components/layer-card.js +1 -1
  96. package/dist/components/link.js +1 -1
  97. package/dist/components/menubar.js +1 -1
  98. package/dist/components/meter.js +1 -1
  99. package/dist/components/pagination.js +1 -1
  100. package/dist/components/popover.js +1 -1
  101. package/dist/components/radio.js +1 -1
  102. package/dist/components/select.js +1 -1
  103. package/dist/components/sensitive-input.js +1 -1
  104. package/dist/components/sidebar.js +1 -1
  105. package/dist/components/surface.js +1 -1
  106. package/dist/components/switch.js +1 -1
  107. package/dist/components/table.js +1 -1
  108. package/dist/components/tabs.js +1 -1
  109. package/dist/components/toast.js +2 -2
  110. package/dist/components/tooltip.js +1 -1
  111. package/dist/index.js +138 -137
  112. package/dist/primitives/accordion.js +1 -1
  113. package/dist/primitives/alert-dialog.js +1 -1
  114. package/dist/primitives/autocomplete.js +1 -1
  115. package/dist/primitives/avatar.js +1 -1
  116. package/dist/primitives/button.js +1 -1
  117. package/dist/primitives/checkbox-group.js +1 -1
  118. package/dist/primitives/checkbox.js +1 -1
  119. package/dist/primitives/collapsible.js +1 -1
  120. package/dist/primitives/combobox.js +1 -1
  121. package/dist/primitives/context-menu.js +1 -1
  122. package/dist/primitives/csp-provider.js +1 -1
  123. package/dist/primitives/dialog.js +1 -1
  124. package/dist/primitives/direction-provider.js +1 -1
  125. package/dist/primitives/drawer.js +1 -1
  126. package/dist/primitives/field.js +1 -1
  127. package/dist/primitives/fieldset.js +1 -1
  128. package/dist/primitives/form.js +1 -1
  129. package/dist/primitives/input.js +1 -1
  130. package/dist/primitives/menu.js +1 -1
  131. package/dist/primitives/menubar.js +1 -1
  132. package/dist/primitives/meter.js +1 -1
  133. package/dist/primitives/navigation-menu.js +1 -1
  134. package/dist/primitives/number-field.js +1 -1
  135. package/dist/primitives/otp-field.js +1 -1
  136. package/dist/primitives/popover.js +1 -1
  137. package/dist/primitives/preview-card.js +1 -1
  138. package/dist/primitives/progress.js +1 -1
  139. package/dist/primitives/radio-group.js +1 -1
  140. package/dist/primitives/radio.js +1 -1
  141. package/dist/primitives/scroll-area.js +1 -1
  142. package/dist/primitives/select.js +1 -1
  143. package/dist/primitives/separator.js +1 -1
  144. package/dist/primitives/slider.js +1 -1
  145. package/dist/primitives/switch.js +1 -1
  146. package/dist/primitives/tabs.js +1 -1
  147. package/dist/primitives/toast.js +1 -1
  148. package/dist/primitives/toggle-group.js +1 -1
  149. package/dist/primitives/toggle.js +1 -1
  150. package/dist/primitives/toolbar.js +1 -1
  151. package/dist/primitives/tooltip.js +1 -1
  152. package/dist/primitives.js +1 -1
  153. package/dist/src/components/chart/SankeyChart.d.ts.map +1 -1
  154. package/dist/src/components/chart/TimeseriesChart.d.ts +7 -1
  155. package/dist/src/components/chart/TimeseriesChart.d.ts.map +1 -1
  156. package/dist/src/components/field/field.d.ts +22 -1
  157. package/dist/src/components/field/field.d.ts.map +1 -1
  158. package/dist/src/components/field/index.d.ts +1 -1
  159. package/dist/src/components/field/index.d.ts.map +1 -1
  160. package/dist/src/components/input/input-area.d.ts.map +1 -1
  161. package/dist/src/components/input/input.d.ts +4 -0
  162. package/dist/src/components/input/input.d.ts.map +1 -1
  163. package/dist/src/components/select/select.d.ts.map +1 -1
  164. package/dist/src/components/tabs/tabs.d.ts +10 -1
  165. package/dist/src/components/tabs/tabs.d.ts.map +1 -1
  166. package/dist/src/components/toast/toast.d.ts +28 -1
  167. package/dist/src/components/toast/toast.d.ts.map +1 -1
  168. package/dist/src/index.d.ts +1 -1
  169. package/dist/src/index.d.ts.map +1 -1
  170. package/dist/styles/kumo-binding.css +65 -0
  171. package/dist/styles/kumo-standalone.css +1 -1
  172. package/package.json +3 -3
  173. package/dist/chunks/SankeyChart-i4vgcatj89zpgpl9.js +0 -626
  174. package/dist/chunks/SankeyChart-i4vgcatj89zpgpl9.js.map +0 -1
  175. package/dist/chunks/field-mil8efu3x0s68eed.js.map +0 -1
  176. package/dist/chunks/input-area-hl1rdb9xcrqyt8xw.js +0 -78
  177. package/dist/chunks/input-area-hl1rdb9xcrqyt8xw.js.map +0 -1
  178. package/dist/chunks/input-kmztt6h4mzy101ho.js.map +0 -1
  179. package/dist/chunks/select-brzswxbhhf1ktx9t.js +0 -215
  180. package/dist/chunks/select-brzswxbhhf1ktx9t.js.map +0 -1
  181. package/dist/chunks/tabs-fdkhdhv8kvnpp8nt.js +0 -92
  182. package/dist/chunks/tabs-fdkhdhv8kvnpp8nt.js.map +0 -1
@@ -1,92 +0,0 @@
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 { bd as x, be as T, bf as w, bg as N } from "./vendor-base-ui-epfrwb4nfbd4btaz.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: f,
16
- indicatorClassName: h,
17
- variant: i = V.variant
18
- }) {
19
- const o = u ?? [];
20
- if (o.length === 0)
21
- return null;
22
- const v = o[0]?.value, l = n !== void 0, p = {
23
- value: l ? n : void 0,
24
- defaultValue: l ? void 0 : m ?? v
25
- }, t = i === "segmented", r = 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-hairline/70",
44
- r && "h-7 gap-4 border-b border-kumo-hairline pb-2",
45
- f
46
- ),
47
- children: [
48
- o.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:outline-none focus:ring-kumo-focus/50 focus-visible:ring-2 focus-visible:ring-kumo-brand",
55
- t && "my-0.5 rounded-md px-2.5 text-kumo-subtle hover:text-kumo-default aria-selected:text-kumo-default focus-visible:ring-inset",
56
- r && "px-2 py-2.5 text-kumo-subtle hover:bg-kumo-tint hover:text-kumo-default 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-line",
75
- r && "bottom-0 h-0.5 bg-kumo-brand",
76
- h
77
- )
78
- }
79
- )
80
- }
81
- )
82
- ]
83
- }
84
- )
85
- ]
86
- }
87
- );
88
- }
89
- export {
90
- z as T
91
- };
92
- //# sourceMappingURL=tabs-fdkhdhv8kvnpp8nt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tabs-fdkhdhv8kvnpp8nt.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-hairline/70\",\n isUnderline && \"h-7 gap-4 border-b border-kumo-hairline 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:outline-none focus:ring-kumo-focus/50 focus-visible:ring-2 focus-visible:ring-kumo-brand\",\n isSegmented &&\n \"my-0.5 rounded-md px-2.5 text-kumo-subtle hover:text-kumo-default aria-selected:text-kumo-default focus-visible:ring-inset\",\n isUnderline &&\n \"px-2 py-2.5 text-kumo-subtle hover:bg-kumo-tint hover:text-kumo-default 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-line\",\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;"}