@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.
- package/CHANGELOG.md +17 -0
- package/ai/component-registry.json +220 -30
- package/ai/component-registry.md +305 -19
- package/dist/.build-complete +1 -1
- package/dist/blocks-source/resource-list/resource-list.tsx +1 -1
- package/dist/chunks/{autocomplete-cs3fwy6lwzlyirpq.js → autocomplete-48aq0d244bs2e8zv.js} +3 -3
- package/dist/chunks/{autocomplete-cs3fwy6lwzlyirpq.js.map → autocomplete-48aq0d244bs2e8zv.js.map} +1 -1
- package/dist/chunks/{checkbox-eren6w2csum1xghg.js → checkbox-hvxfvhtx1qjo2mww.js} +2 -2
- package/dist/chunks/{checkbox-eren6w2csum1xghg.js.map → checkbox-hvxfvhtx1qjo2mww.js.map} +1 -1
- package/dist/chunks/{clipboard-text-f9q753udny1uyxr5.js → clipboard-text-hswydzx3iql369sd.js} +2 -2
- package/dist/chunks/{clipboard-text-f9q753udny1uyxr5.js.map → clipboard-text-hswydzx3iql369sd.js.map} +1 -1
- package/dist/chunks/{code-cz0w1y5z4h29a9eg.js → code-f9v1ikwhekqw274q.js} +4 -4
- package/dist/chunks/{code-cz0w1y5z4h29a9eg.js.map → code-f9v1ikwhekqw274q.js.map} +1 -1
- package/dist/chunks/{collapsible-k8urhi16pg90jvxa.js → collapsible-nlp2jvcyuzxmq28o.js} +12 -11
- package/dist/chunks/{collapsible-k8urhi16pg90jvxa.js.map → collapsible-nlp2jvcyuzxmq28o.js.map} +1 -1
- package/dist/chunks/{combobox-n9qht9h9ag6kh5sn.js → combobox-fq36ye0hstote16x.js} +10 -10
- package/dist/chunks/{combobox-n9qht9h9ag6kh5sn.js.map → combobox-fq36ye0hstote16x.js.map} +1 -1
- package/dist/chunks/{command-palette-gk9m34ymp2b3hfc5.js → command-palette-md65owxt5hv4rt9r.js} +142 -142
- package/dist/chunks/{command-palette-gk9m34ymp2b3hfc5.js.map → command-palette-md65owxt5hv4rt9r.js.map} +1 -1
- package/dist/chunks/{date-range-picker-c9wnx9tbwohai7jy.js → date-range-picker-o8uyril1kogvhoei.js} +19 -19
- package/dist/chunks/{date-range-picker-c9wnx9tbwohai7jy.js.map → date-range-picker-o8uyril1kogvhoei.js.map} +1 -1
- package/dist/chunks/{dialog-94v7wiz7j3in6528.js → dialog-k3f1fbam6nt96k8x.js} +2 -2
- package/dist/chunks/{dialog-94v7wiz7j3in6528.js.map → dialog-k3f1fbam6nt96k8x.js.map} +1 -1
- package/dist/chunks/{empty-kpymw59thjf2ip8g.js → empty-b82oer7npkhtkx7k.js} +6 -6
- package/dist/chunks/{empty-kpymw59thjf2ip8g.js.map → empty-b82oer7npkhtkx7k.js.map} +1 -1
- package/dist/chunks/{field-lnj619xpe8zjd26r.js → field-c0wf94plit2gci59.js} +2 -2
- package/dist/chunks/{field-lnj619xpe8zjd26r.js.map → field-c0wf94plit2gci59.js.map} +1 -1
- package/dist/chunks/{input-area-h8xbqturegdfm1mi.js → input-area-bkyzu6f7gsck479h.js} +3 -3
- package/dist/chunks/{input-area-h8xbqturegdfm1mi.js.map → input-area-bkyzu6f7gsck479h.js.map} +1 -1
- package/dist/chunks/{input-group-dh4pg8p20rh4mdi0.js → input-group-bidweffa0zyg8gt0.js} +3 -3
- package/dist/chunks/{input-group-dh4pg8p20rh4mdi0.js.map → input-group-bidweffa0zyg8gt0.js.map} +1 -1
- package/dist/chunks/{input-lpa5fc75tgrraafv.js → input-ncfowphv81yq7fyy.js} +18 -18
- package/dist/chunks/input-ncfowphv81yq7fyy.js.map +1 -0
- package/dist/chunks/{label-be8m7qzlakzig2sl.js → label-c3h9i3y4wiccelt7.js} +22 -22
- package/dist/chunks/{label-be8m7qzlakzig2sl.js.map → label-c3h9i3y4wiccelt7.js.map} +1 -1
- package/dist/chunks/{layer-card-hvivdirwwnyq88wa.js → layer-card-ikm31xemd70w3lru.js} +2 -2
- package/dist/chunks/{layer-card-hvivdirwwnyq88wa.js.map → layer-card-ikm31xemd70w3lru.js.map} +1 -1
- package/dist/chunks/{meter-bqetlujwg8gm2u7m.js → meter-n34a7yb8c3rim26i.js} +2 -2
- package/dist/chunks/{meter-bqetlujwg8gm2u7m.js.map → meter-n34a7yb8c3rim26i.js.map} +1 -1
- package/dist/chunks/{pagination-ho8zesqfyp6ckmrl.js → pagination-jb3mncivbwsoi1se.js} +40 -40
- package/dist/chunks/{pagination-ho8zesqfyp6ckmrl.js.map → pagination-jb3mncivbwsoi1se.js.map} +1 -1
- package/dist/chunks/{select-kpfbib9l8xrrmzpz.js → select-g261chvosodu22i8.js} +3 -3
- package/dist/chunks/{select-kpfbib9l8xrrmzpz.js.map → select-g261chvosodu22i8.js.map} +1 -1
- package/dist/chunks/{sensitive-input-i1upqytzaw2pus8v.js → sensitive-input-cijagk551mesdtk4.js} +3 -3
- package/dist/chunks/{sensitive-input-i1upqytzaw2pus8v.js.map → sensitive-input-cijagk551mesdtk4.js.map} +1 -1
- package/dist/chunks/{sidebar-kh37grvfxto14ek6.js → sidebar-kb9kykqfgy5yzqwr.js} +4 -4
- package/dist/chunks/{sidebar-kh37grvfxto14ek6.js.map → sidebar-kb9kykqfgy5yzqwr.js.map} +1 -1
- package/dist/chunks/{surface-o63tktyrifcjejyb.js → surface-k0e8mq1x00b7i8r6.js} +2 -2
- package/dist/chunks/{surface-o63tktyrifcjejyb.js.map → surface-k0e8mq1x00b7i8r6.js.map} +1 -1
- package/dist/chunks/{switch-lclhiplr9zqf73tj.js → switch-jdfsr3j3oa1qxegw.js} +2 -2
- package/dist/chunks/{switch-lclhiplr9zqf73tj.js.map → switch-jdfsr3j3oa1qxegw.js.map} +1 -1
- package/dist/chunks/{table-fyy8gl875yyevqs3.js → table-iudje0lva0z68jto.js} +2 -2
- package/dist/chunks/{table-fyy8gl875yyevqs3.js.map → table-iudje0lva0z68jto.js.map} +1 -1
- package/dist/chunks/{tabs-jywwt8ebjqjkux75.js → tabs-mkhf1uemgr3ij0ps.js} +3 -3
- package/dist/chunks/{tabs-jywwt8ebjqjkux75.js.map → tabs-mkhf1uemgr3ij0ps.js.map} +1 -1
- package/dist/chunks/toast-h573o0tc7tefivk2.js.map +1 -1
- package/dist/code.js +30 -30
- package/dist/code.js.map +1 -1
- package/dist/components/autocomplete.js +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/clipboard-text.js +1 -1
- package/dist/components/code.js +1 -1
- package/dist/components/collapsible.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/command-palette.js +1 -1
- package/dist/components/date-range-picker.js +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/empty.js +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/input-group.js +1 -1
- package/dist/components/input.js +3 -3
- package/dist/components/label.js +1 -1
- package/dist/components/layer-card.js +1 -1
- package/dist/components/meter.js +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sensitive-input.js +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/components/surface.js +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/index.js +27 -27
- package/dist/scripts/theme-generator/config.js +11 -4
- package/dist/scripts/theme-generator/config.js.map +1 -1
- package/dist/src/components/code/code.d.ts +2 -2
- package/dist/src/components/collapsible/collapsible.d.ts +1 -1
- package/dist/src/components/collapsible/collapsible.d.ts.map +1 -1
- package/dist/src/components/toast/toast.d.ts +1 -1
- package/dist/src/components/toast/toast.d.ts.map +1 -1
- package/dist/styles/kumo-standalone.css +1 -1
- package/dist/styles/theme-kumo.css +8 -8
- package/package.json +1 -1
- package/scripts/component-registry/index.test.ts +42 -0
- package/scripts/component-registry/index.ts +18 -4
- package/scripts/component-registry/metadata.ts +222 -2
- package/scripts/theme-generator/config.ts +9 -9
- package/dist/chunks/input-lpa5fc75tgrraafv.js.map +0 -1
package/ai/component-registry.md
CHANGED
|
@@ -1315,7 +1315,7 @@ Cloudflare logo component.
|
|
|
1315
1315
|
<DropdownMenu.Content>
|
|
1316
1316
|
<DropdownMenu.Item
|
|
1317
1317
|
icon={CloudIcon}
|
|
1318
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
package/dist/.build-complete
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
174
|
+
//# sourceMappingURL=autocomplete-48aq0d244bs2e8zv.js.map
|
package/dist/chunks/{autocomplete-cs3fwy6lwzlyirpq.js.map → autocomplete-48aq0d244bs2e8zv.js.map}
RENAMED
|
@@ -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-
|
|
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-
|
|
210
|
+
//# sourceMappingURL=checkbox-hvxfvhtx1qjo2mww.js.map
|