@myrjfa/ui 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.
Files changed (189) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +2 -0
  3. package/dist/dashboard/action-buttons.d.ts +16 -0
  4. package/dist/dashboard/action-buttons.d.ts.map +1 -0
  5. package/dist/dashboard/action-buttons.js +10 -0
  6. package/dist/dashboard/app-sidebar.d.ts +3 -0
  7. package/dist/dashboard/app-sidebar.d.ts.map +1 -0
  8. package/dist/dashboard/app-sidebar.js +145 -0
  9. package/dist/dashboard/card-header.d.ts +11 -0
  10. package/dist/dashboard/card-header.d.ts.map +1 -0
  11. package/dist/dashboard/card-header.js +8 -0
  12. package/dist/dashboard/dashboard-components.d.ts +13 -0
  13. package/dist/dashboard/dashboard-components.d.ts.map +1 -0
  14. package/dist/dashboard/dashboard-components.js +12 -0
  15. package/dist/dashboard/data-table.d.ts +19 -0
  16. package/dist/dashboard/data-table.d.ts.map +1 -0
  17. package/dist/dashboard/data-table.js +59 -0
  18. package/dist/dashboard/nav-main.d.ts +9 -0
  19. package/dist/dashboard/nav-main.d.ts.map +1 -0
  20. package/dist/dashboard/nav-main.js +10 -0
  21. package/dist/dashboard/nav-secondary.d.ts +10 -0
  22. package/dist/dashboard/nav-secondary.d.ts.map +1 -0
  23. package/dist/dashboard/nav-secondary.js +29 -0
  24. package/dist/dashboard/stats-card.d.ts +6 -0
  25. package/dist/dashboard/stats-card.d.ts.map +1 -0
  26. package/dist/dashboard/stats-card.js +6 -0
  27. package/dist/dashboard/table.d.ts +11 -0
  28. package/dist/dashboard/table.d.ts.map +1 -0
  29. package/dist/dashboard/table.js +67 -0
  30. package/dist/header/mobile-nav-item.d.ts +9 -0
  31. package/dist/header/mobile-nav-item.d.ts.map +1 -0
  32. package/dist/header/mobile-nav-item.js +7 -0
  33. package/dist/header/mobile-navbar.d.ts +5 -0
  34. package/dist/header/mobile-navbar.d.ts.map +1 -0
  35. package/dist/header/mobile-navbar.js +22 -0
  36. package/dist/header/nav-item.d.ts +9 -0
  37. package/dist/header/nav-item.d.ts.map +1 -0
  38. package/dist/header/nav-item.js +7 -0
  39. package/dist/index.d.ts +57 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +57 -0
  42. package/dist/main/footer.d.ts +6 -0
  43. package/dist/main/footer.d.ts.map +1 -0
  44. package/dist/main/footer.js +47 -0
  45. package/dist/main/navbar.d.ts +6 -0
  46. package/dist/main/navbar.d.ts.map +1 -0
  47. package/dist/main/navbar.js +180 -0
  48. package/dist/main/paginationBar.d.ts +5 -0
  49. package/dist/main/paginationBar.d.ts.map +1 -0
  50. package/dist/main/paginationBar.js +30 -0
  51. package/dist/main/review-page.d.ts +13 -0
  52. package/dist/main/review-page.d.ts.map +1 -0
  53. package/dist/main/review-page.js +246 -0
  54. package/dist/misc/accordion.d.ts +7 -0
  55. package/dist/misc/accordion.d.ts.map +1 -0
  56. package/dist/misc/accordion.js +44 -0
  57. package/dist/misc/alert-dialog.d.ts +14 -0
  58. package/dist/misc/alert-dialog.d.ts.map +1 -0
  59. package/dist/misc/alert-dialog.js +72 -0
  60. package/dist/misc/alert.d.ts +9 -0
  61. package/dist/misc/alert.d.ts.map +1 -0
  62. package/dist/misc/alert.js +49 -0
  63. package/dist/misc/alertdialogclaude.d.ts +15 -0
  64. package/dist/misc/alertdialogclaude.d.ts.map +1 -0
  65. package/dist/misc/alertdialogclaude.js +226 -0
  66. package/dist/misc/avatar.d.ts +6 -0
  67. package/dist/misc/avatar.d.ts.map +1 -0
  68. package/dist/misc/avatar.js +39 -0
  69. package/dist/misc/badge.d.ts +9 -0
  70. package/dist/misc/badge.d.ts.map +1 -0
  71. package/dist/misc/badge.js +45 -0
  72. package/dist/misc/button.d.ts +10 -0
  73. package/dist/misc/button.d.ts.map +1 -0
  74. package/dist/misc/button.js +54 -0
  75. package/dist/misc/card.d.ts +9 -0
  76. package/dist/misc/card.d.ts.map +1 -0
  77. package/dist/misc/card.js +49 -0
  78. package/dist/misc/carousel.d.ts +20 -0
  79. package/dist/misc/carousel.d.ts.map +1 -0
  80. package/dist/misc/carousel.js +115 -0
  81. package/dist/misc/checkbox.d.ts +4 -0
  82. package/dist/misc/checkbox.d.ts.map +1 -0
  83. package/dist/misc/checkbox.js +32 -0
  84. package/dist/misc/command.d.ts +16 -0
  85. package/dist/misc/command.d.ts.map +1 -0
  86. package/dist/misc/command.js +65 -0
  87. package/dist/misc/datepicker.d.ts +12 -0
  88. package/dist/misc/datepicker.d.ts.map +1 -0
  89. package/dist/misc/datepicker.js +199 -0
  90. package/dist/misc/dialog.d.ts +13 -0
  91. package/dist/misc/dialog.d.ts.map +1 -0
  92. package/dist/misc/dialog.js +68 -0
  93. package/dist/misc/dropdown-menu.d.ts +25 -0
  94. package/dist/misc/dropdown-menu.d.ts.map +1 -0
  95. package/dist/misc/dropdown-menu.js +88 -0
  96. package/dist/misc/faq.d.ts +5 -0
  97. package/dist/misc/faq.d.ts.map +1 -0
  98. package/dist/misc/faq.js +6 -0
  99. package/dist/misc/file-preview.d.ts +8 -0
  100. package/dist/misc/file-preview.d.ts.map +1 -0
  101. package/dist/misc/file-preview.js +130 -0
  102. package/dist/misc/filter.d.ts +12 -0
  103. package/dist/misc/filter.d.ts.map +1 -0
  104. package/dist/misc/filter.js +47 -0
  105. package/dist/misc/filterBar.d.ts +5 -0
  106. package/dist/misc/filterBar.d.ts.map +1 -0
  107. package/dist/misc/filterBar.js +196 -0
  108. package/dist/misc/form.d.ts +25 -0
  109. package/dist/misc/form.d.ts.map +1 -0
  110. package/dist/misc/form.js +81 -0
  111. package/dist/misc/input.d.ts +4 -0
  112. package/dist/misc/input.d.ts.map +1 -0
  113. package/dist/misc/input.js +29 -0
  114. package/dist/misc/label.d.ts +4 -0
  115. package/dist/misc/label.d.ts.map +1 -0
  116. package/dist/misc/label.js +31 -0
  117. package/dist/misc/line-carousel.d.ts +9 -0
  118. package/dist/misc/line-carousel.d.ts.map +1 -0
  119. package/dist/misc/line-carousel.js +15 -0
  120. package/dist/misc/multiImageUploader.d.ts +9 -0
  121. package/dist/misc/multiImageUploader.d.ts.map +1 -0
  122. package/dist/misc/multiImageUploader.js +11 -0
  123. package/dist/misc/newsLetter.d.ts +3 -0
  124. package/dist/misc/newsLetter.d.ts.map +1 -0
  125. package/dist/misc/newsLetter.js +101 -0
  126. package/dist/misc/notification.d.ts +6 -0
  127. package/dist/misc/notification.d.ts.map +1 -0
  128. package/dist/misc/notification.js +148 -0
  129. package/dist/misc/pagination.d.ts +15 -0
  130. package/dist/misc/pagination.d.ts.map +1 -0
  131. package/dist/misc/pagination.js +59 -0
  132. package/dist/misc/password-eye.d.ts +6 -0
  133. package/dist/misc/password-eye.d.ts.map +1 -0
  134. package/dist/misc/password-eye.js +7 -0
  135. package/dist/misc/popover.d.ts +7 -0
  136. package/dist/misc/popover.d.ts.map +1 -0
  137. package/dist/misc/popover.js +43 -0
  138. package/dist/misc/progress.d.ts +4 -0
  139. package/dist/misc/progress.d.ts.map +1 -0
  140. package/dist/misc/progress.js +31 -0
  141. package/dist/misc/scroll-area.d.ts +5 -0
  142. package/dist/misc/scroll-area.d.ts.map +1 -0
  143. package/dist/misc/scroll-area.js +37 -0
  144. package/dist/misc/searchBar.d.ts +6 -0
  145. package/dist/misc/searchBar.d.ts.map +1 -0
  146. package/dist/misc/searchBar.js +93 -0
  147. package/dist/misc/searchBox.d.ts +12 -0
  148. package/dist/misc/searchBox.d.ts.map +1 -0
  149. package/dist/misc/searchBox.js +66 -0
  150. package/dist/misc/select.d.ts +13 -0
  151. package/dist/misc/select.d.ts.map +1 -0
  152. package/dist/misc/select.js +70 -0
  153. package/dist/misc/separator.d.ts +4 -0
  154. package/dist/misc/separator.d.ts.map +1 -0
  155. package/dist/misc/separator.js +31 -0
  156. package/dist/misc/share.d.ts +5 -0
  157. package/dist/misc/share.d.ts.map +1 -0
  158. package/dist/misc/share.js +213 -0
  159. package/dist/misc/sheet.d.ts +13 -0
  160. package/dist/misc/sheet.d.ts.map +1 -0
  161. package/dist/misc/sheet.js +72 -0
  162. package/dist/misc/sidebar.d.ts +70 -0
  163. package/dist/misc/sidebar.d.ts.map +1 -0
  164. package/dist/misc/sidebar.js +253 -0
  165. package/dist/misc/skeleton.d.ts +3 -0
  166. package/dist/misc/skeleton.d.ts.map +1 -0
  167. package/dist/misc/skeleton.js +29 -0
  168. package/dist/misc/starRating.d.ts +4 -0
  169. package/dist/misc/starRating.d.ts.map +1 -0
  170. package/dist/misc/starRating.js +21 -0
  171. package/dist/misc/stateCard.d.ts +7 -0
  172. package/dist/misc/stateCard.d.ts.map +1 -0
  173. package/dist/misc/stateCard.js +22 -0
  174. package/dist/misc/tabs.d.ts +8 -0
  175. package/dist/misc/tabs.d.ts.map +1 -0
  176. package/dist/misc/tabs.js +43 -0
  177. package/dist/misc/textarea.d.ts +4 -0
  178. package/dist/misc/textarea.d.ts.map +1 -0
  179. package/dist/misc/textarea.js +29 -0
  180. package/dist/misc/tile.d.ts +3 -0
  181. package/dist/misc/tile.d.ts.map +1 -0
  182. package/dist/misc/tile.js +137 -0
  183. package/dist/misc/tooltip.d.ts +8 -0
  184. package/dist/misc/tooltip.d.ts.map +1 -0
  185. package/dist/misc/tooltip.js +43 -0
  186. package/dist/profile/socialLink.d.ts +10 -0
  187. package/dist/profile/socialLink.d.ts.map +1 -0
  188. package/dist/profile/socialLink.js +82 -0
  189. package/package.json +79 -0
