@bubo-squared/ui-framework 0.2.13 → 0.2.14
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 +883 -509
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +97 -21
- package/dist/index.d.ts +97 -21
- package/dist/index.js +880 -508
- package/dist/index.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +4 -1
package/dist/index.cjs
CHANGED
|
@@ -35,12 +35,11 @@ __export(index_exports, {
|
|
|
35
35
|
BadgeDigit: () => BadgeDigit,
|
|
36
36
|
BadgeDot: () => BadgeDot,
|
|
37
37
|
BadgeStatus: () => BadgeStatus,
|
|
38
|
-
|
|
38
|
+
Breadcrumbs: () => Breadcrumbs,
|
|
39
39
|
Button: () => Button,
|
|
40
40
|
ButtonGroup: () => ButtonGroup,
|
|
41
41
|
Checkbox: () => Checkbox,
|
|
42
42
|
Divider: () => Divider,
|
|
43
|
-
Dropdown: () => Dropdown,
|
|
44
43
|
Field: () => Field,
|
|
45
44
|
IconButton: () => IconButton,
|
|
46
45
|
IconButtonGroup: () => IconButtonGroup,
|
|
@@ -54,12 +53,15 @@ __export(index_exports, {
|
|
|
54
53
|
Progress: () => Progress,
|
|
55
54
|
RadioGroup: () => RadioGroup,
|
|
56
55
|
SearchInput: () => SearchInput,
|
|
56
|
+
Select: () => Select,
|
|
57
57
|
Slider: () => Slider,
|
|
58
58
|
StatusAvatar: () => StatusAvatar,
|
|
59
59
|
Tag: () => Tag,
|
|
60
60
|
TextArea: () => TextArea,
|
|
61
61
|
TextInput: () => TextInput,
|
|
62
62
|
Toggle: () => Toggle,
|
|
63
|
+
Tooltip: () => Tooltip,
|
|
64
|
+
TooltipProvider: () => TooltipProvider,
|
|
63
65
|
Typography: () => Typography,
|
|
64
66
|
WebsiteInput: () => WebsiteInput,
|
|
65
67
|
cn: () => cn
|
|
@@ -586,7 +588,7 @@ var Typography = (props) => {
|
|
|
586
588
|
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
587
589
|
Comp,
|
|
588
590
|
{
|
|
589
|
-
className: cn(variant, weightClassName, mbClassName, className),
|
|
591
|
+
className: cn("text-primary", variant, weightClassName, mbClassName, className),
|
|
590
592
|
...rest,
|
|
591
593
|
children
|
|
592
594
|
}
|
|
@@ -1224,13 +1226,14 @@ function Checkbox({ label, className, ...props }) {
|
|
|
1224
1226
|
] });
|
|
1225
1227
|
}
|
|
1226
1228
|
|
|
1227
|
-
// src/components/Inputs/
|
|
1229
|
+
// src/components/Inputs/Select.tsx
|
|
1228
1230
|
var React18 = __toESM(require("react"), 1);
|
|
1231
|
+
var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
|
|
1229
1232
|
var import_class_variance_authority12 = require("class-variance-authority");
|
|
1230
1233
|
var import_icons6 = require("@bubo-squared/icons");
|
|
1231
1234
|
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1232
|
-
var
|
|
1233
|
-
"group flex w-full items-center justify-between rounded-4 border bg-(--background-primary)
|
|
1235
|
+
var selectTriggerVariants = (0, import_class_variance_authority12.cva)(
|
|
1236
|
+
"group flex w-full items-center justify-between rounded-4 border bg-(--background-primary) p-2 text-left transition-colors cursor-pointer focus-ring-primary focus:border-(--border-brand) hover:bg-(--background-primary-hover) disabled:bg-(--background-primary) disabled:border-(--border-secondary-disabled) disabled:text-primary-disabled disabled:cursor-default",
|
|
1234
1237
|
{
|
|
1235
1238
|
variants: {
|
|
1236
1239
|
size: {
|
|
@@ -1251,7 +1254,7 @@ var dropdownTriggerVariants = (0, import_class_variance_authority12.cva)(
|
|
|
1251
1254
|
}
|
|
1252
1255
|
}
|
|
1253
1256
|
);
|
|
1254
|
-
var
|
|
1257
|
+
var textVariants = (0, import_class_variance_authority12.cva)("truncate", {
|
|
1255
1258
|
variants: {
|
|
1256
1259
|
size: {
|
|
1257
1260
|
sm: "paragraph-md",
|
|
@@ -1260,7 +1263,7 @@ var dropdownTextVariants = (0, import_class_variance_authority12.cva)("truncate"
|
|
|
1260
1263
|
xl: "h6-title"
|
|
1261
1264
|
},
|
|
1262
1265
|
hasValue: {
|
|
1263
|
-
false: "text-
|
|
1266
|
+
false: "text-secondary",
|
|
1264
1267
|
true: "text-primary"
|
|
1265
1268
|
},
|
|
1266
1269
|
disabled: {
|
|
@@ -1272,13 +1275,13 @@ var dropdownTextVariants = (0, import_class_variance_authority12.cva)("truncate"
|
|
|
1272
1275
|
hasValue: false
|
|
1273
1276
|
}
|
|
1274
1277
|
});
|
|
1275
|
-
var
|
|
1278
|
+
var selectIconVariants = (0, import_class_variance_authority12.cva)("flex items-center justify-center shrink-0", {
|
|
1276
1279
|
variants: {
|
|
1277
1280
|
size: {
|
|
1278
|
-
sm: "
|
|
1279
|
-
md: "
|
|
1280
|
-
lg: "
|
|
1281
|
-
xl: "
|
|
1281
|
+
sm: "size-4",
|
|
1282
|
+
md: "size-5",
|
|
1283
|
+
lg: "size-5",
|
|
1284
|
+
xl: "size-6"
|
|
1282
1285
|
},
|
|
1283
1286
|
disabled: {
|
|
1284
1287
|
false: "text-(--icon-primary)",
|
|
@@ -1290,31 +1293,25 @@ var dropdownIconVariants = (0, import_class_variance_authority12.cva)("flex item
|
|
|
1290
1293
|
disabled: false
|
|
1291
1294
|
}
|
|
1292
1295
|
});
|
|
1293
|
-
var
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
}
|
|
1303
|
-
var dropdownButtonVariants = (0, import_class_variance_authority12.cva)("flex w-full items-center gap-2 pl-(--space-8) pr-(--space-16) text-left paragraph-lg text-primary hover:bg-(--background-secondary)", {
|
|
1304
|
-
variants: {
|
|
1305
|
-
size: {
|
|
1306
|
-
sm: "paragraph-sm py-(--space-4) ",
|
|
1307
|
-
md: "paragraph-md py-(--space-6) ",
|
|
1308
|
-
lg: "paragraph-lg py-(--space-8) ",
|
|
1309
|
-
xl: "subtitle py-(--space-10) "
|
|
1296
|
+
var selectButtonVariants = (0, import_class_variance_authority12.cva)(
|
|
1297
|
+
"flex w-full items-center gap-2 pl-(--space-8) pr-(--space-16) text-left paragraph-lg text-primary hover:bg-(--background-secondary)",
|
|
1298
|
+
{
|
|
1299
|
+
variants: {
|
|
1300
|
+
size: {
|
|
1301
|
+
sm: "paragraph-sm py-(--space-4) ",
|
|
1302
|
+
md: "paragraph-md py-(--space-6) ",
|
|
1303
|
+
lg: "paragraph-lg py-(--space-8) ",
|
|
1304
|
+
xl: "subtitle py-(--space-10) "
|
|
1305
|
+
}
|
|
1310
1306
|
}
|
|
1311
1307
|
}
|
|
1312
|
-
|
|
1313
|
-
var
|
|
1308
|
+
);
|
|
1309
|
+
var Select = (props) => {
|
|
1314
1310
|
const {
|
|
1315
1311
|
label = "Field Label",
|
|
1316
1312
|
hint = "This is a hint text to help user.",
|
|
1317
1313
|
hideHint = false,
|
|
1314
|
+
name,
|
|
1318
1315
|
placeholder = "Placeholder text",
|
|
1319
1316
|
size = "lg",
|
|
1320
1317
|
status = "default",
|
|
@@ -1325,47 +1322,44 @@ var Dropdown = (props) => {
|
|
|
1325
1322
|
onChange,
|
|
1326
1323
|
className,
|
|
1327
1324
|
showMenu,
|
|
1325
|
+
required = false,
|
|
1328
1326
|
...buttonProps
|
|
1329
1327
|
} = props;
|
|
1330
|
-
const dropdownRef = React18.useRef(null);
|
|
1331
1328
|
const isControlled = value !== void 0;
|
|
1329
|
+
const controlledValue = value ?? "";
|
|
1332
1330
|
const [internalValue, setInternalValue] = React18.useState(
|
|
1333
|
-
defaultValue
|
|
1331
|
+
defaultValue ?? ""
|
|
1334
1332
|
);
|
|
1335
1333
|
const [open, setOpen] = React18.useState(false);
|
|
1336
|
-
const
|
|
1337
|
-
const selectedOption = options.find((opt) => opt.value ===
|
|
1334
|
+
const rawValue = isControlled ? controlledValue : internalValue;
|
|
1335
|
+
const selectedOption = options.find((opt) => opt.value === rawValue);
|
|
1336
|
+
const currentValue = selectedOption ? selectedOption.value : "";
|
|
1338
1337
|
const hasValue = !!selectedOption;
|
|
1339
1338
|
const isOpen = showMenu ?? open;
|
|
1340
|
-
const
|
|
1341
|
-
if (disabled) return;
|
|
1339
|
+
const handleOpenChange = (nextOpen) => {
|
|
1342
1340
|
if (showMenu === void 0) {
|
|
1343
|
-
setOpen(
|
|
1341
|
+
setOpen(nextOpen);
|
|
1344
1342
|
}
|
|
1345
1343
|
};
|
|
1346
|
-
const
|
|
1344
|
+
const handleValueChange = (nextValue) => {
|
|
1347
1345
|
if (!isControlled) {
|
|
1348
|
-
setInternalValue(
|
|
1346
|
+
setInternalValue(nextValue);
|
|
1349
1347
|
}
|
|
1350
|
-
onChange?.(
|
|
1348
|
+
onChange?.(nextValue);
|
|
1351
1349
|
if (showMenu === void 0) {
|
|
1352
1350
|
setOpen(false);
|
|
1353
1351
|
}
|
|
1354
1352
|
};
|
|
1355
|
-
|
|
1356
|
-
if (
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
}
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
document.removeEventListener("mousedown", handleClickOutside);
|
|
1366
|
-
};
|
|
1367
|
-
}, [showMenu]);
|
|
1368
|
-
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { ref: dropdownRef, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1353
|
+
const handleClear = () => {
|
|
1354
|
+
if (!isControlled) {
|
|
1355
|
+
setInternalValue("");
|
|
1356
|
+
}
|
|
1357
|
+
onChange?.("");
|
|
1358
|
+
if (showMenu === void 0) {
|
|
1359
|
+
setOpen(false);
|
|
1360
|
+
}
|
|
1361
|
+
};
|
|
1362
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1369
1363
|
Field,
|
|
1370
1364
|
{
|
|
1371
1365
|
label,
|
|
@@ -1373,88 +1367,95 @@ var Dropdown = (props) => {
|
|
|
1373
1367
|
hideHint,
|
|
1374
1368
|
status,
|
|
1375
1369
|
disabled,
|
|
1376
|
-
children:
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1390
|
-
"span",
|
|
1391
|
-
{
|
|
1392
|
-
className: cn(
|
|
1393
|
-
dropdownTextVariants({
|
|
1394
|
-
size,
|
|
1395
|
-
hasValue,
|
|
1396
|
-
disabled: !!disabled
|
|
1397
|
-
})
|
|
1398
|
-
),
|
|
1399
|
-
children: hasValue ? selectedOption?.label : placeholder
|
|
1400
|
-
}
|
|
1401
|
-
),
|
|
1402
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: cn(dropdownIconVariants({ size, disabled: !!disabled })), children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_icons6.ChevronDownIcon, {}) })
|
|
1403
|
-
]
|
|
1404
|
-
}
|
|
1405
|
-
),
|
|
1406
|
-
isOpen && options.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "absolute z-10 mt-1 w-full min-w-343 rounded-4 border border-(--border-secondary-hover) bg-(--background-neutral) shadow-card-md flex overflow-y-scroll dropdown-scrollbar max-h-79", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("ul", { role: "listbox", className: "flex flex-1 flex-col", children: [
|
|
1407
|
-
hasValue && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1408
|
-
"li",
|
|
1409
|
-
{
|
|
1410
|
-
className: cn(
|
|
1411
|
-
"bg-(--background-neutral) border-b border-(--border-secondary)",
|
|
1412
|
-
dropdownItemVariants({ size })
|
|
1413
|
-
),
|
|
1414
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1415
|
-
"button",
|
|
1416
|
-
{
|
|
1417
|
-
type: "button",
|
|
1418
|
-
className: cn(dropdownButtonVariants({ size }), "text-secondary"),
|
|
1419
|
-
role: "option",
|
|
1420
|
-
"aria-selected": false,
|
|
1421
|
-
onClick: () => handleSelect(""),
|
|
1422
|
-
children: "Clear"
|
|
1423
|
-
}
|
|
1424
|
-
)
|
|
1425
|
-
}
|
|
1426
|
-
),
|
|
1427
|
-
options.map((opt) => {
|
|
1428
|
-
const selected = opt.value === currentValue;
|
|
1429
|
-
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1430
|
-
"li",
|
|
1370
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1371
|
+
SelectPrimitive.Root,
|
|
1372
|
+
{
|
|
1373
|
+
value: currentValue,
|
|
1374
|
+
onValueChange: handleValueChange,
|
|
1375
|
+
open: isOpen,
|
|
1376
|
+
onOpenChange: handleOpenChange,
|
|
1377
|
+
disabled,
|
|
1378
|
+
name,
|
|
1379
|
+
required,
|
|
1380
|
+
children: [
|
|
1381
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(SelectPrimitive.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1382
|
+
"button",
|
|
1431
1383
|
{
|
|
1384
|
+
type: "button",
|
|
1385
|
+
"aria-haspopup": "listbox",
|
|
1386
|
+
"aria-expanded": isOpen,
|
|
1387
|
+
disabled,
|
|
1432
1388
|
className: cn(
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1389
|
+
selectTriggerVariants({ size, status }),
|
|
1390
|
+
textVariants({
|
|
1391
|
+
size,
|
|
1392
|
+
hasValue,
|
|
1393
|
+
disabled: !!disabled
|
|
1394
|
+
}),
|
|
1395
|
+
hasValue ? "text-primary" : "text-secondary",
|
|
1396
|
+
className
|
|
1436
1397
|
),
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
)
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1398
|
+
"data-open": isOpen || void 0,
|
|
1399
|
+
...buttonProps,
|
|
1400
|
+
children: [
|
|
1401
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(SelectPrimitive.Value, { placeholder }),
|
|
1402
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1403
|
+
"span",
|
|
1404
|
+
{
|
|
1405
|
+
className: cn(selectIconVariants({ size, disabled: !!disabled })),
|
|
1406
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_icons6.ChevronDownIcon, {})
|
|
1407
|
+
}
|
|
1408
|
+
) })
|
|
1409
|
+
]
|
|
1410
|
+
}
|
|
1411
|
+
) }),
|
|
1412
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(SelectPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1413
|
+
SelectPrimitive.Content,
|
|
1414
|
+
{
|
|
1415
|
+
position: "popper",
|
|
1416
|
+
align: "start",
|
|
1417
|
+
sideOffset: 4,
|
|
1418
|
+
className: cn(
|
|
1419
|
+
"z-50 rounded-4 border border-(--border-secondary-hover) bg-(--background-neutral) shadow-card-md overflow-y-scroll dropdown-scrollbar max-h-79",
|
|
1420
|
+
"min-w-343"
|
|
1421
|
+
),
|
|
1422
|
+
style: { minWidth: "var(--radix-select-trigger-width)" },
|
|
1423
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(SelectPrimitive.Viewport, { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex flex-col", children: [
|
|
1424
|
+
hasValue && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: cn("bg-(--background-neutral) border-b border-(--border-secondary)"), children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1425
|
+
"button",
|
|
1426
|
+
{
|
|
1427
|
+
type: "button",
|
|
1428
|
+
className: cn(
|
|
1429
|
+
selectButtonVariants({ size }),
|
|
1430
|
+
"text-secondary"
|
|
1431
|
+
),
|
|
1432
|
+
onClick: handleClear,
|
|
1433
|
+
children: "Clear"
|
|
1434
|
+
}
|
|
1435
|
+
) }),
|
|
1436
|
+
options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1437
|
+
SelectPrimitive.Item,
|
|
1438
|
+
{
|
|
1439
|
+
value: opt.value,
|
|
1440
|
+
className: cn(
|
|
1441
|
+
"bg-(--background-neutral) border-b border-(--border-secondary) last:border-b-0",
|
|
1442
|
+
"data-highlighted:bg-(--background-secondary) data-highlighted:border-(--border-secondary-hover) data-highlighted:outline-none",
|
|
1443
|
+
"data-[state=checked]:bg-(--background-secondary)"
|
|
1444
|
+
),
|
|
1445
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: selectButtonVariants({ size }), children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(SelectPrimitive.ItemText, { children: opt.label }) })
|
|
1446
|
+
},
|
|
1447
|
+
opt.value
|
|
1448
|
+
))
|
|
1449
|
+
] }) })
|
|
1450
|
+
}
|
|
1451
|
+
) })
|
|
1452
|
+
]
|
|
1453
|
+
}
|
|
1454
|
+
)
|
|
1454
1455
|
}
|
|
1455
|
-
)
|
|
1456
|
+
);
|
|
1456
1457
|
};
|
|
1457
|
-
|
|
1458
|
+
Select.displayName = "Select";
|
|
1458
1459
|
|
|
1459
1460
|
// src/components/Inputs/PasswordInput.tsx
|
|
1460
1461
|
var React21 = __toESM(require("react"), 1);
|
|
@@ -1760,6 +1761,109 @@ var import_icons8 = require("@bubo-squared/icons");
|
|
|
1760
1761
|
// src/components/ui/dialog.tsx
|
|
1761
1762
|
var React23 = require("react");
|
|
1762
1763
|
var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
1764
|
+
|
|
1765
|
+
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/createLucideIcon.js
|
|
1766
|
+
var import_react2 = require("react");
|
|
1767
|
+
|
|
1768
|
+
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/shared/src/utils.js
|
|
1769
|
+
var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
1770
|
+
var toCamelCase = (string) => string.replace(
|
|
1771
|
+
/^([A-Z])|[\s-_]+(\w)/g,
|
|
1772
|
+
(match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()
|
|
1773
|
+
);
|
|
1774
|
+
var toPascalCase = (string) => {
|
|
1775
|
+
const camelCase = toCamelCase(string);
|
|
1776
|
+
return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);
|
|
1777
|
+
};
|
|
1778
|
+
var mergeClasses = (...classes) => classes.filter((className, index, array) => {
|
|
1779
|
+
return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
|
|
1780
|
+
}).join(" ").trim();
|
|
1781
|
+
var hasA11yProp = (props) => {
|
|
1782
|
+
for (const prop in props) {
|
|
1783
|
+
if (prop.startsWith("aria-") || prop === "role" || prop === "title") {
|
|
1784
|
+
return true;
|
|
1785
|
+
}
|
|
1786
|
+
}
|
|
1787
|
+
};
|
|
1788
|
+
|
|
1789
|
+
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/Icon.js
|
|
1790
|
+
var import_react = require("react");
|
|
1791
|
+
|
|
1792
|
+
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/defaultAttributes.js
|
|
1793
|
+
var defaultAttributes = {
|
|
1794
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1795
|
+
width: 24,
|
|
1796
|
+
height: 24,
|
|
1797
|
+
viewBox: "0 0 24 24",
|
|
1798
|
+
fill: "none",
|
|
1799
|
+
stroke: "currentColor",
|
|
1800
|
+
strokeWidth: 2,
|
|
1801
|
+
strokeLinecap: "round",
|
|
1802
|
+
strokeLinejoin: "round"
|
|
1803
|
+
};
|
|
1804
|
+
|
|
1805
|
+
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/Icon.js
|
|
1806
|
+
var Icon2 = (0, import_react.forwardRef)(
|
|
1807
|
+
({
|
|
1808
|
+
color = "currentColor",
|
|
1809
|
+
size = 24,
|
|
1810
|
+
strokeWidth = 2,
|
|
1811
|
+
absoluteStrokeWidth,
|
|
1812
|
+
className = "",
|
|
1813
|
+
children,
|
|
1814
|
+
iconNode,
|
|
1815
|
+
...rest
|
|
1816
|
+
}, ref) => (0, import_react.createElement)(
|
|
1817
|
+
"svg",
|
|
1818
|
+
{
|
|
1819
|
+
ref,
|
|
1820
|
+
...defaultAttributes,
|
|
1821
|
+
width: size,
|
|
1822
|
+
height: size,
|
|
1823
|
+
stroke: color,
|
|
1824
|
+
strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
|
|
1825
|
+
className: mergeClasses("lucide", className),
|
|
1826
|
+
...!children && !hasA11yProp(rest) && { "aria-hidden": "true" },
|
|
1827
|
+
...rest
|
|
1828
|
+
},
|
|
1829
|
+
[
|
|
1830
|
+
...iconNode.map(([tag, attrs]) => (0, import_react.createElement)(tag, attrs)),
|
|
1831
|
+
...Array.isArray(children) ? children : [children]
|
|
1832
|
+
]
|
|
1833
|
+
)
|
|
1834
|
+
);
|
|
1835
|
+
|
|
1836
|
+
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/createLucideIcon.js
|
|
1837
|
+
var createLucideIcon = (iconName, iconNode) => {
|
|
1838
|
+
const Component = (0, import_react2.forwardRef)(
|
|
1839
|
+
({ className, ...props }, ref) => (0, import_react2.createElement)(Icon2, {
|
|
1840
|
+
ref,
|
|
1841
|
+
iconNode,
|
|
1842
|
+
className: mergeClasses(
|
|
1843
|
+
`lucide-${toKebabCase(toPascalCase(iconName))}`,
|
|
1844
|
+
`lucide-${iconName}`,
|
|
1845
|
+
className
|
|
1846
|
+
),
|
|
1847
|
+
...props
|
|
1848
|
+
})
|
|
1849
|
+
);
|
|
1850
|
+
Component.displayName = toPascalCase(iconName);
|
|
1851
|
+
return Component;
|
|
1852
|
+
};
|
|
1853
|
+
|
|
1854
|
+
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chevron-right.js
|
|
1855
|
+
var __iconNode = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
1856
|
+
var ChevronRight = createLucideIcon("chevron-right", __iconNode);
|
|
1857
|
+
|
|
1858
|
+
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/ellipsis.js
|
|
1859
|
+
var __iconNode2 = [
|
|
1860
|
+
["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
|
|
1861
|
+
["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }],
|
|
1862
|
+
["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]
|
|
1863
|
+
];
|
|
1864
|
+
var Ellipsis = createLucideIcon("ellipsis", __iconNode2);
|
|
1865
|
+
|
|
1866
|
+
// src/components/ui/dialog.tsx
|
|
1763
1867
|
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
1764
1868
|
|
|
1765
1869
|
// src/components/ui/command.tsx
|
|
@@ -2078,7 +2182,9 @@ var CountrySelect = ({
|
|
|
2078
2182
|
modal: true,
|
|
2079
2183
|
onOpenChange: (open) => {
|
|
2080
2184
|
setIsOpen(open);
|
|
2081
|
-
|
|
2185
|
+
if (open) {
|
|
2186
|
+
setSearchValue("");
|
|
2187
|
+
}
|
|
2082
2188
|
},
|
|
2083
2189
|
children: [
|
|
2084
2190
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
@@ -2197,7 +2303,6 @@ var FlagComponent = ({ country, countryName }) => {
|
|
|
2197
2303
|
var React28 = __toESM(require("react"), 1);
|
|
2198
2304
|
var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
|
|
2199
2305
|
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
2200
|
-
var wrapperBase = "flex flex-col gap-2 items-start";
|
|
2201
2306
|
var RadioGroup = ({
|
|
2202
2307
|
label,
|
|
2203
2308
|
hint,
|
|
@@ -2217,117 +2322,96 @@ var RadioGroup = ({
|
|
|
2217
2322
|
onValueChange?.(next);
|
|
2218
2323
|
};
|
|
2219
2324
|
const isHorizontal = orientation === "horizontal";
|
|
2220
|
-
return /* @__PURE__ */ (0, import_jsx_runtime30.
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2325
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2326
|
+
Field,
|
|
2327
|
+
{
|
|
2328
|
+
label,
|
|
2329
|
+
hint,
|
|
2330
|
+
hideHint,
|
|
2331
|
+
disabled,
|
|
2332
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2333
|
+
RadioGroupPrimitive.Root,
|
|
2334
|
+
{
|
|
2335
|
+
...rootProps,
|
|
2336
|
+
value,
|
|
2337
|
+
defaultValue,
|
|
2338
|
+
onValueChange: handleValueChange,
|
|
2339
|
+
disabled,
|
|
2340
|
+
"aria-describedby": hintId,
|
|
2341
|
+
className: cn(
|
|
2342
|
+
"flex",
|
|
2343
|
+
isHorizontal ? "flex-row gap-6" : "flex-col gap-2",
|
|
2344
|
+
className
|
|
2345
|
+
),
|
|
2346
|
+
children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "relative inline-flex", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
2347
|
+
RadioGroupPrimitive.Item,
|
|
2348
|
+
{
|
|
2349
|
+
value: option.value,
|
|
2350
|
+
disabled: disabled || option.disabled,
|
|
2351
|
+
className: cn(
|
|
2352
|
+
"group inline-flex items-center gap-2 outline-none",
|
|
2353
|
+
"data-disabled:pointer-events-none",
|
|
2354
|
+
disabled || option.disabled ? "cursor-default" : "cursor-pointer"
|
|
2355
|
+
),
|
|
2356
|
+
children: [
|
|
2357
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2358
|
+
"span",
|
|
2359
|
+
{
|
|
2360
|
+
className: cn(
|
|
2361
|
+
"flex items-center justify-center shrink-0 h-5 w-5 rounded-full border bg-(--background-primary) transition-all",
|
|
2362
|
+
// 1: enabled, unchecked, unfocused, unhovered
|
|
2363
|
+
"group-data-[state=unchecked]:border-(--border-secondary)",
|
|
2364
|
+
// 2: enabled, checked, unfocused, unhovered
|
|
2365
|
+
"group-data-[state=checked]:border-(--border-brand)",
|
|
2366
|
+
// 3: enabled, unchecked, hovered, unfocused
|
|
2367
|
+
"group-data-[state=unchecked]:group-hover:border-(--border-secondary-hover)",
|
|
2368
|
+
// 4: enabled, checked, hovered, unfocused
|
|
2369
|
+
"group-data-[state=checked]:group-hover:border-(--border-brand-hover)",
|
|
2370
|
+
"group-data-[state=checked]:group-hover:shadow-[0_0_0_var(--focus-ring-spread)_var(--focus-secondary)]",
|
|
2371
|
+
// 5: enabled, unchecked, focused (override 1/3)
|
|
2372
|
+
"group-data-[state=unchecked]:group-focus-visible:border-(--border-secondary-hover)",
|
|
2373
|
+
// 6: enabled, checked, focused (override 2/4)
|
|
2374
|
+
"group-data-[state=checked]:group-focus-visible:border-(--border-brand-focus)",
|
|
2375
|
+
"group-data-[state=checked]:group-focus-visible:shadow-[0_0_0_var(--focus-ring-spread)_var(--focus-primary)]",
|
|
2376
|
+
// 7: disabled, unchecked (override everything above)
|
|
2377
|
+
"group-[&[data-disabled][data-state=unchecked]]:border-none",
|
|
2378
|
+
"group-[&[data-disabled][data-state=unchecked]]:bg-(--background-primary-disabled)",
|
|
2379
|
+
// 8: disabled, checked (override everything above)
|
|
2380
|
+
"group-[&[data-disabled][data-state=checked]]:border-(--border-primary-disabled)",
|
|
2381
|
+
"group-[&[data-disabled][data-state=checked]]:bg-(--background-primary-disabled)"
|
|
2382
|
+
),
|
|
2383
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2384
|
+
"span",
|
|
2385
|
+
{
|
|
2386
|
+
className: cn(
|
|
2387
|
+
"h-4 w-4 rounded-full bg-(--background-brand) scale-0 transition-transform",
|
|
2388
|
+
"group-data-[state=checked]:scale-100",
|
|
2389
|
+
"group-data-[state=checked]:group-hover:bg-(--background-brand-hover)",
|
|
2390
|
+
"group-data-[state=checked]:group-focus-visible:bg-(--background-brand-hover)",
|
|
2391
|
+
"group-[&[data-disabled][data-state=checked]]:bg-(--background-brand-disabled)",
|
|
2392
|
+
"group-[&[data-disabled][data-state=unchecked]]:scale-0"
|
|
2393
|
+
)
|
|
2394
|
+
}
|
|
2395
|
+
)
|
|
2396
|
+
}
|
|
2258
2397
|
),
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
|
|
2271
|
-
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
// 6: enabled, checked, focused (override 2/4)
|
|
2277
|
-
"group-data-[state=checked]:group-focus-visible:border-(--border-brand-focus)",
|
|
2278
|
-
"group-data-[state=checked]:group-focus-visible:shadow-[0_0_0_var(--focus-ring-spread)_var(--focus-primary)]",
|
|
2279
|
-
// 7: disabled, unchecked (override everything above)
|
|
2280
|
-
"group-[&[data-disabled][data-state=unchecked]]:border-none",
|
|
2281
|
-
"group-[&[data-disabled][data-state=unchecked]]:bg-(--background-primary-disabled)",
|
|
2282
|
-
// 8: disabled, checked (override everything above)
|
|
2283
|
-
"group-[&[data-disabled][data-state=checked]]:border-(--border-primary-disabled)",
|
|
2284
|
-
"group-[&[data-disabled][data-state=checked]]:bg-(--background-primary-disabled)"
|
|
2285
|
-
),
|
|
2286
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2287
|
-
"span",
|
|
2288
|
-
{
|
|
2289
|
-
className: cn(
|
|
2290
|
-
"h-4 w-4 rounded-full bg-(--background-brand) scale-0 transition-transform",
|
|
2291
|
-
"group-data-[state=checked]:scale-100",
|
|
2292
|
-
"group-data-[state=checked]:group-hover:bg-(--background-brand-hover)",
|
|
2293
|
-
"group-data-[state=checked]:group-focus-visible:bg-(--background-brand-hover)",
|
|
2294
|
-
"group-[&[data-disabled][data-state=checked]]:bg-(--background-brand-disabled)",
|
|
2295
|
-
"group-[&[data-disabled][data-state=unchecked]]:scale-0"
|
|
2296
|
-
)
|
|
2297
|
-
}
|
|
2298
|
-
)
|
|
2299
|
-
}
|
|
2300
|
-
),
|
|
2301
|
-
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2302
|
-
"span",
|
|
2303
|
-
{
|
|
2304
|
-
className: cn(
|
|
2305
|
-
"paragraph-sm text-primary",
|
|
2306
|
-
"group-data-[disabled]:text-primary-disabled whitespace-nowrap"
|
|
2307
|
-
),
|
|
2308
|
-
children: option.label
|
|
2309
|
-
}
|
|
2310
|
-
)
|
|
2311
|
-
]
|
|
2312
|
-
}
|
|
2313
|
-
)
|
|
2314
|
-
},
|
|
2315
|
-
option.value
|
|
2316
|
-
))
|
|
2317
|
-
}
|
|
2318
|
-
),
|
|
2319
|
-
!hideHint && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2320
|
-
"p",
|
|
2321
|
-
{
|
|
2322
|
-
id: hintId,
|
|
2323
|
-
className: cn(
|
|
2324
|
-
"caption text-(--color-secondary)",
|
|
2325
|
-
disabled && "text-primary-disabled"
|
|
2326
|
-
),
|
|
2327
|
-
children: hint ?? "\xA0"
|
|
2328
|
-
}
|
|
2329
|
-
)
|
|
2330
|
-
] });
|
|
2398
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2399
|
+
"span",
|
|
2400
|
+
{
|
|
2401
|
+
className: cn(
|
|
2402
|
+
"paragraph-sm text-primary",
|
|
2403
|
+
"group-data-disabled:text-primary-disabled whitespace-nowrap"
|
|
2404
|
+
),
|
|
2405
|
+
children: option.label
|
|
2406
|
+
}
|
|
2407
|
+
)
|
|
2408
|
+
]
|
|
2409
|
+
}
|
|
2410
|
+
) }, option.value))
|
|
2411
|
+
}
|
|
2412
|
+
)
|
|
2413
|
+
}
|
|
2414
|
+
);
|
|
2331
2415
|
};
|
|
2332
2416
|
|
|
2333
2417
|
// src/components/Inputs/SearchInput.tsx
|
|
@@ -2381,7 +2465,7 @@ var SearchInput = (props) => {
|
|
|
2381
2465
|
inputRef.current?.focus();
|
|
2382
2466
|
};
|
|
2383
2467
|
const showTrailingIcon = !!trailingIcon;
|
|
2384
|
-
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "flex flex-col gap-2 items-start", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "relative w-full", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
2468
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "flex flex-col gap-2 items-start w-full", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "relative w-full", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
2385
2469
|
InputShell,
|
|
2386
2470
|
{
|
|
2387
2471
|
size,
|
|
@@ -2415,7 +2499,7 @@ SearchInput.displayName = "SearchInput";
|
|
|
2415
2499
|
// src/components/Inputs/Slider.tsx
|
|
2416
2500
|
var React30 = __toESM(require("react"), 1);
|
|
2417
2501
|
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
2418
|
-
var
|
|
2502
|
+
var wrapperBase = "flex flex-col gap-2 items-start";
|
|
2419
2503
|
var isRangeProps = (props) => {
|
|
2420
2504
|
return Array.isArray(props.value) || Array.isArray(props.defaultValue);
|
|
2421
2505
|
};
|
|
@@ -2425,6 +2509,7 @@ var toArray = (value) => {
|
|
|
2425
2509
|
};
|
|
2426
2510
|
var Slider = (props) => {
|
|
2427
2511
|
const {
|
|
2512
|
+
name,
|
|
2428
2513
|
display = "flat",
|
|
2429
2514
|
tooltipPlacement = "top",
|
|
2430
2515
|
tooltipFormatter,
|
|
@@ -2472,29 +2557,12 @@ var Slider = (props) => {
|
|
|
2472
2557
|
const trackRef = React30.useRef(null);
|
|
2473
2558
|
const [draggingThumbIndex, setDraggingThumbIndex] = React30.useState(null);
|
|
2474
2559
|
const [hoveredThumbIndex, setHoveredThumbIndex] = React30.useState(null);
|
|
2475
|
-
const clamp = (val) => {
|
|
2560
|
+
const clamp = React30.useCallback((val) => {
|
|
2476
2561
|
if (val < min) return min;
|
|
2477
2562
|
if (val > max) return max;
|
|
2478
2563
|
return val;
|
|
2479
|
-
};
|
|
2480
|
-
React30.
|
|
2481
|
-
if (!isControlled) {
|
|
2482
|
-
setInternalValue((prev) => {
|
|
2483
|
-
const clamped = prev.map((v) => clamp(v));
|
|
2484
|
-
if (isRange && clamped.length === 2 && step > 0) {
|
|
2485
|
-
return enforceMinGap(clamped, prev);
|
|
2486
|
-
}
|
|
2487
|
-
return clamped;
|
|
2488
|
-
});
|
|
2489
|
-
}
|
|
2490
|
-
}, [isControlled, min, max, isRange]);
|
|
2491
|
-
const snap = (val) => {
|
|
2492
|
-
const range = max - min;
|
|
2493
|
-
if (range <= 0 || step <= 0) return clamp(val);
|
|
2494
|
-
const stepsFromMin = Math.round((val - min) / step);
|
|
2495
|
-
return clamp(min + stepsFromMin * step);
|
|
2496
|
-
};
|
|
2497
|
-
const enforceMinGap = (next, prev) => {
|
|
2564
|
+
}, [min, max]);
|
|
2565
|
+
const enforceMinGap = React30.useCallback((next, prev) => {
|
|
2498
2566
|
if (!isRange || next.length !== 2 || step <= 0) return next;
|
|
2499
2567
|
let [low, high] = next;
|
|
2500
2568
|
const [prevLow, prevHigh] = prev.length === 2 ? prev : next;
|
|
@@ -2517,6 +2585,23 @@ var Slider = (props) => {
|
|
|
2517
2585
|
}
|
|
2518
2586
|
}
|
|
2519
2587
|
return [low, high];
|
|
2588
|
+
}, [isRange, step, clamp]);
|
|
2589
|
+
React30.useEffect(() => {
|
|
2590
|
+
if (!isControlled) {
|
|
2591
|
+
setInternalValue((prev) => {
|
|
2592
|
+
const clamped = prev.map((v) => clamp(v));
|
|
2593
|
+
if (isRange && clamped.length === 2 && step > 0) {
|
|
2594
|
+
return enforceMinGap(clamped, prev);
|
|
2595
|
+
}
|
|
2596
|
+
return clamped;
|
|
2597
|
+
});
|
|
2598
|
+
}
|
|
2599
|
+
}, [isControlled, clamp, enforceMinGap, isRange, step]);
|
|
2600
|
+
const snap = (val) => {
|
|
2601
|
+
const range = max - min;
|
|
2602
|
+
if (range <= 0 || step <= 0) return clamp(val);
|
|
2603
|
+
const stepsFromMin = Math.round((val - min) / step);
|
|
2604
|
+
return clamp(min + stepsFromMin * step);
|
|
2520
2605
|
};
|
|
2521
2606
|
const updateValue = (next) => {
|
|
2522
2607
|
let normalized = normalizeArray(next, current);
|
|
@@ -2739,7 +2824,7 @@ var Slider = (props) => {
|
|
|
2739
2824
|
style: {
|
|
2740
2825
|
left: `${percent}%`,
|
|
2741
2826
|
top: `calc(50% - ${trackHeight / 2}px)`,
|
|
2742
|
-
|
|
2827
|
+
"--slider-halo-color": "color-mix(in srgb, var(--color-brand) 10%, transparent)"
|
|
2743
2828
|
},
|
|
2744
2829
|
onPointerEnter: () => {
|
|
2745
2830
|
setHoveredThumbIndex(index);
|
|
@@ -2758,66 +2843,88 @@ var Slider = (props) => {
|
|
|
2758
2843
|
index
|
|
2759
2844
|
);
|
|
2760
2845
|
};
|
|
2761
|
-
return /* @__PURE__ */ (0, import_jsx_runtime32.
|
|
2846
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
2762
2847
|
"div",
|
|
2763
2848
|
{
|
|
2764
|
-
className:
|
|
2849
|
+
className: wrapperBase,
|
|
2765
2850
|
style: { marginInline: `${thumbRadius}px` },
|
|
2766
|
-
children:
|
|
2767
|
-
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
2768
|
-
|
|
2769
|
-
"
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
secondaryPercent,
|
|
2777
|
-
formatDisplayValue(secondary),
|
|
2778
|
-
hoveredThumbIndex === 1 || draggingThumbIndex === 1
|
|
2851
|
+
children: [
|
|
2852
|
+
name && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
|
|
2853
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2854
|
+
"input",
|
|
2855
|
+
{
|
|
2856
|
+
type: "hidden",
|
|
2857
|
+
name,
|
|
2858
|
+
value: primary === void 0 ? "" : String(primary),
|
|
2859
|
+
disabled
|
|
2860
|
+
}
|
|
2779
2861
|
),
|
|
2780
|
-
/* @__PURE__ */ (0, import_jsx_runtime32.
|
|
2781
|
-
"
|
|
2862
|
+
isRange && secondary !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2863
|
+
"input",
|
|
2782
2864
|
{
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
|
|
2787
|
-
style: { height: `${trackHeight}px` },
|
|
2788
|
-
ref: trackRef,
|
|
2789
|
-
onPointerDown: handleTrackPointerDown,
|
|
2790
|
-
children: [
|
|
2791
|
-
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2792
|
-
"div",
|
|
2793
|
-
{
|
|
2794
|
-
className: cn(
|
|
2795
|
-
"absolute h-full rounded-4",
|
|
2796
|
-
disabled ? "bg-(--background-primary-disabled)" : "bg-(--background-secondary)"
|
|
2797
|
-
),
|
|
2798
|
-
style: {
|
|
2799
|
-
width: `calc(100% + ${thumbWidth}px)`,
|
|
2800
|
-
left: `-${thumbRadius}px`
|
|
2801
|
-
}
|
|
2802
|
-
}
|
|
2803
|
-
),
|
|
2804
|
-
renderHandle(0, primaryPercent, formatDisplayValue(primary)),
|
|
2805
|
-
isRange && secondary !== void 0 && renderHandle(1, secondaryPercent, formatDisplayValue(secondary))
|
|
2806
|
-
]
|
|
2865
|
+
type: "hidden",
|
|
2866
|
+
name,
|
|
2867
|
+
value: String(secondary),
|
|
2868
|
+
disabled
|
|
2807
2869
|
}
|
|
2808
2870
|
)
|
|
2809
2871
|
] }),
|
|
2810
|
-
|
|
2811
|
-
"
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2872
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: cn("w-full flex flex-col gap-1", className), children: [
|
|
2873
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "relative w-full", children: [
|
|
2874
|
+
showTooltip && primary !== void 0 && renderTooltipBubble(
|
|
2875
|
+
"primary",
|
|
2876
|
+
primaryPercent,
|
|
2877
|
+
formatDisplayValue(primary),
|
|
2878
|
+
hoveredThumbIndex === 0 || draggingThumbIndex === 0
|
|
2816
2879
|
),
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2880
|
+
showTooltip && isRange && secondary !== void 0 && renderTooltipBubble(
|
|
2881
|
+
"secondary",
|
|
2882
|
+
secondaryPercent,
|
|
2883
|
+
formatDisplayValue(secondary),
|
|
2884
|
+
hoveredThumbIndex === 1 || draggingThumbIndex === 1
|
|
2885
|
+
),
|
|
2886
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
2887
|
+
"div",
|
|
2888
|
+
{
|
|
2889
|
+
className: cn(
|
|
2890
|
+
"relative w-full flex items-center rounded-4",
|
|
2891
|
+
disabled ? "bg-(--background-primary-disabled) cursor-default" : "bg-(--background-secondary) cursor-pointer"
|
|
2892
|
+
),
|
|
2893
|
+
style: { height: `${trackHeight}px` },
|
|
2894
|
+
ref: trackRef,
|
|
2895
|
+
onPointerDown: handleTrackPointerDown,
|
|
2896
|
+
children: [
|
|
2897
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2898
|
+
"div",
|
|
2899
|
+
{
|
|
2900
|
+
className: cn(
|
|
2901
|
+
"absolute h-full rounded-4",
|
|
2902
|
+
disabled ? "bg-(--background-primary-disabled)" : "bg-(--background-secondary)"
|
|
2903
|
+
),
|
|
2904
|
+
style: {
|
|
2905
|
+
width: `calc(100% + ${thumbWidth}px)`,
|
|
2906
|
+
left: `-${thumbRadius}px`
|
|
2907
|
+
}
|
|
2908
|
+
}
|
|
2909
|
+
),
|
|
2910
|
+
renderHandle(0, primaryPercent, formatDisplayValue(primary)),
|
|
2911
|
+
isRange && secondary !== void 0 && renderHandle(1, secondaryPercent, formatDisplayValue(secondary))
|
|
2912
|
+
]
|
|
2913
|
+
}
|
|
2914
|
+
)
|
|
2915
|
+
] }),
|
|
2916
|
+
showNumeric && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2917
|
+
"p",
|
|
2918
|
+
{
|
|
2919
|
+
className: cn(
|
|
2920
|
+
"paragraph-sm text-primary",
|
|
2921
|
+
disabled && "text-primary-disabled"
|
|
2922
|
+
),
|
|
2923
|
+
children: formatNumericLabel()
|
|
2924
|
+
}
|
|
2925
|
+
)
|
|
2926
|
+
] })
|
|
2927
|
+
]
|
|
2821
2928
|
}
|
|
2822
2929
|
);
|
|
2823
2930
|
};
|
|
@@ -2827,7 +2934,6 @@ Slider.displayName = "Slider";
|
|
|
2827
2934
|
var React31 = __toESM(require("react"), 1);
|
|
2828
2935
|
var import_icons11 = require("@bubo-squared/icons");
|
|
2829
2936
|
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2830
|
-
var wrapperBase3 = "flex flex-col gap-2 items-start w-full";
|
|
2831
2937
|
var TextArea = (props) => {
|
|
2832
2938
|
const {
|
|
2833
2939
|
label,
|
|
@@ -2842,6 +2948,8 @@ var TextArea = (props) => {
|
|
|
2842
2948
|
defaultValue,
|
|
2843
2949
|
onChange,
|
|
2844
2950
|
rows = 3,
|
|
2951
|
+
id,
|
|
2952
|
+
name,
|
|
2845
2953
|
...textareaProps
|
|
2846
2954
|
} = props;
|
|
2847
2955
|
const isControlled = value !== void 0;
|
|
@@ -2869,9 +2977,8 @@ var TextArea = (props) => {
|
|
|
2869
2977
|
}
|
|
2870
2978
|
onChange?.(event);
|
|
2871
2979
|
};
|
|
2872
|
-
const
|
|
2873
|
-
const
|
|
2874
|
-
const hintId = `${inputId}-hint`;
|
|
2980
|
+
const generatedId = React31.useId();
|
|
2981
|
+
const textareaId = id ?? generatedId;
|
|
2875
2982
|
const statusBorderClass = {
|
|
2876
2983
|
default: "",
|
|
2877
2984
|
success: "border-(--border-success)",
|
|
@@ -2882,7 +2989,6 @@ var TextArea = (props) => {
|
|
|
2882
2989
|
success: "focus-within:border-(--border-success) focus-within:hover:border-(--border-success) focus-within:shadow-[0_0_0_var(--focus-ring-spread)_var(--focus-success)]",
|
|
2883
2990
|
error: "focus-within:border-(--border-error) focus-within:hover:border-(--border-error) focus-within:shadow-[0_0_0_var(--focus-ring-spread)_var(--focus-error)]"
|
|
2884
2991
|
};
|
|
2885
|
-
const hintColorClass = disabled ? "text-primary-disabled" : status === "success" ? "text-(--color-success)" : status === "error" ? "text-(--color-error)" : "text-(--color-secondary)";
|
|
2886
2992
|
const counterColorClass = disabled ? "text-primary-disabled" : status === "success" ? "text-(--color-success)" : status === "error" ? "text-(--color-error)" : "text-primary";
|
|
2887
2993
|
const handleResizePointerDown = (event) => {
|
|
2888
2994
|
if (disabled) return;
|
|
@@ -2908,102 +3014,90 @@ var TextArea = (props) => {
|
|
|
2908
3014
|
window.addEventListener("pointermove", handlePointerMove);
|
|
2909
3015
|
window.addEventListener("pointerup", handlePointerUp);
|
|
2910
3016
|
};
|
|
2911
|
-
return /* @__PURE__ */ (0, import_jsx_runtime33.
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
disabled && "bg-(--background-primary-disabled) border-(--border-secondary-disabled) cursor-default",
|
|
2931
|
-
statusBorderClass[status],
|
|
2932
|
-
!disabled && statusFocusClass[status],
|
|
2933
|
-
className
|
|
2934
|
-
),
|
|
2935
|
-
ref: containerRef,
|
|
2936
|
-
style: {
|
|
2937
|
-
...type === "responsive" && height !== void 0 ? { height } : {},
|
|
2938
|
-
...type === "responsive" && width !== void 0 ? { width } : {}
|
|
2939
|
-
},
|
|
2940
|
-
onClick: handleContainerClick,
|
|
2941
|
-
"aria-disabled": disabled || void 0,
|
|
2942
|
-
children: [
|
|
2943
|
-
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2944
|
-
"textarea",
|
|
2945
|
-
{
|
|
2946
|
-
id: inputId,
|
|
2947
|
-
ref: textareaRef,
|
|
2948
|
-
"aria-labelledby": label ? labelId : void 0,
|
|
2949
|
-
"aria-describedby": hint ? hintId : void 0,
|
|
2950
|
-
disabled: disabled ?? void 0,
|
|
2951
|
-
value: isControlled ? value : currentValue,
|
|
2952
|
-
defaultValue: isControlled ? void 0 : defaultValue,
|
|
2953
|
-
onChange: handleChange,
|
|
2954
|
-
rows,
|
|
2955
|
-
maxLength: effectiveMaxLength,
|
|
2956
|
-
className: cn(
|
|
2957
|
-
"paragraph-md bg-transparent outline-none w-full h-full resize-none px-2 py-2 pr-8",
|
|
2958
|
-
disabled ? "text-primary-disabled" : hasValue ? "text-primary" : "text-(--color-secondary)",
|
|
2959
|
-
showCharacterLimit && "pr-16"
|
|
2960
|
-
),
|
|
2961
|
-
...textareaProps
|
|
2962
|
-
}
|
|
2963
|
-
),
|
|
2964
|
-
showCharacterLimit && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
2965
|
-
"span",
|
|
2966
|
-
{
|
|
2967
|
-
className: cn(
|
|
2968
|
-
"absolute bottom-1 right-1 footnote mb-0!",
|
|
2969
|
-
counterColorClass
|
|
2970
|
-
),
|
|
2971
|
-
children: [
|
|
2972
|
-
currentLength,
|
|
2973
|
-
"/",
|
|
2974
|
-
effectiveMaxLength
|
|
2975
|
-
]
|
|
2976
|
-
}
|
|
3017
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3018
|
+
Field,
|
|
3019
|
+
{
|
|
3020
|
+
className: "w-full",
|
|
3021
|
+
label,
|
|
3022
|
+
hint,
|
|
3023
|
+
hideHint,
|
|
3024
|
+
status,
|
|
3025
|
+
disabled,
|
|
3026
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
3027
|
+
"div",
|
|
3028
|
+
{
|
|
3029
|
+
className: cn(
|
|
3030
|
+
"relative flex w-full rounded-4 border bg-(--background-primary) cursor-text transition-colors",
|
|
3031
|
+
"border-(--border-secondary) hover:border-(--border-secondary-hover) hover:bg-(--background-primary-hover)",
|
|
3032
|
+
disabled && "bg-(--background-primary-disabled) border-(--border-secondary-disabled) cursor-default",
|
|
3033
|
+
statusBorderClass[status],
|
|
3034
|
+
!disabled && statusFocusClass[status],
|
|
3035
|
+
className
|
|
2977
3036
|
),
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
{
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
|
|
2998
|
-
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
-
|
|
3002
|
-
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3037
|
+
ref: containerRef,
|
|
3038
|
+
style: {
|
|
3039
|
+
...type === "responsive" && height !== void 0 ? { height } : {},
|
|
3040
|
+
...type === "responsive" && width !== void 0 ? { width } : {}
|
|
3041
|
+
},
|
|
3042
|
+
onClick: handleContainerClick,
|
|
3043
|
+
"aria-disabled": disabled || void 0,
|
|
3044
|
+
children: [
|
|
3045
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3046
|
+
"textarea",
|
|
3047
|
+
{
|
|
3048
|
+
id: textareaId,
|
|
3049
|
+
name,
|
|
3050
|
+
ref: textareaRef,
|
|
3051
|
+
disabled: disabled ?? void 0,
|
|
3052
|
+
value: isControlled ? value : currentValue,
|
|
3053
|
+
defaultValue: isControlled ? void 0 : defaultValue,
|
|
3054
|
+
onChange: handleChange,
|
|
3055
|
+
rows,
|
|
3056
|
+
maxLength: effectiveMaxLength,
|
|
3057
|
+
className: cn(
|
|
3058
|
+
"paragraph-md bg-transparent outline-none w-full h-full resize-none px-2 py-2 pr-8",
|
|
3059
|
+
disabled ? "text-primary-disabled" : hasValue ? "text-primary" : "text-(--color-secondary)",
|
|
3060
|
+
showCharacterLimit && "pr-16"
|
|
3061
|
+
),
|
|
3062
|
+
...textareaProps
|
|
3063
|
+
}
|
|
3064
|
+
),
|
|
3065
|
+
showCharacterLimit && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
3066
|
+
"span",
|
|
3067
|
+
{
|
|
3068
|
+
className: cn(
|
|
3069
|
+
"absolute bottom-1 right-1 footnote mb-0!",
|
|
3070
|
+
counterColorClass
|
|
3071
|
+
),
|
|
3072
|
+
children: [
|
|
3073
|
+
currentLength,
|
|
3074
|
+
"/",
|
|
3075
|
+
effectiveMaxLength
|
|
3076
|
+
]
|
|
3077
|
+
}
|
|
3078
|
+
),
|
|
3079
|
+
type === "responsive" && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3080
|
+
"div",
|
|
3081
|
+
{
|
|
3082
|
+
className: "absolute bottom-1 right-1 h-3 w-3 " + (disabled ? "cursor-auto" : "cursor-nwse-resize"),
|
|
3083
|
+
onPointerDown: disabled ? void 0 : handleResizePointerDown,
|
|
3084
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3085
|
+
"span",
|
|
3086
|
+
{
|
|
3087
|
+
className: cn(
|
|
3088
|
+
"absolute bottom-0 right-0 flex h-4 w-4 items-center justify-center text-(--icon-primary)",
|
|
3089
|
+
disabled && "text-(--icon-primary-disabled)"
|
|
3090
|
+
),
|
|
3091
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_icons11.MaximizeIcon, {})
|
|
3092
|
+
}
|
|
3093
|
+
)
|
|
3094
|
+
}
|
|
3095
|
+
)
|
|
3096
|
+
]
|
|
3097
|
+
}
|
|
3098
|
+
)
|
|
3099
|
+
}
|
|
3100
|
+
);
|
|
3007
3101
|
};
|
|
3008
3102
|
TextArea.displayName = "TextArea";
|
|
3009
3103
|
|
|
@@ -3320,9 +3414,9 @@ var Popover2 = (props) => {
|
|
|
3320
3414
|
onOk?.();
|
|
3321
3415
|
setOpen(false);
|
|
3322
3416
|
};
|
|
3323
|
-
const popoverClasses = "group bg-(--background-popover) popover w-80 max-w-[calc(100vw-2rem)] shadow-card-md border-none [
|
|
3324
|
-
const popoverArrowClasses = "relative fill-(--background-popover) transition-[filter,transform] group-data-[side=top]:top-[-2px] group-data-[side=top]:drop-shadow-[
|
|
3325
|
-
const
|
|
3417
|
+
const popoverClasses = "group bg-(--background-popover) popover w-80 max-w-[calc(100vw-2rem)] shadow-card-md border-none [&>span]:scale-240 rounded-4";
|
|
3418
|
+
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)]";
|
|
3419
|
+
const mapPlacementToSideAndAlign2 = (placement2) => {
|
|
3326
3420
|
switch (placement2) {
|
|
3327
3421
|
case "top":
|
|
3328
3422
|
return { side: "top", align: "center" };
|
|
@@ -3352,7 +3446,7 @@ var Popover2 = (props) => {
|
|
|
3352
3446
|
return { side: "bottom", align: "center" };
|
|
3353
3447
|
}
|
|
3354
3448
|
};
|
|
3355
|
-
const { side, align } =
|
|
3449
|
+
const { side, align } = mapPlacementToSideAndAlign2(placement);
|
|
3356
3450
|
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(Popover, { open, onOpenChange: setOpen, children: [
|
|
3357
3451
|
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopoverTrigger, { asChild: true, children }),
|
|
3358
3452
|
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
@@ -3382,82 +3476,344 @@ var Popover2 = (props) => {
|
|
|
3382
3476
|
};
|
|
3383
3477
|
Popover2.displayName = "Popover";
|
|
3384
3478
|
|
|
3385
|
-
// src/components/
|
|
3386
|
-
var React36 =
|
|
3387
|
-
var
|
|
3388
|
-
var import_class_variance_authority19 = require("class-variance-authority");
|
|
3389
|
-
var import_icons12 = require("@bubo-squared/icons");
|
|
3479
|
+
// src/components/Feedback/Tooltip.tsx
|
|
3480
|
+
var React36 = require("react");
|
|
3481
|
+
var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
|
|
3390
3482
|
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
3391
|
-
var
|
|
3392
|
-
var
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
|
|
3396
|
-
|
|
3397
|
-
|
|
3398
|
-
|
|
3399
|
-
}
|
|
3400
|
-
|
|
3401
|
-
|
|
3402
|
-
|
|
3403
|
-
|
|
3483
|
+
var TooltipArrow = TooltipPrimitive.Arrow;
|
|
3484
|
+
var mapPlacementToSideAndAlign = (placement) => {
|
|
3485
|
+
switch (placement) {
|
|
3486
|
+
case "top":
|
|
3487
|
+
return { side: "top", align: "center" };
|
|
3488
|
+
case "topLeft":
|
|
3489
|
+
return { side: "top", align: "start" };
|
|
3490
|
+
case "topRight":
|
|
3491
|
+
return { side: "top", align: "end" };
|
|
3492
|
+
case "bottom":
|
|
3493
|
+
return { side: "bottom", align: "center" };
|
|
3494
|
+
case "bottomLeft":
|
|
3495
|
+
return { side: "bottom", align: "start" };
|
|
3496
|
+
case "bottomRight":
|
|
3497
|
+
return { side: "bottom", align: "end" };
|
|
3498
|
+
case "left":
|
|
3499
|
+
return { side: "left", align: "center" };
|
|
3500
|
+
case "leftTop":
|
|
3501
|
+
return { side: "left", align: "start" };
|
|
3502
|
+
case "leftBottom":
|
|
3503
|
+
return { side: "left", align: "end" };
|
|
3504
|
+
case "right":
|
|
3505
|
+
return { side: "right", align: "center" };
|
|
3506
|
+
case "rightTop":
|
|
3507
|
+
return { side: "right", align: "start" };
|
|
3508
|
+
case "rightBottom":
|
|
3509
|
+
return { side: "right", align: "end" };
|
|
3510
|
+
default:
|
|
3511
|
+
return { side: "top", align: "center" };
|
|
3404
3512
|
}
|
|
3405
|
-
|
|
3406
|
-
var
|
|
3407
|
-
"font-normal text-[length:var(--font-size-paragraph-lg-18)] leading-[var(--font-line-height-28)] tracking-[var(--font-letter-spacing-02)] whitespace-nowrap",
|
|
3408
|
-
{
|
|
3409
|
-
variants: {
|
|
3410
|
-
variant: {
|
|
3411
|
-
colored: "text-(--color-brand) group-hover:text-(--color-brand-hover) group-focus-visible:text-(--color-brand-focus) group-disabled:text-(--color-brand-disabled)",
|
|
3412
|
-
flat: "text-primary group-hover:text-(--color-primary-hover) group-focus-visible:text-(--color-primary-focus) group-disabled:text-primary-disabled"
|
|
3413
|
-
}
|
|
3414
|
-
},
|
|
3415
|
-
defaultVariants: {
|
|
3416
|
-
variant: "flat"
|
|
3417
|
-
}
|
|
3418
|
-
}
|
|
3419
|
-
);
|
|
3420
|
-
var Breadcrumb = React36.forwardRef((props, ref) => {
|
|
3513
|
+
};
|
|
3514
|
+
var Tooltip = (props) => {
|
|
3421
3515
|
const {
|
|
3422
|
-
|
|
3423
|
-
|
|
3424
|
-
|
|
3425
|
-
|
|
3426
|
-
showText = true,
|
|
3427
|
-
icon,
|
|
3516
|
+
strapline,
|
|
3517
|
+
title,
|
|
3518
|
+
description,
|
|
3519
|
+
showArrow = true,
|
|
3428
3520
|
className,
|
|
3429
|
-
|
|
3430
|
-
|
|
3521
|
+
placement = "top",
|
|
3522
|
+
offset = 10,
|
|
3523
|
+
disableHoverableContent,
|
|
3524
|
+
open,
|
|
3525
|
+
defaultOpen,
|
|
3526
|
+
onOpenChange,
|
|
3527
|
+
children
|
|
3431
3528
|
} = props;
|
|
3432
|
-
const
|
|
3433
|
-
const
|
|
3529
|
+
const { side, align } = mapPlacementToSideAndAlign(placement);
|
|
3530
|
+
const tooltipClasses = "group bg-(--background-popover) max-w-[calc(100vw-2rem)] shadow-card-md border-none rounded-4 p-4 [&>span]:scale-200 data-[state=delayed-open]:animate-in data-[state=instant-open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=delayed-open]:fade-in-0 data-[state=instant-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-[state=instant-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";
|
|
3531
|
+
const tooltipArrowClasses = "relative fill-(--background-popover) transition-[filter,transform] group-data-[side=top]:top-[-2px] group-data-[side=top]:drop-shadow-[0px_1px_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)]";
|
|
3434
3532
|
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
3435
|
-
|
|
3533
|
+
TooltipPrimitive.Root,
|
|
3436
3534
|
{
|
|
3437
|
-
|
|
3438
|
-
|
|
3439
|
-
|
|
3440
|
-
|
|
3535
|
+
open,
|
|
3536
|
+
defaultOpen,
|
|
3537
|
+
onOpenChange,
|
|
3538
|
+
disableHoverableContent,
|
|
3441
3539
|
children: [
|
|
3442
|
-
|
|
3443
|
-
|
|
3540
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TooltipPrimitive.Trigger, { asChild: true, children }),
|
|
3541
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TooltipPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
3542
|
+
TooltipPrimitive.Content,
|
|
3543
|
+
{
|
|
3544
|
+
side,
|
|
3545
|
+
align,
|
|
3546
|
+
sideOffset: offset,
|
|
3547
|
+
className: cn(tooltipClasses, className),
|
|
3548
|
+
children: [
|
|
3549
|
+
showArrow && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TooltipArrow, { className: tooltipArrowClasses }),
|
|
3550
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "grid gap-2", children: [
|
|
3551
|
+
(strapline ?? "") !== "" && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "caption text-secondary", children: strapline }),
|
|
3552
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("h4", { className: "subtitle-medium text-primary", children: title }),
|
|
3553
|
+
(description ?? "") !== "" && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "paragraph-sm text-primary", children: description })
|
|
3554
|
+
] })
|
|
3555
|
+
]
|
|
3556
|
+
}
|
|
3557
|
+
) })
|
|
3444
3558
|
]
|
|
3445
3559
|
}
|
|
3446
3560
|
);
|
|
3447
|
-
}
|
|
3448
|
-
|
|
3561
|
+
};
|
|
3562
|
+
Tooltip.displayName = "Tooltip";
|
|
3449
3563
|
|
|
3450
|
-
// src/components/
|
|
3451
|
-
var
|
|
3564
|
+
// src/components/Feedback/TooltipProvider.tsx
|
|
3565
|
+
var React37 = require("react");
|
|
3566
|
+
var TooltipPrimitive2 = __toESM(require("@radix-ui/react-tooltip"), 1);
|
|
3452
3567
|
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
3453
|
-
var
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3568
|
+
var TooltipProvider = (props) => {
|
|
3569
|
+
const {
|
|
3570
|
+
children,
|
|
3571
|
+
delayDuration = 200,
|
|
3572
|
+
skipDelayDuration = 300,
|
|
3573
|
+
disableHoverableContent = false
|
|
3574
|
+
} = props;
|
|
3575
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3576
|
+
TooltipPrimitive2.Provider,
|
|
3577
|
+
{
|
|
3578
|
+
delayDuration,
|
|
3579
|
+
skipDelayDuration,
|
|
3580
|
+
disableHoverableContent,
|
|
3581
|
+
children
|
|
3582
|
+
}
|
|
3583
|
+
);
|
|
3584
|
+
};
|
|
3585
|
+
TooltipProvider.displayName = "TooltipProvider";
|
|
3586
|
+
|
|
3587
|
+
// src/components/Navigation/Breadcrumbs.tsx
|
|
3588
|
+
var React40 = __toESM(require("react"), 1);
|
|
3589
|
+
|
|
3590
|
+
// src/components/ui/breadcrumb.tsx
|
|
3591
|
+
var React38 = require("react");
|
|
3592
|
+
var import_react_slot8 = require("@radix-ui/react-slot");
|
|
3593
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
3594
|
+
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";
|
|
3595
|
+
var disabledItemClasses = "text-primary-disabled cursor-default pointer-events-none";
|
|
3596
|
+
function Breadcrumb({ ...props }) {
|
|
3597
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
|
|
3598
|
+
}
|
|
3599
|
+
function BreadcrumbList({ className, ...props }) {
|
|
3600
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3601
|
+
"ol",
|
|
3602
|
+
{
|
|
3603
|
+
"data-slot": "breadcrumb-list",
|
|
3604
|
+
className: cn(
|
|
3605
|
+
"flex flex-wrap items-center gap-1.5 wrap-break-word sm:gap-2.5",
|
|
3606
|
+
className
|
|
3607
|
+
),
|
|
3608
|
+
...props
|
|
3609
|
+
}
|
|
3610
|
+
);
|
|
3611
|
+
}
|
|
3612
|
+
function BreadcrumbItem({ className, disabled, ...props }) {
|
|
3613
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3614
|
+
"li",
|
|
3615
|
+
{
|
|
3616
|
+
"data-slot": "breadcrumb-item",
|
|
3617
|
+
className: cn(breadcrumbItemClasses, disabled && disabledItemClasses, className),
|
|
3618
|
+
style: { marginBottom: "7px" },
|
|
3619
|
+
...props
|
|
3620
|
+
}
|
|
3621
|
+
);
|
|
3622
|
+
}
|
|
3623
|
+
function BreadcrumbPage({ className, ...props }) {
|
|
3624
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3625
|
+
"span",
|
|
3626
|
+
{
|
|
3627
|
+
"data-slot": "breadcrumb-page",
|
|
3628
|
+
role: "link",
|
|
3629
|
+
"aria-disabled": "true",
|
|
3630
|
+
"aria-current": "page",
|
|
3631
|
+
className: cn(className),
|
|
3632
|
+
...props
|
|
3633
|
+
}
|
|
3634
|
+
);
|
|
3635
|
+
}
|
|
3636
|
+
function BreadcrumbSeparator({
|
|
3637
|
+
children,
|
|
3638
|
+
className,
|
|
3639
|
+
...props
|
|
3640
|
+
}) {
|
|
3641
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3642
|
+
"li",
|
|
3643
|
+
{
|
|
3644
|
+
"data-slot": "breadcrumb-separator",
|
|
3645
|
+
role: "presentation",
|
|
3646
|
+
"aria-hidden": "true",
|
|
3647
|
+
className: cn("[&>svg]:size-6 [&>svg]:text-(--color-secondary)", className),
|
|
3648
|
+
...props,
|
|
3649
|
+
children: children ?? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ChevronRight, {})
|
|
3650
|
+
}
|
|
3651
|
+
);
|
|
3652
|
+
}
|
|
3653
|
+
function BreadcrumbEllipsis({
|
|
3654
|
+
className,
|
|
3655
|
+
...props
|
|
3656
|
+
}) {
|
|
3657
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
3658
|
+
"span",
|
|
3659
|
+
{
|
|
3660
|
+
"data-slot": "breadcrumb-ellipsis",
|
|
3661
|
+
role: "presentation",
|
|
3662
|
+
"aria-hidden": "true",
|
|
3663
|
+
className: cn("flex size-9 items-center justify-center", className),
|
|
3664
|
+
...props,
|
|
3665
|
+
children: [
|
|
3666
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Ellipsis, { className: "size-4" }),
|
|
3667
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "sr-only", children: "More" })
|
|
3668
|
+
]
|
|
3669
|
+
}
|
|
3670
|
+
);
|
|
3671
|
+
}
|
|
3672
|
+
|
|
3673
|
+
// src/components/ui/dropdown-menu.tsx
|
|
3674
|
+
var React39 = require("react");
|
|
3675
|
+
var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"), 1);
|
|
3676
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
3677
|
+
function DropdownMenu({
|
|
3678
|
+
...props
|
|
3679
|
+
}) {
|
|
3680
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
|
|
3681
|
+
}
|
|
3682
|
+
function DropdownMenuTrigger({
|
|
3683
|
+
...props
|
|
3684
|
+
}) {
|
|
3685
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3686
|
+
DropdownMenuPrimitive.Trigger,
|
|
3687
|
+
{
|
|
3688
|
+
"data-slot": "dropdown-menu-trigger",
|
|
3689
|
+
...props
|
|
3690
|
+
}
|
|
3691
|
+
);
|
|
3692
|
+
}
|
|
3693
|
+
function DropdownMenuContent({
|
|
3694
|
+
className,
|
|
3695
|
+
sideOffset = 4,
|
|
3696
|
+
...props
|
|
3697
|
+
}) {
|
|
3698
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3699
|
+
DropdownMenuPrimitive.Content,
|
|
3700
|
+
{
|
|
3701
|
+
"data-slot": "dropdown-menu-content",
|
|
3702
|
+
sideOffset,
|
|
3703
|
+
className: cn(
|
|
3704
|
+
"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 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
|
|
3705
|
+
className
|
|
3706
|
+
),
|
|
3707
|
+
...props
|
|
3708
|
+
}
|
|
3709
|
+
) });
|
|
3710
|
+
}
|
|
3711
|
+
function DropdownMenuGroup({
|
|
3712
|
+
...props
|
|
3713
|
+
}) {
|
|
3714
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props });
|
|
3715
|
+
}
|
|
3716
|
+
function DropdownMenuItem({
|
|
3717
|
+
className,
|
|
3718
|
+
inset,
|
|
3719
|
+
variant = "default",
|
|
3720
|
+
...props
|
|
3721
|
+
}) {
|
|
3722
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3723
|
+
DropdownMenuPrimitive.Item,
|
|
3724
|
+
{
|
|
3725
|
+
"data-slot": "dropdown-menu-item",
|
|
3726
|
+
"data-inset": inset,
|
|
3727
|
+
"data-variant": variant,
|
|
3728
|
+
className: cn(
|
|
3729
|
+
"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_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:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
3730
|
+
className
|
|
3731
|
+
),
|
|
3732
|
+
...props
|
|
3733
|
+
}
|
|
3734
|
+
);
|
|
3735
|
+
}
|
|
3736
|
+
|
|
3737
|
+
// src/components/Navigation/Breadcrumbs.tsx
|
|
3738
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
3739
|
+
var breadcrumbSeparatorVariants = "size-5 relative bottom-1 [&>svg]:text-secondary group-disabled:text-secondary";
|
|
3740
|
+
var breadcrumbItemBase = "h6-title text-secondary hover:text-primary-hover";
|
|
3741
|
+
var Breadcrumbs = React40.forwardRef(
|
|
3742
|
+
(props, ref) => {
|
|
3743
|
+
const { separator, ellipsis, children, className, ...rest } = props;
|
|
3744
|
+
const items = React40.Children.toArray(children).filter(Boolean);
|
|
3745
|
+
const shouldCollapse = Boolean(ellipsis) && items.length >= 5;
|
|
3746
|
+
const hiddenItems = shouldCollapse ? items.slice(1, -2) : [];
|
|
3747
|
+
const displayItems = shouldCollapse ? [items[0], "__ELLIPSIS__", items[items.length - 2], items[items.length - 1]] : items;
|
|
3748
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Breadcrumb, { ref, className, ...rest, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(BreadcrumbList, { children: displayItems.map((child, index) => {
|
|
3749
|
+
const isEllipsis = child === "__ELLIPSIS__";
|
|
3750
|
+
const key = isEllipsis ? "__ellipsis" : React40.isValidElement(child) && child.key != null ? String(child.key) : String(index);
|
|
3751
|
+
const isLast = index === displayItems.length - 1;
|
|
3752
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(React40.Fragment, { children: [
|
|
3753
|
+
isEllipsis ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(BreadcrumbItem, { className: cn(breadcrumbItemBase, props.breadcrumbItemClassName), children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(DropdownMenu, { children: [
|
|
3754
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3755
|
+
"button",
|
|
3756
|
+
{
|
|
3757
|
+
type: "button",
|
|
3758
|
+
className: "inline-flex size-8 items-center justify-center rounded-4 hover:bg-(--background-secondary) focus-ring-primary text-secondary",
|
|
3759
|
+
"aria-label": "Open breadcrumb menu",
|
|
3760
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(BreadcrumbEllipsis, {})
|
|
3761
|
+
}
|
|
3762
|
+
) }),
|
|
3763
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3764
|
+
DropdownMenuContent,
|
|
3765
|
+
{
|
|
3766
|
+
align: "start",
|
|
3767
|
+
className: "bg-(--background-neutral) border-(--border-secondary-hover) shadow-card-md rounded-4",
|
|
3768
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(DropdownMenuGroup, { children: hiddenItems.map((hidden, hiddenIndex) => {
|
|
3769
|
+
const hiddenKey = React40.isValidElement(hidden) && hidden.key != null ? String(hidden.key) : `hidden-${hiddenIndex}`;
|
|
3770
|
+
if (React40.isValidElement(hidden)) {
|
|
3771
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3772
|
+
DropdownMenuItem,
|
|
3773
|
+
{
|
|
3774
|
+
asChild: true,
|
|
3775
|
+
className: "cursor-pointer paragraph-md text-primary focus:bg-(--background-secondary)",
|
|
3776
|
+
children: hidden
|
|
3777
|
+
},
|
|
3778
|
+
hiddenKey
|
|
3779
|
+
);
|
|
3780
|
+
}
|
|
3781
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3782
|
+
DropdownMenuItem,
|
|
3783
|
+
{
|
|
3784
|
+
className: "cursor-pointer paragraph-md text-primary focus:bg-(--background-secondary)",
|
|
3785
|
+
children: String(hidden)
|
|
3786
|
+
},
|
|
3787
|
+
hiddenKey
|
|
3788
|
+
);
|
|
3789
|
+
}) })
|
|
3790
|
+
}
|
|
3791
|
+
)
|
|
3792
|
+
] }) }) : isLast ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(BreadcrumbItem, { className: cn(breadcrumbItemBase, props.breadcrumbItemClassName), children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3793
|
+
BreadcrumbPage,
|
|
3794
|
+
{
|
|
3795
|
+
className: cn("h6-title-medium cursor-pointer", props.breadcrumbPageClassName),
|
|
3796
|
+
children: child
|
|
3797
|
+
}
|
|
3798
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(BreadcrumbItem, { className: cn(breadcrumbItemBase, props.breadcrumbItemClassName), children: child }),
|
|
3799
|
+
!isLast && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(BreadcrumbSeparator, { className: cn(breadcrumbSeparatorVariants, props.separatorClassName), children: separator })
|
|
3800
|
+
] }, key);
|
|
3801
|
+
}) }) });
|
|
3802
|
+
}
|
|
3803
|
+
);
|
|
3804
|
+
Breadcrumbs.displayName = "Breadcrumbs";
|
|
3805
|
+
|
|
3806
|
+
// src/components/Logo/LogoIcon.tsx
|
|
3807
|
+
var import_class_variance_authority19 = require("class-variance-authority");
|
|
3808
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
3809
|
+
var LogoIconSvg = (props) => /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("svg", { width: "89", height: "88", viewBox: "0 0 89 88", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
|
|
3810
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M83.7156 3.88535C78.5352 -1.29512 70.136 -1.29512 64.9555 3.88535L43.9999 24.8409L43.9995 24.8405L62.3536 6.48637C52.2379 16.5949 35.8584 16.6179 25.7142 6.55523L23.4434 4.28438C18.2629 -0.896082 9.86373 -0.89608 4.68327 4.28438C-0.497191 9.46484 -0.49719 17.864 4.68327 23.0445L6.88526 25.2465C17.0191 35.3875 17.0168 51.8235 6.87859 61.9618L25.2395 43.6008L25.2398 43.601L3.88534 64.9555C-1.29512 70.136 -1.29511 78.5351 3.88535 83.7156C9.06581 88.8961 17.465 88.8961 22.6455 83.7156L25.6458 80.7151L25.6864 80.6747C35.7981 70.6137 52.1313 70.597 62.2636 80.6248L65.7534 84.1146C70.9339 89.2951 79.3331 89.2951 84.5135 84.1146C89.694 78.9342 89.694 70.535 84.5135 65.3545L62.76 43.601L62.7602 43.6009L81.1144 61.9552C70.9806 51.8142 70.9829 35.3782 81.1211 25.24L83.7156 22.6455C88.8961 17.465 88.8961 9.06581 83.7156 3.88535Z", fill: "#1685FF" }),
|
|
3811
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("path", { d: "M44.0667 50.4863C44.1213 50.4317 44.21 50.4317 44.2646 50.4863L48.6465 54.8682C48.6942 54.9158 48.7011 54.9907 48.663 55.0463L44.2812 61.4453C44.2256 61.5265 44.1057 61.5265 44.0501 61.4453L39.6683 55.0463C39.6302 54.9907 39.6371 54.9158 39.6848 54.8682L44.0667 50.4863Z", fill: "white" }),
|
|
3812
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M44.107 45.3938C44.0536 45.289 43.9013 45.289 43.8479 45.3938C41.8622 49.293 37.8104 51.9638 33.1347 51.9638C26.4991 51.9638 21.1199 46.5846 21.1199 39.9489C21.1199 33.3133 26.4991 27.9341 33.1347 27.9341C37.8104 27.9341 41.8622 30.6049 43.8479 34.5041C43.9013 34.6089 44.0536 34.6089 44.107 34.5041C46.0926 30.6049 50.1445 27.9341 54.8201 27.9341C61.4558 27.9341 66.835 33.3133 66.835 39.9489C66.835 46.5846 61.4558 51.9638 54.8201 51.9638C50.1445 51.9638 46.0926 49.293 44.107 45.3938Z", fill: "white" }),
|
|
3813
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("path", { d: "M60.1113 40.0006C60.1113 43.052 57.6377 45.5256 54.5863 45.5256C51.535 45.5256 49.0614 43.052 49.0614 40.0006C49.0614 36.9493 51.535 34.4757 54.5863 34.4757C57.6377 34.4757 60.1113 36.9493 60.1113 40.0006Z", fill: "#1685FF" }),
|
|
3814
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("path", { d: "M38.8954 40.0006C38.8954 43.052 36.4218 45.5256 33.3705 45.5256C30.3192 45.5256 27.8456 43.052 27.8456 40.0006C27.8456 36.9493 30.3192 34.4757 33.3705 34.4757C36.4218 34.4757 38.8954 36.9493 38.8954 40.0006Z", fill: "#1685FF" })
|
|
3459
3815
|
] });
|
|
3460
|
-
var logoIconVariants = (0,
|
|
3816
|
+
var logoIconVariants = (0, import_class_variance_authority19.cva)(
|
|
3461
3817
|
"relative bg-linear-to-t from-gray-800 to-gray-950 overflow-hidden flex justify-center items-center",
|
|
3462
3818
|
{
|
|
3463
3819
|
variants: {
|
|
@@ -3482,28 +3838,28 @@ var logoIconSizeClass = {
|
|
|
3482
3838
|
xl: "size-96"
|
|
3483
3839
|
};
|
|
3484
3840
|
var LogoIcon = ({ className, size = "md" }) => {
|
|
3485
|
-
return /* @__PURE__ */ (0,
|
|
3841
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: cn(logoIconVariants({ size }), className), children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(LogoIconSvg, { className: logoIconSizeClass[size] }) });
|
|
3486
3842
|
};
|
|
3487
3843
|
|
|
3488
3844
|
// src/components/Logo/Logo.tsx
|
|
3489
|
-
var
|
|
3490
|
-
var
|
|
3491
|
-
var LogoIconSvg2 = (props) => /* @__PURE__ */ (0,
|
|
3492
|
-
/* @__PURE__ */ (0,
|
|
3493
|
-
/* @__PURE__ */ (0,
|
|
3494
|
-
/* @__PURE__ */ (0,
|
|
3495
|
-
/* @__PURE__ */ (0,
|
|
3496
|
-
/* @__PURE__ */ (0,
|
|
3845
|
+
var import_class_variance_authority20 = require("class-variance-authority");
|
|
3846
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
3847
|
+
var LogoIconSvg2 = (props) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("svg", { width: "89", height: "88", viewBox: "0 0 89 88", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
|
|
3848
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M83.7156 3.88535C78.5352 -1.29512 70.136 -1.29512 64.9555 3.88535L43.9999 24.8409L43.9995 24.8405L62.3536 6.48637C52.2379 16.5949 35.8584 16.6179 25.7142 6.55523L23.4434 4.28438C18.2629 -0.896082 9.86373 -0.89608 4.68327 4.28438C-0.497191 9.46484 -0.49719 17.864 4.68327 23.0445L6.88526 25.2465C17.0191 35.3875 17.0168 51.8235 6.87859 61.9618L25.2395 43.6008L25.2398 43.601L3.88534 64.9555C-1.29512 70.136 -1.29511 78.5351 3.88535 83.7156C9.06581 88.8961 17.465 88.8961 22.6455 83.7156L25.6458 80.7151L25.6864 80.6747C35.7981 70.6137 52.1313 70.597 62.2636 80.6248L65.7534 84.1146C70.9339 89.2951 79.3331 89.2951 84.5135 84.1146C89.694 78.9342 89.694 70.535 84.5135 65.3545L62.76 43.601L62.7602 43.6009L81.1144 61.9552C70.9806 51.8142 70.9829 35.3782 81.1211 25.24L83.7156 22.6455C88.8961 17.465 88.8961 9.06581 83.7156 3.88535Z", fill: "#1685FF" }),
|
|
3849
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("path", { d: "M44.0667 50.4863C44.1213 50.4317 44.21 50.4317 44.2646 50.4863L48.6465 54.8682C48.6942 54.9158 48.7011 54.9907 48.663 55.0463L44.2812 61.4453C44.2256 61.5265 44.1057 61.5265 44.0501 61.4453L39.6683 55.0463C39.6302 54.9907 39.6371 54.9158 39.6848 54.8682L44.0667 50.4863Z", fill: "white" }),
|
|
3850
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M44.107 45.3938C44.0536 45.289 43.9013 45.289 43.8479 45.3938C41.8622 49.293 37.8104 51.9638 33.1347 51.9638C26.4991 51.9638 21.1199 46.5846 21.1199 39.9489C21.1199 33.3133 26.4991 27.9341 33.1347 27.9341C37.8104 27.9341 41.8622 30.6049 43.8479 34.5041C43.9013 34.6089 44.0536 34.6089 44.107 34.5041C46.0926 30.6049 50.1445 27.9341 54.8201 27.9341C61.4558 27.9341 66.835 33.3133 66.835 39.9489C66.835 46.5846 61.4558 51.9638 54.8201 51.9638C50.1445 51.9638 46.0926 49.293 44.107 45.3938Z", fill: "white" }),
|
|
3851
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("path", { d: "M60.1113 40.0006C60.1113 43.052 57.6377 45.5256 54.5863 45.5256C51.535 45.5256 49.0614 43.052 49.0614 40.0006C49.0614 36.9493 51.535 34.4757 54.5863 34.4757C57.6377 34.4757 60.1113 36.9493 60.1113 40.0006Z", fill: "#1685FF" }),
|
|
3852
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("path", { d: "M38.8954 40.0006C38.8954 43.052 36.4218 45.5256 33.3705 45.5256C30.3192 45.5256 27.8456 43.052 27.8456 40.0006C27.8456 36.9493 30.3192 34.4757 33.3705 34.4757C36.4218 34.4757 38.8954 36.9493 38.8954 40.0006Z", fill: "#1685FF" })
|
|
3497
3853
|
] });
|
|
3498
|
-
var LogoTextSvg = (props) => /* @__PURE__ */ (0,
|
|
3499
|
-
/* @__PURE__ */ (0,
|
|
3500
|
-
/* @__PURE__ */ (0,
|
|
3501
|
-
/* @__PURE__ */ (0,
|
|
3502
|
-
/* @__PURE__ */ (0,
|
|
3503
|
-
/* @__PURE__ */ (0,
|
|
3504
|
-
/* @__PURE__ */ (0,
|
|
3854
|
+
var LogoTextSvg = (props) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("svg", { width: "111", height: "32", viewBox: "0 0 111 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
|
|
3855
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("path", { d: "M72.7324 20.9658C72.7324 14.4559 77.4246 9.9751 83.8922 9.9751C90.3598 9.9751 95.052 14.4559 95.052 20.9658C95.052 27.4757 90.3598 31.9565 83.8922 31.9565C77.4246 31.9565 72.7324 27.4757 72.7324 20.9658ZM77.8896 20.9658C77.8896 24.7703 80.3414 27.3489 83.8922 27.3489C87.4431 27.3489 89.8948 24.7703 89.8948 20.9658C89.8948 17.1613 87.4431 14.5827 83.8922 14.5827C80.3414 14.5827 77.8896 17.1613 77.8896 20.9658Z", fill: "currentColor" }),
|
|
3856
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("path", { d: "M53.4056 31.4503H48.6289V0H53.7861V13.6116C55.1388 11.2866 57.9287 9.89163 61.0991 9.89163C67.0595 9.89163 70.6949 14.5415 70.6949 21.136C70.6949 27.5613 66.7636 31.9998 60.761 31.9998C57.6328 31.9998 54.9697 30.6049 53.7438 28.1954L53.4056 31.4503ZM53.8284 20.9246C53.8284 24.6868 56.1533 27.2654 59.7042 27.2654C63.3395 27.2654 65.4954 24.6445 65.4954 20.9246C65.4954 17.2047 63.3395 14.5415 59.7042 14.5415C56.1533 14.5415 53.8284 17.1624 53.8284 20.9246Z", fill: "currentColor" }),
|
|
3857
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("path", { d: "M38.9929 10.5681H44.15V31.4504H39.3733L38.9929 28.6605C37.7247 30.6473 35.0193 32 32.2293 32C27.4103 32 24.5781 28.745 24.5781 23.6301V10.5681H29.7353V21.8124C29.7353 25.786 31.2994 27.3923 34.1739 27.3923C37.4288 27.3923 38.9929 25.4901 38.9929 21.5165V10.5681Z", fill: "currentColor" }),
|
|
3858
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("path", { d: "M4.77673 31.4503H0V0H5.15718V13.6116C6.50988 11.2866 9.29983 9.89163 12.4702 9.89163C18.4306 9.89163 22.066 14.5415 22.066 21.136C22.066 27.5613 18.1347 31.9998 12.132 31.9998C9.00392 31.9998 6.34079 30.6049 5.1149 28.1954L4.77673 31.4503ZM5.19945 20.9246C5.19945 24.6868 7.52441 27.2654 11.0752 27.2654C14.7106 27.2654 16.8665 24.6445 16.8665 20.9246C16.8665 17.2047 14.7106 14.5415 11.0752 14.5415C7.52441 14.5415 5.19945 17.1624 5.19945 20.9246Z", fill: "currentColor" }),
|
|
3859
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("path", { d: "M103.555 0.5C107.084 0.5 109.944 3.36029 109.944 6.88867C109.944 10.4172 107.084 13.2773 103.555 13.2773C100.027 13.2772 97.1667 10.4171 97.1667 6.88867C97.1669 3.36036 100.027 0.500118 103.555 0.5Z", stroke: "currentColor" }),
|
|
3860
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("path", { d: "M105.778 9.98355L101.687 10.0001V9.00978L103.578 7.33457C104.19 6.79817 104.445 6.41856 104.445 5.91517C104.445 5.29625 104.159 4.96616 103.647 4.96616C103.113 4.96616 102.803 5.35402 102.803 6.03896H101.556C101.556 4.66908 102.377 3.77783 103.64 3.77783C104.949 3.77783 105.731 4.52879 105.731 5.83265C105.731 6.66613 105.259 7.34282 104.546 7.97825L103.686 8.74571H105.778V9.98355Z", fill: "currentColor" })
|
|
3505
3861
|
] });
|
|
3506
|
-
var logoWrapperVariants = (0,
|
|
3862
|
+
var logoWrapperVariants = (0, import_class_variance_authority20.cva)("inline-flex", {
|
|
3507
3863
|
variants: {
|
|
3508
3864
|
variant: {
|
|
3509
3865
|
inline: ["w-44", "h-12", "justify-start", "items-center", "gap-4"],
|
|
@@ -3515,7 +3871,7 @@ var logoWrapperVariants = (0, import_class_variance_authority21.cva)("inline-fle
|
|
|
3515
3871
|
variant: "inline"
|
|
3516
3872
|
}
|
|
3517
3873
|
});
|
|
3518
|
-
var logoIconSizeVariants = (0,
|
|
3874
|
+
var logoIconSizeVariants = (0, import_class_variance_authority20.cva)("", {
|
|
3519
3875
|
variants: {
|
|
3520
3876
|
variant: {
|
|
3521
3877
|
inline: "size-12",
|
|
@@ -3527,7 +3883,7 @@ var logoIconSizeVariants = (0, import_class_variance_authority21.cva)("", {
|
|
|
3527
3883
|
variant: "inline"
|
|
3528
3884
|
}
|
|
3529
3885
|
});
|
|
3530
|
-
var logoTextSizeVariants = (0,
|
|
3886
|
+
var logoTextSizeVariants = (0, import_class_variance_authority20.cva)("", {
|
|
3531
3887
|
variants: {
|
|
3532
3888
|
variant: {
|
|
3533
3889
|
inline: "h-8 w-27.5",
|
|
@@ -3541,9 +3897,9 @@ var logoTextSizeVariants = (0, import_class_variance_authority21.cva)("", {
|
|
|
3541
3897
|
});
|
|
3542
3898
|
var Logo = ({ className, textColor, variant = "inline" }) => {
|
|
3543
3899
|
const textColorClass = textColor === "light" ? "text-(--color-b-white)" : textColor === "dark" ? "text-(--color-b-black)" : "text-primary";
|
|
3544
|
-
return /* @__PURE__ */ (0,
|
|
3545
|
-
/* @__PURE__ */ (0,
|
|
3546
|
-
/* @__PURE__ */ (0,
|
|
3900
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: cn(logoWrapperVariants({ variant }), className), children: [
|
|
3901
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(LogoIconSvg2, { className: logoIconSizeVariants({ variant }) }),
|
|
3902
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(LogoTextSvg, { className: cn(logoTextSizeVariants({ variant }), textColorClass) })
|
|
3547
3903
|
] });
|
|
3548
3904
|
};
|
|
3549
3905
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -3553,12 +3909,11 @@ var Logo = ({ className, textColor, variant = "inline" }) => {
|
|
|
3553
3909
|
BadgeDigit,
|
|
3554
3910
|
BadgeDot,
|
|
3555
3911
|
BadgeStatus,
|
|
3556
|
-
|
|
3912
|
+
Breadcrumbs,
|
|
3557
3913
|
Button,
|
|
3558
3914
|
ButtonGroup,
|
|
3559
3915
|
Checkbox,
|
|
3560
3916
|
Divider,
|
|
3561
|
-
Dropdown,
|
|
3562
3917
|
Field,
|
|
3563
3918
|
IconButton,
|
|
3564
3919
|
IconButtonGroup,
|
|
@@ -3572,14 +3927,33 @@ var Logo = ({ className, textColor, variant = "inline" }) => {
|
|
|
3572
3927
|
Progress,
|
|
3573
3928
|
RadioGroup,
|
|
3574
3929
|
SearchInput,
|
|
3930
|
+
Select,
|
|
3575
3931
|
Slider,
|
|
3576
3932
|
StatusAvatar,
|
|
3577
3933
|
Tag,
|
|
3578
3934
|
TextArea,
|
|
3579
3935
|
TextInput,
|
|
3580
3936
|
Toggle,
|
|
3937
|
+
Tooltip,
|
|
3938
|
+
TooltipProvider,
|
|
3581
3939
|
Typography,
|
|
3582
3940
|
WebsiteInput,
|
|
3583
3941
|
cn
|
|
3584
3942
|
});
|
|
3943
|
+
/*! Bundled license information:
|
|
3944
|
+
|
|
3945
|
+
lucide-react/dist/esm/shared/src/utils.js:
|
|
3946
|
+
lucide-react/dist/esm/defaultAttributes.js:
|
|
3947
|
+
lucide-react/dist/esm/Icon.js:
|
|
3948
|
+
lucide-react/dist/esm/createLucideIcon.js:
|
|
3949
|
+
lucide-react/dist/esm/icons/chevron-right.js:
|
|
3950
|
+
lucide-react/dist/esm/icons/ellipsis.js:
|
|
3951
|
+
lucide-react/dist/esm/lucide-react.js:
|
|
3952
|
+
(**
|
|
3953
|
+
* @license lucide-react v0.555.0 - ISC
|
|
3954
|
+
*
|
|
3955
|
+
* This source code is licensed under the ISC license.
|
|
3956
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
3957
|
+
*)
|
|
3958
|
+
*/
|
|
3585
3959
|
//# sourceMappingURL=index.cjs.map
|