@adsgency_npm/adsgency-ads-ui 0.1.0-alpha.23 → 0.1.0-alpha.25
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 +575 -174
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +96 -1
- package/dist/index.d.ts +96 -1
- package/dist/index.js +570 -174
- package/dist/index.js.map +1 -1
- package/package.json +3 -1
package/dist/index.cjs
CHANGED
|
@@ -48,6 +48,7 @@ __export(src_exports, {
|
|
|
48
48
|
AdsAlertDialogTrigger: () => AdsAlertDialogTrigger,
|
|
49
49
|
AdsAlertTitle: () => AlertTitle2,
|
|
50
50
|
AdsBadge: () => AdsBadge,
|
|
51
|
+
AdsBarChart: () => AdsBarChart,
|
|
51
52
|
AdsBreadcrumb: () => AdsBreadcrumb,
|
|
52
53
|
AdsBreadcrumbEllipsis: () => AdsBreadcrumbEllipsis,
|
|
53
54
|
AdsBreadcrumbItem: () => AdsBreadcrumbItem,
|
|
@@ -69,6 +70,7 @@ __export(src_exports, {
|
|
|
69
70
|
AdsDatePicker: () => AdsDatePicker,
|
|
70
71
|
AdsDateTimePicker: () => AdsDateTimePicker,
|
|
71
72
|
AdsDialog: () => AdsDialog,
|
|
73
|
+
AdsDialogBody: () => AdsDialogBody,
|
|
72
74
|
AdsDialogClose: () => AdsDialogClose,
|
|
73
75
|
AdsDialogContent: () => AdsDialogContent,
|
|
74
76
|
AdsDialogDescription: () => AdsDialogDescription,
|
|
@@ -124,6 +126,7 @@ __export(src_exports, {
|
|
|
124
126
|
AdsPopoverTitle: () => AdsPopoverTitle,
|
|
125
127
|
AdsPopoverTrigger: () => AdsPopoverTrigger,
|
|
126
128
|
AdsProgress: () => AdsProgress,
|
|
129
|
+
AdsRadialProgressChart: () => AdsRadialProgressChart,
|
|
127
130
|
AdsRadioGroup: () => AdsRadioGroup,
|
|
128
131
|
AdsRadioGroupCardOption: () => AdsRadioGroupCardOption,
|
|
129
132
|
AdsRadioGroupOption: () => AdsRadioGroupOption,
|
|
@@ -141,7 +144,9 @@ __export(src_exports, {
|
|
|
141
144
|
AdsSeparator: () => AdsSeparator,
|
|
142
145
|
AdsSkeleton: () => AdsSkeleton,
|
|
143
146
|
AdsSlider: () => AdsSlider,
|
|
147
|
+
AdsSparklineChart: () => AdsSparklineChart,
|
|
144
148
|
AdsSpinner: () => AdsSpinner,
|
|
149
|
+
AdsStackedBarChart: () => AdsStackedBarChart,
|
|
145
150
|
AdsSwitch: () => AdsSwitch,
|
|
146
151
|
AdsTable: () => AdsTable,
|
|
147
152
|
AdsTableBody: () => AdsTableBody,
|
|
@@ -5869,14 +5874,458 @@ var AdsProgress = React46.forwardRef(
|
|
|
5869
5874
|
);
|
|
5870
5875
|
AdsProgress.displayName = "AdsProgress";
|
|
5871
5876
|
|
|
5872
|
-
// src/components/
|
|
5877
|
+
// src/components/AdsRadialProgressChart/index.tsx
|
|
5878
|
+
var import_recharts2 = require("recharts");
|
|
5879
|
+
|
|
5880
|
+
// src/primitives/chart.tsx
|
|
5881
|
+
var React47 = __toESM(require("react"), 1);
|
|
5882
|
+
var import_recharts = require("recharts");
|
|
5883
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
5884
|
+
var chartContext = React47.createContext(null);
|
|
5885
|
+
var ChartContainer = React47.forwardRef(
|
|
5886
|
+
({ children, className, config, height = 240, style, ...props }, ref) => {
|
|
5887
|
+
const chartStyle = Object.entries(config).reduce((variables, [key, item]) => {
|
|
5888
|
+
if (item.color) {
|
|
5889
|
+
variables[`--color-${key}`] = item.color;
|
|
5890
|
+
}
|
|
5891
|
+
return variables;
|
|
5892
|
+
}, {});
|
|
5893
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(chartContext.Provider, { value: config, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
5894
|
+
"div",
|
|
5895
|
+
{
|
|
5896
|
+
className: cn("relative w-full text-xs", className),
|
|
5897
|
+
"data-slot": "chart",
|
|
5898
|
+
ref,
|
|
5899
|
+
style: { height, ...chartStyle, ...style },
|
|
5900
|
+
...props,
|
|
5901
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_recharts.ResponsiveContainer, { height: "100%", width: "100%", children })
|
|
5902
|
+
}
|
|
5903
|
+
) });
|
|
5904
|
+
}
|
|
5905
|
+
);
|
|
5906
|
+
ChartContainer.displayName = "ChartContainer";
|
|
5907
|
+
|
|
5908
|
+
// src/components/AdsRadialProgressChart/index.tsx
|
|
5909
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
5910
|
+
var DEFAULT_SIZE = 160;
|
|
5911
|
+
var DEFAULT_STROKE_WIDTH = 14;
|
|
5912
|
+
var tooltipContentStyle = {
|
|
5913
|
+
backgroundColor: "var(--popover)",
|
|
5914
|
+
border: "1px solid var(--border)",
|
|
5915
|
+
borderRadius: 6,
|
|
5916
|
+
color: "var(--popover-foreground)",
|
|
5917
|
+
padding: "8px 12px"
|
|
5918
|
+
};
|
|
5919
|
+
function clamp(value, min, max) {
|
|
5920
|
+
return Math.min(Math.max(value, min), max);
|
|
5921
|
+
}
|
|
5922
|
+
function AdsRadialProgressChart({
|
|
5923
|
+
ariaLabel,
|
|
5924
|
+
className,
|
|
5925
|
+
color = "var(--primary)",
|
|
5926
|
+
label,
|
|
5927
|
+
max = 100,
|
|
5928
|
+
size = DEFAULT_SIZE,
|
|
5929
|
+
showTooltip = true,
|
|
5930
|
+
strokeWidth = DEFAULT_STROKE_WIDTH,
|
|
5931
|
+
trackColor = "color-mix(in srgb, var(--primary) 20%, transparent)",
|
|
5932
|
+
value
|
|
5933
|
+
}) {
|
|
5934
|
+
const safeMax = Number.isFinite(max) && max > 0 ? max : 0;
|
|
5935
|
+
const safeValue = Number.isFinite(value) && safeMax > 0 ? clamp(value, 0, safeMax) : 0;
|
|
5936
|
+
const percentage = safeMax > 0 ? Math.round(safeValue / safeMax * 100) : 0;
|
|
5937
|
+
const safeSize = Number.isFinite(size) && size > 0 ? size : DEFAULT_SIZE;
|
|
5938
|
+
const safeStrokeWidth = clamp(
|
|
5939
|
+
Number.isFinite(strokeWidth) && strokeWidth > 0 ? strokeWidth : DEFAULT_STROKE_WIDTH,
|
|
5940
|
+
1,
|
|
5941
|
+
safeSize / 2
|
|
5942
|
+
);
|
|
5943
|
+
const chartData = [{ value: safeValue }];
|
|
5944
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
5945
|
+
"div",
|
|
5946
|
+
{
|
|
5947
|
+
"aria-label": ariaLabel ?? `${percentage}%`,
|
|
5948
|
+
className: cn(
|
|
5949
|
+
"relative inline-grid place-items-center",
|
|
5950
|
+
className
|
|
5951
|
+
),
|
|
5952
|
+
"data-testid": "ads-radial-progress-chart",
|
|
5953
|
+
role: "img",
|
|
5954
|
+
style: {
|
|
5955
|
+
"--ads-radial-chart-size": `${safeSize}px`,
|
|
5956
|
+
height: safeSize,
|
|
5957
|
+
width: safeSize
|
|
5958
|
+
},
|
|
5959
|
+
children: [
|
|
5960
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
5961
|
+
ChartContainer,
|
|
5962
|
+
{
|
|
5963
|
+
"aria-hidden": "true",
|
|
5964
|
+
className: "absolute inset-0",
|
|
5965
|
+
config: { value: { color } },
|
|
5966
|
+
height: "100%",
|
|
5967
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
5968
|
+
import_recharts2.RadialBarChart,
|
|
5969
|
+
{
|
|
5970
|
+
accessibilityLayer: true,
|
|
5971
|
+
data: chartData,
|
|
5972
|
+
endAngle: -270,
|
|
5973
|
+
innerRadius: safeSize / 2 - safeStrokeWidth,
|
|
5974
|
+
outerRadius: safeSize / 2,
|
|
5975
|
+
startAngle: 90,
|
|
5976
|
+
children: [
|
|
5977
|
+
showTooltip && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_recharts2.Tooltip, { contentStyle: tooltipContentStyle, cursor: false }),
|
|
5978
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
5979
|
+
import_recharts2.PolarAngleAxis,
|
|
5980
|
+
{
|
|
5981
|
+
axisLine: false,
|
|
5982
|
+
dataKey: "value",
|
|
5983
|
+
domain: [0, Math.max(safeMax, 1)],
|
|
5984
|
+
tick: false,
|
|
5985
|
+
type: "number"
|
|
5986
|
+
}
|
|
5987
|
+
),
|
|
5988
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
5989
|
+
import_recharts2.RadialBar,
|
|
5990
|
+
{
|
|
5991
|
+
background: { fill: trackColor },
|
|
5992
|
+
cornerRadius: safeStrokeWidth / 2,
|
|
5993
|
+
dataKey: "value",
|
|
5994
|
+
fill: "var(--color-value)",
|
|
5995
|
+
isAnimationActive: false
|
|
5996
|
+
}
|
|
5997
|
+
)
|
|
5998
|
+
]
|
|
5999
|
+
}
|
|
6000
|
+
)
|
|
6001
|
+
}
|
|
6002
|
+
),
|
|
6003
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "pointer-events-none absolute inset-0 flex items-center justify-center text-center", children: label ?? `${percentage}%` })
|
|
6004
|
+
]
|
|
6005
|
+
}
|
|
6006
|
+
);
|
|
6007
|
+
}
|
|
6008
|
+
|
|
6009
|
+
// src/components/AdsSparklineChart/index.tsx
|
|
6010
|
+
var import_recharts3 = require("recharts");
|
|
6011
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
6012
|
+
var DEFAULT_HEIGHT = 40;
|
|
6013
|
+
var tooltipContentStyle2 = {
|
|
6014
|
+
backgroundColor: "var(--popover)",
|
|
6015
|
+
border: "1px solid var(--border)",
|
|
6016
|
+
borderRadius: 6,
|
|
6017
|
+
color: "var(--popover-foreground)",
|
|
6018
|
+
padding: "8px 12px"
|
|
6019
|
+
};
|
|
6020
|
+
function getSafeHeight(height) {
|
|
6021
|
+
return Number.isFinite(height) && height && height > 0 ? height : DEFAULT_HEIGHT;
|
|
6022
|
+
}
|
|
6023
|
+
function getSafeValue(value) {
|
|
6024
|
+
return typeof value === "number" && Number.isFinite(value) ? Math.max(value, 0) : 0;
|
|
6025
|
+
}
|
|
6026
|
+
function AdsSparklineChart({
|
|
6027
|
+
ariaLabel,
|
|
6028
|
+
className,
|
|
6029
|
+
color = "var(--chart-1)",
|
|
6030
|
+
data,
|
|
6031
|
+
dataKey,
|
|
6032
|
+
height,
|
|
6033
|
+
showTooltip = true,
|
|
6034
|
+
xKey
|
|
6035
|
+
}) {
|
|
6036
|
+
const chartData = data.map((datum) => ({
|
|
6037
|
+
...datum,
|
|
6038
|
+
[xKey]: datum[xKey],
|
|
6039
|
+
[dataKey]: getSafeValue(datum[dataKey])
|
|
6040
|
+
}));
|
|
6041
|
+
const safeHeight = getSafeHeight(height);
|
|
6042
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6043
|
+
"div",
|
|
6044
|
+
{
|
|
6045
|
+
"aria-label": ariaLabel ?? "Trend chart",
|
|
6046
|
+
className: cn("w-full", className),
|
|
6047
|
+
"data-testid": "ads-sparkline-chart",
|
|
6048
|
+
role: "img",
|
|
6049
|
+
style: { height: safeHeight },
|
|
6050
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6051
|
+
ChartContainer,
|
|
6052
|
+
{
|
|
6053
|
+
"aria-hidden": "true",
|
|
6054
|
+
className: "h-full",
|
|
6055
|
+
config: { value: { color } },
|
|
6056
|
+
height: "100%",
|
|
6057
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_recharts3.LineChart, { data: chartData, margin: { bottom: 1, left: 1, right: 1, top: 1 }, children: [
|
|
6058
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_recharts3.XAxis, { dataKey: xKey, hide: true, type: "category" }),
|
|
6059
|
+
showTooltip && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_recharts3.Tooltip, { contentStyle: tooltipContentStyle2, cursor: false }),
|
|
6060
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6061
|
+
import_recharts3.Line,
|
|
6062
|
+
{
|
|
6063
|
+
activeDot: false,
|
|
6064
|
+
dataKey,
|
|
6065
|
+
dot: false,
|
|
6066
|
+
isAnimationActive: false,
|
|
6067
|
+
stroke: "var(--color-value)",
|
|
6068
|
+
strokeWidth: 2,
|
|
6069
|
+
type: "monotone"
|
|
6070
|
+
}
|
|
6071
|
+
)
|
|
6072
|
+
] })
|
|
6073
|
+
}
|
|
6074
|
+
)
|
|
6075
|
+
}
|
|
6076
|
+
);
|
|
6077
|
+
}
|
|
6078
|
+
|
|
6079
|
+
// src/components/AdsStackedBarChart/index.tsx
|
|
6080
|
+
var React50 = __toESM(require("react"), 1);
|
|
6081
|
+
|
|
6082
|
+
// src/components/AdsTooltip/index.tsx
|
|
6083
|
+
var React49 = __toESM(require("react"), 1);
|
|
6084
|
+
|
|
6085
|
+
// src/primitives/tooltip.tsx
|
|
5873
6086
|
var React48 = __toESM(require("react"), 1);
|
|
6087
|
+
var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
|
|
6088
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
6089
|
+
var TooltipProvider = TooltipPrimitive.Provider;
|
|
6090
|
+
var Tooltip3 = TooltipPrimitive.Root;
|
|
6091
|
+
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
6092
|
+
var TooltipArrow = TooltipPrimitive.Arrow;
|
|
6093
|
+
var TooltipContent = React48.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(TooltipPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
6094
|
+
TooltipPrimitive.Content,
|
|
6095
|
+
{
|
|
6096
|
+
className: cn(
|
|
6097
|
+
"z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",
|
|
6098
|
+
className
|
|
6099
|
+
),
|
|
6100
|
+
ref,
|
|
6101
|
+
sideOffset,
|
|
6102
|
+
...props
|
|
6103
|
+
}
|
|
6104
|
+
) }));
|
|
6105
|
+
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
6106
|
+
|
|
6107
|
+
// src/components/AdsTooltip/index.tsx
|
|
6108
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
6109
|
+
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)]";
|
|
6110
|
+
var AdsTooltipProvider = TooltipProvider;
|
|
6111
|
+
var AdsTooltip = Tooltip3;
|
|
6112
|
+
var AdsTooltipTrigger = TooltipTrigger;
|
|
6113
|
+
var AdsTooltipContent = React49.forwardRef(({ align = "center", className, sideOffset = 10, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
6114
|
+
TooltipContent,
|
|
6115
|
+
{
|
|
6116
|
+
align,
|
|
6117
|
+
className: cn(tooltipContentClassName, className),
|
|
6118
|
+
ref,
|
|
6119
|
+
sideOffset,
|
|
6120
|
+
...props
|
|
6121
|
+
}
|
|
6122
|
+
));
|
|
6123
|
+
AdsTooltipContent.displayName = "AdsTooltipContent";
|
|
6124
|
+
var AdsTooltipArrow = React49.forwardRef(({ className, height = 5, width = 10, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
6125
|
+
TooltipArrow,
|
|
6126
|
+
{
|
|
6127
|
+
className: cn("fill-[#844fff]", className),
|
|
6128
|
+
height,
|
|
6129
|
+
ref,
|
|
6130
|
+
width,
|
|
6131
|
+
...props
|
|
6132
|
+
}
|
|
6133
|
+
));
|
|
6134
|
+
AdsTooltipArrow.displayName = "AdsTooltipArrow";
|
|
6135
|
+
|
|
6136
|
+
// src/components/AdsStackedBarChart/index.tsx
|
|
6137
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
6138
|
+
var DEFAULT_HEIGHT2 = 20;
|
|
6139
|
+
var DEFAULT_SEGMENT_COLOR = "var(--chart-1)";
|
|
6140
|
+
function getSafeHeight2(height) {
|
|
6141
|
+
return Number.isFinite(height) && height && height > 0 ? height : DEFAULT_HEIGHT2;
|
|
6142
|
+
}
|
|
6143
|
+
function formatPercentage(percentage) {
|
|
6144
|
+
return `${Number(percentage.toFixed(2))}%`;
|
|
6145
|
+
}
|
|
6146
|
+
function AdsStackedBarChart({
|
|
6147
|
+
ariaLabel,
|
|
6148
|
+
className,
|
|
6149
|
+
height,
|
|
6150
|
+
showTooltip = true,
|
|
6151
|
+
segments
|
|
6152
|
+
}) {
|
|
6153
|
+
const descriptionId = React50.useId();
|
|
6154
|
+
const validSegments = segments.reduce((items, segment, index) => {
|
|
6155
|
+
const value = Number.isFinite(segment.value) ? Math.max(segment.value, 0) : 0;
|
|
6156
|
+
if (value > 0) {
|
|
6157
|
+
items.push({
|
|
6158
|
+
color: segment.color ?? DEFAULT_SEGMENT_COLOR,
|
|
6159
|
+
label: segment.label ?? `Segment ${index + 1}`,
|
|
6160
|
+
value
|
|
6161
|
+
});
|
|
6162
|
+
}
|
|
6163
|
+
return items;
|
|
6164
|
+
}, []);
|
|
6165
|
+
const normalizationBase = validSegments.reduce(
|
|
6166
|
+
(maximum, segment) => Math.max(maximum, segment.value),
|
|
6167
|
+
0
|
|
6168
|
+
);
|
|
6169
|
+
const normalizedTotal = normalizationBase > 0 ? validSegments.reduce((sum, segment) => sum + segment.value / normalizationBase, 0) : 0;
|
|
6170
|
+
const hasData = normalizedTotal > 0 && Number.isFinite(normalizedTotal);
|
|
6171
|
+
const getPercentage = (value) => value / normalizationBase / normalizedTotal * 100;
|
|
6172
|
+
const summary = hasData ? validSegments.map((segment) => `${segment.label}: ${formatPercentage(getPercentage(segment.value))}`).join(", ") : "No data";
|
|
6173
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
|
|
6174
|
+
"div",
|
|
6175
|
+
{
|
|
6176
|
+
"aria-label": ariaLabel ?? summary,
|
|
6177
|
+
"aria-describedby": ariaLabel ? descriptionId : void 0,
|
|
6178
|
+
className: cn("overflow-hidden rounded-full bg-muted", className),
|
|
6179
|
+
"data-testid": "ads-stacked-bar-chart",
|
|
6180
|
+
role: "img",
|
|
6181
|
+
style: { height: getSafeHeight2(height) },
|
|
6182
|
+
children: [
|
|
6183
|
+
ariaLabel && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "sr-only", id: descriptionId, children: summary }),
|
|
6184
|
+
hasData && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(AdsTooltipProvider, { delayDuration: 100, children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "flex size-full", children: validSegments.map((segment, index) => {
|
|
6185
|
+
const percentage = getPercentage(segment.value);
|
|
6186
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(AdsTooltip, { children: [
|
|
6187
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(AdsTooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
6188
|
+
"div",
|
|
6189
|
+
{
|
|
6190
|
+
"aria-label": `${segment.label}: ${segment.value}`,
|
|
6191
|
+
"data-testid": "ads-stacked-bar-chart-segment",
|
|
6192
|
+
role: "img",
|
|
6193
|
+
style: { backgroundColor: segment.color, width: `${percentage}%` },
|
|
6194
|
+
tabIndex: showTooltip ? 0 : -1
|
|
6195
|
+
}
|
|
6196
|
+
) }),
|
|
6197
|
+
showTooltip && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(AdsTooltipContent, { children: [
|
|
6198
|
+
segment.label,
|
|
6199
|
+
": ",
|
|
6200
|
+
segment.value
|
|
6201
|
+
] })
|
|
6202
|
+
] }, `${segment.label}-${index}`);
|
|
6203
|
+
}) }) })
|
|
6204
|
+
]
|
|
6205
|
+
}
|
|
6206
|
+
);
|
|
6207
|
+
}
|
|
6208
|
+
|
|
6209
|
+
// src/components/AdsBarChart/index.tsx
|
|
6210
|
+
var import_recharts4 = require("recharts");
|
|
6211
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
6212
|
+
var DEFAULT_HEIGHT3 = 160;
|
|
6213
|
+
var DEFAULT_HIGHLIGHT_COLOR = "var(--chart-2)";
|
|
6214
|
+
var DEFAULT_RADIUS = 4;
|
|
6215
|
+
var tooltipContentStyle3 = {
|
|
6216
|
+
backgroundColor: "var(--popover)",
|
|
6217
|
+
border: "1px solid var(--border)",
|
|
6218
|
+
borderRadius: 6,
|
|
6219
|
+
color: "var(--popover-foreground)",
|
|
6220
|
+
padding: "8px 12px"
|
|
6221
|
+
};
|
|
6222
|
+
function getSafeHeight3(height) {
|
|
6223
|
+
return Number.isFinite(height) && height && height > 0 ? height : DEFAULT_HEIGHT3;
|
|
6224
|
+
}
|
|
6225
|
+
function getSafeRadius(radius) {
|
|
6226
|
+
return Number.isFinite(radius) && radius !== void 0 && radius >= 0 ? radius : DEFAULT_RADIUS;
|
|
6227
|
+
}
|
|
6228
|
+
function getSafeValue2(value) {
|
|
6229
|
+
return typeof value === "number" && Number.isFinite(value) ? Math.max(value, 0) : 0;
|
|
6230
|
+
}
|
|
6231
|
+
function AdsBarChart({
|
|
6232
|
+
ariaLabel,
|
|
6233
|
+
barRadius,
|
|
6234
|
+
barSize,
|
|
6235
|
+
className,
|
|
6236
|
+
color = "var(--chart-1)",
|
|
6237
|
+
data,
|
|
6238
|
+
dataKey,
|
|
6239
|
+
height,
|
|
6240
|
+
highlightColor,
|
|
6241
|
+
highlightIndex,
|
|
6242
|
+
showTooltip = true,
|
|
6243
|
+
xAxis,
|
|
6244
|
+
xKey,
|
|
6245
|
+
yAxis
|
|
6246
|
+
}) {
|
|
6247
|
+
const chartData = data.map((datum) => ({
|
|
6248
|
+
...datum,
|
|
6249
|
+
[xKey]: datum[xKey],
|
|
6250
|
+
[dataKey]: getSafeValue2(datum[dataKey])
|
|
6251
|
+
}));
|
|
6252
|
+
const safeHeight = getSafeHeight3(height);
|
|
6253
|
+
const safeRadius = getSafeRadius(barRadius);
|
|
6254
|
+
const safeHighlightIndex = Number.isInteger(highlightIndex) ? highlightIndex : -1;
|
|
6255
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
6256
|
+
"div",
|
|
6257
|
+
{
|
|
6258
|
+
"aria-label": ariaLabel ?? "Bar chart",
|
|
6259
|
+
className: cn("w-full", className),
|
|
6260
|
+
"data-testid": "ads-bar-chart",
|
|
6261
|
+
role: "img",
|
|
6262
|
+
style: { height: safeHeight },
|
|
6263
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
6264
|
+
ChartContainer,
|
|
6265
|
+
{
|
|
6266
|
+
"aria-hidden": "true",
|
|
6267
|
+
className: "h-full",
|
|
6268
|
+
config: { value: { color } },
|
|
6269
|
+
height: "100%",
|
|
6270
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_recharts4.BarChart, { data: chartData, margin: { bottom: 0, left: 0, right: 0, top: 0 }, children: [
|
|
6271
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
6272
|
+
import_recharts4.XAxis,
|
|
6273
|
+
{
|
|
6274
|
+
axisLine: xAxis?.axisLine ?? false,
|
|
6275
|
+
dataKey: xKey,
|
|
6276
|
+
hide: xAxis?.hide ?? true,
|
|
6277
|
+
tick: xAxis?.tick ?? true,
|
|
6278
|
+
tickLine: xAxis?.tickLine ?? false,
|
|
6279
|
+
tickMargin: xAxis?.tickMargin,
|
|
6280
|
+
type: "category"
|
|
6281
|
+
}
|
|
6282
|
+
),
|
|
6283
|
+
yAxis && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
6284
|
+
import_recharts4.YAxis,
|
|
6285
|
+
{
|
|
6286
|
+
axisLine: yAxis.axisLine ?? false,
|
|
6287
|
+
domain: yAxis.domain,
|
|
6288
|
+
tick: yAxis.tick ?? true,
|
|
6289
|
+
tickCount: yAxis.tickCount,
|
|
6290
|
+
tickLine: yAxis.tickLine ?? false,
|
|
6291
|
+
tickMargin: yAxis.tickMargin,
|
|
6292
|
+
ticks: yAxis.ticks,
|
|
6293
|
+
width: yAxis.width
|
|
6294
|
+
}
|
|
6295
|
+
),
|
|
6296
|
+
showTooltip && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_recharts4.Tooltip, { contentStyle: tooltipContentStyle3, cursor: { fill: "transparent" } }),
|
|
6297
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
6298
|
+
import_recharts4.Bar,
|
|
6299
|
+
{
|
|
6300
|
+
barSize,
|
|
6301
|
+
dataKey,
|
|
6302
|
+
fill: "var(--color-value)",
|
|
6303
|
+
isAnimationActive: false,
|
|
6304
|
+
radius: safeRadius,
|
|
6305
|
+
children: chartData.map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
6306
|
+
import_recharts4.Cell,
|
|
6307
|
+
{
|
|
6308
|
+
fill: index === safeHighlightIndex ? highlightColor ?? DEFAULT_HIGHLIGHT_COLOR : "var(--color-value)"
|
|
6309
|
+
},
|
|
6310
|
+
index
|
|
6311
|
+
))
|
|
6312
|
+
}
|
|
6313
|
+
)
|
|
6314
|
+
] })
|
|
6315
|
+
}
|
|
6316
|
+
)
|
|
6317
|
+
}
|
|
6318
|
+
);
|
|
6319
|
+
}
|
|
6320
|
+
|
|
6321
|
+
// src/components/AdsSlider/index.tsx
|
|
6322
|
+
var React52 = __toESM(require("react"), 1);
|
|
5874
6323
|
|
|
5875
6324
|
// src/primitives/slider.tsx
|
|
5876
|
-
var
|
|
6325
|
+
var React51 = __toESM(require("react"), 1);
|
|
5877
6326
|
var SliderPrimitive = __toESM(require("@radix-ui/react-slider"), 1);
|
|
5878
|
-
var
|
|
5879
|
-
var Slider =
|
|
6327
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
6328
|
+
var Slider = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
|
|
5880
6329
|
SliderPrimitive.Root,
|
|
5881
6330
|
{
|
|
5882
6331
|
ref,
|
|
@@ -5886,10 +6335,10 @@ var Slider = React47.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
5886
6335
|
),
|
|
5887
6336
|
...props,
|
|
5888
6337
|
children: [
|
|
5889
|
-
/* @__PURE__ */ (0,
|
|
6338
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(SliderPrimitive.Track, { className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
|
|
5890
6339
|
Array.from({
|
|
5891
6340
|
length: Array.isArray(props.value) ? props.value.length : Array.isArray(props.defaultValue) ? props.defaultValue.length : 1
|
|
5892
|
-
}).map((_, index) => /* @__PURE__ */ (0,
|
|
6341
|
+
}).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
5893
6342
|
SliderPrimitive.Thumb,
|
|
5894
6343
|
{
|
|
5895
6344
|
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"
|
|
@@ -5902,11 +6351,11 @@ var Slider = React47.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
5902
6351
|
Slider.displayName = SliderPrimitive.Root.displayName;
|
|
5903
6352
|
|
|
5904
6353
|
// src/components/AdsSlider/index.tsx
|
|
5905
|
-
var
|
|
6354
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
5906
6355
|
var sliderBaseClassName = "py-1";
|
|
5907
|
-
var Slider2 =
|
|
6356
|
+
var Slider2 = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Slider, { className: cn(sliderBaseClassName, className), ref, ...props }));
|
|
5908
6357
|
Slider2.displayName = "Slider";
|
|
5909
|
-
var AdsSlider =
|
|
6358
|
+
var AdsSlider = React52.forwardRef(
|
|
5910
6359
|
({
|
|
5911
6360
|
className,
|
|
5912
6361
|
descriptionPlacement = "above",
|
|
@@ -5921,12 +6370,12 @@ var AdsSlider = React48.forwardRef(
|
|
|
5921
6370
|
helperText,
|
|
5922
6371
|
id
|
|
5923
6372
|
});
|
|
5924
|
-
const helperNode = helperText ? /* @__PURE__ */ (0,
|
|
5925
|
-
const errorNode = errorText ? /* @__PURE__ */ (0,
|
|
5926
|
-
return /* @__PURE__ */ (0,
|
|
5927
|
-
label ? /* @__PURE__ */ (0,
|
|
6373
|
+
const helperNode = helperText ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(AdsFieldDescription, { id: description.helperId, children: helperText }) : null;
|
|
6374
|
+
const errorNode = errorText ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(AdsFieldError, { id: description.errorId, children: errorText }) : null;
|
|
6375
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(AdsFieldItem, { children: [
|
|
6376
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(AdsFieldLabel, { children: label }) : null,
|
|
5928
6377
|
descriptionPlacement === "above" ? helperNode : null,
|
|
5929
|
-
/* @__PURE__ */ (0,
|
|
6378
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
5930
6379
|
Slider2,
|
|
5931
6380
|
{
|
|
5932
6381
|
"aria-describedby": description.describedBy,
|
|
@@ -5943,13 +6392,13 @@ var AdsSlider = React48.forwardRef(
|
|
|
5943
6392
|
AdsSlider.displayName = "AdsSlider";
|
|
5944
6393
|
|
|
5945
6394
|
// src/components/AdsSwitch/index.tsx
|
|
5946
|
-
var
|
|
6395
|
+
var React54 = __toESM(require("react"), 1);
|
|
5947
6396
|
|
|
5948
6397
|
// src/primitives/switch.tsx
|
|
5949
|
-
var
|
|
6398
|
+
var React53 = __toESM(require("react"), 1);
|
|
5950
6399
|
var SwitchPrimitives = __toESM(require("@radix-ui/react-switch"), 1);
|
|
5951
|
-
var
|
|
5952
|
-
var Switch =
|
|
6400
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
6401
|
+
var Switch = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
5953
6402
|
SwitchPrimitives.Root,
|
|
5954
6403
|
{
|
|
5955
6404
|
className: cn(
|
|
@@ -5958,7 +6407,7 @@ var Switch = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
5958
6407
|
),
|
|
5959
6408
|
...props,
|
|
5960
6409
|
ref,
|
|
5961
|
-
children: /* @__PURE__ */ (0,
|
|
6410
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
5962
6411
|
SwitchPrimitives.Thumb,
|
|
5963
6412
|
{
|
|
5964
6413
|
className: cn(
|
|
@@ -5971,15 +6420,15 @@ var Switch = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
5971
6420
|
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
5972
6421
|
|
|
5973
6422
|
// src/components/AdsSwitch/index.tsx
|
|
5974
|
-
var
|
|
6423
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
5975
6424
|
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";
|
|
5976
|
-
var Switch2 =
|
|
6425
|
+
var Switch2 = React54.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Switch, { className: cn(switchBaseClassName, className), ref, ...props }));
|
|
5977
6426
|
Switch2.displayName = "Switch";
|
|
5978
|
-
var AdsSwitch =
|
|
5979
|
-
const generatedId =
|
|
6427
|
+
var AdsSwitch = React54.forwardRef(({ className, description, id, label, switchClassName, wrapperClassName, ...props }, ref) => {
|
|
6428
|
+
const generatedId = React54.useId();
|
|
5980
6429
|
const inputId = id ?? generatedId;
|
|
5981
6430
|
if (!label) {
|
|
5982
|
-
return /* @__PURE__ */ (0,
|
|
6431
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
5983
6432
|
Switch2,
|
|
5984
6433
|
{
|
|
5985
6434
|
className: cn(className, switchClassName),
|
|
@@ -5989,12 +6438,12 @@ var AdsSwitch = React50.forwardRef(({ className, description, id, label, switchC
|
|
|
5989
6438
|
}
|
|
5990
6439
|
);
|
|
5991
6440
|
}
|
|
5992
|
-
return /* @__PURE__ */ (0,
|
|
5993
|
-
/* @__PURE__ */ (0,
|
|
5994
|
-
/* @__PURE__ */ (0,
|
|
5995
|
-
description ? /* @__PURE__ */ (0,
|
|
6441
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("label", { className: cn("block w-full cursor-pointer", wrapperClassName), htmlFor: inputId, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex w-full items-start gap-3", children: [
|
|
6442
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-1.5 pt-0.5", children: [
|
|
6443
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "text-sm font-medium leading-5 text-foreground", children: label }),
|
|
6444
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(AdsFieldDescription, { className: "text-sm leading-5", children: description }) : null
|
|
5996
6445
|
] }),
|
|
5997
|
-
/* @__PURE__ */ (0,
|
|
6446
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
5998
6447
|
Switch2,
|
|
5999
6448
|
{
|
|
6000
6449
|
className: cn(className, switchClassName),
|
|
@@ -6008,14 +6457,14 @@ var AdsSwitch = React50.forwardRef(({ className, description, id, label, switchC
|
|
|
6008
6457
|
AdsSwitch.displayName = "AdsSwitch";
|
|
6009
6458
|
|
|
6010
6459
|
// src/components/AdsTabs/index.tsx
|
|
6011
|
-
var
|
|
6460
|
+
var React56 = __toESM(require("react"), 1);
|
|
6012
6461
|
|
|
6013
6462
|
// src/primitives/tabs.tsx
|
|
6014
|
-
var
|
|
6463
|
+
var React55 = __toESM(require("react"), 1);
|
|
6015
6464
|
var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"), 1);
|
|
6016
|
-
var
|
|
6465
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
6017
6466
|
var Tabs = TabsPrimitive.Root;
|
|
6018
|
-
var TabsList =
|
|
6467
|
+
var TabsList = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
6019
6468
|
TabsPrimitive.List,
|
|
6020
6469
|
{
|
|
6021
6470
|
className: cn("inline-flex items-center", className),
|
|
@@ -6024,7 +6473,7 @@ var TabsList = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
6024
6473
|
}
|
|
6025
6474
|
));
|
|
6026
6475
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
6027
|
-
var TabsTrigger =
|
|
6476
|
+
var TabsTrigger = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
6028
6477
|
TabsPrimitive.Trigger,
|
|
6029
6478
|
{
|
|
6030
6479
|
className: cn(
|
|
@@ -6036,7 +6485,7 @@ var TabsTrigger = React51.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
6036
6485
|
}
|
|
6037
6486
|
));
|
|
6038
6487
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
6039
|
-
var TabsContent =
|
|
6488
|
+
var TabsContent = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
6040
6489
|
TabsPrimitive.Content,
|
|
6041
6490
|
{
|
|
6042
6491
|
className: cn("focus-visible:outline-none", className),
|
|
@@ -6047,9 +6496,9 @@ var TabsContent = React51.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
6047
6496
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
6048
6497
|
|
|
6049
6498
|
// src/components/AdsTabs/index.tsx
|
|
6050
|
-
var
|
|
6499
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
6051
6500
|
var AdsTabs = Tabs;
|
|
6052
|
-
var AdsTabsList =
|
|
6501
|
+
var AdsTabsList = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
6053
6502
|
TabsList,
|
|
6054
6503
|
{
|
|
6055
6504
|
className: cn(
|
|
@@ -6061,7 +6510,7 @@ var AdsTabsList = React52.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
6061
6510
|
}
|
|
6062
6511
|
));
|
|
6063
6512
|
AdsTabsList.displayName = "AdsTabsList";
|
|
6064
|
-
var AdsTabsTrigger =
|
|
6513
|
+
var AdsTabsTrigger = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
6065
6514
|
TabsTrigger,
|
|
6066
6515
|
{
|
|
6067
6516
|
className: cn(
|
|
@@ -6073,7 +6522,7 @@ var AdsTabsTrigger = React52.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
6073
6522
|
}
|
|
6074
6523
|
));
|
|
6075
6524
|
AdsTabsTrigger.displayName = "AdsTabsTrigger";
|
|
6076
|
-
var AdsTabsContent =
|
|
6525
|
+
var AdsTabsContent = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
6077
6526
|
TabsContent,
|
|
6078
6527
|
{
|
|
6079
6528
|
className: cn(
|
|
@@ -6087,13 +6536,13 @@ var AdsTabsContent = React52.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
6087
6536
|
AdsTabsContent.displayName = "AdsTabsContent";
|
|
6088
6537
|
|
|
6089
6538
|
// src/components/AdsToggle/index.tsx
|
|
6090
|
-
var
|
|
6539
|
+
var React58 = __toESM(require("react"), 1);
|
|
6091
6540
|
|
|
6092
6541
|
// src/primitives/toggle.tsx
|
|
6093
|
-
var
|
|
6542
|
+
var React57 = __toESM(require("react"), 1);
|
|
6094
6543
|
var TogglePrimitive = __toESM(require("@radix-ui/react-toggle"), 1);
|
|
6095
|
-
var
|
|
6096
|
-
var Toggle =
|
|
6544
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
6545
|
+
var Toggle = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
6097
6546
|
TogglePrimitive.Root,
|
|
6098
6547
|
{
|
|
6099
6548
|
className: cn(
|
|
@@ -6107,7 +6556,7 @@ var Toggle = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
6107
6556
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
6108
6557
|
|
|
6109
6558
|
// src/components/AdsToggle/index.tsx
|
|
6110
|
-
var
|
|
6559
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
6111
6560
|
var sizeClassName3 = {
|
|
6112
6561
|
sm: "!h-8 px-[6px] text-sm",
|
|
6113
6562
|
md: "!h-9 px-md text-sm",
|
|
@@ -6122,10 +6571,10 @@ var variantClassName = {
|
|
|
6122
6571
|
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)]",
|
|
6123
6572
|
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)]"
|
|
6124
6573
|
};
|
|
6125
|
-
var AdsToggle =
|
|
6126
|
-
const childCount =
|
|
6127
|
-
const isIconOnly = childCount === 1 &&
|
|
6128
|
-
return /* @__PURE__ */ (0,
|
|
6574
|
+
var AdsToggle = React58.forwardRef(({ children, className, size = "md", variant = "default", ...props }, ref) => {
|
|
6575
|
+
const childCount = React58.Children.count(children);
|
|
6576
|
+
const isIconOnly = childCount === 1 && React58.isValidElement(children);
|
|
6577
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
6129
6578
|
Toggle,
|
|
6130
6579
|
{
|
|
6131
6580
|
className: cn(
|
|
@@ -6144,13 +6593,13 @@ var AdsToggle = React54.forwardRef(({ children, className, size = "md", variant
|
|
|
6144
6593
|
AdsToggle.displayName = "AdsToggle";
|
|
6145
6594
|
|
|
6146
6595
|
// src/components/AdsToggleGroup/index.tsx
|
|
6147
|
-
var
|
|
6596
|
+
var React60 = __toESM(require("react"), 1);
|
|
6148
6597
|
|
|
6149
6598
|
// src/primitives/toggle-group.tsx
|
|
6150
|
-
var
|
|
6599
|
+
var React59 = __toESM(require("react"), 1);
|
|
6151
6600
|
var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
|
|
6152
|
-
var
|
|
6153
|
-
var ToggleGroup =
|
|
6601
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
6602
|
+
var ToggleGroup = React59.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
6154
6603
|
ToggleGroupPrimitive.Root,
|
|
6155
6604
|
{
|
|
6156
6605
|
className: cn("inline-flex items-center justify-start", className),
|
|
@@ -6159,7 +6608,7 @@ var ToggleGroup = React55.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
6159
6608
|
}
|
|
6160
6609
|
));
|
|
6161
6610
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
6162
|
-
var ToggleGroupItem =
|
|
6611
|
+
var ToggleGroupItem = React59.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
6163
6612
|
ToggleGroupPrimitive.Item,
|
|
6164
6613
|
{
|
|
6165
6614
|
className: cn(
|
|
@@ -6173,7 +6622,7 @@ var ToggleGroupItem = React55.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
6173
6622
|
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
6174
6623
|
|
|
6175
6624
|
// src/components/AdsToggleGroup/index.tsx
|
|
6176
|
-
var
|
|
6625
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
6177
6626
|
var sizeClassName4 = {
|
|
6178
6627
|
sm: "h-8 min-w-7 px-[6px] text-sm",
|
|
6179
6628
|
md: "h-9 min-w-[34px] px-md text-sm",
|
|
@@ -6183,8 +6632,8 @@ var variantClassName2 = {
|
|
|
6183
6632
|
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)]",
|
|
6184
6633
|
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)]"
|
|
6185
6634
|
};
|
|
6186
|
-
var AdsToggleGroupContext =
|
|
6187
|
-
var AdsToggleGroup =
|
|
6635
|
+
var AdsToggleGroupContext = React60.createContext(null);
|
|
6636
|
+
var AdsToggleGroup = React60.forwardRef(
|
|
6188
6637
|
({
|
|
6189
6638
|
children,
|
|
6190
6639
|
className,
|
|
@@ -6192,7 +6641,7 @@ var AdsToggleGroup = React56.forwardRef(
|
|
|
6192
6641
|
size = "md",
|
|
6193
6642
|
variant = "default",
|
|
6194
6643
|
...props
|
|
6195
|
-
}, ref) => /* @__PURE__ */ (0,
|
|
6644
|
+
}, ref) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(AdsToggleGroupContext.Provider, { value: { orientation, size, variant }, children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
6196
6645
|
ToggleGroup,
|
|
6197
6646
|
{
|
|
6198
6647
|
className: cn(
|
|
@@ -6208,12 +6657,12 @@ var AdsToggleGroup = React56.forwardRef(
|
|
|
6208
6657
|
) })
|
|
6209
6658
|
);
|
|
6210
6659
|
AdsToggleGroup.displayName = "AdsToggleGroup";
|
|
6211
|
-
var AdsToggleGroupItem =
|
|
6212
|
-
const context =
|
|
6660
|
+
var AdsToggleGroupItem = React60.forwardRef(({ className, size, variant, ...props }, ref) => {
|
|
6661
|
+
const context = React60.useContext(AdsToggleGroupContext);
|
|
6213
6662
|
const resolvedOrientation = context?.orientation ?? "horizontal";
|
|
6214
6663
|
const resolvedSize = size ?? context?.size ?? "md";
|
|
6215
6664
|
const resolvedVariant = variant ?? context?.variant ?? "default";
|
|
6216
|
-
return /* @__PURE__ */ (0,
|
|
6665
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
6217
6666
|
ToggleGroupItem,
|
|
6218
6667
|
{
|
|
6219
6668
|
className: cn(
|
|
@@ -6231,10 +6680,10 @@ var AdsToggleGroupItem = React56.forwardRef(({ className, size, variant, ...prop
|
|
|
6231
6680
|
AdsToggleGroupItem.displayName = "AdsToggleGroupItem";
|
|
6232
6681
|
|
|
6233
6682
|
// src/components/AdsTextarea/index.tsx
|
|
6234
|
-
var
|
|
6235
|
-
var
|
|
6683
|
+
var React61 = __toESM(require("react"), 1);
|
|
6684
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
6236
6685
|
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";
|
|
6237
|
-
var AdsTextarea =
|
|
6686
|
+
var AdsTextarea = React61.forwardRef(
|
|
6238
6687
|
({
|
|
6239
6688
|
action,
|
|
6240
6689
|
className,
|
|
@@ -6253,12 +6702,12 @@ var AdsTextarea = React57.forwardRef(
|
|
|
6253
6702
|
helperText,
|
|
6254
6703
|
id
|
|
6255
6704
|
});
|
|
6256
|
-
const helperNode = helperText ? /* @__PURE__ */ (0,
|
|
6257
|
-
const errorNode = errorText ? /* @__PURE__ */ (0,
|
|
6258
|
-
return /* @__PURE__ */ (0,
|
|
6259
|
-
label ? /* @__PURE__ */ (0,
|
|
6705
|
+
const helperNode = helperText ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(AdsFieldDescription, { id: description.helperId, children: helperText }) : null;
|
|
6706
|
+
const errorNode = errorText ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(AdsFieldError, { id: description.errorId, children: errorText }) : null;
|
|
6707
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(AdsFieldItem, { children: [
|
|
6708
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(AdsFieldLabel, { htmlFor: description.inputId, children: label }) : null,
|
|
6260
6709
|
descriptionPlacement === "above" ? helperNode : null,
|
|
6261
|
-
/* @__PURE__ */ (0,
|
|
6710
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
6262
6711
|
Textarea,
|
|
6263
6712
|
{
|
|
6264
6713
|
"aria-describedby": description.describedBy,
|
|
@@ -6276,7 +6725,7 @@ var AdsTextarea = React57.forwardRef(
|
|
|
6276
6725
|
...props
|
|
6277
6726
|
}
|
|
6278
6727
|
),
|
|
6279
|
-
action ? /* @__PURE__ */ (0,
|
|
6728
|
+
action ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "w-full [&>*]:w-full", children: action }) : null,
|
|
6280
6729
|
descriptionPlacement === "below" ? helperNode : null,
|
|
6281
6730
|
errorNode
|
|
6282
6731
|
] });
|
|
@@ -6284,65 +6733,11 @@ var AdsTextarea = React57.forwardRef(
|
|
|
6284
6733
|
);
|
|
6285
6734
|
AdsTextarea.displayName = "AdsTextarea";
|
|
6286
6735
|
|
|
6287
|
-
// src/components/AdsTooltip/index.tsx
|
|
6288
|
-
var React59 = __toESM(require("react"), 1);
|
|
6289
|
-
|
|
6290
|
-
// src/primitives/tooltip.tsx
|
|
6291
|
-
var React58 = __toESM(require("react"), 1);
|
|
6292
|
-
var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
|
|
6293
|
-
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
6294
|
-
var TooltipProvider = TooltipPrimitive.Provider;
|
|
6295
|
-
var Tooltip = TooltipPrimitive.Root;
|
|
6296
|
-
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
6297
|
-
var TooltipArrow = TooltipPrimitive.Arrow;
|
|
6298
|
-
var TooltipContent = React58.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(TooltipPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
6299
|
-
TooltipPrimitive.Content,
|
|
6300
|
-
{
|
|
6301
|
-
className: cn(
|
|
6302
|
-
"z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",
|
|
6303
|
-
className
|
|
6304
|
-
),
|
|
6305
|
-
ref,
|
|
6306
|
-
sideOffset,
|
|
6307
|
-
...props
|
|
6308
|
-
}
|
|
6309
|
-
) }));
|
|
6310
|
-
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
6311
|
-
|
|
6312
|
-
// src/components/AdsTooltip/index.tsx
|
|
6313
|
-
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
6314
|
-
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)]";
|
|
6315
|
-
var AdsTooltipProvider = TooltipProvider;
|
|
6316
|
-
var AdsTooltip = Tooltip;
|
|
6317
|
-
var AdsTooltipTrigger = TooltipTrigger;
|
|
6318
|
-
var AdsTooltipContent = React59.forwardRef(({ align = "center", className, sideOffset = 10, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
6319
|
-
TooltipContent,
|
|
6320
|
-
{
|
|
6321
|
-
align,
|
|
6322
|
-
className: cn(tooltipContentClassName, className),
|
|
6323
|
-
ref,
|
|
6324
|
-
sideOffset,
|
|
6325
|
-
...props
|
|
6326
|
-
}
|
|
6327
|
-
));
|
|
6328
|
-
AdsTooltipContent.displayName = "AdsTooltipContent";
|
|
6329
|
-
var AdsTooltipArrow = React59.forwardRef(({ className, height = 5, width = 10, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
6330
|
-
TooltipArrow,
|
|
6331
|
-
{
|
|
6332
|
-
className: cn("fill-[#844fff]", className),
|
|
6333
|
-
height,
|
|
6334
|
-
ref,
|
|
6335
|
-
width,
|
|
6336
|
-
...props
|
|
6337
|
-
}
|
|
6338
|
-
));
|
|
6339
|
-
AdsTooltipArrow.displayName = "AdsTooltipArrow";
|
|
6340
|
-
|
|
6341
6736
|
// src/components/AdsToast/index.tsx
|
|
6342
|
-
var
|
|
6737
|
+
var React62 = __toESM(require("react"), 1);
|
|
6343
6738
|
var import_lucide_react16 = require("lucide-react");
|
|
6344
6739
|
var import_sonner = require("sonner");
|
|
6345
|
-
var
|
|
6740
|
+
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
6346
6741
|
var adsToastIconMap = {
|
|
6347
6742
|
success: import_lucide_react16.CircleCheck,
|
|
6348
6743
|
info: import_lucide_react16.Info,
|
|
@@ -6358,7 +6753,7 @@ function resolveToastIcon(intent, icon) {
|
|
|
6358
6753
|
return null;
|
|
6359
6754
|
}
|
|
6360
6755
|
const Icon2 = adsToastIconMap[intent];
|
|
6361
|
-
return /* @__PURE__ */ (0,
|
|
6756
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
6362
6757
|
Icon2,
|
|
6363
6758
|
{
|
|
6364
6759
|
"aria-hidden": true,
|
|
@@ -6371,7 +6766,7 @@ function resolveToastIcon(intent, icon) {
|
|
|
6371
6766
|
}
|
|
6372
6767
|
);
|
|
6373
6768
|
}
|
|
6374
|
-
var AdsToast =
|
|
6769
|
+
var AdsToast = React62.forwardRef(
|
|
6375
6770
|
({
|
|
6376
6771
|
action,
|
|
6377
6772
|
className,
|
|
@@ -6382,7 +6777,7 @@ var AdsToast = React60.forwardRef(
|
|
|
6382
6777
|
...props
|
|
6383
6778
|
}, ref) => {
|
|
6384
6779
|
const resolvedIcon = resolveToastIcon(intent, icon);
|
|
6385
|
-
return /* @__PURE__ */ (0,
|
|
6780
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
|
|
6386
6781
|
"div",
|
|
6387
6782
|
{
|
|
6388
6783
|
className: cn(
|
|
@@ -6397,8 +6792,8 @@ var AdsToast = React60.forwardRef(
|
|
|
6397
6792
|
...props,
|
|
6398
6793
|
children: [
|
|
6399
6794
|
resolvedIcon,
|
|
6400
|
-
/* @__PURE__ */ (0,
|
|
6401
|
-
/* @__PURE__ */ (0,
|
|
6795
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
|
|
6796
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
6402
6797
|
"p",
|
|
6403
6798
|
{
|
|
6404
6799
|
className: cn(
|
|
@@ -6408,7 +6803,7 @@ var AdsToast = React60.forwardRef(
|
|
|
6408
6803
|
children: title
|
|
6409
6804
|
}
|
|
6410
6805
|
),
|
|
6411
|
-
description ? /* @__PURE__ */ (0,
|
|
6806
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
6412
6807
|
"p",
|
|
6413
6808
|
{
|
|
6414
6809
|
className: cn(
|
|
@@ -6419,7 +6814,7 @@ var AdsToast = React60.forwardRef(
|
|
|
6419
6814
|
}
|
|
6420
6815
|
) : null
|
|
6421
6816
|
] }),
|
|
6422
|
-
action ? /* @__PURE__ */ (0,
|
|
6817
|
+
action ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
6423
6818
|
AdsButton,
|
|
6424
6819
|
{
|
|
6425
6820
|
className: "shrink-0 rounded-radius-lg",
|
|
@@ -6445,7 +6840,7 @@ function AdsToaster({
|
|
|
6445
6840
|
...props
|
|
6446
6841
|
}) {
|
|
6447
6842
|
const { messages } = useAdsI18n();
|
|
6448
|
-
return /* @__PURE__ */ (0,
|
|
6843
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
6449
6844
|
import_sonner.Toaster,
|
|
6450
6845
|
{
|
|
6451
6846
|
closeButton: false,
|
|
@@ -6463,7 +6858,7 @@ function AdsToaster({
|
|
|
6463
6858
|
);
|
|
6464
6859
|
}
|
|
6465
6860
|
function toStageNode(intent, title, options) {
|
|
6466
|
-
return /* @__PURE__ */ (0,
|
|
6861
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
6467
6862
|
AdsToast,
|
|
6468
6863
|
{
|
|
6469
6864
|
action: options?.action,
|
|
@@ -6477,7 +6872,7 @@ function toStageNode(intent, title, options) {
|
|
|
6477
6872
|
function showAdsToast(intent, title, options) {
|
|
6478
6873
|
const { action, description, icon, ...toastOptions } = options ?? {};
|
|
6479
6874
|
return import_sonner.toast.custom(
|
|
6480
|
-
(id) => /* @__PURE__ */ (0,
|
|
6875
|
+
(id) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
6481
6876
|
AdsToast,
|
|
6482
6877
|
{
|
|
6483
6878
|
action: action ? {
|
|
@@ -6531,10 +6926,10 @@ var AdsToastManager = Object.assign(
|
|
|
6531
6926
|
);
|
|
6532
6927
|
|
|
6533
6928
|
// src/components/AdsDialog/index.tsx
|
|
6534
|
-
var
|
|
6929
|
+
var React63 = __toESM(require("react"), 1);
|
|
6535
6930
|
var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
6536
6931
|
var import_lucide_react17 = require("lucide-react");
|
|
6537
|
-
var
|
|
6932
|
+
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
6538
6933
|
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";
|
|
6539
6934
|
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%]";
|
|
6540
6935
|
var bodyClassName = "min-h-0 flex-1 overflow-y-auto overscroll-contain [scrollbar-gutter:stable]";
|
|
@@ -6542,7 +6937,7 @@ var closeButtonClassName = "absolute right-xl top-xl inline-flex h-6 w-6 items-c
|
|
|
6542
6937
|
var Dialog = DialogPrimitive.Root;
|
|
6543
6938
|
var DialogTrigger = DialogPrimitive.Trigger;
|
|
6544
6939
|
var DialogPortal = DialogPrimitive.Portal;
|
|
6545
|
-
var DialogOverlay =
|
|
6940
|
+
var DialogOverlay = React63.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6546
6941
|
DialogPrimitive.Overlay,
|
|
6547
6942
|
{
|
|
6548
6943
|
className: cn(overlayClassName2, className),
|
|
@@ -6551,7 +6946,7 @@ var DialogOverlay = React61.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
6551
6946
|
}
|
|
6552
6947
|
));
|
|
6553
6948
|
DialogOverlay.displayName = "DialogOverlay";
|
|
6554
|
-
var DialogClose =
|
|
6949
|
+
var DialogClose = React63.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6555
6950
|
DialogPrimitive.Close,
|
|
6556
6951
|
{
|
|
6557
6952
|
className: cn(
|
|
@@ -6565,8 +6960,8 @@ var DialogClose = React61.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
6565
6960
|
DialogClose.displayName = "DialogClose";
|
|
6566
6961
|
function flattenDialogChildren(children) {
|
|
6567
6962
|
const nodes = [];
|
|
6568
|
-
|
|
6569
|
-
if (
|
|
6963
|
+
React63.Children.forEach(children, (child) => {
|
|
6964
|
+
if (React63.isValidElement(child) && child.type === React63.Fragment) {
|
|
6570
6965
|
nodes.push(...flattenDialogChildren(child.props.children));
|
|
6571
6966
|
return;
|
|
6572
6967
|
}
|
|
@@ -6575,10 +6970,10 @@ function flattenDialogChildren(children) {
|
|
|
6575
6970
|
return nodes;
|
|
6576
6971
|
}
|
|
6577
6972
|
function isDialogSlotElement(child, component) {
|
|
6578
|
-
return
|
|
6973
|
+
return React63.isValidElement(child) && child.type === component;
|
|
6579
6974
|
}
|
|
6580
|
-
var DialogBody =
|
|
6581
|
-
({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
6975
|
+
var DialogBody = React63.forwardRef(
|
|
6976
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6582
6977
|
"div",
|
|
6583
6978
|
{
|
|
6584
6979
|
className: cn(bodyClassName, className),
|
|
@@ -6589,7 +6984,7 @@ var DialogBody = React61.forwardRef(
|
|
|
6589
6984
|
)
|
|
6590
6985
|
);
|
|
6591
6986
|
DialogBody.displayName = "DialogBody";
|
|
6592
|
-
var DialogContent =
|
|
6987
|
+
var DialogContent = React63.forwardRef(
|
|
6593
6988
|
({
|
|
6594
6989
|
children,
|
|
6595
6990
|
className,
|
|
@@ -6646,9 +7041,9 @@ var DialogContent = React61.forwardRef(
|
|
|
6646
7041
|
const looseBodyNodes = bodyNodes.filter(
|
|
6647
7042
|
(child) => !isDialogSlotElement(child, DialogBody)
|
|
6648
7043
|
);
|
|
6649
|
-
return /* @__PURE__ */ (0,
|
|
6650
|
-
/* @__PURE__ */ (0,
|
|
6651
|
-
/* @__PURE__ */ (0,
|
|
7044
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(NestedDismissableLayerProvider, { coordinator: parentLayer.coordinator, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(DialogPortal, { children: [
|
|
7045
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(DialogOverlay, {}),
|
|
7046
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
|
|
6652
7047
|
DialogPrimitive.Content,
|
|
6653
7048
|
{
|
|
6654
7049
|
"data-slot": "ads-dialog-content",
|
|
@@ -6664,18 +7059,18 @@ var DialogContent = React61.forwardRef(
|
|
|
6664
7059
|
...props,
|
|
6665
7060
|
children: [
|
|
6666
7061
|
headerNode,
|
|
6667
|
-
headerNode === null && generatedHeaderNodes.length > 0 ? /* @__PURE__ */ (0,
|
|
7062
|
+
headerNode === null && generatedHeaderNodes.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(DialogHeader, { children: generatedHeaderNodes }) : null,
|
|
6668
7063
|
explicitBodyNodes.length > 0 ? explicitBodyNodes : null,
|
|
6669
|
-
looseBodyNodes.length > 0 ? /* @__PURE__ */ (0,
|
|
7064
|
+
looseBodyNodes.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(DialogBody, { children: looseBodyNodes }) : null,
|
|
6670
7065
|
footerNode,
|
|
6671
|
-
!hideCloseButton ? /* @__PURE__ */ (0,
|
|
7066
|
+
!hideCloseButton ? /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
|
|
6672
7067
|
DialogPrimitive.Close,
|
|
6673
7068
|
{
|
|
6674
7069
|
"aria-label": resolvedCloseLabel,
|
|
6675
7070
|
className: cn(closeButtonClassName, adsTextColorClassName.card),
|
|
6676
7071
|
children: [
|
|
6677
|
-
/* @__PURE__ */ (0,
|
|
6678
|
-
/* @__PURE__ */ (0,
|
|
7072
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_lucide_react17.X, { "aria-hidden": true, className: "h-4 w-4" }),
|
|
7073
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("span", { className: "sr-only", children: resolvedCloseLabel })
|
|
6679
7074
|
]
|
|
6680
7075
|
}
|
|
6681
7076
|
) : null
|
|
@@ -6686,8 +7081,8 @@ var DialogContent = React61.forwardRef(
|
|
|
6686
7081
|
}
|
|
6687
7082
|
);
|
|
6688
7083
|
DialogContent.displayName = "DialogContent";
|
|
6689
|
-
var DialogHeader =
|
|
6690
|
-
({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
7084
|
+
var DialogHeader = React63.forwardRef(
|
|
7085
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6691
7086
|
"div",
|
|
6692
7087
|
{
|
|
6693
7088
|
"data-slot": "ads-dialog-header",
|
|
@@ -6698,8 +7093,8 @@ var DialogHeader = React61.forwardRef(
|
|
|
6698
7093
|
)
|
|
6699
7094
|
);
|
|
6700
7095
|
DialogHeader.displayName = "DialogHeader";
|
|
6701
|
-
var DialogFooter =
|
|
6702
|
-
({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
7096
|
+
var DialogFooter = React63.forwardRef(
|
|
7097
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6703
7098
|
"div",
|
|
6704
7099
|
{
|
|
6705
7100
|
"data-slot": "ads-dialog-footer",
|
|
@@ -6713,7 +7108,7 @@ var DialogFooter = React61.forwardRef(
|
|
|
6713
7108
|
)
|
|
6714
7109
|
);
|
|
6715
7110
|
DialogFooter.displayName = "DialogFooter";
|
|
6716
|
-
var DialogTitle =
|
|
7111
|
+
var DialogTitle = React63.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6717
7112
|
DialogPrimitive.Title,
|
|
6718
7113
|
{
|
|
6719
7114
|
className: cn(
|
|
@@ -6726,7 +7121,7 @@ var DialogTitle = React61.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
6726
7121
|
}
|
|
6727
7122
|
));
|
|
6728
7123
|
DialogTitle.displayName = "DialogTitle";
|
|
6729
|
-
var DialogDescription =
|
|
7124
|
+
var DialogDescription = React63.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6730
7125
|
DialogPrimitive.Description,
|
|
6731
7126
|
{
|
|
6732
7127
|
className: cn("text-sm leading-5", adsTextColorClassName.muted, className),
|
|
@@ -6742,13 +7137,14 @@ var AdsDialogOverlay = DialogOverlay;
|
|
|
6742
7137
|
var AdsDialogClose = DialogClose;
|
|
6743
7138
|
var AdsDialogContent = DialogContent;
|
|
6744
7139
|
var AdsDialogHeader = DialogHeader;
|
|
7140
|
+
var AdsDialogBody = DialogBody;
|
|
6745
7141
|
var AdsDialogFooter = DialogFooter;
|
|
6746
7142
|
var AdsDialogTitle = DialogTitle;
|
|
6747
7143
|
var AdsDialogDescription = DialogDescription;
|
|
6748
7144
|
|
|
6749
7145
|
// src/components/AdsMasonry/index.tsx
|
|
6750
7146
|
var import_masonic = require("masonic");
|
|
6751
|
-
var
|
|
7147
|
+
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
6752
7148
|
var DEFAULT_COLUMN_WIDTH = 240;
|
|
6753
7149
|
var DEFAULT_GAP = 16;
|
|
6754
7150
|
var DEFAULT_ITEM_HEIGHT_ESTIMATE = 280;
|
|
@@ -6784,7 +7180,7 @@ function AdsMasonry({
|
|
|
6784
7180
|
{ length: loadingItemCount },
|
|
6785
7181
|
(_, index) => index
|
|
6786
7182
|
);
|
|
6787
|
-
return /* @__PURE__ */ (0,
|
|
7183
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6788
7184
|
"div",
|
|
6789
7185
|
{
|
|
6790
7186
|
className: cn(
|
|
@@ -6796,20 +7192,20 @@ function AdsMasonry({
|
|
|
6796
7192
|
const mediaHeight = LOADING_MEDIA_HEIGHT_PATTERN[index % LOADING_MEDIA_HEIGHT_PATTERN.length];
|
|
6797
7193
|
const titleWidth = LOADING_TITLE_WIDTH_PATTERN[index % LOADING_TITLE_WIDTH_PATTERN.length];
|
|
6798
7194
|
const bodyWidth = LOADING_BODY_WIDTH_PATTERN[index % LOADING_BODY_WIDTH_PATTERN.length];
|
|
6799
|
-
return /* @__PURE__ */ (0,
|
|
7195
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
|
|
6800
7196
|
"article",
|
|
6801
7197
|
{
|
|
6802
7198
|
className: "overflow-hidden rounded-radius-lg border border-border bg-card shadow-showcase",
|
|
6803
7199
|
"data-slot": "ads-masonry-loading-card",
|
|
6804
7200
|
"data-testid": "ads-masonry-loading-card",
|
|
6805
7201
|
children: [
|
|
6806
|
-
/* @__PURE__ */ (0,
|
|
7202
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6807
7203
|
"div",
|
|
6808
7204
|
{
|
|
6809
7205
|
className: "border-b border-border/60 bg-surface-inset/50",
|
|
6810
7206
|
"data-slot": "ads-masonry-skeleton-preview",
|
|
6811
7207
|
"data-testid": "ads-masonry-skeleton-preview",
|
|
6812
|
-
children: /* @__PURE__ */ (0,
|
|
7208
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6813
7209
|
AdsSkeleton,
|
|
6814
7210
|
{
|
|
6815
7211
|
className: cn("w-full rounded-none", classNames?.skeleton),
|
|
@@ -6820,10 +7216,10 @@ function AdsMasonry({
|
|
|
6820
7216
|
)
|
|
6821
7217
|
}
|
|
6822
7218
|
),
|
|
6823
|
-
/* @__PURE__ */ (0,
|
|
6824
|
-
/* @__PURE__ */ (0,
|
|
6825
|
-
/* @__PURE__ */ (0,
|
|
6826
|
-
/* @__PURE__ */ (0,
|
|
7219
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex flex-col gap-4 p-lg", children: [
|
|
7220
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex items-start justify-between gap-3", children: [
|
|
7221
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex-1 space-y-2", children: [
|
|
7222
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6827
7223
|
AdsSkeleton,
|
|
6828
7224
|
{
|
|
6829
7225
|
className: cn("h-3 w-16 rounded-full", classNames?.skeleton),
|
|
@@ -6831,7 +7227,7 @@ function AdsMasonry({
|
|
|
6831
7227
|
"data-testid": "ads-masonry-skeleton"
|
|
6832
7228
|
}
|
|
6833
7229
|
),
|
|
6834
|
-
/* @__PURE__ */ (0,
|
|
7230
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6835
7231
|
AdsSkeleton,
|
|
6836
7232
|
{
|
|
6837
7233
|
className: cn("h-6 rounded-full", classNames?.skeleton),
|
|
@@ -6841,7 +7237,7 @@ function AdsMasonry({
|
|
|
6841
7237
|
}
|
|
6842
7238
|
)
|
|
6843
7239
|
] }),
|
|
6844
|
-
/* @__PURE__ */ (0,
|
|
7240
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6845
7241
|
AdsSkeleton,
|
|
6846
7242
|
{
|
|
6847
7243
|
className: cn("h-6 w-16 rounded-full", classNames?.skeleton),
|
|
@@ -6850,7 +7246,7 @@ function AdsMasonry({
|
|
|
6850
7246
|
}
|
|
6851
7247
|
)
|
|
6852
7248
|
] }),
|
|
6853
|
-
/* @__PURE__ */ (0,
|
|
7249
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6854
7250
|
AdsSkeleton,
|
|
6855
7251
|
{
|
|
6856
7252
|
className: cn("h-4 rounded-full", classNames?.skeleton),
|
|
@@ -6869,7 +7265,7 @@ function AdsMasonry({
|
|
|
6869
7265
|
);
|
|
6870
7266
|
}
|
|
6871
7267
|
if (items.length === 0) {
|
|
6872
|
-
return emptyState ? /* @__PURE__ */ (0,
|
|
7268
|
+
return emptyState ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6873
7269
|
"div",
|
|
6874
7270
|
{
|
|
6875
7271
|
className: cn(rootClassName, classNames?.empty),
|
|
@@ -6878,7 +7274,7 @@ function AdsMasonry({
|
|
|
6878
7274
|
}
|
|
6879
7275
|
) : null;
|
|
6880
7276
|
}
|
|
6881
|
-
return /* @__PURE__ */ (0,
|
|
7277
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6882
7278
|
import_masonic.Masonry,
|
|
6883
7279
|
{
|
|
6884
7280
|
className: rootClassName,
|
|
@@ -6890,7 +7286,7 @@ function AdsMasonry({
|
|
|
6890
7286
|
maxColumnCount,
|
|
6891
7287
|
onRender,
|
|
6892
7288
|
overscanBy,
|
|
6893
|
-
render: ({ data, index, width }) => /* @__PURE__ */ (0,
|
|
7289
|
+
render: ({ data, index, width }) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6894
7290
|
"div",
|
|
6895
7291
|
{
|
|
6896
7292
|
className: cn("pb-0", classNames?.item, itemClassName),
|
|
@@ -6990,6 +7386,7 @@ var designTokens = {
|
|
|
6990
7386
|
AdsAlertDialogTrigger,
|
|
6991
7387
|
AdsAlertTitle,
|
|
6992
7388
|
AdsBadge,
|
|
7389
|
+
AdsBarChart,
|
|
6993
7390
|
AdsBreadcrumb,
|
|
6994
7391
|
AdsBreadcrumbEllipsis,
|
|
6995
7392
|
AdsBreadcrumbItem,
|
|
@@ -7011,6 +7408,7 @@ var designTokens = {
|
|
|
7011
7408
|
AdsDatePicker,
|
|
7012
7409
|
AdsDateTimePicker,
|
|
7013
7410
|
AdsDialog,
|
|
7411
|
+
AdsDialogBody,
|
|
7014
7412
|
AdsDialogClose,
|
|
7015
7413
|
AdsDialogContent,
|
|
7016
7414
|
AdsDialogDescription,
|
|
@@ -7066,6 +7464,7 @@ var designTokens = {
|
|
|
7066
7464
|
AdsPopoverTitle,
|
|
7067
7465
|
AdsPopoverTrigger,
|
|
7068
7466
|
AdsProgress,
|
|
7467
|
+
AdsRadialProgressChart,
|
|
7069
7468
|
AdsRadioGroup,
|
|
7070
7469
|
AdsRadioGroupCardOption,
|
|
7071
7470
|
AdsRadioGroupOption,
|
|
@@ -7083,7 +7482,9 @@ var designTokens = {
|
|
|
7083
7482
|
AdsSeparator,
|
|
7084
7483
|
AdsSkeleton,
|
|
7085
7484
|
AdsSlider,
|
|
7485
|
+
AdsSparklineChart,
|
|
7086
7486
|
AdsSpinner,
|
|
7487
|
+
AdsStackedBarChart,
|
|
7087
7488
|
AdsSwitch,
|
|
7088
7489
|
AdsTable,
|
|
7089
7490
|
AdsTableBody,
|