@cloudflare/kumo 2.0.1 → 2.0.3

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 (158) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/ai/component-registry.json +227 -16
  3. package/ai/component-registry.md +324 -8
  4. package/ai/schemas.ts +5 -2
  5. package/dist/.build-complete +1 -1
  6. package/dist/ai/schemas.d.ts +10 -4
  7. package/dist/ai/schemas.d.ts.map +1 -1
  8. package/dist/ai/schemas.js +510 -504
  9. package/dist/ai/schemas.js.map +1 -1
  10. package/dist/chunks/{autocomplete-48aq0d244bs2e8zv.js → autocomplete-ln55iimq2n2s5uex.js} +27 -26
  11. package/dist/chunks/autocomplete-ln55iimq2n2s5uex.js.map +1 -0
  12. package/dist/chunks/{badge-dan90i0rzy4pwa1j.js → badge-kqox9toi0sygfbno.js} +16 -16
  13. package/dist/chunks/badge-kqox9toi0sygfbno.js.map +1 -0
  14. package/dist/chunks/{banner-eiwcnk7ts21s3bnb.js → banner-eux4y8xaogjg64af.js} +32 -31
  15. package/dist/chunks/banner-eux4y8xaogjg64af.js.map +1 -0
  16. package/dist/chunks/{breadcrumbs-cxcwf2l1ki3ffg5d.js → breadcrumbs-do6uyvm4msqus0sz.js} +33 -32
  17. package/dist/chunks/breadcrumbs-do6uyvm4msqus0sz.js.map +1 -0
  18. package/dist/chunks/{button-6by9ntsa3nj553mq.js → button-dh366jtvswxj0fw3.js} +63 -62
  19. package/dist/chunks/button-dh366jtvswxj0fw3.js.map +1 -0
  20. package/dist/chunks/{checkbox-hvxfvhtx1qjo2mww.js → checkbox-cf2pwdupyjweg184.js} +2 -2
  21. package/dist/chunks/checkbox-cf2pwdupyjweg184.js.map +1 -0
  22. package/dist/chunks/{clipboard-text-hswydzx3iql369sd.js → clipboard-text-hn2uwdj4ozenezd5.js} +57 -56
  23. package/dist/chunks/clipboard-text-hn2uwdj4ozenezd5.js.map +1 -0
  24. package/dist/chunks/{code-f9v1ikwhekqw274q.js → code-bbnjm8vk9hxl129r.js} +20 -19
  25. package/dist/chunks/code-bbnjm8vk9hxl129r.js.map +1 -0
  26. package/dist/chunks/{collapsible-k8urhi16pg90jvxa.js → collapsible-nlp2jvcyuzxmq28o.js} +12 -11
  27. package/dist/chunks/{collapsible-k8urhi16pg90jvxa.js.map → collapsible-nlp2jvcyuzxmq28o.js.map} +1 -1
  28. package/dist/chunks/{combobox-fq36ye0hstote16x.js → combobox-fivcg1oorkmmmk78.js} +11 -10
  29. package/dist/chunks/combobox-fivcg1oorkmmmk78.js.map +1 -0
  30. package/dist/chunks/{command-palette-md65owxt5hv4rt9r.js → command-palette-kgiso245exdons4r.js} +2 -2
  31. package/dist/chunks/{command-palette-md65owxt5hv4rt9r.js.map → command-palette-kgiso245exdons4r.js.map} +1 -1
  32. package/dist/chunks/{dialog-k3f1fbam6nt96k8x.js → dialog-mqpvaidy0vnjwrfp.js} +16 -15
  33. package/dist/chunks/dialog-mqpvaidy0vnjwrfp.js.map +1 -0
  34. package/dist/chunks/{dropdown-zbax0zowy6m9zhmt.js → dropdown-gp5iptj1niq14lpv.js} +76 -75
  35. package/dist/chunks/dropdown-gp5iptj1niq14lpv.js.map +1 -0
  36. package/dist/chunks/{empty-b82oer7npkhtkx7k.js → empty-fr78te81o3qaj3in.js} +27 -26
  37. package/dist/chunks/empty-fr78te81o3qaj3in.js.map +1 -0
  38. package/dist/chunks/{field-c0wf94plit2gci59.js → field-dgf36p7cmz1crlnu.js} +2 -2
  39. package/dist/chunks/{field-c0wf94plit2gci59.js.map → field-dgf36p7cmz1crlnu.js.map} +1 -1
  40. package/dist/chunks/{grid-hj1ylz16p7g5uelh.js → grid-do93dv1rjggqxx7p.js} +30 -29
  41. package/dist/chunks/grid-do93dv1rjggqxx7p.js.map +1 -0
  42. package/dist/chunks/{input-ncfowphv81yq7fyy.js → input-2y9vg81trmamkb6k.js} +51 -50
  43. package/dist/chunks/input-2y9vg81trmamkb6k.js.map +1 -0
  44. package/dist/chunks/{input-area-bkyzu6f7gsck479h.js → input-area-i5wulip5pau3u6ss.js} +3 -3
  45. package/dist/chunks/{input-area-bkyzu6f7gsck479h.js.map → input-area-i5wulip5pau3u6ss.js.map} +1 -1
  46. package/dist/chunks/{input-group-bidweffa0zyg8gt0.js → input-group-bm9wxzovpvzn1c25.js} +4 -4
  47. package/dist/chunks/{input-group-bidweffa0zyg8gt0.js.map → input-group-bm9wxzovpvzn1c25.js.map} +1 -1
  48. package/dist/chunks/{label-c3h9i3y4wiccelt7.js → label-efa0uvb8zqyjwpc8.js} +2 -2
  49. package/dist/chunks/{label-c3h9i3y4wiccelt7.js.map → label-efa0uvb8zqyjwpc8.js.map} +1 -1
  50. package/dist/chunks/{link-kt74pxkud4olmcer.js → link-m9hlspftl34nseme.js} +28 -27
  51. package/dist/chunks/link-m9hlspftl34nseme.js.map +1 -0
  52. package/dist/chunks/{loader-hr2w7cpqeev3p3vl.js → loader-g8a6j76ue5nq0lr8.js} +15 -14
  53. package/dist/chunks/loader-g8a6j76ue5nq0lr8.js.map +1 -0
  54. package/dist/chunks/{pagination-jb3mncivbwsoi1se.js → pagination-fdmcwreb27eej9l3.js} +3 -3
  55. package/dist/chunks/pagination-fdmcwreb27eej9l3.js.map +1 -0
  56. package/dist/chunks/{radio-datzh3pilz8ojak1.js → radio-f95mt237ru8fyc03.js} +44 -43
  57. package/dist/chunks/radio-f95mt237ru8fyc03.js.map +1 -0
  58. package/dist/chunks/resolve-variant-gw6eh7fa4st8ej7m.js +11 -0
  59. package/dist/chunks/resolve-variant-gw6eh7fa4st8ej7m.js.map +1 -0
  60. package/dist/chunks/{select-g261chvosodu22i8.js → select-j8evv2iblgs5fa9s.js} +4 -4
  61. package/dist/chunks/{select-g261chvosodu22i8.js.map → select-j8evv2iblgs5fa9s.js.map} +1 -1
  62. package/dist/chunks/{sensitive-input-cijagk551mesdtk4.js → sensitive-input-cmb9jt42bv8jftei.js} +3 -3
  63. package/dist/chunks/{sensitive-input-cijagk551mesdtk4.js.map → sensitive-input-cmb9jt42bv8jftei.js.map} +1 -1
  64. package/dist/chunks/surface-k0e8mq1x00b7i8r6.js.map +1 -1
  65. package/dist/chunks/{switch-jdfsr3j3oa1qxegw.js → switch-c4qjga6x3axmoi20.js} +2 -2
  66. package/dist/chunks/switch-c4qjga6x3axmoi20.js.map +1 -0
  67. package/dist/chunks/{table-iudje0lva0z68jto.js → table-jvqy3tu48xa75n2t.js} +56 -55
  68. package/dist/chunks/table-jvqy3tu48xa75n2t.js.map +1 -0
  69. package/dist/chunks/{text-f7t467waymhb30sx.js → text-be7ehenoyldhyjma.js} +32 -28
  70. package/dist/chunks/text-be7ehenoyldhyjma.js.map +1 -0
  71. package/dist/chunks/{toast-h573o0tc7tefivk2.js → toast-c7kqwuj7qj9dx6gs.js} +75 -74
  72. package/dist/chunks/toast-c7kqwuj7qj9dx6gs.js.map +1 -0
  73. package/dist/chunks/tooltip-odudhkxe282wxinq.js.map +1 -1
  74. package/dist/code.js +1 -1
  75. package/dist/components/autocomplete.js +1 -1
  76. package/dist/components/badge.js +1 -1
  77. package/dist/components/banner.js +1 -1
  78. package/dist/components/breadcrumbs.js +1 -1
  79. package/dist/components/button.js +1 -1
  80. package/dist/components/checkbox.js +1 -1
  81. package/dist/components/clipboard-text.js +1 -1
  82. package/dist/components/code.js +1 -1
  83. package/dist/components/collapsible.js +1 -1
  84. package/dist/components/combobox.js +1 -1
  85. package/dist/components/command-palette.js +1 -1
  86. package/dist/components/dialog.js +1 -1
  87. package/dist/components/dropdown.js +1 -1
  88. package/dist/components/empty.js +1 -1
  89. package/dist/components/field.js +1 -1
  90. package/dist/components/grid.js +1 -1
  91. package/dist/components/input-group.js +1 -1
  92. package/dist/components/input.js +3 -3
  93. package/dist/components/label.js +1 -1
  94. package/dist/components/link.js +1 -1
  95. package/dist/components/loader.js +1 -1
  96. package/dist/components/pagination.js +1 -1
  97. package/dist/components/radio.js +1 -1
  98. package/dist/components/select.js +1 -1
  99. package/dist/components/sensitive-input.js +1 -1
  100. package/dist/components/switch.js +1 -1
  101. package/dist/components/table.js +1 -1
  102. package/dist/components/text.js +1 -1
  103. package/dist/components/toast.js +1 -1
  104. package/dist/index.js +34 -34
  105. package/dist/src/components/autocomplete/autocomplete.d.ts.map +1 -1
  106. package/dist/src/components/badge/badge.d.ts.map +1 -1
  107. package/dist/src/components/banner/banner.d.ts.map +1 -1
  108. package/dist/src/components/breadcrumbs/breadcrumbs.d.ts.map +1 -1
  109. package/dist/src/components/button/button.d.ts.map +1 -1
  110. package/dist/src/components/checkbox/checkbox.d.ts.map +1 -1
  111. package/dist/src/components/clipboard-text/clipboard-text.d.ts.map +1 -1
  112. package/dist/src/components/code/code.d.ts.map +1 -1
  113. package/dist/src/components/collapsible/collapsible.d.ts +1 -1
  114. package/dist/src/components/collapsible/collapsible.d.ts.map +1 -1
  115. package/dist/src/components/combobox/combobox.d.ts.map +1 -1
  116. package/dist/src/components/dialog/dialog.d.ts.map +1 -1
  117. package/dist/src/components/dropdown/dropdown.d.ts.map +1 -1
  118. package/dist/src/components/empty/empty.d.ts.map +1 -1
  119. package/dist/src/components/grid/grid.d.ts.map +1 -1
  120. package/dist/src/components/input/input.d.ts.map +1 -1
  121. package/dist/src/components/link/link.d.ts.map +1 -1
  122. package/dist/src/components/loader/loader.d.ts.map +1 -1
  123. package/dist/src/components/pagination/pagination.d.ts.map +1 -1
  124. package/dist/src/components/radio/radio.d.ts.map +1 -1
  125. package/dist/src/components/surface/surface.d.ts.map +1 -1
  126. package/dist/src/components/switch/switch.d.ts.map +1 -1
  127. package/dist/src/components/table/table.d.ts.map +1 -1
  128. package/dist/src/components/text/text.d.ts.map +1 -1
  129. package/dist/src/components/toast/toast.d.ts.map +1 -1
  130. package/dist/src/components/tooltip/tooltip.d.ts.map +1 -1
  131. package/dist/src/utils/resolve-variant.d.ts +27 -0
  132. package/dist/src/utils/resolve-variant.d.ts.map +1 -0
  133. package/package.json +1 -1
  134. package/scripts/component-registry/index.test.ts +42 -0
  135. package/scripts/component-registry/index.ts +18 -4
  136. package/scripts/component-registry/metadata.ts +239 -4
  137. package/dist/chunks/autocomplete-48aq0d244bs2e8zv.js.map +0 -1
  138. package/dist/chunks/badge-dan90i0rzy4pwa1j.js.map +0 -1
  139. package/dist/chunks/banner-eiwcnk7ts21s3bnb.js.map +0 -1
  140. package/dist/chunks/breadcrumbs-cxcwf2l1ki3ffg5d.js.map +0 -1
  141. package/dist/chunks/button-6by9ntsa3nj553mq.js.map +0 -1
  142. package/dist/chunks/checkbox-hvxfvhtx1qjo2mww.js.map +0 -1
  143. package/dist/chunks/clipboard-text-hswydzx3iql369sd.js.map +0 -1
  144. package/dist/chunks/code-f9v1ikwhekqw274q.js.map +0 -1
  145. package/dist/chunks/combobox-fq36ye0hstote16x.js.map +0 -1
  146. package/dist/chunks/dialog-k3f1fbam6nt96k8x.js.map +0 -1
  147. package/dist/chunks/dropdown-zbax0zowy6m9zhmt.js.map +0 -1
  148. package/dist/chunks/empty-b82oer7npkhtkx7k.js.map +0 -1
  149. package/dist/chunks/grid-hj1ylz16p7g5uelh.js.map +0 -1
  150. package/dist/chunks/input-ncfowphv81yq7fyy.js.map +0 -1
  151. package/dist/chunks/link-kt74pxkud4olmcer.js.map +0 -1
  152. package/dist/chunks/loader-hr2w7cpqeev3p3vl.js.map +0 -1
  153. package/dist/chunks/pagination-jb3mncivbwsoi1se.js.map +0 -1
  154. package/dist/chunks/radio-datzh3pilz8ojak1.js.map +0 -1
  155. package/dist/chunks/switch-jdfsr3j3oa1qxegw.js.map +0 -1
  156. package/dist/chunks/table-iudje0lva0z68jto.js.map +0 -1
  157. package/dist/chunks/text-f7t467waymhb30sx.js.map +0 -1
  158. package/dist/chunks/toast-h573o0tc7tefivk2.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",
