@cloudflare/kumo 2.0.0 → 2.0.2

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 (98) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/ai/component-registry.json +220 -30
  3. package/ai/component-registry.md +305 -19
  4. package/dist/.build-complete +1 -1
  5. package/dist/blocks-source/resource-list/resource-list.tsx +1 -1
  6. package/dist/chunks/{autocomplete-cs3fwy6lwzlyirpq.js → autocomplete-48aq0d244bs2e8zv.js} +3 -3
  7. package/dist/chunks/{autocomplete-cs3fwy6lwzlyirpq.js.map → autocomplete-48aq0d244bs2e8zv.js.map} +1 -1
  8. package/dist/chunks/{checkbox-eren6w2csum1xghg.js → checkbox-hvxfvhtx1qjo2mww.js} +2 -2
  9. package/dist/chunks/{checkbox-eren6w2csum1xghg.js.map → checkbox-hvxfvhtx1qjo2mww.js.map} +1 -1
  10. package/dist/chunks/{clipboard-text-f9q753udny1uyxr5.js → clipboard-text-hswydzx3iql369sd.js} +2 -2
  11. package/dist/chunks/{clipboard-text-f9q753udny1uyxr5.js.map → clipboard-text-hswydzx3iql369sd.js.map} +1 -1
  12. package/dist/chunks/{code-cz0w1y5z4h29a9eg.js → code-f9v1ikwhekqw274q.js} +4 -4
  13. package/dist/chunks/{code-cz0w1y5z4h29a9eg.js.map → code-f9v1ikwhekqw274q.js.map} +1 -1
  14. package/dist/chunks/{collapsible-k8urhi16pg90jvxa.js → collapsible-nlp2jvcyuzxmq28o.js} +12 -11
  15. package/dist/chunks/{collapsible-k8urhi16pg90jvxa.js.map → collapsible-nlp2jvcyuzxmq28o.js.map} +1 -1
  16. package/dist/chunks/{combobox-n9qht9h9ag6kh5sn.js → combobox-fq36ye0hstote16x.js} +10 -10
  17. package/dist/chunks/{combobox-n9qht9h9ag6kh5sn.js.map → combobox-fq36ye0hstote16x.js.map} +1 -1
  18. package/dist/chunks/{command-palette-gk9m34ymp2b3hfc5.js → command-palette-md65owxt5hv4rt9r.js} +142 -142
  19. package/dist/chunks/{command-palette-gk9m34ymp2b3hfc5.js.map → command-palette-md65owxt5hv4rt9r.js.map} +1 -1
  20. package/dist/chunks/{date-range-picker-c9wnx9tbwohai7jy.js → date-range-picker-o8uyril1kogvhoei.js} +19 -19
  21. package/dist/chunks/{date-range-picker-c9wnx9tbwohai7jy.js.map → date-range-picker-o8uyril1kogvhoei.js.map} +1 -1
  22. package/dist/chunks/{dialog-94v7wiz7j3in6528.js → dialog-k3f1fbam6nt96k8x.js} +2 -2
  23. package/dist/chunks/{dialog-94v7wiz7j3in6528.js.map → dialog-k3f1fbam6nt96k8x.js.map} +1 -1
  24. package/dist/chunks/{empty-kpymw59thjf2ip8g.js → empty-b82oer7npkhtkx7k.js} +6 -6
  25. package/dist/chunks/{empty-kpymw59thjf2ip8g.js.map → empty-b82oer7npkhtkx7k.js.map} +1 -1
  26. package/dist/chunks/{field-lnj619xpe8zjd26r.js → field-c0wf94plit2gci59.js} +2 -2
  27. package/dist/chunks/{field-lnj619xpe8zjd26r.js.map → field-c0wf94plit2gci59.js.map} +1 -1
  28. package/dist/chunks/{input-area-h8xbqturegdfm1mi.js → input-area-bkyzu6f7gsck479h.js} +3 -3
  29. package/dist/chunks/{input-area-h8xbqturegdfm1mi.js.map → input-area-bkyzu6f7gsck479h.js.map} +1 -1
  30. package/dist/chunks/{input-group-dh4pg8p20rh4mdi0.js → input-group-bidweffa0zyg8gt0.js} +3 -3
  31. package/dist/chunks/{input-group-dh4pg8p20rh4mdi0.js.map → input-group-bidweffa0zyg8gt0.js.map} +1 -1
  32. package/dist/chunks/{input-lpa5fc75tgrraafv.js → input-ncfowphv81yq7fyy.js} +18 -18
  33. package/dist/chunks/input-ncfowphv81yq7fyy.js.map +1 -0
  34. package/dist/chunks/{label-be8m7qzlakzig2sl.js → label-c3h9i3y4wiccelt7.js} +22 -22
  35. package/dist/chunks/{label-be8m7qzlakzig2sl.js.map → label-c3h9i3y4wiccelt7.js.map} +1 -1
  36. package/dist/chunks/{layer-card-hvivdirwwnyq88wa.js → layer-card-ikm31xemd70w3lru.js} +2 -2
  37. package/dist/chunks/{layer-card-hvivdirwwnyq88wa.js.map → layer-card-ikm31xemd70w3lru.js.map} +1 -1
  38. package/dist/chunks/{meter-bqetlujwg8gm2u7m.js → meter-n34a7yb8c3rim26i.js} +2 -2
  39. package/dist/chunks/{meter-bqetlujwg8gm2u7m.js.map → meter-n34a7yb8c3rim26i.js.map} +1 -1
  40. package/dist/chunks/{pagination-ho8zesqfyp6ckmrl.js → pagination-jb3mncivbwsoi1se.js} +40 -40
  41. package/dist/chunks/{pagination-ho8zesqfyp6ckmrl.js.map → pagination-jb3mncivbwsoi1se.js.map} +1 -1
  42. package/dist/chunks/{select-kpfbib9l8xrrmzpz.js → select-g261chvosodu22i8.js} +3 -3
  43. package/dist/chunks/{select-kpfbib9l8xrrmzpz.js.map → select-g261chvosodu22i8.js.map} +1 -1
  44. package/dist/chunks/{sensitive-input-i1upqytzaw2pus8v.js → sensitive-input-cijagk551mesdtk4.js} +3 -3
  45. package/dist/chunks/{sensitive-input-i1upqytzaw2pus8v.js.map → sensitive-input-cijagk551mesdtk4.js.map} +1 -1
  46. package/dist/chunks/{sidebar-kh37grvfxto14ek6.js → sidebar-kb9kykqfgy5yzqwr.js} +4 -4
  47. package/dist/chunks/{sidebar-kh37grvfxto14ek6.js.map → sidebar-kb9kykqfgy5yzqwr.js.map} +1 -1
  48. package/dist/chunks/{surface-o63tktyrifcjejyb.js → surface-k0e8mq1x00b7i8r6.js} +2 -2
  49. package/dist/chunks/{surface-o63tktyrifcjejyb.js.map → surface-k0e8mq1x00b7i8r6.js.map} +1 -1
  50. package/dist/chunks/{switch-lclhiplr9zqf73tj.js → switch-jdfsr3j3oa1qxegw.js} +2 -2
  51. package/dist/chunks/{switch-lclhiplr9zqf73tj.js.map → switch-jdfsr3j3oa1qxegw.js.map} +1 -1
  52. package/dist/chunks/{table-fyy8gl875yyevqs3.js → table-iudje0lva0z68jto.js} +2 -2
  53. package/dist/chunks/{table-fyy8gl875yyevqs3.js.map → table-iudje0lva0z68jto.js.map} +1 -1
  54. package/dist/chunks/{tabs-jywwt8ebjqjkux75.js → tabs-mkhf1uemgr3ij0ps.js} +3 -3
  55. package/dist/chunks/{tabs-jywwt8ebjqjkux75.js.map → tabs-mkhf1uemgr3ij0ps.js.map} +1 -1
  56. package/dist/chunks/toast-h573o0tc7tefivk2.js.map +1 -1
  57. package/dist/code.js +30 -30
  58. package/dist/code.js.map +1 -1
  59. package/dist/components/autocomplete.js +1 -1
  60. package/dist/components/checkbox.js +1 -1
  61. package/dist/components/clipboard-text.js +1 -1
  62. package/dist/components/code.js +1 -1
  63. package/dist/components/collapsible.js +1 -1
  64. package/dist/components/combobox.js +1 -1
  65. package/dist/components/command-palette.js +1 -1
  66. package/dist/components/date-range-picker.js +1 -1
  67. package/dist/components/dialog.js +1 -1
  68. package/dist/components/empty.js +1 -1
  69. package/dist/components/field.js +1 -1
  70. package/dist/components/input-group.js +1 -1
  71. package/dist/components/input.js +3 -3
  72. package/dist/components/label.js +1 -1
  73. package/dist/components/layer-card.js +1 -1
  74. package/dist/components/meter.js +1 -1
  75. package/dist/components/pagination.js +1 -1
  76. package/dist/components/select.js +1 -1
  77. package/dist/components/sensitive-input.js +1 -1
  78. package/dist/components/sidebar.js +1 -1
  79. package/dist/components/surface.js +1 -1
  80. package/dist/components/switch.js +1 -1
  81. package/dist/components/table.js +1 -1
  82. package/dist/components/tabs.js +1 -1
  83. package/dist/index.js +27 -27
  84. package/dist/scripts/theme-generator/config.js +11 -4
  85. package/dist/scripts/theme-generator/config.js.map +1 -1
  86. package/dist/src/components/code/code.d.ts +2 -2
  87. package/dist/src/components/collapsible/collapsible.d.ts +1 -1
  88. package/dist/src/components/collapsible/collapsible.d.ts.map +1 -1
  89. package/dist/src/components/toast/toast.d.ts +1 -1
  90. package/dist/src/components/toast/toast.d.ts.map +1 -1
  91. package/dist/styles/kumo-standalone.css +1 -1
  92. package/dist/styles/theme-kumo.css +8 -8
  93. package/package.json +1 -1
  94. package/scripts/component-registry/index.test.ts +42 -0
  95. package/scripts/component-registry/index.ts +18 -4
  96. package/scripts/component-registry/metadata.ts +222 -2
  97. package/scripts/theme-generator/config.ts +9 -9
  98. package/dist/chunks/input-lpa5fc75tgrraafv.js.map +0 -1
