@adsgency_npm/adsgency-ads-ui 0.1.0-alpha.28 → 0.1.0-alpha.29

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 CHANGED
@@ -224,7 +224,6 @@ var adsDefaultMessages = {
224
224
  collapseRow: "Collapse row",
225
225
  expandRow: "Expand row",
226
226
  filterColumn: "Filter column",
227
- loadingRows: "Loading table rows",
228
227
  noDataAvailable: "No data available",
229
228
  selectAllRows: "Select all rows",
230
229
  selectRow: "Select row",
@@ -275,7 +274,6 @@ var adsDefaultMessages = {
275
274
  collapseRow: "\u6536\u8D77\u884C",
276
275
  expandRow: "\u5C55\u5F00\u884C",
277
276
  filterColumn: "\u7B5B\u9009\u5217",
278
- loadingRows: "\u6B63\u5728\u52A0\u8F7D\u8868\u683C\u884C",
279
277
  noDataAvailable: "\u6682\u65E0\u6570\u636E",
280
278
  selectAllRows: "\u9009\u62E9\u5168\u90E8\u884C",
281
279
  selectRow: "\u9009\u62E9\u884C",
@@ -834,7 +832,7 @@ var adsTextColorClassName = {
834
832
  // src/components/AdsAlertDialog/index.tsx
835
833
  var import_jsx_runtime8 = require("react/jsx-runtime");
836
834
  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";
837
- 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%]";
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 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%]";
838
836
  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]";
839
837
  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]";
840
838
  var AlertDialog = AlertDialogPrimitive.Root;
@@ -2838,7 +2836,6 @@ AdsSkeleton.displayName = "AdsSkeleton";
2838
2836
 
2839
2837
  // src/components/AdsInput/index.tsx
2840
2838
  var React31 = __toESM(require("react"), 1);
2841
- var import_lucide_react10 = require("lucide-react");
2842
2839
 
2843
2840
  // src/lib/adsClearButton.tsx
2844
2841
  var React30 = __toESM(require("react"), 1);
@@ -2859,17 +2856,12 @@ AdsClearButton.displayName = "AdsClearButton";
2859
2856
 
2860
2857
  // src/components/AdsInput/index.tsx
2861
2858
  var import_jsx_runtime34 = require("react/jsx-runtime");
2862
- 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";
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-50 md:text-sm";
2863
2860
  var inputSizeClasses = {
2864
2861
  sm: "h-8 text-sm leading-5",
2865
2862
  md: "h-9 text-base leading-6",
2866
2863
  lg: "h-10 text-base leading-6"
2867
2864
  };
