@fluid-app/portal-sdk 0.1.199 → 0.1.201

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 (81) hide show
  1. package/dist/{ContactsScreen-DvohvoOE.cjs → ContactsScreen-BQ6pvYOa.cjs} +291 -281
  2. package/dist/ContactsScreen-BQ6pvYOa.cjs.map +1 -0
  3. package/dist/{ContactsScreen-Cheiwaxn.cjs → ContactsScreen-Bw2GcYtk.cjs} +2 -2
  4. package/dist/{ContactsScreen-BtBNMZzG.mjs → ContactsScreen-BzRFTCBS.mjs} +17 -7
  5. package/dist/ContactsScreen-BzRFTCBS.mjs.map +1 -0
  6. package/dist/{FluidProvider-D177ez3m.cjs → FluidProvider-BRkRo8Wl.cjs} +12 -992
  7. package/dist/FluidProvider-BRkRo8Wl.cjs.map +1 -0
  8. package/dist/{FluidProvider-DiJy4Zve.mjs → FluidProvider-BTZAiT69.mjs} +9 -820
  9. package/dist/FluidProvider-BTZAiT69.mjs.map +1 -0
  10. package/dist/{MessagingScreen-Cu3tcpPs.mjs → MessagingScreen-Bk3Eh1dN.mjs} +2 -2
  11. package/dist/{MessagingScreen-Cu3tcpPs.mjs.map → MessagingScreen-Bk3Eh1dN.mjs.map} +1 -1
  12. package/dist/{MessagingScreen-Ysi48svi.cjs → MessagingScreen-DN2eQRxF.cjs} +6 -6
  13. package/dist/{MessagingScreen-gKidMcrr.cjs → MessagingScreen-DtDbS3VZ.cjs} +2 -2
  14. package/dist/{MessagingScreen-gKidMcrr.cjs.map → MessagingScreen-DtDbS3VZ.cjs.map} +1 -1
  15. package/dist/{PortalContentApiProvider-CPnqELEX.cjs → PortalContentApiProvider-BDbrZCyI.cjs} +115 -89
  16. package/dist/PortalContentApiProvider-BDbrZCyI.cjs.map +1 -0
  17. package/dist/{PortalContentApiProvider-CWRAw9kL.mjs → PortalContentApiProvider-CzLqEN5C.mjs} +116 -90
  18. package/dist/PortalContentApiProvider-CzLqEN5C.mjs.map +1 -0
  19. package/dist/{ProductsScreen-CQ5-A8AL.cjs → ProductsScreen-68jB202M.cjs} +2 -2
  20. package/dist/{ProductsScreen-CQ5-A8AL.cjs.map → ProductsScreen-68jB202M.cjs.map} +1 -1
  21. package/dist/{ProductsScreen-CexZ0gx9.mjs → ProductsScreen-BeNUsjh1.mjs} +2 -2
  22. package/dist/{ProductsScreen-Al6H4ujs.mjs → ProductsScreen-BidL3ZF5.mjs} +2 -2
  23. package/dist/{ProductsScreen-Al6H4ujs.mjs.map → ProductsScreen-BidL3ZF5.mjs.map} +1 -1
  24. package/dist/{ProductsScreen-BnwMOZ4-.cjs → ProductsScreen-Bq0f4pQL.cjs} +2 -2
  25. package/dist/{ProfileScreen-CGS7YkcT.cjs → ProfileScreen-BMNq0NEB.cjs} +6 -6
  26. package/dist/{ProfileScreen-hE1S_99P.mjs → ProfileScreen-D-pTegtY.mjs} +3 -3
  27. package/dist/{ProfileScreen-hE1S_99P.mjs.map → ProfileScreen-D-pTegtY.mjs.map} +1 -1
  28. package/dist/{ProfileScreen-DJZoMzE6.cjs → ProfileScreen-D5OxmzhM.cjs} +101 -101
  29. package/dist/{ProfileScreen-DJZoMzE6.cjs.map → ProfileScreen-D5OxmzhM.cjs.map} +1 -1
  30. package/dist/{QuickShareWidget-0GD4KWAr.cjs → QuickShareWidget-C_p3tPs5.cjs} +2 -2
  31. package/dist/QuickShareWidget-C_p3tPs5.cjs.map +1 -0
  32. package/dist/{QuickShareWidget-DZzrQjOx.mjs → QuickShareWidget-xKcV3ZQ5.mjs} +2 -2
  33. package/dist/QuickShareWidget-xKcV3ZQ5.mjs.map +1 -0
  34. package/dist/{ShareablesScreen-CzTU7e0l.mjs → ShareablesScreen-BRfgOnpL.mjs} +2 -2
  35. package/dist/{ShareablesScreen-CzTU7e0l.mjs.map → ShareablesScreen-BRfgOnpL.mjs.map} +1 -1
  36. package/dist/{ShareablesScreen-DujtMoAi.cjs → ShareablesScreen-BYP65ZnU.cjs} +2 -2
  37. package/dist/{ShareablesScreen-CmZ5CX99.cjs → ShareablesScreen-CCqADUXE.cjs} +2 -2
  38. package/dist/{ShareablesScreen-CmZ5CX99.cjs.map → ShareablesScreen-CCqADUXE.cjs.map} +1 -1
  39. package/dist/{ShareablesScreen-yscAsNpq.mjs → ShareablesScreen-YnNF0dD6.mjs} +2 -2
  40. package/dist/{ShopScreen-Bdo59te-.mjs → ShopScreen-BOJGcSyG.mjs} +3 -3
  41. package/dist/{ShopScreen-Bdo59te-.mjs.map → ShopScreen-BOJGcSyG.mjs.map} +1 -1
  42. package/dist/{ShopScreen-R9zk7d5d.cjs → ShopScreen-BzyBZ24D.cjs} +6 -6
  43. package/dist/{ShopScreen-DKlDKNom.cjs → ShopScreen-DeLp93hN.cjs} +3 -3
  44. package/dist/{ShopScreen-DKlDKNom.cjs.map → ShopScreen-DeLp93hN.cjs.map} +1 -1
  45. package/dist/{SpacerWidget-Da_sNa_X.mjs → SpacerWidget-BJFO-Xyh.mjs} +2 -2
  46. package/dist/SpacerWidget-BJFO-Xyh.mjs.map +1 -0
  47. package/dist/{SpacerWidget-CLFbkgoz.cjs → SpacerWidget-D9lOLPr5.cjs} +2 -2
  48. package/dist/SpacerWidget-D9lOLPr5.cjs.map +1 -0
  49. package/dist/{TableWidget-lKjTu7Go.cjs → TableWidget-C7qiWZc3.cjs} +1 -1
  50. package/dist/{TableWidget-B65hwjKS.mjs → TableWidget-DRByd9ig.mjs} +9 -9
  51. package/dist/TableWidget-DRByd9ig.mjs.map +1 -0
  52. package/dist/{TableWidget-FDbnEYZb.cjs → TableWidget-DUnz9hrD.cjs} +9 -9
  53. package/dist/TableWidget-DUnz9hrD.cjs.map +1 -0
  54. package/dist/index.cjs +68 -70
  55. package/dist/index.cjs.map +1 -1
  56. package/dist/index.d.cts +126 -133
  57. package/dist/index.d.cts.map +1 -1
  58. package/dist/index.d.mts +126 -133
  59. package/dist/index.d.mts.map +1 -1
  60. package/dist/index.mjs +25 -25
  61. package/dist/src-BNcNh8fM.cjs +963 -0
  62. package/dist/src-BNcNh8fM.cjs.map +1 -0
  63. package/dist/src-BjCPR0aG.mjs +788 -0
  64. package/dist/src-BjCPR0aG.mjs.map +1 -0
  65. package/package.json +16 -16
  66. package/dist/ContactsScreen-BtBNMZzG.mjs.map +0 -1
  67. package/dist/ContactsScreen-DvohvoOE.cjs.map +0 -1
  68. package/dist/FluidProvider-D177ez3m.cjs.map +0 -1
  69. package/dist/FluidProvider-DiJy4Zve.mjs.map +0 -1
  70. package/dist/PortalContentApiProvider-CPnqELEX.cjs.map +0 -1
  71. package/dist/PortalContentApiProvider-CWRAw9kL.mjs.map +0 -1
  72. package/dist/QuickShareWidget-0GD4KWAr.cjs.map +0 -1
  73. package/dist/QuickShareWidget-DZzrQjOx.mjs.map +0 -1
  74. package/dist/SpacerWidget-CLFbkgoz.cjs.map +0 -1
  75. package/dist/SpacerWidget-Da_sNa_X.mjs.map +0 -1
  76. package/dist/TableWidget-B65hwjKS.mjs.map +0 -1
  77. package/dist/TableWidget-FDbnEYZb.cjs.map +0 -1
  78. package/dist/countries-api-context-Dob_AzPO.mjs +0 -13
  79. package/dist/countries-api-context-Dob_AzPO.mjs.map +0 -1
  80. package/dist/countries-api-context-G-NW4BoH.cjs +0 -25
  81. package/dist/countries-api-context-G-NW4BoH.cjs.map +0 -1
@@ -1,8 +1,8 @@
1
1
  const require_chunk = require("./chunk-9hOWP6kD.cjs");
2
- const require_countries_api_context = require("./countries-api-context-G-NW4BoH.cjs");
2
+ const require_src = require("./src-BNcNh8fM.cjs");
3
3
  const require_parse_api_errors = require("./parse-api-errors-Br4K5NuA.cjs");
4
4
  const require_PortalTenantClientProvider = require("./PortalTenantClientProvider-CVv-4rQ9.cjs");
5
- const require_src = require("./src-D57IFKXU.cjs");
5
+ const require_src$1 = require("./src-D57IFKXU.cjs");
6
6
  const require_ScreenHeaderContext = require("./ScreenHeaderContext-BXgWydjB.cjs");
7
7
  const require_dist = require("./dist-CN_rfvBt.cjs");
8
8
  const require_SearchSort = require("./SearchSort-CUDMZIkf.cjs");
@@ -116,7 +116,7 @@ function getStatusStyle(status) {
116
116
  }
117
117
  function StatusBadge({ status, label, className }) {
118
118
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
119
- className: require_src.cn("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold capitalize", getStatusStyle(status), className),
119
+ className: require_src$1.cn("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold capitalize", getStatusStyle(status), className),
120
120
  children: label ?? status
121
121
  });
122
122
  }
