@adsgency_npm/adsgency-ads-ui 0.1.0-alpha.21 → 0.1.0-alpha.22
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 +484 -232
- package/dist/index.d.cts +69 -8
- package/dist/index.d.ts +69 -8
- package/dist/index.js +455 -207
- package/package.json +3 -1
- package/dist/chunk-YJFQM6IB.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/tokens/designTokens.cjs.map +0 -1
- package/dist/tokens/designTokens.js.map +0 -1
- package/dist/tokens/tailwindPreset.cjs.map +0 -1
- package/dist/tokens/tailwindPreset.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -41,7 +41,6 @@ var adsDefaultMessages = {
|
|
|
41
41
|
collapseRow: "Collapse row",
|
|
42
42
|
expandRow: "Expand row",
|
|
43
43
|
filterColumn: "Filter column",
|
|
44
|
-
loadingRows: "Loading table rows",
|
|
45
44
|
noDataAvailable: "No data available",
|
|
46
45
|
selectAllRows: "Select all rows",
|
|
47
46
|
selectRow: "Select row",
|
|
@@ -92,7 +91,6 @@ var adsDefaultMessages = {
|
|
|
92
91
|
collapseRow: "\u6536\u8D77\u884C",
|
|
93
92
|
expandRow: "\u5C55\u5F00\u884C",
|
|
94
93
|
filterColumn: "\u7B5B\u9009\u5217",
|
|
95
|
-
loadingRows: "\u6B63\u5728\u52A0\u8F7D\u8868\u683C\u884C",
|
|
96
94
|
noDataAvailable: "\u6682\u65E0\u6570\u636E",
|
|
97
95
|
selectAllRows: "\u9009\u62E9\u5168\u90E8\u884C",
|
|
98
96
|
selectRow: "\u9009\u62E9\u884C",
|
|
@@ -651,7 +649,7 @@ var adsTextColorClassName = {
|
|
|
651
649
|
// src/components/AdsAlertDialog/index.tsx
|
|
652
650
|
import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
653
651
|
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";
|
|
654
|
-
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-
|
|
652
|
+
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%]";
|
|
655
653
|
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]";
|
|
656
654
|
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]";
|
|
657
655
|
var AlertDialog = AlertDialogPrimitive.Root;
|
|
@@ -2640,7 +2638,6 @@ AdsSkeleton.displayName = "AdsSkeleton";
|
|
|
2640
2638
|
|
|
2641
2639
|
// src/components/AdsInput/index.tsx
|
|
2642
2640
|
import * as React30 from "react";
|
|
2643
|
-
import { Upload } from "lucide-react";
|
|
2644
2641
|
|
|
2645
2642
|
// src/lib/adsClearButton.tsx
|
|
2646
2643
|
import * as React29 from "react";
|
|
@@ -2661,17 +2658,12 @@ AdsClearButton.displayName = "AdsClearButton";
|
|
|
2661
2658
|
|
|
2662
2659
|
// src/components/AdsInput/index.tsx
|
|
2663
2660
|
import { jsx as jsx33, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2664
|
-
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:
|
|
2661
|
+
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";
|
|
2665
2662
|
var inputSizeClasses = {
|
|
2666
2663
|
sm: "h-8 text-sm leading-5",
|
|
2667
2664
|
md: "h-9 text-base leading-6",
|
|
2668
2665
|
lg: "h-10 text-base leading-6"
|
|
2669
2666
|
};
|
|
2670
|
-
var fileTriggerSizeClasses = {
|
|
2671
|
-
sm: "h-8 px-md py-sm",
|
|
2672
|
-
md: "h-9 px-lg py-sm",
|
|
2673
|
-
lg: "h-10 px-xl py-[10px]"
|
|
2674
|
-
};
|
|
2675
2667
|
function assignInputRef(ref, value) {
|
|
2676
2668
|
if (typeof ref === "function") {
|
|
2677
2669
|
ref(value);
|
|
@@ -2690,17 +2682,6 @@ function getTextInputValue(value) {
|
|
|
2690
2682
|
}
|
|
2691
2683
|
return "";
|
|
2692
2684
|
}
|
|
2693
|
-
function renderFileTriggerIcon(icon) {
|
|
2694
|
-
if (!icon) {
|
|
2695
|
-
return null;
|
|
2696
|
-
}
|
|
2697
|
-
if (React30.isValidElement(icon)) {
|
|
2698
|
-
return React30.cloneElement(icon, {
|
|
2699
|
-
className: cn("!h-4 !w-4 h-4 w-4", icon.props.className)
|
|
2700
|
-
});
|
|
2701
|
-
}
|
|
2702
|
-
return icon;
|
|
2703
|
-
}
|
|
2704
2685
|
function getInputSurfaceClassName({
|
|
2705
2686
|
className,
|
|
2706
2687
|
errorText,
|
|
@@ -2727,7 +2708,6 @@ var AdsInput = React30.forwardRef(
|
|
|
2727
2708
|
descriptionPlacement = "below",
|
|
2728
2709
|
emptyFileLabel,
|
|
2729
2710
|
errorText,
|
|
2730
|
-
fileTriggerIcon = /* @__PURE__ */ jsx33(Upload, { "aria-hidden": true, className: "h-4 w-4" }),
|
|
2731
2711
|
fileTriggerLabel,
|
|
2732
2712
|
helperText,
|
|
2733
2713
|
id,
|
|
@@ -2768,7 +2748,6 @@ var AdsInput = React30.forwardRef(
|
|
|
2768
2748
|
});
|
|
2769
2749
|
const resolvedClearButtonLabel = clearButtonLabel ?? messages.input.clear;
|
|
2770
2750
|
const resolvedFileTriggerLabel = fileTriggerLabel ?? messages.input.chooseFile;
|
|
2771
|
-
const resolvedFileTriggerIcon = renderFileTriggerIcon(fileTriggerIcon);
|
|
2772
2751
|
const resolvedEmptyFileLabel = emptyFileLabel ?? messages.input.noFileChosen;
|
|
2773
2752
|
const handleChange = React30.useCallback(
|
|
2774
2753
|
(event) => {
|
|
@@ -2799,7 +2778,7 @@ var AdsInput = React30.forwardRef(
|
|
|
2799
2778
|
const fileNameText = selectedFiles.length > 0 ? selectedFiles.join(", ") : resolvedEmptyFileLabel;
|
|
2800
2779
|
const helperNode = helperText ? /* @__PURE__ */ jsx33(AdsFieldDescription, { id: description.helperId, children: helperText }) : null;
|
|
2801
2780
|
const errorNode = errorText ? /* @__PURE__ */ jsx33(AdsFieldError, { id: description.errorId, children: errorText }) : null;
|
|
2802
|
-
const inputNode = isFileInput ? /* @__PURE__ */ jsxs13("div", { className: "
|
|
2781
|
+
const inputNode = isFileInput ? /* @__PURE__ */ jsxs13("div", { className: "relative flex w-full min-w-0 flex-1 items-center", children: [
|
|
2803
2782
|
/* @__PURE__ */ jsx33(
|
|
2804
2783
|
Input,
|
|
2805
2784
|
{
|
|
@@ -2825,23 +2804,20 @@ var AdsInput = React30.forwardRef(
|
|
|
2825
2804
|
{
|
|
2826
2805
|
"aria-hidden": "true",
|
|
2827
2806
|
className: cn(
|
|
2828
|
-
|
|
2807
|
+
inputSurfaceClassName,
|
|
2808
|
+
adsTextColorClassName.card,
|
|
2809
|
+
"items-center text-sm leading-5",
|
|
2829
2810
|
props.disabled ? "cursor-not-allowed opacity-50" : void 0
|
|
2830
2811
|
),
|
|
2831
2812
|
children: [
|
|
2832
|
-
/* @__PURE__ */
|
|
2813
|
+
/* @__PURE__ */ jsx33(
|
|
2833
2814
|
"span",
|
|
2834
2815
|
{
|
|
2835
|
-
"data-ads-file-trigger": "",
|
|
2836
2816
|
className: cn(
|
|
2837
|
-
"
|
|
2838
|
-
|
|
2839
|
-
adsTextColorClassName.primary
|
|
2817
|
+
"shrink-0 pr-sm text-sm font-medium leading-5",
|
|
2818
|
+
adsTextColorClassName.card
|
|
2840
2819
|
),
|
|
2841
|
-
children:
|
|
2842
|
-
resolvedFileTriggerIcon ? /* @__PURE__ */ jsx33("span", { className: "inline-flex h-4 w-4 items-center justify-center [&>svg]:!h-4 [&>svg]:!w-4", children: resolvedFileTriggerIcon }) : null,
|
|
2843
|
-
resolvedFileTriggerLabel
|
|
2844
|
-
]
|
|
2820
|
+
children: resolvedFileTriggerLabel
|
|
2845
2821
|
}
|
|
2846
2822
|
),
|
|
2847
2823
|
/* @__PURE__ */ jsx33(
|
|
@@ -4639,33 +4615,18 @@ var SKELETON_ROW_COUNT = 4;
|
|
|
4639
4615
|
var FLEX_WIDTH_UNIT = 160;
|
|
4640
4616
|
var sizeClassNames = {
|
|
4641
4617
|
small: {
|
|
4642
|
-
bodyHeight: 32,
|
|
4643
4618
|
cell: "py-1.5 text-xs leading-4",
|
|
4644
|
-
headHeight: 32,
|
|
4645
4619
|
head: "h-8 py-1.5 text-xs leading-4"
|
|
4646
4620
|
},
|
|
4647
4621
|
middle: {
|
|
4648
|
-
bodyHeight: 40,
|
|
4649
4622
|
cell: "py-2 text-sm leading-5",
|
|
4650
|
-
headHeight: 40,
|
|
4651
4623
|
head: "h-10 py-2 text-sm leading-5"
|
|
4652
4624
|
},
|
|
4653
4625
|
large: {
|
|
4654
|
-
bodyHeight: 48,
|
|
4655
4626
|
cell: "py-3 text-base leading-6",
|
|
4656
|
-
headHeight: 48,
|
|
4657
4627
|
head: "h-12 py-3 text-base leading-6"
|
|
4658
4628
|
}
|
|
4659
4629
|
};
|
|
4660
|
-
function getSpinnerLoadingHeight(scrollY, density) {
|
|
4661
|
-
if (typeof scrollY === "number") {
|
|
4662
|
-
return Math.max(scrollY - density.headHeight, density.bodyHeight * SKELETON_ROW_COUNT);
|
|
4663
|
-
}
|
|
4664
|
-
if (typeof scrollY === "string") {
|
|
4665
|
-
return `max(calc(${scrollY} - ${density.headHeight}px), ${density.bodyHeight * SKELETON_ROW_COUNT}px)`;
|
|
4666
|
-
}
|
|
4667
|
-
return density.bodyHeight * SKELETON_ROW_COUNT;
|
|
4668
|
-
}
|
|
4669
4630
|
function getColumnKey(column, index) {
|
|
4670
4631
|
if (column.key !== void 0) {
|
|
4671
4632
|
return String(column.key);
|
|
@@ -4876,8 +4837,6 @@ function AdsDataTable({
|
|
|
4876
4837
|
dataSource = [],
|
|
4877
4838
|
rowKey,
|
|
4878
4839
|
loading = false,
|
|
4879
|
-
loadingVariant = "skeleton",
|
|
4880
|
-
expandedRowSurface = "inset",
|
|
4881
4840
|
emptyText,
|
|
4882
4841
|
emptyState,
|
|
4883
4842
|
rowClassName,
|
|
@@ -4976,14 +4935,8 @@ function AdsDataTable({
|
|
|
4976
4935
|
const hasSelectionColumn = Boolean(rowSelection);
|
|
4977
4936
|
const hasExpandableColumn = Boolean(expandable?.expandedRowRender);
|
|
4978
4937
|
const density = sizeClassNames[size];
|
|
4979
|
-
const columnCount = resolvedColumns.length + Number(hasSelectionColumn) + Number(hasExpandableColumn);
|
|
4980
4938
|
const paginationMode = pagination === false ? "client" : pagination.mode ?? "client";
|
|
4981
4939
|
const allowsRowSelectionByClick = Boolean(rowSelection) && !suppressRowClickSelection;
|
|
4982
|
-
const spinnerLoadingHeight = React43.useMemo(
|
|
4983
|
-
() => getSpinnerLoadingHeight(scroll?.y, density),
|
|
4984
|
-
[density, scroll?.y]
|
|
4985
|
-
);
|
|
4986
|
-
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";
|
|
4987
4940
|
const filterValues = React43.useMemo(
|
|
4988
4941
|
() => resolvedColumns.reduce((accumulator, column, index) => {
|
|
4989
4942
|
const columnKey = getColumnKey(column, index);
|
|
@@ -5339,26 +5292,7 @@ function AdsDataTable({
|
|
|
5339
5292
|
);
|
|
5340
5293
|
})
|
|
5341
5294
|
] }) }),
|
|
5342
|
-
/* @__PURE__ */ jsx47(AdsTableBody, { children: loading
|
|
5343
|
-
/* @__PURE__ */ jsx47(AdsTableRow, { children: /* @__PURE__ */ jsx47(
|
|
5344
|
-
AdsTableCell,
|
|
5345
|
-
{
|
|
5346
|
-
className: "p-0",
|
|
5347
|
-
colSpan: columnCount,
|
|
5348
|
-
children: /* @__PURE__ */ jsx47(
|
|
5349
|
-
"div",
|
|
5350
|
-
{
|
|
5351
|
-
"aria-label": messages.table.loadingRows,
|
|
5352
|
-
"aria-live": "polite",
|
|
5353
|
-
className: "flex items-center justify-center px-6 py-8 text-foreground",
|
|
5354
|
-
role: "status",
|
|
5355
|
-
style: { minHeight: spinnerLoadingHeight },
|
|
5356
|
-
children: /* @__PURE__ */ jsx47(AdsSpinner, { size: "lg", tone: "foreground" })
|
|
5357
|
-
}
|
|
5358
|
-
)
|
|
5359
|
-
}
|
|
5360
|
-
) }, "spinner-row")
|
|
5361
|
-
] : loading ? Array.from({ length: SKELETON_ROW_COUNT }, (_, skeletonIndex) => /* @__PURE__ */ jsxs23(AdsTableRow, { children: [
|
|
5295
|
+
/* @__PURE__ */ jsx47(AdsTableBody, { children: loading ? Array.from({ length: SKELETON_ROW_COUNT }, (_, skeletonIndex) => /* @__PURE__ */ jsxs23(AdsTableRow, { children: [
|
|
5362
5296
|
hasSelectionColumn ? /* @__PURE__ */ jsx47(AdsTableCell, { className: "w-12 p-2", children: /* @__PURE__ */ jsx47(AdsSkeleton, { className: "h-4 w-4 rounded-[4px]" }) }) : null,
|
|
5363
5297
|
hasExpandableColumn ? /* @__PURE__ */ jsx47(AdsTableCell, { className: "w-12 p-2", children: /* @__PURE__ */ jsx47(AdsSkeleton, { className: "h-4 w-4 rounded-[4px]" }) }) : null,
|
|
5364
5298
|
resolvedColumns.map((column, index) => /* @__PURE__ */ jsx47(
|
|
@@ -5461,7 +5395,7 @@ function AdsDataTable({
|
|
|
5461
5395
|
"div",
|
|
5462
5396
|
{
|
|
5463
5397
|
className: cn(
|
|
5464
|
-
|
|
5398
|
+
"border-t border-border bg-popover/40 p-4",
|
|
5465
5399
|
classNames?.expandedRowContent
|
|
5466
5400
|
),
|
|
5467
5401
|
children: expandable?.expandedRowRender?.(record, index)
|
|
@@ -5474,7 +5408,7 @@ function AdsDataTable({
|
|
|
5474
5408
|
/* @__PURE__ */ jsx47(AdsTableRow, { children: /* @__PURE__ */ jsx47(
|
|
5475
5409
|
AdsTableCell,
|
|
5476
5410
|
{
|
|
5477
|
-
colSpan:
|
|
5411
|
+
colSpan: resolvedColumns.length + Number(hasSelectionColumn) + Number(hasExpandableColumn),
|
|
5478
5412
|
className: cn("p-0", classNames?.emptyRowCell),
|
|
5479
5413
|
children: renderedEmptyState
|
|
5480
5414
|
}
|
|
@@ -5742,14 +5676,324 @@ var AdsProgress = React45.forwardRef(
|
|
|
5742
5676
|
);
|
|
5743
5677
|
AdsProgress.displayName = "AdsProgress";
|
|
5744
5678
|
|
|
5745
|
-
// src/components/
|
|
5679
|
+
// src/components/AdsRadialProgressChart/index.tsx
|
|
5680
|
+
import { PolarAngleAxis, RadialBar, RadialBarChart } from "recharts";
|
|
5681
|
+
|
|
5682
|
+
// src/primitives/chart.tsx
|
|
5683
|
+
import * as React46 from "react";
|
|
5684
|
+
import { ResponsiveContainer } from "recharts";
|
|
5685
|
+
import { jsx as jsx52 } from "react/jsx-runtime";
|
|
5686
|
+
var chartContext = React46.createContext(null);
|
|
5687
|
+
var ChartContainer = React46.forwardRef(
|
|
5688
|
+
({ children, className, config, height = 240, style, ...props }, ref) => {
|
|
5689
|
+
const chartStyle = Object.entries(config).reduce((variables, [key, item]) => {
|
|
5690
|
+
if (item.color) {
|
|
5691
|
+
variables[`--color-${key}`] = item.color;
|
|
5692
|
+
}
|
|
5693
|
+
return variables;
|
|
5694
|
+
}, {});
|
|
5695
|
+
return /* @__PURE__ */ jsx52(chartContext.Provider, { value: config, children: /* @__PURE__ */ jsx52(
|
|
5696
|
+
"div",
|
|
5697
|
+
{
|
|
5698
|
+
className: cn("relative w-full text-xs", className),
|
|
5699
|
+
"data-slot": "chart",
|
|
5700
|
+
ref,
|
|
5701
|
+
style: { height, ...chartStyle, ...style },
|
|
5702
|
+
...props,
|
|
5703
|
+
children: /* @__PURE__ */ jsx52(ResponsiveContainer, { height: "100%", width: "100%", children })
|
|
5704
|
+
}
|
|
5705
|
+
) });
|
|
5706
|
+
}
|
|
5707
|
+
);
|
|
5708
|
+
ChartContainer.displayName = "ChartContainer";
|
|
5709
|
+
|
|
5710
|
+
// src/components/AdsRadialProgressChart/index.tsx
|
|
5711
|
+
import { jsx as jsx53, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
5712
|
+
var DEFAULT_SIZE = 160;
|
|
5713
|
+
var DEFAULT_STROKE_WIDTH = 14;
|
|
5714
|
+
function clamp(value, min, max) {
|
|
5715
|
+
return Math.min(Math.max(value, min), max);
|
|
5716
|
+
}
|
|
5717
|
+
function AdsRadialProgressChart({
|
|
5718
|
+
ariaLabel,
|
|
5719
|
+
className,
|
|
5720
|
+
color = "var(--primary)",
|
|
5721
|
+
label,
|
|
5722
|
+
max = 100,
|
|
5723
|
+
size = DEFAULT_SIZE,
|
|
5724
|
+
strokeWidth = DEFAULT_STROKE_WIDTH,
|
|
5725
|
+
trackColor = "color-mix(in srgb, var(--primary) 20%, transparent)",
|
|
5726
|
+
value
|
|
5727
|
+
}) {
|
|
5728
|
+
const safeMax = Number.isFinite(max) && max > 0 ? max : 0;
|
|
5729
|
+
const safeValue = Number.isFinite(value) && safeMax > 0 ? clamp(value, 0, safeMax) : 0;
|
|
5730
|
+
const percentage = safeMax > 0 ? Math.round(safeValue / safeMax * 100) : 0;
|
|
5731
|
+
const safeSize = Number.isFinite(size) && size > 0 ? size : DEFAULT_SIZE;
|
|
5732
|
+
const safeStrokeWidth = clamp(
|
|
5733
|
+
Number.isFinite(strokeWidth) && strokeWidth > 0 ? strokeWidth : DEFAULT_STROKE_WIDTH,
|
|
5734
|
+
1,
|
|
5735
|
+
safeSize / 2
|
|
5736
|
+
);
|
|
5737
|
+
const chartData = [{ value: safeValue }];
|
|
5738
|
+
return /* @__PURE__ */ jsxs27(
|
|
5739
|
+
"div",
|
|
5740
|
+
{
|
|
5741
|
+
"aria-label": ariaLabel ?? `${percentage}%`,
|
|
5742
|
+
className: cn(
|
|
5743
|
+
"relative inline-grid size-[var(--ads-radial-chart-size)] place-items-center",
|
|
5744
|
+
className
|
|
5745
|
+
),
|
|
5746
|
+
"data-testid": "ads-radial-progress-chart",
|
|
5747
|
+
role: "img",
|
|
5748
|
+
style: { "--ads-radial-chart-size": `${safeSize}px` },
|
|
5749
|
+
children: [
|
|
5750
|
+
/* @__PURE__ */ jsx53(
|
|
5751
|
+
ChartContainer,
|
|
5752
|
+
{
|
|
5753
|
+
"aria-hidden": "true",
|
|
5754
|
+
className: "absolute inset-0",
|
|
5755
|
+
config: { value: { color } },
|
|
5756
|
+
height: "100%",
|
|
5757
|
+
children: /* @__PURE__ */ jsxs27(
|
|
5758
|
+
RadialBarChart,
|
|
5759
|
+
{
|
|
5760
|
+
accessibilityLayer: true,
|
|
5761
|
+
data: chartData,
|
|
5762
|
+
endAngle: -270,
|
|
5763
|
+
innerRadius: safeSize / 2 - safeStrokeWidth,
|
|
5764
|
+
outerRadius: safeSize / 2,
|
|
5765
|
+
startAngle: 90,
|
|
5766
|
+
children: [
|
|
5767
|
+
/* @__PURE__ */ jsx53(
|
|
5768
|
+
PolarAngleAxis,
|
|
5769
|
+
{
|
|
5770
|
+
axisLine: false,
|
|
5771
|
+
dataKey: "value",
|
|
5772
|
+
domain: [0, Math.max(safeMax, 1)],
|
|
5773
|
+
tick: false,
|
|
5774
|
+
type: "number"
|
|
5775
|
+
}
|
|
5776
|
+
),
|
|
5777
|
+
/* @__PURE__ */ jsx53(
|
|
5778
|
+
RadialBar,
|
|
5779
|
+
{
|
|
5780
|
+
background: { fill: trackColor },
|
|
5781
|
+
cornerRadius: safeStrokeWidth / 2,
|
|
5782
|
+
dataKey: "value",
|
|
5783
|
+
fill: "var(--color-value)",
|
|
5784
|
+
isAnimationActive: false
|
|
5785
|
+
}
|
|
5786
|
+
)
|
|
5787
|
+
]
|
|
5788
|
+
}
|
|
5789
|
+
)
|
|
5790
|
+
}
|
|
5791
|
+
),
|
|
5792
|
+
/* @__PURE__ */ jsx53("span", { className: "pointer-events-none absolute inset-0 flex items-center justify-center text-center", children: label ?? `${percentage}%` })
|
|
5793
|
+
]
|
|
5794
|
+
}
|
|
5795
|
+
);
|
|
5796
|
+
}
|
|
5797
|
+
|
|
5798
|
+
// src/components/AdsSparklineChart/index.tsx
|
|
5799
|
+
import { Line, LineChart, XAxis } from "recharts";
|
|
5800
|
+
import { jsx as jsx54, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
5801
|
+
var DEFAULT_HEIGHT = 40;
|
|
5802
|
+
function getSafeHeight(height) {
|
|
5803
|
+
return Number.isFinite(height) && height && height > 0 ? height : DEFAULT_HEIGHT;
|
|
5804
|
+
}
|
|
5805
|
+
function getSafeValue(value) {
|
|
5806
|
+
return typeof value === "number" && Number.isFinite(value) ? Math.max(value, 0) : 0;
|
|
5807
|
+
}
|
|
5808
|
+
function AdsSparklineChart({
|
|
5809
|
+
ariaLabel,
|
|
5810
|
+
className,
|
|
5811
|
+
color = "var(--chart-1)",
|
|
5812
|
+
data,
|
|
5813
|
+
dataKey,
|
|
5814
|
+
height,
|
|
5815
|
+
xKey
|
|
5816
|
+
}) {
|
|
5817
|
+
const chartData = data.map((datum) => ({
|
|
5818
|
+
...datum,
|
|
5819
|
+
[xKey]: datum[xKey],
|
|
5820
|
+
[dataKey]: getSafeValue(datum[dataKey])
|
|
5821
|
+
}));
|
|
5822
|
+
const safeHeight = getSafeHeight(height);
|
|
5823
|
+
return /* @__PURE__ */ jsx54(
|
|
5824
|
+
"div",
|
|
5825
|
+
{
|
|
5826
|
+
"aria-label": ariaLabel ?? "Trend chart",
|
|
5827
|
+
className: cn("w-full", className),
|
|
5828
|
+
"data-testid": "ads-sparkline-chart",
|
|
5829
|
+
role: "img",
|
|
5830
|
+
style: { height: safeHeight },
|
|
5831
|
+
children: /* @__PURE__ */ jsx54(
|
|
5832
|
+
ChartContainer,
|
|
5833
|
+
{
|
|
5834
|
+
"aria-hidden": "true",
|
|
5835
|
+
className: "h-full",
|
|
5836
|
+
config: { value: { color } },
|
|
5837
|
+
height: "100%",
|
|
5838
|
+
children: /* @__PURE__ */ jsxs28(LineChart, { data: chartData, margin: { bottom: 1, left: 1, right: 1, top: 1 }, children: [
|
|
5839
|
+
/* @__PURE__ */ jsx54(XAxis, { dataKey: xKey, hide: true, type: "category" }),
|
|
5840
|
+
/* @__PURE__ */ jsx54(
|
|
5841
|
+
Line,
|
|
5842
|
+
{
|
|
5843
|
+
activeDot: false,
|
|
5844
|
+
dataKey,
|
|
5845
|
+
dot: false,
|
|
5846
|
+
isAnimationActive: false,
|
|
5847
|
+
stroke: "var(--color-value)",
|
|
5848
|
+
strokeWidth: 2,
|
|
5849
|
+
type: "monotone"
|
|
5850
|
+
}
|
|
5851
|
+
)
|
|
5852
|
+
] })
|
|
5853
|
+
}
|
|
5854
|
+
)
|
|
5855
|
+
}
|
|
5856
|
+
);
|
|
5857
|
+
}
|
|
5858
|
+
|
|
5859
|
+
// src/components/AdsStackedBarChart/index.tsx
|
|
5746
5860
|
import * as React47 from "react";
|
|
5861
|
+
import { jsx as jsx55, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
5862
|
+
var DEFAULT_HEIGHT2 = 20;
|
|
5863
|
+
var DEFAULT_SEGMENT_COLOR = "var(--chart-1)";
|
|
5864
|
+
function getSafeHeight2(height) {
|
|
5865
|
+
return Number.isFinite(height) && height && height > 0 ? height : DEFAULT_HEIGHT2;
|
|
5866
|
+
}
|
|
5867
|
+
function formatPercentage(percentage) {
|
|
5868
|
+
return `${Number(percentage.toFixed(2))}%`;
|
|
5869
|
+
}
|
|
5870
|
+
function AdsStackedBarChart({
|
|
5871
|
+
ariaLabel,
|
|
5872
|
+
className,
|
|
5873
|
+
height,
|
|
5874
|
+
segments
|
|
5875
|
+
}) {
|
|
5876
|
+
const descriptionId = React47.useId();
|
|
5877
|
+
const validSegments = segments.reduce((items, segment, index) => {
|
|
5878
|
+
const value = Number.isFinite(segment.value) ? Math.max(segment.value, 0) : 0;
|
|
5879
|
+
if (value > 0) {
|
|
5880
|
+
items.push({
|
|
5881
|
+
color: segment.color ?? DEFAULT_SEGMENT_COLOR,
|
|
5882
|
+
label: segment.label ?? `Segment ${index + 1}`,
|
|
5883
|
+
value
|
|
5884
|
+
});
|
|
5885
|
+
}
|
|
5886
|
+
return items;
|
|
5887
|
+
}, []);
|
|
5888
|
+
const normalizationBase = validSegments.reduce(
|
|
5889
|
+
(maximum, segment) => Math.max(maximum, segment.value),
|
|
5890
|
+
0
|
|
5891
|
+
);
|
|
5892
|
+
const normalizedTotal = normalizationBase > 0 ? validSegments.reduce((sum, segment) => sum + segment.value / normalizationBase, 0) : 0;
|
|
5893
|
+
const hasData = normalizedTotal > 0 && Number.isFinite(normalizedTotal);
|
|
5894
|
+
const getPercentage = (value) => value / normalizationBase / normalizedTotal * 100;
|
|
5895
|
+
const summary = hasData ? validSegments.map((segment) => `${segment.label}: ${formatPercentage(getPercentage(segment.value))}`).join(", ") : "No data";
|
|
5896
|
+
return /* @__PURE__ */ jsxs29(
|
|
5897
|
+
"div",
|
|
5898
|
+
{
|
|
5899
|
+
"aria-label": ariaLabel ?? summary,
|
|
5900
|
+
"aria-describedby": ariaLabel ? descriptionId : void 0,
|
|
5901
|
+
className: cn("overflow-hidden rounded-full bg-muted", className),
|
|
5902
|
+
"data-testid": "ads-stacked-bar-chart",
|
|
5903
|
+
role: "img",
|
|
5904
|
+
style: { height: getSafeHeight2(height) },
|
|
5905
|
+
children: [
|
|
5906
|
+
ariaLabel && /* @__PURE__ */ jsx55("span", { className: "sr-only", id: descriptionId, children: summary }),
|
|
5907
|
+
hasData && /* @__PURE__ */ jsx55("div", { "aria-hidden": "true", className: "flex size-full", children: validSegments.map((segment, index) => {
|
|
5908
|
+
const percentage = getPercentage(segment.value);
|
|
5909
|
+
return /* @__PURE__ */ jsx55(
|
|
5910
|
+
"div",
|
|
5911
|
+
{
|
|
5912
|
+
"data-testid": "ads-stacked-bar-chart-segment",
|
|
5913
|
+
style: { backgroundColor: segment.color, width: `${percentage}%` }
|
|
5914
|
+
},
|
|
5915
|
+
`${segment.label}-${index}`
|
|
5916
|
+
);
|
|
5917
|
+
}) })
|
|
5918
|
+
]
|
|
5919
|
+
}
|
|
5920
|
+
);
|
|
5921
|
+
}
|
|
5922
|
+
|
|
5923
|
+
// src/components/AdsBarChart/index.tsx
|
|
5924
|
+
import { Bar, BarChart, Cell, XAxis as XAxis2 } from "recharts";
|
|
5925
|
+
import { jsx as jsx56, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
5926
|
+
var DEFAULT_HEIGHT3 = 160;
|
|
5927
|
+
var DEFAULT_HIGHLIGHT_COLOR = "var(--chart-2)";
|
|
5928
|
+
var DEFAULT_RADIUS = 4;
|
|
5929
|
+
function getSafeHeight3(height) {
|
|
5930
|
+
return Number.isFinite(height) && height && height > 0 ? height : DEFAULT_HEIGHT3;
|
|
5931
|
+
}
|
|
5932
|
+
function getSafeRadius(radius) {
|
|
5933
|
+
return Number.isFinite(radius) && radius !== void 0 && radius >= 0 ? radius : DEFAULT_RADIUS;
|
|
5934
|
+
}
|
|
5935
|
+
function getSafeValue2(value) {
|
|
5936
|
+
return typeof value === "number" && Number.isFinite(value) ? Math.max(value, 0) : 0;
|
|
5937
|
+
}
|
|
5938
|
+
function AdsBarChart({
|
|
5939
|
+
ariaLabel,
|
|
5940
|
+
barRadius,
|
|
5941
|
+
className,
|
|
5942
|
+
color = "var(--chart-1)",
|
|
5943
|
+
data,
|
|
5944
|
+
dataKey,
|
|
5945
|
+
height,
|
|
5946
|
+
highlightColor,
|
|
5947
|
+
highlightIndex,
|
|
5948
|
+
xKey
|
|
5949
|
+
}) {
|
|
5950
|
+
const chartData = data.map((datum) => ({
|
|
5951
|
+
...datum,
|
|
5952
|
+
[xKey]: datum[xKey],
|
|
5953
|
+
[dataKey]: getSafeValue2(datum[dataKey])
|
|
5954
|
+
}));
|
|
5955
|
+
const safeHeight = getSafeHeight3(height);
|
|
5956
|
+
const safeRadius = getSafeRadius(barRadius);
|
|
5957
|
+
const safeHighlightIndex = Number.isInteger(highlightIndex) ? highlightIndex : -1;
|
|
5958
|
+
return /* @__PURE__ */ jsx56(
|
|
5959
|
+
"div",
|
|
5960
|
+
{
|
|
5961
|
+
"aria-label": ariaLabel ?? "Bar chart",
|
|
5962
|
+
className: cn("w-full", className),
|
|
5963
|
+
"data-testid": "ads-bar-chart",
|
|
5964
|
+
role: "img",
|
|
5965
|
+
style: { height: safeHeight },
|
|
5966
|
+
children: /* @__PURE__ */ jsx56(
|
|
5967
|
+
ChartContainer,
|
|
5968
|
+
{
|
|
5969
|
+
"aria-hidden": "true",
|
|
5970
|
+
className: "h-full",
|
|
5971
|
+
config: { value: { color } },
|
|
5972
|
+
height: "100%",
|
|
5973
|
+
children: /* @__PURE__ */ jsxs30(BarChart, { data: chartData, margin: { bottom: 0, left: 0, right: 0, top: 0 }, children: [
|
|
5974
|
+
/* @__PURE__ */ jsx56(XAxis2, { dataKey: xKey, hide: true, type: "category" }),
|
|
5975
|
+
/* @__PURE__ */ jsx56(Bar, { dataKey, fill: "var(--color-value)", isAnimationActive: false, radius: safeRadius, children: chartData.map((_, index) => /* @__PURE__ */ jsx56(
|
|
5976
|
+
Cell,
|
|
5977
|
+
{
|
|
5978
|
+
fill: index === safeHighlightIndex ? highlightColor ?? DEFAULT_HIGHLIGHT_COLOR : "var(--color-value)"
|
|
5979
|
+
},
|
|
5980
|
+
index
|
|
5981
|
+
)) })
|
|
5982
|
+
] })
|
|
5983
|
+
}
|
|
5984
|
+
)
|
|
5985
|
+
}
|
|
5986
|
+
);
|
|
5987
|
+
}
|
|
5988
|
+
|
|
5989
|
+
// src/components/AdsSlider/index.tsx
|
|
5990
|
+
import * as React49 from "react";
|
|
5747
5991
|
|
|
5748
5992
|
// src/primitives/slider.tsx
|
|
5749
|
-
import * as
|
|
5993
|
+
import * as React48 from "react";
|
|
5750
5994
|
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
5751
|
-
import { jsx as
|
|
5752
|
-
var Slider =
|
|
5995
|
+
import { jsx as jsx57, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
5996
|
+
var Slider = React48.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs31(
|
|
5753
5997
|
SliderPrimitive.Root,
|
|
5754
5998
|
{
|
|
5755
5999
|
ref,
|
|
@@ -5759,10 +6003,10 @@ var Slider = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
5759
6003
|
),
|
|
5760
6004
|
...props,
|
|
5761
6005
|
children: [
|
|
5762
|
-
/* @__PURE__ */
|
|
6006
|
+
/* @__PURE__ */ jsx57(SliderPrimitive.Track, { className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ jsx57(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
|
|
5763
6007
|
Array.from({
|
|
5764
6008
|
length: Array.isArray(props.value) ? props.value.length : Array.isArray(props.defaultValue) ? props.defaultValue.length : 1
|
|
5765
|
-
}).map((_, index) => /* @__PURE__ */
|
|
6009
|
+
}).map((_, index) => /* @__PURE__ */ jsx57(
|
|
5766
6010
|
SliderPrimitive.Thumb,
|
|
5767
6011
|
{
|
|
5768
6012
|
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"
|
|
@@ -5775,11 +6019,11 @@ var Slider = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
5775
6019
|
Slider.displayName = SliderPrimitive.Root.displayName;
|
|
5776
6020
|
|
|
5777
6021
|
// src/components/AdsSlider/index.tsx
|
|
5778
|
-
import { jsx as
|
|
6022
|
+
import { jsx as jsx58, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
5779
6023
|
var sliderBaseClassName = "py-1";
|
|
5780
|
-
var Slider2 =
|
|
6024
|
+
var Slider2 = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx58(Slider, { className: cn(sliderBaseClassName, className), ref, ...props }));
|
|
5781
6025
|
Slider2.displayName = "Slider";
|
|
5782
|
-
var AdsSlider =
|
|
6026
|
+
var AdsSlider = React49.forwardRef(
|
|
5783
6027
|
({
|
|
5784
6028
|
className,
|
|
5785
6029
|
descriptionPlacement = "above",
|
|
@@ -5794,12 +6038,12 @@ var AdsSlider = React47.forwardRef(
|
|
|
5794
6038
|
helperText,
|
|
5795
6039
|
id
|
|
5796
6040
|
});
|
|
5797
|
-
const helperNode = helperText ? /* @__PURE__ */
|
|
5798
|
-
const errorNode = errorText ? /* @__PURE__ */
|
|
5799
|
-
return /* @__PURE__ */
|
|
5800
|
-
label ? /* @__PURE__ */
|
|
6041
|
+
const helperNode = helperText ? /* @__PURE__ */ jsx58(AdsFieldDescription, { id: description.helperId, children: helperText }) : null;
|
|
6042
|
+
const errorNode = errorText ? /* @__PURE__ */ jsx58(AdsFieldError, { id: description.errorId, children: errorText }) : null;
|
|
6043
|
+
return /* @__PURE__ */ jsxs32(AdsFieldItem, { children: [
|
|
6044
|
+
label ? /* @__PURE__ */ jsx58(AdsFieldLabel, { children: label }) : null,
|
|
5801
6045
|
descriptionPlacement === "above" ? helperNode : null,
|
|
5802
|
-
/* @__PURE__ */
|
|
6046
|
+
/* @__PURE__ */ jsx58(
|
|
5803
6047
|
Slider2,
|
|
5804
6048
|
{
|
|
5805
6049
|
"aria-describedby": description.describedBy,
|
|
@@ -5816,13 +6060,13 @@ var AdsSlider = React47.forwardRef(
|
|
|
5816
6060
|
AdsSlider.displayName = "AdsSlider";
|
|
5817
6061
|
|
|
5818
6062
|
// src/components/AdsSwitch/index.tsx
|
|
5819
|
-
import * as
|
|
6063
|
+
import * as React51 from "react";
|
|
5820
6064
|
|
|
5821
6065
|
// src/primitives/switch.tsx
|
|
5822
|
-
import * as
|
|
6066
|
+
import * as React50 from "react";
|
|
5823
6067
|
import * as SwitchPrimitives from "@radix-ui/react-switch";
|
|
5824
|
-
import { jsx as
|
|
5825
|
-
var Switch =
|
|
6068
|
+
import { jsx as jsx59 } from "react/jsx-runtime";
|
|
6069
|
+
var Switch = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx59(
|
|
5826
6070
|
SwitchPrimitives.Root,
|
|
5827
6071
|
{
|
|
5828
6072
|
className: cn(
|
|
@@ -5831,7 +6075,7 @@ var Switch = React48.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
5831
6075
|
),
|
|
5832
6076
|
...props,
|
|
5833
6077
|
ref,
|
|
5834
|
-
children: /* @__PURE__ */
|
|
6078
|
+
children: /* @__PURE__ */ jsx59(
|
|
5835
6079
|
SwitchPrimitives.Thumb,
|
|
5836
6080
|
{
|
|
5837
6081
|
className: cn(
|
|
@@ -5844,15 +6088,15 @@ var Switch = React48.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
5844
6088
|
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
5845
6089
|
|
|
5846
6090
|
// src/components/AdsSwitch/index.tsx
|
|
5847
|
-
import { jsx as
|
|
6091
|
+
import { jsx as jsx60, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
5848
6092
|
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";
|
|
5849
|
-
var Switch2 =
|
|
6093
|
+
var Switch2 = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx60(Switch, { className: cn(switchBaseClassName, className), ref, ...props }));
|
|
5850
6094
|
Switch2.displayName = "Switch";
|
|
5851
|
-
var AdsSwitch =
|
|
5852
|
-
const generatedId =
|
|
6095
|
+
var AdsSwitch = React51.forwardRef(({ className, description, id, label, switchClassName, wrapperClassName, ...props }, ref) => {
|
|
6096
|
+
const generatedId = React51.useId();
|
|
5853
6097
|
const inputId = id ?? generatedId;
|
|
5854
6098
|
if (!label) {
|
|
5855
|
-
return /* @__PURE__ */
|
|
6099
|
+
return /* @__PURE__ */ jsx60(
|
|
5856
6100
|
Switch2,
|
|
5857
6101
|
{
|
|
5858
6102
|
className: cn(className, switchClassName),
|
|
@@ -5862,12 +6106,12 @@ var AdsSwitch = React49.forwardRef(({ className, description, id, label, switchC
|
|
|
5862
6106
|
}
|
|
5863
6107
|
);
|
|
5864
6108
|
}
|
|
5865
|
-
return /* @__PURE__ */
|
|
5866
|
-
/* @__PURE__ */
|
|
5867
|
-
/* @__PURE__ */
|
|
5868
|
-
description ? /* @__PURE__ */
|
|
6109
|
+
return /* @__PURE__ */ jsx60("label", { className: cn("block w-full cursor-pointer", wrapperClassName), htmlFor: inputId, children: /* @__PURE__ */ jsxs33("div", { className: "flex w-full items-start gap-3", children: [
|
|
6110
|
+
/* @__PURE__ */ jsxs33("div", { className: "flex min-w-0 flex-1 flex-col gap-1.5 pt-0.5", children: [
|
|
6111
|
+
/* @__PURE__ */ jsx60("div", { className: "text-sm font-medium leading-5 text-foreground", children: label }),
|
|
6112
|
+
description ? /* @__PURE__ */ jsx60(AdsFieldDescription, { className: "text-sm leading-5", children: description }) : null
|
|
5869
6113
|
] }),
|
|
5870
|
-
/* @__PURE__ */
|
|
6114
|
+
/* @__PURE__ */ jsx60("div", { className: "shrink-0", children: /* @__PURE__ */ jsx60(
|
|
5871
6115
|
Switch2,
|
|
5872
6116
|
{
|
|
5873
6117
|
className: cn(className, switchClassName),
|
|
@@ -5881,14 +6125,14 @@ var AdsSwitch = React49.forwardRef(({ className, description, id, label, switchC
|
|
|
5881
6125
|
AdsSwitch.displayName = "AdsSwitch";
|
|
5882
6126
|
|
|
5883
6127
|
// src/components/AdsTabs/index.tsx
|
|
5884
|
-
import * as
|
|
6128
|
+
import * as React53 from "react";
|
|
5885
6129
|
|
|
5886
6130
|
// src/primitives/tabs.tsx
|
|
5887
|
-
import * as
|
|
6131
|
+
import * as React52 from "react";
|
|
5888
6132
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
5889
|
-
import { jsx as
|
|
6133
|
+
import { jsx as jsx61 } from "react/jsx-runtime";
|
|
5890
6134
|
var Tabs = TabsPrimitive.Root;
|
|
5891
|
-
var TabsList =
|
|
6135
|
+
var TabsList = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx61(
|
|
5892
6136
|
TabsPrimitive.List,
|
|
5893
6137
|
{
|
|
5894
6138
|
className: cn("inline-flex items-center", className),
|
|
@@ -5897,7 +6141,7 @@ var TabsList = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
5897
6141
|
}
|
|
5898
6142
|
));
|
|
5899
6143
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
5900
|
-
var TabsTrigger =
|
|
6144
|
+
var TabsTrigger = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx61(
|
|
5901
6145
|
TabsPrimitive.Trigger,
|
|
5902
6146
|
{
|
|
5903
6147
|
className: cn(
|
|
@@ -5909,7 +6153,7 @@ var TabsTrigger = React50.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
5909
6153
|
}
|
|
5910
6154
|
));
|
|
5911
6155
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
5912
|
-
var TabsContent =
|
|
6156
|
+
var TabsContent = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx61(
|
|
5913
6157
|
TabsPrimitive.Content,
|
|
5914
6158
|
{
|
|
5915
6159
|
className: cn("focus-visible:outline-none", className),
|
|
@@ -5920,9 +6164,9 @@ var TabsContent = React50.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
5920
6164
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
5921
6165
|
|
|
5922
6166
|
// src/components/AdsTabs/index.tsx
|
|
5923
|
-
import { jsx as
|
|
6167
|
+
import { jsx as jsx62 } from "react/jsx-runtime";
|
|
5924
6168
|
var AdsTabs = Tabs;
|
|
5925
|
-
var AdsTabsList =
|
|
6169
|
+
var AdsTabsList = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx62(
|
|
5926
6170
|
TabsList,
|
|
5927
6171
|
{
|
|
5928
6172
|
className: cn(
|
|
@@ -5934,7 +6178,7 @@ var AdsTabsList = React51.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
5934
6178
|
}
|
|
5935
6179
|
));
|
|
5936
6180
|
AdsTabsList.displayName = "AdsTabsList";
|
|
5937
|
-
var AdsTabsTrigger =
|
|
6181
|
+
var AdsTabsTrigger = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx62(
|
|
5938
6182
|
TabsTrigger,
|
|
5939
6183
|
{
|
|
5940
6184
|
className: cn(
|
|
@@ -5946,7 +6190,7 @@ var AdsTabsTrigger = React51.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
5946
6190
|
}
|
|
5947
6191
|
));
|
|
5948
6192
|
AdsTabsTrigger.displayName = "AdsTabsTrigger";
|
|
5949
|
-
var AdsTabsContent =
|
|
6193
|
+
var AdsTabsContent = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx62(
|
|
5950
6194
|
TabsContent,
|
|
5951
6195
|
{
|
|
5952
6196
|
className: cn(
|
|
@@ -5960,13 +6204,13 @@ var AdsTabsContent = React51.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
5960
6204
|
AdsTabsContent.displayName = "AdsTabsContent";
|
|
5961
6205
|
|
|
5962
6206
|
// src/components/AdsToggle/index.tsx
|
|
5963
|
-
import * as
|
|
6207
|
+
import * as React55 from "react";
|
|
5964
6208
|
|
|
5965
6209
|
// src/primitives/toggle.tsx
|
|
5966
|
-
import * as
|
|
6210
|
+
import * as React54 from "react";
|
|
5967
6211
|
import * as TogglePrimitive from "@radix-ui/react-toggle";
|
|
5968
|
-
import { jsx as
|
|
5969
|
-
var Toggle =
|
|
6212
|
+
import { jsx as jsx63 } from "react/jsx-runtime";
|
|
6213
|
+
var Toggle = React54.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx63(
|
|
5970
6214
|
TogglePrimitive.Root,
|
|
5971
6215
|
{
|
|
5972
6216
|
className: cn(
|
|
@@ -5980,7 +6224,7 @@ var Toggle = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
5980
6224
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
5981
6225
|
|
|
5982
6226
|
// src/components/AdsToggle/index.tsx
|
|
5983
|
-
import { jsx as
|
|
6227
|
+
import { jsx as jsx64 } from "react/jsx-runtime";
|
|
5984
6228
|
var sizeClassName3 = {
|
|
5985
6229
|
sm: "!h-8 px-[6px] text-sm",
|
|
5986
6230
|
md: "!h-9 px-md text-sm",
|
|
@@ -5995,10 +6239,10 @@ var variantClassName = {
|
|
|
5995
6239
|
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)]",
|
|
5996
6240
|
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)]"
|
|
5997
6241
|
};
|
|
5998
|
-
var AdsToggle =
|
|
5999
|
-
const childCount =
|
|
6000
|
-
const isIconOnly = childCount === 1 &&
|
|
6001
|
-
return /* @__PURE__ */
|
|
6242
|
+
var AdsToggle = React55.forwardRef(({ children, className, size = "md", variant = "default", ...props }, ref) => {
|
|
6243
|
+
const childCount = React55.Children.count(children);
|
|
6244
|
+
const isIconOnly = childCount === 1 && React55.isValidElement(children);
|
|
6245
|
+
return /* @__PURE__ */ jsx64(
|
|
6002
6246
|
Toggle,
|
|
6003
6247
|
{
|
|
6004
6248
|
className: cn(
|
|
@@ -6017,13 +6261,13 @@ var AdsToggle = React53.forwardRef(({ children, className, size = "md", variant
|
|
|
6017
6261
|
AdsToggle.displayName = "AdsToggle";
|
|
6018
6262
|
|
|
6019
6263
|
// src/components/AdsToggleGroup/index.tsx
|
|
6020
|
-
import * as
|
|
6264
|
+
import * as React57 from "react";
|
|
6021
6265
|
|
|
6022
6266
|
// src/primitives/toggle-group.tsx
|
|
6023
|
-
import * as
|
|
6267
|
+
import * as React56 from "react";
|
|
6024
6268
|
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
6025
|
-
import { jsx as
|
|
6026
|
-
var ToggleGroup =
|
|
6269
|
+
import { jsx as jsx65 } from "react/jsx-runtime";
|
|
6270
|
+
var ToggleGroup = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx65(
|
|
6027
6271
|
ToggleGroupPrimitive.Root,
|
|
6028
6272
|
{
|
|
6029
6273
|
className: cn("inline-flex items-center justify-start", className),
|
|
@@ -6032,7 +6276,7 @@ var ToggleGroup = React54.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
6032
6276
|
}
|
|
6033
6277
|
));
|
|
6034
6278
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
6035
|
-
var ToggleGroupItem =
|
|
6279
|
+
var ToggleGroupItem = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx65(
|
|
6036
6280
|
ToggleGroupPrimitive.Item,
|
|
6037
6281
|
{
|
|
6038
6282
|
className: cn(
|
|
@@ -6046,7 +6290,7 @@ var ToggleGroupItem = React54.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
6046
6290
|
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
6047
6291
|
|
|
6048
6292
|
// src/components/AdsToggleGroup/index.tsx
|
|
6049
|
-
import { jsx as
|
|
6293
|
+
import { jsx as jsx66 } from "react/jsx-runtime";
|
|
6050
6294
|
var sizeClassName4 = {
|
|
6051
6295
|
sm: "h-8 min-w-7 px-[6px] text-sm",
|
|
6052
6296
|
md: "h-9 min-w-[34px] px-md text-sm",
|
|
@@ -6056,8 +6300,8 @@ var variantClassName2 = {
|
|
|
6056
6300
|
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)]",
|
|
6057
6301
|
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)]"
|
|
6058
6302
|
};
|
|
6059
|
-
var AdsToggleGroupContext =
|
|
6060
|
-
var AdsToggleGroup =
|
|
6303
|
+
var AdsToggleGroupContext = React57.createContext(null);
|
|
6304
|
+
var AdsToggleGroup = React57.forwardRef(
|
|
6061
6305
|
({
|
|
6062
6306
|
children,
|
|
6063
6307
|
className,
|
|
@@ -6065,7 +6309,7 @@ var AdsToggleGroup = React55.forwardRef(
|
|
|
6065
6309
|
size = "md",
|
|
6066
6310
|
variant = "default",
|
|
6067
6311
|
...props
|
|
6068
|
-
}, ref) => /* @__PURE__ */
|
|
6312
|
+
}, ref) => /* @__PURE__ */ jsx66(AdsToggleGroupContext.Provider, { value: { orientation, size, variant }, children: /* @__PURE__ */ jsx66(
|
|
6069
6313
|
ToggleGroup,
|
|
6070
6314
|
{
|
|
6071
6315
|
className: cn(
|
|
@@ -6081,12 +6325,12 @@ var AdsToggleGroup = React55.forwardRef(
|
|
|
6081
6325
|
) })
|
|
6082
6326
|
);
|
|
6083
6327
|
AdsToggleGroup.displayName = "AdsToggleGroup";
|
|
6084
|
-
var AdsToggleGroupItem =
|
|
6085
|
-
const context =
|
|
6328
|
+
var AdsToggleGroupItem = React57.forwardRef(({ className, size, variant, ...props }, ref) => {
|
|
6329
|
+
const context = React57.useContext(AdsToggleGroupContext);
|
|
6086
6330
|
const resolvedOrientation = context?.orientation ?? "horizontal";
|
|
6087
6331
|
const resolvedSize = size ?? context?.size ?? "md";
|
|
6088
6332
|
const resolvedVariant = variant ?? context?.variant ?? "default";
|
|
6089
|
-
return /* @__PURE__ */
|
|
6333
|
+
return /* @__PURE__ */ jsx66(
|
|
6090
6334
|
ToggleGroupItem,
|
|
6091
6335
|
{
|
|
6092
6336
|
className: cn(
|
|
@@ -6104,10 +6348,10 @@ var AdsToggleGroupItem = React55.forwardRef(({ className, size, variant, ...prop
|
|
|
6104
6348
|
AdsToggleGroupItem.displayName = "AdsToggleGroupItem";
|
|
6105
6349
|
|
|
6106
6350
|
// src/components/AdsTextarea/index.tsx
|
|
6107
|
-
import * as
|
|
6108
|
-
import { jsx as
|
|
6109
|
-
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:
|
|
6110
|
-
var AdsTextarea =
|
|
6351
|
+
import * as React58 from "react";
|
|
6352
|
+
import { jsx as jsx67, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
6353
|
+
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";
|
|
6354
|
+
var AdsTextarea = React58.forwardRef(
|
|
6111
6355
|
({
|
|
6112
6356
|
action,
|
|
6113
6357
|
className,
|
|
@@ -6126,12 +6370,12 @@ var AdsTextarea = React56.forwardRef(
|
|
|
6126
6370
|
helperText,
|
|
6127
6371
|
id
|
|
6128
6372
|
});
|
|
6129
|
-
const helperNode = helperText ? /* @__PURE__ */
|
|
6130
|
-
const errorNode = errorText ? /* @__PURE__ */
|
|
6131
|
-
return /* @__PURE__ */
|
|
6132
|
-
label ? /* @__PURE__ */
|
|
6373
|
+
const helperNode = helperText ? /* @__PURE__ */ jsx67(AdsFieldDescription, { id: description.helperId, children: helperText }) : null;
|
|
6374
|
+
const errorNode = errorText ? /* @__PURE__ */ jsx67(AdsFieldError, { id: description.errorId, children: errorText }) : null;
|
|
6375
|
+
return /* @__PURE__ */ jsxs34(AdsFieldItem, { children: [
|
|
6376
|
+
label ? /* @__PURE__ */ jsx67(AdsFieldLabel, { htmlFor: description.inputId, children: label }) : null,
|
|
6133
6377
|
descriptionPlacement === "above" ? helperNode : null,
|
|
6134
|
-
/* @__PURE__ */
|
|
6378
|
+
/* @__PURE__ */ jsx67(
|
|
6135
6379
|
Textarea,
|
|
6136
6380
|
{
|
|
6137
6381
|
"aria-describedby": description.describedBy,
|
|
@@ -6149,7 +6393,7 @@ var AdsTextarea = React56.forwardRef(
|
|
|
6149
6393
|
...props
|
|
6150
6394
|
}
|
|
6151
6395
|
),
|
|
6152
|
-
action ? /* @__PURE__ */
|
|
6396
|
+
action ? /* @__PURE__ */ jsx67("div", { className: "w-full [&>*]:w-full", children: action }) : null,
|
|
6153
6397
|
descriptionPlacement === "below" ? helperNode : null,
|
|
6154
6398
|
errorNode
|
|
6155
6399
|
] });
|
|
@@ -6158,17 +6402,17 @@ var AdsTextarea = React56.forwardRef(
|
|
|
6158
6402
|
AdsTextarea.displayName = "AdsTextarea";
|
|
6159
6403
|
|
|
6160
6404
|
// src/components/AdsTooltip/index.tsx
|
|
6161
|
-
import * as
|
|
6405
|
+
import * as React60 from "react";
|
|
6162
6406
|
|
|
6163
6407
|
// src/primitives/tooltip.tsx
|
|
6164
|
-
import * as
|
|
6408
|
+
import * as React59 from "react";
|
|
6165
6409
|
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
6166
|
-
import { jsx as
|
|
6410
|
+
import { jsx as jsx68 } from "react/jsx-runtime";
|
|
6167
6411
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
6168
6412
|
var Tooltip = TooltipPrimitive.Root;
|
|
6169
6413
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
6170
6414
|
var TooltipArrow = TooltipPrimitive.Arrow;
|
|
6171
|
-
var TooltipContent =
|
|
6415
|
+
var TooltipContent = React59.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx68(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx68(
|
|
6172
6416
|
TooltipPrimitive.Content,
|
|
6173
6417
|
{
|
|
6174
6418
|
className: cn(
|
|
@@ -6183,12 +6427,12 @@ var TooltipContent = React57.forwardRef(({ className, sideOffset = 4, ...props }
|
|
|
6183
6427
|
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
6184
6428
|
|
|
6185
6429
|
// src/components/AdsTooltip/index.tsx
|
|
6186
|
-
import { jsx as
|
|
6430
|
+
import { jsx as jsx69 } from "react/jsx-runtime";
|
|
6187
6431
|
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)]";
|
|
6188
6432
|
var AdsTooltipProvider = TooltipProvider;
|
|
6189
6433
|
var AdsTooltip = Tooltip;
|
|
6190
6434
|
var AdsTooltipTrigger = TooltipTrigger;
|
|
6191
|
-
var AdsTooltipContent =
|
|
6435
|
+
var AdsTooltipContent = React60.forwardRef(({ align = "center", className, sideOffset = 10, ...props }, ref) => /* @__PURE__ */ jsx69(
|
|
6192
6436
|
TooltipContent,
|
|
6193
6437
|
{
|
|
6194
6438
|
align,
|
|
@@ -6199,7 +6443,7 @@ var AdsTooltipContent = React58.forwardRef(({ align = "center", className, sideO
|
|
|
6199
6443
|
}
|
|
6200
6444
|
));
|
|
6201
6445
|
AdsTooltipContent.displayName = "AdsTooltipContent";
|
|
6202
|
-
var AdsTooltipArrow =
|
|
6446
|
+
var AdsTooltipArrow = React60.forwardRef(({ className, height = 5, width = 10, ...props }, ref) => /* @__PURE__ */ jsx69(
|
|
6203
6447
|
TooltipArrow,
|
|
6204
6448
|
{
|
|
6205
6449
|
className: cn("fill-[#844fff]", className),
|
|
@@ -6212,7 +6456,7 @@ var AdsTooltipArrow = React58.forwardRef(({ className, height = 5, width = 10, .
|
|
|
6212
6456
|
AdsTooltipArrow.displayName = "AdsTooltipArrow";
|
|
6213
6457
|
|
|
6214
6458
|
// src/components/AdsToast/index.tsx
|
|
6215
|
-
import * as
|
|
6459
|
+
import * as React61 from "react";
|
|
6216
6460
|
import {
|
|
6217
6461
|
CircleCheck as CircleCheck2,
|
|
6218
6462
|
Info as Info2,
|
|
@@ -6221,7 +6465,7 @@ import {
|
|
|
6221
6465
|
TriangleAlert as TriangleAlert2
|
|
6222
6466
|
} from "lucide-react";
|
|
6223
6467
|
import { Toaster, toast } from "sonner";
|
|
6224
|
-
import { jsx as
|
|
6468
|
+
import { jsx as jsx70, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
6225
6469
|
var adsToastIconMap = {
|
|
6226
6470
|
success: CircleCheck2,
|
|
6227
6471
|
info: Info2,
|
|
@@ -6237,7 +6481,7 @@ function resolveToastIcon(intent, icon) {
|
|
|
6237
6481
|
return null;
|
|
6238
6482
|
}
|
|
6239
6483
|
const Icon2 = adsToastIconMap[intent];
|
|
6240
|
-
return /* @__PURE__ */
|
|
6484
|
+
return /* @__PURE__ */ jsx70(
|
|
6241
6485
|
Icon2,
|
|
6242
6486
|
{
|
|
6243
6487
|
"aria-hidden": true,
|
|
@@ -6250,7 +6494,7 @@ function resolveToastIcon(intent, icon) {
|
|
|
6250
6494
|
}
|
|
6251
6495
|
);
|
|
6252
6496
|
}
|
|
6253
|
-
var AdsToast =
|
|
6497
|
+
var AdsToast = React61.forwardRef(
|
|
6254
6498
|
({
|
|
6255
6499
|
action,
|
|
6256
6500
|
className,
|
|
@@ -6261,7 +6505,7 @@ var AdsToast = React59.forwardRef(
|
|
|
6261
6505
|
...props
|
|
6262
6506
|
}, ref) => {
|
|
6263
6507
|
const resolvedIcon = resolveToastIcon(intent, icon);
|
|
6264
|
-
return /* @__PURE__ */
|
|
6508
|
+
return /* @__PURE__ */ jsxs35(
|
|
6265
6509
|
"div",
|
|
6266
6510
|
{
|
|
6267
6511
|
className: cn(
|
|
@@ -6276,8 +6520,8 @@ var AdsToast = React59.forwardRef(
|
|
|
6276
6520
|
...props,
|
|
6277
6521
|
children: [
|
|
6278
6522
|
resolvedIcon,
|
|
6279
|
-
/* @__PURE__ */
|
|
6280
|
-
/* @__PURE__ */
|
|
6523
|
+
/* @__PURE__ */ jsxs35("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
|
|
6524
|
+
/* @__PURE__ */ jsx70(
|
|
6281
6525
|
"p",
|
|
6282
6526
|
{
|
|
6283
6527
|
className: cn(
|
|
@@ -6287,7 +6531,7 @@ var AdsToast = React59.forwardRef(
|
|
|
6287
6531
|
children: title
|
|
6288
6532
|
}
|
|
6289
6533
|
),
|
|
6290
|
-
description ? /* @__PURE__ */
|
|
6534
|
+
description ? /* @__PURE__ */ jsx70(
|
|
6291
6535
|
"p",
|
|
6292
6536
|
{
|
|
6293
6537
|
className: cn(
|
|
@@ -6298,7 +6542,7 @@ var AdsToast = React59.forwardRef(
|
|
|
6298
6542
|
}
|
|
6299
6543
|
) : null
|
|
6300
6544
|
] }),
|
|
6301
|
-
action ? /* @__PURE__ */
|
|
6545
|
+
action ? /* @__PURE__ */ jsx70(
|
|
6302
6546
|
AdsButton,
|
|
6303
6547
|
{
|
|
6304
6548
|
className: "shrink-0 rounded-radius-lg",
|
|
@@ -6324,7 +6568,7 @@ function AdsToaster({
|
|
|
6324
6568
|
...props
|
|
6325
6569
|
}) {
|
|
6326
6570
|
const { messages } = useAdsI18n();
|
|
6327
|
-
return /* @__PURE__ */
|
|
6571
|
+
return /* @__PURE__ */ jsx70(
|
|
6328
6572
|
Toaster,
|
|
6329
6573
|
{
|
|
6330
6574
|
closeButton: false,
|
|
@@ -6342,7 +6586,7 @@ function AdsToaster({
|
|
|
6342
6586
|
);
|
|
6343
6587
|
}
|
|
6344
6588
|
function toStageNode(intent, title, options) {
|
|
6345
|
-
return /* @__PURE__ */
|
|
6589
|
+
return /* @__PURE__ */ jsx70(
|
|
6346
6590
|
AdsToast,
|
|
6347
6591
|
{
|
|
6348
6592
|
action: options?.action,
|
|
@@ -6356,7 +6600,7 @@ function toStageNode(intent, title, options) {
|
|
|
6356
6600
|
function showAdsToast(intent, title, options) {
|
|
6357
6601
|
const { action, description, icon, ...toastOptions } = options ?? {};
|
|
6358
6602
|
return toast.custom(
|
|
6359
|
-
(id) => /* @__PURE__ */
|
|
6603
|
+
(id) => /* @__PURE__ */ jsx70(
|
|
6360
6604
|
AdsToast,
|
|
6361
6605
|
{
|
|
6362
6606
|
action: action ? {
|
|
@@ -6410,10 +6654,10 @@ var AdsToastManager = Object.assign(
|
|
|
6410
6654
|
);
|
|
6411
6655
|
|
|
6412
6656
|
// src/components/AdsDialog/index.tsx
|
|
6413
|
-
import * as
|
|
6657
|
+
import * as React62 from "react";
|
|
6414
6658
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
6415
6659
|
import { X as X2 } from "lucide-react";
|
|
6416
|
-
import { jsx as
|
|
6660
|
+
import { jsx as jsx71, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
6417
6661
|
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";
|
|
6418
6662
|
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%]";
|
|
6419
6663
|
var bodyClassName = "min-h-0 flex-1 overflow-y-auto overscroll-contain [scrollbar-gutter:stable]";
|
|
@@ -6421,7 +6665,7 @@ var closeButtonClassName = "absolute right-xl top-xl inline-flex h-6 w-6 items-c
|
|
|
6421
6665
|
var Dialog = DialogPrimitive.Root;
|
|
6422
6666
|
var DialogTrigger = DialogPrimitive.Trigger;
|
|
6423
6667
|
var DialogPortal = DialogPrimitive.Portal;
|
|
6424
|
-
var DialogOverlay =
|
|
6668
|
+
var DialogOverlay = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx71(
|
|
6425
6669
|
DialogPrimitive.Overlay,
|
|
6426
6670
|
{
|
|
6427
6671
|
className: cn(overlayClassName2, className),
|
|
@@ -6430,7 +6674,7 @@ var DialogOverlay = React60.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
6430
6674
|
}
|
|
6431
6675
|
));
|
|
6432
6676
|
DialogOverlay.displayName = "DialogOverlay";
|
|
6433
|
-
var DialogClose =
|
|
6677
|
+
var DialogClose = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx71(
|
|
6434
6678
|
DialogPrimitive.Close,
|
|
6435
6679
|
{
|
|
6436
6680
|
className: cn(
|
|
@@ -6444,8 +6688,8 @@ var DialogClose = React60.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
6444
6688
|
DialogClose.displayName = "DialogClose";
|
|
6445
6689
|
function flattenDialogChildren(children) {
|
|
6446
6690
|
const nodes = [];
|
|
6447
|
-
|
|
6448
|
-
if (
|
|
6691
|
+
React62.Children.forEach(children, (child) => {
|
|
6692
|
+
if (React62.isValidElement(child) && child.type === React62.Fragment) {
|
|
6449
6693
|
nodes.push(...flattenDialogChildren(child.props.children));
|
|
6450
6694
|
return;
|
|
6451
6695
|
}
|
|
@@ -6454,10 +6698,10 @@ function flattenDialogChildren(children) {
|
|
|
6454
6698
|
return nodes;
|
|
6455
6699
|
}
|
|
6456
6700
|
function isDialogSlotElement(child, component) {
|
|
6457
|
-
return
|
|
6701
|
+
return React62.isValidElement(child) && child.type === component;
|
|
6458
6702
|
}
|
|
6459
|
-
var DialogBody =
|
|
6460
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
6703
|
+
var DialogBody = React62.forwardRef(
|
|
6704
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx71(
|
|
6461
6705
|
"div",
|
|
6462
6706
|
{
|
|
6463
6707
|
className: cn(bodyClassName, className),
|
|
@@ -6468,7 +6712,7 @@ var DialogBody = React60.forwardRef(
|
|
|
6468
6712
|
)
|
|
6469
6713
|
);
|
|
6470
6714
|
DialogBody.displayName = "DialogBody";
|
|
6471
|
-
var DialogContent =
|
|
6715
|
+
var DialogContent = React62.forwardRef(
|
|
6472
6716
|
({
|
|
6473
6717
|
children,
|
|
6474
6718
|
className,
|
|
@@ -6525,9 +6769,9 @@ var DialogContent = React60.forwardRef(
|
|
|
6525
6769
|
const looseBodyNodes = bodyNodes.filter(
|
|
6526
6770
|
(child) => !isDialogSlotElement(child, DialogBody)
|
|
6527
6771
|
);
|
|
6528
|
-
return /* @__PURE__ */
|
|
6529
|
-
/* @__PURE__ */
|
|
6530
|
-
/* @__PURE__ */
|
|
6772
|
+
return /* @__PURE__ */ jsx71(NestedDismissableLayerProvider, { coordinator: parentLayer.coordinator, children: /* @__PURE__ */ jsxs36(DialogPortal, { children: [
|
|
6773
|
+
/* @__PURE__ */ jsx71(DialogOverlay, {}),
|
|
6774
|
+
/* @__PURE__ */ jsxs36(
|
|
6531
6775
|
DialogPrimitive.Content,
|
|
6532
6776
|
{
|
|
6533
6777
|
"data-slot": "ads-dialog-content",
|
|
@@ -6543,18 +6787,18 @@ var DialogContent = React60.forwardRef(
|
|
|
6543
6787
|
...props,
|
|
6544
6788
|
children: [
|
|
6545
6789
|
headerNode,
|
|
6546
|
-
headerNode === null && generatedHeaderNodes.length > 0 ? /* @__PURE__ */
|
|
6790
|
+
headerNode === null && generatedHeaderNodes.length > 0 ? /* @__PURE__ */ jsx71(DialogHeader, { children: generatedHeaderNodes }) : null,
|
|
6547
6791
|
explicitBodyNodes.length > 0 ? explicitBodyNodes : null,
|
|
6548
|
-
looseBodyNodes.length > 0 ? /* @__PURE__ */
|
|
6792
|
+
looseBodyNodes.length > 0 ? /* @__PURE__ */ jsx71(DialogBody, { children: looseBodyNodes }) : null,
|
|
6549
6793
|
footerNode,
|
|
6550
|
-
!hideCloseButton ? /* @__PURE__ */
|
|
6794
|
+
!hideCloseButton ? /* @__PURE__ */ jsxs36(
|
|
6551
6795
|
DialogPrimitive.Close,
|
|
6552
6796
|
{
|
|
6553
6797
|
"aria-label": resolvedCloseLabel,
|
|
6554
6798
|
className: cn(closeButtonClassName, adsTextColorClassName.card),
|
|
6555
6799
|
children: [
|
|
6556
|
-
/* @__PURE__ */
|
|
6557
|
-
/* @__PURE__ */
|
|
6800
|
+
/* @__PURE__ */ jsx71(X2, { "aria-hidden": true, className: "h-4 w-4" }),
|
|
6801
|
+
/* @__PURE__ */ jsx71("span", { className: "sr-only", children: resolvedCloseLabel })
|
|
6558
6802
|
]
|
|
6559
6803
|
}
|
|
6560
6804
|
) : null
|
|
@@ -6565,8 +6809,8 @@ var DialogContent = React60.forwardRef(
|
|
|
6565
6809
|
}
|
|
6566
6810
|
);
|
|
6567
6811
|
DialogContent.displayName = "DialogContent";
|
|
6568
|
-
var DialogHeader =
|
|
6569
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
6812
|
+
var DialogHeader = React62.forwardRef(
|
|
6813
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx71(
|
|
6570
6814
|
"div",
|
|
6571
6815
|
{
|
|
6572
6816
|
"data-slot": "ads-dialog-header",
|
|
@@ -6577,8 +6821,8 @@ var DialogHeader = React60.forwardRef(
|
|
|
6577
6821
|
)
|
|
6578
6822
|
);
|
|
6579
6823
|
DialogHeader.displayName = "DialogHeader";
|
|
6580
|
-
var DialogFooter =
|
|
6581
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
6824
|
+
var DialogFooter = React62.forwardRef(
|
|
6825
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx71(
|
|
6582
6826
|
"div",
|
|
6583
6827
|
{
|
|
6584
6828
|
"data-slot": "ads-dialog-footer",
|
|
@@ -6592,7 +6836,7 @@ var DialogFooter = React60.forwardRef(
|
|
|
6592
6836
|
)
|
|
6593
6837
|
);
|
|
6594
6838
|
DialogFooter.displayName = "DialogFooter";
|
|
6595
|
-
var DialogTitle =
|
|
6839
|
+
var DialogTitle = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx71(
|
|
6596
6840
|
DialogPrimitive.Title,
|
|
6597
6841
|
{
|
|
6598
6842
|
className: cn(
|
|
@@ -6605,7 +6849,7 @@ var DialogTitle = React60.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
6605
6849
|
}
|
|
6606
6850
|
));
|
|
6607
6851
|
DialogTitle.displayName = "DialogTitle";
|
|
6608
|
-
var DialogDescription =
|
|
6852
|
+
var DialogDescription = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx71(
|
|
6609
6853
|
DialogPrimitive.Description,
|
|
6610
6854
|
{
|
|
6611
6855
|
className: cn("text-sm leading-5", adsTextColorClassName.muted, className),
|
|
@@ -6628,7 +6872,7 @@ var AdsDialogDescription = DialogDescription;
|
|
|
6628
6872
|
|
|
6629
6873
|
// src/components/AdsMasonry/index.tsx
|
|
6630
6874
|
import { Masonry } from "masonic";
|
|
6631
|
-
import { jsx as
|
|
6875
|
+
import { jsx as jsx72, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
6632
6876
|
var DEFAULT_COLUMN_WIDTH = 240;
|
|
6633
6877
|
var DEFAULT_GAP = 16;
|
|
6634
6878
|
var DEFAULT_ITEM_HEIGHT_ESTIMATE = 280;
|
|
@@ -6664,7 +6908,7 @@ function AdsMasonry({
|
|
|
6664
6908
|
{ length: loadingItemCount },
|
|
6665
6909
|
(_, index) => index
|
|
6666
6910
|
);
|
|
6667
|
-
return /* @__PURE__ */
|
|
6911
|
+
return /* @__PURE__ */ jsx72(
|
|
6668
6912
|
"div",
|
|
6669
6913
|
{
|
|
6670
6914
|
className: cn(
|
|
@@ -6676,20 +6920,20 @@ function AdsMasonry({
|
|
|
6676
6920
|
const mediaHeight = LOADING_MEDIA_HEIGHT_PATTERN[index % LOADING_MEDIA_HEIGHT_PATTERN.length];
|
|
6677
6921
|
const titleWidth = LOADING_TITLE_WIDTH_PATTERN[index % LOADING_TITLE_WIDTH_PATTERN.length];
|
|
6678
6922
|
const bodyWidth = LOADING_BODY_WIDTH_PATTERN[index % LOADING_BODY_WIDTH_PATTERN.length];
|
|
6679
|
-
return /* @__PURE__ */
|
|
6923
|
+
return /* @__PURE__ */ jsxs37(
|
|
6680
6924
|
"article",
|
|
6681
6925
|
{
|
|
6682
6926
|
className: "overflow-hidden rounded-radius-lg border border-border bg-card shadow-showcase",
|
|
6683
6927
|
"data-slot": "ads-masonry-loading-card",
|
|
6684
6928
|
"data-testid": "ads-masonry-loading-card",
|
|
6685
6929
|
children: [
|
|
6686
|
-
/* @__PURE__ */
|
|
6930
|
+
/* @__PURE__ */ jsx72(
|
|
6687
6931
|
"div",
|
|
6688
6932
|
{
|
|
6689
6933
|
className: "border-b border-border/60 bg-surface-inset/50",
|
|
6690
6934
|
"data-slot": "ads-masonry-skeleton-preview",
|
|
6691
6935
|
"data-testid": "ads-masonry-skeleton-preview",
|
|
6692
|
-
children: /* @__PURE__ */
|
|
6936
|
+
children: /* @__PURE__ */ jsx72(
|
|
6693
6937
|
AdsSkeleton,
|
|
6694
6938
|
{
|
|
6695
6939
|
className: cn("w-full rounded-none", classNames?.skeleton),
|
|
@@ -6700,10 +6944,10 @@ function AdsMasonry({
|
|
|
6700
6944
|
)
|
|
6701
6945
|
}
|
|
6702
6946
|
),
|
|
6703
|
-
/* @__PURE__ */
|
|
6704
|
-
/* @__PURE__ */
|
|
6705
|
-
/* @__PURE__ */
|
|
6706
|
-
/* @__PURE__ */
|
|
6947
|
+
/* @__PURE__ */ jsxs37("div", { className: "flex flex-col gap-4 p-lg", children: [
|
|
6948
|
+
/* @__PURE__ */ jsxs37("div", { className: "flex items-start justify-between gap-3", children: [
|
|
6949
|
+
/* @__PURE__ */ jsxs37("div", { className: "flex-1 space-y-2", children: [
|
|
6950
|
+
/* @__PURE__ */ jsx72(
|
|
6707
6951
|
AdsSkeleton,
|
|
6708
6952
|
{
|
|
6709
6953
|
className: cn("h-3 w-16 rounded-full", classNames?.skeleton),
|
|
@@ -6711,7 +6955,7 @@ function AdsMasonry({
|
|
|
6711
6955
|
"data-testid": "ads-masonry-skeleton"
|
|
6712
6956
|
}
|
|
6713
6957
|
),
|
|
6714
|
-
/* @__PURE__ */
|
|
6958
|
+
/* @__PURE__ */ jsx72(
|
|
6715
6959
|
AdsSkeleton,
|
|
6716
6960
|
{
|
|
6717
6961
|
className: cn("h-6 rounded-full", classNames?.skeleton),
|
|
@@ -6721,7 +6965,7 @@ function AdsMasonry({
|
|
|
6721
6965
|
}
|
|
6722
6966
|
)
|
|
6723
6967
|
] }),
|
|
6724
|
-
/* @__PURE__ */
|
|
6968
|
+
/* @__PURE__ */ jsx72(
|
|
6725
6969
|
AdsSkeleton,
|
|
6726
6970
|
{
|
|
6727
6971
|
className: cn("h-6 w-16 rounded-full", classNames?.skeleton),
|
|
@@ -6730,7 +6974,7 @@ function AdsMasonry({
|
|
|
6730
6974
|
}
|
|
6731
6975
|
)
|
|
6732
6976
|
] }),
|
|
6733
|
-
/* @__PURE__ */
|
|
6977
|
+
/* @__PURE__ */ jsx72(
|
|
6734
6978
|
AdsSkeleton,
|
|
6735
6979
|
{
|
|
6736
6980
|
className: cn("h-4 rounded-full", classNames?.skeleton),
|
|
@@ -6749,7 +6993,7 @@ function AdsMasonry({
|
|
|
6749
6993
|
);
|
|
6750
6994
|
}
|
|
6751
6995
|
if (items.length === 0) {
|
|
6752
|
-
return emptyState ? /* @__PURE__ */
|
|
6996
|
+
return emptyState ? /* @__PURE__ */ jsx72(
|
|
6753
6997
|
"div",
|
|
6754
6998
|
{
|
|
6755
6999
|
className: cn(rootClassName, classNames?.empty),
|
|
@@ -6758,7 +7002,7 @@ function AdsMasonry({
|
|
|
6758
7002
|
}
|
|
6759
7003
|
) : null;
|
|
6760
7004
|
}
|
|
6761
|
-
return /* @__PURE__ */
|
|
7005
|
+
return /* @__PURE__ */ jsx72(
|
|
6762
7006
|
Masonry,
|
|
6763
7007
|
{
|
|
6764
7008
|
className: rootClassName,
|
|
@@ -6770,7 +7014,7 @@ function AdsMasonry({
|
|
|
6770
7014
|
maxColumnCount,
|
|
6771
7015
|
onRender,
|
|
6772
7016
|
overscanBy,
|
|
6773
|
-
render: ({ data, index, width }) => /* @__PURE__ */
|
|
7017
|
+
render: ({ data, index, width }) => /* @__PURE__ */ jsx72(
|
|
6774
7018
|
"div",
|
|
6775
7019
|
{
|
|
6776
7020
|
className: cn("pb-0", classNames?.item, itemClassName),
|
|
@@ -6804,6 +7048,7 @@ export {
|
|
|
6804
7048
|
AdsAlertDialogTrigger,
|
|
6805
7049
|
AlertTitle2 as AdsAlertTitle,
|
|
6806
7050
|
AdsBadge,
|
|
7051
|
+
AdsBarChart,
|
|
6807
7052
|
AdsBreadcrumb,
|
|
6808
7053
|
AdsBreadcrumbEllipsis,
|
|
6809
7054
|
AdsBreadcrumbItem,
|
|
@@ -6880,6 +7125,7 @@ export {
|
|
|
6880
7125
|
AdsPopoverTitle,
|
|
6881
7126
|
AdsPopoverTrigger,
|
|
6882
7127
|
AdsProgress,
|
|
7128
|
+
AdsRadialProgressChart,
|
|
6883
7129
|
AdsRadioGroup,
|
|
6884
7130
|
AdsRadioGroupCardOption,
|
|
6885
7131
|
AdsRadioGroupOption,
|
|
@@ -6897,7 +7143,9 @@ export {
|
|
|
6897
7143
|
AdsSeparator,
|
|
6898
7144
|
AdsSkeleton,
|
|
6899
7145
|
AdsSlider,
|
|
7146
|
+
AdsSparklineChart,
|
|
6900
7147
|
AdsSpinner,
|
|
7148
|
+
AdsStackedBarChart,
|
|
6901
7149
|
AdsSwitch,
|
|
6902
7150
|
AdsTable,
|
|
6903
7151
|
AdsTableBody,
|