2868
- var fileTriggerSizeClasses = {
2869
- sm: "h-8 px-md py-sm",
2870
- md: "h-9 px-lg py-sm",
2871
- lg: "h-10 px-xl py-[10px]"
2872
- };
2873
2865
  function assignInputRef(ref, value) {
2874
2866
  if (typeof ref === "function") {
2875
2867
  ref(value);
@@ -2888,17 +2880,6 @@ function getTextInputValue(value) {
2888
2880
  }
2889
2881
  return "";
2890
2882
  }
2891
- function renderFileTriggerIcon(icon) {
2892
- if (!icon) {
2893
- return null;
2894
- }
2895
- if (React31.isValidElement(icon)) {
2896
- return React31.cloneElement(icon, {
2897
- className: cn("!h-4 !w-4 h-4 w-4", icon.props.className)
2898
- });
2899
- }
2900
- return icon;
2901
- }
2902
2883
  function getInputSurfaceClassName({
2903
2884
  className,
2904
2885
  errorText,
@@ -2925,7 +2906,6 @@ var AdsInput = React31.forwardRef(
2925
2906
  descriptionPlacement = "below",
2926
2907
  emptyFileLabel,
2927
2908
  errorText,
2928
- fileTriggerIcon = /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react10.Upload, { "aria-hidden": true, className: "h-4 w-4" }),
2929
2909
  fileTriggerLabel,
2930
2910
  helperText,
2931
2911
  id,
@@ -2966,7 +2946,6 @@ var AdsInput = React31.forwardRef(
2966
2946
  });
2967
2947
  const resolvedClearButtonLabel = clearButtonLabel ?? messages.input.clear;
2968
2948
  const resolvedFileTriggerLabel = fileTriggerLabel ?? messages.input.chooseFile;
2969
- const resolvedFileTriggerIcon = renderFileTriggerIcon(fileTriggerIcon);
2970
2949
  const resolvedEmptyFileLabel = emptyFileLabel ?? messages.input.noFileChosen;
2971
2950
  const handleChange = React31.useCallback(
2972
2951
  (event) => {
@@ -2997,7 +2976,7 @@ var AdsInput = React31.forwardRef(
2997
2976
  const fileNameText = selectedFiles.length > 0 ? selectedFiles.join(", ") : resolvedEmptyFileLabel;
2998
2977
  const helperNode = helperText ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(AdsFieldDescription, { id: description.helperId, children: helperText }) : null;
2999
2978
  const errorNode = errorText ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(AdsFieldError, { id: description.errorId, children: errorText }) : null;
3000
- 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: [
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
2980
  /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3002
2981
  Input,
3003
2982
  {
@@ -3023,23 +3002,20 @@ var AdsInput = React31.forwardRef(
3023
3002
  {
3024
3003
  "aria-hidden": "true",
3025
3004
  className: cn(
3026
- "flex w-full min-w-0 items-center gap-sm text-sm leading-5",
3005
+ inputSurfaceClassName,
3006
+ adsTextColorClassName.card,
3007
+ "items-center text-sm leading-5",
3027
3008
  props.disabled ? "cursor-not-allowed opacity-50" : void 0
3028
3009
  ),
3029
3010
  children: [
3030
- /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
3011
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3031
3012
  "span",
3032
3013
  {
3033
- "data-ads-file-trigger": "",
3034
3014
  className: cn(
3035
- "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",
3036
- fileTriggerSizeClasses[size],
3037
- adsTextColorClassName.primary
3015
+ "shrink-0 pr-sm text-sm font-medium leading-5",
3016
+ adsTextColorClassName.card
3038
3017
  ),
3039
- children: [
3040
- 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,
3041
- resolvedFileTriggerLabel
3042
- ]
3018
+ children: resolvedFileTriggerLabel
3043
3019
  }
3044
3020
  ),
3045
3021
  /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
@@ -3330,7 +3306,7 @@ var React35 = __toESM(require("react"), 1);
3330
3306
  // src/primitives/input-otp.tsx
3331
3307
  var React34 = __toESM(require("react"), 1);
3332
3308
  var import_input_otp = require("input-otp");
3333
- var import_lucide_react11 = require("lucide-react");
3309
+ var import_lucide_react10 = require("lucide-react");
3334
3310
  var import_jsx_runtime37 = require("react/jsx-runtime");
3335
3311
  var InputOTP = React34.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3336
3312
  import_input_otp.OTPInput,
@@ -3368,7 +3344,7 @@ var InputOTPSlot = React34.forwardRef(({ index, className, ...props }, ref) => {
3368
3344
  );
3369
3345
  });
3370
3346
  InputOTPSlot.displayName = "InputOTPSlot";
3371
- 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, {}) }));
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)(import_lucide_react10.Dot, {}) }));
3372
3348
  InputOTPSeparator.displayName = "InputOTPSeparator";
3373
3349
 
3374
3350
  // src/components/AdsInputOTP/index.tsx
@@ -3496,11 +3472,11 @@ var React39 = __toESM(require("react"), 1);
3496
3472
 
3497
3473
  // src/components/AdsPagination/index.tsx
3498
3474
  var React37 = __toESM(require("react"), 1);
3499
- var import_lucide_react13 = require("lucide-react");
3475
+ var import_lucide_react12 = require("lucide-react");
3500
3476
 
3501
3477
  // src/primitives/pagination.tsx
3502
3478
  var React36 = __toESM(require("react"), 1);