@@ -220,9 +220,9 @@ function resolveContactGroupLabels(contact) {
220
220
  function RepContactCard({ contact, selected, onToggleSelect, onRowClick, onEditContact, setSelectedContacts, setOpenDeleteModal, groupsByName }) {
221
221
  const groupLabels = resolveContactGroupLabels(contact);
222
222
  const groupTitle = groupLabels.length > 0 ? groupLabels.join(", ") : void 0;
223
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Card, {
224
- className: require_src.cn("border-border hover:bg-accent/30 min-h-[100px] w-full flex-col items-start justify-center gap-0 py-3 shadow-sm transition-colors sm:py-0", selected && "bg-accent/40 border-primary/25 ring-primary/20 ring-1"),
225
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.CardContent, {
223
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Card, {
224
+ className: require_src$1.cn("border-border hover:bg-accent/30 min-h-[100px] w-full flex-col items-start justify-center gap-0 py-3 shadow-sm transition-colors sm:py-0", selected && "bg-accent/40 border-primary/25 ring-primary/20 ring-1"),
225
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.CardContent, {
226
226
  className: "w-full px-3 py-0",
227
227
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
228
228
  className: "flex items-center gap-2 sm:gap-3",
@@ -242,12 +242,12 @@ function RepContactCard({ contact, selected, onToggleSelect, onRowClick, onEditC
242
242
  type: "button",
243
243
  className: "text-foreground focus-visible:ring-ring flex min-w-0 flex-1 items-center gap-2 rounded-md text-left outline-none focus-visible:ring-2 sm:gap-3",
244
244
  onClick: () => onRowClick?.(contact),
245
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Avatar, {
245
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.Avatar, {
246
246
  className: "size-12 shrink-0",
247
- children: [contact.avatar_url ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AvatarImage, {
247
+ children: [contact.avatar_url ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AvatarImage, {
248
248
  src: contact.avatar_url,
249
249
  alt: contact.full_name || "Contact"
250
- }) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AvatarFallback, {
250
+ }) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AvatarFallback, {
251
251
  className: "border-border text-foreground bg-accent ring-border/80 text-xs font-semibold ring-1",
252
252
  children: getInitials(contact.full_name)
253
253
  })]
@@ -274,9 +274,14 @@ function RepContactCard({ contact, selected, onToggleSelect, onRowClick, onEditC
274
274
  title: groupTitle,
275
275
  children: [groupLabels.length > 0 ? groupLabels.slice(0, 2).map((label, index) => {
276
276
  const group = groupsByName.get(label);
277
+ const backgroundColor = group?.avatar_background ?? "var(--color-muted)";
278
+ const textColor = group?.avatar_background ? require_src.getContrastingTextColor(group.avatar_background) : null;
277
279
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
278
- className: "text-foreground border-border inline-flex max-w-[min(100%,10rem)] shrink items-center gap-1 truncate rounded-full border px-2 py-0.5 font-normal capitalize",
279
- style: { backgroundColor: group?.avatar_background ?? "var(--color-muted)" },
280
+ className: require_src$1.cn("border-border inline-flex max-w-[min(100%,10rem)] shrink items-center gap-1 truncate rounded-full border px-2 py-0.5 font-normal capitalize", !textColor && "text-foreground"),
281
+ style: {
282
+ backgroundColor,
283
+ ...textColor ? { color: textColor } : {}
284
+ },
280
285
  title: label,
281
286
  children: [group?.avatar && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: group.avatar }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
282
287
  className: "truncate",
@@ -294,20 +299,20 @@ function RepContactCard({ contact, selected, onToggleSelect, onRowClick, onEditC
294
299
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
295
300
  className: "flex shrink-0 items-center",
296
301
  onClick: (e) => e.stopPropagation(),
297
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuTrigger, {
302
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuTrigger, {
298
303
  asChild: true,
299
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
304
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Button, {
300
305
  variant: "ghost",
301
306
  size: "icon-xs",
302
307
  "aria-label": "Contact actions",
303
308
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.EllipsisVertical, { className: "h-4 w-4" })
304
309
  })
305
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuContent, {
310
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenuContent, {
306
311
  align: "end",
307
- children: [onEditContact && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
312
+ children: [onEditContact && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenuItem, {
308
313
  onClick: () => onEditContact(contact),
309
314
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pencil, { className: "h-3.5 w-3.5" }), "Edit"]
310
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuSeparator, {})] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
315
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuSeparator, {})] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenuItem, {
311
316
  className: "text-destructive",
312
317
  onClick: () => {
313
318
  setSelectedContacts([contact]);
@@ -458,17 +463,17 @@ function ContactsTable({ setSelectedContacts, setOpenDeleteModal, onEditContact,
458
463
  className: "text-muted-foreground text-sm",
459
464
  children: "Select all"
460
465
  })]
461
- }), selectedIds.size > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuTrigger, {
466
+ }), selectedIds.size > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuTrigger, {
462
467
  asChild: true,
463
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Button, {
468
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.Button, {
464
469
  variant: "ghost",
465
470
  size: "sm",
466
471
  className: "h-8 gap-1 text-xs",
467
472
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.EllipsisVertical, { className: "h-4 w-4" }), "Actions"]
468
473
  })
469
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuContent, {
474
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuContent, {
470
475
  align: "end",
471
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
476
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenuItem, {
472
477
  className: "text-destructive",
473
478
  onClick: handleBulkDelete,
474
479
  children: [
@@ -480,20 +485,20 @@ function ContactsTable({ setSelectedContacts, setOpenDeleteModal, onEditContact,
480
485
  ]
481
486
  })
482
487
  })] }) : null]
483
- }) : null, isLoading ? Array(5).fill(0).map((_, i) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Card, {
488
+ }) : null, isLoading ? Array(5).fill(0).map((_, i) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Card, {
484
489
  className: "border-border h-[100px] w-full flex-col items-start justify-center gap-0 py-0 shadow-sm",
485
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.CardContent, {
490
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.CardContent, {
486
491
  className: "w-full px-3 py-0",
487
492
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
488
493
  className: "flex items-center gap-2 sm:gap-3",
489
494
  children: [
490
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-3.5 w-3.5 shrink-0 rounded sm:h-4 sm:w-4" }),
491
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "size-12 shrink-0 rounded-full" }),
492
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-3.5 max-w-[32%] shrink sm:max-w-none sm:flex-[1.15]" }),
493
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-3.5 min-w-0 flex-[1.35]" }),
494
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-3.5 min-w-0 flex-[0.95]" }),
495
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-3.5 min-w-0 flex-[0.95]" }),
496
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "size-7 shrink-0 rounded-md" })
495
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-3.5 w-3.5 shrink-0 rounded sm:h-4 sm:w-4" }),
496
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "size-12 shrink-0 rounded-full" }),
497
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-3.5 max-w-[32%] shrink sm:max-w-none sm:flex-[1.15]" }),
498
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-3.5 min-w-0 flex-[1.35]" }),
499
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-3.5 min-w-0 flex-[0.95]" }),
500
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-3.5 min-w-0 flex-[0.95]" }),
501
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "size-7 shrink-0 rounded-md" })
497
502
  ]
498
503
  })
499
504
  })
@@ -516,7 +521,7 @@ function ContactsTable({ setSelectedContacts, setOpenDeleteModal, onEditContact,
516
521
  className: "border-border border-b p-4",
517
522
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
518
523
  className: "space-y-2",
519
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-4 w-3/4" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-3 w-1/2" })]
524
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-4 w-3/4" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-3 w-1/2" })]
520
525
  })
521
526
  }, `skeleton-${i}`)) : items.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
522
527
  className: "text-muted-foreground px-3 py-8 text-center text-sm",
@@ -540,7 +545,7 @@ function ContactsTable({ setSelectedContacts, setOpenDeleteModal, onEditContact,
540
545
  }, contact.id))
541
546
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
542
547
  className: "hidden md:block",
