@fluid-app/portal-sdk 0.1.526 → 0.1.528

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.
@@ -3489,7 +3489,7 @@ function ProfilePhoto({ conversation, user, size, className, onClick, showStatus
3489
3489
  const recipientStatus = conversation.recipients?.find((r) => r.id === user.id)?.status;
3490
3490
  const resolvedStatus = directStatus || recipientStatus;
3491
3491
  const showDot = showStatusDot && size !== "xxl" && (resolvedStatus === "online" || resolvedStatus === "away");
3492
- const imageClassName = (0, clsx.default)("origin-top-left rounded-full border border-gray-50 object-cover", size === "xxl" && "h-[120px] w-[120px]", size === "xl" && "size-12", size === "lg" && "size-8", size === "md" && "size-6", size === "sm" && "size-5", size === "xs" && "size-4");
3492
+ const imageClassName = (0, clsx.default)("origin-top-left rounded-full border border-[color:var(--messaging-border,var(--color-gray-50))] object-cover", size === "xxl" && "h-[120px] w-[120px]", size === "xl" && "size-12", size === "lg" && "size-8", size === "md" && "size-6", size === "sm" && "size-5", size === "xs" && "size-4");
3493
3493
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3494
3494
  className: require_src.cn("relative shrink-0 select-none", onClick && "cursor-pointer", className),
3495
3495
  onClick,
@@ -3508,10 +3508,10 @@ function ProfilePhoto({ conversation, user, size, className, onClick, showStatus
3508
3508
  height: 120,
3509
3509
  className: imageClassName
3510
3510
  }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
3511
- className: (0, clsx.default)("grid origin-top-left place-items-center rounded-full border border-white bg-blue-800 font-medium tracking-tighter text-white uppercase", size === "xxl" && "text-messaging-1 h-[120px] w-[120px] text-4xl", size === "xl" && "text-messaging-1 size-12", size === "lg" && "text-messaging-4 size-8", size === "md" && "text-messaging-6 size-6", size === "sm" && "text-messaging-7 size-5", size === "xs" && "text-messaging-7 size-4"),
3511
+ className: (0, clsx.default)("grid origin-top-left place-items-center rounded-full border border-[color:var(--messaging-border,var(--color-white))] bg-[color:var(--messaging-primary,var(--color-blue-800))] font-medium tracking-tighter text-[color:var(--messaging-primary-foreground,var(--color-white))] uppercase", size === "xxl" && "text-messaging-1 h-[120px] w-[120px] text-4xl", size === "xl" && "text-messaging-1 size-12", size === "lg" && "text-messaging-4 size-8", size === "md" && "text-messaging-6 size-6", size === "sm" && "text-messaging-7 size-5", size === "xs" && "text-messaging-7 size-4"),
3512
3512
  style: { background: `linear-gradient(135deg, hsl(from ${baseColor} h 100 80) 0%, hsl(from ${baseColor} calc(h + 45) 90 50) 100%)` },
3513
3513
  children: initials
3514
- }), showDot && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: require_src.cn("absolute right-0 bottom-0 size-2 rounded-full border border-white", resolvedStatus === "online" && "bg-green-400", resolvedStatus === "away" && "bg-yellow-400", size === "xl" && "size-4", size === "lg" && "size-3", size === "xs" && "size-3") })]
3514
+ }), showDot && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: require_src.cn("absolute right-0 bottom-0 size-2 rounded-full border border-[color:var(--messaging-border,var(--color-white))]", resolvedStatus === "online" && "bg-green-400", resolvedStatus === "away" && "bg-yellow-400", size === "xl" && "size-4", size === "lg" && "size-3", size === "xs" && "size-3") })]
3515
3515
  });
3516
3516
  }
3517
3517
  //#endregion
@@ -3528,7 +3528,7 @@ function GroupAvatars({ conversation, currentUserId, groupSize = GROUP_MAX, rend
3528
3528
  size: "md",
3529
3529
  renderImage
3530
3530
  }, recipient.id)), users.length > displaySize && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3531
- className: "text-messaging-7 messaging-gradient z-10 flex size-6 items-center justify-center rounded-full border border-gray-200 bg-gray-200 text-white",
3531
+ className: "text-messaging-7 messaging-gradient z-10 flex size-6 items-center justify-center rounded-full border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-200))] text-white",
3532
3532
  children: ["+", users.length - displaySize]
3533
3533
  })]
3534
3534
  });
@@ -3572,13 +3572,13 @@ function MessagesHeaderActions({ conversation, currentUser, navigation, renderIm
3572
3572
  renderImage
3573
3573
  }),
3574
3574
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3575
- className: (0, clsx.default)("flex size-6 items-center justify-center rounded-sm border empty:hidden", messageType === "public-channel" && "border-blue-200 bg-blue-50", messageType === "sms" && "border-green-200 bg-green-50", messageType === "email" && "border-pink-200 bg-pink-50", messageType === "private-channel" && "border-purple-200 bg-purple-50", messageType === "broadcast" && "border-gray-200 bg-gray-50"),
3575
+ className: (0, clsx.default)("flex size-6 items-center justify-center rounded-sm border empty:hidden", messageType === "public-channel" && "border-[color:var(--messaging-primary-border,var(--color-blue-200))] bg-[color:var(--messaging-primary-tint,var(--color-blue-50))]", messageType === "sms" && "border-green-200 bg-green-50", messageType === "email" && "border-pink-200 bg-pink-50", messageType === "private-channel" && "border-purple-200 bg-purple-50", messageType === "broadcast" && "border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-50))]"),
3576
3576
  children: [
3577
- messageType === "public-channel" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Eye, { className: "size-3 text-blue-700" }),
3577
+ messageType === "public-channel" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Eye, { className: "size-3 text-[color:var(--messaging-primary,var(--color-blue-700))]" }),
3578
3578
  messageType === "sms" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Phone, { className: "size-3 text-green-700" }),
3579
3579
  messageType === "email" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Mail, { className: "size-3 text-pink-600" }),
3580
3580
  messageType === "private-channel" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Lock, { className: "size-2.5 text-purple-700" }),
3581
- messageType === "broadcast" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Megaphone, { className: "size-3 text-gray-700" })
3581
+ messageType === "broadcast" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Megaphone, { className: "size-3 text-[color:var(--messaging-foreground,var(--color-gray-700))]" })
3582
3582
  ]
3583
3583
  }),
3584
3584
  isMobile ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.IconButton, {
@@ -3636,37 +3636,37 @@ function MessagesHeaderActions({ conversation, currentUser, navigation, renderIm
3636
3636
  align: "end",
3637
3637
  className: "w-60 p-0",
3638
3638
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuLabel, {
3639
- className: "border-b border-gray-200 px-4 py-3 text-sm font-semibold text-slate-700",
3639
+ className: "border-b border-[color:var(--messaging-border,var(--color-gray-200))] px-4 py-3 text-sm font-semibold text-[color:var(--messaging-foreground,var(--color-slate-700))]",
3640
3640
  children: t("header_channel_options")
3641
3641
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3642
3642
  className: "px-0 py-1",
3643
3643
  children: [
3644
3644
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
3645
3645
  disabled: true,
3646
- className: "mx-1.5 my-0 gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-slate-700",
3647
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.User, { className: "size-4 text-gray-500" }), t("header_channel_details")]
3646
+ className: "mx-1.5 my-0 gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
3647
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.User, { className: "size-4 text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]" }), t("header_channel_details")]
3648
3648
  }),
3649
3649
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
3650
3650
  disabled: true,
3651
- className: "mx-1.5 my-0 gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-slate-700",
3652
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Settings, { className: "size-4 text-gray-500" }), t("header_channel_settings")]
3651
+ className: "mx-1.5 my-0 gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
3652
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Settings, { className: "size-4 text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]" }), t("header_channel_settings")]
3653
3653
  }),
3654
3654
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
3655
3655
  disabled: true,
3656
- className: "mx-1.5 my-0 gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-slate-700",
3657
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.BellOff, { className: "size-4 text-gray-500" }), t("header_mute_channel")]
3656
+ className: "mx-1.5 my-0 gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
3657
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.BellOff, { className: "size-4 text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]" }), t("header_mute_channel")]
3658
3658
  }),
3659
3659
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
3660
3660
  onSelect: () => navigation.navigate({
3661
3661
  view: "pins",
3662
3662
  conversationId
3663
3663
  }),
3664
- className: "mx-1.5 my-0 cursor-pointer gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-slate-700",
3664
+ className: "mx-1.5 my-0 cursor-pointer gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
3665
3665
  children: [
3666
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pin, { className: "size-4 text-gray-500" }),
3666
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pin, { className: "size-4 text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]" }),
3667
3667
  t("header_pinned_messages"),
3668
3668
  (conversation.pinned_messages_count ?? 0) > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
3669
- className: "ml-auto text-xs text-gray-500",
3669
+ className: "ml-auto text-xs text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]",
3670
3670
  children: conversation.pinned_messages_count ?? 0
3671
3671
  })
3672
3672
  ]
@@ -3782,7 +3782,7 @@ function MessagingLayoutSidebarFooter({ showAdminFeatures, renderNewChannelSideb
3782
3782
  className: (0, clsx.default)("sticky bottom-0 mt-auto md:-mx-4", !showAdminFeatures && "max-md:hidden"),
3783
3783
  ref: menuRef,
3784
3784
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3785
- className: (0, clsx.default)("absolute bottom-full left-0 -z-10 grid w-full gap-2 border-t border-gray-200 bg-white p-4 text-sm font-medium text-gray-700 transition-transform", createChatOpen ? "" : "hidden"),
3785
+ className: (0, clsx.default)("absolute bottom-full left-0 -z-10 grid w-full gap-2 border-t border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-background,var(--color-white))] p-4 text-sm font-medium text-[color:var(--messaging-foreground,var(--color-gray-700))] transition-transform", createChatOpen ? "" : "hidden"),
3786
3786
  inert: !createChatOpen,
3787
3787
  "aria-hidden": !createChatOpen,
3788
3788
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
@@ -3790,21 +3790,21 @@ function MessagingLayoutSidebarFooter({ showAdminFeatures, renderNewChannelSideb
3790
3790
  setCreateChatOpen(false);
3791
3791
  navigation.navigate({ view: "new" });
3792
3792
  },
3793
- className: "flex items-center justify-between rounded-md p-2 hover:bg-gray-50 active:bg-gray-100",
3793
+ className: "flex items-center justify-between rounded-md p-2 hover:bg-[color:var(--messaging-muted,var(--color-gray-50))] active:bg-[color:var(--messaging-muted,var(--color-gray-100))]",
3794
3794
  children: [t("sidebar_new_message"), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ArrowRight, { className: "size-4" })]
3795
3795
  }), showAdminFeatures && renderNewChannelSidebar?.({
3796
3796
  trigger: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
3797
3797
  onClick: () => setCreateChatOpen(false),
3798
- className: "flex items-center justify-between rounded-md p-2 hover:bg-gray-50 active:bg-gray-100",
3798
+ className: "flex items-center justify-between rounded-md p-2 hover:bg-[color:var(--messaging-muted,var(--color-gray-50))] active:bg-[color:var(--messaging-muted,var(--color-gray-100))]",
3799
3799
  children: [t("sidebar_new_channel"), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ArrowRight, { className: "size-4" })]
3800
3800
  }),
3801
3801
  open: channelSidebarOpen,
3802
3802
  onOpenChange: setChannelSidebarOpen
3803
3803
  })]
3804
3804
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3805
- className: "flex gap-2 border-t border-t-gray-200 bg-gray-50 p-4",
3805
+ className: "flex gap-2 border-t border-t-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-50))] p-4",
3806
3806
  children: [showAdminFeatures && (isMobile ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
3807
- className: "size-9 items-center justify-center text-gray-700",
3807
+ className: "size-9 items-center justify-center text-[color:var(--messaging-foreground,var(--color-gray-700))]",
3808
3808
  onClick: () => setIsNavigationOpen(true),
3809
3809
  "aria-label": t("header_more_options"),
3810
3810
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Menu, { className: "size-4" })
@@ -3824,7 +3824,7 @@ function MessagingLayoutSidebarFooter({ showAdminFeatures, renderNewChannelSideb
3824
3824
  })] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuTrigger, {
3825
3825
  asChild: true,
3826
3826
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
3827
- className: "size-9 items-center justify-center text-gray-700",
3827
+ className: "size-9 items-center justify-center text-[color:var(--messaging-foreground,var(--color-gray-700))]",
3828
3828
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Menu, { className: "size-4" })
3829
3829
  })
3830
3830
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuContent, {
@@ -3837,18 +3837,18 @@ function MessagingLayoutSidebarFooter({ showAdminFeatures, renderNewChannelSideb
3837
3837
  onClick: () => {
3838
3838
  navigation.navigate({ view: "index" });
3839
3839
  },
3840
- className: "mx-1.5 my-0 cursor-pointer gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-slate-700",
3841
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.BookUser, { className: "size-4 text-gray-500" }), t("sidebar_contacts")]
3840
+ className: "mx-1.5 my-0 cursor-pointer gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
3841
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.BookUser, { className: "size-4 text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]" }), t("sidebar_contacts")]
3842
3842
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
3843
3843
  onClick: () => {
3844
3844
  navigation.navigate({ view: "scheduled" });
3845
3845
  },
3846
- className: "mx-1.5 my-0 cursor-pointer gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-slate-700",
3847
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.CalendarClock, { className: "size-4 text-gray-500" }), t("sidebar_scheduled_messages")]
3846
+ className: "mx-1.5 my-0 cursor-pointer gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
3847
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.CalendarClock, { className: "size-4 text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]" }), t("sidebar_scheduled_messages")]
3848
3848
  })]
3849
3849
  })
3850
3850
  })] })), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Button, {
3851
- className: "h-9 grow items-center justify-center gap-2 text-gray-900",
3851
+ className: "h-9 grow items-center justify-center gap-2 text-[color:var(--messaging-foreground,var(--color-gray-900))]",
3852
3852
  onClick: () => setCreateChatOpen((p) => !p),
3853
3853
  children: [createChatOpen ? t("sidebar_new_button_close") : t("sidebar_new_button_open"), createChatOpen ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.X, { className: "size-4" }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.SquarePen, { className: "size-4" })]
