@bubo-squared/ui-framework 0.2.27 → 0.2.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +386 -377
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +22 -12
- package/dist/index.d.ts +22 -12
- package/dist/index.js +359 -350
- package/dist/index.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -38,7 +38,7 @@ __export(index_exports, {
|
|
|
38
38
|
BadgeDot: () => BadgeDot,
|
|
39
39
|
BadgeStatus: () => BadgeStatus,
|
|
40
40
|
Breadcrumbs: () => Breadcrumbs,
|
|
41
|
-
Button: () =>
|
|
41
|
+
Button: () => Button2,
|
|
42
42
|
ButtonGroup: () => ButtonGroup,
|
|
43
43
|
Checkbox: () => Checkbox,
|
|
44
44
|
Divider: () => Divider,
|
|
@@ -81,9 +81,8 @@ __export(index_exports, {
|
|
|
81
81
|
module.exports = __toCommonJS(index_exports);
|
|
82
82
|
|
|
83
83
|
// src/components/Buttons/Button.tsx
|
|
84
|
-
var
|
|
85
|
-
var
|
|
86
|
-
var import_class_variance_authority = require("class-variance-authority");
|
|
84
|
+
var React2 = __toESM(require("react"), 1);
|
|
85
|
+
var import_class_variance_authority2 = require("class-variance-authority");
|
|
87
86
|
|
|
88
87
|
// src/lib/utils.tsx
|
|
89
88
|
var import_clsx = require("clsx");
|
|
@@ -123,14 +122,67 @@ function spawnRipple(target, clientX, clientY, options = {}) {
|
|
|
123
122
|
window.setTimeout(cleanup, durationMs + 50);
|
|
124
123
|
}
|
|
125
124
|
|
|
126
|
-
// src/components/
|
|
125
|
+
// src/components/ui/button.tsx
|
|
126
|
+
var React = require("react");
|
|
127
|
+
var import_react_slot = require("@radix-ui/react-slot");
|
|
128
|
+
var import_class_variance_authority = require("class-variance-authority");
|
|
127
129
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
128
130
|
var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
129
|
-
"
|
|
131
|
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-0 focus-visible:shadow-none aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
132
|
+
{
|
|
133
|
+
variants: {
|
|
134
|
+
variant: {
|
|
135
|
+
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
136
|
+
destructive: "bg-destructive text-white hover:bg-destructive/90 dark:bg-destructive/60",
|
|
137
|
+
outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
138
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
139
|
+
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
140
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
141
|
+
},
|
|
142
|
+
size: {
|
|
143
|
+
default: "h-9 px-4 py-2 has-[>svg]:px-3",
|
|
144
|
+
sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
|
|
145
|
+
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
|
|
146
|
+
icon: "size-9",
|
|
147
|
+
"icon-sm": "size-8",
|
|
148
|
+
"icon-lg": "size-10"
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
defaultVariants: {
|
|
152
|
+
variant: "default",
|
|
153
|
+
size: "default"
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
);
|
|
157
|
+
function Button({
|
|
158
|
+
className,
|
|
159
|
+
variant = "default",
|
|
160
|
+
size = "default",
|
|
161
|
+
asChild = false,
|
|
162
|
+
...props
|
|
163
|
+
}) {
|
|
164
|
+
const Comp = asChild ? import_react_slot.Slot : "button";
|
|
165
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
166
|
+
Comp,
|
|
167
|
+
{
|
|
168
|
+
"data-slot": "button",
|
|
169
|
+
"data-variant": variant,
|
|
170
|
+
"data-size": size,
|
|
171
|
+
className,
|
|
172
|
+
...props
|
|
173
|
+
}
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
// src/components/Buttons/Button.tsx
|
|
178
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
179
|
+
var buttonVariants2 = (0, import_class_variance_authority2.cva)(
|
|
180
|
+
"relative inline-flex items-center justify-center whitespace-nowrap rounded-8 transition-colors disabled:pointer-events-none overflow-hidden cursor-pointer",
|
|
130
181
|
{
|
|
131
182
|
variants: {
|
|
132
183
|
variant: {
|
|
133
184
|
primary: [
|
|
185
|
+
// BaseButton applies some defaults, but our classes will override via cn() in BaseButton
|
|
134
186
|
"btn-primary",
|
|
135
187
|
"focus-ring-primary"
|
|
136
188
|
],
|
|
@@ -167,7 +219,7 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
|
167
219
|
}
|
|
168
220
|
}
|
|
169
221
|
);
|
|
170
|
-
var buttonIconVariants = (0,
|
|
222
|
+
var buttonIconVariants = (0, import_class_variance_authority2.cva)("relative", {
|
|
171
223
|
variants: {
|
|
172
224
|
size: {
|
|
173
225
|
sm: ["size-5", "*:size-5"],
|
|
@@ -177,7 +229,7 @@ var buttonIconVariants = (0, import_class_variance_authority.cva)("relative", {
|
|
|
177
229
|
}
|
|
178
230
|
}
|
|
179
231
|
});
|
|
180
|
-
var buttonTextVariants = (0,
|
|
232
|
+
var buttonTextVariants = (0, import_class_variance_authority2.cva)("flex text-center justify-center font-normal", {
|
|
181
233
|
variants: {
|
|
182
234
|
size: {
|
|
183
235
|
sm: ["paragraph-sm"],
|
|
@@ -187,7 +239,7 @@ var buttonTextVariants = (0, import_class_variance_authority.cva)("flex text-cen
|
|
|
187
239
|
}
|
|
188
240
|
}
|
|
189
241
|
});
|
|
190
|
-
var
|
|
242
|
+
var Button2 = React2.forwardRef(
|
|
191
243
|
(props, ref) => {
|
|
192
244
|
const {
|
|
193
245
|
className,
|
|
@@ -200,7 +252,6 @@ var Button = React.forwardRef(
|
|
|
200
252
|
onPointerDown,
|
|
201
253
|
...rest
|
|
202
254
|
} = props;
|
|
203
|
-
const Comp = asChild ? import_react_slot.Slot : "button";
|
|
204
255
|
const handlePointerDown = (e) => {
|
|
205
256
|
onPointerDown?.(e);
|
|
206
257
|
if (e.defaultPrevented) return;
|
|
@@ -208,28 +259,29 @@ var Button = React.forwardRef(
|
|
|
208
259
|
if (e.button !== 0 || !e.isPrimary) return;
|
|
209
260
|
spawnRipple(e.currentTarget, e.clientX, e.clientY);
|
|
210
261
|
};
|
|
211
|
-
return /* @__PURE__ */ (0,
|
|
212
|
-
|
|
262
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
263
|
+
Button,
|
|
213
264
|
{
|
|
214
|
-
|
|
265
|
+
asChild,
|
|
215
266
|
ref,
|
|
267
|
+
className: cn(buttonVariants2({ variant, size, className })),
|
|
216
268
|
onPointerDown: handlePointerDown,
|
|
217
269
|
...rest,
|
|
218
270
|
children: [
|
|
219
|
-
leadingIcon && /* @__PURE__ */ (0,
|
|
220
|
-
/* @__PURE__ */ (0,
|
|
221
|
-
trailingIcon && /* @__PURE__ */ (0,
|
|
271
|
+
leadingIcon && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: cn(buttonIconVariants({ size })), children: leadingIcon }),
|
|
272
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: cn(buttonTextVariants({ size })), children }),
|
|
273
|
+
trailingIcon && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: cn(buttonIconVariants({ size })), children: trailingIcon })
|
|
222
274
|
]
|
|
223
275
|
}
|
|
224
276
|
);
|
|
225
277
|
}
|
|
226
278
|
);
|
|
227
|
-
|
|
279
|
+
Button2.displayName = "Button";
|
|
228
280
|
|
|
229
281
|
// src/components/Buttons/ButtonGroup.tsx
|
|
230
|
-
var
|
|
231
|
-
var
|
|
232
|
-
var buttonGroupVariants = (0,
|
|
282
|
+
var import_class_variance_authority3 = require("class-variance-authority");
|
|
283
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
284
|
+
var buttonGroupVariants = (0, import_class_variance_authority3.cva)(
|
|
233
285
|
"flex items-center justify-center gap-4 pt-4 w-fit",
|
|
234
286
|
{
|
|
235
287
|
variants: {
|
|
@@ -250,7 +302,7 @@ var ButtonGroup = (props) => {
|
|
|
250
302
|
children,
|
|
251
303
|
...rest
|
|
252
304
|
} = props;
|
|
253
|
-
return /* @__PURE__ */ (0,
|
|
305
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
254
306
|
"div",
|
|
255
307
|
{
|
|
256
308
|
className: cn(buttonGroupVariants({ orientation }), className),
|
|
@@ -261,11 +313,10 @@ var ButtonGroup = (props) => {
|
|
|
261
313
|
};
|
|
262
314
|
|
|
263
315
|
// src/components/Buttons/IconButton.tsx
|
|
264
|
-
var
|
|
265
|
-
var
|
|
266
|
-
var
|
|
267
|
-
var
|
|
268
|
-
var iconButtonVariants = (0, import_class_variance_authority3.cva)(
|
|
316
|
+
var React3 = __toESM(require("react"), 1);
|
|
317
|
+
var import_class_variance_authority4 = require("class-variance-authority");
|
|
318
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
319
|
+
var iconButtonVariants = (0, import_class_variance_authority4.cva)(
|
|
269
320
|
"relative inline-flex items-center justify-center whitespace-nowrap transition-colors disabled:pointer-events-none overflow-hidden p-2 cursor-pointer",
|
|
270
321
|
{
|
|
271
322
|
variants: {
|
|
@@ -303,7 +354,7 @@ var iconButtonVariants = (0, import_class_variance_authority3.cva)(
|
|
|
303
354
|
}
|
|
304
355
|
}
|
|
305
356
|
);
|
|
306
|
-
var IconButton =
|
|
357
|
+
var IconButton = React3.forwardRef(
|
|
307
358
|
(props, ref) => {
|
|
308
359
|
const {
|
|
309
360
|
className,
|
|
@@ -315,7 +366,6 @@ var IconButton = React2.forwardRef(
|
|
|
315
366
|
onPointerDown,
|
|
316
367
|
...rest
|
|
317
368
|
} = props;
|
|
318
|
-
const Comp = asChild ? import_react_slot2.Slot : "button";
|
|
319
369
|
const handlePointerDown = (e) => {
|
|
320
370
|
onPointerDown?.(e);
|
|
321
371
|
if (e.defaultPrevented) return;
|
|
@@ -323,14 +373,15 @@ var IconButton = React2.forwardRef(
|
|
|
323
373
|
if (e.button !== 0 || !e.isPrimary) return;
|
|
324
374
|
spawnRipple(e.currentTarget, e.clientX, e.clientY);
|
|
325
375
|
};
|
|
326
|
-
return /* @__PURE__ */ (0,
|
|
327
|
-
|
|
376
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
377
|
+
Button,
|
|
328
378
|
{
|
|
329
|
-
className: cn(iconButtonVariants({ variant, size }), round ? "rounded-full" : "rounded-
|
|
379
|
+
className: cn(iconButtonVariants({ variant, size }), round ? "rounded-full" : "rounded-8", className),
|
|
330
380
|
ref,
|
|
381
|
+
asChild,
|
|
331
382
|
onPointerDown: handlePointerDown,
|
|
332
383
|
...rest,
|
|
333
|
-
children: /* @__PURE__ */ (0,
|
|
384
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "buttonIcon flex items-center justify-center", children: icon })
|
|
334
385
|
}
|
|
335
386
|
);
|
|
336
387
|
}
|
|
@@ -338,11 +389,11 @@ var IconButton = React2.forwardRef(
|
|
|
338
389
|
IconButton.displayName = "IconButton";
|
|
339
390
|
|
|
340
391
|
// src/components/Buttons/IconButtonGroup.tsx
|
|
341
|
-
var
|
|
342
|
-
var
|
|
343
|
-
var
|
|
392
|
+
var React4 = require("react");
|
|
393
|
+
var import_class_variance_authority5 = require("class-variance-authority");
|
|
394
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
344
395
|
var IconGroupLinesClass = "inline-flex items-center justify-center gap-0 [&>button]:outline-none! [&>button]:rounded-none [&>button:focus]:shadow-none [&>button:focus]:bg-(--border-secondary) [&>button:first-child]:rounded-l-4 [&>button:last-child]:rounded-r-4";
|
|
345
|
-
var IconGroupSizeVariants = (0,
|
|
396
|
+
var IconGroupSizeVariants = (0, import_class_variance_authority5.cva)("", {
|
|
346
397
|
variants: {
|
|
347
398
|
size: {
|
|
348
399
|
sm: "[&>button]:px-1.5",
|
|
@@ -360,7 +411,7 @@ var IconButtonGroup = (props) => {
|
|
|
360
411
|
if (!items || items.length === 0) {
|
|
361
412
|
return null;
|
|
362
413
|
}
|
|
363
|
-
return /* @__PURE__ */ (0,
|
|
414
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
364
415
|
"div",
|
|
365
416
|
{
|
|
366
417
|
className: cn(
|
|
@@ -369,7 +420,7 @@ var IconButtonGroup = (props) => {
|
|
|
369
420
|
className
|
|
370
421
|
),
|
|
371
422
|
...rest,
|
|
372
|
-
children: items.map((item, index) => /* @__PURE__ */ (0,
|
|
423
|
+
children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
373
424
|
IconButton,
|
|
374
425
|
{
|
|
375
426
|
variant: "secondary",
|
|
@@ -393,11 +444,11 @@ var IconButtonGroup = (props) => {
|
|
|
393
444
|
IconButtonGroup.displayName = "IconButtonGroup";
|
|
394
445
|
|
|
395
446
|
// src/components/Buttons/LinkButton.tsx
|
|
396
|
-
var
|
|
397
|
-
var
|
|
398
|
-
var
|
|
399
|
-
var
|
|
400
|
-
var linkButtonVariants = (0,
|
|
447
|
+
var React5 = __toESM(require("react"), 1);
|
|
448
|
+
var import_react_slot2 = require("@radix-ui/react-slot");
|
|
449
|
+
var import_class_variance_authority6 = require("class-variance-authority");
|
|
450
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
451
|
+
var linkButtonVariants = (0, import_class_variance_authority6.cva)(
|
|
401
452
|
"inline-flex items-center justify-center whitespace-nowrap rounded-4 transition-colors disabled:pointer-events-none overflow-hidden gap-2 cursor-pointer",
|
|
402
453
|
{
|
|
403
454
|
variants: {
|
|
@@ -419,7 +470,7 @@ var linkButtonVariants = (0, import_class_variance_authority5.cva)(
|
|
|
419
470
|
}
|
|
420
471
|
}
|
|
421
472
|
);
|
|
422
|
-
var linkButtonIconVariants = (0,
|
|
473
|
+
var linkButtonIconVariants = (0, import_class_variance_authority6.cva)("relative", {
|
|
423
474
|
variants: {
|
|
424
475
|
size: {
|
|
425
476
|
sm: ["size-5", "*:size-5"],
|
|
@@ -429,7 +480,7 @@ var linkButtonIconVariants = (0, import_class_variance_authority5.cva)("relative
|
|
|
429
480
|
}
|
|
430
481
|
}
|
|
431
482
|
});
|
|
432
|
-
var linkButtonTextVariants = (0,
|
|
483
|
+
var linkButtonTextVariants = (0, import_class_variance_authority6.cva)("inline-flex items-center text-center font-medium", {
|
|
433
484
|
variants: {
|
|
434
485
|
size: {
|
|
435
486
|
sm: ["text-sm", "leading-5"],
|
|
@@ -439,7 +490,7 @@ var linkButtonTextVariants = (0, import_class_variance_authority5.cva)("inline-f
|
|
|
439
490
|
}
|
|
440
491
|
}
|
|
441
492
|
});
|
|
442
|
-
var LinkButton =
|
|
493
|
+
var LinkButton = React5.forwardRef(
|
|
443
494
|
(props, ref) => {
|
|
444
495
|
const {
|
|
445
496
|
className,
|
|
@@ -451,17 +502,17 @@ var LinkButton = React4.forwardRef(
|
|
|
451
502
|
leadingIcon,
|
|
452
503
|
...rest
|
|
453
504
|
} = props;
|
|
454
|
-
const Comp = asChild ?
|
|
455
|
-
return /* @__PURE__ */ (0,
|
|
505
|
+
const Comp = asChild ? import_react_slot2.Slot : "button";
|
|
506
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
456
507
|
Comp,
|
|
457
508
|
{
|
|
458
509
|
className: cn(linkButtonVariants({ variant, size, className })),
|
|
459
510
|
ref,
|
|
460
511
|
...rest,
|
|
461
512
|
children: [
|
|
462
|
-
leadingIcon && /* @__PURE__ */ (0,
|
|
463
|
-
/* @__PURE__ */ (0,
|
|
464
|
-
trailingIcon && /* @__PURE__ */ (0,
|
|
513
|
+
leadingIcon && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: cn(linkButtonIconVariants({ size })), children: leadingIcon }),
|
|
514
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: cn(linkButtonTextVariants({ size })), children }),
|
|
515
|
+
trailingIcon && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: cn(linkButtonIconVariants({ size })), children: trailingIcon })
|
|
465
516
|
]
|
|
466
517
|
}
|
|
467
518
|
);
|
|
@@ -470,8 +521,8 @@ var LinkButton = React4.forwardRef(
|
|
|
470
521
|
LinkButton.displayName = "LinkButton";
|
|
471
522
|
|
|
472
523
|
// src/components/Buttons/MessageButton.tsx
|
|
473
|
-
var
|
|
474
|
-
var
|
|
524
|
+
var React6 = __toESM(require("react"), 1);
|
|
525
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
475
526
|
var MessageButton = (props) => {
|
|
476
527
|
const {
|
|
477
528
|
onClick,
|
|
@@ -483,7 +534,7 @@ var MessageButton = (props) => {
|
|
|
483
534
|
className = "",
|
|
484
535
|
...buttonProps
|
|
485
536
|
} = props;
|
|
486
|
-
const [status, setStatus] =
|
|
537
|
+
const [status, setStatus] = React6.useState("idle");
|
|
487
538
|
const handleClick = async (_event) => {
|
|
488
539
|
if (status === "loading") return;
|
|
489
540
|
setStatus("loading");
|
|
@@ -501,7 +552,7 @@ var MessageButton = (props) => {
|
|
|
501
552
|
};
|
|
502
553
|
const label = status === "loading" ? loadingLabel : status === "success" ? successLabel : status === "error" ? errorLabel : idleLabel;
|
|
503
554
|
const statusClasses = status === "success" ? "btn-msg-success" : status === "error" ? "btn-destructive" : "btn-outline focus-ring-outline";
|
|
504
|
-
return /* @__PURE__ */ (0,
|
|
555
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
505
556
|
"button",
|
|
506
557
|
{
|
|
507
558
|
type: "button",
|
|
@@ -509,8 +560,8 @@ var MessageButton = (props) => {
|
|
|
509
560
|
onClick: handleClick,
|
|
510
561
|
className: `inline-flex items-center justify-center rounded-4 px-1.5 py-1 gap-1 text-sm transition-colors cursor-pointer ${statusClasses} ${className}`,
|
|
511
562
|
children: [
|
|
512
|
-
props.icon && /* @__PURE__ */ (0,
|
|
513
|
-
/* @__PURE__ */ (0,
|
|
563
|
+
props.icon && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "size-5 *:size-5 relative", children: props.icon }),
|
|
564
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "text-center text-xl font-normal leading-7", children: label })
|
|
514
565
|
]
|
|
515
566
|
}
|
|
516
567
|
);
|
|
@@ -518,11 +569,11 @@ var MessageButton = (props) => {
|
|
|
518
569
|
MessageButton.displayName = "MessageButton";
|
|
519
570
|
|
|
520
571
|
// src/components/Content/Accordion.tsx
|
|
521
|
-
var
|
|
572
|
+
var React7 = __toESM(require("react"), 1);
|
|
522
573
|
var AccordionPrimitive = __toESM(require("@radix-ui/react-accordion"), 1);
|
|
523
574
|
var import_icons = require("@bubo-squared/icons");
|
|
524
|
-
var
|
|
525
|
-
var Accordion =
|
|
575
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
576
|
+
var Accordion = React7.forwardRef(
|
|
526
577
|
(props, ref) => {
|
|
527
578
|
const {
|
|
528
579
|
title,
|
|
@@ -540,7 +591,7 @@ var Accordion = React6.forwardRef(
|
|
|
540
591
|
...restRootProps
|
|
541
592
|
} = rootProps;
|
|
542
593
|
const resolvedDefaultValue = value === void 0 && defaultValue === void 0 && defaultOpen ? "item" : defaultValue;
|
|
543
|
-
return /* @__PURE__ */ (0,
|
|
594
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
544
595
|
AccordionPrimitive.Root,
|
|
545
596
|
{
|
|
546
597
|
ref,
|
|
@@ -551,13 +602,13 @@ var Accordion = React6.forwardRef(
|
|
|
551
602
|
defaultValue: resolvedDefaultValue,
|
|
552
603
|
onValueChange,
|
|
553
604
|
...restRootProps,
|
|
554
|
-
children: /* @__PURE__ */ (0,
|
|
605
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
555
606
|
AccordionPrimitive.Item,
|
|
556
607
|
{
|
|
557
608
|
value: "item",
|
|
558
609
|
className: cn(bordered ? "border rounded-4" : "border-b", "border-secondary px-4"),
|
|
559
610
|
children: [
|
|
560
|
-
/* @__PURE__ */ (0,
|
|
611
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
561
612
|
AccordionPrimitive.Trigger,
|
|
562
613
|
{
|
|
563
614
|
className: cn(
|
|
@@ -567,12 +618,12 @@ var Accordion = React6.forwardRef(
|
|
|
567
618
|
"disabled:cursor-not-allowed disabled:text-primary-disabled cursor-pointer"
|
|
568
619
|
),
|
|
569
620
|
children: [
|
|
570
|
-
/* @__PURE__ */ (0,
|
|
571
|
-
/* @__PURE__ */ (0,
|
|
621
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "flex-1", children: title }),
|
|
622
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "accordion-icon inline-flex shrink-0 transition-transform duration-200 [&>svg]:size-5", children: expandIcon ?? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_icons.ChevronDownIcon, {}) })
|
|
572
623
|
]
|
|
573
624
|
}
|
|
574
625
|
) }),
|
|
575
|
-
/* @__PURE__ */ (0,
|
|
626
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AccordionPrimitive.Content, { className: "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "pb-3", children }) })
|
|
576
627
|
]
|
|
577
628
|
}
|
|
578
629
|
)
|
|
@@ -583,23 +634,23 @@ var Accordion = React6.forwardRef(
|
|
|
583
634
|
Accordion.displayName = "Accordion";
|
|
584
635
|
|
|
585
636
|
// src/components/Content/Avatar.tsx
|
|
586
|
-
var
|
|
587
|
-
var
|
|
588
|
-
var
|
|
637
|
+
var React8 = __toESM(require("react"), 1);
|
|
638
|
+
var import_react_slot3 = require("@radix-ui/react-slot");
|
|
639
|
+
var import_class_variance_authority7 = require("class-variance-authority");
|
|
589
640
|
var import_icons2 = require("@bubo-squared/icons");
|
|
590
|
-
var
|
|
591
|
-
var avatarVariants = (0,
|
|
641
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
642
|
+
var avatarVariants = (0, import_class_variance_authority7.cva)(
|
|
592
643
|
"relative inline-flex items-center justify-center rounded-full border-secondary border-1 bg-(--background-primary) text-primary overflow-hidden hover:border-(--focus-secondary) focus-visible:border-(--focus-primary) focus-visible:outline-none",
|
|
593
644
|
{
|
|
594
645
|
variants: {
|
|
595
646
|
size: {
|
|
596
|
-
"20": "w-5 h-5 hover:border-2 focus-visible:border-2",
|
|
597
|
-
"24": "w-6 h-6 hover:border-2 focus-visible:border-2",
|
|
598
|
-
"32": "w-8 h-8 hover:border-2 focus-visible:border-2",
|
|
599
|
-
"40": "w-10 h-10 hover:border-2 focus-visible:border-2",
|
|
600
|
-
"48": "w-12 h-12 hover:border-2 focus-visible:border-2",
|
|
601
|
-
"56": "w-14 h-14 hover:border-4 focus-visible:border-4",
|
|
602
|
-
"64": "w-16 h-16 hover:border-4 focus-visible:border-4"
|
|
647
|
+
"20": "min-w-5 min-h-5 hover:border-2 focus-visible:border-2",
|
|
648
|
+
"24": "min-w-6 min-h-6 hover:border-2 focus-visible:border-2",
|
|
649
|
+
"32": "min-w-8 min-h-8 hover:border-2 focus-visible:border-2",
|
|
650
|
+
"40": "min-w-10 min-h-10 hover:border-2 focus-visible:border-2",
|
|
651
|
+
"48": "min-w-12 min-h-12 hover:border-2 focus-visible:border-2",
|
|
652
|
+
"56": "min-w-14 min-h-14 hover:border-4 focus-visible:border-4",
|
|
653
|
+
"64": "min-w-16 min-h-16 hover:border-4 focus-visible:border-4"
|
|
603
654
|
}
|
|
604
655
|
},
|
|
605
656
|
defaultVariants: {
|
|
@@ -607,7 +658,7 @@ var avatarVariants = (0, import_class_variance_authority6.cva)(
|
|
|
607
658
|
}
|
|
608
659
|
}
|
|
609
660
|
);
|
|
610
|
-
var avatarInitialsVariants = (0,
|
|
661
|
+
var avatarInitialsVariants = (0, import_class_variance_authority7.cva)(
|
|
611
662
|
"flex items-center justify-center text-primary leading-none ",
|
|
612
663
|
{
|
|
613
664
|
variants: {
|
|
@@ -626,18 +677,18 @@ var avatarInitialsVariants = (0, import_class_variance_authority6.cva)(
|
|
|
626
677
|
}
|
|
627
678
|
}
|
|
628
679
|
);
|
|
629
|
-
var avatarIconVariants = (0,
|
|
680
|
+
var avatarIconVariants = (0, import_class_variance_authority7.cva)(
|
|
630
681
|
"flex items-center justify-center text-(--icon-primary)",
|
|
631
682
|
{
|
|
632
683
|
variants: {
|
|
633
684
|
size: {
|
|
634
|
-
"20": "
|
|
635
|
-
"24": "
|
|
636
|
-
"32": "
|
|
637
|
-
"40": "
|
|
638
|
-
"48": "
|
|
639
|
-
"56": "
|
|
640
|
-
"64": "
|
|
685
|
+
"20": "min-h-3 min-w-3 [&>svg]:size-3",
|
|
686
|
+
"24": "min-h-3.5 min-w-3.5 [&>svg]:size-3.5",
|
|
687
|
+
"32": "min-h-4 min-w-4 [&>svg]:size-4",
|
|
688
|
+
"40": "min-h-5 min-w-5 [&>svg]:size-5",
|
|
689
|
+
"48": "min-h-6 min-w-6 [&>svg]:size-6",
|
|
690
|
+
"56": "min-h-7 min-w-7 [&>svg]:size-7",
|
|
691
|
+
"64": "min-h-8 min-w-8 [&>svg]:size-8"
|
|
641
692
|
}
|
|
642
693
|
},
|
|
643
694
|
defaultVariants: {
|
|
@@ -645,11 +696,11 @@ var avatarIconVariants = (0, import_class_variance_authority6.cva)(
|
|
|
645
696
|
}
|
|
646
697
|
}
|
|
647
698
|
);
|
|
648
|
-
var Avatar =
|
|
699
|
+
var Avatar = React8.forwardRef(
|
|
649
700
|
(props, ref) => {
|
|
650
701
|
const {
|
|
651
702
|
asChild = false,
|
|
652
|
-
variant = "
|
|
703
|
+
variant = "initials",
|
|
653
704
|
size = "32",
|
|
654
705
|
initials = "RA",
|
|
655
706
|
src,
|
|
@@ -657,16 +708,16 @@ var Avatar = React7.forwardRef(
|
|
|
657
708
|
className,
|
|
658
709
|
...rest
|
|
659
710
|
} = props;
|
|
660
|
-
const Comp = asChild ?
|
|
711
|
+
const Comp = asChild ? import_react_slot3.Slot : "button";
|
|
661
712
|
const hasImage = variant === "image" && typeof src === "string" && src.length > 0;
|
|
662
|
-
return /* @__PURE__ */ (0,
|
|
713
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
663
714
|
Comp,
|
|
664
715
|
{
|
|
665
716
|
ref,
|
|
666
717
|
className: cn(avatarVariants({ size }), className),
|
|
667
718
|
...rest,
|
|
668
719
|
children: [
|
|
669
|
-
hasImage ? /* @__PURE__ */ (0,
|
|
720
|
+
hasImage ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
670
721
|
"img",
|
|
671
722
|
{
|
|
672
723
|
src,
|
|
@@ -674,8 +725,8 @@ var Avatar = React7.forwardRef(
|
|
|
674
725
|
className: "w-full h-full object-cover"
|
|
675
726
|
}
|
|
676
727
|
) : null,
|
|
677
|
-
!hasImage && variant === "
|
|
678
|
-
!hasImage && variant === "icon" && /* @__PURE__ */ (0,
|
|
728
|
+
!hasImage && variant === "initials" && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: cn(avatarInitialsVariants({ size }), "relative bottom-px"), children: initials }),
|
|
729
|
+
!hasImage && variant === "icon" && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: cn(avatarIconVariants({ size })), children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_icons2.UserIcon, {}) })
|
|
679
730
|
]
|
|
680
731
|
}
|
|
681
732
|
);
|
|
@@ -684,8 +735,8 @@ var Avatar = React7.forwardRef(
|
|
|
684
735
|
Avatar.displayName = "Avatar";
|
|
685
736
|
|
|
686
737
|
// src/components/Content/Typography.tsx
|
|
687
|
-
var
|
|
688
|
-
var
|
|
738
|
+
var React9 = require("react");
|
|
739
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
689
740
|
var mbCapableBaseClasses = /* @__PURE__ */ new Set([
|
|
690
741
|
"h1-intro",
|
|
691
742
|
"h2-intro",
|
|
@@ -721,7 +772,7 @@ var Typography = (props) => {
|
|
|
721
772
|
const Comp = as ?? "span";
|
|
722
773
|
const mbClassName = useMargin ? getMbClassName(variant) : null;
|
|
723
774
|
const weightClassName = weight === "regular" ? null : `${variant}-${weight}`;
|
|
724
|
-
return /* @__PURE__ */ (0,
|
|
775
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
725
776
|
Comp,
|
|
726
777
|
{
|
|
727
778
|
className: cn("text-primary", variant, weightClassName, mbClassName, className),
|
|
@@ -733,11 +784,11 @@ var Typography = (props) => {
|
|
|
733
784
|
Typography.displayName = "Typography";
|
|
734
785
|
|
|
735
786
|
// src/components/Content/Badge.tsx
|
|
736
|
-
var
|
|
737
|
-
var
|
|
738
|
-
var
|
|
739
|
-
var
|
|
740
|
-
var badgeVariants = (0,
|
|
787
|
+
var React10 = __toESM(require("react"), 1);
|
|
788
|
+
var import_react_slot4 = require("@radix-ui/react-slot");
|
|
789
|
+
var import_class_variance_authority8 = require("class-variance-authority");
|
|
790
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
791
|
+
var badgeVariants = (0, import_class_variance_authority8.cva)(
|
|
741
792
|
"inline-flex items-center justify-center rounded-4 leading-none whitespace-nowrap gap-1 py-0",
|
|
742
793
|
{
|
|
743
794
|
variants: {
|
|
@@ -766,7 +817,7 @@ var badgeVariants = (0, import_class_variance_authority7.cva)(
|
|
|
766
817
|
}
|
|
767
818
|
}
|
|
768
819
|
);
|
|
769
|
-
var Badge =
|
|
820
|
+
var Badge = React10.forwardRef(
|
|
770
821
|
(props, ref) => {
|
|
771
822
|
const {
|
|
772
823
|
asChild = false,
|
|
@@ -777,19 +828,19 @@ var Badge = React9.forwardRef(
|
|
|
777
828
|
className,
|
|
778
829
|
...rest
|
|
779
830
|
} = props;
|
|
780
|
-
const Comp = asChild ?
|
|
831
|
+
const Comp = asChild ? import_react_slot4.Slot : "div";
|
|
781
832
|
const hasValue = typeof value === "string" ? value.trim() !== "" : value != null;
|
|
782
|
-
return /* @__PURE__ */ (0,
|
|
833
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
783
834
|
Comp,
|
|
784
835
|
{
|
|
785
836
|
ref,
|
|
786
837
|
className: cn(badgeVariants({ size, variant }), className),
|
|
787
838
|
...rest,
|
|
788
|
-
children: hasValue ? /* @__PURE__ */ (0,
|
|
789
|
-
/* @__PURE__ */ (0,
|
|
790
|
-
/* @__PURE__ */ (0,
|
|
791
|
-
/* @__PURE__ */ (0,
|
|
792
|
-
] }) : /* @__PURE__ */ (0,
|
|
839
|
+
children: hasValue ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
|
|
840
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "font-normal", children: label }),
|
|
841
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "font-normal", children: ":" }),
|
|
842
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "font-medium", children: value })
|
|
843
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "font-normal", children: label })
|
|
793
844
|
}
|
|
794
845
|
);
|
|
795
846
|
}
|
|
@@ -797,10 +848,10 @@ var Badge = React9.forwardRef(
|
|
|
797
848
|
Badge.displayName = "Badge";
|
|
798
849
|
|
|
799
850
|
// src/components/Content/BadgeDigit.tsx
|
|
800
|
-
var
|
|
801
|
-
var
|
|
802
|
-
var
|
|
803
|
-
var badgeDigitVariants = (0,
|
|
851
|
+
var React11 = __toESM(require("react"), 1);
|
|
852
|
+
var import_class_variance_authority9 = require("class-variance-authority");
|
|
853
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
854
|
+
var badgeDigitVariants = (0, import_class_variance_authority9.cva)(
|
|
804
855
|
"inline-flex items-center justify-center leading-none whitespace-nowrap text-(--color-b-white)",
|
|
805
856
|
{
|
|
806
857
|
variants: {
|
|
@@ -824,7 +875,7 @@ var badgeDigitVariants = (0, import_class_variance_authority8.cva)(
|
|
|
824
875
|
}
|
|
825
876
|
}
|
|
826
877
|
);
|
|
827
|
-
var BadgeDigit =
|
|
878
|
+
var BadgeDigit = React11.forwardRef(
|
|
828
879
|
(props, ref) => {
|
|
829
880
|
const {
|
|
830
881
|
value,
|
|
@@ -833,7 +884,7 @@ var BadgeDigit = React10.forwardRef(
|
|
|
833
884
|
className,
|
|
834
885
|
...rest
|
|
835
886
|
} = props;
|
|
836
|
-
return /* @__PURE__ */ (0,
|
|
887
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
837
888
|
"div",
|
|
838
889
|
{
|
|
839
890
|
ref,
|
|
@@ -847,10 +898,10 @@ var BadgeDigit = React10.forwardRef(
|
|
|
847
898
|
BadgeDigit.displayName = "BadgeDigit";
|
|
848
899
|
|
|
849
900
|
// src/components/Content/BadgeDot.tsx
|
|
850
|
-
var
|
|
851
|
-
var
|
|
852
|
-
var
|
|
853
|
-
var badgeDotVariants = (0,
|
|
901
|
+
var React12 = require("react");
|
|
902
|
+
var import_class_variance_authority10 = require("class-variance-authority");
|
|
903
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
904
|
+
var badgeDotVariants = (0, import_class_variance_authority10.cva)("rounded-12 size-3", {
|
|
854
905
|
variants: {
|
|
855
906
|
status: {
|
|
856
907
|
disabled: "bg-(--color-primary)",
|
|
@@ -865,14 +916,14 @@ var badgeDotVariants = (0, import_class_variance_authority9.cva)("rounded-12 siz
|
|
|
865
916
|
}
|
|
866
917
|
});
|
|
867
918
|
var BadgeDot = ({ status, className }) => {
|
|
868
|
-
return /* @__PURE__ */ (0,
|
|
919
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: cn(badgeDotVariants({ status }), className) });
|
|
869
920
|
};
|
|
870
921
|
BadgeDot.displayName = "BadgeDot";
|
|
871
922
|
|
|
872
923
|
// src/components/Content/BadgeStatus.tsx
|
|
873
|
-
var
|
|
874
|
-
var
|
|
875
|
-
var BadgeStatus =
|
|
924
|
+
var React13 = __toESM(require("react"), 1);
|
|
925
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
926
|
+
var BadgeStatus = React13.forwardRef(
|
|
876
927
|
(props, ref) => {
|
|
877
928
|
const {
|
|
878
929
|
label,
|
|
@@ -883,14 +934,14 @@ var BadgeStatus = React12.forwardRef(
|
|
|
883
934
|
} = props;
|
|
884
935
|
const textClasses = active ? "caption-medium text-primary" : "caption-medium text-primary-disabled";
|
|
885
936
|
const dotClasses = active ? "bg-(--background-informal)" : "bg-(--background-primary)";
|
|
886
|
-
return /* @__PURE__ */ (0,
|
|
937
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
887
938
|
"div",
|
|
888
939
|
{
|
|
889
940
|
ref,
|
|
890
941
|
className: cn("inline-flex items-center gap-2", className),
|
|
891
942
|
...rest,
|
|
892
943
|
children: [
|
|
893
|
-
/* @__PURE__ */ (0,
|
|
944
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
894
945
|
"span",
|
|
895
946
|
{
|
|
896
947
|
className: cn(
|
|
@@ -900,7 +951,7 @@ var BadgeStatus = React12.forwardRef(
|
|
|
900
951
|
)
|
|
901
952
|
}
|
|
902
953
|
),
|
|
903
|
-
/* @__PURE__ */ (0,
|
|
954
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: textClasses, children: label })
|
|
904
955
|
]
|
|
905
956
|
}
|
|
906
957
|
);
|
|
@@ -909,9 +960,9 @@ var BadgeStatus = React12.forwardRef(
|
|
|
909
960
|
BadgeStatus.displayName = "BadgeStatus";
|
|
910
961
|
|
|
911
962
|
// src/components/Content/Divider.tsx
|
|
912
|
-
var
|
|
963
|
+
var React14 = require("react");
|
|
913
964
|
var import_icons3 = require("@bubo-squared/icons");
|
|
914
|
-
var
|
|
965
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
915
966
|
var gapBySize = {
|
|
916
967
|
sm: "gap-2",
|
|
917
968
|
md: "gap-3",
|
|
@@ -946,14 +997,14 @@ var Divider = (props) => {
|
|
|
946
997
|
className: _className,
|
|
947
998
|
...divProps
|
|
948
999
|
} = props;
|
|
949
|
-
return /* @__PURE__ */ (0,
|
|
1000
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
950
1001
|
"div",
|
|
951
1002
|
{
|
|
952
1003
|
className: wrapperClass,
|
|
953
1004
|
role: "separator",
|
|
954
1005
|
"aria-orientation": ariaOrientation,
|
|
955
1006
|
...divProps,
|
|
956
|
-
children: /* @__PURE__ */ (0,
|
|
1007
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: lineClass })
|
|
957
1008
|
}
|
|
958
1009
|
);
|
|
959
1010
|
}
|
|
@@ -967,7 +1018,7 @@ var Divider = (props) => {
|
|
|
967
1018
|
...divProps
|
|
968
1019
|
} = props;
|
|
969
1020
|
const textLabel = label ?? "OR";
|
|
970
|
-
return /* @__PURE__ */ (0,
|
|
1021
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
971
1022
|
"div",
|
|
972
1023
|
{
|
|
973
1024
|
className: wrapperClass,
|
|
@@ -975,8 +1026,8 @@ var Divider = (props) => {
|
|
|
975
1026
|
"aria-orientation": ariaOrientation,
|
|
976
1027
|
...divProps,
|
|
977
1028
|
children: [
|
|
978
|
-
/* @__PURE__ */ (0,
|
|
979
|
-
/* @__PURE__ */ (0,
|
|
1029
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: lineClass }),
|
|
1030
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
980
1031
|
"span",
|
|
981
1032
|
{
|
|
982
1033
|
className: cn(
|
|
@@ -986,7 +1037,7 @@ var Divider = (props) => {
|
|
|
986
1037
|
children: textLabel
|
|
987
1038
|
}
|
|
988
1039
|
),
|
|
989
|
-
/* @__PURE__ */ (0,
|
|
1040
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: lineClass })
|
|
990
1041
|
]
|
|
991
1042
|
}
|
|
992
1043
|
);
|
|
@@ -1003,7 +1054,7 @@ var Divider = (props) => {
|
|
|
1003
1054
|
className: _className,
|
|
1004
1055
|
...divProps
|
|
1005
1056
|
} = props;
|
|
1006
|
-
return /* @__PURE__ */ (0,
|
|
1057
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
1007
1058
|
"div",
|
|
1008
1059
|
{
|
|
1009
1060
|
className: wrapperClass,
|
|
@@ -1011,18 +1062,18 @@ var Divider = (props) => {
|
|
|
1011
1062
|
"aria-orientation": ariaOrientation,
|
|
1012
1063
|
...divProps,
|
|
1013
1064
|
children: [
|
|
1014
|
-
/* @__PURE__ */ (0,
|
|
1015
|
-
/* @__PURE__ */ (0,
|
|
1065
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: lineClass }),
|
|
1066
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1016
1067
|
IconButton,
|
|
1017
1068
|
{
|
|
1018
1069
|
variant: iconButtonVariant ?? "secondary",
|
|
1019
1070
|
size: resolvedSize,
|
|
1020
1071
|
"aria-label": ariaLabel ?? "More options",
|
|
1021
|
-
icon: icon ?? /* @__PURE__ */ (0,
|
|
1072
|
+
icon: icon ?? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons3.TargetIcon, {}),
|
|
1022
1073
|
onClick: onIconClick
|
|
1023
1074
|
}
|
|
1024
1075
|
),
|
|
1025
|
-
/* @__PURE__ */ (0,
|
|
1076
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: lineClass })
|
|
1026
1077
|
]
|
|
1027
1078
|
}
|
|
1028
1079
|
);
|
|
@@ -1036,7 +1087,7 @@ var Divider = (props) => {
|
|
|
1036
1087
|
className: _className,
|
|
1037
1088
|
...divProps
|
|
1038
1089
|
} = props;
|
|
1039
|
-
return /* @__PURE__ */ (0,
|
|
1090
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
1040
1091
|
"div",
|
|
1041
1092
|
{
|
|
1042
1093
|
className: wrapperClass,
|
|
@@ -1044,8 +1095,8 @@ var Divider = (props) => {
|
|
|
1044
1095
|
"aria-orientation": ariaOrientation,
|
|
1045
1096
|
...divProps,
|
|
1046
1097
|
children: [
|
|
1047
|
-
/* @__PURE__ */ (0,
|
|
1048
|
-
/* @__PURE__ */ (0,
|
|
1098
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: lineClass }),
|
|
1099
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1049
1100
|
IconButtonGroup,
|
|
1050
1101
|
{
|
|
1051
1102
|
className: resolvedOrientation === "vertical" ? "flex-col" : "flex-row",
|
|
@@ -1053,7 +1104,7 @@ var Divider = (props) => {
|
|
|
1053
1104
|
size: resolvedSize
|
|
1054
1105
|
}
|
|
1055
1106
|
),
|
|
1056
|
-
/* @__PURE__ */ (0,
|
|
1107
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: lineClass })
|
|
1057
1108
|
]
|
|
1058
1109
|
}
|
|
1059
1110
|
);
|
|
@@ -1069,7 +1120,7 @@ var Divider = (props) => {
|
|
|
1069
1120
|
className: _className,
|
|
1070
1121
|
...divProps
|
|
1071
1122
|
} = props;
|
|
1072
|
-
return /* @__PURE__ */ (0,
|
|
1123
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
1073
1124
|
"div",
|
|
1074
1125
|
{
|
|
1075
1126
|
className: wrapperClass,
|
|
@@ -1077,9 +1128,9 @@ var Divider = (props) => {
|
|
|
1077
1128
|
"aria-orientation": ariaOrientation,
|
|
1078
1129
|
...divProps,
|
|
1079
1130
|
children: [
|
|
1080
|
-
/* @__PURE__ */ (0,
|
|
1081
|
-
/* @__PURE__ */ (0,
|
|
1082
|
-
|
|
1131
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: lineClass }),
|
|
1132
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1133
|
+
Button2,
|
|
1083
1134
|
{
|
|
1084
1135
|
variant: buttonVariant ?? "secondary",
|
|
1085
1136
|
size: resolvedSize,
|
|
@@ -1087,7 +1138,7 @@ var Divider = (props) => {
|
|
|
1087
1138
|
children: buttonLabel
|
|
1088
1139
|
}
|
|
1089
1140
|
),
|
|
1090
|
-
/* @__PURE__ */ (0,
|
|
1141
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: lineClass })
|
|
1091
1142
|
]
|
|
1092
1143
|
}
|
|
1093
1144
|
);
|
|
@@ -1097,11 +1148,11 @@ var Divider = (props) => {
|
|
|
1097
1148
|
Divider.displayName = "Divider";
|
|
1098
1149
|
|
|
1099
1150
|
// src/components/Content/Progress.tsx
|
|
1100
|
-
var
|
|
1151
|
+
var React16 = __toESM(require("react"), 1);
|
|
1101
1152
|
|
|
1102
1153
|
// src/components/Inputs/Field.tsx
|
|
1103
|
-
var
|
|
1104
|
-
var
|
|
1154
|
+
var React15 = __toESM(require("react"), 1);
|
|
1155
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
1105
1156
|
var fieldBase = "flex flex-col gap-2 items-start";
|
|
1106
1157
|
var Field = (props) => {
|
|
1107
1158
|
const {
|
|
@@ -1116,18 +1167,18 @@ var Field = (props) => {
|
|
|
1116
1167
|
} = props;
|
|
1117
1168
|
const hasLabel = label != null;
|
|
1118
1169
|
const hasHint = hint != null;
|
|
1119
|
-
const fieldId =
|
|
1170
|
+
const fieldId = React15.useId();
|
|
1120
1171
|
const labelId = hasLabel ? `${fieldId}-label` : void 0;
|
|
1121
1172
|
const hintId = hasHint ? `${fieldId}-hint` : void 0;
|
|
1122
1173
|
const hintColorClass = disabled ? "text-primary-disabled" : status === "success" ? "text-(--color-success)" : status === "error" ? "text-(--color-error)" : "text-(--color-secondary)";
|
|
1123
1174
|
const labelColorClass = disabled ? "text-primary-disabled" : "text-primary";
|
|
1124
|
-
return /* @__PURE__ */ (0,
|
|
1125
|
-
hasLabel && /* @__PURE__ */ (0,
|
|
1126
|
-
/* @__PURE__ */ (0,
|
|
1175
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: cn(fieldBase, className), children: [
|
|
1176
|
+
hasLabel && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex w-full items-center justify-between", children: [
|
|
1177
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("label", { id: labelId, className: cn("paragraph-sm", labelColorClass), children: label }),
|
|
1127
1178
|
labelRight
|
|
1128
1179
|
] }),
|
|
1129
|
-
/* @__PURE__ */ (0,
|
|
1130
|
-
!hideHint && /* @__PURE__ */ (0,
|
|
1180
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "relative w-full", children }),
|
|
1181
|
+
!hideHint && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1131
1182
|
"p",
|
|
1132
1183
|
{
|
|
1133
1184
|
id: hasHint ? hintId : void 0,
|
|
@@ -1140,13 +1191,13 @@ var Field = (props) => {
|
|
|
1140
1191
|
Field.displayName = "Field";
|
|
1141
1192
|
|
|
1142
1193
|
// src/components/Content/Progress.tsx
|
|
1143
|
-
var
|
|
1194
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1144
1195
|
var sizeToBarClasses = {
|
|
1145
1196
|
lg: "h-4 rounded-16",
|
|
1146
1197
|
md: "h-2 rounded-8",
|
|
1147
1198
|
sm: "h-1 rounded-4"
|
|
1148
1199
|
};
|
|
1149
|
-
var Progress =
|
|
1200
|
+
var Progress = React16.forwardRef(
|
|
1150
1201
|
(props, ref) => {
|
|
1151
1202
|
const {
|
|
1152
1203
|
value,
|
|
@@ -1166,17 +1217,17 @@ var Progress = React15.forwardRef(
|
|
|
1166
1217
|
const percentageLabel = `${Math.round(clamped)}%`;
|
|
1167
1218
|
const resolvedAriaLabel = ariaLabel ?? (typeof label === "string" ? label : void 0);
|
|
1168
1219
|
const barHeightClasses = sizeToBarClasses[size];
|
|
1169
|
-
return /* @__PURE__ */ (0,
|
|
1220
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1170
1221
|
Field,
|
|
1171
1222
|
{
|
|
1172
1223
|
label,
|
|
1173
|
-
labelRight: !hideProgressLabel && label != null ? /* @__PURE__ */ (0,
|
|
1224
|
+
labelRight: !hideProgressLabel && label != null ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "footnote text-(--color-secondary)", children: percentageLabel }) : void 0,
|
|
1174
1225
|
hint,
|
|
1175
1226
|
hideHint,
|
|
1176
1227
|
status,
|
|
1177
1228
|
disabled,
|
|
1178
1229
|
className: cn("w-full", className),
|
|
1179
|
-
children: /* @__PURE__ */ (0,
|
|
1230
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1180
1231
|
"div",
|
|
1181
1232
|
{
|
|
1182
1233
|
ref,
|
|
@@ -1186,7 +1237,7 @@ var Progress = React15.forwardRef(
|
|
|
1186
1237
|
"aria-valuemax": 100,
|
|
1187
1238
|
"aria-label": resolvedAriaLabel,
|
|
1188
1239
|
...rest,
|
|
1189
|
-
children: /* @__PURE__ */ (0,
|
|
1240
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1190
1241
|
"div",
|
|
1191
1242
|
{
|
|
1192
1243
|
className: cn(
|
|
@@ -1194,7 +1245,7 @@ var Progress = React15.forwardRef(
|
|
|
1194
1245
|
barHeightClasses,
|
|
1195
1246
|
disabled && "opacity-50"
|
|
1196
1247
|
),
|
|
1197
|
-
children: /* @__PURE__ */ (0,
|
|
1248
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1198
1249
|
"div",
|
|
1199
1250
|
{
|
|
1200
1251
|
className: cn(
|
|
@@ -1216,11 +1267,11 @@ var Progress = React15.forwardRef(
|
|
|
1216
1267
|
Progress.displayName = "Progress";
|
|
1217
1268
|
|
|
1218
1269
|
// src/components/Content/StatusAvatar.tsx
|
|
1219
|
-
var
|
|
1220
|
-
var
|
|
1270
|
+
var React17 = __toESM(require("react"), 1);
|
|
1271
|
+
var import_class_variance_authority11 = require("class-variance-authority");
|
|
1221
1272
|
var import_icons4 = require("@bubo-squared/icons");
|
|
1222
|
-
var
|
|
1223
|
-
var iconStatusVariants = (0,
|
|
1273
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1274
|
+
var iconStatusVariants = (0, import_class_variance_authority11.cva)(
|
|
1224
1275
|
"inline-flex size-5 items-center justify-center rounded-full border-1 border-(--color-primary-inverse) p-1",
|
|
1225
1276
|
{
|
|
1226
1277
|
variants: {
|
|
@@ -1244,11 +1295,11 @@ var presenceDotByVariant = {
|
|
|
1244
1295
|
away: "bg-(--background-warning) border-1 border-(--color-primary-inverse)",
|
|
1245
1296
|
busy: "bg-(--background-error) border-1 border-(--color-primary-inverse)"
|
|
1246
1297
|
};
|
|
1247
|
-
var StatusAvatar =
|
|
1298
|
+
var StatusAvatar = React17.forwardRef((props, ref) => {
|
|
1248
1299
|
const { variant = "verified", className, ...rest } = props;
|
|
1249
1300
|
if (variant === "offline" || variant === "online" || variant === "away" || variant === "busy") {
|
|
1250
1301
|
const dotClasses = presenceDotByVariant[variant];
|
|
1251
|
-
return /* @__PURE__ */ (0,
|
|
1302
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1252
1303
|
"div",
|
|
1253
1304
|
{
|
|
1254
1305
|
ref,
|
|
@@ -1257,23 +1308,23 @@ var StatusAvatar = React16.forwardRef((props, ref) => {
|
|
|
1257
1308
|
className
|
|
1258
1309
|
),
|
|
1259
1310
|
...rest,
|
|
1260
|
-
children: /* @__PURE__ */ (0,
|
|
1311
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: cn(dotClasses, "size-3.5 rounded-full") })
|
|
1261
1312
|
}
|
|
1262
1313
|
);
|
|
1263
1314
|
}
|
|
1264
1315
|
const iconVariant = variant;
|
|
1265
|
-
return /* @__PURE__ */ (0,
|
|
1316
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
1266
1317
|
"div",
|
|
1267
1318
|
{
|
|
1268
1319
|
ref,
|
|
1269
1320
|
className: cn(iconStatusVariants({ variant: iconVariant }), className),
|
|
1270
1321
|
...rest,
|
|
1271
1322
|
children: [
|
|
1272
|
-
iconVariant === "verified" && /* @__PURE__ */ (0,
|
|
1273
|
-
iconVariant === "bookmark" && /* @__PURE__ */ (0,
|
|
1274
|
-
iconVariant === "favorite" && /* @__PURE__ */ (0,
|
|
1275
|
-
iconVariant === "add" && /* @__PURE__ */ (0,
|
|
1276
|
-
iconVariant === "remove" && /* @__PURE__ */ (0,
|
|
1323
|
+
iconVariant === "verified" && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_icons4.CheckIcon, { className: "size-3 text-button-white" }),
|
|
1324
|
+
iconVariant === "bookmark" && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_icons4.BookmarkCheckIcon, { className: "size-3 text-button-white" }),
|
|
1325
|
+
iconVariant === "favorite" && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_icons4.StarIcon, { className: "size-3 text-button-white" }),
|
|
1326
|
+
iconVariant === "add" && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_icons4.PlusIcon, { className: "size-3 text-button-white" }),
|
|
1327
|
+
iconVariant === "remove" && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_icons4.CrossIcon, { className: "size-3 text-button-white" })
|
|
1277
1328
|
]
|
|
1278
1329
|
}
|
|
1279
1330
|
);
|
|
@@ -1281,11 +1332,11 @@ var StatusAvatar = React16.forwardRef((props, ref) => {
|
|
|
1281
1332
|
StatusAvatar.displayName = "StatusAvatar";
|
|
1282
1333
|
|
|
1283
1334
|
// src/components/Content/Tag.tsx
|
|
1284
|
-
var
|
|
1285
|
-
var
|
|
1286
|
-
var
|
|
1287
|
-
var
|
|
1288
|
-
var tagVariants = (0,
|
|
1335
|
+
var React18 = __toESM(require("react"), 1);
|
|
1336
|
+
var import_react_slot5 = require("@radix-ui/react-slot");
|
|
1337
|
+
var import_class_variance_authority12 = require("class-variance-authority");
|
|
1338
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1339
|
+
var tagVariants = (0, import_class_variance_authority12.cva)(
|
|
1289
1340
|
"inline-flex flex-row items-center justify-center rounded-6 gap-2 px-3 overflow-hidden border-1 border-secondary bg-(--background-neutral) focus:border-brand focus-ring-primary ",
|
|
1290
1341
|
{
|
|
1291
1342
|
variants: {
|
|
@@ -1301,7 +1352,7 @@ var tagVariants = (0, import_class_variance_authority11.cva)(
|
|
|
1301
1352
|
);
|
|
1302
1353
|
var disabledTag = "pointer-events-none border-secondary-disabled bg-(--background-neutral-disabled) text-primary-disabled";
|
|
1303
1354
|
var iconClasses = "flex items-center justify-center w-5 h-5 [&>*]:w-5 [&>*]:h-5 shrink-0 text-primary";
|
|
1304
|
-
var Tag =
|
|
1355
|
+
var Tag = React18.forwardRef(
|
|
1305
1356
|
(props, ref) => {
|
|
1306
1357
|
const {
|
|
1307
1358
|
size = "sm",
|
|
@@ -1313,23 +1364,23 @@ var Tag = React17.forwardRef(
|
|
|
1313
1364
|
...rest
|
|
1314
1365
|
} = props;
|
|
1315
1366
|
const hasValue = typeof value === "string" ? value.trim() !== "" : value != null;
|
|
1316
|
-
const Comp = asChild ?
|
|
1317
|
-
const leading = props.leadingIcon &&
|
|
1318
|
-
const trailing = props.trailingIcon &&
|
|
1319
|
-
return /* @__PURE__ */ (0,
|
|
1367
|
+
const Comp = asChild ? import_react_slot5.Slot : "div";
|
|
1368
|
+
const leading = props.leadingIcon && React18.isValidElement(props.leadingIcon) ? React18.cloneElement(props.leadingIcon, { disabled, ...props.leadingIcon.props }) : null;
|
|
1369
|
+
const trailing = props.trailingIcon && React18.isValidElement(props.trailingIcon) ? React18.cloneElement(props.trailingIcon, { disabled, ...props.trailingIcon.props }) : null;
|
|
1370
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1320
1371
|
Comp,
|
|
1321
1372
|
{
|
|
1322
1373
|
className: cn(tagVariants({ size }), disabled && disabledTag, className),
|
|
1323
1374
|
ref,
|
|
1324
1375
|
...rest,
|
|
1325
1376
|
children: [
|
|
1326
|
-
leading && /* @__PURE__ */ (0,
|
|
1327
|
-
hasValue ? /* @__PURE__ */ (0,
|
|
1328
|
-
/* @__PURE__ */ (0,
|
|
1329
|
-
/* @__PURE__ */ (0,
|
|
1330
|
-
/* @__PURE__ */ (0,
|
|
1331
|
-
] }) : /* @__PURE__ */ (0,
|
|
1332
|
-
trailing && /* @__PURE__ */ (0,
|
|
1377
|
+
leading && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: iconClasses, children: leading }),
|
|
1378
|
+
hasValue ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex flex-row gap-1 items-center", children: [
|
|
1379
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-primary paragraph-lg mb-0! cursor-default font-normal", children: label }),
|
|
1380
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-primary paragraph-lg mb-0! cursor-default font-normal", children: ":" }),
|
|
1381
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-primary paragraph-lg-medium mb-0! cursor-default font-medium", children: value })
|
|
1382
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-primary paragraph-lg mb-0! cursor-default", children: label }),
|
|
1383
|
+
trailing && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: iconClasses, children: trailing })
|
|
1333
1384
|
]
|
|
1334
1385
|
}
|
|
1335
1386
|
);
|
|
@@ -1337,18 +1388,18 @@ var Tag = React17.forwardRef(
|
|
|
1337
1388
|
);
|
|
1338
1389
|
|
|
1339
1390
|
// src/components/Content/Menu.tsx
|
|
1340
|
-
var
|
|
1391
|
+
var React20 = require("react");
|
|
1341
1392
|
|
|
1342
1393
|
// src/components/ui/dropdown-menu.tsx
|
|
1343
|
-
var
|
|
1394
|
+
var React19 = __toESM(require("react"), 1);
|
|
1344
1395
|
var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"), 1);
|
|
1345
1396
|
var import_icons5 = require("@bubo-squared/icons");
|
|
1346
1397
|
|
|
1347
1398
|
// src/components/ui/dropdown-styles.ts
|
|
1348
|
-
var
|
|
1399
|
+
var import_class_variance_authority13 = require("class-variance-authority");
|
|
1349
1400
|
var dropdownSurfaceClass = "z-50 rounded-4 border border-secondary-hover bg-(--background-neutral) shadow-card-md";
|
|
1350
1401
|
var dropdownScrollClass = "max-h-79 overflow-y-auto dropdown-scrollbar";
|
|
1351
|
-
var dropdownRowVariants = (0,
|
|
1402
|
+
var dropdownRowVariants = (0, import_class_variance_authority13.cva)(
|
|
1352
1403
|
"flex w-full items-center gap-2 pl-(--space-8) pr-(--space-16) text-left text-primary cursor-pointer hover:bg-(--background-secondary)",
|
|
1353
1404
|
{
|
|
1354
1405
|
variants: {
|
|
@@ -1369,26 +1420,26 @@ var dropdownRowVariants = (0, import_class_variance_authority12.cva)(
|
|
|
1369
1420
|
);
|
|
1370
1421
|
|
|
1371
1422
|
// src/components/ui/dropdown-menu.tsx
|
|
1372
|
-
var
|
|
1373
|
-
var DropdownMenuSizeContext =
|
|
1423
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1424
|
+
var DropdownMenuSizeContext = React19.createContext("lg");
|
|
1374
1425
|
function useDropdownMenuSize(explicitSize) {
|
|
1375
|
-
const contextSize =
|
|
1426
|
+
const contextSize = React19.useContext(DropdownMenuSizeContext);
|
|
1376
1427
|
return explicitSize ?? contextSize;
|
|
1377
1428
|
}
|
|
1378
1429
|
function DropdownMenu({
|
|
1379
1430
|
...props
|
|
1380
1431
|
}) {
|
|
1381
|
-
return /* @__PURE__ */ (0,
|
|
1432
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
|
|
1382
1433
|
}
|
|
1383
1434
|
function DropdownMenuPortal({
|
|
1384
1435
|
...props
|
|
1385
1436
|
}) {
|
|
1386
|
-
return /* @__PURE__ */ (0,
|
|
1437
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
|
|
1387
1438
|
}
|
|
1388
1439
|
function DropdownMenuTrigger({
|
|
1389
1440
|
...props
|
|
1390
1441
|
}) {
|
|
1391
|
-
return /* @__PURE__ */ (0,
|
|
1442
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1392
1443
|
DropdownMenuPrimitive.Trigger,
|
|
1393
1444
|
{
|
|
1394
1445
|
"data-slot": "dropdown-menu-trigger",
|
|
@@ -1402,7 +1453,7 @@ function DropdownMenuContent({
|
|
|
1402
1453
|
size = "lg",
|
|
1403
1454
|
...props
|
|
1404
1455
|
}) {
|
|
1405
|
-
return /* @__PURE__ */ (0,
|
|
1456
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DropdownMenuSizeContext.Provider, { value: size, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1406
1457
|
DropdownMenuPrimitive.Content,
|
|
1407
1458
|
{
|
|
1408
1459
|
"data-slot": "dropdown-menu-content",
|
|
@@ -1420,7 +1471,7 @@ function DropdownMenuContent({
|
|
|
1420
1471
|
function DropdownMenuGroup({
|
|
1421
1472
|
...props
|
|
1422
1473
|
}) {
|
|
1423
|
-
return /* @__PURE__ */ (0,
|
|
1474
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props });
|
|
1424
1475
|
}
|
|
1425
1476
|
function DropdownMenuItem({
|
|
1426
1477
|
className,
|
|
@@ -1430,7 +1481,7 @@ function DropdownMenuItem({
|
|
|
1430
1481
|
...props
|
|
1431
1482
|
}) {
|
|
1432
1483
|
const resolvedSize = useDropdownMenuSize(size);
|
|
1433
|
-
return /* @__PURE__ */ (0,
|
|
1484
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1434
1485
|
DropdownMenuPrimitive.Item,
|
|
1435
1486
|
{
|
|
1436
1487
|
"data-slot": "dropdown-menu-item",
|
|
@@ -1455,7 +1506,7 @@ function DropdownMenuLabel({
|
|
|
1455
1506
|
...props
|
|
1456
1507
|
}) {
|
|
1457
1508
|
const resolvedSize = useDropdownMenuSize(size);
|
|
1458
|
-
return /* @__PURE__ */ (0,
|
|
1509
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1459
1510
|
DropdownMenuPrimitive.Label,
|
|
1460
1511
|
{
|
|
1461
1512
|
"data-slot": "dropdown-menu-label",
|
|
@@ -1473,7 +1524,7 @@ function DropdownMenuSeparator({
|
|
|
1473
1524
|
className,
|
|
1474
1525
|
...props
|
|
1475
1526
|
}) {
|
|
1476
|
-
return /* @__PURE__ */ (0,
|
|
1527
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1477
1528
|
DropdownMenuPrimitive.Separator,
|
|
1478
1529
|
{
|
|
1479
1530
|
"data-slot": "dropdown-menu-separator",
|
|
@@ -1486,7 +1537,7 @@ function DropdownMenuShortcut({
|
|
|
1486
1537
|
className,
|
|
1487
1538
|
...props
|
|
1488
1539
|
}) {
|
|
1489
|
-
return /* @__PURE__ */ (0,
|
|
1540
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1490
1541
|
"span",
|
|
1491
1542
|
{
|
|
1492
1543
|
"data-slot": "dropdown-menu-shortcut",
|
|
@@ -1501,7 +1552,7 @@ function DropdownMenuShortcut({
|
|
|
1501
1552
|
function DropdownMenuSub({
|
|
1502
1553
|
...props
|
|
1503
1554
|
}) {
|
|
1504
|
-
return /* @__PURE__ */ (0,
|
|
1555
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
|
|
1505
1556
|
}
|
|
1506
1557
|
function DropdownMenuSubTrigger({
|
|
1507
1558
|
className,
|
|
@@ -1511,7 +1562,7 @@ function DropdownMenuSubTrigger({
|
|
|
1511
1562
|
...props
|
|
1512
1563
|
}) {
|
|
1513
1564
|
const resolvedSize = useDropdownMenuSize(size);
|
|
1514
|
-
return /* @__PURE__ */ (0,
|
|
1565
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
1515
1566
|
DropdownMenuPrimitive.SubTrigger,
|
|
1516
1567
|
{
|
|
1517
1568
|
"data-slot": "dropdown-menu-sub-trigger",
|
|
@@ -1527,7 +1578,7 @@ function DropdownMenuSubTrigger({
|
|
|
1527
1578
|
...props,
|
|
1528
1579
|
children: [
|
|
1529
1580
|
children,
|
|
1530
|
-
/* @__PURE__ */ (0,
|
|
1581
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_icons5.ChevronRightIcon, { className: "ml-auto size-4 text-(--icon-primary)" })
|
|
1531
1582
|
]
|
|
1532
1583
|
}
|
|
1533
1584
|
);
|
|
@@ -1538,7 +1589,7 @@ function DropdownMenuSubContent({
|
|
|
1538
1589
|
...props
|
|
1539
1590
|
}) {
|
|
1540
1591
|
const resolvedSize = useDropdownMenuSize(size);
|
|
1541
|
-
return /* @__PURE__ */ (0,
|
|
1592
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DropdownMenuSizeContext.Provider, { value: resolvedSize, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1542
1593
|
DropdownMenuPrimitive.SubContent,
|
|
1543
1594
|
{
|
|
1544
1595
|
"data-slot": "dropdown-menu-sub-content",
|
|
@@ -1554,7 +1605,7 @@ function DropdownMenuSubContent({
|
|
|
1554
1605
|
}
|
|
1555
1606
|
|
|
1556
1607
|
// src/components/Content/Menu.tsx
|
|
1557
|
-
var
|
|
1608
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1558
1609
|
var Menu = (props) => {
|
|
1559
1610
|
const {
|
|
1560
1611
|
trigger,
|
|
@@ -1568,9 +1619,9 @@ var Menu = (props) => {
|
|
|
1568
1619
|
onOpenChange,
|
|
1569
1620
|
modal
|
|
1570
1621
|
} = props;
|
|
1571
|
-
return /* @__PURE__ */ (0,
|
|
1572
|
-
/* @__PURE__ */ (0,
|
|
1573
|
-
/* @__PURE__ */ (0,
|
|
1622
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(DropdownMenu, { open, onOpenChange, modal, children: [
|
|
1623
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropdownMenuTrigger, { asChild: true, children: trigger }),
|
|
1624
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1574
1625
|
DropdownMenuContent,
|
|
1575
1626
|
{
|
|
1576
1627
|
align,
|
|
@@ -1595,19 +1646,19 @@ var MenuSubContent = DropdownMenuSubContent;
|
|
|
1595
1646
|
var MenuSubTrigger = DropdownMenuSubTrigger;
|
|
1596
1647
|
|
|
1597
1648
|
// src/components/Inputs/Checkbox.tsx
|
|
1598
|
-
var
|
|
1649
|
+
var React21 = __toESM(require("react"), 1);
|
|
1599
1650
|
var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"), 1);
|
|
1600
1651
|
var import_icons6 = require("@bubo-squared/icons");
|
|
1601
1652
|
var import_icons7 = require("@bubo-squared/icons");
|
|
1602
|
-
var
|
|
1603
|
-
var Checkbox =
|
|
1604
|
-
return /* @__PURE__ */ (0,
|
|
1605
|
-
/* @__PURE__ */ (0,
|
|
1653
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1654
|
+
var Checkbox = React21.forwardRef(({ label, className, ...props }, forwardedRef) => {
|
|
1655
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("label", { className: "inline-flex items-center gap-(--space-12) cursor-pointer select-none", children: [
|
|
1656
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1606
1657
|
CheckboxPrimitive.Root,
|
|
1607
1658
|
{
|
|
1608
1659
|
ref: forwardedRef,
|
|
1609
1660
|
className: cn(
|
|
1610
|
-
"group flex h-5 w-5 items-center justify-center rounded-
|
|
1661
|
+
"group flex h-5 w-5 items-center justify-center rounded-4 border border-secondary bg-(--background-neutral) text-primary-inverse",
|
|
1611
1662
|
"data-[state=checked]:bg-(--background-brand) data-[state=checked]:text-button-white data-[state=checked]:border-none",
|
|
1612
1663
|
"data-[state=indeterminate]:bg-(--background-brand) data-[state=indeterminate]:text-button-white data-[state=indeterminate]:border-none",
|
|
1613
1664
|
"data-[state=checked]:hover:bg-(--background-brand-hover) data-[state=indeterminate]:hover:bg-(--background-brand-hover)",
|
|
@@ -1619,27 +1670,27 @@ var Checkbox = React20.forwardRef(({ label, className, ...props }, forwardedRef)
|
|
|
1619
1670
|
className
|
|
1620
1671
|
),
|
|
1621
1672
|
...props,
|
|
1622
|
-
children: /* @__PURE__ */ (0,
|
|
1623
|
-
/* @__PURE__ */ (0,
|
|
1624
|
-
/* @__PURE__ */ (0,
|
|
1673
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center text-current", children: [
|
|
1674
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_icons6.CheckIcon, { className: "h-5 w-5 hidden group-data-[state=checked]:block" }),
|
|
1675
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_icons7.MinusIcon, { className: "h-5 w-5 hidden group-data-[state=indeterminate]:block" })
|
|
1625
1676
|
] })
|
|
1626
1677
|
}
|
|
1627
1678
|
),
|
|
1628
|
-
label && /* @__PURE__ */ (0,
|
|
1679
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "paragraph-md-medium text-primary", children: label })
|
|
1629
1680
|
] });
|
|
1630
1681
|
});
|
|
1631
1682
|
Checkbox.displayName = "Checkbox";
|
|
1632
1683
|
|
|
1633
1684
|
// src/components/Inputs/Autocomplete.tsx
|
|
1634
|
-
var
|
|
1635
|
-
var
|
|
1685
|
+
var React24 = __toESM(require("react"), 1);
|
|
1686
|
+
var import_class_variance_authority15 = require("class-variance-authority");
|
|
1636
1687
|
|
|
1637
1688
|
// src/components/Inputs/InputShell.tsx
|
|
1638
|
-
var
|
|
1639
|
-
var
|
|
1640
|
-
var
|
|
1641
|
-
var inputShellVariants = (0,
|
|
1642
|
-
"group flex w-full items-center rounded-
|
|
1689
|
+
var React22 = __toESM(require("react"), 1);
|
|
1690
|
+
var import_class_variance_authority14 = require("class-variance-authority");
|
|
1691
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1692
|
+
var inputShellVariants = (0, import_class_variance_authority14.cva)(
|
|
1693
|
+
"group flex w-full items-center rounded-8 border bg-(--background-primary) text-left cursor-text border-secondary",
|
|
1643
1694
|
{
|
|
1644
1695
|
variants: {
|
|
1645
1696
|
size: {
|
|
@@ -1663,9 +1714,9 @@ var inputShellVariants = (0, import_class_variance_authority13.cva)(
|
|
|
1663
1714
|
}
|
|
1664
1715
|
}
|
|
1665
1716
|
);
|
|
1666
|
-
var InputShell =
|
|
1717
|
+
var InputShell = React22.forwardRef(
|
|
1667
1718
|
({ size = "md", status, disabled, className, ...rest }, ref) => {
|
|
1668
|
-
return /* @__PURE__ */ (0,
|
|
1719
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
1669
1720
|
"div",
|
|
1670
1721
|
{
|
|
1671
1722
|
ref,
|
|
@@ -1682,14 +1733,14 @@ var InputShell = React21.forwardRef(
|
|
|
1682
1733
|
InputShell.displayName = "InputShell";
|
|
1683
1734
|
|
|
1684
1735
|
// src/components/ui/input.tsx
|
|
1685
|
-
var
|
|
1686
|
-
var
|
|
1687
|
-
var Input =
|
|
1736
|
+
var React23 = __toESM(require("react"), 1);
|
|
1737
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
1738
|
+
var Input = React23.forwardRef(
|
|
1688
1739
|
({ className, type, variant = "default", ...props }, ref) => {
|
|
1689
1740
|
const base = "text-primary placeholder:text-(--color-secondary) disabled:text-primary-disabled disabled:placeholder:text-primary-disabled selection:bg-primary selection:text-primary-foreground file:text-foreground";
|
|
1690
1741
|
const defaultStyles = "dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 shadow-xs transition-[color,box-shadow] file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 focus-visible:border-ring focus-visible:ring-0 focus-visible:shadow-none aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive";
|
|
1691
1742
|
const bareStyles = "bg-transparent outline-none w-full";
|
|
1692
|
-
return /* @__PURE__ */ (0,
|
|
1743
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1693
1744
|
"input",
|
|
1694
1745
|
{
|
|
1695
1746
|
ref,
|
|
@@ -1708,8 +1759,8 @@ var Input = React22.forwardRef(
|
|
|
1708
1759
|
Input.displayName = "Input";
|
|
1709
1760
|
|
|
1710
1761
|
// src/components/Inputs/Autocomplete.tsx
|
|
1711
|
-
var
|
|
1712
|
-
var inputTextVariants = (0,
|
|
1762
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1763
|
+
var inputTextVariants = (0, import_class_variance_authority15.cva)("truncate", {
|
|
1713
1764
|
variants: {
|
|
1714
1765
|
size: {
|
|
1715
1766
|
sm: "paragraph-md",
|
|
@@ -1722,7 +1773,7 @@ var inputTextVariants = (0, import_class_variance_authority14.cva)("truncate", {
|
|
|
1722
1773
|
size: "lg"
|
|
1723
1774
|
}
|
|
1724
1775
|
});
|
|
1725
|
-
var optionVariants = (0,
|
|
1776
|
+
var optionVariants = (0, import_class_variance_authority15.cva)(
|
|
1726
1777
|
"w-full text-left hover:bg-(--background-secondary)",
|
|
1727
1778
|
{
|
|
1728
1779
|
variants: {
|
|
@@ -1742,7 +1793,7 @@ var optionVariants = (0, import_class_variance_authority14.cva)(
|
|
|
1742
1793
|
}
|
|
1743
1794
|
}
|
|
1744
1795
|
);
|
|
1745
|
-
var iconWrapperVariants = (0,
|
|
1796
|
+
var iconWrapperVariants = (0, import_class_variance_authority15.cva)(
|
|
1746
1797
|
"flex items-center justify-center shrink-0 text-(--icon-primary)",
|
|
1747
1798
|
{
|
|
1748
1799
|
variants: {
|
|
@@ -1761,7 +1812,7 @@ var iconWrapperVariants = (0, import_class_variance_authority14.cva)(
|
|
|
1761
1812
|
}
|
|
1762
1813
|
}
|
|
1763
1814
|
);
|
|
1764
|
-
var Autocomplete =
|
|
1815
|
+
var Autocomplete = React24.forwardRef((props, forwardedRef) => {
|
|
1765
1816
|
const {
|
|
1766
1817
|
label,
|
|
1767
1818
|
hint,
|
|
@@ -1793,17 +1844,17 @@ var Autocomplete = React23.forwardRef((props, forwardedRef) => {
|
|
|
1793
1844
|
...inputProps
|
|
1794
1845
|
} = props;
|
|
1795
1846
|
const isValueControlled = value !== void 0;
|
|
1796
|
-
const [internalValue, setInternalValue] =
|
|
1847
|
+
const [internalValue, setInternalValue] = React24.useState(
|
|
1797
1848
|
defaultValue ?? ""
|
|
1798
1849
|
);
|
|
1799
1850
|
const isInputControlled = inputValue !== void 0;
|
|
1800
|
-
const [internalInputValue, setInternalInputValue] =
|
|
1851
|
+
const [internalInputValue, setInternalInputValue] = React24.useState(
|
|
1801
1852
|
defaultInputValue ?? ""
|
|
1802
1853
|
);
|
|
1803
|
-
const [isFocused, setIsFocused] =
|
|
1804
|
-
const [activeIndex, setActiveIndex] =
|
|
1805
|
-
const inputRef =
|
|
1806
|
-
const setInputRef =
|
|
1854
|
+
const [isFocused, setIsFocused] = React24.useState(false);
|
|
1855
|
+
const [activeIndex, setActiveIndex] = React24.useState(-1);
|
|
1856
|
+
const inputRef = React24.useRef(null);
|
|
1857
|
+
const setInputRef = React24.useCallback(
|
|
1807
1858
|
(node) => {
|
|
1808
1859
|
inputRef.current = node;
|
|
1809
1860
|
if (!forwardedRef) return;
|
|
@@ -1815,12 +1866,12 @@ var Autocomplete = React23.forwardRef((props, forwardedRef) => {
|
|
|
1815
1866
|
},
|
|
1816
1867
|
[forwardedRef]
|
|
1817
1868
|
);
|
|
1818
|
-
const baseId =
|
|
1869
|
+
const baseId = React24.useId();
|
|
1819
1870
|
const inputId = id ?? baseId;
|
|
1820
1871
|
const listboxId = `${inputId}-listbox`;
|
|
1821
1872
|
const currentValue = (isValueControlled ? value : internalValue) ?? "";
|
|
1822
1873
|
const currentInput = (isInputControlled ? inputValue : internalInputValue) ?? "";
|
|
1823
|
-
|
|
1874
|
+
React24.useEffect(() => {
|
|
1824
1875
|
if (isFocused) return;
|
|
1825
1876
|
if (isInputControlled) return;
|
|
1826
1877
|
if (!isValueControlled) return;
|
|
@@ -1939,8 +1990,8 @@ var Autocomplete = React23.forwardRef((props, forwardedRef) => {
|
|
|
1939
1990
|
const activeDescendantId = activeIndex >= 0 ? `${inputId}-option-${activeIndex}` : void 0;
|
|
1940
1991
|
const showLeadingIcon = !!leadingIcon;
|
|
1941
1992
|
const showTrailingIcon = !!trailingIcon;
|
|
1942
|
-
return /* @__PURE__ */ (0,
|
|
1943
|
-
/* @__PURE__ */ (0,
|
|
1993
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Field, { label, hint, hideHint, status, disabled, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "relative w-full", children: [
|
|
1994
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
1944
1995
|
InputShell,
|
|
1945
1996
|
{
|
|
1946
1997
|
size,
|
|
@@ -1949,8 +2000,8 @@ var Autocomplete = React23.forwardRef((props, forwardedRef) => {
|
|
|
1949
2000
|
className,
|
|
1950
2001
|
onClick: handleContainerClick,
|
|
1951
2002
|
children: [
|
|
1952
|
-
showLeadingIcon && /* @__PURE__ */ (0,
|
|
1953
|
-
/* @__PURE__ */ (0,
|
|
2003
|
+
showLeadingIcon && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: cn(iconWrapperVariants({ size, disabled: !!disabled })), children: leadingIcon }),
|
|
2004
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1954
2005
|
Input,
|
|
1955
2006
|
{
|
|
1956
2007
|
ref: setInputRef,
|
|
@@ -1973,11 +2024,11 @@ var Autocomplete = React23.forwardRef((props, forwardedRef) => {
|
|
|
1973
2024
|
...inputProps
|
|
1974
2025
|
}
|
|
1975
2026
|
),
|
|
1976
|
-
showTrailingIcon && /* @__PURE__ */ (0,
|
|
2027
|
+
showTrailingIcon && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: cn(iconWrapperVariants({ size, disabled: !!disabled })), children: trailingIcon })
|
|
1977
2028
|
]
|
|
1978
2029
|
}
|
|
1979
2030
|
),
|
|
1980
|
-
showDropdown && /* @__PURE__ */ (0,
|
|
2031
|
+
showDropdown && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1981
2032
|
"div",
|
|
1982
2033
|
{
|
|
1983
2034
|
className: cn(
|
|
@@ -1986,27 +2037,27 @@ var Autocomplete = React23.forwardRef((props, forwardedRef) => {
|
|
|
1986
2037
|
dropdownScrollClass,
|
|
1987
2038
|
dropdownClassName
|
|
1988
2039
|
),
|
|
1989
|
-
children: loading ? /* @__PURE__ */ (0,
|
|
2040
|
+
children: loading ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1990
2041
|
"div",
|
|
1991
2042
|
{
|
|
1992
2043
|
className: cn(optionVariants({ size }), "px-(--space-8) pr-(--space-16) text-secondary"),
|
|
1993
2044
|
"aria-live": "polite",
|
|
1994
2045
|
children: loadingText
|
|
1995
2046
|
}
|
|
1996
|
-
) : options.length === 0 ? /* @__PURE__ */ (0,
|
|
2047
|
+
) : options.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1997
2048
|
"div",
|
|
1998
2049
|
{
|
|
1999
2050
|
className: cn(optionVariants({ size }), "px-(--space-8) pr-(--space-16) text-secondary"),
|
|
2000
2051
|
"aria-live": "polite",
|
|
2001
2052
|
children: noOptionsText
|
|
2002
2053
|
}
|
|
2003
|
-
) : /* @__PURE__ */ (0,
|
|
2054
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2004
2055
|
"ul",
|
|
2005
2056
|
{
|
|
2006
2057
|
id: listboxId,
|
|
2007
2058
|
role: "listbox",
|
|
2008
2059
|
className: cn("flex flex-col", listboxClassName),
|
|
2009
|
-
children: options.map((option, index) => /* @__PURE__ */ (0,
|
|
2060
|
+
children: options.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2010
2061
|
"li",
|
|
2011
2062
|
{
|
|
2012
2063
|
id: `${inputId}-option-${index}`,
|
|
@@ -2032,13 +2083,13 @@ var Autocomplete = React23.forwardRef((props, forwardedRef) => {
|
|
|
2032
2083
|
Autocomplete.displayName = "Autocomplete";
|
|
2033
2084
|
|
|
2034
2085
|
// src/components/Inputs/Select.tsx
|
|
2035
|
-
var
|
|
2086
|
+
var React25 = __toESM(require("react"), 1);
|
|
2036
2087
|
var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
|
|
2037
|
-
var
|
|
2088
|
+
var import_class_variance_authority16 = require("class-variance-authority");
|
|
2038
2089
|
var import_icons8 = require("@bubo-squared/icons");
|
|
2039
|
-
var
|
|
2040
|
-
var selectTriggerVariants = (0,
|
|
2041
|
-
"group flex w-full items-center justify-between rounded-
|
|
2090
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
2091
|
+
var selectTriggerVariants = (0, import_class_variance_authority16.cva)(
|
|
2092
|
+
"group flex w-full items-center justify-between rounded-8 border bg-(--background-primary) p-2 text-left transition-[background-color] cursor-pointer hover:bg-(--background-primary-hover) disabled:bg-(--background-primary-disabled) disabled:text-primary-disabled disabled:cursor-default",
|
|
2042
2093
|
{
|
|
2043
2094
|
variants: {
|
|
2044
2095
|
size: {
|
|
@@ -2059,7 +2110,7 @@ var selectTriggerVariants = (0, import_class_variance_authority15.cva)(
|
|
|
2059
2110
|
}
|
|
2060
2111
|
}
|
|
2061
2112
|
);
|
|
2062
|
-
var textVariants = (0,
|
|
2113
|
+
var textVariants = (0, import_class_variance_authority16.cva)("truncate", {
|
|
2063
2114
|
variants: {
|
|
2064
2115
|
size: {
|
|
2065
2116
|
sm: "paragraph-md",
|
|
@@ -2080,7 +2131,7 @@ var textVariants = (0, import_class_variance_authority15.cva)("truncate", {
|
|
|
2080
2131
|
hasValue: false
|
|
2081
2132
|
}
|
|
2082
2133
|
});
|
|
2083
|
-
var selectIconVariants = (0,
|
|
2134
|
+
var selectIconVariants = (0, import_class_variance_authority16.cva)("flex items-center justify-center shrink-0", {
|
|
2084
2135
|
variants: {
|
|
2085
2136
|
size: {
|
|
2086
2137
|
sm: "size-4",
|
|
@@ -2098,7 +2149,7 @@ var selectIconVariants = (0, import_class_variance_authority15.cva)("flex items-
|
|
|
2098
2149
|
disabled: false
|
|
2099
2150
|
}
|
|
2100
2151
|
});
|
|
2101
|
-
var selectButtonVariants = (0,
|
|
2152
|
+
var selectButtonVariants = (0, import_class_variance_authority16.cva)(
|
|
2102
2153
|
"flex w-full items-center gap-2 pl-(--space-8) pr-(--space-16) text-left paragraph-lg text-primary hover:bg-(--background-secondary)",
|
|
2103
2154
|
{
|
|
2104
2155
|
variants: {
|
|
@@ -2111,7 +2162,7 @@ var selectButtonVariants = (0, import_class_variance_authority15.cva)(
|
|
|
2111
2162
|
}
|
|
2112
2163
|
}
|
|
2113
2164
|
);
|
|
2114
|
-
var Select =
|
|
2165
|
+
var Select = React25.forwardRef((props, forwardedRef) => {
|
|
2115
2166
|
const {
|
|
2116
2167
|
label = "Field Label",
|
|
2117
2168
|
hint = "This is a hint text to help user.",
|
|
@@ -2132,10 +2183,10 @@ var Select = React24.forwardRef((props, forwardedRef) => {
|
|
|
2132
2183
|
} = props;
|
|
2133
2184
|
const isControlled = value !== void 0;
|
|
2134
2185
|
const controlledValue = value ?? "";
|
|
2135
|
-
const [internalValue, setInternalValue] =
|
|
2186
|
+
const [internalValue, setInternalValue] = React25.useState(
|
|
2136
2187
|
defaultValue ?? ""
|
|
2137
2188
|
);
|
|
2138
|
-
const [open, setOpen] =
|
|
2189
|
+
const [open, setOpen] = React25.useState(false);
|
|
2139
2190
|
const rawValue = isControlled ? controlledValue : internalValue;
|
|
2140
2191
|
const selectedOption = options.find((opt) => opt.value === rawValue);
|
|
2141
2192
|
const currentValue = selectedOption ? selectedOption.value : "";
|
|
@@ -2164,7 +2215,7 @@ var Select = React24.forwardRef((props, forwardedRef) => {
|
|
|
2164
2215
|
setOpen(false);
|
|
2165
2216
|
}
|
|
2166
2217
|
};
|
|
2167
|
-
return /* @__PURE__ */ (0,
|
|
2218
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2168
2219
|
Field,
|
|
2169
2220
|
{
|
|
2170
2221
|
label,
|
|
@@ -2172,7 +2223,7 @@ var Select = React24.forwardRef((props, forwardedRef) => {
|
|
|
2172
2223
|
hideHint,
|
|
2173
2224
|
status,
|
|
2174
2225
|
disabled,
|
|
2175
|
-
children: /* @__PURE__ */ (0,
|
|
2226
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
2176
2227
|
SelectPrimitive.Root,
|
|
2177
2228
|
{
|
|
2178
2229
|
value: currentValue,
|
|
@@ -2183,7 +2234,7 @@ var Select = React24.forwardRef((props, forwardedRef) => {
|
|
|
2183
2234
|
name,
|
|
2184
2235
|
required,
|
|
2185
2236
|
children: [
|
|
2186
|
-
/* @__PURE__ */ (0,
|
|
2237
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(SelectPrimitive.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
2187
2238
|
"button",
|
|
2188
2239
|
{
|
|
2189
2240
|
ref: forwardedRef,
|
|
@@ -2205,18 +2256,18 @@ var Select = React24.forwardRef((props, forwardedRef) => {
|
|
|
2205
2256
|
"data-open": isOpen || void 0,
|
|
2206
2257
|
...buttonProps,
|
|
2207
2258
|
children: [
|
|
2208
|
-
/* @__PURE__ */ (0,
|
|
2209
|
-
/* @__PURE__ */ (0,
|
|
2259
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(SelectPrimitive.Value, { placeholder }),
|
|
2260
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2210
2261
|
"span",
|
|
2211
2262
|
{
|
|
2212
2263
|
className: cn(selectIconVariants({ size, disabled: !!disabled })),
|
|
2213
|
-
children: /* @__PURE__ */ (0,
|
|
2264
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_icons8.ChevronDownIcon, {})
|
|
2214
2265
|
}
|
|
2215
2266
|
) })
|
|
2216
2267
|
]
|
|
2217
2268
|
}
|
|
2218
2269
|
) }),
|
|
2219
|
-
/* @__PURE__ */ (0,
|
|
2270
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(SelectPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2220
2271
|
SelectPrimitive.Content,
|
|
2221
2272
|
{
|
|
2222
2273
|
position: "popper",
|
|
@@ -2225,11 +2276,11 @@ var Select = React24.forwardRef((props, forwardedRef) => {
|
|
|
2225
2276
|
className: cn(
|
|
2226
2277
|
dropdownSurfaceClass,
|
|
2227
2278
|
dropdownScrollClass,
|
|
2228
|
-
"min-w-343"
|
|
2279
|
+
"min-w-343 rounded-8"
|
|
2229
2280
|
),
|
|
2230
2281
|
style: { minWidth: "var(--radix-select-trigger-width)" },
|
|
2231
|
-
children: /* @__PURE__ */ (0,
|
|
2232
|
-
hasValue && /* @__PURE__ */ (0,
|
|
2282
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(SelectPrimitive.Viewport, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex flex-col", children: [
|
|
2283
|
+
hasValue && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: cn("bg-(--background-neutral)"), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2233
2284
|
"button",
|
|
2234
2285
|
{
|
|
2235
2286
|
type: "button",
|
|
@@ -2241,7 +2292,7 @@ var Select = React24.forwardRef((props, forwardedRef) => {
|
|
|
2241
2292
|
children: "Clear"
|
|
2242
2293
|
}
|
|
2243
2294
|
) }),
|
|
2244
|
-
options.map((opt) => /* @__PURE__ */ (0,
|
|
2295
|
+
options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2245
2296
|
SelectPrimitive.Item,
|
|
2246
2297
|
{
|
|
2247
2298
|
value: opt.value,
|
|
@@ -2250,7 +2301,7 @@ var Select = React24.forwardRef((props, forwardedRef) => {
|
|
|
2250
2301
|
"data-highlighted:bg-(--background-secondary) data-highlighted:outline-none",
|
|
2251
2302
|
"data-[state=checked]:bg-(--background-secondary)"
|
|
2252
2303
|
),
|
|
2253
|
-
children: /* @__PURE__ */ (0,
|
|
2304
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: selectButtonVariants({ size }), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(SelectPrimitive.ItemText, { children: opt.label }) })
|
|
2254
2305
|
},
|
|
2255
2306
|
opt.value
|
|
2256
2307
|
))
|
|
@@ -2266,11 +2317,11 @@ var Select = React24.forwardRef((props, forwardedRef) => {
|
|
|
2266
2317
|
Select.displayName = "Select";
|
|
2267
2318
|
|
|
2268
2319
|
// src/components/Inputs/PasswordInput.tsx
|
|
2269
|
-
var
|
|
2270
|
-
var
|
|
2320
|
+
var React26 = __toESM(require("react"), 1);
|
|
2321
|
+
var import_class_variance_authority17 = require("class-variance-authority");
|
|
2271
2322
|
var import_icons9 = require("@bubo-squared/icons");
|
|
2272
|
-
var
|
|
2273
|
-
var passwordTextVariants = (0,
|
|
2323
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2324
|
+
var passwordTextVariants = (0, import_class_variance_authority17.cva)("truncate", {
|
|
2274
2325
|
variants: {
|
|
2275
2326
|
size: {
|
|
2276
2327
|
sm: "paragraph-md",
|
|
@@ -2288,7 +2339,7 @@ var passwordTextVariants = (0, import_class_variance_authority16.cva)("truncate"
|
|
|
2288
2339
|
disabled: false
|
|
2289
2340
|
}
|
|
2290
2341
|
});
|
|
2291
|
-
var iconWrapperVariants2 = (0,
|
|
2342
|
+
var iconWrapperVariants2 = (0, import_class_variance_authority17.cva)(
|
|
2292
2343
|
"flex items-center justify-center shrink-0 text-(--icon-primary)",
|
|
2293
2344
|
{
|
|
2294
2345
|
variants: {
|
|
@@ -2307,7 +2358,7 @@ var iconWrapperVariants2 = (0, import_class_variance_authority16.cva)(
|
|
|
2307
2358
|
}
|
|
2308
2359
|
}
|
|
2309
2360
|
);
|
|
2310
|
-
var actionButtonVariants = (0,
|
|
2361
|
+
var actionButtonVariants = (0, import_class_variance_authority17.cva)(
|
|
2311
2362
|
"flex items-center justify-center shrink-0 cursor-pointer bg-transparent border-0 p-0 text-left paragraph-sm text-(--icon-primary) hover:text-(--icon-primary-hover) focus:outline-none ",
|
|
2312
2363
|
{
|
|
2313
2364
|
variants: {
|
|
@@ -2326,7 +2377,7 @@ var actionButtonVariants = (0, import_class_variance_authority16.cva)(
|
|
|
2326
2377
|
}
|
|
2327
2378
|
}
|
|
2328
2379
|
);
|
|
2329
|
-
var PasswordInput =
|
|
2380
|
+
var PasswordInput = React26.forwardRef((props, forwardedRef) => {
|
|
2330
2381
|
const {
|
|
2331
2382
|
label,
|
|
2332
2383
|
hint,
|
|
@@ -2344,13 +2395,13 @@ var PasswordInput = React25.forwardRef((props, forwardedRef) => {
|
|
|
2344
2395
|
...inputProps
|
|
2345
2396
|
} = props;
|
|
2346
2397
|
const isControlled = value !== void 0;
|
|
2347
|
-
const [internalValue, setInternalValue] =
|
|
2398
|
+
const [internalValue, setInternalValue] = React26.useState(
|
|
2348
2399
|
defaultValue ?? ""
|
|
2349
2400
|
);
|
|
2350
|
-
const [isRevealed, setIsRevealed] =
|
|
2401
|
+
const [isRevealed, setIsRevealed] = React26.useState(false);
|
|
2351
2402
|
const currentValue = (isControlled ? value : internalValue) ?? "";
|
|
2352
|
-
const inputRef =
|
|
2353
|
-
const setInputRef =
|
|
2403
|
+
const inputRef = React26.useRef(null);
|
|
2404
|
+
const setInputRef = React26.useCallback(
|
|
2354
2405
|
(node) => {
|
|
2355
2406
|
inputRef.current = node;
|
|
2356
2407
|
if (!forwardedRef) return;
|
|
@@ -2373,7 +2424,7 @@ var PasswordInput = React25.forwardRef((props, forwardedRef) => {
|
|
|
2373
2424
|
}
|
|
2374
2425
|
onChange?.(event);
|
|
2375
2426
|
};
|
|
2376
|
-
return /* @__PURE__ */ (0,
|
|
2427
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2377
2428
|
Field,
|
|
2378
2429
|
{
|
|
2379
2430
|
label,
|
|
@@ -2381,7 +2432,7 @@ var PasswordInput = React25.forwardRef((props, forwardedRef) => {
|
|
|
2381
2432
|
hideHint,
|
|
2382
2433
|
status,
|
|
2383
2434
|
disabled,
|
|
2384
|
-
children: /* @__PURE__ */ (0,
|
|
2435
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
2385
2436
|
InputShell,
|
|
2386
2437
|
{
|
|
2387
2438
|
size,
|
|
@@ -2390,7 +2441,7 @@ var PasswordInput = React25.forwardRef((props, forwardedRef) => {
|
|
|
2390
2441
|
className,
|
|
2391
2442
|
onClick: handleContainerClick,
|
|
2392
2443
|
children: [
|
|
2393
|
-
showLeadingIcon && /* @__PURE__ */ (0,
|
|
2444
|
+
showLeadingIcon && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2394
2445
|
"span",
|
|
2395
2446
|
{
|
|
2396
2447
|
className: cn(
|
|
@@ -2399,7 +2450,7 @@ var PasswordInput = React25.forwardRef((props, forwardedRef) => {
|
|
|
2399
2450
|
children: leadingIcon
|
|
2400
2451
|
}
|
|
2401
2452
|
),
|
|
2402
|
-
/* @__PURE__ */ (0,
|
|
2453
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2403
2454
|
Input,
|
|
2404
2455
|
{
|
|
2405
2456
|
ref: setInputRef,
|
|
@@ -2414,7 +2465,7 @@ var PasswordInput = React25.forwardRef((props, forwardedRef) => {
|
|
|
2414
2465
|
...inputProps
|
|
2415
2466
|
}
|
|
2416
2467
|
),
|
|
2417
|
-
/* @__PURE__ */ (0,
|
|
2468
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2418
2469
|
"button",
|
|
2419
2470
|
{
|
|
2420
2471
|
type: "button",
|
|
@@ -2429,7 +2480,7 @@ var PasswordInput = React25.forwardRef((props, forwardedRef) => {
|
|
|
2429
2480
|
"cursor-pointer",
|
|
2430
2481
|
variant === "text" ? actionButtonVariants({ size, disabled: !!disabled }) : iconWrapperVariants2({ size, disabled: !!disabled })
|
|
2431
2482
|
),
|
|
2432
|
-
children: variant === "icon" ? isRevealed ? /* @__PURE__ */ (0,
|
|
2483
|
+
children: variant === "icon" ? isRevealed ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_icons9.EyeSlashIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_icons9.EyeIcon, {}) : isRevealed ? "Hide" : "Show"
|
|
2433
2484
|
}
|
|
2434
2485
|
)
|
|
2435
2486
|
]
|
|
@@ -2446,58 +2497,6 @@ var import_icons11 = require("@bubo-squared/icons");
|
|
|
2446
2497
|
var RPNInput = __toESM(require("react-phone-number-input"), 1);
|
|
2447
2498
|
var import_flags = __toESM(require("react-phone-number-input/flags"), 1);
|
|
2448
2499
|
|
|
2449
|
-
// src/components/ui/button.tsx
|
|
2450
|
-
var React26 = require("react");
|
|
2451
|
-
var import_react_slot7 = require("@radix-ui/react-slot");
|
|
2452
|
-
var import_class_variance_authority17 = require("class-variance-authority");
|
|
2453
|
-
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2454
|
-
var buttonVariants2 = (0, import_class_variance_authority17.cva)(
|
|
2455
|
-
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-0 focus-visible:shadow-none aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
2456
|
-
{
|
|
2457
|
-
variants: {
|
|
2458
|
-
variant: {
|
|
2459
|
-
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
2460
|
-
destructive: "bg-destructive text-white hover:bg-destructive/90 dark:bg-destructive/60",
|
|
2461
|
-
outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
2462
|
-
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
2463
|
-
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
2464
|
-
link: "text-primary underline-offset-4 hover:underline"
|
|
2465
|
-
},
|
|
2466
|
-
size: {
|
|
2467
|
-
default: "h-9 px-4 py-2 has-[>svg]:px-3",
|
|
2468
|
-
sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
|
|
2469
|
-
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
|
|
2470
|
-
icon: "size-9",
|
|
2471
|
-
"icon-sm": "size-8",
|
|
2472
|
-
"icon-lg": "size-10"
|
|
2473
|
-
}
|
|
2474
|
-
},
|
|
2475
|
-
defaultVariants: {
|
|
2476
|
-
variant: "default",
|
|
2477
|
-
size: "default"
|
|
2478
|
-
}
|
|
2479
|
-
}
|
|
2480
|
-
);
|
|
2481
|
-
function Button2({
|
|
2482
|
-
className,
|
|
2483
|
-
variant = "default",
|
|
2484
|
-
size = "default",
|
|
2485
|
-
asChild = false,
|
|
2486
|
-
...props
|
|
2487
|
-
}) {
|
|
2488
|
-
const Comp = asChild ? import_react_slot7.Slot : "button";
|
|
2489
|
-
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2490
|
-
Comp,
|
|
2491
|
-
{
|
|
2492
|
-
"data-slot": "button",
|
|
2493
|
-
"data-variant": variant,
|
|
2494
|
-
"data-size": size,
|
|
2495
|
-
className: cn(buttonVariants2({ variant, size, className })),
|
|
2496
|
-
...props
|
|
2497
|
-
}
|
|
2498
|
-
);
|
|
2499
|
-
}
|
|
2500
|
-
|
|
2501
2500
|
// src/components/ui/command.tsx
|
|
2502
2501
|
var React28 = require("react");
|
|
2503
2502
|
var import_cmdk = require("cmdk");
|
|
@@ -2813,7 +2812,7 @@ function ScrollBar({
|
|
|
2813
2812
|
// src/components/Inputs/PhoneInput.tsx
|
|
2814
2813
|
var import_class_variance_authority18 = require("class-variance-authority");
|
|
2815
2814
|
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2816
|
-
var inputBase = "h-full rounded-
|
|
2815
|
+
var inputBase = "h-full rounded-8 border border-secondary bg-(--background-primary) hover:border-secondary-hover";
|
|
2817
2816
|
var sizeBase = (0, import_class_variance_authority18.cva)(
|
|
2818
2817
|
"flex w-full",
|
|
2819
2818
|
{
|
|
@@ -2982,11 +2981,11 @@ var CountrySelect = ({
|
|
|
2982
2981
|
},
|
|
2983
2982
|
children: [
|
|
2984
2983
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
2985
|
-
|
|
2984
|
+
Button,
|
|
2986
2985
|
{
|
|
2987
2986
|
type: "button",
|
|
2988
|
-
variant: "
|
|
2989
|
-
className: cn(inputBase, "flex gap-1
|
|
2987
|
+
variant: "secondary",
|
|
2988
|
+
className: cn(inputBase, "flex items-center justify-center gap-1 px-3 focus:z-10 mr-(--space-12) text-primary-disabled hover:text-(--color-primary-hover) focus:text-(--color-primary-focus)"),
|
|
2990
2989
|
disabled,
|
|
2991
2990
|
children: [
|
|
2992
2991
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
@@ -3013,7 +3012,7 @@ var CountrySelect = ({
|
|
|
3013
3012
|
{
|
|
3014
3013
|
align: "start",
|
|
3015
3014
|
className: cn(
|
|
3016
|
-
"p-0 **:data-[slot='command-input-wrapper']:border-b-(--border-secondary)",
|
|
3015
|
+
"p-0 **:data-[slot='command-input-wrapper']:border-b-(--border-secondary) rounded-8",
|
|
3017
3016
|
dropdownWidthVariants({ size }),
|
|
3018
3017
|
dropdownSurfaceClass
|
|
3019
3018
|
),
|
|
@@ -3709,7 +3708,7 @@ var Slider = React35.forwardRef((props, forwardedRef) => {
|
|
|
3709
3708
|
tabIndex: disabled ? -1 : 0,
|
|
3710
3709
|
className: cn(
|
|
3711
3710
|
"absolute -translate-x-1/2 flex items-center justify-center",
|
|
3712
|
-
"h-8 w-4.5 rounded-
|
|
3711
|
+
"h-8 w-4.5 rounded-8",
|
|
3713
3712
|
"transition-shadow duration-150",
|
|
3714
3713
|
!disabled && (isDragging ? "shadow-[0_0_0_12px_var(--slider-halo-color)]" : "hover:shadow-[0_0_0_8px_var(--slider-halo-color)]"),
|
|
3715
3714
|
disabled ? "bg-(--icon-primary-disabled) cursor-default" : "bg-(--icon-primary-hover) outline-none focus-visible:shadow-[0_0_0_var(--focus-ring-spread)_var(--focus-primary)] cursor-pointer"
|
|
@@ -3787,7 +3786,7 @@ var Slider = React35.forwardRef((props, forwardedRef) => {
|
|
|
3787
3786
|
"div",
|
|
3788
3787
|
{
|
|
3789
3788
|
className: cn(
|
|
3790
|
-
"relative w-full flex items-center rounded-
|
|
3789
|
+
"relative w-full flex items-center rounded-8",
|
|
3791
3790
|
disabled ? "bg-(--background-slider-track-disabled) cursor-default" : "bg-(--background-slider-track) cursor-pointer"
|
|
3792
3791
|
),
|
|
3793
3792
|
style: { height: `${trackHeight}px` },
|
|
@@ -3798,7 +3797,7 @@ var Slider = React35.forwardRef((props, forwardedRef) => {
|
|
|
3798
3797
|
"div",
|
|
3799
3798
|
{
|
|
3800
3799
|
className: cn(
|
|
3801
|
-
"absolute h-full rounded-
|
|
3800
|
+
"absolute h-full rounded-8",
|
|
3802
3801
|
disabled ? "bg-(--background-slider-track-disabled)" : "bg-(--background-slider-track)"
|
|
3803
3802
|
),
|
|
3804
3803
|
style: {
|
|
@@ -3948,7 +3947,7 @@ var TextArea = React36.forwardRef((props, forwardedRef) => {
|
|
|
3948
3947
|
"div",
|
|
3949
3948
|
{
|
|
3950
3949
|
className: cn(
|
|
3951
|
-
"relative flex w-full rounded-
|
|
3950
|
+
"relative flex w-full rounded-8 border bg-(--background-primary) cursor-text",
|
|
3952
3951
|
"border-secondary",
|
|
3953
3952
|
statusShellClass[status],
|
|
3954
3953
|
disabled && "bg-(--background-primary-disabled) border-secondary-disabled cursor-default",
|
|
@@ -4338,6 +4337,7 @@ var Popover2 = (props) => {
|
|
|
4338
4337
|
className,
|
|
4339
4338
|
placement = "bottom",
|
|
4340
4339
|
offset = 10,
|
|
4340
|
+
customContent,
|
|
4341
4341
|
children
|
|
4342
4342
|
} = props;
|
|
4343
4343
|
const hasStrapline = typeof strapline === "string" ? strapline.trim() !== "" : strapline != null;
|
|
@@ -4351,7 +4351,7 @@ var Popover2 = (props) => {
|
|
|
4351
4351
|
onOk?.();
|
|
4352
4352
|
setOpen(false);
|
|
4353
4353
|
};
|
|
4354
|
-
const popoverClasses = "group bg-(--background-popover) popover w-80 max-w-[calc(100vw-2rem)] shadow-card-md border-none [&>span]:scale-240 rounded-
|
|
4354
|
+
const popoverClasses = "group bg-(--background-popover) popover w-80 max-w-[calc(100vw-2rem)] shadow-card-md border-none [&>span]:scale-240 rounded-8";
|
|
4355
4355
|
const popoverArrowClasses = "relative fill-(--background-popover) transition-[filter,transform] group-data-[side=top]:top-[-2px] group-data-[side=top]:drop-shadow-[0px_2px_1px_color-mix(in_srgb,_var(--color-b-black-10)_66%,_transparent)] group-data-[side=bottom]:drop-shadow-[0px_1px_1px_color-mix(in_srgb,_var(--color-b-black-10)_66%,_transparent)] group-data-[side=left]:drop-shadow-[0px_2px_1px_color-mix(in_srgb,_var(--color-b-black-10)_66%,_transparent)] group-data-[side=right]:drop-shadow-[0px_2px_1px_color-mix(in_srgb,_var(--color-b-black-10)_66%,_transparent)]";
|
|
4356
4356
|
const mapPlacementToSideAndAlign2 = (placement2) => {
|
|
4357
4357
|
switch (placement2) {
|
|
@@ -4395,15 +4395,15 @@ var Popover2 = (props) => {
|
|
|
4395
4395
|
className: cn(popoverClasses, className),
|
|
4396
4396
|
children: [
|
|
4397
4397
|
showArrow && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(PopoverArrow, { className: popoverArrowClasses }),
|
|
4398
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "grid gap-4", children: [
|
|
4398
|
+
customContent ? typeof customContent === "function" ? customContent({ close: () => setOpen(false), ok: handleOk, cancel: handleCancel }) : customContent : /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "grid gap-4", children: [
|
|
4399
4399
|
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "space-y-2", children: [
|
|
4400
4400
|
hasStrapline && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "caption text-secondary", children: strapline }),
|
|
4401
4401
|
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("h4", { className: "subtitle-medium text-primary", children: title }),
|
|
4402
4402
|
hasDescription && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "paragraph-sm text-primary", children: description })
|
|
4403
4403
|
] }),
|
|
4404
4404
|
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex justify-start items-center gap-4 flex-wrap", children: [
|
|
4405
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
4406
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
4405
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Button2, { size: "sm", variant: "secondary", onClick: handleCancel, children: cancelText || "Cancel" }),
|
|
4406
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Button2, { size: "sm", variant: "primary", onClick: handleOk, children: okText || "Ok" })
|
|
4407
4407
|
] })
|
|
4408
4408
|
] })
|
|
4409
4409
|
]
|
|
@@ -4441,7 +4441,7 @@ var React43 = __toESM(require("react"), 1);
|
|
|
4441
4441
|
|
|
4442
4442
|
// src/components/ui/breadcrumb.tsx
|
|
4443
4443
|
var React42 = require("react");
|
|
4444
|
-
var
|
|
4444
|
+
var import_react_slot6 = require("@radix-ui/react-slot");
|
|
4445
4445
|
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
4446
4446
|
var breadcrumbItemClasses = "h6-title inline-flex items-center gap-1.5 text-(--color-secondary) hover:text-(--color-primary-hover) focus-within:text-(--color-secondary-focus) [&_[aria-current=page]]:font-medium [&_[aria-current=page]]:text-primary";
|
|
4447
4447
|
var disabledItemClasses = "text-primary-disabled cursor-default pointer-events-none";
|
|
@@ -4528,7 +4528,16 @@ var breadcrumbSeparatorVariants = "size-5 relative bottom-1 [&>svg]:text-seconda
|
|
|
4528
4528
|
var breadcrumbItemBase = "h6-title text-secondary hover:text-primary-hover";
|
|
4529
4529
|
var Breadcrumbs = React43.forwardRef(
|
|
4530
4530
|
(props, ref) => {
|
|
4531
|
-
const {
|
|
4531
|
+
const {
|
|
4532
|
+
separator,
|
|
4533
|
+
ellipsis,
|
|
4534
|
+
children,
|
|
4535
|
+
className,
|
|
4536
|
+
breadcrumbItemClassName,
|
|
4537
|
+
breadcrumbPageClassName,
|
|
4538
|
+
separatorClassName,
|
|
4539
|
+
...rest
|
|
4540
|
+
} = props;
|
|
4532
4541
|
const items = React43.Children.toArray(children).filter(Boolean);
|
|
4533
4542
|
const shouldCollapse = Boolean(ellipsis) && items.length >= 5;
|
|
4534
4543
|
const hiddenItems = shouldCollapse ? items.slice(1, -2) : [];
|
|
@@ -4538,7 +4547,7 @@ var Breadcrumbs = React43.forwardRef(
|
|
|
4538
4547
|
const key = isEllipsis ? "__ellipsis" : React43.isValidElement(child) && child.key != null ? String(child.key) : String(index);
|
|
4539
4548
|
const isLast = index === displayItems.length - 1;
|
|
4540
4549
|
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(React43.Fragment, { children: [
|
|
4541
|
-
isEllipsis ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(BreadcrumbItem, { className: cn(breadcrumbItemBase,
|
|
4550
|
+
isEllipsis ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(BreadcrumbItem, { className: cn(breadcrumbItemBase, breadcrumbItemClassName), children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(DropdownMenu, { children: [
|
|
4542
4551
|
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
4543
4552
|
"button",
|
|
4544
4553
|
{
|
|
@@ -4577,14 +4586,14 @@ var Breadcrumbs = React43.forwardRef(
|
|
|
4577
4586
|
}) })
|
|
4578
4587
|
}
|
|
4579
4588
|
)
|
|
4580
|
-
] }) }) : isLast ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(BreadcrumbItem, { className: cn(breadcrumbItemBase,
|
|
4589
|
+
] }) }) : isLast ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(BreadcrumbItem, { className: cn(breadcrumbItemBase, breadcrumbItemClassName), children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
4581
4590
|
BreadcrumbPage,
|
|
4582
4591
|
{
|
|
4583
|
-
className: cn("h6-title-medium cursor-pointer",
|
|
4592
|
+
className: cn("h6-title-medium cursor-pointer", breadcrumbPageClassName),
|
|
4584
4593
|
children: child
|
|
4585
4594
|
}
|
|
4586
|
-
) }) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(BreadcrumbItem, { className: cn(breadcrumbItemBase,
|
|
4587
|
-
!isLast && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(BreadcrumbSeparator, { className: cn(breadcrumbSeparatorVariants,
|
|
4595
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(BreadcrumbItem, { className: cn(breadcrumbItemBase, breadcrumbItemClassName), children: child }),
|
|
4596
|
+
!isLast && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(BreadcrumbSeparator, { className: cn(breadcrumbSeparatorVariants, separatorClassName), children: separator })
|
|
4588
4597
|
] }, key);
|
|
4589
4598
|
}) }) });
|
|
4590
4599
|
}
|