@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,11 @@
1
+ import * as React from "react";
2
+ declare const Table: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableElement> & React.RefAttributes<HTMLTableElement>>;
3
+ declare const TableHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
4
+ declare const TableBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
5
+ declare const TableFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
6
+ declare const TableRow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableRowElement> & React.RefAttributes<HTMLTableRowElement>>;
7
+ declare const TableHead: React.ForwardRefExoticComponent<React.ThHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
8
+ declare const TableCell: React.ForwardRefExoticComponent<React.TdHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
9
+ declare const TableCaption: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableCaptionElement> & React.RefAttributes<HTMLTableCaptionElement>>;
10
+ export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, };
11
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/dashboard/table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,QAAA,MAAM,KAAK,iHAWT,CAAA;AAGF,QAAA,MAAM,WAAW,+HAKf,CAAA;AAGF,QAAA,MAAM,SAAS,+HASb,CAAA;AAGF,QAAA,MAAM,WAAW,+HASf,CAAA;AAGF,QAAA,MAAM,QAAQ,uHAYZ,CAAA;AAGF,QAAA,MAAM,SAAS,2HAYb,CAAA;AAGF,QAAA,MAAM,SAAS,2HASb,CAAA;AAGF,QAAA,MAAM,YAAY,+HAShB,CAAA;AAGF,OAAO,EACH,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,GACf,CAAA"}
@@ -0,0 +1,67 @@
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 } from "react/jsx-runtime";
24
+ // components/ui/table.tsx
25
+ import { cn } from "@myrjfa/state/dist/lib/utils";
26
+ import * as React from "react";
27
+ var Table = React.forwardRef(function (_a, ref) {
28
+ var className = _a.className, props = __rest(_a, ["className"]);
29
+ return (_jsx("div", { className: "relative w-full overflow-auto", children: _jsx("table", __assign({ ref: ref, className: cn("w-full caption-bottom text-sm", className) }, props)) }));
30
+ });
31
+ Table.displayName = "Table";
32
+ var TableHeader = React.forwardRef(function (_a, ref) {
33
+ var className = _a.className, props = __rest(_a, ["className"]);
34
+ return (_jsx("thead", __assign({ ref: ref, className: cn("[&_tr]:border-b", className) }, props)));
35
+ });
36
+ TableHeader.displayName = "TableHeader";
37
+ var TableBody = React.forwardRef(function (_a, ref) {
38
+ var className = _a.className, props = __rest(_a, ["className"]);
39
+ return (_jsx("tbody", __assign({ ref: ref, className: cn("[&_tr:last-child]:border-0", className) }, props)));
40
+ });
41
+ TableBody.displayName = "TableBody";
42
+ var TableFooter = React.forwardRef(function (_a, ref) {
43
+ var className = _a.className, props = __rest(_a, ["className"]);
44
+ return (_jsx("tfoot", __assign({ ref: ref, className: cn("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", className) }, props)));
45
+ });
46
+ TableFooter.displayName = "TableFooter";
47
+ var TableRow = React.forwardRef(function (_a, ref) {
48
+ var className = _a.className, props = __rest(_a, ["className"]);
49
+ return (_jsx("tr", __assign({ ref: ref, className: cn("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted", className) }, props)));
50
+ });
51
+ TableRow.displayName = "TableRow";
52
+ var TableHead = React.forwardRef(function (_a, ref) {
53
+ var className = _a.className, props = __rest(_a, ["className"]);
54
+ return (_jsx("th", __assign({ ref: ref, className: cn("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0", className) }, props)));
55
+ });
56
+ TableHead.displayName = "TableHead";
57
+ var TableCell = React.forwardRef(function (_a, ref) {
58
+ var className = _a.className, props = __rest(_a, ["className"]);
59
+ return (_jsx("td", __assign({ ref: ref, className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className) }, props)));
60
+ });
61
+ TableCell.displayName = "TableCell";
62
+ var TableCaption = React.forwardRef(function (_a, ref) {
63
+ var className = _a.className, props = __rest(_a, ["className"]);
64
+ return (_jsx("caption", __assign({ ref: ref, className: cn("mt-4 text-sm text-muted-foreground", className) }, props)));
65
+ });
66
+ TableCaption.displayName = "TableCaption";
67
+ export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, };
@@ -0,0 +1,9 @@
1
+ interface MobileNavItemProps {
2
+ label?: string;
3
+ href: string;
4
+ className?: string;
5
+ icon?: React.ReactNode;
6
+ }
7
+ export declare function MobileNavItem({ label, href, className, icon }: MobileNavItemProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=mobile-nav-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobile-nav-item.d.ts","sourceRoot":"","sources":["../../src/header/mobile-nav-item.tsx"],"names":[],"mappings":"AAGA,UAAU,kBAAkB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACzB;AAED,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,kBAAkB,2CAajF"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "@myrjfa/state/dist/lib/utils";
3
+ import Link from "next/link";
4
+ export function MobileNavItem(_a) {
5
+ var label = _a.label, href = _a.href, className = _a.className, icon = _a.icon;
6
+ return (_jsxs(Link, { href: href, className: cn("flex w-full cursor-pointer items-center rounded-md p-2 gap-1 font-medium text-muted-foreground hover:text-foreground", className), children: [icon && _jsx("span", { children: icon }), label] }));
7
+ }
@@ -0,0 +1,5 @@
1
+ import { ReactNode } from "react";
2
+ export declare function MobileNavbar({ children }: {
3
+ children: ReactNode;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=mobile-navbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobile-navbar.d.ts","sourceRoot":"","sources":["../../src/header/mobile-navbar.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAC;AAEvD,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAkCjE"}
@@ -0,0 +1,22 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Menu, X } from "lucide-react";
4
+ import { useEffect, useState } from "react";
5
+ export function MobileNavbar(_a) {
6
+ var children = _a.children;
7
+ var _b = useState(false), isOpen = _b[0], setIsOpen = _b[1];
8
+ useEffect(function () {
9
+ var overflow = isOpen ? "hidden" : "auto";
10
+ document.documentElement.style.overflow = overflow;
11
+ }, [isOpen]);
12
+ useEffect(function () {
13
+ var closeHamburgerNavigation = function () { return setIsOpen(false); };
14
+ window.addEventListener("orientationchange", closeHamburgerNavigation);
15
+ window.addEventListener("resize", closeHamburgerNavigation);
16
+ return function () {
17
+ window.removeEventListener("orientationchange", closeHamburgerNavigation);
18
+ window.removeEventListener("resize", closeHamburgerNavigation);
19
+ };
20
+ }, []);
21
+ return (_jsxs("div", { className: "md:hidden", children: [_jsx("button", { className: "md:hidden", onClick: function () { return setIsOpen(!isOpen); }, children: isOpen ? _jsx(X, {}) : _jsx(Menu, {}) }), isOpen && (_jsx("div", { className: "fixed inset-0 top-[50px] z-40 size-full bg-black/40 animate-in slide-in-from-bottom-24 md:hidden", onClick: function () { return setIsOpen(false); }, children: children }))] }));
22
+ }
@@ -0,0 +1,9 @@
1
+ interface NavItemProps {
2
+ label?: string;
3
+ href: string;
4
+ className?: string;
5
+ icon?: React.ReactNode;
6
+ }
7
+ export declare function NavItem({ label, href, className, icon }: NavItemProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=nav-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav-item.d.ts","sourceRoot":"","sources":["../../src/header/nav-item.tsx"],"names":[],"mappings":"AAGA,UAAU,YAAY;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACzB;AAED,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,YAAY,2CAarE"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "@myrjfa/state/dist/lib/utils";
3
+ import Link from "next/link";
4
+ export function NavItem(_a) {
5
+ var label = _a.label, href = _a.href, className = _a.className, icon = _a.icon;
6
+ return (_jsxs(Link, { href: href, className: cn("text-muted-foreground hover:text-foreground flex cursor-pointer items-center text-sm font-medium transition-colors gap-1", className), children: [icon && _jsx("span", { children: icon }), label] }));
7
+ }
@@ -0,0 +1,57 @@
1
+ export * from './misc/button';
2
+ export * from './misc/accordion';
3
+ export * from './misc/alert';
4
+ export * from './misc/alertdialogclaude';
5
+ export * from './misc/avatar';
6
+ export * from './misc/badge';
7
+ export * from './misc/carousel';
8
+ export * from './misc/checkbox';
9
+ export * from './misc/command';
10
+ export * from './misc/datepicker';
11
+ export * from './misc/dialog';
12
+ export * from './misc/dropdown-menu';
13
+ export * from './misc/faq';
14
+ export * from './misc/file-preview';
15
+ export * from './misc/filter';
16
+ export * from './misc/filterBar';
17
+ export * from './misc/form';
18
+ export * from './misc/input';
19
+ export * from './misc/label';
20
+ export * from './misc/line-carousel';
21
+ export * from './misc/newsLetter';
22
+ export * from './misc/notification';
23
+ export * from './misc/pagination';
24
+ export * from './misc/password-eye';
25
+ export * from './misc/popover';
26
+ export * from './misc/progress';
27
+ export * from './misc/scroll-area';
28
+ export * from './misc/searchBar';
29
+ export * from './misc/searchBox';
30
+ export * from './misc/select';
31
+ export * from './misc/separator';
32
+ export * from './misc/share';
33
+ export * from './misc/sheet';
34
+ export * from './misc/sidebar';
35
+ export * from './misc/skeleton';
36
+ export * from './misc/starRating';
37
+ export * from './misc/stateCard';
38
+ export * from './misc/tabs';
39
+ export * from './misc/textarea';
40
+ export * from './misc/tile';
41
+ export * from './misc/tooltip';
42
+ export * from './dashboard/action-buttons';
43
+ export * from './dashboard/app-sidebar';
44
+ export * from './dashboard/card-header';
45
+ export * from './dashboard/dashboard-components';
46
+ export * from './dashboard/data-table';
47
+ export * from './dashboard/nav-main';
48
+ export * from './dashboard/nav-secondary';
49
+ export * from './dashboard/table';
50
+ export * from './header/mobile-nav-item';
51
+ export * from './header/mobile-navbar';
52
+ export * from './header/nav-item';
53
+ export * from './main/footer';
54
+ export * from './main/navbar';
55
+ export * from './main/paginationBar';
56
+ export * from './main/review-page';
57
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,57 @@
1
+ // Export all your shared UI components
2
+ export * from './misc/button';
3
+ export * from './misc/accordion';
4
+ export * from './misc/alert';
5
+ export * from './misc/alertdialogclaude';
6
+ export * from './misc/avatar';
7
+ export * from './misc/badge';
8
+ export * from './misc/carousel';
9
+ export * from './misc/checkbox';
10
+ export * from './misc/command';
11
+ export * from './misc/datepicker';
12
+ export * from './misc/dialog';
13
+ export * from './misc/dropdown-menu';
14
+ export * from './misc/faq';
15
+ export * from './misc/file-preview';
16
+ export * from './misc/filter';
17
+ export * from './misc/filterBar';
18
+ export * from './misc/form';
19
+ export * from './misc/input';
20
+ export * from './misc/label';
21
+ export * from './misc/line-carousel';
22
+ export * from './misc/newsLetter';
23
+ export * from './misc/notification';
24
+ export * from './misc/pagination';
25
+ export * from './misc/password-eye';
26
+ export * from './misc/popover';
27
+ export * from './misc/progress';
28
+ export * from './misc/scroll-area';
29
+ export * from './misc/searchBar';
30
+ export * from './misc/searchBox';
31
+ export * from './misc/select';
32
+ export * from './misc/separator';
33
+ export * from './misc/share';
34
+ export * from './misc/sheet';
35
+ export * from './misc/sidebar';
36
+ export * from './misc/skeleton';
37
+ export * from './misc/starRating';
38
+ export * from './misc/stateCard';
39
+ export * from './misc/tabs';
40
+ export * from './misc/textarea';
41
+ export * from './misc/tile';
42
+ export * from './misc/tooltip';
43
+ export * from './dashboard/action-buttons';
44
+ export * from './dashboard/app-sidebar';
45
+ export * from './dashboard/card-header';
46
+ export * from './dashboard/dashboard-components';
47
+ export * from './dashboard/data-table';
48
+ export * from './dashboard/nav-main';
49
+ export * from './dashboard/nav-secondary';
50
+ export * from './dashboard/table';
51
+ export * from './header/mobile-nav-item';
52
+ export * from './header/mobile-navbar';
53
+ export * from './header/nav-item';
54
+ export * from './main/footer';
55
+ export * from './main/navbar';
56
+ export * from './main/paginationBar';
57
+ export * from './main/review-page';
@@ -0,0 +1,6 @@
1
+ interface FooterProps {
2
+ dark?: boolean;
3
+ }
4
+ declare const Footer: ({ dark }: FooterProps) => import("react/jsx-runtime").JSX.Element;
5
+ export default Footer;
6
+ //# sourceMappingURL=footer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../src/main/footer.tsx"],"names":[],"mappings":"AAOA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA8BD,QAAA,MAAM,MAAM,GAAI,UAAkB,WAAW,4CA2E5C,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Icon } from "@iconify/react";
3
+ import { Mail } from "lucide-react";
4
+ import Link from "next/link";
5
+ import { Card } from "../misc/card";
6
+ import NewsletterSubscribe from "../misc/newsLetter";
7
+ import { Separator } from "../misc/separator";
8
+ var footerItems = [
9
+ {
10
+ "title": "Company",
11
+ "fields": {
12
+ "About Us": "/about",
13
+ "Contact": "/contact",
14
+ "FAQs": "/#faq"
15
+ }
16
+ },
17
+ {
18
+ "title": "Services",
19
+ "fields": {
20
+ "Opportunities": "/opportunities",
21
+ "Packages": "/packages",
22
+ "Blogs": "/blogs"
23
+ }
24
+ },
25
+ {
26
+ "title": "Legal",
27
+ "fields": {
28
+ "Privacy Policy": "/privacy",
29
+ "Terms of Service": "/terms",
30
+ "Security": "/security"
31
+ }
32
+ }
33
+ ];
34
+ var Footer = function (_a) {
35
+ var _b = _a.dark, dark = _b === void 0 ? false : _b;
36
+ var theme = dark
37
+ ? "bg-foreground text-muted border-border"
38
+ : "bg-background text-muted-foreground border-border";
39
+ var iconColor = dark
40
+ ? "text-muted hover:text-white"
41
+ : "text-muted-foreground hover:text-foreground";
42
+ return (_jsxs("footer", { className: "h-full md:-mt-20", children: [_jsx("div", { className: "w-full px-6 my-5 md:translate-y-5/8 md:px-12 md:mb-5", children: _jsx(Card, { className: "relative bg-muted p-6 rounded-lg shadow-md mx-auto w-4/5 flex flex-col md:flex-row items-center justify-between gap-6 md:p-10", children: _jsxs("div", { className: "flex-1 text-center md:text-left", children: [_jsx("h3", { className: "text-2xl font-bold text-foreground", children: "Subscribe Newsletter" }), _jsx("p", { className: "text-sm text-muted-foreground mt-1", children: "Get inspired! Receive travel discounts, tips, and behind-the-scenes stories." }), _jsx(NewsletterSubscribe, {})] }) }) }), _jsxs("div", { className: "w-full border-t ".concat(theme, " pb-10 pt-10 sm:pt-30 md:pt-30"), children: [_jsxs("div", { className: "container mx-auto px-6 md:px-12 grid grid-cols-2 gap-10 md:grid-cols-5", children: [_jsxs("div", { className: "col-span-2", children: [_jsx("div", { className: "text-2xl font-semibold mb-4", children: "TrippEaze" }), _jsx("p", { className: "text-sm mb-4", children: "Your trusted travel partner for seamless adventures." }), _jsxs("div", { className: "flex gap-4", children: [_jsx("a", { href: "https://www.instagram.com/trippeaze/", target: "_blank", rel: "noopener noreferrer", className: "transition-colors ".concat(iconColor), children: _jsx(Icon, { icon: "mdi:instagram", className: "w-5 h-5" }) }), _jsx("a", { href: "https://wa.me/918482944029", target: "_blank", rel: "noopener noreferrer", className: "transition-colors ".concat(iconColor), children: _jsx(Icon, { icon: "mdi:whatsapp", className: "w-5 h-5" }) }), _jsx("a", { href: "https://www.youtube.com/@TrippEaze", target: "_blank", rel: "noopener noreferrer", className: "transition-colors ".concat(iconColor), children: _jsx(Icon, { icon: "mdi:youtube", className: "w-5 h-5" }) }), _jsx("a", { href: "https://www.facebook.com/profile.php?id=61576541488437", target: "_blank", rel: "noopener noreferrer", className: "transition-colors ".concat(iconColor), children: _jsx(Icon, { icon: "mdi:facebook", className: "w-5 h-5" }) }), _jsx("a", { href: "mailto:contact@trippeaze.com", className: "transition-colors ".concat(iconColor), children: _jsx(Mail, { className: "w-5 h-5" }) })] })] }), footerItems.map(function (section) { return (_jsxs("div", { children: [_jsx("h4", { className: "text-lg font-medium ".concat(iconColor, " mb-3"), children: section.title }), _jsx("nav", { className: "flex flex-col gap-2 text-sm", children: Object.entries(section.fields).map(function (_a) {
43
+ var label = _a[0], href = _a[1];
44
+ return (_jsx(Link, { href: href, className: "hover:text-foreground transition-colors", children: label }, label));
45
+ }) })] }, section.title)); })] }), _jsxs("div", { className: "w-full mt-10", children: [_jsx(Separator, {}), _jsxs("p", { className: "text-xs text-muted-foreground text-center mt-4", children: ["\u00A9 ", new Date().getFullYear(), " TrippEaze. All rights reserved."] })] })] })] }));
46
+ };
47
+ export default Footer;
@@ -0,0 +1,6 @@
1
+ interface NavbarProps {
2
+ dark?: boolean;
3
+ }
4
+ export default function Navbar({ dark }: NavbarProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=navbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navbar.d.ts","sourceRoot":"","sources":["../../src/main/navbar.tsx"],"names":[],"mappings":"AAmBA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAAE,IAAY,EAAE,EAAE,WAAW,2CAoN3D"}
@@ -0,0 +1,180 @@
1
+ 'use client';
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ 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);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
39
+ import { Popover, PopoverContent, PopoverTrigger } from "@radix-ui/react-popover";
40
+ import { Separator } from "@radix-ui/react-separator";
41
+ import { logoutUser } from "@myrjfa/state/dist/lib/auth";
42
+ import { isLoggedInAtom, userAtom, userLoadingAtom } from "@myrjfa/state/dist/lib/userAtom";
43
+ import { useAtom, useAtomValue } from "jotai";
44
+ import { Globe, Heart, LayoutDashboardIcon, Store, Target, Luggage } from "lucide-react";
45
+ import Link from "next/link";
46
+ import { useRouter } from "next/navigation";
47
+ import { useEffect, useState } from "react";
48
+ import { MobileNavItem } from "../header/mobile-nav-item";
49
+ import { MobileNavbar } from "../header/mobile-navbar";
50
+ import { NavItem } from "../header/nav-item";
51
+ import { showAlert } from "../misc/alertdialogclaude";
52
+ import { Avatar, AvatarFallback, AvatarImage } from "../misc/avatar";
53
+ import { Button } from "../misc/button";
54
+ import { Label } from "../misc/label";
55
+ import { MobileNotificationBell, NotificationBell } from "../misc/notification";
56
+ export default function Navbar(_a) {
57
+ var _this = this;
58
+ var _b, _c, _d;
59
+ var _e = _a.dark, dark = _e === void 0 ? false : _e;
60
+ var router = useRouter();
61
+ var _f = useAtom(userAtom), currentUser = _f[0], setCurrentUser = _f[1];
62
+ var loading = useAtomValue(userLoadingAtom);
63
+ var _g = useAtom(isLoggedInAtom), isLoggedIn = _g[0], setIsLoggedIn = _g[1];
64
+ var _h = useState(false), scrolled = _h[0], setScrolled = _h[1];
65
+ useEffect(function () {
66
+ var handleScroll = function () {
67
+ var isScrolled = window.scrollY > 10;
68
+ if (isScrolled !== scrolled) {
69
+ setScrolled(isScrolled);
70
+ }
71
+ };
72
+ window.addEventListener("scroll", handleScroll);
73
+ return function () {
74
+ window.removeEventListener("scroll", handleScroll);
75
+ };
76
+ }, [scrolled]);
77
+ if (loading)
78
+ return _jsx("div", { className: "w-full h-screen flex items-center justify-center", children: "Loading..." });
79
+ var logout = function () { return __awaiter(_this, void 0, void 0, function () {
80
+ var role, response;
81
+ var _a;
82
+ return __generator(this, function (_b) {
83
+ switch (_b.label) {
84
+ case 0:
85
+ role = (currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) || "user";
86
+ setCurrentUser(null);
87
+ setIsLoggedIn(false);
88
+ return [4 /*yield*/, logoutUser(role)];
89
+ case 1:
90
+ response = _b.sent();
91
+ if (!(response === null || response === void 0 ? void 0 : response.error)) return [3 /*break*/, 3];
92
+ return [4 /*yield*/, showAlert(response.error)];
93
+ case 2:
94
+ _b.sent();
95
+ return [3 /*break*/, 5];
96
+ case 3: return [4 /*yield*/, showAlert((_a = response.message) !== null && _a !== void 0 ? _a : "Logged out successfully")];
97
+ case 4:
98
+ _b.sent();
99
+ _b.label = 5;
100
+ case 5: return [2 /*return*/];
101
+ }
102
+ });
103
+ }); };
104
+ var navbarBg = scrolled || window.scrollY > 10
105
+ ? dark
106
+ ? "bg-foreground/50 backdrop-blur-md"
107
+ : "bg-background/50 backdrop-blur-md"
108
+ : "bg-transparent";
109
+ var navbarBorder = scrolled || window.scrollY > 10 ? "border-b border-border/30 shadow-lg" : "";
110
+ var textColor = dark ? "text-gray-200" : "text-foreground";
111
+ var navItemColor = dark
112
+ ? "hover:text-white text-gray-250"
113
+ : "hover:text-foreground text-gray-750";
114
+ return (_jsx("header", { className: "fixed top-0 left-0 z-[100] mx-auto transition-all duration-300 w-full ".concat(navbarBg, " ").concat(textColor, " ").concat(navbarBorder), children: _jsxs("div", { className: "mx-auto flex items-center justify-between gap-10 py-4 px-4 lg:px-8", children: [_jsxs(Link, { href: "/", className: "flex items-center gap-3", children: [_jsxs(Avatar, { className: "ml-2 -mr-4.5", children: [_jsx(AvatarImage, { src: "/images/logoicon.webp" }), _jsxs(AvatarFallback, { children: [(currentUser === null || currentUser === void 0 ? void 0 : currentUser.firstName.charAt(0)) || "D", (currentUser === null || currentUser === void 0 ? void 0 : currentUser.lastName.charAt(0)) || "P"] })] }), _jsx("span", { className: "font-heading text-xl font-bold", children: "rippeaze" })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("nav", { className: "hidden md:flex items-center gap-10 justify-end", children: [_jsx(NavItem, { icon: _jsx(Target, { className: "h-5 w-5" }), label: "Opportunities", href: "/opportunities", className: navItemColor }), _jsx(NavItem, { icon: _jsx(Luggage, { className: "h-5 w-5" }), label: "Packages", href: "/packages", className: navItemColor }), _jsx(NavItem, { icon: _jsx(Globe, { className: "h-5 w-5" }), label: "Blogs", href: "/blogs", className: navItemColor }), currentUser ? _jsx(NavItem, { icon: _jsx(Store, { className: "h-5 w-5" }), label: "Become a Partner", href: "/contact", className: navItemColor })
115
+ : _jsx(NavItem, { icon: _jsx(Store, { className: "h-5 w-5" }), label: "Register as Business", href: "/auth/register?role=host", className: navItemColor }), isLoggedIn && _jsx(NotificationBell, { id: (_b = currentUser === null || currentUser === void 0 ? void 0 : currentUser.username) !== null && _b !== void 0 ? _b : null, navItemColor: navItemColor })] }), _jsx("div", { className: "hidden md:flex items-center gap-2", children: _jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { variant: "link", className: "flex w-full gap-1 cursor-pointer", children: _jsxs(Avatar, { className: "ml-5 mr-4.5", children: [_jsx(AvatarImage, { src: (_c = currentUser === null || currentUser === void 0 ? void 0 : currentUser.profilePic) !== null && _c !== void 0 ? _c : "/images/profile_placeholder.webp" }), _jsxs(AvatarFallback, { children: [(currentUser === null || currentUser === void 0 ? void 0 : currentUser.firstName.charAt(0)) || "D", (currentUser === null || currentUser === void 0 ? void 0 : currentUser.lastName.charAt(0)) || "P"] })] }) }) }), _jsx(PopoverContent, { className: "w-full p-0 mt-3 bg-".concat(dark ? "primary" : "white", " rounded-lg shadow-lg"), align: "end", sideOffset: 5, children: _jsxs("div", { className: "py-2 w-full", children: [_jsxs("div", { className: "px-4 py-3 border-b w-full", children: [_jsx("p", { className: "text-sm font-medium", children: (currentUser === null || currentUser === void 0 ? void 0 : currentUser.username) || "Guest" }), _jsx("p", { className: "text-xs text-gray-500", children: (currentUser === null || currentUser === void 0 ? void 0 : currentUser.email) || "user@example.com" })] }), _jsxs("div", { className: "flex flex-col", children: [isLoggedIn ?
116
+ _jsxs(Link, { href: "/profile/".concat((currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) || "user", "/").concat((currentUser === null || currentUser === void 0 ? void 0 : currentUser.username) || "Guest"), className: "w-full py-2 px-4 text-sm text-gray-700 hover:bg-gray-100 flex items-center gap-2", children: [_jsxs(Avatar, { className: "w-4 h-4", children: [_jsx(AvatarImage, { src: (_d = currentUser === null || currentUser === void 0 ? void 0 : currentUser.profilePic) !== null && _d !== void 0 ? _d : "/images/profile_placeholder.webp" }), _jsx(AvatarFallback, { children: "U" })] }), "Profile"] }) :
117
+ _jsxs(Button, { variant: "ghost", onClick: function () { return router.push('/auth/login?role=user'); }, className: "w-full py-2 px-4 text-sm text-gray-700 hover:bg-gray-100 flex items-center gap-2 justify-start", children: [_jsxs(Avatar, { className: "w-4 h-4", children: [_jsx(AvatarImage, { src: "/images/profile_placeholder.webp" }), _jsx(AvatarFallback, { children: "U" })] }), "Login As Volunteer"] }), isLoggedIn && _jsxs(Link, { href: "/overview/".concat((currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) || 'user'), className: "w-full py-2 px-4 text-sm text-gray-700 hover:bg-gray-100 flex items-center gap-2", children: [_jsx(LayoutDashboardIcon, { className: "h-4 w-4" }), "Dashboard"] }), isLoggedIn && ((currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) === "user" || (currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) == null) &&
118
+ _jsxs(Link, { href: "/opportunities/favourites", className: "w-full py-2 px-4 text-sm text-gray-700 hover:bg-gray-100 flex items-center gap-2", children: [_jsx(Heart, { className: "h-4 w-4" }), "Favourites"] }), (currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) === "host" ?
119
+ _jsxs(Button, { variant: "ghost", onClick: function () { return __awaiter(_this, void 0, void 0, function () {
120
+ return __generator(this, function (_a) {
121
+ switch (_a.label) {
122
+ case 0: return [4 /*yield*/, logout()];
123
+ case 1:
124
+ _a.sent();
125
+ router.push('/auth/login?role=user');
126
+ return [2 /*return*/];
127
+ }
128
+ });
129
+ }); }, className: "w-full py-2 px-4 text-sm text-gray-700 hover:bg-gray-100 flex items-center gap-2 justify-start", children: [_jsxs(Avatar, { className: "w-4 h-4", children: [_jsx(AvatarImage, { src: "/images/profile_placeholder.webp" }), _jsx(AvatarFallback, { children: "U" })] }), "Login As Volunteer"] })
130
+ :
131
+ _jsxs(Button, { variant: "ghost", onClick: function () { return __awaiter(_this, void 0, void 0, function () {
132
+ return __generator(this, function (_a) {
133
+ switch (_a.label) {
134
+ case 0:
135
+ if (!isLoggedIn) return [3 /*break*/, 2];
136
+ return [4 /*yield*/, logout()];
137
+ case 1:
138
+ _a.sent();
139
+ _a.label = 2;
140
+ case 2:
141
+ router.push('/auth/login?role=host');
142
+ return [2 /*return*/];
143
+ }
144
+ });
145
+ }); }, className: "w-full py-2 px-4 text-sm text-gray-700 hover:bg-gray-100 flex items-center gap-2 justify-start", children: [_jsxs(Avatar, { className: "w-4 h-4", children: [_jsx(AvatarImage, { src: "/images/profile_placeholder.webp" }), _jsx(AvatarFallback, { children: "H" })] }), "Login As Business"] }), _jsx(Separator, { className: "my-1" }), isLoggedIn && _jsx(Button, { variant: "outline", className: "py-2 mx-2 text-sm text-gray-700 hover:bg-gray-100 justify-center cursor-pointer", onClick: function () {
146
+ logout();
147
+ }, children: "Sign out" })] })] }) })] }) })] }), _jsx(MobileNavbar, { children: _jsx("div", { className: "rounded-b-lg py-4 px-4 shadow-xl ".concat("bg-background", " ").concat(textColor), children: _jsxs("nav", { className: "flex flex-col gap-1 pt-2", children: [_jsx(MobileNavItem, { icon: _jsx(Target, { className: "h-5 w-5" }), label: "Opportunities", href: "/opportunities" }), _jsx(MobileNavItem, { icon: _jsx(Luggage, { className: "h-5 w-5" }), label: "Packages", href: "/packages" }), _jsx(MobileNavItem, { icon: _jsx(Globe, { className: "h-5 w-5" }), label: "Blogs", href: "/blogs" }), currentUser ? _jsx(MobileNavItem, { icon: _jsx(Store, { className: "h-5 w-5" }), label: "Become a Partner", href: "/contact" }) :
148
+ _jsx(MobileNavItem, { icon: _jsx(Store, { className: "h-5 w-5" }), label: "Register as Business", href: "/auth/register?role=host" }), isLoggedIn && _jsx(MobileNotificationBell, {}), isLoggedIn && _jsx(MobileNavItem, { icon: _jsx(LayoutDashboardIcon, { className: "h-5 w-5" }), label: "Dashboard", href: "/overview/".concat((currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) || 'user'), className: "md:hidden" }), isLoggedIn && ((currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) === "user" || (currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) == null) &&
149
+ _jsx(MobileNavItem, { icon: _jsx(Heart, { className: "h-5 w-5" }), label: "Favourites", href: "/opportunities/favourites", className: "md:hidden" }), isLoggedIn ? _jsxs(Link, { href: "/profile/".concat((currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) || "user", "/").concat((currentUser === null || currentUser === void 0 ? void 0 : currentUser.username) || "Guest"), className: "flex w-full gap-1 cursor-pointer my-2", children: [_jsxs(Avatar, { className: "w-5 h-5 ml-2", children: [_jsx(AvatarImage, { src: (currentUser === null || currentUser === void 0 ? void 0 : currentUser.profilePic) || "/images/profile_placeholder.webp" }), _jsx(AvatarFallback, { children: "DP" })] }), _jsx(Label, { htmlFor: "username", className: "cursor-pointer text-muted-foreground hover:text-foreground", children: (currentUser === null || currentUser === void 0 ? void 0 : currentUser.username) || "Guest" })] }) :
150
+ _jsxs(Link, { href: "/auth/login", className: "flex w-full gap-1 cursor-pointer my-2", children: [_jsxs(Avatar, { className: "w-5 h-5 ml-2", children: [_jsx(AvatarImage, { src: "/images/profile_placeholder.webp" }), _jsx(AvatarFallback, { children: "U" })] }), _jsx(Label, { htmlFor: "username", className: "cursor-pointer text-muted-foreground hover:text-foreground", children: "Login As Volunteer" })] }), (currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) === "host" ?
151
+ _jsxs(Button, { variant: "ghost", onClick: function () { return __awaiter(_this, void 0, void 0, function () {
152
+ return __generator(this, function (_a) {
153
+ switch (_a.label) {
154
+ case 0: return [4 /*yield*/, logout()];
155
+ case 1:
156
+ _a.sent();
157
+ router.push('/auth/login?role=user');
158
+ return [2 /*return*/];
159
+ }
160
+ });
161
+ }); }, className: "w-full text-md text-gray-500 flex gap-1 justify-start", children: [_jsxs(Avatar, { className: "w-5 h-5 -ml-2", children: [_jsx(AvatarImage, { src: "/images/profile_placeholder.webp" }), _jsx(AvatarFallback, { children: "U" })] }), "Login As Volunteer"] })
162
+ :
163
+ _jsxs(Button, { variant: "ghost", onClick: function () { return __awaiter(_this, void 0, void 0, function () {
164
+ return __generator(this, function (_a) {
165
+ switch (_a.label) {
166
+ case 0:
167
+ if (!isLoggedIn) return [3 /*break*/, 2];
168
+ return [4 /*yield*/, logout()];
169
+ case 1:
170
+ _a.sent();
171
+ _a.label = 2;
172
+ case 2:
173
+ router.push('/auth/login?role=host');
174
+ return [2 /*return*/];
175
+ }
176
+ });
177
+ }); }, className: "w-full text-md text-gray-500 flex gap-1 justify-start", children: [_jsxs(Avatar, { className: "w-5 h-5 -ml-2", children: [_jsx(AvatarImage, { src: "/images/profile_placeholder.webp" }), _jsx(AvatarFallback, { children: "H" })] }), "Login As Business"] }), isLoggedIn && _jsx(Button, { variant: "outline", className: "py-2 mx-2 text-sm text-gray-700 hover:bg-gray-100 justify-center cursor-pointer", onClick: function () {
178
+ logout();
179
+ }, children: "Sign out" })] }) }) })] }) }));
180
+ }
@@ -0,0 +1,5 @@
1
+ export default function PaginationBar({ currentPage, totalPages }: {
2
+ currentPage: number;
3
+ totalPages: number;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=paginationBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paginationBar.d.ts","sourceRoot":"","sources":["../../src/main/paginationBar.tsx"],"names":[],"mappings":"AAkEA,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAClC,WAAW,EACX,UAAU,EACb,EAAE;IACC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACtB,2CASA"}
@@ -0,0 +1,30 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { usePathname, useSearchParams } from "next/navigation";
4
+ import { Suspense } from "react";
5
+ import { Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious } from "../misc/pagination";
6
+ function PaginationBarComponent(_a) {
7
+ var currentPage = _a.currentPage, totalPages = _a.totalPages;
8
+ var searchParams = useSearchParams();
9
+ var pathname = usePathname();
10
+ function createPageURL(page) {
11
+ var params = new URLSearchParams(searchParams);
12
+ params.set('page', page.toString());
13
+ return "".concat(pathname, "?").concat(params.toString());
14
+ }
15
+ var maxVisible = 5;
16
+ var half = Math.floor(maxVisible / 2);
17
+ var start = Math.max(1, currentPage - half);
18
+ var end = Math.min(totalPages, start + maxVisible - 1);
19
+ if (end - start < maxVisible - 1) {
20
+ start = Math.max(1, end - maxVisible + 1);
21
+ }
22
+ return (_jsx(Pagination, { children: _jsxs(PaginationContent, { children: [currentPage > 1 && (_jsx(PaginationItem, { children: _jsx(PaginationPrevious, { href: createPageURL(currentPage - 1) }) })), Array.from({ length: end - start + 1 }, function (_, i) {
23
+ var page = start + i;
24
+ return (_jsx(PaginationItem, { children: _jsx(PaginationLink, { href: createPageURL(page), isActive: page === currentPage, children: page }) }, page));
25
+ }), currentPage < totalPages && (_jsx(PaginationItem, { children: _jsx(PaginationNext, { href: createPageURL(currentPage + 1) }) }))] }) }));
26
+ }
27
+ export default function PaginationBar(_a) {
28
+ var currentPage = _a.currentPage, totalPages = _a.totalPages;
29
+ return (_jsx(Suspense, { fallback: _jsx("div", { className: "w-full h-screen flex items-center justify-center", children: "Loading..." }), children: _jsx(PaginationBarComponent, { currentPage: currentPage, totalPages: totalPages }) }));
30
+ }
@@ -0,0 +1,13 @@
1
+ import { Review } from "@myrjfa/state/dist/lib/models/review";
2
+ interface ReviewPageProps {
3
+ title?: string;
4
+ subtitle?: string;
5
+ targetId: string;
6
+ targetType?: "user" | "opportunity" | "package" | "host" | "blog";
7
+ editable?: boolean;
8
+ initialReviews?: Review[];
9
+ reviewCategory?: "review" | "comment";
10
+ }
11
+ export default function ReviewPage({ title, subtitle, targetId, targetType, editable, initialReviews, reviewCategory, }: ReviewPageProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=review-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-page.d.ts","sourceRoot":"","sources":["../../src/main/review-page.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAiC,MAAM,sCAAsC,CAAC;AAoD7F,UAAU,eAAe;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAC/B,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,UAA0B,EAC1B,QAAgB,EAChB,cAAmB,EACnB,cAAyB,GAC5B,EAAE,eAAe,2CAsNjB"}