@vlrc-fe/components 1.0.0
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 +193 -0
- package/dist/index.cjs +1 -0
- package/dist/index.js +42 -0
- package/dist/index10.cjs +1 -0
- package/dist/index10.js +85 -0
- package/dist/index100.cjs +1 -0
- package/dist/index100.js +65 -0
- package/dist/index101.cjs +1 -0
- package/dist/index101.js +48 -0
- package/dist/index102.cjs +1 -0
- package/dist/index102.js +67 -0
- package/dist/index103.cjs +1 -0
- package/dist/index103.js +151 -0
- package/dist/index104.cjs +1 -0
- package/dist/index104.js +23 -0
- package/dist/index105.cjs +1 -0
- package/dist/index105.js +27 -0
- package/dist/index106.cjs +1 -0
- package/dist/index106.js +53 -0
- package/dist/index107.cjs +1 -0
- package/dist/index107.js +161 -0
- package/dist/index108.cjs +1 -0
- package/dist/index108.js +16 -0
- package/dist/index109.cjs +1 -0
- package/dist/index11.cjs +1 -0
- package/dist/index11.js +86 -0
- package/dist/index12.cjs +1 -0
- package/dist/index12.js +122 -0
- package/dist/index13.cjs +1 -0
- package/dist/index13.js +14 -0
- package/dist/index14.cjs +1 -0
- package/dist/index14.js +16 -0
- package/dist/index15.cjs +1 -0
- package/dist/index15.js +115 -0
- package/dist/index16.cjs +1 -0
- package/dist/index16.js +727 -0
- package/dist/index17.cjs +1 -0
- package/dist/index17.js +348 -0
- package/dist/index18.cjs +1 -0
- package/dist/index18.js +76 -0
- package/dist/index19.cjs +1 -0
- package/dist/index19.js +14 -0
- package/dist/index2.cjs +1 -0
- package/dist/index2.js +122 -0
- package/dist/index20.cjs +1 -0
- package/dist/index20.js +116 -0
- package/dist/index21.cjs +1 -0
- package/dist/index21.js +35 -0
- package/dist/index22.cjs +1 -0
- package/dist/index22.js +18 -0
- package/dist/index23.cjs +1 -0
- package/dist/index23.js +27 -0
- package/dist/index24.cjs +1 -0
- package/dist/index24.js +35 -0
- package/dist/index25.cjs +1 -0
- package/dist/index25.js +97 -0
- package/dist/index26.cjs +1 -0
- package/dist/index26.js +28 -0
- package/dist/index27.cjs +1 -0
- package/dist/index27.js +14 -0
- package/dist/index28.cjs +1 -0
- package/dist/index28.js +67 -0
- package/dist/index29.cjs +1 -0
- package/dist/index29.js +13 -0
- package/dist/index3.cjs +1 -0
- package/dist/index3.js +8 -0
- package/dist/index30.cjs +1 -0
- package/dist/index30.js +35 -0
- package/dist/index31.cjs +1 -0
- package/dist/index31.js +43 -0
- package/dist/index32.cjs +1 -0
- package/dist/index32.js +14 -0
- package/dist/index33.cjs +1 -0
- package/dist/index33.js +64 -0
- package/dist/index34.cjs +1 -0
- package/dist/index34.js +23 -0
- package/dist/index35.cjs +1 -0
- package/dist/index35.js +34 -0
- package/dist/index36.cjs +1 -0
- package/dist/index36.js +27 -0
- package/dist/index37.cjs +1 -0
- package/dist/index37.js +26 -0
- package/dist/index38.cjs +1 -0
- package/dist/index38.js +157 -0
- package/dist/index39.cjs +1 -0
- package/dist/index39.js +34 -0
- package/dist/index4.cjs +1 -0
- package/dist/index4.js +43 -0
- package/dist/index40.cjs +1 -0
- package/dist/index40.js +46 -0
- package/dist/index41.cjs +1 -0
- package/dist/index41.js +118 -0
- package/dist/index42.cjs +1 -0
- package/dist/index42.js +125 -0
- package/dist/index43.cjs +1 -0
- package/dist/index43.js +26 -0
- package/dist/index44.cjs +1 -0
- package/dist/index44.js +88 -0
- package/dist/index45.cjs +1 -0
- package/dist/index45.js +221 -0
- package/dist/index46.cjs +1 -0
- package/dist/index46.js +166 -0
- package/dist/index47.cjs +1 -0
- package/dist/index47.js +126 -0
- package/dist/index48.cjs +1 -0
- package/dist/index48.js +15 -0
- package/dist/index49.cjs +1 -0
- package/dist/index49.js +9 -0
- package/dist/index5.cjs +1 -0
- package/dist/index5.js +24 -0
- package/dist/index50.cjs +1 -0
- package/dist/index50.js +17 -0
- package/dist/index51.cjs +1 -0
- package/dist/index51.js +22 -0
- package/dist/index52.cjs +1 -0
- package/dist/index52.js +18 -0
- package/dist/index53.cjs +1 -0
- package/dist/index53.js +6 -0
- package/dist/index54.cjs +1 -0
- package/dist/index54.js +7 -0
- package/dist/index55.cjs +1 -0
- package/dist/index55.js +8 -0
- package/dist/index56.cjs +1 -0
- package/dist/index56.js +7 -0
- package/dist/index57.cjs +1 -0
- package/dist/index57.js +7 -0
- package/dist/index58.cjs +1 -0
- package/dist/index58.js +9 -0
- package/dist/index59.cjs +1 -0
- package/dist/index59.js +69 -0
- package/dist/index6.cjs +1 -0
- package/dist/index6.js +51 -0
- package/dist/index60.cjs +1 -0
- package/dist/index60.js +11 -0
- package/dist/index61.cjs +1 -0
- package/dist/index61.js +202 -0
- package/dist/index62.cjs +1 -0
- package/dist/index62.js +124 -0
- package/dist/index63.cjs +1 -0
- package/dist/index63.js +32 -0
- package/dist/index64.cjs +1 -0
- package/dist/index64.js +20 -0
- package/dist/index65.cjs +1 -0
- package/dist/index65.js +69 -0
- package/dist/index66.cjs +1 -0
- package/dist/index66.js +32 -0
- package/dist/index67.cjs +1 -0
- package/dist/index67.js +11 -0
- package/dist/index68.cjs +1 -0
- package/dist/index68.js +280 -0
- package/dist/index69.cjs +1 -0
- package/dist/index69.js +157 -0
- package/dist/index7.cjs +1 -0
- package/dist/index7.js +88 -0
- package/dist/index70.cjs +1 -0
- package/dist/index70.js +20 -0
- package/dist/index71.cjs +1 -0
- package/dist/index71.js +10 -0
- package/dist/index72.cjs +1 -0
- package/dist/index72.js +14 -0
- package/dist/index73.cjs +1 -0
- package/dist/index73.js +8 -0
- package/dist/index74.cjs +1 -0
- package/dist/index74.js +8 -0
- package/dist/index75.cjs +1 -0
- package/dist/index75.js +11 -0
- package/dist/index76.cjs +1 -0
- package/dist/index76.js +10 -0
- package/dist/index77.cjs +1 -0
- package/dist/index77.js +6 -0
- package/dist/index78.cjs +1 -0
- package/dist/index78.js +8 -0
- package/dist/index79.cjs +1 -0
- package/dist/index79.js +8 -0
- package/dist/index8.cjs +1 -0
- package/dist/index8.js +68 -0
- package/dist/index80.cjs +1 -0
- package/dist/index80.js +10 -0
- package/dist/index81.cjs +1 -0
- package/dist/index81.js +11 -0
- package/dist/index82.cjs +1 -0
- package/dist/index82.js +15 -0
- package/dist/index83.cjs +1 -0
- package/dist/index83.js +11 -0
- package/dist/index84.cjs +1 -0
- package/dist/index84.js +11 -0
- package/dist/index85.cjs +1 -0
- package/dist/index85.js +6 -0
- package/dist/index86.cjs +1 -0
- package/dist/index86.js +43 -0
- package/dist/index87.cjs +1 -0
- package/dist/index87.js +382 -0
- package/dist/index88.cjs +1 -0
- package/dist/index88.js +40 -0
- package/dist/index89.cjs +1 -0
- package/dist/index89.js +23 -0
- package/dist/index9.cjs +1 -0
- package/dist/index9.js +20 -0
- package/dist/index90.cjs +1 -0
- package/dist/index90.js +59 -0
- package/dist/index91.cjs +1 -0
- package/dist/index91.js +55 -0
- package/dist/index92.cjs +1 -0
- package/dist/index92.js +54 -0
- package/dist/index93.cjs +1 -0
- package/dist/index93.js +57 -0
- package/dist/index94.cjs +1 -0
- package/dist/index94.js +57 -0
- package/dist/index95.cjs +1 -0
- package/dist/index95.js +88 -0
- package/dist/index96.cjs +1 -0
- package/dist/index96.js +66 -0
- package/dist/index97.cjs +1 -0
- package/dist/index97.js +594 -0
- package/dist/index98.cjs +9 -0
- package/dist/index98.js +30 -0
- package/dist/index99.cjs +1 -0
- package/dist/index99.js +50 -0
- package/package.json +82 -0
package/dist/index88.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
//#region ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/format/longFormatters.js
|
|
2
|
+
var e = (e, t) => {
|
|
3
|
+
switch (e) {
|
|
4
|
+
case "P": return t.date({ width: "short" });
|
|
5
|
+
case "PP": return t.date({ width: "medium" });
|
|
6
|
+
case "PPP": return t.date({ width: "long" });
|
|
7
|
+
default: return t.date({ width: "full" });
|
|
8
|
+
}
|
|
9
|
+
}, t = (e, t) => {
|
|
10
|
+
switch (e) {
|
|
11
|
+
case "p": return t.time({ width: "short" });
|
|
12
|
+
case "pp": return t.time({ width: "medium" });
|
|
13
|
+
case "ppp": return t.time({ width: "long" });
|
|
14
|
+
default: return t.time({ width: "full" });
|
|
15
|
+
}
|
|
16
|
+
}, n = {
|
|
17
|
+
p: t,
|
|
18
|
+
P: (n, r) => {
|
|
19
|
+
let i = n.match(/(P+)(p+)?/) || [], a = i[1], o = i[2];
|
|
20
|
+
if (!o) return e(n, r);
|
|
21
|
+
let s;
|
|
22
|
+
switch (a) {
|
|
23
|
+
case "P":
|
|
24
|
+
s = r.dateTime({ width: "short" });
|
|
25
|
+
break;
|
|
26
|
+
case "PP":
|
|
27
|
+
s = r.dateTime({ width: "medium" });
|
|
28
|
+
break;
|
|
29
|
+
case "PPP":
|
|
30
|
+
s = r.dateTime({ width: "long" });
|
|
31
|
+
break;
|
|
32
|
+
default:
|
|
33
|
+
s = r.dateTime({ width: "full" });
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
return s.replace("{{date}}", e(a, r)).replace("{{time}}", t(o, r));
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
//#endregion
|
|
40
|
+
export { n as longFormatters };
|
package/dist/index89.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=(e,t)=>{switch(e){case`P`:return t.date({width:`short`});case`PP`:return t.date({width:`medium`});case`PPP`:return t.date({width:`long`});default:return t.date({width:`full`})}},t=(e,t)=>{switch(e){case`p`:return t.time({width:`short`});case`pp`:return t.time({width:`medium`});case`ppp`:return t.time({width:`long`});default:return t.time({width:`full`})}},n={p:t,P:(n,r)=>{let i=n.match(/(P+)(p+)?/)||[],a=i[1],o=i[2];if(!o)return e(n,r);let s;switch(a){case`P`:s=r.dateTime({width:`short`});break;case`PP`:s=r.dateTime({width:`medium`});break;case`PPP`:s=r.dateTime({width:`long`});break;default:s=r.dateTime({width:`full`});break}return s.replace(`{{date}}`,e(a,r)).replace(`{{time}}`,t(o,r))}};exports.longFormatters=n;
|
package/dist/index89.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/protectedTokens.js
|
|
2
|
+
var e = /^D+$/, t = /^Y+$/, n = [
|
|
3
|
+
"D",
|
|
4
|
+
"DD",
|
|
5
|
+
"YY",
|
|
6
|
+
"YYYY"
|
|
7
|
+
];
|
|
8
|
+
function r(t) {
|
|
9
|
+
return e.test(t);
|
|
10
|
+
}
|
|
11
|
+
function i(e) {
|
|
12
|
+
return t.test(e);
|
|
13
|
+
}
|
|
14
|
+
function a(e, t, r) {
|
|
15
|
+
let i = o(e, t, r);
|
|
16
|
+
if (console.warn(i), n.includes(e)) throw RangeError(i);
|
|
17
|
+
}
|
|
18
|
+
function o(e, t, n) {
|
|
19
|
+
let r = e[0] === "Y" ? "years" : "days of the month";
|
|
20
|
+
return `Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
export { r as isProtectedDayOfYearToken, i as isProtectedWeekYearToken, a as warnOrThrowProtectedError };
|
package/dist/index9.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./index2.cjs"),t=require("./index4.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");var i=(0,require("class-variance-authority").cva)(`bg-card text-card-foreground flex flex-col rounded-xl border shadow-sm`,{variants:{variant:{default:`gap-6 py-6`,glass:`gap-6 py-6 bg-card/80 backdrop-blur-sm dark:bg-card/40 dark:border-white/10`,"glass-strong":`gap-6 py-6 bg-card/60 backdrop-blur-md dark:bg-card/60 dark:backdrop-blur-md dark:border dark:border-white/10`,elevated:`gap-6 py-6 border-0 shadow-lg hover:-translate-y-1 hover:shadow-xl transition-all`,"elevated-glass":`gap-6 py-6 border-0 shadow-lg hover:-translate-y-2 hover:shadow-xl transition-all dark:bg-card/60 dark:backdrop-blur-md dark:border dark:border-white/10`,auth:`w-full max-w-md mx-auto bg-card/80 dark:bg-card/60 backdrop-blur-xl backdrop-saturate-150 border-border/60 dark:border-white/10 rounded-2xl shadow-2xl shadow-primary/10 dark:shadow-black/30`}},defaultVariants:{variant:`default`}});function a({className:e,variant:n,...a}){return(0,r.jsx)(`div`,{"data-slot":`card`,"data-variant":n,className:t.cn(i({variant:n}),e),...a})}function o({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card-header`,className:t.cn(`@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6`,e),...n})}function s({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card-title`,className:t.cn(`leading-none font-semibold`,e),...n})}function c({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card-description`,className:t.cn(`text-muted-foreground text-sm`,e),...n})}function l({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card-action`,className:t.cn(`col-start-2 row-span-2 row-start-1 self-start justify-self-end`,e),...n})}function u({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card-content`,className:t.cn(`px-6`,e),...n})}function d({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card-footer`,className:t.cn(`flex items-center px-6 [.border-t]:pt-6`,e),...n})}exports.Card=a,exports.CardAction=l,exports.CardContent=u,exports.CardDescription=c,exports.CardFooter=d,exports.CardHeader=o,exports.CardTitle=s,exports.cardVariants=i;
|
package/dist/index9.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { cn as e } from "./index3.js";
|
|
2
|
+
import { CheckIcon as t } from "lucide-react";
|
|
3
|
+
import "react";
|
|
4
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
5
|
+
import * as r from "@radix-ui/react-checkbox";
|
|
6
|
+
//#region src/ui/checkbox.tsx
|
|
7
|
+
function i({ className: i, ...a }) {
|
|
8
|
+
return /* @__PURE__ */ n(r.Root, {
|
|
9
|
+
"data-slot": "checkbox",
|
|
10
|
+
className: e("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50", i),
|
|
11
|
+
...a,
|
|
12
|
+
children: /* @__PURE__ */ n(r.Indicator, {
|
|
13
|
+
"data-slot": "checkbox-indicator",
|
|
14
|
+
className: "grid place-content-center text-current transition-none",
|
|
15
|
+
children: /* @__PURE__ */ n(t, { className: "size-3.5" })
|
|
16
|
+
})
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { i as Checkbox };
|
package/dist/index90.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=/^D+$/,t=/^Y+$/,n=[`D`,`DD`,`YY`,`YYYY`];function r(t){return e.test(t)}function i(e){return t.test(e)}function a(e,t,r){let i=o(e,t,r);if(console.warn(i),n.includes(e))throw RangeError(i)}function o(e,t,n){let r=e[0]===`Y`?`years`:`days of the month`;return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}exports.isProtectedDayOfYearToken=r,exports.isProtectedWeekYearToken=i,exports.warnOrThrowProtectedError=a;
|
package/dist/index90.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { getDefaultOptions as e } from "./index56.js";
|
|
2
|
+
import t from "./index57.js";
|
|
3
|
+
import n from "./index64.js";
|
|
4
|
+
import r from "./index78.js";
|
|
5
|
+
import { formatters as i } from "./index87.js";
|
|
6
|
+
import { longFormatters as a } from "./index88.js";
|
|
7
|
+
import { isProtectedDayOfYearToken as o, isProtectedWeekYearToken as s, warnOrThrowProtectedError as c } from "./index89.js";
|
|
8
|
+
//#region ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/format.js
|
|
9
|
+
var l = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, u = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, d = /^'([^]*?)'?$/, f = /''/g, p = /[a-zA-Z]/;
|
|
10
|
+
function m(d, f, m) {
|
|
11
|
+
let g = e(), _ = m?.locale ?? g.locale ?? n, v = m?.firstWeekContainsDate ?? m?.locale?.options?.firstWeekContainsDate ?? g.firstWeekContainsDate ?? g.locale?.options?.firstWeekContainsDate ?? 1, y = m?.weekStartsOn ?? m?.locale?.options?.weekStartsOn ?? g.weekStartsOn ?? g.locale?.options?.weekStartsOn ?? 0, b = t(d, m?.in);
|
|
12
|
+
if (!r(b)) throw RangeError("Invalid time value");
|
|
13
|
+
let x = f.match(u).map((e) => {
|
|
14
|
+
let t = e[0];
|
|
15
|
+
if (t === "p" || t === "P") {
|
|
16
|
+
let n = a[t];
|
|
17
|
+
return n(e, _.formatLong);
|
|
18
|
+
}
|
|
19
|
+
return e;
|
|
20
|
+
}).join("").match(l).map((e) => {
|
|
21
|
+
if (e === "''") return {
|
|
22
|
+
isToken: !1,
|
|
23
|
+
value: "'"
|
|
24
|
+
};
|
|
25
|
+
let t = e[0];
|
|
26
|
+
if (t === "'") return {
|
|
27
|
+
isToken: !1,
|
|
28
|
+
value: h(e)
|
|
29
|
+
};
|
|
30
|
+
if (i[t]) return {
|
|
31
|
+
isToken: !0,
|
|
32
|
+
value: e
|
|
33
|
+
};
|
|
34
|
+
if (t.match(p)) throw RangeError("Format string contains an unescaped latin alphabet character `" + t + "`");
|
|
35
|
+
return {
|
|
36
|
+
isToken: !1,
|
|
37
|
+
value: e
|
|
38
|
+
};
|
|
39
|
+
});
|
|
40
|
+
_.localize.preprocessor && (x = _.localize.preprocessor(b, x));
|
|
41
|
+
let S = {
|
|
42
|
+
firstWeekContainsDate: v,
|
|
43
|
+
weekStartsOn: y,
|
|
44
|
+
locale: _
|
|
45
|
+
};
|
|
46
|
+
return x.map((e) => {
|
|
47
|
+
if (!e.isToken) return e.value;
|
|
48
|
+
let t = e.value;
|
|
49
|
+
(!m?.useAdditionalWeekYearTokens && s(t) || !m?.useAdditionalDayOfYearTokens && o(t)) && c(t, f, String(d));
|
|
50
|
+
let n = i[t[0]];
|
|
51
|
+
return n(b, t, _.localize, S);
|
|
52
|
+
}).join("");
|
|
53
|
+
}
|
|
54
|
+
function h(e) {
|
|
55
|
+
let t = e.match(d);
|
|
56
|
+
return t ? t[1].replace(f, "'") : e;
|
|
57
|
+
}
|
|
58
|
+
//#endregion
|
|
59
|
+
export { m as default };
|
package/dist/index91.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./index57.cjs"),t=require("./index58.cjs"),n=require("./index65.cjs"),r=require("./index79.cjs"),i=require("./index88.cjs"),a=require("./index89.cjs"),o=require("./index90.cjs");var s=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,c=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,l=/^'([^]*?)'?$/,u=/''/g,d=/[a-zA-Z]/;function f(l,u,f){let m=e.getDefaultOptions(),h=f?.locale??m.locale??n.default,g=f?.firstWeekContainsDate??f?.locale?.options?.firstWeekContainsDate??m.firstWeekContainsDate??m.locale?.options?.firstWeekContainsDate??1,_=f?.weekStartsOn??f?.locale?.options?.weekStartsOn??m.weekStartsOn??m.locale?.options?.weekStartsOn??0,v=t.default(l,f?.in);if(!r.default(v))throw RangeError(`Invalid time value`);let y=u.match(c).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=a.longFormatters[t];return n(e,h.formatLong)}return e}).join(``).match(s).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:p(e)};if(i.formatters[t])return{isToken:!0,value:e};if(t.match(d))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});h.localize.preprocessor&&(y=h.localize.preprocessor(v,y));let b={firstWeekContainsDate:g,weekStartsOn:_,locale:h};return y.map(e=>{if(!e.isToken)return e.value;let t=e.value;(!f?.useAdditionalWeekYearTokens&&o.isProtectedWeekYearToken(t)||!f?.useAdditionalDayOfYearTokens&&o.isProtectedDayOfYearToken(t))&&o.warnOrThrowProtectedError(t,u,String(l));let n=i.formatters[t[0]];return n(v,t,h.localize,b)}).join(``)}function p(e){let t=e.match(l);return t?t[1].replace(u,`'`):e}exports.default=f;
|
package/dist/index91.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import e from "./index78.js";
|
|
2
|
+
import t from "./index90.js";
|
|
3
|
+
//#region src/Form/FormDatePicker/useFormDatePicker.ts
|
|
4
|
+
function n(e) {
|
|
5
|
+
let { pickerType: t = "date", showTime: n, dateFormat: r, rules: i = {}, onChangeDate: a, onChangeRange: o } = e, s = r || c(t, n), d = i.required !== void 0 && i.required !== !1;
|
|
6
|
+
return {
|
|
7
|
+
dateFormat: s,
|
|
8
|
+
isRequired: d,
|
|
9
|
+
processedRules: u(i, d),
|
|
10
|
+
handleRangeChange: (e, t) => {
|
|
11
|
+
e.onChange(t), o && o(t, [t[0] ? l(t[0], s) : "", t[1] ? l(t[1], s) : ""]);
|
|
12
|
+
},
|
|
13
|
+
handleSingleChange: (e, t) => {
|
|
14
|
+
e.onChange(t), a && a(t, t ? l(t, s) : "");
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
var r = (e, t) => {
|
|
19
|
+
if (typeof e == "object") return e;
|
|
20
|
+
if (e === !0 || t === "time") return { showSecond: !0 };
|
|
21
|
+
}, i = (e, t) => {
|
|
22
|
+
if (t) return typeof t == "function" && e ? t(e) : t;
|
|
23
|
+
}, a = (e, t, n) => {
|
|
24
|
+
if (!e && !t) return "";
|
|
25
|
+
let r = e ? l(e, n) : "", i = t ? l(t, n) : "";
|
|
26
|
+
return r && i ? `${r} ~ ${i}` : r || "";
|
|
27
|
+
}, o = (e) => {
|
|
28
|
+
switch (e) {
|
|
29
|
+
case "small": return "h-8 text-xs";
|
|
30
|
+
case "large": return "h-12 text-base";
|
|
31
|
+
default: return "h-10 text-sm";
|
|
32
|
+
}
|
|
33
|
+
}, s = (e) => {
|
|
34
|
+
switch (e) {
|
|
35
|
+
case "error": return "border-destructive focus-visible:ring-destructive";
|
|
36
|
+
case "warning": return "border-yellow-500 focus-visible:ring-yellow-500";
|
|
37
|
+
default: return "";
|
|
38
|
+
}
|
|
39
|
+
}, c = (e, t) => e === "time" ? typeof t == "object" && t.format ? t.format : "HH:mm:ss" : e === "month" ? "MM/yyyy" : e === "year" ? "yyyy" : e === "datetime" || t ? typeof t == "object" && t.format ? `dd/MM/yyyy ${t.format}` : "dd/MM/yyyy HH:mm:ss" : "dd/MM/yyyy", l = (n, r) => {
|
|
40
|
+
if (!n || !e(n)) return "";
|
|
41
|
+
try {
|
|
42
|
+
return t(n, r);
|
|
43
|
+
} catch (e) {
|
|
44
|
+
return console.warn("Error formatting date:", e), "";
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
function u(e = {}, t) {
|
|
48
|
+
let n = { ...e };
|
|
49
|
+
return t && typeof n.required != "string" && typeof n.required != "object" ? n.required = "Trường này là bắt buộc" : typeof n.required == "object" && !n.required.message && (n.required = {
|
|
50
|
+
...n.required,
|
|
51
|
+
message: "Trường này là bắt buộc"
|
|
52
|
+
}), n;
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
export { i as buildDisabledTime, a as buildRangeDisplayValue, r as buildTimeConfig, l as formatDateValue, o as getSizeClassName, s as getStatusClassName, n as useFormDatePicker };
|
package/dist/index92.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./index79.cjs"),t=require("./index91.cjs");function n(e){let{pickerType:t=`date`,showTime:n,dateFormat:r,rules:i={},onChangeDate:a,onChangeRange:o}=e,s=r||c(t,n),d=i.required!==void 0&&i.required!==!1;return{dateFormat:s,isRequired:d,processedRules:u(i,d),handleRangeChange:(e,t)=>{e.onChange(t),o&&o(t,[t[0]?l(t[0],s):``,t[1]?l(t[1],s):``])},handleSingleChange:(e,t)=>{e.onChange(t),a&&a(t,t?l(t,s):``)}}}var r=(e,t)=>{if(typeof e==`object`)return e;if(e===!0||t===`time`)return{showSecond:!0}},i=(e,t)=>{if(t)return typeof t==`function`&&e?t(e):t},a=(e,t,n)=>{if(!e&&!t)return``;let r=e?l(e,n):``,i=t?l(t,n):``;return r&&i?`${r} ~ ${i}`:r||``},o=e=>{switch(e){case`small`:return`h-8 text-xs`;case`large`:return`h-12 text-base`;default:return`h-10 text-sm`}},s=e=>{switch(e){case`error`:return`border-destructive focus-visible:ring-destructive`;case`warning`:return`border-yellow-500 focus-visible:ring-yellow-500`;default:return``}},c=(e,t)=>e===`time`?typeof t==`object`&&t.format?t.format:`HH:mm:ss`:e===`month`?`MM/yyyy`:e===`year`?`yyyy`:e===`datetime`||t?typeof t==`object`&&t.format?`dd/MM/yyyy ${t.format}`:`dd/MM/yyyy HH:mm:ss`:`dd/MM/yyyy`,l=(n,r)=>{if(!n||!e.default(n))return``;try{return t.default(n,r)}catch(e){return console.warn(`Error formatting date:`,e),``}};function u(e={},t){let n={...e};return t&&typeof n.required!=`string`&&typeof n.required!=`object`?n.required=`Trường này là bắt buộc`:typeof n.required==`object`&&!n.required.message&&(n.required={...n.required,message:`Trường này là bắt buộc`}),n}exports.buildDisabledTime=i,exports.buildRangeDisplayValue=a,exports.buildTimeConfig=r,exports.formatDateValue=l,exports.getSizeClassName=o,exports.getStatusClassName=s,exports.useFormDatePicker=n;
|
package/dist/index92.js
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { cn as e } from "./index3.js";
|
|
2
|
+
import { Button as t } from "./index6.js";
|
|
3
|
+
import { Calendar as n } from "./index7.js";
|
|
4
|
+
import { Popover as r, PopoverContent as i, PopoverTrigger as a } from "./index21.js";
|
|
5
|
+
import { Icons as o } from "./index41.js";
|
|
6
|
+
import s from "./index70.js";
|
|
7
|
+
import { buildRangeDisplayValue as c, getSizeClassName as l, getStatusClassName as u } from "./index91.js";
|
|
8
|
+
import d from "react";
|
|
9
|
+
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
10
|
+
//#region src/Form/FormDatePicker/RangeDatePicker.tsx
|
|
11
|
+
function m({ value: m, onChange: h, placeholder: g = "Select Date Range", dateFormat: _, showTime: v, size: y = "large", status: b, width: x = "auto", disabled: S, allowClear: C, hideValue: w, suffixIcon: T, className: E, disabledDate: D }) {
|
|
12
|
+
let [O, k] = d.useState(!1), [A, j] = d.useState(!1), [M, N] = m, P = c(M, N, _);
|
|
13
|
+
return /* @__PURE__ */ p(r, {
|
|
14
|
+
open: O,
|
|
15
|
+
onOpenChange: (e) => {
|
|
16
|
+
k(e), e || j(!1);
|
|
17
|
+
},
|
|
18
|
+
children: [/* @__PURE__ */ f(a, {
|
|
19
|
+
asChild: !0,
|
|
20
|
+
children: /* @__PURE__ */ p(t, {
|
|
21
|
+
variant: "outline",
|
|
22
|
+
disabled: S,
|
|
23
|
+
className: e("justify-between font-normal", l(y), u(b), !P && "text-muted-foreground", x === "auto" ? "w-full" : "", E),
|
|
24
|
+
style: x === "auto" ? void 0 : { width: x },
|
|
25
|
+
children: [!w && P ? P : /* @__PURE__ */ f("span", { children: g }), /* @__PURE__ */ p("div", {
|
|
26
|
+
className: "ml-auto flex items-center gap-1",
|
|
27
|
+
children: [C && (M || N) && /* @__PURE__ */ f("span", {
|
|
28
|
+
onClick: (e) => {
|
|
29
|
+
e.stopPropagation(), h([void 0, void 0]), j(!1);
|
|
30
|
+
},
|
|
31
|
+
className: "hover:text-destructive cursor-pointer",
|
|
32
|
+
children: "×"
|
|
33
|
+
}), T || /* @__PURE__ */ f(o.CalendarIcon, { className: "h-4 w-4 opacity-50" })]
|
|
34
|
+
})]
|
|
35
|
+
})
|
|
36
|
+
}), /* @__PURE__ */ f(i, {
|
|
37
|
+
className: "w-auto p-0",
|
|
38
|
+
align: "start",
|
|
39
|
+
children: /* @__PURE__ */ f(n, {
|
|
40
|
+
mode: "single",
|
|
41
|
+
selected: A ? N : M,
|
|
42
|
+
onSelect: (e) => {
|
|
43
|
+
e && (!M || A ? M ? (h([e < M ? e : M, e < M ? M : e]), v || (k(!1), j(!1))) : (h([e, void 0]), j(!0)) : (h([e < M ? e : M, e < M ? M : e]), v || (k(!1), j(!1))));
|
|
44
|
+
},
|
|
45
|
+
disabled: D,
|
|
46
|
+
captionLayout: "dropdown",
|
|
47
|
+
hidden: { after: new Date((/* @__PURE__ */ new Date()).getFullYear() + 50, 11, 31) },
|
|
48
|
+
locale: s
|
|
49
|
+
})
|
|
50
|
+
})]
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { m as default };
|
package/dist/index93.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./index2.cjs"),t=require("./index4.cjs"),n=require("./index7.cjs"),r=require("./index8.cjs"),i=require("./index22.cjs"),a=require("./index42.cjs"),o=require("./index71.cjs"),s=require("./index92.cjs");let c=require("react");c=e.__toESM(c,1);let l=require("react/jsx-runtime");function u({value:e,onChange:u,placeholder:d=`Select Date Range`,dateFormat:f,showTime:p,size:m=`large`,status:h,width:g=`auto`,disabled:_,allowClear:v,hideValue:y,suffixIcon:b,className:x,disabledDate:S}){let[C,w]=c.default.useState(!1),[T,E]=c.default.useState(!1),[D,O]=e,k=s.buildRangeDisplayValue(D,O,f);return(0,l.jsxs)(i.Popover,{open:C,onOpenChange:e=>{w(e),e||E(!1)},children:[(0,l.jsx)(i.PopoverTrigger,{asChild:!0,children:(0,l.jsxs)(n.Button,{variant:`outline`,disabled:_,className:t.cn(`justify-between font-normal`,s.getSizeClassName(m),s.getStatusClassName(h),!k&&`text-muted-foreground`,g===`auto`?`w-full`:``,x),style:g===`auto`?void 0:{width:g},children:[!y&&k?k:(0,l.jsx)(`span`,{children:d}),(0,l.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[v&&(D||O)&&(0,l.jsx)(`span`,{onClick:e=>{e.stopPropagation(),u([void 0,void 0]),E(!1)},className:`hover:text-destructive cursor-pointer`,children:`×`}),b||(0,l.jsx)(a.Icons.CalendarIcon,{className:`h-4 w-4 opacity-50`})]})]})}),(0,l.jsx)(i.PopoverContent,{className:`w-auto p-0`,align:`start`,children:(0,l.jsx)(r.Calendar,{mode:`single`,selected:T?O:D,onSelect:e=>{e&&(!D||T?D?(u([e<D?e:D,e<D?D:e]),p||(w(!1),E(!1))):(u([e,void 0]),E(!0)):(u([e<D?e:D,e<D?D:e]),p||(w(!1),E(!1))))},disabled:S,captionLayout:`dropdown`,hidden:{after:new Date(new Date().getFullYear()+50,11,31)},locale:o.default})})]})}exports.default=u;
|
package/dist/index93.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { cn as e } from "./index3.js";
|
|
2
|
+
import { Input as t } from "./index19.js";
|
|
3
|
+
import n from "react";
|
|
4
|
+
import { Fragment as r, jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
5
|
+
//#region src/Form/FormDatePicker/TimeInput.tsx
|
|
6
|
+
function o({ value: o, onChange: s, timeConfig: c, className: l }) {
|
|
7
|
+
let u = c?.showHour !== !1, d = c?.showMinute !== !1, f = c?.showSecond ?? !1, p = o || /* @__PURE__ */ new Date(), m = p.getHours(), h = p.getMinutes(), g = p.getSeconds(), [_, v] = n.useState(m.toString().padStart(2, "0")), [y, b] = n.useState(h.toString().padStart(2, "0")), [x, S] = n.useState(g.toString().padStart(2, "0"));
|
|
8
|
+
n.useEffect(() => {
|
|
9
|
+
v(m.toString().padStart(2, "0")), b(h.toString().padStart(2, "0")), S(g.toString().padStart(2, "0"));
|
|
10
|
+
}, [
|
|
11
|
+
m,
|
|
12
|
+
h,
|
|
13
|
+
g
|
|
14
|
+
]);
|
|
15
|
+
let C = (e, t) => {
|
|
16
|
+
let n = parseInt(t, 10);
|
|
17
|
+
if (Number.isNaN(n)) return;
|
|
18
|
+
let r = 59;
|
|
19
|
+
if (e === "hour" && (r = 23), n < 0 || n > r) return;
|
|
20
|
+
let i = new Date(p);
|
|
21
|
+
e === "hour" ? i.setHours(n) : e === "minute" ? i.setMinutes(n) : i.setSeconds(n), s(i);
|
|
22
|
+
};
|
|
23
|
+
return /* @__PURE__ */ a("div", {
|
|
24
|
+
className: e("flex items-center gap-1", l),
|
|
25
|
+
children: [
|
|
26
|
+
u && /* @__PURE__ */ a(r, { children: [/* @__PURE__ */ i(t, {
|
|
27
|
+
type: "number",
|
|
28
|
+
min: 0,
|
|
29
|
+
max: 23,
|
|
30
|
+
value: _,
|
|
31
|
+
onChange: (e) => v(e.target.value),
|
|
32
|
+
onBlur: (e) => C("hour", e.target.value),
|
|
33
|
+
className: "w-14 text-center"
|
|
34
|
+
}), (d || f) && /* @__PURE__ */ i("span", { children: ":" })] }),
|
|
35
|
+
d && /* @__PURE__ */ a(r, { children: [/* @__PURE__ */ i(t, {
|
|
36
|
+
type: "number",
|
|
37
|
+
min: 0,
|
|
38
|
+
max: 59,
|
|
39
|
+
value: y,
|
|
40
|
+
onChange: (e) => b(e.target.value),
|
|
41
|
+
onBlur: (e) => C("minute", e.target.value),
|
|
42
|
+
className: "w-14 text-center"
|
|
43
|
+
}), f && /* @__PURE__ */ i("span", { children: ":" })] }),
|
|
44
|
+
f && /* @__PURE__ */ i(t, {
|
|
45
|
+
type: "number",
|
|
46
|
+
min: 0,
|
|
47
|
+
max: 59,
|
|
48
|
+
value: x,
|
|
49
|
+
onChange: (e) => S(e.target.value),
|
|
50
|
+
onBlur: (e) => C("second", e.target.value),
|
|
51
|
+
className: "w-14 text-center"
|
|
52
|
+
})
|
|
53
|
+
]
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
export { o as default };
|
package/dist/index94.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./index2.cjs"),t=require("./index4.cjs"),n=require("./index20.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("react/jsx-runtime");function a({value:e,onChange:a,timeConfig:o,className:s}){let c=o?.showHour!==!1,l=o?.showMinute!==!1,u=o?.showSecond??!1,d=e||new Date,f=d.getHours(),p=d.getMinutes(),m=d.getSeconds(),[h,g]=r.default.useState(f.toString().padStart(2,`0`)),[_,v]=r.default.useState(p.toString().padStart(2,`0`)),[y,b]=r.default.useState(m.toString().padStart(2,`0`));r.default.useEffect(()=>{g(f.toString().padStart(2,`0`)),v(p.toString().padStart(2,`0`)),b(m.toString().padStart(2,`0`))},[f,p,m]);let x=(e,t)=>{let n=parseInt(t,10);if(Number.isNaN(n))return;let r=59;if(e===`hour`&&(r=23),n<0||n>r)return;let i=new Date(d);e===`hour`?i.setHours(n):e===`minute`?i.setMinutes(n):i.setSeconds(n),a(i)};return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center gap-1`,s),children:[c&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.Input,{type:`number`,min:0,max:23,value:h,onChange:e=>g(e.target.value),onBlur:e=>x(`hour`,e.target.value),className:`w-14 text-center`}),(l||u)&&(0,i.jsx)(`span`,{children:`:`})]}),l&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.Input,{type:`number`,min:0,max:59,value:_,onChange:e=>v(e.target.value),onBlur:e=>x(`minute`,e.target.value),className:`w-14 text-center`}),u&&(0,i.jsx)(`span`,{children:`:`})]}),u&&(0,i.jsx)(n.Input,{type:`number`,min:0,max:59,value:y,onChange:e=>b(e.target.value),onBlur:e=>x(`second`,e.target.value),className:`w-14 text-center`})]})}exports.default=a;
|
package/dist/index94.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { cn as e } from "./index3.js";
|
|
2
|
+
import { ScrollArea as t } from "./index24.js";
|
|
3
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
|
+
//#region src/Form/FormDatePicker/TimePicker.tsx
|
|
5
|
+
function i({ value: i, onChange: a, timeConfig: o, disabledTime: s }) {
|
|
6
|
+
let c = o?.showHour !== !1, l = o?.showMinute !== !1, u = o?.showSecond ?? !1, d = o?.hourStep ?? 1, f = o?.minuteStep ?? 1, p = o?.secondStep ?? 1, m = i || /* @__PURE__ */ new Date(), h = m.getHours(), g = m.getMinutes(), _ = m.getSeconds(), v = s?.disabledHours?.() || [], y = s?.disabledMinutes?.(h) || [], b = s?.disabledSeconds?.(h, g) || [], x = (e, t) => {
|
|
7
|
+
let n = new Date(m);
|
|
8
|
+
e === "hour" ? n.setHours(t) : e === "minute" ? n.setMinutes(t) : n.setSeconds(t), a(n);
|
|
9
|
+
}, S = (r, i, a, o, s) => {
|
|
10
|
+
let c = [];
|
|
11
|
+
for (let e = 0; e < i; e += a) c.push(e);
|
|
12
|
+
return /* @__PURE__ */ n(t, {
|
|
13
|
+
className: "h-60 w-16",
|
|
14
|
+
children: /* @__PURE__ */ n("div", {
|
|
15
|
+
className: "flex flex-col",
|
|
16
|
+
children: c.map((t) => {
|
|
17
|
+
let i = s.includes(t);
|
|
18
|
+
return /* @__PURE__ */ n("button", {
|
|
19
|
+
type: "button",
|
|
20
|
+
disabled: i,
|
|
21
|
+
onClick: () => x(r, t),
|
|
22
|
+
className: e("px-2 py-1 text-center hover:bg-accent transition-colors", o === t && "bg-primary text-primary-foreground hover:bg-primary/90", i && "opacity-50 cursor-not-allowed hover:bg-transparent"),
|
|
23
|
+
children: t.toString().padStart(2, "0")
|
|
24
|
+
}, t);
|
|
25
|
+
})
|
|
26
|
+
})
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
return /* @__PURE__ */ r("div", {
|
|
30
|
+
className: "flex gap-1 p-1",
|
|
31
|
+
children: [
|
|
32
|
+
c && /* @__PURE__ */ r("div", {
|
|
33
|
+
className: "flex flex-col items-center",
|
|
34
|
+
children: [/* @__PURE__ */ n("span", {
|
|
35
|
+
className: "text-xs font-medium mb-1",
|
|
36
|
+
children: "Giờ"
|
|
37
|
+
}), S("hour", 24, d, h, v)]
|
|
38
|
+
}),
|
|
39
|
+
l && /* @__PURE__ */ r("div", {
|
|
40
|
+
className: "flex flex-col items-center",
|
|
41
|
+
children: [/* @__PURE__ */ n("span", {
|
|
42
|
+
className: "text-xs font-medium mb-1",
|
|
43
|
+
children: "Phút"
|
|
44
|
+
}), S("minute", 60, f, g, y)]
|
|
45
|
+
}),
|
|
46
|
+
u && /* @__PURE__ */ r("div", {
|
|
47
|
+
className: "flex flex-col items-center",
|
|
48
|
+
children: [/* @__PURE__ */ n("span", {
|
|
49
|
+
className: "text-xs font-medium mb-1",
|
|
50
|
+
children: "Giây"
|
|
51
|
+
}), S("second", 60, p, _, b)]
|
|
52
|
+
})
|
|
53
|
+
]
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
export { i as default };
|
package/dist/index95.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./index4.cjs"),t=require("./index25.cjs");let n=require("react/jsx-runtime");function r({value:r,onChange:i,timeConfig:a,disabledTime:o}){let s=a?.showHour!==!1,c=a?.showMinute!==!1,l=a?.showSecond??!1,u=a?.hourStep??1,d=a?.minuteStep??1,f=a?.secondStep??1,p=r||new Date,m=p.getHours(),h=p.getMinutes(),g=p.getSeconds(),_=o?.disabledHours?.()||[],v=o?.disabledMinutes?.(m)||[],y=o?.disabledSeconds?.(m,h)||[],b=(e,t)=>{let n=new Date(p);e===`hour`?n.setHours(t):e===`minute`?n.setMinutes(t):n.setSeconds(t),i(n)},x=(r,i,a,o,s)=>{let c=[];for(let e=0;e<i;e+=a)c.push(e);return(0,n.jsx)(t.ScrollArea,{className:`h-60 w-16`,children:(0,n.jsx)(`div`,{className:`flex flex-col`,children:c.map(t=>{let i=s.includes(t);return(0,n.jsx)(`button`,{type:`button`,disabled:i,onClick:()=>b(r,t),className:e.cn(`px-2 py-1 text-center hover:bg-accent transition-colors`,o===t&&`bg-primary text-primary-foreground hover:bg-primary/90`,i&&`opacity-50 cursor-not-allowed hover:bg-transparent`),children:t.toString().padStart(2,`0`)},t)})})})};return(0,n.jsxs)(`div`,{className:`flex gap-1 p-1`,children:[s&&(0,n.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,n.jsx)(`span`,{className:`text-xs font-medium mb-1`,children:`Giờ`}),x(`hour`,24,u,m,_)]}),c&&(0,n.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,n.jsx)(`span`,{className:`text-xs font-medium mb-1`,children:`Phút`}),x(`minute`,60,d,h,v)]}),l&&(0,n.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,n.jsx)(`span`,{className:`text-xs font-medium mb-1`,children:`Giây`}),x(`second`,60,f,g,y)]})]})}exports.default=r;
|
package/dist/index95.js
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { cn as e } from "./index3.js";
|
|
2
|
+
import { Button as t } from "./index6.js";
|
|
3
|
+
import { Calendar as n } from "./index7.js";
|
|
4
|
+
import { Popover as r, PopoverContent as i, PopoverTrigger as a } from "./index21.js";
|
|
5
|
+
import o from "./index70.js";
|
|
6
|
+
import { buildDisabledTime as s, buildTimeConfig as c, formatDateValue as l, getSizeClassName as u, getStatusClassName as d } from "./index91.js";
|
|
7
|
+
import f from "./index93.js";
|
|
8
|
+
import p from "./index94.js";
|
|
9
|
+
import { CalendarIcon as m, Clock as h } from "lucide-react";
|
|
10
|
+
import g from "react";
|
|
11
|
+
import { jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
12
|
+
//#region src/Form/FormDatePicker/SingleDatePicker.tsx
|
|
13
|
+
function y({ value: y, onChange: b, placeholder: x = "Select Date", pickerType: S, dateFormat: C, showTime: w, size: T = "large", status: E, width: D = "auto", disabled: O, allowClear: k, hideValue: A, suffixIcon: j, className: M, disabledDate: N, disabledTime: P }) {
|
|
14
|
+
let [F, I] = g.useState(!1), L = c(w, S), R = y ? l(y, C) : "", z = (e) => {
|
|
15
|
+
if (!e) {
|
|
16
|
+
b(void 0), (S === "date" || !w) && I(!1);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
let t = e;
|
|
20
|
+
w && y && (t = new Date(e), t.setHours(y.getHours(), y.getMinutes(), y.getSeconds())), b(t), S === "date" && !w && I(!1);
|
|
21
|
+
}, B = (e) => {
|
|
22
|
+
b(e);
|
|
23
|
+
};
|
|
24
|
+
return /* @__PURE__ */ v(r, {
|
|
25
|
+
open: F,
|
|
26
|
+
onOpenChange: I,
|
|
27
|
+
children: [/* @__PURE__ */ _(a, {
|
|
28
|
+
asChild: !0,
|
|
29
|
+
children: /* @__PURE__ */ v(t, {
|
|
30
|
+
variant: "outline",
|
|
31
|
+
disabled: O,
|
|
32
|
+
className: e("justify-between font-normal", u(T), d(E), !y && "text-muted-foreground", D === "auto" ? "w-full" : "", M),
|
|
33
|
+
style: D === "auto" ? void 0 : { width: D },
|
|
34
|
+
children: [!A && R ? R : /* @__PURE__ */ _("span", { children: x }), /* @__PURE__ */ v("div", {
|
|
35
|
+
className: "ml-auto flex items-center gap-1",
|
|
36
|
+
children: [k && y && /* @__PURE__ */ _("span", {
|
|
37
|
+
onClick: (e) => {
|
|
38
|
+
e.stopPropagation(), b(void 0);
|
|
39
|
+
},
|
|
40
|
+
className: "hover:text-destructive cursor-pointer",
|
|
41
|
+
children: "×"
|
|
42
|
+
}), j || _(S === "time" ? h : m, { className: "h-4 w-4 opacity-50" })]
|
|
43
|
+
})]
|
|
44
|
+
})
|
|
45
|
+
}), /* @__PURE__ */ _(i, {
|
|
46
|
+
className: "w-auto p-0",
|
|
47
|
+
align: "start",
|
|
48
|
+
children: S === "time" ? /* @__PURE__ */ v("div", {
|
|
49
|
+
className: "p-2",
|
|
50
|
+
children: [/* @__PURE__ */ _(p, {
|
|
51
|
+
value: y,
|
|
52
|
+
onChange: B,
|
|
53
|
+
timeConfig: L,
|
|
54
|
+
disabledTime: s(y, P)
|
|
55
|
+
}), /* @__PURE__ */ _("div", {
|
|
56
|
+
className: "mt-2 pt-2 border-t",
|
|
57
|
+
children: /* @__PURE__ */ _(f, {
|
|
58
|
+
value: y,
|
|
59
|
+
onChange: B,
|
|
60
|
+
timeConfig: L
|
|
61
|
+
})
|
|
62
|
+
})]
|
|
63
|
+
}) : /* @__PURE__ */ v("div", {
|
|
64
|
+
className: "flex",
|
|
65
|
+
children: [/* @__PURE__ */ _(n, {
|
|
66
|
+
mode: "single",
|
|
67
|
+
selected: y,
|
|
68
|
+
onSelect: z,
|
|
69
|
+
disabled: N,
|
|
70
|
+
captionLayout: "dropdown",
|
|
71
|
+
locale: o,
|
|
72
|
+
month: y,
|
|
73
|
+
hidden: { after: new Date((/* @__PURE__ */ new Date()).getFullYear() + 50, 11, 31) },
|
|
74
|
+
onMonthChange: (e) => {
|
|
75
|
+
S === "month" && (b(e), I(!1));
|
|
76
|
+
}
|
|
77
|
+
}), w && /* @__PURE__ */ _(p, {
|
|
78
|
+
value: y,
|
|
79
|
+
onChange: B,
|
|
80
|
+
timeConfig: L,
|
|
81
|
+
disabledTime: s(y, P)
|
|
82
|
+
})]
|
|
83
|
+
})
|
|
84
|
+
})]
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
//#endregion
|
|
88
|
+
export { y as default };
|
package/dist/index96.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./index2.cjs"),t=require("./index4.cjs"),n=require("./index7.cjs"),r=require("./index8.cjs"),i=require("./index22.cjs"),a=require("./index71.cjs"),o=require("./index92.cjs"),s=require("./index94.cjs"),c=require("./index95.cjs");let l=require("lucide-react"),u=require("react");u=e.__toESM(u,1);let d=require("react/jsx-runtime");function f({value:e,onChange:f,placeholder:p=`Select Date`,pickerType:m,dateFormat:h,showTime:g,size:_=`large`,status:v,width:y=`auto`,disabled:b,allowClear:x,hideValue:S,suffixIcon:C,className:w,disabledDate:T,disabledTime:E}){let[D,O]=u.default.useState(!1),k=o.buildTimeConfig(g,m),A=e?o.formatDateValue(e,h):``,j=t=>{if(!t){f(void 0),(m===`date`||!g)&&O(!1);return}let n=t;g&&e&&(n=new Date(t),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds())),f(n),m===`date`&&!g&&O(!1)},M=e=>{f(e)};return(0,d.jsxs)(i.Popover,{open:D,onOpenChange:O,children:[(0,d.jsx)(i.PopoverTrigger,{asChild:!0,children:(0,d.jsxs)(n.Button,{variant:`outline`,disabled:b,className:t.cn(`justify-between font-normal`,o.getSizeClassName(_),o.getStatusClassName(v),!e&&`text-muted-foreground`,y===`auto`?`w-full`:``,w),style:y===`auto`?void 0:{width:y},children:[!S&&A?A:(0,d.jsx)(`span`,{children:p}),(0,d.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[x&&e&&(0,d.jsx)(`span`,{onClick:e=>{e.stopPropagation(),f(void 0)},className:`hover:text-destructive cursor-pointer`,children:`×`}),C||(m===`time`?(0,d.jsx)(l.Clock,{className:`h-4 w-4 opacity-50`}):(0,d.jsx)(l.CalendarIcon,{className:`h-4 w-4 opacity-50`}))]})]})}),(0,d.jsx)(i.PopoverContent,{className:`w-auto p-0`,align:`start`,children:m===`time`?(0,d.jsxs)(`div`,{className:`p-2`,children:[(0,d.jsx)(c.default,{value:e,onChange:M,timeConfig:k,disabledTime:o.buildDisabledTime(e,E)}),(0,d.jsx)(`div`,{className:`mt-2 pt-2 border-t`,children:(0,d.jsx)(s.default,{value:e,onChange:M,timeConfig:k})})]}):(0,d.jsxs)(`div`,{className:`flex`,children:[(0,d.jsx)(r.Calendar,{mode:`single`,selected:e,onSelect:j,disabled:T,captionLayout:`dropdown`,locale:a.default,month:e,hidden:{after:new Date(new Date().getFullYear()+50,11,31)},onMonthChange:e=>{m===`month`&&(f(e),O(!1))}}),g&&(0,d.jsx)(c.default,{value:e,onChange:M,timeConfig:k,disabledTime:o.buildDisabledTime(e,E)})]})})]})}exports.default=f;
|
package/dist/index96.js
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { FormControl as e, FormField as t, FormItem as n, FormLabel as r, FormMessage as i } from "./index18.js";
|
|
2
|
+
import { useFormDatePicker as a } from "./index91.js";
|
|
3
|
+
import o from "./index92.js";
|
|
4
|
+
import s from "./index95.js";
|
|
5
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
6
|
+
//#region src/Form/FormDatePicker/FormDatePicker.tsx
|
|
7
|
+
function u(u) {
|
|
8
|
+
let { control: d, name: f, label: p, placeholder: m, status: h, size: g = "large", width: _ = "auto", pickerType: v = "date", dateFormat: y, showTime: b, disabled: x = !1, hideValue: S = !1, allowClear: C = !1, isRangePicker: w = !1, onChangeDate: T, onChangeRange: E, rules: D = {}, hideErrorMessage: O = !1, suffixIcon: k, className: A, disabledDate: j, disabledTime: M } = u, { dateFormat: N, isRequired: P, processedRules: F, handleRangeChange: I, handleSingleChange: L } = a({
|
|
9
|
+
pickerType: v,
|
|
10
|
+
showTime: b,
|
|
11
|
+
dateFormat: y,
|
|
12
|
+
rules: D,
|
|
13
|
+
onChangeDate: T,
|
|
14
|
+
onChangeRange: E
|
|
15
|
+
}), R = (e) => /* @__PURE__ */ c(o, {
|
|
16
|
+
value: e.value || [void 0, void 0],
|
|
17
|
+
onChange: (t) => I(e, t),
|
|
18
|
+
placeholder: m,
|
|
19
|
+
dateFormat: N,
|
|
20
|
+
showTime: b,
|
|
21
|
+
size: g,
|
|
22
|
+
status: h,
|
|
23
|
+
width: _,
|
|
24
|
+
disabled: x,
|
|
25
|
+
allowClear: C,
|
|
26
|
+
hideValue: S,
|
|
27
|
+
suffixIcon: k,
|
|
28
|
+
className: A,
|
|
29
|
+
disabledDate: j
|
|
30
|
+
}), z = (e) => /* @__PURE__ */ c(s, {
|
|
31
|
+
value: e.value,
|
|
32
|
+
onChange: (t) => L(e, t),
|
|
33
|
+
placeholder: m,
|
|
34
|
+
pickerType: v,
|
|
35
|
+
dateFormat: N,
|
|
36
|
+
showTime: b,
|
|
37
|
+
size: g,
|
|
38
|
+
status: h,
|
|
39
|
+
width: _,
|
|
40
|
+
disabled: x,
|
|
41
|
+
allowClear: C,
|
|
42
|
+
hideValue: S,
|
|
43
|
+
suffixIcon: k,
|
|
44
|
+
className: A,
|
|
45
|
+
disabledDate: j,
|
|
46
|
+
disabledTime: M
|
|
47
|
+
});
|
|
48
|
+
return /* @__PURE__ */ c(t, {
|
|
49
|
+
control: d,
|
|
50
|
+
name: f,
|
|
51
|
+
rules: F,
|
|
52
|
+
render: ({ field: t }) => /* @__PURE__ */ l(n, {
|
|
53
|
+
className: "flex flex-col",
|
|
54
|
+
children: [
|
|
55
|
+
p && /* @__PURE__ */ l(r, { children: [p, P && /* @__PURE__ */ c("span", {
|
|
56
|
+
className: "text-destructive ml-1",
|
|
57
|
+
children: "*"
|
|
58
|
+
})] }),
|
|
59
|
+
/* @__PURE__ */ c(e, { children: w ? R(t) : z(t) }),
|
|
60
|
+
!O && /* @__PURE__ */ c(i, {})
|
|
61
|
+
]
|
|
62
|
+
})
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
//#endregion
|
|
66
|
+
export { u as default };
|
package/dist/index97.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./index19.cjs"),t=require("./index92.cjs"),n=require("./index93.cjs"),r=require("./index96.cjs");let i=require("react/jsx-runtime");function a(a){let{control:o,name:s,label:c,placeholder:l,status:u,size:d=`large`,width:f=`auto`,pickerType:p=`date`,dateFormat:m,showTime:h,disabled:g=!1,hideValue:_=!1,allowClear:v=!1,isRangePicker:y=!1,onChangeDate:b,onChangeRange:x,rules:S={},hideErrorMessage:C=!1,suffixIcon:w,className:T,disabledDate:E,disabledTime:D}=a,{dateFormat:O,isRequired:k,processedRules:A,handleRangeChange:j,handleSingleChange:M}=t.useFormDatePicker({pickerType:p,showTime:h,dateFormat:m,rules:S,onChangeDate:b,onChangeRange:x}),N=e=>(0,i.jsx)(n.default,{value:e.value||[void 0,void 0],onChange:t=>j(e,t),placeholder:l,dateFormat:O,showTime:h,size:d,status:u,width:f,disabled:g,allowClear:v,hideValue:_,suffixIcon:w,className:T,disabledDate:E}),P=e=>(0,i.jsx)(r.default,{value:e.value,onChange:t=>M(e,t),placeholder:l,pickerType:p,dateFormat:O,showTime:h,size:d,status:u,width:f,disabled:g,allowClear:v,hideValue:_,suffixIcon:w,className:T,disabledDate:E,disabledTime:D});return(0,i.jsx)(e.FormField,{control:o,name:s,rules:A,render:({field:t})=>(0,i.jsxs)(e.FormItem,{className:`flex flex-col`,children:[c&&(0,i.jsxs)(e.FormLabel,{children:[c,k&&(0,i.jsx)(`span`,{className:`text-destructive ml-1`,children:`*`})]}),(0,i.jsx)(e.FormControl,{children:y?N(t):P(t)}),!C&&(0,i.jsx)(e.FormMessage,{})]})})}exports.default=a;
|