@@ -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-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-placeholder`, `text-kumo-subtle`
1632
1647
 
1633
1648
  **Sub-Components:**
1634
1649
 
@@ -1748,6 +1763,30 @@ Usage:
1748
1763
  </Combobox>
1749
1764
  ```
1750
1765
 
1766
+ ```tsx
1767
+ <Combobox
1768
+ value={value}
1769
+ onValueChange={(v) => setValue(v as Language | null)}
1770
+ items={languages}
1771
+ >
1772
+ <Combobox.TriggerValue
1773
+ className="w-[200px]"
1774
+ placeholder="Select a language"
1775
+ />
1776
+ <Combobox.Content>
1777
+ <Combobox.Input placeholder="Search languages" />
1778
+ <Combobox.Empty />
1779
+ <Combobox.List>
1780
+ {(item: Language) => (
1781
+ <Combobox.Item key={item.value} value={item}>
1782
+ {item.emoji} {item.label}
1783
+ </Combobox.Item>
1784
+ )}
1785
+ </Combobox.List>
1786
+ </Combobox.Content>
1787
+ </Combobox>
1788
+ ```
1789
+
1751
1790
  ```tsx
1752
1791
  <Combobox
1753
1792
  value={value}
@@ -2932,6 +2971,10 @@ Sub sub-component (wraps DropdownMenuPrimitive)
2932
2971
 
2933
2972
  SubTrigger sub-component
2934
2973
 
2974
+ Props:
2975
+ - `icon`: Icon - Icon displayed before the label.
2976
+ - `inset`: boolean - Adds left padding to align with items that have icons.
2977
+
2935
2978
  #### DropdownMenu.SubContent
2936
2979
 
2937
2980
  SubContent sub-component
@@ -2940,26 +2983,67 @@ SubContent sub-component
2940
2983
 
2941
2984
  Content sub-component
2942
2985
 
2986
+ Props:
2987
+ - `sideOffset`: number [default: 8] - Distance in pixels from the trigger.
2988
+ - `container`: PortalContainer - Container element for the portal. Use this to render inside a Shadow DOM or custom container.
2989
+
2943
2990
  #### DropdownMenu.Item
2944
2991
 
2945
2992
  Item sub-component
2946
2993
 
2994
+ Props:
2995
+ - `icon`: Icon | ReactNode - Icon displayed before the label.
2996
+ - `variant`: "default" | "danger" [default: "default"] - Visual style of the item.
2997
+ - `selected`: boolean - Shows a check mark indicator when true.
2998
+ - `inset`: boolean - Adds left padding to align with items that have icons.
2999
+ - `onClick`: (event: React.MouseEvent) => void - Callback when the item is clicked.
3000
+ - `closeOnClick`: boolean [default: true] - Whether the menu closes after clicking this item.
3001
+ - `disabled`: boolean - When true, the item cannot be interacted with.
3002
+
2947
3003
  #### DropdownMenu.LinkItem
2948
3004
 
2949
3005
  LinkItem sub-component
2950
3006
 
3007
+ Props:
3008
+ - `href`: string - URL to navigate to when clicked.
3009
+ - `icon`: Icon | ReactNode - Icon displayed before the label.
3010
+ - `variant`: "default" | "danger" [default: "default"] - Visual style of the item.
3011
+ - `inset`: boolean - Adds left padding to align with items that have icons.
3012
+ - `target`: string - Link target attribute (e.g. "_blank" for new tab).
3013
+ - `render`: ReactElement | ((props, state) => ReactElement) - Custom element to render as the link. Use to integrate with framework routers (e.g. Next.js Link).
3014
+
2951
3015
  #### DropdownMenu.CheckboxItem
2952
3016
 
2953
3017
  CheckboxItem sub-component
2954
3018
 
3019
+ Props:
3020
+ - `checked`: boolean - Whether the item is checked.
3021
+ - `defaultChecked`: boolean [default: false] - Whether the item is initially checked (uncontrolled).
3022
+ - `onCheckedChange`: (checked: boolean, event: ChangeEventDetails) => void - Callback when the checked state changes.
3023
+ - `closeOnClick`: boolean [default: false] - Whether the menu closes after clicking this item.
3024
+ - `disabled`: boolean - When true, the item cannot be interacted with.
3025
+
2955
3026
  #### DropdownMenu.RadioGroup
2956
3027
 
2957
3028
  RadioGroup sub-component (wraps DropdownMenuPrimitive)
2958
3029
 
3030
+ Props:
3031
+ - `value`: any - The controlled value of the currently selected radio item.
3032
+ - `defaultValue`: any - The initially selected value (uncontrolled).
3033
+ - `onValueChange`: (value: any, event: ChangeEventDetails) => void - Callback when the selected value changes.
3034
+ - `disabled`: boolean - When true, all radio items in the group are disabled.
3035
+
2959
3036
  #### DropdownMenu.RadioItem
2960
3037
 
2961
3038
  RadioItem sub-component
2962
3039
 
3040
+ Props:
3041
+ - `value`: any (required) - The value of this radio item.
3042
+ - `icon`: Icon | ReactNode - Icon displayed before the label.
3043
+ - `inset`: boolean - Adds left padding to align with items that have icons.
3044
+ - `closeOnClick`: boolean [default: false] - Whether the menu closes after clicking this item.
3045
+ - `disabled`: boolean - When true, the item cannot be interacted with.
3046
+
2963
3047
  #### DropdownMenu.RadioItemIndicator
2964
3048
 
2965
3049
  RadioItemIndicator sub-component
@@ -2968,6 +3052,9 @@ RadioItemIndicator sub-component
2968
3052
 
2969
3053
  Label sub-component
2970
3054
 
3055
+ Props:
3056
+ - `inset`: boolean - Adds left padding to align with items that have icons.
3057
+
2971
3058
  #### DropdownMenu.Separator
2972
3059
 
2973
3060
  Separator sub-component
@@ -2981,6 +3068,199 @@ Shortcut sub-component
2981
3068
  Group sub-component (wraps DropdownMenuPrimitive)
2982
3069
 
2983
3070
 
3071
+ **Examples:**
3072
+
3073
+ ```tsx
3074
+ <DropdownMenu>
3075
+ <DropdownMenu.Trigger render={<Button icon={PlusIcon}>Add</Button>} />
3076
+ <DropdownMenu.Content>
3077
+ <DropdownMenu.Item>Worker</DropdownMenu.Item>
3078
+ <DropdownMenu.Item>Pages</DropdownMenu.Item>
3079
+ <DropdownMenu.Item>KV Namespace</DropdownMenu.Item>
3080
+ </DropdownMenu.Content>
3081
+ </DropdownMenu>
3082
+ ```
3083
+
3084
+ ```tsx
3085
+ <DropdownMenu>
3086
+ <DropdownMenu.Trigger render={<Button>View Options</Button>} />
3087
+ <DropdownMenu.Content>
3088
+ <DropdownMenu.Group>
3089
+ <DropdownMenu.Label>Display</DropdownMenu.Label>
3090
+ <DropdownMenu.CheckboxItem
3091
+ checked={showSidebar}
3092
+ onCheckedChange={setShowSidebar}
3093
+ >
3094
+ Show sidebar
3095
+ </DropdownMenu.CheckboxItem>
3096
+ <DropdownMenu.CheckboxItem
3097
+ checked={showLineNumbers}
3098
+ onCheckedChange={setShowLineNumbers}
3099
+ >
3100
+ Show line numbers
3101
+ </DropdownMenu.CheckboxItem>
3102
+ <DropdownMenu.CheckboxItem
3103
+ checked={wordWrap}
3104
+ onCheckedChange={setWordWrap}
3105
+ >
3106
+ Word wrap
3107
+ </DropdownMenu.CheckboxItem>
3108
+ </DropdownMenu.Group>
3109
+ </DropdownMenu.Content>
3110
+ </DropdownMenu>
3111
+ ```
3112
+
3113
+ ```tsx
3114
+ <DropdownMenu>
3115
+ <DropdownMenu.Trigger render={<Button icon={UserIcon}>Account</Button>} />
3116
+ <DropdownMenu.Content>
3117
+ <DropdownMenu.Item icon={UserIcon}>Profile</DropdownMenu.Item>
3118
+ <DropdownMenu.Item icon={CreditCardIcon}>Billing</DropdownMenu.Item>
3119
+ <DropdownMenu.Item icon={MoonIcon}>Dark mode</DropdownMenu.Item>
3120
+
3121
+ {/* Language submenu with RadioGroup */}
3122
+ <DropdownMenu.Sub>
3123
+ <DropdownMenu.SubTrigger>Language</DropdownMenu.SubTrigger>
3124
+ <DropdownMenu.SubContent>
3125
+ <DropdownMenu.Group>
3126
+ <DropdownMenu.RadioGroup
3127
+ value={language}
3128
+ onValueChange={setLanguage}
3129
+ >
3130
+ {languages.map((lang) => (
3131
+ <DropdownMenu.RadioItem key={lang.code} value={lang.code}>
3132
+ {lang.label}
3133
+ <DropdownMenu.RadioItemIndicator />
3134
+ </DropdownMenu.RadioItem>
3135
+ ))}
3136
+ </DropdownMenu.RadioGroup>
3137
+ </DropdownMenu.Group>
3138
+ </DropdownMenu.SubContent>
3139
+ </DropdownMenu.Sub>
3140
+
3141
+ {/* Timezone submenu with RadioGroup */}
3142
+ <DropdownMenu.Sub>
3143
+ <DropdownMenu.SubTrigger>Set Timezone</DropdownMenu.SubTrigger>
3144
+ <DropdownMenu.SubContent>
3145
+ <DropdownMenu.Group>
3146
+ <DropdownMenu.RadioGroup
3147
+ value={timezone}
3148
+ onValueChange={setTimezone}
3149
+ >
3150
+ {timezones.map((tz) => (
3151
+ <DropdownMenu.RadioItem key={tz.value} value={tz.value}>
3152
+ {tz.label}
3153
+ <DropdownMenu.RadioItemIndicator />
3154
+ </DropdownMenu.RadioItem>
3155
+ ))}
3156
+ </DropdownMenu.RadioGroup>
3157
+ </DropdownMenu.Group>
3158
+ </DropdownMenu.SubContent>
3159
+ </DropdownMenu.Sub>
3160
+
3161
+ <DropdownMenu.Separator />
3162
+ <DropdownMenu.Item icon={SignOutIcon} variant="danger">
3163
+ Log out
3164
+ </DropdownMenu.Item>
3165
+ </DropdownMenu.Content>
3166
+ </DropdownMenu>
3167
+ ```
3168
+
3169
+ ```tsx
3170
+ <DropdownMenu>
3171
+ <DropdownMenu.Trigger render={<Button>Edit</Button>} />
3172
+ <DropdownMenu.Content>
3173
+ <DropdownMenu.Item icon={PencilSimpleIcon}>Rename</DropdownMenu.Item>
3174
+ <DropdownMenu.Item icon={CopyIcon}>Duplicate</DropdownMenu.Item>
3175
+ <DropdownMenu.Separator />
3176
+ <DropdownMenu.Item inset>Move to folder</DropdownMenu.Item>
3177
+ <DropdownMenu.Item inset>Add to favorites</DropdownMenu.Item>
3178
+ <DropdownMenu.Separator />
3179
+ <DropdownMenu.Item icon={TrashIcon} variant="danger">
3180
+ Delete
3181
+ </DropdownMenu.Item>
3182
+ </DropdownMenu.Content>
3183
+ </DropdownMenu>
3184
+ ```
3185
+
3186
+ ```tsx
3187
+ <div className="flex flex-col items-start gap-2">
3188
+ <DropdownMenu>
3189
+ <DropdownMenu.Trigger render={<Button>Actions</Button>} />
3190
+ <DropdownMenu.Content>
3191
+ <DropdownMenu.Item
3192
+ icon={CopyIcon}
3193
+ onClick={() => setLastAction("Duplicated")}
3194
+ >
3195
+ Duplicate
3196
+ </DropdownMenu.Item>
3197
+ <DropdownMenu.Item
3198
+ icon={PencilSimpleIcon}
3199
+ onClick={() => setLastAction("Renamed")}
3200
+ >
3201
+ Rename
3202
+ </DropdownMenu.Item>
3203
+ <DropdownMenu.Separator />
3204
+ <DropdownMenu.Item
3205
+ icon={TrashIcon}
3206
+ variant="danger"
3207
+ onClick={() => setLastAction("Deleted")}
3208
+ >
3209
+ Delete
3210
+ </DropdownMenu.Item>
3211
+ </DropdownMenu.Content>
3212
+ </DropdownMenu>
3213
+ {lastAction && (
3214
+ <p className="text-sm text-kumo-subtle">
3215
+ Last action: <span className="text-kumo-default">{lastAction}</span>
3216
+ </p>
3217
+ )}
3218
+ </div>
3219
+ ```
3220
+
3221
+ ```tsx
3222
+ <DropdownMenu>
3223
+ <DropdownMenu.Trigger
3224
+ render={<button type="button" className="rounded-full" />}
3225
+ >
3226
+ <span className="flex h-8 w-8 items-center justify-center rounded-full bg-kumo-brand text-sm font-medium text-white">
3227
+ MR
3228
+ </span>
3229
+ </DropdownMenu.Trigger>
3230
+ <DropdownMenu.Content>
3231
+ <DropdownMenu.Item icon={UserIcon}>Profile</DropdownMenu.Item>
3232
+ <DropdownMenu.Item icon={GearIcon}>Settings</DropdownMenu.Item>
3233
+ <DropdownMenu.Separator />
3234
+ <DropdownMenu.Item icon={SignOutIcon} variant="danger">
3235
+ Log out
3236
+ </DropdownMenu.Item>
3237
+ </DropdownMenu.Content>
3238
+ </DropdownMenu>
3239
+ ```
3240
+
3241
+ ```tsx
3242
+ <DropdownMenu>
3243
+ <DropdownMenu.Trigger render={<Button>Resources</Button>} />
3244
+ <DropdownMenu.Content>
3245
+ <DropdownMenu.LinkItem href="/settings" icon={GearIcon}>
3246
+ Settings
3247
+ </DropdownMenu.LinkItem>
3248
+ <DropdownMenu.LinkItem href="/docs" icon={BookOpenIcon}>
3249
+ Documentation
3250
+ </DropdownMenu.LinkItem>
3251
+ <DropdownMenu.Separator />
3252
+ <DropdownMenu.LinkItem
3253
+ href="https://developers.cloudflare.com"
3254
+ target="_blank"
3255
+ icon={ArrowSquareOutIcon}
3256
+ >
3257
+ Developer Docs
3258
+ </DropdownMenu.LinkItem>
3259
+ </DropdownMenu.Content>
3260
+ </DropdownMenu>
3261
+ ```
3262
+
3263
+
2984
3264
  ---
2985
3265
 
2986
3266
  ### Empty
@@ -5228,7 +5508,7 @@ Select component
5228
5508
  Whether the select is required. When `false`, shows "(optional)" text.
5229
5509
  - `labelTooltip`: ReactNode
5230
5510
  Tooltip content displayed next to the label via an info icon.
5231
- - `value`: string
5511
+ - `value`: T
5232
5512
  Currently selected value (controlled mode).
5233
5513
  - `children`: ReactNode
5234
5514
  `Select.Option` elements to render in the dropdown.
@@ -5236,10 +5516,16 @@ Select component
5236
5516
  Helper text displayed below the select.
5237
5517
  - `error`: string | object
5238
5518
  Error message string or validation error object with `match` key.
5239
- - `onValueChange`: (value: string) => void
5519
+ - `onValueChange`: (value: T) => void
5240
5520
  Callback when selection changes
5241
- - `defaultValue`: string
5521
+ - `defaultValue`: T
5242
5522
  Initial value for uncontrolled mode
5523
+ - `renderValue`: (value: T) => ReactNode
5524
+ A function that returns a ReactNode to format the selected value in the trigger. Required when using object values. Use `placeholder` for the empty state.
5525
+ - `items`: Record<string, string> | Array<{ label: ReactNode; value: T }>
5526
+ Data structure of items rendered in the popup. Accepts a plain object map (`{ key: "Label" }`) or an array of `{ label, value }` for object/complex values.
5527
+ - `isItemEqualToValue`: (item: T, value: T) => boolean
5528
+ Custom equality function for comparing items. Required when value is an object, since object identity (`===`) won't match across renders.
5243
5529
 
5244
5530
  **Colors (kumo tokens used):**
5245
5531
 
@@ -7382,6 +7668,15 @@ Toasty — toast notification provider and viewport. Renders a `Toast.Provider`
7382
7668
  **Styling:**
7383
7669
 
7384
7670
 
7671
+ **Examples:**
7672
+
7673
+ ```tsx
7674
+ <Toasty>
7675
+ <ToastTitleOnlyButton />
7676
+ </Toasty>
7677
+ ```
7678
+
7679
+
7385
7680
  ---
7386
7681
 
7387
7682
  ### Tooltip
@@ -7412,6 +7707,27 @@ Accessible popup that shows additional information on hover/focus. Wrap your app
7412
7707
 
7413
7708
  `bg-kumo-base`, `fill-kumo-base`, `fill-kumo-tip-shadow`, `fill-kumo-tip-stroke`, `outline-kumo-fill`, `text-kumo-default`
7414
7709
 
7710
+ **Sub-Components:**
7711
+
7712
+ This is a compound component. Use these sub-components:
7713
+
7714
+ #### Tooltip.Provider
7715
+
7716
+ 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.
7717
+
7718
+ Props:
7719
+ - `delay`: number [default: 600] - How long to wait (ms) before opening a tooltip once the pointer enters the trigger.
7720
+ - `closeDelay`: number [default: 0] - How long to wait (ms) before closing a tooltip.
7721
+ - `timeout`: number [default: 400] - Grace period (ms) during which a just-closed tooltip's delay is skipped when another tooltip opens.
7722
+
7723
+ Usage:
7724
+ ```tsx
7725
+ <TooltipProvider>
7726
+ <App />
7727
+ </TooltipProvider>
7728
+ ```
7729
+
7730
+
7415
7731
  **Examples:**
7416
7732
 
7417
7733
  ```tsx
