@alpic-ai/ui 0.0.0-dev.gb915b21 → 0.0.0-dev.gba11954
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.
|
@@ -11,8 +11,6 @@ interface ComboboxBaseProps {
|
|
|
11
11
|
open?: boolean;
|
|
12
12
|
defaultOpen?: boolean;
|
|
13
13
|
onOpenChange?: (open: boolean) => void;
|
|
14
|
-
/** Resolves a selected value to a display label (e.g. for multi-select tags). Defaults to the value. */
|
|
15
|
-
getOptionLabel?: (value: string) => string;
|
|
16
14
|
}
|
|
17
15
|
interface ComboboxSingleProps extends ComboboxBaseProps {
|
|
18
16
|
multiple?: false;
|
|
@@ -15,7 +15,7 @@ function useComboboxContext() {
|
|
|
15
15
|
return context;
|
|
16
16
|
}
|
|
17
17
|
function Combobox(props) {
|
|
18
|
-
const { children, multiple = false, open: controlledOpen, defaultOpen = false, onOpenChange: controlledOnOpenChange
|
|
18
|
+
const { children, multiple = false, open: controlledOpen, defaultOpen = false, onOpenChange: controlledOnOpenChange } = props;
|
|
19
19
|
const [uncontrolledSingleValue, setUncontrolledSingleValue] = useState(!multiple ? props.defaultValue ?? null : null);
|
|
20
20
|
const [uncontrolledMultiValue, setUncontrolledMultiValue] = useState(multiple ? props.defaultValue ?? [] : []);
|
|
21
21
|
const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);
|
|
@@ -77,8 +77,7 @@ function Combobox(props) {
|
|
|
77
77
|
onDeselect,
|
|
78
78
|
isSelected,
|
|
79
79
|
open,
|
|
80
|
-
onOpenChange
|
|
81
|
-
getOptionLabel
|
|
80
|
+
onOpenChange
|
|
82
81
|
}), [
|
|
83
82
|
multiple,
|
|
84
83
|
singleValue,
|
|
@@ -87,8 +86,7 @@ function Combobox(props) {
|
|
|
87
86
|
onDeselect,
|
|
88
87
|
isSelected,
|
|
89
88
|
open,
|
|
90
|
-
onOpenChange
|
|
91
|
-
getOptionLabel
|
|
89
|
+
onOpenChange
|
|
92
90
|
]);
|
|
93
91
|
return /* @__PURE__ */ jsx(ComboboxContext.Provider, {
|
|
94
92
|
value: contextValue,
|
|
@@ -122,11 +120,10 @@ function ComboboxTrigger({ className, size, placeholder, children, ...props }) {
|
|
|
122
120
|
});
|
|
123
121
|
}
|
|
124
122
|
function ComboboxTags({ values, onDeselect }) {
|
|
125
|
-
const { getOptionLabel } = useComboboxContext();
|
|
126
123
|
return /* @__PURE__ */ jsx(Fragment, { children: values.map((tagValue) => /* @__PURE__ */ jsx(TagDismissible, {
|
|
127
124
|
onClick: (event) => event.stopPropagation(),
|
|
128
125
|
onDismiss: () => onDeselect(tagValue),
|
|
129
|
-
children:
|
|
126
|
+
children: tagValue
|
|
130
127
|
}, tagValue)) });
|
|
131
128
|
}
|
|
132
129
|
function ComboboxContent({ className, children, filter, ...props }) {
|
package/package.json
CHANGED
|
@@ -21,8 +21,6 @@ interface ComboboxContextValue {
|
|
|
21
21
|
isSelected: (itemValue: string) => boolean;
|
|
22
22
|
open: boolean;
|
|
23
23
|
onOpenChange: (open: boolean) => void;
|
|
24
|
-
/** Resolves a selected value to a display label (e.g. for multi-select tags). Defaults to the value. */
|
|
25
|
-
getOptionLabel?: (value: string) => string;
|
|
26
24
|
}
|
|
27
25
|
|
|
28
26
|
const ComboboxContext = createContext<ComboboxContextValue | null>(null);
|
|
@@ -42,8 +40,6 @@ interface ComboboxBaseProps {
|
|
|
42
40
|
open?: boolean;
|
|
43
41
|
defaultOpen?: boolean;
|
|
44
42
|
onOpenChange?: (open: boolean) => void;
|
|
45
|
-
/** Resolves a selected value to a display label (e.g. for multi-select tags). Defaults to the value. */
|
|
46
|
-
getOptionLabel?: (value: string) => string;
|
|
47
43
|
}
|
|
48
44
|
|
|
49
45
|
interface ComboboxSingleProps extends ComboboxBaseProps {
|
|
@@ -69,7 +65,6 @@ function Combobox(props: ComboboxProps) {
|
|
|
69
65
|
open: controlledOpen,
|
|
70
66
|
defaultOpen = false,
|
|
71
67
|
onOpenChange: controlledOnOpenChange,
|
|
72
|
-
getOptionLabel,
|
|
73
68
|
} = props;
|
|
74
69
|
|
|
75
70
|
// Single mode state
|
|
@@ -180,9 +175,8 @@ function Combobox(props: ComboboxProps) {
|
|
|
180
175
|
isSelected,
|
|
181
176
|
open,
|
|
182
177
|
onOpenChange,
|
|
183
|
-
getOptionLabel,
|
|
184
178
|
}),
|
|
185
|
-
[multiple, singleValue, multiValues, onSelect, onDeselect, isSelected, open, onOpenChange
|
|
179
|
+
[multiple, singleValue, multiValues, onSelect, onDeselect, isSelected, open, onOpenChange],
|
|
186
180
|
);
|
|
187
181
|
|
|
188
182
|
return (
|
|
@@ -235,7 +229,6 @@ function ComboboxTrigger({ className, size, placeholder, children, ...props }: C
|
|
|
235
229
|
/* ── Tags (internal, for multi-select trigger) ────────────────────────────── */
|
|
236
230
|
|
|
237
231
|
function ComboboxTags({ values, onDeselect }: { values: string[]; onDeselect: (value: string) => void }) {
|
|
238
|
-
const { getOptionLabel } = useComboboxContext();
|
|
239
232
|
return (
|
|
240
233
|
<>
|
|
241
234
|
{values.map((tagValue) => (
|
|
@@ -244,7 +237,7 @@ function ComboboxTags({ values, onDeselect }: { values: string[]; onDeselect: (v
|
|
|
244
237
|
onClick={(event) => event.stopPropagation()}
|
|
245
238
|
onDismiss={() => onDeselect(tagValue)}
|
|
246
239
|
>
|
|
247
|
-
{
|
|
240
|
+
{tagValue}
|
|
248
241
|
</TagDismissible>
|
|
249
242
|
))}
|
|
250
243
|
</>
|