@nexus-cross/design-system 1.1.0 → 1.1.1
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/cursor-rules/nexus-ui-api.mdc +127 -41
- package/cursor-rules/nexus-ui-decisions.mdc +6 -2
- package/dist/chunks/{chunk-G3RLK2HS.js → chunk-3SCSND6S.js} +1 -1
- package/dist/chunks/{chunk-56ZOOQFE.mjs → chunk-AG2UJPFX.mjs} +124 -17
- package/dist/chunks/{chunk-EILXBLEV.mjs → chunk-QWK4CLS2.mjs} +1 -1
- package/dist/chunks/{chunk-5ASTWFJW.js → chunk-RC2Y4UH7.js} +127 -17
- package/dist/combobox.js +15 -3
- package/dist/combobox.mjs +1 -1
- package/dist/components/Combobox.d.ts +53 -8
- package/dist/components/Combobox.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -3
- package/dist/index.mjs +1 -1
- package/dist/schemas/_all.json +62 -17
- package/dist/schemas/combobox.d.ts +33 -10
- package/dist/schemas/combobox.d.ts.map +1 -1
- package/dist/schemas/combobox.json +6 -6
- package/dist/schemas/comboboxOption.json +16 -11
- package/dist/schemas/comboboxOptionDescription.json +20 -0
- package/dist/schemas/comboboxOptionMeta.json +20 -0
- package/dist/schemas/index.d.ts +1 -1
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas.js +74 -13
- package/dist/schemas.mjs +72 -13
- package/dist/styles/.generated/built.d.ts +1 -1
- package/dist/styles/.generated/built.d.ts.map +1 -1
- package/dist/styles/layer.js +2 -2
- package/dist/styles/layer.mjs +1 -1
- package/dist/styles.css +13 -0
- package/dist/styles.js +2 -2
- package/dist/styles.layered.css +13 -0
- package/dist/styles.mjs +1 -1
- package/package.json +2 -2
|
@@ -42,6 +42,97 @@ var comboboxInputVariants = classVarianceAuthority.cva("nexus-combobox", {
|
|
|
42
42
|
},
|
|
43
43
|
defaultVariants: { size: "md", state: "default" }
|
|
44
44
|
});
|
|
45
|
+
function ComboboxOption(_) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
ComboboxOption.displayName = "Combobox.Option";
|
|
49
|
+
function ComboboxOptionDescription(_) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
ComboboxOptionDescription.displayName = "Combobox.OptionDescription";
|
|
53
|
+
function ComboboxOptionMeta(_) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
ComboboxOptionMeta.displayName = "Combobox.OptionMeta";
|
|
57
|
+
function isElementOfType(node, type) {
|
|
58
|
+
return React__namespace.isValidElement(node) && node.type === type;
|
|
59
|
+
}
|
|
60
|
+
function extractText(node) {
|
|
61
|
+
if (node == null || typeof node === "boolean") return "";
|
|
62
|
+
if (typeof node === "string" || typeof node === "number") return String(node);
|
|
63
|
+
if (Array.isArray(node)) {
|
|
64
|
+
return node.map(extractText).filter(Boolean).join(" ");
|
|
65
|
+
}
|
|
66
|
+
if (React__namespace.isValidElement(node)) {
|
|
67
|
+
if (node.type === ComboboxOptionDescription || node.type === ComboboxOptionMeta) {
|
|
68
|
+
return "";
|
|
69
|
+
}
|
|
70
|
+
const children = node.props?.children;
|
|
71
|
+
return extractText(children);
|
|
72
|
+
}
|
|
73
|
+
return "";
|
|
74
|
+
}
|
|
75
|
+
function resolveOptionsFromChildren(children) {
|
|
76
|
+
const resolved = [];
|
|
77
|
+
const seenValues = /* @__PURE__ */ new Set();
|
|
78
|
+
React__namespace.Children.forEach(children, (child) => {
|
|
79
|
+
if (!React__namespace.isValidElement(child)) return;
|
|
80
|
+
if (child.type !== ComboboxOption) {
|
|
81
|
+
if (process.env.NODE_ENV !== "production") {
|
|
82
|
+
const name = typeof child.type === "string" ? child.type : child.type?.displayName ?? child.type?.name ?? "Unknown";
|
|
83
|
+
console.warn(
|
|
84
|
+
`[Combobox] Ignoring child <${name}>. Only <Combobox.Option> is allowed as a direct child of <Combobox>.`
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const props = child.props;
|
|
90
|
+
const value = props.value;
|
|
91
|
+
if (typeof value !== "string" || value.length === 0) {
|
|
92
|
+
if (process.env.NODE_ENV !== "production") {
|
|
93
|
+
console.error(
|
|
94
|
+
"[Combobox] <Combobox.Option> requires a non-empty string `value` prop."
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
if (seenValues.has(value)) {
|
|
100
|
+
if (process.env.NODE_ENV !== "production") {
|
|
101
|
+
console.error(
|
|
102
|
+
`[Combobox] Duplicate option value: "${value}". Each <Combobox.Option> must have a unique \`value\`. The duplicate will be ignored.`
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
seenValues.add(value);
|
|
108
|
+
const labelNodes = [];
|
|
109
|
+
let description = null;
|
|
110
|
+
let meta = null;
|
|
111
|
+
React__namespace.Children.forEach(props.children, (slot) => {
|
|
112
|
+
if (isElementOfType(slot, ComboboxOptionDescription)) {
|
|
113
|
+
description = slot.props.children;
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
if (isElementOfType(slot, ComboboxOptionMeta)) {
|
|
117
|
+
meta = slot.props.children;
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
labelNodes.push(slot);
|
|
121
|
+
});
|
|
122
|
+
const label = labelNodes.length === 1 ? labelNodes[0] : labelNodes;
|
|
123
|
+
const textValue = typeof props.textValue === "string" && props.textValue.length > 0 ? props.textValue : extractText(label);
|
|
124
|
+
resolved.push({
|
|
125
|
+
value,
|
|
126
|
+
disabled: !!props.disabled,
|
|
127
|
+
textValue,
|
|
128
|
+
className: props.className,
|
|
129
|
+
label,
|
|
130
|
+
description,
|
|
131
|
+
meta
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
return resolved;
|
|
135
|
+
}
|
|
45
136
|
var ChevronDown = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
46
137
|
"svg",
|
|
47
138
|
{
|
|
@@ -90,8 +181,8 @@ var CloseIcon = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
|
90
181
|
);
|
|
91
182
|
function defaultFilter(option, query) {
|
|
92
183
|
if (!query) return true;
|
|
93
|
-
const
|
|
94
|
-
return
|
|
184
|
+
const haystack = option.textValue || option.value;
|
|
185
|
+
return haystack.toLowerCase().includes(query.toLowerCase());
|
|
95
186
|
}
|
|
96
187
|
function useDebouncedCallback(callback, delay) {
|
|
97
188
|
const cbRef = React__namespace.useRef(callback);
|
|
@@ -112,10 +203,10 @@ function useDebouncedCallback(callback, delay) {
|
|
|
112
203
|
[delay]
|
|
113
204
|
);
|
|
114
205
|
}
|
|
115
|
-
var
|
|
116
|
-
function
|
|
206
|
+
var ComboboxImpl = React__namespace.forwardRef(
|
|
207
|
+
function Combobox(props, ref) {
|
|
117
208
|
const {
|
|
118
|
-
|
|
209
|
+
children,
|
|
119
210
|
onSearch,
|
|
120
211
|
searchDebounce = 250,
|
|
121
212
|
loading = false,
|
|
@@ -187,11 +278,20 @@ var Combobox = React__namespace.forwardRef(
|
|
|
187
278
|
const [query, setQuery] = React__namespace.useState("");
|
|
188
279
|
const [activeIndex, setActiveIndex] = React__namespace.useState(0);
|
|
189
280
|
const debouncedSearch = useDebouncedCallback(onSearch, searchDebounce);
|
|
281
|
+
const resolvedOptions = React__namespace.useMemo(
|
|
282
|
+
() => resolveOptionsFromChildren(children),
|
|
283
|
+
[children]
|
|
284
|
+
);
|
|
190
285
|
const visibleOptions = React__namespace.useMemo(() => {
|
|
191
|
-
if (onSearch) return
|
|
286
|
+
if (onSearch) return resolvedOptions;
|
|
192
287
|
const filterFn = filter ?? defaultFilter;
|
|
193
|
-
return
|
|
194
|
-
|
|
288
|
+
return resolvedOptions.filter(
|
|
289
|
+
(o) => filterFn(
|
|
290
|
+
{ value: o.value, textValue: o.textValue, disabled: o.disabled },
|
|
291
|
+
query
|
|
292
|
+
)
|
|
293
|
+
);
|
|
294
|
+
}, [onSearch, resolvedOptions, filter, query]);
|
|
195
295
|
React__namespace.useEffect(() => {
|
|
196
296
|
if (activeIndex >= visibleOptions.length) {
|
|
197
297
|
setActiveIndex(visibleOptions.length > 0 ? 0 : -1);
|
|
@@ -219,7 +319,7 @@ var Combobox = React__namespace.forwardRef(
|
|
|
219
319
|
inputRef.current?.focus();
|
|
220
320
|
} else {
|
|
221
321
|
updateValue(option.value);
|
|
222
|
-
const labelText =
|
|
322
|
+
const labelText = option.textValue || option.value;
|
|
223
323
|
setQuery(labelText);
|
|
224
324
|
setOpen(false);
|
|
225
325
|
inputRef.current?.blur();
|
|
@@ -311,9 +411,9 @@ var Combobox = React__namespace.forwardRef(
|
|
|
311
411
|
};
|
|
312
412
|
const selectedOptionMap = React__namespace.useMemo(() => {
|
|
313
413
|
const map = /* @__PURE__ */ new Map();
|
|
314
|
-
for (const opt of
|
|
414
|
+
for (const opt of resolvedOptions) map.set(opt.value, opt);
|
|
315
415
|
return map;
|
|
316
|
-
}, [
|
|
416
|
+
}, [resolvedOptions]);
|
|
317
417
|
const prevValueRef = React__namespace.useRef(
|
|
318
418
|
currentValue
|
|
319
419
|
);
|
|
@@ -329,7 +429,7 @@ var Combobox = React__namespace.forwardRef(
|
|
|
329
429
|
return;
|
|
330
430
|
}
|
|
331
431
|
const opt = selectedOptionMap.get(currentValue);
|
|
332
|
-
const labelText = opt ?
|
|
432
|
+
const labelText = opt ? opt.textValue || currentValue : currentValue;
|
|
333
433
|
if (valueChanged) {
|
|
334
434
|
setQuery(labelText);
|
|
335
435
|
} else {
|
|
@@ -355,8 +455,9 @@ var Combobox = React__namespace.forwardRef(
|
|
|
355
455
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nexus-combobox__content", children: [
|
|
356
456
|
isMultiple && selectedValues.map((val) => {
|
|
357
457
|
const opt = selectedOptionMap.get(val);
|
|
458
|
+
const chipLabel = opt ? opt.label ?? opt.textValue ?? val : val;
|
|
358
459
|
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "nexus-combobox__chip", children: [
|
|
359
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nexus-combobox__chip-label", children:
|
|
460
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nexus-combobox__chip-label", children: chipLabel }),
|
|
360
461
|
!disabled && /* @__PURE__ */ jsxRuntime.jsx(
|
|
361
462
|
"button",
|
|
362
463
|
{
|
|
@@ -476,7 +577,8 @@ var Combobox = React__namespace.forwardRef(
|
|
|
476
577
|
"nexus-combobox-option",
|
|
477
578
|
active && "nexus-combobox-option--active",
|
|
478
579
|
selected && "nexus-combobox-option--selected",
|
|
479
|
-
option.disabled && "nexus-combobox-option--disabled"
|
|
580
|
+
option.disabled && "nexus-combobox-option--disabled",
|
|
581
|
+
option.className
|
|
480
582
|
),
|
|
481
583
|
onMouseEnter: () => setActiveIndex(idx),
|
|
482
584
|
onMouseDown: (e) => {
|
|
@@ -486,8 +588,9 @@ var Combobox = React__namespace.forwardRef(
|
|
|
486
588
|
children: [
|
|
487
589
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nexus-combobox-option__body", children: [
|
|
488
590
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nexus-combobox-option__label", children: option.label }),
|
|
489
|
-
option.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nexus-combobox-option__description", children: option.description })
|
|
591
|
+
option.description != null && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nexus-combobox-option__description", children: option.description })
|
|
490
592
|
] }),
|
|
593
|
+
option.meta != null && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nexus-combobox-option__meta", children: option.meta }),
|
|
491
594
|
selected && /* @__PURE__ */ jsxRuntime.jsx(
|
|
492
595
|
"svg",
|
|
493
596
|
{
|
|
@@ -532,7 +635,14 @@ var Combobox = React__namespace.forwardRef(
|
|
|
532
635
|
] });
|
|
533
636
|
}
|
|
534
637
|
);
|
|
535
|
-
|
|
638
|
+
ComboboxImpl.displayName = "Combobox";
|
|
639
|
+
var Combobox2 = ComboboxImpl;
|
|
640
|
+
Combobox2.Option = ComboboxOption;
|
|
641
|
+
Combobox2.OptionDescription = ComboboxOptionDescription;
|
|
642
|
+
Combobox2.OptionMeta = ComboboxOptionMeta;
|
|
536
643
|
|
|
537
|
-
exports.Combobox =
|
|
644
|
+
exports.Combobox = Combobox2;
|
|
645
|
+
exports.ComboboxOption = ComboboxOption;
|
|
646
|
+
exports.ComboboxOptionDescription = ComboboxOptionDescription;
|
|
647
|
+
exports.ComboboxOptionMeta = ComboboxOptionMeta;
|
|
538
648
|
exports.comboboxInputVariants = comboboxInputVariants;
|
package/dist/combobox.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkRC2Y4UH7_js = require('./chunks/chunk-RC2Y4UH7.js');
|
|
4
4
|
require('./chunks/chunk-IOSIQLZL.js');
|
|
5
5
|
require('./chunks/chunk-CZC76ZD5.js');
|
|
6
6
|
|
|
@@ -8,9 +8,21 @@ require('./chunks/chunk-CZC76ZD5.js');
|
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, "Combobox", {
|
|
10
10
|
enumerable: true,
|
|
11
|
-
get: function () { return
|
|
11
|
+
get: function () { return chunkRC2Y4UH7_js.Combobox; }
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "ComboboxOption", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () { return chunkRC2Y4UH7_js.ComboboxOption; }
|
|
16
|
+
});
|
|
17
|
+
Object.defineProperty(exports, "ComboboxOptionDescription", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function () { return chunkRC2Y4UH7_js.ComboboxOptionDescription; }
|
|
20
|
+
});
|
|
21
|
+
Object.defineProperty(exports, "ComboboxOptionMeta", {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () { return chunkRC2Y4UH7_js.ComboboxOptionMeta; }
|
|
12
24
|
});
|
|
13
25
|
Object.defineProperty(exports, "comboboxInputVariants", {
|
|
14
26
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
27
|
+
get: function () { return chunkRC2Y4UH7_js.comboboxInputVariants; }
|
|
16
28
|
});
|
package/dist/combobox.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { Combobox, comboboxInputVariants } from './chunks/chunk-
|
|
1
|
+
export { Combobox, ComboboxOption, ComboboxOptionDescription, ComboboxOptionMeta, comboboxInputVariants } from './chunks/chunk-AG2UJPFX.mjs';
|
|
2
2
|
import './chunks/chunk-BPUQ2CO2.mjs';
|
|
3
3
|
import './chunks/chunk-MCKOWMLS.mjs';
|
|
@@ -4,18 +4,55 @@ declare const comboboxInputVariants: (props?: ({
|
|
|
4
4
|
size?: "xl" | "lg" | "md" | null | undefined;
|
|
5
5
|
state?: "error" | "default" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
-
interface
|
|
7
|
+
interface ComboboxOptionProps {
|
|
8
|
+
/** Unique value (must be unique per Combobox; dev mode warns on duplicates). */
|
|
8
9
|
value: string;
|
|
9
|
-
|
|
10
|
-
description?: React.ReactNode;
|
|
10
|
+
/** If true, the option cannot be selected and is skipped by keyboard nav. */
|
|
11
11
|
disabled?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Text used for filtering and the input display when this option is selected.
|
|
14
|
+
* If omitted, derived from `children` (string nodes only, OptionDescription /
|
|
15
|
+
* OptionMeta excluded). Set this when the label contains icons or non-text
|
|
16
|
+
* nodes you still want to be searchable (e.g. `textValue="apple 사과"`).
|
|
17
|
+
*/
|
|
18
|
+
textValue?: string;
|
|
19
|
+
/** className passed to the rendered option `<div role="option">`. */
|
|
20
|
+
className?: string;
|
|
21
|
+
/** Label content + optional `<Combobox.OptionDescription>` / `<Combobox.OptionMeta>`. */
|
|
22
|
+
children?: React.ReactNode;
|
|
23
|
+
}
|
|
24
|
+
declare function ComboboxOption(_: ComboboxOptionProps): React.ReactElement | null;
|
|
25
|
+
declare namespace ComboboxOption {
|
|
26
|
+
var displayName: string;
|
|
27
|
+
}
|
|
28
|
+
interface ComboboxOptionSlotProps {
|
|
29
|
+
children?: React.ReactNode;
|
|
30
|
+
className?: string;
|
|
31
|
+
}
|
|
32
|
+
declare function ComboboxOptionDescription(_: ComboboxOptionSlotProps): React.ReactElement | null;
|
|
33
|
+
declare namespace ComboboxOptionDescription {
|
|
34
|
+
var displayName: string;
|
|
35
|
+
}
|
|
36
|
+
declare function ComboboxOptionMeta(_: ComboboxOptionSlotProps): React.ReactElement | null;
|
|
37
|
+
declare namespace ComboboxOptionMeta {
|
|
38
|
+
var displayName: string;
|
|
12
39
|
}
|
|
13
40
|
interface ComboboxBaseProps extends VariantProps<typeof comboboxInputVariants> {
|
|
14
|
-
|
|
41
|
+
/**
|
|
42
|
+
* Async search callback. (query: string) => void. Triggers external data
|
|
43
|
+
* fetching with debounce. When set, the consumer is responsible for
|
|
44
|
+
* swapping in matching <Combobox.Option> children — the built-in client
|
|
45
|
+
* filter is disabled.
|
|
46
|
+
*/
|
|
15
47
|
onSearch?: (query: string) => void;
|
|
16
48
|
searchDebounce?: number;
|
|
17
49
|
loading?: boolean;
|
|
18
|
-
filter
|
|
50
|
+
/** Custom client-side filter. Receives the resolved option metadata. */
|
|
51
|
+
filter?: (option: {
|
|
52
|
+
value: string;
|
|
53
|
+
textValue: string;
|
|
54
|
+
disabled: boolean;
|
|
55
|
+
}, query: string) => boolean;
|
|
19
56
|
placeholder?: string;
|
|
20
57
|
emptyMessage?: React.ReactNode;
|
|
21
58
|
loadingMessage?: React.ReactNode;
|
|
@@ -28,6 +65,8 @@ interface ComboboxBaseProps extends VariantProps<typeof comboboxInputVariants> {
|
|
|
28
65
|
className?: string;
|
|
29
66
|
popoverClassName?: string;
|
|
30
67
|
id?: string;
|
|
68
|
+
/** <Combobox.Option> elements. Other children are ignored. */
|
|
69
|
+
children?: React.ReactNode;
|
|
31
70
|
}
|
|
32
71
|
interface ComboboxSingleProps extends ComboboxBaseProps {
|
|
33
72
|
multiple?: false;
|
|
@@ -42,7 +81,13 @@ interface ComboboxMultipleProps extends ComboboxBaseProps {
|
|
|
42
81
|
onValueChange?: (value: string[]) => void;
|
|
43
82
|
}
|
|
44
83
|
type ComboboxProps = ComboboxSingleProps | ComboboxMultipleProps;
|
|
45
|
-
declare const
|
|
46
|
-
|
|
47
|
-
|
|
84
|
+
declare const ComboboxImpl: React.ForwardRefExoticComponent<ComboboxProps & React.RefAttributes<HTMLInputElement>>;
|
|
85
|
+
type ComboboxComponent = typeof ComboboxImpl & {
|
|
86
|
+
Option: typeof ComboboxOption;
|
|
87
|
+
OptionDescription: typeof ComboboxOptionDescription;
|
|
88
|
+
OptionMeta: typeof ComboboxOptionMeta;
|
|
89
|
+
};
|
|
90
|
+
declare const Combobox: ComboboxComponent;
|
|
91
|
+
export { Combobox, ComboboxOption, ComboboxOptionDescription, ComboboxOptionMeta, comboboxInputVariants, };
|
|
92
|
+
export type { ComboboxProps, ComboboxOptionProps, ComboboxOptionSlotProps, ComboboxSingleProps, ComboboxMultipleProps, };
|
|
48
93
|
//# sourceMappingURL=Combobox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../src/components/Combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,qBAAqB;;;8EAazB,CAAC;
|
|
1
|
+
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../src/components/Combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,qBAAqB;;;8EAazB,CAAC;AAYH,UAAU,mBAAmB;IAC3B,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,iBAAS,cAAc,CAAC,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAKzE;kBALQ,cAAc;;;AAQvB,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iBAAS,yBAAyB,CAChC,CAAC,EAAE,uBAAuB,GACzB,KAAK,CAAC,YAAY,GAAG,IAAI,CAE3B;kBAJQ,yBAAyB;;;AAOlC,iBAAS,kBAAkB,CACzB,CAAC,EAAE,uBAAuB,GACzB,KAAK,CAAC,YAAY,GAAG,IAAI,CAE3B;kBAJQ,kBAAkB;;;AA+I3B,UAAU,iBACR,SAAQ,YAAY,CAAC,OAAO,qBAAqB,CAAC;IAClD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,MAAM,CAAC,EAAE,CACP,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,EAC/D,KAAK,EAAE,MAAM,KACV,OAAO,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,UAAU,mBAAoB,SAAQ,iBAAiB;IACrD,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAChD;AAED,UAAU,qBAAsB,SAAQ,iBAAiB;IACvD,QAAQ,EAAE,IAAI,CAAC;IACf,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;CAC3C;AAED,KAAK,aAAa,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAsFjE,QAAA,MAAM,YAAY,wFAiiBjB,CAAC;AAQF,KAAK,iBAAiB,GAAG,OAAO,YAAY,GAAG;IAC7C,MAAM,EAAE,OAAO,cAAc,CAAC;IAC9B,iBAAiB,EAAE,OAAO,yBAAyB,CAAC;IACpD,UAAU,EAAE,OAAO,kBAAkB,CAAC;CACvC,CAAC;AAEF,QAAA,MAAM,QAAQ,EAAmB,iBAAiB,CAAC;AAKnD,OAAO,EACL,QAAQ,EACR,cAAc,EACd,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,GACtB,CAAC;AACF,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,GACtB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -18,8 +18,8 @@ export type { TableProps, TableRowProps, TdColumnProps, TableData, TableThRowDat
|
|
|
18
18
|
export { Popover, PopoverTrigger, PopoverContent, PopoverArrow, PopoverClose, popoverContentClasses, } from './components/Popover';
|
|
19
19
|
export { Tooltip, TooltipProvider, tooltipContentVariants, } from './components/Tooltip';
|
|
20
20
|
export { Select, SelectItem, selectTriggerVariants, selectContentVariants, } from './components/Select';
|
|
21
|
-
export { Combobox, comboboxInputVariants } from './components/Combobox';
|
|
22
|
-
export type { ComboboxProps,
|
|
21
|
+
export { Combobox, ComboboxOption, ComboboxOptionDescription, ComboboxOptionMeta, comboboxInputVariants, } from './components/Combobox';
|
|
22
|
+
export type { ComboboxProps, ComboboxOptionProps, ComboboxOptionSlotProps, ComboboxSingleProps, ComboboxMultipleProps, } from './components/Combobox';
|
|
23
23
|
export { DropdownMenu, DropdownMenuRoot, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, } from './components/DropdownMenu';
|
|
24
24
|
export type { DropdownMenuProps, DropdownMenuItemType } from './components/DropdownMenu';
|
|
25
25
|
export { ToggleGroup, toggleGroupVariants } from './components/ToggleGroup';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAG5D,YAAY,EACV,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAGtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAG5E,OAAO,EACL,SAAS,IAAI,KAAK,EAClB,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,SAAS,CAAA;AAEhB,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,SAAS,GACV,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAGxE,OAAO,EACL,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,SAAS,CAAA;AAChB,YAAY,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,qBAAqB,GACtB,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EACL,OAAO,EACP,eAAe,EACf,sBAAsB,GACvB,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EACL,MAAM,EACN,UAAU,EACV,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -29,7 +29,7 @@ var chunk5JHJNN2K_js = require('./chunks/chunk-5JHJNN2K.js');
|
|
|
29
29
|
var chunk2MC7XJSE_js = require('./chunks/chunk-2MC7XJSE.js');
|
|
30
30
|
var chunkB6G5TJRO_js = require('./chunks/chunk-B6G5TJRO.js');
|
|
31
31
|
var chunkOX5MEJ7B_js = require('./chunks/chunk-OX5MEJ7B.js');
|
|
32
|
-
var
|
|
32
|
+
var chunkRC2Y4UH7_js = require('./chunks/chunk-RC2Y4UH7.js');
|
|
33
33
|
var chunkIOSIQLZL_js = require('./chunks/chunk-IOSIQLZL.js');
|
|
34
34
|
var chunkBSZ2LN6E_js = require('./chunks/chunk-BSZ2LN6E.js');
|
|
35
35
|
var chunkIE4DGLMH_js = require('./chunks/chunk-IE4DGLMH.js');
|
|
@@ -607,11 +607,23 @@ Object.defineProperty(exports, "selectTriggerVariants", {
|
|
|
607
607
|
});
|
|
608
608
|
Object.defineProperty(exports, "Combobox", {
|
|
609
609
|
enumerable: true,
|
|
610
|
-
get: function () { return
|
|
610
|
+
get: function () { return chunkRC2Y4UH7_js.Combobox; }
|
|
611
|
+
});
|
|
612
|
+
Object.defineProperty(exports, "ComboboxOption", {
|
|
613
|
+
enumerable: true,
|
|
614
|
+
get: function () { return chunkRC2Y4UH7_js.ComboboxOption; }
|
|
615
|
+
});
|
|
616
|
+
Object.defineProperty(exports, "ComboboxOptionDescription", {
|
|
617
|
+
enumerable: true,
|
|
618
|
+
get: function () { return chunkRC2Y4UH7_js.ComboboxOptionDescription; }
|
|
619
|
+
});
|
|
620
|
+
Object.defineProperty(exports, "ComboboxOptionMeta", {
|
|
621
|
+
enumerable: true,
|
|
622
|
+
get: function () { return chunkRC2Y4UH7_js.ComboboxOptionMeta; }
|
|
611
623
|
});
|
|
612
624
|
Object.defineProperty(exports, "comboboxInputVariants", {
|
|
613
625
|
enumerable: true,
|
|
614
|
-
get: function () { return
|
|
626
|
+
get: function () { return chunkRC2Y4UH7_js.comboboxInputVariants; }
|
|
615
627
|
});
|
|
616
628
|
Object.defineProperty(exports, "Spinner", {
|
|
617
629
|
enumerable: true,
|
package/dist/index.mjs
CHANGED
|
@@ -27,7 +27,7 @@ export { InfiniteScroll } from './chunks/chunk-LMMON5AU.mjs';
|
|
|
27
27
|
export { Marquee } from './chunks/chunk-SJMCPSVH.mjs';
|
|
28
28
|
export { Ellipsis } from './chunks/chunk-6FMDO6TT.mjs';
|
|
29
29
|
export { Select, SelectItem, selectContentVariants, selectTriggerVariants } from './chunks/chunk-QOREDNWO.mjs';
|
|
30
|
-
export { Combobox, comboboxInputVariants } from './chunks/chunk-
|
|
30
|
+
export { Combobox, ComboboxOption, ComboboxOptionDescription, ComboboxOptionMeta, comboboxInputVariants } from './chunks/chunk-AG2UJPFX.mjs';
|
|
31
31
|
export { Spinner } from './chunks/chunk-BPUQ2CO2.mjs';
|
|
32
32
|
export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerRoot, DrawerTitle, DrawerTrigger, drawerContentVariants, drawerOverlayVariants } from './chunks/chunk-SGNRVYYQ.mjs';
|
|
33
33
|
export { Tooltip, TooltipProvider, tooltipContentVariants } from './chunks/chunk-W4GG5A7K.mjs';
|
package/dist/schemas/_all.json
CHANGED
|
@@ -638,31 +638,76 @@
|
|
|
638
638
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
639
639
|
},
|
|
640
640
|
"comboboxOption": {
|
|
641
|
-
"$ref": "#/definitions/
|
|
641
|
+
"$ref": "#/definitions/comboboxOptionPropsSchema",
|
|
642
642
|
"definitions": {
|
|
643
|
-
"
|
|
643
|
+
"comboboxOptionPropsSchema": {
|
|
644
644
|
"type": "object",
|
|
645
645
|
"properties": {
|
|
646
646
|
"value": {
|
|
647
647
|
"type": "string",
|
|
648
|
-
"description": "
|
|
649
|
-
},
|
|
650
|
-
"label": {
|
|
651
|
-
"description": "Display label (string | ReactNode)"
|
|
652
|
-
},
|
|
653
|
-
"description": {
|
|
654
|
-
"description": "Secondary text below label (ReactNode)"
|
|
648
|
+
"description": "Unique value (string, required). Duplicate values within one Combobox produce a dev-mode console.error and the duplicate option is dropped."
|
|
655
649
|
},
|
|
656
650
|
"disabled": {
|
|
657
651
|
"type": "boolean",
|
|
658
|
-
"description": "
|
|
652
|
+
"description": "Disable selection. Skipped by keyboard navigation (Arrow Up/Down, Home/End)."
|
|
653
|
+
},
|
|
654
|
+
"textValue": {
|
|
655
|
+
"type": "string",
|
|
656
|
+
"description": "Text used for client-side filtering and the input display when this option is selected. If omitted, derived from `children` (string nodes only; OptionDescription / OptionMeta are excluded). Set this when label contains icons or non-text nodes you still want searchable (e.g. textValue=\"apple 사과 fruit\")."
|
|
657
|
+
},
|
|
658
|
+
"className": {
|
|
659
|
+
"type": "string",
|
|
660
|
+
"description": "Class merged onto the rendered <div role=\"option\">."
|
|
661
|
+
},
|
|
662
|
+
"children": {
|
|
663
|
+
"description": "Label content + optional <Combobox.OptionDescription> / <Combobox.OptionMeta> slots."
|
|
659
664
|
}
|
|
660
665
|
},
|
|
661
666
|
"required": [
|
|
662
667
|
"value"
|
|
663
668
|
],
|
|
664
669
|
"additionalProperties": false,
|
|
665
|
-
"description": "Single Combobox option."
|
|
670
|
+
"description": "Single Combobox option. Direct child of <Combobox> only.\n\nWHEN TO USE:\n • One per selectable item; `value` MUST be unique within the Combobox\n • Wrap rich content (icons, badges) directly as children — no escape hatch needed\n • Use textValue when label is non-text (e.g. <Combobox.Option value=\"apple\" textValue=\"사과 apple\">🍎</Combobox.Option>)\n\nANTI-PATTERNS:\n ✗ <Combobox><div><Combobox.Option/></div></Combobox> — Option must be a direct child\n ✗ Same value on two options → dev warning + silent drop; pick unique values\n ✗ Putting label text inside <Combobox.OptionDescription> — that slot is the secondary line below the label"
|
|
671
|
+
}
|
|
672
|
+
},
|
|
673
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
674
|
+
},
|
|
675
|
+
"comboboxOptionDescription": {
|
|
676
|
+
"$ref": "#/definitions/comboboxOptionDescriptionPropsSchema",
|
|
677
|
+
"definitions": {
|
|
678
|
+
"comboboxOptionDescriptionPropsSchema": {
|
|
679
|
+
"type": "object",
|
|
680
|
+
"properties": {
|
|
681
|
+
"children": {
|
|
682
|
+
"description": "Secondary text below the label (ReactNode)."
|
|
683
|
+
},
|
|
684
|
+
"className": {
|
|
685
|
+
"type": "string",
|
|
686
|
+
"description": "Class for the description node."
|
|
687
|
+
}
|
|
688
|
+
},
|
|
689
|
+
"additionalProperties": false,
|
|
690
|
+
"description": "Secondary text shown below an option label. Use for hints like \"Republic of Korea\" beneath \"한국\". Excluded from textValue-based search."
|
|
691
|
+
}
|
|
692
|
+
},
|
|
693
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
694
|
+
},
|
|
695
|
+
"comboboxOptionMeta": {
|
|
696
|
+
"$ref": "#/definitions/comboboxOptionMetaPropsSchema",
|
|
697
|
+
"definitions": {
|
|
698
|
+
"comboboxOptionMetaPropsSchema": {
|
|
699
|
+
"type": "object",
|
|
700
|
+
"properties": {
|
|
701
|
+
"children": {
|
|
702
|
+
"description": "Right-aligned meta content (price, badge, shortcut, etc.)."
|
|
703
|
+
},
|
|
704
|
+
"className": {
|
|
705
|
+
"type": "string",
|
|
706
|
+
"description": "Class for the meta slot."
|
|
707
|
+
}
|
|
708
|
+
},
|
|
709
|
+
"additionalProperties": false,
|
|
710
|
+
"description": "Right-aligned slot inside an option. Use for prices, keyboard shortcuts, version tags, status badges. Excluded from textValue-based search."
|
|
666
711
|
}
|
|
667
712
|
},
|
|
668
713
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -673,8 +718,8 @@
|
|
|
673
718
|
"comboboxPropsSchema": {
|
|
674
719
|
"type": "object",
|
|
675
720
|
"properties": {
|
|
676
|
-
"
|
|
677
|
-
"description": "
|
|
721
|
+
"children": {
|
|
722
|
+
"description": "<Combobox.Option> elements (required). Other children are ignored with a dev-mode warning. Async-search consumers swap this list as `onSearch` results arrive."
|
|
678
723
|
},
|
|
679
724
|
"value": {
|
|
680
725
|
"description": "Selected value. string for single, string[] for multiple"
|
|
@@ -691,7 +736,7 @@
|
|
|
691
736
|
"description": "Multi-select mode. Selected values shown as chips inside input"
|
|
692
737
|
},
|
|
693
738
|
"onSearch": {
|
|
694
|
-
"description": "Async search callback. (query: string) => void. Triggers external data fetching with debounce"
|
|
739
|
+
"description": "Async search callback. (query: string) => void. Triggers external data fetching with debounce. When set, the built-in client filter is disabled — render whatever <Combobox.Option> children match the latest results."
|
|
695
740
|
},
|
|
696
741
|
"searchDebounce": {
|
|
697
742
|
"type": "number",
|
|
@@ -701,10 +746,10 @@
|
|
|
701
746
|
"loading": {
|
|
702
747
|
"type": "boolean",
|
|
703
748
|
"default": false,
|
|
704
|
-
"description": "Externally-controlled loading state. Shows spinner in input suffix"
|
|
749
|
+
"description": "Externally-controlled loading state. Shows spinner in input suffix and a status row inside the popover."
|
|
705
750
|
},
|
|
706
751
|
"filter": {
|
|
707
|
-
"description": "Custom client-side filter. (option, query) => boolean. Default: case-insensitive
|
|
752
|
+
"description": "Custom client-side filter. (option: { value, textValue, disabled }, query: string) => boolean. Default: case-insensitive textValue includes match. Ignored when onSearch is set."
|
|
708
753
|
},
|
|
709
754
|
"placeholder": {
|
|
710
755
|
"type": "string",
|
|
@@ -760,7 +805,7 @@
|
|
|
760
805
|
}
|
|
761
806
|
},
|
|
762
807
|
"additionalProperties": false,
|
|
763
|
-
"description": "Searchable select. Text input + popover listbox. Single/multi-select. Sync (auto-filter) or async (onSearch + loading) modes.\n\nWHEN TO USE:\n • Options ≥ 7, OR labels are long, OR search/filter is needed → Combobox (not Select)\n • Multi-select form field → Combobox with multiple (chips render inside input)\n • Async data from server → set onSearch + loading\nFor ≤7 simple options use Select. For free-text tags use TagInput.\n\
|
|
808
|
+
"description": "Searchable select with compound option API. Text input + popover listbox. Single/multi-select. Sync (auto-filter) or async (onSearch + loading) modes.\n\nWHEN TO USE:\n • Options ≥ 7, OR labels are long, OR search/filter is needed → Combobox (not Select)\n • Multi-select form field → Combobox with multiple (chips render inside input)\n • Async data from server → set onSearch + loading\nFor ≤7 simple options use Select. For free-text tags use TagInput.\n\nCOMPOUND API:\n <Combobox value={v} onValueChange={setV} placeholder=\"…\">\n <Combobox.Option value=\"kr\">한국</Combobox.Option>\n <Combobox.Option value=\"jp\" disabled>\n 일본\n <Combobox.OptionDescription>품절</Combobox.OptionDescription>\n <Combobox.OptionMeta>JP</Combobox.OptionMeta>\n </Combobox.Option>\n </Combobox>\n\n • <Combobox.Option> requires unique `value` (dev mode warns on duplicates and drops the duplicate)\n • <Combobox.OptionDescription> = secondary line under label\n • <Combobox.OptionMeta> = right-aligned slot (price, shortcut, badge)\n • Both slots are excluded from textValue-based search\n\nASYNC PATTERN:\n <Combobox loading={isFetching} onSearch={(q) => mutate(q)}>\n {results.map((u) => (\n <Combobox.Option key={u.id} value={u.id}>{u.name}\n <Combobox.OptionDescription>{u.email}</Combobox.OptionDescription>\n </Combobox.Option>\n ))}\n </Combobox>\n — onSearch fires after searchDebounce (default 250ms). Do NOT clear input on result update; component preserves user's typing.\n\nIME (Korean/Japanese/Chinese): Enter during composition is ignored automatically — do not add custom keydown handlers.\n\nANTI-PATTERNS:\n ✗ <Select> with 20 options → <Combobox>\n ✗ Manual <input> + dropdown div + filter logic → <Combobox>\n ✗ Passing options through a prop array (legacy API removed) → use <Combobox.Option> children\n ✗ Wrapping options in extra elements (<div><Combobox.Option/></div>) → keep them as direct children\n ✗ Same `value` on two <Combobox.Option> — duplicates are warned + dropped in dev mode\n ✗ Setting value externally to clear input mid-typing → use onValueChange instead"
|
|
764
809
|
}
|
|
765
810
|
},
|
|
766
811
|
"$schema": "http://json-schema.org/draft-07/schema#"
|