package/ai/schemas.ts CHANGED
@@ -659,12 +659,15 @@ export const SelectPropsSchema = z.object({
659
659
  disabled: z.boolean().optional(), // Whether the select is disabled.
660
660
  required: z.boolean().optional(), // Whether the select is required. When `false`, shows "(optional)" text.
661
661
  labelTooltip: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(), // Tooltip content displayed next to the label via an info icon.
662
- value: z.string().optional(), // Currently selected value (controlled mode).
662
+ value: z.unknown().optional(), // Currently selected value (controlled mode).
663
663
  children: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(), // `Select.Option` elements to render in the dropdown.
664
664
  description: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(), // Helper text displayed below the select.
665
665
  error: z.unknown().optional(), // Error message string or validation error object with `match` key.
666
666
  onValueChange: z.unknown().optional(), // Callback when selection changes
667
- defaultValue: z.string().optional(), // Initial value for uncontrolled mode
667
+ defaultValue: z.unknown().optional(), // Initial value for uncontrolled mode
668
+ renderValue: z.unknown().optional(), // A function that returns a ReactNode to format the selected value in the trigger. Required when using object values. Use `placeholder` for the empty state.
669
+ items: z.unknown().optional(), // Data structure of items rendered in the popup. Accepts a plain object map (`{ key: "Label" }`) or an array of `{ label, value }` for object/complex values.
670
+ isItemEqualToValue: z.unknown().optional(), // Custom equality function for comparing items. Required when value is an object, since object identity (`===`) won't match across renders.
668
671
  });
