@open-mercato/core 0.4.5-develop-636d33c995 → 0.4.5-develop-3d8e759e45

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 (211) hide show
  1. package/dist/modules/catalog/backend/catalog/categories/[id]/edit/page.js +17 -2
  2. package/dist/modules/catalog/backend/catalog/categories/[id]/edit/page.js.map +2 -2
  3. package/dist/modules/catalog/backend/catalog/products/[id]/page.js +15 -0
  4. package/dist/modules/catalog/backend/catalog/products/[id]/page.js.map +2 -2
  5. package/dist/modules/catalog/backend/catalog/products/[productId]/variants/[variantId]/page.js +30 -0
  6. package/dist/modules/catalog/backend/catalog/products/[productId]/variants/[variantId]/page.js.map +2 -2
  7. package/dist/modules/catalog/inbox-actions.js +51 -0
  8. package/dist/modules/catalog/inbox-actions.js.map +7 -0
  9. package/dist/modules/catalog/lib/messageObjectPreviews.js +146 -0
  10. package/dist/modules/catalog/lib/messageObjectPreviews.js.map +7 -0
  11. package/dist/modules/catalog/message-objects.js +95 -0
  12. package/dist/modules/catalog/message-objects.js.map +7 -0
  13. package/dist/modules/currencies/backend/currencies/[id]/page.js +21 -0
  14. package/dist/modules/currencies/backend/currencies/[id]/page.js.map +2 -2
  15. package/dist/modules/currencies/lib/messageObjectPreviews.js +51 -0
  16. package/dist/modules/currencies/lib/messageObjectPreviews.js.map +7 -0
  17. package/dist/modules/currencies/message-objects.js +41 -0
  18. package/dist/modules/currencies/message-objects.js.map +7 -0
  19. package/dist/modules/customers/backend/customers/companies/[id]/page.js +20 -0
  20. package/dist/modules/customers/backend/customers/companies/[id]/page.js.map +2 -2
  21. package/dist/modules/customers/backend/customers/deals/[id]/page.js +12 -1
  22. package/dist/modules/customers/backend/customers/deals/[id]/page.js.map +2 -2
  23. package/dist/modules/customers/backend/customers/people/[id]/page.js +20 -0
  24. package/dist/modules/customers/backend/customers/people/[id]/page.js.map +2 -2
  25. package/dist/modules/customers/components/detail/CompanyHighlights.js +18 -14
  26. package/dist/modules/customers/components/detail/CompanyHighlights.js.map +2 -2
  27. package/dist/modules/customers/components/detail/PersonHighlights.js +18 -14
  28. package/dist/modules/customers/components/detail/PersonHighlights.js.map +2 -2
  29. package/dist/modules/customers/inbox-actions.js +230 -0
  30. package/dist/modules/customers/inbox-actions.js.map +7 -0
  31. package/dist/modules/customers/lib/messageObjectPreviews.js +41 -5
  32. package/dist/modules/customers/lib/messageObjectPreviews.js.map +2 -2
  33. package/dist/modules/customers/message-objects.js +31 -11
  34. package/dist/modules/customers/message-objects.js.map +2 -2
  35. package/dist/modules/inbox_ops/api/emails/[id]/route.js +40 -1
  36. package/dist/modules/inbox_ops/api/emails/[id]/route.js.map +2 -2
  37. package/dist/modules/inbox_ops/api/extract/route.js +87 -0
  38. package/dist/modules/inbox_ops/api/extract/route.js.map +7 -0
  39. package/dist/modules/inbox_ops/api/proposals/[id]/translate/route.js +6 -1
  40. package/dist/modules/inbox_ops/api/proposals/[id]/translate/route.js.map +2 -2
  41. package/dist/modules/inbox_ops/api/proposals/counts/route.js.map +2 -2
  42. package/dist/modules/inbox_ops/backend/inbox-ops/log/page.js +40 -14
  43. package/dist/modules/inbox_ops/backend/inbox-ops/log/page.js.map +2 -2
  44. package/dist/modules/inbox_ops/backend/inbox-ops/log/page.meta.js +2 -2
  45. package/dist/modules/inbox_ops/backend/inbox-ops/log/page.meta.js.map +2 -2
  46. package/dist/modules/inbox_ops/backend/inbox-ops/page.js +161 -79
  47. package/dist/modules/inbox_ops/backend/inbox-ops/page.js.map +2 -2
  48. package/dist/modules/inbox_ops/backend/inbox-ops/page.meta.js +2 -2
  49. package/dist/modules/inbox_ops/backend/inbox-ops/page.meta.js.map +2 -2
  50. package/dist/modules/inbox_ops/backend/inbox-ops/proposals/[id]/page.js +109 -62
  51. package/dist/modules/inbox_ops/backend/inbox-ops/proposals/[id]/page.js.map +3 -3
  52. package/dist/modules/inbox_ops/backend/inbox-ops/proposals/[id]/page.meta.js +2 -2
  53. package/dist/modules/inbox_ops/backend/inbox-ops/proposals/[id]/page.meta.js.map +2 -2
  54. package/dist/modules/inbox_ops/backend/inbox-ops/settings/page.js +36 -14
  55. package/dist/modules/inbox_ops/backend/inbox-ops/settings/page.js.map +2 -2
  56. package/dist/modules/inbox_ops/backend/inbox-ops/settings/page.meta.js +2 -2
  57. package/dist/modules/inbox_ops/backend/inbox-ops/settings/page.meta.js.map +2 -2
  58. package/dist/modules/inbox_ops/components/proposals/ActionCard.js +65 -10
  59. package/dist/modules/inbox_ops/components/proposals/ActionCard.js.map +2 -2
  60. package/dist/modules/inbox_ops/components/proposals/EditActionDialog.js +58 -10
  61. package/dist/modules/inbox_ops/components/proposals/EditActionDialog.js.map +2 -2
  62. package/dist/modules/inbox_ops/lib/constants.js.map +2 -2
  63. package/dist/modules/inbox_ops/lib/contactValidation.js +40 -0
  64. package/dist/modules/inbox_ops/lib/contactValidation.js.map +7 -0
  65. package/dist/modules/inbox_ops/lib/executionEngine.js +31 -826
  66. package/dist/modules/inbox_ops/lib/executionEngine.js.map +3 -3
  67. package/dist/modules/inbox_ops/lib/executionHelpers.js +368 -0
  68. package/dist/modules/inbox_ops/lib/executionHelpers.js.map +7 -0
  69. package/dist/modules/inbox_ops/lib/extractionPrompt.js +28 -35
  70. package/dist/modules/inbox_ops/lib/extractionPrompt.js.map +3 -3
  71. package/dist/modules/inbox_ops/lib/inbox-actions-generated.d.js +1 -0
  72. package/dist/modules/inbox_ops/lib/inbox-actions-generated.d.js.map +7 -0
  73. package/dist/modules/inbox_ops/lib/translationProvider.js +15 -10
  74. package/dist/modules/inbox_ops/lib/translationProvider.js.map +2 -2
  75. package/dist/modules/inbox_ops/subscribers/extractionWorker.js +16 -16
  76. package/dist/modules/inbox_ops/subscribers/extractionWorker.js.map +2 -2
  77. package/dist/modules/messages/commands/messages.js +3 -0
  78. package/dist/modules/messages/commands/messages.js.map +2 -2
  79. package/dist/modules/messages/components/message-detail/panels/objects-panel.js +6 -1
  80. package/dist/modules/messages/components/message-detail/panels/objects-panel.js.map +2 -2
  81. package/dist/modules/messages/components/message-detail/panels/thread-panel.js +4 -1
  82. package/dist/modules/messages/components/message-detail/panels/thread-panel.js.map +2 -2
  83. package/dist/modules/messages/frontend/messages/view/[token]/page.js +1 -0
  84. package/dist/modules/messages/frontend/messages/view/[token]/page.js.map +2 -2
  85. package/dist/modules/resources/backend/resources/resources/[id]/page.js +24 -7
  86. package/dist/modules/resources/backend/resources/resources/[id]/page.js.map +2 -2
  87. package/dist/modules/resources/lib/messageObjectPreviews.js +43 -0
  88. package/dist/modules/resources/lib/messageObjectPreviews.js.map +7 -0
  89. package/dist/modules/resources/message-objects.js +37 -0
  90. package/dist/modules/resources/message-objects.js.map +7 -0
  91. package/dist/modules/sales/backend/sales/channels/[channelId]/edit/page.js +19 -0
  92. package/dist/modules/sales/backend/sales/channels/[channelId]/edit/page.js.map +2 -2
  93. package/dist/modules/sales/backend/sales/documents/[id]/page.js +23 -2
  94. package/dist/modules/sales/backend/sales/documents/[id]/page.js.map +2 -2
  95. package/dist/modules/sales/backend/sales/quotes/[id]/page.js +1 -1
  96. package/dist/modules/sales/backend/sales/quotes/[id]/page.js.map +2 -2
  97. package/dist/modules/sales/inbox-actions.js +278 -0
  98. package/dist/modules/sales/inbox-actions.js.map +7 -0
  99. package/dist/modules/sales/lib/messageObjectPreviews.js +49 -4
  100. package/dist/modules/sales/lib/messageObjectPreviews.js.map +2 -2
  101. package/dist/modules/sales/message-objects.js +44 -2
  102. package/dist/modules/sales/message-objects.js.map +2 -2
  103. package/dist/modules/sales/widgets/messages/SalesDocumentMessageDetail.js +59 -30
  104. package/dist/modules/sales/widgets/messages/SalesDocumentMessageDetail.js.map +2 -2
  105. package/dist/modules/sales/widgets/messages/SalesDocumentMessagePreview.js +1 -1
  106. package/dist/modules/sales/widgets/messages/SalesDocumentMessagePreview.js.map +1 -1
  107. package/dist/modules/staff/backend/staff/leave-requests/[id]/page.js +8 -30
  108. package/dist/modules/staff/backend/staff/leave-requests/[id]/page.js.map +2 -2
  109. package/dist/modules/staff/backend/staff/my-availability/page.js +13 -0
  110. package/dist/modules/staff/backend/staff/my-availability/page.js.map +2 -2
  111. package/dist/modules/staff/backend/staff/my-leave-requests/[id]/page.js +8 -31
  112. package/dist/modules/staff/backend/staff/my-leave-requests/[id]/page.js.map +2 -2
  113. package/dist/modules/staff/backend/staff/team-members/[id]/page.js +32 -10
  114. package/dist/modules/staff/backend/staff/team-members/[id]/page.js.map +2 -2
  115. package/dist/modules/staff/backend/staff/team-roles/[id]/edit/page.js +14 -1
  116. package/dist/modules/staff/backend/staff/team-roles/[id]/edit/page.js.map +2 -2
  117. package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js +14 -1
  118. package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js.map +2 -2
  119. package/dist/modules/staff/components/TeamForm.js +4 -2
  120. package/dist/modules/staff/components/TeamForm.js.map +2 -2
  121. package/dist/modules/staff/components/TeamRoleForm.js +4 -2
  122. package/dist/modules/staff/components/TeamRoleForm.js.map +2 -2
  123. package/dist/modules/staff/lib/messageObjectPreviews.js +111 -2
  124. package/dist/modules/staff/lib/messageObjectPreviews.js.map +2 -2
  125. package/dist/modules/staff/message-objects.js +79 -8
  126. package/dist/modules/staff/message-objects.js.map +2 -2
  127. package/jest.config.cjs +1 -0
  128. package/jest.mocks/inbox-actions.generated.js +5 -0
  129. package/package.json +2 -2
  130. package/src/modules/catalog/backend/catalog/categories/[id]/edit/page.tsx +19 -5
  131. package/src/modules/catalog/backend/catalog/products/[id]/page.tsx +14 -0
  132. package/src/modules/catalog/backend/catalog/products/[productId]/variants/[variantId]/page.tsx +40 -0
  133. package/src/modules/catalog/inbox-actions.ts +60 -0
  134. package/src/modules/catalog/lib/messageObjectPreviews.ts +176 -0
  135. package/src/modules/catalog/message-objects.ts +102 -0
  136. package/src/modules/currencies/backend/currencies/[id]/page.tsx +20 -0
  137. package/src/modules/currencies/lib/messageObjectPreviews.ts +65 -0
  138. package/src/modules/currencies/message-objects.ts +40 -0
  139. package/src/modules/customers/backend/customers/companies/[id]/page.tsx +19 -0
  140. package/src/modules/customers/backend/customers/deals/[id]/page.tsx +13 -0
  141. package/src/modules/customers/backend/customers/people/[id]/page.tsx +19 -0
  142. package/src/modules/customers/components/detail/CompanyHighlights.tsx +14 -9
  143. package/src/modules/customers/components/detail/PersonHighlights.tsx +14 -9
  144. package/src/modules/customers/inbox-actions.ts +285 -0
  145. package/src/modules/customers/lib/messageObjectPreviews.ts +43 -3
  146. package/src/modules/customers/message-objects.ts +31 -11
  147. package/src/modules/inbox_ops/api/emails/[id]/route.ts +44 -0
  148. package/src/modules/inbox_ops/api/extract/route.ts +94 -0
  149. package/src/modules/inbox_ops/api/proposals/[id]/translate/route.ts +6 -1
  150. package/src/modules/inbox_ops/api/proposals/counts/route.ts +2 -0
  151. package/src/modules/inbox_ops/backend/inbox-ops/log/page.meta.ts +2 -2
  152. package/src/modules/inbox_ops/backend/inbox-ops/log/page.tsx +43 -13
  153. package/src/modules/inbox_ops/backend/inbox-ops/page.meta.ts +2 -2
  154. package/src/modules/inbox_ops/backend/inbox-ops/page.tsx +176 -81
  155. package/src/modules/inbox_ops/backend/inbox-ops/proposals/[id]/page.meta.ts +2 -2
  156. package/src/modules/inbox_ops/backend/inbox-ops/proposals/[id]/page.tsx +122 -68
  157. package/src/modules/inbox_ops/backend/inbox-ops/settings/page.meta.ts +2 -2
  158. package/src/modules/inbox_ops/backend/inbox-ops/settings/page.tsx +36 -14
  159. package/src/modules/inbox_ops/components/proposals/ActionCard.tsx +91 -7
  160. package/src/modules/inbox_ops/components/proposals/EditActionDialog.tsx +64 -12
  161. package/src/modules/inbox_ops/lib/constants.ts +9 -0
  162. package/src/modules/inbox_ops/lib/contactValidation.ts +54 -0
  163. package/src/modules/inbox_ops/lib/executionEngine.ts +47 -1060
  164. package/src/modules/inbox_ops/lib/executionHelpers.ts +527 -0
  165. package/src/modules/inbox_ops/lib/extractionPrompt.ts +45 -34
  166. package/src/modules/inbox_ops/lib/inbox-actions-generated.d.ts +11 -0
  167. package/src/modules/inbox_ops/lib/translationProvider.ts +16 -10
  168. package/src/modules/inbox_ops/subscribers/extractionWorker.ts +16 -18
  169. package/src/modules/messages/commands/messages.ts +4 -0
  170. package/src/modules/messages/components/message-detail/panels/objects-panel.tsx +8 -1
  171. package/src/modules/messages/components/message-detail/panels/thread-panel.tsx +3 -0
  172. package/src/modules/messages/frontend/messages/view/[token]/page.tsx +1 -0
  173. package/src/modules/resources/backend/resources/resources/[id]/page.tsx +20 -4
  174. package/src/modules/resources/lib/messageObjectPreviews.ts +55 -0
  175. package/src/modules/resources/message-objects.ts +36 -0
  176. package/src/modules/sales/backend/sales/channels/[channelId]/edit/page.tsx +18 -0
  177. package/src/modules/sales/backend/sales/documents/[id]/page.tsx +23 -0
  178. package/src/modules/sales/backend/sales/quotes/[id]/page.tsx +1 -1
  179. package/src/modules/sales/inbox-actions.ts +359 -0
  180. package/src/modules/sales/lib/messageObjectPreviews.ts +54 -4
  181. package/src/modules/sales/message-objects.ts +44 -2
  182. package/src/modules/sales/widgets/messages/SalesDocumentMessageDetail.tsx +72 -34
  183. package/src/modules/sales/widgets/messages/SalesDocumentMessagePreview.tsx +1 -1
  184. package/src/modules/staff/backend/staff/leave-requests/[id]/page.tsx +7 -29
  185. package/src/modules/staff/backend/staff/my-availability/page.tsx +14 -0
  186. package/src/modules/staff/backend/staff/my-leave-requests/[id]/page.tsx +8 -30
  187. package/src/modules/staff/backend/staff/team-members/[id]/page.tsx +28 -7
  188. package/src/modules/staff/backend/staff/team-roles/[id]/edit/page.tsx +12 -0
  189. package/src/modules/staff/backend/staff/teams/[id]/edit/page.tsx +12 -0
  190. package/src/modules/staff/components/TeamForm.tsx +3 -0
  191. package/src/modules/staff/components/TeamRoleForm.tsx +3 -0
  192. package/src/modules/staff/lib/messageObjectPreviews.ts +133 -2
  193. package/src/modules/staff/message-objects.ts +79 -8
  194. package/dist/modules/customers/widgets/messages/CustomerMessageObjectDetail.js +0 -51
  195. package/dist/modules/customers/widgets/messages/CustomerMessageObjectDetail.js.map +0 -7
  196. package/dist/modules/customers/widgets/messages/CustomerMessageObjectPreview.js +0 -35
  197. package/dist/modules/customers/widgets/messages/CustomerMessageObjectPreview.js.map +0 -7
  198. package/dist/modules/customers/widgets/messages/index.js +0 -7
  199. package/dist/modules/customers/widgets/messages/index.js.map +0 -7
  200. package/dist/modules/staff/widgets/messages/StaffMessageObjectDetail.js +0 -51
  201. package/dist/modules/staff/widgets/messages/StaffMessageObjectDetail.js.map +0 -7
  202. package/dist/modules/staff/widgets/messages/StaffMessageObjectPreview.js +0 -34
  203. package/dist/modules/staff/widgets/messages/StaffMessageObjectPreview.js.map +0 -7
  204. package/dist/modules/staff/widgets/messages/index.js +0 -7
  205. package/dist/modules/staff/widgets/messages/index.js.map +0 -7
  206. package/src/modules/customers/widgets/messages/CustomerMessageObjectDetail.tsx +0 -57
  207. package/src/modules/customers/widgets/messages/CustomerMessageObjectPreview.tsx +0 -49
  208. package/src/modules/customers/widgets/messages/index.ts +0 -2
  209. package/src/modules/staff/widgets/messages/StaffMessageObjectDetail.tsx +0 -57
  210. package/src/modules/staff/widgets/messages/StaffMessageObjectPreview.tsx +0 -44
  211. package/src/modules/staff/widgets/messages/index.ts +0 -2
