@myrjfa/ui 1.1.0 → 1.1.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 (154) hide show
  1. package/dist/chat/ChatMain.d.ts +3 -1
  2. package/dist/chat/ChatMain.d.ts.map +1 -1
  3. package/dist/chat/ChatMain.js +174 -145
  4. package/dist/chat/ChatSidebar.js +7 -8
  5. package/dist/chat/ConversationList.d.ts.map +1 -1
  6. package/dist/chat/ConversationList.js +20 -18
  7. package/dist/chat/ExpensePanel.d.ts +4 -1
  8. package/dist/chat/ExpensePanel.d.ts.map +1 -1
  9. package/dist/chat/ExpensePanel.js +215 -195
  10. package/dist/chat/MessageBubble.d.ts +5 -3
  11. package/dist/chat/MessageBubble.d.ts.map +1 -1
  12. package/dist/chat/MessageBubble.js +185 -103
  13. package/dist/chat/MessageInput.d.ts +8 -1
  14. package/dist/chat/MessageInput.d.ts.map +1 -1
  15. package/dist/chat/MessageInput.js +182 -165
  16. package/dist/chat/MilestonePanel.d.ts +4 -1
  17. package/dist/chat/MilestonePanel.d.ts.map +1 -1
  18. package/dist/chat/MilestonePanel.js +150 -150
  19. package/dist/chat/components/ParticipantSelector.d.ts +11 -0
  20. package/dist/chat/components/ParticipantSelector.d.ts.map +1 -0
  21. package/dist/chat/components/ParticipantSelector.js +17 -0
  22. package/dist/chat/components/SplitInputs.d.ts +11 -0
  23. package/dist/chat/components/SplitInputs.d.ts.map +1 -0
  24. package/dist/chat/components/SplitInputs.js +83 -0
  25. package/dist/chat/components/SplitTypeSelector.d.ts +8 -0
  26. package/dist/chat/components/SplitTypeSelector.d.ts.map +1 -0
  27. package/dist/chat/components/SplitTypeSelector.js +13 -0
  28. package/dist/chat/dialogs/AddMemberDialog.js +30 -90
  29. package/dist/chat/dialogs/CameraDialog.js +38 -86
  30. package/dist/chat/dialogs/CreatePollDialog.d.ts +8 -0
  31. package/dist/chat/dialogs/CreatePollDialog.d.ts.map +1 -0
  32. package/dist/chat/dialogs/CreatePollDialog.js +38 -0
  33. package/dist/chat/dialogs/ExpenseAnalyticsDialog.d.ts +19 -0
  34. package/dist/chat/dialogs/ExpenseAnalyticsDialog.d.ts.map +1 -0
  35. package/dist/chat/dialogs/ExpenseAnalyticsDialog.js +52 -0
  36. package/dist/chat/dialogs/GroupInfoDialog.d.ts.map +1 -1
  37. package/dist/chat/dialogs/GroupInfoDialog.js +55 -92
  38. package/dist/chat/dialogs/GroupInfoViewDialog.js +5 -6
  39. package/dist/chat/dialogs/NewChatDialog.d.ts.map +1 -1
  40. package/dist/chat/dialogs/NewChatDialog.js +49 -113
  41. package/dist/chat/dialogs/NewGroupDialog.d.ts.map +1 -1
  42. package/dist/chat/dialogs/NewGroupDialog.js +49 -92
  43. package/dist/chat/dialogs/ParticipantsDialog.d.ts.map +1 -1
  44. package/dist/chat/dialogs/ParticipantsDialog.js +68 -118
  45. package/dist/dashboard/action-buttons.js +4 -5
  46. package/dist/dashboard/app-sidebar.js +47 -129
  47. package/dist/dashboard/card-header.js +1 -2
  48. package/dist/dashboard/dashboard-components.js +3 -5
  49. package/dist/dashboard/data-table.d.ts +2 -1
  50. package/dist/dashboard/data-table.d.ts.map +1 -1
  51. package/dist/dashboard/data-table.js +21 -33
  52. package/dist/dashboard/nav-main.js +4 -5
  53. package/dist/dashboard/nav-secondary.js +2 -25
  54. package/dist/dashboard/stats-card.js +1 -2
  55. package/dist/dashboard/table.js +8 -54
  56. package/dist/header/mobile-nav-item.js +1 -2
  57. package/dist/header/mobile-navbar.js +8 -9
  58. package/dist/header/nav-item.js +1 -2
  59. package/dist/index.d.ts +6 -0
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +7 -1
  62. package/dist/main/footer.js +5 -9
  63. package/dist/main/navbar.js +55 -138
  64. package/dist/main/paginationBar.js +12 -14
  65. package/dist/main/portfolio/portfolioItem.js +1 -2
  66. package/dist/main/portfolio/portfolioPopup.js +16 -17
  67. package/dist/main/review-page.d.ts.map +1 -1
  68. package/dist/main/review-page.js +132 -199
  69. package/dist/misc/accordion.js +8 -34
  70. package/dist/misc/alert-dialog.js +22 -55
  71. package/dist/misc/alert.js +7 -32
  72. package/dist/misc/alertdialogclaude.js +50 -125
  73. package/dist/misc/avatar.js +6 -31
  74. package/dist/misc/badge.js +4 -27
  75. package/dist/misc/button.js +4 -27
  76. package/dist/misc/card.js +12 -40
  77. package/dist/misc/carousel.js +37 -61
  78. package/dist/misc/checkbox.js +2 -25
  79. package/dist/misc/command.js +18 -49
  80. package/dist/misc/datepicker.js +66 -76
  81. package/dist/misc/dialog.js +20 -52
  82. package/dist/misc/document-upload-button.d.ts +12 -0
  83. package/dist/misc/document-upload-button.d.ts.map +1 -0
  84. package/dist/misc/document-upload-button.js +27 -0
  85. package/dist/misc/dropdown-menu.js +30 -67
  86. package/dist/misc/empty-state.d.ts +10 -0
  87. package/dist/misc/empty-state.d.ts.map +1 -0
  88. package/dist/misc/empty-state.js +5 -0
  89. package/dist/misc/faq.js +2 -3
  90. package/dist/misc/file-preview.js +43 -97
  91. package/dist/misc/filter.d.ts.map +1 -1
  92. package/dist/misc/filter.js +18 -21
  93. package/dist/misc/filterBar.js +136 -160
  94. package/dist/misc/form.js +39 -60
  95. package/dist/misc/image-compressor.d.ts +29 -0
  96. package/dist/misc/image-compressor.d.ts.map +1 -0
  97. package/dist/misc/image-compressor.js +70 -0
  98. package/dist/misc/image-cropper.d.ts +10 -0
  99. package/dist/misc/image-cropper.d.ts.map +1 -0
  100. package/dist/misc/image-cropper.js +44 -0
  101. package/dist/misc/input.d.ts.map +1 -1
  102. package/dist/misc/input.js +2 -25
  103. package/dist/misc/label.js +2 -25
  104. package/dist/misc/line-carousel.js +3 -13
  105. package/dist/misc/multiImageUploader.d.ts +2 -1
  106. package/dist/misc/multiImageUploader.d.ts.map +1 -1
  107. package/dist/misc/multiImageUploader.js +26 -3
  108. package/dist/misc/newsLetter.js +19 -79
  109. package/dist/misc/notification.d.ts +1 -2
  110. package/dist/misc/notification.d.ts.map +1 -1
  111. package/dist/misc/notification.js +89 -125
  112. package/dist/misc/pagination.js +16 -45
  113. package/dist/misc/password-eye.js +2 -3
  114. package/dist/misc/popover.d.ts.map +1 -1
  115. package/dist/misc/popover.js +8 -34
  116. package/dist/misc/progress.js +2 -25
  117. package/dist/misc/pwa-install-button.d.ts +9 -0
  118. package/dist/misc/pwa-install-button.d.ts.map +1 -0
  119. package/dist/misc/pwa-install-button.js +158 -0
  120. package/dist/misc/scroll-area.js +5 -29
  121. package/dist/misc/searchBar.js +27 -31
  122. package/dist/misc/searchBox.js +18 -22
  123. package/dist/misc/select.d.ts.map +1 -1
  124. package/dist/misc/select.js +22 -54
  125. package/dist/misc/separator.js +2 -25
  126. package/dist/misc/share.js +48 -104
  127. package/dist/misc/sheet.js +21 -53
  128. package/dist/misc/sidebar.js +112 -153
  129. package/dist/misc/skeleton.d.ts +36 -1
  130. package/dist/misc/skeleton.d.ts.map +1 -1
  131. package/dist/misc/skeleton.js +41 -27
  132. package/dist/misc/slider.js +3 -26
  133. package/dist/misc/starRating.js +5 -15
  134. package/dist/misc/stateCard.js +7 -8
  135. package/dist/misc/switch.d.ts +5 -0
  136. package/dist/misc/switch.d.ts.map +1 -0
  137. package/dist/misc/switch.js +8 -0
  138. package/dist/misc/tabs.js +8 -34
  139. package/dist/misc/textarea.js +2 -25
  140. package/dist/misc/tile.js +32 -93
  141. package/dist/misc/tooltip.js +8 -34
  142. package/dist/misc/whatsapp-help.d.ts +9 -0
  143. package/dist/misc/whatsapp-help.d.ts.map +1 -0
  144. package/dist/misc/whatsapp-help.js +13 -0
  145. package/dist/profile/socialLink.d.ts +1 -1
  146. package/dist/profile/socialLink.d.ts.map +1 -1
  147. package/dist/profile/socialLink.js +53 -69
  148. package/dist/utils/permissions.d.ts +7 -0
  149. package/dist/utils/permissions.d.ts.map +1 -0
  150. package/dist/utils/permissions.js +38 -0
  151. package/package.json +6 -4
  152. package/dist/main/portfolio/temp-page.d.ts +0 -2
  153. package/dist/main/portfolio/temp-page.d.ts.map +0 -1
  154. package/dist/main/portfolio/temp-page.js +0 -102