543
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Table, {
548
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.Table, {
544
549
  className: "min-w-full table-fixed",
545
550
  children: [
546
551
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("colgroup", { children: [
@@ -552,10 +557,10 @@ function ContactsTable({ setSelectedContacts, setOpenDeleteModal, onEditContact,
552
557
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("col", { className: "w-[15%] min-w-[100px]" }),
553
558
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("col", { className: "w-[50px]" })
554
559
  ] }),
555
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableHeader, {
560
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableHeader, {
556
561
  className: "bg-muted",
557
- children: selectedIds.size > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.TableRow, { children: [
558
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableHead, {
562
+ children: selectedIds.size > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.TableRow, { children: [
563
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableHead, {
559
564
  className: "px-3",
560
565
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
561
566
  ref: selectAllRef,
@@ -566,7 +571,7 @@ function ContactsTable({ setSelectedContacts, setOpenDeleteModal, onEditContact,
566
571
  className: "accent-primary h-4 w-4 rounded"
567
572
  })
568
573
  }),
569
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableHead, {
574
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableHead, {
570
575
  colSpan: 5,
571
576
  className: "px-3",
572
577
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
@@ -574,18 +579,18 @@ function ContactsTable({ setSelectedContacts, setOpenDeleteModal, onEditContact,
574
579
  children: [selectedIds.size, " selected"]
575
580
  })
576
581
  }),
577
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableHead, {
582
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableHead, {
578
583
  className: "px-3",
579
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuTrigger, {
584
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuTrigger, {
580
585
  asChild: true,
581
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
586
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Button, {
582
587
  variant: "ghost",
583
588
  size: "icon-xs",
584
589
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.EllipsisVertical, { className: "h-4 w-4" })
585
590
  })
586
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuContent, {
591
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuContent, {
587
592
  align: "end",
588
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
593
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenuItem, {
589
594
  className: "text-destructive",
590
595
  onClick: handleBulkDelete,
591
596
  children: [
@@ -598,8 +603,8 @@ function ContactsTable({ setSelectedContacts, setOpenDeleteModal, onEditContact,
598
603
  })
599
604
  })] })
600
605
  })
601
- ] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.TableRow, { children: [
602
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableHead, {
606
+ ] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.TableRow, { children: [
607
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableHead, {
603
608
  className: "px-3",
604
609
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
605
610
  ref: selectAllRef,
@@ -610,66 +615,66 @@ function ContactsTable({ setSelectedContacts, setOpenDeleteModal, onEditContact,
610
615
  className: "accent-primary h-4 w-4 rounded"
611
616
  })
612
617
  }),
613
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableHead, {
618
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableHead, {
614
619
  className: "text-muted-foreground px-3 text-xs",
615
620
  children: "ID"
616
621
  }),
617
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableHead, {
622
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableHead, {
618
623
  className: "text-muted-foreground px-3 text-xs",
619
624
  children: "Name"
620
625
  }),
621
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableHead, {
626
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableHead, {
622
627
  className: "text-muted-foreground px-3 text-xs",
623
628
  children: "Email"
624
629
  }),
625
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableHead, {
630
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableHead, {
626
631
  className: "text-muted-foreground px-3 text-xs",
627
632
  children: "Phone"
628
633
  }),
629
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableHead, {
634
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableHead, {
630
635
  className: "text-muted-foreground px-3 text-xs",
631
636
  children: "Status"
632
637
  }),
633
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableHead, { className: "px-3" })
638
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableHead, { className: "px-3" })
634
639
  ] })
635
640
  }),
636
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableBody, {
641
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableBody, {
637
642
  className: "bg-background",
638
- children: isLoading ? Array(5).fill(0).map((_, i) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.TableRow, { children: [
639
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableCell, {
643
+ children: isLoading ? Array(5).fill(0).map((_, i) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.TableRow, { children: [
644
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableCell, {
640
645
  className: "px-3 py-3",
641
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-4 w-4" })
646
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-4 w-4" })
642
647
  }),
643
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableCell, {
648
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableCell, {
644
649
  className: "px-3 py-3",
645
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-4 w-8" })
650
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-4 w-8" })
646
651
  }),
647
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableCell, {
652
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableCell, {
648
653
  className: "px-3 py-3",
649
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-4 w-24" })
654
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-4 w-24" })
650
655
  }),
651
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableCell, {
656
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableCell, {
652
657
  className: "px-3 py-3",
653
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-4 w-32" })
658
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-4 w-32" })
654
659
  }),
655
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableCell, {
660
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableCell, {
656
661
  className: "px-3 py-3",
657
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-4 w-20" })
662
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-4 w-20" })
658
663
  }),
659
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableCell, {
664
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableCell, {
660
665
  className: "px-3 py-3",
661
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-4 w-16" })
666
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-4 w-16" })
662
667
  }),
663
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableCell, { className: "px-3 py-3" })
664
- ] }, `skeleton-${i}`)) : items.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableRow, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableCell, {
668
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableCell, { className: "px-3 py-3" })
669
+ ] }, `skeleton-${i}`)) : items.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableRow, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableCell, {
665
670
  colSpan: 7,
666
671
  className: "text-muted-foreground px-3 py-8 text-center",
667
672
  children: "No contacts found"
668
- }) }) : displayItems.map((contact) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.TableRow, {
669
- className: require_src.cn("cursor-pointer", selectedIds.has(contact.id) && "bg-accent"),
673
+ }) }) : displayItems.map((contact) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.TableRow, {
674
+ className: require_src$1.cn("cursor-pointer", selectedIds.has(contact.id) && "bg-accent"),
670
675
  onClick: () => onRowClick?.(contact),
671
676
  children: [
672
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableCell, {
677
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableCell, {
673
678
  className: "px-3 py-3",
674
679
  onClick: (e) => e.stopPropagation(),
675
680
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
@@ -680,11 +685,11 @@ function ContactsTable({ setSelectedContacts, setOpenDeleteModal, onEditContact,
680
685
  className: "accent-primary h-4 w-4 rounded"
681
686
  })
682
687
  }),
683
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableCell, {
688
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableCell, {
684
689
  className: "px-3 py-3 text-right",
685
690
  children: contact.id
686
691
  }),
687
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableCell, {
692
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableCell, {
688
693
  className: "px-3 py-3",
689
694
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
690
695
  className: "max-w-32 truncate font-semibold",
@@ -692,7 +697,7 @@ function ContactsTable({ setSelectedContacts, setOpenDeleteModal, onEditContact,
692
697
  children: contact.full_name || "—"
693
698
  })
694
699
  }),
695
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableCell, {
700
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableCell, {
696
701
  className: "px-3 py-3",
697
702
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
698
703
  className: "max-w-32 truncate",
@@ -700,30 +705,30 @@ function ContactsTable({ setSelectedContacts, setOpenDeleteModal, onEditContact,
700
705
  children: contact.email || "—"
701
706
  })
702
707
  }),
703
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableCell, {
708
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableCell, {
704
709
  className: "px-3 py-3",
705
710
  children: contact.phone || "—"
706
711
  }),
707
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableCell, {
712
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableCell, {
708
713
  className: "px-3 py-3",
709
714
  children: contact.status ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StatusBadge, { status: contact.status }) : "—"
710
715
  }),
711
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TableCell, {
716
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TableCell, {
712
717
  className: "px-3 py-3",
713
718
  onClick: (e) => e.stopPropagation(),
714
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuTrigger, {
719
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuTrigger, {
715
720
  asChild: true,
716
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
721
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Button, {
717
722
  variant: "ghost",
718
723
  size: "icon-xs",
719
724
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.EllipsisVertical, { className: "h-4 w-4" })
720
725
  })
721
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuContent, {
726
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenuContent, {
722
727
  align: "end",
723
- children: [onEditContact && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
728
+ children: [onEditContact && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenuItem, {
724
729
  onClick: () => onEditContact(contact),
725
730
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pencil, { className: "h-3.5 w-3.5" }), "Edit"]
726
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuSeparator, {})] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
731
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuSeparator, {})] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenuItem, {
727
732
  className: "text-destructive",
728
733
  onClick: () => {
729
734
  setSelectedContacts([contact]);
@@ -758,14 +763,14 @@ function ContactsPage({ deleteContacts, header, onEditContact, onRowClick, table
758
763
  const deleteContactMutation = (0, _tanstack_react_query.useMutation)({
759
764
  mutationFn: (ids) => deleteContacts(ids),
760
765
  onSuccess: () => {
761
- require_src.fluidToast({
766
+ require_src$1.fluidToast({
762
767
  title: "Contacts deleted successfully",
763
768
  type: "success"
764
769
  });
765
770
  queryClient.invalidateQueries({ queryKey: CONTACTS_QUERY_KEYS.all("contacts") });
766
771
  },
767
772
  onError: (error) => {
768
- require_src.fluidToast({
773
+ require_src$1.fluidToast({
769
774
  title: "Failed to delete contacts",
770
775
  type: "error",
771
776
  description: require_parse_api_errors.parseApiErrors(error)
@@ -790,15 +795,15 @@ function ContactsPage({ deleteContacts, header, onEditContact, onRowClick, table
790
795
  tableLayout
791
796
  })
792
797
  }),
793
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AlertDialog, {
798
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AlertDialog, {
794
799
  open: openDeleteModal,
795
800
  onOpenChange: setOpenDeleteModal,
796
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.AlertDialogContent, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.AlertDialogHeader, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AlertDialogTitle, { children: "Delete contact?" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.AlertDialogDescription, { children: [
801
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.AlertDialogContent, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.AlertDialogHeader, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AlertDialogTitle, { children: "Delete contact?" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.AlertDialogDescription, { children: [
797
802
  "Are you sure you want to delete",
798
803
  " ",
799
804
  selectedContacts.length === 1 ? "this contact" : `${selectedContacts.length} contacts`,
800
805
  "? This action cannot be undone."
801
- ] })] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.AlertDialogFooter, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AlertDialogCancel, { children: "Cancel" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AlertDialogAction, {
806
+ ] })] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.AlertDialogFooter, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AlertDialogCancel, { children: "Cancel" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AlertDialogAction, {
802
807
  variant: "destructive",
803
808
  onClick: () => deleteContactMutation.mutate(selectedContacts.map((c) => c.id)),
804
809
  children: "Delete"
@@ -809,14 +814,14 @@ function ContactsPage({ deleteContacts, header, onEditContact, onRowClick, table
809
814
  //#endregion
810
815
  //#region ../../contacts/ui/src/screens/ContactsListScreen.tsx
811
816
  function ContactsListScreen({ deleteContacts, onEditContact, onRowClick, onAddContact, tableLayout, header }) {
812
- require_ScreenHeaderContext.useScreenHeaderActions((0, react.useMemo)(() => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Button, {
817
+ require_ScreenHeaderContext.useScreenHeaderActions((0, react.useMemo)(() => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.Button, {
813
818
  onClick: onAddContact,
814
819
  size: "sm",
815
820
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Plus, { className: "mr-1 h-4 w-4" }), "Add Contact"]
816
821
  }), [onAddContact]));
817
- require_ScreenHeaderContext.useScreenHeaderBreadcrumbs((0, react.useMemo)(() => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Breadcrumb, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbList, {
822
+ require_ScreenHeaderContext.useScreenHeaderBreadcrumbs((0, react.useMemo)(() => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Breadcrumb, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.BreadcrumbList, {
818
823
  className: "text-lg",
819
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbItem, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbPage, {
824
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.BreadcrumbItem, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.BreadcrumbPage, {
820
825
  className: "font-semibold",
821
826
  children: "Contacts"
822
827
  }) })
@@ -833,26 +838,26 @@ function ContactsListScreen({ deleteContacts, onEditContact, onRowClick, onAddCo
833
838
  //#region ../../contacts/ui/src/screens/ContactDetailScreen.tsx
834
839
  function ContactDetailScreen({ contact, onNavigateToList, onDelete, isDeleting, children }) {
835
840
  const [showDeleteDialog, setShowDeleteDialog] = (0, react.useState)(false);
836
- require_ScreenHeaderContext.useScreenHeaderActions((0, react.useMemo)(() => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuTrigger, {
841
+ require_ScreenHeaderContext.useScreenHeaderActions((0, react.useMemo)(() => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuTrigger, {
837
842
  asChild: true,
838
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
843
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Button, {
839
844
  variant: "outline",
840
845
  size: "icon",
841
846
  className: "border-border",
842
847
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.EllipsisVertical, { className: "h-4 w-4" })
843
848
  })
844
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuContent, {
849
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuContent, {
845
850
  align: "end",
846
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuItem, {
851
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuItem, {
847
852
  className: "text-destructive",
848
853
  onClick: () => setShowDeleteDialog(true),
849
854
  children: "Delete"
850
855
  })
851
856
  })] }), []));
852
- require_ScreenHeaderContext.useScreenHeaderBreadcrumbs((0, react.useMemo)(() => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Breadcrumb, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.BreadcrumbList, {
857
+ require_ScreenHeaderContext.useScreenHeaderBreadcrumbs((0, react.useMemo)(() => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Breadcrumb, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.BreadcrumbList, {
853
858
  className: "text-lg",
854
859
  children: [
855
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbItem, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbLink, {
860
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.BreadcrumbItem, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.BreadcrumbLink, {
856
861
  href: "#",
857
862
  onClick: (e) => {
858
863
  e.preventDefault();
@@ -860,25 +865,25 @@ function ContactDetailScreen({ contact, onNavigateToList, onDelete, isDeleting,
860
865
  },
861
866
  children: "Contacts"
862
867
  }) }),
863
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbSeparator, {}),
864
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbItem, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbPage, {
868
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.BreadcrumbSeparator, {}),
869
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.BreadcrumbItem, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.BreadcrumbPage, {
865
870
  className: "font-semibold",
866
871
  children: contact?.full_name ?? "Contact"
867
872
  }) })
868
873
  ]
869
874
  }) }), [contact?.full_name, onNavigateToList]));
870
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [children, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AlertDialog, {
875
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [children, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AlertDialog, {
871
876
  open: showDeleteDialog,
872
877
  onOpenChange: setShowDeleteDialog,
873
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.AlertDialogContent, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.AlertDialogHeader, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AlertDialogTitle, { children: "Delete Contact" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.AlertDialogDescription, { children: [
878
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.AlertDialogContent, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.AlertDialogHeader, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AlertDialogTitle, { children: "Delete Contact" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.AlertDialogDescription, { children: [
874
879
  "Are you sure you want to delete",
875
880
  " ",
876
881
  contact?.full_name ?? "this contact",
877
882
  "? This action cannot be undone."
878
- ] })] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.AlertDialogFooter, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AlertDialogCancel, {
883
+ ] })] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.AlertDialogFooter, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AlertDialogCancel, {
879
884
  disabled: isDeleting,
880
885
  children: "Cancel"
881
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AlertDialogAction, {
886
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AlertDialogAction, {
882
887
  onClick: () => {
883
888
  onDelete();
884
889
  setShowDeleteDialog(false);
@@ -892,12 +897,12 @@ function ContactDetailScreen({ contact, onNavigateToList, onDelete, isDeleting,
892
897
  //#endregion
893
898
  //#region ../../contacts/ui/src/screens/ContactCreateScreen.tsx
894
899
  function ContactCreateScreen({ onNavigateToList, onSubmit, isPending, children }) {
895
- require_ScreenHeaderContext.useScreenHeaderActions((0, react.useMemo)(() => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
900
+ require_ScreenHeaderContext.useScreenHeaderActions((0, react.useMemo)(() => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Button, {
896
901
  variant: "outline",
897
902
  onClick: onNavigateToList,
898
903
  disabled: isPending,
899
904
  children: "Cancel"
900
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
905
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Button, {
901
906
  onClick: onSubmit,
902
907
  disabled: isPending,
903
908
  children: isPending ? "Adding..." : "Add Contact"
@@ -906,10 +911,10 @@ function ContactCreateScreen({ onNavigateToList, onSubmit, isPending, children }
906
911
  onSubmit,
907
912
  isPending
908
913
  ]));
909
- require_ScreenHeaderContext.useScreenHeaderBreadcrumbs((0, react.useMemo)(() => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Breadcrumb, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.BreadcrumbList, {
914
+ require_ScreenHeaderContext.useScreenHeaderBreadcrumbs((0, react.useMemo)(() => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Breadcrumb, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.BreadcrumbList, {
910
915
  className: "text-lg",
911
916
  children: [
912
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbItem, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbLink, {
917
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.BreadcrumbItem, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.BreadcrumbLink, {
913
918
  href: "#",
914
919
  onClick: (e) => {
915
920
  e.preventDefault();
@@ -917,8 +922,8 @@ function ContactCreateScreen({ onNavigateToList, onSubmit, isPending, children }
917
922
  },
918
923
  children: "Contacts"
919
924
  }) }),
920
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbSeparator, {}),
921
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbItem, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbPage, {
925
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.BreadcrumbSeparator, {}),
926
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.BreadcrumbItem, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.BreadcrumbPage, {
922
927
  className: "font-semibold",
923
928
  children: "New Contact"
924
929
  }) })
@@ -1097,7 +1102,7 @@ const ContactInfoCard = ({ contact, className, onEdit, showActions = false, onCr
1097
1102
  contact.email
1098
1103
  ]);
1099
1104
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1100
- className: require_src.cn("relative min-w-[250px] overflow-hidden rounded-2xl bg-black text-white shadow-lg", isDimmed && "pointer-events-none opacity-45 select-none", className),
1105
+ className: require_src$1.cn("relative min-w-[250px] overflow-hidden rounded-2xl bg-black text-white shadow-lg", isDimmed && "pointer-events-none opacity-45 select-none", className),
1101
1106
  "aria-disabled": isDimmed || void 0,
1102
1107
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1103
1108
  className: "absolute inset-0 opacity-70",
@@ -1141,12 +1146,12 @@ const ContactInfoCard = ({ contact, className, onEdit, showActions = false, onCr
1141
1146
  })]
1142
1147
  })]
1143
1148
  }),
1144
- showActions && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TooltipProvider, {
1149
+ showActions && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TooltipProvider, {
1145
1150
  delayDuration: 100,
1146
1151
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1147
1152
  className: "mb-6 flex flex-wrap gap-4",
1148
1153
  children: [
1149
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Tooltip, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TooltipTrigger, {
1154
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.Tooltip, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TooltipTrigger, {
1150
1155
  asChild: true,
1151
1156
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
1152
1157
  type: "button",
@@ -1155,8 +1160,8 @@ const ContactInfoCard = ({ contact, className, onEdit, showActions = false, onCr
1155
1160
  className: "flex h-11 w-11 items-center justify-center rounded-lg bg-white/20 text-white/90 backdrop-blur-sm transition-colors hover:bg-white/30 disabled:cursor-not-allowed disabled:opacity-40",
1156
1161
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.MessageSquare, { className: "h-5 w-5" })
1157
1162
  })
1158
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TooltipContent, { children: "Message" })] }),
1159
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Tooltip, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TooltipTrigger, {
1163
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TooltipContent, { children: "Message" })] }),
1164
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.Tooltip, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TooltipTrigger, {
1160
1165
  asChild: true,
1161
1166
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
1162
1167
  type: "button",
@@ -1165,8 +1170,8 @@ const ContactInfoCard = ({ contact, className, onEdit, showActions = false, onCr
1165
1170
  className: "flex h-11 w-11 items-center justify-center rounded-lg bg-white/20 text-white/90 backdrop-blur-sm transition-colors hover:bg-white/30 disabled:cursor-not-allowed disabled:opacity-40",
1166
1171
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ListChecks, { className: "h-5 w-5" })
1167
1172
  })
1168
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TooltipContent, { children: "New Task" })] }),
1169
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Tooltip, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TooltipTrigger, {
1173
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TooltipContent, { children: "New Task" })] }),
1174
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.Tooltip, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TooltipTrigger, {
1170
1175
  asChild: true,
1171
1176
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
1172
1177
  type: "button",
@@ -1175,8 +1180,8 @@ const ContactInfoCard = ({ contact, className, onEdit, showActions = false, onCr
1175
1180
  className: "flex h-11 w-11 items-center justify-center rounded-lg bg-white/20 text-white/90 backdrop-blur-sm transition-colors hover:bg-white/30 disabled:cursor-not-allowed disabled:opacity-40",
1176
1181
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.StickyNote, { className: "h-5 w-5" })
1177
1182
  })
1178
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TooltipContent, { children: "New Note" })] }),
1179
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Tooltip, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TooltipTrigger, {
1183
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TooltipContent, { children: "New Note" })] }),
1184
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.Tooltip, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TooltipTrigger, {
1180
1185
  asChild: true,
1181
1186
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
1182
1187
  type: "button",
@@ -1185,7 +1190,7 @@ const ContactInfoCard = ({ contact, className, onEdit, showActions = false, onCr
1185
1190
  className: "flex h-11 w-11 items-center justify-center rounded-lg bg-white/20 text-white/90 backdrop-blur-sm transition-colors hover:bg-white/30 disabled:cursor-not-allowed disabled:opacity-40",
1186
1191
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.CalendarDays, { className: "h-5 w-5" })
1187
1192
  })
1188
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.TooltipContent, { children: "Events (coming soon)" })] })
1193
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.TooltipContent, { children: "Events (coming soon)" })] })
1189
1194
  ]
1190
1195
  })
1191
1196
  }),
@@ -1278,7 +1283,7 @@ const ContactDetailsForm = ({ className, countries = DEFAULT_COUNTRIES, renderAv
1278
1283
  }, [currentStatus]);
1279
1284
  const initials = [watch("first_name")?.[0] ?? "", watch("last_name")?.[0] ?? ""].filter(Boolean).join("").toUpperCase() || "?";
1280
1285
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1281
- className: require_src.cn("space-y-6", className),
1286
+ className: require_src$1.cn("space-y-6", className),
1282
1287
  children: [renderAvatarPicker && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1283
1288
  className: "flex flex-col items-center gap-3",
1284
1289
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
@@ -1298,196 +1303,196 @@ const ContactDetailsForm = ({ className, countries = DEFAULT_COUNTRIES, renderAv
1298
1303
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1299
1304
  className: "grid grid-cols-1 gap-6 lg:grid-cols-2",
1300
1305
  children: [
1301
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormField, {
1306
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormField, {
1302
1307
  control,
1303
1308
  name: "first_name",
1304
- render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.FormItem, { children: [
1305
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormLabel, {
1309
+ render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.FormItem, { children: [
1310
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormLabel, {
1306
1311
  className: "font-inter text-foreground font-medium",
1307
1312
  children: "First Name"
1308
1313
  }),
1309
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Input, {
1314
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Input, {
1310
1315
  placeholder: "Enter first name",
1311
1316
  ...field,
1312
1317
  value: field.value ?? "",
1313
1318
  className: "ring-input"
1314
1319
  }) }),
1315
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormMessage, {})
1320
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormMessage, {})
1316
1321
  ] })
1317
1322
  }),
1318
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormField, {
1323
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormField, {
1319
1324
  control,
1320
1325
  name: "last_name",
1321
- render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.FormItem, { children: [
1322
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormLabel, {
1326
+ render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.FormItem, { children: [
1327
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormLabel, {
1323
1328
  className: "font-inter text-foreground font-medium",
1324
1329
  children: "Last Name"
1325
1330
  }),
1326
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Input, {
1331
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Input, {
1327
1332
  placeholder: "Enter last name",
1328
1333
  ...field,
1329
1334
  value: field.value ?? "",
1330
1335
  className: "ring-input"
1331
1336
  }) }),
1332
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormMessage, {})
1337
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormMessage, {})
1333
1338
  ] })
1334
1339
  }),
1335
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormField, {
1340
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormField, {
1336
1341
  control,
1337
1342
  name: "email",
1338
- render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.FormItem, { children: [
1339
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormLabel, {
1343
+ render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.FormItem, { children: [
1344
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormLabel, {
1340
1345
  className: "font-inter text-foreground font-medium",
1341
1346
  children: "Email"
1342
1347
  }),
1343
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Input, {
1348
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Input, {
1344
1349
  placeholder: "Enter email address",
1345
1350
  type: "email",
1346
1351
  ...field,
1347
1352
  value: field.value ?? "",
1348
1353
  className: "ring-input"
1349
1354
  }) }),
1350
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormMessage, {})
1355
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormMessage, {})
1351
1356
  ] })
