@axtec/components 0.1.7 → 0.1.10
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/README.md +1 -0
- package/dist/components/AgentChat/AgentChat.d.ts +32 -0
- package/dist/components/AgentChat/index.d.ts +1 -0
- package/dist/components/AgentPanel/AgentPanel.d.ts +44 -0
- package/dist/components/AgentPanel/index.d.ts +1 -0
- package/dist/components/OptionDivider/OptionDivider.d.ts +2 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/index.css +1 -1
- package/dist/index.js +161 -157
- package/dist/index.js.map +1 -1
- package/dist/index10.js +77 -99
- package/dist/index10.js.map +1 -1
- package/dist/index11.js +91 -36
- package/dist/index11.js.map +1 -1
- package/dist/index12.js +97 -75
- package/dist/index12.js.map +1 -1
- package/dist/index13.js +38 -24
- package/dist/index13.js.map +1 -1
- package/dist/index14.js +76 -16
- package/dist/index14.js.map +1 -1
- package/dist/index15.js +24 -38
- package/dist/index15.js.map +1 -1
- package/dist/index16.js +18 -72
- package/dist/index16.js.map +1 -1
- package/dist/index17.js +36 -47
- package/dist/index17.js.map +1 -1
- package/dist/index18.js +73 -13
- package/dist/index18.js.map +1 -1
- package/dist/index19.js +47 -151
- package/dist/index19.js.map +1 -1
- package/dist/index20.js +12 -17
- package/dist/index20.js.map +1 -1
- package/dist/index21.js +148 -40
- package/dist/index21.js.map +1 -1
- package/dist/index22.js +18 -50
- package/dist/index22.js.map +1 -1
- package/dist/index23.js +41 -74
- package/dist/index23.js.map +1 -1
- package/dist/index24.js +46 -216
- package/dist/index24.js.map +1 -1
- package/dist/index25.js +73 -46
- package/dist/index25.js.map +1 -1
- package/dist/index26.js +212 -70
- package/dist/index26.js.map +1 -1
- package/dist/index27.js +51 -23
- package/dist/index27.js.map +1 -1
- package/dist/index28.js +74 -74
- package/dist/index28.js.map +1 -1
- package/dist/index29.js +19 -28
- package/dist/index29.js.map +1 -1
- package/dist/index3.js +2 -2
- package/dist/index30.js +62 -76
- package/dist/index30.js.map +1 -1
- package/dist/index31.js +28 -55
- package/dist/index31.js.map +1 -1
- package/dist/index32.js +87 -40
- package/dist/index32.js.map +1 -1
- package/dist/index33.js +57 -45
- package/dist/index33.js.map +1 -1
- package/dist/index34.js +40 -47
- package/dist/index34.js.map +1 -1
- package/dist/index35.js +47 -27
- package/dist/index35.js.map +1 -1
- package/dist/index36.js +52 -54
- package/dist/index36.js.map +1 -1
- package/dist/index37.js +28 -49
- package/dist/index37.js.map +1 -1
- package/dist/index38.js +54 -13
- package/dist/index38.js.map +1 -1
- package/dist/index39.js +46 -79
- package/dist/index39.js.map +1 -1
- package/dist/index40.js +13 -49
- package/dist/index40.js.map +1 -1
- package/dist/index41.js +80 -17
- package/dist/index41.js.map +1 -1
- package/dist/index42.js +48 -33
- package/dist/index42.js.map +1 -1
- package/dist/index43.js +17 -11
- package/dist/index43.js.map +1 -1
- package/dist/index44.js +34 -15
- package/dist/index44.js.map +1 -1
- package/dist/index45.js +16 -89
- package/dist/index45.js.map +1 -1
- package/dist/index46.js +15 -69
- package/dist/index46.js.map +1 -1
- package/dist/index47.js +85 -116
- package/dist/index47.js.map +1 -1
- package/dist/index48.js +69 -40
- package/dist/index48.js.map +1 -1
- package/dist/index49.js +120 -42
- package/dist/index49.js.map +1 -1
- package/dist/index5.js +1 -1
- package/dist/index50.js +39 -55
- package/dist/index50.js.map +1 -1
- package/dist/index51.js +39 -11
- package/dist/index51.js.map +1 -1
- package/dist/index52.js +53 -62
- package/dist/index52.js.map +1 -1
- package/dist/index53.js +16 -54
- package/dist/index53.js.map +1 -1
- package/dist/index54.js +64 -36
- package/dist/index54.js.map +1 -1
- package/dist/index55.js +54 -66
- package/dist/index55.js.map +1 -1
- package/dist/index56.js +37 -22
- package/dist/index56.js.map +1 -1
- package/dist/index57.js +63 -101
- package/dist/index57.js.map +1 -1
- package/dist/index58.js +16 -67
- package/dist/index58.js.map +1 -1
- package/dist/index59.js +99 -213
- package/dist/index59.js.map +1 -1
- package/dist/index6.js +1 -1
- package/dist/index60.js +67 -62
- package/dist/index60.js.map +1 -1
- package/dist/index61.js +206 -224
- package/dist/index61.js.map +1 -1
- package/dist/index62.js +62 -96
- package/dist/index62.js.map +1 -1
- package/dist/index63.js +233 -33
- package/dist/index63.js.map +1 -1
- package/dist/index64.js +98 -14
- package/dist/index64.js.map +1 -1
- package/dist/index65.js +35 -59
- package/dist/index65.js.map +1 -1
- package/dist/index66.js +16 -59
- package/dist/index66.js.map +1 -1
- package/dist/index67.js +57 -72
- package/dist/index67.js.map +1 -1
- package/dist/index68.js +58 -106
- package/dist/index68.js.map +1 -1
- package/dist/index69.js +70 -43
- package/dist/index69.js.map +1 -1
- package/dist/index7.js +157 -69
- package/dist/index7.js.map +1 -1
- package/dist/index70.js +101 -40
- package/dist/index70.js.map +1 -1
- package/dist/index71.js +44 -72
- package/dist/index71.js.map +1 -1
- package/dist/index72.js +47 -53
- package/dist/index72.js.map +1 -1
- package/dist/index73.js +70 -62
- package/dist/index73.js.map +1 -1
- package/dist/index74.js +46 -28
- package/dist/index74.js.map +1 -1
- package/dist/index75.js +67 -13
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +35 -2263
- package/dist/index76.js.map +1 -1
- package/dist/index77.js +17 -0
- package/dist/index77.js.map +1 -0
- package/dist/index78.js +2267 -0
- package/dist/index78.js.map +1 -0
- package/dist/index8.js +377 -70
- package/dist/index8.js.map +1 -1
- package/dist/index9.js +60 -77
- package/dist/index9.js.map +1 -1
- package/package.json +1 -1
package/dist/index23.js
CHANGED
|
@@ -1,82 +1,49 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
onConfirm: m,
|
|
11
|
-
title: f,
|
|
12
|
-
message: r,
|
|
13
|
-
confirmText: h = "Confirm",
|
|
14
|
-
cancelText: p = "Cancel",
|
|
15
|
-
showIcon: t = !1,
|
|
16
|
-
destructive: x = !1,
|
|
17
|
-
isLoading: n = !1,
|
|
18
|
-
className: u
|
|
19
|
-
}) {
|
|
20
|
-
return /* @__PURE__ */ e(v, { show: d, as: i, children: /* @__PURE__ */ a(N, { onClose: l, className: "relative z-50", children: [
|
|
21
|
-
/* @__PURE__ */ e(
|
|
22
|
-
o,
|
|
1
|
+
import { jsx as l, jsxs as s } from "react/jsx-runtime";
|
|
2
|
+
import { cn as n } from "./index3.js";
|
|
3
|
+
const o = ({
|
|
4
|
+
items: c,
|
|
5
|
+
className: t
|
|
6
|
+
}) => /* @__PURE__ */ l("div", { className: n("flex justify-center gap-8 p-5", t), children: c.map((e, r) => /* @__PURE__ */ s("div", { className: "flex flex-col flex-1", children: [
|
|
7
|
+
/* @__PURE__ */ s("div", { className: "flex items-center gap-2 mb-3", children: [
|
|
8
|
+
/* @__PURE__ */ l(
|
|
9
|
+
"div",
|
|
23
10
|
{
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
enterFrom: "opacity-0",
|
|
27
|
-
enterTo: "opacity-100",
|
|
28
|
-
leave: "ease-in duration-200",
|
|
29
|
-
leaveFrom: "opacity-100",
|
|
30
|
-
leaveTo: "opacity-0",
|
|
31
|
-
children: /* @__PURE__ */ e("div", { className: "fixed inset-0 bg-black/50", "aria-hidden": "true" })
|
|
11
|
+
className: "w-5 h-2.5 rounded-full",
|
|
12
|
+
style: { backgroundColor: e.color }
|
|
32
13
|
}
|
|
33
14
|
),
|
|
34
|
-
/* @__PURE__ */
|
|
35
|
-
|
|
15
|
+
/* @__PURE__ */ l(
|
|
16
|
+
"span",
|
|
36
17
|
{
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
enterTo: "opacity-100 scale-100",
|
|
41
|
-
leave: "ease-in duration-200",
|
|
42
|
-
leaveFrom: "opacity-100 scale-100",
|
|
43
|
-
leaveTo: "opacity-0 scale-95",
|
|
44
|
-
children: /* @__PURE__ */ a(
|
|
45
|
-
y,
|
|
46
|
-
{
|
|
47
|
-
className: s(
|
|
48
|
-
"w-full max-w-md bg-white rounded-2xl shadow-xl p-6",
|
|
49
|
-
"transform transition-all",
|
|
50
|
-
u
|
|
51
|
-
),
|
|
52
|
-
children: [
|
|
53
|
-
/* @__PURE__ */ a("div", { className: s(t && "flex gap-4"), children: [
|
|
54
|
-
t && /* @__PURE__ */ e("div", { className: "flex-shrink-0", children: /* @__PURE__ */ e("div", { className: "rounded-full bg-amber-100 p-2", children: /* @__PURE__ */ e(g, { className: "h-6 w-6 text-amber-600" }) }) }),
|
|
55
|
-
/* @__PURE__ */ a("div", { className: "flex-1", children: [
|
|
56
|
-
/* @__PURE__ */ e(b, { className: "text-lg font-semibold text-slate-900 mb-2", children: f }),
|
|
57
|
-
r && /* @__PURE__ */ e("div", { className: "text-sm text-slate-600 mb-6", children: r })
|
|
58
|
-
] })
|
|
59
|
-
] }),
|
|
60
|
-
/* @__PURE__ */ a("div", { className: "flex justify-end gap-3 mt-6", children: [
|
|
61
|
-
/* @__PURE__ */ e(c, { variant: "outline", onClick: l, disabled: n, children: p }),
|
|
62
|
-
/* @__PURE__ */ e(
|
|
63
|
-
c,
|
|
64
|
-
{
|
|
65
|
-
variant: x ? "danger" : "primary",
|
|
66
|
-
onClick: m,
|
|
67
|
-
isLoading: n,
|
|
68
|
-
children: h
|
|
69
|
-
}
|
|
70
|
-
)
|
|
71
|
-
] })
|
|
72
|
-
]
|
|
73
|
-
}
|
|
74
|
-
)
|
|
18
|
+
className: "text-sm font-medium",
|
|
19
|
+
style: { color: e.color },
|
|
20
|
+
children: e.label
|
|
75
21
|
}
|
|
76
|
-
)
|
|
77
|
-
] })
|
|
78
|
-
|
|
22
|
+
)
|
|
23
|
+
] }),
|
|
24
|
+
e.data.map((a, d) => /* @__PURE__ */ s("div", { className: "mb-2", children: [
|
|
25
|
+
/* @__PURE__ */ l("div", { className: "text-sm font-semibold text-slate-900 mb-1", children: a.title }),
|
|
26
|
+
/* @__PURE__ */ s("div", { className: "text-sm text-slate-500", children: [
|
|
27
|
+
a.value,
|
|
28
|
+
a.percentage && /* @__PURE__ */ s("span", { className: "ml-1 text-slate-400", children: [
|
|
29
|
+
"(",
|
|
30
|
+
a.percentage,
|
|
31
|
+
")"
|
|
32
|
+
] })
|
|
33
|
+
] })
|
|
34
|
+
] }, d))
|
|
35
|
+
] }, r)) }), x = ({ items: c, className: t }) => /* @__PURE__ */ l("div", { className: n("flex items-center justify-center gap-6", t), children: c.map((e, r) => /* @__PURE__ */ s("div", { className: "flex items-center gap-2", children: [
|
|
36
|
+
/* @__PURE__ */ l(
|
|
37
|
+
"div",
|
|
38
|
+
{
|
|
39
|
+
className: "w-3 h-3 rounded-full",
|
|
40
|
+
style: { backgroundColor: e.color }
|
|
41
|
+
}
|
|
42
|
+
),
|
|
43
|
+
/* @__PURE__ */ l("span", { className: "text-sm text-slate-600", children: e.label })
|
|
44
|
+
] }, r)) });
|
|
79
45
|
export {
|
|
80
|
-
|
|
46
|
+
x as ChartLegend,
|
|
47
|
+
o as StatisticsLegend
|
|
81
48
|
};
|
|
82
49
|
//# sourceMappingURL=index23.js.map
|
package/dist/index23.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index23.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"index23.js","sources":["../src/components/StatisticsLegend/StatisticsLegend.tsx"],"sourcesContent":["import { cn } from '@/lib/utils'\n\nexport interface StatisticsLegendItem {\n label: string\n color: string\n data: {\n title: string\n value: string | number\n percentage?: string\n }[]\n}\n\nexport interface StatisticsLegendProps {\n items: StatisticsLegendItem[]\n className?: string\n}\n\nexport const StatisticsLegend = ({\n items,\n className,\n}: StatisticsLegendProps) => {\n return (\n <div className={cn('flex justify-center gap-8 p-5', className)}>\n {items.map((item, index) => (\n <div key={index} className=\"flex flex-col flex-1\">\n {/* Legend label */}\n <div className=\"flex items-center gap-2 mb-3\">\n <div\n className=\"w-5 h-2.5 rounded-full\"\n style={{ backgroundColor: item.color }}\n />\n <span\n className=\"text-sm font-medium\"\n style={{ color: item.color }}\n >\n {item.label}\n </span>\n </div>\n\n {/* Data items */}\n {item.data.map((dataItem, dataIndex) => (\n <div key={dataIndex} className=\"mb-2\">\n <div className=\"text-sm font-semibold text-slate-900 mb-1\">\n {dataItem.title}\n </div>\n <div className=\"text-sm text-slate-500\">\n {dataItem.value}\n {dataItem.percentage && (\n <span className=\"ml-1 text-slate-400\">\n ({dataItem.percentage})\n </span>\n )}\n </div>\n </div>\n ))}\n </div>\n ))}\n </div>\n )\n}\n\n// Simple color dot legend for charts\nexport interface ChartLegendProps {\n items: {\n label: string\n color: string\n }[]\n className?: string\n}\n\nexport const ChartLegend = ({ items, className }: ChartLegendProps) => {\n return (\n <div className={cn('flex items-center justify-center gap-6', className)}>\n {items.map((item, index) => (\n <div key={index} className=\"flex items-center gap-2\">\n <div\n className=\"w-3 h-3 rounded-full\"\n style={{ backgroundColor: item.color }}\n />\n <span className=\"text-sm text-slate-600\">{item.label}</span>\n </div>\n ))}\n </div>\n )\n}\n"],"names":["StatisticsLegend","items","className","jsx","cn","item","index","jsxs","dataItem","dataIndex","ChartLegend"],"mappings":";;AAiBO,MAAMA,IAAmB,CAAC;AAAA,EAC/B,OAAAC;AAAA,EACA,WAAAC;AACF,MAEI,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAG,iCAAiCF,CAAS,GAC1D,UAAAD,EAAM,IAAI,CAACI,GAAMC,MAChB,gBAAAC,EAAC,OAAA,EAAgB,WAAU,wBAEzB,UAAA;AAAA,EAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,gCACb,UAAA;AAAA,IAAA,gBAAAJ;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO,EAAE,iBAAiBE,EAAK,MAAA;AAAA,MAAM;AAAA,IAAA;AAAA,IAEvC,gBAAAF;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO,EAAE,OAAOE,EAAK,MAAA;AAAA,QAEpB,UAAAA,EAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACR,GACF;AAAA,EAGCA,EAAK,KAAK,IAAI,CAACG,GAAUC,MACxB,gBAAAF,EAAC,OAAA,EAAoB,WAAU,QAC7B,UAAA;AAAA,IAAA,gBAAAJ,EAAC,OAAA,EAAI,WAAU,6CACZ,UAAAK,EAAS,OACZ;AAAA,IACA,gBAAAD,EAAC,OAAA,EAAI,WAAU,0BACZ,UAAA;AAAA,MAAAC,EAAS;AAAA,MACTA,EAAS,cACR,gBAAAD,EAAC,QAAA,EAAK,WAAU,uBAAsB,UAAA;AAAA,QAAA;AAAA,QAClCC,EAAS;AAAA,QAAW;AAAA,MAAA,EAAA,CACxB;AAAA,IAAA,EAAA,CAEJ;AAAA,EAAA,EAAA,GAXQC,CAYV,CACD;AAAA,KA9BOH,CA+BV,CACD,GACH,GAaSI,IAAc,CAAC,EAAE,OAAAT,GAAO,WAAAC,QAEjC,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAG,0CAA0CF,CAAS,GACnE,UAAAD,EAAM,IAAI,CAACI,GAAMC,MAChB,gBAAAC,EAAC,OAAA,EAAgB,WAAU,2BACzB,UAAA;AAAA,EAAA,gBAAAJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,OAAO,EAAE,iBAAiBE,EAAK,MAAA;AAAA,IAAM;AAAA,EAAA;AAAA,EAEvC,gBAAAF,EAAC,QAAA,EAAK,WAAU,0BAA0B,YAAK,MAAA,CAAM;AAAA,KAL7CG,CAMV,CACD,GACH;"}
|
package/dist/index24.js
CHANGED
|
@@ -1,223 +1,53 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import {
|
|
3
|
-
import { cn as
|
|
4
|
-
import {
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"May",
|
|
11
|
-
"June",
|
|
12
|
-
"July",
|
|
13
|
-
"August",
|
|
14
|
-
"September",
|
|
15
|
-
"October",
|
|
16
|
-
"November",
|
|
17
|
-
"December"
|
|
18
|
-
], X = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], Z = (s, l) => new Date(s, l + 1, 0).getDate(), _ = (s, l) => new Date(s, l, 1).getDay(), ee = (s, l) => {
|
|
19
|
-
const i = String(s.getDate()).padStart(2, "0"), r = String(s.getMonth() + 1).padStart(2, "0"), g = s.getFullYear();
|
|
20
|
-
switch (l) {
|
|
21
|
-
case "MM/DD/YYYY":
|
|
22
|
-
return `${r}/${i}/${g}`;
|
|
23
|
-
case "YYYY-MM-DD":
|
|
24
|
-
return `${g}-${r}-${i}`;
|
|
25
|
-
default:
|
|
26
|
-
return `${i}/${r}/${g}`;
|
|
27
|
-
}
|
|
28
|
-
}, te = (s) => {
|
|
29
|
-
if (!s) return null;
|
|
30
|
-
const l = [
|
|
31
|
-
/^(\d{2})\/(\d{2})\/(\d{4})$/,
|
|
32
|
-
// DD/MM/YYYY
|
|
33
|
-
/^(\d{4})-(\d{2})-(\d{2})$/
|
|
34
|
-
// YYYY-MM-DD
|
|
35
|
-
];
|
|
36
|
-
for (const i of l) {
|
|
37
|
-
const r = s.match(i);
|
|
38
|
-
if (r)
|
|
39
|
-
return i.source.includes("^(\\d{4})") ? new Date(parseInt(r[1]), parseInt(r[2]) - 1, parseInt(r[3])) : new Date(parseInt(r[3]), parseInt(r[2]) - 1, parseInt(r[1]));
|
|
40
|
-
}
|
|
41
|
-
return null;
|
|
42
|
-
}, ae = ({
|
|
43
|
-
value: s,
|
|
44
|
-
onChange: l,
|
|
45
|
-
label: i,
|
|
46
|
-
placeholder: r = "DD/MM/YYYY",
|
|
47
|
-
disabled: g = !1,
|
|
48
|
-
error: Y,
|
|
49
|
-
disableFutureDates: I = !1,
|
|
50
|
-
disablePastDates: $ = !1,
|
|
51
|
-
format: k = "DD/MM/YYYY",
|
|
52
|
-
className: j
|
|
53
|
-
}) => {
|
|
54
|
-
const u = /* @__PURE__ */ new Date(), h = s ? te(s) : null, [S, M] = D(!1), [m, p] = D("days"), [o, y] = D((h == null ? void 0 : h.getFullYear()) ?? u.getFullYear()), [a, b] = D((h == null ? void 0 : h.getMonth()) ?? u.getMonth()), [x, O] = D(h), v = B(null);
|
|
55
|
-
G(() => {
|
|
56
|
-
const t = (e) => {
|
|
57
|
-
v.current && !v.current.contains(e.target) && (M(!1), p("days"));
|
|
58
|
-
};
|
|
59
|
-
return document.addEventListener("mousedown", t), () => document.removeEventListener("mousedown", t);
|
|
60
|
-
}, []);
|
|
61
|
-
const E = (t) => {
|
|
62
|
-
const e = new Date(o, a, t);
|
|
63
|
-
O(e), l(ee(e, k)), M(!1);
|
|
64
|
-
}, T = (t) => {
|
|
65
|
-
b(t), p("days");
|
|
66
|
-
}, A = (t) => {
|
|
67
|
-
y(t), p("months");
|
|
68
|
-
}, J = () => {
|
|
69
|
-
m === "days" ? a === 0 ? (b(11), y(o - 1)) : b(a - 1) : m === "years" && y(o - 12);
|
|
70
|
-
}, L = () => {
|
|
71
|
-
m === "days" ? a === 11 ? (b(0), y(o + 1)) : b(a + 1) : m === "years" && y(o + 12);
|
|
72
|
-
}, R = (t) => {
|
|
73
|
-
const e = new Date(u.getFullYear(), u.getMonth(), u.getDate());
|
|
74
|
-
return !!(I && t > e || $ && t < e);
|
|
75
|
-
}, P = Z(o, a), W = _(o, a), z = () => {
|
|
76
|
-
const t = [];
|
|
77
|
-
for (let e = 0; e < W; e++)
|
|
78
|
-
t.push(/* @__PURE__ */ n("div", { className: "w-8 h-8" }, `empty-${e}`));
|
|
79
|
-
for (let e = 1; e <= P; e++) {
|
|
80
|
-
const c = new Date(o, a, e), d = x && c.getDate() === x.getDate() && c.getMonth() === x.getMonth() && c.getFullYear() === x.getFullYear(), C = c.getDate() === u.getDate() && c.getMonth() === u.getMonth() && c.getFullYear() === u.getFullYear(), N = R(c);
|
|
81
|
-
t.push(
|
|
82
|
-
/* @__PURE__ */ n(
|
|
83
|
-
"button",
|
|
84
|
-
{
|
|
85
|
-
type: "button",
|
|
86
|
-
disabled: N,
|
|
87
|
-
onClick: () => E(e),
|
|
88
|
-
className: w(
|
|
89
|
-
"w-8 h-8 rounded-full text-sm flex items-center justify-center",
|
|
90
|
-
"transition-colors focus:outline-none focus:ring-2 focus:ring-primary-500",
|
|
91
|
-
d && "bg-primary-500 text-white",
|
|
92
|
-
!d && C && "border border-primary-500 text-primary-500",
|
|
93
|
-
!d && !C && !N && "hover:bg-slate-100",
|
|
94
|
-
N && "text-slate-300 cursor-not-allowed"
|
|
95
|
-
),
|
|
96
|
-
children: e
|
|
97
|
-
},
|
|
98
|
-
e
|
|
99
|
-
)
|
|
100
|
-
);
|
|
101
|
-
}
|
|
102
|
-
return t;
|
|
103
|
-
}, H = () => F.map((t, e) => /* @__PURE__ */ n(
|
|
104
|
-
"button",
|
|
105
|
-
{
|
|
106
|
-
type: "button",
|
|
107
|
-
onClick: () => T(e),
|
|
108
|
-
className: w(
|
|
109
|
-
"px-3 py-2 rounded text-sm",
|
|
110
|
-
"transition-colors focus:outline-none focus:ring-2 focus:ring-primary-500",
|
|
111
|
-
a === e && "bg-primary-500 text-white",
|
|
112
|
-
a !== e && "hover:bg-slate-100"
|
|
113
|
-
),
|
|
114
|
-
children: t.slice(0, 3)
|
|
115
|
-
},
|
|
116
|
-
t
|
|
117
|
-
)), K = () => {
|
|
118
|
-
const t = o - 6, e = [];
|
|
119
|
-
for (let c = 0; c < 12; c++) {
|
|
120
|
-
const d = t + c;
|
|
121
|
-
e.push(
|
|
122
|
-
/* @__PURE__ */ n(
|
|
123
|
-
"button",
|
|
124
|
-
{
|
|
125
|
-
type: "button",
|
|
126
|
-
onClick: () => A(d),
|
|
127
|
-
className: w(
|
|
128
|
-
"px-3 py-2 rounded text-sm",
|
|
129
|
-
"transition-colors focus:outline-none focus:ring-2 focus:ring-primary-500",
|
|
130
|
-
o === d && "bg-primary-500 text-white",
|
|
131
|
-
o !== d && "hover:bg-slate-100"
|
|
132
|
-
),
|
|
133
|
-
children: d
|
|
134
|
-
},
|
|
135
|
-
d
|
|
136
|
-
)
|
|
137
|
-
);
|
|
138
|
-
}
|
|
139
|
-
return e;
|
|
140
|
-
};
|
|
141
|
-
return /* @__PURE__ */ f("div", { ref: v, className: w("relative", j), children: [
|
|
142
|
-
i && /* @__PURE__ */ n("label", { className: "block text-sm font-semibold text-slate-700 mb-1.5", children: i }),
|
|
143
|
-
/* @__PURE__ */ f(
|
|
144
|
-
"button",
|
|
1
|
+
import { jsxs as t, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as d } from "react";
|
|
3
|
+
import { cn as i } from "./index3.js";
|
|
4
|
+
import { CheckIcon as l } from "@heroicons/react/20/solid";
|
|
5
|
+
const f = d(
|
|
6
|
+
({ className: c, label: e, description: s, id: m, checked: o, ...n }, p) => {
|
|
7
|
+
const a = m || (e == null ? void 0 : e.toLowerCase().replace(/\s+/g, "-"));
|
|
8
|
+
return /* @__PURE__ */ t(
|
|
9
|
+
"label",
|
|
145
10
|
{
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
onClick: () => M(!S),
|
|
149
|
-
className: w(
|
|
150
|
-
"w-full flex items-center justify-between px-4 py-2.5",
|
|
151
|
-
"bg-white border rounded-lg text-left",
|
|
152
|
-
"transition-colors focus:outline-none focus:ring-2 focus:ring-primary-500",
|
|
153
|
-
Y ? "border-red-500" : "border-slate-300",
|
|
154
|
-
g && "bg-slate-100 cursor-not-allowed opacity-60"
|
|
155
|
-
),
|
|
11
|
+
htmlFor: a,
|
|
12
|
+
className: i("flex items-start gap-3 cursor-pointer group", c),
|
|
156
13
|
children: [
|
|
157
|
-
/* @__PURE__ */
|
|
158
|
-
|
|
14
|
+
/* @__PURE__ */ t("div", { className: "relative flex-shrink-0 mt-0.5", children: [
|
|
15
|
+
/* @__PURE__ */ r(
|
|
16
|
+
"input",
|
|
17
|
+
{
|
|
18
|
+
ref: p,
|
|
19
|
+
type: "checkbox",
|
|
20
|
+
id: a,
|
|
21
|
+
checked: o,
|
|
22
|
+
className: "peer sr-only",
|
|
23
|
+
...n
|
|
24
|
+
}
|
|
25
|
+
),
|
|
26
|
+
/* @__PURE__ */ r(
|
|
27
|
+
"div",
|
|
28
|
+
{
|
|
29
|
+
className: i(
|
|
30
|
+
"h-5 w-5 rounded border-2 transition-colors duration-200",
|
|
31
|
+
"flex items-center justify-center",
|
|
32
|
+
"peer-focus:ring-2 peer-focus:ring-primary-500 peer-focus:ring-offset-2",
|
|
33
|
+
"peer-disabled:opacity-50 peer-disabled:cursor-not-allowed",
|
|
34
|
+
o ? "bg-primary-500 border-primary-500" : "bg-white border-slate-300 group-hover:border-slate-400"
|
|
35
|
+
),
|
|
36
|
+
children: o && /* @__PURE__ */ r(l, { className: "h-3.5 w-3.5 text-white" })
|
|
37
|
+
}
|
|
38
|
+
)
|
|
39
|
+
] }),
|
|
40
|
+
(e || s) && /* @__PURE__ */ t("div", { className: "flex flex-col", children: [
|
|
41
|
+
e && /* @__PURE__ */ r("span", { className: "text-sm font-medium text-slate-900", children: e }),
|
|
42
|
+
s && /* @__PURE__ */ r("span", { className: "text-sm text-slate-500", children: s })
|
|
43
|
+
] })
|
|
159
44
|
]
|
|
160
45
|
}
|
|
161
|
-
)
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
/* @__PURE__ */ n(
|
|
166
|
-
"button",
|
|
167
|
-
{
|
|
168
|
-
type: "button",
|
|
169
|
-
onClick: J,
|
|
170
|
-
className: "p-1 rounded hover:bg-slate-100",
|
|
171
|
-
children: /* @__PURE__ */ n(U, { className: "w-5 h-5" })
|
|
172
|
-
}
|
|
173
|
-
),
|
|
174
|
-
/* @__PURE__ */ f("div", { className: "flex gap-1", children: [
|
|
175
|
-
m !== "months" && /* @__PURE__ */ n(
|
|
176
|
-
"button",
|
|
177
|
-
{
|
|
178
|
-
type: "button",
|
|
179
|
-
onClick: () => p("months"),
|
|
180
|
-
className: "px-2 py-1 text-sm font-medium hover:bg-slate-100 rounded",
|
|
181
|
-
children: F[a]
|
|
182
|
-
}
|
|
183
|
-
),
|
|
184
|
-
/* @__PURE__ */ n(
|
|
185
|
-
"button",
|
|
186
|
-
{
|
|
187
|
-
type: "button",
|
|
188
|
-
onClick: () => p("years"),
|
|
189
|
-
className: "px-2 py-1 text-sm font-medium hover:bg-slate-100 rounded",
|
|
190
|
-
children: o
|
|
191
|
-
}
|
|
192
|
-
)
|
|
193
|
-
] }),
|
|
194
|
-
/* @__PURE__ */ n(
|
|
195
|
-
"button",
|
|
196
|
-
{
|
|
197
|
-
type: "button",
|
|
198
|
-
onClick: L,
|
|
199
|
-
className: "p-1 rounded hover:bg-slate-100",
|
|
200
|
-
children: /* @__PURE__ */ n(V, { className: "w-5 h-5" })
|
|
201
|
-
}
|
|
202
|
-
)
|
|
203
|
-
] }),
|
|
204
|
-
m === "days" && /* @__PURE__ */ f(q, { children: [
|
|
205
|
-
/* @__PURE__ */ n("div", { className: "grid grid-cols-7 gap-1 mb-2", children: X.map((t) => /* @__PURE__ */ n(
|
|
206
|
-
"div",
|
|
207
|
-
{
|
|
208
|
-
className: "w-8 h-8 flex items-center justify-center text-xs font-medium text-slate-500",
|
|
209
|
-
children: t
|
|
210
|
-
},
|
|
211
|
-
t
|
|
212
|
-
)) }),
|
|
213
|
-
/* @__PURE__ */ n("div", { className: "grid grid-cols-7 gap-1", children: z() })
|
|
214
|
-
] }),
|
|
215
|
-
m === "months" && /* @__PURE__ */ n("div", { className: "grid grid-cols-3 gap-2", children: H() }),
|
|
216
|
-
m === "years" && /* @__PURE__ */ n("div", { className: "grid grid-cols-3 gap-2", children: K() })
|
|
217
|
-
] })
|
|
218
|
-
] });
|
|
219
|
-
};
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
f.displayName = "Checkbox";
|
|
220
50
|
export {
|
|
221
|
-
|
|
51
|
+
f as Checkbox
|
|
222
52
|
};
|
|
223
53
|
//# sourceMappingURL=index24.js.map
|
package/dist/index24.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index24.js","sources":["../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import { useState, useRef, useEffect } from 'react'\nimport { cn } from '@/lib/utils'\nimport { CalendarIcon, ChevronLeftIcon, ChevronRightIcon } from '@heroicons/react/24/outline'\n\nexport interface DatePickerProps {\n value?: string\n onChange: (date: string) => void\n label?: string\n placeholder?: string\n disabled?: boolean\n error?: string\n disableFutureDates?: boolean\n disablePastDates?: boolean\n format?: 'DD/MM/YYYY' | 'MM/DD/YYYY' | 'YYYY-MM-DD'\n className?: string\n}\n\nconst MONTHS = [\n 'January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December'\n]\n\nconst WEEKDAYS = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']\n\nconst getDaysInMonth = (year: number, month: number) => {\n return new Date(year, month + 1, 0).getDate()\n}\n\nconst getFirstDayOfMonth = (year: number, month: number) => {\n return new Date(year, month, 1).getDay()\n}\n\nconst formatDate = (date: Date, format: string) => {\n const day = String(date.getDate()).padStart(2, '0')\n const month = String(date.getMonth() + 1).padStart(2, '0')\n const year = date.getFullYear()\n\n switch (format) {\n case 'MM/DD/YYYY':\n return `${month}/${day}/${year}`\n case 'YYYY-MM-DD':\n return `${year}-${month}-${day}`\n default:\n return `${day}/${month}/${year}`\n }\n}\n\nconst parseDate = (dateString: string): Date | null => {\n if (!dateString) return null\n\n // Try different formats\n const formats = [\n /^(\\d{2})\\/(\\d{2})\\/(\\d{4})$/, // DD/MM/YYYY\n /^(\\d{4})-(\\d{2})-(\\d{2})$/, // YYYY-MM-DD\n ]\n\n for (const regex of formats) {\n const match = dateString.match(regex)\n if (match) {\n if (regex.source.includes('^(\\\\d{4})')) {\n // YYYY-MM-DD\n return new Date(parseInt(match[1]), parseInt(match[2]) - 1, parseInt(match[3]))\n } else {\n // DD/MM/YYYY\n return new Date(parseInt(match[3]), parseInt(match[2]) - 1, parseInt(match[1]))\n }\n }\n }\n return null\n}\n\nexport const DatePicker = ({\n value,\n onChange,\n label,\n placeholder = 'DD/MM/YYYY',\n disabled = false,\n error,\n disableFutureDates = false,\n disablePastDates = false,\n format = 'DD/MM/YYYY',\n className,\n}: DatePickerProps) => {\n const today = new Date()\n const parsedValue = value ? parseDate(value) : null\n\n const [isOpen, setIsOpen] = useState(false)\n const [viewMode, setViewMode] = useState<'days' | 'months' | 'years'>('days')\n const [viewYear, setViewYear] = useState(parsedValue?.getFullYear() ?? today.getFullYear())\n const [viewMonth, setViewMonth] = useState(parsedValue?.getMonth() ?? today.getMonth())\n const [selectedDate, setSelectedDate] = useState<Date | null>(parsedValue)\n const containerRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(event.target as Node)) {\n setIsOpen(false)\n setViewMode('days')\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n return () => document.removeEventListener('mousedown', handleClickOutside)\n }, [])\n\n const handleDateSelect = (day: number) => {\n const newDate = new Date(viewYear, viewMonth, day)\n setSelectedDate(newDate)\n onChange(formatDate(newDate, format))\n setIsOpen(false)\n }\n\n const handleMonthSelect = (monthIndex: number) => {\n setViewMonth(monthIndex)\n setViewMode('days')\n }\n\n const handleYearSelect = (year: number) => {\n setViewYear(year)\n setViewMode('months')\n }\n\n const navigatePrevious = () => {\n if (viewMode === 'days') {\n if (viewMonth === 0) {\n setViewMonth(11)\n setViewYear(viewYear - 1)\n } else {\n setViewMonth(viewMonth - 1)\n }\n } else if (viewMode === 'years') {\n setViewYear(viewYear - 12)\n }\n }\n\n const navigateNext = () => {\n if (viewMode === 'days') {\n if (viewMonth === 11) {\n setViewMonth(0)\n setViewYear(viewYear + 1)\n } else {\n setViewMonth(viewMonth + 1)\n }\n } else if (viewMode === 'years') {\n setViewYear(viewYear + 12)\n }\n }\n\n const isDateDisabled = (date: Date) => {\n const todayStart = new Date(today.getFullYear(), today.getMonth(), today.getDate())\n if (disableFutureDates && date > todayStart) return true\n if (disablePastDates && date < todayStart) return true\n return false\n }\n\n const daysInMonth = getDaysInMonth(viewYear, viewMonth)\n const firstDay = getFirstDayOfMonth(viewYear, viewMonth)\n\n const renderDays = () => {\n const days = []\n\n // Empty cells before first day\n for (let i = 0; i < firstDay; i++) {\n days.push(<div key={`empty-${i}`} className=\"w-8 h-8\" />)\n }\n\n // Days of month\n for (let day = 1; day <= daysInMonth; day++) {\n const date = new Date(viewYear, viewMonth, day)\n const isSelected = selectedDate &&\n date.getDate() === selectedDate.getDate() &&\n date.getMonth() === selectedDate.getMonth() &&\n date.getFullYear() === selectedDate.getFullYear()\n const isToday =\n date.getDate() === today.getDate() &&\n date.getMonth() === today.getMonth() &&\n date.getFullYear() === today.getFullYear()\n const isDisabled = isDateDisabled(date)\n\n days.push(\n <button\n key={day}\n type=\"button\"\n disabled={isDisabled}\n onClick={() => handleDateSelect(day)}\n className={cn(\n 'w-8 h-8 rounded-full text-sm flex items-center justify-center',\n 'transition-colors focus:outline-none focus:ring-2 focus:ring-primary-500',\n isSelected && 'bg-primary-500 text-white',\n !isSelected && isToday && 'border border-primary-500 text-primary-500',\n !isSelected && !isToday && !isDisabled && 'hover:bg-slate-100',\n isDisabled && 'text-slate-300 cursor-not-allowed'\n )}\n >\n {day}\n </button>\n )\n }\n\n return days\n }\n\n const renderMonths = () => {\n return MONTHS.map((month, index) => (\n <button\n key={month}\n type=\"button\"\n onClick={() => handleMonthSelect(index)}\n className={cn(\n 'px-3 py-2 rounded text-sm',\n 'transition-colors focus:outline-none focus:ring-2 focus:ring-primary-500',\n viewMonth === index && 'bg-primary-500 text-white',\n viewMonth !== index && 'hover:bg-slate-100'\n )}\n >\n {month.slice(0, 3)}\n </button>\n ))\n }\n\n const renderYears = () => {\n const startYear = viewYear - 6\n const years = []\n for (let i = 0; i < 12; i++) {\n const year = startYear + i\n years.push(\n <button\n key={year}\n type=\"button\"\n onClick={() => handleYearSelect(year)}\n className={cn(\n 'px-3 py-2 rounded text-sm',\n 'transition-colors focus:outline-none focus:ring-2 focus:ring-primary-500',\n viewYear === year && 'bg-primary-500 text-white',\n viewYear !== year && 'hover:bg-slate-100'\n )}\n >\n {year}\n </button>\n )\n }\n return years\n }\n\n return (\n <div ref={containerRef} className={cn('relative', className)}>\n {label && (\n <label className=\"block text-sm font-semibold text-slate-700 mb-1.5\">\n {label}\n </label>\n )}\n\n <button\n type=\"button\"\n disabled={disabled}\n onClick={() => setIsOpen(!isOpen)}\n className={cn(\n 'w-full flex items-center justify-between px-4 py-2.5',\n 'bg-white border rounded-lg text-left',\n 'transition-colors focus:outline-none focus:ring-2 focus:ring-primary-500',\n error ? 'border-red-500' : 'border-slate-300',\n disabled && 'bg-slate-100 cursor-not-allowed opacity-60'\n )}\n >\n <span className={value ? 'text-slate-900' : 'text-slate-400'}>\n {value || placeholder}\n </span>\n <CalendarIcon className=\"w-5 h-5 text-slate-400\" />\n </button>\n\n {error && (\n <p className=\"text-sm text-red-500 mt-1\">{error}</p>\n )}\n\n {isOpen && (\n <div className=\"absolute z-50 mt-2 p-4 bg-white border border-slate-200 rounded-lg shadow-lg\">\n {/* Header */}\n <div className=\"flex items-center justify-between mb-4\">\n <button\n type=\"button\"\n onClick={navigatePrevious}\n className=\"p-1 rounded hover:bg-slate-100\"\n >\n <ChevronLeftIcon className=\"w-5 h-5\" />\n </button>\n\n <div className=\"flex gap-1\">\n {viewMode !== 'months' && (\n <button\n type=\"button\"\n onClick={() => setViewMode('months')}\n className=\"px-2 py-1 text-sm font-medium hover:bg-slate-100 rounded\"\n >\n {MONTHS[viewMonth]}\n </button>\n )}\n <button\n type=\"button\"\n onClick={() => setViewMode('years')}\n className=\"px-2 py-1 text-sm font-medium hover:bg-slate-100 rounded\"\n >\n {viewYear}\n </button>\n </div>\n\n <button\n type=\"button\"\n onClick={navigateNext}\n className=\"p-1 rounded hover:bg-slate-100\"\n >\n <ChevronRightIcon className=\"w-5 h-5\" />\n </button>\n </div>\n\n {/* Calendar content */}\n {viewMode === 'days' && (\n <>\n <div className=\"grid grid-cols-7 gap-1 mb-2\">\n {WEEKDAYS.map((day) => (\n <div\n key={day}\n className=\"w-8 h-8 flex items-center justify-center text-xs font-medium text-slate-500\"\n >\n {day}\n </div>\n ))}\n </div>\n <div className=\"grid grid-cols-7 gap-1\">\n {renderDays()}\n </div>\n </>\n )}\n\n {viewMode === 'months' && (\n <div className=\"grid grid-cols-3 gap-2\">\n {renderMonths()}\n </div>\n )}\n\n {viewMode === 'years' && (\n <div className=\"grid grid-cols-3 gap-2\">\n {renderYears()}\n </div>\n )}\n </div>\n )}\n </div>\n )\n}\n"],"names":["MONTHS","WEEKDAYS","getDaysInMonth","year","month","getFirstDayOfMonth","formatDate","date","format","day","parseDate","dateString","formats","regex","match","DatePicker","value","onChange","label","placeholder","disabled","error","disableFutureDates","disablePastDates","className","today","parsedValue","isOpen","setIsOpen","useState","viewMode","setViewMode","viewYear","setViewYear","viewMonth","setViewMonth","selectedDate","setSelectedDate","containerRef","useRef","useEffect","handleClickOutside","event","handleDateSelect","newDate","handleMonthSelect","monthIndex","handleYearSelect","navigatePrevious","navigateNext","isDateDisabled","todayStart","daysInMonth","firstDay","renderDays","days","i","isSelected","isToday","isDisabled","jsx","cn","renderMonths","index","renderYears","startYear","years","jsxs","CalendarIcon","ChevronLeftIcon","ChevronRightIcon","Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index24.js","sources":["../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import { forwardRef, type InputHTMLAttributes } from 'react'\nimport { cn } from '@/lib/utils'\nimport { CheckIcon } from '@heroicons/react/20/solid'\n\nexport interface CheckboxProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {\n label?: string\n description?: string\n}\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n ({ className, label, description, id, checked, ...props }, ref) => {\n const checkboxId = id || label?.toLowerCase().replace(/\\s+/g, '-')\n\n return (\n <label\n htmlFor={checkboxId}\n className={cn('flex items-start gap-3 cursor-pointer group', className)}\n >\n <div className=\"relative flex-shrink-0 mt-0.5\">\n <input\n ref={ref}\n type=\"checkbox\"\n id={checkboxId}\n checked={checked}\n className=\"peer sr-only\"\n {...props}\n />\n <div\n className={cn(\n 'h-5 w-5 rounded border-2 transition-colors duration-200',\n 'flex items-center justify-center',\n 'peer-focus:ring-2 peer-focus:ring-primary-500 peer-focus:ring-offset-2',\n 'peer-disabled:opacity-50 peer-disabled:cursor-not-allowed',\n checked\n ? 'bg-primary-500 border-primary-500'\n : 'bg-white border-slate-300 group-hover:border-slate-400'\n )}\n >\n {checked && <CheckIcon className=\"h-3.5 w-3.5 text-white\" />}\n </div>\n </div>\n {(label || description) && (\n <div className=\"flex flex-col\">\n {label && (\n <span className=\"text-sm font-medium text-slate-900\">{label}</span>\n )}\n {description && (\n <span className=\"text-sm text-slate-500\">{description}</span>\n )}\n </div>\n )}\n </label>\n )\n }\n)\n\nCheckbox.displayName = 'Checkbox'\n"],"names":["Checkbox","forwardRef","className","label","description","id","checked","props","ref","checkboxId","jsxs","cn","jsx","CheckIcon"],"mappings":";;;;AAUO,MAAMA,IAAWC;AAAA,EACtB,CAAC,EAAE,WAAAC,GAAW,OAAAC,GAAO,aAAAC,GAAa,IAAAC,GAAI,SAAAC,GAAS,GAAGC,EAAA,GAASC,MAAQ;AACjE,UAAMC,IAAaJ,MAAMF,KAAA,gBAAAA,EAAO,cAAc,QAAQ,QAAQ;AAE9D,WACE,gBAAAO;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAASD;AAAA,QACT,WAAWE,EAAG,+CAA+CT,CAAS;AAAA,QAEtE,UAAA;AAAA,UAAA,gBAAAQ,EAAC,OAAA,EAAI,WAAU,iCACb,UAAA;AAAA,YAAA,gBAAAE;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,KAAAJ;AAAA,gBACA,MAAK;AAAA,gBACL,IAAIC;AAAA,gBACJ,SAAAH;AAAA,gBACA,WAAU;AAAA,gBACT,GAAGC;AAAA,cAAA;AAAA,YAAA;AAAA,YAEN,gBAAAK;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAWD;AAAA,kBACT;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACAL,IACI,sCACA;AAAA,gBAAA;AAAA,gBAGL,UAAAA,KAAW,gBAAAM,EAACC,GAAA,EAAU,WAAU,yBAAA,CAAyB;AAAA,cAAA;AAAA,YAAA;AAAA,UAC5D,GACF;AAAA,WACEV,KAASC,MACT,gBAAAM,EAAC,OAAA,EAAI,WAAU,iBACZ,UAAA;AAAA,YAAAP,KACC,gBAAAS,EAAC,QAAA,EAAK,WAAU,sCAAsC,UAAAT,GAAM;AAAA,YAE7DC,KACC,gBAAAQ,EAAC,QAAA,EAAK,WAAU,0BAA0B,UAAAR,EAAA,CAAY;AAAA,UAAA,EAAA,CAE1D;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AAEAJ,EAAS,cAAc;"}
|
package/dist/index25.js
CHANGED
|
@@ -1,55 +1,82 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { jsx as e, jsxs as a } from "react/jsx-runtime";
|
|
2
|
+
import { Fragment as i } from "react";
|
|
3
|
+
import { Transition as v, Dialog as N, TransitionChild as o, DialogPanel as y, DialogTitle as b } from "@headlessui/react";
|
|
4
|
+
import { ExclamationTriangleIcon as g } from "@heroicons/react/24/outline";
|
|
5
|
+
import { cn as s } from "./index3.js";
|
|
6
|
+
import { Button as c } from "./index19.js";
|
|
7
|
+
function D({
|
|
8
|
+
open: d,
|
|
6
9
|
onClose: l,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
onConfirm: m,
|
|
11
|
+
title: f,
|
|
12
|
+
message: r,
|
|
13
|
+
confirmText: h = "Confirm",
|
|
14
|
+
cancelText: p = "Cancel",
|
|
15
|
+
showIcon: t = !1,
|
|
16
|
+
destructive: x = !1,
|
|
17
|
+
isLoading: n = !1,
|
|
18
|
+
className: u
|
|
19
|
+
}) {
|
|
20
|
+
return /* @__PURE__ */ e(v, { show: d, as: i, children: /* @__PURE__ */ a(N, { onClose: l, className: "relative z-50", children: [
|
|
21
|
+
/* @__PURE__ */ e(
|
|
22
|
+
o,
|
|
16
23
|
{
|
|
17
|
-
|
|
18
|
-
|
|
24
|
+
as: i,
|
|
25
|
+
enter: "ease-out duration-300",
|
|
26
|
+
enterFrom: "opacity-0",
|
|
27
|
+
enterTo: "opacity-100",
|
|
28
|
+
leave: "ease-in duration-200",
|
|
29
|
+
leaveFrom: "opacity-100",
|
|
30
|
+
leaveTo: "opacity-0",
|
|
31
|
+
children: /* @__PURE__ */ e("div", { className: "fixed inset-0 bg-black/50", "aria-hidden": "true" })
|
|
19
32
|
}
|
|
20
33
|
),
|
|
21
|
-
/* @__PURE__ */
|
|
22
|
-
|
|
34
|
+
/* @__PURE__ */ e("div", { className: "fixed inset-0 flex items-center justify-center p-4", children: /* @__PURE__ */ e(
|
|
35
|
+
o,
|
|
23
36
|
{
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
37
|
+
as: i,
|
|
38
|
+
enter: "ease-out duration-300",
|
|
39
|
+
enterFrom: "opacity-0 scale-95",
|
|
40
|
+
enterTo: "opacity-100 scale-100",
|
|
41
|
+
leave: "ease-in duration-200",
|
|
42
|
+
leaveFrom: "opacity-100 scale-100",
|
|
43
|
+
leaveTo: "opacity-0 scale-95",
|
|
44
|
+
children: /* @__PURE__ */ a(
|
|
45
|
+
y,
|
|
46
|
+
{
|
|
47
|
+
className: s(
|
|
48
|
+
"w-full max-w-md bg-white rounded-2xl shadow-xl p-6",
|
|
49
|
+
"transform transition-all",
|
|
50
|
+
u
|
|
51
|
+
),
|
|
52
|
+
children: [
|
|
53
|
+
/* @__PURE__ */ a("div", { className: s(t && "flex gap-4"), children: [
|
|
54
|
+
t && /* @__PURE__ */ e("div", { className: "flex-shrink-0", children: /* @__PURE__ */ e("div", { className: "rounded-full bg-amber-100 p-2", children: /* @__PURE__ */ e(g, { className: "h-6 w-6 text-amber-600" }) }) }),
|
|
55
|
+
/* @__PURE__ */ a("div", { className: "flex-1", children: [
|
|
56
|
+
/* @__PURE__ */ e(b, { className: "text-lg font-semibold text-slate-900 mb-2", children: f }),
|
|
57
|
+
r && /* @__PURE__ */ e("div", { className: "text-sm text-slate-600 mb-6", children: r })
|
|
58
|
+
] })
|
|
59
|
+
] }),
|
|
60
|
+
/* @__PURE__ */ a("div", { className: "flex justify-end gap-3 mt-6", children: [
|
|
61
|
+
/* @__PURE__ */ e(c, { variant: "outline", onClick: l, disabled: n, children: p }),
|
|
62
|
+
/* @__PURE__ */ e(
|
|
63
|
+
c,
|
|
64
|
+
{
|
|
65
|
+
variant: x ? "danger" : "primary",
|
|
66
|
+
onClick: m,
|
|
67
|
+
isLoading: n,
|
|
68
|
+
children: h
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
] })
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
)
|
|
48
75
|
}
|
|
49
|
-
)
|
|
50
|
-
] });
|
|
51
|
-
}
|
|
76
|
+
) })
|
|
77
|
+
] }) });
|
|
78
|
+
}
|
|
52
79
|
export {
|
|
53
|
-
|
|
80
|
+
D as ConfirmModal
|
|
54
81
|
};
|
|
55
82
|
//# sourceMappingURL=index25.js.map
|