package/dist/misc/card.js CHANGED
@@ -1,49 +1,21 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __rest = (this && this.__rest) || function (s, e) {
13
- var t = {};
14
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
- t[p] = s[p];
16
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
- t[p[i]] = s[p[i]];
20
- }
21
- return t;
22
- };
23
1
  import { jsx as _jsx } from "react/jsx-runtime";
24
2
  import { cn } from "@myrjfa/state/dist/lib/utils";
25
- function Card(_a) {
26
- var className = _a.className, props = __rest(_a, ["className"]);
27
- return (_jsx("div", __assign({ className: cn("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm", className) }, props), "card"));
3
+ function Card({ className, ...props }) {
4
+ return (_jsx("div", { className: cn("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm", className), ...props }, "card"));
28
5
  }
29
- function CardHeader(_a) {
30
- var className = _a.className, props = __rest(_a, ["className"]);
31
- return (_jsx("div", __assign({ className: cn("flex flex-col gap-1.5 px-6", className) }, props), "card-header"));
6
+ function CardHeader({ className, ...props }) {
7
+ return (_jsx("div", { className: cn("flex flex-col gap-1.5 px-6", className), ...props }, "card-header"));
32
8
  }
33
- function CardTitle(_a) {
34
- var className = _a.className, props = __rest(_a, ["className"]);
35
- return (_jsx("div", __assign({ className: cn("leading-none font-semibold", className) }, props), "card-title"));
9
+ function CardTitle({ className, ...props }) {
10
+ return (_jsx("div", { className: cn("leading-none font-semibold", className), ...props }, "card-title"));
36
11
  }
37
- function CardDescription(_a) {
38
- var className = _a.className, props = __rest(_a, ["className"]);
39
- return (_jsx("div", __assign({ className: cn("text-muted-foreground text-sm", className) }, props), "card-description"));
12
+ function CardDescription({ className, ...props }) {
13
+ return (_jsx("div", { className: cn("text-muted-foreground text-sm", className), ...props }, "card-description"));
40
14
  }
41
- function CardContent(_a) {
42
- var className = _a.className, props = __rest(_a, ["className"]);
43
- return (_jsx("div", __assign({ className: cn("px-6", className) }, props), "card-content"));
15
+ function CardContent({ className, ...props }) {
16
+ return (_jsx("div", { className: cn("px-6", className), ...props }, "card-content"));
44
17
  }
45
- function CardFooter(_a) {
46
- var className = _a.className, props = __rest(_a, ["className"]);
47
- return (_jsx("div", __assign({ className: cn("flex items-center px-6", className) }, props), "card-footer"));
18
+ function CardFooter({ className, ...props }) {
19
+ return (_jsx("div", { className: cn("flex items-center px-6", className), ...props }, "card-footer"));
48
20
  }
49
21
  export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };
@@ -1,58 +1,38 @@
1
1
  "use client";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
25
3
  import { cn } from "@myrjfa/state/dist/lib/utils";
26
4
  import useEmblaCarousel from "embla-carousel-react";
27
5
  import { ArrowLeft, ArrowRight } from "lucide-react";
28
6
  import React from "react";
29
7
  import { Button } from "./button";
30
- var CarouselContext = React.createContext(null);
8
+ const CarouselContext = React.createContext(null);
31
9
  function useCarousel() {
32
- var context = React.useContext(CarouselContext);
10
+ const context = React.useContext(CarouselContext);
33
11
  if (!context) {
34
12
  throw new Error("useCarousel must be used within a <Carousel />");
35
13
  }
36
14
  return context;
37
15
  }
38
- function Carousel(_a) {
39
- var _b = _a.orientation, orientation = _b === void 0 ? "horizontal" : _b, opts = _a.opts, setApi = _a.setApi, plugins = _a.plugins, className = _a.className, children = _a.children, props = __rest(_a, ["orientation", "opts", "setApi", "plugins", "className", "children"]);
40
- var _c = useEmblaCarousel(__assign(__assign({}, opts), { axis: orientation === "horizontal" ? "x" : "y" }), plugins), carouselRef = _c[0], api = _c[1];
41
- var _d = React.useState(false), canScrollPrev = _d[0], setCanScrollPrev = _d[1];
42
- var _e = React.useState(false), canScrollNext = _e[0], setCanScrollNext = _e[1];
43
- var onSelect = React.useCallback(function (api) {
16
+ function Carousel({ orientation = "horizontal", opts, setApi, plugins, className, children, ...props }) {
17
+ const [carouselRef, api] = useEmblaCarousel({
18
+ ...opts,
19
+ axis: orientation === "horizontal" ? "x" : "y",
20
+ }, plugins);
21
+ const [canScrollPrev, setCanScrollPrev] = React.useState(false);
22
+ const [canScrollNext, setCanScrollNext] = React.useState(false);
23
+ const onSelect = React.useCallback((api) => {
44
24
  if (!api)
45
25
  return;
46
26
  setCanScrollPrev(api.canScrollPrev());
47
27
  setCanScrollNext(api.canScrollNext());
48
28
  }, []);
49
- var scrollPrev = React.useCallback(function () {
29
+ const scrollPrev = React.useCallback(() => {
50
30
  api === null || api === void 0 ? void 0 : api.scrollPrev();
51
31
  }, [api]);
52
- var scrollNext = React.useCallback(function () {
32
+ const scrollNext = React.useCallback(() => {
53
33
  api === null || api === void 0 ? void 0 : api.scrollNext();
54
34
  }, [api]);
55
- var handleKeyDown = React.useCallback(function (event) {
35
+ const handleKeyDown = React.useCallback((event) => {
56
36
  if (event.key === "ArrowLeft") {
57
37
  event.preventDefault();
58
38
  scrollPrev();
@@ -62,54 +42,50 @@ function Carousel(_a) {
62
42
  scrollNext();
63
43
  }
64
44
  }, [scrollPrev, scrollNext]);
65
- React.useEffect(function () {
45
+ React.useEffect(() => {
66
46
  if (!api || !setApi)
67
47
  return;
68
48
  setApi(api);
69
49
  }, [api, setApi]);
70
- React.useEffect(function () {
50
+ React.useEffect(() => {
71
51
  if (!api)
72
52
  return;
73
53
  onSelect(api);
74
54
  api.on("reInit", onSelect);
75
55
  api.on("select", onSelect);
76
- return function () {
56
+ return () => {
77
57
  api === null || api === void 0 ? void 0 : api.off("select", onSelect);
78
58
  };
79
59
  }, [api, onSelect]);
80
60
  return (_jsx(CarouselContext.Provider, { value: {
81
- carouselRef: carouselRef,
61
+ carouselRef,
82
62
  api: api,
83
- opts: opts,
63
+ opts,
84
64
  orientation: orientation || ((opts === null || opts === void 0 ? void 0 : opts.axis) === "y" ? "vertical" : "horizontal"),
85
- scrollPrev: scrollPrev,
86
- scrollNext: scrollNext,
87
- canScrollPrev: canScrollPrev,
88
- canScrollNext: canScrollNext,
89
- }, children: _jsx("div", __assign({ onKeyDownCapture: handleKeyDown, className: cn("relative", className), role: "region", "aria-roledescription": "carousel", "data-slot": "carousel" }, props, { children: children })) }));
65
+ scrollPrev,
66
+ scrollNext,
67
+ canScrollPrev,
68
+ canScrollNext,
69
+ }, children: _jsx("div", { onKeyDownCapture: handleKeyDown, className: cn("relative", className), role: "region", "aria-roledescription": "carousel", "data-slot": "carousel", ...props, children: children }) }));
90
70
  }
91
- function CarouselContent(_a) {
92
- var className = _a.className, props = __rest(_a, ["className"]);
93
- var _b = useCarousel(), carouselRef = _b.carouselRef, orientation = _b.orientation;
94
- return (_jsx("div", { ref: carouselRef, className: "overflow-hidden", "data-slot": "carousel-content", children: _jsx("div", __assign({ className: cn("flex", orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col", className) }, props)) }));
71
+ function CarouselContent({ className, ...props }) {
72
+ const { carouselRef, orientation } = useCarousel();
73
+ return (_jsx("div", { ref: carouselRef, className: "overflow-hidden", "data-slot": "carousel-content", children: _jsx("div", { className: cn("flex", orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col", className), ...props }) }));
95
74
  }
96
- function CarouselItem(_a) {
97
- var className = _a.className, props = __rest(_a, ["className"]);
98
- var orientation = useCarousel().orientation;
99
- return (_jsx("div", __assign({ role: "group", "aria-roledescription": "slide", "data-slot": "carousel-item", className: cn("min-w-0 shrink-0 grow-0 basis-full", orientation === "horizontal" ? "pl-4" : "pt-4", className) }, props)));
75
+ function CarouselItem({ className, ...props }) {
76
+ const { orientation } = useCarousel();
77
+ return (_jsx("div", { role: "group", "aria-roledescription": "slide", "data-slot": "carousel-item", className: cn("min-w-0 shrink-0 grow-0 basis-full", orientation === "horizontal" ? "pl-4" : "pt-4", className), ...props }));
100
78
  }
101
- function CarouselPrevious(_a) {
102
- var className = _a.className, _b = _a.variant, variant = _b === void 0 ? "outline" : _b, _c = _a.size, size = _c === void 0 ? "icon" : _c, props = __rest(_a, ["className", "variant", "size"]);
103
- var _d = useCarousel(), orientation = _d.orientation, scrollPrev = _d.scrollPrev, canScrollPrev = _d.canScrollPrev;
104
- return (_jsxs(Button, __assign({ "data-slot": "carousel-previous", variant: variant, size: size, className: cn("absolute size-8 rounded-full", orientation === "horizontal"
79
+ function CarouselPrevious({ className, variant = "outline", size = "icon", ...props }) {
80
+ const { orientation, scrollPrev, canScrollPrev } = useCarousel();
81
+ return (_jsxs(Button, { "data-slot": "carousel-previous", variant: variant, size: size, className: cn("absolute size-8 rounded-full", orientation === "horizontal"
105
82
  ? "top-1/2 left-2"
106
- : "top-2 left-1/2 rotate-90", className), disabled: !canScrollPrev, onClick: scrollPrev }, props, { children: [_jsx(ArrowLeft, {}), _jsx("span", { className: "sr-only", children: "Previous slide" })] })));
83
+ : "top-2 left-1/2 rotate-90", className), disabled: !canScrollPrev, onClick: scrollPrev, ...props, children: [_jsx(ArrowLeft, {}), _jsx("span", { className: "sr-only", children: "Previous slide" })] }));
107
84
  }
108
- function CarouselNext(_a) {
109
- var className = _a.className, _b = _a.variant, variant = _b === void 0 ? "outline" : _b, _c = _a.size, size = _c === void 0 ? "icon" : _c, props = __rest(_a, ["className", "variant", "size"]);
110
- var _d = useCarousel(), orientation = _d.orientation, scrollNext = _d.scrollNext, canScrollNext = _d.canScrollNext;
111
- return (_jsxs(Button, __assign({ "data-slot": "carousel-next", variant: variant, size: size, className: cn("absolute size-8 rounded-full", orientation === "horizontal"
85
+ function CarouselNext({ className, variant = "outline", size = "icon", ...props }) {
86
+ const { orientation, scrollNext, canScrollNext } = useCarousel();
87
+ return (_jsxs(Button, { "data-slot": "carousel-next", variant: variant, size: size, className: cn("absolute size-8 rounded-full", orientation === "horizontal"
112
88
  ? "top-1/2 right-2"
113
- : "bottom-2 left-1/2 rotate-90", className), disabled: !canScrollNext, onClick: scrollNext }, props, { children: [_jsx(ArrowRight, {}), _jsx("span", { className: "sr-only", children: "Next slide" })] })));
89
+ : "bottom-2 left-1/2 rotate-90", className), disabled: !canScrollNext, onClick: scrollNext, ...props, children: [_jsx(ArrowRight, {}), _jsx("span", { className: "sr-only", children: "Next slide" })] }));
114
90
  }
115
91
  export { Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, };
@@ -1,32 +1,9 @@
1
1
  "use client";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
2
  import { jsx as _jsx } from "react/jsx-runtime";
25
3
  import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
26
4
  import { cn } from "@myrjfa/state/dist/lib/utils";
27
5
  import { CheckIcon } from "lucide-react";
28
- function Checkbox(_a) {
29
- var className = _a.className, props = __rest(_a, ["className"]);
30
- return (_jsx(CheckboxPrimitive.Root, __assign({ className: cn("peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground 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", className) }, props, { children: _jsx(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center text-current transition-none", children: _jsx(CheckIcon, { className: "size-3.5" }) }, "checkbox-indicator") }), "checkbox"));
6
+ function Checkbox({ className, ...props }) {
7
+ return (_jsx(CheckboxPrimitive.Root, { className: cn("peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground 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", className), ...props, children: _jsx(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center text-current transition-none", children: _jsx(CheckIcon, { className: "size-3.5" }) }, "checkbox-indicator") }, "checkbox"));
31
8
  }
32
9
  export { Checkbox };
@@ -1,65 +1,34 @@
1
1
  "use client";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
25
3
  import { cn } from "@myrjfa/state/dist/lib/utils";
26
4
  import { Command as CommandPrimitive } from "cmdk";
27
5
  import { SearchIcon } from "lucide-react";
28
6
  import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, } from "./dialog";
29
- function Command(_a) {
30
- var className = _a.className, props = __rest(_a, ["className"]);
31
- return (_jsx(CommandPrimitive, __assign({ "data-slot": "command", className: cn("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md", className) }, props)));
7
+ function Command({ className, ...props }) {
8
+ return (_jsx(CommandPrimitive, { "data-slot": "command", className: cn("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md", className), ...props }));
32
9
  }
33
- function CommandDialog(_a) {
34
- var _b = _a.title, title = _b === void 0 ? "Command Palette" : _b, _c = _a.description, description = _c === void 0 ? "Search for a command to run..." : _c, children = _a.children, props = __rest(_a, ["title", "description", "children"]);
35
- return (_jsxs(Dialog, __assign({}, props, { children: [_jsxs(DialogHeader, { className: "sr-only", children: [_jsx(DialogTitle, { children: title }), _jsx(DialogDescription, { children: description })] }), _jsx(DialogContent, { className: "overflow-hidden p-0", children: _jsx(Command, { className: "[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children: children }) })] })));
10
+ function CommandDialog({ title = "Command Palette", description = "Search for a command to run...", children, ...props }) {
11
+ return (_jsxs(Dialog, { ...props, children: [_jsxs(DialogHeader, { className: "sr-only", children: [_jsx(DialogTitle, { children: title }), _jsx(DialogDescription, { children: description })] }), _jsx(DialogContent, { className: "overflow-hidden p-0", children: _jsx(Command, { className: "[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children: children }) })] }));
36
12
  }
37
- function CommandInput(_a) {
38
- var className = _a.className, props = __rest(_a, ["className"]);
39
- return (_jsxs("div", { "data-slot": "command-input-wrapper", className: "flex h-9 items-center gap-2 border-b px-3", children: [_jsx(SearchIcon, { className: "size-4 shrink-0 opacity-50" }), _jsx(CommandPrimitive.Input, __assign({ "data-slot": "command-input", className: cn("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50", className) }, props))] }));
13
+ function CommandInput({ className, ...props }) {
14
+ return (_jsxs("div", { "data-slot": "command-input-wrapper", className: "flex h-9 items-center gap-2 border-b px-3", children: [_jsx(SearchIcon, { className: "size-4 shrink-0 opacity-50" }), _jsx(CommandPrimitive.Input, { "data-slot": "command-input", className: cn("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50", className), ...props })] }));
40
15
  }
41
- function CommandList(_a) {
42
- var className = _a.className, props = __rest(_a, ["className"]);
43
- return (_jsx(CommandPrimitive.List, __assign({ "data-slot": "command-list", className: cn("max-h-[250px] scroll-py-1 overflow-x-hidden overflow-y-auto", className) }, props)));
16
+ function CommandList({ className, ...props }) {
17
+ return (_jsx(CommandPrimitive.List, { "data-slot": "command-list", className: cn("max-h-[350px] scroll-py-1 overflow-x-hidden overflow-y-auto touch-pan-y z-[300]", className), ...props }));
44
18
  }
45
- function CommandEmpty(_a) {
46
- var props = __rest(_a, []);
47
- return (_jsx(CommandPrimitive.Empty, __assign({ "data-slot": "command-empty", className: "py-6 text-center text-sm" }, props)));
19
+ function CommandEmpty({ ...props }) {
20
+ return (_jsx(CommandPrimitive.Empty, { "data-slot": "command-empty", className: "py-6 text-center text-sm", ...props }));
48
21
  }
49
- function CommandGroup(_a) {
50
- var className = _a.className, props = __rest(_a, ["className"]);
51
- return (_jsx(CommandPrimitive.Group, __assign({ "data-slot": "command-group", className: cn("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium", className) }, props)));
22
+ function CommandGroup({ className, ...props }) {
23
+ return (_jsx(CommandPrimitive.Group, { "data-slot": "command-group", className: cn("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium", className), ...props }));
52
24
  }
53
- function CommandSeparator(_a) {
54
- var className = _a.className, props = __rest(_a, ["className"]);
55
- return (_jsx(CommandPrimitive.Separator, __assign({ "data-slot": "command-separator", className: cn("bg-border -mx-1 h-px", className) }, props)));
25
+ function CommandSeparator({ className, ...props }) {
26
+ return (_jsx(CommandPrimitive.Separator, { "data-slot": "command-separator", className: cn("bg-border -mx-1 h-px", className), ...props }));
56
27
  }
57
- function CommandItem(_a) {
58
- var className = _a.className, props = __rest(_a, ["className"]);
59
- return (_jsx(CommandPrimitive.Item, __assign({ "data-slot": "command-item", className: cn("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className) }, props)));
28
+ function CommandItem({ className, ...props }) {
29
+ return (_jsx(CommandPrimitive.Item, { "data-slot": "command-item", className: cn("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props }));
60
30
  }
61
- function CommandShortcut(_a) {
62
- var className = _a.className, props = __rest(_a, ["className"]);
63
- return (_jsx("span", __assign({ "data-slot": "command-shortcut", className: cn("text-muted-foreground ml-auto text-xs tracking-widest", className) }, props)));
31
+ function CommandShortcut({ className, ...props }) {
32
+ return (_jsx("span", { "data-slot": "command-shortcut", className: cn("text-muted-foreground ml-auto text-xs tracking-widest", className), ...props }));
64
33
  }
65
34
  export { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator, };
@@ -1,13 +1,4 @@
1
1
  "use client";
2
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
- if (ar || !(i in from)) {
5
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
- ar[i] = from[i];
7
- }
8
- }
9
- return to.concat(ar || Array.prototype.slice.call(from));
10
- };
11
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
12
3
  import { cn } from "@myrjfa/state/dist/lib/utils";
13
4
  import { format } from "date-fns";
@@ -16,43 +7,42 @@ import { useEffect, useState } from "react";
16
7
  import { Button } from "./button";
17
8
  import { FormControl, FormItem, FormLabel, } from "./form";
18
9
  import { Popover, PopoverContent, PopoverTrigger, } from "./popover";
19
- export function DatePicker(_a) {
20
- var field = _a.field, _b = _a.minDate, minDate = _b === void 0 ? new Date("1900-01-01") : _b, _c = _a.maxDate, maxDate = _c === void 0 ? new Date("2100-01-01") : _c, _d = _a.label, label = _d === void 0 ? "Date of birth" : _d;
21
- var _e = useState(false), open = _e[0], setOpen = _e[1];
10
+ export function DatePicker({ field, minDate = new Date("1900-01-01"), maxDate = new Date("2100-01-01"), label = "Date of birth" }) {
11
+ const [open, setOpen] = useState(false);
22
12
  // Create state for the calendar view
23
- var _f = useState(field.value || new Date()), calendarDate = _f[0], setCalendarDate = _f[1];
24
- var _g = useState("days"), view = _g[0], setView = _g[1]; // "days", "months", or "years"
25
- var _h = useState(function () {
26
- var year = (field.value || new Date()).getFullYear();
27
- var startYear = Math.floor(year / 10) * 10;
13
+ const [calendarDate, setCalendarDate] = useState(field.value || new Date());
14
+ const [view, setView] = useState("days"); // "days", "months", or "years"
15
+ const [yearRange, setYearRange] = useState(() => {
16
+ const year = (field.value || new Date()).getFullYear();
17
+ const startYear = Math.floor(year / 10) * 10;
28
18
  return [startYear, startYear + 9];
29
- }), yearRange = _h[0], setYearRange = _h[1];
19
+ });
30
20
  // Update calendar date when field.value changes
31
- useEffect(function () {
21
+ useEffect(() => {
32
22
  if (field.value) {
33
23
  setCalendarDate(field.value);
34
24
  }
35
25
  }, [field.value]);
36
26
  // Get min and max years constraints
37
- var minYear = minDate.getFullYear();
38
- var maxYear = maxDate.getFullYear();
27
+ const minYear = minDate.getFullYear();
28
+ const maxYear = maxDate.getFullYear();
39
29
  // Month names
40
- var months = [
30
+ const months = [
41
31
  "January", "February", "March", "April", "May", "June",
42
32
  "July", "August", "September", "October", "November", "December"
43
33
  ];
44
34
  // Get days of the current month view
45
- var getDaysInMonth = function (year, month) {
46
- var daysInMonth = new Date(year, month + 1, 0).getDate();
47
- var firstDayOfMonth = new Date(year, month, 1).getDay();
48
- var prevMonthDays = [];
49
- var currentMonthDays = [];
50
- var nextMonthDays = [];
35
+ const getDaysInMonth = (year, month) => {
36
+ const daysInMonth = new Date(year, month + 1, 0).getDate();
37
+ const firstDayOfMonth = new Date(year, month, 1).getDay();
38
+ const prevMonthDays = [];
39
+ const currentMonthDays = [];
40
+ const nextMonthDays = [];
51
41
  // Previous month days
52
- var prevMonth = month === 0 ? 11 : month - 1;
53
- var prevMonthYear = month === 0 ? year - 1 : year;
54
- var daysInPrevMonth = new Date(prevMonthYear, prevMonth + 1, 0).getDate();
55
- for (var i = firstDayOfMonth - 1; i >= 0; i--) {
42
+ const prevMonth = month === 0 ? 11 : month - 1;
43
+ const prevMonthYear = month === 0 ? year - 1 : year;
44
+ const daysInPrevMonth = new Date(prevMonthYear, prevMonth + 1, 0).getDate();
45
+ for (let i = firstDayOfMonth - 1; i >= 0; i--) {
56
46
  prevMonthDays.unshift({
57
47
  day: daysInPrevMonth - i,
58
48
  month: prevMonth,
@@ -61,19 +51,19 @@ export function DatePicker(_a) {
61
51
  });
62
52
  }
63
53
  // Current month days
64
- for (var i = 1; i <= daysInMonth; i++) {
54
+ for (let i = 1; i <= daysInMonth; i++) {
65
55
  currentMonthDays.push({
66
56
  day: i,
67
- month: month,
68
- year: year,
57
+ month,
58
+ year,
69
59
  isCurrentMonth: true
70
60
  });
71
61
  }
72
62
  // Next month days
73
- var nextMonth = month === 11 ? 0 : month + 1;
74
- var nextMonthYear = month === 11 ? year + 1 : year;
75
- var remainingDays = 42 - (prevMonthDays.length + currentMonthDays.length);
76
- for (var i = 1; i <= remainingDays; i++) {
63
+ const nextMonth = month === 11 ? 0 : month + 1;
64
+ const nextMonthYear = month === 11 ? year + 1 : year;
65
+ const remainingDays = 42 - (prevMonthDays.length + currentMonthDays.length);
66
+ for (let i = 1; i <= remainingDays; i++) {
77
67
  nextMonthDays.push({
78
68
  day: i,
79
69
  month: nextMonth,
@@ -81,10 +71,10 @@ export function DatePicker(_a) {
81
71
  isCurrentMonth: false
82
72
  });
83
73
  }
84
- return __spreadArray(__spreadArray(__spreadArray([], prevMonthDays, true), currentMonthDays, true), nextMonthDays, true);
74
+ return [...prevMonthDays, ...currentMonthDays, ...nextMonthDays];
85
75
  };
86
76
  // Check if a day is selected
87
- var isSelected = function (day, month, year) {
77
+ const isSelected = (day, month, year) => {
88
78
  if (!field.value)
89
79
  return false;
90
80
  return field.value.getDate() === day &&
@@ -92,76 +82,76 @@ export function DatePicker(_a) {
92
82
  field.value.getFullYear() === year;
93
83
  };
94
84
  // Check if a day is disabled
95
- var isDisabled = function (day, month, year) {
96
- var date = new Date(year, month, day);
85
+ const isDisabled = (day, month, year) => {
86
+ const date = new Date(year, month, day);
97
87
  return date < minDate || date > maxDate;
98
88
  };
99
89
  // Handler for day selection
100
- var handleDaySelect = function (day, month, year) {
101
- var selectedDate = new Date(year, month, day);
90
+ const handleDaySelect = (day, month, year) => {
91
+ const selectedDate = new Date(year, month, day);
102
92
  field.onChange(selectedDate);
103
93
  setOpen(false);
104
94
  };
105
95
  // Handle month selection
106
- var handleMonthSelect = function (monthIndex) {
107
- var newDate = new Date(calendarDate.getFullYear(), monthIndex, 1);
96
+ const handleMonthSelect = (monthIndex) => {
97
+ const newDate = new Date(calendarDate.getFullYear(), monthIndex, 1);
108
98
  if (newDate >= minDate && newDate <= maxDate) {
109
99
  setCalendarDate(newDate);
110
100
  setView("days");
111
101
  }
112
102
  };
113
103
  // Handle year selection
114
- var handleYearSelect = function (year) {
115
- var newDate = new Date(year, calendarDate.getMonth(), 1);
104
+ const handleYearSelect = (year) => {
105
+ const newDate = new Date(year, calendarDate.getMonth(), 1);
116
106
  if (newDate >= minDate && newDate <= maxDate) {
117
107
  setCalendarDate(newDate);
118
108
  setView("months");
119
109
  }
120
110
  };
121
111
  // Navigate to previous month
122
- var prevMonth = function () {
123
- var prevMonthDate = new Date(calendarDate);
112
+ const prevMonth = () => {
113
+ const prevMonthDate = new Date(calendarDate);
124
114
  prevMonthDate.setMonth(prevMonthDate.getMonth() - 1);
125
115
  setCalendarDate(prevMonthDate);
126
116
  };
127
117
  // Navigate to next month
128
- var nextMonth = function () {
129
- var nextMonthDate = new Date(calendarDate);
118
+ const nextMonth = () => {
119
+ const nextMonthDate = new Date(calendarDate);
130
120
  nextMonthDate.setMonth(nextMonthDate.getMonth() + 1);
131
121
  setCalendarDate(nextMonthDate);
132
122
  };
133
123
  // Navigate to previous year range
134
- var prevYearRange = function () {
124
+ const prevYearRange = () => {
135
125
  setYearRange([yearRange[0] - 10, yearRange[1] - 10]);
136
126
  };
137
127
  // Navigate to next year range
138
- var nextYearRange = function () {
128
+ const nextYearRange = () => {
139
129
  setYearRange([yearRange[0] + 10, yearRange[1] + 10]);
140
130
  };
141
131
  // Toggle between day, month, and year views
142
- var toggleView = function () {
132
+ const toggleView = () => {
143
133
  if (view === "days") {
144
134
  setView("months");
145
135
  }
146
136
  else if (view === "months") {
147
- var year = calendarDate.getFullYear();
148
- var startYear = Math.floor(year / 10) * 10;
137
+ const year = calendarDate.getFullYear();
138
+ const startYear = Math.floor(year / 10) * 10;
149
139
  setYearRange([startYear, startYear + 9]);
150
140
  setView("years");
151
141
  }
152
142
  };
153
143
  // Render the header
154
- var renderHeader = function () {
144
+ const renderHeader = () => {
155
145
  if (view === "days") {
156
146
  return (_jsxs("div", { className: "flex justify-between items-center mb-2", children: [_jsx("button", { type: "button", className: "p-1 rounded-full hover:bg-gray-200", onClick: prevMonth, children: _jsx(ChevronLeft, { className: "h-4 w-4" }) }), _jsxs("button", { type: "button", className: "font-semibold hover:bg-muted px-2 py-1 rounded", onClick: toggleView, children: [months[calendarDate.getMonth()], " ", calendarDate.getFullYear()] }), _jsx("button", { type: "button", className: "p-1 rounded-full hover:bg-gray-200", onClick: nextMonth, children: _jsx(ChevronRight, { className: "h-4 w-4" }) })] }));
157
147
  }
158
148
  else if (view === "months") {
159
- return (_jsxs("div", { className: "flex justify-between items-center mb-2", children: [_jsx("button", { type: "button", className: "p-1 rounded-full hover:bg-gray-200", onClick: function () {
160
- var newDate = new Date(calendarDate);
149
+ return (_jsxs("div", { className: "flex justify-between items-center mb-2", children: [_jsx("button", { type: "button", className: "p-1 rounded-full hover:bg-gray-200", onClick: () => {
150
+ const newDate = new Date(calendarDate);
161
151
  newDate.setFullYear(newDate.getFullYear() - 1);
162
152
  setCalendarDate(newDate);
163
- }, children: _jsx(ChevronLeft, { className: "h-4 w-4" }) }), _jsx("button", { type: "button", className: "font-semibold hover:bg-muted px-2 py-1 rounded", onClick: toggleView, children: calendarDate.getFullYear() }), _jsx("button", { type: "button", className: "p-1 rounded-full hover:bg-gray-200", onClick: function () {
164
- var newDate = new Date(calendarDate);
153
+ }, children: _jsx(ChevronLeft, { className: "h-4 w-4" }) }), _jsx("button", { type: "button", className: "font-semibold hover:bg-muted px-2 py-1 rounded", onClick: toggleView, children: calendarDate.getFullYear() }), _jsx("button", { type: "button", className: "p-1 rounded-full hover:bg-gray-200", onClick: () => {
154
+ const newDate = new Date(calendarDate);
165
155
  newDate.setFullYear(newDate.getFullYear() + 1);
166
156
  setCalendarDate(newDate);
167
157
  }, children: _jsx(ChevronRight, { className: "h-4 w-4" }) })] }));
@@ -171,27 +161,27 @@ export function DatePicker(_a) {
171
161
  }
172
162
  };
173
163
  // Render the calendar content based on the current view
174
- var renderCalendarContent = function () {
164
+ const renderCalendarContent = () => {
175
165
  if (view === "days") {
176
- var daysInMonth = getDaysInMonth(calendarDate.getFullYear(), calendarDate.getMonth());
177
- return (_jsxs(_Fragment, { children: [_jsx("div", { className: "grid grid-cols-7 gap-1 mb-1", children: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"].map(function (day) { return (_jsx("div", { className: "text-center text-xs font-medium text-gray-500", children: day }, day)); }) }), _jsx("div", { className: "grid grid-cols-7 gap-1", children: daysInMonth.map(function (dayInfo, index) {
178
- var day = dayInfo.day, month = dayInfo.month, year = dayInfo.year, isCurrentMonth = dayInfo.isCurrentMonth;
179
- var isDateSelected = isSelected(day, month, year);
180
- var isDateDisabled = isDisabled(day, month, year);
181
- return (_jsx("button", { type: "button", disabled: isDateDisabled, className: cn("h-8 w-8 text-sm rounded-full flex items-center justify-center", !isCurrentMonth && "text-muted-foreground", isDateSelected && !isDateDisabled && "bg-black text-white", !isDateSelected && !isDateDisabled && "hover:bg-muted", isDateDisabled && "text-gray-300 cursor-not-allowed"), onClick: function () { return handleDaySelect(day, month, year); }, children: day }, index));
166
+ const daysInMonth = getDaysInMonth(calendarDate.getFullYear(), calendarDate.getMonth());
167
+ return (_jsxs(_Fragment, { children: [_jsx("div", { className: "grid grid-cols-7 gap-1 mb-1", children: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"].map((day) => (_jsx("div", { className: "text-center text-xs font-medium text-gray-500", children: day }, day))) }), _jsx("div", { className: "grid grid-cols-7 gap-1", children: daysInMonth.map((dayInfo, index) => {
168
+ const { day, month, year, isCurrentMonth } = dayInfo;
169
+ const isDateSelected = isSelected(day, month, year);
170
+ const isDateDisabled = isDisabled(day, month, year);
171
+ return (_jsx("button", { type: "button", disabled: isDateDisabled, className: cn("h-8 w-8 text-sm rounded-full flex items-center justify-center", !isCurrentMonth && "text-muted-foreground", isDateSelected && !isDateDisabled && "bg-black text-white", !isDateSelected && !isDateDisabled && "hover:bg-muted", isDateDisabled && "text-gray-300 cursor-not-allowed"), onClick: () => handleDaySelect(day, month, year), children: day }, index));
182
172
  }) })] }));
183
173
  }
184
174
  else if (view === "months") {
185
- return (_jsx("div", { className: "grid grid-cols-3 gap-2 p-2", children: months.map(function (month, index) {
186
- var isMonthDisabled = (calendarDate.getFullYear() === minYear && index < minDate.getMonth()) ||
175
+ return (_jsx("div", { className: "grid grid-cols-3 gap-2 p-2", children: months.map((month, index) => {
176
+ const isMonthDisabled = (calendarDate.getFullYear() === minYear && index < minDate.getMonth()) ||
187
177
  (calendarDate.getFullYear() === maxYear && index > maxDate.getMonth());
188
- return (_jsx("button", { type: "button", disabled: isMonthDisabled, className: cn("py-2 rounded text-sm", calendarDate.getMonth() === index && "bg-black text-white", !isMonthDisabled && calendarDate.getMonth() !== index && "hover:bg-muted", isMonthDisabled && "text-gray-300 cursor-not-allowed"), onClick: function () { return handleMonthSelect(index); }, children: month.substring(0, 3) }, month));
178
+ return (_jsx("button", { type: "button", disabled: isMonthDisabled, className: cn("py-2 rounded text-sm", calendarDate.getMonth() === index && "bg-black text-white", !isMonthDisabled && calendarDate.getMonth() !== index && "hover:bg-muted", isMonthDisabled && "text-gray-300 cursor-not-allowed"), onClick: () => handleMonthSelect(index), children: month.substring(0, 3) }, month));
189
179
  }) }));
190
180
  }
191
181
  else if (view === "years") {
192
- return (_jsx("div", { className: "grid grid-cols-3 gap-2 p-2", children: Array.from({ length: 10 }, function (_, i) { return yearRange[0] + i; }).map(function (year) {
193
- var isYearDisabled = year < minYear || year > maxYear;
194
- return (_jsx("button", { type: "button", disabled: isYearDisabled, className: cn("py-2 rounded text-sm", calendarDate.getFullYear() === year && "bg-black text-white", !isYearDisabled && calendarDate.getFullYear() !== year && "hover:bg-muted", isYearDisabled && "text-gray-300 cursor-not-allowed"), onClick: function () { return handleYearSelect(year); }, children: year }, year));
182
+ return (_jsx("div", { className: "grid grid-cols-3 gap-2 p-2", children: Array.from({ length: 10 }, (_, i) => yearRange[0] + i).map((year) => {
183
+ const isYearDisabled = year < minYear || year > maxYear;
184
+ return (_jsx("button", { type: "button", disabled: isYearDisabled, className: cn("py-2 rounded text-sm", calendarDate.getFullYear() === year && "bg-black text-white", !isYearDisabled && calendarDate.getFullYear() !== year && "hover:bg-muted", isYearDisabled && "text-gray-300 cursor-not-allowed"), onClick: () => handleYearSelect(year), children: year }, year));
195
185
  }) }));
196
186
  }
197
187
  };