1352
1357
  }),
1353
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormField, {
1358
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormField, {
1354
1359
  control,
1355
1360
  name: "phone",
1356
- render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.FormItem, { children: [
1357
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormLabel, {
1361
+ render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.FormItem, { children: [
1362
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormLabel, {
1358
1363
  className: "font-inter text-foreground font-medium",
1359
1364
  children: "Phone"
1360
1365
  }),
1361
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Input, {
1366
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Input, {
1362
1367
  placeholder: "Enter phone number",
1363
1368
  ...field,
1364
1369
  value: field.value ?? "",
1365
1370
  className: "ring-input"
1366
1371
  }) }),
1367
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormMessage, {})
1372
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormMessage, {})
1368
1373
  ] })
1369
1374
  }),
1370
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormField, {
1375
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormField, {
1371
1376
  control,
1372
1377
  name: "status",
1373
- render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.FormItem, { children: [
1374
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormLabel, {
1378
+ render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.FormItem, { children: [
1379
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormLabel, {
1375
1380
  className: "font-inter text-foreground font-medium",
1376
1381
  children: "Status"
1377
1382
  }),
1378
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Select, {
1383
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.Select, {
1379
1384
  value: field.value ?? "",
1380
1385
  onValueChange: field.onChange,
1381
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.SelectTrigger, {
1386
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.SelectTrigger, {
1382
1387
  className: "w-full",
1383
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.SelectValue, { placeholder: "Select status" })
1384
- }) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.SelectContent, {
1388
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.SelectValue, { placeholder: "Select status" })
1389
+ }) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.SelectContent, {
1385
1390
  position: "popper",
1386
1391
  sideOffset: 4,
1387
- children: effectiveStatusOptions.map((opt) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.SelectItem, {
1392
+ children: effectiveStatusOptions.map((opt) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.SelectItem, {
1388
1393
  value: opt.value,
1389
1394
  children: opt.name
1390
1395
  }, opt.value))
1391
1396
  })]
1392
1397
  }),
1393
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormMessage, {})
1398
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormMessage, {})
1394
1399
  ] })
1395
1400
  }),
1396
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormField, {
1401
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormField, {
1397
1402
  control,
1398
1403
  name: "address",
1399
- render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.FormItem, {
1404
+ render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.FormItem, {
1400
1405
  className: "lg:col-span-2",
1401
1406
  children: [
1402
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormLabel, {
1407
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormLabel, {
1403
1408
  className: "font-inter text-foreground font-medium",
1404
1409
  children: "Full Address"
1405
1410
  }),
1406
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Input, {
1411
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Input, {
1407
1412
  placeholder: "Enter street address",
1408
1413
  ...field,
1409
1414
  value: field.value ?? "",
1410
1415
  className: "ring-input"
1411
1416
  }) }),
1412
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormMessage, {})
1417
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormMessage, {})
1413
1418
  ]
1414
1419
  })
1415
1420
  }),
1416
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormField, {
1421
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormField, {
1417
1422
  control,
1418
1423
  name: "city",
1419
- render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.FormItem, { children: [
1420
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormLabel, {
1424
+ render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.FormItem, { children: [
1425
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormLabel, {
1421
1426
  className: "font-inter text-foreground font-medium",
1422
1427
  children: "City"
1423
1428
  }),
1424
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Input, {
1429
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Input, {
1425
1430
  placeholder: "Enter city",
1426
1431
  ...field,
1427
1432
  value: field.value ?? "",
1428
1433
  className: "ring-input"
1429
1434
  }) }),
1430
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormMessage, {})
1435
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormMessage, {})
1431
1436
  ] })
1432
1437
  }),
1433
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormField, {
1438
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormField, {
1434
1439
  control,
1435
1440
  name: "state",
1436
- render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.FormItem, { children: [
1437
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormLabel, {
1441
+ render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.FormItem, { children: [
1442
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormLabel, {
1438
1443
  className: "font-inter text-foreground font-medium",
1439
1444
  children: "State/Province"
1440
1445
  }),
1441
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Input, {
1446
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Input, {
1442
1447
  placeholder: "Enter state or province",
1443
1448
  ...field,
1444
1449
  value: field.value ?? "",
1445
1450
  className: "ring-input"
1446
1451
  }) }),
1447
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormMessage, {})
1452
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormMessage, {})
1448
1453
  ] })
1449
1454
  }),