3854
3854
  })]
@@ -3924,12 +3924,12 @@ const TooltipWithArrow = ({ title, content, children, className, side, align, si
3924
3924
  side,
3925
3925
  align,
3926
3926
  sideOffset,
3927
- className: (0, tailwind_merge.twMerge)(`group relative max-w-80 overflow-visible rounded-lg bg-gray-900 px-3 py-2 text-white`, className),
3927
+ className: (0, tailwind_merge.twMerge)(`group relative max-w-80 overflow-visible rounded-lg bg-[color:var(--messaging-muted,var(--color-gray-900))] px-3 py-2 text-white`, className),
3928
3928
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
3929
3929
  className: "text-xs font-semibold text-white",
3930
3930
  children: title
3931
3931
  }), content && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
3932
- className: "mt-1 text-xs font-medium text-gray-300",
3932
+ className: "mt-1 text-xs font-medium text-[color:var(--messaging-muted-foreground,var(--color-gray-300))]",
3933
3933
  children: content
3934
3934
  })]
3935
3935
  })]
@@ -3974,7 +3974,7 @@ function SidebarGroup({ children, label, icon, loadState, description }) {
3974
3974
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
3975
3975
  type: "button",
3976
3976
  onClick: () => loadState.load(),
3977
- className: "inline-flex items-center rounded-2xl border border-gray-200 bg-gray-50 px-2.5 py-0.5 text-[10px] font-medium text-gray-700 hover:bg-gray-100 active:bg-gray-200",
3977
+ className: "inline-flex items-center rounded-2xl border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-50))] px-2.5 py-0.5 text-[10px] font-medium text-[color:var(--messaging-foreground,var(--color-gray-700))] hover:bg-[color:var(--messaging-muted,var(--color-gray-100))] active:bg-[color:var(--messaging-muted,var(--color-gray-200))]",
3978
3978
  children: t("sidebar_load_more")
3979
3979
  })
3980
3980
  }, "load-more")
@@ -3998,8 +3998,8 @@ function SidebarGroup({ children, label, icon, loadState, description }) {
3998
3998
  className: "group/summary text-muted-foreground hover:bg-accent mx-3 mb-1 flex min-h-10 touch-manipulation items-center gap-2 rounded-lg px-1 text-xs font-semibold tracking-wide uppercase group-last/details:mb-0 group-open/details:mb-1 md:mx-0 md:min-h-0 md:tracking-normal md:normal-case",
3999
3999
  children: [
4000
4000
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
4001
- className: "group/icon grid size-5 place-items-center rounded-sm hover:bg-gray-300",
4002
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Icon, { className: "col-start-1 row-start-1 size-3.5 text-gray-500 transition-opacity group-hover/summary:opacity-0" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronDown, { className: "col-start-1 row-start-1 size-3.5 -rotate-90 text-gray-400 opacity-0 transition-all group-open/details:rotate-0 group-hover/icon:text-gray-500 group-hover/summary:opacity-100 group-active/icon:text-gray-600" })]
4001
+ className: "group/icon grid size-5 place-items-center rounded-sm hover:bg-[color:var(--messaging-muted,var(--color-gray-300))]",
4002
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Icon, { className: "col-start-1 row-start-1 size-3.5 text-[color:var(--messaging-muted-foreground,var(--color-gray-500))] transition-opacity group-hover/summary:opacity-0" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronDown, { className: "col-start-1 row-start-1 size-3.5 -rotate-90 text-[color:var(--messaging-muted-foreground,var(--color-gray-400))] opacity-0 transition-all group-open/details:rotate-0 group-hover/icon:text-[color:var(--messaging-muted-foreground,var(--color-gray-500))] group-hover/summary:opacity-100 group-active/icon:text-[color:var(--messaging-muted-foreground,var(--color-gray-600))]" })]
4003
4003
  }),
4004
4004
  label,
4005
4005
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TooltipWithArrow, {
@@ -4007,7 +4007,7 @@ function SidebarGroup({ children, label, icon, loadState, description }) {
4007
4007
  content: description,
4008
4008
  side: "right",
4009
4009
  sideOffset: 10,
4010
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.CircleHelp, { className: "invisible ml-auto size-4 rounded-sm p-1 group-hover/summary:visible hover:bg-gray-300 hover:text-gray-500" })
4010
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.CircleHelp, { className: "invisible ml-auto size-4 rounded-sm p-1 group-hover/summary:visible hover:bg-[color:var(--messaging-muted,var(--color-gray-300))] hover:text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]" })
4011
4011
  })
4012
4012
  ]
4013
4013
  }),
@@ -4017,7 +4017,7 @@ function SidebarGroup({ children, label, icon, loadState, description }) {
4017
4017
  role: "region",
4018
4018
  "aria-label": `View all ${label} conversations`,
4019
4019
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("summary", {
4020
- className: "list-none p-1 text-xs font-medium text-gray-500 hover:text-gray-700",
4020
+ className: "list-none p-1 text-xs font-medium text-[color:var(--messaging-muted-foreground,var(--color-gray-500))] hover:text-[color:var(--messaging-foreground,var(--color-gray-700))]",
4021
4021
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
4022
4022
  className: "group-open/nested:hidden",
4023
4023
  children: t("sidebar_show_all")
@@ -4480,7 +4480,7 @@ function MessagingLayout({ children, topBar, renderLockedDownlineItem, renderNew
4480
4480
  children: initialLoadInProgress ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MessagingLoadingSkeleton, { label: t("loading_messaging") }) : userWithoutChannels ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
4481
4481
  className: "flex h-full min-h-[30vh] w-full items-center justify-center",
4482
4482
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
4483
- className: "text-gray-500",
4483
+ className: "text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]",
4484
4484
  children: t("no_conversations")
4485
4485
  })
4486
4486
  }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ScrollerContext.Provider, {
@@ -4503,7 +4503,7 @@ function ChannelHeader({ conversation, renderImage, onToast }) {
4503
4503
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
4504
4504
  className: "flex flex-col items-center gap-2",
4505
4505
  children: [currentEmoji ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
4506
- className: "grid size-12 place-items-center rounded-sm bg-gray-100 text-2xl",
4506
+ className: "grid size-12 place-items-center rounded-sm bg-[color:var(--messaging-muted,var(--color-gray-100))] text-2xl",
4507
4507
  children: currentEmoji
4508
4508
  }) : conversation.image_url ? renderImage({
4509
4509
  src: conversation.image_url,
@@ -4517,7 +4517,7 @@ function ChannelHeader({ conversation, renderImage, onToast }) {
4517
4517
  className: "text-xl font-medium",
4518
4518
  children: ["#", formatMessageChannelName(nameWithoutEmojiText)]
4519
4519
  }), conversation.description && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
4520
- className: "text-xs text-gray-900",
4520
+ className: "text-xs text-[color:var(--messaging-foreground,var(--color-gray-900))]",
4521
4521
  children: conversation.description
4522
4522
  })]
4523
4523
  })]
@@ -4570,13 +4570,13 @@ function DirectMessageHeader({ conversation, renderImage, renderUserProfile }) {
4570
4570
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
4571
4571
  className: "text-center",
4572
4572
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
4573
- className: "text-xl font-medium text-gray-900",
4573
+ className: "text-xl font-medium text-[color:var(--messaging-foreground,var(--color-gray-900))]",
4574
4574
  children: conversation.type === "GroupConversation" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: groupName.displayName }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
4575
- className: "text-gray-500",
4575
+ className: "text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]",
4576
4576
  children: [" ", groupName.remainder]
4577
4577
  })] }) : conversation.name
4578
4578
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
4579
- className: "text-xs text-gray-500",
4579
+ className: "text-xs text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]",
4580
4580
  children: conversation.type === "SmsConversation" ? t("header_sms_message") : conversation.type === "EmailConversation" ? t("header_email_message") : conversation.type === "GroupConversation" ? t("header_group_message") : conversation.type === "DownlineConversation" ? t("header_downline_message") : t("header_direct_message")
4581
4581
  })]
4582
4582
  })]
@@ -5708,18 +5708,18 @@ function DatePickerDialog({ open, onOpenChange, onApply }) {
5708
5708
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
5709
5709
  type: "button",
5710
5710
  "aria-label": t("date_picker_previous_month"),
5711
- className: "size-8 rounded-md hover:bg-gray-100 active:bg-gray-200",
5711
+ className: "size-8 rounded-md hover:bg-[color:var(--messaging-muted,var(--color-gray-100))] active:bg-[color:var(--messaging-muted,var(--color-gray-200))]",
5712
5712
  onClick: () => setCurrentMonth((m) => subMonths(m, 1)),
5713
5713
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronLeft, {})
5714
5714
  }),
5715
5715
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
5716
- className: "text-base font-semibold text-gray-700",
5716
+ className: "text-base font-semibold text-[color:var(--messaging-foreground,var(--color-gray-700))]",
5717
5717
  children: require_isAfter.format(currentMonth, "MMMM yyyy")
5718
5718
  }),
5719
5719
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
5720
5720
  type: "button",
5721
5721
  "aria-label": t("date_picker_next_month"),
5722
- className: "size-8 rounded-md hover:bg-gray-100 active:bg-gray-200 disabled:cursor-not-allowed disabled:opacity-30",
5722
+ className: "size-8 rounded-md hover:bg-[color:var(--messaging-muted,var(--color-gray-100))] active:bg-[color:var(--messaging-muted,var(--color-gray-200))] disabled:cursor-not-allowed disabled:opacity-30",
5723
5723
  onClick: () => setCurrentMonth((m) => require_isAfter.addMonths(m, 1)),
5724
5724
  disabled: !canGoNext,
5725
5725
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronRight, {})
@@ -5738,7 +5738,7 @@ function DatePickerDialog({ open, onOpenChange, onApply }) {
5738
5738
  setCurrentMonth(new Date(value));
5739
5739
  },
5740
5740
  max: require_isAfter.format(now, "yyyy-MM-dd"),
5741
- className: (0, clsx.default)("hide-date-picker border border-gray-300")
5741
+ className: (0, clsx.default)("hide-date-picker border border-[color:var(--messaging-border,var(--color-gray-300))]")
5742
5742
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
5743
5743
  type: "button",
5744
5744
  onClick: () => {
@@ -5766,16 +5766,16 @@ function DatePickerDialog({ open, onOpenChange, onApply }) {
5766
5766
  caption: (0, clsx.default)("hidden"),
5767
5767
  head_cell: (0, clsx.default)("flex size-10 items-center justify-center text-sm font-medium"),
5768
5768
  cell: (0, clsx.default)("flex size-10 items-center justify-center"),
5769
- day: (0, clsx.default)("size-10 rounded-full text-sm font-medium text-gray-700 hover:bg-gray-100 active:bg-gray-200"),
5770
- day_selected: (0, clsx.default)("bg-blue-600! text-white!"),
5771
- day_outside: (0, clsx.default)("text-gray-500!"),
5772
- day_disabled: (0, clsx.default)("pointer-events-none text-gray-500 opacity-50")
5769
+ day: (0, clsx.default)("size-10 rounded-full text-sm font-medium text-[color:var(--messaging-foreground,var(--color-gray-700))] hover:bg-[color:var(--messaging-muted,var(--color-gray-100))] active:bg-[color:var(--messaging-muted,var(--color-gray-200))]"),
5770
+ day_selected: (0, clsx.default)("bg-[color:var(--messaging-primary,var(--color-blue-600))]! text-[color:var(--messaging-primary-foreground,var(--color-white))]!"),
5771
+ day_outside: (0, clsx.default)("text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]!"),
5772
+ day_disabled: (0, clsx.default)("pointer-events-none text-[color:var(--messaging-muted-foreground,var(--color-gray-500))] opacity-50")
5773
5773
  },
5774
5774
  initialFocus: true
5775
5775
  })
5776
5776
  ]
5777
5777
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
5778
- className: "flex w-full items-center gap-3 border-t border-gray-200 pt-4",
5778
+ className: "flex w-full items-center gap-3 border-t border-[color:var(--messaging-border,var(--color-gray-200))] pt-4",
5779
5779
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
5780
5780
  variant: "default",
5781
5781
  onClick: () => onOpenChange(false),
@@ -5799,11 +5799,11 @@ function UnreadDivider() {
5799
5799
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
5800
5800
  className: "absolute inset-0 flex items-center",
5801
5801
  "aria-hidden": "true",
5802
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "h-5 w-full -translate-y-1/2 border-b border-slate-300 bg-white" })
5802
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "h-5 w-full -translate-y-1/2 border-b border-[color:var(--messaging-border,var(--color-slate-300))] bg-[color:var(--messaging-background,var(--color-white))]" })
5803
5803
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
5804
5804
  className: "relative z-10 flex justify-center",
5805
5805
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
5806
- className: "rounded-2xl border border-indigo-800 bg-white px-2 py-0.5 text-xs font-medium text-indigo-900",
5806
+ className: "rounded-2xl border border-indigo-800 bg-[color:var(--messaging-background,var(--color-white))] px-2 py-0.5 text-xs font-medium text-indigo-900",
5807
5807
  children: t("message_new")
5808
5808
  })
5809
5809
  })]
@@ -5831,13 +5831,13 @@ function DayDivider({ date, conversationId, onJumpToDate }) {
5831
5831
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
5832
5832
  className: "absolute inset-0 flex items-center",
5833
5833
  "aria-hidden": "true",
5834
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "w-full border-t border-gray-200" })
5834
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "w-full border-t border-[color:var(--messaging-border,var(--color-gray-200))]" })
5835
5835
  }),
5836
5836
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
5837
5837
  className: "relative flex justify-center",
5838
5838
  children: isMobile ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
5839
5839
  type: "button",
