@myrjfa/ui 1.1.2 → 2.0.1

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 (175) hide show
  1. package/dist/chat/ChatMain.d.ts +2 -4
  2. package/dist/chat/ChatMain.d.ts.map +1 -1
  3. package/dist/chat/ChatMain.js +4 -5
  4. package/dist/chat/ChatSidebar.d.ts +1 -1
  5. package/dist/chat/ChatSidebar.d.ts.map +1 -1
  6. package/dist/chat/ConversationList.d.ts +1 -1
  7. package/dist/chat/ConversationList.d.ts.map +1 -1
  8. package/dist/chat/ConversationList.js +1 -1
  9. package/dist/chat/ExpensePanel.js +1 -1
  10. package/dist/chat/MessageBubble.d.ts +1 -1
  11. package/dist/chat/MessageBubble.d.ts.map +1 -1
  12. package/dist/chat/MessageBubble.js +1 -1
  13. package/dist/chat/MessageInput.d.ts +1 -1
  14. package/dist/chat/MessageInput.d.ts.map +1 -1
  15. package/dist/chat/MessageInput.js +1 -1
  16. package/dist/chat/MilestonePanel.js +1 -1
  17. package/dist/chat/components/ParticipantSelector.d.ts +1 -1
  18. package/dist/chat/components/ParticipantSelector.d.ts.map +1 -1
  19. package/dist/chat/components/SplitInputs.d.ts +1 -1
  20. package/dist/chat/components/SplitInputs.d.ts.map +1 -1
  21. package/dist/chat/components/SplitTypeSelector.d.ts +1 -1
  22. package/dist/chat/components/SplitTypeSelector.d.ts.map +1 -1
  23. package/dist/chat/dialogs/AddMemberDialog.d.ts +1 -1
  24. package/dist/chat/dialogs/AddMemberDialog.d.ts.map +1 -1
  25. package/dist/chat/dialogs/AddMemberDialog.js +1 -1
  26. package/dist/chat/dialogs/ExpenseAnalyticsDialog.js +1 -1
  27. package/dist/chat/dialogs/GroupInfoDialog.d.ts +1 -1
  28. package/dist/chat/dialogs/GroupInfoDialog.d.ts.map +1 -1
  29. package/dist/chat/dialogs/GroupInfoDialog.js +1 -1
  30. package/dist/chat/dialogs/GroupInfoViewDialog.d.ts +1 -1
  31. package/dist/chat/dialogs/GroupInfoViewDialog.d.ts.map +1 -1
  32. package/dist/chat/dialogs/NewChatDialog.js +2 -2
  33. package/dist/chat/dialogs/NewGroupDialog.js +2 -2
  34. package/dist/chat/dialogs/ParticipantsDialog.d.ts +1 -1
  35. package/dist/chat/dialogs/ParticipantsDialog.d.ts.map +1 -1
  36. package/dist/chat/dialogs/ParticipantsDialog.js +1 -1
  37. package/dist/dashboard/action-buttons.d.ts.map +1 -1
  38. package/dist/dashboard/action-buttons.js +7 -1
  39. package/dist/dashboard/app-sidebar.d.ts.map +1 -1
  40. package/dist/dashboard/app-sidebar.js +9 -4
  41. package/dist/dashboard/card-header.d.ts +1 -1
  42. package/dist/dashboard/card-header.d.ts.map +1 -1
  43. package/dist/dashboard/card-header.js +1 -1
  44. package/dist/dashboard/dashboard-components.js +1 -1
  45. package/dist/dashboard/data-table.d.ts +1 -2
  46. package/dist/dashboard/data-table.d.ts.map +1 -1
  47. package/dist/dashboard/data-table.js +11 -11
  48. package/dist/dashboard/table.js +1 -1
  49. package/dist/header/mobile-nav-item.js +1 -1
  50. package/dist/header/nav-item.js +1 -1
  51. package/dist/index.d.ts +3 -7
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +4 -8
  54. package/dist/main/footer.d.ts +1 -0
  55. package/dist/main/footer.d.ts.map +1 -1
  56. package/dist/main/footer.js +35 -16
  57. package/dist/main/navbar.d.ts +2 -2
  58. package/dist/main/navbar.d.ts.map +1 -1
  59. package/dist/main/navbar.js +24 -18
  60. package/dist/main/paginationBar.d.ts +1 -1
  61. package/dist/main/paginationBar.d.ts.map +1 -1
  62. package/dist/main/paginationBar.js +1 -1
  63. package/dist/main/portfolio/portfolioItem.d.ts +1 -1
  64. package/dist/main/portfolio/portfolioItem.d.ts.map +1 -1
  65. package/dist/main/portfolio/portfolioPopup.d.ts +1 -1
  66. package/dist/main/portfolio/portfolioPopup.d.ts.map +1 -1
  67. package/dist/main/portfolio/portfolioPopup.js +1 -1
  68. package/dist/main/review-page.d.ts +2 -2
  69. package/dist/main/review-page.d.ts.map +1 -1
  70. package/dist/main/review-page.js +10 -50
  71. package/dist/misc/accordion.js +1 -1
  72. package/dist/misc/alert-dialog.js +1 -1
  73. package/dist/misc/alert.js +1 -1
  74. package/dist/misc/alertdialogclaude.js +1 -1
  75. package/dist/misc/avatar.js +1 -1
  76. package/dist/misc/badge.js +1 -1
  77. package/dist/misc/button.js +1 -1
  78. package/dist/misc/card.js +1 -1
  79. package/dist/misc/carousel.js +1 -1
  80. package/dist/misc/checkbox.js +1 -1
  81. package/dist/misc/command.js +2 -2
  82. package/dist/misc/datepicker.d.ts.map +1 -1
  83. package/dist/misc/datepicker.js +22 -4
  84. package/dist/misc/dialog.js +1 -1
  85. package/dist/misc/dropdown-menu.js +1 -1
  86. package/dist/misc/faq.d.ts +2 -2
  87. package/dist/misc/faq.d.ts.map +1 -1
  88. package/dist/misc/faq.js +1 -1
  89. package/dist/misc/file-preview.d.ts +1 -1
  90. package/dist/misc/file-preview.d.ts.map +1 -1
  91. package/dist/misc/file-preview.js +1 -1
  92. package/dist/misc/filter.d.ts +1 -1
  93. package/dist/misc/filter.d.ts.map +1 -1
  94. package/dist/misc/filter.js +3 -3
  95. package/dist/misc/filterBar.d.ts +2 -2
  96. package/dist/misc/filterBar.d.ts.map +1 -1
  97. package/dist/misc/filterBar.js +3 -3
  98. package/dist/misc/form.js +1 -1
  99. package/dist/misc/input.d.ts.map +1 -1
  100. package/dist/misc/input.js +2 -2
  101. package/dist/misc/label.js +1 -1
  102. package/dist/misc/line-carousel.d.ts +1 -1
  103. package/dist/misc/line-carousel.d.ts.map +1 -1
  104. package/dist/misc/line-carousel.js +1 -1
  105. package/dist/misc/location/leafletMap.d.ts +8 -0
  106. package/dist/misc/location/leafletMap.d.ts.map +1 -0
  107. package/dist/misc/location/leafletMap.js +62 -0
  108. package/dist/misc/location/locationPicker.d.ts +5 -0
  109. package/dist/misc/location/locationPicker.d.ts.map +1 -0
  110. package/dist/misc/location/locationPicker.js +94 -0
  111. package/dist/misc/multiImageUploader.d.ts +1 -2
  112. package/dist/misc/multiImageUploader.d.ts.map +1 -1
  113. package/dist/misc/multiImageUploader.js +2 -26
  114. package/dist/misc/newsLetter.d.ts +1 -1
  115. package/dist/misc/newsLetter.d.ts.map +1 -1
  116. package/dist/misc/newsLetter.js +2 -2
  117. package/dist/misc/notification.js +2 -2
  118. package/dist/misc/pagination.js +1 -1
  119. package/dist/misc/password-eye.d.ts +2 -1
  120. package/dist/misc/password-eye.d.ts.map +1 -1
  121. package/dist/misc/password-eye.js +2 -1
  122. package/dist/misc/popover.d.ts.map +1 -1
  123. package/dist/misc/popover.js +2 -2
  124. package/dist/misc/progress.js +1 -1
  125. package/dist/misc/rental-tile.d.ts +6 -0
  126. package/dist/misc/rental-tile.d.ts.map +1 -0
  127. package/dist/misc/rental-tile.js +23 -0
  128. package/dist/misc/scroll-area.js +1 -1
  129. package/dist/misc/searchBar.d.ts +1 -1
  130. package/dist/misc/searchBar.d.ts.map +1 -1
  131. package/dist/misc/searchBar.js +1 -1
  132. package/dist/misc/select.d.ts.map +1 -1
  133. package/dist/misc/select.js +4 -4
  134. package/dist/misc/separator.js +1 -1
  135. package/dist/misc/share.d.ts +1 -1
  136. package/dist/misc/share.d.ts.map +1 -1
  137. package/dist/misc/share.js +1 -1
  138. package/dist/misc/sheet.js +1 -1
  139. package/dist/misc/sidebar.js +2 -2
  140. package/dist/misc/skeleton.d.ts +1 -36
  141. package/dist/misc/skeleton.d.ts.map +1 -1
  142. package/dist/misc/skeleton.js +3 -40
  143. package/dist/misc/slider.js +1 -1
  144. package/dist/misc/stateCard.d.ts +2 -2
  145. package/dist/misc/stateCard.d.ts.map +1 -1
  146. package/dist/misc/stateCard.js +2 -2
  147. package/dist/misc/switch.js +1 -1
  148. package/dist/misc/tabs.js +1 -1
  149. package/dist/misc/textarea.js +1 -1
  150. package/dist/misc/tile.d.ts +2 -1
  151. package/dist/misc/tile.d.ts.map +1 -1
  152. package/dist/misc/tile.js +12 -8
  153. package/dist/misc/tooltip.js +1 -1
  154. package/dist/profile/socialLink.d.ts +1 -1
  155. package/dist/profile/socialLink.d.ts.map +1 -1
  156. package/dist/profile/socialLink.js +19 -49
  157. package/package.json +11 -5
  158. package/dist/misc/document-upload-button.d.ts +0 -12
  159. package/dist/misc/document-upload-button.d.ts.map +0 -1
  160. package/dist/misc/document-upload-button.js +0 -27
  161. package/dist/misc/empty-state.d.ts +0 -10
  162. package/dist/misc/empty-state.d.ts.map +0 -1
  163. package/dist/misc/empty-state.js +0 -5
  164. package/dist/misc/image-compressor.d.ts +0 -29
  165. package/dist/misc/image-compressor.d.ts.map +0 -1
  166. package/dist/misc/image-compressor.js +0 -70
  167. package/dist/misc/image-cropper.d.ts +0 -10
  168. package/dist/misc/image-cropper.d.ts.map +0 -1
  169. package/dist/misc/image-cropper.js +0 -44
  170. package/dist/misc/pwa-install-button.d.ts +0 -9
  171. package/dist/misc/pwa-install-button.d.ts.map +0 -1
  172. package/dist/misc/pwa-install-button.js +0 -158
  173. package/dist/misc/whatsapp-help.d.ts +0 -9
  174. package/dist/misc/whatsapp-help.d.ts.map +0 -1
  175. package/dist/misc/whatsapp-help.js +0 -13