@@ -1,35 +0,0 @@
1
- "use client";
2
- import { jsx, jsxs } from "react/jsx-runtime";
3
- import { Building2, BriefcaseBusiness, UserRound } from "lucide-react";
4
- import { useT } from "@open-mercato/shared/lib/i18n/context";
5
- import { Badge } from "@open-mercato/ui/primitives/badge";
6
- function CustomerMessageObjectPreview({
7
- entityType,
8
- entityId,
9
- previewData,
10
- actionRequired,
11
- actionLabel
12
- }) {
13
- const t = useT();
14
- const isCompany = entityType === "company";
15
- const isDeal = entityType === "deal";
16
- const Icon = isDeal ? BriefcaseBusiness : isCompany ? Building2 : UserRound;
17
- const fallbackTitle = isDeal ? t("customers.deals.list.title", "Deals") : isCompany ? t("customers.companies.list.title", "Companies") : t("customers.people.list.title", "People");
18
- return /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3 rounded-md border bg-muted/20 p-3", children: [
19
- /* @__PURE__ */ jsx(Icon, { className: "mt-0.5 h-4 w-4 text-muted-foreground" }),
20
- /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1 space-y-1", children: [
21
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
22
- /* @__PURE__ */ jsx("p", { className: "truncate text-sm font-medium", children: previewData?.title || fallbackTitle }),
23
- actionRequired ? /* @__PURE__ */ jsx(Badge, { variant: "secondary", className: "text-xs", children: actionLabel || t("messages.composer.objectActionRequired", "Action required") }) : null
24
- ] }),
25
- /* @__PURE__ */ jsx("p", { className: "truncate text-xs text-muted-foreground", children: previewData?.subtitle || entityId }),
26
- previewData?.status ? /* @__PURE__ */ jsx(Badge, { variant: "outline", className: "text-xs", children: previewData.status }) : null
27
- ] })
28
- ] });
29
- }
30
- var CustomerMessageObjectPreview_default = CustomerMessageObjectPreview;
31
- export {
32
- CustomerMessageObjectPreview,
33
- CustomerMessageObjectPreview_default as default
34
- };
35
- //# sourceMappingURL=CustomerMessageObjectPreview.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/modules/customers/widgets/messages/CustomerMessageObjectPreview.tsx"],
4
- "sourcesContent": ["\"use client\"\n\nimport { Building2, BriefcaseBusiness, UserRound } from 'lucide-react'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\nimport type { ObjectPreviewProps } from '@open-mercato/shared/modules/messages/types'\nimport { Badge } from '@open-mercato/ui/primitives/badge'\n\nexport function CustomerMessageObjectPreview({\n entityType,\n entityId,\n previewData,\n actionRequired,\n actionLabel,\n}: ObjectPreviewProps) {\n const t = useT()\n\n const isCompany = entityType === 'company'\n const isDeal = entityType === 'deal'\n const Icon = isDeal ? BriefcaseBusiness : isCompany ? Building2 : UserRound\n\n const fallbackTitle = isDeal\n ? t('customers.deals.list.title', 'Deals')\n : isCompany\n ? t('customers.companies.list.title', 'Companies')\n : t('customers.people.list.title', 'People')\n\n return (\n <div className=\"flex items-start gap-3 rounded-md border bg-muted/20 p-3\">\n <Icon className=\"mt-0.5 h-4 w-4 text-muted-foreground\" />\n <div className=\"min-w-0 flex-1 space-y-1\">\n <div className=\"flex items-center gap-2\">\n <p className=\"truncate text-sm font-medium\">{previewData?.title || fallbackTitle}</p>\n {actionRequired ? (\n <Badge variant=\"secondary\" className=\"text-xs\">\n {actionLabel || t('messages.composer.objectActionRequired', 'Action required')}\n </Badge>\n ) : null}\n </div>\n <p className=\"truncate text-xs text-muted-foreground\">{previewData?.subtitle || entityId}</p>\n {previewData?.status ? (\n <Badge variant=\"outline\" className=\"text-xs\">{previewData.status}</Badge>\n ) : null}\n </div>\n </div>\n )\n}\n\nexport default CustomerMessageObjectPreview\n\n"],
5
- "mappings": ";AA4BM,cAEE,YAFF;AA1BN,SAAS,WAAW,mBAAmB,iBAAiB;AACxD,SAAS,YAAY;AAErB,SAAS,aAAa;AAEf,SAAS,6BAA6B;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAuB;AACrB,QAAM,IAAI,KAAK;AAEf,QAAM,YAAY,eAAe;AACjC,QAAM,SAAS,eAAe;AAC9B,QAAM,OAAO,SAAS,oBAAoB,YAAY,YAAY;AAElE,QAAM,gBAAgB,SAClB,EAAE,8BAA8B,OAAO,IACvC,YACE,EAAE,kCAAkC,WAAW,IAC/C,EAAE,+BAA+B,QAAQ;AAE/C,SACE,qBAAC,SAAI,WAAU,4DACb;AAAA,wBAAC,QAAK,WAAU,wCAAuC;AAAA,IACvD,qBAAC,SAAI,WAAU,4BACb;AAAA,2BAAC,SAAI,WAAU,2BACb;AAAA,4BAAC,OAAE,WAAU,gCAAgC,uBAAa,SAAS,eAAc;AAAA,QAChF,iBACC,oBAAC,SAAM,SAAQ,aAAY,WAAU,WAClC,yBAAe,EAAE,0CAA0C,iBAAiB,GAC/E,IACE;AAAA,SACN;AAAA,MACA,oBAAC,OAAE,WAAU,0CAA0C,uBAAa,YAAY,UAAS;AAAA,MACxF,aAAa,SACZ,oBAAC,SAAM,SAAQ,WAAU,WAAU,WAAW,sBAAY,QAAO,IAC/D;AAAA,OACN;AAAA,KACF;AAEJ;AAEA,IAAO,uCAAQ;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- import { CustomerMessageObjectDetail } from "./CustomerMessageObjectDetail.js";
2
- import { CustomerMessageObjectPreview } from "./CustomerMessageObjectPreview.js";
3
- export {
4
- CustomerMessageObjectDetail,
5
- CustomerMessageObjectPreview
6
- };
7
- //# sourceMappingURL=index.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/modules/customers/widgets/messages/index.ts"],
4
- "sourcesContent": ["export { CustomerMessageObjectDetail } from './CustomerMessageObjectDetail'\nexport { CustomerMessageObjectPreview } from './CustomerMessageObjectPreview'\n"],
5
- "mappings": "AAAA,SAAS,mCAAmC;AAC5C,SAAS,oCAAoC;",
6
- "names": []
7
- }
@@ -1,51 +0,0 @@
1
- "use client";
2
- import { jsx, jsxs } from "react/jsx-runtime";
3
- import * as React from "react";
4
- import { useT } from "@open-mercato/shared/lib/i18n/context";
5
- import { Button } from "@open-mercato/ui/primitives/button";
6
- import { StaffMessageObjectPreview } from "./StaffMessageObjectPreview.js";
7
- function StaffMessageObjectDetail(props) {
8
- const t = useT();
9
- const [executingActionId, setExecutingActionId] = React.useState(null);
10
- return /* @__PURE__ */ jsxs("div", { className: "space-y-3 rounded border p-3", children: [
11
- /* @__PURE__ */ jsx(
12
- StaffMessageObjectPreview,
13
- {
14
- entityId: props.entityId,
15
- entityModule: props.entityModule,
16
- entityType: props.entityType,
17
- snapshot: props.snapshot,
18
- previewData: props.previewData,
19
- actionRequired: props.actionRequired,
20
- actionType: props.actionType,
21
- actionLabel: props.actionLabel
22
- }
23
- ),
24
- props.actions.length > 0 ? /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: props.actions.map((action) => /* @__PURE__ */ jsx(
25
- Button,
26
- {
27
- type: "button",
28
- size: "sm",
29
- variant: action.variant ?? "default",
30
- disabled: executingActionId !== null,
31
- onClick: async () => {
32
- if (executingActionId) return;
33
- setExecutingActionId(action.id);
34
- try {
35
- await props.onAction(action.id, { id: props.entityId });
36
- } finally {
37
- setExecutingActionId(null);
38
- }
39
- },
40
- children: executingActionId === action.id ? t("messages.actions.executing", "Executing...") : t(action.labelKey ?? action.id, action.id)
41
- },
42
- action.id
43
- )) }) : null
44
- ] });
45
- }
46
- var StaffMessageObjectDetail_default = StaffMessageObjectDetail;
47
- export {
48
- StaffMessageObjectDetail,
49
- StaffMessageObjectDetail_default as default
50
- };
51
- //# sourceMappingURL=StaffMessageObjectDetail.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/modules/staff/widgets/messages/StaffMessageObjectDetail.tsx"],
4
- "sourcesContent": ["\"use client\"\n\nimport * as React from 'react'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\nimport type { ObjectDetailProps } from '@open-mercato/shared/modules/messages/types'\nimport { Button } from '@open-mercato/ui/primitives/button'\nimport { StaffMessageObjectPreview } from './StaffMessageObjectPreview'\n\nexport function StaffMessageObjectDetail(props: ObjectDetailProps) {\n const t = useT()\n const [executingActionId, setExecutingActionId] = React.useState<string | null>(null)\n\n return (\n <div className=\"space-y-3 rounded border p-3\">\n <StaffMessageObjectPreview\n entityId={props.entityId}\n entityModule={props.entityModule}\n entityType={props.entityType}\n snapshot={props.snapshot}\n previewData={props.previewData}\n actionRequired={props.actionRequired}\n actionType={props.actionType}\n actionLabel={props.actionLabel}\n />\n\n {props.actions.length > 0 ? (\n <div className=\"flex flex-wrap gap-2\">\n {props.actions.map((action) => (\n <Button\n key={action.id}\n type=\"button\"\n size=\"sm\"\n variant={action.variant ?? 'default'}\n disabled={executingActionId !== null}\n onClick={async () => {\n if (executingActionId) return\n setExecutingActionId(action.id)\n try {\n await props.onAction(action.id, { id: props.entityId })\n } finally {\n setExecutingActionId(null)\n }\n }}\n >\n {executingActionId === action.id\n ? t('messages.actions.executing', 'Executing...')\n : t(action.labelKey ?? action.id, action.id)}\n </Button>\n ))}\n </div>\n ) : null}\n </div>\n )\n}\n\nexport default StaffMessageObjectDetail\n\n"],
5
- "mappings": ";AAaI,SACE,KADF;AAXJ,YAAY,WAAW;AACvB,SAAS,YAAY;AAErB,SAAS,cAAc;AACvB,SAAS,iCAAiC;AAEnC,SAAS,yBAAyB,OAA0B;AACjE,QAAM,IAAI,KAAK;AACf,QAAM,CAAC,mBAAmB,oBAAoB,IAAI,MAAM,SAAwB,IAAI;AAEpF,SACE,qBAAC,SAAI,WAAU,gCACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,UAAU,MAAM;AAAA,QAChB,cAAc,MAAM;AAAA,QACpB,YAAY,MAAM;AAAA,QAClB,UAAU,MAAM;AAAA,QAChB,aAAa,MAAM;AAAA,QACnB,gBAAgB,MAAM;AAAA,QACtB,YAAY,MAAM;AAAA,QAClB,aAAa,MAAM;AAAA;AAAA,IACrB;AAAA,IAEC,MAAM,QAAQ,SAAS,IACtB,oBAAC,SAAI,WAAU,wBACZ,gBAAM,QAAQ,IAAI,CAAC,WAClB;AAAA,MAAC;AAAA;AAAA,QAEC,MAAK;AAAA,QACL,MAAK;AAAA,QACL,SAAS,OAAO,WAAW;AAAA,QAC3B,UAAU,sBAAsB;AAAA,QAChC,SAAS,YAAY;AACnB,cAAI,kBAAmB;AACvB,+BAAqB,OAAO,EAAE;AAC9B,cAAI;AACF,kBAAM,MAAM,SAAS,OAAO,IAAI,EAAE,IAAI,MAAM,SAAS,CAAC;AAAA,UACxD,UAAE;AACA,iCAAqB,IAAI;AAAA,UAC3B;AAAA,QACF;AAAA,QAEC,gCAAsB,OAAO,KAC1B,EAAE,8BAA8B,cAAc,IAC9C,EAAE,OAAO,YAAY,OAAO,IAAI,OAAO,EAAE;AAAA;AAAA,MAjBxC,OAAO;AAAA,IAkBd,CACD,GACH,IACE;AAAA,KACN;AAEJ;AAEA,IAAO,mCAAQ;",
6
- "names": []
7
- }
@@ -1,34 +0,0 @@
1
- "use client";
2
- import { jsx, jsxs } from "react/jsx-runtime";
3
- import { UserRound, Users } from "lucide-react";
4
- import { useT } from "@open-mercato/shared/lib/i18n/context";
5
- import { Badge } from "@open-mercato/ui/primitives/badge";
6
- function StaffMessageObjectPreview({
7
- entityType,
8
- entityId,
9
- previewData,
10
- actionRequired,
11
- actionLabel
12
- }) {
13
- const t = useT();
14
- const isTeam = entityType === "team";
15
- const Icon = isTeam ? Users : UserRound;
16
- const fallbackTitle = isTeam ? t("staff.teams.page.title", "Teams") : t("staff.teamMembers.page.title", "Team members");
17
- return /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3 rounded-md border bg-muted/20 p-3", children: [
18
- /* @__PURE__ */ jsx(Icon, { className: "mt-0.5 h-4 w-4 text-muted-foreground" }),
19
- /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1 space-y-1", children: [
20
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
21
- /* @__PURE__ */ jsx("p", { className: "truncate text-sm font-medium", children: previewData?.title || fallbackTitle }),
22
- actionRequired ? /* @__PURE__ */ jsx(Badge, { variant: "secondary", className: "text-xs", children: actionLabel || t("messages.composer.objectActionRequired", "Action required") }) : null
23
- ] }),
24
- /* @__PURE__ */ jsx("p", { className: "truncate text-xs text-muted-foreground", children: previewData?.subtitle || entityId }),
25
- previewData?.status ? /* @__PURE__ */ jsx(Badge, { variant: "outline", className: "text-xs", children: previewData.status }) : null
26
- ] })
27
- ] });
28
- }
29
- var StaffMessageObjectPreview_default = StaffMessageObjectPreview;
30
- export {
31
- StaffMessageObjectPreview,
32
- StaffMessageObjectPreview_default as default
33
- };
34
- //# sourceMappingURL=StaffMessageObjectPreview.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/modules/staff/widgets/messages/StaffMessageObjectPreview.tsx"],
4
- "sourcesContent": ["\"use client\"\n\nimport { UserRound, Users } from 'lucide-react'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\nimport type { ObjectPreviewProps } from '@open-mercato/shared/modules/messages/types'\nimport { Badge } from '@open-mercato/ui/primitives/badge'\n\nexport function StaffMessageObjectPreview({\n entityType,\n entityId,\n previewData,\n actionRequired,\n actionLabel,\n}: ObjectPreviewProps) {\n const t = useT()\n const isTeam = entityType === 'team'\n const Icon = isTeam ? Users : UserRound\n const fallbackTitle = isTeam\n ? t('staff.teams.page.title', 'Teams')\n : t('staff.teamMembers.page.title', 'Team members')\n\n return (\n <div className=\"flex items-start gap-3 rounded-md border bg-muted/20 p-3\">\n <Icon className=\"mt-0.5 h-4 w-4 text-muted-foreground\" />\n <div className=\"min-w-0 flex-1 space-y-1\">\n <div className=\"flex items-center gap-2\">\n <p className=\"truncate text-sm font-medium\">{previewData?.title || fallbackTitle}</p>\n {actionRequired ? (\n <Badge variant=\"secondary\" className=\"text-xs\">\n {actionLabel || t('messages.composer.objectActionRequired', 'Action required')}\n </Badge>\n ) : null}\n </div>\n <p className=\"truncate text-xs text-muted-foreground\">{previewData?.subtitle || entityId}</p>\n {previewData?.status ? (\n <Badge variant=\"outline\" className=\"text-xs\">{previewData.status}</Badge>\n ) : null}\n </div>\n </div>\n )\n}\n\nexport default StaffMessageObjectPreview\n\n"],
5
- "mappings": ";AAuBM,cAEE,YAFF;AArBN,SAAS,WAAW,aAAa;AACjC,SAAS,YAAY;AAErB,SAAS,aAAa;AAEf,SAAS,0BAA0B;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAuB;AACrB,QAAM,IAAI,KAAK;AACf,QAAM,SAAS,eAAe;AAC9B,QAAM,OAAO,SAAS,QAAQ;AAC9B,QAAM,gBAAgB,SAClB,EAAE,0BAA0B,OAAO,IACnC,EAAE,gCAAgC,cAAc;AAEpD,SACE,qBAAC,SAAI,WAAU,4DACb;AAAA,wBAAC,QAAK,WAAU,wCAAuC;AAAA,IACvD,qBAAC,SAAI,WAAU,4BACb;AAAA,2BAAC,SAAI,WAAU,2BACb;AAAA,4BAAC,OAAE,WAAU,gCAAgC,uBAAa,SAAS,eAAc;AAAA,QAChF,iBACC,oBAAC,SAAM,SAAQ,aAAY,WAAU,WAClC,yBAAe,EAAE,0CAA0C,iBAAiB,GAC/E,IACE;AAAA,SACN;AAAA,MACA,oBAAC,OAAE,WAAU,0CAA0C,uBAAa,YAAY,UAAS;AAAA,MACxF,aAAa,SACZ,oBAAC,SAAM,SAAQ,WAAU,WAAU,WAAW,sBAAY,QAAO,IAC/D;AAAA,OACN;AAAA,KACF;AAEJ;AAEA,IAAO,oCAAQ;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- import { StaffMessageObjectDetail } from "./StaffMessageObjectDetail.js";
2
- import { StaffMessageObjectPreview } from "./StaffMessageObjectPreview.js";
3
- export {
4
- StaffMessageObjectDetail,
5
- StaffMessageObjectPreview
6
- };
7
- //# sourceMappingURL=index.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/modules/staff/widgets/messages/index.ts"],
4
- "sourcesContent": ["export { StaffMessageObjectDetail } from './StaffMessageObjectDetail'\nexport { StaffMessageObjectPreview } from './StaffMessageObjectPreview'\n"],
5
- "mappings": "AAAA,SAAS,gCAAgC;AACzC,SAAS,iCAAiC;",
6
- "names": []
7
- }
@@ -1,57 +0,0 @@
1
- "use client"
2
-
3
- import * as React from 'react'
4
- import { useT } from '@open-mercato/shared/lib/i18n/context'
5
- import type { ObjectDetailProps } from '@open-mercato/shared/modules/messages/types'
6
- import { Button } from '@open-mercato/ui/primitives/button'
7
- import { CustomerMessageObjectPreview } from './CustomerMessageObjectPreview'
8
-
9
- export function CustomerMessageObjectDetail(props: ObjectDetailProps) {
10
- const t = useT()
11
- const [executingActionId, setExecutingActionId] = React.useState<string | null>(null)
12
-
13
- return (
14
- <div className="space-y-3 rounded border p-3">
15
- <CustomerMessageObjectPreview
16
- entityId={props.entityId}
17
- entityModule={props.entityModule}
18
- entityType={props.entityType}
19
- snapshot={props.snapshot}
20
- previewData={props.previewData}
21
- actionRequired={props.actionRequired}
22
- actionType={props.actionType}
23
- actionLabel={props.actionLabel}
24
- />
25
-
26
- {props.actions.length > 0 ? (
27
- <div className="flex flex-wrap gap-2">
28
- {props.actions.map((action) => (
29
- <Button
30
- key={action.id}
31
- type="button"
32
- size="sm"
33
- variant={action.variant ?? 'default'}
34
- disabled={executingActionId !== null}
35
- onClick={async () => {
36
- if (executingActionId) return
37
- setExecutingActionId(action.id)
38
- try {
39
- await props.onAction(action.id, { id: props.entityId })
40
- } finally {
41
- setExecutingActionId(null)
42
- }
43
- }}
44
- >
45
- {executingActionId === action.id
46
- ? t('messages.actions.executing', 'Executing...')
47
- : t(action.labelKey ?? action.id, action.id)}
48
- </Button>
49
- ))}
50
- </div>
51
- ) : null}
52
- </div>
53
- )
54
- }
55
-
56
- export default CustomerMessageObjectDetail
57
-
@@ -1,49 +0,0 @@
1
- "use client"
2
-
3
- import { Building2, BriefcaseBusiness, UserRound } from 'lucide-react'
4
- import { useT } from '@open-mercato/shared/lib/i18n/context'
5
- import type { ObjectPreviewProps } from '@open-mercato/shared/modules/messages/types'
6
- import { Badge } from '@open-mercato/ui/primitives/badge'
7
-
8
- export function CustomerMessageObjectPreview({
9
- entityType,
10
- entityId,
11
- previewData,
12
- actionRequired,
13
- actionLabel,
14
- }: ObjectPreviewProps) {
15
- const t = useT()
16
-
17
- const isCompany = entityType === 'company'
18
- const isDeal = entityType === 'deal'
19
- const Icon = isDeal ? BriefcaseBusiness : isCompany ? Building2 : UserRound
20
-
21
- const fallbackTitle = isDeal
22
- ? t('customers.deals.list.title', 'Deals')
23
- : isCompany
24
- ? t('customers.companies.list.title', 'Companies')
25
- : t('customers.people.list.title', 'People')
26
-
27
- return (
28
- <div className="flex items-start gap-3 rounded-md border bg-muted/20 p-3">
29
- <Icon className="mt-0.5 h-4 w-4 text-muted-foreground" />
30
- <div className="min-w-0 flex-1 space-y-1">
31
- <div className="flex items-center gap-2">
32
- <p className="truncate text-sm font-medium">{previewData?.title || fallbackTitle}</p>
33
- {actionRequired ? (
34
- <Badge variant="secondary" className="text-xs">
35
- {actionLabel || t('messages.composer.objectActionRequired', 'Action required')}
36
- </Badge>
37
- ) : null}
38
- </div>
39
- <p className="truncate text-xs text-muted-foreground">{previewData?.subtitle || entityId}</p>
40
- {previewData?.status ? (
41
- <Badge variant="outline" className="text-xs">{previewData.status}</Badge>
42
- ) : null}
43
- </div>
44
- </div>
45
- )
46
- }
47
-
48
- export default CustomerMessageObjectPreview
49
-
@@ -1,2 +0,0 @@
1
- export { CustomerMessageObjectDetail } from './CustomerMessageObjectDetail'
2
- export { CustomerMessageObjectPreview } from './CustomerMessageObjectPreview'
@@ -1,57 +0,0 @@
1
- "use client"
2
-
3
- import * as React from 'react'
4
- import { useT } from '@open-mercato/shared/lib/i18n/context'
5
- import type { ObjectDetailProps } from '@open-mercato/shared/modules/messages/types'
6
- import { Button } from '@open-mercato/ui/primitives/button'
7
- import { StaffMessageObjectPreview } from './StaffMessageObjectPreview'
8
-
9
- export function StaffMessageObjectDetail(props: ObjectDetailProps) {
10
- const t = useT()
11
- const [executingActionId, setExecutingActionId] = React.useState<string | null>(null)
12
-
13
- return (
14
- <div className="space-y-3 rounded border p-3">
15
- <StaffMessageObjectPreview
16
- entityId={props.entityId}
17
- entityModule={props.entityModule}
18
- entityType={props.entityType}
19
- snapshot={props.snapshot}
20
- previewData={props.previewData}
21
- actionRequired={props.actionRequired}
22
- actionType={props.actionType}
23
- actionLabel={props.actionLabel}
24
- />
25
-
26
- {props.actions.length > 0 ? (
27
- <div className="flex flex-wrap gap-2">
28
- {props.actions.map((action) => (
29
- <Button
30
- key={action.id}
31
- type="button"
32
- size="sm"
33
- variant={action.variant ?? 'default'}
34
- disabled={executingActionId !== null}
35
- onClick={async () => {
36
- if (executingActionId) return
37
- setExecutingActionId(action.id)
38
- try {
39
- await props.onAction(action.id, { id: props.entityId })
40
- } finally {
41
- setExecutingActionId(null)
42
- }
43
- }}
44
- >
45
- {executingActionId === action.id
46
- ? t('messages.actions.executing', 'Executing...')
47
- : t(action.labelKey ?? action.id, action.id)}
48
- </Button>
49
- ))}
50
- </div>
51
- ) : null}
52
- </div>
53
- )
54
- }
55
-
56
- export default StaffMessageObjectDetail
57
-
@@ -1,44 +0,0 @@
1
- "use client"
2
-
3
- import { UserRound, Users } from 'lucide-react'
4
- import { useT } from '@open-mercato/shared/lib/i18n/context'
5
- import type { ObjectPreviewProps } from '@open-mercato/shared/modules/messages/types'
6
- import { Badge } from '@open-mercato/ui/primitives/badge'
7
-
8
- export function StaffMessageObjectPreview({
9
- entityType,
10
- entityId,
11
- previewData,
12
- actionRequired,
13
- actionLabel,
14
- }: ObjectPreviewProps) {
15
- const t = useT()
16
- const isTeam = entityType === 'team'
17
- const Icon = isTeam ? Users : UserRound
18
- const fallbackTitle = isTeam
19
- ? t('staff.teams.page.title', 'Teams')
20
- : t('staff.teamMembers.page.title', 'Team members')
21
-
22
- return (
23
- <div className="flex items-start gap-3 rounded-md border bg-muted/20 p-3">
24
- <Icon className="mt-0.5 h-4 w-4 text-muted-foreground" />
25
- <div className="min-w-0 flex-1 space-y-1">
26
- <div className="flex items-center gap-2">
27
- <p className="truncate text-sm font-medium">{previewData?.title || fallbackTitle}</p>
28
- {actionRequired ? (
29
- <Badge variant="secondary" className="text-xs">
30
- {actionLabel || t('messages.composer.objectActionRequired', 'Action required')}
31
- </Badge>
32
- ) : null}
33
- </div>
34
- <p className="truncate text-xs text-muted-foreground">{previewData?.subtitle || entityId}</p>
35
- {previewData?.status ? (
36
- <Badge variant="outline" className="text-xs">{previewData.status}</Badge>
37
- ) : null}
38
- </div>
39
- </div>
40
- )
41
- }
42
-
43
- export default StaffMessageObjectPreview
44
-
@@ -1,2 +0,0 @@
1
- export { StaffMessageObjectDetail } from './StaffMessageObjectDetail'
2
- export { StaffMessageObjectPreview } from './StaffMessageObjectPreview'