@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,11 +1,9 @@
1
- import type { Conversation } from "@myrjfa/state/dist/lib/models/chat";
2
- import { UserRole } from "@myrjfa/state/dist/lib/models/props";
1
+ import type { Conversation } from "@myrjfa/state";
3
2
  interface ChatMainProps {
4
3
  conversation: Conversation;
5
4
  currentUserId: string;
6
5
  onBack: () => void;
7
- onCallAlert?: (targetId: string, targetRole: UserRole) => void;
8
6
  }
9
- export declare function ChatMain({ conversation, currentUserId, onBack, onCallAlert, }: ChatMainProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function ChatMain({ conversation, currentUserId, onBack, }: ChatMainProps): import("react/jsx-runtime").JSX.Element;
10
8
  export {};
11
9
  //# sourceMappingURL=ChatMain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMain.d.ts","sourceRoot":"","sources":["../../src/chat/ChatMain.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAW,MAAM,oCAAoC,CAAC;AAahF,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE/D,UAAU,aAAa;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,KAAK,IAAI,CAAC;CAClE;AAED,wBAAgB,QAAQ,CAAC,EACrB,YAAY,EACZ,aAAa,EACb,MAAM,EACN,WAAW,GACd,EAAE,aAAa,2CA4iBf"}
1
+ {"version":3,"file":"ChatMain.d.ts","sourceRoot":"","sources":["../../src/chat/ChatMain.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAW,MAAM,eAAe,CAAC;AAc3D,UAAU,aAAa;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,QAAQ,CAAC,EACrB,YAAY,EACZ,aAAa,EACb,MAAM,GACT,EAAE,aAAa,2CA2iBf"}
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import React, { useEffect, useRef, useCallback } from "react";
4
- import { chatApi } from "@myrjfa/state/dist/lib/actions/chat";
5
- import { useChatContext } from "@myrjfa/state/dist/lib/context/ChatContext";
4
+ import { chatApi } from "@myrjfa/state";
5
+ import { useChatContext } from "@myrjfa/state";
6
6
  import { MessageBubble } from "./MessageBubble";
7
7
  import { MessageInput } from "./MessageInput";
8
8
  import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "../misc/dropdown-menu";
@@ -17,9 +17,9 @@ import { GroupInfoViewDialog } from "./dialogs/GroupInfoViewDialog";
17
17
  import { ListTodo, ReceiptText, MessageCircle, FilePenLine } from "lucide-react";
18
18
  import { Button } from "../misc/button";
19
19
  import { confirmActions, deleteActions, showAlert } from "../misc/alertdialogclaude";
20
- import { userApi } from "@myrjfa/state/dist/lib/actions/user";
20
+ import { userApi } from "@myrjfa/state";
21
21
  import { checkPhonePermission } from "../utils/permissions";
22
- export function ChatMain({ conversation, currentUserId, onBack, onCallAlert, }) {
22
+ export function ChatMain({ conversation, currentUserId, onBack, }) {
23
23
  var _a, _b, _c, _d, _e;
24
24
  const { socket, messages, setMessages, sendMessage, typingUsers, onlineUsers, editMessage, toggleMessageReaction, deleteMessage, markRead, createPoll, votePoll, refreshConversations } = useChatContext();
25
25
  const messagesEndRef = useRef(null);
@@ -203,7 +203,6 @@ export function ChatMain({ conversation, currentUserId, onBack, onCallAlert, })
203
203
  return;
204
204
  }
205
205
  if (otherUser) {
206
- onCallAlert === null || onCallAlert === void 0 ? void 0 : onCallAlert(otherUser.userId, otherUser.role);
207
206
  // Initiate tel: link (will prompt to call on mobile/desktop)
208
207
  window.location.href = `tel:${otherUser.userId}`;
209
208
  }
@@ -1,4 +1,4 @@
1
- import type { Conversation } from "@myrjfa/state/dist/lib/models/chat";
1
+ import type { Conversation } from "@myrjfa/state";
2
2
  interface ChatSidebarProps {
3
3
  conversations: Conversation[];
4
4
  activeConversation: Conversation | null;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatSidebar.d.ts","sourceRoot":"","sources":["../../src/chat/ChatSidebar.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE,UAAU,gBAAgB;IACtB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,kBAAkB,EAAE,YAAY,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACvC;AAED,wBAAgB,WAAW,CAAC,EACxB,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACd,EAAE,gBAAgB,2CAoElB"}
1
+ {"version":3,"file":"ChatSidebar.d.ts","sourceRoot":"","sources":["../../src/chat/ChatSidebar.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,UAAU,gBAAgB;IACtB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,kBAAkB,EAAE,YAAY,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACvC;AAED,wBAAgB,WAAW,CAAC,EACxB,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACd,EAAE,gBAAgB,2CAoElB"}
@@ -1,4 +1,4 @@
1
- import type { Conversation } from "@myrjfa/state/dist/lib/models/chat";
1
+ import type { Conversation } from "@myrjfa/state";
2
2
  interface ChatListProps {
3
3
  conversations: Conversation[];
4
4
  activeConversation: Conversation | null;
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationList.d.ts","sourceRoot":"","sources":["../../src/chat/ConversationList.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE,UAAU,aAAa;IACnB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,kBAAkB,EAAE,YAAY,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACvC;AAED,wBAAgB,gBAAgB,CAAC,EAC7B,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,WAAuB,EACvB,WAAuB,EAC1B,EAAE,aAAa,2CA4Hf"}
1
+ {"version":3,"file":"ConversationList.d.ts","sourceRoot":"","sources":["../../src/chat/ConversationList.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,UAAU,aAAa;IACnB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,kBAAkB,EAAE,YAAY,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACvC;AAED,wBAAgB,gBAAgB,CAAC,EAC7B,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,WAAuB,EACvB,WAAuB,EAC1B,EAAE,aAAa,2CA4Hf"}
@@ -2,7 +2,7 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Users, User, MessageCircle, ListTodo, ReceiptText, AtSign } from "lucide-react";
4
4
  import { Avatar, AvatarFallback, AvatarImage } from "../misc/avatar";
5
- import { cn } from "@myrjfa/state/dist/lib/utils";
5
+ import { cn } from "@myrjfa/state";
6
6
  export function ConversationList({ conversations, activeConversation, onSelect, currentUserId, onlineUsers = new Set(), typingUsers = new Map() }) {
7
7
  function getDisplayName(conv) {
8
8
  if (conv.type === "group")
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { useState, useEffect } from "react";
4
- import { chatApi } from "@myrjfa/state/dist/lib/actions/chat";
4
+ import { chatApi } from "@myrjfa/state";
5
5
  import { Receipt, Plus, Trash2, Pencil, CreditCard, Users, MapPin, Image as ImageIcon, Loader2, Navigation, Lock, Unlock, ReceiptText, BarChart3, CheckCircle, X, ChevronDown, PiggyBankIcon } from "lucide-react";
6
6
  import { Button } from "../misc/button";
7
7
  import { Input } from "../misc/input";
@@ -1,4 +1,4 @@
1
- import type { Message, Participant } from "@myrjfa/state/dist/lib/models/chat";
1
+ import type { Message, Participant } from "@myrjfa/state";
2
2
  interface MessageBubbleProps {
3
3
  message: Message;
4
4
  participants: Participant[];
@@ -1 +1 @@
1
- {"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../src/chat/MessageBubble.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAQ,MAAM,oCAAoC,CAAC;AASrF,UAAU,kBAAkB;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1D;AAWD,wBAAgB,aAAa,CAAC,EAC1B,OAAO,EACP,YAAY,EACZ,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,QAAQ,EACR,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,MAAM,EACT,EAAE,kBAAkB,2CA0mBpB"}
1
+ {"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../src/chat/MessageBubble.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAQ,MAAM,eAAe,CAAC;AAShE,UAAU,kBAAkB;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1D;AAWD,wBAAgB,aAAa,CAAC,EAC1B,OAAO,EACP,YAAY,EACZ,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,QAAQ,EACR,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,MAAM,EACT,EAAE,kBAAkB,2CA0mBpB"}
@@ -6,7 +6,7 @@ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigge
6
6
  import { Button } from "../misc/button";
7
7
  import { useEffect, useState, useRef, useCallback, useMemo } from "react";
8
8
  import EmojiPicker from 'emoji-picker-react';
9
- import { chatApi } from "@myrjfa/state/dist/lib/actions/chat";
9
+ import { chatApi } from "@myrjfa/state";
10
10
  const QUICK_REACTIONS = [
11
11
  { emoji: "❤️", label: "love" },
12
12
  { emoji: "👍", label: "like" },
@@ -1,4 +1,4 @@
1
- import { Message } from "@myrjfa/state/dist/lib/models/chat";
1
+ import { Message } from "@myrjfa/state";
2
2
  interface MessageInputProps {
3
3
  onSend: (text: string, files?: File[]) => void;
4
4
  onTypingStart?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"MessageInput.d.ts","sourceRoot":"","sources":["../../src/chat/MessageInput.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAE7D,UAAU,iBAAiB;IACvB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IAC/C,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;IACrF,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,CAAC;CACpD;AAED,wBAAgB,YAAY,CAAC,EACzB,MAAM,EACN,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,WAAW,EACX,MAAM,EACN,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,YAAiB,EAAE,QAAQ;AAC3B,WAAoB,EACvB,EAAE,iBAAiB,2CAobnB"}
1
+ {"version":3,"file":"MessageInput.d.ts","sourceRoot":"","sources":["../../src/chat/MessageInput.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,UAAU,iBAAiB;IACvB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IAC/C,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;IACrF,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,CAAC;CACpD;AAED,wBAAgB,YAAY,CAAC,EACzB,MAAM,EACN,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,WAAW,EACX,MAAM,EACN,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,YAAiB,EAAE,QAAQ;AAC3B,WAAoB,EACvB,EAAE,iBAAiB,2CAobnB"}
@@ -9,7 +9,7 @@ import { Progress } from "../misc/progress";
9
9
  import { CameraDialog } from "./dialogs/CameraDialog";
10
10
  import { CreatePollDialog } from "./dialogs/CreatePollDialog";
11
11
  import { showAlert } from "../misc/alertdialogclaude";
12
- import { isCompressibleImage, compressImage } from "@myrjfa/state/dist/lib/utils/fileCompression";
12
+ import { isCompressibleImage, compressImage } from "@myrjfa/state";
13
13
  import EmojiPicker from 'emoji-picker-react';
14
14
  export function MessageInput({ onSend, onTypingStart, onTypingStop, disabled, replyTo, editMessage, onEdit, onCancelEdit, onCancelReply, onAddMilestone, onAddExpense, onCreatePoll, participants = [], // Added
15
15
  activePanel = "chat" }) {
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { useState, useEffect } from "react";
4
- import { chatApi } from "@myrjfa/state/dist/lib/actions/chat";
4
+ import { chatApi } from "@myrjfa/state";
5
5
  import { CheckCircle2, Circle, Plus, Trash2, Pencil, MoreVertical, Lock, Unlock, ListTodo, ChevronDown, AlertCircle, ChevronDownIcon, ChevronRightIcon } from "lucide-react";
6
6
  import { Button } from "../misc/button";
7
7
  import { Input } from "../misc/input";
@@ -1,4 +1,4 @@
1
- import { ExpenseSplit } from "@myrjfa/state/dist/lib/models/chat";
1
+ import { ExpenseSplit } from "@myrjfa/state";
2
2
  import { Dispatch, SetStateAction } from "react";
3
3
  interface ParticipantSelectorProps {
4
4
  participants: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"ParticipantSelector.d.ts","sourceRoot":"","sources":["../../../src/chat/components/ParticipantSelector.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEjD,UAAU,wBAAwB;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACzD,cAAc,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,wBAAgB,mBAAmB,CAAC,EAChC,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,cAAc,EACjB,EAAE,wBAAwB,2CA2D1B"}
1
+ {"version":3,"file":"ParticipantSelector.d.ts","sourceRoot":"","sources":["../../../src/chat/components/ParticipantSelector.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEjD,UAAU,wBAAwB;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACzD,cAAc,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,wBAAgB,mBAAmB,CAAC,EAChC,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,cAAc,EACjB,EAAE,wBAAwB,2CA2D1B"}
@@ -1,4 +1,4 @@
1
- import type { SplitType, ExpenseSplit } from "@myrjfa/state/dist/lib/models/chat";
1
+ import type { SplitType, ExpenseSplit } from "@myrjfa/state";
2
2
  interface SplitInputsProps {
3
3
  splitType: SplitType;
4
4
  totalAmount: number;
@@ -1 +1 @@
1
- {"version":3,"file":"SplitInputs.d.ts","sourceRoot":"","sources":["../../../src/chat/components/SplitInputs.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAGlF,UAAU,gBAAgB;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;CAC9C;AAED,wBAAgB,WAAW,CAAC,EACxB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,MAAM,EACN,QAAQ,EACX,EAAE,gBAAgB,kDA8KlB"}
1
+ {"version":3,"file":"SplitInputs.d.ts","sourceRoot":"","sources":["../../../src/chat/components/SplitInputs.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7D,UAAU,gBAAgB;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;CAC9C;AAED,wBAAgB,WAAW,CAAC,EACxB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,MAAM,EACN,QAAQ,EACX,EAAE,gBAAgB,kDA6KlB"}
@@ -1,4 +1,4 @@
1
- import type { SplitType } from "@myrjfa/state/dist/lib/models/chat";
1
+ import type { SplitType } from "@myrjfa/state";
2
2
  interface SplitTypeSelectorProps {
3
3
  value: SplitType;
4
4
  onChange: (type: SplitType) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"SplitTypeSelector.d.ts","sourceRoot":"","sources":["../../../src/chat/components/SplitTypeSelector.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAGpE,UAAU,sBAAsB;IAC5B,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CACvC;AASD,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,sBAAsB,2CA4B5E"}
1
+ {"version":3,"file":"SplitTypeSelector.d.ts","sourceRoot":"","sources":["../../../src/chat/components/SplitTypeSelector.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,UAAU,sBAAsB;IAC5B,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CACvC;AASD,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,sBAAsB,2CA2B5E"}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import type { User as UserType } from "@myrjfa/state/dist/lib/models/user";
2
+ import type { User as UserType } from "@myrjfa/state";
3
3
  interface AddMemberDialogProps {
4
4
  selectedUsers: UserType[];
5
5
  setSelectedUsers: React.Dispatch<React.SetStateAction<UserType[]>>;
@@ -1 +1 @@
1
- {"version":3,"file":"AddMemberDialog.d.ts","sourceRoot":"","sources":["../../../src/chat/dialogs/AddMemberDialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAMxC,OAAO,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE3E,UAAU,oBAAoB;IAC1B,aAAa,EAAE,QAAQ,EAAE,CAAC;IAC1B,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAClE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,wBAAgB,eAAe,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAqB,EAAE,EAAE,oBAAoB,2CAmF/G"}
1
+ {"version":3,"file":"AddMemberDialog.d.ts","sourceRoot":"","sources":["../../../src/chat/dialogs/AddMemberDialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAMxC,OAAO,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEtD,UAAU,oBAAoB;IAC1B,aAAa,EAAE,QAAQ,EAAE,CAAC;IAC1B,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAClE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,wBAAgB,eAAe,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAqB,EAAE,EAAE,oBAAoB,2CAmF/G"}
@@ -4,7 +4,7 @@ import { useState } from "react";
4
4
  import { Input } from "../../misc/input";
5
5
  import { Button } from "../../misc/button";
6
6
  import { User, Loader2, X } from "lucide-react";
7
- import { userDetails } from "@myrjfa/state/dist/lib/actions/actions";
7
+ import { userDetails } from "@myrjfa/state";
8
8
  import { Avatar, AvatarFallback, AvatarImage } from "../../misc/avatar";
9
9
  export function AddMemberDialog({ selectedUsers, setSelectedUsers, excludeUsernames = [] }) {
10
10
  const [query, setQuery] = useState("");
@@ -2,7 +2,7 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useState, useEffect } from "react";
4
4
  import { Dialog, DialogContent, DialogHeader, DialogTitle } from "../../misc/dialog";
5
- import { chatApi } from "@myrjfa/state/dist/lib/actions/chat";
5
+ import { chatApi } from "@myrjfa/state";
6
6
  import { BarChart3, TrendingUp, Users, PieChart } from "lucide-react";
7
7
  export function ExpenseAnalyticsDialog({ conversationId, open, onClose }) {
8
8
  const [analytics, setAnalytics] = useState(null);
@@ -1,4 +1,4 @@
1
- import type { Conversation } from "@myrjfa/state/dist/lib/models/chat";
1
+ import type { Conversation } from "@myrjfa/state";
2
2
  interface GroupInfoDialogProps {
3
3
  open: boolean;
4
4
  onOpenChange: (open: boolean) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"GroupInfoDialog.d.ts","sourceRoot":"","sources":["../../../src/chat/dialogs/GroupInfoDialog.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAKvE,UAAU,oBAAoB;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,eAAe,CAAC,EAC5B,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,QAAQ,EACX,EAAE,oBAAoB,2CA4ItB"}
1
+ {"version":3,"file":"GroupInfoDialog.d.ts","sourceRoot":"","sources":["../../../src/chat/dialogs/GroupInfoDialog.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAKlD,UAAU,oBAAoB;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,eAAe,CAAC,EAC5B,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,QAAQ,EACX,EAAE,oBAAoB,2CA4ItB"}
@@ -5,7 +5,7 @@ import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter } from "
5
5
  import { Button } from "../../misc/button";
6
6
  import { Input } from "../../misc/input";
7
7
  import { Textarea } from "../../misc/textarea";
8
- import { chatApi } from "@myrjfa/state/dist/lib/actions/chat";
8
+ import { chatApi } from "@myrjfa/state";
9
9
  import { Avatar, AvatarFallback, AvatarImage } from "../../misc/avatar";
10
10
  import { Users, Camera, Loader2 } from "lucide-react";
11
11
  import { Switch } from "../../misc/switch";
@@ -1,4 +1,4 @@
1
- import type { Conversation } from "@myrjfa/state/dist/lib/models/chat";
1
+ import type { Conversation } from "@myrjfa/state";
2
2
  interface GroupInfoViewDialogProps {
3
3
  open: boolean;
4
4
  onOpenChange: (open: boolean) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"GroupInfoViewDialog.d.ts","sourceRoot":"","sources":["../../../src/chat/dialogs/GroupInfoViewDialog.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE,UAAU,wBAAwB;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,YAAY,EAAE,YAAY,CAAC;CAC9B;AAED,wBAAgB,mBAAmB,CAAC,EAChC,IAAI,EACJ,YAAY,EACZ,YAAY,GACf,EAAE,wBAAwB,2CAiH1B"}
1
+ {"version":3,"file":"GroupInfoViewDialog.d.ts","sourceRoot":"","sources":["../../../src/chat/dialogs/GroupInfoViewDialog.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,UAAU,wBAAwB;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,YAAY,EAAE,YAAY,CAAC;CAC9B;AAED,wBAAgB,mBAAmB,CAAC,EAChC,IAAI,EACJ,YAAY,EACZ,YAAY,GACf,EAAE,wBAAwB,2CAiH1B"}
@@ -5,10 +5,10 @@ import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger } from
5
5
  import { Button } from "../../misc/button";
6
6
  import { Input } from "../../misc/input";
7
7
  import { MessageCircle, Search, User, Loader2 } from "lucide-react";
8
- import { userDetails } from "@myrjfa/state/dist/lib/actions/actions"; // Check if these are exported from index
8
+ import { userDetails } from "@myrjfa/state"; // Check if these are exported from index
9
9
  import { Avatar, AvatarFallback, AvatarImage } from "../../misc/avatar";
10
10
  import { useRouter } from "next/navigation";
11
- import { userApi } from "@myrjfa/state/dist/lib/actions/user";
11
+ import { userApi } from "@myrjfa/state";
12
12
  export function NewChatDialog() {
13
13
  const [open, setOpen] = useState(false);
14
14
  const [query, setQuery] = useState("");
@@ -5,11 +5,11 @@ import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger } from
5
5
  import { Button } from "../../misc/button";
6
6
  import { Input } from "../../misc/input";
7
7
  import { Users, Loader2, Camera } from "lucide-react";
8
- import { chatApi } from "@myrjfa/state/dist/lib/actions/chat";
8
+ import { chatApi } from "@myrjfa/state";
9
9
  import { Avatar, AvatarFallback, AvatarImage } from "../../misc/avatar";
10
10
  import { useRouter } from "next/navigation";
11
11
  import { AddMemberDialog } from "./AddMemberDialog";
12
- import { getCurrencies } from "@myrjfa/state/dist/lib/data/countryStates";
12
+ import { getCurrencies } from "@myrjfa/state";
13
13
  export function NewGroupDialog() {
14
14
  const [open, setOpen] = useState(false);
15
15
  const [groupName, setGroupName] = useState("");
@@ -1,4 +1,4 @@
1
- import type { Conversation } from "@myrjfa/state/dist/lib/models/chat";
1
+ import type { Conversation } from "@myrjfa/state";
2
2
  interface ParticipantsDialogProps {
3
3
  open: boolean;
4
4
  onOpenChange: (open: boolean) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"ParticipantsDialog.d.ts","sourceRoot":"","sources":["../../../src/chat/dialogs/ParticipantsDialog.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,oCAAoC,CAAC;AAQpF,UAAU,uBAAuB;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,kBAAkB,CAAC,EAC/B,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,QAAQ,EACX,EAAE,uBAAuB,2CA4KzB"}
1
+ {"version":3,"file":"ParticipantsDialog.d.ts","sourceRoot":"","sources":["../../../src/chat/dialogs/ParticipantsDialog.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,eAAe,CAAC;AAQ/D,UAAU,uBAAuB;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,kBAAkB,CAAC,EAC/B,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,QAAQ,EACX,EAAE,uBAAuB,2CA4KzB"}
@@ -5,7 +5,7 @@ import { Dialog, DialogContent, DialogHeader, DialogTitle } from "../../misc/dia
5
5
  import { Button } from "../../misc/button";
6
6
  import { Avatar, AvatarFallback, AvatarImage } from "../../misc/avatar";
7
7
  import { Search, UserPlus, UserMinus, Shield, ShieldCheck } from "lucide-react";
8
- import { chatApi } from "@myrjfa/state/dist/lib/actions/chat";
8
+ import { chatApi } from "@myrjfa/state";
9
9
  import { Input } from "../../misc/input";
10
10
  import { Badge } from "../../misc/badge";
11
11
  import { AddMemberDialog } from "./AddMemberDialog";
@@ -1 +1 @@
1
- {"version":3,"file":"action-buttons.d.ts","sourceRoot":"","sources":["../../src/dashboard/action-buttons.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnG,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,UAAU,kBAAkB;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,eAAsB,EAAE,YAAgB,EAAE,EAAE,kBAAkB,2CAsCtG"}
1
+ {"version":3,"file":"action-buttons.d.ts","sourceRoot":"","sources":["../../src/dashboard/action-buttons.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnG,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,UAAU,kBAAkB;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,eAAsB,EAAE,YAAgB,EAAE,EAAE,kBAAkB,2CA+CtG"}
@@ -5,5 +5,11 @@ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigge
5
5
  export function ActionButtons({ actions, includeMoreMenu = true, maxDisplayed = 0 }) {
6
6
  const displayedActions = actions.slice(0, maxDisplayed);
7
7
  const menuActions = includeMoreMenu ? actions.slice(maxDisplayed) : [];
8
- return (_jsxs("div", { className: "flex items-center gap-2", children: [displayedActions.map((action, index) => (_jsxs(Button, { variant: action.variant || 'outline', size: "sm", onClick: action.action, className: 'cursor-pointer', children: [action.icon, _jsx("span", { className: "ml-1", children: action.label })] }, index))), menuActions.length > 0 && (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", size: "sm", children: _jsx(MoreHorizontal, { className: "h-4 w-4 cursor-pointer" }) }) }), _jsx(DropdownMenuContent, { align: "end", children: menuActions.map((action, index) => (_jsxs(DropdownMenuItem, { onClick: action.action, children: [action.icon, _jsx("span", { className: "ml-2", children: action.label })] }, index))) })] }))] }));
8
+ return (_jsxs("div", { className: "flex items-center gap-2", children: [displayedActions.map((action, index) => (_jsxs(Button, { variant: action.variant || 'outline', size: "sm", onClick: (e) => {
9
+ e.stopPropagation();
10
+ action.action();
11
+ }, className: 'cursor-pointer', children: [action.icon, _jsx("span", { className: "ml-1", children: action.label })] }, index))), menuActions.length > 0 && (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", size: "sm", children: _jsx(MoreHorizontal, { className: "h-4 w-4 cursor-pointer" }) }) }), _jsx(DropdownMenuContent, { align: "end", children: menuActions.map((action, index) => (_jsxs(DropdownMenuItem, { onClick: (e) => {
12
+ e.stopPropagation();
13
+ action.action();
14
+ }, children: [action.icon, _jsx("span", { className: "ml-2", children: action.label })] }, index))) })] }))] }));
9
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app-sidebar.d.ts","sourceRoot":"","sources":["../../src/dashboard/app-sidebar.tsx"],"names":[],"mappings":"AAsBA,OAAO,EACL,OAAO,EAIR,MAAM,iBAAiB,CAAA;AAGxB,wBAAgB,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,OAAO,CAAC,2CA+I5E"}
1
+ {"version":3,"file":"app-sidebar.d.ts","sourceRoot":"","sources":["../../src/dashboard/app-sidebar.tsx"],"names":[],"mappings":"AAuBA,OAAO,EACL,OAAO,EAIR,MAAM,iBAAiB,CAAA;AAGxB,wBAAgB,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,OAAO,CAAC,2CAoJ5E"}
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { logoutUser } from "@myrjfa/state/dist/lib/actions/auth";
4
- import { isLoggedInAtom, userAtom, userLoadingAtom } from "@myrjfa/state/dist/lib/userAtom";
3
+ import { logoutUser } from "@myrjfa/state";
4
+ import { isLoggedInAtom, userAtom, userLoadingAtom } from "@myrjfa/state";
5
5
  import { useAtom, useAtomValue, useSetAtom } from "jotai";
6
- import { FileText, HelpCircleIcon, Inbox, LayoutDashboardIcon, LogOutIcon, Package, User } from "lucide-react";
6
+ import { FileText, HelpCircleIcon, Inbox, LayoutDashboardIcon, LogOutIcon, Package, User, Building2 } from "lucide-react";
7
7
  import { useRouter } from "next/navigation";
8
8
  import { useEffect } from "react";
9
9
  import { NavMain } from "../dashboard/nav-main";
@@ -34,7 +34,7 @@ export function AppSidebar({ ...props }) {
34
34
  icon: User,
35
35
  },
36
36
  {
37
- title: "My Opportunities",
37
+ title: "Dashboard",
38
38
  url: user ? `/overview/${(_b = user.role) !== null && _b !== void 0 ? _b : "user"}` : "#",
39
39
  icon: LayoutDashboardIcon
40
40
  },
@@ -45,6 +45,11 @@ export function AppSidebar({ ...props }) {
45
45
  url: `/overview/${user.role}/packages`,
46
46
  icon: Package,
47
47
  },
48
+ {
49
+ title: "My Properties",
50
+ url: `/overview/${user.role}#properties`,
51
+ icon: Building2,
52
+ },
48
53
  ]
49
54
  : []),
50
55
  ...((user === null || user === void 0 ? void 0 : user.role) === "admin" || (user === null || user === void 0 ? void 0 : user.role) === "host"
@@ -6,6 +6,6 @@ interface CardHeaderProps {
6
6
  onClick: () => void;
7
7
  };
8
8
  }
9
- export declare function CardHeader({ title, description, action }: CardHeaderProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function DashboardCardHeader({ title, description, action }: CardHeaderProps): import("react/jsx-runtime").JSX.Element;
10
10
  export {};
11
11
  //# sourceMappingURL=card-header.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"card-header.d.ts","sourceRoot":"","sources":["../../src/dashboard/card-header.tsx"],"names":[],"mappings":"AAKA,UAAU,eAAe;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,IAAI,CAAC;KACvB,CAAC;CACL;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,eAAe,2CAezE"}
1
+ {"version":3,"file":"card-header.d.ts","sourceRoot":"","sources":["../../src/dashboard/card-header.tsx"],"names":[],"mappings":"AAKA,UAAU,eAAe;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,IAAI,CAAC;KACvB,CAAC;CACL;AAED,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,eAAe,2CAelF"}
@@ -2,6 +2,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // components/ui/card-header.tsx
3
3
  import { PlusCircle } from 'lucide-react';
4
4
  import { Button } from '../misc/button';
5
- export function CardHeader({ title, description, action }) {
5
+ export function DashboardCardHeader({ title, description, action }) {
6
6
  return (_jsxs("div", { className: "flex flex-col sm:flex-row justify-between items-start sm:items-center mb-6 gap-4", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-2xl font-bold tracking-tight", children: title }), description && _jsx("p", { className: "text-muted-foreground mt-1", children: description })] }), action && (_jsxs(Button, { onClick: action.onClick, children: [_jsx(PlusCircle, { className: "mr-2 h-4 w-4" }), action.label] }))] }));
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cn, getStatusColor } from '@myrjfa/state/dist/lib/utils';
2
+ import { cn, getStatusColor } from '@myrjfa/state';
3
3
  import { Progress } from '../misc/progress';
4
4
  export function StatusBadge({ status, className }) {
5
5
  const statusColor = getStatusColor(status);
@@ -10,11 +10,10 @@ interface DataTableProps<T> {
10
10
  columns: Column<T>[];
11
11
  actions?: (item: T) => JSX.Element;
12
12
  onRowClick?: (id: string) => void;
13
- getRowClass?: (item: T) => string;
14
13
  }
15
14
  export declare function DataTable<T extends {
16
15
  slug?: string;
17
16
  _id?: string;
18
- }>({ data, columns, actions, onRowClick, getRowClass, }: DataTableProps<T>): import("react/jsx-runtime").JSX.Element;
17
+ }>({ data, columns, actions, onRowClick, }: DataTableProps<T>): import("react/jsx-runtime").JSX.Element;
19
18
  export {};
20
19
  //# sourceMappingURL=data-table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../../src/dashboard/data-table.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,GAAG,EAAqB,MAAM,OAAO,CAAC;AAYtD,MAAM,WAAW,MAAM,CAAC,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC,CAAC;IACrB,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,cAAc,CAAC,CAAC;IACtB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC;IACnC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;CACrC;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,EACjE,IAAI,EACJ,OAAO,EACP,OAAO,EACP,UAAU,EACV,WAAW,GACd,EAAE,cAAc,CAAC,CAAC,CAAC,2CAuNnB"}
1
+ {"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../../src/dashboard/data-table.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,GAAG,EAAqB,MAAM,OAAO,CAAC;AAYtD,MAAM,WAAW,MAAM,CAAC,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC,CAAC;IACrB,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,cAAc,CAAC,CAAC;IACtB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC;IACnC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,EACjE,IAAI,EACJ,OAAO,EACP,OAAO,EACP,UAAU,GACb,EAAE,cAAc,CAAC,CAAC,CAAC,2CAsNnB"}
@@ -1,9 +1,9 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { ChevronDown, ChevronUp, Inbox } from 'lucide-react';
3
- import { useMemo, useState } from 'react';
3
+ import React, { useMemo, useState } from 'react';
4
4
  import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from '../dashboard/table';
5
5
  import { Input } from '../misc/input';
6
- export function DataTable({ data, columns, actions, onRowClick, getRowClass, }) {
6
+ export function DataTable({ data, columns, actions, onRowClick, }) {
7
7
  const [searchQuery, setSearchQuery] = useState('');
8
8
  const [sortColumn, setSortColumn] = useState(null);
9
9
  const [sortDirection, setSortDirection] = useState('asc');
@@ -38,17 +38,17 @@ export function DataTable({ data, columns, actions, onRowClick, getRowClass, })
38
38
  setSortDirection('asc');
39
39
  }
40
40
  };
41
- return (_jsxs("div", { className: "w-full", children: [_jsx("div", { className: "p-2", children: _jsx(Input, { placeholder: "Search...", className: "mb-4 max-w-sm", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value) }) }), _jsx("div", { className: "hidden lg:block overflow-auto", children: _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [columns.map((column) => (_jsx(TableHead, { className: "cursor-pointer select-none", onClick: () => column.sortable && toggleSort(column.accessorKey), children: _jsxs("div", { className: "flex items-center gap-1", children: [column.header, column.sortable && (sortColumn === column.accessorKey ? (sortDirection === 'asc' ? (_jsx(ChevronUp, { className: "w-4 h-4 text-black" })) : (_jsx(ChevronDown, { className: "w-4 h-4 text-black" }))) : (_jsxs("div", { className: "flex flex-col text-gray-400 leading-none", children: [_jsx(ChevronUp, { className: "w-3 h-3 -mb-1" }), _jsx(ChevronDown, { className: "w-3 h-3" })] })))] }) }, column.accessorKey))), actions && _jsx(TableHead, { children: "Actions" })] }) }), _jsx(TableBody, { children: sortedData.length === 0 ? (_jsx(TableRow, { children: _jsx(TableCell, { colSpan: columns.length + (actions ? 1 : 0), className: "h-40 text-center text-gray-500", children: _jsxs("div", { className: "flex flex-col items-center justify-center gap-2", children: [_jsx(Inbox, { className: "w-8 h-8 text-gray-400" }), _jsx("span", { className: "text-base font-medium", children: "No data available" })] }) }) })) : (sortedData.map((item) => {
42
- const key = item.slug || item._id || Math.random().toString();
43
- return (_jsxs(TableRow, { onClick: () => onRowClick && onRowClick(key), className: `${onRowClick ? 'hover:bg-accent cursor-pointer' : ''} ${getRowClass ? getRowClass(item) : ''}`, children: [columns.map((column) => (_jsx(TableCell, { children: column.cell
41
+ return (_jsxs("div", { className: "w-full", children: [_jsx("div", { className: "p-2", children: _jsx(Input, { placeholder: "Search...", className: "mb-4 max-w-sm", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value) }) }), _jsx("div", { className: "hidden lg:block overflow-auto", children: _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [columns.map((column) => (_jsx(TableHead, { className: "cursor-pointer select-none", onClick: () => column.sortable && toggleSort(column.accessorKey), children: _jsxs("div", { className: "flex items-center gap-1", children: [column.header, column.sortable && (sortColumn === column.accessorKey ? (sortDirection === 'asc' ? (_jsx(ChevronUp, { className: "w-4 h-4 text-black" })) : (_jsx(ChevronDown, { className: "w-4 h-4 text-black" }))) : (_jsxs("div", { className: "flex flex-col text-gray-400 leading-none", children: [_jsx(ChevronUp, { className: "w-3 h-3 -mb-1" }), _jsx(ChevronDown, { className: "w-3 h-3" })] })))] }) }, column.accessorKey))), actions && _jsx(TableHead, { children: "Actions" })] }) }), _jsx(TableBody, { children: sortedData.length === 0 ? (_jsx(TableRow, { children: _jsx(TableCell, { colSpan: columns.length + (actions ? 1 : 0), className: "h-40 text-center text-gray-500", children: _jsxs("div", { className: "flex flex-col items-center justify-center gap-2", children: [_jsx(Inbox, { className: "w-8 h-8 text-gray-400" }), _jsx("span", { className: "text-base font-medium", children: "No data available" })] }) }) })) : (sortedData.map((item, index) => {
42
+ const key = `${item.slug || item._id || 'row'}-${index}`;
43
+ return (_jsxs(TableRow, { onClick: () => onRowClick && onRowClick(key), className: onRowClick ? 'hover:bg-accent cursor-pointer' : '', children: [columns.map((column) => (_jsx(TableCell, { children: column.cell
44
44
  ? column.cell(item)
45
45
  : item[column.accessorKey] }, column.accessorKey))), actions && (_jsx(TableCell, { onClick: (e) => e.stopPropagation(), children: actions(item) }))] }, key));
46
- })) })] }) }), _jsx("div", { className: "lg:hidden", children: _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsx(TableRow, { children: columns.slice(1).map((column) => (_jsx(TableHead, { className: "cursor-pointer select-none", onClick: () => column.sortable && toggleSort(column.accessorKey), children: _jsxs("div", { className: "flex items-center gap-1", children: [column.header, column.sortable && (sortColumn === column.accessorKey ? (sortDirection === 'asc' ? (_jsx(ChevronUp, { className: "w-4 h-4 text-black" })) : (_jsx(ChevronDown, { className: "w-4 h-4 text-black" }))) : (_jsxs("div", { className: "flex flex-col text-gray-400 leading-none", children: [_jsx(ChevronUp, { className: "w-3 h-3 -mb-1" }), _jsx(ChevronDown, { className: "w-3 h-3" })] })))] }) }, column.accessorKey))) }) }), _jsx(TableBody, { children: sortedData.length === 0 ? (_jsx(TableRow, { children: _jsx(TableCell, { colSpan: columns.length + (actions ? 1 : 0), className: "h-40 text-center text-gray-500", children: _jsxs("div", { className: "flex flex-col items-center justify-center gap-2", children: [_jsx(Inbox, { className: "w-8 h-8 text-gray-400" }), _jsx("span", { className: "text-base font-medium", children: "No data available" })] }) }) })) : (sortedData.map((item) => {
47
- const key = item.slug || item._id || Math.random().toString();
48
- return (_jsxs(_Fragment, { children: [_jsx(TableRow, { className: "bg-gray-100", children: _jsx(TableCell, { colSpan: columns.length - 1, className: "py-3", children: _jsx("div", { className: "font-semibold text-gray-900", children: columns[0].cell
46
+ })) })] }) }), _jsx("div", { className: "lg:hidden", children: _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsx(TableRow, { children: columns.slice(1).map((column) => (_jsx(TableHead, { className: "cursor-pointer select-none", onClick: () => column.sortable && toggleSort(column.accessorKey), children: _jsxs("div", { className: "flex items-center gap-1", children: [column.header, column.sortable && (sortColumn === column.accessorKey ? (sortDirection === 'asc' ? (_jsx(ChevronUp, { className: "w-4 h-4 text-black" })) : (_jsx(ChevronDown, { className: "w-4 h-4 text-black" }))) : (_jsxs("div", { className: "flex flex-col text-gray-400 leading-none", children: [_jsx(ChevronUp, { className: "w-3 h-3 -mb-1" }), _jsx(ChevronDown, { className: "w-3 h-3" })] })))] }) }, column.accessorKey))) }) }), _jsx(TableBody, { children: sortedData.length === 0 ? (_jsx(TableRow, { children: _jsx(TableCell, { colSpan: columns.length + (actions ? 1 : 0), className: "h-40 text-center text-gray-500", children: _jsxs("div", { className: "flex flex-col items-center justify-center gap-2", children: [_jsx(Inbox, { className: "w-8 h-8 text-gray-400" }), _jsx("span", { className: "text-base font-medium", children: "No data available" })] }) }) })) : (sortedData.map((item, index) => {
47
+ const key = `${item.slug || item._id || 'row'}-${index}`;
48
+ return (_jsxs(React.Fragment, { children: [_jsx(TableRow, { className: "bg-gray-100", children: _jsx(TableCell, { colSpan: columns.length - 1, className: "py-3", children: _jsx("div", { className: "font-semibold text-gray-900", children: columns[0].cell
49
49
  ? columns[0].cell(item)
50
- : item[columns[0].accessorKey] }) }) }), _jsx(TableRow, { onClick: () => onRowClick && onRowClick(key), className: `${onRowClick ? 'hover:bg-accent cursor-pointer' : ''} ${getRowClass ? getRowClass(item) : ''}`, children: columns.slice(1).map((column) => (_jsx(TableCell, { children: column.cell
50
+ : item[columns[0].accessorKey] }) }) }), _jsx(TableRow, { onClick: () => onRowClick && onRowClick(key), className: onRowClick ? 'hover:bg-accent cursor-pointer' : '', children: columns.slice(1).map((column) => (_jsx(TableCell, { children: column.cell
51
51
  ? column.cell(item)
52
- : item[column.accessorKey] }, column.accessorKey))) }, key), actions && (_jsx(TableRow, { className: "bg-gray-30", children: _jsx(TableCell, { colSpan: columns.length - 1, className: "py-3", onClick: (e) => e.stopPropagation(), children: actions(item) }) }))] }));
52
+ : item[column.accessorKey] }, column.accessorKey))) }), actions && (_jsx(TableRow, { className: "bg-gray-30", children: _jsx(TableCell, { colSpan: columns.length - 1, className: "py-3", onClick: (e) => e.stopPropagation(), children: actions(item) }) }))] }, key));
53
53
  })) })] }) })] }));
54
54
  }
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  // components/ui/table.tsx
3
- import { cn } from "@myrjfa/state/dist/lib/utils";
3
+ import { cn } from "@myrjfa/state";
4
4
  import * as React from "react";
5
5
  const Table = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { className: "relative w-full overflow-auto", children: _jsx("table", { ref: ref, className: cn("w-full caption-bottom text-sm", className), ...props }) })));
6
6
  Table.displayName = "Table";
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cn } from "@myrjfa/state/dist/lib/utils";
2
+ import { cn } from "@myrjfa/state";
3
3
  import Link from "next/link";
4
4
  export function MobileNavItem({ label, href, className, icon }) {
5
5
  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] }));
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cn } from "@myrjfa/state/dist/lib/utils";
2
+ import { cn } from "@myrjfa/state";
3
3
  import Link from "next/link";
4
4
  export function NavItem({ label, href, className, icon, external }) {
5
5
  return (_jsxs(Link, { href: href, target: external ? "_blank" : undefined, rel: external ? "noopener noreferrer" : undefined, 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] }));
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  export * from './misc/button';
2
- export * from './misc/empty-state';
3
2
  export * from './misc/accordion';
4
3
  export * from './misc/alert';
5
4
  export * from './misc/alertdialogclaude';
6
5
  export * from './misc/avatar';
7
6
  export * from './misc/badge';
7
+ export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from './misc/card';
8
8
  export * from './misc/carousel';
9
9
  export * from './misc/checkbox';
10
10
  export * from './misc/command';
@@ -39,10 +39,11 @@ export * from './misc/stateCard';
39
39
  export * from './misc/tabs';
40
40
  export * from './misc/textarea';
41
41
  export * from './misc/tile';
42
+ export * from './misc/rental-tile';
42
43
  export * from './misc/tooltip';
43
44
  export * from './dashboard/action-buttons';
44
45
  export * from './dashboard/app-sidebar';
45
- export * from './dashboard/card-header';
46
+ export { DashboardCardHeader } from './dashboard/card-header';
46
47
  export * from './dashboard/dashboard-components';
47
48
  export * from './dashboard/data-table';
48
49
  export * from './dashboard/nav-main';
@@ -55,9 +56,4 @@ export * from './main/footer';
55
56
  export * from './main/navbar';
56
57
  export * from './main/paginationBar';
57
58
  export * from './main/review-page';
58
- export * from './misc/image-cropper';
59
- export * from './misc/pwa-install-button';
60
- export * from './misc/whatsapp-help';
61
- export * from './misc/image-compressor';
62
- export * from './misc/skeleton';
63
59
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,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;AACnC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC"}
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,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpG,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,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,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"}