@@ -1 +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"}
1
+ {"version":3,"file":"password-eye.d.ts","sourceRoot":"","sources":["../../src/misc/password-eye.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,wBAAgB,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,2CAavJ;AAED,eAAe,WAAW,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { EyeIcon, EyeOffIcon } from 'lucide-react';
3
3
  import { Button } from './button';
4
- export default function PasswordEye({ showPassword, setShowPassword }) {
4
+ export function PasswordEye({ showPassword, setShowPassword }) {
5
5
  return (_jsx(Button, { type: 'button', variant: "ghost", onMouseDown: () => setShowPassword(prev => !prev), onTouchStart: () => setShowPassword(prev => !prev), onTouchEnd: () => setShowPassword(prev => !prev), className: "absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-500", children: showPassword ? _jsx(EyeOffIcon, {}) : _jsx(EyeIcon, {}) }));
6
6
  }
7
+ export default PasswordEye;
@@ -1 +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,2CAgBvD;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"}
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"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import * as PopoverPrimitive from "@radix-ui/react-popover";
4
- import { cn } from "@myrjfa/state/dist/lib/utils";
4
+ import { cn } from "@myrjfa/state";
5
5
  function Popover({ ...props }) {
6
6
  return _jsx(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
7
7
  }
@@ -9,7 +9,7 @@ function PopoverTrigger({ ...props }) {
9
9
  return _jsx(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
10
10
  }
11
11
  function PopoverContent({ className, align = "center", sideOffset = 4, ...props }) {
12
- return (_jsx(PopoverPrimitive.Portal, { children: _jsx(PopoverPrimitive.Content, { "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-[310] w-full min-w-[12rem] rounded-md border p-4 shadow-md outline-hidden touch-pan-y overflow-y-auto pointer-events-auto", className), onWheel: (e) => e.stopPropagation(), ...props }) }));
12
+ return (_jsx(PopoverPrimitive.Portal, { children: _jsx(PopoverPrimitive.Content, { "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 }) }));
13
13
  }
14
14
  function PopoverAnchor({ ...props }) {
15
15
  return _jsx(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import * as ProgressPrimitive from "@radix-ui/react-progress";
4
- import { cn } from "@myrjfa/state/dist/lib/utils";
4
+ import { cn } from "@myrjfa/state";
5
5
  function Progress({ className, value, ...props }) {
6
6
  return (_jsx(ProgressPrimitive.Root, { "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(-${100 - (value || 0)}%)` } }) }));
7
7
  }
@@ -0,0 +1,6 @@
1
+ import { TileProps } from "@myrjfa/state";
2
+ export declare function RentalTile(props: TileProps & {
3
+ onClick: () => void;
4
+ clicked: boolean;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=rental-tile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rental-tile.d.ts","sourceRoot":"","sources":["../../src/misc/rental-tile.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI1C,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG;IAAE,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,2CAsItF"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { CheckCircle2, Settings, Users, Fuel, Star, MapPin, Gauge, ChevronDown } from "lucide-react";
4
+ import Image from "next/image";
5
+ import { cn } from "@myrjfa/state";
6
+ import { Card } from "./card";
7
+ import { Button } from "./button";
8
+ export function RentalTile(props) {
9
+ var _a;
10
+ const [selectedPickupIndex, setSelectedPickupIndex] = useState(0);
11
+ const formatPrice = (p) => new Intl.NumberFormat('en-IN', { style: 'currency', currency: props.currency || 'INR', maximumFractionDigits: 0 }).format(p);
12
+ const titleStr = props.brand ? `${props.brand} ${props.model}` : props.title;
13
+ const currentPickup = (_a = props.pickupPoints) === null || _a === void 0 ? void 0 : _a[selectedPickupIndex];
14
+ const totalPrice = props.price || 0;
15
+ return (_jsxs(Card, { className: cn("h-full relative overflow-hidden flex flex-col bg-white border-0 shadow-sm ring-1 ring-slate-200/60 rounded-[24px] transition-all duration-500 hover:shadow-2xl hover:shadow-primary/10 hover:ring-primary/30 hover:-translate-y-1.5 group cursor-pointer", props.clicked && "opacity-60 pointer-events-none"), onClick: props.onClick, children: [_jsxs("div", { className: "absolute top-4 left-4 right-4 flex justify-between items-start z-20 pointer-events-none", children: [_jsx("div", { className: "flex flex-col gap-2", children: props.payAtPickup && (_jsxs("span", { className: "bg-emerald-500/90 text-white text-[10px] font-black uppercase tracking-wider px-3 py-1.5 rounded-full flex items-center gap-1.5 shadow-lg shadow-emerald-500/20 backdrop-blur-md", children: [_jsx(CheckCircle2, { className: "w-3 h-3" }), "Pay at Pickup"] })) }), _jsxs("div", { className: "flex flex-col items-end gap-2 pointer-events-auto", children: [(props.rating && props.rating > 0) ? (_jsxs("span", { className: "bg-white/95 text-slate-900 text-[11px] font-bold px-3 py-1.5 rounded-full shadow-lg flex items-center gap-1.5 border border-slate-100", children: [_jsx(Star, { className: "w-3.5 h-3.5 fill-amber-400 text-amber-400" }), _jsxs("span", { children: [props.rating, " ", _jsxs("span", { className: "font-semibold text-slate-400", children: ["(", props.reviewCount || 0, ")"] })] })] })) : null, (props.completedTrips && props.completedTrips > 0) ? (_jsxs("span", { className: "bg-slate-900/90 text-white text-[10px] font-bold px-3 py-1.5 rounded-full shadow-lg backdrop-blur-md", children: [props.completedTrips, " Trips"] })) : null] })] }), _jsxs("div", { className: "relative w-full aspect-[4/3] overflow-hidden", children: [_jsx("div", { className: "absolute inset-0 bg-slate-900/10 z-10 group-hover:bg-transparent transition-colors duration-500" }), _jsx(Image, { src: props.image || "/placeholder.jpg", alt: props.title, fill: true, sizes: "(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 25vw", className: "object-cover group-hover:scale-110 transition-transform duration-700 ease-out" }), _jsx("div", { className: "absolute bottom-0 left-0 right-0 h-1/2 bg-gradient-to-t from-white via-white/50 to-transparent z-10" })] }), _jsxs("div", { className: "flex-1 flex flex-col px-6 pb-6 -mt-10 relative z-20", children: [_jsxs("div", { className: "mb-5", children: [_jsx("h3", { className: "text-xl font-extrabold text-slate-900 tracking-tight leading-tight line-clamp-1 mb-1", title: titleStr, children: titleStr }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-[10px] font-black uppercase tracking-widest text-primary bg-primary/10 px-2 py-0.5 rounded", children: props.vehicleType || "Vehicle" }), _jsxs("span", { className: "text-xs font-bold text-slate-400", children: ["Model ", props.date ? new Date(props.date).getFullYear() : '2024'] })] })] }), _jsx("div", { className: "grid grid-cols-3 gap-3 mb-6", children: [
16
+ { icon: _jsx(Settings, { className: "w-4 h-4" }), label: props.transmission || 'Auto' },
17
+ { icon: _jsx(Users, { className: "w-4 h-4" }), label: `${props.seatingCapacity || 2} Seats` },
18
+ { icon: _jsx(Fuel, { className: "w-4 h-4" }), label: props.fuelType || 'Petrol' }
19
+ ].map((spec, i) => (_jsxs("div", { className: "flex flex-col items-center justify-center bg-slate-50 rounded-2xl p-3 border border-slate-100/50 group-hover:bg-white group-hover:border-primary/20 transition-all duration-300", children: [_jsx("div", { className: "text-slate-400 group-hover:text-primary transition-colors mb-1.5", children: spec.icon }), _jsx("span", { className: "text-[10px] font-bold text-slate-600 uppercase tracking-tight text-center", children: spec.label })] }, i))) }), _jsxs("div", { className: "relative mb-6", children: [_jsx("div", { className: "absolute -top-2 left-3 bg-white px-1.5 text-[10px] font-black uppercase tracking-widest text-slate-400 z-10 transition-colors group-hover:text-primary", children: "Available At" }), _jsxs("div", { className: "relative bg-slate-50/50 rounded-2xl border border-slate-100 group-hover:border-primary/20 transition-all", children: [_jsx(MapPin, { className: "absolute left-4 top-1/2 -translate-y-1/2 w-4 h-4 text-primary" }), _jsx("select", { className: "w-full bg-transparent pl-11 pr-4 py-3.5 text-sm font-bold text-slate-700 appearance-none focus:outline-none cursor-pointer", value: selectedPickupIndex, onChange: (e) => {
20
+ e.stopPropagation();
21
+ setSelectedPickupIndex(Number(e.target.value));
22
+ }, onClick: (e) => e.stopPropagation(), children: props.pickupPoints && props.pickupPoints.length > 0 ? (props.pickupPoints.map((point, idx) => (_jsx("option", { value: idx, children: point.name }, idx)))) : (_jsx("option", { children: props.location || "Location Not Set" })) }), _jsx("div", { className: "absolute right-4 top-1/2 -translate-y-1/2 pointer-events-none text-slate-400", children: _jsx(ChevronDown, { className: "w-4 h-4" }) })] })] }), _jsxs("div", { className: "mt-auto flex items-center justify-between gap-4 pt-1 border-t border-slate-100 pt-5", children: [_jsxs("div", { className: "flex flex-col", children: [_jsxs("div", { className: "flex items-baseline gap-1.5", children: [_jsx("span", { className: "text-3xl font-black text-slate-900 tracking-tighter", children: formatPrice(totalPrice) }), _jsx("span", { className: "text-xs font-bold text-slate-400 uppercase", children: "/day" })] }), _jsxs("div", { className: "flex items-center gap-1.5 mt-1", children: [_jsx(Gauge, { className: "w-3.5 h-3.5 text-primary" }), _jsx("span", { className: "text-[11px] font-bold text-slate-500", children: props.distanceLimit || 'No distance limit' })] })] }), _jsx(Button, { className: "rounded-2xl px-8 h-14 font-black uppercase tracking-widest text-xs shadow-xl shadow-primary/20 hover:shadow-primary/30 transition-all", onClick: props.onClick, children: "Book Now" })] })] })] }));
23
+ }
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
4
- import { cn } from "@myrjfa/state/dist/lib/utils";
4
+ import { cn } from "@myrjfa/state";
5
5
  function ScrollArea({ className, children, ...props }) {
6
6
  return (_jsxs(ScrollAreaPrimitive.Root, { "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, {})] }));
7
7
  }
@@ -1,6 +1,6 @@
1
1
  interface SearchBarProps {
2
2
  titles: string[];
3
3
  }
4
- export default function SearchBar({ titles }: SearchBarProps): import("react/jsx-runtime").JSX.Element;
4
+ export declare function SearchBar({ titles }: SearchBarProps): import("react/jsx-runtime").JSX.Element;
5
5
  export {};
6
6
  //# sourceMappingURL=searchBar.d.ts.map
@@ -1 +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"}
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,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,cAAc,2CAMnD"}
@@ -84,6 +84,6 @@ function SearchBarComponent({ titles }) {
84
84
  setTimeout(() => setShowSuggestions(false), 150);
85
85
  }, className: "w-full bg-transparent border-none outline-none py-2 px-3 text-gray-700" }), showSuggestions && suggestions.length > 0 && (_jsx("div", { className: "absolute top-full left-0 w-full mt-1 bg-white rounded-md shadow-lg z-15 max-h-60 overflow-y-auto", children: suggestions.map((suggestion, index) => (_jsx("div", { className: `px-4 py-2 text-sm cursor-pointer ${index === highlightedIndex ? 'bg-muted' : 'text-gray-700 hover:bg-muted'}`, onMouseDown: (e) => e.preventDefault(), onClick: () => handleSuggestionClick(suggestion), children: suggestion }, index))) }))] }), _jsx(Button, { variant: "default", onClick: executeSearch, className: "ml-4 w-10 h-10 rounded-full flex items-center justify-center cursor-pointer", children: _jsx(Search, { size: 18 }) })] }) }));
86
86
  }
87
- export default function SearchBar({ titles }) {
87
+ export function SearchBar({ titles }) {
88
88
  return (_jsx(Suspense, { fallback: _jsx("div", { className: "w-full h-screen flex items-center justify-center", children: "Loading..." }), children: _jsx(SearchBarComponent, { titles: titles }) }));
89
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/misc/select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAKzD,iBAAS,MAAM,CAAC,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAEnD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAgBtD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,QAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CA6BtD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQpD;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAkBnD;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,2CAQxD;AAED,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,cAAc,CAAC,2CAa7D;AAED,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,gBAAgB,CAAC,2CAa/D;AAED,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,CAAA"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/misc/select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAKzD,iBAAS,MAAM,CAAC,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAEnD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAgBtD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,QAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CA4BtD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQpD;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAkBnD;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,2CAQxD;AAED,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,cAAc,CAAC,2CAa7D;AAED,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,gBAAgB,CAAC,2CAa/D;AAED,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,CAAA"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as SelectPrimitive from "@radix-ui/react-select";
4
- import { cn } from "@myrjfa/state/dist/lib/utils";
4
+ import { cn } from "@myrjfa/state";
5
5
  import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
6
6
  function Select({ ...props }) {
7
7
  return _jsx(SelectPrimitive.Root, { "data-slot": "select", ...props });
@@ -16,9 +16,9 @@ function SelectTrigger({ className, children, ...props }) {
16
16
  return (_jsxs(SelectPrimitive.Trigger, { "data-slot": "select-trigger", className: cn("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex h-9 w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [children, _jsx(SelectPrimitive.Icon, { asChild: true, children: _jsx(ChevronDownIcon, { className: "size-4 opacity-50" }) })] }));
17
17
  }
18
18
  function SelectContent({ className, children, position = "popper", ...props }) {
19
- return (_jsx(SelectPrimitive.Portal, { children: _jsxs(SelectPrimitive.Content, { "data-slot": "select-content", 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 relative z-[310] max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md pointer-events-auto", position === "popper" &&
20
- "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className), position: position, onWheel: (e) => e.stopPropagation(), ...props, children: [_jsx(SelectScrollUpButton, {}), _jsx(SelectPrimitive.Viewport, { className: cn("p-1", position === "popper" &&
21
- "h-full max-h-[var(--radix-select-content-available-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1 overflow-y-auto touch-pan-y"), children: children }), _jsx(SelectScrollDownButton, {})] }) }));
19
+ return (_jsx(SelectPrimitive.Portal, { children: _jsxs(SelectPrimitive.Content, { "data-slot": "select-content", 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 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md", position === "popper" &&
20
+ "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className), position: position, ...props, children: [_jsx(SelectScrollUpButton, {}), _jsx(SelectPrimitive.Viewport, { className: cn("p-1", position === "popper" &&
21
+ "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"), children: children }), _jsx(SelectScrollDownButton, {})] }) }));
22
22
  }
23
23
  function SelectLabel({ className, ...props }) {
24
24
  return (_jsx(SelectPrimitive.Label, { "data-slot": "select-label", className: cn("px-2 py-1.5 text-sm font-medium", className), ...props }));
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
4
- import { cn } from "@myrjfa/state/dist/lib/utils";
4
+ import { cn } from "@myrjfa/state";
5
5
  function Separator({ className, orientation = "horizontal", decorative = true, ...props }) {
6
6
  return (_jsx(SeparatorPrimitive.Root, { "data-slot": "separator-root", decorative: decorative, orientation: orientation, className: cn("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px", className), ...props }));
7
7
  }
@@ -1,5 +1,5 @@
1
1
  declare const ShareButton: ({ label }: {
2
2
  label?: string;
3
3
  }) => import("react/jsx-runtime").JSX.Element;
4
- export default ShareButton;
4
+ export { ShareButton };
5
5
  //# sourceMappingURL=share.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../src/misc/share.tsx"],"names":[],"mappings":"AAoBA,QAAA,MAAM,WAAW,GAAI,WAAqB;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,4CAoO3D,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../src/misc/share.tsx"],"names":[],"mappings":"AAoBA,QAAA,MAAM,WAAW,GAAI,WAAqB;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,4CAoO3D,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -154,4 +154,4 @@ const ShareButton = ({ label = "Share" }) => {
154
154
  return (_jsx(ShareComponent, { ...platform.props, className: "flex flex-col items-center justify-center", children: _jsxs("div", { className: "flex flex-col items-center justify-center gap-2 p-3 rounded-lg hover:bg-gray-50 transition-colors w-full", children: [platform.icon, _jsx("span", { className: "text-xs font-medium text-gray-700", children: platform.name })] }) }, index));
155
155
  }), pageMetadata.image && (_jsx(PinterestShareButton, { url: pageMetadata.url, media: pageMetadata.image, description: pageMetadata.description, className: "flex flex-col items-center justify-center", children: _jsxs("div", { className: "flex flex-col items-center justify-center gap-2 p-3 rounded-lg hover:bg-gray-50 transition-colors w-full", children: [_jsx(FaPinterest, { className: "w-6 h-6 text-red-600" }), _jsx("span", { className: "text-xs font-medium text-gray-700", children: "Pinterest" })] }) }))] })] }) }) })] }));