669
672
 
670
673
  export const SensitiveInputPropsSchema = z.object({
@@ -1 +1 @@
1
- 1777571062774
1
+ 1777924927320
@@ -929,7 +929,7 @@ export declare const SelectPropsSchema: z.ZodObject<{
929
929
  labelTooltip: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodObject<{
930
930
  path: z.ZodString;
931
931
  }, z.core.$strip>]>]>>;
932
- value: z.ZodOptional<z.ZodString>;
932
+ value: z.ZodOptional<z.ZodUnknown>;
933
933
  children: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodObject<{
934
934
  path: z.ZodString;
935
935
  }, z.core.$strip>]>]>>;
@@ -938,7 +938,10 @@ export declare const SelectPropsSchema: z.ZodObject<{
938
938
  }, z.core.$strip>]>]>>;
939
939
  error: z.ZodOptional<z.ZodUnknown>;
940
940
  onValueChange: z.ZodOptional<z.ZodUnknown>;
941
- defaultValue: z.ZodOptional<z.ZodString>;
941
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
942
+ renderValue: z.ZodOptional<z.ZodUnknown>;
943
+ items: z.ZodOptional<z.ZodUnknown>;
944
+ isItemEqualToValue: z.ZodOptional<z.ZodUnknown>;
942
945
  }, z.core.$strip>;