5840
- className: require_src.cn("flex items-center gap-1.5 rounded-2xl border border-gray-200 bg-gray-50 py-0.5 pr-2.5 pl-3 text-xs font-medium text-gray-700", conversationId ? "cursor-pointer hover:bg-gray-100" : "cursor-default"),
5840
+ className: require_src.cn("flex items-center gap-1.5 rounded-2xl border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-50))] py-0.5 pr-2.5 pl-3 text-xs font-medium text-[color:var(--messaging-foreground,var(--color-gray-700))]", conversationId ? "cursor-pointer hover:bg-[color:var(--messaging-muted,var(--color-gray-100))]" : "cursor-default"),
5841
5841
  "aria-label": conversationId ? t("divider_jump_to") : void 0,
5842
5842
  disabled: !conversationId,
5843
5843
  onClick: () => setDateMenuOpen(true),
@@ -5885,7 +5885,7 @@ function DayDivider({ date, conversationId, onJumpToDate }) {
5885
5885
  asChild: true,
5886
5886
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
5887
5887
  type: "button",
5888
- className: require_src.cn("flex items-center gap-1.5 rounded-2xl border border-gray-200 bg-gray-50 py-0.5 pr-2.5 pl-3 text-xs font-medium text-gray-700", conversationId ? "cursor-pointer hover:bg-gray-100" : "cursor-default"),
5888
+ className: require_src.cn("flex items-center gap-1.5 rounded-2xl border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-50))] py-0.5 pr-2.5 pl-3 text-xs font-medium text-[color:var(--messaging-foreground,var(--color-gray-700))]", conversationId ? "cursor-pointer hover:bg-[color:var(--messaging-muted,var(--color-gray-100))]" : "cursor-default"),
5889
5889
  "aria-label": conversationId ? t("divider_jump_to") : void 0,
5890
5890
  disabled: !conversationId,
5891
5891
  children: [label, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronDown, { className: (0, clsx.default)("transition-transform duration-200", dateMenuOpen ? "rotate-180" : "") })]
@@ -5894,39 +5894,39 @@ function DayDivider({ date, conversationId, onJumpToDate }) {
5894
5894
  align: "center",
5895
5895
  className: "w-60 p-0",
5896
5896
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuLabel, {
5897
- className: "border-b border-gray-200 px-4 py-3 text-sm font-semibold text-slate-700",
5897
+ className: "border-b border-[color:var(--messaging-border,var(--color-gray-200))] px-4 py-3 text-sm font-semibold text-[color:var(--messaging-foreground,var(--color-slate-700))]",
5898
5898
  children: t("divider_jump_to")
5899
5899
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
5900
5900
  className: "px-0 py-1",
5901
5901
  children: [
5902
5902
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuItem, {
5903
- className: "mx-1.5 my-0 cursor-pointer rounded-md px-2.5 py-[9px] text-sm font-medium text-slate-700",
5903
+ className: "mx-1.5 my-0 cursor-pointer rounded-md px-2.5 py-[9px] text-sm font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
5904
5904
  onSelect: () => jumpToDate(require_isAfter.startOfDay(/* @__PURE__ */ new Date())),
5905
5905
  children: t("divider_today")
5906
5906
  }),
5907
5907
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuItem, {
5908
- className: "mx-1.5 my-0 cursor-pointer rounded-md px-2.5 py-[9px] text-sm font-medium text-slate-700",
5908
+ className: "mx-1.5 my-0 cursor-pointer rounded-md px-2.5 py-[9px] text-sm font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
5909
5909
  onSelect: () => jumpToDate(require_isAfter.startOfDay(subDays(/* @__PURE__ */ new Date(), 1))),
5910
5910
  children: t("divider_yesterday")
5911
5911
  }),
5912
5912
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuItem, {
5913
- className: "mx-1.5 my-0 cursor-pointer rounded-md px-2.5 py-[9px] text-sm font-medium text-slate-700",
5913
+ className: "mx-1.5 my-0 cursor-pointer rounded-md px-2.5 py-[9px] text-sm font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
5914
5914
  onSelect: () => jumpToDate(require_isAfter.startOfDay(subDays(/* @__PURE__ */ new Date(), 7))),
5915
5915
  children: t("divider_last_week")
5916
5916
  }),
5917
5917
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuItem, {
5918
- className: "mx-1.5 my-0 cursor-pointer rounded-md px-2.5 py-[9px] text-sm font-medium text-slate-700",
5918
+ className: "mx-1.5 my-0 cursor-pointer rounded-md px-2.5 py-[9px] text-sm font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
5919
5919
  onSelect: () => jumpToDate(require_isAfter.startOfDay(subDays(/* @__PURE__ */ new Date(), 30))),
5920
5920
  children: t("divider_last_month")
5921
5921
  }),
5922
5922
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuItem, {
5923
- className: "mx-1.5 my-0 cursor-pointer rounded-md px-2.5 py-[9px] text-sm font-medium text-slate-700",
5923
+ className: "mx-1.5 my-0 cursor-pointer rounded-md px-2.5 py-[9px] text-sm font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
5924
5924
  onSelect: () => jumpToDate("start"),
5925
5925
  children: t("divider_very_beginning")
5926
5926
  }),
5927
5927
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuSeparator, { className: "mx-0 my-1" }),
5928
5928
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuItem, {
5929
- className: "mx-1.5 my-0 cursor-pointer rounded-md px-2.5 py-[9px] text-sm font-medium text-slate-700",
5929
+ className: "mx-1.5 my-0 cursor-pointer rounded-md px-2.5 py-[9px] text-sm font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
5930
5930
  onSelect: onSelectSpecificDate,
5931
5931
  children: t("divider_specific_date")
5932
5932
  })
@@ -5964,16 +5964,16 @@ function ErrorState({ title, message, onRetry }) {
5964
5964
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
5965
5965
  className: "flex flex-col items-center gap-2 text-center",
5966
5966
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h3", {
5967
- className: "text-base leading-tight font-semibold text-slate-900",
5967
+ className: "text-base leading-tight font-semibold text-[color:var(--messaging-foreground,var(--color-slate-900))]",
5968
5968
  children: effectiveTitle
5969
5969
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
5970
- className: "text-sm leading-tight text-slate-600",
5970
+ className: "text-sm leading-tight text-[color:var(--messaging-muted-foreground,var(--color-slate-600))]",
5971
5971
  children: effectiveMessage
5972
5972
  })]
5973
5973
  }),
5974
5974
  onRetry && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
5975
5975
  onClick: onRetry,
5976
- className: "rounded-md bg-blue-600 px-4 py-2 text-sm font-medium text-white hover:bg-blue-700 focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:outline-none",
5976
+ className: "rounded-md bg-[color:var(--messaging-primary,var(--color-blue-600))] px-4 py-2 text-sm font-medium text-[color:var(--messaging-primary-foreground,var(--color-white))] hover:bg-[color:var(--messaging-primary,var(--color-blue-700))] focus:ring-2 focus:ring-[color:var(--messaging-primary,var(--color-blue-500))] focus:ring-offset-2 focus:outline-none",
5977
5977
  children: t("error_retry")
5978
5978
  })
5979
5979
  ]
@@ -6074,7 +6074,7 @@ function EmojiPickerFooter({ className, ...props }) {
6074
6074
  children: "Select an emoji…"
6075
6075
  }) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_dist.at.SkinToneSelector, {
6076
6076
  emoji: "👋",
6077
- className: "ml-auto aspect-square h-full rounded-sm hover:bg-gray-100 active:bg-gray-200"
6077
+ className: "ml-auto aspect-square h-full rounded-sm hover:bg-[color:var(--messaging-muted,var(--color-gray-100))] active:bg-[color:var(--messaging-muted,var(--color-gray-200))]"
6078
6078
  })]
6079
6079
  });
6080
6080
  }
@@ -6188,18 +6188,18 @@ function AttachmentDisplay({ attachment: { url, image_url, thumbnail_url, filena
6188
6188
  const showAsImage = metadata && thumbnail_url && !showAsVideo;
6189
6189
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
6190
6190
  !showAsVideo && !showAsImage && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
6191
- className: "group/file max-w-96 overflow-clip rounded-xl border border-gray-200 bg-gray-50",
6191
+ className: "group/file max-w-96 overflow-clip rounded-xl border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-50))]",
6192
6192
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
6193
6193
  className: "flex items-center gap-2 p-2",
6194
6194
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
6195
6195
  type: "button",
6196
6196
  onClick: () => window.open(url, "_blank"),
6197
- className: "-m-1 flex items-center gap-2 rounded-lg p-1 text-left hover:bg-gray-100 active:bg-gray-200",
6197
+ className: "-m-1 flex items-center gap-2 rounded-lg p-1 text-left hover:bg-[color:var(--messaging-muted,var(--color-gray-100))] active:bg-[color:var(--messaging-muted,var(--color-gray-200))]",
6198
6198
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
6199
- className: (0, clsx.default)("isolate flex size-8 shrink-0 flex-col rounded-sm border border-white bg-gradient-to-b from-white to-zinc-100 ring-1 ring-gray-300"),
6199
+ className: (0, clsx.default)("isolate flex size-8 shrink-0 flex-col rounded-sm border border-[color:var(--messaging-border,var(--color-white))] bg-gradient-to-b from-[color:var(--messaging-background,var(--color-white))] to-zinc-100 ring-1 ring-[color:var(--messaging-border,var(--color-gray-300))]"),
6200
6200
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
6201
- className: "mx-0.5 mt-0.5 grid grow place-items-center rounded-tl-[0.1875rem] rounded-tr-[0.1875rem] bg-gradient-to-b from-gray-100 to-gray-50",
6202
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FileIcon, { className: "-mb-1.5 size-2.5 mask-t-from-0% mask-t-to-black/30 mask-t-to-100% text-gray-300" })
6201
+ className: "mx-0.5 mt-0.5 grid grow place-items-center rounded-tl-[0.1875rem] rounded-tr-[0.1875rem] bg-gradient-to-b from-[color:var(--messaging-muted,var(--color-gray-100))] to-[color:var(--messaging-background,var(--color-gray-50))]",
6202
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FileIcon, { className: "-mb-1.5 size-2.5 mask-t-from-0% mask-t-to-black/30 mask-t-to-100% text-[color:var(--messaging-muted-foreground,var(--color-gray-300))]" })
6203
6203
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
6204
6204
  className: (0, clsx.default)("text-messaging-6 z-10 m-px mt-0 flex h-4 items-center justify-center rounded-[0.25rem] border text-center text-white uppercase text-shadow-2xs", config.borderColor),
6205
6205
  style: { background: config.bgColor },
@@ -6208,15 +6208,15 @@ function AttachmentDisplay({ attachment: { url, image_url, thumbnail_url, filena
6208
6208
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
6209
6209
  className: "mr-3 grid gap-1.5",
6210
6210
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
6211
- className: "text-messaging-2 capsize -my-1 truncate py-1 text-gray-900",
6211
+ className: "text-messaging-2 capsize -my-1 truncate py-1 text-[color:var(--messaging-foreground,var(--color-gray-900))]",
6212
6212
  children: filename
6213
6213
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
6214
- className: "text-messaging-6 capsize text-gray-500",
6214
+ className: "text-messaging-6 capsize text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]",
6215
6215
  children: content_size ? formatFileSize(content_size) : t("attachment_unknown_size")
6216
6216
  })]
6217
6217
  })]
6218
6218
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
6219
- className: "ml-auto flex gap-1 rounded-lg border border-gray-200 bg-white p-1 opacity-0 transition-opacity group-hover/file:opacity-100",
6219
+ className: "ml-auto flex gap-1 rounded-lg border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-background,var(--color-white))] p-1 opacity-0 transition-opacity group-hover/file:opacity-100",
6220
6220
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.IconButton, {
6221
6221
  size: "icon-xs",
6222
6222
  icon: lucide_react.Download,
@@ -6233,7 +6233,7 @@ function AttachmentDisplay({ attachment: { url, image_url, thumbnail_url, filena
6233
6233
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
6234
6234
  src: image_url,
6235
6235
  alt: filename,
6236
- className: "h-40 w-80 min-w-full border-t border-gray-200 object-cover object-top"
6236
+ className: "h-40 w-80 min-w-full border-t border-[color:var(--messaging-border,var(--color-gray-200))] object-cover object-top"
6237
6237
  })
6238
6238
  })]
6239
6239
  }),
@@ -6248,7 +6248,7 @@ function AttachmentDisplay({ attachment: { url, image_url, thumbnail_url, filena
6248
6248
  alt: filename,
6249
6249
  width: metadata?.width,
6250
6250
  height: metadata?.height,
6251
- className: "h-svh max-h-full w-svw max-w-full rounded-lg bg-gray-100 object-cover"
6251
+ className: "h-svh max-h-full w-svw max-w-full rounded-lg bg-[color:var(--messaging-muted,var(--color-gray-100))] object-cover"
6252
6252
  })
6253
6253
  }),
6254
6254
  showAsVideo && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("video", {
@@ -29478,7 +29478,7 @@ const UserMentionChip = ({ userId }) => {
29478
29478
  const { t } = useMessagingTranslation();
29479
29479
  const thisUser = (users ?? []).find((user) => user.id.toString() === userId);
29480
29480
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
29481
- className: "font-medium text-blue-600 not-italic",
29481
+ className: "font-medium text-[color:var(--messaging-primary,var(--color-blue-600))] not-italic",
29482
29482
  children: ["@", [thisUser?.first_name, thisUser?.last_name].filter(Boolean).join(" ") || t("unknown")]
29483
29483
  });
29484
29484
  };
@@ -29549,7 +29549,7 @@ const markdownComponents = {
29549
29549
  },
29550
29550
  blockquote: ({ children }) => {
29551
29551
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("blockquote", {
29552
- className: "border-l-2 border-gray-400 bg-black/5 p-2",
29552
+ className: "border-l-2 border-[color:var(--messaging-border,var(--color-gray-400))] bg-[color:var(--messaging-foreground,var(--color-black))]/5 p-2",
29553
29553
  children: processChildren(children)
29554
29554
  });
29555
29555
  },
@@ -29561,13 +29561,13 @@ const markdownComponents = {
29561
29561
  },
29562
29562
  code: ({ children }) => {
29563
29563
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("code", {
29564
- className: "my-0.5 inline-block rounded-xs bg-gray-800/5 px-1",
29564
+ className: "my-0.5 inline-block rounded-xs bg-[color:var(--messaging-muted,var(--color-gray-800))]/5 px-1",
29565
29565
  children: processChildren(children)
29566
29566
  });
29567
29567
  },