1450
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormField, {
1455
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormField, {
1451
1456
  control,
1452
1457
  name: "postal_code",
1453
- render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.FormItem, { children: [
1454
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormLabel, {
1458
+ render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.FormItem, { children: [
1459
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormLabel, {
1455
1460
  className: "font-inter text-foreground font-medium",
1456
1461
  children: "Postal Code"
1457
1462
  }),
1458
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Input, {
1463
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Input, {
1459
1464
  placeholder: "Enter postal code",
1460
1465
  ...field,
1461
1466
  value: field.value ?? "",
1462
1467
  className: "ring-input"
1463
1468
  }) }),
1464
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormMessage, {})
1469
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormMessage, {})
1465
1470
  ] })
1466
1471
  }),
1467
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormField, {
1472
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormField, {
1468
1473
  control,
1469
1474
  name: "country_code",
1470
- render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.FormItem, { children: [
1471
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormLabel, {
1475
+ render: ({ field }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.FormItem, { children: [
1476
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormLabel, {
1472
1477
  className: "font-inter text-foreground font-medium",
1473
1478
  children: "Country"
1474
1479
  }),
1475
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Select, {
1480
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.Select, {
1476
1481
  value: field.value ?? "",
1477
1482
  onValueChange: field.onChange,
1478
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.SelectTrigger, {
1483
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormControl, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.SelectTrigger, {
1479
1484
  className: "w-full",
1480
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.SelectValue, { placeholder: "Select country" })
1481
- }) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.SelectContent, {
1485
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.SelectValue, { placeholder: "Select country" })
1486
+ }) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.SelectContent, {
1482
1487
  position: "popper",
1483
1488
  sideOffset: 4,
1484
- children: countries.map((opt) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.SelectItem, {
1489
+ children: countries.map((opt) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.SelectItem, {
1485
1490
  value: opt.value,
1486
1491
  children: opt.name
1487
1492
  }, opt.value))
1488
1493
  })]
1489
1494
  }),
1490
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.FormMessage, {})
1495
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.FormMessage, {})
1491
1496
  ] })
1492
1497
  })
1493
1498
  ]