@@ -0,0 +1,9 @@
1
+ type multiImageUploaderType = {
2
+ previewImages: string[];
3
+ handleImageUpload: (e: React.ChangeEvent<HTMLInputElement>) => Promise<void>;
4
+ handleRemoveImage: (index: number) => void;
5
+ message: string;
6
+ };
7
+ export default function MultiImageUploader({ previewImages, handleImageUpload, handleRemoveImage, message }: multiImageUploaderType): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=multiImageUploader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiImageUploader.d.ts","sourceRoot":"","sources":["../../src/misc/multiImageUploader.tsx"],"names":[],"mappings":"AAOA,KAAK,sBAAsB,GAAG;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;CACnB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,sBAAsB,2CAuDlI"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from "./button";
3
+ import { FormDescription } from "./form";
4
+ import { Input } from "./input";
5
+ import { Card, CardHeader, CardTitle, CardContent } from "./card";
6
+ import { Trash2, Upload } from "lucide-react";
7
+ import Image from "next/image";
8
+ export default function MultiImageUploader(_a) {
9
+ var previewImages = _a.previewImages, handleImageUpload = _a.handleImageUpload, handleRemoveImage = _a.handleRemoveImage, message = _a.message;
10
+ return (_jsxs(Card, { children: [_jsx(CardHeader, { children: _jsxs(CardTitle, { children: ["Images", _jsx(FormDescription, { children: message })] }) }), _jsxs(CardContent, { children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 mb-4", children: [previewImages.map(function (image, index) { return (_jsxs("div", { className: "relative rounded-lg overflow-hidden h-40", children: [_jsx(Image, { id: "image-" + index, src: image, alt: "Opportunity image ".concat(index + 1), fill: true, className: "object-cover" }), _jsx(Button, { type: "button", onClick: function () { return handleRemoveImage(index); }, className: "absolute top-2 right-2 bg-white/80 rounded-full hover:bg-white", children: _jsx(Trash2, { className: "text-red-500" }) })] }, index)); }), _jsxs("div", { className: "flex flex-col items-center justify-center w-full space-y-4", children: [_jsx("label", { htmlFor: "image", className: "cursor-pointer w-full", children: _jsxs("div", { className: "border-2 border-dashed border-slate-300 rounded-lg p-6 flex flex-col items-center justify-center text-slate-500 hover:border-primary hover:text-primary transition-colors", children: [_jsx(Upload, { className: "h-12 w-12 text-gray-500 mb-4" }), _jsx("span", { className: "text-lg font-semibold mb-2", children: "Upload Image" }), _jsx("span", { className: "text-sm", children: "Click or drag to upload" })] }) }), _jsx(Input, { id: "image", type: "file", accept: "image/*", multiple: true, onChange: handleImageUpload, placeholder: "Upload Image", className: "hidden" })] })] }), _jsx(FormDescription, { children: "Images should be in Valid format. Maximum file size: 5MB." })] })] }));
11
+ }
@@ -0,0 +1,3 @@
1
+ declare const NewsletterSubscribe: () => import("react/jsx-runtime").JSX.Element;
2
+ export default NewsletterSubscribe;
3
+ //# sourceMappingURL=newsLetter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"newsLetter.d.ts","sourceRoot":"","sources":["../../src/misc/newsLetter.tsx"],"names":[],"mappings":"AAiBA,QAAA,MAAM,mBAAmB,+CAgDxB,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,101 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
50
+ import { zodResolver } from "@hookform/resolvers/zod";
51
+ import { subscribeToNewsLetter } from "@myrjfa/state/dist/lib/actions";
52
+ import { usePathname } from "next/navigation";
53
+ import { useEffect } from "react";
54
+ import { useForm } from "react-hook-form";
55
+ import { z } from "zod";
56
+ import { showAlert } from "./alertdialogclaude";
57
+ import { Button } from "./button";
58
+ import { Form, FormControl, FormField, FormItem, FormMessage } from "./form";
59
+ import { Input } from "./input";
60
+ var formSchema = z.object({
61
+ email: z.string().email("Please enter a valid email address"),
62
+ });
63
+ var NewsletterSubscribe = function () {
64
+ var pathname = usePathname();
65
+ var form = useForm({
66
+ resolver: zodResolver(formSchema),
67
+ defaultValues: {
68
+ email: "",
69
+ },
70
+ });
71
+ useEffect(function () {
72
+ form.reset();
73
+ }, [pathname]);
74
+ var isSubmitting = form.formState.isSubmitting;
75
+ var onSubmit = function (values) { return __awaiter(void 0, void 0, void 0, function () {
76
+ var res;
77
+ return __generator(this, function (_a) {
78
+ switch (_a.label) {
79
+ case 0: return [4 /*yield*/, subscribeToNewsLetter(values.email)];
80
+ case 1:
81
+ res = _a.sent();
82
+ if (!(res === null || res === void 0 ? void 0 : res.error)) return [3 /*break*/, 2];
83
+ form.setError("email", { message: res.error });
84
+ return [3 /*break*/, 4];
85
+ case 2:
86
+ form.reset();
87
+ form.setValue("email", "");
88
+ return [4 /*yield*/, showAlert(res.message || "Subscribed successfully!")];
89
+ case 3:
90
+ _a.sent();
91
+ _a.label = 4;
92
+ case 4: return [2 /*return*/];
93
+ }
94
+ });
95
+ }); };
96
+ return (_jsx(Form, __assign({}, form, { children: _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), noValidate: true, className: "mt-4 flex flex-col sm:flex-row gap-3", children: [_jsx(FormField, { control: form.control, name: "email", render: function (_a) {
97
+ var field = _a.field;
98
+ return (_jsxs(FormItem, { className: "flex-1", children: [_jsx(FormControl, { children: _jsx(Input, __assign({ placeholder: "Your email address", type: "email", disabled: isSubmitting }, field)) }), _jsx(FormMessage, {})] }));
99
+ } }), _jsx(Button, { type: "submit", disabled: isSubmitting, className: "w-full sm:w-auto", children: isSubmitting ? "Subscribing..." : "Subscribe" })] }) })));
100
+ };
101
+ export default NewsletterSubscribe;
@@ -0,0 +1,6 @@
1
+ export declare function NotificationBell({ id, navItemColor }: {
2
+ id: string | null;
3
+ navItemColor: string;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ export declare function MobileNotificationBell(): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=notification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/misc/notification.tsx"],"names":[],"mappings":"AA2BA,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE;IAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,2CA8GjG;AAED,wBAAgB,sBAAsB,4CAerC"}
@@ -0,0 +1,148 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
50
+ import { Popover, PopoverContent, PopoverTrigger } from "@radix-ui/react-popover";
51
+ import { toggleAllNotification, toggleNotification } from "@myrjfa/state/dist/lib/actions";
52
+ import { formatTimestamp } from "@myrjfa/state/dist/lib/utils";
53
+ import { Bell } from "lucide-react";
54
+ import { useRouter } from "next/navigation";
55
+ import { useEffect, useState } from "react";
56
+ import { FaSpinner } from "react-icons/fa6";
57
+ import { showAlert } from "./alertdialogclaude";
58
+ import { Button } from "./button";
59
+ import { Card, CardHeader, CardTitle } from "./card";
60
+ import { ScrollArea } from "./scroll-area";
61
+ import { MobileNavItem } from "../header/mobile-nav-item";
62
+ var NOTIF_LIMIT_FOR_BELL = 10;
63
+ var getNotificationIcon = function (type) {
64
+ switch (type) {
65
+ case "false":
66
+ return _jsx("div", { className: "w-2 h-2 rounded-full bg-green-500 mt-2" });
67
+ default:
68
+ return _jsx("div", { className: "w-2 h-2 rounded-full bg-gray-500 mt-2" });
69
+ }
70
+ };
71
+ export function NotificationBell(_a) {
72
+ var _this = this;
73
+ var id = _a.id, navItemColor = _a.navItemColor;
74
+ var _b = useState([]), notifs = _b[0], setNotifs = _b[1];
75
+ var _c = useState(0), unreadCount = _c[0], setUnreadCount = _c[1];
76
+ var _d = useState(null), loadingNotifId = _d[0], setLoadingNotifId = _d[1];
77
+ var router = useRouter();
78
+ useEffect(function () {
79
+ var fetchData = function () { return __awaiter(_this, void 0, void 0, function () {
80
+ return __generator(this, function (_a) {
81
+ if (!id)
82
+ return [2 /*return*/];
83
+ return [2 /*return*/];
84
+ });
85
+ }); };
86
+ fetchData();
87
+ }, [id]);
88
+ var handleMarkAllNotifRead = function () { return __awaiter(_this, void 0, void 0, function () {
89
+ var response;
90
+ return __generator(this, function (_a) {
91
+ switch (_a.label) {
92
+ case 0: return [4 /*yield*/, toggleAllNotification(true)];
93
+ case 1:
94
+ response = _a.sent();
95
+ if (!(response === null || response === void 0 ? void 0 : response.error)) return [3 /*break*/, 3];
96
+ return [4 /*yield*/, showAlert(response.error)];
97
+ case 2:
98
+ _a.sent();
99
+ return [3 /*break*/, 4];
100
+ case 3:
101
+ setNotifs(notifs.map(function (notif) { return (__assign(__assign({}, notif), { read: true })); }));
102
+ setUnreadCount(0);
103
+ console.log("marked");
104
+ _a.label = 4;
105
+ case 4: return [2 /*return*/];
106
+ }
107
+ });
108
+ }); };
109
+ var handleNotifClick = function (notif) { return __awaiter(_this, void 0, void 0, function () {
110
+ var response, url;
111
+ return __generator(this, function (_a) {
112
+ switch (_a.label) {
113
+ case 0:
114
+ if (loadingNotifId)
115
+ return [2 /*return*/];
116
+ if (!!notif.read) return [3 /*break*/, 4];
117
+ setLoadingNotifId(notif._id);
118
+ return [4 /*yield*/, toggleNotification(notif._id, true)];
119
+ case 1:
120
+ response = _a.sent();
121
+ if (!(response === null || response === void 0 ? void 0 : response.error)) return [3 /*break*/, 3];
122
+ return [4 /*yield*/, showAlert(response.error)];
123
+ case 2:
124
+ _a.sent();
125
+ return [3 /*break*/, 4];
126
+ case 3:
127
+ setNotifs(notifs.map(function (n) {
128
+ return n._id === notif._id ? __assign(__assign({}, n), { read: true }) : n;
129
+ }));
130
+ setUnreadCount(unreadCount - 1);
131
+ console.log("read notification");
132
+ _a.label = 4;
133
+ case 4:
134
+ setLoadingNotifId(null);
135
+ url = notif.url;
136
+ return [2 /*return*/, url && router.push(url)];
137
+ }
138
+ });
139
+ }); };
140
+ if (notifs == null)
141
+ return _jsx(FaSpinner, {});
142
+ return _jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs("div", { className: "relative cursor-pointer ".concat(navItemColor, " transition-colors"), "aria-label": "Notification Bell", children: [_jsx(Bell, { className: "h-5 w-5" }), unreadCount > 0 && (_jsx("span", { className: "absolute -top-1.5 -right-1.5 flex h-4 min-w-[1rem] items-center justify-center rounded-full bg-red-500 px-1 text-[10px] font-bold text-white", children: unreadCount > 99 ? "99+" : unreadCount }))] }) }), _jsx(PopoverContent, { className: "w-96 p-0 mt-3 bg-white rounded-lg shadow-lg", align: "end", sideOffset: 5, children: _jsxs(Card, { className: "border-0 shadow-none", children: [_jsx(CardHeader, { className: "px-8", children: _jsxs("div", { className: "flex justify-between items-center", children: [_jsx(CardTitle, { className: "text-lg font-medium", children: "Notifications" }), notifs.length != 0 && _jsx(Button, { variant: "ghost", size: "sm", className: "text-xs text-blue-600 hover:text-blue-800", onClick: function () {
143
+ handleMarkAllNotifRead();
144
+ }, children: "Mark all as read" })] }) }), _jsx(ScrollArea, { className: "h-80 w-full rounded-md", children: _jsx("div", { className: "px-2", children: notifs.length === 0 ? (_jsx("div", { className: "text-center text-sm text-gray-500 py-30", children: "You're all caught up \uD83C\uDF89" })) : (notifs.map(function (notif) { return (_jsxs("div", { className: "flex items-start gap-3 p-2 pb-1 mt-1 hover:bg-gray-50 rounded-lg transition-colors ".concat(!notif.read ? "bg-blue-50/50" : "", " ").concat(loadingNotifId === notif._id ? "opacity-50 pointer-events-none" : ""), onClick: function () { return handleNotifClick(notif); }, children: [_jsx("div", { className: "flex-shrink-0 mt-1", children: getNotificationIcon(notif.read.toString()) }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("p", { className: "text-sm ".concat(!notif.read ? "font-medium" : "text-gray-600"), children: notif.message }), _jsx("p", { className: "text-xs text-gray-500 mt-1", children: formatTimestamp(notif.timestamp) })] }), !notif.read && (_jsx("div", { className: "flex-shrink-0", children: _jsx("div", { className: "w-2 h-2 rounded-full bg-blue-500" }) }))] }, notif._id)); })) }) }), notifs.length > NOTIF_LIMIT_FOR_BELL && _jsx("div", { className: "px-3 pt-2 border-t border-gray-100", children: _jsx(Button, { variant: "ghost", className: "w-full text-blue-600 hover:text-blue-800 hover:bg-blue-50 text-sm", onClick: function () { router.push("/inbox"); }, children: "View all notifications" }) })] }) })] });
145
+ }
146
+ export function MobileNotificationBell() {
147
+ return (_jsx(MobileNavItem, { icon: _jsx("div", { className: "relative", children: _jsx(Bell, { className: "h-5 w-5" }) }), label: "Notifications", href: "/inbox" }));
148
+ }
@@ -0,0 +1,15 @@
1
+ import Link from "next/link";
2
+ import * as React from "react";
3
+ import { Button } from "./button";
4
+ declare function Pagination({ className, ...props }: React.ComponentProps<"nav">): import("react/jsx-runtime").JSX.Element;
5
+ declare function PaginationContent({ className, ...props }: React.ComponentProps<"ul">): import("react/jsx-runtime").JSX.Element;
6
+ declare function PaginationItem({ ...props }: React.ComponentProps<"li">): import("react/jsx-runtime").JSX.Element;
7
+ type PaginationLinkProps = {
8
+ isActive?: boolean;
9
+ } & Pick<React.ComponentProps<typeof Button>, "size"> & React.ComponentProps<typeof Link>;
10
+ declare function PaginationLink({ className, isActive, size, ...props }: PaginationLinkProps): import("react/jsx-runtime").JSX.Element;
11
+ declare function PaginationPrevious({ className, ...props }: React.ComponentProps<typeof PaginationLink>): import("react/jsx-runtime").JSX.Element;
12
+ declare function PaginationNext({ className, ...props }: React.ComponentProps<typeof PaginationLink>): import("react/jsx-runtime").JSX.Element;
13
+ declare function PaginationEllipsis({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
14
+ export { Pagination, PaginationContent, PaginationLink, PaginationItem, PaginationPrevious, PaginationNext, PaginationEllipsis, };
15
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/misc/pagination.tsx"],"names":[],"mappings":"AAMA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,MAAM,EAAkB,MAAM,UAAU,CAAA;AAEjD,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAUvE;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAQ5B;AAED,iBAAS,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAE/D;AAED,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,MAAM,CAAC,GACnD,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,CAAA;AAEnC,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,QAAQ,EACR,IAAa,EACb,GAAG,KAAK,EACT,EAAE,mBAAmB,2CAgBrB;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,2CAY7C;AAED,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,2CAY7C;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAY9B;AAED,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,kBAAkB,GACnB,CAAA"}
@@ -0,0 +1,59 @@
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
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
+ import { cn } from "@myrjfa/state/dist/lib/utils";
25
+ import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon, } from "lucide-react";
26
+ import Link from "next/link";
27
+ import { buttonVariants } from "./button";
28
+ function Pagination(_a) {
29
+ var className = _a.className, props = __rest(_a, ["className"]);
30
+ return (_jsx("nav", __assign({ role: "navigation", "aria-label": "pagination", "data-slot": "pagination", className: cn("mx-auto flex w-full justify-center", className) }, props)));
31
+ }
32
+ function PaginationContent(_a) {
33
+ var className = _a.className, props = __rest(_a, ["className"]);
34
+ return (_jsx("ul", __assign({ "data-slot": "pagination-content", className: cn("flex flex-row items-center gap-1", className) }, props)));
35
+ }
36
+ function PaginationItem(_a) {
37
+ var props = __rest(_a, []);
38
+ return _jsx("li", __assign({ "data-slot": "pagination-item" }, props));
39
+ }
40
+ function PaginationLink(_a) {
41
+ var className = _a.className, isActive = _a.isActive, _b = _a.size, size = _b === void 0 ? "icon" : _b, props = __rest(_a, ["className", "isActive", "size"]);
42
+ return (_jsx(Link, __assign({ "aria-current": isActive ? "page" : undefined, "data-slot": "pagination-link", "data-active": isActive, className: cn(buttonVariants({
43
+ variant: isActive ? "outline" : "ghost",
44
+ size: size,
45
+ }), className) }, props)));
46
+ }
47
+ function PaginationPrevious(_a) {
48
+ var className = _a.className, props = __rest(_a, ["className"]);
49
+ return (_jsxs(PaginationLink, __assign({ "aria-label": "Go to previous page", size: "default", className: cn("gap-1 px-2.5 sm:pl-2.5", className) }, props, { children: [_jsx(ChevronLeftIcon, {}), _jsx("span", { className: "hidden sm:block", children: "Previous" })] })));
50
+ }
51
+ function PaginationNext(_a) {
52
+ var className = _a.className, props = __rest(_a, ["className"]);
53
+ return (_jsxs(PaginationLink, __assign({ "aria-label": "Go to next page", size: "default", className: cn("gap-1 px-2.5 sm:pr-2.5", className) }, props, { children: [_jsx("span", { className: "hidden sm:block", children: "Next" }), _jsx(ChevronRightIcon, {})] })));
54
+ }
55
+ function PaginationEllipsis(_a) {
56
+ var className = _a.className, props = __rest(_a, ["className"]);
57
+ return (_jsxs("span", __assign({ "aria-hidden": true, "data-slot": "pagination-ellipsis", className: cn("flex size-9 items-center justify-center", className) }, props, { children: [_jsx(MoreHorizontalIcon, { className: "size-4" }), _jsx("span", { className: "sr-only", children: "More pages" })] })));
58
+ }
59
+ export { Pagination, PaginationContent, PaginationLink, PaginationItem, PaginationPrevious, PaginationNext, PaginationEllipsis, };
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export default function PasswordEye({ showPassword, setShowPassword }: {
3
+ showPassword: boolean;
4
+ setShowPassword: React.Dispatch<React.SetStateAction<boolean>>;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=password-eye.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password-eye.d.ts","sourceRoot":"","sources":["../../src/misc/password-eye.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;CAAE,2CAa/J"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { EyeIcon, EyeOffIcon } from 'lucide-react';
3
+ import { Button } from './button';
4
+ export default function PasswordEye(_a) {
5
+ var showPassword = _a.showPassword, setShowPassword = _a.setShowPassword;
6
+ return (_jsx(Button, { type: 'button', variant: "ghost", onMouseDown: function () { return setShowPassword(function (prev) { return !prev; }); }, onTouchStart: function () { return setShowPassword(function (prev) { return !prev; }); }, onTouchEnd: function () { return setShowPassword(function (prev) { return !prev; }); }, className: "absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-500", children: showPassword ? _jsx(EyeOffIcon, {}) : _jsx(EyeIcon, {}) }));
7
+ }
@@ -0,0 +1,7 @@
1
+ import * as PopoverPrimitive from "@radix-ui/react-popover";
2
+ declare function Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
3
+ declare function PopoverTrigger({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
4
+ declare function PopoverContent({ className, align, sideOffset, ...props }: React.ComponentProps<typeof PopoverPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
5
+ declare function PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>): import("react/jsx-runtime").JSX.Element;
6
+ export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };
7
+ //# sourceMappingURL=popover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../src/misc/popover.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAA;AAI3D,iBAAS,OAAO,CAAC,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,2CAEpD;AAED,iBAAS,cAAc,CAAC,EACtB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,2CAEvD;AAED,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,KAAgB,EAChB,UAAc,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,2CAevD;AAED,iBAAS,aAAa,CAAC,EACrB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC,2CAEtD;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,CAAA"}
@@ -0,0 +1,43 @@
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
+ import { jsx as _jsx } from "react/jsx-runtime";
25
+ import * as PopoverPrimitive from "@radix-ui/react-popover";
26
+ import { cn } from "@myrjfa/state/dist/lib/utils";
27
+ function Popover(_a) {
28
+ var props = __rest(_a, []);
29
+ return _jsx(PopoverPrimitive.Root, __assign({ "data-slot": "popover" }, props));
30
+ }
31
+ function PopoverTrigger(_a) {
32
+ var props = __rest(_a, []);
33
+ return _jsx(PopoverPrimitive.Trigger, __assign({ "data-slot": "popover-trigger" }, props));
34
+ }
35
+ function PopoverContent(_a) {
36
+ var className = _a.className, _b = _a.align, align = _b === void 0 ? "center" : _b, _c = _a.sideOffset, sideOffset = _c === void 0 ? 4 : _c, props = __rest(_a, ["className", "align", "sideOffset"]);
37
+ return (_jsx(PopoverPrimitive.Portal, { children: _jsx(PopoverPrimitive.Content, __assign({ "data-slot": "popover-content", align: align, sideOffset: sideOffset, className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-full min-w-[12rem] rounded-md border p-4 shadow-md outline-hidden", className) }, props)) }));
38
+ }
39
+ function PopoverAnchor(_a) {
40
+ var props = __rest(_a, []);
41
+ return _jsx(PopoverPrimitive.Anchor, __assign({ "data-slot": "popover-anchor" }, props));
42
+ }
43
+ export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };
@@ -0,0 +1,4 @@
1
+ import * as ProgressPrimitive from "@radix-ui/react-progress";
2
+ declare function Progress({ className, value, ...props }: React.ComponentProps<typeof ProgressPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
3
+ export { Progress };
4
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/misc/progress.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAA;AAI7D,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,2CAiBrD;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -0,0 +1,31 @@
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
+ import { jsx as _jsx } from "react/jsx-runtime";
25
+ import * as ProgressPrimitive from "@radix-ui/react-progress";
26
+ import { cn } from "@myrjfa/state/dist/lib/utils";
27
+ function Progress(_a) {
28
+ var className = _a.className, value = _a.value, props = __rest(_a, ["className", "value"]);
29
+ return (_jsx(ProgressPrimitive.Root, __assign({ "data-slot": "progress", className: cn("bg-primary/20 relative h-2 w-full overflow-hidden rounded-full", className) }, props, { children: _jsx(ProgressPrimitive.Indicator, { "data-slot": "progress-indicator", className: "bg-primary h-full w-full flex-1 transition-all", style: { transform: "translateX(-".concat(100 - (value || 0), "%)") } }) })));
30
+ }
31
+ export { Progress };
@@ -0,0 +1,5 @@
1
+ import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
2
+ declare function ScrollArea({ className, children, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
3
+ declare function ScrollBar({ className, orientation, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>): import("react/jsx-runtime").JSX.Element;
4
+ export { ScrollArea, ScrollBar };
5
+ //# sourceMappingURL=scroll-area.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-area.d.ts","sourceRoot":"","sources":["../../src/misc/scroll-area.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAA;AAIlE,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC,2CAiBvD;AAED,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,WAAwB,EACxB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,mBAAmB,CAAC,2CAqBtE;AAED,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAA"}
@@ -0,0 +1,37 @@
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
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
25
+ import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
26
+ import { cn } from "@myrjfa/state/dist/lib/utils";
27
+ function ScrollArea(_a) {
28
+ var className = _a.className, children = _a.children, props = __rest(_a, ["className", "children"]);
29
+ return (_jsxs(ScrollAreaPrimitive.Root, __assign({ "data-slot": "scroll-area", className: cn("relative", className) }, props, { children: [_jsx(ScrollAreaPrimitive.Viewport, { "data-slot": "scroll-area-viewport", className: "ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1", children: children }), _jsx(ScrollBar, {}), _jsx(ScrollAreaPrimitive.Corner, {})] })));
30
+ }
31
+ function ScrollBar(_a) {
32
+ var className = _a.className, _b = _a.orientation, orientation = _b === void 0 ? "vertical" : _b, props = __rest(_a, ["className", "orientation"]);
33
+ return (_jsx(ScrollAreaPrimitive.ScrollAreaScrollbar, __assign({ "data-slot": "scroll-area-scrollbar", orientation: orientation, className: cn("flex touch-none p-px transition-colors select-none", orientation === "vertical" &&
34
+ "h-full w-2.5 border-l border-l-transparent", orientation === "horizontal" &&
35
+ "h-2.5 flex-col border-t border-t-transparent", className) }, props, { children: _jsx(ScrollAreaPrimitive.ScrollAreaThumb, { "data-slot": "scroll-area-thumb", className: "bg-border relative flex-1 rounded-full" }) })));
36
+ }
37
+ export { ScrollArea, ScrollBar };
@@ -0,0 +1,6 @@
1
+ interface SearchBarProps {
2
+ titles: string[];
3
+ }
4
+ export default function SearchBar({ titles }: SearchBarProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=searchBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchBar.d.ts","sourceRoot":"","sources":["../../src/misc/searchBar.tsx"],"names":[],"mappings":"AAOA,UAAU,cAAc;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAqID,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,cAAc,2CAM3D"}