@adsgency_npm/adsgency-ads-ui 0.1.0-alpha.31 → 0.1.0-alpha.33
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 +605 -312
- package/dist/index.d.cts +1279 -0
- package/dist/index.d.ts +1279 -0
- package/dist/index.js +589 -288
- package/dist/styles/tokens.css +121 -0
- package/dist/tokens/designTokens.d.cts +66 -0
- package/dist/tokens/designTokens.d.ts +66 -0
- package/dist/tokens/tailwindPreset.d.cts +114 -0
- package/dist/tokens/tailwindPreset.d.ts +114 -0
- package/package.json +19 -22
- package/dist/chunk-YJFQM6IB.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/tokens/designTokens.cjs.map +0 -1
- package/dist/tokens/designTokens.js.map +0 -1
- package/dist/tokens/tailwindPreset.cjs.map +0 -1
- package/dist/tokens/tailwindPreset.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -110,6 +110,7 @@ __export(src_exports, {
|
|
|
110
110
|
AdsInputOTPGroup: () => AdsInputOTPGroup,
|
|
111
111
|
AdsInputOTPSeparator: () => AdsInputOTPSeparator,
|
|
112
112
|
AdsInputOTPSlot: () => AdsInputOTPSlot,
|
|
113
|
+
AdsLineChart: () => AdsLineChart,
|
|
113
114
|
AdsMasonry: () => AdsMasonry,
|
|
114
115
|
AdsPagination: () => AdsPagination,
|
|
115
116
|
AdsPaginationContent: () => AdsPaginationContent,
|
|
@@ -224,6 +225,7 @@ var adsDefaultMessages = {
|
|
|
224
225
|
collapseRow: "Collapse row",
|
|
225
226
|
expandRow: "Expand row",
|
|
226
227
|
filterColumn: "Filter column",
|
|
228
|
+
loadingRows: "Loading table rows",
|
|
227
229
|
noDataAvailable: "No data available",
|
|
228
230
|
selectAllRows: "Select all rows",
|
|
229
231
|
selectRow: "Select row",
|
|
@@ -274,6 +276,7 @@ var adsDefaultMessages = {
|
|
|
274
276
|
collapseRow: "\u6536\u8D77\u884C",
|
|
275
277
|
expandRow: "\u5C55\u5F00\u884C",
|
|
276
278
|
filterColumn: "\u7B5B\u9009\u5217",
|
|
279
|
+
loadingRows: "\u6B63\u5728\u52A0\u8F7D\u8868\u683C\u884C",
|
|
277
280
|
noDataAvailable: "\u6682\u65E0\u6570\u636E",
|
|
278
281
|
selectAllRows: "\u9009\u62E9\u5168\u90E8\u884C",
|
|
279
282
|
selectRow: "\u9009\u62E9\u884C",
|
|
@@ -832,7 +835,7 @@ var adsTextColorClassName = {
|
|
|
832
835
|
// src/components/AdsAlertDialog/index.tsx
|
|
833
836
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
834
837
|
var overlayClassName = "fixed inset-0 z-50 bg-black/80 backdrop-blur-[2px] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0";
|
|
835
|
-
var contentClassName = "fixed left-1/2 top-1/2 z-50 grid w-[calc(100%-2rem)] max-w-[512px] -translate-x-1/2 -translate-y-1/2 gap-lg rounded-radius-lg border
|
|
838
|
+
var contentClassName = "fixed left-1/2 top-1/2 z-50 grid w-[calc(100%-2rem)] max-w-[512px] -translate-x-1/2 -translate-y-1/2 gap-lg rounded-radius-lg border-0 bg-card p-xl shadow-[0px_4px_6px_-4px_rgba(0,0,0,0.1),0px_10px_15px_-3px_rgba(0,0,0,0.1)] duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]";
|
|
836
839
|
var actionClassName = "inline-flex h-9 items-center justify-center rounded-radius-md border-0 bg-brand-gradient px-lg py-sm text-sm font-medium leading-5 tracking-normal shadow-[0px_1px_2px_rgba(0,0,0,0.1)] transition-opacity hover:opacity-90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-card disabled:pointer-events-none disabled:opacity-[0.65]";
|
|
837
840
|
var cancelClassName = "inline-flex h-9 items-center justify-center rounded-radius-md border border-border bg-card px-lg py-sm text-sm font-medium leading-5 tracking-normal shadow-[0px_1px_2px_rgba(0,0,0,0.1)] transition-colors hover:bg-accent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-card disabled:pointer-events-none disabled:opacity-[0.65]";
|
|
838
841
|
var AlertDialog = AlertDialogPrimitive.Root;
|
|
@@ -2836,6 +2839,7 @@ AdsSkeleton.displayName = "AdsSkeleton";
|
|
|
2836
2839
|
|
|
2837
2840
|
// src/components/AdsInput/index.tsx
|
|
2838
2841
|
var React31 = __toESM(require("react"), 1);
|
|
2842
|
+
var import_lucide_react10 = require("lucide-react");
|
|
2839
2843
|
|
|
2840
2844
|
// src/lib/adsClearButton.tsx
|
|
2841
2845
|
var React30 = __toESM(require("react"), 1);
|
|
@@ -2856,12 +2860,17 @@ AdsClearButton.displayName = "AdsClearButton";
|
|
|
2856
2860
|
|
|
2857
2861
|
// src/components/AdsInput/index.tsx
|
|
2858
2862
|
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2859
|
-
var inputBaseClassName = "flex w-full rounded-md border border-border bg-card px-3 py-2 ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-[var(--card-foreground)] placeholder:text-[var(--muted-foreground)] focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-
|
|
2863
|
+
var inputBaseClassName = "flex w-full rounded-md border border-border bg-card px-3 py-2 ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-[var(--card-foreground)] placeholder:text-[var(--muted-foreground)] focus-visible:outline-none disabled:cursor-not-allowed disabled:border-border disabled:bg-muted disabled:text-[var(--muted-foreground)] disabled:placeholder:text-[var(--muted-foreground)] disabled:opacity-100 disabled:focus-visible:border-border disabled:focus-visible:ring-0 md:text-sm";
|
|
2860
2864
|
var inputSizeClasses = {
|
|
2861
2865
|
sm: "h-8 text-sm leading-5",
|
|
2862
2866
|
md: "h-9 text-base leading-6",
|
|
2863
2867
|
lg: "h-10 text-base leading-6"
|
|
2864
2868
|
};
|
|
2869
|
+
var fileTriggerSizeClasses = {
|
|
2870
|
+
sm: "h-8 px-md py-sm",
|
|
2871
|
+
md: "h-9 px-lg py-sm",
|
|
2872
|
+
lg: "h-10 px-xl py-[10px]"
|
|
2873
|
+
};
|
|
2865
2874
|
function assignInputRef(ref, value) {
|
|
2866
2875
|
if (typeof ref === "function") {
|
|
2867
2876
|
ref(value);
|
|
@@ -2880,6 +2889,17 @@ function getTextInputValue(value) {
|
|
|
2880
2889
|
}
|
|
2881
2890
|
return "";
|
|
2882
2891
|
}
|
|
2892
|
+
function renderFileTriggerIcon(icon) {
|
|
2893
|
+
if (!icon) {
|
|
2894
|
+
return null;
|
|
2895
|
+
}
|
|
2896
|
+
if (React31.isValidElement(icon)) {
|
|
2897
|
+
return React31.cloneElement(icon, {
|
|
2898
|
+
className: cn("!h-4 !w-4 h-4 w-4", icon.props.className)
|
|
2899
|
+
});
|
|
2900
|
+
}
|
|
2901
|
+
return icon;
|
|
2902
|
+
}
|
|
2883
2903
|
function getInputSurfaceClassName({
|
|
2884
2904
|
className,
|
|
2885
2905
|
errorText,
|
|
@@ -2906,6 +2926,7 @@ var AdsInput = React31.forwardRef(
|
|
|
2906
2926
|
descriptionPlacement = "below",
|
|
2907
2927
|
emptyFileLabel,
|
|
2908
2928
|
errorText,
|
|
2929
|
+
fileTriggerIcon = /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react10.Upload, { "aria-hidden": true, className: "h-4 w-4" }),
|
|
2909
2930
|
fileTriggerLabel,
|
|
2910
2931
|
helperText,
|
|
2911
2932
|
id,
|
|
@@ -2946,6 +2967,7 @@ var AdsInput = React31.forwardRef(
|
|
|
2946
2967
|
});
|
|
2947
2968
|
const resolvedClearButtonLabel = clearButtonLabel ?? messages.input.clear;
|
|
2948
2969
|
const resolvedFileTriggerLabel = fileTriggerLabel ?? messages.input.chooseFile;
|
|
2970
|
+
const resolvedFileTriggerIcon = renderFileTriggerIcon(fileTriggerIcon);
|
|
2949
2971
|
const resolvedEmptyFileLabel = emptyFileLabel ?? messages.input.noFileChosen;
|
|
2950
2972
|
const handleChange = React31.useCallback(
|
|
2951
2973
|
(event) => {
|
|
@@ -2976,7 +2998,7 @@ var AdsInput = React31.forwardRef(
|
|
|
2976
2998
|
const fileNameText = selectedFiles.length > 0 ? selectedFiles.join(", ") : resolvedEmptyFileLabel;
|
|
2977
2999
|
const helperNode = helperText ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(AdsFieldDescription, { id: description.helperId, children: helperText }) : null;
|
|
2978
3000
|
const errorNode = errorText ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(AdsFieldError, { id: description.errorId, children: errorText }) : null;
|
|
2979
|
-
const inputNode = isFileInput ? /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "relative flex w-full min-w-0 flex-1 items-center", children: [
|
|
3001
|
+
const inputNode = isFileInput ? /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "group relative flex w-full min-w-0 flex-1 items-center focus-within:[&_[data-ads-file-trigger]]:ring-2 focus-within:[&_[data-ads-file-trigger]]:ring-ring focus-within:[&_[data-ads-file-trigger]]:ring-offset-2 focus-within:[&_[data-ads-file-trigger]]:ring-offset-background", children: [
|
|
2980
3002
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2981
3003
|
Input,
|
|
2982
3004
|
{
|
|
@@ -3002,20 +3024,23 @@ var AdsInput = React31.forwardRef(
|
|
|
3002
3024
|
{
|
|
3003
3025
|
"aria-hidden": "true",
|
|
3004
3026
|
className: cn(
|
|
3005
|
-
|
|
3006
|
-
adsTextColorClassName.card,
|
|
3007
|
-
"items-center text-sm leading-5",
|
|
3027
|
+
"flex w-full min-w-0 items-center gap-sm text-sm leading-5",
|
|
3008
3028
|
props.disabled ? "cursor-not-allowed opacity-50" : void 0
|
|
3009
3029
|
),
|
|
3010
3030
|
children: [
|
|
3011
|
-
/* @__PURE__ */ (0, import_jsx_runtime34.
|
|
3031
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
3012
3032
|
"span",
|
|
3013
3033
|
{
|
|
3034
|
+
"data-ads-file-trigger": "",
|
|
3014
3035
|
className: cn(
|
|
3015
|
-
"shrink-0
|
|
3016
|
-
|
|
3036
|
+
"inline-flex shrink-0 items-center justify-center gap-sm rounded-radius-md border-0 bg-primary text-sm font-medium leading-5 shadow-[0px_1px_2px_rgba(0,0,0,0.1)] transition-colors group-hover:bg-brand-primary-hover",
|
|
3037
|
+
fileTriggerSizeClasses[size],
|
|
3038
|
+
adsTextColorClassName.primary
|
|
3017
3039
|
),
|
|
3018
|
-
children:
|
|
3040
|
+
children: [
|
|
3041
|
+
resolvedFileTriggerIcon ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "inline-flex h-4 w-4 items-center justify-center [&>svg]:!h-4 [&>svg]:!w-4", children: resolvedFileTriggerIcon }) : null,
|
|
3042
|
+
resolvedFileTriggerLabel
|
|
3043
|
+
]
|
|
3019
3044
|
}
|
|
3020
3045
|
),
|
|
3021
3046
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
@@ -3306,7 +3331,7 @@ var React35 = __toESM(require("react"), 1);
|
|
|
3306
3331
|
// src/primitives/input-otp.tsx
|
|
3307
3332
|
var React34 = __toESM(require("react"), 1);
|
|
3308
3333
|
var import_input_otp = require("input-otp");
|
|
3309
|
-
var
|
|
3334
|
+
var import_lucide_react11 = require("lucide-react");
|
|
3310
3335
|
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
3311
3336
|
var InputOTP = React34.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3312
3337
|
import_input_otp.OTPInput,
|
|
@@ -3344,7 +3369,7 @@ var InputOTPSlot = React34.forwardRef(({ index, className, ...props }, ref) => {
|
|
|
3344
3369
|
);
|
|
3345
3370
|
});
|
|
3346
3371
|
InputOTPSlot.displayName = "InputOTPSlot";
|
|
3347
|
-
var InputOTPSeparator = React34.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3372
|
+
var InputOTPSeparator = React34.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react11.Dot, {}) }));
|
|
3348
3373
|
InputOTPSeparator.displayName = "InputOTPSeparator";
|
|
3349
3374
|
|
|
3350
3375
|
// src/components/AdsInputOTP/index.tsx
|
|
@@ -3472,11 +3497,11 @@ var React39 = __toESM(require("react"), 1);
|
|
|
3472
3497
|
|
|
3473
3498
|
// src/components/AdsPagination/index.tsx
|
|
3474
3499
|
var React37 = __toESM(require("react"), 1);
|
|
3475
|
-
var
|
|
3500
|
+
var import_lucide_react13 = require("lucide-react");
|
|
3476
3501
|
|
|
3477
3502
|
// src/primitives/pagination.tsx
|
|
3478
3503
|
var React36 = __toESM(require("react"), 1);
|
|
3479
|
-
var
|
|
3504
|
+
var import_lucide_react12 = require("lucide-react");
|
|
3480
3505
|
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
3481
3506
|
var Pagination = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3482
3507
|
"nav",
|
|
@@ -3530,7 +3555,7 @@ var PaginationPrevious = ({
|
|
|
3530
3555
|
className: cn("gap-1 pl-2.5", className),
|
|
3531
3556
|
...props,
|
|
3532
3557
|
children: [
|
|
3533
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3558
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react12.ChevronLeft, { className: "h-4 w-4" }),
|
|
3534
3559
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { children: "Previous" })
|
|
3535
3560
|
]
|
|
3536
3561
|
}
|
|
@@ -3548,7 +3573,7 @@ var PaginationNext = ({
|
|
|
3548
3573
|
...props,
|
|
3549
3574
|
children: [
|
|
3550
3575
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { children: "Next" }),
|
|
3551
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3576
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react12.ChevronRight, { className: "h-4 w-4" })
|
|
3552
3577
|
]
|
|
3553
3578
|
}
|
|
3554
3579
|
);
|
|
@@ -3563,7 +3588,7 @@ var PaginationEllipsis = ({
|
|
|
3563
3588
|
className: cn("flex h-9 w-9 items-center justify-center", className),
|
|
3564
3589
|
...props,
|
|
3565
3590
|
children: [
|
|
3566
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3591
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react12.MoreHorizontal, { className: "h-4 w-4" }),
|
|
3567
3592
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "sr-only", children: "More pages" })
|
|
3568
3593
|
]
|
|
3569
3594
|
}
|
|
@@ -3618,7 +3643,7 @@ var AdsPaginationPrevious = React37.forwardRef(({ "aria-label": ariaLabel, child
|
|
|
3618
3643
|
ref,
|
|
3619
3644
|
...props,
|
|
3620
3645
|
children: [
|
|
3621
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3646
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react13.ChevronLeft, { "aria-hidden": true, className: "h-4 w-4" }),
|
|
3622
3647
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { children: label })
|
|
3623
3648
|
]
|
|
3624
3649
|
}
|
|
@@ -3638,7 +3663,7 @@ var AdsPaginationNext = React37.forwardRef(
|
|
|
3638
3663
|
...props,
|
|
3639
3664
|
children: [
|
|
3640
3665
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { children: label }),
|
|
3641
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3666
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react13.ChevronRight, { "aria-hidden": true, className: "h-4 w-4" })
|
|
3642
3667
|
]
|
|
3643
3668
|
}
|
|
3644
3669
|
);
|
|
@@ -3662,7 +3687,7 @@ function AdsPaginationEllipsis({
|
|
|
3662
3687
|
),
|
|
3663
3688
|
...props,
|
|
3664
3689
|
children: [
|
|
3665
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3690
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react13.MoreHorizontal, { className: "h-4 w-4" }),
|
|
3666
3691
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "sr-only", children: resolvedLabel })
|
|
3667
3692
|
]
|
|
3668
3693
|
}
|
|
@@ -4194,7 +4219,7 @@ function AdsDataPagination({
|
|
|
4194
4219
|
|
|
4195
4220
|
// src/components/AdsDataTable/index.tsx
|
|
4196
4221
|
var React44 = __toESM(require("react"), 1);
|
|
4197
|
-
var
|
|
4222
|
+
var import_lucide_react16 = require("lucide-react");
|
|
4198
4223
|
|
|
4199
4224
|
// src/components/AdsEmpty/index.tsx
|
|
4200
4225
|
var import_class_variance_authority9 = require("class-variance-authority");
|
|
@@ -4301,7 +4326,7 @@ function AdsEmptyFooter({ className, ...props }) {
|
|
|
4301
4326
|
|
|
4302
4327
|
// src/components/AdsTable/index.tsx
|
|
4303
4328
|
var React43 = __toESM(require("react"), 1);
|
|
4304
|
-
var
|
|
4329
|
+
var import_lucide_react15 = require("lucide-react");
|
|
4305
4330
|
|
|
4306
4331
|
// src/components/AdsRadioGroup/index.tsx
|
|
4307
4332
|
var React41 = __toESM(require("react"), 1);
|
|
@@ -4309,7 +4334,7 @@ var React41 = __toESM(require("react"), 1);
|
|
|
4309
4334
|
// src/primitives/radio-group.tsx
|
|
4310
4335
|
var React40 = __toESM(require("react"), 1);
|
|
4311
4336
|
var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
|
|
4312
|
-
var
|
|
4337
|
+
var import_lucide_react14 = require("lucide-react");
|
|
4313
4338
|
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
4314
4339
|
var RadioGroup = React40.forwardRef(({ className, ...props }, ref) => {
|
|
4315
4340
|
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
@@ -4332,7 +4357,7 @@ var RadioGroupItem = React40.forwardRef(({ className, ...props }, ref) => {
|
|
|
4332
4357
|
className
|
|
4333
4358
|
),
|
|
4334
4359
|
...props,
|
|
4335
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
4360
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react14.Circle, { className: "h-2.5 w-2.5 fill-current text-current" }) })
|
|
4336
4361
|
}
|
|
4337
4362
|
);
|
|
4338
4363
|
});
|
|
@@ -4736,7 +4761,7 @@ var AdsTableSortHeader = React43.forwardRef(
|
|
|
4736
4761
|
variant: "ghost",
|
|
4737
4762
|
children: [
|
|
4738
4763
|
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "truncate", children: title }),
|
|
4739
|
-
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "inline-flex h-4 w-4 items-center justify-center text-icon-muted", children: sortOrder === "ascend" ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
4764
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "inline-flex h-4 w-4 items-center justify-center text-icon-muted", children: sortOrder === "ascend" ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.ChevronDown, { className: "h-4 w-4 rotate-180" }) : sortOrder === "descend" ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.ChevronDown, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.ChevronDown, { className: "h-4 w-4 opacity-60" }) })
|
|
4740
4765
|
]
|
|
4741
4766
|
}
|
|
4742
4767
|
) });
|
|
@@ -4800,7 +4825,7 @@ var AdsTableExpandCell = React43.forwardRef(
|
|
|
4800
4825
|
size: "sm",
|
|
4801
4826
|
type: "button",
|
|
4802
4827
|
variant: "ghost",
|
|
4803
|
-
children: expanded ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
4828
|
+
children: expanded ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.ChevronDown, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.ChevronRight, { className: "h-4 w-4" })
|
|
4804
4829
|
}
|
|
4805
4830
|
) }) });
|
|
4806
4831
|
}
|
|
@@ -4813,18 +4838,33 @@ var SKELETON_ROW_COUNT = 4;
|
|
|
4813
4838
|
var FLEX_WIDTH_UNIT = 160;
|
|
4814
4839
|
var sizeClassNames = {
|
|
4815
4840
|
small: {
|
|
4841
|
+
bodyHeight: 32,
|
|
4816
4842
|
cell: "py-1.5 text-xs leading-4",
|
|
4843
|
+
headHeight: 32,
|
|
4817
4844
|
head: "h-8 py-1.5 text-xs leading-4"
|
|
4818
4845
|
},
|
|
4819
4846
|
middle: {
|
|
4847
|
+
bodyHeight: 40,
|
|
4820
4848
|
cell: "py-2 text-sm leading-5",
|
|
4849
|
+
headHeight: 40,
|
|
4821
4850
|
head: "h-10 py-2 text-sm leading-5"
|
|
4822
4851
|
},
|
|
4823
4852
|
large: {
|
|
4853
|
+
bodyHeight: 48,
|
|
4824
4854
|
cell: "py-3 text-base leading-6",
|
|
4855
|
+
headHeight: 48,
|
|
4825
4856
|
head: "h-12 py-3 text-base leading-6"
|
|
4826
4857
|
}
|
|
4827
4858
|
};
|
|
4859
|
+
function getSpinnerLoadingHeight(scrollY, density) {
|
|
4860
|
+
if (typeof scrollY === "number") {
|
|
4861
|
+
return Math.max(scrollY - density.headHeight, density.bodyHeight * SKELETON_ROW_COUNT);
|
|
4862
|
+
}
|
|
4863
|
+
if (typeof scrollY === "string") {
|
|
4864
|
+
return `max(calc(${scrollY} - ${density.headHeight}px), ${density.bodyHeight * SKELETON_ROW_COUNT}px)`;
|
|
4865
|
+
}
|
|
4866
|
+
return density.bodyHeight * SKELETON_ROW_COUNT;
|
|
4867
|
+
}
|
|
4828
4868
|
function getColumnKey(column, index) {
|
|
4829
4869
|
if (column.key !== void 0) {
|
|
4830
4870
|
return String(column.key);
|
|
@@ -5035,6 +5075,8 @@ function AdsDataTable({
|
|
|
5035
5075
|
dataSource = [],
|
|
5036
5076
|
rowKey,
|
|
5037
5077
|
loading = false,
|
|
5078
|
+
loadingVariant = "skeleton",
|
|
5079
|
+
expandedRowSurface = "inset",
|
|
5038
5080
|
emptyText,
|
|
5039
5081
|
emptyState,
|
|
5040
5082
|
rowClassName,
|
|
@@ -5133,8 +5175,14 @@ function AdsDataTable({
|
|
|
5133
5175
|
const hasSelectionColumn = Boolean(rowSelection);
|
|
5134
5176
|
const hasExpandableColumn = Boolean(expandable?.expandedRowRender);
|
|
5135
5177
|
const density = sizeClassNames[size];
|
|
5178
|
+
const columnCount = resolvedColumns.length + Number(hasSelectionColumn) + Number(hasExpandableColumn);
|
|
5136
5179
|
const paginationMode = pagination === false ? "client" : pagination.mode ?? "client";
|
|
5137
5180
|
const allowsRowSelectionByClick = Boolean(rowSelection) && !suppressRowClickSelection;
|
|
5181
|
+
const spinnerLoadingHeight = React44.useMemo(
|
|
5182
|
+
() => getSpinnerLoadingHeight(scroll?.y, density),
|
|
5183
|
+
[density, scroll?.y]
|
|
5184
|
+
);
|
|
5185
|
+
const expandedRowContentClassName = expandedRowSurface === "plain" ? "bg-transparent p-4" : expandedRowSurface === "subtle" ? "mx-6 my-4 rounded-[20px] border border-border bg-transparent p-4" : "border-t border-border bg-popover/40 p-4";
|
|
5138
5186
|
const filterValues = React44.useMemo(
|
|
5139
5187
|
() => resolvedColumns.reduce((accumulator, column, index) => {
|
|
5140
5188
|
const columnKey = getColumnKey(column, index);
|
|
@@ -5393,7 +5441,7 @@ function AdsDataTable({
|
|
|
5393
5441
|
variant: "ghost",
|
|
5394
5442
|
children: [
|
|
5395
5443
|
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "truncate", children: headerTitle }),
|
|
5396
|
-
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "inline-flex h-4 w-4 items-center justify-center text-icon-muted", children: columnSortOrder === "ascend" ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
5444
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "inline-flex h-4 w-4 items-center justify-center text-icon-muted", children: columnSortOrder === "ascend" ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react16.ChevronDown, { className: "h-4 w-4 rotate-180" }) : columnSortOrder === "descend" ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react16.ChevronDown, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react16.ChevronDown, { className: "h-4 w-4 opacity-60" }) })
|
|
5397
5445
|
]
|
|
5398
5446
|
}
|
|
5399
5447
|
) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "truncate", children: headerTitle }),
|
|
@@ -5410,7 +5458,7 @@ function AdsDataTable({
|
|
|
5410
5458
|
size: "sm",
|
|
5411
5459
|
type: "button",
|
|
5412
5460
|
variant: "ghost",
|
|
5413
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
5461
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react16.Filter, { className: "h-3.5 w-3.5" })
|
|
5414
5462
|
}
|
|
5415
5463
|
) }),
|
|
5416
5464
|
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AdsPopoverContent, { align: "end", className: "w-64", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
@@ -5490,7 +5538,26 @@ function AdsDataTable({
|
|
|
5490
5538
|
);
|
|
5491
5539
|
})
|
|
5492
5540
|
] }) }),
|
|
5493
|
-
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AdsTableBody, { children: loading
|
|
5541
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AdsTableBody, { children: loading && loadingVariant === "spinner" ? [
|
|
5542
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AdsTableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
5543
|
+
AdsTableCell,
|
|
5544
|
+
{
|
|
5545
|
+
className: "p-0",
|
|
5546
|
+
colSpan: columnCount,
|
|
5547
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
5548
|
+
"div",
|
|
5549
|
+
{
|
|
5550
|
+
"aria-label": messages.table.loadingRows,
|
|
5551
|
+
"aria-live": "polite",
|
|
5552
|
+
className: "flex items-center justify-center px-6 py-8 text-foreground",
|
|
5553
|
+
role: "status",
|
|
5554
|
+
style: { minHeight: spinnerLoadingHeight },
|
|
5555
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AdsSpinner, { size: "lg", tone: "foreground" })
|
|
5556
|
+
}
|
|
5557
|
+
)
|
|
5558
|
+
}
|
|
5559
|
+
) }, "spinner-row")
|
|
5560
|
+
] : loading ? Array.from({ length: SKELETON_ROW_COUNT }, (_, skeletonIndex) => /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(AdsTableRow, { children: [
|
|
5494
5561
|
hasSelectionColumn ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AdsTableCell, { className: "w-12 p-2", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AdsSkeleton, { className: "h-4 w-4 rounded-[4px]" }) }) : null,
|
|
5495
5562
|
hasExpandableColumn ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AdsTableCell, { className: "w-12 p-2", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AdsSkeleton, { className: "h-4 w-4 rounded-[4px]" }) }) : null,
|
|
5496
5563
|
resolvedColumns.map((column, index) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
@@ -5593,7 +5660,7 @@ function AdsDataTable({
|
|
|
5593
5660
|
"div",
|
|
5594
5661
|
{
|
|
5595
5662
|
className: cn(
|
|
5596
|
-
|
|
5663
|
+
expandedRowContentClassName,
|
|
5597
5664
|
classNames?.expandedRowContent
|
|
5598
5665
|
),
|
|
5599
5666
|
children: expandable?.expandedRowRender?.(record, index)
|
|
@@ -5606,7 +5673,7 @@ function AdsDataTable({
|
|
|
5606
5673
|
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AdsTableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
5607
5674
|
AdsTableCell,
|
|
5608
5675
|
{
|
|
5609
|
-
colSpan:
|
|
5676
|
+
colSpan: columnCount,
|
|
5610
5677
|
className: cn("p-0", classNames?.emptyRowCell),
|
|
5611
5678
|
children: renderedEmptyState
|
|
5612
5679
|
}
|
|
@@ -5967,14 +6034,21 @@ function AdsRadialProgressChart({
|
|
|
5967
6034
|
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
5968
6035
|
import_recharts2.RadialBarChart,
|
|
5969
6036
|
{
|
|
5970
|
-
accessibilityLayer:
|
|
6037
|
+
accessibilityLayer: false,
|
|
5971
6038
|
data: chartData,
|
|
5972
6039
|
endAngle: -270,
|
|
5973
6040
|
innerRadius: safeSize / 2 - safeStrokeWidth,
|
|
5974
6041
|
outerRadius: safeSize / 2,
|
|
5975
6042
|
startAngle: 90,
|
|
5976
6043
|
children: [
|
|
5977
|
-
showTooltip && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
6044
|
+
showTooltip && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
6045
|
+
import_recharts2.Tooltip,
|
|
6046
|
+
{
|
|
6047
|
+
contentStyle: tooltipContentStyle,
|
|
6048
|
+
cursor: false,
|
|
6049
|
+
wrapperStyle: { zIndex: 1 }
|
|
6050
|
+
}
|
|
6051
|
+
),
|
|
5978
6052
|
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
5979
6053
|
import_recharts2.PolarAngleAxis,
|
|
5980
6054
|
{
|
|
@@ -6006,38 +6080,265 @@ function AdsRadialProgressChart({
|
|
|
6006
6080
|
);
|
|
6007
6081
|
}
|
|
6008
6082
|
|
|
6009
|
-
// src/components/
|
|
6083
|
+
// src/components/AdsLineChart/index.tsx
|
|
6084
|
+
var React48 = __toESM(require("react"), 1);
|
|
6010
6085
|
var import_recharts3 = require("recharts");
|
|
6011
|
-
|
|
6012
|
-
|
|
6013
|
-
var
|
|
6014
|
-
var
|
|
6015
|
-
function
|
|
6016
|
-
|
|
6017
|
-
|
|
6018
|
-
|
|
6019
|
-
|
|
6020
|
-
|
|
6021
|
-
|
|
6022
|
-
|
|
6023
|
-
|
|
6024
|
-
|
|
6025
|
-
return
|
|
6026
|
-
|
|
6027
|
-
|
|
6028
|
-
|
|
6029
|
-
|
|
6030
|
-
|
|
6031
|
-
|
|
6032
|
-
ss: second
|
|
6086
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
6087
|
+
var DEFAULT_HEIGHT = 278;
|
|
6088
|
+
var DEFAULT_GRID_COLOR = "var(--border)";
|
|
6089
|
+
var DEFAULT_SERIES_COLORS = ["var(--chart-1)", "var(--chart-2)"];
|
|
6090
|
+
function getSafeHeight(height) {
|
|
6091
|
+
return Number.isFinite(height) && height && height > 0 ? height : DEFAULT_HEIGHT;
|
|
6092
|
+
}
|
|
6093
|
+
function getSafeOpacity(opacity) {
|
|
6094
|
+
return Number.isFinite(opacity) && opacity !== void 0 ? Math.min(Math.max(opacity, 0), 1) : 0;
|
|
6095
|
+
}
|
|
6096
|
+
function getSafeValue(value) {
|
|
6097
|
+
return typeof value === "number" && Number.isFinite(value) ? Math.max(value, 0) : 0;
|
|
6098
|
+
}
|
|
6099
|
+
function getSeriesColor(series, index) {
|
|
6100
|
+
return series.color ?? DEFAULT_SERIES_COLORS[index] ?? "var(--chart-3)";
|
|
6101
|
+
}
|
|
6102
|
+
function getChartConfig(series) {
|
|
6103
|
+
return series.reduce((config, item, index) => {
|
|
6104
|
+
config[item.dataKey] = {
|
|
6105
|
+
color: getSeriesColor(item, index),
|
|
6106
|
+
label: item.label
|
|
6033
6107
|
};
|
|
6034
|
-
return
|
|
6108
|
+
return config;
|
|
6109
|
+
}, {});
|
|
6110
|
+
}
|
|
6111
|
+
function LineChartTooltipContent({
|
|
6112
|
+
active,
|
|
6113
|
+
label,
|
|
6114
|
+
payload,
|
|
6115
|
+
series,
|
|
6116
|
+
tooltipContentClassName: tooltipContentClassName2,
|
|
6117
|
+
tooltipFooter,
|
|
6118
|
+
tooltipLabelFormatter,
|
|
6119
|
+
tooltipValueFormatter
|
|
6120
|
+
}) {
|
|
6121
|
+
if (!active || !payload.length) {
|
|
6122
|
+
return null;
|
|
6123
|
+
}
|
|
6124
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
|
|
6125
|
+
"div",
|
|
6126
|
+
{
|
|
6127
|
+
className: cn(
|
|
6128
|
+
"min-w-[164px] rounded-radius-md border border-border bg-popover px-4 py-3 text-popover-foreground shadow-lg",
|
|
6129
|
+
tooltipContentClassName2
|
|
6130
|
+
),
|
|
6131
|
+
role: "tooltip",
|
|
6132
|
+
children: [
|
|
6133
|
+
tooltipLabelFormatter && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: "mb-2 text-xs font-medium text-muted-foreground", children: tooltipLabelFormatter(label) }),
|
|
6134
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "space-y-1.5", children: series.map((item, index) => {
|
|
6135
|
+
const entry = payload.find((payloadItem) => payloadItem.dataKey === item.dataKey);
|
|
6136
|
+
const value = typeof entry?.value === "number" && Number.isFinite(entry.value) ? entry.value : 0;
|
|
6137
|
+
const color = getSeriesColor(item, index);
|
|
6138
|
+
const displayLabel = item.label ?? item.dataKey;
|
|
6139
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex items-center gap-1.5 text-sm", children: [
|
|
6140
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { "aria-hidden": "true", className: "size-2 rounded-full", style: { backgroundColor: color } }),
|
|
6141
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "text-muted-foreground", children: displayLabel }),
|
|
6142
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "font-semibold text-popover-foreground", children: tooltipValueFormatter ? tooltipValueFormatter(value, item) : value })
|
|
6143
|
+
] }, item.dataKey);
|
|
6144
|
+
}) }),
|
|
6145
|
+
tooltipFooter && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: "mt-2 text-xs font-bold leading-[1.4]", children: tooltipFooter })
|
|
6146
|
+
]
|
|
6147
|
+
}
|
|
6148
|
+
);
|
|
6149
|
+
}
|
|
6150
|
+
function AdsLineChart({
|
|
6151
|
+
ariaLabel,
|
|
6152
|
+
chartProps,
|
|
6153
|
+
className,
|
|
6154
|
+
children,
|
|
6155
|
+
containerProps,
|
|
6156
|
+
curve = "linear",
|
|
6157
|
+
data,
|
|
6158
|
+
gridColor = DEFAULT_GRID_COLOR,
|
|
6159
|
+
gridProps,
|
|
6160
|
+
height,
|
|
6161
|
+
referenceLine,
|
|
6162
|
+
series,
|
|
6163
|
+
showGrid = true,
|
|
6164
|
+
showTooltip = true,
|
|
6165
|
+
tooltipContent,
|
|
6166
|
+
tooltipContentClassName: tooltipContentClassName2,
|
|
6167
|
+
tooltipFooter,
|
|
6168
|
+
tooltipLabelFormatter,
|
|
6169
|
+
tooltipProps,
|
|
6170
|
+
tooltipValueFormatter,
|
|
6171
|
+
xAxis,
|
|
6172
|
+
xAxisProps,
|
|
6173
|
+
xKey,
|
|
6174
|
+
yAxis,
|
|
6175
|
+
yAxisProps
|
|
6176
|
+
}) {
|
|
6177
|
+
const [activeDataKey, setActiveDataKey] = React48.useState(null);
|
|
6178
|
+
const hoverHighlightDataKey = series.find((item) => item.activeColor)?.dataKey ?? null;
|
|
6179
|
+
const chartData = data.map((datum) => {
|
|
6180
|
+
const safeDatum = { ...datum, [xKey]: datum[xKey] };
|
|
6181
|
+
series.forEach((item) => {
|
|
6182
|
+
safeDatum[item.dataKey] = getSafeValue(datum[item.dataKey]);
|
|
6183
|
+
});
|
|
6184
|
+
return safeDatum;
|
|
6035
6185
|
});
|
|
6186
|
+
const safeHeight = getSafeHeight(height);
|
|
6187
|
+
const chartConfig = getChartConfig(series);
|
|
6188
|
+
const {
|
|
6189
|
+
cursor: tooltipCursor,
|
|
6190
|
+
wrapperStyle: tooltipWrapperStyle,
|
|
6191
|
+
...restTooltipProps
|
|
6192
|
+
} = tooltipProps ?? {};
|
|
6193
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6194
|
+
"div",
|
|
6195
|
+
{
|
|
6196
|
+
"aria-label": ariaLabel ?? "Line chart",
|
|
6197
|
+
className: cn("w-full", className),
|
|
6198
|
+
"data-testid": "ads-line-chart",
|
|
6199
|
+
role: "img",
|
|
6200
|
+
style: { height: safeHeight },
|
|
6201
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6202
|
+
ChartContainer,
|
|
6203
|
+
{
|
|
6204
|
+
"aria-hidden": "true",
|
|
6205
|
+
className: "h-full",
|
|
6206
|
+
config: chartConfig,
|
|
6207
|
+
height: "100%",
|
|
6208
|
+
...containerProps,
|
|
6209
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
|
|
6210
|
+
import_recharts3.ComposedChart,
|
|
6211
|
+
{
|
|
6212
|
+
accessibilityLayer: false,
|
|
6213
|
+
data: chartData,
|
|
6214
|
+
margin: chartProps?.margin ?? { bottom: 0, left: 0, right: 0, top: 0 },
|
|
6215
|
+
...chartProps,
|
|
6216
|
+
onMouseLeave: (...args) => {
|
|
6217
|
+
setActiveDataKey(null);
|
|
6218
|
+
chartProps?.onMouseLeave?.(...args);
|
|
6219
|
+
},
|
|
6220
|
+
onMouseMove: (...args) => {
|
|
6221
|
+
setActiveDataKey(hoverHighlightDataKey);
|
|
6222
|
+
chartProps?.onMouseMove?.(...args);
|
|
6223
|
+
},
|
|
6224
|
+
children: [
|
|
6225
|
+
showGrid && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6226
|
+
import_recharts3.CartesianGrid,
|
|
6227
|
+
{
|
|
6228
|
+
stroke: gridProps?.stroke ?? gridColor,
|
|
6229
|
+
strokeOpacity: gridProps?.strokeOpacity ?? 0.5,
|
|
6230
|
+
vertical: gridProps?.vertical ?? true,
|
|
6231
|
+
...gridProps
|
|
6232
|
+
}
|
|
6233
|
+
),
|
|
6234
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6235
|
+
import_recharts3.XAxis,
|
|
6236
|
+
{
|
|
6237
|
+
axisLine: xAxisProps?.axisLine ?? xAxis?.axisLine ?? false,
|
|
6238
|
+
dataKey: xKey,
|
|
6239
|
+
hide: xAxisProps?.hide ?? xAxis?.hide ?? false,
|
|
6240
|
+
interval: xAxisProps?.interval ?? xAxis?.interval,
|
|
6241
|
+
tick: xAxisProps?.tick ?? xAxis?.tick ?? true,
|
|
6242
|
+
tickFormatter: xAxisProps?.tickFormatter ?? xAxis?.tickFormatter,
|
|
6243
|
+
tickLine: xAxisProps?.tickLine ?? xAxis?.tickLine ?? false,
|
|
6244
|
+
tickMargin: xAxisProps?.tickMargin ?? xAxis?.tickMargin ?? 12,
|
|
6245
|
+
type: "category",
|
|
6246
|
+
...xAxisProps
|
|
6247
|
+
}
|
|
6248
|
+
),
|
|
6249
|
+
(yAxis || yAxisProps) && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6250
|
+
import_recharts3.YAxis,
|
|
6251
|
+
{
|
|
6252
|
+
axisLine: yAxisProps?.axisLine ?? yAxis?.axisLine ?? false,
|
|
6253
|
+
domain: yAxisProps?.domain ?? yAxis?.domain,
|
|
6254
|
+
tick: yAxisProps?.tick ?? yAxis?.tick ?? true,
|
|
6255
|
+
tickCount: yAxisProps?.tickCount ?? yAxis?.tickCount,
|
|
6256
|
+
tickFormatter: yAxisProps?.tickFormatter ?? yAxis?.tickFormatter,
|
|
6257
|
+
tickLine: yAxisProps?.tickLine ?? yAxis?.tickLine ?? false,
|
|
6258
|
+
ticks: yAxisProps?.ticks ?? yAxis?.ticks,
|
|
6259
|
+
width: yAxisProps?.width ?? yAxis?.width,
|
|
6260
|
+
...yAxisProps
|
|
6261
|
+
}
|
|
6262
|
+
),
|
|
6263
|
+
referenceLine && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6264
|
+
import_recharts3.ReferenceLine,
|
|
6265
|
+
{
|
|
6266
|
+
stroke: referenceLine.color ?? "var(--chart-1)",
|
|
6267
|
+
strokeDasharray: referenceLine.strokeDasharray ?? "2 3",
|
|
6268
|
+
y: referenceLine.value
|
|
6269
|
+
}
|
|
6270
|
+
),
|
|
6271
|
+
showTooltip && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6272
|
+
import_recharts3.Tooltip,
|
|
6273
|
+
{
|
|
6274
|
+
content: tooltipContent ?? ((props) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6275
|
+
LineChartTooltipContent,
|
|
6276
|
+
{
|
|
6277
|
+
...props,
|
|
6278
|
+
series,
|
|
6279
|
+
tooltipContentClassName: tooltipContentClassName2,
|
|
6280
|
+
tooltipFooter,
|
|
6281
|
+
tooltipLabelFormatter,
|
|
6282
|
+
tooltipValueFormatter
|
|
6283
|
+
}
|
|
6284
|
+
)),
|
|
6285
|
+
cursor: tooltipCursor ?? { stroke: gridColor, strokeDasharray: "2 3" },
|
|
6286
|
+
isAnimationActive: false,
|
|
6287
|
+
wrapperStyle: { zIndex: 20, ...tooltipWrapperStyle },
|
|
6288
|
+
...restTooltipProps
|
|
6289
|
+
}
|
|
6290
|
+
),
|
|
6291
|
+
series.map((item, index) => {
|
|
6292
|
+
const color = getSeriesColor(item, index);
|
|
6293
|
+
const opacity = getSafeOpacity(item.areaOpacity);
|
|
6294
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(React48.Fragment, { children: [
|
|
6295
|
+
opacity > 0 && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6296
|
+
import_recharts3.Area,
|
|
6297
|
+
{
|
|
6298
|
+
...item.areaProps,
|
|
6299
|
+
dataKey: item.dataKey,
|
|
6300
|
+
fill: item.areaProps?.fill ?? color,
|
|
6301
|
+
fillOpacity: item.areaProps?.fillOpacity ?? opacity,
|
|
6302
|
+
animationDuration: item.areaProps?.animationDuration ?? 360,
|
|
6303
|
+
animationEasing: item.areaProps?.animationEasing ?? "ease-out",
|
|
6304
|
+
isAnimationActive: item.areaProps?.isAnimationActive ?? true,
|
|
6305
|
+
stroke: item.areaProps?.stroke ?? "none",
|
|
6306
|
+
type: item.areaProps?.type ?? curve
|
|
6307
|
+
}
|
|
6308
|
+
),
|
|
6309
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6310
|
+
import_recharts3.Line,
|
|
6311
|
+
{
|
|
6312
|
+
...item.lineProps,
|
|
6313
|
+
activeDot: item.lineProps?.activeDot ?? { r: 5 },
|
|
6314
|
+
animationDuration: item.lineProps?.animationDuration ?? 360,
|
|
6315
|
+
animationEasing: item.lineProps?.animationEasing ?? "ease-out",
|
|
6316
|
+
dataKey: item.dataKey,
|
|
6317
|
+
dot: item.lineProps?.dot ?? false,
|
|
6318
|
+
isAnimationActive: item.lineProps?.isAnimationActive ?? true,
|
|
6319
|
+
onMouseEnter: () => setActiveDataKey(item.dataKey),
|
|
6320
|
+
onMouseLeave: () => setActiveDataKey(null),
|
|
6321
|
+
stroke: activeDataKey === item.dataKey ? item.activeColor ?? "#2196f3" : item.lineProps?.stroke ?? color,
|
|
6322
|
+
strokeWidth: item.lineProps?.strokeWidth ?? item.strokeWidth ?? 2,
|
|
6323
|
+
type: item.lineProps?.type ?? curve
|
|
6324
|
+
}
|
|
6325
|
+
)
|
|
6326
|
+
] }, item.dataKey);
|
|
6327
|
+
}),
|
|
6328
|
+
children
|
|
6329
|
+
]
|
|
6330
|
+
}
|
|
6331
|
+
)
|
|
6332
|
+
}
|
|
6333
|
+
)
|
|
6334
|
+
}
|
|
6335
|
+
);
|
|
6036
6336
|
}
|
|
6037
6337
|
|
|
6038
6338
|
// src/components/AdsSparklineChart/index.tsx
|
|
6039
|
-
var
|
|
6040
|
-
var
|
|
6339
|
+
var import_recharts4 = require("recharts");
|
|
6340
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
6341
|
+
var DEFAULT_HEIGHT2 = 40;
|
|
6041
6342
|
var tooltipContentStyle2 = {
|
|
6042
6343
|
backgroundColor: "var(--popover)",
|
|
6043
6344
|
border: "1px solid var(--border)",
|
|
@@ -6045,19 +6346,12 @@ var tooltipContentStyle2 = {
|
|
|
6045
6346
|
color: "var(--popover-foreground)",
|
|
6046
6347
|
padding: "8px 12px"
|
|
6047
6348
|
};
|
|
6048
|
-
function
|
|
6049
|
-
return Number.isFinite(height) && height && height > 0 ? height :
|
|
6349
|
+
function getSafeHeight2(height) {
|
|
6350
|
+
return Number.isFinite(height) && height && height > 0 ? height : DEFAULT_HEIGHT2;
|
|
6050
6351
|
}
|
|
6051
|
-
function
|
|
6352
|
+
function getSafeValue2(value) {
|
|
6052
6353
|
return typeof value === "number" && Number.isFinite(value) ? Math.max(value, 0) : 0;
|
|
6053
6354
|
}
|
|
6054
|
-
function getChartMargin(height, plotHeight) {
|
|
6055
|
-
if (!Number.isFinite(plotHeight) || !plotHeight || plotHeight >= height) {
|
|
6056
|
-
return { bottom: 1, left: 1, right: 1, top: 1 };
|
|
6057
|
-
}
|
|
6058
|
-
const verticalMargin = (height - Math.max(plotHeight, 1)) / 2;
|
|
6059
|
-
return { bottom: verticalMargin, left: 1, right: 1, top: verticalMargin };
|
|
6060
|
-
}
|
|
6061
6355
|
function AdsSparklineChart({
|
|
6062
6356
|
ariaLabel,
|
|
6063
6357
|
className,
|
|
@@ -6065,19 +6359,16 @@ function AdsSparklineChart({
|
|
|
6065
6359
|
data,
|
|
6066
6360
|
dataKey,
|
|
6067
6361
|
height,
|
|
6068
|
-
plotHeight,
|
|
6069
6362
|
showTooltip = true,
|
|
6070
|
-
tooltipDateFormat,
|
|
6071
6363
|
xKey
|
|
6072
6364
|
}) {
|
|
6073
6365
|
const chartData = data.map((datum) => ({
|
|
6074
6366
|
...datum,
|
|
6075
6367
|
[xKey]: datum[xKey],
|
|
6076
|
-
[dataKey]:
|
|
6368
|
+
[dataKey]: getSafeValue2(datum[dataKey])
|
|
6077
6369
|
}));
|
|
6078
|
-
const safeHeight =
|
|
6079
|
-
|
|
6080
|
-
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6370
|
+
const safeHeight = getSafeHeight2(height);
|
|
6371
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
6081
6372
|
"div",
|
|
6082
6373
|
{
|
|
6083
6374
|
"aria-label": ariaLabel ?? "Trend chart",
|
|
@@ -6085,36 +6376,37 @@ function AdsSparklineChart({
|
|
|
6085
6376
|
"data-testid": "ads-sparkline-chart",
|
|
6086
6377
|
role: "img",
|
|
6087
6378
|
style: { height: safeHeight },
|
|
6088
|
-
children: /* @__PURE__ */ (0,
|
|
6379
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
6089
6380
|
ChartContainer,
|
|
6090
6381
|
{
|
|
6091
6382
|
"aria-hidden": "true",
|
|
6092
6383
|
className: "h-full",
|
|
6093
6384
|
config: { value: { color } },
|
|
6094
6385
|
height: "100%",
|
|
6095
|
-
children: /* @__PURE__ */ (0,
|
|
6096
|
-
|
|
6097
|
-
|
|
6098
|
-
|
|
6099
|
-
|
|
6100
|
-
|
|
6101
|
-
|
|
6102
|
-
|
|
6103
|
-
|
|
6104
|
-
|
|
6105
|
-
|
|
6106
|
-
|
|
6107
|
-
|
|
6108
|
-
|
|
6109
|
-
|
|
6110
|
-
|
|
6111
|
-
|
|
6112
|
-
|
|
6113
|
-
|
|
6114
|
-
|
|
6115
|
-
|
|
6116
|
-
|
|
6117
|
-
|
|
6386
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
|
|
6387
|
+
import_recharts4.LineChart,
|
|
6388
|
+
{
|
|
6389
|
+
accessibilityLayer: false,
|
|
6390
|
+
data: chartData,
|
|
6391
|
+
margin: { bottom: 1, left: 1, right: 1, top: 1 },
|
|
6392
|
+
children: [
|
|
6393
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_recharts4.XAxis, { dataKey: xKey, hide: true, type: "category" }),
|
|
6394
|
+
showTooltip && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_recharts4.Tooltip, { contentStyle: tooltipContentStyle2, cursor: false }),
|
|
6395
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
6396
|
+
import_recharts4.Line,
|
|
6397
|
+
{
|
|
6398
|
+
activeDot: false,
|
|
6399
|
+
dataKey,
|
|
6400
|
+
dot: false,
|
|
6401
|
+
isAnimationActive: false,
|
|
6402
|
+
stroke: "var(--color-value)",
|
|
6403
|
+
strokeWidth: 2,
|
|
6404
|
+
type: "monotone"
|
|
6405
|
+
}
|
|
6406
|
+
)
|
|
6407
|
+
]
|
|
6408
|
+
}
|
|
6409
|
+
)
|
|
6118
6410
|
}
|
|
6119
6411
|
)
|
|
6120
6412
|
}
|
|
@@ -6122,20 +6414,20 @@ function AdsSparklineChart({
|
|
|
6122
6414
|
}
|
|
6123
6415
|
|
|
6124
6416
|
// src/components/AdsStackedBarChart/index.tsx
|
|
6125
|
-
var
|
|
6417
|
+
var React51 = __toESM(require("react"), 1);
|
|
6126
6418
|
|
|
6127
6419
|
// src/components/AdsTooltip/index.tsx
|
|
6128
|
-
var
|
|
6420
|
+
var React50 = __toESM(require("react"), 1);
|
|
6129
6421
|
|
|
6130
6422
|
// src/primitives/tooltip.tsx
|
|
6131
|
-
var
|
|
6423
|
+
var React49 = __toESM(require("react"), 1);
|
|
6132
6424
|
var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
|
|
6133
|
-
var
|
|
6425
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
6134
6426
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
6135
|
-
var
|
|
6427
|
+
var Tooltip4 = TooltipPrimitive.Root;
|
|
6136
6428
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
6137
6429
|
var TooltipArrow = TooltipPrimitive.Arrow;
|
|
6138
|
-
var TooltipContent =
|
|
6430
|
+
var TooltipContent = React49.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(TooltipPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
6139
6431
|
TooltipPrimitive.Content,
|
|
6140
6432
|
{
|
|
6141
6433
|
className: cn(
|
|
@@ -6150,12 +6442,12 @@ var TooltipContent = React48.forwardRef(({ className, sideOffset = 4, ...props }
|
|
|
6150
6442
|
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
6151
6443
|
|
|
6152
6444
|
// src/components/AdsTooltip/index.tsx
|
|
6153
|
-
var
|
|
6445
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
6154
6446
|
var tooltipContentClassName = "z-50 rounded-[6px] border-0 bg-[#844fff] px-3 py-2 text-sm font-normal leading-5 text-[#fdfdfd] shadow-[0px_8px_24px_rgba(0,0,0,0.22)]";
|
|
6155
6447
|
var AdsTooltipProvider = TooltipProvider;
|
|
6156
|
-
var AdsTooltip =
|
|
6448
|
+
var AdsTooltip = Tooltip4;
|
|
6157
6449
|
var AdsTooltipTrigger = TooltipTrigger;
|
|
6158
|
-
var AdsTooltipContent =
|
|
6450
|
+
var AdsTooltipContent = React50.forwardRef(({ align = "center", className, sideOffset = 10, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
6159
6451
|
TooltipContent,
|
|
6160
6452
|
{
|
|
6161
6453
|
align,
|
|
@@ -6166,7 +6458,7 @@ var AdsTooltipContent = React49.forwardRef(({ align = "center", className, sideO
|
|
|
6166
6458
|
}
|
|
6167
6459
|
));
|
|
6168
6460
|
AdsTooltipContent.displayName = "AdsTooltipContent";
|
|
6169
|
-
var AdsTooltipArrow =
|
|
6461
|
+
var AdsTooltipArrow = React50.forwardRef(({ className, height = 5, width = 10, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
6170
6462
|
TooltipArrow,
|
|
6171
6463
|
{
|
|
6172
6464
|
className: cn("fill-[#844fff]", className),
|
|
@@ -6179,11 +6471,11 @@ var AdsTooltipArrow = React49.forwardRef(({ className, height = 5, width = 10, .
|
|
|
6179
6471
|
AdsTooltipArrow.displayName = "AdsTooltipArrow";
|
|
6180
6472
|
|
|
6181
6473
|
// src/components/AdsStackedBarChart/index.tsx
|
|
6182
|
-
var
|
|
6183
|
-
var
|
|
6474
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
6475
|
+
var DEFAULT_HEIGHT3 = 20;
|
|
6184
6476
|
var DEFAULT_SEGMENT_COLOR = "var(--chart-1)";
|
|
6185
|
-
function
|
|
6186
|
-
return Number.isFinite(height) && height && height > 0 ? height :
|
|
6477
|
+
function getSafeHeight3(height) {
|
|
6478
|
+
return Number.isFinite(height) && height && height > 0 ? height : DEFAULT_HEIGHT3;
|
|
6187
6479
|
}
|
|
6188
6480
|
function formatPercentage(percentage) {
|
|
6189
6481
|
return `${Number(percentage.toFixed(2))}%`;
|
|
@@ -6195,7 +6487,7 @@ function AdsStackedBarChart({
|
|
|
6195
6487
|
showTooltip = true,
|
|
6196
6488
|
segments
|
|
6197
6489
|
}) {
|
|
6198
|
-
const descriptionId =
|
|
6490
|
+
const descriptionId = React51.useId();
|
|
6199
6491
|
const validSegments = segments.reduce((items, segment, index) => {
|
|
6200
6492
|
const value = Number.isFinite(segment.value) ? Math.max(segment.value, 0) : 0;
|
|
6201
6493
|
if (value > 0) {
|
|
@@ -6215,7 +6507,7 @@ function AdsStackedBarChart({
|
|
|
6215
6507
|
const hasData = normalizedTotal > 0 && Number.isFinite(normalizedTotal);
|
|
6216
6508
|
const getPercentage = (value) => value / normalizationBase / normalizedTotal * 100;
|
|
6217
6509
|
const summary = hasData ? validSegments.map((segment) => `${segment.label}: ${formatPercentage(getPercentage(segment.value))}`).join(", ") : "No data";
|
|
6218
|
-
return /* @__PURE__ */ (0,
|
|
6510
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
|
|
6219
6511
|
"div",
|
|
6220
6512
|
{
|
|
6221
6513
|
"aria-label": ariaLabel ?? summary,
|
|
@@ -6223,13 +6515,13 @@ function AdsStackedBarChart({
|
|
|
6223
6515
|
className: cn("overflow-hidden rounded-full bg-muted", className),
|
|
6224
6516
|
"data-testid": "ads-stacked-bar-chart",
|
|
6225
6517
|
role: "img",
|
|
6226
|
-
style: { height:
|
|
6518
|
+
style: { height: getSafeHeight3(height) },
|
|
6227
6519
|
children: [
|
|
6228
|
-
ariaLabel && /* @__PURE__ */ (0,
|
|
6229
|
-
hasData && /* @__PURE__ */ (0,
|
|
6520
|
+
ariaLabel && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "sr-only", id: descriptionId, children: summary }),
|
|
6521
|
+
hasData && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(AdsTooltipProvider, { delayDuration: 100, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "flex size-full", children: validSegments.map((segment, index) => {
|
|
6230
6522
|
const percentage = getPercentage(segment.value);
|
|
6231
|
-
return /* @__PURE__ */ (0,
|
|
6232
|
-
/* @__PURE__ */ (0,
|
|
6523
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(AdsTooltip, { children: [
|
|
6524
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(AdsTooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
6233
6525
|
"div",
|
|
6234
6526
|
{
|
|
6235
6527
|
"aria-label": `${segment.label}: ${segment.value}`,
|
|
@@ -6239,7 +6531,7 @@ function AdsStackedBarChart({
|
|
|
6239
6531
|
tabIndex: showTooltip ? 0 : -1
|
|
6240
6532
|
}
|
|
6241
6533
|
) }),
|
|
6242
|
-
showTooltip && /* @__PURE__ */ (0,
|
|
6534
|
+
showTooltip && /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(AdsTooltipContent, { children: [
|
|
6243
6535
|
segment.label,
|
|
6244
6536
|
": ",
|
|
6245
6537
|
segment.value
|
|
@@ -6252,9 +6544,9 @@ function AdsStackedBarChart({
|
|
|
6252
6544
|
}
|
|
6253
6545
|
|
|
6254
6546
|
// src/components/AdsBarChart/index.tsx
|
|
6255
|
-
var
|
|
6256
|
-
var
|
|
6257
|
-
var
|
|
6547
|
+
var import_recharts5 = require("recharts");
|
|
6548
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
6549
|
+
var DEFAULT_HEIGHT4 = 160;
|
|
6258
6550
|
var DEFAULT_HIGHLIGHT_COLOR = "var(--chart-2)";
|
|
6259
6551
|
var DEFAULT_RADIUS = 4;
|
|
6260
6552
|
var tooltipContentStyle3 = {
|
|
@@ -6264,13 +6556,13 @@ var tooltipContentStyle3 = {
|
|
|
6264
6556
|
color: "var(--popover-foreground)",
|
|
6265
6557
|
padding: "8px 12px"
|
|
6266
6558
|
};
|
|
6267
|
-
function
|
|
6268
|
-
return Number.isFinite(height) && height && height > 0 ? height :
|
|
6559
|
+
function getSafeHeight4(height) {
|
|
6560
|
+
return Number.isFinite(height) && height && height > 0 ? height : DEFAULT_HEIGHT4;
|
|
6269
6561
|
}
|
|
6270
6562
|
function getSafeRadius(radius) {
|
|
6271
6563
|
return Number.isFinite(radius) && radius !== void 0 && radius >= 0 ? radius : DEFAULT_RADIUS;
|
|
6272
6564
|
}
|
|
6273
|
-
function
|
|
6565
|
+
function getSafeValue3(value) {
|
|
6274
6566
|
return typeof value === "number" && Number.isFinite(value) ? Math.max(value, 0) : 0;
|
|
6275
6567
|
}
|
|
6276
6568
|
function AdsBarChart({
|
|
@@ -6286,7 +6578,6 @@ function AdsBarChart({
|
|
|
6286
6578
|
highlightIndex,
|
|
6287
6579
|
hoverColor,
|
|
6288
6580
|
showTooltip = true,
|
|
6289
|
-
tooltipDateFormat,
|
|
6290
6581
|
xAxis,
|
|
6291
6582
|
xKey,
|
|
6292
6583
|
yAxis
|
|
@@ -6294,12 +6585,12 @@ function AdsBarChart({
|
|
|
6294
6585
|
const chartData = data.map((datum) => ({
|
|
6295
6586
|
...datum,
|
|
6296
6587
|
[xKey]: datum[xKey],
|
|
6297
|
-
[dataKey]:
|
|
6588
|
+
[dataKey]: getSafeValue3(datum[dataKey])
|
|
6298
6589
|
}));
|
|
6299
|
-
const safeHeight =
|
|
6590
|
+
const safeHeight = getSafeHeight4(height);
|
|
6300
6591
|
const safeRadius = getSafeRadius(barRadius);
|
|
6301
6592
|
const safeHighlightIndex = Number.isInteger(highlightIndex) ? highlightIndex : -1;
|
|
6302
|
-
return /* @__PURE__ */ (0,
|
|
6593
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
6303
6594
|
"div",
|
|
6304
6595
|
{
|
|
6305
6596
|
"aria-label": ariaLabel ?? "Bar chart",
|
|
@@ -6307,66 +6598,67 @@ function AdsBarChart({
|
|
|
6307
6598
|
"data-testid": "ads-bar-chart",
|
|
6308
6599
|
role: "img",
|
|
6309
6600
|
style: { height: safeHeight },
|
|
6310
|
-
children: /* @__PURE__ */ (0,
|
|
6601
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
6311
6602
|
ChartContainer,
|
|
6312
6603
|
{
|
|
6313
6604
|
"aria-hidden": "true",
|
|
6314
6605
|
className: "h-full",
|
|
6315
6606
|
config: { value: { color } },
|
|
6316
6607
|
height: "100%",
|
|
6317
|
-
children: /* @__PURE__ */ (0,
|
|
6318
|
-
|
|
6319
|
-
|
|
6320
|
-
|
|
6321
|
-
|
|
6322
|
-
|
|
6323
|
-
|
|
6324
|
-
|
|
6325
|
-
|
|
6326
|
-
tickMargin: xAxis?.tickMargin,
|
|
6327
|
-
type: "category"
|
|
6328
|
-
}
|
|
6329
|
-
),
|
|
6330
|
-
yAxis && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
6331
|
-
import_recharts4.YAxis,
|
|
6332
|
-
{
|
|
6333
|
-
axisLine: yAxis.axisLine ?? false,
|
|
6334
|
-
domain: yAxis.domain,
|
|
6335
|
-
tick: yAxis.tick === false ? false : { fill: yAxis.tickColor, fontSize: yAxis.tickFontSize },
|
|
6336
|
-
tickCount: yAxis.tickCount,
|
|
6337
|
-
tickLine: yAxis.tickLine ?? false,
|
|
6338
|
-
tickMargin: yAxis.tickMargin,
|
|
6339
|
-
ticks: yAxis.ticks,
|
|
6340
|
-
width: yAxis.width
|
|
6341
|
-
}
|
|
6342
|
-
),
|
|
6343
|
-
showTooltip && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
6344
|
-
import_recharts4.Tooltip,
|
|
6345
|
-
{
|
|
6346
|
-
contentStyle: tooltipContentStyle3,
|
|
6347
|
-
cursor: { fill: "transparent" },
|
|
6348
|
-
labelFormatter: (label) => formatChartTooltipLabel(label, tooltipDateFormat)
|
|
6349
|
-
}
|
|
6350
|
-
),
|
|
6351
|
-
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
6352
|
-
import_recharts4.Bar,
|
|
6353
|
-
{
|
|
6354
|
-
activeBar: hoverColor ? { fill: hoverColor } : void 0,
|
|
6355
|
-
barSize,
|
|
6356
|
-
dataKey,
|
|
6357
|
-
fill: "var(--color-value)",
|
|
6358
|
-
isAnimationActive: false,
|
|
6359
|
-
radius: safeRadius,
|
|
6360
|
-
children: chartData.map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
6361
|
-
import_recharts4.Cell,
|
|
6608
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
|
|
6609
|
+
import_recharts5.BarChart,
|
|
6610
|
+
{
|
|
6611
|
+
accessibilityLayer: false,
|
|
6612
|
+
data: chartData,
|
|
6613
|
+
margin: { bottom: 0, left: 0, right: 0, top: 0 },
|
|
6614
|
+
children: [
|
|
6615
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
6616
|
+
import_recharts5.XAxis,
|
|
6362
6617
|
{
|
|
6363
|
-
|
|
6364
|
-
|
|
6365
|
-
|
|
6366
|
-
|
|
6367
|
-
|
|
6368
|
-
|
|
6369
|
-
|
|
6618
|
+
axisLine: xAxis?.axisLine ?? false,
|
|
6619
|
+
dataKey: xKey,
|
|
6620
|
+
hide: xAxis?.hide ?? true,
|
|
6621
|
+
tick: xAxis?.tick ?? true,
|
|
6622
|
+
tickLine: xAxis?.tickLine ?? false,
|
|
6623
|
+
tickMargin: xAxis?.tickMargin,
|
|
6624
|
+
type: "category"
|
|
6625
|
+
}
|
|
6626
|
+
),
|
|
6627
|
+
yAxis && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
6628
|
+
import_recharts5.YAxis,
|
|
6629
|
+
{
|
|
6630
|
+
axisLine: yAxis.axisLine ?? false,
|
|
6631
|
+
domain: yAxis.domain,
|
|
6632
|
+
tick: yAxis.tick ?? true,
|
|
6633
|
+
tickCount: yAxis.tickCount,
|
|
6634
|
+
tickLine: yAxis.tickLine ?? false,
|
|
6635
|
+
tickMargin: yAxis.tickMargin,
|
|
6636
|
+
ticks: yAxis.ticks,
|
|
6637
|
+
width: yAxis.width
|
|
6638
|
+
}
|
|
6639
|
+
),
|
|
6640
|
+
showTooltip && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_recharts5.Tooltip, { contentStyle: tooltipContentStyle3, cursor: { fill: "transparent" } }),
|
|
6641
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
6642
|
+
import_recharts5.Bar,
|
|
6643
|
+
{
|
|
6644
|
+
activeBar: hoverColor ? { fill: hoverColor } : void 0,
|
|
6645
|
+
barSize,
|
|
6646
|
+
dataKey,
|
|
6647
|
+
fill: "var(--color-value)",
|
|
6648
|
+
isAnimationActive: false,
|
|
6649
|
+
radius: safeRadius,
|
|
6650
|
+
children: chartData.map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
6651
|
+
import_recharts5.Cell,
|
|
6652
|
+
{
|
|
6653
|
+
fill: index === safeHighlightIndex ? highlightColor ?? DEFAULT_HIGHLIGHT_COLOR : "var(--color-value)"
|
|
6654
|
+
},
|
|
6655
|
+
index
|
|
6656
|
+
))
|
|
6657
|
+
}
|
|
6658
|
+
)
|
|
6659
|
+
]
|
|
6660
|
+
}
|
|
6661
|
+
)
|
|
6370
6662
|
}
|
|
6371
6663
|
)
|
|
6372
6664
|
}
|
|
@@ -6374,13 +6666,13 @@ function AdsBarChart({
|
|
|
6374
6666
|
}
|
|
6375
6667
|
|
|
6376
6668
|
// src/components/AdsSlider/index.tsx
|
|
6377
|
-
var
|
|
6669
|
+
var React53 = __toESM(require("react"), 1);
|
|
6378
6670
|
|
|
6379
6671
|
// src/primitives/slider.tsx
|
|
6380
|
-
var
|
|
6672
|
+
var React52 = __toESM(require("react"), 1);
|
|
6381
6673
|
var SliderPrimitive = __toESM(require("@radix-ui/react-slider"), 1);
|
|
6382
|
-
var
|
|
6383
|
-
var Slider =
|
|
6674
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
6675
|
+
var Slider = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
|
|
6384
6676
|
SliderPrimitive.Root,
|
|
6385
6677
|
{
|
|
6386
6678
|
ref,
|
|
@@ -6390,10 +6682,10 @@ var Slider = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
6390
6682
|
),
|
|
6391
6683
|
...props,
|
|
6392
6684
|
children: [
|
|
6393
|
-
/* @__PURE__ */ (0,
|
|
6685
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SliderPrimitive.Track, { className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
|
|
6394
6686
|
Array.from({
|
|
6395
6687
|
length: Array.isArray(props.value) ? props.value.length : Array.isArray(props.defaultValue) ? props.defaultValue.length : 1
|
|
6396
|
-
}).map((_, index) => /* @__PURE__ */ (0,
|
|
6688
|
+
}).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
6397
6689
|
SliderPrimitive.Thumb,
|
|
6398
6690
|
{
|
|
6399
6691
|
className: "block h-5 w-5 rounded-full border border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"
|
|
@@ -6406,11 +6698,11 @@ var Slider = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
6406
6698
|
Slider.displayName = SliderPrimitive.Root.displayName;
|
|
6407
6699
|
|
|
6408
6700
|
// src/components/AdsSlider/index.tsx
|
|
6409
|
-
var
|
|
6701
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
6410
6702
|
var sliderBaseClassName = "py-1";
|
|
6411
|
-
var Slider2 =
|
|
6703
|
+
var Slider2 = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Slider, { className: cn(sliderBaseClassName, className), ref, ...props }));
|
|
6412
6704
|
Slider2.displayName = "Slider";
|
|
6413
|
-
var AdsSlider =
|
|
6705
|
+
var AdsSlider = React53.forwardRef(
|
|
6414
6706
|
({
|
|
6415
6707
|
className,
|
|
6416
6708
|
descriptionPlacement = "above",
|
|
@@ -6425,12 +6717,12 @@ var AdsSlider = React52.forwardRef(
|
|
|
6425
6717
|
helperText,
|
|
6426
6718
|
id
|
|
6427
6719
|
});
|
|
6428
|
-
const helperNode = helperText ? /* @__PURE__ */ (0,
|
|
6429
|
-
const errorNode = errorText ? /* @__PURE__ */ (0,
|
|
6430
|
-
return /* @__PURE__ */ (0,
|
|
6431
|
-
label ? /* @__PURE__ */ (0,
|
|
6720
|
+
const helperNode = helperText ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AdsFieldDescription, { id: description.helperId, children: helperText }) : null;
|
|
6721
|
+
const errorNode = errorText ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AdsFieldError, { id: description.errorId, children: errorText }) : null;
|
|
6722
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(AdsFieldItem, { children: [
|
|
6723
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AdsFieldLabel, { children: label }) : null,
|
|
6432
6724
|
descriptionPlacement === "above" ? helperNode : null,
|
|
6433
|
-
/* @__PURE__ */ (0,
|
|
6725
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
6434
6726
|
Slider2,
|
|
6435
6727
|
{
|
|
6436
6728
|
"aria-describedby": description.describedBy,
|
|
@@ -6447,13 +6739,13 @@ var AdsSlider = React52.forwardRef(
|
|
|
6447
6739
|
AdsSlider.displayName = "AdsSlider";
|
|
6448
6740
|
|
|
6449
6741
|
// src/components/AdsSwitch/index.tsx
|
|
6450
|
-
var
|
|
6742
|
+
var React55 = __toESM(require("react"), 1);
|
|
6451
6743
|
|
|
6452
6744
|
// src/primitives/switch.tsx
|
|
6453
|
-
var
|
|
6745
|
+
var React54 = __toESM(require("react"), 1);
|
|
6454
6746
|
var SwitchPrimitives = __toESM(require("@radix-ui/react-switch"), 1);
|
|
6455
|
-
var
|
|
6456
|
-
var Switch =
|
|
6747
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
6748
|
+
var Switch = React54.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
6457
6749
|
SwitchPrimitives.Root,
|
|
6458
6750
|
{
|
|
6459
6751
|
className: cn(
|
|
@@ -6462,7 +6754,7 @@ var Switch = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
6462
6754
|
),
|
|
6463
6755
|
...props,
|
|
6464
6756
|
ref,
|
|
6465
|
-
children: /* @__PURE__ */ (0,
|
|
6757
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
6466
6758
|
SwitchPrimitives.Thumb,
|
|
6467
6759
|
{
|
|
6468
6760
|
className: cn(
|
|
@@ -6475,15 +6767,15 @@ var Switch = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
6475
6767
|
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
6476
6768
|
|
|
6477
6769
|
// src/components/AdsSwitch/index.tsx
|
|
6478
|
-
var
|
|
6770
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
6479
6771
|
var switchBaseClassName = "h-6 w-11 border border-transparent bg-muted shadow-[0px_1px_2px_rgba(0,0,0,0.1)] focus-visible:ring-[3px] focus-visible:ring-[rgba(161,161,161,0.5)] focus-visible:ring-offset-0 data-[state=checked]:bg-primary data-[state=unchecked]:bg-muted";
|
|
6480
|
-
var Switch2 =
|
|
6772
|
+
var Switch2 = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Switch, { className: cn(switchBaseClassName, className), ref, ...props }));
|
|
6481
6773
|
Switch2.displayName = "Switch";
|
|
6482
|
-
var AdsSwitch =
|
|
6483
|
-
const generatedId =
|
|
6774
|
+
var AdsSwitch = React55.forwardRef(({ className, description, id, label, switchClassName, wrapperClassName, ...props }, ref) => {
|
|
6775
|
+
const generatedId = React55.useId();
|
|
6484
6776
|
const inputId = id ?? generatedId;
|
|
6485
6777
|
if (!label) {
|
|
6486
|
-
return /* @__PURE__ */ (0,
|
|
6778
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
6487
6779
|
Switch2,
|
|
6488
6780
|
{
|
|
6489
6781
|
className: cn(className, switchClassName),
|
|
@@ -6493,12 +6785,12 @@ var AdsSwitch = React54.forwardRef(({ className, description, id, label, switchC
|
|
|
6493
6785
|
}
|
|
6494
6786
|
);
|
|
6495
6787
|
}
|
|
6496
|
-
return /* @__PURE__ */ (0,
|
|
6497
|
-
/* @__PURE__ */ (0,
|
|
6498
|
-
/* @__PURE__ */ (0,
|
|
6499
|
-
description ? /* @__PURE__ */ (0,
|
|
6788
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("label", { className: cn("block w-full cursor-pointer", wrapperClassName), htmlFor: inputId, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex w-full items-start gap-3", children: [
|
|
6789
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-1.5 pt-0.5", children: [
|
|
6790
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "text-sm font-medium leading-5 text-foreground", children: label }),
|
|
6791
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(AdsFieldDescription, { className: "text-sm leading-5", children: description }) : null
|
|
6500
6792
|
] }),
|
|
6501
|
-
/* @__PURE__ */ (0,
|
|
6793
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
6502
6794
|
Switch2,
|
|
6503
6795
|
{
|
|
6504
6796
|
className: cn(className, switchClassName),
|
|
@@ -6512,14 +6804,14 @@ var AdsSwitch = React54.forwardRef(({ className, description, id, label, switchC
|
|
|
6512
6804
|
AdsSwitch.displayName = "AdsSwitch";
|
|
6513
6805
|
|
|
6514
6806
|
// src/components/AdsTabs/index.tsx
|
|
6515
|
-
var
|
|
6807
|
+
var React57 = __toESM(require("react"), 1);
|
|
6516
6808
|
|
|
6517
6809
|
// src/primitives/tabs.tsx
|
|
6518
|
-
var
|
|
6810
|
+
var React56 = __toESM(require("react"), 1);
|
|
6519
6811
|
var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"), 1);
|
|
6520
|
-
var
|
|
6812
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
6521
6813
|
var Tabs = TabsPrimitive.Root;
|
|
6522
|
-
var TabsList =
|
|
6814
|
+
var TabsList = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
6523
6815
|
TabsPrimitive.List,
|
|
6524
6816
|
{
|
|
6525
6817
|
className: cn("inline-flex items-center", className),
|
|
@@ -6528,7 +6820,7 @@ var TabsList = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
6528
6820
|
}
|
|
6529
6821
|
));
|
|
6530
6822
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
6531
|
-
var TabsTrigger =
|
|
6823
|
+
var TabsTrigger = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
6532
6824
|
TabsPrimitive.Trigger,
|
|
6533
6825
|
{
|
|
6534
6826
|
className: cn(
|
|
@@ -6540,7 +6832,7 @@ var TabsTrigger = React55.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
6540
6832
|
}
|
|
6541
6833
|
));
|
|
6542
6834
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
6543
|
-
var TabsContent =
|
|
6835
|
+
var TabsContent = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
6544
6836
|
TabsPrimitive.Content,
|
|
6545
6837
|
{
|
|
6546
6838
|
className: cn("focus-visible:outline-none", className),
|
|
@@ -6551,9 +6843,9 @@ var TabsContent = React55.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
6551
6843
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
6552
6844
|
|
|
6553
6845
|
// src/components/AdsTabs/index.tsx
|
|
6554
|
-
var
|
|
6846
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
6555
6847
|
var AdsTabs = Tabs;
|
|
6556
|
-
var AdsTabsList =
|
|
6848
|
+
var AdsTabsList = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
6557
6849
|
TabsList,
|
|
6558
6850
|
{
|
|
6559
6851
|
className: cn(
|
|
@@ -6565,7 +6857,7 @@ var AdsTabsList = React56.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
6565
6857
|
}
|
|
6566
6858
|
));
|
|
6567
6859
|
AdsTabsList.displayName = "AdsTabsList";
|
|
6568
|
-
var AdsTabsTrigger =
|
|
6860
|
+
var AdsTabsTrigger = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
6569
6861
|
TabsTrigger,
|
|
6570
6862
|
{
|
|
6571
6863
|
className: cn(
|
|
@@ -6577,7 +6869,7 @@ var AdsTabsTrigger = React56.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
6577
6869
|
}
|
|
6578
6870
|
));
|
|
6579
6871
|
AdsTabsTrigger.displayName = "AdsTabsTrigger";
|
|
6580
|
-
var AdsTabsContent =
|
|
6872
|
+
var AdsTabsContent = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
6581
6873
|
TabsContent,
|
|
6582
6874
|
{
|
|
6583
6875
|
className: cn(
|
|
@@ -6591,13 +6883,13 @@ var AdsTabsContent = React56.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
6591
6883
|
AdsTabsContent.displayName = "AdsTabsContent";
|
|
6592
6884
|
|
|
6593
6885
|
// src/components/AdsToggle/index.tsx
|
|
6594
|
-
var
|
|
6886
|
+
var React59 = __toESM(require("react"), 1);
|
|
6595
6887
|
|
|
6596
6888
|
// src/primitives/toggle.tsx
|
|
6597
|
-
var
|
|
6889
|
+
var React58 = __toESM(require("react"), 1);
|
|
6598
6890
|
var TogglePrimitive = __toESM(require("@radix-ui/react-toggle"), 1);
|
|
6599
|
-
var
|
|
6600
|
-
var Toggle =
|
|
6891
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
6892
|
+
var Toggle = React58.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
6601
6893
|
TogglePrimitive.Root,
|
|
6602
6894
|
{
|
|
6603
6895
|
className: cn(
|
|
@@ -6611,7 +6903,7 @@ var Toggle = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
6611
6903
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
6612
6904
|
|
|
6613
6905
|
// src/components/AdsToggle/index.tsx
|
|
6614
|
-
var
|
|
6906
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
6615
6907
|
var sizeClassName3 = {
|
|
6616
6908
|
sm: "!h-8 px-[6px] text-sm",
|
|
6617
6909
|
md: "!h-9 px-md text-sm",
|
|
@@ -6626,10 +6918,10 @@ var variantClassName = {
|
|
|
6626
6918
|
default: "border border-transparent bg-transparent text-foreground shadow-none hover:bg-muted/70 data-[state=on]:bg-muted data-[state=on]:shadow-[0px_1px_1px_rgba(0,0,0,0.1)]",
|
|
6627
6919
|
outline: "border border-border bg-transparent text-foreground shadow-none hover:bg-muted/70 data-[state=on]:border-transparent data-[state=on]:bg-muted data-[state=on]:shadow-[0px_1px_1px_rgba(0,0,0,0.1)]"
|
|
6628
6920
|
};
|
|
6629
|
-
var AdsToggle =
|
|
6630
|
-
const childCount =
|
|
6631
|
-
const isIconOnly = childCount === 1 &&
|
|
6632
|
-
return /* @__PURE__ */ (0,
|
|
6921
|
+
var AdsToggle = React59.forwardRef(({ children, className, size = "md", variant = "default", ...props }, ref) => {
|
|
6922
|
+
const childCount = React59.Children.count(children);
|
|
6923
|
+
const isIconOnly = childCount === 1 && React59.isValidElement(children);
|
|
6924
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
6633
6925
|
Toggle,
|
|
6634
6926
|
{
|
|
6635
6927
|
className: cn(
|
|
@@ -6648,13 +6940,13 @@ var AdsToggle = React58.forwardRef(({ children, className, size = "md", variant
|
|
|
6648
6940
|
AdsToggle.displayName = "AdsToggle";
|
|
6649
6941
|
|
|
6650
6942
|
// src/components/AdsToggleGroup/index.tsx
|
|
6651
|
-
var
|
|
6943
|
+
var React61 = __toESM(require("react"), 1);
|
|
6652
6944
|
|
|
6653
6945
|
// src/primitives/toggle-group.tsx
|
|
6654
|
-
var
|
|
6946
|
+
var React60 = __toESM(require("react"), 1);
|
|
6655
6947
|
var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
|
|
6656
|
-
var
|
|
6657
|
-
var ToggleGroup =
|
|
6948
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
6949
|
+
var ToggleGroup = React60.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
6658
6950
|
ToggleGroupPrimitive.Root,
|
|
6659
6951
|
{
|
|
6660
6952
|
className: cn("inline-flex items-center justify-start", className),
|
|
@@ -6663,7 +6955,7 @@ var ToggleGroup = React59.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
6663
6955
|
}
|
|
6664
6956
|
));
|
|
6665
6957
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
6666
|
-
var ToggleGroupItem =
|
|
6958
|
+
var ToggleGroupItem = React60.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
6667
6959
|
ToggleGroupPrimitive.Item,
|
|
6668
6960
|
{
|
|
6669
6961
|
className: cn(
|
|
@@ -6677,7 +6969,7 @@ var ToggleGroupItem = React59.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
6677
6969
|
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
6678
6970
|
|
|
6679
6971
|
// src/components/AdsToggleGroup/index.tsx
|
|
6680
|
-
var
|
|
6972
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
6681
6973
|
var sizeClassName4 = {
|
|
6682
6974
|
sm: "h-8 min-w-7 px-[6px] text-sm",
|
|
6683
6975
|
md: "h-9 min-w-[34px] px-md text-sm",
|
|
@@ -6687,8 +6979,8 @@ var variantClassName2 = {
|
|
|
6687
6979
|
default: "border-transparent bg-transparent text-foreground hover:bg-muted/70 data-[state=on]:bg-muted data-[state=on]:shadow-[0px_1px_1px_rgba(0,0,0,0.1)]",
|
|
6688
6980
|
outline: "border border-border bg-transparent text-foreground hover:bg-muted/70 data-[state=on]:border-transparent data-[state=on]:bg-muted data-[state=on]:shadow-[0px_1px_1px_rgba(0,0,0,0.1)]"
|
|
6689
6981
|
};
|
|
6690
|
-
var AdsToggleGroupContext =
|
|
6691
|
-
var AdsToggleGroup =
|
|
6982
|
+
var AdsToggleGroupContext = React61.createContext(null);
|
|
6983
|
+
var AdsToggleGroup = React61.forwardRef(
|
|
6692
6984
|
({
|
|
6693
6985
|
children,
|
|
6694
6986
|
className,
|
|
@@ -6696,7 +6988,7 @@ var AdsToggleGroup = React60.forwardRef(
|
|
|
6696
6988
|
size = "md",
|
|
6697
6989
|
variant = "default",
|
|
6698
6990
|
...props
|
|
6699
|
-
}, ref) => /* @__PURE__ */ (0,
|
|
6991
|
+
}, ref) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(AdsToggleGroupContext.Provider, { value: { orientation, size, variant }, children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
6700
6992
|
ToggleGroup,
|
|
6701
6993
|
{
|
|
6702
6994
|
className: cn(
|
|
@@ -6712,12 +7004,12 @@ var AdsToggleGroup = React60.forwardRef(
|
|
|
6712
7004
|
) })
|
|
6713
7005
|
);
|
|
6714
7006
|
AdsToggleGroup.displayName = "AdsToggleGroup";
|
|
6715
|
-
var AdsToggleGroupItem =
|
|
6716
|
-
const context =
|
|
7007
|
+
var AdsToggleGroupItem = React61.forwardRef(({ className, size, variant, ...props }, ref) => {
|
|
7008
|
+
const context = React61.useContext(AdsToggleGroupContext);
|
|
6717
7009
|
const resolvedOrientation = context?.orientation ?? "horizontal";
|
|
6718
7010
|
const resolvedSize = size ?? context?.size ?? "md";
|
|
6719
7011
|
const resolvedVariant = variant ?? context?.variant ?? "default";
|
|
6720
|
-
return /* @__PURE__ */ (0,
|
|
7012
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
6721
7013
|
ToggleGroupItem,
|
|
6722
7014
|
{
|
|
6723
7015
|
className: cn(
|
|
@@ -6735,10 +7027,10 @@ var AdsToggleGroupItem = React60.forwardRef(({ className, size, variant, ...prop
|
|
|
6735
7027
|
AdsToggleGroupItem.displayName = "AdsToggleGroupItem";
|
|
6736
7028
|
|
|
6737
7029
|
// src/components/AdsTextarea/index.tsx
|
|
6738
|
-
var
|
|
6739
|
-
var
|
|
6740
|
-
var textareaBaseClassName = "w-full rounded-radius-md border border-border bg-card px-md py-md text-base leading-6 shadow-[0px_1px_2px_rgba(0,0,0,0.1)] placeholder:text-[var(--muted-foreground)] focus-visible:border-border-focus focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-[rgba(161,161,161,0.5)] focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-
|
|
6741
|
-
var AdsTextarea =
|
|
7030
|
+
var React62 = __toESM(require("react"), 1);
|
|
7031
|
+
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
7032
|
+
var textareaBaseClassName = "w-full rounded-radius-md border border-border bg-card px-md py-md text-base leading-6 shadow-[0px_1px_2px_rgba(0,0,0,0.1)] placeholder:text-[var(--muted-foreground)] focus-visible:border-border-focus focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-[rgba(161,161,161,0.5)] focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:border-border disabled:bg-muted disabled:text-[var(--muted-foreground)] disabled:placeholder:text-[var(--muted-foreground)] disabled:opacity-100 disabled:focus-visible:border-border disabled:focus-visible:ring-0";
|
|
7033
|
+
var AdsTextarea = React62.forwardRef(
|
|
6742
7034
|
({
|
|
6743
7035
|
action,
|
|
6744
7036
|
className,
|
|
@@ -6757,12 +7049,12 @@ var AdsTextarea = React61.forwardRef(
|
|
|
6757
7049
|
helperText,
|
|
6758
7050
|
id
|
|
6759
7051
|
});
|
|
6760
|
-
const helperNode = helperText ? /* @__PURE__ */ (0,
|
|
6761
|
-
const errorNode = errorText ? /* @__PURE__ */ (0,
|
|
6762
|
-
return /* @__PURE__ */ (0,
|
|
6763
|
-
label ? /* @__PURE__ */ (0,
|
|
7052
|
+
const helperNode = helperText ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(AdsFieldDescription, { id: description.helperId, children: helperText }) : null;
|
|
7053
|
+
const errorNode = errorText ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(AdsFieldError, { id: description.errorId, children: errorText }) : null;
|
|
7054
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(AdsFieldItem, { children: [
|
|
7055
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(AdsFieldLabel, { htmlFor: description.inputId, children: label }) : null,
|
|
6764
7056
|
descriptionPlacement === "above" ? helperNode : null,
|
|
6765
|
-
/* @__PURE__ */ (0,
|
|
7057
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
6766
7058
|
Textarea,
|
|
6767
7059
|
{
|
|
6768
7060
|
"aria-describedby": description.describedBy,
|
|
@@ -6780,7 +7072,7 @@ var AdsTextarea = React61.forwardRef(
|
|
|
6780
7072
|
...props
|
|
6781
7073
|
}
|
|
6782
7074
|
),
|
|
6783
|
-
action ? /* @__PURE__ */ (0,
|
|
7075
|
+
action ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "w-full [&>*]:w-full", children: action }) : null,
|
|
6784
7076
|
descriptionPlacement === "below" ? helperNode : null,
|
|
6785
7077
|
errorNode
|
|
6786
7078
|
] });
|
|
@@ -6789,16 +7081,16 @@ var AdsTextarea = React61.forwardRef(
|
|
|
6789
7081
|
AdsTextarea.displayName = "AdsTextarea";
|
|
6790
7082
|
|
|
6791
7083
|
// src/components/AdsToast/index.tsx
|
|
6792
|
-
var
|
|
6793
|
-
var
|
|
7084
|
+
var React63 = __toESM(require("react"), 1);
|
|
7085
|
+
var import_lucide_react17 = require("lucide-react");
|
|
6794
7086
|
var import_sonner = require("sonner");
|
|
6795
|
-
var
|
|
7087
|
+
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
6796
7088
|
var adsToastIconMap = {
|
|
6797
|
-
success:
|
|
6798
|
-
info:
|
|
6799
|
-
warning:
|
|
6800
|
-
error:
|
|
6801
|
-
loading:
|
|
7089
|
+
success: import_lucide_react17.CircleCheck,
|
|
7090
|
+
info: import_lucide_react17.Info,
|
|
7091
|
+
warning: import_lucide_react17.TriangleAlert,
|
|
7092
|
+
error: import_lucide_react17.OctagonX,
|
|
7093
|
+
loading: import_lucide_react17.LoaderCircle
|
|
6802
7094
|
};
|
|
6803
7095
|
function resolveToastIcon(intent, icon) {
|
|
6804
7096
|
if (icon) {
|
|
@@ -6808,7 +7100,7 @@ function resolveToastIcon(intent, icon) {
|
|
|
6808
7100
|
return null;
|
|
6809
7101
|
}
|
|
6810
7102
|
const Icon2 = adsToastIconMap[intent];
|
|
6811
|
-
return /* @__PURE__ */ (0,
|
|
7103
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6812
7104
|
Icon2,
|
|
6813
7105
|
{
|
|
6814
7106
|
"aria-hidden": true,
|
|
@@ -6821,7 +7113,7 @@ function resolveToastIcon(intent, icon) {
|
|
|
6821
7113
|
}
|
|
6822
7114
|
);
|
|
6823
7115
|
}
|
|
6824
|
-
var AdsToast =
|
|
7116
|
+
var AdsToast = React63.forwardRef(
|
|
6825
7117
|
({
|
|
6826
7118
|
action,
|
|
6827
7119
|
className,
|
|
@@ -6832,7 +7124,7 @@ var AdsToast = React62.forwardRef(
|
|
|
6832
7124
|
...props
|
|
6833
7125
|
}, ref) => {
|
|
6834
7126
|
const resolvedIcon = resolveToastIcon(intent, icon);
|
|
6835
|
-
return /* @__PURE__ */ (0,
|
|
7127
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
|
|
6836
7128
|
"div",
|
|
6837
7129
|
{
|
|
6838
7130
|
className: cn(
|
|
@@ -6847,8 +7139,8 @@ var AdsToast = React62.forwardRef(
|
|
|
6847
7139
|
...props,
|
|
6848
7140
|
children: [
|
|
6849
7141
|
resolvedIcon,
|
|
6850
|
-
/* @__PURE__ */ (0,
|
|
6851
|
-
/* @__PURE__ */ (0,
|
|
7142
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
|
|
7143
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6852
7144
|
"p",
|
|
6853
7145
|
{
|
|
6854
7146
|
className: cn(
|
|
@@ -6858,7 +7150,7 @@ var AdsToast = React62.forwardRef(
|
|
|
6858
7150
|
children: title
|
|
6859
7151
|
}
|
|
6860
7152
|
),
|
|
6861
|
-
description ? /* @__PURE__ */ (0,
|
|
7153
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6862
7154
|
"p",
|
|
6863
7155
|
{
|
|
6864
7156
|
className: cn(
|
|
@@ -6869,7 +7161,7 @@ var AdsToast = React62.forwardRef(
|
|
|
6869
7161
|
}
|
|
6870
7162
|
) : null
|
|
6871
7163
|
] }),
|
|
6872
|
-
action ? /* @__PURE__ */ (0,
|
|
7164
|
+
action ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6873
7165
|
AdsButton,
|
|
6874
7166
|
{
|
|
6875
7167
|
className: "shrink-0 rounded-radius-lg",
|
|
@@ -6895,7 +7187,7 @@ function AdsToaster({
|
|
|
6895
7187
|
...props
|
|
6896
7188
|
}) {
|
|
6897
7189
|
const { messages } = useAdsI18n();
|
|
6898
|
-
return /* @__PURE__ */ (0,
|
|
7190
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6899
7191
|
import_sonner.Toaster,
|
|
6900
7192
|
{
|
|
6901
7193
|
closeButton: false,
|
|
@@ -6913,7 +7205,7 @@ function AdsToaster({
|
|
|
6913
7205
|
);
|
|
6914
7206
|
}
|
|
6915
7207
|
function toStageNode(intent, title, options) {
|
|
6916
|
-
return /* @__PURE__ */ (0,
|
|
7208
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6917
7209
|
AdsToast,
|
|
6918
7210
|
{
|
|
6919
7211
|
action: options?.action,
|
|
@@ -6927,7 +7219,7 @@ function toStageNode(intent, title, options) {
|
|
|
6927
7219
|
function showAdsToast(intent, title, options) {
|
|
6928
7220
|
const { action, description, icon, ...toastOptions } = options ?? {};
|
|
6929
7221
|
return import_sonner.toast.custom(
|
|
6930
|
-
(id) => /* @__PURE__ */ (0,
|
|
7222
|
+
(id) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6931
7223
|
AdsToast,
|
|
6932
7224
|
{
|
|
6933
7225
|
action: action ? {
|
|
@@ -6981,10 +7273,10 @@ var AdsToastManager = Object.assign(
|
|
|
6981
7273
|
);
|
|
6982
7274
|
|
|
6983
7275
|
// src/components/AdsDialog/index.tsx
|
|
6984
|
-
var
|
|
7276
|
+
var React64 = __toESM(require("react"), 1);
|
|
6985
7277
|
var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
6986
|
-
var
|
|
6987
|
-
var
|
|
7278
|
+
var import_lucide_react18 = require("lucide-react");
|
|
7279
|
+
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
6988
7280
|
var overlayClassName2 = "fixed inset-0 z-50 bg-black/80 backdrop-blur-[2px] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0";
|
|
6989
7281
|
var contentClassName2 = "fixed left-1/2 top-1/2 z-50 flex max-h-[calc(100dvh-2rem)] w-[calc(100%-2rem)] max-w-[423px] -translate-x-1/2 -translate-y-1/2 flex-col gap-lg overflow-hidden rounded-radius-md border border-border bg-card p-xl shadow-[0px_4px_6px_-4px_rgba(0,0,0,0.1),0px_10px_15px_-3px_rgba(0,0,0,0.1)] duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]";
|
|
6990
7282
|
var bodyClassName = "min-h-0 flex-1 overflow-y-auto overscroll-contain [scrollbar-gutter:stable]";
|
|
@@ -6992,7 +7284,7 @@ var closeButtonClassName = "absolute right-xl top-xl inline-flex h-6 w-6 items-c
|
|
|
6992
7284
|
var Dialog = DialogPrimitive.Root;
|
|
6993
7285
|
var DialogTrigger = DialogPrimitive.Trigger;
|
|
6994
7286
|
var DialogPortal = DialogPrimitive.Portal;
|
|
6995
|
-
var DialogOverlay =
|
|
7287
|
+
var DialogOverlay = React64.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6996
7288
|
DialogPrimitive.Overlay,
|
|
6997
7289
|
{
|
|
6998
7290
|
className: cn(overlayClassName2, className),
|
|
@@ -7001,7 +7293,7 @@ var DialogOverlay = React63.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
7001
7293
|
}
|
|
7002
7294
|
));
|
|
7003
7295
|
DialogOverlay.displayName = "DialogOverlay";
|
|
7004
|
-
var DialogClose =
|
|
7296
|
+
var DialogClose = React64.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7005
7297
|
DialogPrimitive.Close,
|
|
7006
7298
|
{
|
|
7007
7299
|
className: cn(
|
|
@@ -7015,8 +7307,8 @@ var DialogClose = React63.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
7015
7307
|
DialogClose.displayName = "DialogClose";
|
|
7016
7308
|
function flattenDialogChildren(children) {
|
|
7017
7309
|
const nodes = [];
|
|
7018
|
-
|
|
7019
|
-
if (
|
|
7310
|
+
React64.Children.forEach(children, (child) => {
|
|
7311
|
+
if (React64.isValidElement(child) && child.type === React64.Fragment) {
|
|
7020
7312
|
nodes.push(...flattenDialogChildren(child.props.children));
|
|
7021
7313
|
return;
|
|
7022
7314
|
}
|
|
@@ -7025,10 +7317,10 @@ function flattenDialogChildren(children) {
|
|
|
7025
7317
|
return nodes;
|
|
7026
7318
|
}
|
|
7027
7319
|
function isDialogSlotElement(child, component) {
|
|
7028
|
-
return
|
|
7320
|
+
return React64.isValidElement(child) && child.type === component;
|
|
7029
7321
|
}
|
|
7030
|
-
var DialogBody =
|
|
7031
|
-
({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
7322
|
+
var DialogBody = React64.forwardRef(
|
|
7323
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7032
7324
|
"div",
|
|
7033
7325
|
{
|
|
7034
7326
|
className: cn(bodyClassName, className),
|
|
@@ -7039,7 +7331,7 @@ var DialogBody = React63.forwardRef(
|
|
|
7039
7331
|
)
|
|
7040
7332
|
);
|
|
7041
7333
|
DialogBody.displayName = "DialogBody";
|
|
7042
|
-
var DialogContent =
|
|
7334
|
+
var DialogContent = React64.forwardRef(
|
|
7043
7335
|
({
|
|
7044
7336
|
children,
|
|
7045
7337
|
className,
|
|
@@ -7096,9 +7388,9 @@ var DialogContent = React63.forwardRef(
|
|
|
7096
7388
|
const looseBodyNodes = bodyNodes.filter(
|
|
7097
7389
|
(child) => !isDialogSlotElement(child, DialogBody)
|
|
7098
7390
|
);
|
|
7099
|
-
return /* @__PURE__ */ (0,
|
|
7100
|
-
/* @__PURE__ */ (0,
|
|
7101
|
-
/* @__PURE__ */ (0,
|
|
7391
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(NestedDismissableLayerProvider, { coordinator: parentLayer.coordinator, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(DialogPortal, { children: [
|
|
7392
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(DialogOverlay, {}),
|
|
7393
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
|
|
7102
7394
|
DialogPrimitive.Content,
|
|
7103
7395
|
{
|
|
7104
7396
|
"data-slot": "ads-dialog-content",
|
|
@@ -7114,18 +7406,18 @@ var DialogContent = React63.forwardRef(
|
|
|
7114
7406
|
...props,
|
|
7115
7407
|
children: [
|
|
7116
7408
|
headerNode,
|
|
7117
|
-
headerNode === null && generatedHeaderNodes.length > 0 ? /* @__PURE__ */ (0,
|
|
7409
|
+
headerNode === null && generatedHeaderNodes.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(DialogHeader, { children: generatedHeaderNodes }) : null,
|
|
7118
7410
|
explicitBodyNodes.length > 0 ? explicitBodyNodes : null,
|
|
7119
|
-
looseBodyNodes.length > 0 ? /* @__PURE__ */ (0,
|
|
7411
|
+
looseBodyNodes.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(DialogBody, { children: looseBodyNodes }) : null,
|
|
7120
7412
|
footerNode,
|
|
7121
|
-
!hideCloseButton ? /* @__PURE__ */ (0,
|
|
7413
|
+
!hideCloseButton ? /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
|
|
7122
7414
|
DialogPrimitive.Close,
|
|
7123
7415
|
{
|
|
7124
7416
|
"aria-label": resolvedCloseLabel,
|
|
7125
7417
|
className: cn(closeButtonClassName, adsTextColorClassName.card),
|
|
7126
7418
|
children: [
|
|
7127
|
-
/* @__PURE__ */ (0,
|
|
7128
|
-
/* @__PURE__ */ (0,
|
|
7419
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react18.X, { "aria-hidden": true, className: "h-4 w-4" }),
|
|
7420
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "sr-only", children: resolvedCloseLabel })
|
|
7129
7421
|
]
|
|
7130
7422
|
}
|
|
7131
7423
|
) : null
|
|
@@ -7136,8 +7428,8 @@ var DialogContent = React63.forwardRef(
|
|
|
7136
7428
|
}
|
|
7137
7429
|
);
|
|
7138
7430
|
DialogContent.displayName = "DialogContent";
|
|
7139
|
-
var DialogHeader =
|
|
7140
|
-
({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
7431
|
+
var DialogHeader = React64.forwardRef(
|
|
7432
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7141
7433
|
"div",
|
|
7142
7434
|
{
|
|
7143
7435
|
"data-slot": "ads-dialog-header",
|
|
@@ -7148,8 +7440,8 @@ var DialogHeader = React63.forwardRef(
|
|
|
7148
7440
|
)
|
|
7149
7441
|
);
|
|
7150
7442
|
DialogHeader.displayName = "DialogHeader";
|
|
7151
|
-
var DialogFooter =
|
|
7152
|
-
({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
7443
|
+
var DialogFooter = React64.forwardRef(
|
|
7444
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7153
7445
|
"div",
|
|
7154
7446
|
{
|
|
7155
7447
|
"data-slot": "ads-dialog-footer",
|
|
@@ -7163,7 +7455,7 @@ var DialogFooter = React63.forwardRef(
|
|
|
7163
7455
|
)
|
|
7164
7456
|
);
|
|
7165
7457
|
DialogFooter.displayName = "DialogFooter";
|
|
7166
|
-
var DialogTitle =
|
|
7458
|
+
var DialogTitle = React64.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7167
7459
|
DialogPrimitive.Title,
|
|
7168
7460
|
{
|
|
7169
7461
|
className: cn(
|
|
@@ -7176,7 +7468,7 @@ var DialogTitle = React63.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
7176
7468
|
}
|
|
7177
7469
|
));
|
|
7178
7470
|
DialogTitle.displayName = "DialogTitle";
|
|
7179
|
-
var DialogDescription =
|
|
7471
|
+
var DialogDescription = React64.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7180
7472
|
DialogPrimitive.Description,
|
|
7181
7473
|
{
|
|
7182
7474
|
className: cn("text-sm leading-5", adsTextColorClassName.muted, className),
|
|
@@ -7199,7 +7491,7 @@ var AdsDialogDescription = DialogDescription;
|
|
|
7199
7491
|
|
|
7200
7492
|
// src/components/AdsMasonry/index.tsx
|
|
7201
7493
|
var import_masonic = require("masonic");
|
|
7202
|
-
var
|
|
7494
|
+
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
7203
7495
|
var DEFAULT_COLUMN_WIDTH = 240;
|
|
7204
7496
|
var DEFAULT_GAP = 16;
|
|
7205
7497
|
var DEFAULT_ITEM_HEIGHT_ESTIMATE = 280;
|
|
@@ -7235,7 +7527,7 @@ function AdsMasonry({
|
|
|
7235
7527
|
{ length: loadingItemCount },
|
|
7236
7528
|
(_, index) => index
|
|
7237
7529
|
);
|
|
7238
|
-
return /* @__PURE__ */ (0,
|
|
7530
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7239
7531
|
"div",
|
|
7240
7532
|
{
|
|
7241
7533
|
className: cn(
|
|
@@ -7247,20 +7539,20 @@ function AdsMasonry({
|
|
|
7247
7539
|
const mediaHeight = LOADING_MEDIA_HEIGHT_PATTERN[index % LOADING_MEDIA_HEIGHT_PATTERN.length];
|
|
7248
7540
|
const titleWidth = LOADING_TITLE_WIDTH_PATTERN[index % LOADING_TITLE_WIDTH_PATTERN.length];
|
|
7249
7541
|
const bodyWidth = LOADING_BODY_WIDTH_PATTERN[index % LOADING_BODY_WIDTH_PATTERN.length];
|
|
7250
|
-
return /* @__PURE__ */ (0,
|
|
7542
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
|
|
7251
7543
|
"article",
|
|
7252
7544
|
{
|
|
7253
7545
|
className: "overflow-hidden rounded-radius-lg border border-border bg-card shadow-showcase",
|
|
7254
7546
|
"data-slot": "ads-masonry-loading-card",
|
|
7255
7547
|
"data-testid": "ads-masonry-loading-card",
|
|
7256
7548
|
children: [
|
|
7257
|
-
/* @__PURE__ */ (0,
|
|
7549
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7258
7550
|
"div",
|
|
7259
7551
|
{
|
|
7260
7552
|
className: "border-b border-border/60 bg-surface-inset/50",
|
|
7261
7553
|
"data-slot": "ads-masonry-skeleton-preview",
|
|
7262
7554
|
"data-testid": "ads-masonry-skeleton-preview",
|
|
7263
|
-
children: /* @__PURE__ */ (0,
|
|
7555
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7264
7556
|
AdsSkeleton,
|
|
7265
7557
|
{
|
|
7266
7558
|
className: cn("w-full rounded-none", classNames?.skeleton),
|
|
@@ -7271,10 +7563,10 @@ function AdsMasonry({
|
|
|
7271
7563
|
)
|
|
7272
7564
|
}
|
|
7273
7565
|
),
|
|
7274
|
-
/* @__PURE__ */ (0,
|
|
7275
|
-
/* @__PURE__ */ (0,
|
|
7276
|
-
/* @__PURE__ */ (0,
|
|
7277
|
-
/* @__PURE__ */ (0,
|
|
7566
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "flex flex-col gap-4 p-lg", children: [
|
|
7567
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "flex items-start justify-between gap-3", children: [
|
|
7568
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "flex-1 space-y-2", children: [
|
|
7569
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7278
7570
|
AdsSkeleton,
|
|
7279
7571
|
{
|
|
7280
7572
|
className: cn("h-3 w-16 rounded-full", classNames?.skeleton),
|
|
@@ -7282,7 +7574,7 @@ function AdsMasonry({
|
|
|
7282
7574
|
"data-testid": "ads-masonry-skeleton"
|
|
7283
7575
|
}
|
|
7284
7576
|
),
|
|
7285
|
-
/* @__PURE__ */ (0,
|
|
7577
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7286
7578
|
AdsSkeleton,
|
|
7287
7579
|
{
|
|
7288
7580
|
className: cn("h-6 rounded-full", classNames?.skeleton),
|
|
@@ -7292,7 +7584,7 @@ function AdsMasonry({
|
|
|
7292
7584
|
}
|
|
7293
7585
|
)
|
|
7294
7586
|
] }),
|
|
7295
|
-
/* @__PURE__ */ (0,
|
|
7587
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7296
7588
|
AdsSkeleton,
|
|
7297
7589
|
{
|
|
7298
7590
|
className: cn("h-6 w-16 rounded-full", classNames?.skeleton),
|
|
@@ -7301,7 +7593,7 @@ function AdsMasonry({
|
|
|
7301
7593
|
}
|
|
7302
7594
|
)
|
|
7303
7595
|
] }),
|
|
7304
|
-
/* @__PURE__ */ (0,
|
|
7596
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7305
7597
|
AdsSkeleton,
|
|
7306
7598
|
{
|
|
7307
7599
|
className: cn("h-4 rounded-full", classNames?.skeleton),
|
|
@@ -7320,7 +7612,7 @@ function AdsMasonry({
|
|
|
7320
7612
|
);
|
|
7321
7613
|
}
|
|
7322
7614
|
if (items.length === 0) {
|
|
7323
|
-
return emptyState ? /* @__PURE__ */ (0,
|
|
7615
|
+
return emptyState ? /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7324
7616
|
"div",
|
|
7325
7617
|
{
|
|
7326
7618
|
className: cn(rootClassName, classNames?.empty),
|
|
@@ -7329,7 +7621,7 @@ function AdsMasonry({
|
|
|
7329
7621
|
}
|
|
7330
7622
|
) : null;
|
|
7331
7623
|
}
|
|
7332
|
-
return /* @__PURE__ */ (0,
|
|
7624
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7333
7625
|
import_masonic.Masonry,
|
|
7334
7626
|
{
|
|
7335
7627
|
className: rootClassName,
|
|
@@ -7341,7 +7633,7 @@ function AdsMasonry({
|
|
|
7341
7633
|
maxColumnCount,
|
|
7342
7634
|
onRender,
|
|
7343
7635
|
overscanBy,
|
|
7344
|
-
render: ({ data, index, width }) => /* @__PURE__ */ (0,
|
|
7636
|
+
render: ({ data, index, width }) => /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7345
7637
|
"div",
|
|
7346
7638
|
{
|
|
7347
7639
|
className: cn("pb-0", classNames?.item, itemClassName),
|
|
@@ -7503,6 +7795,7 @@ var designTokens = {
|
|
|
7503
7795
|
AdsInputOTPGroup,
|
|
7504
7796
|
AdsInputOTPSeparator,
|
|
7505
7797
|
AdsInputOTPSlot,
|
|
7798
|
+
AdsLineChart,
|
|
7506
7799
|
AdsMasonry,
|
|
7507
7800
|
AdsPagination,
|
|
7508
7801
|
AdsPaginationContent,
|