29568
29568
  a: ({ href, children }) => {
29569
29569
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
29570
- className: "text-blue-600 visited:text-purple-600 hover:underline",
29570
+ className: "text-[color:var(--messaging-primary,var(--color-blue-600))] visited:text-purple-600 hover:underline",
29571
29571
  href,
29572
29572
  target: "_blank",
29573
29573
  rel: "noopener noreferrer",
@@ -29582,13 +29582,13 @@ const markdownComponents = {
29582
29582
  },
29583
29583
  td: ({ children }) => {
29584
29584
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", {
29585
- className: "border border-gray-300 px-3 py-1.5",
29585
+ className: "border border-[color:var(--messaging-border,var(--color-gray-300))] px-3 py-1.5",
29586
29586
  children: processChildren(children)
29587
29587
  });
29588
29588
  },
29589
29589
  th: ({ children }) => {
29590
29590
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", {
29591
- className: "border border-gray-300 px-3 py-1.5",
29591
+ className: "border border-[color:var(--messaging-border,var(--color-gray-300))] px-3 py-1.5",
29592
29592
  children: processChildren(children)
29593
29593
  });
29594
29594
  },
@@ -29609,7 +29609,7 @@ const markdownComponents = {
29609
29609
  },
29610
29610
  img: (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ProcessedImage, { ...props }),
29611
29611
  hr: () => {
29612
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("hr", { className: "my-2 border-gray-300" });
29612
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("hr", { className: "my-2 border-[color:var(--messaging-border,var(--color-gray-300))]" });
29613
29613
  },
29614
29614
  br: () => {
29615
29615
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("br", { className: "[&+&+&+&+&]:hidden" });
@@ -39824,7 +39824,7 @@ function MessageReactions({ reactions: rawReactions, my_reaction, onUnreact, onR
39824
39824
  initial: prefersReducedMotion ? false : { opacity: 0 },
39825
39825
  animate: prefersReducedMotion ? void 0 : { opacity: 1 },
39826
39826
  exit: prefersReducedMotion ? void 0 : { opacity: 0 },
39827
- className: (0, tailwind_merge.twMerge)("relative z-10 flex h-6 items-center gap-1.5 overflow-clip rounded-md border", splitEmojis(my_reaction).includes(clickedEmoji) ? "border-gray-200 bg-gray-100 px-1.5 text-gray-400 hover:bg-gray-200 active:border-gray-300 active:bg-gray-300" : "border-gray-200 bg-white px-1.5 text-gray-400 hover:bg-gray-200 active:border-gray-300 active:bg-gray-300"),
39827
+ className: (0, tailwind_merge.twMerge)("relative z-10 flex h-6 items-center gap-1.5 overflow-clip rounded-md border", splitEmojis(my_reaction).includes(clickedEmoji) ? "border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-100))] px-1.5 text-[color:var(--messaging-muted-foreground,var(--color-gray-400))] hover:bg-[color:var(--messaging-muted,var(--color-gray-200))] active:border-[color:var(--messaging-border,var(--color-gray-300))] active:bg-[color:var(--messaging-muted,var(--color-gray-300))]" : "border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-background,var(--color-white))] px-1.5 text-[color:var(--messaging-muted-foreground,var(--color-gray-400))] hover:bg-[color:var(--messaging-muted,var(--color-gray-200))] active:border-[color:var(--messaging-border,var(--color-gray-300))] active:bg-[color:var(--messaging-muted,var(--color-gray-300))]"),
39828
39828
  style: { "--emoji": `"${clickedEmoji}"` },
39829
39829
  onClick: () => {
39830
39830
  const currentReactionEmojis = splitEmojis(my_reaction);
@@ -39849,7 +39849,7 @@ function MessageReactions({ reactions: rawReactions, my_reaction, onUnreact, onR
39849
39849
  open: emojiPickerOpen,
39850
39850
  onOpenChange: setEmojiPickerOpen,
39851
39851
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.PopoverTrigger, {
39852
- className: "grid size-6 place-items-center rounded-md bg-white text-gray-400 hover:bg-gray-200 active:border-gray-300 active:bg-gray-300",
39852
+ className: "grid size-6 place-items-center rounded-md bg-[color:var(--messaging-background,var(--color-white))] text-[color:var(--messaging-muted-foreground,var(--color-gray-400))] hover:bg-[color:var(--messaging-muted,var(--color-gray-200))] active:border-[color:var(--messaging-border,var(--color-gray-300))] active:bg-[color:var(--messaging-muted,var(--color-gray-300))]",
39853
39853
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Plus, { className: "size-4" })
39854
39854
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.PopoverContent, {
39855
39855
  align: "center",
@@ -39987,12 +39987,12 @@ function Timestamp({ children: timestamp, className = "", displayMode = "auto" }
39987
39987
  className: "capsize grid grid-cols-[auto_1fr] items-center gap-x-2 gap-y-1 pr-2 pb-1",
39988
39988
  children: [
39989
39989
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
39990
- className: "rounded-sm bg-gray-700 px-1 py-0.5",
39990
+ className: "rounded-sm bg-[color:var(--messaging-muted,var(--color-gray-700))] px-1 py-0.5",
39991
39991
  children: userTimezoneFormatted.timezone
39992
39992
  }),
39993
39993
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { children: userTimezoneFormatted.dateTime }),
39994
39994
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
39995
- className: "rounded-sm bg-gray-700 px-1 py-0.5",
39995
+ className: "rounded-sm bg-[color:var(--messaging-muted,var(--color-gray-700))] px-1 py-0.5",
39996
39996
  children: utcFormatted.timezone
39997
39997
  }),
39998
39998
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { children: utcFormatted.dateTime })
@@ -40075,7 +40075,7 @@ function Message({ conversation, message, isGrouped, highlightType = "auto", ren
40075
40075
  className: require_src.cn("group/message children-pointer-events-auto content-auto pointer-events-none relative px-3 py-1.5 pt-6 select-text hover:z-10 md:px-4 md:pt-[1.375rem]", isGrouped ? "mt-1" : "-mt-3", message.status === "queued" ? "opacity-50" : "transition-opacity duration-1000", emojiPickerOpen && "z-20", optionsOpen && "z-20"),
40076
40076
  children: [
40077
40077
  pinned && highlightType !== "never" && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
40078
- className: (0, clsx.default)("text-messaging-6 mb-2 ml-10.5 flex items-center gap-1.5", pinned && highlightType === "auto" && "text-orange-600", highlightType === "search" && "text-blue-600"),
40078
+ className: (0, clsx.default)("text-messaging-6 mb-2 ml-10.5 flex items-center gap-1.5", pinned && highlightType === "auto" && "text-orange-600", highlightType === "search" && "text-[color:var(--messaging-primary,var(--color-blue-600))]"),
40079
40079
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pin, {
40080
40080
  className: "h-2!",
40081
40081
  fill: "currentColor"
@@ -40087,7 +40087,7 @@ function Message({ conversation, message, isGrouped, highlightType = "auto", ren
40087
40087
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
40088
40088
  className: "flex gap-2.5",
40089
40089
  children: [
40090
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: require_src.cn("absolute inset-0 top-4 -z-10 group-hover/message:bg-gray-50", pinned && highlightType === "auto" && "bg-amber-50 group-hover/message:bg-amber-100/75", highlightType === "search" && "bg-blue-50 group-hover/message:bg-blue-100/75") }),
40090
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: require_src.cn("absolute inset-0 top-4 -z-10 group-hover/message:bg-[color:var(--messaging-muted,var(--color-gray-50))]", pinned && highlightType === "auto" && "bg-amber-50 group-hover/message:bg-amber-100/75", highlightType === "search" && "bg-[color:var(--messaging-primary-tint,var(--color-blue-50))] group-hover/message:bg-[color:var(--messaging-primary-tint,var(--color-blue-100))]/75") }),
40091
40091
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
40092
40092
  className: require_src.cn("text-muted-foreground md:border-border md:bg-background visible absolute top-2 right-2 flex items-center gap-1 rounded-full bg-transparent p-0 md:invisible md:top-0 md:right-4 md:rounded-md md:border md:p-1 md:shadow-lg md:group-hover/message:visible", emojiPickerOpen && "visible", optionsOpen && "visible"),
40093
40093
  children: [conversation.type !== "SmsConversation" && conversation.type !== "EmailConversation" && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Popover, {
@@ -40151,12 +40151,12 @@ function Message({ conversation, message, isGrouped, highlightType = "auto", ren
40151
40151
  setPin(!pinned);
40152
40152
  setOptionsOpen(false);
40153
40153
  },
40154
- className: "cursor-pointer text-sm font-medium text-gray-700",
40155
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pin, { className: "text-gray-500" }), pinned ? t("message_unpin") : t("message_pin")]
40154
+ className: "cursor-pointer text-sm font-medium text-[color:var(--messaging-foreground,var(--color-gray-700))]",
40155
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pin, { className: "text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]" }), pinned ? t("message_unpin") : t("message_pin")]
40156
40156
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
40157
40157
  onSelect: copyMessageLink,
40158
- className: "cursor-pointer text-sm font-medium text-gray-700",
40159
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Link, { className: "text-gray-500" }), t("message_copy_link")]
40158
+ className: "cursor-pointer text-sm font-medium text-[color:var(--messaging-foreground,var(--color-gray-700))]",
40159
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Link, { className: "text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]" }), t("message_copy_link")]
40160
40160
  })]
40161
40161
  })]
40162
40162
  })]
@@ -40348,7 +40348,7 @@ function SystemMessage({ message, conversation, fallbackText, renderProfileTrigg
40348
40348
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
40349
40349
  className: "flex gap-2.5",
40350
40350
  children: [
40351
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "absolute inset-0 top-4 -z-10 group-hover/message:bg-gray-50" }),
40351
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "absolute inset-0 top-4 -z-10 group-hover/message:bg-[color:var(--messaging-muted,var(--color-gray-50))]" }),
40352
40352
  profileTrigger(message.sender_recipient.id, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ProfilePhoto, {
40353
40353
  size: "lg",
40354
40354
  conversation,
@@ -40361,7 +40361,7 @@ function SystemMessage({ message, conversation, fallbackText, renderProfileTrigg
40361
40361
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
40362
40362
  className: "mb-1 flex h-4 items-center gap-1.5",
40363
40363
  children: [profileTrigger(message.sender_recipient.id, /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
40364
- className: "text-messaging-2 capsize cursor-pointer text-gray-900 hover:underline",
40364
+ className: "text-messaging-2 capsize cursor-pointer text-[color:var(--messaging-foreground,var(--color-gray-900))] hover:underline",
40365
40365
  children: [
40366
40366
  message.sender_recipient.first_name,
40367
40367
  " ",
@@ -40369,11 +40369,11 @@ function SystemMessage({ message, conversation, fallbackText, renderProfileTrigg
40369
40369
  !message.sender_recipient.first_name && !message.sender_recipient.last_name && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: message.sender_recipient.phone || message.sender_recipient.email || t("message_unknown_sender") })
40370
40370
  ]
40371
40371
  })), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Timestamp, {
40372
- className: "text-messaging-6 capsize text-gray-400",
40372
+ className: "text-messaging-6 capsize text-[color:var(--messaging-muted-foreground,var(--color-gray-400))]",
40373
40373
  children: message.sent_at || message.created_at
40374
40374
  })]
40375
40375
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
40376
- className: "text-messaging-3 capsize text-gray-400",
40376
+ className: "text-messaging-3 capsize text-[color:var(--messaging-muted-foreground,var(--color-gray-400))]",
40377
40377
  children: getSystemMessageText()
40378
40378
  })]
40379
40379
  })
@@ -52609,16 +52609,16 @@ function AttachmentDropzone({ props, isDragOver }) {
52609
52609
  onDragEnter: void 0,
52610
52610
  onDragOver: void 0
52611
52611
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
52612
- className: "absolute inset-0 z-10 rounded-lg border border-gray-200 bg-white shadow-sm",
52612
+ className: "absolute inset-0 z-10 rounded-lg border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-background,var(--color-white))] shadow-sm",
52613
52613
  ...props,
52614
52614
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
52615
52615
  className: "flex h-full flex-col",
52616
52616
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
52617
- className: require_src.cn("flex h-full flex-1 cursor-pointer items-center justify-center rounded-lg border-2 border-dashed transition-colors", isDragOver ? "border-blue-500 bg-blue-100" : "border-gray-300 bg-gray-50"),
52617
+ className: require_src.cn("flex h-full flex-1 cursor-pointer items-center justify-center rounded-lg border-2 border-dashed transition-colors", isDragOver ? "border-[color:var(--messaging-primary,var(--color-blue-500))] bg-[color:var(--messaging-primary-tint,var(--color-blue-100))]" : "border-[color:var(--messaging-border,var(--color-gray-300))] bg-[color:var(--messaging-muted,var(--color-gray-50))]"),
52618
52618
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
52619
52619
  className: "flex items-center gap-2 text-center",
52620
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Upload, { className: "h-8 w-8 text-blue-500" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
52621
- className: "font-medium text-blue-600",
52620
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Upload, { className: "h-8 w-8 text-[color:var(--messaging-primary,var(--color-blue-500))]" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
52621
+ className: "font-medium text-[color:var(--messaging-primary,var(--color-blue-600))]",
52622
52622
  children: t("dropzone_upload")
52623
52623
  })]
52624
52624
  })
@@ -53665,10 +53665,10 @@ const MentionList = (0, react.forwardRef)((props, ref) => {
53665
53665
  return false;
53666
53666
  } }));