@@ -1502,7 +1507,7 @@ function useDeleteContactNote(contactId, options) {
1502
1507
  return (0, _tanstack_react_query.useMutation)({
1503
1508
  mutationFn: (noteId) => api.deleteNote(noteId, contactId),
1504
1509
  onSuccess: () => {
1505
- require_src.fluidToast({
1510
+ require_src$1.fluidToast({
1506
1511
  title: "Note deleted",
1507
1512
  type: "success"
1508
1513
  });
@@ -1510,7 +1515,7 @@ function useDeleteContactNote(contactId, options) {
1510
1515
  options?.onSuccess?.();
1511
1516
  },
1512
1517
  onError: (error) => {
1513
- require_src.fluidToast({
1518
+ require_src$1.fluidToast({
1514
1519
  title: "Failed to delete note",
1515
1520
  type: "error",
1516
1521
  description: require_parse_api_errors.parseApiErrors(error)
@@ -1526,7 +1531,7 @@ function useCreateContactNote(contactId, options) {
1526
1531
  return (0, _tanstack_react_query.useMutation)({
1527
1532
  mutationFn: (input) => api.createNote(contactId, input),
1528
1533
  onSuccess: () => {
1529
- require_src.fluidToast({
1534
+ require_src$1.fluidToast({
1530
1535
  title: "Note created",
1531
1536
  type: "success"
1532
1537
  });
@@ -1534,7 +1539,7 @@ function useCreateContactNote(contactId, options) {
1534
1539
  options?.onSuccess?.();
1535
1540
  },
1536
1541
  onError: (error) => {
1537
- require_src.fluidToast({
1542
+ require_src$1.fluidToast({
1538
1543
  title: "Failed to create note",
1539
1544
  type: "error",
1540
1545
  description: require_parse_api_errors.parseApiErrors(error)
@@ -1550,7 +1555,7 @@ function useUpdateContactNote(contactId, options) {
1550
1555
  return (0, _tanstack_react_query.useMutation)({
1551
1556
  mutationFn: ({ noteId, input }) => api.updateNote(noteId, contactId, input),
1552
1557
  onSuccess: () => {
1553
- require_src.fluidToast({
1558
+ require_src$1.fluidToast({
1554
1559
  title: "Note updated",
1555
1560
  type: "success"
1556
1561
  });
@@ -1558,7 +1563,7 @@ function useUpdateContactNote(contactId, options) {
1558
1563
  options?.onSuccess?.();
1559
1564
  },
1560
1565
  onError: (error) => {
1561
- require_src.fluidToast({
1566
+ require_src$1.fluidToast({
1562
1567
  title: "Failed to update note",
1563
1568
  type: "error",
1564
1569
  description: require_parse_api_errors.parseApiErrors(error)
@@ -1694,7 +1699,7 @@ function NoteTaskEditor({ titlePlaceholder = "New Note", bodyPlaceholder = "Star
1694
1699
  const buttonInactive = "text-muted-foreground hover:bg-muted/50";
1695
1700
  const toolbarSeparator = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "bg-border mx-1 h-5 w-px" });
1696
1701
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1697
- className: require_src.cn("border-border flex flex-col overflow-hidden rounded-lg border", className),
1702
+ className: require_src$1.cn("border-border flex flex-col overflow-hidden rounded-lg border", className),
1698
1703
  children: [
1699
1704
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1700
1705
  className: "border-border bg-muted/50 flex items-center gap-0.5 border-b px-2 py-1.5",
@@ -1703,7 +1708,7 @@ function NoteTaskEditor({ titlePlaceholder = "New Note", bodyPlaceholder = "Star
1703
1708
  type: "button",
1704
1709
  onClick: () => editor?.chain().focus().toggleBold().run(),
1705
1710
  disabled: !editor?.can().chain().focus().toggleBold().run(),
1706
- className: require_src.cn(buttonBase, "font-bold", editor?.isActive("bold") ? buttonActive : buttonInactive),
1711
+ className: require_src$1.cn(buttonBase, "font-bold", editor?.isActive("bold") ? buttonActive : buttonInactive),
1707
1712
  title: "Bold",
1708
1713
  children: "B"
1709
1714
  }),
@@ -1711,7 +1716,7 @@ function NoteTaskEditor({ titlePlaceholder = "New Note", bodyPlaceholder = "Star
1711
1716
  type: "button",
1712
1717
  onClick: () => editor?.chain().focus().toggleItalic().run(),
1713
1718
  disabled: !editor?.can().chain().focus().toggleItalic().run(),
1714
- className: require_src.cn(buttonBase, "italic", editor?.isActive("italic") ? buttonActive : buttonInactive),
1719
+ className: require_src$1.cn(buttonBase, "italic", editor?.isActive("italic") ? buttonActive : buttonInactive),
1715
1720
  title: "Italic",
1716
1721
  children: "I"
1717
1722
  }),
@@ -1719,7 +1724,7 @@ function NoteTaskEditor({ titlePlaceholder = "New Note", bodyPlaceholder = "Star
1719
1724
  type: "button",
1720
1725
  onClick: () => editor?.chain().focus().toggleUnderline().run(),
1721
1726
  disabled: !editor?.can().chain().focus().toggleUnderline().run(),
1722
- className: require_src.cn(buttonBase, "underline", editor?.isActive("underline") ? buttonActive : buttonInactive),
1727
+ className: require_src$1.cn(buttonBase, "underline", editor?.isActive("underline") ? buttonActive : buttonInactive),
1723
1728
  title: "Underline",
1724
1729
  children: "U"
1725
1730
  }),
@@ -1727,28 +1732,28 @@ function NoteTaskEditor({ titlePlaceholder = "New Note", bodyPlaceholder = "Star
1727
1732
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
1728
1733
  type: "button",
1729
1734
  onClick: () => editor?.chain().focus().setTextAlign("left").run(),
1730
- className: require_src.cn(buttonBase, editor?.isActive({ textAlign: "left" }) ? buttonActive : buttonInactive),
1735
+ className: require_src$1.cn(buttonBase, editor?.isActive({ textAlign: "left" }) ? buttonActive : buttonInactive),
1731
1736
  title: "Align left",
1732
1737
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.AlignLeft, { className: "h-3.5 w-3.5" })
1733
1738
  }),
1734
1739
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
1735
1740
  type: "button",
1736
1741
  onClick: () => editor?.chain().focus().setTextAlign("center").run(),
1737
- className: require_src.cn(buttonBase, editor?.isActive({ textAlign: "center" }) ? buttonActive : buttonInactive),
1742
+ className: require_src$1.cn(buttonBase, editor?.isActive({ textAlign: "center" }) ? buttonActive : buttonInactive),
1738
1743
  title: "Align center",
1739
1744
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.AlignCenter, { className: "h-3.5 w-3.5" })
1740
1745
  }),
1741
1746
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
1742
1747
  type: "button",
1743
1748
  onClick: () => editor?.chain().focus().setTextAlign("right").run(),
1744
- className: require_src.cn(buttonBase, editor?.isActive({ textAlign: "right" }) ? buttonActive : buttonInactive),
1749
+ className: require_src$1.cn(buttonBase, editor?.isActive({ textAlign: "right" }) ? buttonActive : buttonInactive),
1745
1750
  title: "Align right",
1746
1751
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.AlignRight, { className: "h-3.5 w-3.5" })
1747
1752
  }),
1748
1753
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
1749
1754
  type: "button",
1750
1755
  onClick: () => editor?.chain().focus().setTextAlign("justify").run(),
1751
- className: require_src.cn(buttonBase, editor?.isActive({ textAlign: "justify" }) ? buttonActive : buttonInactive),
1756
+ className: require_src$1.cn(buttonBase, editor?.isActive({ textAlign: "justify" }) ? buttonActive : buttonInactive),
1752
1757
  title: "Justify",
1753
1758
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.AlignJustify, { className: "h-3.5 w-3.5" })
1754
1759
  }),
@@ -1756,14 +1761,14 @@ function NoteTaskEditor({ titlePlaceholder = "New Note", bodyPlaceholder = "Star
1756
1761
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
1757
1762
  type: "button",
1758
1763
  onClick: () => editor?.chain().focus().toggleBulletList().run(),
1759
- className: require_src.cn(buttonBase, editor?.isActive("bulletList") ? buttonActive : buttonInactive),
1764
+ className: require_src$1.cn(buttonBase, editor?.isActive("bulletList") ? buttonActive : buttonInactive),
1760
1765
  title: "Bullet list",
1761
1766
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.List, { className: "h-3.5 w-3.5" })
1762
1767
  }),
1763
1768
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
1764
1769
  type: "button",
1765
1770
  onClick: () => editor?.chain().focus().toggleOrderedList().run(),
1766
- className: require_src.cn(buttonBase, editor?.isActive("orderedList") ? buttonActive : buttonInactive),
1771
+ className: require_src$1.cn(buttonBase, editor?.isActive("orderedList") ? buttonActive : buttonInactive),
1767
1772
  title: "Ordered list",
1768
1773
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ListOrdered, { className: "h-3.5 w-3.5" })
1769
1774
  }),
@@ -1866,17 +1871,17 @@ function NoteTaskModal({ open, onOpenChange, mode, type, initialTitle = "", init
1866
1871
  dueDate
1867
1872
  });
1868
1873
  };
1869
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Sheet, {
1874
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Sheet, {
1870
1875
  open,
1871
1876
  onOpenChange,
1872
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.SheetContent, {
1877
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.SheetContent, {
1873
1878
  className: "flex w-full flex-col sm:max-w-lg",
1874
1879
  children: [
1875
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.SheetHeader, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.SheetTitle, { children: sheetTitle }) }),
1880
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.SheetHeader, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.SheetTitle, { children: sheetTitle }) }),
1876
1881
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1877
1882
  className: "flex min-h-0 flex-1 flex-col gap-3",
1878
1883
  children: [
1879
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Input, {
1884
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Input, {
1880
1885
  placeholder: `${typeLabel} title`,
1881
1886
  value: title,
1882
1887
  onChange: (e) => setTitle(e.target.value),
@@ -1928,22 +1933,22 @@ function NoteTaskModal({ open, onOpenChange, mode, type, initialTitle = "", init
1928
1933
  })
1929
1934
  ]
1930
1935
  }),
1931
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.SheetFooter, {
1936
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.SheetFooter, {
1932
1937
  className: "flex-row justify-end gap-2 border-t pt-4",
1933
1938
  children: [
1934
- mode === "edit" && onToggleComplete && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
1939
+ mode === "edit" && onToggleComplete && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Button, {
1935
1940
  variant: "outline",
1936
1941
  onClick: onToggleComplete,
1937
1942
  disabled: isTogglePending,
1938
1943
  className: "mr-auto",
1939
1944
  children: isCompleted ? "Mark Incomplete" : "Mark Complete"
1940
1945
  }),
1941
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
1946
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Button, {
1942
1947
  variant: "outline",
1943
1948
  onClick: () => onOpenChange(false),
1944
1949
  children: "Cancel"
1945
1950
  }),
1946
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
1951
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Button, {
1947
1952
  onClick: handleSave,
1948
1953
  disabled: !canSave,
1949
1954
  children: isPending ? "Saving..." : "Save"
@@ -2013,7 +2018,7 @@ function NoteCard({ note, onEdit, onDelete }) {
2013
2018
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h4", {
2014
2019
  className: "text-foreground line-clamp-1 text-sm font-semibold",
2015
2020
  children: note.title
2016
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuTrigger, {
2021
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuTrigger, {
2017
2022
  asChild: true,
2018
2023
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
2019
2024
  type: "button",
@@ -2021,9 +2026,9 @@ function NoteCard({ note, onEdit, onDelete }) {
2021
2026
  className: "text-muted-foreground inline-flex h-6 w-6 items-center justify-center rounded-md hover:opacity-70",
2022
2027
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.EllipsisVertical, { className: "h-4 w-4" })
2023
2028
  })
2024
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuContent, {
2029
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuContent, {
2025
2030
  align: "end",
2026
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuItem, {
2031
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuItem, {
2027
2032
  className: "text-destructive",
2028
2033
  onClick: (e) => {
2029
2034
  e.stopPropagation();
@@ -2156,16 +2161,16 @@ function NotesList({ notes, isLoading, contactId, ref }) {
2156
2161
  onSave: handleSave,
2157
2162
  isPending: createNote.isPending || updateNote.isPending
2158
2163
  }, editingNote?.id ?? "create"),
2159
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AlertDialog, {
2164
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AlertDialog, {
2160
2165
  open: !!noteToDelete,
2161
2166
  onOpenChange: (open) => {
2162
2167
  if (!open) setNoteToDelete(null);
2163
2168
  },
2164
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.AlertDialogContent, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.AlertDialogHeader, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AlertDialogTitle, { children: "Delete Note" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.AlertDialogDescription, { children: [
2169
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.AlertDialogContent, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.AlertDialogHeader, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AlertDialogTitle, { children: "Delete Note" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.AlertDialogDescription, { children: [
2165
2170
  "Are you sure you want to delete \"",
2166
2171
  noteToDelete?.title,
2167
2172
  "\"? This action cannot be undone."
2168
- ] })] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.AlertDialogFooter, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AlertDialogCancel, { children: "Cancel" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AlertDialogAction, {
2173
+ ] })] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.AlertDialogFooter, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AlertDialogCancel, { children: "Cancel" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AlertDialogAction, {
2169
2174
  variant: "destructive",
2170
2175
  onClick: () => {
2171
2176
  if (noteToDelete) deleteNote.mutate(noteToDelete.id);
@@ -2187,7 +2192,7 @@ function useToggleTaskCompletion(contactId) {
2187
2192
  queryClient.invalidateQueries({ queryKey: contactsKeys.tasks(contactId) });
2188
2193
  },
2189
2194
  onError: (error) => {
2190
- require_src.fluidToast({
2195
+ require_src$1.fluidToast({
2191
2196
  title: "Failed to update task",
2192
2197
  type: "error",
2193
2198
  description: require_parse_api_errors.parseApiErrors(error)
@@ -2203,7 +2208,7 @@ function useDeleteContactTask(contactId, options) {
2203
2208
  return (0, _tanstack_react_query.useMutation)({
2204
2209
  mutationFn: (taskId) => api.deleteTask(taskId, contactId),
2205
2210
  onSuccess: () => {
2206
- require_src.fluidToast({
2211
+ require_src$1.fluidToast({
2207
2212
  title: "Task deleted",
2208
2213
  type: "success"
2209
2214
  });
@@ -2211,7 +2216,7 @@ function useDeleteContactTask(contactId, options) {
2211
2216
  options?.onSuccess?.();
2212
2217
  },
2213
2218
  onError: (error) => {
2214
- require_src.fluidToast({
2219
+ require_src$1.fluidToast({
2215
2220
  title: "Failed to delete task",
2216
2221
  type: "error",
2217
2222
  description: require_parse_api_errors.parseApiErrors(error)
@@ -2227,7 +2232,7 @@ function useCreateContactTask(contactId, options) {
2227
2232
  return (0, _tanstack_react_query.useMutation)({
2228
2233
  mutationFn: (input) => api.createTask(contactId, input),
2229
2234
  onSuccess: () => {
2230
- require_src.fluidToast({
2235
+ require_src$1.fluidToast({
2231
2236
  title: "Task created",
2232
2237
  type: "success"
2233
2238
  });
@@ -2235,7 +2240,7 @@ function useCreateContactTask(contactId, options) {
2235
2240
  options?.onSuccess?.();
2236
2241
  },
2237
2242
  onError: (error) => {
2238
- require_src.fluidToast({
2243
+ require_src$1.fluidToast({
2239
2244
  title: "Failed to create task",
2240
2245
  type: "error",
2241
2246
  description: require_parse_api_errors.parseApiErrors(error)
@@ -2251,7 +2256,7 @@ function useUpdateContactTask(contactId, options) {
2251
2256
  return (0, _tanstack_react_query.useMutation)({
2252
2257
  mutationFn: ({ taskId, input }) => api.updateTask(taskId, contactId, input),
2253
2258
  onSuccess: () => {
2254
- require_src.fluidToast({
2259
+ require_src$1.fluidToast({
2255
2260
  title: "Task updated",
2256
2261
  type: "success"
2257
2262
  });
@@ -2259,7 +2264,7 @@ function useUpdateContactTask(contactId, options) {
2259
2264
  options?.onSuccess?.();
2260
2265
  },
2261
2266
  onError: (error) => {
2262
- require_src.fluidToast({
2267
+ require_src$1.fluidToast({
2263
2268
  title: "Failed to update task",
2264
2269
  type: "error",
2265
2270
  description: require_parse_api_errors.parseApiErrors(error)
@@ -2368,19 +2373,19 @@ function TaskCard({ task, toggleCompletion, onEdit, onDeleteClick }) {
2368
2373
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2369
2374
  className: "flex items-start justify-between gap-2",
2370
2375
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h4", {
2371
- className: require_src.cn("text-foreground line-clamp-2 font-semibold", isCompleted && "text-muted-foreground line-through"),
2376
+ className: require_src$1.cn("text-foreground line-clamp-2 font-semibold", isCompleted && "text-muted-foreground line-through"),
2372
2377
  children: title
2373
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuTrigger, {
2378
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuTrigger, {
2374
2379
  asChild: true,
2375
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
2380
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Button, {
2376
2381
  variant: "ghost",
2377
2382
  size: "icon-xs",
2378
2383
  onClick: (e) => e.stopPropagation(),
2379
2384
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.EllipsisVertical, { className: "h-4 w-4" })
2380
2385
  })
2381
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuContent, {
2386
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuContent, {
2382
2387
  align: "end",
2383
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuItem, {
2388
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuItem, {
2384
2389
  className: "text-destructive",
2385
2390
  onClick: (e) => {
2386
2391
  e.stopPropagation();
@@ -2402,8 +2407,8 @@ function TaskCard({ task, toggleCompletion, onEdit, onDeleteClick }) {
2402
2407
  children: timestamp
2403
2408
  }), task.due_at && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2404
2409
  className: "flex items-center gap-1",
2405
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Calendar, { className: require_src.cn("h-3.5 w-3.5", isCompleted ? "text-muted-foreground" : "text-primary") }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
2406
- className: require_src.cn("text-xs font-medium", isCompleted ? "text-muted-foreground" : "text-primary"),
2410
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Calendar, { className: require_src$1.cn("h-3.5 w-3.5", isCompleted ? "text-muted-foreground" : "text-primary") }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
2411
+ className: require_src$1.cn("text-xs font-medium", isCompleted ? "text-muted-foreground" : "text-primary"),
2407
2412
  children: ["Due ", formatDueDate(task.due_at)]
2408
2413
  })]
2409
2414
  })]
@@ -2511,12 +2516,12 @@ function TaskList({ tasks, isLoading, contactId, ref }) {
2511
2516
  }, { onSuccess: () => setEditingTask(null) }) : void 0,
2512
2517
  isTogglePending: toggleCompletion.isPending
2513
2518
  }, editingTask?.id ?? "create"),
2514
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AlertDialog, {
2519
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AlertDialog, {
2515
2520
  open: taskToDelete !== null,
2516
2521
  onOpenChange: (open) => {
2517
2522
  if (!open) setTaskToDelete(null);
2518
2523
  },
2519
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.AlertDialogContent, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.AlertDialogHeader, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AlertDialogTitle, { children: "Delete Task" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AlertDialogDescription, { children: "Are you sure you want to delete this task? This action cannot be undone." })] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.AlertDialogFooter, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AlertDialogCancel, { children: "Cancel" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.AlertDialogAction, {
2524
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.AlertDialogContent, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.AlertDialogHeader, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AlertDialogTitle, { children: "Delete Task" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AlertDialogDescription, { children: "Are you sure you want to delete this task? This action cannot be undone." })] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.AlertDialogFooter, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AlertDialogCancel, { children: "Cancel" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.AlertDialogAction, {
2520
2525
  variant: "destructive",
2521
2526
  onClick: () => {
2522
2527
  if (taskToDelete) deleteTask.mutate(taskToDelete.id);
@@ -2642,7 +2647,7 @@ function GroupsSection({ contactTags, availableGroups = [], onManageGroups, onAd
2642
2647
  return availableGroups.find((g) => g.name === tagName);
2643
2648
  };
2644
2649
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2645
- className: require_src.cn("bg-card rounded-lg border p-4 shadow-xs transition-all hover:shadow-md", disabled && "pointer-events-none opacity-45 select-none"),
2650
+ className: require_src$1.cn("bg-card rounded-lg border p-4 shadow-xs transition-all hover:shadow-md", disabled && "pointer-events-none opacity-45 select-none"),
2646
2651
  "aria-disabled": disabled || void 0,
2647
2652
  children: [
2648
2653
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
@@ -2663,16 +2668,21 @@ function GroupsSection({ contactTags, availableGroups = [], onManageGroups, onAd
2663
2668
  const group = getGroupDetails(tag);
2664
2669
  const backgroundColor = group?.avatar_background ?? "var(--color-muted)";
2665
2670
  const emoji = group?.avatar;
2671
+ const textColor = group?.avatar_background ? require_src.getContrastingTextColor(group.avatar_background) : null;
2666
2672
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
2667
- className: "text-foreground border-border inline-flex items-center gap-2 rounded-full border px-3 py-1.5 text-xs",
2668
- style: { backgroundColor },
2673
+ className: require_src$1.cn("border-border inline-flex items-center gap-2 rounded-full border px-3 py-1.5 text-xs", !textColor && "text-foreground"),
2674
+ style: {
2675
+ backgroundColor,
2676
+ ...textColor ? { color: textColor } : {}
2677
+ },
2669
2678
  children: [
2670
2679
  emoji && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: emoji }),
2671
2680
  tag,
2672
2681
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
2673
2682
  type: "button",
2674
2683
  onClick: () => onRemoveGroup(tag),
2675
- className: "text-foreground bg-background/25 hover:bg-background/50 flex h-4 w-4 items-center justify-center rounded-full transition-colors",
2684
+ className: "bg-background/25 hover:bg-background/50 flex h-4 w-4 items-center justify-center rounded-full transition-colors",
2685
+ style: textColor ? { color: textColor } : void 0,
2676
2686
  "aria-label": `Remove ${tag}`,
2677
2687
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.X, { className: "h-3 w-3" })
2678
2688
  })
@@ -2680,18 +2690,18 @@ function GroupsSection({ contactTags, availableGroups = [], onManageGroups, onAd
2680
2690
  }, tag);
2681
2691
  })
2682
2692
  }),
2683
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuTrigger, {
2693
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuTrigger, {
2684
2694
  asChild: true,
2685
2695
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
2686
2696
  type: "button",
2687
2697
  className: "text-primary hover:text-primary/80 mt-3 flex items-center gap-2 text-sm font-medium transition-colors",
2688
2698
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Plus, { className: "h-4 w-4" }), "Add Group"]
2689
2699
  })
2690
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuContent, {
2700
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenuContent, {
2691
2701
  align: "start",
2692
2702
  className: "w-64",
2693
2703
  children: [
2694
- filteredGroups.map((group) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
2704
+ filteredGroups.map((group) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenuItem, {
2695
2705
  onClick: () => onAddToGroup(group.name),
2696
2706
  className: "flex cursor-pointer items-center gap-3",
2697
2707
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
@@ -2703,8 +2713,8 @@ function GroupsSection({ contactTags, availableGroups = [], onManageGroups, onAd
2703
2713
  children: group.name
2704
2714
  })]
2705
2715
  }, group.name)),
2706
- filteredGroups.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuSeparator, {}),
2707
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
2716
+ filteredGroups.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DropdownMenuSeparator, {}),
2717
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DropdownMenuItem, {
2708
2718
  onClick: onCreateNewGroup,
2709
2719
  className: "cursor-pointer",
2710
2720
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Plus, { className: "mr-2 h-4 w-4" }), "Create New Group"]
@@ -2731,13 +2741,13 @@ function ManageGroupsModal({ open, onOpenChange, contactName, currentTags, avail
2731
2741
  const handleCancel = () => {
2732
2742
  onOpenChange(false);
2733
2743
  };
2734
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Dialog, {
2744
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Dialog, {
2735
2745
  open,
2736
2746
  onOpenChange,
2737
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DialogContent, {
2747
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DialogContent, {
2738
2748
  className: "max-w-md",
2739
2749
  children: [
2740
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DialogHeader, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DialogTitle, { children: ["Manage Groups for ", contactName] }) }),
2750
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DialogHeader, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DialogTitle, { children: ["Manage Groups for ", contactName] }) }),
2741
2751
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2742
2752
  className: "space-y-4 py-4",
2743
2753
  children: [
@@ -2771,7 +2781,7 @@ function ManageGroupsModal({ open, onOpenChange, contactName, currentTags, avail
2771
2781
  }, group.id);
2772
2782
  })
2773
2783
  })] }),
2774
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Button, {
2784
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.Button, {
2775
2785
  variant: "secondary",
2776
2786
  size: "sm",
2777
2787
  onClick: onCreateNewGroup,
@@ -2795,11 +2805,11 @@ function ManageGroupsModal({ open, onOpenChange, contactName, currentTags, avail
2795
2805
  })
2796
2806
  ]
2797
2807
  }),
2798
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DialogFooter, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
2808
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DialogFooter, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Button, {
2799
2809
  variant: "outline",
2800
2810
  onClick: handleCancel,
2801
2811
  children: "Cancel"
2802
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
2812
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Button, {
2803
2813
  onClick: handleSave,
2804
2814
  children: "Save Changes"
2805
2815
  })] })
@@ -2905,7 +2915,7 @@ function CreateGroupModal({ open, onOpenChange, onSave, existingGroupNames }) {
2905
2915
  const handleSave = () => {
2906
2916
  const trimmed = groupName.trim();
2907
2917
  if (!trimmed) {
2908
- require_src.fluidToast({
2918
+ require_src$1.fluidToast({
2909
2919
  title: "Group name required",
2910
2920
  description: "Please enter a name for the new group",
2911
2921
  type: "error"
@@ -2913,7 +2923,7 @@ function CreateGroupModal({ open, onOpenChange, onSave, existingGroupNames }) {
2913
2923
  return;
2914
2924
  }
2915
2925
  if (existingGroupNames.includes(trimmed)) {
2916
- require_src.fluidToast({
2926
+ require_src$1.fluidToast({
2917
2927
  title: "Group already exists",
2918
2928
  description: `A group named "${trimmed}" already exists`,
2919
2929
  type: "error"
@@ -2923,13 +2933,13 @@ function CreateGroupModal({ open, onOpenChange, onSave, existingGroupNames }) {
2923
2933
  onSave(trimmed, selectedEmoji, selectedColor);
2924
2934
  onOpenChange(false);
2925
2935
  };
2926
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Dialog, {
2936
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Dialog, {
2927
2937
  open,
2928
2938
  onOpenChange,
2929
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DialogContent, {
2939
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DialogContent, {
2930
2940
  className: "max-w-md",
2931
2941
  children: [
2932
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DialogHeader, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DialogTitle, { children: "Create New Group" }) }),
2942
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DialogHeader, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.DialogTitle, { children: "Create New Group" }) }),
2933
2943
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2934
2944
  className: "space-y-6 py-4",
2935
2945
  children: [
@@ -2946,7 +2956,7 @@ function CreateGroupModal({ open, onOpenChange, onSave, existingGroupNames }) {
2946
2956
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
2947
2957
  className: "text-foreground text-sm font-medium",
2948
2958
  children: "Group Name"
2949
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Input, {
2959
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Input, {
2950
2960
  value: groupName,
2951
2961
  onChange: (e) => setGroupName(e.target.value),
2952
2962
  placeholder: "Enter group name...",
@@ -2967,7 +2977,7 @@ function CreateGroupModal({ open, onOpenChange, onSave, existingGroupNames }) {
2967
2977
  children: CURATED_EMOJIS.map((emoji) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
2968
2978
  type: "button",
2969
2979
  onClick: () => setSelectedEmoji(emoji),
2970
- className: require_src.cn("hover:bg-primary/50 flex h-9 w-9 items-center justify-center rounded-md text-lg transition-colors", selectedEmoji === emoji && "bg-primary/10 border-primary border-2"),
2980
+ className: require_src$1.cn("hover:bg-primary/50 flex h-9 w-9 items-center justify-center rounded-md text-lg transition-colors", selectedEmoji === emoji && "bg-primary/10 border-primary border-2"),
2971
2981
  children: emoji
2972
2982
  }, emoji))
2973
2983
  })]
@@ -2982,7 +2992,7 @@ function CreateGroupModal({ open, onOpenChange, onSave, existingGroupNames }) {
2982
2992
  children: COLOR_SWATCHES.map((color) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
2983
2993
  type: "button",
2984
2994
  onClick: () => setSelectedColor(color),
2985
- className: require_src.cn("h-8 w-8 rounded-full border-2 transition-all", selectedColor === color ? "border-primary scale-110" : "border-foreground/10 hover:scale-105"),
2995
+ className: require_src$1.cn("h-8 w-8 rounded-full border-2 transition-all", selectedColor === color ? "border-primary scale-110" : "border-foreground/10 hover:scale-105"),
2986
2996
  style: { backgroundColor: color },
2987
2997
  "aria-label": `Color ${color}`
2988
2998
  }, color))
@@ -2990,11 +3000,11 @@ function CreateGroupModal({ open, onOpenChange, onSave, existingGroupNames }) {
2990
3000
  })
2991
3001
  ]
2992
3002
  }),
2993
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DialogFooter, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
3003
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.DialogFooter, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Button, {
2994
3004
  variant: "outline",
2995
3005
  onClick: () => onOpenChange(false),
2996
3006
  children: "Cancel"
2997
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
3007
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Button, {
2998
3008
  onClick: handleSave,
2999
3009
  children: "Create Group"
3000
3010
  })] })
@@ -3066,7 +3076,7 @@ function RepContactDetailView({ contact, contactId, countryOptions = DEFAULT_COU
3066
3076
  const handleAddToGroup = (0, react.useCallback)((groupName) => {
3067
3077
  const newTags = [...contactTags, groupName];
3068
3078
  updateTags.mutate(newTags, { onSuccess: () => {
3069
- require_src.fluidToast({
3079
+ require_src$1.fluidToast({
3070
3080
  title: "Added to group",
3071
3081
  description: `Contact added to "${groupName}"`,
3072
3082
  type: "success"
@@ -3076,7 +3086,7 @@ function RepContactDetailView({ contact, contactId, countryOptions = DEFAULT_COU
3076
3086
  const handleRemoveGroup = (0, react.useCallback)((groupName) => {
3077
3087
  const newTags = contactTags.filter((g) => g !== groupName);
3078
3088
  updateTags.mutate(newTags, { onSuccess: () => {
3079
- require_src.fluidToast({
3089
+ require_src$1.fluidToast({
3080
3090
  title: "Removed from group",
3081
3091
  description: `Contact removed from "${groupName}"`,
3082
3092
  type: "success"
@@ -3092,7 +3102,7 @@ function RepContactDetailView({ contact, contactId, countryOptions = DEFAULT_COU
3092
3102
  const newTags = [...contactTags, name];
3093
3103
  updateTags.mutate(newTags, {
3094
3104
  onSuccess: () => {
3095
- require_src.fluidToast({
3105
+ require_src$1.fluidToast({
3096
3106
  title: "Group created",
3097
3107
  description: `Contact added to "${name}"`,
3098
3108
  type: "success"
@@ -3100,7 +3110,7 @@ function RepContactDetailView({ contact, contactId, countryOptions = DEFAULT_COU
3100
3110
  setIsCreateGroupModalOpen(false);
3101
3111
  },
3102
3112
  onError: () => {
3103
- require_src.fluidToast({
3113
+ require_src$1.fluidToast({
3104
3114
  title: "Group created",
3105
3115
  description: `Group created, but could not add contact to "${name}". Please try again.`,
3106
3116
  type: "error"
@@ -3116,7 +3126,7 @@ function RepContactDetailView({ contact, contactId, countryOptions = DEFAULT_COU
3116
3126
  ]);
3117
3127
  const handleSaveGroups = (0, react.useCallback)((selectedTags) => {
3118
3128
  updateTags.mutate(selectedTags, { onSuccess: () => {
3119
- require_src.fluidToast({
3129
+ require_src$1.fluidToast({
3120
3130
  title: "Groups updated",
3121
3131
  description: "Contact groups have been updated",
3122
3132
  type: "success"
@@ -3130,7 +3140,7 @@ function RepContactDetailView({ contact, contactId, countryOptions = DEFAULT_COU
3130
3140
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3131
3141
  className: "flex flex-col gap-6 px-4 py-4 lg:h-full lg:flex-row lg:px-6 lg:py-8",
3132
3142
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3133
- className: require_src.cn("w-full space-y-6 lg:w-80 lg:overflow-y-auto", isEditingProfile && "hidden lg:block"),
3143
+ className: require_src$1.cn("w-full space-y-6 lg:w-80 lg:overflow-y-auto", isEditingProfile && "hidden lg:block"),
3134
3144
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ContactInfoCard, {
3135
3145
  contact: contactInfo,
3136
3146
  isDimmed: isEditingProfile,
@@ -3171,20 +3181,20 @@ function RepContactDetailView({ contact, contactId, countryOptions = DEFAULT_COU
3171
3181
  })]
3172
3182
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3173
3183
  className: "flex w-full flex-col gap-2 sm:w-auto sm:shrink-0 sm:flex-row sm:items-center sm:gap-3",
3174
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
3184
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Button, {
3175
3185
  type: "button",
3176
3186
  variant: "secondary",
3177
3187
  onClick: () => setActiveTab("Tasks"),
3178
3188
  disabled: isSubmitting,
3179
3189
  className: "w-full sm:w-auto",
3180
3190
  children: "Cancel"
3181
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Button, {
3191
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.Button, {
3182
3192
  type: "button",
3183
3193
  onClick: onSave,
3184
3194
  disabled: !isDirty || isSubmitting,
3185
3195
  "aria-busy": isSubmitting,
3186
3196
  className: "w-full sm:w-auto",
3187
- children: [isSubmitting && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Spinner, { className: "size-4" }), isSubmitting ? "Saving" : "Update Contact"]
3197
+ children: [isSubmitting && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Spinner, { className: "size-4" }), isSubmitting ? "Saving" : "Update Contact"]
3188
3198
  })]
3189
3199
  })]
3190
3200
  }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
@@ -3192,7 +3202,7 @@ function RepContactDetailView({ contact, contactId, countryOptions = DEFAULT_COU
3192
3202
  children: TABS_WITHOUT_PROFILE.map((tab) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
3193
3203
  type: "button",
3194
3204
  onClick: () => setActiveTab(tab),
3195
- className: require_src.cn(TAB_BUTTON_CLASS, activeTab === tab ? TAB_ACTIVE_CLASS : TAB_INACTIVE_CLASS),
3205
+ className: require_src$1.cn(TAB_BUTTON_CLASS, activeTab === tab ? TAB_ACTIVE_CLASS : TAB_INACTIVE_CLASS),
3196
3206
  children: tab
3197
3207
  }, tab))
3198
3208
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
@@ -3210,7 +3220,7 @@ function RepContactDetailView({ contact, contactId, countryOptions = DEFAULT_COU
3210
3220
  contactId,
3211
3221
  ref: openNoteModalRef
3212
3222
  }),
3213
- activeTab === "Profile" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Card, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.CardContent, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
3223
+ activeTab === "Profile" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Card, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.CardContent, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
3214
3224
  className: "text-muted-foreground mb-6 text-sm",
3215
3225
  children: "Update details below. Your contact card on the left is paused while you edit."
3216
3226
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ContactDetailsForm, {
@@ -3410,18 +3420,18 @@ function OrderCardSkeleton() {
3410
3420
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3411
3421
  className: "space-y-3",
3412
3422
  children: [
3413
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-5 w-32" }),
3423
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-5 w-32" }),
3414
3424
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3415
3425
  className: "flex gap-2",
3416
3426
  children: [
3417
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-5 w-20 rounded-xl" }),
3418
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-5 w-16 rounded-xl" }),
3419
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-5 w-24 rounded-xl" })
3427
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-5 w-20 rounded-xl" }),
3428
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-5 w-16 rounded-xl" }),
3429
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-5 w-24 rounded-xl" })
3420
3430
  ]
3421
3431
  }),
3422
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-4 w-28" })
3432
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-4 w-28" })
3423
3433
  ]
3424
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-6 w-16" })]
3434
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-6 w-16" })]
3425
3435
  })
3426
3436
  });
3427
3437
  }
@@ -3491,7 +3501,7 @@ function ContactOrdersList({ contactId, pageSize = 10 }) {
3491
3501
  className: "space-y-4",
3492
3502
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
3493
3503
  className: "flex items-center justify-between",
3494
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-6 w-24" })
3504
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-6 w-24" })
3495
3505
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
3496
3506
  className: "space-y-3",
3497
3507
  children: [
@@ -3653,19 +3663,19 @@ function SubscriptionCardSkeleton() {
3653
3663
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3654
3664
  className: "flex items-start gap-4",
3655
3665
  children: [
3656
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-12 w-12 rounded-lg" }),
3666
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-12 w-12 rounded-lg" }),
3657
3667
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3658
3668
  className: "flex-1 space-y-3",
3659
3669
  children: [
3660
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-5 w-32" }),
3670
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-5 w-32" }),
3661
3671
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3662
3672
  className: "flex gap-2",
3663
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-5 w-16 rounded-xl" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-5 w-24 rounded-xl" })]
3673
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-5 w-16 rounded-xl" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-5 w-24 rounded-xl" })]
3664
3674
  }),
3665
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-4 w-40" })
3675
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-4 w-40" })
3666
3676
  ]
3667
3677
  }),
3668
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-6 w-16" })
3678
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-6 w-16" })
3669
3679
  ]
3670
3680
  })
3671
3681
  });
@@ -3745,7 +3755,7 @@ function ContactSubscriptionOrdersList({ contactId, pageSize = 10 }) {
3745
3755
  className: "space-y-4",
3746
3756
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
3747
3757
  className: "flex items-center justify-between",
3748
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-6 w-32" })
3758
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src$1.Skeleton, { className: "h-6 w-32" })
3749
3759
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
3750
3760
  className: "space-y-3",
3751
3761
  children: [
@@ -3829,7 +3839,7 @@ function useUpdateContactMutation(contactId, queryKeyPrefix = "contacts", option
3829
3839
  return (0, _tanstack_react_query.useMutation)({
3830
3840
  mutationFn: ({ id, data }) => api.updateContact(id, data),
3831
3841
  onSuccess: () => {
3832
- require_src.fluidToast({
3842
+ require_src$1.fluidToast({
3833
3843
  title: "Contact updated successfully",
3834
3844
  type: "success"
3835
3845
  });
@@ -3837,7 +3847,7 @@ function useUpdateContactMutation(contactId, queryKeyPrefix = "contacts", option
3837
3847
  options?.onSuccess?.();
3838
3848
  },
3839
3849
  onError: (error) => {
3840
- require_src.fluidToast({
3850
+ require_src$1.fluidToast({
3841
3851
  title: "Failed to save contact",
3842
3852
  type: "error",
3843
3853
  description: require_parse_api_errors.parseApiErrors(error)
@@ -3854,7 +3864,7 @@ function useDeleteContactMutation(queryKeyPrefix = "contacts", options) {
3854
3864
  return (0, _tanstack_react_query.useMutation)({
3855
3865
  mutationFn: (contactId) => api.deleteContact(contactId),
3856
3866
  onSuccess: () => {
3857
- require_src.fluidToast({
3867
+ require_src$1.fluidToast({
3858
3868
  title: "Contact deleted successfully",
3859
3869
  type: "success"
3860
3870
  });
@@ -3862,7 +3872,7 @@ function useDeleteContactMutation(queryKeyPrefix = "contacts", options) {
3862
3872
  options?.onSuccess?.();
3863
3873
  },
3864
3874
  onError: (error) => {
3865
- require_src.fluidToast({
3875
+ require_src$1.fluidToast({
3866
3876
  title: "Failed to delete contact",
3867
3877
  type: "error",
3868
3878
  description: require_parse_api_errors.parseApiErrors(error)
@@ -3920,7 +3930,7 @@ function useContactDetailPage(contactId, options) {
3920
3930
  value: c.iso ?? c.id.toString()
3921
3931
  })) ?? []].sort((a, b) => a.name.localeCompare(b.name)), [countries]);
3922
3932
  const contact = data?.contact;
3923
- const methods = require_src.useZodForm(editContactFormSchema, {
3933
+ const methods = require_src$1.useZodForm(editContactFormSchema, {
3924
3934
  values: (0, react.useMemo)(() => {
3925
3935
  if (!contact) return void 0;
3926
3936
  return {
@@ -3945,7 +3955,7 @@ function useContactDetailPage(contactId, options) {
3945
3955
  data: payload
3946
3956
  });
3947
3957
  }, (errors) => {
3948
- require_src.fluidToast({
3958
+ require_src$1.fluidToast({
3949
3959
  title: "Please fix the form errors before saving",
3950
3960
  description: Object.entries(errors).map(([field, err]) => {
3951
3961
  const msg = typeof err?.message === "string" ? err.message : "invalid";
@@ -3982,7 +3992,7 @@ function useCreateContactMutation(queryKeyPrefix = "contacts", options) {
3982
3992
  return (0, _tanstack_react_query.useMutation)({
3983
3993
  mutationFn: (data) => api.createContact(data),
3984
3994
  onSuccess: (data) => {
3985
- require_src.fluidToast({
3995
+ require_src$1.fluidToast({
3986
3996
  title: "Contact created successfully",
3987
3997
  type: "success"
3988
3998
  });
@@ -3991,7 +4001,7 @@ function useCreateContactMutation(queryKeyPrefix = "contacts", options) {
3991
4001
  },
3992
4002
  onError: (error) => {
3993
4003
  if (options?.onError) options.onError(error);
3994
- else require_src.fluidToast({
4004
+ else require_src$1.fluidToast({
3995
4005
  title: "Failed to create contact",
3996
4006
  type: "error",
3997
4007
  description: require_parse_api_errors.parseApiErrors(error)
@@ -4429,7 +4439,7 @@ function ContactListView({ onNavigate, onContactSelect }) {
4429
4439
  });
4430
4440
  }
4431
4441
  function ContactDetailView({ contactId, onNavigate }) {
4432
- const countriesAdapter = require_countries_api_context.useCountriesApi();
4442
+ const countriesAdapter = require_src.useCountriesApi();
4433
4443
  const { contact, isLoading, methods, countryOptions, isDirty, isSubmitting, isDeleting, onSave, onDelete } = useContactDetailPage(contactId, {
4434
4444
  queryKeyPrefix: QUERY_KEY_PREFIX,
4435
4445
  getCountries: (0, react.useCallback)(async () => {
@@ -4457,7 +4467,7 @@ function ContactDetailView({ contactId, onNavigate }) {
4457
4467
  });
4458
4468
  if (!contact) return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
4459
4469
  className: "mx-auto max-w-7xl px-4 py-4 sm:px-6 sm:py-6 lg:px-10 lg:py-8",
4460
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Button, {
4470
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src$1.Button, {
4461
4471
  variant: "ghost",
4462
4472
  size: "sm",
4463
4473
  className: "mb-6",
@@ -4513,7 +4523,7 @@ const CREATE_DEFAULT_VALUES = {
4513
4523
  };
4514
4524
  function ContactCreateView({ onNavigate, onCreateContact }) {
4515
4525
  const formRef = (0, react.useRef)(null);
4516
- const countriesAdapter = require_countries_api_context.useCountriesApi();
4526
+ const countriesAdapter = require_src.useCountriesApi();
4517
4527
  const { data: countriesResponse } = (0, _tanstack_react_query.useQuery)({
4518
4528
  queryKey: ["bff-store-countries"],
4519
4529
  queryFn: () => countriesAdapter.listCountries()
@@ -4522,7 +4532,7 @@ function ContactCreateView({ onNavigate, onCreateContact }) {
4522
4532
  name: c.name,
4523
4533
  value: c.code
4524
4534
  })).sort((a, b) => a.name.localeCompare(b.name)), [countriesResponse]);
4525
- const methods = require_src.useZodForm(createContactFormSchema, { defaultValues: CREATE_DEFAULT_VALUES });
4535
+ const methods = require_src$1.useZodForm(createContactFormSchema, { defaultValues: CREATE_DEFAULT_VALUES });
4526
4536
  const mutation = useCreateContactMutation(QUERY_KEY_PREFIX, { onSuccess: (data) => {
4527
4537
  onCreateContact?.();
4528
4538
  const newContactId = data?.contact?.id;
@@ -4604,4 +4614,4 @@ Object.defineProperty(exports, "contactsScreenPropertySchema", {
4604
4614
  }
4605
4615
  });
4606
4616
 
4607
- //# sourceMappingURL=ContactsScreen-DvohvoOE.cjs.map
4617
+ //# sourceMappingURL=ContactsScreen-BQ6pvYOa.cjs.map