@@ -1315,7 +1315,7 @@ Cloudflare logo component.
1315
1315
  <DropdownMenu.Content>
1316
1316
  <DropdownMenu.Item
1317
1317
  icon={CloudIcon}
1318
- onSelect={() =>
1318
+ onClick={() =>
1319
1319
  copyToClipboard(
1320
1320
  generateCloudflareLogoSvg({ variant: "glyph" }),
1321
1321
  "glyph",
@@ -1326,7 +1326,7 @@ Cloudflare logo component.
1326
1326
  </DropdownMenu.Item>
1327
1327
  <DropdownMenu.Item
1328
1328
  icon={CodeIcon}
1329
- onSelect={() =>
1329
+ onClick={() =>
1330
1330
  copyToClipboard(
1331
1331
  generateCloudflareLogoSvg({ variant: "full" }),
1332
1332
  "full",
@@ -1337,7 +1337,7 @@ Cloudflare logo component.
1337
1337
  </DropdownMenu.Item>
1338
1338
  <DropdownMenu.Item
1339
1339
  icon={DownloadSimpleIcon}
1340
- onSelect={() =>
1340
+ onClick={() =>
1341
1341
  window.open(
1342
1342
  "https://www.cloudflare.com/press-kit/",
1343
1343
  "_blank",
@@ -1350,7 +1350,7 @@ Cloudflare logo component.
1350
1350
  <DropdownMenu.Separator />
1351
1351
  <DropdownMenu.Item
1352
1352
  icon={ArrowSquareOutIcon}
1353
- onSelect={() =>
1353
+ onClick={() =>
1354
1354
  window.open(
1355
1355
  "https://www.cloudflare.com/brand-assets/",
1356
1356
  "_blank",
@@ -1422,12 +1422,12 @@ Code component
1422
1422
 
1423
1423
  **Colors (kumo tokens used):**
1424
1424
 
1425
- `bg-kumo-base`, `border-kumo-fill`, `text-kumo-strong`
1425
+ `bg-kumo-base`, `border-kumo-fill`, `text-kumo-subtle`
1426
1426
 
1427
1427
  **Styling:**
1428
1428
 
1429
1429
  - **Dimensions:** `[object Object]`
1430
- - **Base Tokens:** `text-kumo-strong`
1430
+ - **Base Tokens:** `text-kumo-subtle`
1431
1431
 
1432
1432
  **Sub-Components:**
1433
1433
 
@@ -1560,6 +1560,21 @@ Props:
1560
1560
  </div>
1561
1561
  ```
1562
1562
 
1563
+ ```tsx
1564
+ <div className="w-full space-y-4">
1565
+ <Collapsible.Root open={isOpen} onOpenChange={setIsOpen}>
1566
+ <Collapsible.DefaultTrigger>Edit details</Collapsible.DefaultTrigger>
1567
+ <Collapsible.DefaultPanel keepMounted>
1568
+ <Text>
1569
+ Type something below, then collapse and re-open — your input is
1570
+ preserved because the panel stays mounted.
1571
+ </Text>
1572
+ <Input label="Name" placeholder="Type here…" />
1573
+ </Collapsible.DefaultPanel>
1574
+ </Collapsible.Root>
1575
+ </div>
1576
+ ```
1577
+
1563
1578
  ```tsx
1564
1579
  <div className="w-full space-y-2">
1565
1580
  {items.map((item, i) => (
@@ -1628,7 +1643,7 @@ Combobox — autocomplete input with filterable dropdown list. Compound compone
1628
1643
 
1629
1644
  **Colors (kumo tokens used):**
1630
1645
 
1631
- `bg-kumo-base`, `bg-kumo-fill-hover`, `bg-kumo-overlay`, `bg-kumo-tint`, `border-kumo-hairline`, `ring-kumo-hairline`, `ring-kumo-line`, `text-kumo-default`, `text-kumo-strong`, `text-kumo-subtle`
1646
+ `bg-kumo-base`, `bg-kumo-fill-hover`, `bg-kumo-overlay`, `bg-kumo-tint`, `border-kumo-hairline`, `ring-kumo-hairline`, `ring-kumo-line`, `text-kumo-default`, `text-kumo-subtle`
1632
1647
 
1633
1648
  **Sub-Components:**
1634
1649
 
@@ -2037,7 +2052,7 @@ CommandPalette — accessible command palette / spotlight search overlay. Compo
2037
2052
 
2038
2053
  **Colors (kumo tokens used):**
2039
2054
 
2040
- `bg-kumo-base`, `bg-kumo-elevated`, `bg-kumo-overlay`, `bg-kumo-warning`, `ring-kumo-brand`, `ring-kumo-hairline`, `text-kumo-default`, `text-kumo-strong`, `text-kumo-subtle`
2055
+ `bg-kumo-base`, `bg-kumo-elevated`, `bg-kumo-overlay`, `bg-kumo-warning`, `ring-kumo-brand`, `ring-kumo-hairline`, `text-kumo-default`, `text-kumo-subtle`
2041
2056
 
2042
2057
  **Examples:**
2043
2058
 
@@ -2458,7 +2473,7 @@ DatePicker — a date selection calendar. Built on [react-day-picker](https://d
2458
2473
  className={`rounded-md px-3 py-1.5 text-left whitespace-nowrap ${
2459
2474
  isActive
2460
2475
  ? "bg-kumo-bg-inverse text-kumo-text-inverse"
2461
- : "text-kumo-strong hover:bg-kumo-control"
2476
+ : "text-kumo-subtle hover:bg-kumo-control"
2462
2477
  }`}
2463
2478
  >
2464
2479
  {preset.label}
@@ -2530,7 +2545,7 @@ DateRangePicker — dual-calendar date range selector. Renders two side-by-side
2530
2545
 
2531
2546
  **Colors (kumo tokens used):**
2532
2547
 
2533
- `bg-kumo-base`, `bg-kumo-contrast`, `bg-kumo-fill`, `bg-kumo-interact`, `bg-kumo-overlay`, `ring-kumo-focus`, `text-kumo-default`, `text-kumo-inverse`, `text-kumo-strong`, `text-kumo-subtle`
2548
+ `bg-kumo-base`, `bg-kumo-contrast`, `bg-kumo-fill`, `bg-kumo-interact`, `bg-kumo-overlay`, `ring-kumo-focus`, `text-kumo-default`, `text-kumo-inverse`, `text-kumo-subtle`
2534
2549
 
2535
2550
  **Styling:**
2536
2551
 
@@ -2932,6 +2947,10 @@ Sub sub-component (wraps DropdownMenuPrimitive)
2932
2947
 
2933
2948
  SubTrigger sub-component
2934
2949
 
2950
+ Props:
2951
+ - `icon`: Icon - Icon displayed before the label.
2952
+ - `inset`: boolean - Adds left padding to align with items that have icons.
2953
+
2935
2954
  #### DropdownMenu.SubContent
2936
2955
 
2937
2956
  SubContent sub-component
@@ -2940,26 +2959,67 @@ SubContent sub-component
2940
2959
 
2941
2960
  Content sub-component
2942
2961
 
2962
+ Props:
2963
+ - `sideOffset`: number [default: 8] - Distance in pixels from the trigger.
2964
+ - `container`: PortalContainer - Container element for the portal. Use this to render inside a Shadow DOM or custom container.
2965
+
2943
2966
  #### DropdownMenu.Item
2944
2967
 
2945
2968
  Item sub-component
2946
2969
 
2970
+ Props:
2971
+ - `icon`: Icon | ReactNode - Icon displayed before the label.
2972
+ - `variant`: "default" | "danger" [default: "default"] - Visual style of the item.
2973
+ - `selected`: boolean - Shows a check mark indicator when true.
2974
+ - `inset`: boolean - Adds left padding to align with items that have icons.
2975
+ - `onClick`: (event: React.MouseEvent) => void - Callback when the item is clicked.
2976
+ - `closeOnClick`: boolean [default: true] - Whether the menu closes after clicking this item.
2977
+ - `disabled`: boolean - When true, the item cannot be interacted with.
2978
+
2947
2979
  #### DropdownMenu.LinkItem
2948
2980
 
2949
2981
  LinkItem sub-component
2950
2982
 
2983
+ Props:
2984
+ - `href`: string - URL to navigate to when clicked.
2985
+ - `icon`: Icon | ReactNode - Icon displayed before the label.
2986
+ - `variant`: "default" | "danger" [default: "default"] - Visual style of the item.
2987
+ - `inset`: boolean - Adds left padding to align with items that have icons.
2988
+ - `target`: string - Link target attribute (e.g. "_blank" for new tab).
2989
+ - `render`: ReactElement | ((props, state) => ReactElement) - Custom element to render as the link. Use to integrate with framework routers (e.g. Next.js Link).
2990
+
2951
2991
  #### DropdownMenu.CheckboxItem
2952
2992
 
2953
2993
  CheckboxItem sub-component
2954
2994
 
2995
+ Props:
2996
+ - `checked`: boolean - Whether the item is checked.
2997
+ - `defaultChecked`: boolean [default: false] - Whether the item is initially checked (uncontrolled).
2998
+ - `onCheckedChange`: (checked: boolean, event: ChangeEventDetails) => void - Callback when the checked state changes.
2999
+ - `closeOnClick`: boolean [default: false] - Whether the menu closes after clicking this item.
3000
+ - `disabled`: boolean - When true, the item cannot be interacted with.
3001
+
2955
3002
  #### DropdownMenu.RadioGroup
2956
3003
 
2957
3004
  RadioGroup sub-component (wraps DropdownMenuPrimitive)
2958
3005
 
3006
+ Props:
3007
+ - `value`: any - The controlled value of the currently selected radio item.
3008
+ - `defaultValue`: any - The initially selected value (uncontrolled).
3009
+ - `onValueChange`: (value: any, event: ChangeEventDetails) => void - Callback when the selected value changes.
3010
+ - `disabled`: boolean - When true, all radio items in the group are disabled.
3011
+
2959
3012
  #### DropdownMenu.RadioItem
2960
3013
 
2961
3014
  RadioItem sub-component
2962
3015
 
3016
+ Props:
3017
+ - `value`: any (required) - The value of this radio item.
3018
+ - `icon`: Icon | ReactNode - Icon displayed before the label.
3019
+ - `inset`: boolean - Adds left padding to align with items that have icons.
3020
+ - `closeOnClick`: boolean [default: false] - Whether the menu closes after clicking this item.
3021
+ - `disabled`: boolean - When true, the item cannot be interacted with.
3022
+
2963
3023
  #### DropdownMenu.RadioItemIndicator
2964
3024
 
2965
3025
  RadioItemIndicator sub-component
@@ -2968,6 +3028,9 @@ RadioItemIndicator sub-component
2968
3028
 
2969
3029
  Label sub-component
2970
3030
 
3031
+ Props:
3032
+ - `inset`: boolean - Adds left padding to align with items that have icons.
3033
+
2971
3034
  #### DropdownMenu.Separator
2972
3035
 
2973
3036
  Separator sub-component
@@ -2981,6 +3044,199 @@ Shortcut sub-component
2981
3044
  Group sub-component (wraps DropdownMenuPrimitive)
2982
3045
 
2983
3046
 
3047
+ **Examples:**
3048
+
3049
+ ```tsx
3050
+ <DropdownMenu>
3051
+ <DropdownMenu.Trigger render={<Button icon={PlusIcon}>Add</Button>} />
3052
+ <DropdownMenu.Content>
3053
+ <DropdownMenu.Item>Worker</DropdownMenu.Item>
3054
+ <DropdownMenu.Item>Pages</DropdownMenu.Item>
3055
+ <DropdownMenu.Item>KV Namespace</DropdownMenu.Item>
3056
+ </DropdownMenu.Content>
3057
+ </DropdownMenu>
3058
+ ```
3059
+
3060
+ ```tsx
3061
+ <DropdownMenu>
3062
+ <DropdownMenu.Trigger render={<Button>View Options</Button>} />
3063
+ <DropdownMenu.Content>
3064
+ <DropdownMenu.Group>
3065
+ <DropdownMenu.Label>Display</DropdownMenu.Label>
3066
+ <DropdownMenu.CheckboxItem
3067
+ checked={showSidebar}
3068
+ onCheckedChange={setShowSidebar}
3069
+ >
3070
+ Show sidebar
3071
+ </DropdownMenu.CheckboxItem>
3072
+ <DropdownMenu.CheckboxItem
3073
+ checked={showLineNumbers}
3074
+ onCheckedChange={setShowLineNumbers}
3075
+ >
3076
+ Show line numbers
3077
+ </DropdownMenu.CheckboxItem>
3078
+ <DropdownMenu.CheckboxItem
3079
+ checked={wordWrap}
3080
+ onCheckedChange={setWordWrap}
3081
+ >
3082
+ Word wrap
3083
+ </DropdownMenu.CheckboxItem>
3084
+ </DropdownMenu.Group>
3085
+ </DropdownMenu.Content>
3086
+ </DropdownMenu>
3087
+ ```
3088
+
3089
+ ```tsx
3090
+ <DropdownMenu>
3091
+ <DropdownMenu.Trigger render={<Button icon={UserIcon}>Account</Button>} />
3092
+ <DropdownMenu.Content>
3093
+ <DropdownMenu.Item icon={UserIcon}>Profile</DropdownMenu.Item>
3094
+ <DropdownMenu.Item icon={CreditCardIcon}>Billing</DropdownMenu.Item>
3095
+ <DropdownMenu.Item icon={MoonIcon}>Dark mode</DropdownMenu.Item>
3096
+
3097
+ {/* Language submenu with RadioGroup */}
3098
+ <DropdownMenu.Sub>
3099
+ <DropdownMenu.SubTrigger>Language</DropdownMenu.SubTrigger>
3100
+ <DropdownMenu.SubContent>
3101
+ <DropdownMenu.Group>
3102
+ <DropdownMenu.RadioGroup
3103
+ value={language}
3104
+ onValueChange={setLanguage}
3105
+ >
3106
+ {languages.map((lang) => (
3107
+ <DropdownMenu.RadioItem key={lang.code} value={lang.code}>
3108
+ {lang.label}
3109
+ <DropdownMenu.RadioItemIndicator />
3110
+ </DropdownMenu.RadioItem>
3111
+ ))}
3112
+ </DropdownMenu.RadioGroup>
3113
+ </DropdownMenu.Group>
3114
+ </DropdownMenu.SubContent>
3115
+ </DropdownMenu.Sub>
3116
+
3117
+ {/* Timezone submenu with RadioGroup */}
3118
+ <DropdownMenu.Sub>
3119
+ <DropdownMenu.SubTrigger>Set Timezone</DropdownMenu.SubTrigger>
3120
+ <DropdownMenu.SubContent>
3121
+ <DropdownMenu.Group>
3122
+ <DropdownMenu.RadioGroup
3123
+ value={timezone}
3124
+ onValueChange={setTimezone}
3125
+ >
3126
+ {timezones.map((tz) => (
3127
+ <DropdownMenu.RadioItem key={tz.value} value={tz.value}>
3128
+ {tz.label}
3129
+ <DropdownMenu.RadioItemIndicator />
3130
+ </DropdownMenu.RadioItem>
3131
+ ))}
3132
+ </DropdownMenu.RadioGroup>
3133
+ </DropdownMenu.Group>
3134
+ </DropdownMenu.SubContent>
3135
+ </DropdownMenu.Sub>
3136
+
3137
+ <DropdownMenu.Separator />
3138
+ <DropdownMenu.Item icon={SignOutIcon} variant="danger">
3139
+ Log out
3140
+ </DropdownMenu.Item>
3141
+ </DropdownMenu.Content>
3142
+ </DropdownMenu>
3143
+ ```
3144
+
3145
+ ```tsx
3146
+ <DropdownMenu>
3147
+ <DropdownMenu.Trigger render={<Button>Edit</Button>} />
3148
+ <DropdownMenu.Content>
3149
+ <DropdownMenu.Item icon={PencilSimpleIcon}>Rename</DropdownMenu.Item>
3150
+ <DropdownMenu.Item icon={CopyIcon}>Duplicate</DropdownMenu.Item>
3151
+ <DropdownMenu.Separator />
3152
+ <DropdownMenu.Item inset>Move to folder</DropdownMenu.Item>
3153
+ <DropdownMenu.Item inset>Add to favorites</DropdownMenu.Item>
3154
+ <DropdownMenu.Separator />
3155
+ <DropdownMenu.Item icon={TrashIcon} variant="danger">
3156
+ Delete
3157
+ </DropdownMenu.Item>
3158
+ </DropdownMenu.Content>
3159
+ </DropdownMenu>
3160
+ ```
3161
+
3162
+ ```tsx
3163
+ <div className="flex flex-col items-start gap-2">
3164
+ <DropdownMenu>
3165
+ <DropdownMenu.Trigger render={<Button>Actions</Button>} />
3166
+ <DropdownMenu.Content>
3167
+ <DropdownMenu.Item
3168
+ icon={CopyIcon}
3169
+ onClick={() => setLastAction("Duplicated")}
3170
+ >
3171
+ Duplicate
3172
+ </DropdownMenu.Item>
3173
+ <DropdownMenu.Item
3174
+ icon={PencilSimpleIcon}
3175
+ onClick={() => setLastAction("Renamed")}
3176
+ >
3177
+ Rename
3178
+ </DropdownMenu.Item>
3179
+ <DropdownMenu.Separator />
3180
+ <DropdownMenu.Item
3181
+ icon={TrashIcon}
3182
+ variant="danger"
3183
+ onClick={() => setLastAction("Deleted")}
3184
+ >
3185
+ Delete
3186
+ </DropdownMenu.Item>
3187
+ </DropdownMenu.Content>
3188
+ </DropdownMenu>
3189
+ {lastAction && (
3190
+ <p className="text-sm text-kumo-subtle">
3191
+ Last action: <span className="text-kumo-default">{lastAction}</span>
3192
+ </p>
3193
+ )}
3194
+ </div>
3195
+ ```
3196
+
3197
+ ```tsx
3198
+ <DropdownMenu>
3199
+ <DropdownMenu.Trigger
3200
+ render={<button type="button" className="rounded-full" />}
3201
+ >
3202
+ <span className="flex h-8 w-8 items-center justify-center rounded-full bg-kumo-brand text-sm font-medium text-white">
3203
+ MR
3204
+ </span>
3205
+ </DropdownMenu.Trigger>
3206
+ <DropdownMenu.Content>
3207
+ <DropdownMenu.Item icon={UserIcon}>Profile</DropdownMenu.Item>
3208
+ <DropdownMenu.Item icon={GearIcon}>Settings</DropdownMenu.Item>
3209
+ <DropdownMenu.Separator />
3210
+ <DropdownMenu.Item icon={SignOutIcon} variant="danger">
3211
+ Log out
3212
+ </DropdownMenu.Item>
3213
+ </DropdownMenu.Content>
3214
+ </DropdownMenu>
3215
+ ```
3216
+
3217
+ ```tsx
3218
+ <DropdownMenu>
3219
+ <DropdownMenu.Trigger render={<Button>Resources</Button>} />
3220
+ <DropdownMenu.Content>
3221
+ <DropdownMenu.LinkItem href="/settings" icon={GearIcon}>
3222
+ Settings
3223
+ </DropdownMenu.LinkItem>
3224
+ <DropdownMenu.LinkItem href="/docs" icon={BookOpenIcon}>
3225
+ Documentation
3226
+ </DropdownMenu.LinkItem>
3227
+ <DropdownMenu.Separator />
3228
+ <DropdownMenu.LinkItem
3229
+ href="https://developers.cloudflare.com"
3230
+ target="_blank"
3231
+ icon={ArrowSquareOutIcon}
3232
+ >
3233
+ Developer Docs
3234
+ </DropdownMenu.LinkItem>
3235
+ </DropdownMenu.Content>
3236
+ </DropdownMenu>
3237
+ ```
3238
+
3239
+
2984
3240
  ---
2985
3241
 
2986
3242
  ### Empty
@@ -3014,7 +3270,7 @@ Placeholder shown when a list, table, or page has no content to display.
3014
3270
 
3015
3271
  **Colors (kumo tokens used):**
3016
3272
 
3017
- `bg-kumo-control`, `bg-kumo-overlay`, `border-kumo-fill`, `border-kumo-interact`, `text-kumo-brand`, `text-kumo-default`, `text-kumo-inactive`, `text-kumo-strong`, `text-kumo-success`
3273
+ `bg-kumo-control`, `bg-kumo-overlay`, `border-kumo-fill`, `border-kumo-interact`, `text-kumo-brand`, `text-kumo-default`, `text-kumo-inactive`, `text-kumo-subtle`, `text-kumo-success`
3018
3274
 
3019
3275
  **Examples:**
3020
3276
 
@@ -3463,7 +3719,7 @@ Input component
3463
3719
 
3464
3720
  **Colors (kumo tokens used):**
3465
3721
 
3466
- `bg-kumo-control`, `ring-kumo-danger`, `ring-kumo-focus`, `ring-kumo-line`, `text-kumo-default`, `text-kumo-subtle`
3722
+ `bg-kumo-control`, `ring-kumo-danger`, `ring-kumo-focus`, `ring-kumo-line`, `text-kumo-default`
3467
3723
 
3468
3724
  **Styling:**
3469
3725
 
@@ -3962,7 +4218,7 @@ Label component for form fields. Provides a standardized way to display labels
3962
4218
 
3963
4219
  **Colors (kumo tokens used):**
3964
4220
 
3965
- `text-kumo-default`, `text-kumo-strong`
4221
+ `text-kumo-default`, `text-kumo-subtle`
3966
4222
 
3967
4223
  **Examples:**
3968
4224
 
@@ -4043,7 +4299,7 @@ Accepts a `ReactElement` or a function that returns the element to render.
4043
4299
 
4044
4300
  **Colors (kumo tokens used):**
4045
4301
 
4046
- `bg-kumo-base`, `bg-kumo-elevated`, `ring-kumo-fill`, `ring-kumo-hairline`, `ring-kumo-line`, `text-kumo-strong`
4302
+ `bg-kumo-base`, `bg-kumo-elevated`, `ring-kumo-fill`, `ring-kumo-hairline`, `ring-kumo-line`, `text-kumo-subtle`
4047
4303
 
4048
4304
  **Styling:**
4049
4305
 
@@ -4351,7 +4607,7 @@ Progress bar showing a measured value within a known range (e.g. quota usage).
4351
4607
 
4352
4608
  **Colors (kumo tokens used):**
4353
4609
 
4354
- `bg-kumo-fill`, `text-kumo-default`, `text-kumo-strong`
4610
+ `bg-kumo-fill`, `text-kumo-default`, `text-kumo-subtle`
4355
4611
 
4356
4612
  **Examples:**
4357
4613
 
@@ -4415,7 +4671,7 @@ For visible text like "Showing X of Y", use render props on sub-components:
4415
4671
 
4416
4672
  **Colors (kumo tokens used):**
4417
4673
 
4418
- `border-kumo-hairline`, `ring-kumo-hairline`, `text-kumo-strong`
4674
+ `border-kumo-hairline`, `ring-kumo-hairline`, `text-kumo-subtle`
4419
4675
 
4420
4676
  **Styling:**
4421
4677
 
@@ -5745,7 +6001,7 @@ Sidebar — responsive navigation panel with expand/collapse support. Compound
5745
6001
 
5746
6002
  **Colors (kumo tokens used):**
5747
6003
 
5748
- `bg-kumo-base`, `bg-kumo-brand`, `bg-kumo-hairline`, `bg-kumo-overlay`, `bg-kumo-recessed`, `bg-kumo-tint`, `border-kumo-hairline`, `ring-kumo-brand`, `ring-kumo-hairline`, `text-kumo-default`, `text-kumo-strong`, `text-kumo-subtle`
6004
+ `bg-kumo-base`, `bg-kumo-brand`, `bg-kumo-hairline`, `bg-kumo-overlay`, `bg-kumo-recessed`, `bg-kumo-tint`, `border-kumo-hairline`, `ring-kumo-brand`, `ring-kumo-hairline`, `text-kumo-default`, `text-kumo-subtle`
5749
6005
 
5750
6006
  **Styling:**
5751
6007
 
@@ -7117,7 +7373,7 @@ Tab navigation component with segmented or underline style. Built on Base UI Tab
7117
7373
 
7118
7374
  **Colors (kumo tokens used):**
7119
7375
 
7120
- `bg-kumo-base`, `bg-kumo-brand`, `bg-kumo-recessed`, `bg-kumo-tint`, `border-kumo-hairline`, `ring-kumo-brand`, `ring-kumo-focus`, `ring-kumo-hairline`, `ring-kumo-line`, `text-kumo-default`, `text-kumo-strong`, `text-kumo-subtle`
7376
+ `bg-kumo-base`, `bg-kumo-brand`, `bg-kumo-recessed`, `bg-kumo-tint`, `border-kumo-hairline`, `ring-kumo-brand`, `ring-kumo-focus`, `ring-kumo-hairline`, `ring-kumo-line`, `text-kumo-default`, `text-kumo-subtle`
7121
7377
 
7122
7378
  **Styling:**
7123
7379
 
@@ -7377,11 +7633,20 @@ Toasty — toast notification provider and viewport. Renders a `Toast.Provider`
7377
7633
 
7378
7634
  **Colors (kumo tokens used):**
7379
7635
 
7380
- `bg-kumo-base`, `bg-kumo-contrast`, `bg-kumo-control`, `bg-kumo-danger`, `bg-kumo-fill-hover`, `bg-kumo-info`, `bg-kumo-success`, `bg-kumo-warning`, `border-kumo-fill`, `ring-kumo-danger`, `ring-kumo-hairline`, `ring-kumo-info`, `ring-kumo-line`, `ring-kumo-success`, `ring-kumo-warning`, `text-kumo-danger`, `text-kumo-default`, `text-kumo-info`, `text-kumo-strong`, `text-kumo-subtle`, `text-kumo-success`, `text-kumo-warning`
7636
+ `bg-kumo-base`, `bg-kumo-contrast`, `bg-kumo-control`, `bg-kumo-danger`, `bg-kumo-fill-hover`, `bg-kumo-info`, `bg-kumo-success`, `bg-kumo-warning`, `border-kumo-fill`, `ring-kumo-danger`, `ring-kumo-hairline`, `ring-kumo-info`, `ring-kumo-line`, `ring-kumo-success`, `ring-kumo-warning`, `text-kumo-danger`, `text-kumo-default`, `text-kumo-info`, `text-kumo-subtle`, `text-kumo-success`, `text-kumo-warning`
7381
7637
 
7382
7638
  **Styling:**
7383
7639
 
7384
7640
 
7641
+ **Examples:**
7642
+
7643
+ ```tsx
7644
+ <Toasty>
7645
+ <ToastTitleOnlyButton />
7646
+ </Toasty>
7647
+ ```
7648
+
7649
+
7385
7650
  ---
7386
7651
 
7387
7652
  ### Tooltip
@@ -7412,6 +7677,27 @@ Accessible popup that shows additional information on hover/focus. Wrap your app
7412
7677
 
7413
7678
  `bg-kumo-base`, `fill-kumo-base`, `fill-kumo-tip-shadow`, `fill-kumo-tip-stroke`, `outline-kumo-fill`, `text-kumo-default`
7414
7679
 
7680
+ **Sub-Components:**
7681
+
7682
+ This is a compound component. Use these sub-components:
7683
+
7684
+ #### Tooltip.Provider
7685
+
7686
+ Groups multiple tooltips so that after the first tooltip is shown, switching to another skips the open delay. Place once at your app root or layout.
7687
+
7688
+ Props:
7689
+ - `delay`: number [default: 600] - How long to wait (ms) before opening a tooltip once the pointer enters the trigger.
7690
+ - `closeDelay`: number [default: 0] - How long to wait (ms) before closing a tooltip.
7691
+ - `timeout`: number [default: 400] - Grace period (ms) during which a just-closed tooltip's delay is skipped when another tooltip opens.
7692
+
7693
+ Usage:
7694
+ ```tsx
7695
+ <TooltipProvider>
7696
+ <App />
7697
+ </TooltipProvider>
7698
+ ```
7699
+
7700
+
7415
7701
  **Examples:**
7416
7702
 
7417
7703
  ```tsx
@@ -1 +1 @@
1
- 1777563970979
1
+ 1777656981695
@@ -41,7 +41,7 @@ export function ResourceListPage({
41
41
  {title}
42
42
  </h1>
43
43
  </div>
44
- <p className="hidden p-0 text-lg leading-normal text-pretty text-kumo-strong md:block">
44
+ <p className="hidden p-0 text-lg leading-normal text-pretty text-kumo-subtle md:block">
45
45
  {description}
46
46
  </p>
47
47
  </div>
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { jsx as t, jsxs as A } from "react/jsx-runtime";
3
3
  import { CheckIcon as g } from "@phosphor-icons/react";
4
- import { K as c, i as y } from "./input-lpa5fc75tgrraafv.js";
4
+ import { K as c, i as y } from "./input-ncfowphv81yq7fyy.js";
5
5
  import { c as s } from "./cn-ct4n7r74mh8y0f48.js";
6
- import { F as C } from "./field-lnj619xpe8zjd26r.js";
6
+ import { F as C } from "./field-c0wf94plit2gci59.js";
7
7
  import { a6 as I, ab as T, bu as k, a8 as v, S as G, a9 as L, aa as O, bt as P, am as _, an as w, ao as z, ac as E } from "./vendor-base-ui-ie71jahf0czyf58j.js";
8
8
  const D = {
9
9
  size: c.size
@@ -171,4 +171,4 @@ export {
171
171
  $ as a,
172
172
  u as b
173
173
  };
174
- //# sourceMappingURL=autocomplete-cs3fwy6lwzlyirpq.js.map
174
+ //# sourceMappingURL=autocomplete-48aq0d244bs2e8zv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete-cs3fwy6lwzlyirpq.js","sources":["../../src/components/autocomplete/autocomplete.tsx"],"sourcesContent":["import { Autocomplete as AutocompleteBase } from \"@base-ui/react/autocomplete\";\nimport { CheckIcon } from \"@phosphor-icons/react\";\nimport { type ReactNode } from \"react\";\nimport { inputVariants, KUMO_INPUT_VARIANTS } from \"../input/input\";\nimport { cn } from \"../../utils/cn\";\nimport { Field, type FieldErrorMatch } from \"../field/field\";\n\n/** Autocomplete variant definitions. */\nexport const KUMO_AUTOCOMPLETE_VARIANTS = {\n size: KUMO_INPUT_VARIANTS.size,\n} as const;\n\nexport const KUMO_AUTOCOMPLETE_DEFAULT_VARIANTS = {\n size: \"base\",\n} as const;\n\n// Derived types from KUMO_AUTOCOMPLETE_VARIANTS\nexport type KumoAutocompleteSize = keyof typeof KUMO_AUTOCOMPLETE_VARIANTS.size;\n\nexport interface KumoAutocompleteVariantsProps {\n /**\n * Size of the autocomplete input. Matches Input component sizes.\n * - `\"xs\"` — Extra small for compact UIs (h-5 / 20px)\n * - `\"sm\"` — Small for secondary fields (h-6.5 / 26px)\n * - `\"base\"` — Default size (h-9 / 36px)\n * - `\"lg\"` — Large for prominent fields (h-10 / 40px)\n * @default \"base\"\n */\n size?: KumoAutocompleteSize;\n}\n\nexport function autocompleteVariants({\n size = KUMO_AUTOCOMPLETE_DEFAULT_VARIANTS.size,\n}: KumoAutocompleteVariantsProps = {}) {\n return cn(KUMO_INPUT_VARIANTS.size[size].classes);\n}\n\n/**\n * Autocomplete component props.\n *\n * Autocomplete provides a free-form text input with optional suggestions in a\n * filterable dropdown. Unlike Combobox, the input value is not constrained to\n * the suggestion list items.\n *\n * @example\n * ```tsx\n * <Autocomplete label=\"Country\" items={countries}>\n * <Autocomplete.InputGroup />\n * <Autocomplete.Content>\n * <Autocomplete.List>\n * {(item) => <Autocomplete.Item value={item}>{item}</Autocomplete.Item>}\n * </Autocomplete.List>\n * </Autocomplete.Content>\n * </Autocomplete>\n * ```\n */\nexport interface AutocompleteProps {\n /** Array of items to display in the dropdown */\n items: unknown[];\n /** The controlled input value */\n value?: string | number | string[];\n /** The uncontrolled default input value */\n defaultValue?: string | number | string[];\n /** Callback when the input value changes */\n onValueChange?: AutocompleteBase.Root.Props<unknown>[\"onValueChange\"];\n /** Whether the popup is open (controlled) */\n open?: boolean;\n /** Callback when the popup opens or closes */\n onOpenChange?: AutocompleteBase.Root.Props<unknown>[\"onOpenChange\"];\n /** Autocomplete content (input group, popup content) */\n children: ReactNode;\n /** Additional CSS classes */\n className?: string;\n /** Label content (enables Field wrapper) */\n label?: ReactNode;\n /** Whether the field is required */\n required?: boolean;\n /** Tooltip content to display next to the label */\n labelTooltip?: ReactNode;\n /** Helper text displayed below the field */\n description?: ReactNode;\n /** Error message or validation error object */\n error?: string | { message: ReactNode; match: FieldErrorMatch };\n}\n\nfunction Root<ItemValue>({\n label,\n required,\n labelTooltip,\n description,\n error,\n children,\n ...props\n}: AutocompleteBase.Root.Props<ItemValue> & {\n label?: ReactNode;\n required?: boolean;\n labelTooltip?: ReactNode;\n description?: ReactNode;\n error?: string | { message: ReactNode; match: FieldErrorMatch };\n}) {\n const rootProps = props as Omit<\n AutocompleteBase.Root.Props<ItemValue>,\n \"items\"\n > & {\n items?: readonly ItemValue[];\n };\n const control = (\n <AutocompleteBase.Root {...rootProps}>{children}</AutocompleteBase.Root>\n );\n\n if (label) {\n return (\n <Field\n label={label}\n required={required}\n labelTooltip={labelTooltip}\n description={description}\n error={\n error\n ? typeof error === \"string\"\n ? { message: error, match: true }\n : error\n : undefined\n }\n >\n {control}\n </Field>\n );\n }\n\n return control;\n}\n\nfunction InputGroup({\n className,\n size = KUMO_AUTOCOMPLETE_DEFAULT_VARIANTS.size,\n placeholder,\n}: {\n className?: string;\n size?: KumoAutocompleteSize;\n placeholder?: string;\n}) {\n return (\n <AutocompleteBase.Input\n className={cn(\n inputVariants({ size, focusIndicator: true }),\n \"w-full\",\n className,\n )}\n placeholder={placeholder}\n />\n );\n}\n\nfunction Content({\n children,\n className,\n align = \"start\",\n sideOffset = 4,\n alignOffset,\n side,\n}: {\n children?: ReactNode;\n className?: string;\n align?: AutocompleteBase.Positioner.Props[\"align\"];\n alignOffset?: AutocompleteBase.Positioner.Props[\"alignOffset\"];\n side?: AutocompleteBase.Positioner.Props[\"side\"];\n sideOffset?: AutocompleteBase.Positioner.Props[\"sideOffset\"];\n}) {\n return (\n <AutocompleteBase.Portal>\n <AutocompleteBase.Positioner\n className=\"outline-none\"\n align={align}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n side={side}\n >\n <AutocompleteBase.Popup\n className={(state: AutocompleteBase.Popup.State) =>\n cn(\n \"flex flex-col\",\n \"max-h-[min(var(--available-height),24rem)] max-w-(--available-width) min-w-(--anchor-width) py-1.5\",\n \"bg-kumo-control text-kumo-default\",\n \"rounded-lg shadow-lg ring ring-kumo-line\",\n state.empty && \"hidden\",\n className,\n )\n }\n >\n {children}\n </AutocompleteBase.Popup>\n </AutocompleteBase.Positioner>\n </AutocompleteBase.Portal>\n );\n}\n\nfunction List({\n className,\n ...props\n}: AutocompleteBase.List.Props & { className?: string }) {\n return (\n <AutocompleteBase.List\n {...props}\n className={cn(\n \"min-h-0 flex-1 overflow-y-auto overscroll-contain scroll-pt-2 scroll-pb-2\",\n className,\n )}\n />\n );\n}\n\nfunction Item({ children, ...props }: AutocompleteBase.Item.Props) {\n return (\n <AutocompleteBase.Item\n {...props}\n className=\"group mx-1.5 grid cursor-pointer grid-cols-[1fr_16px] gap-2 rounded px-2 py-1.5 text-base data-highlighted:bg-kumo-overlay data-selected:font-medium\"\n >\n <div className=\"col-start-1\">{children}</div>\n <span className=\"col-start-2 hidden items-center group-data-selected:flex\">\n <CheckIcon size={14} />\n </span>\n </AutocompleteBase.Item>\n );\n}\n\nfunction GroupLabel(props: AutocompleteBase.GroupLabel.Props) {\n return (\n <AutocompleteBase.GroupLabel\n {...props}\n className={cn(\n \"mx-1.5 px-2 py-1.5 text-sm text-kumo-strong\",\n props.className,\n )}\n />\n );\n}\n\nfunction Group(props: AutocompleteBase.Group.Props) {\n return (\n <AutocompleteBase.Group\n {...props}\n className=\"border-t border-kumo-line mt-2 pt-2 first:border-t-0 first:mt-0 first:pt-0\"\n />\n );\n}\n\nfunction Separator(props: AutocompleteBase.Separator.Props) {\n return (\n <AutocompleteBase.Separator\n {...props}\n className={cn(\"mx-0 my-1 h-px bg-kumo-line\", props.className)}\n />\n );\n}\n\nRoot.displayName = \"Autocomplete.Root\";\nInputGroup.displayName = \"Autocomplete.InputGroup\";\nContent.displayName = \"Autocomplete.Content\";\nItem.displayName = \"Autocomplete.Item\";\nGroupLabel.displayName = \"Autocomplete.GroupLabel\";\nGroup.displayName = \"Autocomplete.Group\";\nSeparator.displayName = \"Autocomplete.Separator\";\n\n/**\n * Autocomplete — free-form text input with an optional filtered suggestion list.\n *\n * Unlike Combobox, the input value is not restricted to items in the list.\n * Use Combobox when the selected value must come from the list.\n *\n * Compound component: `Autocomplete` (Root), `.InputGroup`, `.Content`, `.Item`,\n * `.GroupLabel`, `.Group`, `.Separator`, `.List`, `.Collection`.\n *\n * `InputGroup` renders the text input with Input component styling.\n * Pass a `size` prop to `InputGroup` to match the Input component sizes.\n *\n * @example\n * ```tsx\n * <Autocomplete items={fruits} label=\"Fruit\">\n * <Autocomplete.InputGroup size=\"base\" />\n * <Autocomplete.Content>\n * <Autocomplete.List>\n * {(item) => <Autocomplete.Item value={item}>{item}</Autocomplete.Item>}\n * </Autocomplete.List>\n * </Autocomplete.Content>\n * </Autocomplete>\n * ```\n *\n * @see https://base-ui.com/react/components/autocomplete\n */\nexport const Autocomplete = Object.assign(Root, {\n // Styled compound sub-components\n InputGroup,\n Content,\n Item,\n GroupLabel,\n Group,\n Separator,\n List,\n\n // Pass-through Base UI sub-components\n Empty: AutocompleteBase.Empty,\n Collection: AutocompleteBase.Collection,\n});\n"],"names":["KUMO_AUTOCOMPLETE_VARIANTS","KUMO_INPUT_VARIANTS","KUMO_AUTOCOMPLETE_DEFAULT_VARIANTS","autocompleteVariants","size","cn","Root","label","required","labelTooltip","description","error","children","props","control","jsx","AutocompleteBase.Root","Field","InputGroup","className","placeholder","AutocompleteBase.Input","inputVariants","Content","align","sideOffset","alignOffset","side","AutocompleteBase.Portal","AutocompleteBase.Positioner","AutocompleteBase.Popup","state","List","AutocompleteBase.List","Item","jsxs","AutocompleteBase.Item","CheckIcon","GroupLabel","AutocompleteBase.GroupLabel","Group","AutocompleteBase.Group","Separator","AutocompleteBase.Separator","Autocomplete","AutocompleteBase.Empty","AutocompleteBase.Collection"],"mappings":"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"}
1
+ {"version":3,"file":"autocomplete-48aq0d244bs2e8zv.js","sources":["../../src/components/autocomplete/autocomplete.tsx"],"sourcesContent":["import { Autocomplete as AutocompleteBase } from \"@base-ui/react/autocomplete\";\nimport { CheckIcon } from \"@phosphor-icons/react\";\nimport { type ReactNode } from \"react\";\nimport { inputVariants, KUMO_INPUT_VARIANTS } from \"../input/input\";\nimport { cn } from \"../../utils/cn\";\nimport { Field, type FieldErrorMatch } from \"../field/field\";\n\n/** Autocomplete variant definitions. */\nexport const KUMO_AUTOCOMPLETE_VARIANTS = {\n size: KUMO_INPUT_VARIANTS.size,\n} as const;\n\nexport const KUMO_AUTOCOMPLETE_DEFAULT_VARIANTS = {\n size: \"base\",\n} as const;\n\n// Derived types from KUMO_AUTOCOMPLETE_VARIANTS\nexport type KumoAutocompleteSize = keyof typeof KUMO_AUTOCOMPLETE_VARIANTS.size;\n\nexport interface KumoAutocompleteVariantsProps {\n /**\n * Size of the autocomplete input. Matches Input component sizes.\n * - `\"xs\"` — Extra small for compact UIs (h-5 / 20px)\n * - `\"sm\"` — Small for secondary fields (h-6.5 / 26px)\n * - `\"base\"` — Default size (h-9 / 36px)\n * - `\"lg\"` — Large for prominent fields (h-10 / 40px)\n * @default \"base\"\n */\n size?: KumoAutocompleteSize;\n}\n\nexport function autocompleteVariants({\n size = KUMO_AUTOCOMPLETE_DEFAULT_VARIANTS.size,\n}: KumoAutocompleteVariantsProps = {}) {\n return cn(KUMO_INPUT_VARIANTS.size[size].classes);\n}\n\n/**\n * Autocomplete component props.\n *\n * Autocomplete provides a free-form text input with optional suggestions in a\n * filterable dropdown. Unlike Combobox, the input value is not constrained to\n * the suggestion list items.\n *\n * @example\n * ```tsx\n * <Autocomplete label=\"Country\" items={countries}>\n * <Autocomplete.InputGroup />\n * <Autocomplete.Content>\n * <Autocomplete.List>\n * {(item) => <Autocomplete.Item value={item}>{item}</Autocomplete.Item>}\n * </Autocomplete.List>\n * </Autocomplete.Content>\n * </Autocomplete>\n * ```\n */\nexport interface AutocompleteProps {\n /** Array of items to display in the dropdown */\n items: unknown[];\n /** The controlled input value */\n value?: string | number | string[];\n /** The uncontrolled default input value */\n defaultValue?: string | number | string[];\n /** Callback when the input value changes */\n onValueChange?: AutocompleteBase.Root.Props<unknown>[\"onValueChange\"];\n /** Whether the popup is open (controlled) */\n open?: boolean;\n /** Callback when the popup opens or closes */\n onOpenChange?: AutocompleteBase.Root.Props<unknown>[\"onOpenChange\"];\n /** Autocomplete content (input group, popup content) */\n children: ReactNode;\n /** Additional CSS classes */\n className?: string;\n /** Label content (enables Field wrapper) */\n label?: ReactNode;\n /** Whether the field is required */\n required?: boolean;\n /** Tooltip content to display next to the label */\n labelTooltip?: ReactNode;\n /** Helper text displayed below the field */\n description?: ReactNode;\n /** Error message or validation error object */\n error?: string | { message: ReactNode; match: FieldErrorMatch };\n}\n\nfunction Root<ItemValue>({\n label,\n required,\n labelTooltip,\n description,\n error,\n children,\n ...props\n}: AutocompleteBase.Root.Props<ItemValue> & {\n label?: ReactNode;\n required?: boolean;\n labelTooltip?: ReactNode;\n description?: ReactNode;\n error?: string | { message: ReactNode; match: FieldErrorMatch };\n}) {\n const rootProps = props as Omit<\n AutocompleteBase.Root.Props<ItemValue>,\n \"items\"\n > & {\n items?: readonly ItemValue[];\n };\n const control = (\n <AutocompleteBase.Root {...rootProps}>{children}</AutocompleteBase.Root>\n );\n\n if (label) {\n return (\n <Field\n label={label}\n required={required}\n labelTooltip={labelTooltip}\n description={description}\n error={\n error\n ? typeof error === \"string\"\n ? { message: error, match: true }\n : error\n : undefined\n }\n >\n {control}\n </Field>\n );\n }\n\n return control;\n}\n\nfunction InputGroup({\n className,\n size = KUMO_AUTOCOMPLETE_DEFAULT_VARIANTS.size,\n placeholder,\n}: {\n className?: string;\n size?: KumoAutocompleteSize;\n placeholder?: string;\n}) {\n return (\n <AutocompleteBase.Input\n className={cn(\n inputVariants({ size, focusIndicator: true }),\n \"w-full\",\n className,\n )}\n placeholder={placeholder}\n />\n );\n}\n\nfunction Content({\n children,\n className,\n align = \"start\",\n sideOffset = 4,\n alignOffset,\n side,\n}: {\n children?: ReactNode;\n className?: string;\n align?: AutocompleteBase.Positioner.Props[\"align\"];\n alignOffset?: AutocompleteBase.Positioner.Props[\"alignOffset\"];\n side?: AutocompleteBase.Positioner.Props[\"side\"];\n sideOffset?: AutocompleteBase.Positioner.Props[\"sideOffset\"];\n}) {\n return (\n <AutocompleteBase.Portal>\n <AutocompleteBase.Positioner\n className=\"outline-none\"\n align={align}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n side={side}\n >\n <AutocompleteBase.Popup\n className={(state: AutocompleteBase.Popup.State) =>\n cn(\n \"flex flex-col\",\n \"max-h-[min(var(--available-height),24rem)] max-w-(--available-width) min-w-(--anchor-width) py-1.5\",\n \"bg-kumo-control text-kumo-default\",\n \"rounded-lg shadow-lg ring ring-kumo-line\",\n state.empty && \"hidden\",\n className,\n )\n }\n >\n {children}\n </AutocompleteBase.Popup>\n </AutocompleteBase.Positioner>\n </AutocompleteBase.Portal>\n );\n}\n\nfunction List({\n className,\n ...props\n}: AutocompleteBase.List.Props & { className?: string }) {\n return (\n <AutocompleteBase.List\n {...props}\n className={cn(\n \"min-h-0 flex-1 overflow-y-auto overscroll-contain scroll-pt-2 scroll-pb-2\",\n className,\n )}\n />\n );\n}\n\nfunction Item({ children, ...props }: AutocompleteBase.Item.Props) {\n return (\n <AutocompleteBase.Item\n {...props}\n className=\"group mx-1.5 grid cursor-pointer grid-cols-[1fr_16px] gap-2 rounded px-2 py-1.5 text-base data-highlighted:bg-kumo-overlay data-selected:font-medium\"\n >\n <div className=\"col-start-1\">{children}</div>\n <span className=\"col-start-2 hidden items-center group-data-selected:flex\">\n <CheckIcon size={14} />\n </span>\n </AutocompleteBase.Item>\n );\n}\n\nfunction GroupLabel(props: AutocompleteBase.GroupLabel.Props) {\n return (\n <AutocompleteBase.GroupLabel\n {...props}\n className={cn(\n \"mx-1.5 px-2 py-1.5 text-sm text-kumo-strong\",\n props.className,\n )}\n />\n );\n}\n\nfunction Group(props: AutocompleteBase.Group.Props) {\n return (\n <AutocompleteBase.Group\n {...props}\n className=\"border-t border-kumo-line mt-2 pt-2 first:border-t-0 first:mt-0 first:pt-0\"\n />\n );\n}\n\nfunction Separator(props: AutocompleteBase.Separator.Props) {\n return (\n <AutocompleteBase.Separator\n {...props}\n className={cn(\"mx-0 my-1 h-px bg-kumo-line\", props.className)}\n />\n );\n}\n\nRoot.displayName = \"Autocomplete.Root\";\nInputGroup.displayName = \"Autocomplete.InputGroup\";\nContent.displayName = \"Autocomplete.Content\";\nItem.displayName = \"Autocomplete.Item\";\nGroupLabel.displayName = \"Autocomplete.GroupLabel\";\nGroup.displayName = \"Autocomplete.Group\";\nSeparator.displayName = \"Autocomplete.Separator\";\n\n/**\n * Autocomplete — free-form text input with an optional filtered suggestion list.\n *\n * Unlike Combobox, the input value is not restricted to items in the list.\n * Use Combobox when the selected value must come from the list.\n *\n * Compound component: `Autocomplete` (Root), `.InputGroup`, `.Content`, `.Item`,\n * `.GroupLabel`, `.Group`, `.Separator`, `.List`, `.Collection`.\n *\n * `InputGroup` renders the text input with Input component styling.\n * Pass a `size` prop to `InputGroup` to match the Input component sizes.\n *\n * @example\n * ```tsx\n * <Autocomplete items={fruits} label=\"Fruit\">\n * <Autocomplete.InputGroup size=\"base\" />\n * <Autocomplete.Content>\n * <Autocomplete.List>\n * {(item) => <Autocomplete.Item value={item}>{item}</Autocomplete.Item>}\n * </Autocomplete.List>\n * </Autocomplete.Content>\n * </Autocomplete>\n * ```\n *\n * @see https://base-ui.com/react/components/autocomplete\n */\nexport const Autocomplete = Object.assign(Root, {\n // Styled compound sub-components\n InputGroup,\n Content,\n Item,\n GroupLabel,\n Group,\n Separator,\n List,\n\n // Pass-through Base UI sub-components\n Empty: AutocompleteBase.Empty,\n Collection: AutocompleteBase.Collection,\n});\n"],"names":["KUMO_AUTOCOMPLETE_VARIANTS","KUMO_INPUT_VARIANTS","KUMO_AUTOCOMPLETE_DEFAULT_VARIANTS","autocompleteVariants","size","cn","Root","label","required","labelTooltip","description","error","children","props","control","jsx","AutocompleteBase.Root","Field","InputGroup","className","placeholder","AutocompleteBase.Input","inputVariants","Content","align","sideOffset","alignOffset","side","AutocompleteBase.Portal","AutocompleteBase.Positioner","AutocompleteBase.Popup","state","List","AutocompleteBase.List","Item","jsxs","AutocompleteBase.Item","CheckIcon","GroupLabel","AutocompleteBase.GroupLabel","Group","AutocompleteBase.Group","Separator","AutocompleteBase.Separator","Autocomplete","AutocompleteBase.Empty","AutocompleteBase.Collection"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { jsx as e, jsxs as x } from "react/jsx-runtime";
3
3
  import { forwardRef as p, createContext as B, useContext as F } from "react";
4
4
  import { MinusIcon as C, CheckIcon as v } from "@phosphor-icons/react";
5
5
  import { c as i } from "./cn-ct4n7r74mh8y0f48.js";
6
- import { L as E } from "./label-be8m7qzlakzig2sl.js";
6
+ import { L as E } from "./label-c3h9i3y4wiccelt7.js";
7
7
  import { L as N, N as y, O as K, P as R, Q as w, C as _, U as G } from "./vendor-base-ui-ie71jahf0czyf58j.js";
8
8
  const H = {
9
9
  variant: {
@@ -207,4 +207,4 @@ export {
207
207
  H as K,
208
208
  X as a
209
209
  };
210
- //# sourceMappingURL=checkbox-eren6w2csum1xghg.js.map
210
+ //# sourceMappingURL=checkbox-hvxfvhtx1qjo2mww.js.map