53667
53667
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
53668
- className: "group/mentions grid min-w-64 rounded-lg border border-gray-200 bg-white p-1 shadow-lg",
53668
+ className: "group/mentions grid min-w-64 rounded-lg border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-background,var(--color-white))] p-1 shadow-lg",
53669
53669
  children: props.items.length > 0 ? props.items.map((item, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
53670
53670
  type: "button",
53671
- className: require_src.cn("text-messaging-3 flex items-center gap-2 rounded-md p-1 pr-2 hover:bg-gray-200 active:bg-gray-300", index === selectedIndex ? "bg-gray-200 group-has-[button:hover]/mentions:not-hover:bg-white" : ""),
53671
+ className: require_src.cn("text-messaging-3 flex items-center gap-2 rounded-md p-1 pr-2 hover:bg-[color:var(--messaging-muted,var(--color-gray-200))] active:bg-[color:var(--messaging-muted,var(--color-gray-300))]", index === selectedIndex ? "bg-[color:var(--messaging-muted,var(--color-gray-200))] group-has-[button:hover]/mentions:not-hover:bg-[color:var(--messaging-background,var(--color-white))]" : ""),
53672
53672
  onClick: () => selectItem(index),
53673
53673
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ProfilePhoto, {
53674
53674
  user: item.userDetails,
@@ -53677,7 +53677,7 @@ const MentionList = (0, react.forwardRef)((props, ref) => {
53677
53677
  renderImage: props.renderImage
53678
53678
  }), item.label]
53679
53679
  }, item.id)) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
53680
- className: "text-messaging-4 px-2.5 py-1.5 text-gray-500",
53680
+ className: "text-messaging-4 px-2.5 py-1.5 text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]",
53681
53681
  children: "No results"
53682
53682
  })
53683
53683
  });
@@ -53771,7 +53771,7 @@ function AttachmentPreview({ file, onRemove }) {
53771
53771
  const [previewLoaded, setPreviewLoaded] = (0, react.useState)(false);
53772
53772
  if (!canShowPreview && previewLoaded) setPreviewLoaded(false);
53773
53773
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
53774
- className: (0, clsx.default)("group/file relative flex max-w-80 items-center gap-2 rounded-xl border border-gray-200 bg-gray-50", previewLoaded ? "" : "min-w-48 p-2 pr-6", file.status === "failed" && "border-red-200 bg-red-50"),
53774
+ className: (0, clsx.default)("group/file relative flex max-w-80 items-center gap-2 rounded-xl border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-50))]", previewLoaded ? "" : "min-w-48 p-2 pr-6", file.status === "failed" && "border-red-200 bg-red-50"),
53775
53775
  children: [
53776
53776
  canShowPreview && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
53777
53777
  className: (0, clsx.default)("overlapping-children size-16 shrink-0 place-items-center overflow-clip rounded-[0.8125rem]", previewLoaded ? "" : "hidden"),
@@ -53793,10 +53793,10 @@ function AttachmentPreview({ file, onRemove }) {
53793
53793
  })] })]
53794
53794
  }),
53795
53795
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
53796
- className: (0, clsx.default)("flex size-12 shrink-0 flex-col rounded-md border border-white bg-gradient-to-b from-white to-zinc-100 ring-1 ring-gray-300", previewLoaded && "hidden"),
53796
+ className: (0, clsx.default)("flex size-12 shrink-0 flex-col rounded-md border border-[color:var(--messaging-border,var(--color-white))] bg-gradient-to-b from-[color:var(--messaging-background,var(--color-white))] to-zinc-100 ring-1 ring-[color:var(--messaging-border,var(--color-gray-300))]", previewLoaded && "hidden"),
53797
53797
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
53798
- className: "mx-1 mt-1 grid grow place-items-center rounded-tl-sm rounded-tr-sm bg-gradient-to-b from-gray-100 to-gray-50",
53799
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FileIcon, { className: "size-4 mask-t-from-0% mask-t-to-black/30 mask-t-to-100% text-gray-300" })
53798
+ className: "mx-1 mt-1 grid grow place-items-center rounded-tl-sm rounded-tr-sm bg-gradient-to-b from-[color:var(--messaging-muted,var(--color-gray-100))] to-[color:var(--messaging-background,var(--color-gray-50))]",
53799
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FileIcon, { className: "size-4 mask-t-from-0% mask-t-to-black/30 mask-t-to-100% text-[color:var(--messaging-muted-foreground,var(--color-gray-300))]" })
53800
53800
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
53801
53801
  className: (0, clsx.default)("text-messaging-6 m-1 mt-0 flex h-4 items-center justify-center rounded-sm border text-center text-white uppercase text-shadow-2xs", config.borderColor),
53802
53802
  style: { background: config.bgColor },
@@ -53806,23 +53806,23 @@ function AttachmentPreview({ file, onRemove }) {
53806
53806
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
53807
53807
  className: (0, clsx.default)("grid gap-1.5", previewLoaded && "hidden"),
53808
53808
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
53809
- className: "text-messaging-2 capsize -my-1 truncate py-1 text-gray-900",
53809
+ className: "text-messaging-2 capsize -my-1 truncate py-1 text-[color:var(--messaging-foreground,var(--color-gray-900))]",
53810
53810
  children: file.filename
53811
53811
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
53812
- className: "text-messaging-6 capsize text-gray-500",
53812
+ className: "text-messaging-6 capsize text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]",
53813
53813
  children: file.status === "completed" ? file.content_size ? formatFileSize(file.content_size) : t("attachment_unknown_size") : file.status === "uploading" ? file.progress === 0 ? t("attachment_starting_upload") : `${file.progress}%` : file.error
53814
53814
  })]
53815
53815
  }),
53816
53816
  onRemove && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.IconButton, {
53817
53817
  onClick: onRemove,
53818
- className: "absolute -top-2 -right-2 border border-gray-200 opacity-0 shadow-xs group-hover/file:opacity-100",
53818
+ className: "absolute -top-2 -right-2 border border-[color:var(--messaging-border,var(--color-gray-200))] opacity-0 shadow-xs group-hover/file:opacity-100",
53819
53819
  title: t("attachment_remove"),
53820
53820
  size: "icon-xs",
53821
53821
  icon: lucide_react.X
53822
53822
  }),
53823
53823
  file.status === "uploading" && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
53824
- className: (0, clsx.default)("overlapping-children absolute -top-2 -right-2 grid size-5 place-items-center rounded-sm border border-gray-200 bg-white", "group-hover/file:hidden"),
53825
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Circle, { className: "size-2.5 text-gray-300" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Loader2, { className: "size-2.5 animate-spin text-blue-600" })]
53824
+ className: (0, clsx.default)("overlapping-children absolute -top-2 -right-2 grid size-5 place-items-center rounded-sm border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-background,var(--color-white))]", "group-hover/file:hidden"),
53825
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Circle, { className: "size-2.5 text-[color:var(--messaging-muted-foreground,var(--color-gray-300))]" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Loader2, { className: "size-2.5 animate-spin text-[color:var(--messaging-primary,var(--color-blue-600))]" })]
53826
53826
  })
53827
53827
  ]
53828
53828
  });
@@ -53889,18 +53889,18 @@ function ScheduleMessageDialog({ open, onOpenChange, onApply, initialDate = null
53889
53889
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
53890
53890
  type: "button",
53891
53891
  "aria-label": t("schedule_dialog_previous_month"),
53892
- className: "size-8 rounded-md hover:bg-gray-100 active:bg-gray-200",
53892
+ className: "size-8 rounded-md hover:bg-[color:var(--messaging-muted,var(--color-gray-100))] active:bg-[color:var(--messaging-muted,var(--color-gray-200))]",
53893
53893
  onClick: () => setCurrentMonth((m) => subMonths(m, 1)),
53894
53894
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronLeft, {})
53895
53895
  }),
53896
53896
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
53897
- className: "text-base font-semibold text-gray-700",
53897
+ className: "text-base font-semibold text-[color:var(--messaging-foreground,var(--color-gray-700))]",
53898
53898
  children: require_isAfter.format(currentMonth, "MMMM yyyy")
53899
53899
  }),
53900
53900
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
53901
53901
  type: "button",
53902
53902
  "aria-label": t("schedule_dialog_next_month"),
53903
- className: "size-8 rounded-md hover:bg-gray-100 active:bg-gray-200",
53903
+ className: "size-8 rounded-md hover:bg-[color:var(--messaging-muted,var(--color-gray-100))] active:bg-[color:var(--messaging-muted,var(--color-gray-200))]",
53904
53904
  onClick: () => setCurrentMonth((m) => require_isAfter.addMonths(m, 1)),
53905
53905
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronRight, {})
53906
53906
  })
@@ -53919,7 +53919,7 @@ function ScheduleMessageDialog({ open, onOpenChange, onApply, initialDate = null
53919
53919
  setCurrentMonth(d);
53920
53920
  },
53921
53921
  min: require_isAfter.format(minDay, "yyyy-MM-dd"),
53922
- className: (0, clsx.default)("hide-date-picker border border-gray-300")
53922
+ className: (0, clsx.default)("hide-date-picker border border-[color:var(--messaging-border,var(--color-gray-300))]")
53923
53923
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Input, {
53924
53924
  name: "time",
53925
53925
  type: "time",
@@ -53927,7 +53927,7 @@ function ScheduleMessageDialog({ open, onOpenChange, onApply, initialDate = null
53927
53927
  value: timeHM,
53928
53928
  min: minTimeForSelectedDay,
53929
53929
  onChange: (e) => setTimeHM(e.target.value),
53930
- className: (0, clsx.default)("border border-gray-300")
53930
+ className: (0, clsx.default)("border border-[color:var(--messaging-border,var(--color-gray-300))]")
53931
53931
  })]
53932
53932
  }),
53933
53933
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Calendar, {
@@ -53946,16 +53946,16 @@ function ScheduleMessageDialog({ open, onOpenChange, onApply, initialDate = null
53946
53946
  caption: (0, clsx.default)("hidden"),
53947
53947
  head_cell: (0, clsx.default)("flex size-10 items-center justify-center text-sm font-medium"),
53948
53948
  cell: (0, clsx.default)("flex size-10 items-center justify-center"),
53949
- day: (0, clsx.default)("size-10 rounded-full text-sm font-medium text-gray-700 hover:bg-gray-100 active:bg-gray-200"),
53950
- day_selected: (0, clsx.default)("bg-blue-600! text-white!"),
53951
- day_outside: (0, clsx.default)("text-gray-500!"),
53952
- day_disabled: (0, clsx.default)("pointer-events-none text-gray-500 opacity-50")
53949
+ day: (0, clsx.default)("size-10 rounded-full text-sm font-medium text-[color:var(--messaging-foreground,var(--color-gray-700))] hover:bg-[color:var(--messaging-muted,var(--color-gray-100))] active:bg-[color:var(--messaging-muted,var(--color-gray-200))]"),
53950
+ day_selected: (0, clsx.default)("bg-[color:var(--messaging-primary,var(--color-blue-600))]! text-[color:var(--messaging-primary-foreground,var(--color-white))]!"),
53951
+ day_outside: (0, clsx.default)("text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]!"),
53952
+ day_disabled: (0, clsx.default)("pointer-events-none text-[color:var(--messaging-muted-foreground,var(--color-gray-500))] opacity-50")
53953
53953
  },
53954
53954
  initialFocus: true
53955
53955
  })
53956
53956
  ]
53957
53957
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
53958
- className: "flex w-full items-center gap-3 border-t border-gray-200 pt-4",
53958
+ className: "flex w-full items-center gap-3 border-t border-[color:var(--messaging-border,var(--color-gray-200))] pt-4",
53959
53959
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
53960
53960
  variant: "default",
53961
53961
  onClick: () => onOpenChange(false),
@@ -54062,12 +54062,12 @@ function ComposerActions({ editor, onAttachment, onSend, onSchedule, canSendMess
54062
54062
  }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "mr-auto" }),
54063
54063
  messageHasContent && mode === "normal" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
54064
54064
  type: "button",
54065
- className: "overlapping-children items-center justify-end rounded-sm px-2 hover:bg-gray-100 active:bg-gray-200",
54065
+ className: "overlapping-children items-center justify-end rounded-sm px-2 hover:bg-[color:var(--messaging-muted,var(--color-gray-100))] active:bg-[color:var(--messaging-muted,var(--color-gray-200))]",
54066
54066
  onClick: () => {
54067
54067
  setSendWithEnter(!sendWithEnter);
54068
54068
  },
54069
54069
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
54070
- className: "text-messaging-6 text-gray-400",
54070
+ className: "text-messaging-6 text-[color:var(--messaging-muted-foreground,var(--color-gray-400))]",
54071
54071
  children: sendWithEnter ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: t("composer_enter_to_send") }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: t("composer_shift_enter_to_send") })
54072
54072
  })
54073
54073
  }),
@@ -54109,19 +54109,19 @@ function ComposerActions({ editor, onAttachment, onSend, onSchedule, canSendMess
54109
54109
  align: "end",
54110
54110
  className: "w-60 p-0",
54111
54111
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuLabel, {
54112
- className: "border-b border-gray-200 px-4 py-3 text-sm font-semibold text-slate-700",
54112
+ className: "border-b border-[color:var(--messaging-border,var(--color-gray-200))] px-4 py-3 text-sm font-semibold text-[color:var(--messaging-foreground,var(--color-slate-700))]",
54113
54113
  children: t("composer_schedule_send")
54114
54114
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
54115
54115
  className: "px-0 py-1",
54116
54116
  children: [
54117
54117
  quickScheduleOptions.map((dt, idx) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuItem, {
54118
- className: "mx-1.5 my-0 cursor-pointer rounded-md px-2.5 py-[9px] text-sm font-medium text-slate-700",
54118
+ className: "mx-1.5 my-0 cursor-pointer rounded-md px-2.5 py-[9px] text-sm font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
54119
54119
  onSelect: () => onSchedule(dt),
54120
54120
  children: formatOptionLabel(dt)
54121
54121
  }, idx)),
54122
54122
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuSeparator, { className: "mx-0 my-1" }),
54123
54123
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuItem, {
54124
- className: "mx-1.5 my-0 cursor-pointer rounded-md px-2.5 py-[9px] text-sm font-medium text-slate-700",
54124
+ className: "mx-1.5 my-0 cursor-pointer rounded-md px-2.5 py-[9px] text-sm font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
54125
54125
  onSelect: () => setCustomDialogOpen(true),
54126
54126
  children: t("composer_custom_date_time")
54127
54127
  })
@@ -54198,7 +54198,7 @@ function ComposerToolbar({ editor, isSaving, renderLinkModal }) {
54198
54198
  initialText: linkInitialState.text,
54199
54199
  initialUrl: linkInitialState.url
54200
54200
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
54201
- className: require_src.cn("flex items-center gap-1.5 border-b border-gray-200 px-2 py-1.5", "-mt-[calc(2.25rem+1px)] transition-all group-has-[.ProseMirror-focused,[data-toolbar]:focus-within]/composer:mt-0"),
54201
+ className: require_src.cn("flex items-center gap-1.5 border-b border-[color:var(--messaging-border,var(--color-gray-200))] px-2 py-1.5", "-mt-[calc(2.25rem+1px)] transition-all group-has-[.ProseMirror-focused,[data-toolbar]:focus-within]/composer:mt-0"),
54202
54202
  children: [
54203
54203
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.IconToggle, {
54204
54204
  size: "icon-xs",
@@ -54221,7 +54221,7 @@ function ComposerToolbar({ editor, isSaving, renderLinkModal }) {
54221
54221
  icon: lucide_react.Strikethrough,
54222
54222
  pressed: editor.isActive("strike")
54223
54223
  }),
54224
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "mx-0.5 h-4 w-px rounded-full bg-gray-300" }),
54224
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "mx-0.5 h-4 w-px rounded-full bg-[color:var(--messaging-muted,var(--color-gray-300))]" }),
54225
54225
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.IconToggle, {
54226
54226
  size: "icon-xs",
54227
54227
  onPressedChange: () => openLinkModal(),
@@ -54244,7 +54244,7 @@ function ComposerToolbar({ editor, isSaving, renderLinkModal }) {
54244
54244
  pressed: editor.isActive("orderedList")
54245
54245
  }),