3503
- var import_lucide_react12 = require("lucide-react");
3479
+ var import_lucide_react11 = require("lucide-react");
3504
3480
  var import_jsx_runtime39 = require("react/jsx-runtime");
3505
3481
  var Pagination = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3506
3482
  "nav",
@@ -3554,7 +3530,7 @@ var PaginationPrevious = ({
3554
3530
  className: cn("gap-1 pl-2.5", className),
3555
3531
  ...props,
3556
3532
  children: [
3557
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react12.ChevronLeft, { className: "h-4 w-4" }),
3533
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react11.ChevronLeft, { className: "h-4 w-4" }),
3558
3534
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { children: "Previous" })
3559
3535
  ]
3560
3536
  }
@@ -3572,7 +3548,7 @@ var PaginationNext = ({
3572
3548
  ...props,
3573
3549
  children: [
3574
3550
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { children: "Next" }),
3575
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react12.ChevronRight, { className: "h-4 w-4" })
3551
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react11.ChevronRight, { className: "h-4 w-4" })
3576
3552
  ]
3577
3553
  }
3578
3554
  );
@@ -3587,7 +3563,7 @@ var PaginationEllipsis = ({
3587
3563
  className: cn("flex h-9 w-9 items-center justify-center", className),
3588
3564
  ...props,
3589
3565
  children: [
3590
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react12.MoreHorizontal, { className: "h-4 w-4" }),
3566
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react11.MoreHorizontal, { className: "h-4 w-4" }),
3591
3567
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "sr-only", children: "More pages" })
3592
3568
  ]
3593
3569
  }
@@ -3642,7 +3618,7 @@ var AdsPaginationPrevious = React37.forwardRef(({ "aria-label": ariaLabel, child
3642
3618
  ref,
3643
3619
  ...props,
3644
3620
  children: [
3645
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react13.ChevronLeft, { "aria-hidden": true, className: "h-4 w-4" }),
3621
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react12.ChevronLeft, { "aria-hidden": true, className: "h-4 w-4" }),
3646
3622
  /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { children: label })
3647
3623
  ]
3648
3624
  }
@@ -3662,7 +3638,7 @@ var AdsPaginationNext = React37.forwardRef(
3662
3638
  ...props,
3663
3639
  children: [
3664
3640
  /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { children: label }),
3665
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react13.ChevronRight, { "aria-hidden": true, className: "h-4 w-4" })
3641
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react12.ChevronRight, { "aria-hidden": true, className: "h-4 w-4" })
3666
3642
  ]
3667
3643
  }
3668
3644
  );
@@ -3686,7 +3662,7 @@ function AdsPaginationEllipsis({
3686
3662
  ),
3687
3663
  ...props,
3688
3664
  children: [
3689
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react13.MoreHorizontal, { className: "h-4 w-4" }),
3665
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react12.MoreHorizontal, { className: "h-4 w-4" }),
3690
3666
  /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "sr-only", children: resolvedLabel })
3691
3667
  ]
3692
3668
  }
