@spark-ui/components 10.0.2 → 10.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/checkbox/index.js +117 -478
- package/dist/checkbox/index.js.map +1 -1
- package/dist/checkbox/index.mjs +3 -4
- package/dist/checkbox/index.mjs.map +1 -1
- package/dist/{chunk-JC6KKYUQ.mjs → chunk-7BTJUYP3.mjs} +6 -5
- package/dist/{chunk-JC6KKYUQ.mjs.map → chunk-7BTJUYP3.mjs.map} +1 -1
- package/dist/combobox/index.js +301 -710
- package/dist/combobox/index.js.map +1 -1
- package/dist/combobox/index.mjs +3 -5
- package/dist/combobox/index.mjs.map +1 -1
- package/dist/dropdown/index.js +252 -662
- package/dist/dropdown/index.js.map +1 -1
- package/dist/dropdown/index.mjs +1 -4
- package/dist/dropdown/index.mjs.map +1 -1
- package/dist/form-field/index.mjs +373 -7
- package/dist/form-field/index.mjs.map +1 -1
- package/dist/input/index.js +47 -454
- package/dist/input/index.js.map +1 -1
- package/dist/input/index.mjs +1 -3
- package/dist/radio-group/index.js +47 -553
- package/dist/radio-group/index.js.map +1 -1
- package/dist/radio-group/index.mjs +3 -9
- package/dist/radio-group/index.mjs.map +1 -1
- package/dist/select/index.js +159 -569
- package/dist/select/index.js.map +1 -1
- package/dist/select/index.mjs +1 -4
- package/dist/select/index.mjs.map +1 -1
- package/dist/stepper/index.js +110 -516
- package/dist/stepper/index.js.map +1 -1
- package/dist/stepper/index.mjs +2 -5
- package/dist/stepper/index.mjs.map +1 -1
- package/dist/switch/index.js +96 -545
- package/dist/switch/index.js.map +1 -1
- package/dist/switch/index.mjs +3 -6
- package/dist/switch/index.mjs.map +1 -1
- package/dist/textarea/index.js +58 -465
- package/dist/textarea/index.js.map +1 -1
- package/dist/textarea/index.mjs +1 -3
- package/dist/textarea/index.mjs.map +1 -1
- package/package.json +16 -6
- package/tsup.config.ts +2 -1
- package/dist/chunk-7PMPYEHJ.mjs +0 -379
- package/dist/chunk-7PMPYEHJ.mjs.map +0 -1
package/dist/dropdown/index.js
CHANGED
|
@@ -26,143 +26,133 @@ __export(dropdown_exports, {
|
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(dropdown_exports);
|
|
28
28
|
|
|
29
|
-
// src/
|
|
30
|
-
var
|
|
31
|
-
var
|
|
29
|
+
// src/dropdown/DropdownContext.tsx
|
|
30
|
+
var import_form_field = require("@spark-ui/components/form-field");
|
|
31
|
+
var import_react7 = require("react");
|
|
32
32
|
|
|
33
|
-
// src/
|
|
33
|
+
// src/popover/Popover.tsx
|
|
34
34
|
var import_radix_ui = require("radix-ui");
|
|
35
|
+
|
|
36
|
+
// src/popover/PopoverContext.tsx
|
|
35
37
|
var import_react = require("react");
|
|
36
38
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
37
|
-
var
|
|
38
|
-
var
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
39
|
+
var PopoverContext = (0, import_react.createContext)(null);
|
|
40
|
+
var ID_PREFIX = ":popover";
|
|
41
|
+
var PopoverProvider = ({
|
|
42
|
+
children,
|
|
43
|
+
intent
|
|
44
|
+
}) => {
|
|
45
|
+
const [headerId, setHeaderId] = (0, import_react.useState)(null);
|
|
46
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
47
|
+
PopoverContext.Provider,
|
|
48
|
+
{
|
|
49
|
+
value: {
|
|
50
|
+
headerId,
|
|
51
|
+
setHeaderId,
|
|
52
|
+
intent
|
|
53
|
+
},
|
|
54
|
+
children
|
|
55
|
+
}
|
|
56
|
+
);
|
|
48
57
|
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
var import_react2 = require("react");
|
|
52
|
-
var FormFieldContext = (0, import_react2.createContext)(null);
|
|
53
|
-
var ID_PREFIX = ":form-field";
|
|
54
|
-
var useFormField = () => {
|
|
55
|
-
const context = (0, import_react2.useContext)(FormFieldContext);
|
|
58
|
+
var usePopover = () => {
|
|
59
|
+
const context = (0, import_react.useContext)(PopoverContext);
|
|
56
60
|
if (!context) {
|
|
57
|
-
throw Error("
|
|
61
|
+
throw Error("usePopover must be used within a Popover provider");
|
|
58
62
|
}
|
|
59
63
|
return context;
|
|
60
64
|
};
|
|
61
65
|
|
|
62
|
-
// src/
|
|
63
|
-
var import_react3 = require("react");
|
|
66
|
+
// src/popover/Popover.tsx
|
|
64
67
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
65
|
-
var
|
|
66
|
-
|
|
67
|
-
name,
|
|
68
|
-
disabled = false,
|
|
69
|
-
readOnly = false,
|
|
70
|
-
state,
|
|
71
|
-
isRequired,
|
|
72
|
-
children
|
|
73
|
-
}) => {
|
|
74
|
-
const labelId = `${ID_PREFIX}-label-${(0, import_react3.useId)()}`;
|
|
75
|
-
const [messageIds, setMessageIds] = (0, import_react3.useState)([]);
|
|
76
|
-
const description = messageIds.length > 0 ? messageIds.join(" ") : void 0;
|
|
77
|
-
const handleMessageIdAdd = (0, import_react3.useCallback)((msgId) => {
|
|
78
|
-
setMessageIds((ids) => [...ids, msgId]);
|
|
79
|
-
}, []);
|
|
80
|
-
const handleMessageIdRemove = (0, import_react3.useCallback)((msgId) => {
|
|
81
|
-
setMessageIds((ids) => ids.filter((current) => current !== msgId));
|
|
82
|
-
}, []);
|
|
83
|
-
const value = (0, import_react3.useMemo)(() => {
|
|
84
|
-
const isInvalid = state === "error";
|
|
85
|
-
return {
|
|
86
|
-
id,
|
|
87
|
-
labelId,
|
|
88
|
-
name,
|
|
89
|
-
disabled,
|
|
90
|
-
readOnly,
|
|
91
|
-
state,
|
|
92
|
-
isRequired,
|
|
93
|
-
isInvalid,
|
|
94
|
-
description,
|
|
95
|
-
onMessageIdAdd: handleMessageIdAdd,
|
|
96
|
-
onMessageIdRemove: handleMessageIdRemove
|
|
97
|
-
};
|
|
98
|
-
}, [
|
|
99
|
-
id,
|
|
100
|
-
labelId,
|
|
101
|
-
name,
|
|
102
|
-
disabled,
|
|
103
|
-
readOnly,
|
|
104
|
-
description,
|
|
105
|
-
state,
|
|
106
|
-
isRequired,
|
|
107
|
-
handleMessageIdAdd,
|
|
108
|
-
handleMessageIdRemove
|
|
109
|
-
]);
|
|
110
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(FormFieldContext.Provider, { value, children });
|
|
68
|
+
var Popover = ({ children, intent = "surface", modal = false, ...rest }) => {
|
|
69
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(PopoverProvider, { intent, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_radix_ui.Popover.Root, { "data-spark-component": "popover", modal, ...rest, children }) });
|
|
111
70
|
};
|
|
112
|
-
|
|
71
|
+
Popover.displayName = "Popover";
|
|
113
72
|
|
|
114
|
-
// src/
|
|
73
|
+
// src/popover/PopoverAnchor.tsx
|
|
74
|
+
var import_radix_ui2 = require("radix-ui");
|
|
115
75
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
116
|
-
var
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
76
|
+
var Anchor = ({ asChild = false, children, ref, ...rest }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_radix_ui2.Popover.Anchor, { "data-spark-component": "popover-anchor", ref, asChild, ...rest, children });
|
|
77
|
+
Anchor.displayName = "Popover.Anchor";
|
|
78
|
+
|
|
79
|
+
// src/popover/PopoverArrow.tsx
|
|
80
|
+
var import_class_variance_authority = require("class-variance-authority");
|
|
81
|
+
var import_radix_ui3 = require("radix-ui");
|
|
82
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
83
|
+
var Arrow = ({
|
|
123
84
|
asChild = false,
|
|
85
|
+
width = 16,
|
|
86
|
+
height = 8,
|
|
87
|
+
className,
|
|
124
88
|
ref,
|
|
125
|
-
...
|
|
89
|
+
...rest
|
|
126
90
|
}) => {
|
|
127
|
-
const
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
|
|
91
|
+
const { intent } = usePopover();
|
|
92
|
+
const styles4 = (0, import_class_variance_authority.cva)("visible", {
|
|
93
|
+
variants: {
|
|
94
|
+
intent: {
|
|
95
|
+
surface: "fill-surface",
|
|
96
|
+
main: "fill-main-container",
|
|
97
|
+
support: "fill-support-container",
|
|
98
|
+
accent: "fill-accent-container",
|
|
99
|
+
basic: "fill-basic-container",
|
|
100
|
+
success: "fill-success-container",
|
|
101
|
+
alert: "fill-alert-container",
|
|
102
|
+
danger: "fill-error-container",
|
|
103
|
+
info: "fill-info-container",
|
|
104
|
+
neutral: "fill-neutral-container"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
defaultVariants: {
|
|
108
|
+
intent: "surface"
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
112
|
+
import_radix_ui3.Popover.Arrow,
|
|
131
113
|
{
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
Component,
|
|
140
|
-
{
|
|
141
|
-
ref,
|
|
142
|
-
"data-spark-component": "form-field",
|
|
143
|
-
className: (0, import_class_variance_authority.cx)(className, "gap-sm flex flex-col"),
|
|
144
|
-
...others
|
|
145
|
-
}
|
|
146
|
-
)
|
|
114
|
+
"data-spark-component": "popover-arrow",
|
|
115
|
+
ref,
|
|
116
|
+
className: styles4({ intent, className }),
|
|
117
|
+
asChild,
|
|
118
|
+
width,
|
|
119
|
+
height,
|
|
120
|
+
...rest
|
|
147
121
|
}
|
|
148
122
|
);
|
|
149
123
|
};
|
|
150
|
-
|
|
124
|
+
Arrow.displayName = "Popover.Arrow";
|
|
151
125
|
|
|
152
|
-
// src/
|
|
153
|
-
var
|
|
154
|
-
var
|
|
155
|
-
var
|
|
156
|
-
var import_class_variance_authority4 = require("class-variance-authority");
|
|
126
|
+
// src/popover/PopoverCloseButton.tsx
|
|
127
|
+
var import_Close = require("@spark-ui/icons/Close");
|
|
128
|
+
var import_class_variance_authority7 = require("class-variance-authority");
|
|
129
|
+
var import_radix_ui5 = require("radix-ui");
|
|
157
130
|
|
|
158
131
|
// src/icon/Icon.tsx
|
|
159
|
-
var
|
|
132
|
+
var import_react3 = require("react");
|
|
133
|
+
|
|
134
|
+
// src/slot/Slot.tsx
|
|
135
|
+
var import_radix_ui4 = require("radix-ui");
|
|
136
|
+
var import_react2 = require("react");
|
|
137
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
138
|
+
var Slottable = import_radix_ui4.Slot.Slottable;
|
|
139
|
+
var Slot = ({ ref, ...props }) => {
|
|
140
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_radix_ui4.Slot.Root, { ref, ...props });
|
|
141
|
+
};
|
|
142
|
+
var wrapPolymorphicSlot = (asChild, children, callback) => {
|
|
143
|
+
if (!asChild) return callback(children);
|
|
144
|
+
return (0, import_react2.isValidElement)(children) ? (0, import_react2.cloneElement)(
|
|
145
|
+
children,
|
|
146
|
+
void 0,
|
|
147
|
+
callback(children.props.children)
|
|
148
|
+
) : null;
|
|
149
|
+
};
|
|
160
150
|
|
|
161
151
|
// src/visually-hidden/VisuallyHidden.tsx
|
|
162
|
-
var
|
|
152
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
163
153
|
var VisuallyHidden = ({ asChild = false, ref, ...props }) => {
|
|
164
154
|
const Component = asChild ? Slot : "span";
|
|
165
|
-
return /* @__PURE__ */ (0,
|
|
155
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
166
156
|
Component,
|
|
167
157
|
{
|
|
168
158
|
...props,
|
|
@@ -220,7 +210,7 @@ var iconStyles = (0, import_class_variance_authority2.cva)(["fill-current shrink
|
|
|
220
210
|
});
|
|
221
211
|
|
|
222
212
|
// src/icon/Icon.tsx
|
|
223
|
-
var
|
|
213
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
224
214
|
var Icon = ({
|
|
225
215
|
label,
|
|
226
216
|
className,
|
|
@@ -229,433 +219,33 @@ var Icon = ({
|
|
|
229
219
|
children,
|
|
230
220
|
...others
|
|
231
221
|
}) => {
|
|
232
|
-
const child =
|
|
233
|
-
return /* @__PURE__ */ (0,
|
|
234
|
-
(0,
|
|
222
|
+
const child = import_react3.Children.only(children);
|
|
223
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
|
|
224
|
+
(0, import_react3.cloneElement)(child, {
|
|
235
225
|
className: iconStyles({ className, size, intent }),
|
|
236
226
|
"data-spark-component": "icon",
|
|
237
227
|
"aria-hidden": "true",
|
|
238
228
|
focusable: "false",
|
|
239
229
|
...others
|
|
240
230
|
}),
|
|
241
|
-
label && /* @__PURE__ */ (0,
|
|
231
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(VisuallyHidden, { children: label })
|
|
242
232
|
] });
|
|
243
233
|
};
|
|
244
234
|
Icon.displayName = "Icon";
|
|
245
235
|
|
|
246
|
-
// src/form-field/FormFieldMessage.tsx
|
|
247
|
-
var import_class_variance_authority3 = require("class-variance-authority");
|
|
248
|
-
var import_react6 = require("react");
|
|
249
|
-
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
250
|
-
var FormFieldMessage = ({
|
|
251
|
-
id: idProp,
|
|
252
|
-
className,
|
|
253
|
-
ref,
|
|
254
|
-
...others
|
|
255
|
-
}) => {
|
|
256
|
-
const { onMessageIdAdd, onMessageIdRemove } = useFormField();
|
|
257
|
-
const currentId = `${ID_PREFIX}-message-${(0, import_react6.useId)()}`;
|
|
258
|
-
const id = idProp || currentId;
|
|
259
|
-
(0, import_react6.useEffect)(() => {
|
|
260
|
-
onMessageIdAdd(id);
|
|
261
|
-
return () => {
|
|
262
|
-
onMessageIdRemove(id);
|
|
263
|
-
};
|
|
264
|
-
}, [id, onMessageIdAdd, onMessageIdRemove]);
|
|
265
|
-
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
266
|
-
"span",
|
|
267
|
-
{
|
|
268
|
-
ref,
|
|
269
|
-
id,
|
|
270
|
-
"data-spark-component": "form-field-message",
|
|
271
|
-
className: (0, import_class_variance_authority3.cx)(className, "text-caption"),
|
|
272
|
-
...others
|
|
273
|
-
}
|
|
274
|
-
);
|
|
275
|
-
};
|
|
276
|
-
FormFieldMessage.displayName = "FormField.Message";
|
|
277
|
-
|
|
278
|
-
// src/form-field/FormFieldStateMessage.tsx
|
|
279
|
-
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
280
|
-
var FormFieldStateMessage = ({
|
|
281
|
-
className,
|
|
282
|
-
state,
|
|
283
|
-
children,
|
|
284
|
-
ref,
|
|
285
|
-
...others
|
|
286
|
-
}) => {
|
|
287
|
-
const field = useFormField();
|
|
288
|
-
if (field.state !== state) {
|
|
289
|
-
return null;
|
|
290
|
-
}
|
|
291
|
-
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
292
|
-
FormFieldMessage,
|
|
293
|
-
{
|
|
294
|
-
ref,
|
|
295
|
-
"data-spark-component": "form-field-state-message",
|
|
296
|
-
"aria-live": "polite",
|
|
297
|
-
className: (0, import_class_variance_authority4.cx)(
|
|
298
|
-
"gap-sm flex items-center",
|
|
299
|
-
state === "error" ? "text-error" : "text-on-surface/dim-1",
|
|
300
|
-
className
|
|
301
|
-
),
|
|
302
|
-
...others,
|
|
303
|
-
children: [
|
|
304
|
-
state === "alert" && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Icon, { size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_WarningOutline.WarningOutline, {}) }),
|
|
305
|
-
state === "error" && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Icon, { size: "sm", intent: "error", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_AlertOutline.AlertOutline, {}) }),
|
|
306
|
-
state === "success" && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Icon, { size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_Check.Check, {}) }),
|
|
307
|
-
children
|
|
308
|
-
]
|
|
309
|
-
}
|
|
310
|
-
);
|
|
311
|
-
};
|
|
312
|
-
FormFieldStateMessage.displayName = "FormField.StateMessage";
|
|
313
|
-
|
|
314
|
-
// src/form-field/FormFieldAlertMessage.tsx
|
|
315
|
-
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
316
|
-
var FormFieldAlertMessage = ({ ref, ...props }) => {
|
|
317
|
-
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
318
|
-
FormFieldStateMessage,
|
|
319
|
-
{
|
|
320
|
-
ref,
|
|
321
|
-
"data-spark-component": "form-field-alert-message",
|
|
322
|
-
state: "alert",
|
|
323
|
-
...props
|
|
324
|
-
}
|
|
325
|
-
);
|
|
326
|
-
};
|
|
327
|
-
FormFieldAlertMessage.displayName = "FormField.AlertMessage";
|
|
328
|
-
|
|
329
|
-
// src/form-field/FormFieldCharactersCount.tsx
|
|
330
|
-
var import_class_variance_authority5 = require("class-variance-authority");
|
|
331
|
-
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
332
|
-
var FormFieldCharactersCount = ({
|
|
333
|
-
className,
|
|
334
|
-
value = "",
|
|
335
|
-
maxLength,
|
|
336
|
-
ref,
|
|
337
|
-
...others
|
|
338
|
-
}) => {
|
|
339
|
-
const displayValue = `${value.length}/${maxLength}`;
|
|
340
|
-
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
341
|
-
"span",
|
|
342
|
-
{
|
|
343
|
-
ref,
|
|
344
|
-
"data-spark-component": "form-field-characters-count",
|
|
345
|
-
className: (0, import_class_variance_authority5.cx)(className, "text-caption", "text-neutral"),
|
|
346
|
-
...others,
|
|
347
|
-
children: displayValue
|
|
348
|
-
}
|
|
349
|
-
);
|
|
350
|
-
};
|
|
351
|
-
FormFieldCharactersCount.displayName = "FormField.CharactersCount";
|
|
352
|
-
|
|
353
|
-
// src/form-field/FormFieldControl.tsx
|
|
354
|
-
var import_react7 = require("react");
|
|
355
|
-
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
356
|
-
var useFormFieldControl = () => {
|
|
357
|
-
const { id, name, description, disabled, readOnly, state, labelId, isInvalid, isRequired } = (0, import_react7.useContext)(FormFieldContext) || {};
|
|
358
|
-
return {
|
|
359
|
-
id,
|
|
360
|
-
name,
|
|
361
|
-
description,
|
|
362
|
-
disabled,
|
|
363
|
-
readOnly,
|
|
364
|
-
state,
|
|
365
|
-
labelId,
|
|
366
|
-
isInvalid,
|
|
367
|
-
isRequired
|
|
368
|
-
};
|
|
369
|
-
};
|
|
370
|
-
var FormFieldControl = ({ children }) => {
|
|
371
|
-
const props = useFormFieldControl();
|
|
372
|
-
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_jsx_runtime10.Fragment, { children: children(props) });
|
|
373
|
-
};
|
|
374
|
-
FormFieldControl.displayName = "FormField.Control";
|
|
375
|
-
|
|
376
|
-
// src/form-field/FormFieldErrorMessage.tsx
|
|
377
|
-
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
378
|
-
var FormFieldErrorMessage = ({ ref, ...props }) => {
|
|
379
|
-
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
380
|
-
FormFieldStateMessage,
|
|
381
|
-
{
|
|
382
|
-
ref,
|
|
383
|
-
"data-spark-component": "form-field-error-message",
|
|
384
|
-
state: "error",
|
|
385
|
-
...props
|
|
386
|
-
}
|
|
387
|
-
);
|
|
388
|
-
};
|
|
389
|
-
FormFieldErrorMessage.displayName = "FormField.ErrorMessage";
|
|
390
|
-
|
|
391
|
-
// src/form-field/FormFieldHelperMessage.tsx
|
|
392
|
-
var import_class_variance_authority6 = require("class-variance-authority");
|
|
393
|
-
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
394
|
-
var FormFieldHelperMessage = ({
|
|
395
|
-
className,
|
|
396
|
-
ref,
|
|
397
|
-
...others
|
|
398
|
-
}) => {
|
|
399
|
-
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
400
|
-
FormFieldMessage,
|
|
401
|
-
{
|
|
402
|
-
ref,
|
|
403
|
-
"data-spark-component": "form-field-helper-message",
|
|
404
|
-
className: (0, import_class_variance_authority6.cx)("text-on-surface/dim-1", className),
|
|
405
|
-
...others
|
|
406
|
-
}
|
|
407
|
-
);
|
|
408
|
-
};
|
|
409
|
-
FormFieldHelperMessage.displayName = "FormField.HelperMessage";
|
|
410
|
-
|
|
411
|
-
// src/form-field/FormFieldLabel.tsx
|
|
412
|
-
var import_class_variance_authority10 = require("class-variance-authority");
|
|
413
|
-
|
|
414
|
-
// src/label/Label.tsx
|
|
415
|
-
var import_class_variance_authority7 = require("class-variance-authority");
|
|
416
|
-
var import_radix_ui2 = require("radix-ui");
|
|
417
|
-
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
418
|
-
var Label = ({ className, ref, ...others }) => {
|
|
419
|
-
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
420
|
-
import_radix_ui2.Label.Label,
|
|
421
|
-
{
|
|
422
|
-
ref,
|
|
423
|
-
"data-spark-component": "label",
|
|
424
|
-
className: (0, import_class_variance_authority7.cx)("text-body-1", className),
|
|
425
|
-
...others
|
|
426
|
-
}
|
|
427
|
-
);
|
|
428
|
-
};
|
|
429
|
-
Label.displayName = "Label";
|
|
430
|
-
|
|
431
|
-
// src/label/LabelRequiredIndicator.tsx
|
|
432
|
-
var import_class_variance_authority8 = require("class-variance-authority");
|
|
433
|
-
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
434
|
-
var LabelRequiredIndicator = ({
|
|
435
|
-
className,
|
|
436
|
-
children = "*",
|
|
437
|
-
ref,
|
|
438
|
-
...others
|
|
439
|
-
}) => {
|
|
440
|
-
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
441
|
-
"span",
|
|
442
|
-
{
|
|
443
|
-
ref,
|
|
444
|
-
"data-spark-component": "label-required-indicator",
|
|
445
|
-
role: "presentation",
|
|
446
|
-
"aria-hidden": "true",
|
|
447
|
-
className: (0, import_class_variance_authority8.cx)(className, "text-caption text-on-surface/dim-1"),
|
|
448
|
-
...others,
|
|
449
|
-
children
|
|
450
|
-
}
|
|
451
|
-
);
|
|
452
|
-
};
|
|
453
|
-
LabelRequiredIndicator.displayName = "Label.RequiredIndicator";
|
|
454
|
-
|
|
455
|
-
// src/label/index.ts
|
|
456
|
-
var Label2 = Object.assign(Label, {
|
|
457
|
-
RequiredIndicator: LabelRequiredIndicator
|
|
458
|
-
});
|
|
459
|
-
Label2.displayName = "Label";
|
|
460
|
-
LabelRequiredIndicator.displayName = "Label.RequiredIndicator";
|
|
461
|
-
|
|
462
|
-
// src/form-field/FormFieldRequiredIndicator.tsx
|
|
463
|
-
var import_class_variance_authority9 = require("class-variance-authority");
|
|
464
|
-
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
465
|
-
var FormFieldRequiredIndicator = ({
|
|
466
|
-
className,
|
|
467
|
-
ref,
|
|
468
|
-
...props
|
|
469
|
-
}) => {
|
|
470
|
-
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Label2.RequiredIndicator, { ref, className: (0, import_class_variance_authority9.cx)("ml-sm", className), ...props });
|
|
471
|
-
};
|
|
472
|
-
FormFieldRequiredIndicator.displayName = "FormField.RequiredIndicator";
|
|
473
|
-
|
|
474
|
-
// src/form-field/FormFieldLabel.tsx
|
|
475
|
-
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
476
|
-
var FormFieldLabel = ({
|
|
477
|
-
htmlFor: htmlForProp,
|
|
478
|
-
className,
|
|
479
|
-
children,
|
|
480
|
-
requiredIndicator = /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(FormFieldRequiredIndicator, {}),
|
|
481
|
-
asChild,
|
|
482
|
-
ref,
|
|
483
|
-
...others
|
|
484
|
-
}) => {
|
|
485
|
-
const control = useFormField();
|
|
486
|
-
const { disabled, labelId, isRequired } = control;
|
|
487
|
-
const htmlFor = asChild ? void 0 : htmlForProp || control.id;
|
|
488
|
-
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
489
|
-
Label2,
|
|
490
|
-
{
|
|
491
|
-
ref,
|
|
492
|
-
id: labelId,
|
|
493
|
-
"data-spark-component": "form-field-label",
|
|
494
|
-
htmlFor,
|
|
495
|
-
className: (0, import_class_variance_authority10.cx)(className, disabled ? "text-on-surface/dim-3 pointer-events-none" : void 0),
|
|
496
|
-
asChild,
|
|
497
|
-
...others,
|
|
498
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
|
|
499
|
-
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Slottable, { children }),
|
|
500
|
-
isRequired && requiredIndicator
|
|
501
|
-
] })
|
|
502
|
-
}
|
|
503
|
-
);
|
|
504
|
-
};
|
|
505
|
-
FormFieldLabel.displayName = "FormField.Label";
|
|
506
|
-
|
|
507
|
-
// src/form-field/FormFieldSuccessMessage.tsx
|
|
508
|
-
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
509
|
-
var FormFieldSuccessMessage = ({ ref, ...props }) => {
|
|
510
|
-
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
511
|
-
FormFieldStateMessage,
|
|
512
|
-
{
|
|
513
|
-
ref,
|
|
514
|
-
"data-spark-component": "form-field-success-message",
|
|
515
|
-
state: "success",
|
|
516
|
-
...props
|
|
517
|
-
}
|
|
518
|
-
);
|
|
519
|
-
};
|
|
520
|
-
FormFieldSuccessMessage.displayName = "FormField.SuccessMessage";
|
|
521
|
-
|
|
522
|
-
// src/form-field/index.ts
|
|
523
|
-
var FormField2 = Object.assign(FormField, {
|
|
524
|
-
Label: FormFieldLabel,
|
|
525
|
-
Control: FormFieldControl,
|
|
526
|
-
StateMessage: FormFieldStateMessage,
|
|
527
|
-
SuccessMessage: FormFieldSuccessMessage,
|
|
528
|
-
AlertMessage: FormFieldAlertMessage,
|
|
529
|
-
ErrorMessage: FormFieldErrorMessage,
|
|
530
|
-
HelperMessage: FormFieldHelperMessage,
|
|
531
|
-
RequiredIndicator: FormFieldRequiredIndicator,
|
|
532
|
-
CharactersCount: FormFieldCharactersCount
|
|
533
|
-
});
|
|
534
|
-
FormField2.displayName = "FormField";
|
|
535
|
-
FormFieldLabel.displayName = "FormField.Label";
|
|
536
|
-
FormFieldControl.displayName = "FormField.Control";
|
|
537
|
-
FormFieldStateMessage.displayName = "FormField.StateMessage";
|
|
538
|
-
FormFieldSuccessMessage.displayName = "FormField.SuccessMessage";
|
|
539
|
-
FormFieldAlertMessage.displayName = "FormField.AlertMessage";
|
|
540
|
-
FormFieldErrorMessage.displayName = "FormField.ErrorMessage";
|
|
541
|
-
FormFieldHelperMessage.displayName = "FormField.HelperMessage";
|
|
542
|
-
FormFieldRequiredIndicator.displayName = "FormField.RequiredIndicator";
|
|
543
|
-
FormFieldCharactersCount.displayName = "FormField.CharactersCount";
|
|
544
|
-
|
|
545
|
-
// src/dropdown/DropdownContext.tsx
|
|
546
|
-
var import_react12 = require("react");
|
|
547
|
-
|
|
548
|
-
// src/popover/Popover.tsx
|
|
549
|
-
var import_radix_ui3 = require("radix-ui");
|
|
550
|
-
|
|
551
|
-
// src/popover/PopoverContext.tsx
|
|
552
|
-
var import_react8 = require("react");
|
|
553
|
-
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
554
|
-
var PopoverContext = (0, import_react8.createContext)(null);
|
|
555
|
-
var ID_PREFIX2 = ":popover";
|
|
556
|
-
var PopoverProvider = ({
|
|
557
|
-
children,
|
|
558
|
-
intent
|
|
559
|
-
}) => {
|
|
560
|
-
const [headerId, setHeaderId] = (0, import_react8.useState)(null);
|
|
561
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
562
|
-
PopoverContext.Provider,
|
|
563
|
-
{
|
|
564
|
-
value: {
|
|
565
|
-
headerId,
|
|
566
|
-
setHeaderId,
|
|
567
|
-
intent
|
|
568
|
-
},
|
|
569
|
-
children
|
|
570
|
-
}
|
|
571
|
-
);
|
|
572
|
-
};
|
|
573
|
-
var usePopover = () => {
|
|
574
|
-
const context = (0, import_react8.useContext)(PopoverContext);
|
|
575
|
-
if (!context) {
|
|
576
|
-
throw Error("usePopover must be used within a Popover provider");
|
|
577
|
-
}
|
|
578
|
-
return context;
|
|
579
|
-
};
|
|
580
|
-
|
|
581
|
-
// src/popover/Popover.tsx
|
|
582
|
-
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
583
|
-
var Popover = ({ children, intent = "surface", modal = false, ...rest }) => {
|
|
584
|
-
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(PopoverProvider, { intent, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_radix_ui3.Popover.Root, { "data-spark-component": "popover", modal, ...rest, children }) });
|
|
585
|
-
};
|
|
586
|
-
Popover.displayName = "Popover";
|
|
587
|
-
|
|
588
|
-
// src/popover/PopoverAnchor.tsx
|
|
589
|
-
var import_radix_ui4 = require("radix-ui");
|
|
590
|
-
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
591
|
-
var Anchor = ({ asChild = false, children, ref, ...rest }) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_radix_ui4.Popover.Anchor, { "data-spark-component": "popover-anchor", ref, asChild, ...rest, children });
|
|
592
|
-
Anchor.displayName = "Popover.Anchor";
|
|
593
|
-
|
|
594
|
-
// src/popover/PopoverArrow.tsx
|
|
595
|
-
var import_class_variance_authority11 = require("class-variance-authority");
|
|
596
|
-
var import_radix_ui5 = require("radix-ui");
|
|
597
|
-
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
598
|
-
var Arrow = ({
|
|
599
|
-
asChild = false,
|
|
600
|
-
width = 16,
|
|
601
|
-
height = 8,
|
|
602
|
-
className,
|
|
603
|
-
ref,
|
|
604
|
-
...rest
|
|
605
|
-
}) => {
|
|
606
|
-
const { intent } = usePopover();
|
|
607
|
-
const styles4 = (0, import_class_variance_authority11.cva)("visible", {
|
|
608
|
-
variants: {
|
|
609
|
-
intent: {
|
|
610
|
-
surface: "fill-surface",
|
|
611
|
-
main: "fill-main-container",
|
|
612
|
-
support: "fill-support-container",
|
|
613
|
-
accent: "fill-accent-container",
|
|
614
|
-
basic: "fill-basic-container",
|
|
615
|
-
success: "fill-success-container",
|
|
616
|
-
alert: "fill-alert-container",
|
|
617
|
-
danger: "fill-error-container",
|
|
618
|
-
info: "fill-info-container",
|
|
619
|
-
neutral: "fill-neutral-container"
|
|
620
|
-
}
|
|
621
|
-
},
|
|
622
|
-
defaultVariants: {
|
|
623
|
-
intent: "surface"
|
|
624
|
-
}
|
|
625
|
-
});
|
|
626
|
-
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
627
|
-
import_radix_ui5.Popover.Arrow,
|
|
628
|
-
{
|
|
629
|
-
"data-spark-component": "popover-arrow",
|
|
630
|
-
ref,
|
|
631
|
-
className: styles4({ intent, className }),
|
|
632
|
-
asChild,
|
|
633
|
-
width,
|
|
634
|
-
height,
|
|
635
|
-
...rest
|
|
636
|
-
}
|
|
637
|
-
);
|
|
638
|
-
};
|
|
639
|
-
Arrow.displayName = "Popover.Arrow";
|
|
640
|
-
|
|
641
|
-
// src/popover/PopoverCloseButton.tsx
|
|
642
|
-
var import_Close = require("@spark-ui/icons/Close");
|
|
643
|
-
var import_class_variance_authority16 = require("class-variance-authority");
|
|
644
|
-
var import_radix_ui6 = require("radix-ui");
|
|
645
|
-
|
|
646
236
|
// src/button/Button.tsx
|
|
647
|
-
var
|
|
648
|
-
var
|
|
237
|
+
var import_class_variance_authority5 = require("class-variance-authority");
|
|
238
|
+
var import_react4 = require("react");
|
|
649
239
|
|
|
650
240
|
// src/spinner/Spinner.styles.tsx
|
|
651
241
|
var import_internal_utils2 = require("@spark-ui/internal-utils");
|
|
652
|
-
var
|
|
242
|
+
var import_class_variance_authority3 = require("class-variance-authority");
|
|
653
243
|
var defaultVariants = {
|
|
654
244
|
intent: "current",
|
|
655
245
|
size: "current",
|
|
656
246
|
isBackgroundVisible: false
|
|
657
247
|
};
|
|
658
|
-
var spinnerStyles = (0,
|
|
248
|
+
var spinnerStyles = (0, import_class_variance_authority3.cva)(
|
|
659
249
|
["inline-block", "border-solid", "rounded-full", "border-md", "animate-spin"],
|
|
660
250
|
{
|
|
661
251
|
variants: {
|
|
@@ -696,7 +286,7 @@ var spinnerStyles = (0, import_class_variance_authority12.cva)(
|
|
|
696
286
|
);
|
|
697
287
|
|
|
698
288
|
// src/spinner/Spinner.tsx
|
|
699
|
-
var
|
|
289
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
700
290
|
var Spinner = ({
|
|
701
291
|
className,
|
|
702
292
|
size = "current",
|
|
@@ -706,7 +296,7 @@ var Spinner = ({
|
|
|
706
296
|
ref,
|
|
707
297
|
...others
|
|
708
298
|
}) => {
|
|
709
|
-
return /* @__PURE__ */ (0,
|
|
299
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
710
300
|
"span",
|
|
711
301
|
{
|
|
712
302
|
role: "status",
|
|
@@ -714,14 +304,14 @@ var Spinner = ({
|
|
|
714
304
|
ref,
|
|
715
305
|
className: spinnerStyles({ className, size, intent, isBackgroundVisible }),
|
|
716
306
|
...others,
|
|
717
|
-
children: label && /* @__PURE__ */ (0,
|
|
307
|
+
children: label && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(VisuallyHidden, { children: label })
|
|
718
308
|
}
|
|
719
309
|
);
|
|
720
310
|
};
|
|
721
311
|
|
|
722
312
|
// src/button/Button.styles.tsx
|
|
723
313
|
var import_internal_utils8 = require("@spark-ui/internal-utils");
|
|
724
|
-
var
|
|
314
|
+
var import_class_variance_authority4 = require("class-variance-authority");
|
|
725
315
|
|
|
726
316
|
// src/button/variants/filled.ts
|
|
727
317
|
var import_internal_utils3 = require("@spark-ui/internal-utils");
|
|
@@ -1275,7 +865,7 @@ var contrastVariants = [
|
|
|
1275
865
|
];
|
|
1276
866
|
|
|
1277
867
|
// src/button/Button.styles.tsx
|
|
1278
|
-
var buttonStyles = (0,
|
|
868
|
+
var buttonStyles = (0, import_class_variance_authority4.cva)(
|
|
1279
869
|
[
|
|
1280
870
|
"u-shadow-border-transition",
|
|
1281
871
|
"box-border inline-flex items-center justify-center gap-md whitespace-nowrap",
|
|
@@ -1362,7 +952,7 @@ var buttonStyles = (0, import_class_variance_authority13.cva)(
|
|
|
1362
952
|
);
|
|
1363
953
|
|
|
1364
954
|
// src/button/Button.tsx
|
|
1365
|
-
var
|
|
955
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
1366
956
|
var blockedEventHandlers = [
|
|
1367
957
|
"onClick",
|
|
1368
958
|
"onMouseDown",
|
|
@@ -1393,7 +983,7 @@ var Button = ({
|
|
|
1393
983
|
}) => {
|
|
1394
984
|
const Component = asChild ? Slot : "button";
|
|
1395
985
|
const shouldNotInteract = !!disabled || isLoading;
|
|
1396
|
-
const disabledEventHandlers = (0,
|
|
986
|
+
const disabledEventHandlers = (0, import_react4.useMemo)(() => {
|
|
1397
987
|
const result = {};
|
|
1398
988
|
if (shouldNotInteract) {
|
|
1399
989
|
blockedEventHandlers.forEach((eventHandler) => result[eventHandler] = void 0);
|
|
@@ -1405,7 +995,7 @@ var Button = ({
|
|
|
1405
995
|
className: loadingText ? "inline-block" : "absolute",
|
|
1406
996
|
...loadingLabel && { "aria-label": loadingLabel }
|
|
1407
997
|
};
|
|
1408
|
-
return /* @__PURE__ */ (0,
|
|
998
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
1409
999
|
Component,
|
|
1410
1000
|
{
|
|
1411
1001
|
"data-spark-component": "button",
|
|
@@ -1427,14 +1017,14 @@ var Button = ({
|
|
|
1427
1017
|
children: wrapPolymorphicSlot(
|
|
1428
1018
|
asChild,
|
|
1429
1019
|
children,
|
|
1430
|
-
(slotted) => isLoading ? /* @__PURE__ */ (0,
|
|
1431
|
-
/* @__PURE__ */ (0,
|
|
1020
|
+
(slotted) => isLoading ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
|
|
1021
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Spinner, { ...spinnerProps }),
|
|
1432
1022
|
loadingText && loadingText,
|
|
1433
|
-
/* @__PURE__ */ (0,
|
|
1023
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
1434
1024
|
"div",
|
|
1435
1025
|
{
|
|
1436
1026
|
"aria-hidden": true,
|
|
1437
|
-
className: (0,
|
|
1027
|
+
className: (0, import_class_variance_authority5.cx)("gap-md", loadingText ? "hidden" : "inline-flex opacity-0"),
|
|
1438
1028
|
children: slotted
|
|
1439
1029
|
}
|
|
1440
1030
|
)
|
|
@@ -1447,8 +1037,8 @@ Button.displayName = "Button";
|
|
|
1447
1037
|
|
|
1448
1038
|
// src/icon-button/IconButton.styles.tsx
|
|
1449
1039
|
var import_internal_utils9 = require("@spark-ui/internal-utils");
|
|
1450
|
-
var
|
|
1451
|
-
var iconButtonStyles = (0,
|
|
1040
|
+
var import_class_variance_authority6 = require("class-variance-authority");
|
|
1041
|
+
var iconButtonStyles = (0, import_class_variance_authority6.cva)(["pl-0 pr-0"], {
|
|
1452
1042
|
variants: {
|
|
1453
1043
|
/**
|
|
1454
1044
|
* Sets the size of the icon.
|
|
@@ -1462,7 +1052,7 @@ var iconButtonStyles = (0, import_class_variance_authority15.cva)(["pl-0 pr-0"],
|
|
|
1462
1052
|
});
|
|
1463
1053
|
|
|
1464
1054
|
// src/icon-button/IconButton.tsx
|
|
1465
|
-
var
|
|
1055
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
1466
1056
|
var IconButton = ({
|
|
1467
1057
|
design = "filled",
|
|
1468
1058
|
disabled = false,
|
|
@@ -1473,7 +1063,7 @@ var IconButton = ({
|
|
|
1473
1063
|
ref,
|
|
1474
1064
|
...others
|
|
1475
1065
|
}) => {
|
|
1476
|
-
return /* @__PURE__ */ (0,
|
|
1066
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1477
1067
|
Button,
|
|
1478
1068
|
{
|
|
1479
1069
|
ref,
|
|
@@ -1490,33 +1080,33 @@ var IconButton = ({
|
|
|
1490
1080
|
IconButton.displayName = "IconButton";
|
|
1491
1081
|
|
|
1492
1082
|
// src/popover/PopoverCloseButton.tsx
|
|
1493
|
-
var
|
|
1083
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
1494
1084
|
var CloseButton = ({
|
|
1495
1085
|
"aria-label": ariaLabel,
|
|
1496
1086
|
className,
|
|
1497
1087
|
ref,
|
|
1498
1088
|
...rest
|
|
1499
1089
|
}) => {
|
|
1500
|
-
return /* @__PURE__ */ (0,
|
|
1501
|
-
|
|
1090
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1091
|
+
import_radix_ui5.Popover.Close,
|
|
1502
1092
|
{
|
|
1503
1093
|
"data-spark-component": "popover-close-button",
|
|
1504
1094
|
ref,
|
|
1505
|
-
className: (0,
|
|
1095
|
+
className: (0, import_class_variance_authority7.cx)("right-md top-md absolute", className),
|
|
1506
1096
|
asChild: true,
|
|
1507
1097
|
...rest,
|
|
1508
|
-
children: /* @__PURE__ */ (0,
|
|
1098
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(IconButton, { size: "sm", intent: "neutral", design: "ghost", "aria-label": ariaLabel, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Icon, { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_Close.Close, {}) }) })
|
|
1509
1099
|
}
|
|
1510
1100
|
);
|
|
1511
1101
|
};
|
|
1512
1102
|
CloseButton.displayName = "Popover.CloseButton";
|
|
1513
1103
|
|
|
1514
1104
|
// src/popover/PopoverContent.tsx
|
|
1515
|
-
var
|
|
1105
|
+
var import_radix_ui6 = require("radix-ui");
|
|
1516
1106
|
|
|
1517
1107
|
// src/popover/PopoverContent.styles.ts
|
|
1518
|
-
var
|
|
1519
|
-
var styles = (0,
|
|
1108
|
+
var import_class_variance_authority8 = require("class-variance-authority");
|
|
1109
|
+
var styles = (0, import_class_variance_authority8.cva)(
|
|
1520
1110
|
[
|
|
1521
1111
|
"rounded-md",
|
|
1522
1112
|
"shadow-sm",
|
|
@@ -1577,7 +1167,7 @@ var styles = (0, import_class_variance_authority17.cva)(
|
|
|
1577
1167
|
);
|
|
1578
1168
|
|
|
1579
1169
|
// src/popover/PopoverContent.tsx
|
|
1580
|
-
var
|
|
1170
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
1581
1171
|
var Content = ({
|
|
1582
1172
|
// Spark props
|
|
1583
1173
|
className,
|
|
@@ -1602,8 +1192,8 @@ var Content = ({
|
|
|
1602
1192
|
...rest
|
|
1603
1193
|
}) => {
|
|
1604
1194
|
const { headerId, intent } = usePopover();
|
|
1605
|
-
return /* @__PURE__ */ (0,
|
|
1606
|
-
|
|
1195
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
1196
|
+
import_radix_ui6.Popover.Content,
|
|
1607
1197
|
{
|
|
1608
1198
|
"aria-labelledby": headerId || ariaLabelledBy,
|
|
1609
1199
|
className: styles({
|
|
@@ -1636,31 +1226,31 @@ var Content = ({
|
|
|
1636
1226
|
Content.displayName = "Popover.Content";
|
|
1637
1227
|
|
|
1638
1228
|
// src/popover/PopoverHeader.tsx
|
|
1639
|
-
var
|
|
1640
|
-
var
|
|
1641
|
-
var
|
|
1229
|
+
var import_class_variance_authority9 = require("class-variance-authority");
|
|
1230
|
+
var import_react5 = require("react");
|
|
1231
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
1642
1232
|
var Header = ({ children, className, ref, ...rest }) => {
|
|
1643
|
-
const id = `${
|
|
1233
|
+
const id = `${ID_PREFIX}-header-${(0, import_react5.useId)()}`;
|
|
1644
1234
|
const { setHeaderId } = usePopover();
|
|
1645
|
-
(0,
|
|
1235
|
+
(0, import_react5.useLayoutEffect)(() => {
|
|
1646
1236
|
setHeaderId(id);
|
|
1647
1237
|
return () => setHeaderId(null);
|
|
1648
1238
|
}, [id, setHeaderId]);
|
|
1649
|
-
return /* @__PURE__ */ (0,
|
|
1239
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("header", { id, ref, className: (0, import_class_variance_authority9.cx)("mb-md text-headline-2", className), ...rest, children });
|
|
1650
1240
|
};
|
|
1651
1241
|
Header.displayName = "Popover.Header";
|
|
1652
1242
|
|
|
1653
1243
|
// src/popover/PopoverPortal.tsx
|
|
1654
|
-
var
|
|
1655
|
-
var
|
|
1656
|
-
var Portal = ({ children, ...rest }) => /* @__PURE__ */ (0,
|
|
1244
|
+
var import_radix_ui7 = require("radix-ui");
|
|
1245
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
1246
|
+
var Portal = ({ children, ...rest }) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_radix_ui7.Popover.Portal, { ...rest, children });
|
|
1657
1247
|
Portal.displayName = "Popover.Portal";
|
|
1658
1248
|
|
|
1659
1249
|
// src/popover/PopoverTrigger.tsx
|
|
1660
|
-
var
|
|
1661
|
-
var
|
|
1662
|
-
var Trigger = ({ asChild = false, children, ref, ...rest }) => /* @__PURE__ */ (0,
|
|
1663
|
-
|
|
1250
|
+
var import_radix_ui8 = require("radix-ui");
|
|
1251
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
1252
|
+
var Trigger = ({ asChild = false, children, ref, ...rest }) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1253
|
+
import_radix_ui8.Popover.Trigger,
|
|
1664
1254
|
{
|
|
1665
1255
|
"data-spark-component": "popover-trigger",
|
|
1666
1256
|
ref,
|
|
@@ -1785,7 +1375,7 @@ var useDropdown = ({
|
|
|
1785
1375
|
};
|
|
1786
1376
|
|
|
1787
1377
|
// src/dropdown/utils.ts
|
|
1788
|
-
var
|
|
1378
|
+
var import_react6 = require("react");
|
|
1789
1379
|
function getIndexByKey(map, targetKey) {
|
|
1790
1380
|
let index = 0;
|
|
1791
1381
|
for (const [key] of map.entries()) {
|
|
@@ -1812,8 +1402,8 @@ var getElementDisplayName = (element) => {
|
|
|
1812
1402
|
return element ? element.type.displayName : "";
|
|
1813
1403
|
};
|
|
1814
1404
|
var getOrderedItems = (children, result = []) => {
|
|
1815
|
-
|
|
1816
|
-
if (!(0,
|
|
1405
|
+
import_react6.Children.forEach(children, (child) => {
|
|
1406
|
+
if (!(0, import_react6.isValidElement)(child)) return;
|
|
1817
1407
|
if (getElementDisplayName(child) === "Dropdown.Item") {
|
|
1818
1408
|
const childProps = child.props;
|
|
1819
1409
|
result.push({
|
|
@@ -1832,8 +1422,8 @@ var getItemText = (children, itemText = "") => {
|
|
|
1832
1422
|
if (typeof children === "string") {
|
|
1833
1423
|
return children;
|
|
1834
1424
|
}
|
|
1835
|
-
|
|
1836
|
-
if (!(0,
|
|
1425
|
+
import_react6.Children.forEach(children, (child) => {
|
|
1426
|
+
if (!(0, import_react6.isValidElement)(child)) return;
|
|
1837
1427
|
if (getElementDisplayName(child) === "Dropdown.ItemText") {
|
|
1838
1428
|
itemText = child.props.children;
|
|
1839
1429
|
}
|
|
@@ -1851,8 +1441,8 @@ var getItemsFromChildren = (children) => {
|
|
|
1851
1441
|
return newMap;
|
|
1852
1442
|
};
|
|
1853
1443
|
var hasChildComponent = (children, displayName) => {
|
|
1854
|
-
return
|
|
1855
|
-
if (!(0,
|
|
1444
|
+
return import_react6.Children.toArray(children).some((child) => {
|
|
1445
|
+
if (!(0, import_react6.isValidElement)(child)) return false;
|
|
1856
1446
|
if (getElementDisplayName(child) === displayName) {
|
|
1857
1447
|
return true;
|
|
1858
1448
|
} else if (child.props.children) {
|
|
@@ -1863,9 +1453,9 @@ var hasChildComponent = (children, displayName) => {
|
|
|
1863
1453
|
};
|
|
1864
1454
|
|
|
1865
1455
|
// src/dropdown/DropdownContext.tsx
|
|
1866
|
-
var
|
|
1867
|
-
var DropdownContext = (0,
|
|
1868
|
-
var
|
|
1456
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1457
|
+
var DropdownContext = (0, import_react7.createContext)(null);
|
|
1458
|
+
var ID_PREFIX2 = ":dropdown";
|
|
1869
1459
|
var DropdownProvider = ({
|
|
1870
1460
|
children,
|
|
1871
1461
|
defaultValue,
|
|
@@ -1879,15 +1469,15 @@ var DropdownProvider = ({
|
|
|
1879
1469
|
readOnly: readOnlyProp = false,
|
|
1880
1470
|
state: stateProp
|
|
1881
1471
|
}) => {
|
|
1882
|
-
const [itemsMap, setItemsMap] = (0,
|
|
1883
|
-
const [hasPopover, setHasPopover] = (0,
|
|
1472
|
+
const [itemsMap, setItemsMap] = (0, import_react7.useState)(getItemsFromChildren(children));
|
|
1473
|
+
const [hasPopover, setHasPopover] = (0, import_react7.useState)(
|
|
1884
1474
|
hasChildComponent(children, "Dropdown.Popover")
|
|
1885
1475
|
);
|
|
1886
|
-
const [lastInteractionType, setLastInteractionType] = (0,
|
|
1887
|
-
const field = useFormFieldControl();
|
|
1476
|
+
const [lastInteractionType, setLastInteractionType] = (0, import_react7.useState)("mouse");
|
|
1477
|
+
const field = (0, import_form_field.useFormFieldControl)();
|
|
1888
1478
|
const state = field.state || stateProp;
|
|
1889
|
-
const internalFieldLabelID = `${
|
|
1890
|
-
const internalFieldID = `${
|
|
1479
|
+
const internalFieldLabelID = `${ID_PREFIX2}-label-${(0, import_react7.useId)()}`;
|
|
1480
|
+
const internalFieldID = `${ID_PREFIX2}-input-${(0, import_react7.useId)()}`;
|
|
1891
1481
|
const id = field.id || internalFieldID;
|
|
1892
1482
|
const labelId = field.labelId || internalFieldLabelID;
|
|
1893
1483
|
const disabled = field.disabled ?? disabledProp;
|
|
@@ -1904,7 +1494,7 @@ var DropdownProvider = ({
|
|
|
1904
1494
|
id,
|
|
1905
1495
|
labelId
|
|
1906
1496
|
});
|
|
1907
|
-
(0,
|
|
1497
|
+
(0, import_react7.useEffect)(() => {
|
|
1908
1498
|
const newMap = getItemsFromChildren(children);
|
|
1909
1499
|
const previousItems = [...itemsMap.values()];
|
|
1910
1500
|
const newItems = [...newMap.values()];
|
|
@@ -1917,8 +1507,8 @@ var DropdownProvider = ({
|
|
|
1917
1507
|
setItemsMap(newMap);
|
|
1918
1508
|
}
|
|
1919
1509
|
}, [children]);
|
|
1920
|
-
const [WrapperComponent, wrapperProps] = hasPopover ? [Popover2, { open: true }] : [
|
|
1921
|
-
return /* @__PURE__ */ (0,
|
|
1510
|
+
const [WrapperComponent, wrapperProps] = hasPopover ? [Popover2, { open: true }] : [import_react7.Fragment, {}];
|
|
1511
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1922
1512
|
DropdownContext.Provider,
|
|
1923
1513
|
{
|
|
1924
1514
|
value: {
|
|
@@ -1934,12 +1524,12 @@ var DropdownProvider = ({
|
|
|
1934
1524
|
lastInteractionType,
|
|
1935
1525
|
setLastInteractionType
|
|
1936
1526
|
},
|
|
1937
|
-
children: /* @__PURE__ */ (0,
|
|
1527
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(WrapperComponent, { ...wrapperProps, children })
|
|
1938
1528
|
}
|
|
1939
1529
|
);
|
|
1940
1530
|
};
|
|
1941
1531
|
var useDropdownContext = () => {
|
|
1942
|
-
const context = (0,
|
|
1532
|
+
const context = (0, import_react7.useContext)(DropdownContext);
|
|
1943
1533
|
if (!context) {
|
|
1944
1534
|
throw Error("useDropdownContext must be used within a Dropdown provider");
|
|
1945
1535
|
}
|
|
@@ -1947,33 +1537,33 @@ var useDropdownContext = () => {
|
|
|
1947
1537
|
};
|
|
1948
1538
|
|
|
1949
1539
|
// src/dropdown/Dropdown.tsx
|
|
1950
|
-
var
|
|
1540
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
1951
1541
|
var Dropdown = ({ children, ...props }) => {
|
|
1952
|
-
return /* @__PURE__ */ (0,
|
|
1542
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DropdownProvider, { ...props, children });
|
|
1953
1543
|
};
|
|
1954
1544
|
Dropdown.displayName = "Dropdown";
|
|
1955
1545
|
|
|
1956
1546
|
// src/dropdown/DropdownDivider.tsx
|
|
1957
|
-
var
|
|
1958
|
-
var
|
|
1547
|
+
var import_class_variance_authority10 = require("class-variance-authority");
|
|
1548
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1959
1549
|
var Divider = ({ className, ref: forwardedRef }) => {
|
|
1960
|
-
return /* @__PURE__ */ (0,
|
|
1550
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { ref: forwardedRef, className: (0, import_class_variance_authority10.cx)("my-md border-b-sm border-outline", className) });
|
|
1961
1551
|
};
|
|
1962
1552
|
Divider.displayName = "Dropdown.Divider";
|
|
1963
1553
|
|
|
1964
1554
|
// src/dropdown/DropdownGroup.tsx
|
|
1965
|
-
var
|
|
1555
|
+
var import_class_variance_authority11 = require("class-variance-authority");
|
|
1966
1556
|
|
|
1967
1557
|
// src/dropdown/DropdownItemsGroupContext.tsx
|
|
1968
|
-
var
|
|
1969
|
-
var
|
|
1970
|
-
var DropdownGroupContext = (0,
|
|
1558
|
+
var import_react8 = require("react");
|
|
1559
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1560
|
+
var DropdownGroupContext = (0, import_react8.createContext)(null);
|
|
1971
1561
|
var DropdownGroupProvider = ({ children }) => {
|
|
1972
|
-
const labelId = `${
|
|
1973
|
-
return /* @__PURE__ */ (0,
|
|
1562
|
+
const labelId = `${ID_PREFIX2}-group-label-${(0, import_react8.useId)()}`;
|
|
1563
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DropdownGroupContext.Provider, { value: { labelId }, children });
|
|
1974
1564
|
};
|
|
1975
1565
|
var useDropdownGroupContext = () => {
|
|
1976
|
-
const context = (0,
|
|
1566
|
+
const context = (0, import_react8.useContext)(DropdownGroupContext);
|
|
1977
1567
|
if (!context) {
|
|
1978
1568
|
throw Error("useDropdownGroupContext must be used within a DropdownGroup provider");
|
|
1979
1569
|
}
|
|
@@ -1981,35 +1571,35 @@ var useDropdownGroupContext = () => {
|
|
|
1981
1571
|
};
|
|
1982
1572
|
|
|
1983
1573
|
// src/dropdown/DropdownGroup.tsx
|
|
1984
|
-
var
|
|
1574
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1985
1575
|
var Group = ({ children, ref: forwardedRef, ...props }) => {
|
|
1986
|
-
return /* @__PURE__ */ (0,
|
|
1576
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DropdownGroupProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(GroupContent, { ref: forwardedRef, ...props, children }) });
|
|
1987
1577
|
};
|
|
1988
1578
|
var GroupContent = ({ children, className, ref: forwardedRef }) => {
|
|
1989
1579
|
const { labelId } = useDropdownGroupContext();
|
|
1990
|
-
return /* @__PURE__ */ (0,
|
|
1580
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { ref: forwardedRef, role: "group", "aria-labelledby": labelId, className: (0, import_class_variance_authority11.cx)(className), children });
|
|
1991
1581
|
};
|
|
1992
1582
|
Group.displayName = "Dropdown.Group";
|
|
1993
1583
|
|
|
1994
1584
|
// src/dropdown/DropdownItem.tsx
|
|
1995
1585
|
var import_use_merge_refs = require("@spark-ui/use-merge-refs");
|
|
1996
|
-
var
|
|
1586
|
+
var import_class_variance_authority12 = require("class-variance-authority");
|
|
1997
1587
|
|
|
1998
1588
|
// src/dropdown/DropdownItemContext.tsx
|
|
1999
|
-
var
|
|
2000
|
-
var
|
|
2001
|
-
var DropdownItemContext = (0,
|
|
1589
|
+
var import_react9 = require("react");
|
|
1590
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1591
|
+
var DropdownItemContext = (0, import_react9.createContext)(null);
|
|
2002
1592
|
var DropdownItemProvider = ({
|
|
2003
1593
|
value,
|
|
2004
1594
|
disabled = false,
|
|
2005
1595
|
children
|
|
2006
1596
|
}) => {
|
|
2007
1597
|
const { multiple, itemsMap, selectedItem, selectedItems } = useDropdownContext();
|
|
2008
|
-
const [textId, setTextId] = (0,
|
|
1598
|
+
const [textId, setTextId] = (0, import_react9.useState)(void 0);
|
|
2009
1599
|
const index = getIndexByKey(itemsMap, value);
|
|
2010
1600
|
const itemData = { disabled, value, text: getItemText(children) };
|
|
2011
1601
|
const isSelected = multiple ? selectedItems.some((selectedItem2) => selectedItem2.value === value) : selectedItem?.value === value;
|
|
2012
|
-
return /* @__PURE__ */ (0,
|
|
1602
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2013
1603
|
DropdownItemContext.Provider,
|
|
2014
1604
|
{
|
|
2015
1605
|
value: { textId, setTextId, isSelected, itemData, index, disabled },
|
|
@@ -2018,7 +1608,7 @@ var DropdownItemProvider = ({
|
|
|
2018
1608
|
);
|
|
2019
1609
|
};
|
|
2020
1610
|
var useDropdownItemContext = () => {
|
|
2021
|
-
const context = (0,
|
|
1611
|
+
const context = (0, import_react9.useContext)(DropdownItemContext);
|
|
2022
1612
|
if (!context) {
|
|
2023
1613
|
throw Error("useDropdownItemContext must be used within a DropdownItem provider");
|
|
2024
1614
|
}
|
|
@@ -2026,12 +1616,12 @@ var useDropdownItemContext = () => {
|
|
|
2026
1616
|
};
|
|
2027
1617
|
|
|
2028
1618
|
// src/dropdown/DropdownItem.tsx
|
|
2029
|
-
var
|
|
1619
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
2030
1620
|
var Item = ({ children, ref: forwardedRef, ...props }) => {
|
|
2031
1621
|
const { value, disabled } = props;
|
|
2032
|
-
return /* @__PURE__ */ (0,
|
|
1622
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropdownItemProvider, { value, disabled, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ItemContent, { ref: forwardedRef, ...props, children }) });
|
|
2033
1623
|
};
|
|
2034
|
-
var styles2 = (0,
|
|
1624
|
+
var styles2 = (0, import_class_variance_authority12.cva)("px-lg py-md text-body-1", {
|
|
2035
1625
|
variants: {
|
|
2036
1626
|
selected: {
|
|
2037
1627
|
true: "font-bold"
|
|
@@ -2073,11 +1663,11 @@ var ItemContent = ({
|
|
|
2073
1663
|
const isHighlighted = highlightedItem?.value === value;
|
|
2074
1664
|
const { ref: downshiftRef, ...downshiftItemProps } = getItemProps({ item: itemData, index });
|
|
2075
1665
|
const ref = (0, import_use_merge_refs.useMergeRefs)(forwardedRef, downshiftRef);
|
|
2076
|
-
return /* @__PURE__ */ (0,
|
|
1666
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2077
1667
|
"li",
|
|
2078
1668
|
{
|
|
2079
1669
|
ref,
|
|
2080
|
-
className: (0,
|
|
1670
|
+
className: (0, import_class_variance_authority12.cx)(
|
|
2081
1671
|
styles2({
|
|
2082
1672
|
selected: isSelected,
|
|
2083
1673
|
disabled,
|
|
@@ -2097,9 +1687,9 @@ var ItemContent = ({
|
|
|
2097
1687
|
Item.displayName = "Dropdown.Item";
|
|
2098
1688
|
|
|
2099
1689
|
// src/dropdown/DropdownItemIndicator.tsx
|
|
2100
|
-
var
|
|
2101
|
-
var
|
|
2102
|
-
var
|
|
1690
|
+
var import_Check = require("@spark-ui/icons/Check");
|
|
1691
|
+
var import_class_variance_authority13 = require("class-variance-authority");
|
|
1692
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
2103
1693
|
var ItemIndicator = ({
|
|
2104
1694
|
className,
|
|
2105
1695
|
children,
|
|
@@ -2107,12 +1697,12 @@ var ItemIndicator = ({
|
|
|
2107
1697
|
ref: forwardedRef
|
|
2108
1698
|
}) => {
|
|
2109
1699
|
const { disabled, isSelected } = useDropdownItemContext();
|
|
2110
|
-
const childElement = children || /* @__PURE__ */ (0,
|
|
2111
|
-
return /* @__PURE__ */ (0,
|
|
1700
|
+
const childElement = children || /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Icon, { size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_Check.Check, { "aria-label": label }) });
|
|
1701
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
2112
1702
|
"span",
|
|
2113
1703
|
{
|
|
2114
1704
|
ref: forwardedRef,
|
|
2115
|
-
className: (0,
|
|
1705
|
+
className: (0, import_class_variance_authority13.cx)("min-h-sz-16 min-w-sz-16 flex", disabled && "opacity-dim-3", className),
|
|
2116
1706
|
children: isSelected && childElement
|
|
2117
1707
|
}
|
|
2118
1708
|
);
|
|
@@ -2121,9 +1711,9 @@ ItemIndicator.displayName = "Dropdown.ItemIndicator";
|
|
|
2121
1711
|
|
|
2122
1712
|
// src/dropdown/DropdownItems.tsx
|
|
2123
1713
|
var import_use_merge_refs2 = require("@spark-ui/use-merge-refs");
|
|
2124
|
-
var
|
|
2125
|
-
var
|
|
2126
|
-
var
|
|
1714
|
+
var import_class_variance_authority14 = require("class-variance-authority");
|
|
1715
|
+
var import_react10 = require("react");
|
|
1716
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
2127
1717
|
var Items = ({ children, className, ref: forwardedRef, ...props }) => {
|
|
2128
1718
|
const { isOpen, getMenuProps, hasPopover, setLastInteractionType } = useDropdownContext();
|
|
2129
1719
|
const { ref: downshiftRef, ...downshiftMenuProps } = getMenuProps({
|
|
@@ -2131,9 +1721,9 @@ var Items = ({ children, className, ref: forwardedRef, ...props }) => {
|
|
|
2131
1721
|
setLastInteractionType("mouse");
|
|
2132
1722
|
}
|
|
2133
1723
|
});
|
|
2134
|
-
const innerRef = (0,
|
|
1724
|
+
const innerRef = (0, import_react10.useRef)(null);
|
|
2135
1725
|
const ref = (0, import_use_merge_refs2.useMergeRefs)(forwardedRef, downshiftRef, innerRef);
|
|
2136
|
-
(0,
|
|
1726
|
+
(0, import_react10.useLayoutEffect)(() => {
|
|
2137
1727
|
if (!hasPopover) return;
|
|
2138
1728
|
if (!innerRef.current) return;
|
|
2139
1729
|
if (innerRef.current.parentElement) {
|
|
@@ -2141,11 +1731,11 @@ var Items = ({ children, className, ref: forwardedRef, ...props }) => {
|
|
|
2141
1731
|
innerRef.current.style.pointerEvents = isOpen ? "" : "none";
|
|
2142
1732
|
}
|
|
2143
1733
|
}, [isOpen, hasPopover]);
|
|
2144
|
-
return /* @__PURE__ */ (0,
|
|
1734
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2145
1735
|
"ul",
|
|
2146
1736
|
{
|
|
2147
1737
|
ref,
|
|
2148
|
-
className: (0,
|
|
1738
|
+
className: (0, import_class_variance_authority14.cx)(
|
|
2149
1739
|
className,
|
|
2150
1740
|
"flex flex-col",
|
|
2151
1741
|
isOpen ? "pointer-events-auto! block" : "pointer-events-none invisible absolute opacity-0",
|
|
@@ -2161,48 +1751,48 @@ var Items = ({ children, className, ref: forwardedRef, ...props }) => {
|
|
|
2161
1751
|
Items.displayName = "Dropdown.Items";
|
|
2162
1752
|
|
|
2163
1753
|
// src/dropdown/DropdownItemText.tsx
|
|
2164
|
-
var
|
|
2165
|
-
var
|
|
2166
|
-
var
|
|
1754
|
+
var import_class_variance_authority15 = require("class-variance-authority");
|
|
1755
|
+
var import_react11 = require("react");
|
|
1756
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
2167
1757
|
var ItemText = ({ children, ref: forwardedRef }) => {
|
|
2168
|
-
const id = `${
|
|
1758
|
+
const id = `${ID_PREFIX2}-item-text-${(0, import_react11.useId)()}`;
|
|
2169
1759
|
const { setTextId } = useDropdownItemContext();
|
|
2170
|
-
(0,
|
|
1760
|
+
(0, import_react11.useEffect)(() => {
|
|
2171
1761
|
setTextId(id);
|
|
2172
1762
|
return () => setTextId(void 0);
|
|
2173
1763
|
});
|
|
2174
|
-
return /* @__PURE__ */ (0,
|
|
1764
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { id, className: (0, import_class_variance_authority15.cx)("inline"), ref: forwardedRef, children });
|
|
2175
1765
|
};
|
|
2176
1766
|
ItemText.displayName = "Dropdown.ItemText";
|
|
2177
1767
|
|
|
2178
1768
|
// src/dropdown/DropdownLabel.tsx
|
|
2179
|
-
var
|
|
2180
|
-
var
|
|
2181
|
-
var
|
|
1769
|
+
var import_class_variance_authority16 = require("class-variance-authority");
|
|
1770
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1771
|
+
var Label = ({ children, className, ref: forwardedRef }) => {
|
|
2182
1772
|
const { labelId } = useDropdownGroupContext();
|
|
2183
|
-
return /* @__PURE__ */ (0,
|
|
1773
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2184
1774
|
"div",
|
|
2185
1775
|
{
|
|
2186
1776
|
ref: forwardedRef,
|
|
2187
1777
|
id: labelId,
|
|
2188
|
-
className: (0,
|
|
1778
|
+
className: (0, import_class_variance_authority16.cx)("px-md py-sm text-body-2 text-neutral italic", className),
|
|
2189
1779
|
children
|
|
2190
1780
|
}
|
|
2191
1781
|
);
|
|
2192
1782
|
};
|
|
2193
|
-
|
|
1783
|
+
Label.displayName = "Dropdown.Label";
|
|
2194
1784
|
|
|
2195
1785
|
// src/dropdown/DropdownLeadingIcon.tsx
|
|
2196
|
-
var
|
|
1786
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
2197
1787
|
var LeadingIcon = ({ children }) => {
|
|
2198
|
-
return /* @__PURE__ */ (0,
|
|
1788
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Icon, { size: "sm", className: "shrink-0", children });
|
|
2199
1789
|
};
|
|
2200
1790
|
LeadingIcon.displayName = "Dropdown.LeadingIcon";
|
|
2201
1791
|
|
|
2202
1792
|
// src/dropdown/DropdownPopover.tsx
|
|
2203
|
-
var
|
|
2204
|
-
var
|
|
2205
|
-
var
|
|
1793
|
+
var import_class_variance_authority17 = require("class-variance-authority");
|
|
1794
|
+
var import_react12 = require("react");
|
|
1795
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2206
1796
|
var Popover3 = ({
|
|
2207
1797
|
children,
|
|
2208
1798
|
matchTriggerWidth = true,
|
|
@@ -2213,11 +1803,11 @@ var Popover3 = ({
|
|
|
2213
1803
|
...props
|
|
2214
1804
|
}) => {
|
|
2215
1805
|
const ctx = useDropdownContext();
|
|
2216
|
-
(0,
|
|
1806
|
+
(0, import_react12.useEffect)(() => {
|
|
2217
1807
|
ctx.setHasPopover(true);
|
|
2218
1808
|
return () => ctx.setHasPopover(false);
|
|
2219
1809
|
}, []);
|
|
2220
|
-
return /* @__PURE__ */ (0,
|
|
1810
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2221
1811
|
Popover2.Content,
|
|
2222
1812
|
{
|
|
2223
1813
|
ref: forwardedRef,
|
|
@@ -2225,7 +1815,7 @@ var Popover3 = ({
|
|
|
2225
1815
|
asChild: true,
|
|
2226
1816
|
matchTriggerWidth,
|
|
2227
1817
|
elevation,
|
|
2228
|
-
className: (0,
|
|
1818
|
+
className: (0, import_class_variance_authority17.cx)("relative", className),
|
|
2229
1819
|
sideOffset,
|
|
2230
1820
|
onOpenAutoFocus: (e) => {
|
|
2231
1821
|
e.preventDefault();
|
|
@@ -2239,19 +1829,19 @@ var Popover3 = ({
|
|
|
2239
1829
|
Popover3.displayName = "Dropdown.Popover";
|
|
2240
1830
|
|
|
2241
1831
|
// src/dropdown/DropdownPortal.tsx
|
|
2242
|
-
var
|
|
2243
|
-
var Portal2 = ({ children, ...rest }) => /* @__PURE__ */ (0,
|
|
1832
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1833
|
+
var Portal2 = ({ children, ...rest }) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Popover2.Portal, { ...rest, children });
|
|
2244
1834
|
Portal2.displayName = "Dropdown.Portal";
|
|
2245
1835
|
|
|
2246
1836
|
// src/dropdown/DropdownTrigger.tsx
|
|
2247
1837
|
var import_ArrowHorizontalDown = require("@spark-ui/icons/ArrowHorizontalDown");
|
|
2248
1838
|
var import_use_merge_refs3 = require("@spark-ui/use-merge-refs");
|
|
2249
|
-
var
|
|
2250
|
-
var
|
|
1839
|
+
var import_class_variance_authority19 = require("class-variance-authority");
|
|
1840
|
+
var import_react13 = require("react");
|
|
2251
1841
|
|
|
2252
1842
|
// src/dropdown/DropdownTrigger.styles.tsx
|
|
2253
|
-
var
|
|
2254
|
-
var styles3 = (0,
|
|
1843
|
+
var import_class_variance_authority18 = require("class-variance-authority");
|
|
1844
|
+
var styles3 = (0, import_class_variance_authority18.cva)(
|
|
2255
1845
|
[
|
|
2256
1846
|
"flex w-full items-center justify-between",
|
|
2257
1847
|
"min-h-sz-44 rounded-lg bg-surface text-on-surface px-lg",
|
|
@@ -2285,7 +1875,7 @@ var styles3 = (0, import_class_variance_authority27.cva)(
|
|
|
2285
1875
|
);
|
|
2286
1876
|
|
|
2287
1877
|
// src/dropdown/DropdownTrigger.tsx
|
|
2288
|
-
var
|
|
1878
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
2289
1879
|
var Trigger2 = ({
|
|
2290
1880
|
"aria-label": ariaLabel,
|
|
2291
1881
|
children,
|
|
@@ -2302,7 +1892,7 @@ var Trigger2 = ({
|
|
|
2302
1892
|
state,
|
|
2303
1893
|
setLastInteractionType
|
|
2304
1894
|
} = useDropdownContext();
|
|
2305
|
-
const [WrapperComponent, wrapperProps] = hasPopover ? [Popover2.Trigger, { asChild: true }] : [
|
|
1895
|
+
const [WrapperComponent, wrapperProps] = hasPopover ? [Popover2.Trigger, { asChild: true }] : [import_react13.Fragment, {}];
|
|
2306
1896
|
const { ref: downshiftRef, ...downshiftTriggerProps } = getToggleButtonProps({
|
|
2307
1897
|
...getDropdownProps(),
|
|
2308
1898
|
onKeyDown: () => {
|
|
@@ -2311,9 +1901,9 @@ var Trigger2 = ({
|
|
|
2311
1901
|
});
|
|
2312
1902
|
const isExpanded = downshiftTriggerProps["aria-expanded"];
|
|
2313
1903
|
const ref = (0, import_use_merge_refs3.useMergeRefs)(forwardedRef, downshiftRef);
|
|
2314
|
-
return /* @__PURE__ */ (0,
|
|
2315
|
-
ariaLabel && /* @__PURE__ */ (0,
|
|
2316
|
-
/* @__PURE__ */ (0,
|
|
1904
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
|
|
1905
|
+
ariaLabel && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("label", { ...getLabelProps(), children: ariaLabel }) }),
|
|
1906
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(WrapperComponent, { ...wrapperProps, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
2317
1907
|
"button",
|
|
2318
1908
|
{
|
|
2319
1909
|
type: "button",
|
|
@@ -2323,15 +1913,15 @@ var Trigger2 = ({
|
|
|
2323
1913
|
...downshiftTriggerProps,
|
|
2324
1914
|
"data-spark-component": "dropdown-trigger",
|
|
2325
1915
|
children: [
|
|
2326
|
-
/* @__PURE__ */ (0,
|
|
2327
|
-
/* @__PURE__ */ (0,
|
|
1916
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "gap-md flex items-center justify-start", children }),
|
|
1917
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2328
1918
|
Icon,
|
|
2329
1919
|
{
|
|
2330
|
-
className: (0,
|
|
1920
|
+
className: (0, import_class_variance_authority19.cx)("ml-md shrink-0 rotate-0 transition duration-100 ease-in", {
|
|
2331
1921
|
"rotate-180": isExpanded
|
|
2332
1922
|
}),
|
|
2333
1923
|
size: "sm",
|
|
2334
|
-
children: /* @__PURE__ */ (0,
|
|
1924
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_ArrowHorizontalDown.ArrowHorizontalDown, {})
|
|
2335
1925
|
}
|
|
2336
1926
|
)
|
|
2337
1927
|
]
|
|
@@ -2342,25 +1932,25 @@ var Trigger2 = ({
|
|
|
2342
1932
|
Trigger2.displayName = "Dropdown.Trigger";
|
|
2343
1933
|
|
|
2344
1934
|
// src/dropdown/DropdownValue.tsx
|
|
2345
|
-
var
|
|
2346
|
-
var
|
|
1935
|
+
var import_class_variance_authority20 = require("class-variance-authority");
|
|
1936
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
2347
1937
|
var Value = ({ children, className, placeholder, ref: forwardedRef }) => {
|
|
2348
1938
|
const { selectedItem, multiple, selectedItems } = useDropdownContext();
|
|
2349
1939
|
const hasSelectedItems = !!(multiple ? selectedItems.length : selectedItem);
|
|
2350
1940
|
const text = multiple ? selectedItems[0]?.text : selectedItem?.text;
|
|
2351
1941
|
const suffix = selectedItems.length > 1 ? `, +${selectedItems.length - 1}` : "";
|
|
2352
|
-
return /* @__PURE__ */ (0,
|
|
2353
|
-
/* @__PURE__ */ (0,
|
|
1942
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("span", { ref: forwardedRef, className: (0, import_class_variance_authority20.cx)("flex shrink items-center text-left", className), children: [
|
|
1943
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2354
1944
|
"span",
|
|
2355
1945
|
{
|
|
2356
|
-
className: (0,
|
|
1946
|
+
className: (0, import_class_variance_authority20.cx)(
|
|
2357
1947
|
"line-clamp-1 flex-1 overflow-hidden break-all text-ellipsis",
|
|
2358
1948
|
!hasSelectedItems && "text-on-surface/dim-1"
|
|
2359
1949
|
),
|
|
2360
1950
|
children: !hasSelectedItems ? placeholder : children || text
|
|
2361
1951
|
}
|
|
2362
1952
|
),
|
|
2363
|
-
suffix && /* @__PURE__ */ (0,
|
|
1953
|
+
suffix && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { children: suffix })
|
|
2364
1954
|
] });
|
|
2365
1955
|
};
|
|
2366
1956
|
Value.displayName = "Dropdown.Value";
|
|
@@ -2372,7 +1962,7 @@ var Dropdown2 = Object.assign(Dropdown, {
|
|
|
2372
1962
|
Items,
|
|
2373
1963
|
ItemText,
|
|
2374
1964
|
ItemIndicator,
|
|
2375
|
-
Label
|
|
1965
|
+
Label,
|
|
2376
1966
|
Popover: Popover3,
|
|
2377
1967
|
Divider,
|
|
2378
1968
|
Trigger: Trigger2,
|
|
@@ -2386,7 +1976,7 @@ Items.displayName = "Dropdown.Items";
|
|
|
2386
1976
|
Item.displayName = "Dropdown.Item";
|
|
2387
1977
|
ItemText.displayName = "Dropdown.ItemText";
|
|
2388
1978
|
ItemIndicator.displayName = "Dropdown.ItemIndicator";
|
|
2389
|
-
|
|
1979
|
+
Label.displayName = "Dropdown.Label";
|
|
2390
1980
|
Popover3.displayName = "Dropdown.Popover";
|
|
2391
1981
|
Divider.displayName = "Dropdown.Divider";
|
|
2392
1982
|
Trigger2.displayName = "Dropdown.Trigger";
|