54246
54246
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
54247
- className: (0, clsx.default)("text-messaging-6 mr-1 ml-auto text-gray-300 transition-[opacity,transform]", isSaving ? "opacity-100" : "opacity-0", "translate-y-7 group-has-[.ProseMirror-focused,[data-toolbar]:focus-within]/composer:translate-y-0"),
54247
+ className: (0, clsx.default)("text-messaging-6 mr-1 ml-auto text-[color:var(--messaging-muted-foreground,var(--color-gray-300))] transition-[opacity,transform]", isSaving ? "opacity-100" : "opacity-0", "translate-y-7 group-has-[.ProseMirror-focused,[data-toolbar]:focus-within]/composer:translate-y-0"),
54248
54248
  children: t("composer_saving")
54249
54249
  })
54250
54250
  ]
@@ -54454,14 +54454,14 @@ function MessageComposer({ onSend, onScheduleSuccess, onSaveScheduledEdit, place
54454
54454
  }),
54455
54455
  require_dist$1.Placeholder.configure({
54456
54456
  placeholder,
54457
- emptyEditorClass: require_src.cn("before:text-messaging-3 before:absolute before:text-gray-400 before:content-[attr(data-placeholder)]")
54457
+ emptyEditorClass: require_src.cn("before:text-messaging-3 before:absolute before:text-[color:var(--messaging-muted-foreground,var(--color-gray-400))] before:content-[attr(data-placeholder)]")
54458
54458
  }),
54459
54459
  Link$1.configure({
54460
54460
  openOnClick: false,
54461
54461
  autolink: true,
54462
54462
  linkOnPaste: true,
54463
54463
  HTMLAttributes: {
54464
- class: "text-blue-600 underline",
54464
+ class: "text-[color:var(--messaging-primary,var(--color-blue-600))] underline",
54465
54465
  target: "_blank",
54466
54466
  rel: "noopener noreferrer nofollow"
54467
54467
  }
@@ -54471,7 +54471,7 @@ function MessageComposer({ onSend, onScheduleSuccess, onSaveScheduledEdit, place
54471
54471
  bulletListMarker: "-"
54472
54472
  }),
54473
54473
  CustomMention.configure({
54474
- HTMLAttributes: { class: "text-blue-600 font-medium not-italic rounded-sm bg-blue-100 px-1 py-0.5" },
54474
+ HTMLAttributes: { class: "text-[color:var(--messaging-primary,var(--color-blue-600))] font-medium not-italic rounded-sm bg-[color:var(--messaging-primary-tint,var(--color-blue-100))] px-1 py-0.5" },
54475
54475
  suggestion: createMentionSuggestion(mentionableUsers ?? [], { renderImage })
54476
54476
  })
54477
54477
  ],
@@ -54562,7 +54562,7 @@ function MessageComposer({ onSend, onScheduleSuccess, onSaveScheduledEdit, place
54562
54562
  }),
54563
54563
  conversationType !== "SmsConversation" && conversationType !== "EmailConversation" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
54564
54564
  "data-toolbar": true,
54565
- className: "sticky top-0 z-10 bg-white",
54565
+ className: "sticky top-0 z-10 bg-[color:var(--messaging-background,var(--color-white))]",
54566
54566
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ComposerToolbar, {
54567
54567
  editor,
54568
54568
  isSaving,
@@ -54631,7 +54631,7 @@ function MessagesViewComposer({ conversationId, conversationMetadata, uploader,
54631
54631
  if (conversationMetadata?.["messaging_enabled?"] === false || !isLoading && !user) return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
54632
54632
  className: "p-4",
54633
54633
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
54634
- className: "text-messaging-4 flex h-9 items-center rounded-md border border-gray-200 bg-white p-2 shadow-sm ring-4 ring-gray-500/10",
54634
+ className: "text-messaging-4 flex h-9 items-center rounded-md border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-background,var(--color-white))] p-2 shadow-sm ring-4 ring-[color:var(--messaging-border,var(--color-gray-500))]/10",
54635
54635
  children: conversationMetadata?.["messaging_enabled?"] === false ? t("send_permission_denied") : t("send_account_loading")
54636
54636
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
54637
54637
  className: "hidden",
@@ -55035,7 +55035,7 @@ function MessagesView({ conversationId, messageId, saveDrafts, noDateResults, re
55035
55035
  if (noDateResults || elements.length === 0 && isDateView) elements.push(/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
55036
55036
  className: "flex justify-center py-2",
55037
55037
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
55038
- className: "rounded-2xl border border-gray-200 bg-yellow-50 px-3 py-0.5 text-xs font-medium text-yellow-800",
55038
+ className: "rounded-2xl border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-yellow-50))] px-3 py-0.5 text-xs font-medium text-[color:var(--messaging-foreground,var(--color-yellow-800))]",
55039
55039
  children: t("error_no_messages_on_date")
55040
55040
  })
55041
55041
  }, "no-messages"));
@@ -55043,7 +55043,7 @@ function MessagesView({ conversationId, messageId, saveDrafts, noDateResults, re
55043
55043
  if ((conversationMetadata.creator?.id ?? null) !== (user?.recipient_id ?? null)) elements.push(/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
55044
55044
  className: "flex justify-center py-2",
55045
55045
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
55046
- className: "rounded-2xl border border-gray-200 bg-gray-50 px-3 py-0.5 text-xs font-medium text-gray-700",
55046
+ className: "rounded-2xl border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-50))] px-3 py-0.5 text-xs font-medium text-[color:var(--messaging-foreground,var(--color-gray-700))]",
55047
55047
  children: t("error_joined_channel")
55048
55048
  })
55049
55049
  }, "joined-fallback"));
@@ -55197,7 +55197,7 @@ function MessagesView({ conversationId, messageId, saveDrafts, noDateResults, re
55197
55197
  fetchInProgressRef.current = true;
55198
55198
  fetchNextPage();
55199
55199
  },
55200
- className: "inline-flex items-center rounded-2xl border border-gray-200 bg-gray-50 px-3 py-0.5 text-xs font-medium text-gray-700 hover:bg-gray-100 active:bg-gray-200",
55200
+ className: "inline-flex items-center rounded-2xl border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-50))] px-3 py-0.5 text-xs font-medium text-[color:var(--messaging-foreground,var(--color-gray-700))] hover:bg-[color:var(--messaging-muted,var(--color-gray-100))] active:bg-[color:var(--messaging-muted,var(--color-gray-200))]",
55201
55201
  children: t("message_load_more")
55202
55202
  })
55203
55203
  }, "watcher-top"),
@@ -55232,7 +55232,7 @@ function MessagesView({ conversationId, messageId, saveDrafts, noDateResults, re
55232
55232
  fetchInProgressRef.current = true;
55233
55233
  fetchPreviousPage();
55234
55234
  },
55235
- className: "inline-flex items-center rounded-2xl border border-gray-200 bg-gray-50 px-3 py-0.5 text-xs font-medium text-gray-700 hover:bg-gray-100 active:bg-gray-200",
55235
+ className: "inline-flex items-center rounded-2xl border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-50))] px-3 py-0.5 text-xs font-medium text-[color:var(--messaging-foreground,var(--color-gray-700))] hover:bg-[color:var(--messaging-muted,var(--color-gray-100))] active:bg-[color:var(--messaging-muted,var(--color-gray-200))]",
55236
55236
  children: t("message_load_more")
55237
55237
  })
55238
55238
  }, "watcher-bottom")
@@ -55254,7 +55254,7 @@ function MessagesView({ conversationId, messageId, saveDrafts, noDateResults, re
55254
55254
  scrollToBottomNow();
55255
55255
  setHasNewMessages(false);
55256
55256
  },
55257
- className: "inline-flex items-center rounded-2xl border border-gray-200 bg-gray-50 px-3 py-0.5 text-xs font-medium text-gray-700 hover:bg-gray-100 active:bg-gray-200",
55257
+ className: "inline-flex items-center rounded-2xl border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-50))] px-3 py-0.5 text-xs font-medium text-[color:var(--messaging-foreground,var(--color-gray-700))] hover:bg-[color:var(--messaging-muted,var(--color-gray-100))] active:bg-[color:var(--messaging-muted,var(--color-gray-200))]",
55258
55258
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ArrowDown, { className: "mr-1 h-3 w-3" }), t("message_new_messages")]
55259
55259
  })
55260
55260
  }),
@@ -55335,7 +55335,7 @@ function PinnedMessagesView({ conversationId, onToast, renderProfileContent, get
55335
55335
  const messageElements = (0, react.useMemo)(() => {
55336
55336
  if (!conversationMetadata) return [];
55337
55337
  return messages.map((message) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
55338
- className: "relative isolate w-full rounded-xl border border-gray-200 bg-gray-50 py-2.5",
55338
+ className: "relative isolate w-full rounded-xl border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-50))] py-2.5",
55339
55339
  onClick: (event) => {
55340
55340
  if (event.target.closest("a,button,[role=button],[tabindex]") === null) navigate({
55341
55341
  view: "message",
@@ -55366,18 +55366,18 @@ function PinnedMessagesView({ conversationId, onToast, renderProfileContent, get
55366
55366
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
55367
55367
  className: "flex h-full items-center justify-center",
55368
55368
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
55369
- className: "rounded-md border border-gray-200 bg-white p-4 text-center text-gray-600 shadow-sm",
55369
+ className: "rounded-md border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-background,var(--color-white))] p-4 text-center text-[color:var(--messaging-muted-foreground,var(--color-gray-600))] shadow-sm",
55370
55370
  children: errorWithStatus.success && errorWithStatus.data.status === 404 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
55371
- className: "text-sm font-medium text-gray-900",
55371
+ className: "text-sm font-medium text-[color:var(--messaging-foreground,var(--color-gray-900))]",
55372
55372
  children: t("pinned_conversation_not_found")
55373
55373
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
55374
- className: "mt-1 text-xs text-gray-500",
55374
+ className: "mt-1 text-xs text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]",
55375
55375
  children: t("pinned_conversation_deleted")
55376
55376
  })] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
55377
- className: "text-sm font-medium text-gray-900",
55377
+ className: "text-sm font-medium text-[color:var(--messaging-foreground,var(--color-gray-900))]",
55378
55378
  children: t("pinned_error")
55379
55379
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
55380
- className: "mt-1 text-xs text-gray-500",
55380
+ className: "mt-1 text-xs text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]",
55381
55381
  children: t("pinned_error_try_again")
55382
55382
  })] })
55383
55383
  })
@@ -55386,8 +55386,8 @@ function PinnedMessagesView({ conversationId, onToast, renderProfileContent, get
55386
55386
  if (messages.length === 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
55387
55387
  className: "flex min-h-[60vh] items-center justify-center",
55388
55388
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
55389
- className: "text-center text-gray-500",
55390
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pin, { className: "mb-2 size-8 text-gray-400" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
55389
+ className: "text-center text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]",
55390
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pin, { className: "mb-2 size-8 text-[color:var(--messaging-muted-foreground,var(--color-gray-400))]" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
55391
55391
  className: "text-sm",
55392
55392
  children: t("pinned_no_messages")
55393
55393
  })]
@@ -55412,7 +55412,7 @@ function PinnedMessagesView({ conversationId, onToast, renderProfileContent, get
55412
55412
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
55413
55413
  type: "button",
55414
55414
  onClick: () => fetchNextPage(),
55415
- className: "inline-flex items-center rounded-2xl border border-gray-200 bg-gray-50 px-3 py-0.5 text-xs font-medium text-gray-700 hover:bg-gray-100 active:bg-gray-200",
55415
+ className: "inline-flex items-center rounded-2xl border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-50))] px-3 py-0.5 text-xs font-medium text-[color:var(--messaging-foreground,var(--color-gray-700))] hover:bg-[color:var(--messaging-muted,var(--color-gray-100))] active:bg-[color:var(--messaging-muted,var(--color-gray-200))]",
55416
55416
  children: "Load more"
55417
55417
  })
55418
55418
  }),
@@ -55479,7 +55479,7 @@ function TagOptionAvatar({ option: opt, context = "dropdown", renderImage }) {
55479
55479
  const { emoji } = extractEmoji$1(opt.conversationName || opt.label);
55480
55480
  const fallback = opt.userData?.image_url ? renderImageElement(renderImage, opt.userData.image_url, opt.label, 20, 20, "h-full w-full object-cover") : "#";
55481
55481
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
55482
- className: (0, clsx.default)("grid shrink-0 place-items-center overflow-clip rounded bg-neutral-100", context === "dropdown" ? "size-6 text-sm" : "size-4 text-xs"),
55482
+ className: (0, clsx.default)("grid shrink-0 place-items-center overflow-clip rounded bg-[color:var(--messaging-muted,var(--color-neutral-100))]", context === "dropdown" ? "size-6 text-sm" : "size-4 text-xs"),
55483
55483
  children: emoji || fallback
55484
55484
  });
