ml-uikit 1.0.2

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.
Files changed (63) hide show
  1. package/README.md +19 -0
  2. package/dist/components/Alert.d.ts +10 -0
  3. package/dist/components/Alert.d.ts.map +1 -0
  4. package/dist/components/Avatar.d.ts +7 -0
  5. package/dist/components/Avatar.d.ts.map +1 -0
  6. package/dist/components/Badge.d.ts +10 -0
  7. package/dist/components/Badge.d.ts.map +1 -0
  8. package/dist/components/Breadcrumb.d.ts +12 -0
  9. package/dist/components/Breadcrumb.d.ts.map +1 -0
  10. package/dist/components/Button.d.ts +12 -0
  11. package/dist/components/Button.d.ts.map +1 -0
  12. package/dist/components/Calendar.d.ts +9 -0
  13. package/dist/components/Calendar.d.ts.map +1 -0
  14. package/dist/components/ML_Component/Login.d.ts +3 -0
  15. package/dist/components/ML_Component/Login.d.ts.map +1 -0
  16. package/dist/components/ui/input.d.ts +4 -0
  17. package/dist/components/ui/input.d.ts.map +1 -0
  18. package/dist/index.cjs.js +2 -0
  19. package/dist/index.cjs.js.map +1 -0
  20. package/dist/index.cjs10.js +2 -0
  21. package/dist/index.cjs10.js.map +1 -0
  22. package/dist/index.cjs2.js +2 -0
  23. package/dist/index.cjs2.js.map +1 -0
  24. package/dist/index.cjs3.js +2 -0
  25. package/dist/index.cjs3.js.map +1 -0
  26. package/dist/index.cjs4.js +2 -0
  27. package/dist/index.cjs4.js.map +1 -0
  28. package/dist/index.cjs5.js +2 -0
  29. package/dist/index.cjs5.js.map +1 -0
  30. package/dist/index.cjs6.js +2 -0
  31. package/dist/index.cjs6.js.map +1 -0
  32. package/dist/index.cjs7.js +2 -0
  33. package/dist/index.cjs7.js.map +1 -0
  34. package/dist/index.cjs8.js +2 -0
  35. package/dist/index.cjs8.js.map +1 -0
  36. package/dist/index.cjs9.js +2 -0
  37. package/dist/index.cjs9.js.map +1 -0
  38. package/dist/index.d.ts +9 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.es.js +31 -0
  41. package/dist/index.es.js.map +1 -0
  42. package/dist/index.es10.js +9 -0
  43. package/dist/index.es10.js.map +1 -0
  44. package/dist/index.es2.js +46 -0
  45. package/dist/index.es2.js.map +1 -0
  46. package/dist/index.es3.js +42 -0
  47. package/dist/index.es3.js.map +1 -0
  48. package/dist/index.es4.js +67 -0
  49. package/dist/index.es4.js.map +1 -0
  50. package/dist/index.es5.js +41 -0
  51. package/dist/index.es5.js.map +1 -0
  52. package/dist/index.es6.js +102 -0
  53. package/dist/index.es6.js.map +1 -0
  54. package/dist/index.es7.js +21 -0
  55. package/dist/index.es7.js.map +1 -0
  56. package/dist/index.es8.js +10 -0
  57. package/dist/index.es8.js.map +1 -0
  58. package/dist/index.es9.js +173 -0
  59. package/dist/index.es9.js.map +1 -0
  60. package/dist/lib/utils.d.ts +3 -0
  61. package/dist/lib/utils.d.ts.map +1 -0
  62. package/dist/style.css +1221 -0
  63. package/package.json +64 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es5.js","sources":["../src/components/Badge.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n destructive:\n \"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n);\n\nfunction Badge({\n className,\n variant,\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"span\";\n\n return (\n <Comp\n data-slot=\"badge\"\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n"],"names":["badgeVariants","cva","Badge","className","variant","asChild","props","Comp","Slot","React","cn"],"mappings":";;;;AAMA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,WACE;AAAA,QACF,aACE;AAAA,QACF,SACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;AAEA,SAASC,EAAM;AAAA,EACb,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,GAAGC;AACL,GAC8D;AAC5D,QAAMC,IAAOF,IAAUG,IAAO;AAE9B,SACE,gBAAAC,EAAA;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWG,EAAGV,EAAc,EAAE,SAAAI,EAAA,CAAS,GAAGD,CAAS;AAAA,MAClD,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -0,0 +1,102 @@
