@camunda/design-system 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/carbon-compat/combo-box.d.ts.map +1 -1
- package/dist/carbon-compat/combo-box.js +22 -63
- package/dist/carbon-compat/combo-box.js.map +1 -1
- package/dist/carbon-compat/index.d.ts +2 -2
- package/dist/carbon-compat/index.d.ts.map +1 -1
- package/dist/carbon-compat/index.js +2 -2
- package/dist/carbon-compat/index.js.map +1 -1
- package/dist/src/components/ui/combobox.d.ts +44 -0
- package/dist/src/components/ui/combobox.d.ts.map +1 -0
- package/dist/src/components/ui/combobox.js +96 -0
- package/dist/src/components/ui/combobox.js.map +1 -0
- package/dist/src/components/ui/multi-select.d.ts +3 -1
- package/dist/src/components/ui/multi-select.d.ts.map +1 -1
- package/dist/src/components/ui/multi-select.js +12 -4
- package/dist/src/components/ui/multi-select.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/specs/schema.d.ts +13 -0
- package/dist/src/specs/schema.d.ts.map +1 -1
- package/dist/styles.css +19 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combo-box.d.ts","sourceRoot":"","sources":["../../carbon-compat/combo-box.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"combo-box.d.ts","sourceRoot":"","sources":["../../carbon-compat/combo-box.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAI1E,MAAM,MAAM,aAAa,CAAC,QAAQ,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AAYpE,iBAAS,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,qBAmJzD;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import { useVirtualizer } from "@tanstack/react-virtual";
|
|
4
|
-
import { Popover, PopoverContent, PopoverTrigger, } from "../src/components/ui/popover.js";
|
|
5
|
-
import { cn } from "../src/lib/utils.js";
|
|
6
3
|
import { warnDroppedProps } from "../src/lib/utils.js";
|
|
7
|
-
|
|
8
|
-
const MAX_LIST_HEIGHT = 256;
|
|
4
|
+
import { Combobox } from "../src/components/ui/combobox.js";
|
|
9
5
|
function defaultItemToString(item) {
|
|
10
6
|
if (item == null)
|
|
11
7
|
return "";
|
|
@@ -17,43 +13,6 @@ function defaultItemToString(item) {
|
|
|
17
13
|
}
|
|
18
14
|
return String(item);
|
|
19
15
|
}
|
|
20
|
-
// Mounted only when popover is open — keeps virtualizer lifecycle scoped to open state.
|
|
21
|
-
// Arrow-key nav limited to DOM-visible items; primary UX is type-to-filter + click/Enter.
|
|
22
|
-
// Uses plain divs instead of cmdk CommandItem to avoid cmdk iterating the full item list.
|
|
23
|
-
function VirtualList({ items, toString, filterValue, onFilterChange, onSelect, placeholder, ariaLabel, }) {
|
|
24
|
-
const inputRef = React.useRef(null);
|
|
25
|
-
React.useEffect(() => {
|
|
26
|
-
inputRef.current?.focus();
|
|
27
|
-
}, []);
|
|
28
|
-
const filtered = React.useMemo(() => filterValue
|
|
29
|
-
? items.filter((item) => toString(item).toLowerCase().includes(filterValue.toLowerCase()))
|
|
30
|
-
: items,
|
|
31
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
32
|
-
[items, filterValue]);
|
|
33
|
-
const listRef = React.useRef(null);
|
|
34
|
-
const virtualizer = useVirtualizer({
|
|
35
|
-
count: filtered.length,
|
|
36
|
-
getScrollElement: () => listRef.current,
|
|
37
|
-
estimateSize: () => ITEM_HEIGHT,
|
|
38
|
-
overscan: 5,
|
|
39
|
-
});
|
|
40
|
-
const listHeight = Math.min(filtered.length * ITEM_HEIGHT, MAX_LIST_HEIGHT);
|
|
41
|
-
return (_jsxs("div", { className: "flex flex-col", children: [_jsx("div", { className: "border-b px-3", children: _jsx("input", { ref: inputRef, className: "h-9 w-full bg-transparent text-sm outline-none placeholder:text-muted-foreground", placeholder: placeholder ?? "Search…", value: filterValue, onChange: (e) => onFilterChange(e.target.value), "aria-label": ariaLabel ?? placeholder ?? "Search" }) }), filtered.length === 0 ? (_jsx("p", { className: "py-5 text-center text-sm text-muted-foreground", children: "No results." })) : (_jsx("div", { ref: listRef, style: { height: listHeight, overflowY: "auto" }, role: "listbox", "aria-label": ariaLabel, children: _jsx("div", { style: { height: virtualizer.getTotalSize(), position: "relative" }, children: virtualizer.getVirtualItems().map((vItem) => {
|
|
42
|
-
const label = toString(filtered[vItem.index]);
|
|
43
|
-
return (_jsx("div", { role: "option", "aria-selected": false, tabIndex: 0, style: {
|
|
44
|
-
position: "absolute",
|
|
45
|
-
top: 0,
|
|
46
|
-
transform: `translateY(${vItem.start}px)`,
|
|
47
|
-
height: ITEM_HEIGHT,
|
|
48
|
-
width: "100%",
|
|
49
|
-
}, className: cn("flex cursor-pointer items-center px-2 text-sm", "hover:bg-accent hover:text-accent-foreground", "focus:bg-accent focus:text-accent-foreground focus:outline-none"), onClick: () => onSelect(label), onKeyDown: (e) => {
|
|
50
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
51
|
-
e.preventDefault();
|
|
52
|
-
onSelect(label);
|
|
53
|
-
}
|
|
54
|
-
}, children: label }, vItem.key));
|
|
55
|
-
}) }) }))] }));
|
|
56
|
-
}
|
|
57
16
|
function ComboBox(props) {
|
|
58
17
|
const { id, items, itemToString, selectedItem, initialSelectedItem, onChange, placeholder, disabled, className, helperText, invalid, invalidText, warn, warnText, light, size, titleText, readOnly, direction, autoAlign, allowCustomValue, typeahead, decorator, slug, ariaLabel, "aria-label": ariaLabelHyphen, onInputChange, onToggleClick, shouldFilterItem, itemToElement, downshiftProps, downshiftActions, inputProps, translateWithId, } = props;
|
|
59
18
|
warnDroppedProps("ComboBox", {
|
|
@@ -80,29 +39,29 @@ function ComboBox(props) {
|
|
|
80
39
|
translateWithId,
|
|
81
40
|
});
|
|
82
41
|
const toString = itemToString ?? defaultItemToString;
|
|
83
|
-
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
const handleSelect = (value) => {
|
|
93
|
-
setSelectedLabel(value);
|
|
94
|
-
setFilterValue("");
|
|
95
|
-
setOpen(false);
|
|
96
|
-
onInputChange?.(value);
|
|
42
|
+
// Map items to ComboboxOption. Value = stringified label (stable identity for selection).
|
|
43
|
+
const options = items.map((item) => ({
|
|
44
|
+
label: toString(item),
|
|
45
|
+
value: toString(item),
|
|
46
|
+
}));
|
|
47
|
+
const value = selectedItem != null ? toString(selectedItem) : undefined;
|
|
48
|
+
const defaultValue = initialSelectedItem != null ? toString(initialSelectedItem) : undefined;
|
|
49
|
+
function handleValueChange(newValue) {
|
|
50
|
+
onInputChange?.(newValue ?? "");
|
|
97
51
|
if (!onChange)
|
|
98
52
|
return;
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
53
|
+
if (newValue == null) {
|
|
54
|
+
onChange({ selectedItem: null, inputValue: null });
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const match = items.find((item) => toString(item) === newValue) ?? null;
|
|
58
|
+
onChange({ selectedItem: match, inputValue: newValue });
|
|
59
|
+
}
|
|
60
|
+
return (_jsxs("div", { className: "flex flex-col gap-1", children: [titleText != null ? (_jsx("label", { htmlFor: id, className: "text-sm font-medium", children: titleText })) : null, _jsx(Combobox, { id: id, options: options, value: value, defaultValue: defaultValue, onValueChange: handleValueChange, placeholder: placeholder, disabled: disabled, className: className, "aria-label": ariaLabelHyphen ?? ariaLabel,
|
|
61
|
+
// Preserve original Carbon order — consumers own sorting.
|
|
62
|
+
sortFn: () => 0,
|
|
63
|
+
// Virtualize so large datasets (e.g. 10k items) stay performant.
|
|
64
|
+
virtualized: true })] }));
|
|
106
65
|
}
|
|
107
66
|
export { ComboBox };
|
|
108
67
|
//# sourceMappingURL=combo-box.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combo-box.js","sourceRoot":"","sources":["../../carbon-compat/combo-box.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"combo-box.js","sourceRoot":"","sources":["../../carbon-compat/combo-box.tsx"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,8 @@ export * from "./select.js";
|
|
|
25
25
|
export * from "./select-skeleton.js";
|
|
26
26
|
export * from "./skeleton-text.js";
|
|
27
27
|
export * from "./stack.js";
|
|
28
|
+
export * from "./filterable-multi-select.js";
|
|
29
|
+
export * from "./structured-list.js";
|
|
28
30
|
export * from "./structured-list-skeleton.js";
|
|
29
31
|
export * from "./switch.js";
|
|
30
32
|
export * from "./table.js";
|
|
@@ -49,7 +51,6 @@ export * from "./heading.js";
|
|
|
49
51
|
export * from "./inline-loading.js";
|
|
50
52
|
export * from "./inline-notification.js";
|
|
51
53
|
export * from "./layer.js";
|
|
52
|
-
export * from "./filterable-multi-select.js";
|
|
53
54
|
export * from "./form.js";
|
|
54
55
|
export * from "./multi-select.js";
|
|
55
56
|
export * from "./ordered-list.js";
|
|
@@ -57,7 +58,6 @@ export * from "./pagination.js";
|
|
|
57
58
|
export * from "./password-input.js";
|
|
58
59
|
export * from "./section.js";
|
|
59
60
|
export * from "./skeleton-icon.js";
|
|
60
|
-
export * from "./structured-list.js";
|
|
61
61
|
export * from "./table-batch-actions.js";
|
|
62
62
|
export * from "./table-container.js";
|
|
63
63
|
export * from "./table-expand.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../carbon-compat/index.ts"],"names":[],"mappings":"AASA,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AAOjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../carbon-compat/index.ts"],"names":[],"mappings":"AASA,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AAOjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC"}
|
|
@@ -34,6 +34,8 @@ export * from "./select.js";
|
|
|
34
34
|
export * from "./select-skeleton.js";
|
|
35
35
|
export * from "./skeleton-text.js";
|
|
36
36
|
export * from "./stack.js";
|
|
37
|
+
export * from "./filterable-multi-select.js";
|
|
38
|
+
export * from "./structured-list.js";
|
|
37
39
|
export * from "./structured-list-skeleton.js";
|
|
38
40
|
export * from "./switch.js";
|
|
39
41
|
export * from "./table.js";
|
|
@@ -63,7 +65,6 @@ export * from "./heading.js";
|
|
|
63
65
|
export * from "./inline-loading.js";
|
|
64
66
|
export * from "./inline-notification.js";
|
|
65
67
|
export * from "./layer.js";
|
|
66
|
-
export * from "./filterable-multi-select.js";
|
|
67
68
|
export * from "./form.js";
|
|
68
69
|
export * from "./multi-select.js";
|
|
69
70
|
export * from "./ordered-list.js";
|
|
@@ -71,7 +72,6 @@ export * from "./pagination.js";
|
|
|
71
72
|
export * from "./password-input.js";
|
|
72
73
|
export * from "./section.js";
|
|
73
74
|
export * from "./skeleton-icon.js";
|
|
74
|
-
export * from "./structured-list.js";
|
|
75
75
|
export * from "./table-batch-actions.js";
|
|
76
76
|
export * from "./table-container.js";
|
|
77
77
|
export * from "./table-expand.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../carbon-compat/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,+DAA+D;AAC/D,EAAE;AACF,oDAAoD;AACpD,wEAAwE;AACxE,qEAAqE;AACrE,qEAAqE;AACrE,yDAAyD;AACzD,2EAA2E;AAC3E,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AAEjC,2EAA2E;AAC3E,sEAAsE;AACtE,8DAA8D;AAC9D,6BAA6B;AAC7B,2EAA2E;AAC3E,cAAc,2BAA2B,CAAC;AAC1C,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../carbon-compat/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,+DAA+D;AAC/D,EAAE;AACF,oDAAoD;AACpD,wEAAwE;AACxE,qEAAqE;AACrE,qEAAqE;AACrE,yDAAyD;AACzD,2EAA2E;AAC3E,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AAEjC,2EAA2E;AAC3E,sEAAsE;AACtE,8DAA8D;AAC9D,6BAA6B;AAC7B,2EAA2E;AAC3E,cAAc,2BAA2B,CAAC;AAC1C,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface ComboboxOption {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface ComboboxProps {
|
|
8
|
+
options: ComboboxOption[];
|
|
9
|
+
/** Controlled selected value. */
|
|
10
|
+
value?: string;
|
|
11
|
+
/** Initial selected value for uncontrolled usage. */
|
|
12
|
+
defaultValue?: string;
|
|
13
|
+
onValueChange?: (value: string | undefined) => void;
|
|
14
|
+
placeholder?: string;
|
|
15
|
+
searchPlaceholder?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Custom sort function applied to options before rendering.
|
|
18
|
+
* Defaults to alphabetical ascending by label.
|
|
19
|
+
* Pass `() => 0` to preserve the original array order.
|
|
20
|
+
*/
|
|
21
|
+
sortFn?: (a: ComboboxOption, b: ComboboxOption) => number;
|
|
22
|
+
emptyIndicator?: React.ReactNode;
|
|
23
|
+
size?: "default" | "sm";
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Virtualizes the option list using @tanstack/react-virtual.
|
|
27
|
+
*
|
|
28
|
+
* **Use when:** options.length > ~500. Without this, cmdk renders all items as DOM nodes
|
|
29
|
+
* on open — measurable lag at 500+, tab freeze at 5k+.
|
|
30
|
+
*
|
|
31
|
+
* **Avoid when:** list is short. The virtual list bypasses cmdk and loses its full
|
|
32
|
+
* keyboard navigation; type-to-filter becomes the primary interaction model.
|
|
33
|
+
*
|
|
34
|
+
* Arrow-key nav works only within the currently visible viewport, not the full list.
|
|
35
|
+
*/
|
|
36
|
+
virtualized?: boolean;
|
|
37
|
+
id?: string;
|
|
38
|
+
className?: string;
|
|
39
|
+
"aria-label"?: string;
|
|
40
|
+
"aria-labelledby"?: string;
|
|
41
|
+
}
|
|
42
|
+
declare function Combobox({ options, value: controlledValue, defaultValue, onValueChange, placeholder, searchPlaceholder, sortFn, emptyIndicator, size, disabled, virtualized, id, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }: ComboboxProps): React.JSX.Element;
|
|
43
|
+
export { Combobox };
|
|
44
|
+
//# sourceMappingURL=combobox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,KAAK,MAAM,CAAC;IAC1D,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAwID,iBAAS,QAAQ,CAAC,EAChB,OAAO,EACP,KAAK,EAAE,eAAe,EACtB,YAAY,EACZ,aAAa,EACb,WAAiC,EACjC,iBAA6B,EAC7B,MAAsB,EACtB,cAAc,EACd,IAAgB,EAChB,QAAgB,EAChB,WAAmB,EACnB,EAAE,EACF,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,GAClC,EAAE,aAAa,qBAuJf;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { Popover as PopoverPrimitive } from "radix-ui";
|
|
5
|
+
import { CheckIcon, ChevronDownIcon } from "lucide-react";
|
|
6
|
+
import { useVirtualizer } from "@tanstack/react-virtual";
|
|
7
|
+
import { cn } from "../../lib/utils.js";
|
|
8
|
+
import { C4Provider } from "./c4-provider.js";
|
|
9
|
+
import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, } from "./command.js";
|
|
10
|
+
const ITEM_HEIGHT = 32;
|
|
11
|
+
const MAX_LIST_HEIGHT = 256;
|
|
12
|
+
const defaultSortFn = (a, b) => a.label.localeCompare(b.label);
|
|
13
|
+
// Mounted only when popover is open. Arrow-key nav is limited to DOM-visible items;
|
|
14
|
+
// primary UX is type-to-filter + click/Enter. Does not depend on cmdk.
|
|
15
|
+
function VirtualList({ items, selectedValue, filterValue, onFilterChange, onSelect, searchPlaceholder, emptyIndicator, }) {
|
|
16
|
+
const inputRef = React.useRef(null);
|
|
17
|
+
React.useEffect(() => {
|
|
18
|
+
inputRef.current?.focus();
|
|
19
|
+
}, []);
|
|
20
|
+
const filtered = React.useMemo(() => filterValue
|
|
21
|
+
? items.filter((o) => o.label.toLowerCase().includes(filterValue.toLowerCase()))
|
|
22
|
+
: items, [items, filterValue]);
|
|
23
|
+
const listRef = React.useRef(null);
|
|
24
|
+
// eslint-disable-next-line react-hooks/incompatible-library
|
|
25
|
+
const virtualizer = useVirtualizer({
|
|
26
|
+
count: filtered.length,
|
|
27
|
+
getScrollElement: () => listRef.current,
|
|
28
|
+
estimateSize: () => ITEM_HEIGHT,
|
|
29
|
+
overscan: 5,
|
|
30
|
+
});
|
|
31
|
+
const listHeight = Math.min(filtered.length * ITEM_HEIGHT, MAX_LIST_HEIGHT);
|
|
32
|
+
return (_jsxs("div", { className: "flex flex-col", children: [_jsx("div", { className: "border-b px-3", children: _jsx("input", { ref: inputRef, className: "h-9 w-full bg-transparent text-sm outline-none placeholder:text-muted-foreground", placeholder: searchPlaceholder ?? "Search…", value: filterValue, onChange: (e) => onFilterChange(e.target.value), "aria-label": searchPlaceholder ?? "Search" }) }), filtered.length === 0 ? (_jsx("p", { className: "py-5 text-center text-sm text-muted-foreground", children: emptyIndicator ?? "No results found" })) : (_jsx("div", { ref: listRef, style: { height: listHeight, overflowY: "auto" }, role: "listbox", children: _jsx("div", { style: { height: virtualizer.getTotalSize(), position: "relative" }, children: virtualizer.getVirtualItems().map((vItem) => {
|
|
33
|
+
const option = filtered[vItem.index];
|
|
34
|
+
const isSelected = option.value === selectedValue;
|
|
35
|
+
return (_jsxs("div", { role: "option", "aria-selected": isSelected, "aria-disabled": option.disabled, tabIndex: option.disabled ? -1 : 0, style: {
|
|
36
|
+
position: "absolute",
|
|
37
|
+
top: 0,
|
|
38
|
+
transform: `translateY(${vItem.start}px)`,
|
|
39
|
+
height: ITEM_HEIGHT,
|
|
40
|
+
width: "100%",
|
|
41
|
+
}, className: cn("flex cursor-pointer items-center gap-2 px-2 text-sm", "hover:bg-accent hover:text-accent-foreground", "focus:bg-accent focus:text-accent-foreground focus:outline-none", option.disabled &&
|
|
42
|
+
"pointer-events-none cursor-not-allowed opacity-50"), onClick: () => {
|
|
43
|
+
if (!option.disabled)
|
|
44
|
+
onSelect(option.value);
|
|
45
|
+
}, onKeyDown: (e) => {
|
|
46
|
+
if ((e.key === "Enter" || e.key === " ") &&
|
|
47
|
+
!option.disabled) {
|
|
48
|
+
e.preventDefault();
|
|
49
|
+
onSelect(option.value);
|
|
50
|
+
}
|
|
51
|
+
}, children: [_jsx(CheckIcon, { className: cn("size-4 shrink-0", isSelected ? "opacity-100" : "opacity-0"), "aria-hidden": "true" }), option.label] }, vItem.key));
|
|
52
|
+
}) }) }))] }));
|
|
53
|
+
}
|
|
54
|
+
function Combobox({ options, value: controlledValue, defaultValue, onValueChange, placeholder = "Select an option…", searchPlaceholder = "Search…", sortFn = defaultSortFn, emptyIndicator, size = "default", disabled = false, virtualized = false, id, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }) {
|
|
55
|
+
if (process.env.NODE_ENV === "development" &&
|
|
56
|
+
!virtualized &&
|
|
57
|
+
options.length > 500) {
|
|
58
|
+
console.warn(`Combobox: ${options.length} options rendered without virtualized=true. ` +
|
|
59
|
+
"Consider passing virtualized to avoid render lag.");
|
|
60
|
+
}
|
|
61
|
+
const [open, setOpen] = React.useState(false);
|
|
62
|
+
const [internalValue, setInternalValue] = React.useState(defaultValue);
|
|
63
|
+
// Used only when virtualized=true; cmdk manages its own filter state otherwise.
|
|
64
|
+
const [filterValue, setFilterValue] = React.useState("");
|
|
65
|
+
const isControlled = controlledValue !== undefined;
|
|
66
|
+
const selected = isControlled ? controlledValue : internalValue;
|
|
67
|
+
const sorted = React.useMemo(() => [...options].sort(sortFn), [options, sortFn]);
|
|
68
|
+
const selectedOption = sorted.find((o) => o.value === selected);
|
|
69
|
+
function handleOpenChange(nextOpen) {
|
|
70
|
+
if (disabled)
|
|
71
|
+
return;
|
|
72
|
+
if (!nextOpen)
|
|
73
|
+
setFilterValue("");
|
|
74
|
+
setOpen(nextOpen);
|
|
75
|
+
}
|
|
76
|
+
function handleSelect(optionValue) {
|
|
77
|
+
const next = optionValue === selected ? undefined : optionValue;
|
|
78
|
+
if (!isControlled)
|
|
79
|
+
setInternalValue(next);
|
|
80
|
+
onValueChange?.(next);
|
|
81
|
+
setOpen(false);
|
|
82
|
+
setFilterValue("");
|
|
83
|
+
}
|
|
84
|
+
return (_jsxs(PopoverPrimitive.Root, { open: open, onOpenChange: handleOpenChange, children: [_jsx(PopoverPrimitive.Trigger, { asChild: true, children: _jsxs("button", { "data-slot": "combobox", "data-size": size, id: id, type: "button", role: "combobox", "aria-expanded": open, "aria-haspopup": "listbox", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-disabled": disabled ? "true" : undefined, disabled: disabled, className: cn("flex w-fit items-center justify-between gap-2 rounded-lg border border-input bg-input-background px-3 py-2 text-sm whitespace-nowrap transition-all duration-200 outline-none select-none", "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50", "disabled:cursor-not-allowed disabled:opacity-50", "data-[size=default]:h-9 data-[size=sm]:h-8", !selectedOption && "text-muted-foreground", className), children: [_jsx("span", { className: "truncate", children: selectedOption?.label ?? placeholder }), _jsx(ChevronDownIcon, { className: "pointer-events-none size-4 shrink-0 opacity-50", "aria-hidden": "true" })] }) }), _jsx(PopoverPrimitive.Portal, { children: _jsx(C4Provider, { children: _jsx(PopoverPrimitive.Content, { "data-slot": "combobox-content", align: "start", sideOffset: 4, className: cn("z-50 w-[--radix-popover-trigger-width] p-0 rounded-lg border border-input bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden", "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", "data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95", "data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95"), children: virtualized ? (open && (_jsx(VirtualList, { items: sorted, selectedValue: selected, filterValue: filterValue, onFilterChange: setFilterValue, onSelect: handleSelect, searchPlaceholder: searchPlaceholder, emptyIndicator: emptyIndicator }))) : (_jsxs(Command, { filter: (value, search) => {
|
|
85
|
+
const option = sorted.find((o) => o.value === value);
|
|
86
|
+
return option?.label
|
|
87
|
+
.toLowerCase()
|
|
88
|
+
.includes(search.toLowerCase())
|
|
89
|
+
? 1
|
|
90
|
+
: 0;
|
|
91
|
+
}, children: [_jsx(CommandInput, { placeholder: searchPlaceholder, "aria-label": searchPlaceholder }), _jsxs(CommandList, { children: [_jsx(CommandEmpty, { children: emptyIndicator ?? "No results found" }), _jsx(CommandGroup, { children: sorted.map((option) => (_jsxs(CommandItem, { value: option.value, disabled: option.disabled, onSelect: handleSelect, className: "gap-2", children: [_jsx(CheckIcon, { className: cn("size-4 shrink-0", selected === option.value
|
|
92
|
+
? "opacity-100"
|
|
93
|
+
: "opacity-0"), "aria-hidden": "true" }), option.label] }, option.value))) })] })] })) }) }) })] }));
|
|
94
|
+
}
|
|
95
|
+
export { Combobox };
|
|
96
|
+
//# sourceMappingURL=combobox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox.js","sourceRoot":"","sources":["../../../../src/components/ui/combobox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,8 @@ export interface MultiSelectProps {
|
|
|
18
18
|
placeholder?: string;
|
|
19
19
|
searchable?: boolean;
|
|
20
20
|
searchPlaceholder?: string;
|
|
21
|
+
/** Sort flat options and group options alphabetically by label. Defaults to true. */
|
|
22
|
+
sorted?: boolean;
|
|
21
23
|
maxCount?: number;
|
|
22
24
|
hideSelectAll?: boolean;
|
|
23
25
|
closeOnSelect?: boolean;
|
|
@@ -29,6 +31,6 @@ export interface MultiSelectProps {
|
|
|
29
31
|
"aria-label"?: string;
|
|
30
32
|
"aria-labelledby"?: string;
|
|
31
33
|
}
|
|
32
|
-
declare function MultiSelect({ options, value: controlledValue, defaultValue, onValueChange, placeholder, searchable, searchPlaceholder, maxCount, hideSelectAll, closeOnSelect, emptyIndicator, size, disabled, id, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }: MultiSelectProps): React.JSX.Element;
|
|
34
|
+
declare function MultiSelect({ options, value: controlledValue, defaultValue, onValueChange, placeholder, searchable, searchPlaceholder, sorted, maxCount, hideSelectAll, closeOnSelect, emptyIndicator, size, disabled, id, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }: MultiSelectProps): React.JSX.Element;
|
|
33
35
|
export { MultiSelect };
|
|
34
36
|
//# sourceMappingURL=multi-select.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-select.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/multi-select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAe/C,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;IAClD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAcD,iBAAS,WAAW,CAAC,EACnB,OAAO,EACP,KAAK,EAAE,eAAe,EACtB,YAAY,EACZ,aAAa,EACb,WAA+B,EAC/B,UAAiB,EACjB,iBAA6B,EAC7B,QAAY,EACZ,aAAqB,EACrB,aAAqB,EACrB,cAAc,EACd,IAAgB,EAChB,QAAgB,EAChB,EAAE,EACF,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,GAClC,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"multi-select.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/multi-select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAe/C,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;IAClD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qFAAqF;IACrF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAcD,iBAAS,WAAW,CAAC,EACnB,OAAO,EACP,KAAK,EAAE,eAAe,EACtB,YAAY,EACZ,aAAa,EACb,WAA+B,EAC/B,UAAiB,EACjB,iBAA6B,EAC7B,MAAa,EACb,QAAY,EACZ,aAAqB,EACrB,aAAqB,EACrB,cAAc,EACd,IAAgB,EAChB,QAAgB,EAChB,EAAE,EACF,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,GAClC,EAAE,gBAAgB,qBA+QlB;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -15,7 +15,7 @@ function isGroup(item) {
|
|
|
15
15
|
function getAllOptions(options) {
|
|
16
16
|
return options.flatMap((item) => (isGroup(item) ? item.options : [item]));
|
|
17
17
|
}
|
|
18
|
-
function MultiSelect({ options, value: controlledValue, defaultValue, onValueChange, placeholder = "Select options…", searchable = true, searchPlaceholder = "Search…", maxCount = 3, hideSelectAll = false, closeOnSelect = false, emptyIndicator, size = "default", disabled = false, id, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }) {
|
|
18
|
+
function MultiSelect({ options, value: controlledValue, defaultValue, onValueChange, placeholder = "Select options…", searchable = true, searchPlaceholder = "Search…", sorted = true, maxCount = 3, hideSelectAll = false, closeOnSelect = false, emptyIndicator, size = "default", disabled = false, id, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }) {
|
|
19
19
|
const [open, setOpen] = React.useState(false);
|
|
20
20
|
const [internalValue, setInternalValue] = React.useState(defaultValue ?? []);
|
|
21
21
|
const isControlled = controlledValue !== undefined;
|
|
@@ -69,11 +69,19 @@ function MultiSelect({ options, value: controlledValue, defaultValue, onValueCha
|
|
|
69
69
|
}
|
|
70
70
|
return map;
|
|
71
71
|
}, [options]);
|
|
72
|
-
const groupedItems = options.filter(isGroup)
|
|
73
|
-
|
|
72
|
+
const groupedItems = options.filter(isGroup).map((g) => sorted
|
|
73
|
+
? {
|
|
74
|
+
...g,
|
|
75
|
+
options: [...g.options].sort((a, b) => a.label.localeCompare(b.label)),
|
|
76
|
+
}
|
|
77
|
+
: g);
|
|
78
|
+
const rawFlatItems = options.filter((o) => !isGroup(o));
|
|
79
|
+
const flatItems = sorted
|
|
80
|
+
? [...rawFlatItems].sort((a, b) => a.label.localeCompare(b.label))
|
|
81
|
+
: rawFlatItems;
|
|
74
82
|
return (_jsxs(PopoverPrimitive.Root, { open: open, onOpenChange: disabled ? undefined : setOpen, children: [_jsx(PopoverPrimitive.Trigger, { asChild: true, children: _jsxs("button", { "data-slot": "multi-select", "data-size": size, id: id, type: "button", role: "combobox", "aria-expanded": open, "aria-haspopup": "listbox", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-disabled": disabled ? "true" : undefined, disabled: disabled, onKeyDown: handleTriggerKeyDown, className: cn("flex w-full min-h-9 flex-wrap items-center gap-1 rounded-lg border border-input bg-input-background px-2 py-1 text-sm text-left transition-all duration-200 outline-none", "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50", "disabled:cursor-not-allowed disabled:opacity-50", "data-[size=sm]:min-h-8", selected.length === 0 && "text-muted-foreground", className), children: [selected.length === 0 ? (_jsx("span", { className: "flex-1 truncate", children: placeholder })) : (_jsxs(_Fragment, { children: [visibleChips.map((v) => {
|
|
75
83
|
const label = optionLabelMap.get(v) ?? v;
|
|
76
|
-
return (_jsxs(Badge, { variant: "outline", className: "gap-0.5 pr-0.5", children: [label, _jsx("button", { type: "button", "aria-label": `Remove ${label}`, onClick: (e) => removeOption(v, e), className: "ml-0.5 rounded-sm opacity-60 hover:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring", children: _jsx(XIcon, { className: "size-3", "aria-hidden": "true" }) })] }, v));
|
|
84
|
+
return (_jsxs(Badge, { variant: "outline", className: "gap-0.5 pr-0.5 max-w-[200px]", children: [_jsx("span", { className: "truncate min-w-0", children: label }), _jsx("button", { type: "button", "aria-label": `Remove ${label}`, onClick: (e) => removeOption(v, e), className: "ml-0.5 shrink-0 rounded-sm opacity-60 hover:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring", children: _jsx(XIcon, { className: "size-3", "aria-hidden": "true" }) })] }, v));
|
|
77
85
|
}), overflowCount > 0 && (_jsxs(Badge, { variant: "outline", className: "gap-0.5 pr-0.5", children: [_jsxs("span", { children: ["+", overflowCount, " more"] }), _jsx("button", { type: "button", "aria-label": `Remove ${overflowCount} more selected items`, onClick: removeOverflow, className: "ml-0.5 rounded-sm opacity-60 hover:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring", children: _jsx(XIcon, { className: "size-3", "aria-hidden": "true" }) })] }))] })), _jsx(ChevronDownIcon, { className: "ml-auto size-4 shrink-0 opacity-50 pointer-events-none", "aria-hidden": "true" })] }) }), _jsx(PopoverPrimitive.Portal, { children: _jsx(C4Provider, { children: _jsx(PopoverPrimitive.Content, { "data-slot": "multi-select-content", align: "start", sideOffset: 4, className: cn("z-50 w-[--radix-popover-trigger-width] p-0 rounded-lg border border-input bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden", "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", "data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95", "data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95"), children: _jsxs(Command, { children: [searchable && (_jsx(CommandInput, { placeholder: searchPlaceholder, "aria-label": searchPlaceholder })), _jsxs(CommandList, { children: [_jsx(CommandEmpty, { children: emptyIndicator ?? "No results found" }), !hideSelectAll && (_jsx(CommandGroup, { children: _jsxs(CommandItem, { onSelect: handleSelectAll, className: "gap-2", children: [_jsx(Checkbox, { checked: allSelected, "aria-hidden": "true", tabIndex: -1, className: "pointer-events-none" }), _jsx(ListChecksIcon, { className: "size-4 text-muted-foreground", "aria-hidden": "true" }), allSelected ? "Clear All" : "Select All"] }) })), flatItems.length > 0 && (_jsx(CommandGroup, { children: flatItems.map((option) => {
|
|
78
86
|
const isSelected = selected.includes(option.value);
|
|
79
87
|
const Icon = option.icon;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-select.js","sourceRoot":"","sources":["../../../../src/components/ui/multi-select.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAmB,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EACL,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,GACZ,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"multi-select.js","sourceRoot":"","sources":["../../../../src/components/ui/multi-select.tsx"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, Breadcr
|
|
|
6
6
|
export { Button, buttonVariants } from "./components/ui/button.js";
|
|
7
7
|
export { NavBreadcrumb, NavBreadcrumbItem, } from "./components/ui/nav-breadcrumb.js";
|
|
8
8
|
export { C4Provider } from "./components/ui/c4-provider.js";
|
|
9
|
+
export { Combobox, type ComboboxOption, type ComboboxProps, } from "./components/ui/combobox.js";
|
|
9
10
|
export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "./components/ui/card.js";
|
|
10
11
|
export { Checkbox } from "./components/ui/checkbox.js";
|
|
11
12
|
export { Collapsible, CollapsibleContent, CollapsibleTrigger, } from "./components/ui/collapsible.js";
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -6,6 +6,7 @@ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, Breadcr
|
|
|
6
6
|
export { Button, buttonVariants } from "./components/ui/button.js";
|
|
7
7
|
export { NavBreadcrumb, NavBreadcrumbItem, } from "./components/ui/nav-breadcrumb.js";
|
|
8
8
|
export { C4Provider } from "./components/ui/c4-provider.js";
|
|
9
|
+
export { Combobox, } from "./components/ui/combobox.js";
|
|
9
10
|
export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "./components/ui/card.js";
|
|
10
11
|
export { Checkbox } from "./components/ui/checkbox.js";
|
|
11
12
|
export { Collapsible, CollapsibleContent, CollapsibleTrigger, } from "./components/ui/collapsible.js";
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
export interface ComponentSpec {
|
|
15
15
|
component: ComponentHeader;
|
|
16
16
|
usage: Usage;
|
|
17
|
+
api?: Api;
|
|
17
18
|
variants?: Record<string, Variant>;
|
|
18
19
|
composition?: Composition;
|
|
19
20
|
behavior?: Behavior;
|
|
@@ -21,6 +22,16 @@ export interface ComponentSpec {
|
|
|
21
22
|
aiHints?: AIHints;
|
|
22
23
|
examples?: Example[];
|
|
23
24
|
}
|
|
25
|
+
export interface Api {
|
|
26
|
+
props?: PropDef[];
|
|
27
|
+
}
|
|
28
|
+
export interface PropDef {
|
|
29
|
+
name: string;
|
|
30
|
+
type: string;
|
|
31
|
+
required?: boolean;
|
|
32
|
+
defaultValue?: string;
|
|
33
|
+
description: string;
|
|
34
|
+
}
|
|
24
35
|
export interface ComponentHeader {
|
|
25
36
|
name: string;
|
|
26
37
|
description: string;
|
|
@@ -84,6 +95,8 @@ export interface Accessibility {
|
|
|
84
95
|
screenReader?: string[];
|
|
85
96
|
/** WCAG 2.1 AA criteria this component is responsible for. */
|
|
86
97
|
wcag?: string[];
|
|
98
|
+
/** ARIA attributes applied by the component (e.g. "aria-expanded reflects open state"). */
|
|
99
|
+
ariaAttributes?: string[];
|
|
87
100
|
notes?: string[];
|
|
88
101
|
}
|
|
89
102
|
export interface AIHints {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/specs/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,KAAK;IACpB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,6EAA6E;IAC7E,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClD,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,uDAAuD;IACvD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,uGAAuG;IACvG,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/specs/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/styles.css
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Code", monospace;
|
|
6
6
|
--color-red-500: oklch(63.7% 0.237 25.331);
|
|
7
7
|
--color-orange-100: oklch(95.4% 0.038 75.164);
|
|
8
|
+
--color-amber-400: oklch(82.8% 0.189 84.429);
|
|
8
9
|
--color-emerald-600: oklch(59.6% 0.145 163.225);
|
|
9
10
|
--color-blue-500: oklch(62.3% 0.214 259.815);
|
|
10
11
|
--color-gray-200: oklch(92.8% 0.006 264.531);
|
|
@@ -660,6 +661,9 @@
|
|
|
660
661
|
.w-full {
|
|
661
662
|
width: 100%;
|
|
662
663
|
}
|
|
664
|
+
.max-w-\[200px\] {
|
|
665
|
+
max-width: 200px;
|
|
666
|
+
}
|
|
663
667
|
.max-w-\[360px\] {
|
|
664
668
|
max-width: 360px;
|
|
665
669
|
}
|
|
@@ -1121,6 +1125,9 @@
|
|
|
1121
1125
|
border-color: color-mix(in oklab, var(--destructive) 30%, transparent);
|
|
1122
1126
|
}
|
|
1123
1127
|
}
|
|
1128
|
+
.border-foreground {
|
|
1129
|
+
border-color: var(--foreground);
|
|
1130
|
+
}
|
|
1124
1131
|
.border-gray-200 {
|
|
1125
1132
|
border-color: var(--color-gray-200);
|
|
1126
1133
|
}
|
|
@@ -1160,9 +1167,15 @@
|
|
|
1160
1167
|
.border-l-transparent {
|
|
1161
1168
|
border-left-color: transparent;
|
|
1162
1169
|
}
|
|
1170
|
+
.bg-\[var\(--color-blue-500\)\] {
|
|
1171
|
+
background-color: var(--color-blue-500);
|
|
1172
|
+
}
|
|
1163
1173
|
.bg-accent {
|
|
1164
1174
|
background-color: var(--accent);
|
|
1165
1175
|
}
|
|
1176
|
+
.bg-amber-400 {
|
|
1177
|
+
background-color: var(--color-amber-400);
|
|
1178
|
+
}
|
|
1166
1179
|
.bg-background {
|
|
1167
1180
|
background-color: var(--background);
|
|
1168
1181
|
}
|
|
@@ -1244,6 +1257,9 @@
|
|
|
1244
1257
|
background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
|
|
1245
1258
|
}
|
|
1246
1259
|
}
|
|
1260
|
+
.bg-emerald-600 {
|
|
1261
|
+
background-color: var(--color-emerald-600);
|
|
1262
|
+
}
|
|
1247
1263
|
.bg-foreground {
|
|
1248
1264
|
background-color: var(--foreground);
|
|
1249
1265
|
}
|
|
@@ -1841,6 +1857,9 @@
|
|
|
1841
1857
|
.opacity-70 {
|
|
1842
1858
|
opacity: 70%;
|
|
1843
1859
|
}
|
|
1860
|
+
.opacity-100 {
|
|
1861
|
+
opacity: 100%;
|
|
1862
|
+
}
|
|
1844
1863
|
.shadow {
|
|
1845
1864
|
--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
|
|
1846
1865
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camunda/design-system",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Camunda's AI-first design system. shadcn + Tailwind components, design tokens aligned to Camunda's identity, and AI tooling for component authoring + migration.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|