55485
55485
  }
@@ -55494,7 +55494,7 @@ function TagOptionAvatar({ option: opt, context = "dropdown", renderImage }) {
55494
55494
  function TagMultiSelectDropdown({ options, selectedOptions, highlight, isLoading, isError, query, dropdownRef, onHighlight, onToggle, renderImage }) {
55495
55495
  const { t } = useMessagingTranslation();
55496
55496
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
55497
- className: "absolute top-full right-0 left-0 z-[9999] max-h-80 translate-y-1 overflow-auto rounded-lg border border-gray-200 bg-white shadow-[0px_12px_16px_-4px_rgba(16,24,40,0.08)]",
55497
+ className: "absolute top-full right-0 left-0 z-[9999] max-h-80 translate-y-1 overflow-auto rounded-lg border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-background,var(--color-white))] shadow-[0px_12px_16px_-4px_rgba(16,24,40,0.08)]",
55498
55498
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
55499
55499
  ref: dropdownRef,
55500
55500
  className: "flex flex-1 flex-col items-start justify-start py-1",
@@ -55510,7 +55510,7 @@ function TagMultiSelectDropdown({ options, selectedOptions, highlight, isLoading
55510
55510
  className: "flex flex-1 items-center justify-start gap-2 rounded-md py-2.5 pr-2.5 pl-2",
55511
55511
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
55512
55512
  className: "flex flex-1 items-center justify-start gap-2",
55513
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "h-4 w-4 animate-pulse rounded-full bg-gray-200" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "h-4 w-24 animate-pulse rounded bg-gray-200" })]
55513
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "h-4 w-4 animate-pulse rounded-full bg-[color:var(--messaging-muted,var(--color-gray-200))]" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "h-4 w-24 animate-pulse rounded bg-[color:var(--messaging-muted,var(--color-gray-200))]" })]
55514
55514
  })
55515
55515
  })
55516
55516
  }, i)) }),
@@ -55519,7 +55519,7 @@ function TagMultiSelectDropdown({ options, selectedOptions, highlight, isLoading
55519
55519
  children: t("wizard_error_loading_results")
55520
55520
  }),
55521
55521
  !isLoading && !isError && options.length === 0 && query.trim() !== "" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
55522
- className: "p-2 text-sm text-gray-500",
55522
+ className: "p-2 text-sm text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]",
55523
55523
  children: t("wizard_no_results")
55524
55524
  }),
55525
55525
  options.map((opt, idx) => {
@@ -55530,7 +55530,7 @@ function TagMultiSelectDropdown({ options, selectedOptions, highlight, isLoading
55530
55530
  onMouseEnter: () => onHighlight(idx),
55531
55531
  onClick: () => onToggle(opt),
55532
55532
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
55533
- className: `flex flex-1 items-center justify-start gap-2 rounded-md py-2.5 pr-2.5 pl-2 transition-colors duration-150 ${highlight === idx ? "border border-blue-200 bg-blue-50" : isSelected ? "bg-gray-50" : "hover:bg-gray-50 active:bg-gray-100"}`,
55533
+ className: `flex flex-1 items-center justify-start gap-2 rounded-md py-2.5 pr-2.5 pl-2 transition-colors duration-150 ${highlight === idx ? "border border-[color:var(--messaging-primary-border,var(--color-blue-200))] bg-[color:var(--messaging-primary-tint,var(--color-blue-50))]" : isSelected ? "bg-[color:var(--messaging-muted,var(--color-gray-50))]" : "hover:bg-[color:var(--messaging-muted,var(--color-gray-50))] active:bg-[color:var(--messaging-muted,var(--color-gray-100))]"}`,
55534
55534
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
55535
55535
  className: "flex flex-1 items-center justify-start gap-2",
55536
55536
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(TagOptionAvatar, {
@@ -55538,25 +55538,25 @@ function TagMultiSelectDropdown({ options, selectedOptions, highlight, isLoading
55538
55538
  context: "dropdown",
55539
55539
  renderImage
55540
55540
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
55541
- className: "flex flex-wrap items-center justify-start gap-1 text-left text-sm leading-tight font-medium text-gray-900",
55541
+ className: "flex flex-wrap items-center justify-start gap-1 text-left text-sm leading-tight font-medium text-[color:var(--messaging-foreground,var(--color-gray-900))]",
55542
55542
  children: [
55543
55543
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
55544
55544
  className: "mr-1",
55545
55545
  children: opt.label
55546
55546
  }),
55547
55547
  opt.userData?.phone && opt.label !== opt.userData.phone && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
55548
- className: "font-normal text-gray-500",
55548
+ className: "font-normal text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]",
55549
55549
  children: opt.userData.phone
55550
55550
  }),
55551
55551
  opt.userData?.email && !opt.userData?.phone && opt.label !== opt.userData.email && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
55552
- className: "font-normal text-gray-500",
55552
+ className: "font-normal text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]",
55553
55553
  children: opt.userData.email
55554
55554
  })
55555
55555
  ]
55556
55556
  })]
55557
55557
  }), isSelected && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
55558
55558
  className: "relative h-4 w-5 overflow-hidden",
55559
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Check, { className: "absolute top-0 left-[3px] h-4 w-4 text-black" })
55559
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Check, { className: "absolute top-0 left-[3px] h-4 w-4 text-[color:var(--messaging-foreground,var(--color-black))]" })
55560
55560
  })]
55561
55561
  })
55562
55562
  }, opt.id);
@@ -55675,7 +55675,7 @@ function TagMultiSelect({ getOptions, selectedOptions, onSelectionChange, placeh
55675
55675
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
55676
55676
  className: "flex flex-1 flex-wrap gap-1",
55677
55677
  children: [selectedOptions.map((opt) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
55678
- className: "inline-flex min-h-6 items-center justify-center gap-[3px] rounded-md border border-gray-300 bg-white py-0.5 pr-1 pl-[5px]",
55678
+ className: "inline-flex min-h-6 items-center justify-center gap-[3px] rounded-md border border-[color:var(--messaging-border,var(--color-gray-300))] bg-[color:var(--messaging-background,var(--color-white))] py-0.5 pr-1 pl-[5px]",
55679
55679
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
55680
55680
  className: "flex items-center justify-start gap-[5px]",
55681
55681
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(TagOptionAvatar, {
@@ -55683,18 +55683,18 @@ function TagMultiSelect({ getOptions, selectedOptions, onSelectionChange, placeh
55683
55683
  context: "chip",
55684
55684
  renderImage
55685
55685
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
55686
- className: "flex flex-wrap items-center justify-start gap-1 text-left text-sm/tight leading-tight font-medium text-slate-700",
55686
+ className: "flex flex-wrap items-center justify-start gap-1 text-left text-sm/tight leading-tight font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
55687
55687
  children: [
55688
55688
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
55689
55689
  className: "mr-1",
55690
55690
  children: opt.label
55691
55691
  }),
55692
55692
  opt.userData?.phone && opt.label !== opt.userData.phone && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
55693
- className: "font-normal text-gray-500",
55693
+ className: "font-normal text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]",
55694
55694
  children: opt.userData.phone
55695
55695
  }),
55696
55696
  opt.userData?.email && !opt.userData?.phone && opt.label !== opt.userData.email && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
55697
- className: "font-normal text-gray-500",
55697
+ className: "font-normal text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]",
55698
55698
  children: opt.userData.email
55699
55699
  })
55700
55700
  ]
@@ -55705,8 +55705,8 @@ function TagMultiSelect({ getOptions, selectedOptions, onSelectionChange, placeh
55705
55705
  e.stopPropagation();
55706
55706
  onSelectionChange(selectedOptions.filter((selected) => selected.id !== opt.id));
55707
55707
  },
55708
- className: "inline-flex flex-col items-start justify-start overflow-hidden rounded-sm p-0.5 hover:bg-gray-100 active:bg-gray-200",
55709
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.X, { className: "h-3 w-3 text-gray-900" })
55708
+ className: "inline-flex flex-col items-start justify-start overflow-hidden rounded-sm p-0.5 hover:bg-[color:var(--messaging-muted,var(--color-gray-100))] active:bg-[color:var(--messaging-muted,var(--color-gray-200))]",
55709
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.X, { className: "h-3 w-3 text-[color:var(--messaging-foreground,var(--color-gray-900))]" })
55710
55710
  })]
55711
55711
  }, opt.id)), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
55712
55712
  ref: inputRef,
@@ -55719,7 +55719,7 @@ function TagMultiSelect({ getOptions, selectedOptions, onSelectionChange, placeh
55719
55719
  onKeyDown: handleKeyDown,
55720
55720
  onFocus: openDropdown,
55721
55721
  placeholder,
55722
- className: "m-0 h-6 w-full min-w-48 flex-1 border-none bg-transparent px-0 py-0 text-sm leading-6 text-gray-900 outline-none placeholder:text-gray-500 focus:ring-0 focus:outline-none",
55722
+ className: "m-0 h-6 w-full min-w-48 flex-1 border-none bg-transparent px-0 py-0 text-sm leading-6 text-[color:var(--messaging-foreground,var(--color-gray-900))] outline-none placeholder:text-[color:var(--messaging-muted-foreground,var(--color-gray-500))] focus:ring-0 focus:outline-none",
55723
55723
  style: {
55724
55724
  height: "24px",
55725
55725
  lineHeight: "24px"
@@ -55727,7 +55727,7 @@ function TagMultiSelect({ getOptions, selectedOptions, onSelectionChange, placeh
55727
55727
  })]
55728
55728
  }), showChevron && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
55729
55729
  className: "flex flex-shrink-0 items-center justify-center",
55730
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronDown, { className: `h-3 w-3 text-gray-400 transition-transform duration-200 ${open ? "rotate-180" : ""}` })
55730
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronDown, { className: `h-3 w-3 text-[color:var(--messaging-muted-foreground,var(--color-gray-400))] transition-transform duration-200 ${open ? "rotate-180" : ""}` })
55731
55731
  })]
55732
55732
  }), open && (query.trim() !== "" || options.length > 0) && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TagMultiSelectDropdown, {
55733
55733
  options,
@@ -55915,9 +55915,9 @@ function RecipientConfigBar({ selectedRecipients, onRecipientsChange, searchUser
55915
55915
  };
55916
55916
  }
55917
55917
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
55918
- className: "flex min-h-14 items-center justify-start gap-2 self-stretch border-b border-gray-200 bg-gray-50 px-6 py-3",
55918
+ className: "flex min-h-14 items-center justify-start gap-2 self-stretch border-b border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-50))] px-6 py-3",
55919
55919
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
55920
- className: "justify-start text-xs leading-tight font-normal text-slate-600",
55920
+ className: "justify-start text-xs leading-tight font-normal text-[color:var(--messaging-muted-foreground,var(--color-slate-600))]",
55921
55921
  children: t("recipient_to")
55922
55922
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
55923
55923
  className: "relative flex-1",
@@ -55978,7 +55978,7 @@ function ScheduledMessageConfirmDialog({ open, onOpenChange, title, description,
55978
55978
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
55979
55979
  className: "grid gap-3",
55980
55980
  children: [content, description && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
55981
- className: "text-sm text-gray-600",
55981
+ className: "text-sm text-[color:var(--messaging-muted-foreground,var(--color-gray-600))]",
55982
55982
  children: description
55983
55983
  })]
55984
55984
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
@@ -56011,16 +56011,16 @@ function MessageTypeBadge({ messageKind, messageType }) {
56011
56011
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Mail, { className: "h-3 w-3 text-pink-600" })
56012
56012
  });
56013
56013
  if (messageKind === "public-channel" || messageType === "ChannelMessage") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
56014
- className: require_src.cn("inline-flex items-center justify-center rounded-md border px-1.5 py-1", "border-blue-200 bg-blue-50"),
56015
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Eye, { className: "h-3 w-3 text-blue-700" })
56014
+ className: require_src.cn("inline-flex items-center justify-center rounded-md border px-1.5 py-1", "border-[color:var(--messaging-primary-border,var(--color-blue-200))] bg-[color:var(--messaging-primary-tint,var(--color-blue-50))]"),
56015
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Eye, { className: "h-3 w-3 text-[color:var(--messaging-primary,var(--color-blue-700))]" })
56016
56016
  });
56017
56017
  if (messageKind === "private-channel") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
56018
56018
  className: "inline-flex items-center justify-center rounded-md border border-purple-200 bg-purple-50 px-1.5 py-1",
56019
56019
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Lock, { className: "h-3 w-3 text-purple-700" })
56020
56020
  });
56021
56021
  if (messageKind === "broadcast") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
56022
- className: "inline-flex items-center justify-center rounded-md border border-gray-200 bg-gray-50 px-1.5 py-1",
56023
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Megaphone, { className: "h-3 w-3 text-gray-700" })
56022
+ className: "inline-flex items-center justify-center rounded-md border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-50))] px-1.5 py-1",
56023
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Megaphone, { className: "h-3 w-3 text-[color:var(--messaging-foreground,var(--color-gray-700))]" })
56024
56024
  });
56025
56025
  return null;
56026
56026
  }
@@ -56045,7 +56045,7 @@ function OverdueBadge({ scheduledAt }) {
56045
56045
  //#region ../../messaging/ui/src/components/ScheduledMessageConversationAvatar.tsx
56046
56046
  function ScheduledMessageConversationAvatar({ size, fullConversation, effectiveConversation: _effectiveConversation, otherUsers, channelEmoji, renderImage }) {
56047
56047
  if (!fullConversation) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
56048
- className: require_src.cn("grid shrink-0 place-items-center overflow-clip rounded-sm bg-[#F5F6F9] text-base leading-5 ring-1 ring-gray-200 ring-inset", size === "lg" ? "h-8 w-8" : "h-6 w-6"),
56048
+ className: require_src.cn("grid shrink-0 place-items-center overflow-clip rounded-sm bg-[#F5F6F9] text-base leading-5 ring-1 ring-[color:var(--messaging-border,var(--color-gray-200))] ring-inset", size === "lg" ? "h-8 w-8" : "h-6 w-6"),
56049
56049
  children: channelEmoji
56050
56050
  });
