@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.js
CHANGED
|
@@ -518,7 +518,7 @@ var Typography = (props) => {
|
|
|
518
518
|
return /* @__PURE__ */ jsx9(
|
|
519
519
|
Comp,
|
|
520
520
|
{
|
|
521
|
-
className: cn(variant, weightClassName, mbClassName, className),
|
|
521
|
+
className: cn("text-primary", variant, weightClassName, mbClassName, className),
|
|
522
522
|
...rest,
|
|
523
523
|
children
|
|
524
524
|
}
|
|
@@ -1162,13 +1162,14 @@ function Checkbox({ label, className, ...props }) {
|
|
|
1162
1162
|
] });
|
|
1163
1163
|
}
|
|
1164
1164
|
|
|
1165
|
-
// src/components/Inputs/
|
|
1165
|
+
// src/components/Inputs/Select.tsx
|
|
1166
1166
|
import * as React18 from "react";
|
|
1167
|
+
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
1167
1168
|
import { cva as cva12 } from "class-variance-authority";
|
|
1168
1169
|
import { ChevronDownIcon } from "@bubo-squared/icons";
|
|
1169
1170
|
import { jsx as jsx20, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1170
|
-
var
|
|
1171
|
-
"group flex w-full items-center justify-between rounded-4 border bg-(--background-primary)
|
|
1171
|
+
var selectTriggerVariants = cva12(
|
|
1172
|
+
"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",
|
|
1172
1173
|
{
|
|
1173
1174
|
variants: {
|
|
1174
1175
|
size: {
|
|
@@ -1189,7 +1190,7 @@ var dropdownTriggerVariants = cva12(
|
|
|
1189
1190
|
}
|
|
1190
1191
|
}
|
|
1191
1192
|
);
|
|
1192
|
-
var
|
|
1193
|
+
var textVariants = cva12("truncate", {
|
|
1193
1194
|
variants: {
|
|
1194
1195
|
size: {
|
|
1195
1196
|
sm: "paragraph-md",
|
|
@@ -1198,7 +1199,7 @@ var dropdownTextVariants = cva12("truncate", {
|
|
|
1198
1199
|
xl: "h6-title"
|
|
1199
1200
|
},
|
|
1200
1201
|
hasValue: {
|
|
1201
|
-
false: "text-
|
|
1202
|
+
false: "text-secondary",
|
|
1202
1203
|
true: "text-primary"
|
|
1203
1204
|
},
|
|
1204
1205
|
disabled: {
|
|
@@ -1210,13 +1211,13 @@ var dropdownTextVariants = cva12("truncate", {
|
|
|
1210
1211
|
hasValue: false
|
|
1211
1212
|
}
|
|
1212
1213
|
});
|
|
1213
|
-
var
|
|
1214
|
+
var selectIconVariants = cva12("flex items-center justify-center shrink-0", {
|
|
1214
1215
|
variants: {
|
|
1215
1216
|
size: {
|
|
1216
|
-
sm: "
|
|
1217
|
-
md: "
|
|
1218
|
-
lg: "
|
|
1219
|
-
xl: "
|
|
1217
|
+
sm: "size-4",
|
|
1218
|
+
md: "size-5",
|
|
1219
|
+
lg: "size-5",
|
|
1220
|
+
xl: "size-6"
|
|
1220
1221
|
},
|
|
1221
1222
|
disabled: {
|
|
1222
1223
|
false: "text-(--icon-primary)",
|
|
@@ -1228,31 +1229,25 @@ var dropdownIconVariants = cva12("flex items-center justify-center shrink-0", {
|
|
|
1228
1229
|
disabled: false
|
|
1229
1230
|
}
|
|
1230
1231
|
});
|
|
1231
|
-
var
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
}
|
|
1241
|
-
var dropdownButtonVariants = cva12("flex w-full items-center gap-2 pl-(--space-8) pr-(--space-16) text-left paragraph-lg text-primary hover:bg-(--background-secondary)", {
|
|
1242
|
-
variants: {
|
|
1243
|
-
size: {
|
|
1244
|
-
sm: "paragraph-sm py-(--space-4) ",
|
|
1245
|
-
md: "paragraph-md py-(--space-6) ",
|
|
1246
|
-
lg: "paragraph-lg py-(--space-8) ",
|
|
1247
|
-
xl: "subtitle py-(--space-10) "
|
|
1232
|
+
var selectButtonVariants = cva12(
|
|
1233
|
+
"flex w-full items-center gap-2 pl-(--space-8) pr-(--space-16) text-left paragraph-lg text-primary hover:bg-(--background-secondary)",
|
|
1234
|
+
{
|
|
1235
|
+
variants: {
|
|
1236
|
+
size: {
|
|
1237
|
+
sm: "paragraph-sm py-(--space-4) ",
|
|
1238
|
+
md: "paragraph-md py-(--space-6) ",
|
|
1239
|
+
lg: "paragraph-lg py-(--space-8) ",
|
|
1240
|
+
xl: "subtitle py-(--space-10) "
|
|
1241
|
+
}
|
|
1248
1242
|
}
|
|
1249
1243
|
}
|
|
1250
|
-
|
|
1251
|
-
var
|
|
1244
|
+
);
|
|
1245
|
+
var Select = (props) => {
|
|
1252
1246
|
const {
|
|
1253
1247
|
label = "Field Label",
|
|
1254
1248
|
hint = "This is a hint text to help user.",
|
|
1255
1249
|
hideHint = false,
|
|
1250
|
+
name,
|
|
1256
1251
|
placeholder = "Placeholder text",
|
|
1257
1252
|
size = "lg",
|
|
1258
1253
|
status = "default",
|
|
@@ -1263,47 +1258,44 @@ var Dropdown = (props) => {
|
|
|
1263
1258
|
onChange,
|
|
1264
1259
|
className,
|
|
1265
1260
|
showMenu,
|
|
1261
|
+
required = false,
|
|
1266
1262
|
...buttonProps
|
|
1267
1263
|
} = props;
|
|
1268
|
-
const dropdownRef = React18.useRef(null);
|
|
1269
1264
|
const isControlled = value !== void 0;
|
|
1265
|
+
const controlledValue = value ?? "";
|
|
1270
1266
|
const [internalValue, setInternalValue] = React18.useState(
|
|
1271
|
-
defaultValue
|
|
1267
|
+
defaultValue ?? ""
|
|
1272
1268
|
);
|
|
1273
1269
|
const [open, setOpen] = React18.useState(false);
|
|
1274
|
-
const
|
|
1275
|
-
const selectedOption = options.find((opt) => opt.value ===
|
|
1270
|
+
const rawValue = isControlled ? controlledValue : internalValue;
|
|
1271
|
+
const selectedOption = options.find((opt) => opt.value === rawValue);
|
|
1272
|
+
const currentValue = selectedOption ? selectedOption.value : "";
|
|
1276
1273
|
const hasValue = !!selectedOption;
|
|
1277
1274
|
const isOpen = showMenu ?? open;
|
|
1278
|
-
const
|
|
1279
|
-
if (disabled) return;
|
|
1275
|
+
const handleOpenChange = (nextOpen) => {
|
|
1280
1276
|
if (showMenu === void 0) {
|
|
1281
|
-
setOpen(
|
|
1277
|
+
setOpen(nextOpen);
|
|
1282
1278
|
}
|
|
1283
1279
|
};
|
|
1284
|
-
const
|
|
1280
|
+
const handleValueChange = (nextValue) => {
|
|
1285
1281
|
if (!isControlled) {
|
|
1286
|
-
setInternalValue(
|
|
1282
|
+
setInternalValue(nextValue);
|
|
1287
1283
|
}
|
|
1288
|
-
onChange?.(
|
|
1284
|
+
onChange?.(nextValue);
|
|
1289
1285
|
if (showMenu === void 0) {
|
|
1290
1286
|
setOpen(false);
|
|
1291
1287
|
}
|
|
1292
1288
|
};
|
|
1293
|
-
|
|
1294
|
-
if (
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
}
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
document.removeEventListener("mousedown", handleClickOutside);
|
|
1304
|
-
};
|
|
1305
|
-
}, [showMenu]);
|
|
1306
|
-
return /* @__PURE__ */ jsx20("div", { ref: dropdownRef, children: /* @__PURE__ */ jsxs12(
|
|
1289
|
+
const handleClear = () => {
|
|
1290
|
+
if (!isControlled) {
|
|
1291
|
+
setInternalValue("");
|
|
1292
|
+
}
|
|
1293
|
+
onChange?.("");
|
|
1294
|
+
if (showMenu === void 0) {
|
|
1295
|
+
setOpen(false);
|
|
1296
|
+
}
|
|
1297
|
+
};
|
|
1298
|
+
return /* @__PURE__ */ jsx20(
|
|
1307
1299
|
Field,
|
|
1308
1300
|
{
|
|
1309
1301
|
label,
|
|
@@ -1311,88 +1303,95 @@ var Dropdown = (props) => {
|
|
|
1311
1303
|
hideHint,
|
|
1312
1304
|
status,
|
|
1313
1305
|
disabled,
|
|
1314
|
-
children:
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
/* @__PURE__ */ jsx20(
|
|
1328
|
-
"span",
|
|
1329
|
-
{
|
|
1330
|
-
className: cn(
|
|
1331
|
-
dropdownTextVariants({
|
|
1332
|
-
size,
|
|
1333
|
-
hasValue,
|
|
1334
|
-
disabled: !!disabled
|
|
1335
|
-
})
|
|
1336
|
-
),
|
|
1337
|
-
children: hasValue ? selectedOption?.label : placeholder
|
|
1338
|
-
}
|
|
1339
|
-
),
|
|
1340
|
-
/* @__PURE__ */ jsx20("span", { className: cn(dropdownIconVariants({ size, disabled: !!disabled })), children: /* @__PURE__ */ jsx20(ChevronDownIcon, {}) })
|
|
1341
|
-
]
|
|
1342
|
-
}
|
|
1343
|
-
),
|
|
1344
|
-
isOpen && options.length > 0 && /* @__PURE__ */ jsx20("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__ */ jsxs12("ul", { role: "listbox", className: "flex flex-1 flex-col", children: [
|
|
1345
|
-
hasValue && /* @__PURE__ */ jsx20(
|
|
1346
|
-
"li",
|
|
1347
|
-
{
|
|
1348
|
-
className: cn(
|
|
1349
|
-
"bg-(--background-neutral) border-b border-(--border-secondary)",
|
|
1350
|
-
dropdownItemVariants({ size })
|
|
1351
|
-
),
|
|
1352
|
-
children: /* @__PURE__ */ jsx20(
|
|
1353
|
-
"button",
|
|
1354
|
-
{
|
|
1355
|
-
type: "button",
|
|
1356
|
-
className: cn(dropdownButtonVariants({ size }), "text-secondary"),
|
|
1357
|
-
role: "option",
|
|
1358
|
-
"aria-selected": false,
|
|
1359
|
-
onClick: () => handleSelect(""),
|
|
1360
|
-
children: "Clear"
|
|
1361
|
-
}
|
|
1362
|
-
)
|
|
1363
|
-
}
|
|
1364
|
-
),
|
|
1365
|
-
options.map((opt) => {
|
|
1366
|
-
const selected = opt.value === currentValue;
|
|
1367
|
-
return /* @__PURE__ */ jsx20(
|
|
1368
|
-
"li",
|
|
1306
|
+
children: /* @__PURE__ */ jsxs12(
|
|
1307
|
+
SelectPrimitive.Root,
|
|
1308
|
+
{
|
|
1309
|
+
value: currentValue,
|
|
1310
|
+
onValueChange: handleValueChange,
|
|
1311
|
+
open: isOpen,
|
|
1312
|
+
onOpenChange: handleOpenChange,
|
|
1313
|
+
disabled,
|
|
1314
|
+
name,
|
|
1315
|
+
required,
|
|
1316
|
+
children: [
|
|
1317
|
+
/* @__PURE__ */ jsx20(SelectPrimitive.Trigger, { asChild: true, children: /* @__PURE__ */ jsxs12(
|
|
1318
|
+
"button",
|
|
1369
1319
|
{
|
|
1320
|
+
type: "button",
|
|
1321
|
+
"aria-haspopup": "listbox",
|
|
1322
|
+
"aria-expanded": isOpen,
|
|
1323
|
+
disabled,
|
|
1370
1324
|
className: cn(
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1325
|
+
selectTriggerVariants({ size, status }),
|
|
1326
|
+
textVariants({
|
|
1327
|
+
size,
|
|
1328
|
+
hasValue,
|
|
1329
|
+
disabled: !!disabled
|
|
1330
|
+
}),
|
|
1331
|
+
hasValue ? "text-primary" : "text-secondary",
|
|
1332
|
+
className
|
|
1374
1333
|
),
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
)
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1334
|
+
"data-open": isOpen || void 0,
|
|
1335
|
+
...buttonProps,
|
|
1336
|
+
children: [
|
|
1337
|
+
/* @__PURE__ */ jsx20(SelectPrimitive.Value, { placeholder }),
|
|
1338
|
+
/* @__PURE__ */ jsx20(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx20(
|
|
1339
|
+
"span",
|
|
1340
|
+
{
|
|
1341
|
+
className: cn(selectIconVariants({ size, disabled: !!disabled })),
|
|
1342
|
+
children: /* @__PURE__ */ jsx20(ChevronDownIcon, {})
|
|
1343
|
+
}
|
|
1344
|
+
) })
|
|
1345
|
+
]
|
|
1346
|
+
}
|
|
1347
|
+
) }),
|
|
1348
|
+
/* @__PURE__ */ jsx20(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx20(
|
|
1349
|
+
SelectPrimitive.Content,
|
|
1350
|
+
{
|
|
1351
|
+
position: "popper",
|
|
1352
|
+
align: "start",
|
|
1353
|
+
sideOffset: 4,
|
|
1354
|
+
className: cn(
|
|
1355
|
+
"z-50 rounded-4 border border-(--border-secondary-hover) bg-(--background-neutral) shadow-card-md overflow-y-scroll dropdown-scrollbar max-h-79",
|
|
1356
|
+
"min-w-343"
|
|
1357
|
+
),
|
|
1358
|
+
style: { minWidth: "var(--radix-select-trigger-width)" },
|
|
1359
|
+
children: /* @__PURE__ */ jsx20(SelectPrimitive.Viewport, { children: /* @__PURE__ */ jsxs12("div", { className: "flex flex-col", children: [
|
|
1360
|
+
hasValue && /* @__PURE__ */ jsx20("div", { className: cn("bg-(--background-neutral) border-b border-(--border-secondary)"), children: /* @__PURE__ */ jsx20(
|
|
1361
|
+
"button",
|
|
1362
|
+
{
|
|
1363
|
+
type: "button",
|
|
1364
|
+
className: cn(
|
|
1365
|
+
selectButtonVariants({ size }),
|
|
1366
|
+
"text-secondary"
|
|
1367
|
+
),
|
|
1368
|
+
onClick: handleClear,
|
|
1369
|
+
children: "Clear"
|
|
1370
|
+
}
|
|
1371
|
+
) }),
|
|
1372
|
+
options.map((opt) => /* @__PURE__ */ jsx20(
|
|
1373
|
+
SelectPrimitive.Item,
|
|
1374
|
+
{
|
|
1375
|
+
value: opt.value,
|
|
1376
|
+
className: cn(
|
|
1377
|
+
"bg-(--background-neutral) border-b border-(--border-secondary) last:border-b-0",
|
|
1378
|
+
"data-highlighted:bg-(--background-secondary) data-highlighted:border-(--border-secondary-hover) data-highlighted:outline-none",
|
|
1379
|
+
"data-[state=checked]:bg-(--background-secondary)"
|
|
1380
|
+
),
|
|
1381
|
+
children: /* @__PURE__ */ jsx20("div", { className: selectButtonVariants({ size }), children: /* @__PURE__ */ jsx20(SelectPrimitive.ItemText, { children: opt.label }) })
|
|
1382
|
+
},
|
|
1383
|
+
opt.value
|
|
1384
|
+
))
|
|
1385
|
+
] }) })
|
|
1386
|
+
}
|
|
1387
|
+
) })
|
|
1388
|
+
]
|
|
1389
|
+
}
|
|
1390
|
+
)
|
|
1392
1391
|
}
|
|
1393
|
-
)
|
|
1392
|
+
);
|
|
1394
1393
|
};
|
|
1395
|
-
|
|
1394
|
+
Select.displayName = "Select";
|
|
1396
1395
|
|
|
1397
1396
|
// src/components/Inputs/PasswordInput.tsx
|
|
1398
1397
|
import * as React21 from "react";
|
|
@@ -1698,6 +1697,109 @@ import { SearchIcon } from "@bubo-squared/icons";
|
|
|
1698
1697
|
// src/components/ui/dialog.tsx
|
|
1699
1698
|
import "react";
|
|
1700
1699
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
1700
|
+
|
|
1701
|
+
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/createLucideIcon.js
|
|
1702
|
+
import { forwardRef as forwardRef14, createElement as createElement2 } from "react";
|
|
1703
|
+
|
|
1704
|
+
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/shared/src/utils.js
|
|
1705
|
+
var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
1706
|
+
var toCamelCase = (string) => string.replace(
|
|
1707
|
+
/^([A-Z])|[\s-_]+(\w)/g,
|
|
1708
|
+
(match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()
|
|
1709
|
+
);
|
|
1710
|
+
var toPascalCase = (string) => {
|
|
1711
|
+
const camelCase = toCamelCase(string);
|
|
1712
|
+
return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);
|
|
1713
|
+
};
|
|
1714
|
+
var mergeClasses = (...classes) => classes.filter((className, index, array) => {
|
|
1715
|
+
return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
|
|
1716
|
+
}).join(" ").trim();
|
|
1717
|
+
var hasA11yProp = (props) => {
|
|
1718
|
+
for (const prop in props) {
|
|
1719
|
+
if (prop.startsWith("aria-") || prop === "role" || prop === "title") {
|
|
1720
|
+
return true;
|
|
1721
|
+
}
|
|
1722
|
+
}
|
|
1723
|
+
};
|
|
1724
|
+
|
|
1725
|
+
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/Icon.js
|
|
1726
|
+
import { forwardRef as forwardRef13, createElement } from "react";
|
|
1727
|
+
|
|
1728
|
+
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/defaultAttributes.js
|
|
1729
|
+
var defaultAttributes = {
|
|
1730
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1731
|
+
width: 24,
|
|
1732
|
+
height: 24,
|
|
1733
|
+
viewBox: "0 0 24 24",
|
|
1734
|
+
fill: "none",
|
|
1735
|
+
stroke: "currentColor",
|
|
1736
|
+
strokeWidth: 2,
|
|
1737
|
+
strokeLinecap: "round",
|
|
1738
|
+
strokeLinejoin: "round"
|
|
1739
|
+
};
|
|
1740
|
+
|
|
1741
|
+
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/Icon.js
|
|
1742
|
+
var Icon2 = forwardRef13(
|
|
1743
|
+
({
|
|
1744
|
+
color = "currentColor",
|
|
1745
|
+
size = 24,
|
|
1746
|
+
strokeWidth = 2,
|
|
1747
|
+
absoluteStrokeWidth,
|
|
1748
|
+
className = "",
|
|
1749
|
+
children,
|
|
1750
|
+
iconNode,
|
|
1751
|
+
...rest
|
|
1752
|
+
}, ref) => createElement(
|
|
1753
|
+
"svg",
|
|
1754
|
+
{
|
|
1755
|
+
ref,
|
|
1756
|
+
...defaultAttributes,
|
|
1757
|
+
width: size,
|
|
1758
|
+
height: size,
|
|
1759
|
+
stroke: color,
|
|
1760
|
+
strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
|
|
1761
|
+
className: mergeClasses("lucide", className),
|
|
1762
|
+
...!children && !hasA11yProp(rest) && { "aria-hidden": "true" },
|
|
1763
|
+
...rest
|
|
1764
|
+
},
|
|
1765
|
+
[
|
|
1766
|
+
...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),
|
|
1767
|
+
...Array.isArray(children) ? children : [children]
|
|
1768
|
+
]
|
|
1769
|
+
)
|
|
1770
|
+
);
|
|
1771
|
+
|
|
1772
|
+
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/createLucideIcon.js
|
|
1773
|
+
var createLucideIcon = (iconName, iconNode) => {
|
|
1774
|
+
const Component = forwardRef14(
|
|
1775
|
+
({ className, ...props }, ref) => createElement2(Icon2, {
|
|
1776
|
+
ref,
|
|
1777
|
+
iconNode,
|
|
1778
|
+
className: mergeClasses(
|
|
1779
|
+
`lucide-${toKebabCase(toPascalCase(iconName))}`,
|
|
1780
|
+
`lucide-${iconName}`,
|
|
1781
|
+
className
|
|
1782
|
+
),
|
|
1783
|
+
...props
|
|
1784
|
+
})
|
|
1785
|
+
);
|
|
1786
|
+
Component.displayName = toPascalCase(iconName);
|
|
1787
|
+
return Component;
|
|
1788
|
+
};
|
|
1789
|
+
|
|
1790
|
+
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chevron-right.js
|
|
1791
|
+
var __iconNode = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
1792
|
+
var ChevronRight = createLucideIcon("chevron-right", __iconNode);
|
|
1793
|
+
|
|
1794
|
+
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/ellipsis.js
|
|
1795
|
+
var __iconNode2 = [
|
|
1796
|
+
["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
|
|
1797
|
+
["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }],
|
|
1798
|
+
["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]
|
|
1799
|
+
];
|
|
1800
|
+
var Ellipsis = createLucideIcon("ellipsis", __iconNode2);
|
|
1801
|
+
|
|
1802
|
+
// src/components/ui/dialog.tsx
|
|
1701
1803
|
import { jsx as jsx25, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1702
1804
|
|
|
1703
1805
|
// src/components/ui/command.tsx
|
|
@@ -2016,7 +2118,9 @@ var CountrySelect = ({
|
|
|
2016
2118
|
modal: true,
|
|
2017
2119
|
onOpenChange: (open) => {
|
|
2018
2120
|
setIsOpen(open);
|
|
2019
|
-
|
|
2121
|
+
if (open) {
|
|
2122
|
+
setSearchValue("");
|
|
2123
|
+
}
|
|
2020
2124
|
},
|
|
2021
2125
|
children: [
|
|
2022
2126
|
/* @__PURE__ */ jsx29(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs17(
|
|
@@ -2135,7 +2239,6 @@ var FlagComponent = ({ country, countryName }) => {
|
|
|
2135
2239
|
import * as React28 from "react";
|
|
2136
2240
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
2137
2241
|
import { jsx as jsx30, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2138
|
-
var wrapperBase = "flex flex-col gap-2 items-start";
|
|
2139
2242
|
var RadioGroup = ({
|
|
2140
2243
|
label,
|
|
2141
2244
|
hint,
|
|
@@ -2155,117 +2258,96 @@ var RadioGroup = ({
|
|
|
2155
2258
|
onValueChange?.(next);
|
|
2156
2259
|
};
|
|
2157
2260
|
const isHorizontal = orientation === "horizontal";
|
|
2158
|
-
return /* @__PURE__ */
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2261
|
+
return /* @__PURE__ */ jsx30(
|
|
2262
|
+
Field,
|
|
2263
|
+
{
|
|
2264
|
+
label,
|
|
2265
|
+
hint,
|
|
2266
|
+
hideHint,
|
|
2267
|
+
disabled,
|
|
2268
|
+
children: /* @__PURE__ */ jsx30(
|
|
2269
|
+
RadioGroupPrimitive.Root,
|
|
2270
|
+
{
|
|
2271
|
+
...rootProps,
|
|
2272
|
+
value,
|
|
2273
|
+
defaultValue,
|
|
2274
|
+
onValueChange: handleValueChange,
|
|
2275
|
+
disabled,
|
|
2276
|
+
"aria-describedby": hintId,
|
|
2277
|
+
className: cn(
|
|
2278
|
+
"flex",
|
|
2279
|
+
isHorizontal ? "flex-row gap-6" : "flex-col gap-2",
|
|
2280
|
+
className
|
|
2281
|
+
),
|
|
2282
|
+
children: options.map((option) => /* @__PURE__ */ jsx30("div", { className: "relative inline-flex", children: /* @__PURE__ */ jsxs18(
|
|
2283
|
+
RadioGroupPrimitive.Item,
|
|
2284
|
+
{
|
|
2285
|
+
value: option.value,
|
|
2286
|
+
disabled: disabled || option.disabled,
|
|
2287
|
+
className: cn(
|
|
2288
|
+
"group inline-flex items-center gap-2 outline-none",
|
|
2289
|
+
"data-disabled:pointer-events-none",
|
|
2290
|
+
disabled || option.disabled ? "cursor-default" : "cursor-pointer"
|
|
2291
|
+
),
|
|
2292
|
+
children: [
|
|
2293
|
+
/* @__PURE__ */ jsx30(
|
|
2294
|
+
"span",
|
|
2295
|
+
{
|
|
2296
|
+
className: cn(
|
|
2297
|
+
"flex items-center justify-center shrink-0 h-5 w-5 rounded-full border bg-(--background-primary) transition-all",
|
|
2298
|
+
// 1: enabled, unchecked, unfocused, unhovered
|
|
2299
|
+
"group-data-[state=unchecked]:border-(--border-secondary)",
|
|
2300
|
+
// 2: enabled, checked, unfocused, unhovered
|
|
2301
|
+
"group-data-[state=checked]:border-(--border-brand)",
|
|
2302
|
+
// 3: enabled, unchecked, hovered, unfocused
|
|
2303
|
+
"group-data-[state=unchecked]:group-hover:border-(--border-secondary-hover)",
|
|
2304
|
+
// 4: enabled, checked, hovered, unfocused
|
|
2305
|
+
"group-data-[state=checked]:group-hover:border-(--border-brand-hover)",
|
|
2306
|
+
"group-data-[state=checked]:group-hover:shadow-[0_0_0_var(--focus-ring-spread)_var(--focus-secondary)]",
|
|
2307
|
+
// 5: enabled, unchecked, focused (override 1/3)
|
|
2308
|
+
"group-data-[state=unchecked]:group-focus-visible:border-(--border-secondary-hover)",
|
|
2309
|
+
// 6: enabled, checked, focused (override 2/4)
|
|
2310
|
+
"group-data-[state=checked]:group-focus-visible:border-(--border-brand-focus)",
|
|
2311
|
+
"group-data-[state=checked]:group-focus-visible:shadow-[0_0_0_var(--focus-ring-spread)_var(--focus-primary)]",
|
|
2312
|
+
// 7: disabled, unchecked (override everything above)
|
|
2313
|
+
"group-[&[data-disabled][data-state=unchecked]]:border-none",
|
|
2314
|
+
"group-[&[data-disabled][data-state=unchecked]]:bg-(--background-primary-disabled)",
|
|
2315
|
+
// 8: disabled, checked (override everything above)
|
|
2316
|
+
"group-[&[data-disabled][data-state=checked]]:border-(--border-primary-disabled)",
|
|
2317
|
+
"group-[&[data-disabled][data-state=checked]]:bg-(--background-primary-disabled)"
|
|
2318
|
+
),
|
|
2319
|
+
children: /* @__PURE__ */ jsx30(
|
|
2320
|
+
"span",
|
|
2321
|
+
{
|
|
2322
|
+
className: cn(
|
|
2323
|
+
"h-4 w-4 rounded-full bg-(--background-brand) scale-0 transition-transform",
|
|
2324
|
+
"group-data-[state=checked]:scale-100",
|
|
2325
|
+
"group-data-[state=checked]:group-hover:bg-(--background-brand-hover)",
|
|
2326
|
+
"group-data-[state=checked]:group-focus-visible:bg-(--background-brand-hover)",
|
|
2327
|
+
"group-[&[data-disabled][data-state=checked]]:bg-(--background-brand-disabled)",
|
|
2328
|
+
"group-[&[data-disabled][data-state=unchecked]]:scale-0"
|
|
2329
|
+
)
|
|
2330
|
+
}
|
|
2331
|
+
)
|
|
2332
|
+
}
|
|
2196
2333
|
),
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
// 6: enabled, checked, focused (override 2/4)
|
|
2215
|
-
"group-data-[state=checked]:group-focus-visible:border-(--border-brand-focus)",
|
|
2216
|
-
"group-data-[state=checked]:group-focus-visible:shadow-[0_0_0_var(--focus-ring-spread)_var(--focus-primary)]",
|
|
2217
|
-
// 7: disabled, unchecked (override everything above)
|
|
2218
|
-
"group-[&[data-disabled][data-state=unchecked]]:border-none",
|
|
2219
|
-
"group-[&[data-disabled][data-state=unchecked]]:bg-(--background-primary-disabled)",
|
|
2220
|
-
// 8: disabled, checked (override everything above)
|
|
2221
|
-
"group-[&[data-disabled][data-state=checked]]:border-(--border-primary-disabled)",
|
|
2222
|
-
"group-[&[data-disabled][data-state=checked]]:bg-(--background-primary-disabled)"
|
|
2223
|
-
),
|
|
2224
|
-
children: /* @__PURE__ */ jsx30(
|
|
2225
|
-
"span",
|
|
2226
|
-
{
|
|
2227
|
-
className: cn(
|
|
2228
|
-
"h-4 w-4 rounded-full bg-(--background-brand) scale-0 transition-transform",
|
|
2229
|
-
"group-data-[state=checked]:scale-100",
|
|
2230
|
-
"group-data-[state=checked]:group-hover:bg-(--background-brand-hover)",
|
|
2231
|
-
"group-data-[state=checked]:group-focus-visible:bg-(--background-brand-hover)",
|
|
2232
|
-
"group-[&[data-disabled][data-state=checked]]:bg-(--background-brand-disabled)",
|
|
2233
|
-
"group-[&[data-disabled][data-state=unchecked]]:scale-0"
|
|
2234
|
-
)
|
|
2235
|
-
}
|
|
2236
|
-
)
|
|
2237
|
-
}
|
|
2238
|
-
),
|
|
2239
|
-
/* @__PURE__ */ jsx30(
|
|
2240
|
-
"span",
|
|
2241
|
-
{
|
|
2242
|
-
className: cn(
|
|
2243
|
-
"paragraph-sm text-primary",
|
|
2244
|
-
"group-data-[disabled]:text-primary-disabled whitespace-nowrap"
|
|
2245
|
-
),
|
|
2246
|
-
children: option.label
|
|
2247
|
-
}
|
|
2248
|
-
)
|
|
2249
|
-
]
|
|
2250
|
-
}
|
|
2251
|
-
)
|
|
2252
|
-
},
|
|
2253
|
-
option.value
|
|
2254
|
-
))
|
|
2255
|
-
}
|
|
2256
|
-
),
|
|
2257
|
-
!hideHint && /* @__PURE__ */ jsx30(
|
|
2258
|
-
"p",
|
|
2259
|
-
{
|
|
2260
|
-
id: hintId,
|
|
2261
|
-
className: cn(
|
|
2262
|
-
"caption text-(--color-secondary)",
|
|
2263
|
-
disabled && "text-primary-disabled"
|
|
2264
|
-
),
|
|
2265
|
-
children: hint ?? "\xA0"
|
|
2266
|
-
}
|
|
2267
|
-
)
|
|
2268
|
-
] });
|
|
2334
|
+
/* @__PURE__ */ jsx30(
|
|
2335
|
+
"span",
|
|
2336
|
+
{
|
|
2337
|
+
className: cn(
|
|
2338
|
+
"paragraph-sm text-primary",
|
|
2339
|
+
"group-data-disabled:text-primary-disabled whitespace-nowrap"
|
|
2340
|
+
),
|
|
2341
|
+
children: option.label
|
|
2342
|
+
}
|
|
2343
|
+
)
|
|
2344
|
+
]
|
|
2345
|
+
}
|
|
2346
|
+
) }, option.value))
|
|
2347
|
+
}
|
|
2348
|
+
)
|
|
2349
|
+
}
|
|
2350
|
+
);
|
|
2269
2351
|
};
|
|
2270
2352
|
|
|
2271
2353
|
// src/components/Inputs/SearchInput.tsx
|
|
@@ -2319,7 +2401,7 @@ var SearchInput = (props) => {
|
|
|
2319
2401
|
inputRef.current?.focus();
|
|
2320
2402
|
};
|
|
2321
2403
|
const showTrailingIcon = !!trailingIcon;
|
|
2322
|
-
return /* @__PURE__ */ jsx31("div", { className: "flex flex-col gap-2 items-start", children: /* @__PURE__ */ jsx31("div", { className: "relative w-full", children: /* @__PURE__ */ jsxs19(
|
|
2404
|
+
return /* @__PURE__ */ jsx31("div", { className: "flex flex-col gap-2 items-start w-full", children: /* @__PURE__ */ jsx31("div", { className: "relative w-full", children: /* @__PURE__ */ jsxs19(
|
|
2323
2405
|
InputShell,
|
|
2324
2406
|
{
|
|
2325
2407
|
size,
|
|
@@ -2352,8 +2434,8 @@ SearchInput.displayName = "SearchInput";
|
|
|
2352
2434
|
|
|
2353
2435
|
// src/components/Inputs/Slider.tsx
|
|
2354
2436
|
import * as React30 from "react";
|
|
2355
|
-
import { jsx as jsx32, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2356
|
-
var
|
|
2437
|
+
import { Fragment as Fragment2, jsx as jsx32, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2438
|
+
var wrapperBase = "flex flex-col gap-2 items-start";
|
|
2357
2439
|
var isRangeProps = (props) => {
|
|
2358
2440
|
return Array.isArray(props.value) || Array.isArray(props.defaultValue);
|
|
2359
2441
|
};
|
|
@@ -2363,6 +2445,7 @@ var toArray = (value) => {
|
|
|
2363
2445
|
};
|
|
2364
2446
|
var Slider = (props) => {
|
|
2365
2447
|
const {
|
|
2448
|
+
name,
|
|
2366
2449
|
display = "flat",
|
|
2367
2450
|
tooltipPlacement = "top",
|
|
2368
2451
|
tooltipFormatter,
|
|
@@ -2410,29 +2493,12 @@ var Slider = (props) => {
|
|
|
2410
2493
|
const trackRef = React30.useRef(null);
|
|
2411
2494
|
const [draggingThumbIndex, setDraggingThumbIndex] = React30.useState(null);
|
|
2412
2495
|
const [hoveredThumbIndex, setHoveredThumbIndex] = React30.useState(null);
|
|
2413
|
-
const clamp = (val) => {
|
|
2496
|
+
const clamp = React30.useCallback((val) => {
|
|
2414
2497
|
if (val < min) return min;
|
|
2415
2498
|
if (val > max) return max;
|
|
2416
2499
|
return val;
|
|
2417
|
-
};
|
|
2418
|
-
React30.
|
|
2419
|
-
if (!isControlled) {
|
|
2420
|
-
setInternalValue((prev) => {
|
|
2421
|
-
const clamped = prev.map((v) => clamp(v));
|
|
2422
|
-
if (isRange && clamped.length === 2 && step > 0) {
|
|
2423
|
-
return enforceMinGap(clamped, prev);
|
|
2424
|
-
}
|
|
2425
|
-
return clamped;
|
|
2426
|
-
});
|
|
2427
|
-
}
|
|
2428
|
-
}, [isControlled, min, max, isRange]);
|
|
2429
|
-
const snap = (val) => {
|
|
2430
|
-
const range = max - min;
|
|
2431
|
-
if (range <= 0 || step <= 0) return clamp(val);
|
|
2432
|
-
const stepsFromMin = Math.round((val - min) / step);
|
|
2433
|
-
return clamp(min + stepsFromMin * step);
|
|
2434
|
-
};
|
|
2435
|
-
const enforceMinGap = (next, prev) => {
|
|
2500
|
+
}, [min, max]);
|
|
2501
|
+
const enforceMinGap = React30.useCallback((next, prev) => {
|
|
2436
2502
|
if (!isRange || next.length !== 2 || step <= 0) return next;
|
|
2437
2503
|
let [low, high] = next;
|
|
2438
2504
|
const [prevLow, prevHigh] = prev.length === 2 ? prev : next;
|
|
@@ -2455,6 +2521,23 @@ var Slider = (props) => {
|
|
|
2455
2521
|
}
|
|
2456
2522
|
}
|
|
2457
2523
|
return [low, high];
|
|
2524
|
+
}, [isRange, step, clamp]);
|
|
2525
|
+
React30.useEffect(() => {
|
|
2526
|
+
if (!isControlled) {
|
|
2527
|
+
setInternalValue((prev) => {
|
|
2528
|
+
const clamped = prev.map((v) => clamp(v));
|
|
2529
|
+
if (isRange && clamped.length === 2 && step > 0) {
|
|
2530
|
+
return enforceMinGap(clamped, prev);
|
|
2531
|
+
}
|
|
2532
|
+
return clamped;
|
|
2533
|
+
});
|
|
2534
|
+
}
|
|
2535
|
+
}, [isControlled, clamp, enforceMinGap, isRange, step]);
|
|
2536
|
+
const snap = (val) => {
|
|
2537
|
+
const range = max - min;
|
|
2538
|
+
if (range <= 0 || step <= 0) return clamp(val);
|
|
2539
|
+
const stepsFromMin = Math.round((val - min) / step);
|
|
2540
|
+
return clamp(min + stepsFromMin * step);
|
|
2458
2541
|
};
|
|
2459
2542
|
const updateValue = (next) => {
|
|
2460
2543
|
let normalized = normalizeArray(next, current);
|
|
@@ -2677,7 +2760,7 @@ var Slider = (props) => {
|
|
|
2677
2760
|
style: {
|
|
2678
2761
|
left: `${percent}%`,
|
|
2679
2762
|
top: `calc(50% - ${trackHeight / 2}px)`,
|
|
2680
|
-
|
|
2763
|
+
"--slider-halo-color": "color-mix(in srgb, var(--color-brand) 10%, transparent)"
|
|
2681
2764
|
},
|
|
2682
2765
|
onPointerEnter: () => {
|
|
2683
2766
|
setHoveredThumbIndex(index);
|
|
@@ -2696,66 +2779,88 @@ var Slider = (props) => {
|
|
|
2696
2779
|
index
|
|
2697
2780
|
);
|
|
2698
2781
|
};
|
|
2699
|
-
return /* @__PURE__ */
|
|
2782
|
+
return /* @__PURE__ */ jsxs20(
|
|
2700
2783
|
"div",
|
|
2701
2784
|
{
|
|
2702
|
-
className:
|
|
2785
|
+
className: wrapperBase,
|
|
2703
2786
|
style: { marginInline: `${thumbRadius}px` },
|
|
2704
|
-
children:
|
|
2705
|
-
/* @__PURE__ */ jsxs20(
|
|
2706
|
-
|
|
2707
|
-
"
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
secondaryPercent,
|
|
2715
|
-
formatDisplayValue(secondary),
|
|
2716
|
-
hoveredThumbIndex === 1 || draggingThumbIndex === 1
|
|
2787
|
+
children: [
|
|
2788
|
+
name && /* @__PURE__ */ jsxs20(Fragment2, { children: [
|
|
2789
|
+
/* @__PURE__ */ jsx32(
|
|
2790
|
+
"input",
|
|
2791
|
+
{
|
|
2792
|
+
type: "hidden",
|
|
2793
|
+
name,
|
|
2794
|
+
value: primary === void 0 ? "" : String(primary),
|
|
2795
|
+
disabled
|
|
2796
|
+
}
|
|
2717
2797
|
),
|
|
2718
|
-
/* @__PURE__ */
|
|
2719
|
-
"
|
|
2798
|
+
isRange && secondary !== void 0 && /* @__PURE__ */ jsx32(
|
|
2799
|
+
"input",
|
|
2720
2800
|
{
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
style: { height: `${trackHeight}px` },
|
|
2726
|
-
ref: trackRef,
|
|
2727
|
-
onPointerDown: handleTrackPointerDown,
|
|
2728
|
-
children: [
|
|
2729
|
-
/* @__PURE__ */ jsx32(
|
|
2730
|
-
"div",
|
|
2731
|
-
{
|
|
2732
|
-
className: cn(
|
|
2733
|
-
"absolute h-full rounded-4",
|
|
2734
|
-
disabled ? "bg-(--background-primary-disabled)" : "bg-(--background-secondary)"
|
|
2735
|
-
),
|
|
2736
|
-
style: {
|
|
2737
|
-
width: `calc(100% + ${thumbWidth}px)`,
|
|
2738
|
-
left: `-${thumbRadius}px`
|
|
2739
|
-
}
|
|
2740
|
-
}
|
|
2741
|
-
),
|
|
2742
|
-
renderHandle(0, primaryPercent, formatDisplayValue(primary)),
|
|
2743
|
-
isRange && secondary !== void 0 && renderHandle(1, secondaryPercent, formatDisplayValue(secondary))
|
|
2744
|
-
]
|
|
2801
|
+
type: "hidden",
|
|
2802
|
+
name,
|
|
2803
|
+
value: String(secondary),
|
|
2804
|
+
disabled
|
|
2745
2805
|
}
|
|
2746
2806
|
)
|
|
2747
2807
|
] }),
|
|
2748
|
-
|
|
2749
|
-
"
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2808
|
+
/* @__PURE__ */ jsxs20("div", { className: cn("w-full flex flex-col gap-1", className), children: [
|
|
2809
|
+
/* @__PURE__ */ jsxs20("div", { className: "relative w-full", children: [
|
|
2810
|
+
showTooltip && primary !== void 0 && renderTooltipBubble(
|
|
2811
|
+
"primary",
|
|
2812
|
+
primaryPercent,
|
|
2813
|
+
formatDisplayValue(primary),
|
|
2814
|
+
hoveredThumbIndex === 0 || draggingThumbIndex === 0
|
|
2754
2815
|
),
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2816
|
+
showTooltip && isRange && secondary !== void 0 && renderTooltipBubble(
|
|
2817
|
+
"secondary",
|
|
2818
|
+
secondaryPercent,
|
|
2819
|
+
formatDisplayValue(secondary),
|
|
2820
|
+
hoveredThumbIndex === 1 || draggingThumbIndex === 1
|
|
2821
|
+
),
|
|
2822
|
+
/* @__PURE__ */ jsxs20(
|
|
2823
|
+
"div",
|
|
2824
|
+
{
|
|
2825
|
+
className: cn(
|
|
2826
|
+
"relative w-full flex items-center rounded-4",
|
|
2827
|
+
disabled ? "bg-(--background-primary-disabled) cursor-default" : "bg-(--background-secondary) cursor-pointer"
|
|
2828
|
+
),
|
|
2829
|
+
style: { height: `${trackHeight}px` },
|
|
2830
|
+
ref: trackRef,
|
|
2831
|
+
onPointerDown: handleTrackPointerDown,
|
|
2832
|
+
children: [
|
|
2833
|
+
/* @__PURE__ */ jsx32(
|
|
2834
|
+
"div",
|
|
2835
|
+
{
|
|
2836
|
+
className: cn(
|
|
2837
|
+
"absolute h-full rounded-4",
|
|
2838
|
+
disabled ? "bg-(--background-primary-disabled)" : "bg-(--background-secondary)"
|
|
2839
|
+
),
|
|
2840
|
+
style: {
|
|
2841
|
+
width: `calc(100% + ${thumbWidth}px)`,
|
|
2842
|
+
left: `-${thumbRadius}px`
|
|
2843
|
+
}
|
|
2844
|
+
}
|
|
2845
|
+
),
|
|
2846
|
+
renderHandle(0, primaryPercent, formatDisplayValue(primary)),
|
|
2847
|
+
isRange && secondary !== void 0 && renderHandle(1, secondaryPercent, formatDisplayValue(secondary))
|
|
2848
|
+
]
|
|
2849
|
+
}
|
|
2850
|
+
)
|
|
2851
|
+
] }),
|
|
2852
|
+
showNumeric && /* @__PURE__ */ jsx32(
|
|
2853
|
+
"p",
|
|
2854
|
+
{
|
|
2855
|
+
className: cn(
|
|
2856
|
+
"paragraph-sm text-primary",
|
|
2857
|
+
disabled && "text-primary-disabled"
|
|
2858
|
+
),
|
|
2859
|
+
children: formatNumericLabel()
|
|
2860
|
+
}
|
|
2861
|
+
)
|
|
2862
|
+
] })
|
|
2863
|
+
]
|
|
2759
2864
|
}
|
|
2760
2865
|
);
|
|
2761
2866
|
};
|
|
@@ -2765,7 +2870,6 @@ Slider.displayName = "Slider";
|
|
|
2765
2870
|
import * as React31 from "react";
|
|
2766
2871
|
import { MaximizeIcon } from "@bubo-squared/icons";
|
|
2767
2872
|
import { jsx as jsx33, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2768
|
-
var wrapperBase3 = "flex flex-col gap-2 items-start w-full";
|
|
2769
2873
|
var TextArea = (props) => {
|
|
2770
2874
|
const {
|
|
2771
2875
|
label,
|
|
@@ -2780,6 +2884,8 @@ var TextArea = (props) => {
|
|
|
2780
2884
|
defaultValue,
|
|
2781
2885
|
onChange,
|
|
2782
2886
|
rows = 3,
|
|
2887
|
+
id,
|
|
2888
|
+
name,
|
|
2783
2889
|
...textareaProps
|
|
2784
2890
|
} = props;
|
|
2785
2891
|
const isControlled = value !== void 0;
|
|
@@ -2807,9 +2913,8 @@ var TextArea = (props) => {
|
|
|
2807
2913
|
}
|
|
2808
2914
|
onChange?.(event);
|
|
2809
2915
|
};
|
|
2810
|
-
const
|
|
2811
|
-
const
|
|
2812
|
-
const hintId = `${inputId}-hint`;
|
|
2916
|
+
const generatedId = React31.useId();
|
|
2917
|
+
const textareaId = id ?? generatedId;
|
|
2813
2918
|
const statusBorderClass = {
|
|
2814
2919
|
default: "",
|
|
2815
2920
|
success: "border-(--border-success)",
|
|
@@ -2820,7 +2925,6 @@ var TextArea = (props) => {
|
|
|
2820
2925
|
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)]",
|
|
2821
2926
|
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)]"
|
|
2822
2927
|
};
|
|
2823
|
-
const hintColorClass = disabled ? "text-primary-disabled" : status === "success" ? "text-(--color-success)" : status === "error" ? "text-(--color-error)" : "text-(--color-secondary)";
|
|
2824
2928
|
const counterColorClass = disabled ? "text-primary-disabled" : status === "success" ? "text-(--color-success)" : status === "error" ? "text-(--color-error)" : "text-primary";
|
|
2825
2929
|
const handleResizePointerDown = (event) => {
|
|
2826
2930
|
if (disabled) return;
|
|
@@ -2846,102 +2950,90 @@ var TextArea = (props) => {
|
|
|
2846
2950
|
window.addEventListener("pointermove", handlePointerMove);
|
|
2847
2951
|
window.addEventListener("pointerup", handlePointerUp);
|
|
2848
2952
|
};
|
|
2849
|
-
return /* @__PURE__ */
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
|
|
2859
|
-
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
disabled && "bg-(--background-primary-disabled) border-(--border-secondary-disabled) cursor-default",
|
|
2869
|
-
statusBorderClass[status],
|
|
2870
|
-
!disabled && statusFocusClass[status],
|
|
2871
|
-
className
|
|
2872
|
-
),
|
|
2873
|
-
ref: containerRef,
|
|
2874
|
-
style: {
|
|
2875
|
-
...type === "responsive" && height !== void 0 ? { height } : {},
|
|
2876
|
-
...type === "responsive" && width !== void 0 ? { width } : {}
|
|
2877
|
-
},
|
|
2878
|
-
onClick: handleContainerClick,
|
|
2879
|
-
"aria-disabled": disabled || void 0,
|
|
2880
|
-
children: [
|
|
2881
|
-
/* @__PURE__ */ jsx33(
|
|
2882
|
-
"textarea",
|
|
2883
|
-
{
|
|
2884
|
-
id: inputId,
|
|
2885
|
-
ref: textareaRef,
|
|
2886
|
-
"aria-labelledby": label ? labelId : void 0,
|
|
2887
|
-
"aria-describedby": hint ? hintId : void 0,
|
|
2888
|
-
disabled: disabled ?? void 0,
|
|
2889
|
-
value: isControlled ? value : currentValue,
|
|
2890
|
-
defaultValue: isControlled ? void 0 : defaultValue,
|
|
2891
|
-
onChange: handleChange,
|
|
2892
|
-
rows,
|
|
2893
|
-
maxLength: effectiveMaxLength,
|
|
2894
|
-
className: cn(
|
|
2895
|
-
"paragraph-md bg-transparent outline-none w-full h-full resize-none px-2 py-2 pr-8",
|
|
2896
|
-
disabled ? "text-primary-disabled" : hasValue ? "text-primary" : "text-(--color-secondary)",
|
|
2897
|
-
showCharacterLimit && "pr-16"
|
|
2898
|
-
),
|
|
2899
|
-
...textareaProps
|
|
2900
|
-
}
|
|
2901
|
-
),
|
|
2902
|
-
showCharacterLimit && /* @__PURE__ */ jsxs21(
|
|
2903
|
-
"span",
|
|
2904
|
-
{
|
|
2905
|
-
className: cn(
|
|
2906
|
-
"absolute bottom-1 right-1 footnote mb-0!",
|
|
2907
|
-
counterColorClass
|
|
2908
|
-
),
|
|
2909
|
-
children: [
|
|
2910
|
-
currentLength,
|
|
2911
|
-
"/",
|
|
2912
|
-
effectiveMaxLength
|
|
2913
|
-
]
|
|
2914
|
-
}
|
|
2953
|
+
return /* @__PURE__ */ jsx33(
|
|
2954
|
+
Field,
|
|
2955
|
+
{
|
|
2956
|
+
className: "w-full",
|
|
2957
|
+
label,
|
|
2958
|
+
hint,
|
|
2959
|
+
hideHint,
|
|
2960
|
+
status,
|
|
2961
|
+
disabled,
|
|
2962
|
+
children: /* @__PURE__ */ jsxs21(
|
|
2963
|
+
"div",
|
|
2964
|
+
{
|
|
2965
|
+
className: cn(
|
|
2966
|
+
"relative flex w-full rounded-4 border bg-(--background-primary) cursor-text transition-colors",
|
|
2967
|
+
"border-(--border-secondary) hover:border-(--border-secondary-hover) hover:bg-(--background-primary-hover)",
|
|
2968
|
+
disabled && "bg-(--background-primary-disabled) border-(--border-secondary-disabled) cursor-default",
|
|
2969
|
+
statusBorderClass[status],
|
|
2970
|
+
!disabled && statusFocusClass[status],
|
|
2971
|
+
className
|
|
2915
2972
|
),
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
{
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2973
|
+
ref: containerRef,
|
|
2974
|
+
style: {
|
|
2975
|
+
...type === "responsive" && height !== void 0 ? { height } : {},
|
|
2976
|
+
...type === "responsive" && width !== void 0 ? { width } : {}
|
|
2977
|
+
},
|
|
2978
|
+
onClick: handleContainerClick,
|
|
2979
|
+
"aria-disabled": disabled || void 0,
|
|
2980
|
+
children: [
|
|
2981
|
+
/* @__PURE__ */ jsx33(
|
|
2982
|
+
"textarea",
|
|
2983
|
+
{
|
|
2984
|
+
id: textareaId,
|
|
2985
|
+
name,
|
|
2986
|
+
ref: textareaRef,
|
|
2987
|
+
disabled: disabled ?? void 0,
|
|
2988
|
+
value: isControlled ? value : currentValue,
|
|
2989
|
+
defaultValue: isControlled ? void 0 : defaultValue,
|
|
2990
|
+
onChange: handleChange,
|
|
2991
|
+
rows,
|
|
2992
|
+
maxLength: effectiveMaxLength,
|
|
2993
|
+
className: cn(
|
|
2994
|
+
"paragraph-md bg-transparent outline-none w-full h-full resize-none px-2 py-2 pr-8",
|
|
2995
|
+
disabled ? "text-primary-disabled" : hasValue ? "text-primary" : "text-(--color-secondary)",
|
|
2996
|
+
showCharacterLimit && "pr-16"
|
|
2997
|
+
),
|
|
2998
|
+
...textareaProps
|
|
2999
|
+
}
|
|
3000
|
+
),
|
|
3001
|
+
showCharacterLimit && /* @__PURE__ */ jsxs21(
|
|
3002
|
+
"span",
|
|
3003
|
+
{
|
|
3004
|
+
className: cn(
|
|
3005
|
+
"absolute bottom-1 right-1 footnote mb-0!",
|
|
3006
|
+
counterColorClass
|
|
3007
|
+
),
|
|
3008
|
+
children: [
|
|
3009
|
+
currentLength,
|
|
3010
|
+
"/",
|
|
3011
|
+
effectiveMaxLength
|
|
3012
|
+
]
|
|
3013
|
+
}
|
|
3014
|
+
),
|
|
3015
|
+
type === "responsive" && /* @__PURE__ */ jsx33(
|
|
3016
|
+
"div",
|
|
3017
|
+
{
|
|
3018
|
+
className: "absolute bottom-1 right-1 h-3 w-3 " + (disabled ? "cursor-auto" : "cursor-nwse-resize"),
|
|
3019
|
+
onPointerDown: disabled ? void 0 : handleResizePointerDown,
|
|
3020
|
+
children: /* @__PURE__ */ jsx33(
|
|
3021
|
+
"span",
|
|
3022
|
+
{
|
|
3023
|
+
className: cn(
|
|
3024
|
+
"absolute bottom-0 right-0 flex h-4 w-4 items-center justify-center text-(--icon-primary)",
|
|
3025
|
+
disabled && "text-(--icon-primary-disabled)"
|
|
3026
|
+
),
|
|
3027
|
+
children: /* @__PURE__ */ jsx33(MaximizeIcon, {})
|
|
3028
|
+
}
|
|
3029
|
+
)
|
|
3030
|
+
}
|
|
3031
|
+
)
|
|
3032
|
+
]
|
|
3033
|
+
}
|
|
3034
|
+
)
|
|
3035
|
+
}
|
|
3036
|
+
);
|
|
2945
3037
|
};
|
|
2946
3038
|
TextArea.displayName = "TextArea";
|
|
2947
3039
|
|
|
@@ -3258,9 +3350,9 @@ var Popover2 = (props) => {
|
|
|
3258
3350
|
onOk?.();
|
|
3259
3351
|
setOpen(false);
|
|
3260
3352
|
};
|
|
3261
|
-
const popoverClasses = "group bg-(--background-popover) popover w-80 max-w-[calc(100vw-2rem)] shadow-card-md border-none [
|
|
3262
|
-
const popoverArrowClasses = "relative fill-(--background-popover) transition-[filter,transform] group-data-[side=top]:top-[-2px] group-data-[side=top]:drop-shadow-[
|
|
3263
|
-
const
|
|
3353
|
+
const popoverClasses = "group bg-(--background-popover) popover w-80 max-w-[calc(100vw-2rem)] shadow-card-md border-none [&>span]:scale-240 rounded-4";
|
|
3354
|
+
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)]";
|
|
3355
|
+
const mapPlacementToSideAndAlign2 = (placement2) => {
|
|
3264
3356
|
switch (placement2) {
|
|
3265
3357
|
case "top":
|
|
3266
3358
|
return { side: "top", align: "center" };
|
|
@@ -3290,7 +3382,7 @@ var Popover2 = (props) => {
|
|
|
3290
3382
|
return { side: "bottom", align: "center" };
|
|
3291
3383
|
}
|
|
3292
3384
|
};
|
|
3293
|
-
const { side, align } =
|
|
3385
|
+
const { side, align } = mapPlacementToSideAndAlign2(placement);
|
|
3294
3386
|
return /* @__PURE__ */ jsxs25(Popover, { open, onOpenChange: setOpen, children: [
|
|
3295
3387
|
/* @__PURE__ */ jsx37(PopoverTrigger, { asChild: true, children }),
|
|
3296
3388
|
/* @__PURE__ */ jsxs25(
|
|
@@ -3320,82 +3412,344 @@ var Popover2 = (props) => {
|
|
|
3320
3412
|
};
|
|
3321
3413
|
Popover2.displayName = "Popover";
|
|
3322
3414
|
|
|
3323
|
-
// src/components/
|
|
3324
|
-
import
|
|
3325
|
-
import
|
|
3326
|
-
import { cva as cva19 } from "class-variance-authority";
|
|
3327
|
-
import { ChevronRightIcon } from "@bubo-squared/icons";
|
|
3415
|
+
// src/components/Feedback/Tooltip.tsx
|
|
3416
|
+
import "react";
|
|
3417
|
+
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
3328
3418
|
import { jsx as jsx38, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
3329
|
-
var
|
|
3330
|
-
var
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
}
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
|
|
3419
|
+
var TooltipArrow = TooltipPrimitive.Arrow;
|
|
3420
|
+
var mapPlacementToSideAndAlign = (placement) => {
|
|
3421
|
+
switch (placement) {
|
|
3422
|
+
case "top":
|
|
3423
|
+
return { side: "top", align: "center" };
|
|
3424
|
+
case "topLeft":
|
|
3425
|
+
return { side: "top", align: "start" };
|
|
3426
|
+
case "topRight":
|
|
3427
|
+
return { side: "top", align: "end" };
|
|
3428
|
+
case "bottom":
|
|
3429
|
+
return { side: "bottom", align: "center" };
|
|
3430
|
+
case "bottomLeft":
|
|
3431
|
+
return { side: "bottom", align: "start" };
|
|
3432
|
+
case "bottomRight":
|
|
3433
|
+
return { side: "bottom", align: "end" };
|
|
3434
|
+
case "left":
|
|
3435
|
+
return { side: "left", align: "center" };
|
|
3436
|
+
case "leftTop":
|
|
3437
|
+
return { side: "left", align: "start" };
|
|
3438
|
+
case "leftBottom":
|
|
3439
|
+
return { side: "left", align: "end" };
|
|
3440
|
+
case "right":
|
|
3441
|
+
return { side: "right", align: "center" };
|
|
3442
|
+
case "rightTop":
|
|
3443
|
+
return { side: "right", align: "start" };
|
|
3444
|
+
case "rightBottom":
|
|
3445
|
+
return { side: "right", align: "end" };
|
|
3446
|
+
default:
|
|
3447
|
+
return { side: "top", align: "center" };
|
|
3342
3448
|
}
|
|
3343
|
-
|
|
3344
|
-
var
|
|
3345
|
-
"font-normal text-[length:var(--font-size-paragraph-lg-18)] leading-[var(--font-line-height-28)] tracking-[var(--font-letter-spacing-02)] whitespace-nowrap",
|
|
3346
|
-
{
|
|
3347
|
-
variants: {
|
|
3348
|
-
variant: {
|
|
3349
|
-
colored: "text-(--color-brand) group-hover:text-(--color-brand-hover) group-focus-visible:text-(--color-brand-focus) group-disabled:text-(--color-brand-disabled)",
|
|
3350
|
-
flat: "text-primary group-hover:text-(--color-primary-hover) group-focus-visible:text-(--color-primary-focus) group-disabled:text-primary-disabled"
|
|
3351
|
-
}
|
|
3352
|
-
},
|
|
3353
|
-
defaultVariants: {
|
|
3354
|
-
variant: "flat"
|
|
3355
|
-
}
|
|
3356
|
-
}
|
|
3357
|
-
);
|
|
3358
|
-
var Breadcrumb = React36.forwardRef((props, ref) => {
|
|
3449
|
+
};
|
|
3450
|
+
var Tooltip = (props) => {
|
|
3359
3451
|
const {
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
showText = true,
|
|
3365
|
-
icon,
|
|
3452
|
+
strapline,
|
|
3453
|
+
title,
|
|
3454
|
+
description,
|
|
3455
|
+
showArrow = true,
|
|
3366
3456
|
className,
|
|
3367
|
-
|
|
3368
|
-
|
|
3457
|
+
placement = "top",
|
|
3458
|
+
offset = 10,
|
|
3459
|
+
disableHoverableContent,
|
|
3460
|
+
open,
|
|
3461
|
+
defaultOpen,
|
|
3462
|
+
onOpenChange,
|
|
3463
|
+
children
|
|
3369
3464
|
} = props;
|
|
3370
|
-
const
|
|
3371
|
-
const
|
|
3465
|
+
const { side, align } = mapPlacementToSideAndAlign(placement);
|
|
3466
|
+
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";
|
|
3467
|
+
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)]";
|
|
3372
3468
|
return /* @__PURE__ */ jsxs26(
|
|
3373
|
-
|
|
3469
|
+
TooltipPrimitive.Root,
|
|
3374
3470
|
{
|
|
3375
|
-
|
|
3376
|
-
|
|
3377
|
-
|
|
3378
|
-
|
|
3471
|
+
open,
|
|
3472
|
+
defaultOpen,
|
|
3473
|
+
onOpenChange,
|
|
3474
|
+
disableHoverableContent,
|
|
3379
3475
|
children: [
|
|
3380
|
-
|
|
3381
|
-
|
|
3476
|
+
/* @__PURE__ */ jsx38(TooltipPrimitive.Trigger, { asChild: true, children }),
|
|
3477
|
+
/* @__PURE__ */ jsx38(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs26(
|
|
3478
|
+
TooltipPrimitive.Content,
|
|
3479
|
+
{
|
|
3480
|
+
side,
|
|
3481
|
+
align,
|
|
3482
|
+
sideOffset: offset,
|
|
3483
|
+
className: cn(tooltipClasses, className),
|
|
3484
|
+
children: [
|
|
3485
|
+
showArrow && /* @__PURE__ */ jsx38(TooltipArrow, { className: tooltipArrowClasses }),
|
|
3486
|
+
/* @__PURE__ */ jsxs26("div", { className: "grid gap-2", children: [
|
|
3487
|
+
(strapline ?? "") !== "" && /* @__PURE__ */ jsx38("span", { className: "caption text-secondary", children: strapline }),
|
|
3488
|
+
/* @__PURE__ */ jsx38("h4", { className: "subtitle-medium text-primary", children: title }),
|
|
3489
|
+
(description ?? "") !== "" && /* @__PURE__ */ jsx38("p", { className: "paragraph-sm text-primary", children: description })
|
|
3490
|
+
] })
|
|
3491
|
+
]
|
|
3492
|
+
}
|
|
3493
|
+
) })
|
|
3382
3494
|
]
|
|
3383
3495
|
}
|
|
3384
3496
|
);
|
|
3385
|
-
}
|
|
3386
|
-
|
|
3497
|
+
};
|
|
3498
|
+
Tooltip.displayName = "Tooltip";
|
|
3499
|
+
|
|
3500
|
+
// src/components/Feedback/TooltipProvider.tsx
|
|
3501
|
+
import "react";
|
|
3502
|
+
import * as TooltipPrimitive2 from "@radix-ui/react-tooltip";
|
|
3503
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
3504
|
+
var TooltipProvider = (props) => {
|
|
3505
|
+
const {
|
|
3506
|
+
children,
|
|
3507
|
+
delayDuration = 200,
|
|
3508
|
+
skipDelayDuration = 300,
|
|
3509
|
+
disableHoverableContent = false
|
|
3510
|
+
} = props;
|
|
3511
|
+
return /* @__PURE__ */ jsx39(
|
|
3512
|
+
TooltipPrimitive2.Provider,
|
|
3513
|
+
{
|
|
3514
|
+
delayDuration,
|
|
3515
|
+
skipDelayDuration,
|
|
3516
|
+
disableHoverableContent,
|
|
3517
|
+
children
|
|
3518
|
+
}
|
|
3519
|
+
);
|
|
3520
|
+
};
|
|
3521
|
+
TooltipProvider.displayName = "TooltipProvider";
|
|
3522
|
+
|
|
3523
|
+
// src/components/Navigation/Breadcrumbs.tsx
|
|
3524
|
+
import * as React40 from "react";
|
|
3525
|
+
|
|
3526
|
+
// src/components/ui/breadcrumb.tsx
|
|
3527
|
+
import "react";
|
|
3528
|
+
import { Slot as Slot8 } from "@radix-ui/react-slot";
|
|
3529
|
+
import { jsx as jsx40, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
3530
|
+
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";
|
|
3531
|
+
var disabledItemClasses = "text-primary-disabled cursor-default pointer-events-none";
|
|
3532
|
+
function Breadcrumb({ ...props }) {
|
|
3533
|
+
return /* @__PURE__ */ jsx40("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
|
|
3534
|
+
}
|
|
3535
|
+
function BreadcrumbList({ className, ...props }) {
|
|
3536
|
+
return /* @__PURE__ */ jsx40(
|
|
3537
|
+
"ol",
|
|
3538
|
+
{
|
|
3539
|
+
"data-slot": "breadcrumb-list",
|
|
3540
|
+
className: cn(
|
|
3541
|
+
"flex flex-wrap items-center gap-1.5 wrap-break-word sm:gap-2.5",
|
|
3542
|
+
className
|
|
3543
|
+
),
|
|
3544
|
+
...props
|
|
3545
|
+
}
|
|
3546
|
+
);
|
|
3547
|
+
}
|
|
3548
|
+
function BreadcrumbItem({ className, disabled, ...props }) {
|
|
3549
|
+
return /* @__PURE__ */ jsx40(
|
|
3550
|
+
"li",
|
|
3551
|
+
{
|
|
3552
|
+
"data-slot": "breadcrumb-item",
|
|
3553
|
+
className: cn(breadcrumbItemClasses, disabled && disabledItemClasses, className),
|
|
3554
|
+
style: { marginBottom: "7px" },
|
|
3555
|
+
...props
|
|
3556
|
+
}
|
|
3557
|
+
);
|
|
3558
|
+
}
|
|
3559
|
+
function BreadcrumbPage({ className, ...props }) {
|
|
3560
|
+
return /* @__PURE__ */ jsx40(
|
|
3561
|
+
"span",
|
|
3562
|
+
{
|
|
3563
|
+
"data-slot": "breadcrumb-page",
|
|
3564
|
+
role: "link",
|
|
3565
|
+
"aria-disabled": "true",
|
|
3566
|
+
"aria-current": "page",
|
|
3567
|
+
className: cn(className),
|
|
3568
|
+
...props
|
|
3569
|
+
}
|
|
3570
|
+
);
|
|
3571
|
+
}
|
|
3572
|
+
function BreadcrumbSeparator({
|
|
3573
|
+
children,
|
|
3574
|
+
className,
|
|
3575
|
+
...props
|
|
3576
|
+
}) {
|
|
3577
|
+
return /* @__PURE__ */ jsx40(
|
|
3578
|
+
"li",
|
|
3579
|
+
{
|
|
3580
|
+
"data-slot": "breadcrumb-separator",
|
|
3581
|
+
role: "presentation",
|
|
3582
|
+
"aria-hidden": "true",
|
|
3583
|
+
className: cn("[&>svg]:size-6 [&>svg]:text-(--color-secondary)", className),
|
|
3584
|
+
...props,
|
|
3585
|
+
children: children ?? /* @__PURE__ */ jsx40(ChevronRight, {})
|
|
3586
|
+
}
|
|
3587
|
+
);
|
|
3588
|
+
}
|
|
3589
|
+
function BreadcrumbEllipsis({
|
|
3590
|
+
className,
|
|
3591
|
+
...props
|
|
3592
|
+
}) {
|
|
3593
|
+
return /* @__PURE__ */ jsxs27(
|
|
3594
|
+
"span",
|
|
3595
|
+
{
|
|
3596
|
+
"data-slot": "breadcrumb-ellipsis",
|
|
3597
|
+
role: "presentation",
|
|
3598
|
+
"aria-hidden": "true",
|
|
3599
|
+
className: cn("flex size-9 items-center justify-center", className),
|
|
3600
|
+
...props,
|
|
3601
|
+
children: [
|
|
3602
|
+
/* @__PURE__ */ jsx40(Ellipsis, { className: "size-4" }),
|
|
3603
|
+
/* @__PURE__ */ jsx40("span", { className: "sr-only", children: "More" })
|
|
3604
|
+
]
|
|
3605
|
+
}
|
|
3606
|
+
);
|
|
3607
|
+
}
|
|
3608
|
+
|
|
3609
|
+
// src/components/ui/dropdown-menu.tsx
|
|
3610
|
+
import "react";
|
|
3611
|
+
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
3612
|
+
import { jsx as jsx41, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
3613
|
+
function DropdownMenu({
|
|
3614
|
+
...props
|
|
3615
|
+
}) {
|
|
3616
|
+
return /* @__PURE__ */ jsx41(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
|
|
3617
|
+
}
|
|
3618
|
+
function DropdownMenuTrigger({
|
|
3619
|
+
...props
|
|
3620
|
+
}) {
|
|
3621
|
+
return /* @__PURE__ */ jsx41(
|
|
3622
|
+
DropdownMenuPrimitive.Trigger,
|
|
3623
|
+
{
|
|
3624
|
+
"data-slot": "dropdown-menu-trigger",
|
|
3625
|
+
...props
|
|
3626
|
+
}
|
|
3627
|
+
);
|
|
3628
|
+
}
|
|
3629
|
+
function DropdownMenuContent({
|
|
3630
|
+
className,
|
|
3631
|
+
sideOffset = 4,
|
|
3632
|
+
...props
|
|
3633
|
+
}) {
|
|
3634
|
+
return /* @__PURE__ */ jsx41(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx41(
|
|
3635
|
+
DropdownMenuPrimitive.Content,
|
|
3636
|
+
{
|
|
3637
|
+
"data-slot": "dropdown-menu-content",
|
|
3638
|
+
sideOffset,
|
|
3639
|
+
className: cn(
|
|
3640
|
+
"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",
|
|
3641
|
+
className
|
|
3642
|
+
),
|
|
3643
|
+
...props
|
|
3644
|
+
}
|
|
3645
|
+
) });
|
|
3646
|
+
}
|
|
3647
|
+
function DropdownMenuGroup({
|
|
3648
|
+
...props
|
|
3649
|
+
}) {
|
|
3650
|
+
return /* @__PURE__ */ jsx41(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props });
|
|
3651
|
+
}
|
|
3652
|
+
function DropdownMenuItem({
|
|
3653
|
+
className,
|
|
3654
|
+
inset,
|
|
3655
|
+
variant = "default",
|
|
3656
|
+
...props
|
|
3657
|
+
}) {
|
|
3658
|
+
return /* @__PURE__ */ jsx41(
|
|
3659
|
+
DropdownMenuPrimitive.Item,
|
|
3660
|
+
{
|
|
3661
|
+
"data-slot": "dropdown-menu-item",
|
|
3662
|
+
"data-inset": inset,
|
|
3663
|
+
"data-variant": variant,
|
|
3664
|
+
className: cn(
|
|
3665
|
+
"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",
|
|
3666
|
+
className
|
|
3667
|
+
),
|
|
3668
|
+
...props
|
|
3669
|
+
}
|
|
3670
|
+
);
|
|
3671
|
+
}
|
|
3672
|
+
|
|
3673
|
+
// src/components/Navigation/Breadcrumbs.tsx
|
|
3674
|
+
import { jsx as jsx42, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
3675
|
+
var breadcrumbSeparatorVariants = "size-5 relative bottom-1 [&>svg]:text-secondary group-disabled:text-secondary";
|
|
3676
|
+
var breadcrumbItemBase = "h6-title text-secondary hover:text-primary-hover";
|
|
3677
|
+
var Breadcrumbs = React40.forwardRef(
|
|
3678
|
+
(props, ref) => {
|
|
3679
|
+
const { separator, ellipsis, children, className, ...rest } = props;
|
|
3680
|
+
const items = React40.Children.toArray(children).filter(Boolean);
|
|
3681
|
+
const shouldCollapse = Boolean(ellipsis) && items.length >= 5;
|
|
3682
|
+
const hiddenItems = shouldCollapse ? items.slice(1, -2) : [];
|
|
3683
|
+
const displayItems = shouldCollapse ? [items[0], "__ELLIPSIS__", items[items.length - 2], items[items.length - 1]] : items;
|
|
3684
|
+
return /* @__PURE__ */ jsx42(Breadcrumb, { ref, className, ...rest, children: /* @__PURE__ */ jsx42(BreadcrumbList, { children: displayItems.map((child, index) => {
|
|
3685
|
+
const isEllipsis = child === "__ELLIPSIS__";
|
|
3686
|
+
const key = isEllipsis ? "__ellipsis" : React40.isValidElement(child) && child.key != null ? String(child.key) : String(index);
|
|
3687
|
+
const isLast = index === displayItems.length - 1;
|
|
3688
|
+
return /* @__PURE__ */ jsxs29(React40.Fragment, { children: [
|
|
3689
|
+
isEllipsis ? /* @__PURE__ */ jsx42(BreadcrumbItem, { className: cn(breadcrumbItemBase, props.breadcrumbItemClassName), children: /* @__PURE__ */ jsxs29(DropdownMenu, { children: [
|
|
3690
|
+
/* @__PURE__ */ jsx42(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx42(
|
|
3691
|
+
"button",
|
|
3692
|
+
{
|
|
3693
|
+
type: "button",
|
|
3694
|
+
className: "inline-flex size-8 items-center justify-center rounded-4 hover:bg-(--background-secondary) focus-ring-primary text-secondary",
|
|
3695
|
+
"aria-label": "Open breadcrumb menu",
|
|
3696
|
+
children: /* @__PURE__ */ jsx42(BreadcrumbEllipsis, {})
|
|
3697
|
+
}
|
|
3698
|
+
) }),
|
|
3699
|
+
/* @__PURE__ */ jsx42(
|
|
3700
|
+
DropdownMenuContent,
|
|
3701
|
+
{
|
|
3702
|
+
align: "start",
|
|
3703
|
+
className: "bg-(--background-neutral) border-(--border-secondary-hover) shadow-card-md rounded-4",
|
|
3704
|
+
children: /* @__PURE__ */ jsx42(DropdownMenuGroup, { children: hiddenItems.map((hidden, hiddenIndex) => {
|
|
3705
|
+
const hiddenKey = React40.isValidElement(hidden) && hidden.key != null ? String(hidden.key) : `hidden-${hiddenIndex}`;
|
|
3706
|
+
if (React40.isValidElement(hidden)) {
|
|
3707
|
+
return /* @__PURE__ */ jsx42(
|
|
3708
|
+
DropdownMenuItem,
|
|
3709
|
+
{
|
|
3710
|
+
asChild: true,
|
|
3711
|
+
className: "cursor-pointer paragraph-md text-primary focus:bg-(--background-secondary)",
|
|
3712
|
+
children: hidden
|
|
3713
|
+
},
|
|
3714
|
+
hiddenKey
|
|
3715
|
+
);
|
|
3716
|
+
}
|
|
3717
|
+
return /* @__PURE__ */ jsx42(
|
|
3718
|
+
DropdownMenuItem,
|
|
3719
|
+
{
|
|
3720
|
+
className: "cursor-pointer paragraph-md text-primary focus:bg-(--background-secondary)",
|
|
3721
|
+
children: String(hidden)
|
|
3722
|
+
},
|
|
3723
|
+
hiddenKey
|
|
3724
|
+
);
|
|
3725
|
+
}) })
|
|
3726
|
+
}
|
|
3727
|
+
)
|
|
3728
|
+
] }) }) : isLast ? /* @__PURE__ */ jsx42(BreadcrumbItem, { className: cn(breadcrumbItemBase, props.breadcrumbItemClassName), children: /* @__PURE__ */ jsx42(
|
|
3729
|
+
BreadcrumbPage,
|
|
3730
|
+
{
|
|
3731
|
+
className: cn("h6-title-medium cursor-pointer", props.breadcrumbPageClassName),
|
|
3732
|
+
children: child
|
|
3733
|
+
}
|
|
3734
|
+
) }) : /* @__PURE__ */ jsx42(BreadcrumbItem, { className: cn(breadcrumbItemBase, props.breadcrumbItemClassName), children: child }),
|
|
3735
|
+
!isLast && /* @__PURE__ */ jsx42(BreadcrumbSeparator, { className: cn(breadcrumbSeparatorVariants, props.separatorClassName), children: separator })
|
|
3736
|
+
] }, key);
|
|
3737
|
+
}) }) });
|
|
3738
|
+
}
|
|
3739
|
+
);
|
|
3740
|
+
Breadcrumbs.displayName = "Breadcrumbs";
|
|
3387
3741
|
|
|
3388
3742
|
// src/components/Logo/LogoIcon.tsx
|
|
3389
|
-
import { cva as
|
|
3390
|
-
import { jsx as
|
|
3391
|
-
var LogoIconSvg = (props) => /* @__PURE__ */
|
|
3392
|
-
/* @__PURE__ */
|
|
3393
|
-
/* @__PURE__ */
|
|
3394
|
-
/* @__PURE__ */
|
|
3395
|
-
/* @__PURE__ */
|
|
3396
|
-
/* @__PURE__ */
|
|
3743
|
+
import { cva as cva19 } from "class-variance-authority";
|
|
3744
|
+
import { jsx as jsx43, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
3745
|
+
var LogoIconSvg = (props) => /* @__PURE__ */ jsxs30("svg", { width: "89", height: "88", viewBox: "0 0 89 88", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
|
|
3746
|
+
/* @__PURE__ */ jsx43("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" }),
|
|
3747
|
+
/* @__PURE__ */ jsx43("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" }),
|
|
3748
|
+
/* @__PURE__ */ jsx43("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" }),
|
|
3749
|
+
/* @__PURE__ */ jsx43("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" }),
|
|
3750
|
+
/* @__PURE__ */ jsx43("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" })
|
|
3397
3751
|
] });
|
|
3398
|
-
var logoIconVariants =
|
|
3752
|
+
var logoIconVariants = cva19(
|
|
3399
3753
|
"relative bg-linear-to-t from-gray-800 to-gray-950 overflow-hidden flex justify-center items-center",
|
|
3400
3754
|
{
|
|
3401
3755
|
variants: {
|
|
@@ -3420,28 +3774,28 @@ var logoIconSizeClass = {
|
|
|
3420
3774
|
xl: "size-96"
|
|
3421
3775
|
};
|
|
3422
3776
|
var LogoIcon = ({ className, size = "md" }) => {
|
|
3423
|
-
return /* @__PURE__ */
|
|
3777
|
+
return /* @__PURE__ */ jsx43("div", { className: cn(logoIconVariants({ size }), className), children: /* @__PURE__ */ jsx43(LogoIconSvg, { className: logoIconSizeClass[size] }) });
|
|
3424
3778
|
};
|
|
3425
3779
|
|
|
3426
3780
|
// src/components/Logo/Logo.tsx
|
|
3427
|
-
import { cva as
|
|
3428
|
-
import { jsx as
|
|
3429
|
-
var LogoIconSvg2 = (props) => /* @__PURE__ */
|
|
3430
|
-
/* @__PURE__ */
|
|
3431
|
-
/* @__PURE__ */
|
|
3432
|
-
/* @__PURE__ */
|
|
3433
|
-
/* @__PURE__ */
|
|
3434
|
-
/* @__PURE__ */
|
|
3781
|
+
import { cva as cva20 } from "class-variance-authority";
|
|
3782
|
+
import { jsx as jsx44, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
3783
|
+
var LogoIconSvg2 = (props) => /* @__PURE__ */ jsxs31("svg", { width: "89", height: "88", viewBox: "0 0 89 88", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
|
|
3784
|
+
/* @__PURE__ */ jsx44("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" }),
|
|
3785
|
+
/* @__PURE__ */ jsx44("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" }),
|
|
3786
|
+
/* @__PURE__ */ jsx44("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" }),
|
|
3787
|
+
/* @__PURE__ */ jsx44("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" }),
|
|
3788
|
+
/* @__PURE__ */ jsx44("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" })
|
|
3435
3789
|
] });
|
|
3436
|
-
var LogoTextSvg = (props) => /* @__PURE__ */
|
|
3437
|
-
/* @__PURE__ */
|
|
3438
|
-
/* @__PURE__ */
|
|
3439
|
-
/* @__PURE__ */
|
|
3440
|
-
/* @__PURE__ */
|
|
3441
|
-
/* @__PURE__ */
|
|
3442
|
-
/* @__PURE__ */
|
|
3790
|
+
var LogoTextSvg = (props) => /* @__PURE__ */ jsxs31("svg", { width: "111", height: "32", viewBox: "0 0 111 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
|
|
3791
|
+
/* @__PURE__ */ jsx44("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" }),
|
|
3792
|
+
/* @__PURE__ */ jsx44("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" }),
|
|
3793
|
+
/* @__PURE__ */ jsx44("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" }),
|
|
3794
|
+
/* @__PURE__ */ jsx44("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" }),
|
|
3795
|
+
/* @__PURE__ */ jsx44("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" }),
|
|
3796
|
+
/* @__PURE__ */ jsx44("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" })
|
|
3443
3797
|
] });
|
|
3444
|
-
var logoWrapperVariants =
|
|
3798
|
+
var logoWrapperVariants = cva20("inline-flex", {
|
|
3445
3799
|
variants: {
|
|
3446
3800
|
variant: {
|
|
3447
3801
|
inline: ["w-44", "h-12", "justify-start", "items-center", "gap-4"],
|
|
@@ -3453,7 +3807,7 @@ var logoWrapperVariants = cva21("inline-flex", {
|
|
|
3453
3807
|
variant: "inline"
|
|
3454
3808
|
}
|
|
3455
3809
|
});
|
|
3456
|
-
var logoIconSizeVariants =
|
|
3810
|
+
var logoIconSizeVariants = cva20("", {
|
|
3457
3811
|
variants: {
|
|
3458
3812
|
variant: {
|
|
3459
3813
|
inline: "size-12",
|
|
@@ -3465,7 +3819,7 @@ var logoIconSizeVariants = cva21("", {
|
|
|
3465
3819
|
variant: "inline"
|
|
3466
3820
|
}
|
|
3467
3821
|
});
|
|
3468
|
-
var logoTextSizeVariants =
|
|
3822
|
+
var logoTextSizeVariants = cva20("", {
|
|
3469
3823
|
variants: {
|
|
3470
3824
|
variant: {
|
|
3471
3825
|
inline: "h-8 w-27.5",
|
|
@@ -3479,9 +3833,9 @@ var logoTextSizeVariants = cva21("", {
|
|
|
3479
3833
|
});
|
|
3480
3834
|
var Logo = ({ className, textColor, variant = "inline" }) => {
|
|
3481
3835
|
const textColorClass = textColor === "light" ? "text-(--color-b-white)" : textColor === "dark" ? "text-(--color-b-black)" : "text-primary";
|
|
3482
|
-
return /* @__PURE__ */
|
|
3483
|
-
/* @__PURE__ */
|
|
3484
|
-
/* @__PURE__ */
|
|
3836
|
+
return /* @__PURE__ */ jsxs31("div", { className: cn(logoWrapperVariants({ variant }), className), children: [
|
|
3837
|
+
/* @__PURE__ */ jsx44(LogoIconSvg2, { className: logoIconSizeVariants({ variant }) }),
|
|
3838
|
+
/* @__PURE__ */ jsx44(LogoTextSvg, { className: cn(logoTextSizeVariants({ variant }), textColorClass) })
|
|
3485
3839
|
] });
|
|
3486
3840
|
};
|
|
3487
3841
|
export {
|
|
@@ -3490,12 +3844,11 @@ export {
|
|
|
3490
3844
|
BadgeDigit,
|
|
3491
3845
|
BadgeDot,
|
|
3492
3846
|
BadgeStatus,
|
|
3493
|
-
|
|
3847
|
+
Breadcrumbs,
|
|
3494
3848
|
Button,
|
|
3495
3849
|
ButtonGroup,
|
|
3496
3850
|
Checkbox,
|
|
3497
3851
|
Divider,
|
|
3498
|
-
Dropdown,
|
|
3499
3852
|
Field,
|
|
3500
3853
|
IconButton,
|
|
3501
3854
|
IconButtonGroup,
|
|
@@ -3509,14 +3862,33 @@ export {
|
|
|
3509
3862
|
Progress,
|
|
3510
3863
|
RadioGroup,
|
|
3511
3864
|
SearchInput,
|
|
3865
|
+
Select,
|
|
3512
3866
|
Slider,
|
|
3513
3867
|
StatusAvatar,
|
|
3514
3868
|
Tag,
|
|
3515
3869
|
TextArea,
|
|
3516
3870
|
TextInput,
|
|
3517
3871
|
Toggle,
|
|
3872
|
+
Tooltip,
|
|
3873
|
+
TooltipProvider,
|
|
3518
3874
|
Typography,
|
|
3519
3875
|
WebsiteInput,
|
|
3520
3876
|
cn
|
|
3521
3877
|
};
|
|
3878
|
+
/*! Bundled license information:
|
|
3879
|
+
|
|
3880
|
+
lucide-react/dist/esm/shared/src/utils.js:
|
|
3881
|
+
lucide-react/dist/esm/defaultAttributes.js:
|
|
3882
|
+
lucide-react/dist/esm/Icon.js:
|
|
3883
|
+
lucide-react/dist/esm/createLucideIcon.js:
|
|
3884
|
+
lucide-react/dist/esm/icons/chevron-right.js:
|
|
3885
|
+
lucide-react/dist/esm/icons/ellipsis.js:
|
|
3886
|
+
lucide-react/dist/esm/lucide-react.js:
|
|
3887
|
+
(**
|
|
3888
|
+
* @license lucide-react v0.555.0 - ISC
|
|
3889
|
+
*
|
|
3890
|
+
* This source code is licensed under the ISC license.
|
|
3891
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
3892
|
+
*)
|
|
3893
|
+
*/
|
|
3522
3894
|
//# sourceMappingURL=index.js.map
|