@@ -4218,7 +4194,7 @@ function AdsDataPagination({
4218
4194
 
4219
4195
  // src/components/AdsDataTable/index.tsx
4220
4196
  var React44 = __toESM(require("react"), 1);
4221
- var import_lucide_react16 = require("lucide-react");
4197
+ var import_lucide_react15 = require("lucide-react");
4222
4198
 
4223
4199
  // src/components/AdsEmpty/index.tsx
4224
4200
  var import_class_variance_authority9 = require("class-variance-authority");
@@ -4325,7 +4301,7 @@ function AdsEmptyFooter({ className, ...props }) {
4325
4301
 
4326
4302
  // src/components/AdsTable/index.tsx
4327
4303
  var React43 = __toESM(require("react"), 1);
4328
- var import_lucide_react15 = require("lucide-react");
4304
+ var import_lucide_react14 = require("lucide-react");
4329
4305
 
4330
4306
  // src/components/AdsRadioGroup/index.tsx
4331
4307
  var React41 = __toESM(require("react"), 1);
@@ -4333,7 +4309,7 @@ var React41 = __toESM(require("react"), 1);
4333
4309
  // src/primitives/radio-group.tsx
4334
4310
  var React40 = __toESM(require("react"), 1);
4335
4311
  var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
4336
- var import_lucide_react14 = require("lucide-react");
4312
+ var import_lucide_react13 = require("lucide-react");
4337
4313
  var import_jsx_runtime44 = require("react/jsx-runtime");
4338
4314
  var RadioGroup = React40.forwardRef(({ className, ...props }, ref) => {
4339
4315
  return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
@@ -4356,7 +4332,7 @@ var RadioGroupItem = React40.forwardRef(({ className, ...props }, ref) => {
4356
4332
  className
4357
4333
  ),
4358
4334
  ...props,
4359
- 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" }) })
4335
+ children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react13.Circle, { className: "h-2.5 w-2.5 fill-current text-current" }) })
4360
4336
  }
4361
4337
  );
4362
4338
  });
@@ -4760,7 +4736,7 @@ var AdsTableSortHeader = React43.forwardRef(
4760
4736
  variant: "ghost",
4761
4737
  children: [
4762
4738
  /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "truncate", children: title }),