56051
56051
  const { isChannel } = getMessageType(fullConversation);
@@ -56063,7 +56063,7 @@ function ScheduledMessageConversationAvatar({ size, fullConversation, effectiveC
56063
56063
  className: "h-full w-full object-cover"
56064
56064
  }) : "#";
56065
56065
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
56066
- className: require_src.cn("grid shrink-0 place-items-center overflow-clip rounded-sm bg-gray-50 text-base leading-5 ring-1 ring-gray-200 ring-inset", size === "lg" ? "h-8 w-8" : "h-6 w-6"),
56066
+ className: require_src.cn("grid shrink-0 place-items-center overflow-clip rounded-sm bg-[color:var(--messaging-muted,var(--color-gray-50))] text-base leading-5 ring-1 ring-[color:var(--messaging-border,var(--color-gray-200))] ring-inset", size === "lg" ? "h-8 w-8" : "h-6 w-6"),
56067
56067
  children: emoji || fullConversation.avatar_emoji || fallback
56068
56068
  });
56069
56069
  }
@@ -56090,12 +56090,12 @@ function ScheduledMessageTinyAttachment({ attachment }) {
56090
56090
  if (isImage || isVideo) {
56091
56091
  const thumb = attachment.thumbnail_url || attachment.image_url || void 0;
56092
56092
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
56093
- className: "relative size-8 overflow-hidden rounded-md border border-gray-200",
56093
+ className: "relative size-8 overflow-hidden rounded-md border border-[color:var(--messaging-border,var(--color-gray-200))]",
56094
56094
  children: [thumb ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
56095
56095
  src: thumb,
56096
56096
  alt: attachment.filename,
56097
56097
  className: "size-full object-cover"
56098
- }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "size-full bg-gray-100" }), isVideo && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Play, {
56098
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "size-full bg-[color:var(--messaging-muted,var(--color-gray-100))]" }), isVideo && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Play, {
56099
56099
  className: "absolute [inset:0] top-0 left-0 m-auto grid size-4 place-items-center text-white drop-shadow",
56100
56100
  fill: "currentColor"
56101
56101
  })]
@@ -56105,10 +56105,10 @@ function ScheduledMessageTinyAttachment({ attachment }) {
56105
56105
  const FileIcon = fileConfig.icon;
56106
56106
  const ext = getFileExtensionFromFilename(attachment.filename).slice(0, 4).toUpperCase();
56107
56107
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
56108
- className: "isolate flex size-8 shrink-0 flex-col rounded-md border border-white bg-gradient-to-b from-white to-zinc-100 ring-1 ring-gray-300",
56108
+ className: "isolate flex size-8 shrink-0 flex-col rounded-md border border-[color:var(--messaging-border,var(--color-white))] bg-gradient-to-b from-[color:var(--messaging-background,var(--color-white))] to-zinc-100 ring-1 ring-[color:var(--messaging-border,var(--color-gray-300))]",
56109
56109
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
56110
- className: "mx-0.5 mt-0.5 grid grow place-items-center rounded-t-[0.1875rem] bg-gradient-to-b from-gray-100 to-gray-50",
56111
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FileIcon, { className: "-mb-1.5 size-3 mask-t-from-0% mask-t-to-black/30 mask-t-to-100% text-gray-300" })
56110
+ className: "mx-0.5 mt-0.5 grid grow place-items-center rounded-t-[0.1875rem] bg-gradient-to-b from-[color:var(--messaging-muted,var(--color-gray-100))] to-[color:var(--messaging-background,var(--color-gray-50))]",
56111
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FileIcon, { className: "-mb-1.5 size-3 mask-t-from-0% mask-t-to-black/30 mask-t-to-100% text-[color:var(--messaging-muted-foreground,var(--color-gray-300))]" })
56112
56112
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
56113
56113
  className: require_src.cn("z-10 m-px mt-0 flex h-3 items-center justify-center rounded-[0.25rem] border text-center text-[9px] leading-3 font-bold text-white text-shadow-2xs", fileConfig.borderColor),
56114
56114
  style: { background: fileConfig.bgColor },
@@ -56125,7 +56125,7 @@ function ScheduledMessageActionsMenu({ onNavigateConversation, onNavigateEdit, o
56125
56125
  if (isMobile) return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
56126
56126
  type: "button",
56127
56127
  "aria-label": t("scheduled_action_more_options"),
56128
- className: "grid h-6 w-6 place-items-center rounded-md text-gray-500 hover:bg-gray-100 active:bg-gray-200",
56128
+ className: "grid h-6 w-6 place-items-center rounded-md text-[color:var(--messaging-muted-foreground,var(--color-gray-500))] hover:bg-[color:var(--messaging-muted,var(--color-gray-100))] active:bg-[color:var(--messaging-muted,var(--color-gray-200))]",
56129
56129
  onClick: (event) => {
56130
56130
  event.stopPropagation();
56131
56131
  setOpen(true);
@@ -56169,7 +56169,7 @@ function ScheduledMessageActionsMenu({ onNavigateConversation, onNavigateEdit, o
56169
56169
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
56170
56170
  type: "button",
56171
56171
  "aria-label": t("scheduled_action_more_options"),
56172
- className: "grid h-6 w-6 place-items-center rounded-md text-gray-500 hover:bg-gray-100 active:bg-gray-200",
56172
+ className: "grid h-6 w-6 place-items-center rounded-md text-[color:var(--messaging-muted-foreground,var(--color-gray-500))] hover:bg-[color:var(--messaging-muted,var(--color-gray-100))] active:bg-[color:var(--messaging-muted,var(--color-gray-200))]",
56173
56173
  onClick: (e) => e.stopPropagation(),
56174
56174
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.EllipsisVertical, { className: "h-4 w-4" })
56175
56175
  })
@@ -56180,36 +56180,36 @@ function ScheduledMessageActionsMenu({ onNavigateConversation, onNavigateEdit, o
56180
56180
  className: "px-0 py-1",
56181
56181
  children: [
56182
56182
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
56183
- className: "mx-1.5 my-0 cursor-pointer gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-slate-700",
56183
+ className: "mx-1.5 my-0 cursor-pointer gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
56184
56184
  onSelect: (event) => {
56185
56185
  event.preventDefault();
56186
56186
  onNavigateConversation();
56187
56187
  },
56188
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ArrowRight, { className: "h-4 w-4 text-gray-500" }), t("scheduled_action_go_to_conversation")]
56188
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ArrowRight, { className: "h-4 w-4 text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]" }), t("scheduled_action_go_to_conversation")]
56189
56189
  }),
56190
56190
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
56191
- className: "mx-1.5 my-0 cursor-pointer gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-slate-700",
56191
+ className: "mx-1.5 my-0 cursor-pointer gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
56192
56192
  onSelect: (event) => {
56193
56193
  event.preventDefault();
56194
56194
  onNavigateEdit();
56195
56195
  },
56196
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pencil, { className: "h-4 w-4 text-gray-500" }), t("scheduled_action_edit_message")]
56196
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pencil, { className: "h-4 w-4 text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]" }), t("scheduled_action_edit_message")]
56197
56197
  }),
56198
56198
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
56199
- className: "mx-1.5 my-0 cursor-pointer gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-slate-700",
56199
+ className: "mx-1.5 my-0 cursor-pointer gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
56200
56200
  onSelect: (event) => {
56201
56201
  event.preventDefault();
56202
56202
  onReschedule();
56203
56203
  },
56204
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.CalendarClock, { className: "h-4 w-4 text-gray-500" }), t("scheduled_action_reschedule")]
56204
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.CalendarClock, { className: "h-4 w-4 text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]" }), t("scheduled_action_reschedule")]
56205
56205
  }),
56206
56206
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
56207
- className: "mx-1.5 my-0 cursor-pointer gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-slate-700",
56207
+ className: "mx-1.5 my-0 cursor-pointer gap-2 rounded-md px-2.5 py-[9px] text-sm font-medium text-[color:var(--messaging-foreground,var(--color-slate-700))]",
56208
56208
  onSelect: (event) => {
56209
56209
  event.preventDefault();
56210
56210
  onSendNow();
56211
56211
  },
56212
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Send, { className: "h-4 w-4 text-gray-500" }), t("scheduled_action_send_now")]
56212
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Send, { className: "h-4 w-4 text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]" }), t("scheduled_action_send_now")]
56213
56213
  }),
56214
56214
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuSeparator, {}),
56215
56215
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
@@ -56352,10 +56352,10 @@ function ScheduledMessageRow({ message, onToast }) {
56352
56352
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
56353
56353
  className: "flex min-w-0 flex-col justify-center",
56354
56354
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
56355
- className: "text-messaging-2 capsize mb-2 text-gray-900",
56355
+ className: "text-messaging-2 capsize mb-2 text-[color:var(--messaging-foreground,var(--color-gray-900))]",
56356
56356
  children: channelName
56357
56357
  }), message.body && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
56358
- className: "-my-1 line-clamp-1 py-1 text-xs leading-4 text-gray-900",
56358
+ className: "-my-1 line-clamp-1 py-1 text-xs leading-4 text-[color:var(--messaging-foreground,var(--color-gray-900))]",
56359
56359
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MessageBody, {
56360
56360
  mentions: message.mentioned_recipients,
56361
56361
  children: message.body
@@ -56367,7 +56367,7 @@ function ScheduledMessageRow({ message, onToast }) {
56367
56367
  children: [
56368
56368
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(OverdueBadge, { scheduledAt }),
56369
56369
  scheduledAt && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
56370
- className: "text-[9px] leading-3 font-medium text-gray-400",
56370
+ className: "text-[9px] leading-3 font-medium text-[color:var(--messaging-muted-foreground,var(--color-gray-400))]",
56371
56371
  children: formatScheduledShort(scheduledAt)
56372
56372
  }),
56373
56373
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MessageTypeBadge, {
@@ -56408,7 +56408,7 @@ function ScheduledMessageRow({ message, onToast }) {
56408
56408
  content: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
56409
56409
  className: "flex items-center gap-2",
56410
56410
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
56411
- className: "text-sm font-semibold text-black",
56411
+ className: "text-sm font-semibold text-[color:var(--messaging-foreground,var(--color-black))]",
56412
56412
  children: t("scheduled_send_message_to")
56413
56413
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
56414
56414
  className: "inline-flex items-center gap-2",
@@ -56416,7 +56416,7 @@ function ScheduledMessageRow({ message, onToast }) {
56416
56416
  size: "sm",
56417
56417
  ...avatarProps
56418
56418
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
56419
- className: "text-sm font-semibold text-gray-900",
56419
+ className: "text-sm font-semibold text-[color:var(--messaging-foreground,var(--color-gray-900))]",
56420
56420
  children: channelName
56421
56421
  })]
56422
56422
  })]
@@ -56446,7 +56446,7 @@ function ScheduledMessageRow({ message, onToast }) {
56446
56446
  content: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
56447
56447
  className: "flex items-center gap-2",
56448
56448
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
56449
- className: "text-sm font-semibold text-black",
56449
+ className: "text-sm font-semibold text-[color:var(--messaging-foreground,var(--color-black))]",
56450
56450
  children: t("scheduled_delete_message_to")
56451
56451
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
56452
56452
  className: "inline-flex items-center gap-2",
@@ -56454,7 +56454,7 @@ function ScheduledMessageRow({ message, onToast }) {
56454
56454
  size: "sm",
56455
56455
  ...avatarProps
56456
56456
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
56457
- className: "text-sm font-semibold text-gray-900",
56457
+ className: "text-sm font-semibold text-[color:var(--messaging-foreground,var(--color-gray-900))]",
56458
56458
  children: channelName
56459
56459
  })]
56460
56460
  })]
@@ -56484,7 +56484,7 @@ function ScheduledMessagesView({ onToast }) {
56484
56484
  if (messages.length === 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
56485
56485
  className: "flex min-h-[60vh] items-center justify-center",
56486
56486
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
56487
- className: "text-center text-gray-500",
56487
+ className: "text-center text-[color:var(--messaging-muted-foreground,var(--color-gray-500))]",
56488
56488
  children: t("scheduled_no_messages")
56489
56489
  })
56490
56490
  });
@@ -56494,7 +56494,7 @@ function ScheduledMessagesView({ onToast }) {
56494
56494
  className: "flex flex-col gap-2",
56495
56495
  children: [
56496
56496
  messages.map((message) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
56497
- className: "relative isolate w-full rounded-xl border border-gray-200 bg-gray-50 p-4",
56497
+ className: "relative isolate w-full rounded-xl border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-50))] p-4",
56498
56498
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ScheduledMessageRow, {
56499
56499
  message,
56500
56500
  onToast
@@ -56513,7 +56513,7 @@ function ScheduledMessagesView({ onToast }) {
56513
56513
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
56514
56514
  type: "button",
56515
56515
  onClick: () => fetchNextPage(),
56516
- className: "inline-flex items-center rounded-2xl border border-gray-200 bg-gray-50 px-3 py-0.5 text-xs font-medium text-gray-700 hover:bg-gray-100 active:bg-gray-200",
56516
+ className: "inline-flex items-center rounded-2xl border border-[color:var(--messaging-border,var(--color-gray-200))] bg-[color:var(--messaging-muted,var(--color-gray-50))] px-3 py-0.5 text-xs font-medium text-[color:var(--messaging-foreground,var(--color-gray-700))] hover:bg-[color:var(--messaging-muted,var(--color-gray-100))] active:bg-[color:var(--messaging-muted,var(--color-gray-200))]",
56517
56517
  children: "Load more"
56518
56518
  })
56519
56519
  }),
@@ -56871,4 +56871,4 @@ Object.defineProperty(exports, "useMessagingConfig", {
56871
56871
  }
56872
56872
  });
56873
56873
 
56874
- //# sourceMappingURL=MessagingScreen-D_Y3Coa6.cjs.map
56874
+ //# sourceMappingURL=MessagingScreen-_1KfmCJQ.cjs.map