1
+ import * as t from "react";
2
+ import { Slot as o } from "@radix-ui/react-slot";
3
+ import { ChevronRight as s, MoreHorizontal as m } from "lucide-react";
4
+ import { cn as a } from "./index.es10.js";
5
+ function d({ ...e }) {
6
+ return /* @__PURE__ */ t.createElement("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...e });
7
+ }
8
+ function b({ className: e, ...r }) {
9
+ return /* @__PURE__ */ t.createElement(
10
+ "ol",
11
+ {
12
+ "data-slot": "breadcrumb-list",
13
+ className: a(
14
+ "text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5",
15
+ e
16
+ ),
17
+ ...r
18
+ }
19
+ );
20
+ }
21
+ function p({ className: e, ...r }) {
22
+ return /* @__PURE__ */ t.createElement(
23
+ "li",
24
+ {
25
+ "data-slot": "breadcrumb-item",
26
+ className: a("inline-flex items-center gap-1.5", e),
27
+ ...r
28
+ }
29
+ );
30
+ }
31
+ function f({
32
+ asChild: e,
33
+ className: r,
34
+ ...n
35
+ }) {
36
+ const l = e ? o : "a";
37
+ return /* @__PURE__ */ t.createElement(
38
+ l,
39
+ {
40
+ "data-slot": "breadcrumb-link",
41
+ className: a("hover:text-foreground transition-colors", r),
42
+ ...n
43
+ }
44
+ );
45
+ }
46
+ function g({ className: e, ...r }) {
47
+ return /* @__PURE__ */ t.createElement(
48
+ "span",
49
+ {
50
+ "data-slot": "breadcrumb-page",
51
+ role: "link",
52
+ "aria-disabled": "true",
53
+ "aria-current": "page",
54
+ className: a("text-foreground font-normal", e),
55
+ ...r
56
+ }
57
+ );
58
+ }
59
+ function E({
60
+ children: e,
61
+ className: r,
62
+ ...n
63
+ }) {
64
+ return /* @__PURE__ */ t.createElement(
65
+ "li",
66
+ {
67
+ "data-slot": "breadcrumb-separator",
68
+ role: "presentation",
69
+ "aria-hidden": "true",
70
+ className: a("[&>svg]:size-3.5", r),
71
+ ...n
72
+ },
73
+ e ?? /* @__PURE__ */ t.createElement(s, null)
74
+ );
75
+ }
76
+ function x({
77
+ className: e,
78
+ ...r
79
+ }) {
80
+ return /* @__PURE__ */ t.createElement(
81
+ "span",
82
+ {
83
+ "data-slot": "breadcrumb-ellipsis",
84
+ role: "presentation",
85
+ "aria-hidden": "true",
86
+ className: a("flex size-9 items-center justify-center", e),
87
+ ...r
88
+ },
89
+ /* @__PURE__ */ t.createElement(m, { className: "size-4" }),
90
+ /* @__PURE__ */ t.createElement("span", { className: "sr-only" }, "More")
91
+ );
92
+ }
93
+ export {
94
+ d as Breadcrumb,
95
+ x as BreadcrumbEllipsis,
96
+ p as BreadcrumbItem,
97
+ f as BreadcrumbLink,
98
+ b as BreadcrumbList,
99
+ g as BreadcrumbPage,
100
+ E as BreadcrumbSeparator
101
+ };
102
+ //# sourceMappingURL=index.es6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es6.js","sources":["../src/components/Breadcrumb.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction Breadcrumb({ ...props }: React.ComponentProps<\"nav\">) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<\"ol\">) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n \"text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : \"a\";\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn(\"hover:text-foreground transition-colors\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\"text-foreground font-normal\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:size-3.5\", className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex size-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n};\n"],"names":["Breadcrumb","props","BreadcrumbList","className","React","cn","BreadcrumbItem","BreadcrumbLink","asChild","Comp","Slot","BreadcrumbPage","BreadcrumbSeparator","children","ChevronRight","BreadcrumbEllipsis","MoreHorizontal"],"mappings":";;;;AAMA,SAASA,EAAW,EAAE,GAAGC,KAAsC;AAC7D,yCAAQ,OAAA,EAAI,cAAW,cAAa,aAAU,cAAc,GAAGA,GAAO;AACxE;AAEA,SAASC,EAAe,EAAE,WAAAC,GAAW,GAAGF,KAAqC;AAC3E,SACE,gBAAAG,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAF;AAAA,MAAA;AAAA,MAED,GAAGF;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASK,EAAe,EAAE,WAAAH,GAAW,GAAGF,KAAqC;AAC3E,SACE,gBAAAG,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,oCAAoCF,CAAS;AAAA,MAC1D,GAAGF;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASM,EAAe;AAAA,EACtB,SAAAC;AAAA,EACA,WAAAL;AAAA,EACA,GAAGF;AACL,GAEG;AACD,QAAMQ,IAAOD,IAAUE,IAAO;AAE9B,SACE,gBAAAN,EAAA;AAAA,IAACK;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWJ,EAAG,2CAA2CF,CAAS;AAAA,MACjE,GAAGF;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASU,EAAe,EAAE,WAAAR,GAAW,GAAGF,KAAuC;AAC7E,SACE,gBAAAG,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,iBAAc;AAAA,MACd,gBAAa;AAAA,MACb,WAAWC,EAAG,+BAA+BF,CAAS;AAAA,MACrD,GAAGF;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASW,EAAoB;AAAA,EAC3B,UAAAC;AAAA,EACA,WAAAV;AAAA,EACA,GAAGF;AACL,GAA+B;AAC7B,SACE,gBAAAG,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,eAAY;AAAA,MACZ,WAAWC,EAAG,oBAAoBF,CAAS;AAAA,MAC1C,GAAGF;AAAA,IAAA;AAAA,IAEHY,qCAAaC,GAAA,IAAa;AAAA,EAAA;AAGjC;AAEA,SAASC,EAAmB;AAAA,EAC1B,WAAAZ;AAAA,EACA,GAAGF;AACL,GAAiC;AAC/B,SACE,gBAAAG,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,eAAY;AAAA,MACZ,WAAWC,EAAG,2CAA2CF,CAAS;AAAA,MACjE,GAAGF;AAAA,IAAA;AAAA,IAEJ,gBAAAG,EAAA,cAACY,GAAA,EAAe,WAAU,SAAA,CAAS;AAAA,IACnC,gBAAAZ,EAAA,cAAC,QAAA,EAAK,WAAU,UAAA,GAAU,MAAI;AAAA,EAAA;AAGpC;"}
@@ -0,0 +1,21 @@
1
+ import * as e from "react";
2
+ import { cn as n } from "./index.es10.js";
3
+ const s = e.forwardRef(
4
+ ({ className: r, type: t, ...o }, i) => /* @__PURE__ */ e.createElement(
5
+ "input",
6
+ {
7
+ type: t,
8
+ className: n(
9
+ "flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
10
+ r
11
+ ),
12
+ ref: i,
13
+ ...o
14
+ }
15
+ )
16
+ );
17
+ s.displayName = "Input";
18
+ export {
19
+ s as Input
20
+ };
21
+ //# sourceMappingURL=index.es7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es7.js","sources":["../src/components/ui/input.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<\"input\">>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n );\n }\n);\nInput.displayName = \"Input\";\n\nexport { Input };\n"],"names":["Input","React","className","type","props","ref","cn"],"mappings":";;AAIA,MAAMA,IAAQC,EAAM;AAAA,EAClB,CAAC,EAAE,WAAAC,GAAW,MAAAC,GAAM,GAAGC,EAAA,GAASC,MAE5B,gBAAAJ,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAAE;AAAA,MACA,WAAWG;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAEF,KAAAG;AAAA,MACC,GAAGD;AAAA,IAAA;AAAA,EAAA;AAIZ;AACAJ,EAAM,cAAc;"}
@@ -0,0 +1,10 @@
1
+ import e from "react";
2
+ import { Input as t } from "./index.es7.js";
3
+ import { Button as r } from "./index.es2.js";
4
+ function m() {
5
+ return /* @__PURE__ */ e.createElement("div", { className: "border p-4 flex gap-4 rounded-md flex-col" }, /* @__PURE__ */ e.createElement(t, { type: "email", placeholder: "Email" }), /* @__PURE__ */ e.createElement(t, { type: "password", placeholder: "Password" }), /* @__PURE__ */ e.createElement(r, null, "Login"));
6
+ }
7
+ export {
8
+ m as Login
9
+ };
10
+ //# sourceMappingURL=index.es8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es8.js","sources":["../src/components/ML_Component/Login.tsx"],"sourcesContent":["import React from \"react\";\nimport { Input } from \"../ui/input\";\nimport { Button } from \"../Button\";\n\nfunction Login() {\n return (\n <div className=\"border p-4 flex gap-4 rounded-md flex-col\">\n <Input type=\"email\" placeholder=\"Email\" />\n <Input type=\"password\" placeholder=\"Password\" />\n <Button>Login</Button>\n </div>\n );\n}\n\nexport { Login };\n"],"names":["Login","React","Input","Button"],"mappings":";;;AAIA,SAASA,IAAQ;AACf,SACEC,gBAAAA,EAAA,cAAC,SAAI,WAAU,4CAAA,mCACZC,GAAA,EAAM,MAAK,SAAQ,aAAY,QAAA,CAAQ,GACxCD,gBAAAA,EAAA,cAACC,GAAA,EAAM,MAAK,YAAW,aAAY,YAAW,GAC9CD,gBAAAA,EAAA,cAACE,GAAA,MAAO,OAAK,CACf;AAEJ;"}
@@ -0,0 +1,173 @@
1
+ import n, { useRef as b, useEffect as x } from "react";
2
+ import { ChevronLeftIcon as _, ChevronRightIcon as h, ChevronDownIcon as w } from "lucide-react";
3
+ import { getDefaultClassNames as f, DayPicker as y } from "react-day-picker";
4
+ import { cn as e } from "./index.es10.js";
5
+ import { buttonVariants as m, Button as v } from "./index.es2.js";
6
+ function j({
7
+ className: c,
8
+ classNames: i,
9
+ showOutsideDays: r = !0,
10
+ captionLayout: l = "label",
11
+ buttonVariant: s = "ghost",
12
+ formatters: u,
13
+ components: p,
14
+ ...g
15
+ }) {
16
+ const t = f();
17
+ return /* @__PURE__ */ n.createElement(
18
+ y,
19
+ {
20
+ showOutsideDays: r,
21
+ className: e(
22
+ "bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
23
+ String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
24
+ String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
25
+ c
26
+ ),
27
+ captionLayout: l,
28
+ formatters: {
29
+ formatMonthDropdown: (a) => a.toLocaleString("default", { month: "short" }),
30
+ ...u
31
+ },
32
+ classNames: {
33
+ root: e("w-fit", t.root),
34
+ months: e(
35
+ "flex gap-4 flex-col md:flex-row relative",
36
+ t.months
37
+ ),
38
+ month: e("flex flex-col w-full gap-4", t.month),
39
+ nav: e(
40
+ "flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",
41
+ t.nav
42
+ ),
43
+ button_previous: e(
44
+ m({ variant: s }),
45
+ "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
46
+ t.button_previous
47
+ ),
48
+ button_next: e(
49
+ m({ variant: s }),
50
+ "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
51
+ t.button_next
52
+ ),
53
+ month_caption: e(
54
+ "flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",
55
+ t.month_caption
56
+ ),
57
+ dropdowns: e(
58
+ "w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",
59
+ t.dropdowns
60
+ ),
61
+ dropdown_root: e(
62
+ "relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",
63
+ t.dropdown_root
64
+ ),
65
+ dropdown: e(
66
+ "absolute bg-popover inset-0 opacity-0",
67
+ t.dropdown
68
+ ),
69
+ caption_label: e(
70
+ "select-none font-medium",
71
+ l === "label" ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",
72
+ t.caption_label
73
+ ),
74
+ table: "w-full border-collapse",
75
+ weekdays: e("flex", t.weekdays),
76
+ weekday: e(
77
+ "text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none",
78
+ t.weekday
79
+ ),
80
+ week: e("flex w-full mt-2", t.week),
81
+ week_number_header: e(
82
+ "select-none w-(--cell-size)",
83
+ t.week_number_header
84
+ ),
85
+ week_number: e(
86
+ "text-[0.8rem] select-none text-muted-foreground",
87
+ t.week_number
88
+ ),
89
+ day: e(
90
+ "relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",
91
+ g.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-md" : "[&:first-child[data-selected=true]_button]:rounded-l-md",
92
+ t.day
93
+ ),
94
+ range_start: e(
95
+ "rounded-l-md bg-accent",
96
+ t.range_start
97
+ ),
98
+ range_middle: e("rounded-none", t.range_middle),
99
+ range_end: e("rounded-r-md bg-accent", t.range_end),
100
+ today: e(
101
+ "bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",
102
+ t.today
103
+ ),
104
+ outside: e(
105
+ "text-muted-foreground aria-selected:text-muted-foreground",
106
+ t.outside
107
+ ),
108
+ disabled: e(
109
+ "text-muted-foreground opacity-50",
110
+ t.disabled
111
+ ),
112
+ hidden: e("invisible", t.hidden),
113
+ ...i
114
+ },
115
+ components: {
116
+ Root: ({ className: a, rootRef: d, ...o }) => /* @__PURE__ */ n.createElement(
117
+ "div",
118
+ {
119
+ "data-slot": "calendar",
120
+ ref: d,
121
+ className: e(a),
122
+ ...o
123
+ }
124
+ ),
125
+ Chevron: ({ className: a, orientation: d, ...o }) => d === "left" ? /* @__PURE__ */ n.createElement(_, { className: e("size-4", a), ...o }) : d === "right" ? /* @__PURE__ */ n.createElement(
126
+ h,
127
+ {
128
+ className: e("size-4", a),
129
+ ...o
130
+ }
131
+ ) : /* @__PURE__ */ n.createElement(w, { className: e("size-4", a), ...o }),
132
+ DayButton: z,
133
+ WeekNumber: ({ children: a, ...d }) => /* @__PURE__ */ n.createElement("td", { ...d }, /* @__PURE__ */ n.createElement("div", { className: "flex size-(--cell-size) items-center justify-center text-center" }, a)),
134
+ ...p
135
+ },
136
+ ...g
137
+ }
138
+ );
139
+ }
140
+ function z({
141
+ className: c,
142
+ day: i,
143
+ modifiers: r,
144
+ ...l
145
+ }) {
146
+ const s = f(), u = b(null);
147
+ return x(() => {
148
+ r.focused && u.current?.focus();
149
+ }, [r.focused]), /* @__PURE__ */ n.createElement(
150
+ v,
151
+ {
152
+ ref: u,
153
+ variant: "ghost",
154
+ size: "lg",
155
+ "data-day": i.date.toLocaleDateString(),
156
+ "data-selected-single": r.selected && !r.range_start && !r.range_end && !r.range_middle,
157
+ "data-range-start": r.range_start,
158
+ "data-range-end": r.range_end,
159
+ "data-range-middle": r.range_middle,
160
+ className: e(
161
+ "data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70",
162
+ s.day,
163
+ c
164
+ ),
165
+ ...l
166
+ }
167
+ );
168
+ }
169
+ export {
170
+ j as Calendar,
171
+ z as CalendarDayButton
172
+ };
173
+ //# sourceMappingURL=index.es9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es9.js","sources":["../src/components/Calendar.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from \"lucide-react\";\nimport {\n DayPicker,\n getDefaultClassNames,\n type DayButton,\n} from \"react-day-picker\";\n\nimport { cn } from \"../lib/utils\";\nimport { Button, buttonVariants } from \"./Button\";\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent\",\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"w-fit\", defaultClassNames.root),\n months: cn(\n \"flex gap-4 flex-col md:flex-row relative\",\n defaultClassNames.months\n ),\n month: cn(\"flex flex-col w-full gap-4\", defaultClassNames.month),\n nav: cn(\n \"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between\",\n defaultClassNames.nav\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_next\n ),\n month_caption: cn(\n \"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)\",\n defaultClassNames.month_caption\n ),\n dropdowns: cn(\n \"w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5\",\n defaultClassNames.dropdowns\n ),\n dropdown_root: cn(\n \"relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md\",\n defaultClassNames.dropdown_root\n ),\n dropdown: cn(\n \"absolute bg-popover inset-0 opacity-0\",\n defaultClassNames.dropdown\n ),\n caption_label: cn(\n \"select-none font-medium\",\n captionLayout === \"label\"\n ? \"text-sm\"\n : \"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5\",\n defaultClassNames.caption_label\n ),\n table: \"w-full border-collapse\",\n weekdays: cn(\"flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none\",\n defaultClassNames.weekday\n ),\n week: cn(\"flex w-full mt-2\", defaultClassNames.week),\n week_number_header: cn(\n \"select-none w-(--cell-size)\",\n defaultClassNames.week_number_header\n ),\n week_number: cn(\n \"text-[0.8rem] select-none text-muted-foreground\",\n defaultClassNames.week_number\n ),\n day: cn(\n \"relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none\",\n props.showWeekNumber\n ? \"[&:nth-child(2)[data-selected=true]_button]:rounded-l-md\"\n : \"[&:first-child[data-selected=true]_button]:rounded-l-md\",\n defaultClassNames.day\n ),\n range_start: cn(\n \"rounded-l-md bg-accent\",\n defaultClassNames.range_start\n ),\n range_middle: cn(\"rounded-none\", defaultClassNames.range_middle),\n range_end: cn(\"rounded-r-md bg-accent\", defaultClassNames.range_end),\n today: cn(\n \"bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none\",\n defaultClassNames.today\n ),\n outside: cn(\n \"text-muted-foreground aria-selected:text-muted-foreground\",\n defaultClassNames.outside\n ),\n disabled: cn(\n \"text-muted-foreground opacity-50\",\n defaultClassNames.disabled\n ),\n hidden: cn(\"invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n data-slot=\"calendar\"\n ref={rootRef}\n className={cn(className)}\n {...props}\n />\n );\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return (\n <ChevronLeftIcon className={cn(\"size-4\", className)} {...props} />\n );\n }\n\n if (orientation === \"right\") {\n return (\n <ChevronRightIcon\n className={cn(\"size-4\", className)}\n {...props}\n />\n );\n }\n\n return (\n <ChevronDownIcon className={cn(\"size-4\", className)} {...props} />\n );\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = useRef<HTMLButtonElement>(null);\n useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"lg\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n \"data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70\",\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n"],"names":["Calendar","className","classNames","showOutsideDays","captionLayout","buttonVariant","formatters","components","props","defaultClassNames","getDefaultClassNames","React","DayPicker","cn","date","buttonVariants","rootRef","orientation","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","CalendarDayButton","children","day","modifiers","ref","useRef","useEffect","Button"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type ClassValue } from "clsx";
2
+ export declare function cn(...inputs: ClassValue[]): string;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAA;AAG5C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}