4763
- /* @__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" }) })
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)(import_lucide_react14.ChevronDown, { className: "h-4 w-4 rotate-180" }) : sortOrder === "descend" ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.ChevronDown, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.ChevronDown, { className: "h-4 w-4 opacity-60" }) })
4764
4740
  ]
4765
4741
  }
4766
4742
  ) });
@@ -4824,7 +4800,7 @@ var AdsTableExpandCell = React43.forwardRef(
4824
4800
  size: "sm",
4825
4801
  type: "button",
4826
4802
  variant: "ghost",
4827
- 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" })
4803
+ children: expanded ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.ChevronDown, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.ChevronRight, { className: "h-4 w-4" })
4828
4804
  }
4829
4805
  ) }) });
4830
4806
  }
@@ -4837,33 +4813,18 @@ var SKELETON_ROW_COUNT = 4;
4837
4813
  var FLEX_WIDTH_UNIT = 160;
4838
4814
  var sizeClassNames = {
4839
4815
  small: {
4840
- bodyHeight: 32,
4841
4816
  cell: "py-1.5 text-xs leading-4",
4842
- headHeight: 32,
4843
4817
  head: "h-8 py-1.5 text-xs leading-4"
4844
4818
  },
4845
4819
  middle: {
4846
- bodyHeight: 40,
4847
4820
  cell: "py-2 text-sm leading-5",
4848
- headHeight: 40,
4849
4821
  head: "h-10 py-2 text-sm leading-5"
4850
4822
  },
4851
4823
  large: {
4852
- bodyHeight: 48,
4853
4824
  cell: "py-3 text-base leading-6",
4854
- headHeight: 48,
4855
4825
  head: "h-12 py-3 text-base leading-6"
4856
4826
  }
4857
4827
  };
4858
- function getSpinnerLoadingHeight(scrollY, density) {
4859
- if (typeof scrollY === "number") {
4860
- return Math.max(scrollY - density.headHeight, density.bodyHeight * SKELETON_ROW_COUNT);
4861
- }
4862
- if (typeof scrollY === "string") {
4863
- return `max(calc(${scrollY} - ${density.headHeight}px), ${density.bodyHeight * SKELETON_ROW_COUNT}px)`;
4864
- }
4865
- return density.bodyHeight * SKELETON_ROW_COUNT;
4866
- }
4867
4828
  function getColumnKey(column, index) {
4868
4829
  if (column.key !== void 0) {
4869
4830
  return String(column.key);
@@ -5074,8 +5035,6 @@ function AdsDataTable({
5074
5035
  dataSource = [],
5075
5036
  rowKey,
5076
5037
  loading = false,
5077
- loadingVariant = "skeleton",
5078
- expandedRowSurface = "inset",
5079
5038
  emptyText,
5080
5039
  emptyState,
5081
5040
  rowClassName,
@@ -5174,14 +5133,8 @@ function AdsDataTable({
5174
5133
  const hasSelectionColumn = Boolean(rowSelection);
5175
5134
  const hasExpandableColumn = Boolean(expandable?.expandedRowRender);
5176
5135
  const density = sizeClassNames[size];
5177
- const columnCount = resolvedColumns.length + Number(hasSelectionColumn) + Number(hasExpandableColumn);
5178
5136
  const paginationMode = pagination === false ? "client" : pagination.mode ?? "client";
5179
5137
  const allowsRowSelectionByClick = Boolean(rowSelection) && !suppressRowClickSelection;
5180
- const spinnerLoadingHeight = React44.useMemo(
5181
- () => getSpinnerLoadingHeight(scroll?.y, density),
5182
- [density, scroll?.y]
5183
- );
5184
- 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";
5185
5138
  const filterValues = React44.useMemo(
5186
5139
  () => resolvedColumns.reduce((accumulator, column, index) => {
5187
5140
  const columnKey = getColumnKey(column, index);
@@ -5440,7 +5393,7 @@ function AdsDataTable({
5440
5393
  variant: "ghost",
5441
5394
  children: [
5442
5395
  /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "truncate", children: headerTitle }),
5443
- /* @__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" }) })
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)(import_lucide_react15.ChevronDown, { className: "h-4 w-4 rotate-180" }) : columnSortOrder === "descend" ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react15.ChevronDown, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react15.ChevronDown, { className: "h-4 w-4 opacity-60" }) })
5444
5397
  ]
5445
5398
  }
5446
5399
  ) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "truncate", children: headerTitle }),
@@ -5457,7 +5410,7 @@ function AdsDataTable({
5457
5410
  size: "sm",
5458
5411
  type: "button",
5459
5412
  variant: "ghost",
5460
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react16.Filter, { className: "h-3.5 w-3.5" })
5413
+ children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react15.Filter, { className: "h-3.5 w-3.5" })
5461
5414
  }
5462
5415
  ) }),
5463
5416
  /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AdsPopoverContent, { align: "end", className: "w-64", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
@@ -5537,26 +5490,7 @@ function AdsDataTable({
5537
5490
  );
5538
5491
  })
5539
5492
  ] }) }),
5540
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AdsTableBody, { children: loading && loadingVariant === "spinner" ? [
5541
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AdsTableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5542
- AdsTableCell,
5543
- {
5544
- className: "p-0",
5545
- colSpan: columnCount,
5546
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5547
- "div",
5548
- {
5549
- "aria-label": messages.table.loadingRows,
5550
- "aria-live": "polite",
5551
- className: "flex items-center justify-center px-6 py-8 text-foreground",
5552
- role: "status",
5553
- style: { minHeight: spinnerLoadingHeight },
5554
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AdsSpinner, { size: "lg", tone: "foreground" })
5555
- }
5556
- )
5557
- }
5558
- ) }, "spinner-row")
5559
- ] : loading ? Array.from({ length: SKELETON_ROW_COUNT }, (_, skeletonIndex) => /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(AdsTableRow, { children: [
5493
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AdsTableBody, { children: loading ? Array.from({ length: SKELETON_ROW_COUNT }, (_, skeletonIndex) => /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(AdsTableRow, { children: [
5560
5494
  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,
5561
5495
  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,
5562
5496
  resolvedColumns.map((column, index) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
@@ -5659,7 +5593,7 @@ function AdsDataTable({
5659
5593
  "div",
5660
5594
  {
5661
5595
  className: cn(
5662
- expandedRowContentClassName,
5596
+ "border-t border-border bg-popover/40 p-4",
5663
5597
  classNames?.expandedRowContent
5664
5598
  ),
5665
5599
  children: expandable?.expandedRowRender?.(record, index)
@@ -5672,7 +5606,7 @@ function AdsDataTable({
5672
5606
  /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AdsTableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5673
5607
  AdsTableCell,
5674
5608
  {
5675
- colSpan: columnCount,
5609
+ colSpan: resolvedColumns.length + Number(hasSelectionColumn) + Number(hasExpandableColumn),
5676
5610
  className: cn("p-0", classNames?.emptyRowCell),
5677
5611
  children: renderedEmptyState
5678
5612
  }
@@ -6033,21 +5967,14 @@ function AdsRadialProgressChart({
6033
5967
  children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
6034
5968
  import_recharts2.RadialBarChart,
6035
5969
  {
6036
- accessibilityLayer: false,
5970
+ accessibilityLayer: true,
6037
5971
  data: chartData,
6038
5972
  endAngle: -270,
6039
5973
  innerRadius: safeSize / 2 - safeStrokeWidth,
6040
5974
  outerRadius: safeSize / 2,
6041
5975
  startAngle: 90,
6042
5976
  children: [
6043
- showTooltip && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
6044
- import_recharts2.Tooltip,
6045
- {
6046
- contentStyle: tooltipContentStyle,
6047
- cursor: false,
6048
- wrapperStyle: { zIndex: 1 }
6049
- }
6050
- ),
5977
+ showTooltip && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_recharts2.Tooltip, { contentStyle: tooltipContentStyle, cursor: false }),
6051
5978
  /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
6052
5979
  import_recharts2.PolarAngleAxis,
6053
5980
  {
@@ -6096,6 +6023,13 @@ function getSafeHeight(height) {
6096
6023
  function getSafeValue(value) {
6097
6024
  return typeof value === "number" && Number.isFinite(value) ? Math.max(value, 0) : 0;
6098
6025
  }
6026
+ function getChartMargin(height, plotHeight) {
6027
+ if (!Number.isFinite(plotHeight) || !plotHeight || plotHeight >= height) {
6028
+ return { bottom: 1, left: 1, right: 1, top: 1 };
6029
+ }
6030
+ const verticalMargin = (height - Math.max(plotHeight, 1)) / 2;
6031
+ return { bottom: verticalMargin, left: 1, right: 1, top: verticalMargin };
6032
+ }
6099
6033
  function AdsSparklineChart({
6100
6034
  ariaLabel,
6101
6035
  className,
@@ -6103,6 +6037,7 @@ function AdsSparklineChart({
6103
6037
  data,
6104
6038
  dataKey,
6105
6039
  height,
6040
+ plotHeight,
6106
6041
  showTooltip = true,
6107
6042
  xKey
6108
6043
  }) {
@@ -6112,6 +6047,7 @@ function AdsSparklineChart({
6112
6047
  [dataKey]: getSafeValue(datum[dataKey])
6113
6048
  }));
6114
6049
  const safeHeight = getSafeHeight(height);
6050
+ const chartMargin = getChartMargin(safeHeight, plotHeight);
6115
6051
  return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
6116
6052
  "div",
6117
6053
  {
@@ -6127,30 +6063,22 @@ function AdsSparklineChart({
6127
6063
  className: "h-full",
6128
6064
  config: { value: { color } },
6129
6065
  height: "100%",
6130
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
6131
- import_recharts3.LineChart,
6132
- {
6133
- accessibilityLayer: false,
6134
- data: chartData,
6135
- margin: { bottom: 1, left: 1, right: 1, top: 1 },
6136
- children: [
6137
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_recharts3.XAxis, { dataKey: xKey, hide: true, type: "category" }),
6138
- showTooltip && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_recharts3.Tooltip, { contentStyle: tooltipContentStyle2, cursor: false }),
6139
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
6140
- import_recharts3.Line,
6141
- {
6142
- activeDot: false,
6143
- dataKey,
6144
- dot: false,
6145
- isAnimationActive: false,
6146
- stroke: "var(--color-value)",
6147
- strokeWidth: 2,
6148
- type: "monotone"
6149
- }
6150
- )
6151
- ]
6152
- }
6153
- )
6066
+ children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_recharts3.LineChart, { data: chartData, margin: chartMargin, children: [
6067
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_recharts3.XAxis, { dataKey: xKey, hide: true, type: "category" }),
6068
+ showTooltip && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_recharts3.Tooltip, { contentStyle: tooltipContentStyle2, cursor: false }),
6069
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
6070
+ import_recharts3.Line,
6071
+ {
6072
+ activeDot: false,
6073
+ dataKey,
6074
+ dot: false,
6075
+ isAnimationActive: false,
6076
+ stroke: "var(--color-value)",
6077
+ strokeWidth: 2,
6078
+ type: "monotone"
6079
+ }
6080
+ )
6081
+ ] })
6154
6082
  }
6155
6083
  )
6156
6084
  }
@@ -6349,60 +6277,52 @@ function AdsBarChart({
6349
6277
  className: "h-full",
6350
6278
  config: { value: { color } },
6351
6279
  height: "100%",
6352
- children: /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
6353
- import_recharts4.BarChart,
6354
- {
6355
- accessibilityLayer: false,
6356
- data: chartData,
6357
- margin: { bottom: 0, left: 0, right: 0, top: 0 },
6358
- children: [
6359
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6360
- import_recharts4.XAxis,
6361
- {
6362
- axisLine: xAxis?.axisLine ?? false,
6363
- dataKey: xKey,
6364
- hide: xAxis?.hide ?? true,
6365
- tick: xAxis?.tick ?? true,
6366
- tickLine: xAxis?.tickLine ?? false,
6367
- tickMargin: xAxis?.tickMargin,
6368
- type: "category"
6369
- }
6370
- ),
6371
- yAxis && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6372
- import_recharts4.YAxis,
6373
- {
6374
- axisLine: yAxis.axisLine ?? false,
6375
- domain: yAxis.domain,
6376
- tick: yAxis.tick ?? true,
6377
- tickCount: yAxis.tickCount,
6378
- tickLine: yAxis.tickLine ?? false,
6379
- tickMargin: yAxis.tickMargin,
6380
- ticks: yAxis.ticks,
6381
- width: yAxis.width
6382
- }
6383
- ),
6384
- showTooltip && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_recharts4.Tooltip, { contentStyle: tooltipContentStyle3, cursor: { fill: "transparent" } }),
6385
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6386
- import_recharts4.Bar,
6280
+ children: /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_recharts4.BarChart, { data: chartData, margin: { bottom: 0, left: 0, right: 0, top: 0 }, children: [
6281
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6282
+ import_recharts4.XAxis,
6283
+ {
6284
+ axisLine: xAxis?.axisLine ?? false,
6285
+ dataKey: xKey,
6286
+ hide: xAxis?.hide ?? true,
6287
+ tick: xAxis?.tick === false ? false : { fill: xAxis?.tickColor, fontSize: xAxis?.tickFontSize },
6288
+ tickLine: xAxis?.tickLine ?? false,
6289
+ tickMargin: xAxis?.tickMargin,
6290
+ type: "category"
6291
+ }
6292
+ ),
6293
+ yAxis && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6294
+ import_recharts4.YAxis,
6295
+ {
6296
+ axisLine: yAxis.axisLine ?? false,
6297
+ domain: yAxis.domain,
6298
+ tick: yAxis.tick === false ? false : { fill: yAxis.tickColor, fontSize: yAxis.tickFontSize },
6299
+ tickCount: yAxis.tickCount,
6300
+ tickLine: yAxis.tickLine ?? false,
6301
+ tickMargin: yAxis.tickMargin,
6302
+ ticks: yAxis.ticks,
6303
+ width: yAxis.width
6304
+ }
6305
+ ),
6306
+ showTooltip && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_recharts4.Tooltip, { contentStyle: tooltipContentStyle3, cursor: { fill: "transparent" } }),
6307
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6308
+ import_recharts4.Bar,
6309
+ {
6310
+ activeBar: hoverColor ? { fill: hoverColor } : void 0,
6311
+ barSize,
6312
+ dataKey,
6313
+ fill: "var(--color-value)",
6314
+ isAnimationActive: false,
6315
+ radius: safeRadius,
6316
+ children: chartData.map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6317
+ import_recharts4.Cell,
6387
6318
  {
6388
- activeBar: hoverColor ? { fill: hoverColor } : void 0,
6389
- barSize,
6390
- dataKey,
6391
- fill: "var(--color-value)",
6392
- isAnimationActive: false,
6393
- radius: safeRadius,
6394
- children: chartData.map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6395
- import_recharts4.Cell,
6396
- {
6397
- fill: index === safeHighlightIndex ? highlightColor ?? DEFAULT_HIGHLIGHT_COLOR : "var(--color-value)"
6398
- },
6399
- index
6400
- ))
6401
- }
6402
- )
6403
- ]
6404
- }
6405
- )
6319
+ fill: index === safeHighlightIndex ? highlightColor ?? DEFAULT_HIGHLIGHT_COLOR : "var(--color-value)"
6320
+ },
6321
+ index
6322
+ ))
6323
+ }
6324
+ )
6325
+ ] })
6406
6326
  }
6407
6327
  )
6408
6328
  }
@@ -6773,7 +6693,7 @@ AdsToggleGroupItem.displayName = "AdsToggleGroupItem";
6773
6693
  // src/components/AdsTextarea/index.tsx
6774
6694
  var React61 = __toESM(require("react"), 1);
6775
6695
  var import_jsx_runtime70 = require("react/jsx-runtime");
6776
- 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";
6696
+ 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-50";
6777
6697
  var AdsTextarea = React61.forwardRef(
6778
6698
  ({
6779
6699
  action,
@@ -6826,15 +6746,15 @@ AdsTextarea.displayName = "AdsTextarea";
6826
6746
 
6827
6747
  // src/components/AdsToast/index.tsx
6828
6748
  var React62 = __toESM(require("react"), 1);
6829
- var import_lucide_react17 = require("lucide-react");
6749
+ var import_lucide_react16 = require("lucide-react");
6830
6750
  var import_sonner = require("sonner");
6831
6751
  var import_jsx_runtime71 = require("react/jsx-runtime");
6832
6752
  var adsToastIconMap = {
6833
- success: import_lucide_react17.CircleCheck,
6834
- info: import_lucide_react17.Info,
6835
- warning: import_lucide_react17.TriangleAlert,
6836
- error: import_lucide_react17.OctagonX,
6837
- loading: import_lucide_react17.LoaderCircle
6753
+ success: import_lucide_react16.CircleCheck,
6754
+ info: import_lucide_react16.Info,
6755
+ warning: import_lucide_react16.TriangleAlert,
6756
+ error: import_lucide_react16.OctagonX,
6757
+ loading: import_lucide_react16.LoaderCircle
6838
6758
  };
6839
6759
  function resolveToastIcon(intent, icon) {
6840
6760
  if (icon) {
@@ -7019,7 +6939,7 @@ var AdsToastManager = Object.assign(
7019
6939
  // src/components/AdsDialog/index.tsx
7020
6940
  var React63 = __toESM(require("react"), 1);
7021
6941
  var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
7022
- var import_lucide_react18 = require("lucide-react");
6942
+ var import_lucide_react17 = require("lucide-react");
7023
6943
  var import_jsx_runtime72 = require("react/jsx-runtime");
7024
6944
  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";
7025
6945
  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%]";
@@ -7160,7 +7080,7 @@ var DialogContent = React63.forwardRef(
7160
7080
  "aria-label": resolvedCloseLabel,
7161
7081
  className: cn(closeButtonClassName, adsTextColorClassName.card),
7162
7082
  children: [
7163
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_lucide_react18.X, { "aria-hidden": true, className: "h-4 w-4" }),
7083
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_lucide_react17.X, { "aria-hidden": true, className: "h-4 w-4" }),
7164
7084
  /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("span", { className: "sr-only", children: resolvedCloseLabel })
7165
7085
  ]
7166
7086
  }