@bubo-squared/ui-framework 0.1.5 → 0.1.8
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 +874 -203
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +96 -26
- package/dist/index.d.ts +96 -26
- package/dist/index.js +865 -192
- package/dist/index.js.map +1 -1
- package/dist/logo-icon-575VOQEY.svg +7 -0
- package/dist/logo-text-IUSWKNLN.svg +8 -0
- package/dist/style.css +1 -1
- package/package.json +8 -4
- package/src/style.d.ts +2 -0
package/dist/index.cjs
CHANGED
|
@@ -35,24 +35,22 @@ __export(index_exports, {
|
|
|
35
35
|
BadgeDigit: () => BadgeDigit,
|
|
36
36
|
BadgeDot: () => BadgeDot,
|
|
37
37
|
BadgeStatus: () => BadgeStatus,
|
|
38
|
+
Breadcrumb: () => Breadcrumb,
|
|
38
39
|
Button: () => Button,
|
|
39
40
|
ButtonGroup: () => ButtonGroup,
|
|
40
41
|
Checkbox: () => Checkbox,
|
|
41
42
|
Divider: () => Divider,
|
|
42
43
|
Dropdown: () => Dropdown,
|
|
44
|
+
Field: () => Field,
|
|
43
45
|
IconButton: () => IconButton,
|
|
44
46
|
IconButtonGroup: () => IconButtonGroup,
|
|
45
47
|
LinkButton: () => LinkButton,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
LogoIconLarge: () => LogoIconLarge_default,
|
|
49
|
-
LogoIconMedium: () => LogoIconMedium_default,
|
|
50
|
-
LogoIconSmall: () => LogoIconSmall_default,
|
|
51
|
-
LogoInline: () => LogoInline_default,
|
|
52
|
-
LogoInlineSmall: () => LogoInlineSmall_default,
|
|
53
|
-
LogoMultiline: () => LogoMultiline_default,
|
|
48
|
+
Logo: () => Logo,
|
|
49
|
+
LogoIcon: () => LogoIcon,
|
|
54
50
|
MessageButton: () => MessageButton,
|
|
55
51
|
PasswordInput: () => PasswordInput,
|
|
52
|
+
PhoneInput: () => PhoneInput,
|
|
53
|
+
Popover: () => Popover2,
|
|
56
54
|
Progress: () => Progress,
|
|
57
55
|
RadioGroup: () => RadioGroup,
|
|
58
56
|
SearchInput: () => SearchInput,
|
|
@@ -171,7 +169,7 @@ Button.displayName = "Button";
|
|
|
171
169
|
var import_class_variance_authority2 = require("class-variance-authority");
|
|
172
170
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
173
171
|
var buttonGroupVariants = (0, import_class_variance_authority2.cva)(
|
|
174
|
-
"flex items-center justify-center gap-4 pt-4 w-
|
|
172
|
+
"flex items-center justify-center gap-4 pt-4 w-[320px] min-w-[320px]",
|
|
175
173
|
{
|
|
176
174
|
variants: {
|
|
177
175
|
variant: {
|
|
@@ -1162,7 +1160,7 @@ var Dropdown = (props) => {
|
|
|
1162
1160
|
]
|
|
1163
1161
|
}
|
|
1164
1162
|
),
|
|
1165
|
-
isOpen && options.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "absolute z-10 mt-1 w-full min-w-343 rounded-4 border border-(--border-primary-hover) bg-(--background-neutral) shadow-card-md flex overflow-y-scroll dropdown-scrollbar max-h-
|
|
1163
|
+
isOpen && options.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "absolute z-10 mt-1 w-full min-w-343 rounded-4 border border-(--border-primary-hover) bg-(--background-neutral) shadow-card-md flex overflow-y-scroll dropdown-scrollbar max-h-79", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("ul", { role: "listbox", className: "flex flex-1 flex-col", children: options.map((opt) => {
|
|
1166
1164
|
const selected = opt.value === currentValue;
|
|
1167
1165
|
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1168
1166
|
"li",
|
|
@@ -1204,39 +1202,9 @@ var Dropdown = (props) => {
|
|
|
1204
1202
|
};
|
|
1205
1203
|
Dropdown.displayName = "Dropdown";
|
|
1206
1204
|
|
|
1207
|
-
// src/components/Inputs/
|
|
1208
|
-
var React20 = __toESM(require("react"), 1);
|
|
1209
|
-
var import_class_variance_authority14 = require("class-variance-authority");
|
|
1210
|
-
|
|
1211
|
-
// src/components/ui/input.tsx
|
|
1205
|
+
// src/components/Inputs/Field.tsx
|
|
1212
1206
|
var React17 = __toESM(require("react"), 1);
|
|
1213
1207
|
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1214
|
-
var Input = React17.forwardRef(
|
|
1215
|
-
({ className, type, variant = "default", ...props }, ref) => {
|
|
1216
|
-
const base = "text-(--text-primary) placeholder:text-(--text-secondary) disabled:text-(--text-primary-disabled) disabled:placeholder:text-(--text-primary-disabled) selection:bg-primary selection:text-primary-foreground file:text-foreground";
|
|
1217
|
-
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";
|
|
1218
|
-
const bareStyles = "bg-transparent outline-none w-full";
|
|
1219
|
-
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1220
|
-
"input",
|
|
1221
|
-
{
|
|
1222
|
-
ref,
|
|
1223
|
-
type,
|
|
1224
|
-
"data-slot": "input",
|
|
1225
|
-
className: cn(
|
|
1226
|
-
base,
|
|
1227
|
-
variant === "default" ? defaultStyles : bareStyles,
|
|
1228
|
-
className
|
|
1229
|
-
),
|
|
1230
|
-
...props
|
|
1231
|
-
}
|
|
1232
|
-
);
|
|
1233
|
-
}
|
|
1234
|
-
);
|
|
1235
|
-
Input.displayName = "Input";
|
|
1236
|
-
|
|
1237
|
-
// src/components/Inputs/Field.tsx
|
|
1238
|
-
var React18 = __toESM(require("react"), 1);
|
|
1239
|
-
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1240
1208
|
var fieldBase = "flex flex-col gap-2 items-start min-w-[343px]";
|
|
1241
1209
|
var Field = (props) => {
|
|
1242
1210
|
const {
|
|
@@ -1247,13 +1215,13 @@ var Field = (props) => {
|
|
|
1247
1215
|
className,
|
|
1248
1216
|
children
|
|
1249
1217
|
} = props;
|
|
1250
|
-
const fieldId =
|
|
1218
|
+
const fieldId = React17.useId();
|
|
1251
1219
|
const labelId = label ? `${fieldId}-label` : void 0;
|
|
1252
1220
|
const hintId = hint ? `${fieldId}-hint` : void 0;
|
|
1253
1221
|
const hintColorClass = disabled ? "text-(--text-primary-disabled)" : status === "success" ? "text-(--text-success)" : status === "error" ? "text-(--text-error)" : "text-(--text-secondary)";
|
|
1254
1222
|
const labelColorClass = disabled ? "text-(--text-primary-disabled)" : "text-(--text-primary)";
|
|
1255
|
-
return /* @__PURE__ */ (0,
|
|
1256
|
-
label && /* @__PURE__ */ (0,
|
|
1223
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: cn(fieldBase, className), children: [
|
|
1224
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1257
1225
|
"label",
|
|
1258
1226
|
{
|
|
1259
1227
|
id: labelId,
|
|
@@ -1262,8 +1230,8 @@ var Field = (props) => {
|
|
|
1262
1230
|
children: label
|
|
1263
1231
|
}
|
|
1264
1232
|
),
|
|
1265
|
-
/* @__PURE__ */ (0,
|
|
1266
|
-
/* @__PURE__ */ (0,
|
|
1233
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "relative w-full", children }),
|
|
1234
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1267
1235
|
"p",
|
|
1268
1236
|
{
|
|
1269
1237
|
id: hint ? hintId : void 0,
|
|
@@ -1276,6 +1244,36 @@ var Field = (props) => {
|
|
|
1276
1244
|
};
|
|
1277
1245
|
Field.displayName = "Field";
|
|
1278
1246
|
|
|
1247
|
+
// src/components/Inputs/PasswordInput.tsx
|
|
1248
|
+
var React20 = __toESM(require("react"), 1);
|
|
1249
|
+
var import_class_variance_authority14 = require("class-variance-authority");
|
|
1250
|
+
|
|
1251
|
+
// src/components/ui/input.tsx
|
|
1252
|
+
var React18 = __toESM(require("react"), 1);
|
|
1253
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1254
|
+
var Input = React18.forwardRef(
|
|
1255
|
+
({ className, type, variant = "default", ...props }, ref) => {
|
|
1256
|
+
const base = "text-(--text-primary) placeholder:text-(--text-secondary) disabled:text-(--text-primary-disabled) disabled:placeholder:text-(--text-primary-disabled) selection:bg-primary selection:text-primary-foreground file:text-foreground";
|
|
1257
|
+
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";
|
|
1258
|
+
const bareStyles = "bg-transparent outline-none w-full";
|
|
1259
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1260
|
+
"input",
|
|
1261
|
+
{
|
|
1262
|
+
ref,
|
|
1263
|
+
type,
|
|
1264
|
+
"data-slot": "input",
|
|
1265
|
+
className: cn(
|
|
1266
|
+
base,
|
|
1267
|
+
variant === "default" ? defaultStyles : bareStyles,
|
|
1268
|
+
className
|
|
1269
|
+
),
|
|
1270
|
+
...props
|
|
1271
|
+
}
|
|
1272
|
+
);
|
|
1273
|
+
}
|
|
1274
|
+
);
|
|
1275
|
+
Input.displayName = "Input";
|
|
1276
|
+
|
|
1279
1277
|
// src/components/Inputs/InputShell.tsx
|
|
1280
1278
|
var React19 = __toESM(require("react"), 1);
|
|
1281
1279
|
var import_class_variance_authority13 = require("class-variance-authority");
|
|
@@ -1483,10 +1481,497 @@ var PasswordInput = (props) => {
|
|
|
1483
1481
|
};
|
|
1484
1482
|
PasswordInput.displayName = "PasswordInput";
|
|
1485
1483
|
|
|
1484
|
+
// src/components/Inputs/PhoneInput.tsx
|
|
1485
|
+
var React26 = __toESM(require("react"), 1);
|
|
1486
|
+
var import_icons8 = require("@bubo-squared/icons");
|
|
1487
|
+
var RPNInput = __toESM(require("react-phone-number-input"), 1);
|
|
1488
|
+
var import_flags = __toESM(require("react-phone-number-input/flags"), 1);
|
|
1489
|
+
|
|
1490
|
+
// src/components/ui/button.tsx
|
|
1491
|
+
var React21 = require("react");
|
|
1492
|
+
var import_react_slot7 = require("@radix-ui/react-slot");
|
|
1493
|
+
var import_class_variance_authority15 = require("class-variance-authority");
|
|
1494
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1495
|
+
var buttonVariants2 = (0, import_class_variance_authority15.cva)(
|
|
1496
|
+
"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",
|
|
1497
|
+
{
|
|
1498
|
+
variants: {
|
|
1499
|
+
variant: {
|
|
1500
|
+
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
1501
|
+
destructive: "bg-destructive text-white hover:bg-destructive/90 dark:bg-destructive/60",
|
|
1502
|
+
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",
|
|
1503
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
1504
|
+
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
1505
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
1506
|
+
},
|
|
1507
|
+
size: {
|
|
1508
|
+
default: "h-9 px-4 py-2 has-[>svg]:px-3",
|
|
1509
|
+
sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
|
|
1510
|
+
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
|
|
1511
|
+
icon: "size-9",
|
|
1512
|
+
"icon-sm": "size-8",
|
|
1513
|
+
"icon-lg": "size-10"
|
|
1514
|
+
}
|
|
1515
|
+
},
|
|
1516
|
+
defaultVariants: {
|
|
1517
|
+
variant: "default",
|
|
1518
|
+
size: "default"
|
|
1519
|
+
}
|
|
1520
|
+
}
|
|
1521
|
+
);
|
|
1522
|
+
function Button2({
|
|
1523
|
+
className,
|
|
1524
|
+
variant = "default",
|
|
1525
|
+
size = "default",
|
|
1526
|
+
asChild = false,
|
|
1527
|
+
...props
|
|
1528
|
+
}) {
|
|
1529
|
+
const Comp = asChild ? import_react_slot7.Slot : "button";
|
|
1530
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1531
|
+
Comp,
|
|
1532
|
+
{
|
|
1533
|
+
"data-slot": "button",
|
|
1534
|
+
"data-variant": variant,
|
|
1535
|
+
"data-size": size,
|
|
1536
|
+
className: cn(buttonVariants2({ variant, size, className })),
|
|
1537
|
+
...props
|
|
1538
|
+
}
|
|
1539
|
+
);
|
|
1540
|
+
}
|
|
1541
|
+
|
|
1542
|
+
// src/components/ui/command.tsx
|
|
1543
|
+
var React23 = require("react");
|
|
1544
|
+
var import_cmdk = require("cmdk");
|
|
1545
|
+
var import_icons7 = require("@bubo-squared/icons");
|
|
1546
|
+
|
|
1547
|
+
// src/components/ui/dialog.tsx
|
|
1548
|
+
var React22 = require("react");
|
|
1549
|
+
var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
1550
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1551
|
+
|
|
1552
|
+
// src/components/ui/command.tsx
|
|
1553
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
1554
|
+
function Command({
|
|
1555
|
+
className,
|
|
1556
|
+
...props
|
|
1557
|
+
}) {
|
|
1558
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1559
|
+
import_cmdk.Command,
|
|
1560
|
+
{
|
|
1561
|
+
"data-slot": "command",
|
|
1562
|
+
className: cn(
|
|
1563
|
+
"bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",
|
|
1564
|
+
className
|
|
1565
|
+
),
|
|
1566
|
+
...props
|
|
1567
|
+
}
|
|
1568
|
+
);
|
|
1569
|
+
}
|
|
1570
|
+
function CommandInput({
|
|
1571
|
+
className,
|
|
1572
|
+
...props
|
|
1573
|
+
}) {
|
|
1574
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
|
|
1575
|
+
"div",
|
|
1576
|
+
{
|
|
1577
|
+
"data-slot": "command-input-wrapper",
|
|
1578
|
+
className: "flex h-9 items-center gap-2 border-b px-3",
|
|
1579
|
+
children: [
|
|
1580
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_icons7.SearchIcon, { className: "size-4 shrink-0 opacity-50 text-(--text-secondary)" }),
|
|
1581
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1582
|
+
import_cmdk.Command.Input,
|
|
1583
|
+
{
|
|
1584
|
+
"data-slot": "command-input",
|
|
1585
|
+
className: cn(
|
|
1586
|
+
"placeholder:text-(--text-secondary) text-(--text-primary) flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
|
|
1587
|
+
className
|
|
1588
|
+
),
|
|
1589
|
+
...props
|
|
1590
|
+
}
|
|
1591
|
+
)
|
|
1592
|
+
]
|
|
1593
|
+
}
|
|
1594
|
+
);
|
|
1595
|
+
}
|
|
1596
|
+
function CommandList({
|
|
1597
|
+
className,
|
|
1598
|
+
...props
|
|
1599
|
+
}) {
|
|
1600
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1601
|
+
import_cmdk.Command.List,
|
|
1602
|
+
{
|
|
1603
|
+
"data-slot": "command-list",
|
|
1604
|
+
className: cn(
|
|
1605
|
+
"max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",
|
|
1606
|
+
className
|
|
1607
|
+
),
|
|
1608
|
+
...props
|
|
1609
|
+
}
|
|
1610
|
+
);
|
|
1611
|
+
}
|
|
1612
|
+
function CommandEmpty({
|
|
1613
|
+
...props
|
|
1614
|
+
}) {
|
|
1615
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1616
|
+
import_cmdk.Command.Empty,
|
|
1617
|
+
{
|
|
1618
|
+
"data-slot": "command-empty",
|
|
1619
|
+
className: "py-6 text-center text-sm",
|
|
1620
|
+
...props
|
|
1621
|
+
}
|
|
1622
|
+
);
|
|
1623
|
+
}
|
|
1624
|
+
function CommandGroup({
|
|
1625
|
+
className,
|
|
1626
|
+
...props
|
|
1627
|
+
}) {
|
|
1628
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1629
|
+
import_cmdk.Command.Group,
|
|
1630
|
+
{
|
|
1631
|
+
"data-slot": "command-group",
|
|
1632
|
+
className: cn(
|
|
1633
|
+
"text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",
|
|
1634
|
+
className
|
|
1635
|
+
),
|
|
1636
|
+
...props
|
|
1637
|
+
}
|
|
1638
|
+
);
|
|
1639
|
+
}
|
|
1640
|
+
function CommandItem({
|
|
1641
|
+
className,
|
|
1642
|
+
...props
|
|
1643
|
+
}) {
|
|
1644
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1645
|
+
import_cmdk.Command.Item,
|
|
1646
|
+
{
|
|
1647
|
+
"data-slot": "command-item",
|
|
1648
|
+
className: cn(
|
|
1649
|
+
"data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
1650
|
+
className
|
|
1651
|
+
),
|
|
1652
|
+
...props
|
|
1653
|
+
}
|
|
1654
|
+
);
|
|
1655
|
+
}
|
|
1656
|
+
|
|
1657
|
+
// src/components/ui/popover.tsx
|
|
1658
|
+
var React24 = require("react");
|
|
1659
|
+
var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"), 1);
|
|
1660
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1661
|
+
function Popover({
|
|
1662
|
+
...props
|
|
1663
|
+
}) {
|
|
1664
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
1665
|
+
}
|
|
1666
|
+
function PopoverTrigger({
|
|
1667
|
+
...props
|
|
1668
|
+
}) {
|
|
1669
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
1670
|
+
}
|
|
1671
|
+
function PopoverContent({
|
|
1672
|
+
className,
|
|
1673
|
+
align = "center",
|
|
1674
|
+
sideOffset = 4,
|
|
1675
|
+
...props
|
|
1676
|
+
}) {
|
|
1677
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(PopoverPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1678
|
+
PopoverPrimitive.Content,
|
|
1679
|
+
{
|
|
1680
|
+
"data-slot": "popover-content",
|
|
1681
|
+
align,
|
|
1682
|
+
sideOffset,
|
|
1683
|
+
className: cn(
|
|
1684
|
+
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
|
|
1685
|
+
className
|
|
1686
|
+
),
|
|
1687
|
+
...props
|
|
1688
|
+
}
|
|
1689
|
+
) });
|
|
1690
|
+
}
|
|
1691
|
+
|
|
1692
|
+
// src/components/ui/scroll-area.tsx
|
|
1693
|
+
var React25 = require("react");
|
|
1694
|
+
var ScrollAreaPrimitive = __toESM(require("@radix-ui/react-scroll-area"), 1);
|
|
1695
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
1696
|
+
function ScrollArea({
|
|
1697
|
+
className,
|
|
1698
|
+
children,
|
|
1699
|
+
...props
|
|
1700
|
+
}) {
|
|
1701
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
1702
|
+
ScrollAreaPrimitive.Root,
|
|
1703
|
+
{
|
|
1704
|
+
"data-slot": "scroll-area",
|
|
1705
|
+
className: cn("relative", className),
|
|
1706
|
+
...props,
|
|
1707
|
+
children: [
|
|
1708
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1709
|
+
ScrollAreaPrimitive.Viewport,
|
|
1710
|
+
{
|
|
1711
|
+
"data-slot": "scroll-area-viewport",
|
|
1712
|
+
className: "focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",
|
|
1713
|
+
children
|
|
1714
|
+
}
|
|
1715
|
+
),
|
|
1716
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ScrollBar, {}),
|
|
1717
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ScrollAreaPrimitive.Corner, {})
|
|
1718
|
+
]
|
|
1719
|
+
}
|
|
1720
|
+
);
|
|
1721
|
+
}
|
|
1722
|
+
function ScrollBar({
|
|
1723
|
+
className,
|
|
1724
|
+
orientation = "vertical",
|
|
1725
|
+
...props
|
|
1726
|
+
}) {
|
|
1727
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1728
|
+
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
1729
|
+
{
|
|
1730
|
+
"data-slot": "scroll-area-scrollbar",
|
|
1731
|
+
orientation,
|
|
1732
|
+
className: cn(
|
|
1733
|
+
// Base scrollbar track styling
|
|
1734
|
+
"flex touch-none transition-colors select-none ml-1 pt-1 pb-1",
|
|
1735
|
+
orientation === "vertical" && "h-full w-4",
|
|
1736
|
+
orientation === "horizontal" && "h-4 flex-col",
|
|
1737
|
+
className
|
|
1738
|
+
),
|
|
1739
|
+
...props,
|
|
1740
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1741
|
+
ScrollAreaPrimitive.ScrollAreaThumb,
|
|
1742
|
+
{
|
|
1743
|
+
"data-slot": "scroll-area-thumb",
|
|
1744
|
+
className: "bg-(--background-secondary) relative flex-1 rounded mr-1 w-full ml-1"
|
|
1745
|
+
}
|
|
1746
|
+
)
|
|
1747
|
+
}
|
|
1748
|
+
);
|
|
1749
|
+
}
|
|
1750
|
+
|
|
1751
|
+
// src/components/Inputs/PhoneInput.tsx
|
|
1752
|
+
var import_class_variance_authority16 = require("class-variance-authority");
|
|
1753
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
1754
|
+
var inputBase = "h-full rounded-4 border-(--border-secondary) bg-(--background-primary) hover:border-(--border-secondary-hover)";
|
|
1755
|
+
var sizeBase = (0, import_class_variance_authority16.cva)(
|
|
1756
|
+
"flex w-full",
|
|
1757
|
+
{
|
|
1758
|
+
variants: {
|
|
1759
|
+
size: {
|
|
1760
|
+
large: "h-11 [&_button]:gap-2",
|
|
1761
|
+
"extra-large": "h-14 [&_button]:gap-3"
|
|
1762
|
+
}
|
|
1763
|
+
}
|
|
1764
|
+
}
|
|
1765
|
+
);
|
|
1766
|
+
var inputTextVariants = (0, import_class_variance_authority16.cva)("", {
|
|
1767
|
+
variants: {
|
|
1768
|
+
size: {
|
|
1769
|
+
large: "subtitle",
|
|
1770
|
+
"extra-large": "h6-title"
|
|
1771
|
+
},
|
|
1772
|
+
disabled: {
|
|
1773
|
+
true: "text-(--text-primary-disabled) border-(--border-secondary-disabled)"
|
|
1774
|
+
}
|
|
1775
|
+
},
|
|
1776
|
+
defaultVariants: {
|
|
1777
|
+
size: "large"
|
|
1778
|
+
}
|
|
1779
|
+
});
|
|
1780
|
+
var wrapperStatusClass = {
|
|
1781
|
+
default: "input-default-nested",
|
|
1782
|
+
success: "input-success-nested",
|
|
1783
|
+
error: "input-error-nested"
|
|
1784
|
+
};
|
|
1785
|
+
var PhoneInput = React26.forwardRef(
|
|
1786
|
+
(props, ref) => {
|
|
1787
|
+
const {
|
|
1788
|
+
className,
|
|
1789
|
+
onChange,
|
|
1790
|
+
value,
|
|
1791
|
+
label,
|
|
1792
|
+
hint,
|
|
1793
|
+
placeholder,
|
|
1794
|
+
size = "large",
|
|
1795
|
+
disabled = false,
|
|
1796
|
+
status = "default",
|
|
1797
|
+
...rest
|
|
1798
|
+
} = props;
|
|
1799
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1800
|
+
Field,
|
|
1801
|
+
{
|
|
1802
|
+
label,
|
|
1803
|
+
hint,
|
|
1804
|
+
status,
|
|
1805
|
+
disabled,
|
|
1806
|
+
className,
|
|
1807
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: cn("w-full", wrapperStatusClass[status]), children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1808
|
+
RPNInput.default,
|
|
1809
|
+
{
|
|
1810
|
+
ref,
|
|
1811
|
+
className: cn(
|
|
1812
|
+
sizeBase({ size }),
|
|
1813
|
+
inputTextVariants({ size, disabled })
|
|
1814
|
+
),
|
|
1815
|
+
style: { marginBottom: 0 },
|
|
1816
|
+
flagComponent: FlagComponent,
|
|
1817
|
+
countrySelectComponent: CountrySelect,
|
|
1818
|
+
inputComponent: InputComponent,
|
|
1819
|
+
smartCaret: false,
|
|
1820
|
+
value: value || void 0,
|
|
1821
|
+
international: true,
|
|
1822
|
+
countryCallingCodeEditable: false,
|
|
1823
|
+
onChange: (value2) => onChange?.(value2 || ""),
|
|
1824
|
+
placeholder,
|
|
1825
|
+
disabled,
|
|
1826
|
+
...rest
|
|
1827
|
+
}
|
|
1828
|
+
) })
|
|
1829
|
+
}
|
|
1830
|
+
);
|
|
1831
|
+
}
|
|
1832
|
+
);
|
|
1833
|
+
PhoneInput.displayName = "PhoneInput";
|
|
1834
|
+
var InputComponent = React26.forwardRef((props, ref) => {
|
|
1835
|
+
const { className, ...rest } = props;
|
|
1836
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1837
|
+
Input,
|
|
1838
|
+
{
|
|
1839
|
+
ref,
|
|
1840
|
+
placeholder: rest.placeholder,
|
|
1841
|
+
className: cn(inputBase, className),
|
|
1842
|
+
...rest
|
|
1843
|
+
}
|
|
1844
|
+
);
|
|
1845
|
+
});
|
|
1846
|
+
InputComponent.displayName = "InputComponent";
|
|
1847
|
+
var CountrySelect = ({
|
|
1848
|
+
disabled,
|
|
1849
|
+
value: selectedCountry,
|
|
1850
|
+
options: countryList,
|
|
1851
|
+
onChange
|
|
1852
|
+
}) => {
|
|
1853
|
+
const scrollAreaRef = React26.useRef(null);
|
|
1854
|
+
const [searchValue, setSearchValue] = React26.useState("");
|
|
1855
|
+
const [isOpen, setIsOpen] = React26.useState(false);
|
|
1856
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
1857
|
+
Popover,
|
|
1858
|
+
{
|
|
1859
|
+
open: isOpen,
|
|
1860
|
+
modal: true,
|
|
1861
|
+
onOpenChange: (open) => {
|
|
1862
|
+
setIsOpen(open);
|
|
1863
|
+
open && setSearchValue("");
|
|
1864
|
+
},
|
|
1865
|
+
children: [
|
|
1866
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
1867
|
+
Button2,
|
|
1868
|
+
{
|
|
1869
|
+
type: "button",
|
|
1870
|
+
variant: "outline",
|
|
1871
|
+
className: cn(inputBase, "flex gap-1 rounded-4 px-3 focus:z-10 mr-(--space-12) text-(--text-primary-disabled) hover:text-(--text-primary-hover) focus:text-(--text-primary-focus)"),
|
|
1872
|
+
disabled,
|
|
1873
|
+
children: [
|
|
1874
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1875
|
+
FlagComponent,
|
|
1876
|
+
{
|
|
1877
|
+
country: selectedCountry,
|
|
1878
|
+
countryName: selectedCountry
|
|
1879
|
+
}
|
|
1880
|
+
),
|
|
1881
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1882
|
+
import_icons8.CodeIcon,
|
|
1883
|
+
{
|
|
1884
|
+
className: cn(
|
|
1885
|
+
"-mr-2 size-4 opacity-50 rotate-90",
|
|
1886
|
+
disabled ? "hidden" : "opacity-100"
|
|
1887
|
+
)
|
|
1888
|
+
}
|
|
1889
|
+
)
|
|
1890
|
+
]
|
|
1891
|
+
}
|
|
1892
|
+
) }),
|
|
1893
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(PopoverContent, { className: "w-[300px] p-0 relative left-4.5 bg-(--background-primary) shadow-card-md rounded-4 border-none outline-1 outline-solid outline-(--border-primary-hover) **:data-[slot='command-input-wrapper']:border-b-(--border-secondary)", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Command, { children: [
|
|
1894
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1895
|
+
CommandInput,
|
|
1896
|
+
{
|
|
1897
|
+
value: searchValue,
|
|
1898
|
+
onValueChange: (value) => {
|
|
1899
|
+
setSearchValue(value);
|
|
1900
|
+
setTimeout(() => {
|
|
1901
|
+
if (scrollAreaRef.current) {
|
|
1902
|
+
const viewportElement = scrollAreaRef.current.querySelector(
|
|
1903
|
+
"[data-radix-scroll-area-viewport]"
|
|
1904
|
+
);
|
|
1905
|
+
if (viewportElement) {
|
|
1906
|
+
viewportElement.scrollTop = 0;
|
|
1907
|
+
}
|
|
1908
|
+
}
|
|
1909
|
+
}, 0);
|
|
1910
|
+
},
|
|
1911
|
+
placeholder: "Search country..."
|
|
1912
|
+
}
|
|
1913
|
+
),
|
|
1914
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(CommandList, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(ScrollArea, { ref: scrollAreaRef, className: "h-72", children: [
|
|
1915
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(CommandEmpty, { children: "No country found." }),
|
|
1916
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(CommandGroup, { className: "[&>div>div]:pl-4 [&>div>div]:pr-2 [&>div>div]:py-2 [&>div>div]:border-b [&>div>div]:border-b-(--border-secondary) [&>div>div]:cursor-pointer [&>div>div]:hover:bg-(--background-primary-hover) [&>div>div]:text-(--text-primary) [&>div>div]:hover:text-(--text-primary) p-0 pr-4", children: countryList.map(
|
|
1917
|
+
({ value, label }) => value ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1918
|
+
CountrySelectOption,
|
|
1919
|
+
{
|
|
1920
|
+
country: value,
|
|
1921
|
+
countryName: label,
|
|
1922
|
+
selectedCountry,
|
|
1923
|
+
onChange,
|
|
1924
|
+
onSelectComplete: () => setIsOpen(false)
|
|
1925
|
+
},
|
|
1926
|
+
value
|
|
1927
|
+
) : null
|
|
1928
|
+
) })
|
|
1929
|
+
] }) })
|
|
1930
|
+
] }) })
|
|
1931
|
+
]
|
|
1932
|
+
}
|
|
1933
|
+
);
|
|
1934
|
+
};
|
|
1935
|
+
var CountrySelectOption = (props) => {
|
|
1936
|
+
const {
|
|
1937
|
+
country,
|
|
1938
|
+
countryName,
|
|
1939
|
+
selectedCountry,
|
|
1940
|
+
onChange,
|
|
1941
|
+
onSelectComplete
|
|
1942
|
+
} = props;
|
|
1943
|
+
const handleSelect = () => {
|
|
1944
|
+
onChange(country);
|
|
1945
|
+
onSelectComplete();
|
|
1946
|
+
};
|
|
1947
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
1948
|
+
CommandItem,
|
|
1949
|
+
{
|
|
1950
|
+
className: "gap-2 data-[selected=true]:text-(--text-primary)",
|
|
1951
|
+
onSelect: handleSelect,
|
|
1952
|
+
children: [
|
|
1953
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(FlagComponent, { country, countryName }),
|
|
1954
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "flex-1 text-sm", children: countryName }),
|
|
1955
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-sm text-foreground/50", children: `+${RPNInput.getCountryCallingCode(country)}` }),
|
|
1956
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1957
|
+
import_icons8.CheckIcon,
|
|
1958
|
+
{
|
|
1959
|
+
className: `ml-auto size-4 ${country === selectedCountry ? "opacity-100" : "opacity-0"}`
|
|
1960
|
+
}
|
|
1961
|
+
)
|
|
1962
|
+
]
|
|
1963
|
+
}
|
|
1964
|
+
);
|
|
1965
|
+
};
|
|
1966
|
+
var FlagComponent = ({ country, countryName }) => {
|
|
1967
|
+
const Flag = import_flags.default[country];
|
|
1968
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "flex h-4 w-6 overflow-hidden rounded-2 bg-foreground/20 [&_svg:not([class*='size-'])]:size-full", children: Flag && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Flag, { title: countryName }) });
|
|
1969
|
+
};
|
|
1970
|
+
|
|
1486
1971
|
// src/components/Inputs/RadioGroup.tsx
|
|
1487
|
-
var
|
|
1972
|
+
var React27 = __toESM(require("react"), 1);
|
|
1488
1973
|
var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
|
|
1489
|
-
var
|
|
1974
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1490
1975
|
var wrapperBase = "flex flex-col gap-2 items-start min-w-[343px]";
|
|
1491
1976
|
var RadioGroup = ({
|
|
1492
1977
|
label,
|
|
@@ -1500,14 +1985,14 @@ var RadioGroup = ({
|
|
|
1500
1985
|
className,
|
|
1501
1986
|
...rootProps
|
|
1502
1987
|
}) => {
|
|
1503
|
-
const groupId =
|
|
1988
|
+
const groupId = React27.useId();
|
|
1504
1989
|
const hintId = hint ? `${groupId}-hint` : void 0;
|
|
1505
1990
|
const handleValueChange = (next) => {
|
|
1506
1991
|
onValueChange?.(next);
|
|
1507
1992
|
};
|
|
1508
1993
|
const isHorizontal = orientation === "horizontal";
|
|
1509
|
-
return /* @__PURE__ */ (0,
|
|
1510
|
-
label && /* @__PURE__ */ (0,
|
|
1994
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: wrapperBase, children: [
|
|
1995
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1511
1996
|
"span",
|
|
1512
1997
|
{
|
|
1513
1998
|
className: cn(
|
|
@@ -1518,7 +2003,7 @@ var RadioGroup = ({
|
|
|
1518
2003
|
children: label
|
|
1519
2004
|
}
|
|
1520
2005
|
),
|
|
1521
|
-
/* @__PURE__ */ (0,
|
|
2006
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1522
2007
|
RadioGroupPrimitive.Root,
|
|
1523
2008
|
{
|
|
1524
2009
|
...rootProps,
|
|
@@ -1531,13 +2016,13 @@ var RadioGroup = ({
|
|
|
1531
2016
|
isHorizontal ? "flex-row gap-6" : "flex-col gap-2",
|
|
1532
2017
|
className
|
|
1533
2018
|
),
|
|
1534
|
-
children: options.map((option) => /* @__PURE__ */ (0,
|
|
2019
|
+
children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1535
2020
|
RadioGroupPrimitive.Item,
|
|
1536
2021
|
{
|
|
1537
2022
|
value: option.value,
|
|
1538
2023
|
disabled: disabled || option.disabled,
|
|
1539
2024
|
asChild: true,
|
|
1540
|
-
children: /* @__PURE__ */ (0,
|
|
2025
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
1541
2026
|
"button",
|
|
1542
2027
|
{
|
|
1543
2028
|
type: "button",
|
|
@@ -1547,7 +2032,7 @@ var RadioGroup = ({
|
|
|
1547
2032
|
disabled || option.disabled ? "cursor-default" : "cursor-pointer"
|
|
1548
2033
|
),
|
|
1549
2034
|
children: [
|
|
1550
|
-
/* @__PURE__ */ (0,
|
|
2035
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1551
2036
|
"span",
|
|
1552
2037
|
{
|
|
1553
2038
|
className: cn(
|
|
@@ -1573,7 +2058,7 @@ var RadioGroup = ({
|
|
|
1573
2058
|
"group-[&[data-disabled][data-state=checked]]:border-(--border-primary-disabled)",
|
|
1574
2059
|
"group-[&[data-disabled][data-state=checked]]:bg-(--background-primary-disabled)"
|
|
1575
2060
|
),
|
|
1576
|
-
children: /* @__PURE__ */ (0,
|
|
2061
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1577
2062
|
"span",
|
|
1578
2063
|
{
|
|
1579
2064
|
className: cn(
|
|
@@ -1588,7 +2073,7 @@ var RadioGroup = ({
|
|
|
1588
2073
|
)
|
|
1589
2074
|
}
|
|
1590
2075
|
),
|
|
1591
|
-
/* @__PURE__ */ (0,
|
|
2076
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1592
2077
|
"span",
|
|
1593
2078
|
{
|
|
1594
2079
|
className: cn(
|
|
@@ -1607,7 +2092,7 @@ var RadioGroup = ({
|
|
|
1607
2092
|
))
|
|
1608
2093
|
}
|
|
1609
2094
|
),
|
|
1610
|
-
/* @__PURE__ */ (0,
|
|
2095
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1611
2096
|
"p",
|
|
1612
2097
|
{
|
|
1613
2098
|
id: hintId,
|
|
@@ -1623,11 +2108,11 @@ var RadioGroup = ({
|
|
|
1623
2108
|
};
|
|
1624
2109
|
|
|
1625
2110
|
// src/components/Inputs/SearchInput.tsx
|
|
1626
|
-
var
|
|
1627
|
-
var
|
|
1628
|
-
var
|
|
1629
|
-
var
|
|
1630
|
-
var searchTextVariants = (0,
|
|
2111
|
+
var React28 = __toESM(require("react"), 1);
|
|
2112
|
+
var import_class_variance_authority17 = require("class-variance-authority");
|
|
2113
|
+
var import_icons9 = require("@bubo-squared/icons");
|
|
2114
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
2115
|
+
var searchTextVariants = (0, import_class_variance_authority17.cva)("truncate", {
|
|
1631
2116
|
variants: {
|
|
1632
2117
|
size: {
|
|
1633
2118
|
large: "subtitle",
|
|
@@ -1638,7 +2123,7 @@ var searchTextVariants = (0, import_class_variance_authority15.cva)("truncate",
|
|
|
1638
2123
|
size: "large"
|
|
1639
2124
|
}
|
|
1640
2125
|
});
|
|
1641
|
-
var iconWrapperVariants2 = (0,
|
|
2126
|
+
var iconWrapperVariants2 = (0, import_class_variance_authority17.cva)("flex items-center justify-center shrink-0 text-(--icon-primary)", {
|
|
1642
2127
|
variants: {
|
|
1643
2128
|
size: {
|
|
1644
2129
|
large: "size-5 [&>svg]:size-5",
|
|
@@ -1662,12 +2147,12 @@ var SearchInput = (props) => {
|
|
|
1662
2147
|
showLeadingIcon = true,
|
|
1663
2148
|
...inputProps
|
|
1664
2149
|
} = props;
|
|
1665
|
-
const inputRef =
|
|
2150
|
+
const inputRef = React28.useRef(null);
|
|
1666
2151
|
const handleContainerClick = () => {
|
|
1667
2152
|
if (disabled) return;
|
|
1668
2153
|
inputRef.current?.focus();
|
|
1669
2154
|
};
|
|
1670
|
-
return /* @__PURE__ */ (0,
|
|
2155
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "flex flex-col gap-2 items-start min-w-[343px]", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "relative w-full", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
1671
2156
|
InputShell,
|
|
1672
2157
|
{
|
|
1673
2158
|
size,
|
|
@@ -1676,8 +2161,8 @@ var SearchInput = (props) => {
|
|
|
1676
2161
|
className,
|
|
1677
2162
|
onClick: handleContainerClick,
|
|
1678
2163
|
children: [
|
|
1679
|
-
showLeadingIcon && /* @__PURE__ */ (0,
|
|
1680
|
-
/* @__PURE__ */ (0,
|
|
2164
|
+
showLeadingIcon && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: cn(iconWrapperVariants2({ size, disabled: !!disabled })), children: leadingIcon ?? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_icons9.SearchIcon, {}) }),
|
|
2165
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
1681
2166
|
Input,
|
|
1682
2167
|
{
|
|
1683
2168
|
ref: inputRef,
|
|
@@ -1699,8 +2184,8 @@ var SearchInput = (props) => {
|
|
|
1699
2184
|
SearchInput.displayName = "SearchInput";
|
|
1700
2185
|
|
|
1701
2186
|
// src/components/Inputs/Slider.tsx
|
|
1702
|
-
var
|
|
1703
|
-
var
|
|
2187
|
+
var React29 = __toESM(require("react"), 1);
|
|
2188
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1704
2189
|
var wrapperBase2 = "flex flex-col gap-2 items-start min-w-[343px]";
|
|
1705
2190
|
var Slider = (props) => {
|
|
1706
2191
|
const {
|
|
@@ -1720,7 +2205,7 @@ var Slider = (props) => {
|
|
|
1720
2205
|
} = props;
|
|
1721
2206
|
const isControlled = value !== void 0;
|
|
1722
2207
|
const expectedLength = type === "multi" ? 2 : 1;
|
|
1723
|
-
const normalizeArray =
|
|
2208
|
+
const normalizeArray = React29.useCallback(
|
|
1724
2209
|
(arr, fallback) => {
|
|
1725
2210
|
if (!arr || arr.length === 0) return fallback;
|
|
1726
2211
|
if (arr.length === expectedLength) return arr;
|
|
@@ -1732,15 +2217,15 @@ var Slider = (props) => {
|
|
|
1732
2217
|
},
|
|
1733
2218
|
[expectedLength, max]
|
|
1734
2219
|
);
|
|
1735
|
-
const defaultInternal =
|
|
2220
|
+
const defaultInternal = React29.useMemo(() => {
|
|
1736
2221
|
if (defaultValue) return normalizeArray(defaultValue, []);
|
|
1737
2222
|
if (type === "multi") return [min, Math.min(min + (max - min) / 4, max)];
|
|
1738
2223
|
return [min + (max - min) / 3];
|
|
1739
2224
|
}, [defaultValue, min, max, type, normalizeArray]);
|
|
1740
|
-
const [internalValue, setInternalValue] =
|
|
2225
|
+
const [internalValue, setInternalValue] = React29.useState(
|
|
1741
2226
|
() => normalizeArray(isControlled ? value : defaultInternal, defaultInternal)
|
|
1742
2227
|
);
|
|
1743
|
-
|
|
2228
|
+
React29.useEffect(() => {
|
|
1744
2229
|
if (isControlled) {
|
|
1745
2230
|
setInternalValue(
|
|
1746
2231
|
(current2) => normalizeArray(value, current2.length ? current2 : defaultInternal)
|
|
@@ -1748,13 +2233,13 @@ var Slider = (props) => {
|
|
|
1748
2233
|
}
|
|
1749
2234
|
}, [isControlled, value, normalizeArray, defaultInternal]);
|
|
1750
2235
|
const current = internalValue;
|
|
1751
|
-
const trackRef =
|
|
2236
|
+
const trackRef = React29.useRef(null);
|
|
1752
2237
|
const clamp = (val) => {
|
|
1753
2238
|
if (val < min) return min;
|
|
1754
2239
|
if (val > max) return max;
|
|
1755
2240
|
return val;
|
|
1756
2241
|
};
|
|
1757
|
-
|
|
2242
|
+
React29.useEffect(() => {
|
|
1758
2243
|
if (!isControlled) {
|
|
1759
2244
|
setInternalValue((prev) => {
|
|
1760
2245
|
const clamped = prev.map((v) => clamp(v));
|
|
@@ -1939,7 +2424,7 @@ var Slider = (props) => {
|
|
|
1939
2424
|
const trackHeight = 32;
|
|
1940
2425
|
const thumbWidth = 18;
|
|
1941
2426
|
const thumbRadius = thumbWidth / 2;
|
|
1942
|
-
const renderTooltipBubble = (key, percent, labelText) => /* @__PURE__ */ (0,
|
|
2427
|
+
const renderTooltipBubble = (key, percent, labelText) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
1943
2428
|
"div",
|
|
1944
2429
|
{
|
|
1945
2430
|
className: "absolute -translate-x-1/2 flex flex-col items-center",
|
|
@@ -1950,7 +2435,7 @@ var Slider = (props) => {
|
|
|
1950
2435
|
marginBottom: isTooltipAbove ? 8 : void 0,
|
|
1951
2436
|
marginTop: isTooltipAbove ? void 0 : 8
|
|
1952
2437
|
},
|
|
1953
|
-
children: /* @__PURE__ */ (0,
|
|
2438
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
1954
2439
|
"div",
|
|
1955
2440
|
{
|
|
1956
2441
|
className: cn(
|
|
@@ -1959,7 +2444,7 @@ var Slider = (props) => {
|
|
|
1959
2444
|
),
|
|
1960
2445
|
style: { marginBottom: 0 },
|
|
1961
2446
|
children: [
|
|
1962
|
-
/* @__PURE__ */ (0,
|
|
2447
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
1963
2448
|
"p",
|
|
1964
2449
|
{
|
|
1965
2450
|
className: cn(
|
|
@@ -1970,7 +2455,7 @@ var Slider = (props) => {
|
|
|
1970
2455
|
children: labelText
|
|
1971
2456
|
}
|
|
1972
2457
|
),
|
|
1973
|
-
/* @__PURE__ */ (0,
|
|
2458
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
1974
2459
|
"div",
|
|
1975
2460
|
{
|
|
1976
2461
|
className: cn(
|
|
@@ -1988,7 +2473,7 @@ var Slider = (props) => {
|
|
|
1988
2473
|
);
|
|
1989
2474
|
const renderHandle = (index, percent, ariaValueText) => {
|
|
1990
2475
|
const val = index === 0 ? primary : secondary;
|
|
1991
|
-
return /* @__PURE__ */ (0,
|
|
2476
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
1992
2477
|
"button",
|
|
1993
2478
|
{
|
|
1994
2479
|
type: "button",
|
|
@@ -2019,11 +2504,11 @@ var Slider = (props) => {
|
|
|
2019
2504
|
index
|
|
2020
2505
|
);
|
|
2021
2506
|
};
|
|
2022
|
-
return /* @__PURE__ */ (0,
|
|
2023
|
-
/* @__PURE__ */ (0,
|
|
2507
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: wrapperBase2, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: cn("w-[354px] flex flex-col gap-1", className), children: [
|
|
2508
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "relative w-full", children: [
|
|
2024
2509
|
showTooltip && primary !== void 0 && renderTooltipBubble("primary", primaryPercent, formatDisplayValue(primary)),
|
|
2025
2510
|
showTooltip && type === "multi" && secondary !== void 0 && renderTooltipBubble("secondary", secondaryPercent, formatDisplayValue(secondary)),
|
|
2026
|
-
/* @__PURE__ */ (0,
|
|
2511
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
2027
2512
|
"div",
|
|
2028
2513
|
{
|
|
2029
2514
|
className: cn(
|
|
@@ -2034,7 +2519,7 @@ var Slider = (props) => {
|
|
|
2034
2519
|
ref: trackRef,
|
|
2035
2520
|
onPointerDown: handleTrackPointerDown,
|
|
2036
2521
|
children: [
|
|
2037
|
-
/* @__PURE__ */ (0,
|
|
2522
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2038
2523
|
"div",
|
|
2039
2524
|
{
|
|
2040
2525
|
className: cn(
|
|
@@ -2053,7 +2538,7 @@ var Slider = (props) => {
|
|
|
2053
2538
|
}
|
|
2054
2539
|
)
|
|
2055
2540
|
] }),
|
|
2056
|
-
showNumeric && /* @__PURE__ */ (0,
|
|
2541
|
+
showNumeric && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2057
2542
|
"p",
|
|
2058
2543
|
{
|
|
2059
2544
|
className: cn(
|
|
@@ -2069,9 +2554,9 @@ var Slider = (props) => {
|
|
|
2069
2554
|
Slider.displayName = "Slider";
|
|
2070
2555
|
|
|
2071
2556
|
// src/components/Inputs/TextArea.tsx
|
|
2072
|
-
var
|
|
2073
|
-
var
|
|
2074
|
-
var
|
|
2557
|
+
var React30 = __toESM(require("react"), 1);
|
|
2558
|
+
var import_icons10 = require("@bubo-squared/icons");
|
|
2559
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
2075
2560
|
var wrapperBase3 = "flex flex-col gap-2 items-start min-w-[343px]";
|
|
2076
2561
|
var TextArea = (props) => {
|
|
2077
2562
|
const {
|
|
@@ -2089,7 +2574,7 @@ var TextArea = (props) => {
|
|
|
2089
2574
|
...textareaProps
|
|
2090
2575
|
} = props;
|
|
2091
2576
|
const isControlled = value !== void 0;
|
|
2092
|
-
const [internalValue, setInternalValue] =
|
|
2577
|
+
const [internalValue, setInternalValue] = React30.useState(
|
|
2093
2578
|
defaultValue ?? ""
|
|
2094
2579
|
);
|
|
2095
2580
|
const currentValue = (isControlled ? value : internalValue) ?? "";
|
|
@@ -2097,10 +2582,10 @@ var TextArea = (props) => {
|
|
|
2097
2582
|
const currentLength = currentValue.length;
|
|
2098
2583
|
const effectiveMaxLength = type === "character-limit" ? maxLength ?? 144 : void 0;
|
|
2099
2584
|
const showCharacterLimit = type === "character-limit" && typeof effectiveMaxLength === "number";
|
|
2100
|
-
const textareaRef =
|
|
2101
|
-
const containerRef =
|
|
2102
|
-
const [height, setHeight] =
|
|
2103
|
-
const [width, setWidth] =
|
|
2585
|
+
const textareaRef = React30.useRef(null);
|
|
2586
|
+
const containerRef = React30.useRef(null);
|
|
2587
|
+
const [height, setHeight] = React30.useState(void 0);
|
|
2588
|
+
const [width, setWidth] = React30.useState(void 0);
|
|
2104
2589
|
const minHeight = 80;
|
|
2105
2590
|
const minWidth = 240;
|
|
2106
2591
|
const handleContainerClick = () => {
|
|
@@ -2113,7 +2598,7 @@ var TextArea = (props) => {
|
|
|
2113
2598
|
}
|
|
2114
2599
|
onChange?.(event);
|
|
2115
2600
|
};
|
|
2116
|
-
const inputId =
|
|
2601
|
+
const inputId = React30.useId();
|
|
2117
2602
|
const labelId = `${inputId}-label`;
|
|
2118
2603
|
const hintId = `${inputId}-hint`;
|
|
2119
2604
|
const statusBorderClass = {
|
|
@@ -2152,8 +2637,8 @@ var TextArea = (props) => {
|
|
|
2152
2637
|
window.addEventListener("pointermove", handlePointerMove);
|
|
2153
2638
|
window.addEventListener("pointerup", handlePointerUp);
|
|
2154
2639
|
};
|
|
2155
|
-
return /* @__PURE__ */ (0,
|
|
2156
|
-
label && /* @__PURE__ */ (0,
|
|
2640
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: wrapperBase3, children: [
|
|
2641
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2157
2642
|
"label",
|
|
2158
2643
|
{
|
|
2159
2644
|
htmlFor: inputId,
|
|
@@ -2166,7 +2651,7 @@ var TextArea = (props) => {
|
|
|
2166
2651
|
children: label
|
|
2167
2652
|
}
|
|
2168
2653
|
),
|
|
2169
|
-
/* @__PURE__ */ (0,
|
|
2654
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "relative w-full", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
2170
2655
|
"div",
|
|
2171
2656
|
{
|
|
2172
2657
|
className: cn(
|
|
@@ -2185,7 +2670,7 @@ var TextArea = (props) => {
|
|
|
2185
2670
|
onClick: handleContainerClick,
|
|
2186
2671
|
"aria-disabled": disabled || void 0,
|
|
2187
2672
|
children: [
|
|
2188
|
-
/* @__PURE__ */ (0,
|
|
2673
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2189
2674
|
"textarea",
|
|
2190
2675
|
{
|
|
2191
2676
|
id: inputId,
|
|
@@ -2207,7 +2692,7 @@ var TextArea = (props) => {
|
|
|
2207
2692
|
...textareaProps
|
|
2208
2693
|
}
|
|
2209
2694
|
),
|
|
2210
|
-
showCharacterLimit && /* @__PURE__ */ (0,
|
|
2695
|
+
showCharacterLimit && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
2211
2696
|
"span",
|
|
2212
2697
|
{
|
|
2213
2698
|
className: cn(
|
|
@@ -2221,19 +2706,19 @@ var TextArea = (props) => {
|
|
|
2221
2706
|
]
|
|
2222
2707
|
}
|
|
2223
2708
|
),
|
|
2224
|
-
type === "responsive" && /* @__PURE__ */ (0,
|
|
2709
|
+
type === "responsive" && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2225
2710
|
"div",
|
|
2226
2711
|
{
|
|
2227
2712
|
className: "absolute bottom-1 right-1 h-3 w-3 " + (disabled ? "cursor-auto" : "cursor-nwse-resize"),
|
|
2228
2713
|
onPointerDown: disabled ? void 0 : handleResizePointerDown,
|
|
2229
|
-
children: /* @__PURE__ */ (0,
|
|
2714
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2230
2715
|
"span",
|
|
2231
2716
|
{
|
|
2232
2717
|
className: cn(
|
|
2233
2718
|
"absolute bottom-0 right-0 flex h-4 w-4 items-center justify-center text-(--icon-primary)",
|
|
2234
2719
|
disabled && "text-(--icon-primary-disabled)"
|
|
2235
2720
|
),
|
|
2236
|
-
children: /* @__PURE__ */ (0,
|
|
2721
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_icons10.MaximizeIcon, {})
|
|
2237
2722
|
}
|
|
2238
2723
|
)
|
|
2239
2724
|
}
|
|
@@ -2241,7 +2726,7 @@ var TextArea = (props) => {
|
|
|
2241
2726
|
]
|
|
2242
2727
|
}
|
|
2243
2728
|
) }),
|
|
2244
|
-
/* @__PURE__ */ (0,
|
|
2729
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2245
2730
|
"p",
|
|
2246
2731
|
{
|
|
2247
2732
|
id: hint ? hintId : void 0,
|
|
@@ -2255,10 +2740,10 @@ var TextArea = (props) => {
|
|
|
2255
2740
|
TextArea.displayName = "TextArea";
|
|
2256
2741
|
|
|
2257
2742
|
// src/components/Inputs/TextInput.tsx
|
|
2258
|
-
var
|
|
2259
|
-
var
|
|
2260
|
-
var
|
|
2261
|
-
var
|
|
2743
|
+
var React31 = __toESM(require("react"), 1);
|
|
2744
|
+
var import_class_variance_authority18 = require("class-variance-authority");
|
|
2745
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2746
|
+
var inputTextVariants2 = (0, import_class_variance_authority18.cva)("truncate", {
|
|
2262
2747
|
variants: {
|
|
2263
2748
|
size: {
|
|
2264
2749
|
large: "subtitle",
|
|
@@ -2269,7 +2754,7 @@ var inputTextVariants = (0, import_class_variance_authority16.cva)("truncate", {
|
|
|
2269
2754
|
size: "large"
|
|
2270
2755
|
}
|
|
2271
2756
|
});
|
|
2272
|
-
var iconWrapperVariants3 = (0,
|
|
2757
|
+
var iconWrapperVariants3 = (0, import_class_variance_authority18.cva)(
|
|
2273
2758
|
"flex items-center justify-center shrink-0 text-(--icon-primary)",
|
|
2274
2759
|
{
|
|
2275
2760
|
variants: {
|
|
@@ -2303,11 +2788,11 @@ var TextInput = (props) => {
|
|
|
2303
2788
|
...inputProps
|
|
2304
2789
|
} = props;
|
|
2305
2790
|
const isControlled = value !== void 0;
|
|
2306
|
-
const [internalValue, setInternalValue] =
|
|
2791
|
+
const [internalValue, setInternalValue] = React31.useState(
|
|
2307
2792
|
defaultValue ?? ""
|
|
2308
2793
|
);
|
|
2309
2794
|
const currentValue = (isControlled ? value : internalValue) ?? "";
|
|
2310
|
-
const inputRef =
|
|
2795
|
+
const inputRef = React31.useRef(null);
|
|
2311
2796
|
const handleContainerClick = () => {
|
|
2312
2797
|
if (disabled) return;
|
|
2313
2798
|
inputRef.current?.focus();
|
|
@@ -2320,14 +2805,14 @@ var TextInput = (props) => {
|
|
|
2320
2805
|
};
|
|
2321
2806
|
const showLeadingIcon = !!leadingIcon;
|
|
2322
2807
|
const showTrailingIcon = !!trailingIcon;
|
|
2323
|
-
return /* @__PURE__ */ (0,
|
|
2808
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2324
2809
|
Field,
|
|
2325
2810
|
{
|
|
2326
2811
|
label,
|
|
2327
2812
|
hint,
|
|
2328
2813
|
status,
|
|
2329
2814
|
disabled,
|
|
2330
|
-
children: /* @__PURE__ */ (0,
|
|
2815
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
2331
2816
|
InputShell,
|
|
2332
2817
|
{
|
|
2333
2818
|
size,
|
|
@@ -2336,7 +2821,7 @@ var TextInput = (props) => {
|
|
|
2336
2821
|
className,
|
|
2337
2822
|
onClick: handleContainerClick,
|
|
2338
2823
|
children: [
|
|
2339
|
-
showLeadingIcon && /* @__PURE__ */ (0,
|
|
2824
|
+
showLeadingIcon && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2340
2825
|
"span",
|
|
2341
2826
|
{
|
|
2342
2827
|
className: cn(
|
|
@@ -2345,7 +2830,7 @@ var TextInput = (props) => {
|
|
|
2345
2830
|
children: leadingIcon
|
|
2346
2831
|
}
|
|
2347
2832
|
),
|
|
2348
|
-
/* @__PURE__ */ (0,
|
|
2833
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2349
2834
|
Input,
|
|
2350
2835
|
{
|
|
2351
2836
|
ref: inputRef,
|
|
@@ -2357,14 +2842,14 @@ var TextInput = (props) => {
|
|
|
2357
2842
|
onChange: handleChange,
|
|
2358
2843
|
variant: "bare",
|
|
2359
2844
|
className: cn(
|
|
2360
|
-
|
|
2845
|
+
inputTextVariants2({ size }),
|
|
2361
2846
|
"bg-transparent outline-none w-full"
|
|
2362
2847
|
),
|
|
2363
2848
|
style: { marginBottom: 0 },
|
|
2364
2849
|
...inputProps
|
|
2365
2850
|
}
|
|
2366
2851
|
),
|
|
2367
|
-
showTrailingIcon && /* @__PURE__ */ (0,
|
|
2852
|
+
showTrailingIcon && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2368
2853
|
"span",
|
|
2369
2854
|
{
|
|
2370
2855
|
className: cn(
|
|
@@ -2382,11 +2867,11 @@ var TextInput = (props) => {
|
|
|
2382
2867
|
TextInput.displayName = "TextInput";
|
|
2383
2868
|
|
|
2384
2869
|
// src/components/Inputs/Toggle.tsx
|
|
2385
|
-
var
|
|
2386
|
-
var
|
|
2870
|
+
var React32 = require("react");
|
|
2871
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2387
2872
|
var Toggle = (props) => {
|
|
2388
2873
|
const { label, className, disabled, ...inputProps } = props;
|
|
2389
|
-
return /* @__PURE__ */ (0,
|
|
2874
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
2390
2875
|
"label",
|
|
2391
2876
|
{
|
|
2392
2877
|
className: cn(
|
|
@@ -2394,8 +2879,8 @@ var Toggle = (props) => {
|
|
|
2394
2879
|
disabled ? "cursor-default" : "cursor-pointer"
|
|
2395
2880
|
),
|
|
2396
2881
|
children: [
|
|
2397
|
-
/* @__PURE__ */ (0,
|
|
2398
|
-
/* @__PURE__ */ (0,
|
|
2882
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("span", { className: "relative inline-flex items-center", children: [
|
|
2883
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2399
2884
|
"input",
|
|
2400
2885
|
{
|
|
2401
2886
|
type: "checkbox",
|
|
@@ -2404,7 +2889,7 @@ var Toggle = (props) => {
|
|
|
2404
2889
|
...inputProps
|
|
2405
2890
|
}
|
|
2406
2891
|
),
|
|
2407
|
-
/* @__PURE__ */ (0,
|
|
2892
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2408
2893
|
"span",
|
|
2409
2894
|
{
|
|
2410
2895
|
className: cn(
|
|
@@ -2444,7 +2929,7 @@ var Toggle = (props) => {
|
|
|
2444
2929
|
"peer-disabled:[&>.knob]:peer-checked:bg-(--background-primary-hover)",
|
|
2445
2930
|
className
|
|
2446
2931
|
),
|
|
2447
|
-
children: /* @__PURE__ */ (0,
|
|
2932
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2448
2933
|
"span",
|
|
2449
2934
|
{
|
|
2450
2935
|
className: cn(
|
|
@@ -2456,7 +2941,7 @@ var Toggle = (props) => {
|
|
|
2456
2941
|
}
|
|
2457
2942
|
)
|
|
2458
2943
|
] }),
|
|
2459
|
-
label && /* @__PURE__ */ (0,
|
|
2944
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2460
2945
|
"span",
|
|
2461
2946
|
{
|
|
2462
2947
|
className: cn(
|
|
@@ -2474,8 +2959,8 @@ var Toggle = (props) => {
|
|
|
2474
2959
|
Toggle.displayName = "Toggle";
|
|
2475
2960
|
|
|
2476
2961
|
// src/components/Inputs/WebsiteInput.tsx
|
|
2477
|
-
var
|
|
2478
|
-
var
|
|
2962
|
+
var React33 = require("react");
|
|
2963
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
2479
2964
|
var WebsiteInput = (props) => {
|
|
2480
2965
|
const {
|
|
2481
2966
|
hierarchy = "prefix",
|
|
@@ -2511,15 +2996,15 @@ var WebsiteInput = (props) => {
|
|
|
2511
2996
|
size === "extra-large" ? "[&>svg]:w-6 [&>svg]:h-6" : "[&>svg]:w-5 [&>svg]:h-5",
|
|
2512
2997
|
disabled ? "text-(--icon-primary-disabled)" : "text-(--icon-primary) group-hover:text-(--icon-primary-hover) group-focus-within:text-(--icon-primary-focus)"
|
|
2513
2998
|
);
|
|
2514
|
-
const prefixAddon = /* @__PURE__ */ (0,
|
|
2515
|
-
/* @__PURE__ */ (0,
|
|
2516
|
-
icon != null && /* @__PURE__ */ (0,
|
|
2999
|
+
const prefixAddon = /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: baseAddonClass, children: [
|
|
3000
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: addonTextClass, children: protocolLabel }),
|
|
3001
|
+
icon != null && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: iconWrapperClass, children: icon })
|
|
2517
3002
|
] });
|
|
2518
|
-
const suffixAddon = /* @__PURE__ */ (0,
|
|
2519
|
-
icon != null && /* @__PURE__ */ (0,
|
|
2520
|
-
/* @__PURE__ */ (0,
|
|
3003
|
+
const suffixAddon = /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: baseAddonClass, children: [
|
|
3004
|
+
icon != null && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: iconWrapperClass, children: icon }),
|
|
3005
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: addonTextClass, children: protocolLabel })
|
|
2521
3006
|
] });
|
|
2522
|
-
return /* @__PURE__ */ (0,
|
|
3007
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2523
3008
|
TextInput,
|
|
2524
3009
|
{
|
|
2525
3010
|
...rest,
|
|
@@ -2533,78 +3018,266 @@ var WebsiteInput = (props) => {
|
|
|
2533
3018
|
};
|
|
2534
3019
|
WebsiteInput.displayName = "WebsiteInput";
|
|
2535
3020
|
|
|
2536
|
-
// src/components/
|
|
2537
|
-
var
|
|
2538
|
-
var
|
|
2539
|
-
var
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
3021
|
+
// src/components/Feedback/Popover.tsx
|
|
3022
|
+
var React34 = __toESM(require("react"), 1);
|
|
3023
|
+
var PopoverPrimitive2 = __toESM(require("@radix-ui/react-popover"), 1);
|
|
3024
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
3025
|
+
var PopoverArrow = PopoverPrimitive2.Arrow;
|
|
3026
|
+
var Popover2 = (props) => {
|
|
3027
|
+
const {
|
|
3028
|
+
strapline,
|
|
3029
|
+
title,
|
|
3030
|
+
description,
|
|
3031
|
+
onOk,
|
|
3032
|
+
okText,
|
|
3033
|
+
onCancel,
|
|
3034
|
+
cancelText,
|
|
3035
|
+
showArrow = true,
|
|
3036
|
+
className,
|
|
3037
|
+
placement = "bottom",
|
|
3038
|
+
offset = 10,
|
|
3039
|
+
children
|
|
3040
|
+
} = props;
|
|
3041
|
+
const [open, setOpen] = React34.useState(false);
|
|
3042
|
+
const handleCancel = () => {
|
|
3043
|
+
onCancel?.();
|
|
3044
|
+
setOpen(false);
|
|
3045
|
+
};
|
|
3046
|
+
const handleOk = () => {
|
|
3047
|
+
onOk?.();
|
|
3048
|
+
setOpen(false);
|
|
3049
|
+
};
|
|
3050
|
+
const popoverClasses = "bg-(--background-popover) fill-(--background-popover) popover w-80 shadow-card-md border-none [&_span]:scale-240 rounded-4";
|
|
3051
|
+
const mapPlacementToSideAndAlign = (placement2) => {
|
|
3052
|
+
switch (placement2) {
|
|
3053
|
+
case "top":
|
|
3054
|
+
return { side: "top", align: "center" };
|
|
3055
|
+
case "topLeft":
|
|
3056
|
+
return { side: "top", align: "start" };
|
|
3057
|
+
case "topRight":
|
|
3058
|
+
return { side: "top", align: "end" };
|
|
3059
|
+
case "bottom":
|
|
3060
|
+
return { side: "bottom", align: "center" };
|
|
3061
|
+
case "bottomLeft":
|
|
3062
|
+
return { side: "bottom", align: "start" };
|
|
3063
|
+
case "bottomRight":
|
|
3064
|
+
return { side: "bottom", align: "end" };
|
|
3065
|
+
case "left":
|
|
3066
|
+
return { side: "left", align: "center" };
|
|
3067
|
+
case "leftTop":
|
|
3068
|
+
return { side: "left", align: "start" };
|
|
3069
|
+
case "leftBottom":
|
|
3070
|
+
return { side: "left", align: "end" };
|
|
3071
|
+
case "right":
|
|
3072
|
+
return { side: "right", align: "center" };
|
|
3073
|
+
case "rightTop":
|
|
3074
|
+
return { side: "right", align: "start" };
|
|
3075
|
+
case "rightBottom":
|
|
3076
|
+
return { side: "right", align: "end" };
|
|
3077
|
+
default:
|
|
3078
|
+
return { side: "bottom", align: "center" };
|
|
3079
|
+
}
|
|
3080
|
+
};
|
|
3081
|
+
const arrowShadowClass = (side2) => {
|
|
3082
|
+
switch (side2) {
|
|
3083
|
+
case "top":
|
|
3084
|
+
return "drop-shadow(0px 2px 1px var(--color-b-black-12))";
|
|
3085
|
+
case "bottom":
|
|
3086
|
+
return "drop-shadow(0px -1px 1px color-mix(in srgb, var(--color-b-black-10) 66%, transparent))";
|
|
3087
|
+
case "left":
|
|
3088
|
+
case "right":
|
|
3089
|
+
return "drop-shadow(0px 2px 1px var(--color-b-black-12))";
|
|
3090
|
+
default:
|
|
3091
|
+
return "";
|
|
3092
|
+
}
|
|
3093
|
+
};
|
|
3094
|
+
const { side, align } = mapPlacementToSideAndAlign(placement);
|
|
3095
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Popover, { open, onOpenChange: setOpen, children: [
|
|
3096
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(PopoverTrigger, { asChild: true, children }),
|
|
3097
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
3098
|
+
PopoverContent,
|
|
3099
|
+
{
|
|
3100
|
+
side,
|
|
3101
|
+
align,
|
|
3102
|
+
sideOffset: offset,
|
|
3103
|
+
className: cn(popoverClasses, side === "top" ? "[&_span]:bottom-1! " : "", className),
|
|
3104
|
+
children: [
|
|
3105
|
+
showArrow && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
3106
|
+
PopoverArrow,
|
|
3107
|
+
{
|
|
3108
|
+
style: { filter: arrowShadowClass(side) }
|
|
3109
|
+
}
|
|
3110
|
+
),
|
|
3111
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "grid gap-4", children: [
|
|
3112
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "space-y-2", children: [
|
|
3113
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "caption text-secondary", style: { marginBottom: 0 }, children: strapline }),
|
|
3114
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("h4", { className: "subtitle-medium text-primary", style: { marginBottom: 0 }, children: title }),
|
|
3115
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "paragraph-s text-primary", style: { marginBottom: 0 }, children: description })
|
|
3116
|
+
] }),
|
|
3117
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex justify-start items-center gap-4", children: [
|
|
3118
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Button, { size: "sm", variant: "secondary", onClick: handleCancel, children: cancelText || "Cancel" }),
|
|
3119
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Button, { size: "sm", variant: "primary", onClick: handleOk, children: okText || "Ok" })
|
|
3120
|
+
] })
|
|
3121
|
+
] })
|
|
3122
|
+
]
|
|
3123
|
+
}
|
|
3124
|
+
)
|
|
3125
|
+
] });
|
|
2549
3126
|
};
|
|
2550
|
-
|
|
3127
|
+
Popover2.displayName = "Popover";
|
|
2551
3128
|
|
|
2552
|
-
// src/components/
|
|
3129
|
+
// src/components/Navigation/Breadcrumb.tsx
|
|
3130
|
+
var React35 = __toESM(require("react"), 1);
|
|
3131
|
+
var import_react_slot8 = require("@radix-ui/react-slot");
|
|
3132
|
+
var import_class_variance_authority19 = require("class-variance-authority");
|
|
2553
3133
|
var import_icons11 = require("@bubo-squared/icons");
|
|
2554
|
-
var
|
|
2555
|
-
var
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
3134
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
3135
|
+
var breadcrumbBase = "group inline-flex items-center gap-[var(--space-8)] pl-0 pr-[var(--space-8)] py-[6px] rounded-full transition-colors select-none disabled:cursor-default disabled:pointer-events-none";
|
|
3136
|
+
var breadcrumbIconVariants = (0, import_class_variance_authority19.cva)(
|
|
3137
|
+
"flex shrink-0 items-center justify-center w-5 h-5 *:w-5 *:h-5",
|
|
3138
|
+
{
|
|
3139
|
+
variants: {
|
|
3140
|
+
variant: {
|
|
3141
|
+
colored: "text-(--icon-brand) group-hover:text-(--icon-brand-hover) group-focus-visible:text-(--icon-brand-focus) group-disabled:text-(--icon-brand-disabled)",
|
|
3142
|
+
flat: "text-(--icon-primary) group-hover:text-(--icon-primary-hover) group-focus-visible:text-(--icon-primary-focus) group-disabled:text-(--icon-primary-disabled)"
|
|
3143
|
+
}
|
|
3144
|
+
},
|
|
3145
|
+
defaultVariants: {
|
|
3146
|
+
variant: "flat"
|
|
3147
|
+
}
|
|
3148
|
+
}
|
|
3149
|
+
);
|
|
3150
|
+
var breadcrumbTextVariants = (0, import_class_variance_authority19.cva)(
|
|
3151
|
+
"font-normal text-[length:var(--font-size-paragraph-l-18)] leading-[var(--font-line-height-28)] tracking-[var(--font-letter-spacing-02)] whitespace-nowrap",
|
|
3152
|
+
{
|
|
3153
|
+
variants: {
|
|
3154
|
+
variant: {
|
|
3155
|
+
colored: "text-(--text-brand) group-hover:text-(--text-brand-hover) group-focus-visible:text-(--text-brand-focus) group-disabled:text-(--text-brand-disabled)",
|
|
3156
|
+
flat: "text-(--text-primary) group-hover:text-(--text-primary-hover) group-focus-visible:text-(--text-primary-focus) group-disabled:text-(--text-primary-disabled)"
|
|
3157
|
+
}
|
|
3158
|
+
},
|
|
3159
|
+
defaultVariants: {
|
|
3160
|
+
variant: "flat"
|
|
3161
|
+
}
|
|
3162
|
+
}
|
|
3163
|
+
);
|
|
3164
|
+
var Breadcrumb = React35.forwardRef((props, ref) => {
|
|
3165
|
+
const {
|
|
3166
|
+
asChild = false,
|
|
3167
|
+
variant = "flat",
|
|
3168
|
+
label = "Header",
|
|
3169
|
+
showIcon = true,
|
|
3170
|
+
showText = true,
|
|
3171
|
+
icon,
|
|
3172
|
+
className,
|
|
3173
|
+
children,
|
|
3174
|
+
...rest
|
|
3175
|
+
} = props;
|
|
3176
|
+
const Comp = asChild ? import_react_slot8.Slot : "button";
|
|
3177
|
+
const content = showText ? children ?? label : null;
|
|
3178
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
3179
|
+
Comp,
|
|
3180
|
+
{
|
|
3181
|
+
type: asChild ? void 0 : "button",
|
|
3182
|
+
className: cn(breadcrumbBase, className),
|
|
3183
|
+
ref,
|
|
3184
|
+
...rest,
|
|
3185
|
+
children: [
|
|
3186
|
+
showIcon && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: cn(breadcrumbIconVariants({ variant })), children: icon ?? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_icons11.ChevronRightIcon, {}) }),
|
|
3187
|
+
content && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: cn(breadcrumbTextVariants({ variant })), children: content })
|
|
3188
|
+
]
|
|
3189
|
+
}
|
|
3190
|
+
);
|
|
3191
|
+
});
|
|
3192
|
+
Breadcrumb.displayName = "Breadcrumb";
|
|
2559
3193
|
|
|
2560
|
-
// src/components/Logo/
|
|
2561
|
-
var
|
|
2562
|
-
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2563
|
-
var LogoIconMedium = () => {
|
|
2564
|
-
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "size-32 relative bg-linear-to-t from-gray-800 to-gray-950 rounded-20 overflow-hidden flex justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_icons12.LogoIconMIcon, { className: "size-24" }) });
|
|
2565
|
-
};
|
|
2566
|
-
var LogoIconMedium_default = LogoIconMedium;
|
|
3194
|
+
// src/components/Logo/LogoIcon.tsx
|
|
3195
|
+
var import_class_variance_authority20 = require("class-variance-authority");
|
|
2567
3196
|
|
|
2568
|
-
// src/components/Logo/
|
|
2569
|
-
var
|
|
2570
|
-
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2571
|
-
var LogoIconSmall = () => {
|
|
2572
|
-
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "size-14 relative bg-linear-to-t from-gray-800 to-gray-950 rounded-8 overflow-hidden flex justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_icons13.LogoIconMIcon, { className: "size-10" }) });
|
|
2573
|
-
};
|
|
2574
|
-
var LogoIconSmall_default = LogoIconSmall;
|
|
3197
|
+
// src/components/Logo/assets/logo-icon.svg?react
|
|
3198
|
+
var logo_icon_default = "./logo-icon-575VOQEY.svg?react";
|
|
2575
3199
|
|
|
2576
|
-
// src/components/Logo/
|
|
2577
|
-
var
|
|
2578
|
-
var
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
3200
|
+
// src/components/Logo/LogoIcon.tsx
|
|
3201
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
3202
|
+
var logoIconVariants = (0, import_class_variance_authority20.cva)(
|
|
3203
|
+
"relative bg-linear-to-t from-gray-800 to-gray-950 overflow-hidden flex justify-center items-center",
|
|
3204
|
+
{
|
|
3205
|
+
variants: {
|
|
3206
|
+
size: {
|
|
3207
|
+
xs: ["size-8", "rounded-[5px]"],
|
|
3208
|
+
sm: ["size-14", "rounded-8"],
|
|
3209
|
+
md: ["size-32", "rounded-20"],
|
|
3210
|
+
lg: ["size-64", "rounded-40"],
|
|
3211
|
+
xl: ["size-128", "rounded-80"]
|
|
3212
|
+
}
|
|
3213
|
+
},
|
|
3214
|
+
defaultVariants: {
|
|
3215
|
+
size: "md"
|
|
3216
|
+
}
|
|
3217
|
+
}
|
|
3218
|
+
);
|
|
3219
|
+
var logoIconSizeClass = {
|
|
3220
|
+
xs: "size-6",
|
|
3221
|
+
sm: "size-10",
|
|
3222
|
+
md: "size-24",
|
|
3223
|
+
lg: "size-44",
|
|
3224
|
+
xl: "size-96"
|
|
2584
3225
|
};
|
|
2585
|
-
var
|
|
2586
|
-
|
|
2587
|
-
// src/components/Logo/LogoInlineSmall.tsx
|
|
2588
|
-
var import_icons15 = require("@bubo-squared/icons");
|
|
2589
|
-
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2590
|
-
var LogoInline2 = () => {
|
|
2591
|
-
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "w-32 h-9 inline-flex justify-start items-center gap-3", children: [
|
|
2592
|
-
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_icons15.LogoIconMIcon, { className: "size-9" }),
|
|
2593
|
-
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_icons15.LogoTextMIcon, { className: "h-6 w-[83px] text-(--text-primary)" })
|
|
2594
|
-
] });
|
|
3226
|
+
var LogoIcon = ({ className, size = "md" }) => {
|
|
3227
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: cn(logoIconVariants({ size }), className), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(logo_icon_default, { className: logoIconSizeClass[size] }) });
|
|
2595
3228
|
};
|
|
2596
|
-
var LogoInlineSmall_default = LogoInline2;
|
|
2597
3229
|
|
|
2598
|
-
// src/components/Logo/
|
|
2599
|
-
var
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
3230
|
+
// src/components/Logo/Logo.tsx
|
|
3231
|
+
var import_class_variance_authority21 = require("class-variance-authority");
|
|
3232
|
+
|
|
3233
|
+
// src/components/Logo/assets/logo-text.svg?react
|
|
3234
|
+
var logo_text_default = "./logo-text-IUSWKNLN.svg?react";
|
|
3235
|
+
|
|
3236
|
+
// src/components/Logo/Logo.tsx
|
|
3237
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
3238
|
+
var logoWrapperVariants = (0, import_class_variance_authority21.cva)("inline-flex", {
|
|
3239
|
+
variants: {
|
|
3240
|
+
variant: {
|
|
3241
|
+
inline: ["w-44", "h-12", "justify-start", "items-center", "gap-4"],
|
|
3242
|
+
inlineSmall: ["w-32", "h-9", "justify-start", "items-center", "gap-3"],
|
|
3243
|
+
multiline: ["w-36", "flex-col", "justify-start", "items-start", "gap-2"]
|
|
3244
|
+
}
|
|
3245
|
+
},
|
|
3246
|
+
defaultVariants: {
|
|
3247
|
+
variant: "inline"
|
|
3248
|
+
}
|
|
3249
|
+
});
|
|
3250
|
+
var logoIconSizeVariants = (0, import_class_variance_authority21.cva)("", {
|
|
3251
|
+
variants: {
|
|
3252
|
+
variant: {
|
|
3253
|
+
inline: "size-12",
|
|
3254
|
+
inlineSmall: "size-9",
|
|
3255
|
+
multiline: "size-12"
|
|
3256
|
+
}
|
|
3257
|
+
},
|
|
3258
|
+
defaultVariants: {
|
|
3259
|
+
variant: "inline"
|
|
3260
|
+
}
|
|
3261
|
+
});
|
|
3262
|
+
var logoTextSizeVariants = (0, import_class_variance_authority21.cva)("", {
|
|
3263
|
+
variants: {
|
|
3264
|
+
variant: {
|
|
3265
|
+
inline: "h-8 w-27.5",
|
|
3266
|
+
inlineSmall: "h-6 w-20.75",
|
|
3267
|
+
multiline: "h-8 w-27.75"
|
|
3268
|
+
}
|
|
3269
|
+
},
|
|
3270
|
+
defaultVariants: {
|
|
3271
|
+
variant: "inline"
|
|
3272
|
+
}
|
|
3273
|
+
});
|
|
3274
|
+
var Logo = ({ className, textColor, variant = "inline" }) => {
|
|
3275
|
+
const textColorClass = textColor === "light" ? "text-(--color-b-white)" : textColor === "dark" ? "text-(--color-b-black)" : "text-(--text-primary)";
|
|
3276
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: cn(logoWrapperVariants({ variant }), className), children: [
|
|
3277
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(logo_icon_default, { className: logoIconSizeVariants({ variant }) }),
|
|
3278
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(logo_text_default, { className: cn(logoTextSizeVariants({ variant }), textColorClass) })
|
|
2605
3279
|
] });
|
|
2606
3280
|
};
|
|
2607
|
-
var LogoMultiline_default = LogoMultiline;
|
|
2608
3281
|
// Annotate the CommonJS export names for ESM import in node:
|
|
2609
3282
|
0 && (module.exports = {
|
|
2610
3283
|
Avatar,
|
|
@@ -2612,24 +3285,22 @@ var LogoMultiline_default = LogoMultiline;
|
|
|
2612
3285
|
BadgeDigit,
|
|
2613
3286
|
BadgeDot,
|
|
2614
3287
|
BadgeStatus,
|
|
3288
|
+
Breadcrumb,
|
|
2615
3289
|
Button,
|
|
2616
3290
|
ButtonGroup,
|
|
2617
3291
|
Checkbox,
|
|
2618
3292
|
Divider,
|
|
2619
3293
|
Dropdown,
|
|
3294
|
+
Field,
|
|
2620
3295
|
IconButton,
|
|
2621
3296
|
IconButtonGroup,
|
|
2622
3297
|
LinkButton,
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
LogoIconLarge,
|
|
2626
|
-
LogoIconMedium,
|
|
2627
|
-
LogoIconSmall,
|
|
2628
|
-
LogoInline,
|
|
2629
|
-
LogoInlineSmall,
|
|
2630
|
-
LogoMultiline,
|
|
3298
|
+
Logo,
|
|
3299
|
+
LogoIcon,
|
|
2631
3300
|
MessageButton,
|
|
2632
3301
|
PasswordInput,
|
|
3302
|
+
PhoneInput,
|
|
3303
|
+
Popover,
|
|
2633
3304
|
Progress,
|
|
2634
3305
|
RadioGroup,
|
|
2635
3306
|
SearchInput,
|