943
946
  export declare const SensitiveInputPropsSchema: z.ZodObject<{
944
947
  alt: z.ZodOptional<z.ZodString>;
@@ -2056,7 +2059,7 @@ export declare const ComponentPropsSchemas: {
2056
2059
  labelTooltip: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodObject<{
2057
2060
  path: z.ZodString;
2058
2061
  }, z.core.$strip>]>]>>;
2059
- value: z.ZodOptional<z.ZodString>;
2062
+ value: z.ZodOptional<z.ZodUnknown>;
2060
2063
  children: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodObject<{
2061
2064
  path: z.ZodString;
2062
2065
  }, z.core.$strip>]>]>>;
@@ -2065,7 +2068,10 @@ export declare const ComponentPropsSchemas: {
2065
2068
  }, z.core.$strip>]>]>>;
2066
2069
  error: z.ZodOptional<z.ZodUnknown>;
2067
2070
  onValueChange: z.ZodOptional<z.ZodUnknown>;
2068
- defaultValue: z.ZodOptional<z.ZodString>;
2071
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
2072
+ renderValue: z.ZodOptional<z.ZodUnknown>;
2073
+ items: z.ZodOptional<z.ZodUnknown>;
2074
+ isItemEqualToValue: z.ZodOptional<z.ZodUnknown>;
2069
2075
  }, z.core.$strip>;
2070
2076
  readonly SensitiveInput: z.ZodObject<{
2071
2077
  alt: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../ai/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../ai/schemas.ts"],"names":[],"mappings":"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"}