156
156
  };
157
- export default ShareButton;
157
+ export { ShareButton };
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as SheetPrimitive from "@radix-ui/react-dialog";
4
- import { cn } from "@myrjfa/state/dist/lib/utils";
4
+ import { cn } from "@myrjfa/state";
5
5
  import { XIcon } from "lucide-react";
6
6
  function Sheet({ ...props }) {
7
7
  return _jsx(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Slot } from "@radix-ui/react-slot";
4
- import { useIsMobile } from "@myrjfa/state/dist/lib/hooks/use-mobile";
5
- import { cn } from "@myrjfa/state/dist/lib/utils";
4
+ import { useIsMobile } from "@myrjfa/state";
5
+ import { cn } from "@myrjfa/state";
6
6
  import { cva } from "class-variance-authority";
7
7
  import { PanelLeftIcon } from "lucide-react";
8
8
  import * as React from "react";
@@ -1,38 +1,3 @@
1
- import * as React from "react";
2
- /**
3
- * Base Skeleton component
4
- * Centralized pulse animation and color.
5
- */
6
1
  declare function Skeleton({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
7
- /** Horizontal Tile pattern */
8
- declare function SkeletonTile({ className }: {
9
- className?: string;
10
- }): import("react/jsx-runtime").JSX.Element;
11
- /** Vertical List pattern */
12
- declare function SkeletonList({ count, className }: {
13
- count?: number;
14
- className?: string;
15
- }): import("react/jsx-runtime").JSX.Element;
16
- /**
17
- * Full-page loading skeleton (Default Export)
18
- * Displayed while data is loading.
19
- */
20
- export default function LoadingSkeleton({ count }: {
21
- count?: number;
22
- }): import("react/jsx-runtime").JSX.Element;
23
- /** Card skeleton for feed-style layouts */
24
- declare function CardSkeleton({ className }: {
25
- className?: string;
26
- }): import("react/jsx-runtime").JSX.Element;
27
- /** Feed grid skeleton (6 cards by default) */
28
- declare function FeedSkeleton({ count }: {
29
- count?: number;
30
- }): import("react/jsx-runtime").JSX.Element;
31
- /** Page-level skeleton for detail pages (opportunity/package/blog) */
32
- declare function DetailPageSkeleton(): import("react/jsx-runtime").JSX.Element;
33
- /** Form field skeleton */
34
- declare function FormSkeleton({ fields }: {
35
- fields?: number;
36
- }): import("react/jsx-runtime").JSX.Element;
37
- export { Skeleton, CardSkeleton, SkeletonTile, SkeletonList, DetailPageSkeleton, FormSkeleton, FeedSkeleton };
2
+ export { Skeleton };
38
3
  //# sourceMappingURL=skeleton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../src/misc/skeleton.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B;;;GAGG;AACH,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQrE;AAED,8BAA8B;AAC9B,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAY1D;AAED,4BAA4B;AAC5B,iBAAS,YAAY,CAAC,EAAE,KAAS,EAAE,SAAS,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAQrF;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,KAAS,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,2CAiBxE;AAED,2CAA2C;AAC3C,iBAAS,YAAY,CAAC,EAAE,SAAc,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAe/D;AAED,8CAA8C;AAC9C,iBAAS,YAAY,CAAC,EAAE,KAAS,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,2CAQtD;AAED,sEAAsE;AACtE,iBAAS,kBAAkB,4CA8C1B;AAED,0BAA0B;AAC1B,iBAAS,YAAY,CAAC,EAAE,MAAU,EAAE,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,2CAYxD;AAGD,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACb,CAAA"}
1
+ {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../src/misc/skeleton.tsx"],"names":[],"mappings":"AAEA,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQrE;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -1,43 +1,6 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { cn } from "@myrjfa/state/dist/lib/utils";
4
- /**
5
- * Base Skeleton component
6
- * Centralized pulse animation and color.
7
- */
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from "@myrjfa/state";
8
3
  function Skeleton({ className, ...props }) {
9
4
  return (_jsx("div", { "data-slot": "skeleton", className: cn("bg-primary/10 animate-pulse rounded-md", className), ...props }));
10
5
  }
11
- /** Horizontal Tile pattern */
12
- function SkeletonTile({ className }) {
13
- return (_jsxs("div", { className: cn("flex gap-3 items-start p-3 rounded-lg border border-border", className), children: [_jsx(Skeleton, { className: "h-20 w-20 rounded-lg shrink-0" }), _jsxs("div", { className: "flex-1 space-y-2", children: [_jsx(Skeleton, { className: "h-4 w-2/3" }), _jsx(Skeleton, { className: "h-3 w-full" }), _jsx(Skeleton, { className: "h-3 w-4/5" }), _jsx(Skeleton, { className: "h-5 w-24 rounded-full" })] })] }));
14
- }
15
- /** Vertical List pattern */
16
- function SkeletonList({ count = 4, className }) {
17
- return (_jsx("div", { className: cn("space-y-3", className), children: Array.from({ length: count }).map((_, i) => (_jsx(SkeletonTile, {}, i))) }));
18
- }
19
- /**
20
- * Full-page loading skeleton (Default Export)
21
- * Displayed while data is loading.
22
- */
23
- export default function LoadingSkeleton({ count = 4 }) {
24
- return (_jsx("div", { className: "w-full h-screen flex items-center justify-center", children: _jsx("div", { className: "w-full max-w-2xl p-6 space-y-4", children: Array.from({ length: count }).map((_, i) => (_jsxs("div", { className: "animate-pulse space-y-3", children: [_jsx("div", { className: "h-4 bg-muted rounded w-3/4" }), _jsx("div", { className: "h-4 bg-muted rounded w-1/2" }), _jsx("div", { className: "h-3 bg-muted rounded w-full" })] }, i))) }) }));
25
- }
26
- /** Card skeleton for feed-style layouts */
27
- function CardSkeleton({ className = '' }) {
28
- return (_jsxs("div", { className: `rounded-xl overflow-hidden border border-border animate-pulse ${className}`, children: [_jsx("div", { className: "h-48 bg-muted w-full" }), _jsxs("div", { className: "p-4 space-y-3", children: [_jsx("div", { className: "h-4 bg-muted rounded w-3/4" }), _jsx("div", { className: "h-3 bg-muted rounded w-full" }), _jsx("div", { className: "h-3 bg-muted rounded w-5/6" }), _jsxs("div", { className: "flex gap-2 pt-2", children: [_jsx("div", { className: "h-6 bg-muted rounded-full w-16" }), _jsx("div", { className: "h-6 bg-muted rounded-full w-16" })] })] })] }));
29
- }
30
- /** Feed grid skeleton (6 cards by default) */
31
- function FeedSkeleton({ count = 6 }) {
32
- return (_jsx("div", { className: "w-full p-6 grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4", children: Array.from({ length: count }).map((_, i) => (_jsx(CardSkeleton, {}, i))) }));
33
- }
34
- /** Page-level skeleton for detail pages (opportunity/package/blog) */
35
- function DetailPageSkeleton() {
36
- return (_jsx("div", { className: "min-h-screen bg-slate-50 mt-15", children: _jsxs("div", { className: "container mx-auto px-4 py-6 flex flex-col lg:flex-row gap-10", children: [_jsx("div", { className: "lg:w-80 shrink-0", children: _jsxs("div", { className: "bg-white rounded-lg shadow-sm p-4 animate-pulse space-y-3", children: [_jsx("div", { className: "h-5 bg-muted rounded w-1/2" }), [1, 2, 3, 4, 5].map(i => (_jsx("div", { className: "h-4 bg-muted rounded w-3/4" }, i)))] }) }), _jsxs("main", { className: "flex-1 lg:pr-5 flex flex-col gap-6", children: [_jsxs("div", { className: "bg-white rounded-lg shadow-sm overflow-hidden animate-pulse", children: [_jsx("div", { className: "h-72 bg-muted" }), _jsxs("div", { className: "p-6 space-y-3", children: [_jsx("div", { className: "h-6 bg-muted rounded w-2/3" }), _jsx("div", { className: "h-4 bg-muted rounded w-1/2" })] })] }), _jsxs("div", { className: "bg-white rounded-lg shadow-sm p-6 animate-pulse space-y-4", children: [_jsx("div", { className: "h-5 bg-muted rounded w-1/4" }), _jsx("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4", children: [1, 2, 3].map(i => (_jsxs("div", { className: "space-y-2", children: [_jsx("div", { className: "h-4 bg-muted rounded w-1/2" }), _jsx("div", { className: "h-3 bg-muted rounded w-3/4" })] }, i))) })] }), _jsxs("div", { className: "bg-white rounded-lg shadow-sm p-6 animate-pulse space-y-3", children: [_jsx("div", { className: "h-5 bg-muted rounded w-1/4" }), [1, 2, 3, 4].map(i => (_jsx("div", { className: "h-3 bg-muted rounded", style: { width: `${60 + Math.random() * 40}%` } }, i)))] })] })] }) }));
37
- }
38
- /** Form field skeleton */
39
- function FormSkeleton({ fields = 4 }) {
40
- return (_jsxs("div", { className: "space-y-6", children: [Array.from({ length: fields }).map((_, i) => (_jsxs("div", { className: "space-y-2", children: [_jsx(Skeleton, { className: "h-4 w-1/4" }), _jsx(Skeleton, { className: "h-10 w-full" })] }, i))), _jsx(Skeleton, { className: "h-12 w-full" })] }));
41
- }
42
- // Aliases for backward compatibility or different naming preferences
43
- export { Skeleton, CardSkeleton, SkeletonTile, SkeletonList, DetailPageSkeleton, FormSkeleton, FeedSkeleton };
6
+ export { Skeleton };
@@ -2,7 +2,7 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
  import * as SliderPrimitive from "@radix-ui/react-slider";
5
- import { cn } from "@myrjfa/state/dist/lib/utils";
5
+ import { cn } from "@myrjfa/state";
6
6
  const Slider = React.forwardRef(({ className, ...props }, ref) => {
7
7
  var _a;
8
8
  return (_jsxs(SliderPrimitive.Root, { ref: ref, className: cn("relative flex w-full touch-none select-none items-center", className), ...props, children: [_jsx(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: _jsx(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }), (_a = (props.value || props.defaultValue || [0])) === null || _a === void 0 ? void 0 : _a.map((_, index) => (_jsx(SliderPrimitive.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" }, index)))] }));
@@ -1,5 +1,5 @@
1
- import { CardType } from '@myrjfa/state/dist/lib/models/props';
2
- export default function StateCard({ state, index, className }: {
1
+ import { CardType } from '@myrjfa/state';
2
+ export declare function StateCard({ state, index, className }: {
3
3
  state: CardType;
4
4
  index: number;
5
5
  className?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"stateCard.d.ts","sourceRoot":"","sources":["../../src/misc/stateCard.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAQ9D,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAsCpH"}
1
+ {"version":3,"file":"stateCard.d.ts","sourceRoot":"","sources":["../../src/misc/stateCard.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAQxC,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAsC5G"}
@@ -1,12 +1,12 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { cn } from '@myrjfa/state/dist/lib/utils';
3
+ import { cn } from '@myrjfa/state';
4
4
  import { Loader2 } from 'lucide-react';
5
5
  import Image from 'next/image';
6
6
  import { useRouter } from 'next/navigation';
7
7
  import { useState } from 'react';
8
8
  import { Card, CardContent } from './card';
9
- export default function StateCard({ state, index, className }) {
9
+ export function StateCard({ state, index, className }) {
10
10
  var _a;
11
11
  const [clicked, setClicked] = useState(false);
12
12
  const router = useRouter();
@@ -2,7 +2,7 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
  import * as SwitchPrimitives from "@radix-ui/react-switch";
5
- import { cn } from "@myrjfa/state/dist/lib/utils";
5
+ import { cn } from "@myrjfa/state";
6
6
  const Switch = React.forwardRef(({ className, ...props }, ref) => (_jsx(SwitchPrimitives.Root, { className: cn("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input", className), ...props, ref: ref, children: _jsx(SwitchPrimitives.Thumb, { className: cn("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0") }) })));
7
7
  Switch.displayName = SwitchPrimitives.Root.displayName;
8
8
  export { Switch };
package/dist/misc/tabs.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import * as TabsPrimitive from "@radix-ui/react-tabs";
4
- import { cn } from "@myrjfa/state/dist/lib/utils";
4
+ import { cn } from "@myrjfa/state";
5
5
  function Tabs({ className, ...props }) {
6
6
  return (_jsx(TabsPrimitive.Root, { "data-slot": "tabs", className: cn("flex flex-col gap-2", className), ...props }));
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from "@myrjfa/state/dist/lib/utils";
2
+ import { cn } from "@myrjfa/state";
3
3
  function Textarea({ className, ...props }) {
4
4
  return (_jsx("textarea", { "data-slot": "textarea", className: cn("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", className), ...props }));
5
5
  }
@@ -1,3 +1,4 @@
1
- import { TileProps } from "@myrjfa/state/dist/lib/models/tile";
1
+ import { TileProps } from "@myrjfa/state";
2
+ export type { TileProps };
2
3
  export declare function Tile({ slug, image, title, description, location, rating, skills, tileType, className, date, host, duration, price, currency, includeHost, }: TileProps): import("react/jsx-runtime").JSX.Element;
3
4
  //# sourceMappingURL=tile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tile.d.ts","sourceRoot":"","sources":["../../src/misc/tile.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAgB/D,wBAAgB,IAAI,CAAC,EACjB,IAAI,EACJ,KAAK,EACL,KAAK,EACL,WAAW,EACX,QAAQ,EACR,MAAM,EACN,MAAW,EACX,QAA0B,EAC1B,SAAS,EACT,IAAI,EACJ,IAAgB,EAChB,QAAY,EACZ,KAAW,EACX,QAAgB,EAChB,WAAkB,GACrB,EAAE,SAAS,2CA4KX"}
1
+ {"version":3,"file":"tile.d.ts","sourceRoot":"","sources":["../../src/misc/tile.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,YAAY,EAAE,SAAS,EAAE,CAAC;AAgB1B,wBAAgB,IAAI,CAAC,EACjB,IAAI,EACJ,KAAK,EACL,KAAK,EACL,WAAW,EACX,QAAQ,EACR,MAAM,EACN,MAAW,EACX,QAA0B,EAC1B,SAAS,EACT,IAAI,EACJ,IAAgB,EAChB,QAAY,EACZ,KAAW,EACX,QAAgB,EAChB,WAAkB,GACrB,EAAE,SAAS,2CAkLX"}
package/dist/misc/tile.js CHANGED
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { toggleUserWishlist } from "@myrjfa/state/dist/lib/actions/actions";
4
- import { userAtom, userLoadingAtom } from "@myrjfa/state/dist/lib/userAtom";
5
- import { cn, formatDate, truncateText } from "@myrjfa/state/dist/lib/utils";
3
+ import { toggleUserWishlist } from "@myrjfa/state";
4
+ import { userAtom, userLoadingAtom } from "@myrjfa/state";
5
+ import { cn, formatDate, truncateText } from "@myrjfa/state";
6
6
  import { useAtom, useAtomValue } from "jotai";
7
7
  import { Clock, Heart, Loader2, MapPin, Star } from "lucide-react";
8
8
  import Image from "next/image";
@@ -12,6 +12,7 @@ import { showAlert } from "./alertdialogclaude";
12
12
  import { Badge } from "./badge";
13
13
  import { Button } from "./button";
14
14
  import { Card, CardContent } from "./card";
15
+ import { RentalTile } from "./rental-tile";
15
16
  function WishlistButton({ wishlisted, handleWishlisted }) {
16
17
  return _jsx(Button, { variant: "ghost", className: "absolute top-3 right-3 z-10 bg-white/70 hover:bg-white rounded-full transition", onClick: handleWishlisted, children: _jsx(Heart, { className: wishlisted ? "text-red-500 fill-red-500 drop-shadow" : "text-gray-400 fill-gray-400", size: 20 }) });
17
18
  }
@@ -30,7 +31,7 @@ export function Tile({ slug, image, title, description, location, rating, skills
30
31
  if (tileType == "opportunities") {
31
32
  setWishlisted((_b = (_a = user.wishlist) === null || _a === void 0 ? void 0 : _a.includes(slug)) !== null && _b !== void 0 ? _b : false);
32
33
  }
33
- else if (tileType == "packages") {
34
+ else if (tileType == "packages" || tileType == "rentals" || tileType == "adventures" || tileType == "guides") {
34
35
  setWishlisted((_d = (_c = user.favPackages) === null || _c === void 0 ? void 0 : _c.includes(slug)) !== null && _d !== void 0 ? _d : false);
35
36
  }
36
37
  }, [slug, loading, user]);
@@ -44,7 +45,7 @@ export function Tile({ slug, image, title, description, location, rating, skills
44
45
  if (tileType == "opportunities") {
45
46
  setUser((prev) => prev ? { ...prev, wishlist: response.wishlist } : prev);
46
47
  }
47
- else if (tileType == "packages") {
48
+ else if (tileType == "packages" || tileType == "rentals" || tileType == "adventures" || tileType == "guides") {
48
49
  setUser((prev) => prev ? { ...prev, favPackages: response.wishlist } : prev);
49
50
  }
50
51
  };
@@ -61,16 +62,19 @@ export function Tile({ slug, image, title, description, location, rating, skills
61
62
  maximumFractionDigits: 0
62
63
  }).format(price);
63
64
  };
65
+ if (tileType === "rentals") {
66
+ return _jsx(RentalTile, { ...arguments[0], onClick: handleTileClick, clicked: clicked });
67
+ }
64
68
  return (_jsxs(Card, { className: cn("h-full shadow-lg py-0 gap-0 group transition-shadow hover:shadow-2xl border border-gray-100 rounded-2xl overflow-hidden cursor-pointer relative bg-white", className, clicked && "opacity-60 pointer-events-none" // visual cue + blocking
65
69
  ), onClick: handleTileClick, children: [clicked && (_jsx("div", { className: "absolute inset-0 z-20 flex items-center justify-center bg-white/70 rounded-lg", children: _jsx(Loader2, { className: "animate-spin text-gray-600", size: 24 }) })), _jsxs("div", { className: "relative h-55 w-full p-0 overflow-hidden", children: [_jsx(Image, { src: image, alt: title, fill: true, priority: true, sizes: "(max-width: 768px) 100vw, 400px", className: "object-cover transition-transform duration-300 group-hover:scale-105", style: {
66
70
  WebkitMaskImage: "linear-gradient(to bottom, rgba(0,0,0,1) 90%, rgba(255, 255, 255, 0) 100%)",
67
71
  WebkitMaskRepeat: "no-repeat",
68
72
  WebkitMaskSize: "100% 100%",
69
- }, onError: (e) => console.error(e.target) }), _jsx("div", { className: "absolute bottom-0 left-0 right-0 h-5 pointer-events-none bg-gradient-to-b from-transparent to-white" }), user && user.role == "user" && tileType !== "blogs" && (_jsx(WishlistButton, { wishlisted: wishlisted, handleWishlisted: handleWishlisted })), tileType == "packages" && (_jsx("div", { className: "absolute top-4 left-4 bg-white/80 backdrop-blur px-3 py-1 rounded-full shadow text-gray-900 font-semibold text-base", children: formatPrice(price, currency) }))] }), _jsxs(CardContent, { className: "p-4 pt-0 flex flex-col gap-3 z-10", children: [tileType !== "blogs" && (_jsxs("div", { className: "flex justify-between text-sm text-muted-foreground", children: [location && (_jsxs("span", { className: "flex items-center gap-1", children: [_jsx(MapPin, { size: 15 }), " ", truncateText(location, 30)] })), (rating && rating > 0) ? _jsxs("div", { className: "flex items-center gap-1 bg-green-50 px-2 py-1 rounded-full", children: [_jsx(Star, { className: "w-4 h-4 text-amber-400 fill-current" }), _jsx("span", { className: " font-semibold", children: rating })] })
70
- : null] })), _jsx("h4", { className: "text-lg font-semibold truncate-text", children: truncateText(title, 30) }), tileType !== "packages" &&
73
+ }, onError: (e) => console.error(e.target) }), _jsx("div", { className: "absolute bottom-0 left-0 right-0 h-5 pointer-events-none bg-gradient-to-b from-transparent to-white" }), user && user.role == "user" && tileType !== "blogs" && (_jsx(WishlistButton, { wishlisted: wishlisted, handleWishlisted: handleWishlisted })), (tileType == "packages" || tileType == "adventures" || tileType == "guides") && (_jsx("div", { className: "absolute top-4 left-4 bg-white/80 backdrop-blur px-3 py-1 rounded-full shadow text-gray-900 font-semibold text-base", children: formatPrice(price, currency) }))] }), _jsxs(CardContent, { className: "p-4 pt-0 flex flex-col gap-3 z-10", children: [tileType !== "blogs" && (_jsxs("div", { className: "flex justify-between text-sm text-muted-foreground", children: [location && (_jsxs("span", { className: "flex items-center gap-1", children: [_jsx(MapPin, { size: 15 }), " ", truncateText(location, 30)] })), (rating && rating > 0) ? _jsxs("div", { className: "flex items-center gap-1 bg-green-50 px-2 py-1 rounded-full", children: [_jsx(Star, { className: "w-4 h-4 text-amber-400 fill-current" }), _jsx("span", { className: " font-semibold", children: rating })] })
74
+ : null] })), _jsx("h4", { className: "text-lg font-semibold truncate-text", children: truncateText(title, 30) }), (tileType !== "packages" && tileType !== "adventures" && tileType !== "guides") &&
71
75
  _jsx("p", { className: "text-sm text-muted-foreground truncate-text-3", children: description }), tileType == "opportunities" && skills.length > 0 && (_jsx("div", { className: "flex flex-wrap gap-2 mt-2 truncate-text", children: skills.slice(0, 3).map((skill, index) => (_jsx(Badge, { variant: "secondary", children: truncateText(skill, 10) }, index))) })), tileType == "blogs" && (includeHost ?
72
76
  _jsxs("div", { className: "flex items-center gap-3 pt-3 border-t min-h-12 max-h-15", children: [_jsx(Image, { src: (_a = host === null || host === void 0 ? void 0 : host.image) !== null && _a !== void 0 ? _a : "/images/profile_placeholder.webp", alt: "Host Image", width: 40, height: 40, className: "rounded-full object-cover" }), _jsxs("div", { className: "flex-1", children: [_jsxs("p", { className: "font-medium", children: ["By ", truncateText((_b = host === null || host === void 0 ? void 0 : host.name) !== null && _b !== void 0 ? _b : "Host", 18)] }), _jsxs("p", { className: "text-xs text-muted-foreground", children: ["on ", formatDate(date)] })] })] }) :
73
- _jsxs("div", { className: "flex justify-between items-center text-xs text-gray-500", children: [_jsx("span", { children: formatDate(date) }), _jsxs("span", { children: [rating, " likes"] })] })), tileType == "packages" && (_jsxs("div", { className: "flex items-center justify-between pt-3 border-t border-gray-100", children: [_jsxs("div", { className: "flex items-center gap-1 text-gray-600 whitespace-nowrap", children: [_jsx(Clock, { className: "w-4 h-4 mr-1" }), _jsxs("span", { className: "text-sm", children: [duration, " Days"] })] }), includeHost ?
77
+ _jsxs("div", { className: "flex justify-between items-center text-xs text-gray-500", children: [_jsx("span", { children: formatDate(date) }), _jsxs("span", { children: [rating, " likes"] })] })), (tileType == "packages" || tileType == "adventures" || tileType == "guides") && (_jsxs("div", { className: "flex items-center justify-between pt-3 border-t border-gray-100", children: [(tileType !== "guides") && (_jsxs("div", { className: "flex items-center gap-1 text-gray-600 whitespace-nowrap", children: [_jsx(Clock, { className: "w-4 h-4 mr-1" }), _jsxs("span", { className: "text-sm", children: [duration, " ", tileType == "adventures" ? "hrs" : "Days"] })] })), includeHost ?
74
78
  _jsxs("div", { className: "flex items-center gap-1", children: [_jsx(Image, { src: (_c = host === null || host === void 0 ? void 0 : host.image) !== null && _c !== void 0 ? _c : "/images/profile_placeholder.webp", alt: (_d = host === null || host === void 0 ? void 0 : host.name) !== null && _d !== void 0 ? _d : "DP", width: 25, height: 25, className: "rounded-full" }), _jsx("span", { className: "text-sm text-gray-500 max-w-40", children: host === null || host === void 0 ? void 0 : host.name })] }) :
75
79
  _jsx("div", { className: "flex justify-between items-center text-xs text-gray-500", children: _jsx("span", { children: formatDate(date) }) })] }))] })] }));
76
80
  }
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
4
- import { cn } from "@myrjfa/state/dist/lib/utils";
4
+ import { cn } from "@myrjfa/state";
5
5
  function TooltipProvider({ delayDuration = 0, ...props }) {
6
6
  return (_jsx(TooltipPrimitive.Provider, { "data-slot": "tooltip-provider", delayDuration: delayDuration, ...props }));
7
7
  }
@@ -1,4 +1,4 @@
1
- import { SocialPlatformType } from "@myrjfa/state/dist/lib/utils/socialMediaUrl";
1
+ export type SocialPlatformType = "instagram" | "youtube" | "linkedin" | "googleBusiness";
2
2
  interface SocialLinkFieldProps {
3
3
  platform: SocialPlatformType;
4
4
  url?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"socialLink.d.ts","sourceRoot":"","sources":["../../src/profile/socialLink.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAsB,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAGrG,UAAU,oBAAoB;IAC1B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvF;AAeD,wBAAgB,eAAe,CAAC,EAC5B,QAAQ,EACR,GAAG,EACH,aAAa,EACb,oBAAoB,GACvB,EAAE,oBAAoB,kDAgFtB"}
1
+ {"version":3,"file":"socialLink.d.ts","sourceRoot":"","sources":["../../src/profile/socialLink.tsx"],"names":[],"mappings":"AAQA,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAEzF,UAAU,oBAAoB;IAC1B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvF;AAYD,wBAAgB,eAAe,CAAC,EAC5B,QAAQ,EACR,GAAG,EACH,aAAa,EACb,oBAAoB,GACvB,EAAE,oBAAoB,kDA8CtB"}