@adsgency_npm/adsgency-ads-ui 0.1.0-alpha.31 → 0.1.0-alpha.32
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 +589 -312
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1278 -0
- package/dist/index.d.ts +1278 -0
- package/dist/index.js +573 -288
- package/dist/index.js.map +1 -1
- 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 +1 -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,249 @@ 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 chartData = data.map((datum) => {
|
|
6178
|
+
const safeDatum = { ...datum, [xKey]: datum[xKey] };
|
|
6179
|
+
series.forEach((item) => {
|
|
6180
|
+
safeDatum[item.dataKey] = getSafeValue(datum[item.dataKey]);
|
|
6181
|
+
});
|
|
6182
|
+
return safeDatum;
|
|
6035
6183
|
});
|
|
6184
|
+
const safeHeight = getSafeHeight(height);
|
|
6185
|
+
const chartConfig = getChartConfig(series);
|
|
6186
|
+
const {
|
|
6187
|
+
cursor: tooltipCursor,
|
|
6188
|
+
wrapperStyle: tooltipWrapperStyle,
|
|
6189
|
+
...restTooltipProps
|
|
6190
|
+
} = tooltipProps ?? {};
|
|
6191
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6192
|
+
"div",
|
|
6193
|
+
{
|
|
6194
|
+
"aria-label": ariaLabel ?? "Line chart",
|
|
6195
|
+
className: cn("w-full", className),
|
|
6196
|
+
"data-testid": "ads-line-chart",
|
|
6197
|
+
role: "img",
|
|
6198
|
+
style: { height: safeHeight },
|
|
6199
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6200
|
+
ChartContainer,
|
|
6201
|
+
{
|
|
6202
|
+
"aria-hidden": "true",
|
|
6203
|
+
className: "h-full",
|
|
6204
|
+
config: chartConfig,
|
|
6205
|
+
height: "100%",
|
|
6206
|
+
...containerProps,
|
|
6207
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
|
|
6208
|
+
import_recharts3.ComposedChart,
|
|
6209
|
+
{
|
|
6210
|
+
accessibilityLayer: false,
|
|
6211
|
+
data: chartData,
|
|
6212
|
+
margin: chartProps?.margin ?? { bottom: 0, left: 0, right: 0, top: 0 },
|
|
6213
|
+
...chartProps,
|
|
6214
|
+
children: [
|
|
6215
|
+
showGrid && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6216
|
+
import_recharts3.CartesianGrid,
|
|
6217
|
+
{
|
|
6218
|
+
stroke: gridProps?.stroke ?? gridColor,
|
|
6219
|
+
strokeOpacity: gridProps?.strokeOpacity ?? 0.5,
|
|
6220
|
+
vertical: gridProps?.vertical ?? true,
|
|
6221
|
+
...gridProps
|
|
6222
|
+
}
|
|
6223
|
+
),
|
|
6224
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6225
|
+
import_recharts3.XAxis,
|
|
6226
|
+
{
|
|
6227
|
+
axisLine: xAxisProps?.axisLine ?? xAxis?.axisLine ?? false,
|
|
6228
|
+
dataKey: xKey,
|
|
6229
|
+
hide: xAxisProps?.hide ?? xAxis?.hide ?? false,
|
|
6230
|
+
interval: xAxisProps?.interval ?? xAxis?.interval,
|
|
6231
|
+
tick: xAxisProps?.tick ?? xAxis?.tick ?? true,
|
|
6232
|
+
tickFormatter: xAxisProps?.tickFormatter ?? xAxis?.tickFormatter,
|
|
6233
|
+
tickLine: xAxisProps?.tickLine ?? xAxis?.tickLine ?? false,
|
|
6234
|
+
tickMargin: xAxisProps?.tickMargin ?? xAxis?.tickMargin ?? 12,
|
|
6235
|
+
type: "category",
|
|
6236
|
+
...xAxisProps
|
|
6237
|
+
}
|
|
6238
|
+
),
|
|
6239
|
+
(yAxis || yAxisProps) && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6240
|
+
import_recharts3.YAxis,
|
|
6241
|
+
{
|
|
6242
|
+
axisLine: yAxisProps?.axisLine ?? yAxis?.axisLine ?? false,
|
|
6243
|
+
domain: yAxisProps?.domain ?? yAxis?.domain,
|
|
6244
|
+
tick: yAxisProps?.tick ?? yAxis?.tick ?? true,
|
|
6245
|
+
tickCount: yAxisProps?.tickCount ?? yAxis?.tickCount,
|
|
6246
|
+
tickFormatter: yAxisProps?.tickFormatter ?? yAxis?.tickFormatter,
|
|
6247
|
+
tickLine: yAxisProps?.tickLine ?? yAxis?.tickLine ?? false,
|
|
6248
|
+
ticks: yAxisProps?.ticks ?? yAxis?.ticks,
|
|
6249
|
+
width: yAxisProps?.width ?? yAxis?.width,
|
|
6250
|
+
...yAxisProps
|
|
6251
|
+
}
|
|
6252
|
+
),
|
|
6253
|
+
referenceLine && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6254
|
+
import_recharts3.ReferenceLine,
|
|
6255
|
+
{
|
|
6256
|
+
stroke: referenceLine.color ?? "var(--chart-1)",
|
|
6257
|
+
strokeDasharray: referenceLine.strokeDasharray ?? "2 3",
|
|
6258
|
+
y: referenceLine.value
|
|
6259
|
+
}
|
|
6260
|
+
),
|
|
6261
|
+
showTooltip && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6262
|
+
import_recharts3.Tooltip,
|
|
6263
|
+
{
|
|
6264
|
+
content: tooltipContent ?? ((props) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6265
|
+
LineChartTooltipContent,
|
|
6266
|
+
{
|
|
6267
|
+
...props,
|
|
6268
|
+
series,
|
|
6269
|
+
tooltipContentClassName: tooltipContentClassName2,
|
|
6270
|
+
tooltipFooter,
|
|
6271
|
+
tooltipLabelFormatter,
|
|
6272
|
+
tooltipValueFormatter
|
|
6273
|
+
}
|
|
6274
|
+
)),
|
|
6275
|
+
cursor: tooltipCursor ?? { stroke: gridColor, strokeDasharray: "2 3" },
|
|
6276
|
+
isAnimationActive: false,
|
|
6277
|
+
wrapperStyle: { zIndex: 20, ...tooltipWrapperStyle },
|
|
6278
|
+
...restTooltipProps
|
|
6279
|
+
}
|
|
6280
|
+
),
|
|
6281
|
+
series.map((item, index) => {
|
|
6282
|
+
const color = getSeriesColor(item, index);
|
|
6283
|
+
const opacity = getSafeOpacity(item.areaOpacity);
|
|
6284
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(React48.Fragment, { children: [
|
|
6285
|
+
opacity > 0 && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6286
|
+
import_recharts3.Area,
|
|
6287
|
+
{
|
|
6288
|
+
...item.areaProps,
|
|
6289
|
+
dataKey: item.dataKey,
|
|
6290
|
+
fill: item.areaProps?.fill ?? color,
|
|
6291
|
+
fillOpacity: item.areaProps?.fillOpacity ?? opacity,
|
|
6292
|
+
isAnimationActive: item.areaProps?.isAnimationActive ?? false,
|
|
6293
|
+
stroke: item.areaProps?.stroke ?? "none",
|
|
6294
|
+
type: item.areaProps?.type ?? curve
|
|
6295
|
+
}
|
|
6296
|
+
),
|
|
6297
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6298
|
+
import_recharts3.Line,
|
|
6299
|
+
{
|
|
6300
|
+
...item.lineProps,
|
|
6301
|
+
activeDot: item.lineProps?.activeDot ?? { r: 5 },
|
|
6302
|
+
dataKey: item.dataKey,
|
|
6303
|
+
dot: item.lineProps?.dot ?? false,
|
|
6304
|
+
isAnimationActive: item.lineProps?.isAnimationActive ?? false,
|
|
6305
|
+
stroke: item.lineProps?.stroke ?? color,
|
|
6306
|
+
strokeWidth: item.lineProps?.strokeWidth ?? item.strokeWidth ?? 2,
|
|
6307
|
+
type: item.lineProps?.type ?? curve
|
|
6308
|
+
}
|
|
6309
|
+
)
|
|
6310
|
+
] }, item.dataKey);
|
|
6311
|
+
}),
|
|
6312
|
+
children
|
|
6313
|
+
]
|
|
6314
|
+
}
|
|
6315
|
+
)
|
|
6316
|
+
}
|
|
6317
|
+
)
|
|
6318
|
+
}
|
|
6319
|
+
);
|
|
6036
6320
|
}
|
|
6037
6321
|
|
|
6038
6322
|
// src/components/AdsSparklineChart/index.tsx
|
|
6039
|
-
var
|
|
6040
|
-
var
|
|
6323
|
+
var import_recharts4 = require("recharts");
|
|
6324
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
6325
|
+
var DEFAULT_HEIGHT2 = 40;
|
|
6041
6326
|
var tooltipContentStyle2 = {
|
|
6042
6327
|
backgroundColor: "var(--popover)",
|
|
6043
6328
|
border: "1px solid var(--border)",
|
|
@@ -6045,19 +6330,12 @@ var tooltipContentStyle2 = {
|
|
|
6045
6330
|
color: "var(--popover-foreground)",
|
|
6046
6331
|
padding: "8px 12px"
|
|
6047
6332
|
};
|
|
6048
|
-
function
|
|
6049
|
-
return Number.isFinite(height) && height && height > 0 ? height :
|
|
6333
|
+
function getSafeHeight2(height) {
|
|
6334
|
+
return Number.isFinite(height) && height && height > 0 ? height : DEFAULT_HEIGHT2;
|
|
6050
6335
|
}
|
|
6051
|
-
function
|
|
6336
|
+
function getSafeValue2(value) {
|
|
6052
6337
|
return typeof value === "number" && Number.isFinite(value) ? Math.max(value, 0) : 0;
|
|
6053
6338
|
}
|
|
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
6339
|
function AdsSparklineChart({
|
|
6062
6340
|
ariaLabel,
|
|
6063
6341
|
className,
|
|
@@ -6065,19 +6343,16 @@ function AdsSparklineChart({
|
|
|
6065
6343
|
data,
|
|
6066
6344
|
dataKey,
|
|
6067
6345
|
height,
|
|
6068
|
-
plotHeight,
|
|
6069
6346
|
showTooltip = true,
|
|
6070
|
-
tooltipDateFormat,
|
|
6071
6347
|
xKey
|
|
6072
6348
|
}) {
|
|
6073
6349
|
const chartData = data.map((datum) => ({
|
|
6074
6350
|
...datum,
|
|
6075
6351
|
[xKey]: datum[xKey],
|
|
6076
|
-
[dataKey]:
|
|
6352
|
+
[dataKey]: getSafeValue2(datum[dataKey])
|
|
6077
6353
|
}));
|
|
6078
|
-
const safeHeight =
|
|
6079
|
-
|
|
6080
|
-
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6354
|
+
const safeHeight = getSafeHeight2(height);
|
|
6355
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
6081
6356
|
"div",
|
|
6082
6357
|
{
|
|
6083
6358
|
"aria-label": ariaLabel ?? "Trend chart",
|
|
@@ -6085,36 +6360,37 @@ function AdsSparklineChart({
|
|
|
6085
6360
|
"data-testid": "ads-sparkline-chart",
|
|
6086
6361
|
role: "img",
|
|
6087
6362
|
style: { height: safeHeight },
|
|
6088
|
-
children: /* @__PURE__ */ (0,
|
|
6363
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
6089
6364
|
ChartContainer,
|
|
6090
6365
|
{
|
|
6091
6366
|
"aria-hidden": "true",
|
|
6092
6367
|
className: "h-full",
|
|
6093
6368
|
config: { value: { color } },
|
|
6094
6369
|
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
|
-
|
|
6370
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
|
|
6371
|
+
import_recharts4.LineChart,
|
|
6372
|
+
{
|
|
6373
|
+
accessibilityLayer: false,
|
|
6374
|
+
data: chartData,
|
|
6375
|
+
margin: { bottom: 1, left: 1, right: 1, top: 1 },
|
|
6376
|
+
children: [
|
|
6377
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_recharts4.XAxis, { dataKey: xKey, hide: true, type: "category" }),
|
|
6378
|
+
showTooltip && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_recharts4.Tooltip, { contentStyle: tooltipContentStyle2, cursor: false }),
|
|
6379
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
6380
|
+
import_recharts4.Line,
|
|
6381
|
+
{
|
|
6382
|
+
activeDot: false,
|
|
6383
|
+
dataKey,
|
|
6384
|
+
dot: false,
|
|
6385
|
+
isAnimationActive: false,
|
|
6386
|
+
stroke: "var(--color-value)",
|
|
6387
|
+
strokeWidth: 2,
|
|
6388
|
+
type: "monotone"
|
|
6389
|
+
}
|
|
6390
|
+
)
|
|
6391
|
+
]
|
|
6392
|
+
}
|
|
6393
|
+
)
|
|
6118
6394
|
}
|
|
6119
6395
|
)
|
|
6120
6396
|
}
|
|
@@ -6122,20 +6398,20 @@ function AdsSparklineChart({
|
|
|
6122
6398
|
}
|
|
6123
6399
|
|
|
6124
6400
|
// src/components/AdsStackedBarChart/index.tsx
|
|
6125
|
-
var
|
|
6401
|
+
var React51 = __toESM(require("react"), 1);
|
|
6126
6402
|
|
|
6127
6403
|
// src/components/AdsTooltip/index.tsx
|
|
6128
|
-
var
|
|
6404
|
+
var React50 = __toESM(require("react"), 1);
|
|
6129
6405
|
|
|
6130
6406
|
// src/primitives/tooltip.tsx
|
|
6131
|
-
var
|
|
6407
|
+
var React49 = __toESM(require("react"), 1);
|
|
6132
6408
|
var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
|
|
6133
|
-
var
|
|
6409
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
6134
6410
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
6135
|
-
var
|
|
6411
|
+
var Tooltip4 = TooltipPrimitive.Root;
|
|
6136
6412
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
6137
6413
|
var TooltipArrow = TooltipPrimitive.Arrow;
|
|
6138
|
-
var TooltipContent =
|
|
6414
|
+
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
6415
|
TooltipPrimitive.Content,
|
|
6140
6416
|
{
|
|
6141
6417
|
className: cn(
|
|
@@ -6150,12 +6426,12 @@ var TooltipContent = React48.forwardRef(({ className, sideOffset = 4, ...props }
|
|
|
6150
6426
|
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
6151
6427
|
|
|
6152
6428
|
// src/components/AdsTooltip/index.tsx
|
|
6153
|
-
var
|
|
6429
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
6154
6430
|
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
6431
|
var AdsTooltipProvider = TooltipProvider;
|
|
6156
|
-
var AdsTooltip =
|
|
6432
|
+
var AdsTooltip = Tooltip4;
|
|
6157
6433
|
var AdsTooltipTrigger = TooltipTrigger;
|
|
6158
|
-
var AdsTooltipContent =
|
|
6434
|
+
var AdsTooltipContent = React50.forwardRef(({ align = "center", className, sideOffset = 10, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
6159
6435
|
TooltipContent,
|
|
6160
6436
|
{
|
|
6161
6437
|
align,
|
|
@@ -6166,7 +6442,7 @@ var AdsTooltipContent = React49.forwardRef(({ align = "center", className, sideO
|
|
|
6166
6442
|
}
|
|
6167
6443
|
));
|
|
6168
6444
|
AdsTooltipContent.displayName = "AdsTooltipContent";
|
|
6169
|
-
var AdsTooltipArrow =
|
|
6445
|
+
var AdsTooltipArrow = React50.forwardRef(({ className, height = 5, width = 10, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
6170
6446
|
TooltipArrow,
|
|
6171
6447
|
{
|
|
6172
6448
|
className: cn("fill-[#844fff]", className),
|
|
@@ -6179,11 +6455,11 @@ var AdsTooltipArrow = React49.forwardRef(({ className, height = 5, width = 10, .
|
|
|
6179
6455
|
AdsTooltipArrow.displayName = "AdsTooltipArrow";
|
|
6180
6456
|
|
|
6181
6457
|
// src/components/AdsStackedBarChart/index.tsx
|
|
6182
|
-
var
|
|
6183
|
-
var
|
|
6458
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
6459
|
+
var DEFAULT_HEIGHT3 = 20;
|
|
6184
6460
|
var DEFAULT_SEGMENT_COLOR = "var(--chart-1)";
|
|
6185
|
-
function
|
|
6186
|
-
return Number.isFinite(height) && height && height > 0 ? height :
|
|
6461
|
+
function getSafeHeight3(height) {
|
|
6462
|
+
return Number.isFinite(height) && height && height > 0 ? height : DEFAULT_HEIGHT3;
|
|
6187
6463
|
}
|
|
6188
6464
|
function formatPercentage(percentage) {
|
|
6189
6465
|
return `${Number(percentage.toFixed(2))}%`;
|
|
@@ -6195,7 +6471,7 @@ function AdsStackedBarChart({
|
|
|
6195
6471
|
showTooltip = true,
|
|
6196
6472
|
segments
|
|
6197
6473
|
}) {
|
|
6198
|
-
const descriptionId =
|
|
6474
|
+
const descriptionId = React51.useId();
|
|
6199
6475
|
const validSegments = segments.reduce((items, segment, index) => {
|
|
6200
6476
|
const value = Number.isFinite(segment.value) ? Math.max(segment.value, 0) : 0;
|
|
6201
6477
|
if (value > 0) {
|
|
@@ -6215,7 +6491,7 @@ function AdsStackedBarChart({
|
|
|
6215
6491
|
const hasData = normalizedTotal > 0 && Number.isFinite(normalizedTotal);
|
|
6216
6492
|
const getPercentage = (value) => value / normalizationBase / normalizedTotal * 100;
|
|
6217
6493
|
const summary = hasData ? validSegments.map((segment) => `${segment.label}: ${formatPercentage(getPercentage(segment.value))}`).join(", ") : "No data";
|
|
6218
|
-
return /* @__PURE__ */ (0,
|
|
6494
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
|
|
6219
6495
|
"div",
|
|
6220
6496
|
{
|
|
6221
6497
|
"aria-label": ariaLabel ?? summary,
|
|
@@ -6223,13 +6499,13 @@ function AdsStackedBarChart({
|
|
|
6223
6499
|
className: cn("overflow-hidden rounded-full bg-muted", className),
|
|
6224
6500
|
"data-testid": "ads-stacked-bar-chart",
|
|
6225
6501
|
role: "img",
|
|
6226
|
-
style: { height:
|
|
6502
|
+
style: { height: getSafeHeight3(height) },
|
|
6227
6503
|
children: [
|
|
6228
|
-
ariaLabel && /* @__PURE__ */ (0,
|
|
6229
|
-
hasData && /* @__PURE__ */ (0,
|
|
6504
|
+
ariaLabel && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "sr-only", id: descriptionId, children: summary }),
|
|
6505
|
+
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
6506
|
const percentage = getPercentage(segment.value);
|
|
6231
|
-
return /* @__PURE__ */ (0,
|
|
6232
|
-
/* @__PURE__ */ (0,
|
|
6507
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(AdsTooltip, { children: [
|
|
6508
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(AdsTooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
6233
6509
|
"div",
|
|
6234
6510
|
{
|
|
6235
6511
|
"aria-label": `${segment.label}: ${segment.value}`,
|
|
@@ -6239,7 +6515,7 @@ function AdsStackedBarChart({
|
|
|
6239
6515
|
tabIndex: showTooltip ? 0 : -1
|
|
6240
6516
|
}
|
|
6241
6517
|
) }),
|
|
6242
|
-
showTooltip && /* @__PURE__ */ (0,
|
|
6518
|
+
showTooltip && /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(AdsTooltipContent, { children: [
|
|
6243
6519
|
segment.label,
|
|
6244
6520
|
": ",
|
|
6245
6521
|
segment.value
|
|
@@ -6252,9 +6528,9 @@ function AdsStackedBarChart({
|
|
|
6252
6528
|
}
|
|
6253
6529
|
|
|
6254
6530
|
// src/components/AdsBarChart/index.tsx
|
|
6255
|
-
var
|
|
6256
|
-
var
|
|
6257
|
-
var
|
|
6531
|
+
var import_recharts5 = require("recharts");
|
|
6532
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
6533
|
+
var DEFAULT_HEIGHT4 = 160;
|
|
6258
6534
|
var DEFAULT_HIGHLIGHT_COLOR = "var(--chart-2)";
|
|
6259
6535
|
var DEFAULT_RADIUS = 4;
|
|
6260
6536
|
var tooltipContentStyle3 = {
|
|
@@ -6264,13 +6540,13 @@ var tooltipContentStyle3 = {
|
|
|
6264
6540
|
color: "var(--popover-foreground)",
|
|
6265
6541
|
padding: "8px 12px"
|
|
6266
6542
|
};
|
|
6267
|
-
function
|
|
6268
|
-
return Number.isFinite(height) && height && height > 0 ? height :
|
|
6543
|
+
function getSafeHeight4(height) {
|
|
6544
|
+
return Number.isFinite(height) && height && height > 0 ? height : DEFAULT_HEIGHT4;
|
|
6269
6545
|
}
|
|
6270
6546
|
function getSafeRadius(radius) {
|
|
6271
6547
|
return Number.isFinite(radius) && radius !== void 0 && radius >= 0 ? radius : DEFAULT_RADIUS;
|
|
6272
6548
|
}
|
|
6273
|
-
function
|
|
6549
|
+
function getSafeValue3(value) {
|
|
6274
6550
|
return typeof value === "number" && Number.isFinite(value) ? Math.max(value, 0) : 0;
|
|
6275
6551
|
}
|
|
6276
6552
|
function AdsBarChart({
|
|
@@ -6286,7 +6562,6 @@ function AdsBarChart({
|
|
|
6286
6562
|
highlightIndex,
|
|
6287
6563
|
hoverColor,
|
|
6288
6564
|
showTooltip = true,
|
|
6289
|
-
tooltipDateFormat,
|
|
6290
6565
|
xAxis,
|
|
6291
6566
|
xKey,
|
|
6292
6567
|
yAxis
|
|
@@ -6294,12 +6569,12 @@ function AdsBarChart({
|
|
|
6294
6569
|
const chartData = data.map((datum) => ({
|
|
6295
6570
|
...datum,
|
|
6296
6571
|
[xKey]: datum[xKey],
|
|
6297
|
-
[dataKey]:
|
|
6572
|
+
[dataKey]: getSafeValue3(datum[dataKey])
|
|
6298
6573
|
}));
|
|
6299
|
-
const safeHeight =
|
|
6574
|
+
const safeHeight = getSafeHeight4(height);
|
|
6300
6575
|
const safeRadius = getSafeRadius(barRadius);
|
|
6301
6576
|
const safeHighlightIndex = Number.isInteger(highlightIndex) ? highlightIndex : -1;
|
|
6302
|
-
return /* @__PURE__ */ (0,
|
|
6577
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
6303
6578
|
"div",
|
|
6304
6579
|
{
|
|
6305
6580
|
"aria-label": ariaLabel ?? "Bar chart",
|
|
@@ -6307,66 +6582,67 @@ function AdsBarChart({
|
|
|
6307
6582
|
"data-testid": "ads-bar-chart",
|
|
6308
6583
|
role: "img",
|
|
6309
6584
|
style: { height: safeHeight },
|
|
6310
|
-
children: /* @__PURE__ */ (0,
|
|
6585
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
6311
6586
|
ChartContainer,
|
|
6312
6587
|
{
|
|
6313
6588
|
"aria-hidden": "true",
|
|
6314
6589
|
className: "h-full",
|
|
6315
6590
|
config: { value: { color } },
|
|
6316
6591
|
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,
|
|
6592
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
|
|
6593
|
+
import_recharts5.BarChart,
|
|
6594
|
+
{
|
|
6595
|
+
accessibilityLayer: false,
|
|
6596
|
+
data: chartData,
|
|
6597
|
+
margin: { bottom: 0, left: 0, right: 0, top: 0 },
|
|
6598
|
+
children: [
|
|
6599
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
6600
|
+
import_recharts5.XAxis,
|
|
6362
6601
|
{
|
|
6363
|
-
|
|
6364
|
-
|
|
6365
|
-
|
|
6366
|
-
|
|
6367
|
-
|
|
6368
|
-
|
|
6369
|
-
|
|
6602
|
+
axisLine: xAxis?.axisLine ?? false,
|
|
6603
|
+
dataKey: xKey,
|
|
6604
|
+
hide: xAxis?.hide ?? true,
|
|
6605
|
+
tick: xAxis?.tick ?? true,
|
|
6606
|
+
tickLine: xAxis?.tickLine ?? false,
|
|
6607
|
+
tickMargin: xAxis?.tickMargin,
|
|
6608
|
+
type: "category"
|
|
6609
|
+
}
|
|
6610
|
+
),
|
|
6611
|
+
yAxis && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
6612
|
+
import_recharts5.YAxis,
|
|
6613
|
+
{
|
|
6614
|
+
axisLine: yAxis.axisLine ?? false,
|
|
6615
|
+
domain: yAxis.domain,
|
|
6616
|
+
tick: yAxis.tick ?? true,
|
|
6617
|
+
tickCount: yAxis.tickCount,
|
|
6618
|
+
tickLine: yAxis.tickLine ?? false,
|
|
6619
|
+
tickMargin: yAxis.tickMargin,
|
|
6620
|
+
ticks: yAxis.ticks,
|
|
6621
|
+
width: yAxis.width
|
|
6622
|
+
}
|
|
6623
|
+
),
|
|
6624
|
+
showTooltip && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_recharts5.Tooltip, { contentStyle: tooltipContentStyle3, cursor: { fill: "transparent" } }),
|
|
6625
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
6626
|
+
import_recharts5.Bar,
|
|
6627
|
+
{
|
|
6628
|
+
activeBar: hoverColor ? { fill: hoverColor } : void 0,
|
|
6629
|
+
barSize,
|
|
6630
|
+
dataKey,
|
|
6631
|
+
fill: "var(--color-value)",
|
|
6632
|
+
isAnimationActive: false,
|
|
6633
|
+
radius: safeRadius,
|
|
6634
|
+
children: chartData.map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
6635
|
+
import_recharts5.Cell,
|
|
6636
|
+
{
|
|
6637
|
+
fill: index === safeHighlightIndex ? highlightColor ?? DEFAULT_HIGHLIGHT_COLOR : "var(--color-value)"
|
|
6638
|
+
},
|
|
6639
|
+
index
|
|
6640
|
+
))
|
|
6641
|
+
}
|
|
6642
|
+
)
|
|
6643
|
+
]
|
|
6644
|
+
}
|
|
6645
|
+
)
|
|
6370
6646
|
}
|
|
6371
6647
|
)
|
|
6372
6648
|
}
|
|
@@ -6374,13 +6650,13 @@ function AdsBarChart({
|
|
|
6374
6650
|
}
|
|
6375
6651
|
|
|
6376
6652
|
// src/components/AdsSlider/index.tsx
|
|
6377
|
-
var
|
|
6653
|
+
var React53 = __toESM(require("react"), 1);
|
|
6378
6654
|
|
|
6379
6655
|
// src/primitives/slider.tsx
|
|
6380
|
-
var
|
|
6656
|
+
var React52 = __toESM(require("react"), 1);
|
|
6381
6657
|
var SliderPrimitive = __toESM(require("@radix-ui/react-slider"), 1);
|
|
6382
|
-
var
|
|
6383
|
-
var Slider =
|
|
6658
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
6659
|
+
var Slider = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
|
|
6384
6660
|
SliderPrimitive.Root,
|
|
6385
6661
|
{
|
|
6386
6662
|
ref,
|
|
@@ -6390,10 +6666,10 @@ var Slider = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
6390
6666
|
),
|
|
6391
6667
|
...props,
|
|
6392
6668
|
children: [
|
|
6393
|
-
/* @__PURE__ */ (0,
|
|
6669
|
+
/* @__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
6670
|
Array.from({
|
|
6395
6671
|
length: Array.isArray(props.value) ? props.value.length : Array.isArray(props.defaultValue) ? props.defaultValue.length : 1
|
|
6396
|
-
}).map((_, index) => /* @__PURE__ */ (0,
|
|
6672
|
+
}).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
6397
6673
|
SliderPrimitive.Thumb,
|
|
6398
6674
|
{
|
|
6399
6675
|
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 +6682,11 @@ var Slider = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
6406
6682
|
Slider.displayName = SliderPrimitive.Root.displayName;
|
|
6407
6683
|
|
|
6408
6684
|
// src/components/AdsSlider/index.tsx
|
|
6409
|
-
var
|
|
6685
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
6410
6686
|
var sliderBaseClassName = "py-1";
|
|
6411
|
-
var Slider2 =
|
|
6687
|
+
var Slider2 = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Slider, { className: cn(sliderBaseClassName, className), ref, ...props }));
|
|
6412
6688
|
Slider2.displayName = "Slider";
|
|
6413
|
-
var AdsSlider =
|
|
6689
|
+
var AdsSlider = React53.forwardRef(
|
|
6414
6690
|
({
|
|
6415
6691
|
className,
|
|
6416
6692
|
descriptionPlacement = "above",
|
|
@@ -6425,12 +6701,12 @@ var AdsSlider = React52.forwardRef(
|
|
|
6425
6701
|
helperText,
|
|
6426
6702
|
id
|
|
6427
6703
|
});
|
|
6428
|
-
const helperNode = helperText ? /* @__PURE__ */ (0,
|
|
6429
|
-
const errorNode = errorText ? /* @__PURE__ */ (0,
|
|
6430
|
-
return /* @__PURE__ */ (0,
|
|
6431
|
-
label ? /* @__PURE__ */ (0,
|
|
6704
|
+
const helperNode = helperText ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AdsFieldDescription, { id: description.helperId, children: helperText }) : null;
|
|
6705
|
+
const errorNode = errorText ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AdsFieldError, { id: description.errorId, children: errorText }) : null;
|
|
6706
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(AdsFieldItem, { children: [
|
|
6707
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AdsFieldLabel, { children: label }) : null,
|
|
6432
6708
|
descriptionPlacement === "above" ? helperNode : null,
|
|
6433
|
-
/* @__PURE__ */ (0,
|
|
6709
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
6434
6710
|
Slider2,
|
|
6435
6711
|
{
|
|
6436
6712
|
"aria-describedby": description.describedBy,
|
|
@@ -6447,13 +6723,13 @@ var AdsSlider = React52.forwardRef(
|
|
|
6447
6723
|
AdsSlider.displayName = "AdsSlider";
|
|
6448
6724
|
|
|
6449
6725
|
// src/components/AdsSwitch/index.tsx
|
|
6450
|
-
var
|
|
6726
|
+
var React55 = __toESM(require("react"), 1);
|
|
6451
6727
|
|
|
6452
6728
|
// src/primitives/switch.tsx
|
|
6453
|
-
var
|
|
6729
|
+
var React54 = __toESM(require("react"), 1);
|
|
6454
6730
|
var SwitchPrimitives = __toESM(require("@radix-ui/react-switch"), 1);
|
|
6455
|
-
var
|
|
6456
|
-
var Switch =
|
|
6731
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
6732
|
+
var Switch = React54.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
6457
6733
|
SwitchPrimitives.Root,
|
|
6458
6734
|
{
|
|
6459
6735
|
className: cn(
|
|
@@ -6462,7 +6738,7 @@ var Switch = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
6462
6738
|
),
|
|
6463
6739
|
...props,
|
|
6464
6740
|
ref,
|
|
6465
|
-
children: /* @__PURE__ */ (0,
|
|
6741
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
6466
6742
|
SwitchPrimitives.Thumb,
|
|
6467
6743
|
{
|
|
6468
6744
|
className: cn(
|
|
@@ -6475,15 +6751,15 @@ var Switch = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
6475
6751
|
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
6476
6752
|
|
|
6477
6753
|
// src/components/AdsSwitch/index.tsx
|
|
6478
|
-
var
|
|
6754
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
6479
6755
|
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 =
|
|
6756
|
+
var Switch2 = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Switch, { className: cn(switchBaseClassName, className), ref, ...props }));
|
|
6481
6757
|
Switch2.displayName = "Switch";
|
|
6482
|
-
var AdsSwitch =
|
|
6483
|
-
const generatedId =
|
|
6758
|
+
var AdsSwitch = React55.forwardRef(({ className, description, id, label, switchClassName, wrapperClassName, ...props }, ref) => {
|
|
6759
|
+
const generatedId = React55.useId();
|
|
6484
6760
|
const inputId = id ?? generatedId;
|
|
6485
6761
|
if (!label) {
|
|
6486
|
-
return /* @__PURE__ */ (0,
|
|
6762
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
6487
6763
|
Switch2,
|
|
6488
6764
|
{
|
|
6489
6765
|
className: cn(className, switchClassName),
|
|
@@ -6493,12 +6769,12 @@ var AdsSwitch = React54.forwardRef(({ className, description, id, label, switchC
|
|
|
6493
6769
|
}
|
|
6494
6770
|
);
|
|
6495
6771
|
}
|
|
6496
|
-
return /* @__PURE__ */ (0,
|
|
6497
|
-
/* @__PURE__ */ (0,
|
|
6498
|
-
/* @__PURE__ */ (0,
|
|
6499
|
-
description ? /* @__PURE__ */ (0,
|
|
6772
|
+
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: [
|
|
6773
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-1.5 pt-0.5", children: [
|
|
6774
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "text-sm font-medium leading-5 text-foreground", children: label }),
|
|
6775
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(AdsFieldDescription, { className: "text-sm leading-5", children: description }) : null
|
|
6500
6776
|
] }),
|
|
6501
|
-
/* @__PURE__ */ (0,
|
|
6777
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
6502
6778
|
Switch2,
|
|
6503
6779
|
{
|
|
6504
6780
|
className: cn(className, switchClassName),
|
|
@@ -6512,14 +6788,14 @@ var AdsSwitch = React54.forwardRef(({ className, description, id, label, switchC
|
|
|
6512
6788
|
AdsSwitch.displayName = "AdsSwitch";
|
|
6513
6789
|
|
|
6514
6790
|
// src/components/AdsTabs/index.tsx
|
|
6515
|
-
var
|
|
6791
|
+
var React57 = __toESM(require("react"), 1);
|
|
6516
6792
|
|
|
6517
6793
|
// src/primitives/tabs.tsx
|
|
6518
|
-
var
|
|
6794
|
+
var React56 = __toESM(require("react"), 1);
|
|
6519
6795
|
var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"), 1);
|
|
6520
|
-
var
|
|
6796
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
6521
6797
|
var Tabs = TabsPrimitive.Root;
|
|
6522
|
-
var TabsList =
|
|
6798
|
+
var TabsList = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
6523
6799
|
TabsPrimitive.List,
|
|
6524
6800
|
{
|
|
6525
6801
|
className: cn("inline-flex items-center", className),
|
|
@@ -6528,7 +6804,7 @@ var TabsList = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
6528
6804
|
}
|
|
6529
6805
|
));
|
|
6530
6806
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
6531
|
-
var TabsTrigger =
|
|
6807
|
+
var TabsTrigger = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
6532
6808
|
TabsPrimitive.Trigger,
|
|
6533
6809
|
{
|
|
6534
6810
|
className: cn(
|
|
@@ -6540,7 +6816,7 @@ var TabsTrigger = React55.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
6540
6816
|
}
|
|
6541
6817
|
));
|
|
6542
6818
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
6543
|
-
var TabsContent =
|
|
6819
|
+
var TabsContent = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
6544
6820
|
TabsPrimitive.Content,
|
|
6545
6821
|
{
|
|
6546
6822
|
className: cn("focus-visible:outline-none", className),
|
|
@@ -6551,9 +6827,9 @@ var TabsContent = React55.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
6551
6827
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
6552
6828
|
|
|
6553
6829
|
// src/components/AdsTabs/index.tsx
|
|
6554
|
-
var
|
|
6830
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
6555
6831
|
var AdsTabs = Tabs;
|
|
6556
|
-
var AdsTabsList =
|
|
6832
|
+
var AdsTabsList = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
6557
6833
|
TabsList,
|
|
6558
6834
|
{
|
|
6559
6835
|
className: cn(
|
|
@@ -6565,7 +6841,7 @@ var AdsTabsList = React56.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
6565
6841
|
}
|
|
6566
6842
|
));
|
|
6567
6843
|
AdsTabsList.displayName = "AdsTabsList";
|
|
6568
|
-
var AdsTabsTrigger =
|
|
6844
|
+
var AdsTabsTrigger = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
6569
6845
|
TabsTrigger,
|
|
6570
6846
|
{
|
|
6571
6847
|
className: cn(
|
|
@@ -6577,7 +6853,7 @@ var AdsTabsTrigger = React56.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
6577
6853
|
}
|
|
6578
6854
|
));
|
|
6579
6855
|
AdsTabsTrigger.displayName = "AdsTabsTrigger";
|
|
6580
|
-
var AdsTabsContent =
|
|
6856
|
+
var AdsTabsContent = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
6581
6857
|
TabsContent,
|
|
6582
6858
|
{
|
|
6583
6859
|
className: cn(
|
|
@@ -6591,13 +6867,13 @@ var AdsTabsContent = React56.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
6591
6867
|
AdsTabsContent.displayName = "AdsTabsContent";
|
|
6592
6868
|
|
|
6593
6869
|
// src/components/AdsToggle/index.tsx
|
|
6594
|
-
var
|
|
6870
|
+
var React59 = __toESM(require("react"), 1);
|
|
6595
6871
|
|
|
6596
6872
|
// src/primitives/toggle.tsx
|
|
6597
|
-
var
|
|
6873
|
+
var React58 = __toESM(require("react"), 1);
|
|
6598
6874
|
var TogglePrimitive = __toESM(require("@radix-ui/react-toggle"), 1);
|
|
6599
|
-
var
|
|
6600
|
-
var Toggle =
|
|
6875
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
6876
|
+
var Toggle = React58.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
6601
6877
|
TogglePrimitive.Root,
|
|
6602
6878
|
{
|
|
6603
6879
|
className: cn(
|
|
@@ -6611,7 +6887,7 @@ var Toggle = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
6611
6887
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
6612
6888
|
|
|
6613
6889
|
// src/components/AdsToggle/index.tsx
|
|
6614
|
-
var
|
|
6890
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
6615
6891
|
var sizeClassName3 = {
|
|
6616
6892
|
sm: "!h-8 px-[6px] text-sm",
|
|
6617
6893
|
md: "!h-9 px-md text-sm",
|
|
@@ -6626,10 +6902,10 @@ var variantClassName = {
|
|
|
6626
6902
|
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
6903
|
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
6904
|
};
|
|
6629
|
-
var AdsToggle =
|
|
6630
|
-
const childCount =
|
|
6631
|
-
const isIconOnly = childCount === 1 &&
|
|
6632
|
-
return /* @__PURE__ */ (0,
|
|
6905
|
+
var AdsToggle = React59.forwardRef(({ children, className, size = "md", variant = "default", ...props }, ref) => {
|
|
6906
|
+
const childCount = React59.Children.count(children);
|
|
6907
|
+
const isIconOnly = childCount === 1 && React59.isValidElement(children);
|
|
6908
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
6633
6909
|
Toggle,
|
|
6634
6910
|
{
|
|
6635
6911
|
className: cn(
|
|
@@ -6648,13 +6924,13 @@ var AdsToggle = React58.forwardRef(({ children, className, size = "md", variant
|
|
|
6648
6924
|
AdsToggle.displayName = "AdsToggle";
|
|
6649
6925
|
|
|
6650
6926
|
// src/components/AdsToggleGroup/index.tsx
|
|
6651
|
-
var
|
|
6927
|
+
var React61 = __toESM(require("react"), 1);
|
|
6652
6928
|
|
|
6653
6929
|
// src/primitives/toggle-group.tsx
|
|
6654
|
-
var
|
|
6930
|
+
var React60 = __toESM(require("react"), 1);
|
|
6655
6931
|
var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
|
|
6656
|
-
var
|
|
6657
|
-
var ToggleGroup =
|
|
6932
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
6933
|
+
var ToggleGroup = React60.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
6658
6934
|
ToggleGroupPrimitive.Root,
|
|
6659
6935
|
{
|
|
6660
6936
|
className: cn("inline-flex items-center justify-start", className),
|
|
@@ -6663,7 +6939,7 @@ var ToggleGroup = React59.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
6663
6939
|
}
|
|
6664
6940
|
));
|
|
6665
6941
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
6666
|
-
var ToggleGroupItem =
|
|
6942
|
+
var ToggleGroupItem = React60.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
6667
6943
|
ToggleGroupPrimitive.Item,
|
|
6668
6944
|
{
|
|
6669
6945
|
className: cn(
|
|
@@ -6677,7 +6953,7 @@ var ToggleGroupItem = React59.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
6677
6953
|
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
6678
6954
|
|
|
6679
6955
|
// src/components/AdsToggleGroup/index.tsx
|
|
6680
|
-
var
|
|
6956
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
6681
6957
|
var sizeClassName4 = {
|
|
6682
6958
|
sm: "h-8 min-w-7 px-[6px] text-sm",
|
|
6683
6959
|
md: "h-9 min-w-[34px] px-md text-sm",
|
|
@@ -6687,8 +6963,8 @@ var variantClassName2 = {
|
|
|
6687
6963
|
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
6964
|
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
6965
|
};
|
|
6690
|
-
var AdsToggleGroupContext =
|
|
6691
|
-
var AdsToggleGroup =
|
|
6966
|
+
var AdsToggleGroupContext = React61.createContext(null);
|
|
6967
|
+
var AdsToggleGroup = React61.forwardRef(
|
|
6692
6968
|
({
|
|
6693
6969
|
children,
|
|
6694
6970
|
className,
|
|
@@ -6696,7 +6972,7 @@ var AdsToggleGroup = React60.forwardRef(
|
|
|
6696
6972
|
size = "md",
|
|
6697
6973
|
variant = "default",
|
|
6698
6974
|
...props
|
|
6699
|
-
}, ref) => /* @__PURE__ */ (0,
|
|
6975
|
+
}, ref) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(AdsToggleGroupContext.Provider, { value: { orientation, size, variant }, children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
6700
6976
|
ToggleGroup,
|
|
6701
6977
|
{
|
|
6702
6978
|
className: cn(
|
|
@@ -6712,12 +6988,12 @@ var AdsToggleGroup = React60.forwardRef(
|
|
|
6712
6988
|
) })
|
|
6713
6989
|
);
|
|
6714
6990
|
AdsToggleGroup.displayName = "AdsToggleGroup";
|
|
6715
|
-
var AdsToggleGroupItem =
|
|
6716
|
-
const context =
|
|
6991
|
+
var AdsToggleGroupItem = React61.forwardRef(({ className, size, variant, ...props }, ref) => {
|
|
6992
|
+
const context = React61.useContext(AdsToggleGroupContext);
|
|
6717
6993
|
const resolvedOrientation = context?.orientation ?? "horizontal";
|
|
6718
6994
|
const resolvedSize = size ?? context?.size ?? "md";
|
|
6719
6995
|
const resolvedVariant = variant ?? context?.variant ?? "default";
|
|
6720
|
-
return /* @__PURE__ */ (0,
|
|
6996
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
6721
6997
|
ToggleGroupItem,
|
|
6722
6998
|
{
|
|
6723
6999
|
className: cn(
|
|
@@ -6735,10 +7011,10 @@ var AdsToggleGroupItem = React60.forwardRef(({ className, size, variant, ...prop
|
|
|
6735
7011
|
AdsToggleGroupItem.displayName = "AdsToggleGroupItem";
|
|
6736
7012
|
|
|
6737
7013
|
// 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 =
|
|
7014
|
+
var React62 = __toESM(require("react"), 1);
|
|
7015
|
+
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
7016
|
+
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";
|
|
7017
|
+
var AdsTextarea = React62.forwardRef(
|
|
6742
7018
|
({
|
|
6743
7019
|
action,
|
|
6744
7020
|
className,
|
|
@@ -6757,12 +7033,12 @@ var AdsTextarea = React61.forwardRef(
|
|
|
6757
7033
|
helperText,
|
|
6758
7034
|
id
|
|
6759
7035
|
});
|
|
6760
|
-
const helperNode = helperText ? /* @__PURE__ */ (0,
|
|
6761
|
-
const errorNode = errorText ? /* @__PURE__ */ (0,
|
|
6762
|
-
return /* @__PURE__ */ (0,
|
|
6763
|
-
label ? /* @__PURE__ */ (0,
|
|
7036
|
+
const helperNode = helperText ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(AdsFieldDescription, { id: description.helperId, children: helperText }) : null;
|
|
7037
|
+
const errorNode = errorText ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(AdsFieldError, { id: description.errorId, children: errorText }) : null;
|
|
7038
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(AdsFieldItem, { children: [
|
|
7039
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(AdsFieldLabel, { htmlFor: description.inputId, children: label }) : null,
|
|
6764
7040
|
descriptionPlacement === "above" ? helperNode : null,
|
|
6765
|
-
/* @__PURE__ */ (0,
|
|
7041
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
6766
7042
|
Textarea,
|
|
6767
7043
|
{
|
|
6768
7044
|
"aria-describedby": description.describedBy,
|
|
@@ -6780,7 +7056,7 @@ var AdsTextarea = React61.forwardRef(
|
|
|
6780
7056
|
...props
|
|
6781
7057
|
}
|
|
6782
7058
|
),
|
|
6783
|
-
action ? /* @__PURE__ */ (0,
|
|
7059
|
+
action ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "w-full [&>*]:w-full", children: action }) : null,
|
|
6784
7060
|
descriptionPlacement === "below" ? helperNode : null,
|
|
6785
7061
|
errorNode
|
|
6786
7062
|
] });
|
|
@@ -6789,16 +7065,16 @@ var AdsTextarea = React61.forwardRef(
|
|
|
6789
7065
|
AdsTextarea.displayName = "AdsTextarea";
|
|
6790
7066
|
|
|
6791
7067
|
// src/components/AdsToast/index.tsx
|
|
6792
|
-
var
|
|
6793
|
-
var
|
|
7068
|
+
var React63 = __toESM(require("react"), 1);
|
|
7069
|
+
var import_lucide_react17 = require("lucide-react");
|
|
6794
7070
|
var import_sonner = require("sonner");
|
|
6795
|
-
var
|
|
7071
|
+
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
6796
7072
|
var adsToastIconMap = {
|
|
6797
|
-
success:
|
|
6798
|
-
info:
|
|
6799
|
-
warning:
|
|
6800
|
-
error:
|
|
6801
|
-
loading:
|
|
7073
|
+
success: import_lucide_react17.CircleCheck,
|
|
7074
|
+
info: import_lucide_react17.Info,
|
|
7075
|
+
warning: import_lucide_react17.TriangleAlert,
|
|
7076
|
+
error: import_lucide_react17.OctagonX,
|
|
7077
|
+
loading: import_lucide_react17.LoaderCircle
|
|
6802
7078
|
};
|
|
6803
7079
|
function resolveToastIcon(intent, icon) {
|
|
6804
7080
|
if (icon) {
|
|
@@ -6808,7 +7084,7 @@ function resolveToastIcon(intent, icon) {
|
|
|
6808
7084
|
return null;
|
|
6809
7085
|
}
|
|
6810
7086
|
const Icon2 = adsToastIconMap[intent];
|
|
6811
|
-
return /* @__PURE__ */ (0,
|
|
7087
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6812
7088
|
Icon2,
|
|
6813
7089
|
{
|
|
6814
7090
|
"aria-hidden": true,
|
|
@@ -6821,7 +7097,7 @@ function resolveToastIcon(intent, icon) {
|
|
|
6821
7097
|
}
|
|
6822
7098
|
);
|
|
6823
7099
|
}
|
|
6824
|
-
var AdsToast =
|
|
7100
|
+
var AdsToast = React63.forwardRef(
|
|
6825
7101
|
({
|
|
6826
7102
|
action,
|
|
6827
7103
|
className,
|
|
@@ -6832,7 +7108,7 @@ var AdsToast = React62.forwardRef(
|
|
|
6832
7108
|
...props
|
|
6833
7109
|
}, ref) => {
|
|
6834
7110
|
const resolvedIcon = resolveToastIcon(intent, icon);
|
|
6835
|
-
return /* @__PURE__ */ (0,
|
|
7111
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
|
|
6836
7112
|
"div",
|
|
6837
7113
|
{
|
|
6838
7114
|
className: cn(
|
|
@@ -6847,8 +7123,8 @@ var AdsToast = React62.forwardRef(
|
|
|
6847
7123
|
...props,
|
|
6848
7124
|
children: [
|
|
6849
7125
|
resolvedIcon,
|
|
6850
|
-
/* @__PURE__ */ (0,
|
|
6851
|
-
/* @__PURE__ */ (0,
|
|
7126
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
|
|
7127
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6852
7128
|
"p",
|
|
6853
7129
|
{
|
|
6854
7130
|
className: cn(
|
|
@@ -6858,7 +7134,7 @@ var AdsToast = React62.forwardRef(
|
|
|
6858
7134
|
children: title
|
|
6859
7135
|
}
|
|
6860
7136
|
),
|
|
6861
|
-
description ? /* @__PURE__ */ (0,
|
|
7137
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6862
7138
|
"p",
|
|
6863
7139
|
{
|
|
6864
7140
|
className: cn(
|
|
@@ -6869,7 +7145,7 @@ var AdsToast = React62.forwardRef(
|
|
|
6869
7145
|
}
|
|
6870
7146
|
) : null
|
|
6871
7147
|
] }),
|
|
6872
|
-
action ? /* @__PURE__ */ (0,
|
|
7148
|
+
action ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6873
7149
|
AdsButton,
|
|
6874
7150
|
{
|
|
6875
7151
|
className: "shrink-0 rounded-radius-lg",
|
|
@@ -6895,7 +7171,7 @@ function AdsToaster({
|
|
|
6895
7171
|
...props
|
|
6896
7172
|
}) {
|
|
6897
7173
|
const { messages } = useAdsI18n();
|
|
6898
|
-
return /* @__PURE__ */ (0,
|
|
7174
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6899
7175
|
import_sonner.Toaster,
|
|
6900
7176
|
{
|
|
6901
7177
|
closeButton: false,
|
|
@@ -6913,7 +7189,7 @@ function AdsToaster({
|
|
|
6913
7189
|
);
|
|
6914
7190
|
}
|
|
6915
7191
|
function toStageNode(intent, title, options) {
|
|
6916
|
-
return /* @__PURE__ */ (0,
|
|
7192
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6917
7193
|
AdsToast,
|
|
6918
7194
|
{
|
|
6919
7195
|
action: options?.action,
|
|
@@ -6927,7 +7203,7 @@ function toStageNode(intent, title, options) {
|
|
|
6927
7203
|
function showAdsToast(intent, title, options) {
|
|
6928
7204
|
const { action, description, icon, ...toastOptions } = options ?? {};
|
|
6929
7205
|
return import_sonner.toast.custom(
|
|
6930
|
-
(id) => /* @__PURE__ */ (0,
|
|
7206
|
+
(id) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6931
7207
|
AdsToast,
|
|
6932
7208
|
{
|
|
6933
7209
|
action: action ? {
|
|
@@ -6981,10 +7257,10 @@ var AdsToastManager = Object.assign(
|
|
|
6981
7257
|
);
|
|
6982
7258
|
|
|
6983
7259
|
// src/components/AdsDialog/index.tsx
|
|
6984
|
-
var
|
|
7260
|
+
var React64 = __toESM(require("react"), 1);
|
|
6985
7261
|
var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
6986
|
-
var
|
|
6987
|
-
var
|
|
7262
|
+
var import_lucide_react18 = require("lucide-react");
|
|
7263
|
+
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
6988
7264
|
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
7265
|
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
7266
|
var bodyClassName = "min-h-0 flex-1 overflow-y-auto overscroll-contain [scrollbar-gutter:stable]";
|
|
@@ -6992,7 +7268,7 @@ var closeButtonClassName = "absolute right-xl top-xl inline-flex h-6 w-6 items-c
|
|
|
6992
7268
|
var Dialog = DialogPrimitive.Root;
|
|
6993
7269
|
var DialogTrigger = DialogPrimitive.Trigger;
|
|
6994
7270
|
var DialogPortal = DialogPrimitive.Portal;
|
|
6995
|
-
var DialogOverlay =
|
|
7271
|
+
var DialogOverlay = React64.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6996
7272
|
DialogPrimitive.Overlay,
|
|
6997
7273
|
{
|
|
6998
7274
|
className: cn(overlayClassName2, className),
|
|
@@ -7001,7 +7277,7 @@ var DialogOverlay = React63.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
7001
7277
|
}
|
|
7002
7278
|
));
|
|
7003
7279
|
DialogOverlay.displayName = "DialogOverlay";
|
|
7004
|
-
var DialogClose =
|
|
7280
|
+
var DialogClose = React64.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7005
7281
|
DialogPrimitive.Close,
|
|
7006
7282
|
{
|
|
7007
7283
|
className: cn(
|
|
@@ -7015,8 +7291,8 @@ var DialogClose = React63.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
7015
7291
|
DialogClose.displayName = "DialogClose";
|
|
7016
7292
|
function flattenDialogChildren(children) {
|
|
7017
7293
|
const nodes = [];
|
|
7018
|
-
|
|
7019
|
-
if (
|
|
7294
|
+
React64.Children.forEach(children, (child) => {
|
|
7295
|
+
if (React64.isValidElement(child) && child.type === React64.Fragment) {
|
|
7020
7296
|
nodes.push(...flattenDialogChildren(child.props.children));
|
|
7021
7297
|
return;
|
|
7022
7298
|
}
|
|
@@ -7025,10 +7301,10 @@ function flattenDialogChildren(children) {
|
|
|
7025
7301
|
return nodes;
|
|
7026
7302
|
}
|
|
7027
7303
|
function isDialogSlotElement(child, component) {
|
|
7028
|
-
return
|
|
7304
|
+
return React64.isValidElement(child) && child.type === component;
|
|
7029
7305
|
}
|
|
7030
|
-
var DialogBody =
|
|
7031
|
-
({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
7306
|
+
var DialogBody = React64.forwardRef(
|
|
7307
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7032
7308
|
"div",
|
|
7033
7309
|
{
|
|
7034
7310
|
className: cn(bodyClassName, className),
|
|
@@ -7039,7 +7315,7 @@ var DialogBody = React63.forwardRef(
|
|
|
7039
7315
|
)
|
|
7040
7316
|
);
|
|
7041
7317
|
DialogBody.displayName = "DialogBody";
|
|
7042
|
-
var DialogContent =
|
|
7318
|
+
var DialogContent = React64.forwardRef(
|
|
7043
7319
|
({
|
|
7044
7320
|
children,
|
|
7045
7321
|
className,
|
|
@@ -7096,9 +7372,9 @@ var DialogContent = React63.forwardRef(
|
|
|
7096
7372
|
const looseBodyNodes = bodyNodes.filter(
|
|
7097
7373
|
(child) => !isDialogSlotElement(child, DialogBody)
|
|
7098
7374
|
);
|
|
7099
|
-
return /* @__PURE__ */ (0,
|
|
7100
|
-
/* @__PURE__ */ (0,
|
|
7101
|
-
/* @__PURE__ */ (0,
|
|
7375
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(NestedDismissableLayerProvider, { coordinator: parentLayer.coordinator, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(DialogPortal, { children: [
|
|
7376
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(DialogOverlay, {}),
|
|
7377
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
|
|
7102
7378
|
DialogPrimitive.Content,
|
|
7103
7379
|
{
|
|
7104
7380
|
"data-slot": "ads-dialog-content",
|
|
@@ -7114,18 +7390,18 @@ var DialogContent = React63.forwardRef(
|
|
|
7114
7390
|
...props,
|
|
7115
7391
|
children: [
|
|
7116
7392
|
headerNode,
|
|
7117
|
-
headerNode === null && generatedHeaderNodes.length > 0 ? /* @__PURE__ */ (0,
|
|
7393
|
+
headerNode === null && generatedHeaderNodes.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(DialogHeader, { children: generatedHeaderNodes }) : null,
|
|
7118
7394
|
explicitBodyNodes.length > 0 ? explicitBodyNodes : null,
|
|
7119
|
-
looseBodyNodes.length > 0 ? /* @__PURE__ */ (0,
|
|
7395
|
+
looseBodyNodes.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(DialogBody, { children: looseBodyNodes }) : null,
|
|
7120
7396
|
footerNode,
|
|
7121
|
-
!hideCloseButton ? /* @__PURE__ */ (0,
|
|
7397
|
+
!hideCloseButton ? /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
|
|
7122
7398
|
DialogPrimitive.Close,
|
|
7123
7399
|
{
|
|
7124
7400
|
"aria-label": resolvedCloseLabel,
|
|
7125
7401
|
className: cn(closeButtonClassName, adsTextColorClassName.card),
|
|
7126
7402
|
children: [
|
|
7127
|
-
/* @__PURE__ */ (0,
|
|
7128
|
-
/* @__PURE__ */ (0,
|
|
7403
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react18.X, { "aria-hidden": true, className: "h-4 w-4" }),
|
|
7404
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "sr-only", children: resolvedCloseLabel })
|
|
7129
7405
|
]
|
|
7130
7406
|
}
|
|
7131
7407
|
) : null
|
|
@@ -7136,8 +7412,8 @@ var DialogContent = React63.forwardRef(
|
|
|
7136
7412
|
}
|
|
7137
7413
|
);
|
|
7138
7414
|
DialogContent.displayName = "DialogContent";
|
|
7139
|
-
var DialogHeader =
|
|
7140
|
-
({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
7415
|
+
var DialogHeader = React64.forwardRef(
|
|
7416
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7141
7417
|
"div",
|
|
7142
7418
|
{
|
|
7143
7419
|
"data-slot": "ads-dialog-header",
|
|
@@ -7148,8 +7424,8 @@ var DialogHeader = React63.forwardRef(
|
|
|
7148
7424
|
)
|
|
7149
7425
|
);
|
|
7150
7426
|
DialogHeader.displayName = "DialogHeader";
|
|
7151
|
-
var DialogFooter =
|
|
7152
|
-
({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
7427
|
+
var DialogFooter = React64.forwardRef(
|
|
7428
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7153
7429
|
"div",
|
|
7154
7430
|
{
|
|
7155
7431
|
"data-slot": "ads-dialog-footer",
|
|
@@ -7163,7 +7439,7 @@ var DialogFooter = React63.forwardRef(
|
|
|
7163
7439
|
)
|
|
7164
7440
|
);
|
|
7165
7441
|
DialogFooter.displayName = "DialogFooter";
|
|
7166
|
-
var DialogTitle =
|
|
7442
|
+
var DialogTitle = React64.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7167
7443
|
DialogPrimitive.Title,
|
|
7168
7444
|
{
|
|
7169
7445
|
className: cn(
|
|
@@ -7176,7 +7452,7 @@ var DialogTitle = React63.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
7176
7452
|
}
|
|
7177
7453
|
));
|
|
7178
7454
|
DialogTitle.displayName = "DialogTitle";
|
|
7179
|
-
var DialogDescription =
|
|
7455
|
+
var DialogDescription = React64.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7180
7456
|
DialogPrimitive.Description,
|
|
7181
7457
|
{
|
|
7182
7458
|
className: cn("text-sm leading-5", adsTextColorClassName.muted, className),
|
|
@@ -7199,7 +7475,7 @@ var AdsDialogDescription = DialogDescription;
|
|
|
7199
7475
|
|
|
7200
7476
|
// src/components/AdsMasonry/index.tsx
|
|
7201
7477
|
var import_masonic = require("masonic");
|
|
7202
|
-
var
|
|
7478
|
+
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
7203
7479
|
var DEFAULT_COLUMN_WIDTH = 240;
|
|
7204
7480
|
var DEFAULT_GAP = 16;
|
|
7205
7481
|
var DEFAULT_ITEM_HEIGHT_ESTIMATE = 280;
|
|
@@ -7235,7 +7511,7 @@ function AdsMasonry({
|
|
|
7235
7511
|
{ length: loadingItemCount },
|
|
7236
7512
|
(_, index) => index
|
|
7237
7513
|
);
|
|
7238
|
-
return /* @__PURE__ */ (0,
|
|
7514
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7239
7515
|
"div",
|
|
7240
7516
|
{
|
|
7241
7517
|
className: cn(
|
|
@@ -7247,20 +7523,20 @@ function AdsMasonry({
|
|
|
7247
7523
|
const mediaHeight = LOADING_MEDIA_HEIGHT_PATTERN[index % LOADING_MEDIA_HEIGHT_PATTERN.length];
|
|
7248
7524
|
const titleWidth = LOADING_TITLE_WIDTH_PATTERN[index % LOADING_TITLE_WIDTH_PATTERN.length];
|
|
7249
7525
|
const bodyWidth = LOADING_BODY_WIDTH_PATTERN[index % LOADING_BODY_WIDTH_PATTERN.length];
|
|
7250
|
-
return /* @__PURE__ */ (0,
|
|
7526
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
|
|
7251
7527
|
"article",
|
|
7252
7528
|
{
|
|
7253
7529
|
className: "overflow-hidden rounded-radius-lg border border-border bg-card shadow-showcase",
|
|
7254
7530
|
"data-slot": "ads-masonry-loading-card",
|
|
7255
7531
|
"data-testid": "ads-masonry-loading-card",
|
|
7256
7532
|
children: [
|
|
7257
|
-
/* @__PURE__ */ (0,
|
|
7533
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7258
7534
|
"div",
|
|
7259
7535
|
{
|
|
7260
7536
|
className: "border-b border-border/60 bg-surface-inset/50",
|
|
7261
7537
|
"data-slot": "ads-masonry-skeleton-preview",
|
|
7262
7538
|
"data-testid": "ads-masonry-skeleton-preview",
|
|
7263
|
-
children: /* @__PURE__ */ (0,
|
|
7539
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7264
7540
|
AdsSkeleton,
|
|
7265
7541
|
{
|
|
7266
7542
|
className: cn("w-full rounded-none", classNames?.skeleton),
|
|
@@ -7271,10 +7547,10 @@ function AdsMasonry({
|
|
|
7271
7547
|
)
|
|
7272
7548
|
}
|
|
7273
7549
|
),
|
|
7274
|
-
/* @__PURE__ */ (0,
|
|
7275
|
-
/* @__PURE__ */ (0,
|
|
7276
|
-
/* @__PURE__ */ (0,
|
|
7277
|
-
/* @__PURE__ */ (0,
|
|
7550
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "flex flex-col gap-4 p-lg", children: [
|
|
7551
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "flex items-start justify-between gap-3", children: [
|
|
7552
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "flex-1 space-y-2", children: [
|
|
7553
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7278
7554
|
AdsSkeleton,
|
|
7279
7555
|
{
|
|
7280
7556
|
className: cn("h-3 w-16 rounded-full", classNames?.skeleton),
|
|
@@ -7282,7 +7558,7 @@ function AdsMasonry({
|
|
|
7282
7558
|
"data-testid": "ads-masonry-skeleton"
|
|
7283
7559
|
}
|
|
7284
7560
|
),
|
|
7285
|
-
/* @__PURE__ */ (0,
|
|
7561
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7286
7562
|
AdsSkeleton,
|
|
7287
7563
|
{
|
|
7288
7564
|
className: cn("h-6 rounded-full", classNames?.skeleton),
|
|
@@ -7292,7 +7568,7 @@ function AdsMasonry({
|
|
|
7292
7568
|
}
|
|
7293
7569
|
)
|
|
7294
7570
|
] }),
|
|
7295
|
-
/* @__PURE__ */ (0,
|
|
7571
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7296
7572
|
AdsSkeleton,
|
|
7297
7573
|
{
|
|
7298
7574
|
className: cn("h-6 w-16 rounded-full", classNames?.skeleton),
|
|
@@ -7301,7 +7577,7 @@ function AdsMasonry({
|
|
|
7301
7577
|
}
|
|
7302
7578
|
)
|
|
7303
7579
|
] }),
|
|
7304
|
-
/* @__PURE__ */ (0,
|
|
7580
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7305
7581
|
AdsSkeleton,
|
|
7306
7582
|
{
|
|
7307
7583
|
className: cn("h-4 rounded-full", classNames?.skeleton),
|
|
@@ -7320,7 +7596,7 @@ function AdsMasonry({
|
|
|
7320
7596
|
);
|
|
7321
7597
|
}
|
|
7322
7598
|
if (items.length === 0) {
|
|
7323
|
-
return emptyState ? /* @__PURE__ */ (0,
|
|
7599
|
+
return emptyState ? /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7324
7600
|
"div",
|
|
7325
7601
|
{
|
|
7326
7602
|
className: cn(rootClassName, classNames?.empty),
|
|
@@ -7329,7 +7605,7 @@ function AdsMasonry({
|
|
|
7329
7605
|
}
|
|
7330
7606
|
) : null;
|
|
7331
7607
|
}
|
|
7332
|
-
return /* @__PURE__ */ (0,
|
|
7608
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7333
7609
|
import_masonic.Masonry,
|
|
7334
7610
|
{
|
|
7335
7611
|
className: rootClassName,
|
|
@@ -7341,7 +7617,7 @@ function AdsMasonry({
|
|
|
7341
7617
|
maxColumnCount,
|
|
7342
7618
|
onRender,
|
|
7343
7619
|
overscanBy,
|
|
7344
|
-
render: ({ data, index, width }) => /* @__PURE__ */ (0,
|
|
7620
|
+
render: ({ data, index, width }) => /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7345
7621
|
"div",
|
|
7346
7622
|
{
|
|
7347
7623
|
className: cn("pb-0", classNames?.item, itemClassName),
|
|
@@ -7503,6 +7779,7 @@ var designTokens = {
|
|
|
7503
7779
|
AdsInputOTPGroup,
|
|
7504
7780
|
AdsInputOTPSeparator,
|
|
7505
7781
|
AdsInputOTPSlot,
|
|
7782
|
+
AdsLineChart,
|
|
7506
7783
|
AdsMasonry,
|
|
7507
7784
|
AdsPagination,
|
|
7508
7785
|
AdsPaginationContent,
|