@retinalabsllc/zairusjs 21.2.8 → 21.3.0

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.
package/dist/index.d.mts CHANGED
@@ -1304,6 +1304,7 @@ interface UniversalMember3 {
1304
1304
  isRootAdmin?: boolean;
1305
1305
  }
1306
1306
  interface UniversalSettings2Props {
1307
+ onBackHref?: string;
1307
1308
  accountType: 'INDIVIDUAL' | 'ORGANIZATION';
1308
1309
  userRole?: string;
1309
1310
  members?: UniversalMember3[];
@@ -1383,6 +1384,7 @@ declare const UniversalDeveloperSettings: React.FC<UniversalDeveloperSettingsPro
1383
1384
 
1384
1385
  interface UniversalApplicationPage2Props {
1385
1386
  userRole?: string;
1387
+ onBackHref?: string;
1386
1388
  applications: UniversalApplication[];
1387
1389
  isLoading: boolean;
1388
1390
  currentPage: number;
package/dist/index.d.ts CHANGED
@@ -1304,6 +1304,7 @@ interface UniversalMember3 {
1304
1304
  isRootAdmin?: boolean;
1305
1305
  }
1306
1306
  interface UniversalSettings2Props {
1307
+ onBackHref?: string;
1307
1308
  accountType: 'INDIVIDUAL' | 'ORGANIZATION';
1308
1309
  userRole?: string;
1309
1310
  members?: UniversalMember3[];
@@ -1383,6 +1384,7 @@ declare const UniversalDeveloperSettings: React.FC<UniversalDeveloperSettingsPro
1383
1384
 
1384
1385
  interface UniversalApplicationPage2Props {
1385
1386
  userRole?: string;
1387
+ onBackHref?: string;
1386
1388
  applications: UniversalApplication[];
1387
1389
  isLoading: boolean;
1388
1390
  currentPage: number;
package/dist/index.js CHANGED
@@ -688,6 +688,10 @@ var ReusableOptions = ({
688
688
  showSearch = false
689
689
  }) => {
690
690
  const [searchQuery, setSearchQuery] = (0, import_react11.useState)("");
691
+ const [pendingOption, setPendingOption] = (0, import_react11.useState)(selectedOption);
692
+ (0, import_react11.useEffect)(() => {
693
+ if (isOpen) setPendingOption(selectedOption);
694
+ }, [isOpen, selectedOption]);
691
695
  if (!isOpen) return null;
692
696
  const filteredOptions = options.filter(
693
697
  (opt) => opt.toLowerCase().includes(searchQuery.toLowerCase())
@@ -702,20 +706,23 @@ var ReusableOptions = ({
702
706
  className: "w-full pl-10 pr-4 py-2.5 bg-stone-100 rounded-full text-sm text-black placeholder-stone-400 outline-none focus:bg-stone-50 transition-colors"
703
707
  }
704
708
  ))), /* @__PURE__ */ import_react11.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, filteredOptions.length === 0 ? /* @__PURE__ */ import_react11.default.createElement("div", { className: "p-6 text-center text-xs text-stone-400" }, "No options found.") : filteredOptions.map((opt) => {
705
- const isSelected = selectedOption === opt;
709
+ const isSelected = pendingOption === opt;
706
710
  return /* @__PURE__ */ import_react11.default.createElement(
707
711
  "button",
708
712
  {
709
713
  key: opt,
710
- onClick: () => onSelect(opt),
714
+ onClick: () => setPendingOption(opt),
711
715
  className: `w-full text-left p-4 text-xs tracking-tight rounded-full transition-colors outline-none ${isSelected ? "text-[#d97757] bg-[#d97757]/10" : "text-stone-600 hover:bg-stone-50/50"}`
712
716
  },
713
717
  opt.charAt(0).toUpperCase() + opt.slice(1).toLowerCase()
714
718
  );
715
- })), /* @__PURE__ */ import_react11.default.createElement("div", { className: "p-4 flex items-center justify-end shrink-0 bg-white " }, /* @__PURE__ */ import_react11.default.createElement(
719
+ })), /* @__PURE__ */ import_react11.default.createElement("div", { className: "p-4 flex items-center justify-center shrink-0 bg-white" }, /* @__PURE__ */ import_react11.default.createElement(
716
720
  "button",
717
721
  {
718
- onClick: onClose,
722
+ onClick: () => {
723
+ onSelect(pendingOption);
724
+ onClose();
725
+ },
719
726
  className: "text-[#d97757] outline-none text-sm tracking-wide hover:opacity-80 transition-opacity"
720
727
  },
721
728
  "Done"
@@ -2880,7 +2887,7 @@ var HeroSection = ({
2880
2887
  className: "leading-[0.85] tracking-[-0.07em] text-[18.2vw] sm:text-[16.8vw] md:text-[15.4vw] lg:text-[14vw] xl:text-[13.3vw] 2xl:text-[14vw] text-[#ffffff]"
2881
2888
  },
2882
2889
  /* @__PURE__ */ import_react45.default.createElement("div", { className: "inline-flex flex-wrap" }, /* @__PURE__ */ import_react45.default.createElement("span", { className: `inline-block relative transition-all duration-1000 ${isAnimating ? "opacity-100 translate-y-0" : "opacity-0 translate-y-10"}` }, titlePrefix, titlePrefix && /* @__PURE__ */ import_react45.default.createElement("br", null), highlightText, /* @__PURE__ */ import_react45.default.createElement("span", { className: "absolute top-[0.65em] right-[-0.3em] text-[0.31em] text-[#ffffff]/70" }, "*")))
2883
- )), /* @__PURE__ */ import_react45.default.createElement("div", { className: "col-span-12 flex flex-col gap-5 pb-6 lg:col-span-4 lg:pb-10" }, subtitle && /* @__PURE__ */ import_react45.default.createElement("p", { className: "text-xs text-[#ffffff]/70 sm:text-sm md:text-xs leading-[1.2] max-w-md transition-opacity duration-1000 delay-300" }, subtitle), /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex flex-col sm:flex-row items-start sm:items-center gap-4" }, ctaText && /* @__PURE__ */ import_react45.default.createElement(
2890
+ )), /* @__PURE__ */ import_react45.default.createElement("div", { className: "col-span-12 flex flex-col gap-5 pb-6 lg:col-span-4 lg:pb-10" }, subtitle && /* @__PURE__ */ import_react45.default.createElement("p", { className: "text-sm text-[#ffffff]/70 sm:text-sm md:text-xs leading-[1.2] max-w-md transition-opacity duration-1000 delay-300" }, subtitle), /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex flex-col sm:flex-row items-start sm:items-center gap-4" }, ctaText && /* @__PURE__ */ import_react45.default.createElement(
2884
2891
  import_link6.default,
2885
2892
  {
2886
2893
  href: isWaitlist ? "#" : ctaHref || "#",
@@ -3869,7 +3876,7 @@ var PortfolioHero = ({
3869
3876
  ref: heroContentRef,
3870
3877
  className: "w-full opacity-0 translate-y-5 transition-all duration-1000 ease-out relative z-10"
3871
3878
  },
3872
- /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center gap-5 sm:gap-8 mb-10" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "relative w-22 h-22 rounded-full overflow-hidden border border-stone-200 shrink-0" }, /* @__PURE__ */ import_react62.default.createElement(
3879
+ /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center gap-5 sm:gap-8 mb-10" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "relative w-22 h-22 rounded-2xl overflow-hidden border border-stone-200 shrink-0" }, /* @__PURE__ */ import_react62.default.createElement(
3873
3880
  import_image7.default,
3874
3881
  {
3875
3882
  src: imageSrc,
@@ -6570,7 +6577,7 @@ var UniversalHome3 = ({
6570
6577
  },
6571
6578
  /* @__PURE__ */ import_react97.default.createElement(import_react98.HugeiconsIcon, { icon: import_core_free_icons38.Logout01Icon, size: 15 }),
6572
6579
  "Log Out"
6573
- )))), showNotifDialog && /* @__PURE__ */ import_react97.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react97.default.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ import_react97.default.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[80vh] h-auto" }, /* @__PURE__ */ import_react97.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, selectedNotif ? /* @__PURE__ */ import_react97.default.createElement("button", { onClick: () => setSelectedNotif(null), disabled: isResolving, className: "text-[#d97757] hover:text-[#d97757] transition-colors outline-none flex items-center gap-2 text-xs tracking-widest disabled:opacity-50" }, /* @__PURE__ */ import_react97.default.createElement(import_react98.HugeiconsIcon, { icon: import_core_free_icons38.ArrowLeft01Icon, size: 14 }), " Back") : /* @__PURE__ */ import_react97.default.createElement("h3", { className: "text-sm text-black tracking-tight flex items-center gap-2" }, "Notifications"), /* @__PURE__ */ import_react97.default.createElement("button", { onClick: () => setShowNotifDialog(false), disabled: isResolving, className: "text-stone-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ import_react97.default.createElement(import_react98.HugeiconsIcon, { icon: import_core_free_icons38.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react97.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2 relative" }, isNotifsLoading && !selectedNotif && /* @__PURE__ */ import_react97.default.createElement("div", { className: "absolute inset-0 z-10 flex items-center justify-center" }, /* @__PURE__ */ import_react97.default.createElement(import_react98.HugeiconsIcon, { icon: import_core_free_icons38.Loading03Icon, size: 28, className: "animate-spin text-black" })), selectedNotif ? /* @__PURE__ */ import_react97.default.createElement("div", { className: "p-4 text-left" }, selectedNotif.type === "HUDDLE_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && selectedNotif.meta_json?.completed ? /* @__PURE__ */ import_react97.default.createElement("div", { className: "" }) : /* @__PURE__ */ import_react97.default.createElement("h4", { className: "text-sm text-black mb-1" }, selectedNotif.title), /* @__PURE__ */ import_react97.default.createElement("span", { className: "text-xs text-stone-400 tracking-widest mb-4 block" }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ import_react97.default.createElement("p", { className: "text-xs text-stone-600 leading-relaxed whitespace-pre-wrap" }, selectedNotif.message), selectedNotif.type === "HUDDLE_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && /* @__PURE__ */ import_react97.default.createElement("div", { className: `mt-8 flex gap-3 pt-6 ${selectedNotif.meta_json?.completed ? "opacity-40 pointer-events-none cursor-not-allowed" : ""}` }, /* @__PURE__ */ import_react97.default.createElement(
6580
+ )))), showNotifDialog && /* @__PURE__ */ import_react97.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react97.default.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ import_react97.default.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[80vh] h-auto" }, /* @__PURE__ */ import_react97.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, selectedNotif ? /* @__PURE__ */ import_react97.default.createElement("button", { onClick: () => setSelectedNotif(null), disabled: isResolving, className: "text-[#d97757] hover:text-[#d97757] transition-colors outline-none flex items-center gap-2 text-xs tracking-widest disabled:opacity-50" }, /* @__PURE__ */ import_react97.default.createElement(import_react98.HugeiconsIcon, { icon: import_core_free_icons38.ArrowLeft01Icon, size: 14 }), " Back") : /* @__PURE__ */ import_react97.default.createElement("h3", { className: "text-sm text-black tracking-tight flex items-center gap-2" }, "Notifications"), /* @__PURE__ */ import_react97.default.createElement("button", { onClick: () => setShowNotifDialog(false), disabled: isResolving, className: "text-stone-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ import_react97.default.createElement(import_react98.HugeiconsIcon, { icon: import_core_free_icons38.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react97.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2 relative" }, isNotifsLoading && !selectedNotif && /* @__PURE__ */ import_react97.default.createElement("div", { className: "absolute inset-0 z-10 flex items-center justify-center" }, /* @__PURE__ */ import_react97.default.createElement(import_react98.HugeiconsIcon, { icon: import_core_free_icons38.Loading03Icon, size: 28, className: "animate-spin text-black" })), selectedNotif ? /* @__PURE__ */ import_react97.default.createElement("div", { className: "p-4 text-left" }, selectedNotif.type === "ORG_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && selectedNotif.meta_json?.completed ? /* @__PURE__ */ import_react97.default.createElement("div", { className: "" }) : /* @__PURE__ */ import_react97.default.createElement("h4", { className: "text-sm text-black mb-1" }, selectedNotif.title), /* @__PURE__ */ import_react97.default.createElement("span", { className: "text-xs text-stone-400 tracking-widest mb-4 block" }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ import_react97.default.createElement("p", { className: "text-xs text-stone-600 leading-relaxed whitespace-pre-wrap" }, selectedNotif.message), selectedNotif.type === "ORG_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && /* @__PURE__ */ import_react97.default.createElement("div", { className: `mt-8 flex gap-3 pt-6 ${selectedNotif.meta_json?.completed ? "opacity-40 pointer-events-none cursor-not-allowed" : ""}` }, /* @__PURE__ */ import_react97.default.createElement(
6574
6581
  "button",
6575
6582
  {
6576
6583
  onClick: () => handleResolve("ACCEPTED"),
@@ -6691,9 +6698,9 @@ function RootSidebar({
6691
6698
  ), /* @__PURE__ */ import_react99.default.createElement(
6692
6699
  "div",
6693
6700
  {
6694
- className: `md:hidden fixed bottom-0 left-0 right-0 bg-white rounded-t-3xl z-50 flex flex-col overflow-hidden transition-transform duration-300 ease-[cubic-bezier(0.32,0.72,0,1)] ${isSheetOpen ? "translate-y-0" : "translate-y-full"}`
6701
+ className: `md:hidden fixed bottom-0 left-0 right-0 bg-white z-50 flex flex-col overflow-hidden transition-transform duration-300 ease-[cubic-bezier(0.32,0.72,0,1)] ${isSheetOpen ? "translate-y-0" : "translate-y-full"}`
6695
6702
  },
6696
- /* @__PURE__ */ import_react99.default.createElement("div", { className: "w-full flex justify-center py-4 shrink-0", onClick: () => setIsSheetOpen(false) }, /* @__PURE__ */ import_react99.default.createElement("div", { className: "w-12 h-1.5 bg-stone-200 rounded-full" })),
6703
+ /* @__PURE__ */ import_react99.default.createElement("div", { className: "w-full flex justify-center py-4 shrink-0", onClick: () => setIsSheetOpen(false) }),
6697
6704
  /* @__PURE__ */ import_react99.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar px-4 pb-8 flex flex-col gap-2 max-h-[70vh]" }, NavItem2s.map((item, index) => {
6698
6705
  const isExactOrSubMatch = item.path === "/" || item.path === "/app" ? currentPath === "/" || currentPath === "/app" : currentPath === item.path || currentPath?.startsWith(`${item.path}/`);
6699
6706
  const isCurrentRoute = isExactOrSubMatch || !hasActiveMatch && index === 0;
@@ -6706,14 +6713,14 @@ function RootSidebar({
6706
6713
  if (onNavClick) onNavClick(e, item.path);
6707
6714
  setIsSheetOpen(false);
6708
6715
  },
6709
- className: `flex items-center gap-4 px-5 py-3 rounded-full transition-colors outline-none ${isCurrentRoute ? "bg-[#fff5f2] text-[#d97757]" : "text-stone-600 hover:bg-stone-50"}`
6716
+ className: `flex items-center gap-4 px-5 py-3 rounded-full transition-colors outline-none ${isCurrentRoute ? "bg-stone-100 text-stone-900" : "text-stone-600 hover:bg-stone-50"}`
6710
6717
  },
6711
6718
  /* @__PURE__ */ import_react99.default.createElement(
6712
6719
  import_react100.HugeiconsIcon,
6713
6720
  {
6714
6721
  icon: item.icon,
6715
6722
  size: 18,
6716
- className: isCurrentRoute ? "text-[#d97757]" : "text-stone-400"
6723
+ className: isCurrentRoute ? "text-stone-900" : "text-stone-400"
6717
6724
  }
6718
6725
  ),
6719
6726
  /* @__PURE__ */ import_react99.default.createElement("span", { className: "text-xs tracking-wide" }, item.name)
@@ -6790,6 +6797,7 @@ var OrgAvatar4 = ({ src, sizeClass = "w-10 h-10" }) => {
6790
6797
  var PageSpinner10 = () => /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
6791
6798
  var InputSpinner4 = () => /* @__PURE__ */ import_react101.default.createElement("svg", { className: "animate-spin h-4 w-4 text-stone-400", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24" }, /* @__PURE__ */ import_react101.default.createElement("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), /* @__PURE__ */ import_react101.default.createElement("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" }));
6792
6799
  var UniversalSettings2 = ({
6800
+ onBackHref = "/app",
6793
6801
  accountType,
6794
6802
  userRole,
6795
6803
  members = [],
@@ -6801,12 +6809,6 @@ var UniversalSettings2 = ({
6801
6809
  membersSearchQuery = "",
6802
6810
  onMembersSearchChange = () => {
6803
6811
  },
6804
- activeStatusFilter = "ALL",
6805
- onStatusFilterChange = () => {
6806
- },
6807
- activeRoleFilter = "ALL",
6808
- onRoleFilterChange = () => {
6809
- },
6810
6812
  onRemoveMember,
6811
6813
  onInviteMember,
6812
6814
  onUpdateRole,
@@ -6836,8 +6838,6 @@ var UniversalSettings2 = ({
6836
6838
  const [localSearchQuery, setLocalSearchQuery] = (0, import_react101.useState)(membersSearchQuery);
6837
6839
  const [isTyping, setIsTyping] = (0, import_react101.useState)(false);
6838
6840
  const isFirstSearchMount = (0, import_react101.useRef)(true);
6839
- const [isStatusModalOpen, setIsStatusModalOpen] = (0, import_react101.useState)(false);
6840
- const [isRoleModalOpen, setIsRoleModalOpen] = (0, import_react101.useState)(false);
6841
6841
  const [roleEditTarget, setRoleEditTarget] = (0, import_react101.useState)(null);
6842
6842
  const [isUpdatingRole, setIsUpdatingRole] = (0, import_react101.useState)(false);
6843
6843
  const [orgName, setOrgName] = (0, import_react101.useState)(initialOrgName);
@@ -7054,7 +7054,7 @@ var UniversalSettings2 = ({
7054
7054
  tabs.push({ id: "ORGANIZATION", label: "Organization" });
7055
7055
  }
7056
7056
  tabs.push({ id: "ACCOUNT", label: "Profile" });
7057
- return /* @__PURE__ */ import_react101.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react101.default.createElement(ManagedToaster, null), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col gap-1 mb-8 px-1" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ import_react101.default.createElement("h1", { className: "text-black text-xl tracking-tight" }, "System Settings")), /* @__PURE__ */ import_react101.default.createElement("p", { className: "text-xs text-stone-500" }, "Manage your workspace identity, team configurations, and AI billing parameters.")), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center mb-4 w-full animate-in fade-in duration-300 px-2" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center bg-white rounded-full p-1 sm:p-1.5 max-w-full overflow-x-auto custom-scrollbar" }, tabs.map((tab, idx) => {
7057
+ return /* @__PURE__ */ import_react101.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react101.default.createElement(ManagedToaster, null), /* @__PURE__ */ import_react101.default.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ import_react101.default.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#d97757] hover:text-[#d97757] transition-colors text-sm outline-none" }, /* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.ArrowLeft01Icon, size: 16 }), " Back")), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col gap-1 mb-8 px-1" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ import_react101.default.createElement("h1", { className: "text-black text-xl tracking-tight" }, "System Settings")), /* @__PURE__ */ import_react101.default.createElement("p", { className: "text-xs text-stone-500" }, "Manage your workspace identity, team configurations, and AI billing parameters.")), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center mb-4 w-full animate-in fade-in duration-300 px-2" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center bg-white rounded-full p-1 sm:p-1.5 max-w-full overflow-x-auto custom-scrollbar" }, tabs.map((tab, idx) => {
7058
7058
  const isActive = activeTab === tab.id;
7059
7059
  return /* @__PURE__ */ import_react101.default.createElement(
7060
7060
  "button",
@@ -7101,10 +7101,19 @@ var UniversalSettings2 = ({
7101
7101
  className: "text-xs text-[#d97757] hover:underline outline-none disabled:opacity-50"
7102
7102
  },
7103
7103
  "Remove"
7104
- ))))))) : /* @__PURE__ */ import_react101.default.createElement(import_react101.default.Fragment, null, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-row items-center justify-between gap-4" }, /* @__PURE__ */ import_react101.default.createElement("h2", { className: "text-black text-xl tracking-tight" }, isInviteMode ? "Add Member" : "Team Directory"), !isInviteMode && canManage && /* @__PURE__ */ import_react101.default.createElement("button", { onClick: () => setIsInviteMode(true), className: "shrink-0 px-4 py-1.5 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-stone-50 transition-colors outline-none" }, "Invite Team")), !isInviteMode && /* @__PURE__ */ import_react101.default.createElement("p", { className: "text-xs text-stone-500" }, "Manage members and access controls across your organization.")), /* @__PURE__ */ import_react101.default.createElement("div", { className: "w-full overflow-hidden" }, isInviteMode ? /* @__PURE__ */ import_react101.default.createElement("form", { onSubmit: handleInviteSubmit, className: "flex flex-col gap-8 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "space-y-1.5 mt-2" }, /* @__PURE__ */ import_react101.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Email Address"), /* @__PURE__ */ import_react101.default.createElement("input", { type: "email", value: inviteEmail, onChange: (e) => setInviteEmail(cleanEmailId(e.target.value)), required: true, autoFocus: true, className: "w-full px-2 py-3 bg-transparent text-sm border-b border-stone-200 text-black outline-none focus:border-black transition-all duration-300", placeholder: "name@company.com" })), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ import_react101.default.createElement(ThreeDActionButton, { type: "submit", disabled: inviteEmail.length < 5 || isInviting, isLoading: isInviting, className: "w-full" }, "Send Invitation"), /* @__PURE__ */ import_react101.default.createElement("button", { type: "button", onClick: () => {
7105
- setIsInviteMode(false);
7106
- setInviteEmail("");
7107
- }, disabled: isInviting, className: "w-full flex items-center justify-center py-2.5 rounded-full border border-stone-200 text-black hover:bg-stone-50 transition-colors outline-none text-xs tracking-wide" }, "Cancel"))) : isMembersLoading || isTyping ? /* @__PURE__ */ import_react101.default.createElement(PageSpinner10, null) : /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col min-w-0 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react101.default.createElement("div", null, members.length === 0 ? /* @__PURE__ */ import_react101.default.createElement("p", { className: "text-xs text-stone-400 py-6 text-center" }, "No members found") : members.map((member) => /* @__PURE__ */ import_react101.default.createElement("div", { key: member.id, onClick: () => setExpandedId(member.id), className: "flex items-center justify-between py-3 hover:bg-stone-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react101.default.createElement(MemberAvatar5, { src: member.avatarUrl, status: member.status }), /* @__PURE__ */ import_react101.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-0.5" }, /* @__PURE__ */ import_react101.default.createElement("p", { className: "text-sm text-black truncate" }, member.fullName), /* @__PURE__ */ import_react101.default.createElement("p", { className: "text-xs text-stone-500 capitalize truncate" }, member.role.toLowerCase())))))), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ import_react101.default.createElement("span", { className: "text-xs text-stone-400 tracking-[0.2em]" }, "Page ", membersCurrentPage, " of ", membersTotalPages === 0 ? 1 : membersTotalPages), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react101.default.createElement("button", { onClick: () => onMembersPageChange(membersCurrentPage - 1), disabled: membersCurrentPage <= 1 || isMembersLoading, className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none" }, /* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.ArrowLeft01Icon, size: 14 })), /* @__PURE__ */ import_react101.default.createElement("button", { onClick: () => onMembersPageChange(membersCurrentPage + 1), disabled: membersCurrentPage >= membersTotalPages || isMembersLoading || membersTotalPages === 0, className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none" }, /* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.ArrowRight01Icon, size: 14 })))))))), /* @__PURE__ */ import_react101.default.createElement(ReusableOptions, { isOpen: !!roleEditTarget, onClose: () => setRoleEditTarget(null), title: "Modify Access Role", options: ["ADMIN", "MANAGER", "MEMBER"], selectedOption: roleEditTarget?.role || "", onSelect: handleRoleUpdate })), activeTab === "ORGANIZATION" && isOrg && /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "relative group cursor-pointer shrink-0", onClick: () => canManage && !isSavingOrg ? orgFileInputRef.current?.click() : void 0 }, /* @__PURE__ */ import_react101.default.createElement(OrgAvatar4, { src: orgAvatarUrl, sizeClass: "w-14 h-14" }), canManage && /* @__PURE__ */ import_react101.default.createElement("div", { className: "absolute -bottom-1 -right-1 w-6 h-6 bg-white border border-stone-200 rounded-full flex items-center justify-center text-stone-500 group-hover:text-black transition-colors z-10" }, isUploadingOrgAvatar ? /* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.Loading03Icon, size: 12, className: "animate-spin" }) : /* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.CloudUploadIcon, size: 14 })), /* @__PURE__ */ import_react101.default.createElement("input", { type: "file", ref: orgFileInputRef, className: "hidden", accept: ".png, .jpg, .jpeg", onChange: (e) => handleFileSelect(e, "ORGANIZATION") })), /* @__PURE__ */ import_react101.default.createElement("div", null, /* @__PURE__ */ import_react101.default.createElement("h2", { className: "text-black text-xl mb-1 tracking-tight" }, "Workspace Details"), /* @__PURE__ */ import_react101.default.createElement("p", { className: "text-xs text-stone-500" }, "Manage your organizational identity and handles."))), !canManage && /* @__PURE__ */ import_react101.default.createElement("span", { className: "p-2 w-9 h-9 bg-stone-100 text-stone-400 rounded-full shrink-0" }, /* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.CircleLock02Icon, size: 18, className: "text-current" }))), /* @__PURE__ */ import_react101.default.createElement("form", { className: "flex flex-col gap-8 w-full max-w-5xl", onSubmit: handleSaveOrganization, autoComplete: "off" }, /* @__PURE__ */ import_react101.default.createElement(TextInput, { label: "Workspace Name", value: orgName, onChange: handleOrgNameChange, disabled: !canManage || isSavingOrg, placeholder: "Acme Corporation", maxLength: 50 }), /* @__PURE__ */ import_react101.default.createElement("div", { className: "space-y-1.5 relative w-full" }, /* @__PURE__ */ import_react101.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Workspace Handle"), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center relative w-full border-b border-stone-200 focus-within:border-black transition-all duration-300 overflow-hidden" }, /* @__PURE__ */ import_react101.default.createElement("input", { type: "text", value: orgSlug, disabled: !canManage || isSavingOrg, onChange: (e) => handleOrgSlugChange(e.target.value), spellCheck: "false", autoComplete: "off", className: "w-full pr-10 pl-0 py-3 text-sm bg-transparent text-black outline-none disabled:opacity-50 disabled:cursor-not-allowed", placeholder: "workspace-handle" }), /* @__PURE__ */ import_react101.default.createElement("div", { className: "absolute right-2 top-1/2 -translate-y-1/2" }, isCheckingSlug && /* @__PURE__ */ import_react101.default.createElement(InputSpinner4, null), !isCheckingSlug && canManage && orgSlug !== initialOrgSlug && orgSlug.length >= 3 && slugAvailable === false && /* @__PURE__ */ import_react101.default.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-[#d97757]/10" }, /* @__PURE__ */ import_react101.default.createElement("svg", { className: "w-2 h-2 text-[#d97757]", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ import_react101.default.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" }))), !isCheckingSlug && canManage && orgSlug !== initialOrgSlug && orgSlug.length >= 3 && slugAvailable === true && /* @__PURE__ */ import_react101.default.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-green-100" }, /* @__PURE__ */ import_react101.default.createElement("svg", { className: "w-2 h-2 text-green-600", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ import_react101.default.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M16.707 5.293a1 1 0 00-1.414 0L8 12.586 4.707 9.293a1 1 0 10-1.414 1.414l4 4a1 1 0 001.414 0l8-8a1 1 0 000-1.414z" })))))), /* @__PURE__ */ import_react101.default.createElement("div", { className: "pt-8 mt-2 flex items-center gap-4" }, /* @__PURE__ */ import_react101.default.createElement(ThreeDActionButton, { type: "submit", disabled: isOrgSaveDisabled, isLoading: isSavingOrg, className: "min-w-32" }, "Save Changes"), hasOrgChanges && !isSavingOrg && canManage && /* @__PURE__ */ import_react101.default.createElement("button", { type: "button", onClick: () => {
7104
+ ))))))) : /* @__PURE__ */ import_react101.default.createElement(import_react101.default.Fragment, null, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-row items-center justify-between gap-4" }, /* @__PURE__ */ import_react101.default.createElement("h2", { className: "text-black text-xl tracking-tight" }, "Team Directory"), canManage && /* @__PURE__ */ import_react101.default.createElement("button", { onClick: () => setIsInviteMode(true), className: "shrink-0 px-4 py-1.5 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-stone-50 transition-colors outline-none" }, "Invite Team")), /* @__PURE__ */ import_react101.default.createElement("p", { className: "text-xs text-stone-500" }, "Manage members and access controls across your organization.")), /* @__PURE__ */ import_react101.default.createElement("div", { className: "w-full overflow-hidden" }, isMembersLoading || isTyping ? /* @__PURE__ */ import_react101.default.createElement(PageSpinner10, null) : /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col min-w-0 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react101.default.createElement("div", null, members.length === 0 ? /* @__PURE__ */ import_react101.default.createElement("p", { className: "text-xs text-stone-400 py-6 text-center" }, "No members found") : members.map((member) => /* @__PURE__ */ import_react101.default.createElement("div", { key: member.id, onClick: () => setExpandedId(member.id), className: "flex items-center justify-between py-3 hover:bg-stone-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react101.default.createElement(MemberAvatar5, { src: member.avatarUrl, status: member.status }), /* @__PURE__ */ import_react101.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-0.5" }, /* @__PURE__ */ import_react101.default.createElement("p", { className: "text-sm text-black truncate" }, member.fullName), /* @__PURE__ */ import_react101.default.createElement("p", { className: "text-xs text-stone-500 capitalize truncate" }, member.role.toLowerCase())))))), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ import_react101.default.createElement("span", { className: "text-xs text-stone-400 tracking-[0.2em]" }, "Page ", membersCurrentPage, " of ", membersTotalPages === 0 ? 1 : membersTotalPages), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react101.default.createElement("button", { onClick: () => onMembersPageChange(membersCurrentPage - 1), disabled: membersCurrentPage <= 1 || isMembersLoading, className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none" }, /* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.ArrowLeft01Icon, size: 14 })), /* @__PURE__ */ import_react101.default.createElement("button", { onClick: () => onMembersPageChange(membersCurrentPage + 1), disabled: membersCurrentPage >= membersTotalPages || isMembersLoading || membersTotalPages === 0, className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none" }, /* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.ArrowRight01Icon, size: 14 })))))))), /* @__PURE__ */ import_react101.default.createElement(ReusableOptions, { isOpen: !!roleEditTarget, onClose: () => setRoleEditTarget(null), title: "Modify Access Role", options: ["ADMIN", "MANAGER", "MEMBER"], selectedOption: roleEditTarget?.role || "", onSelect: handleRoleUpdate }), isInviteMode && /* @__PURE__ */ import_react101.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => !isInviting && setIsInviteMode(false) }), /* @__PURE__ */ import_react101.default.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ import_react101.default.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Add Member"), /* @__PURE__ */ import_react101.default.createElement("button", { onClick: () => !isInviting && setIsInviteMode(false), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react101.default.createElement("div", { className: "p-5" }, /* @__PURE__ */ import_react101.default.createElement("form", { onSubmit: handleInviteSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ import_react101.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Email Address"), /* @__PURE__ */ import_react101.default.createElement(
7105
+ "input",
7106
+ {
7107
+ type: "email",
7108
+ value: inviteEmail,
7109
+ onChange: (e) => setInviteEmail(cleanEmailId(e.target.value)),
7110
+ required: true,
7111
+ autoFocus: true,
7112
+ disabled: isInviting,
7113
+ className: "w-full px-2 py-3 bg-transparent text-sm border-b border-stone-200 text-black outline-none focus:border-black transition-all duration-300 disabled:opacity-50",
7114
+ placeholder: "name@company.com"
7115
+ }
7116
+ )), /* @__PURE__ */ import_react101.default.createElement("div", { className: "pt-2" }, /* @__PURE__ */ import_react101.default.createElement(ThreeDActionButton, { type: "submit", disabled: inviteEmail.length < 5 || isInviting, isLoading: isInviting, className: "w-full" }, "Send Invitation"))))))), activeTab === "ORGANIZATION" && isOrg && /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "relative group cursor-pointer shrink-0", onClick: () => canManage && !isSavingOrg ? orgFileInputRef.current?.click() : void 0 }, /* @__PURE__ */ import_react101.default.createElement(OrgAvatar4, { src: orgAvatarUrl, sizeClass: "w-14 h-14" }), canManage && /* @__PURE__ */ import_react101.default.createElement("div", { className: "absolute -bottom-1 -right-1 w-6 h-6 bg-white border border-stone-200 rounded-full flex items-center justify-center text-stone-500 group-hover:text-black transition-colors z-10" }, isUploadingOrgAvatar ? /* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.Loading03Icon, size: 12, className: "animate-spin" }) : /* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.CloudUploadIcon, size: 14 })), /* @__PURE__ */ import_react101.default.createElement("input", { type: "file", ref: orgFileInputRef, className: "hidden", accept: ".png, .jpg, .jpeg", onChange: (e) => handleFileSelect(e, "ORGANIZATION") })), /* @__PURE__ */ import_react101.default.createElement("div", null, /* @__PURE__ */ import_react101.default.createElement("h2", { className: "text-black text-xl mb-1 tracking-tight" }, "Workspace Details"), /* @__PURE__ */ import_react101.default.createElement("p", { className: "text-xs text-stone-500" }, "Manage your organizational identity and handles."))), !canManage && /* @__PURE__ */ import_react101.default.createElement("span", { className: "p-2 w-9 h-9 bg-stone-100 text-stone-400 rounded-full shrink-0" }, /* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.CircleLock02Icon, size: 18, className: "text-current" }))), /* @__PURE__ */ import_react101.default.createElement("form", { className: "flex flex-col gap-8 w-full max-w-5xl", onSubmit: handleSaveOrganization, autoComplete: "off" }, /* @__PURE__ */ import_react101.default.createElement(TextInput, { label: "Workspace Name", value: orgName, onChange: handleOrgNameChange, disabled: !canManage || isSavingOrg, placeholder: "Acme Corporation", maxLength: 50 }), /* @__PURE__ */ import_react101.default.createElement("div", { className: "space-y-1.5 relative w-full" }, /* @__PURE__ */ import_react101.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Workspace Handle"), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center relative w-full border-b border-stone-200 focus-within:border-black transition-all duration-300 overflow-hidden" }, /* @__PURE__ */ import_react101.default.createElement("input", { type: "text", value: orgSlug, disabled: !canManage || isSavingOrg, onChange: (e) => handleOrgSlugChange(e.target.value), spellCheck: "false", autoComplete: "off", className: "w-full pr-10 pl-0 py-3 text-sm bg-transparent text-black outline-none disabled:opacity-50 disabled:cursor-not-allowed", placeholder: "workspace-handle" }), /* @__PURE__ */ import_react101.default.createElement("div", { className: "absolute right-2 top-1/2 -translate-y-1/2" }, isCheckingSlug && /* @__PURE__ */ import_react101.default.createElement(InputSpinner4, null), !isCheckingSlug && canManage && orgSlug !== initialOrgSlug && orgSlug.length >= 3 && slugAvailable === false && /* @__PURE__ */ import_react101.default.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-[#d97757]/10" }, /* @__PURE__ */ import_react101.default.createElement("svg", { className: "w-2 h-2 text-[#d97757]", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ import_react101.default.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" }))), !isCheckingSlug && canManage && orgSlug !== initialOrgSlug && orgSlug.length >= 3 && slugAvailable === true && /* @__PURE__ */ import_react101.default.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-green-100" }, /* @__PURE__ */ import_react101.default.createElement("svg", { className: "w-2 h-2 text-green-600", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ import_react101.default.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M16.707 5.293a1 1 0 00-1.414 0L8 12.586 4.707 9.293a1 1 0 10-1.414 1.414l4 4a1 1 0 001.414 0l8-8a1 1 0 000-1.414z" })))))), /* @__PURE__ */ import_react101.default.createElement("div", { className: "pt-8 mt-2 flex items-center gap-4" }, /* @__PURE__ */ import_react101.default.createElement(ThreeDActionButton, { type: "submit", disabled: isOrgSaveDisabled, isLoading: isSavingOrg, className: "min-w-32" }, "Save Changes"), hasOrgChanges && !isSavingOrg && canManage && /* @__PURE__ */ import_react101.default.createElement("button", { type: "button", onClick: () => {
7108
7117
  setOrgName(initialOrgName || "");
7109
7118
  setOrgSlug(initialOrgSlug || "");
7110
7119
  setOrgAvatarUrl(initialOrgAvatarUrl || "");
@@ -7219,7 +7228,7 @@ AUDDITUR_SECRET_KEY="${secKey}"
7219
7228
  else handleGenerateKeys();
7220
7229
  },
7221
7230
  disabled: isGenerating,
7222
- className: "absolute right-2.5 bottom-2.5 w-7 h-7 rounded-lg border border-stone-200 bg-white flex items-center justify-center text-stone-500 hover:text-black hover:border-stone-300 transition-all outline-none shadow-sm disabled:opacity-50"
7231
+ className: "absolute right-2.5 bottom-2.5 w-7 h-7 rounded-lg border border-stone-200 bg-white flex items-center justify-center text-stone-500 hover:text-black hover:border-stone-300 transition-all outline-none disabled:opacity-50"
7223
7232
  },
7224
7233
  isGenerating ? /* @__PURE__ */ import_react103.default.createElement(import_react104.HugeiconsIcon, { icon: import_core_free_icons41.Loading03Icon, size: 14, className: "animate-spin" }) : /* @__PURE__ */ import_react103.default.createElement(import_react104.HugeiconsIcon, { icon: import_core_free_icons41.RefreshIcon, size: 14 })
7225
7234
  )), /* @__PURE__ */ import_react103.default.createElement("p", { className: "text-xs text-stone-500 mt-2 leading-relaxed" }, "Your public key is used to identify your application. Your secret key will only be shown once upon generation."))), /* @__PURE__ */ import_react103.default.createElement("form", { className: "flex flex-col gap-6 pt-8", onSubmit: handleSaveWebhook, autoComplete: "off" }, /* @__PURE__ */ import_react103.default.createElement("div", { className: "space-y-1.5 w-full" }, /* @__PURE__ */ import_react103.default.createElement(
@@ -7270,6 +7279,7 @@ var import_react105 = __toESM(require("react"));
7270
7279
  var import_react106 = require("@hugeicons/react");
7271
7280
  var import_core_free_icons42 = require("@hugeicons/core-free-icons");
7272
7281
  var UniversalApplicationPage2 = ({
7282
+ onBackHref = "/app",
7273
7283
  userRole = "MEMBER",
7274
7284
  applications,
7275
7285
  isLoading,
@@ -7303,7 +7313,7 @@ var UniversalApplicationPage2 = ({
7303
7313
  "REJECTED",
7304
7314
  "QUERIED"
7305
7315
  ];
7306
- return /* @__PURE__ */ import_react105.default.createElement("div", { className: "w-full max-w-4xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ import_react105.default.createElement("div", { className: "flex flex-col gap-1 mb-8 px-1" }, /* @__PURE__ */ import_react105.default.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ import_react105.default.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Applications Directory")), /* @__PURE__ */ import_react105.default.createElement("p", { className: "text-xs text-stone-500" }, "Search, filter, and track all your organizational applications.")), /* @__PURE__ */ import_react105.default.createElement("div", { className: "flex flex-row flex-nowrap mb-2 items-center justify-between gap-4 w-full px-1" }, /* @__PURE__ */ import_react105.default.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ import_react105.default.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ import_react105.default.createElement(import_react106.HugeiconsIcon, { icon: import_core_free_icons42.Search01Icon, size: 16, className: "text-stone-400" })), /* @__PURE__ */ import_react105.default.createElement(
7316
+ return /* @__PURE__ */ import_react105.default.createElement("div", { className: "w-full max-w-4xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ import_react105.default.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ import_react105.default.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#d97757] hover:text-[#d97757] transition-colors text-sm outline-none" }, /* @__PURE__ */ import_react105.default.createElement(import_react106.HugeiconsIcon, { icon: import_core_free_icons42.ArrowLeft01Icon, size: 16 }), " Back")), /* @__PURE__ */ import_react105.default.createElement("div", { className: "flex flex-col gap-1 mb-8 px-1" }, /* @__PURE__ */ import_react105.default.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ import_react105.default.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Applications Directory")), /* @__PURE__ */ import_react105.default.createElement("p", { className: "text-xs text-stone-500" }, "Search, filter, and track all your organizational applications.")), /* @__PURE__ */ import_react105.default.createElement("div", { className: "flex flex-row flex-nowrap mb-2 items-center justify-between gap-4 w-full px-1" }, /* @__PURE__ */ import_react105.default.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ import_react105.default.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ import_react105.default.createElement(import_react106.HugeiconsIcon, { icon: import_core_free_icons42.Search01Icon, size: 16, className: "text-stone-400" })), /* @__PURE__ */ import_react105.default.createElement(
7307
7317
  "input",
7308
7318
  {
7309
7319
  type: "text",
@@ -7355,7 +7365,7 @@ var import_react108 = require("@hugeicons/react");
7355
7365
  var import_core_free_icons43 = require("@hugeicons/core-free-icons");
7356
7366
  var formatType2 = (type) => type.split("_").map((w) => w[0] + w.slice(1).toLowerCase()).join(" ");
7357
7367
  var UniversalApplicationDetails = ({
7358
- onBackHref,
7368
+ onBackHref = "/app",
7359
7369
  application,
7360
7370
  canDelete,
7361
7371
  onDeleteSubmit
@@ -7401,7 +7411,7 @@ var MemberAvatar6 = ({ src, sizeClass = "w-10 h-10" }) => {
7401
7411
  return /* @__PURE__ */ import_react109.default.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ import_react109.default.createElement("div", { className: "w-full h-full rounded-lg bg-stone-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ import_react109.default.createElement(import_react110.HugeiconsIcon, { icon: import_core_free_icons44.Loading03Icon, className: "animate-spin text-stone-400 absolute", size: 14 }), /* @__PURE__ */ import_react109.default.createElement("img", { src: error || !src ? defaultAvatar : src, alt: "Avatar", className: `w-full h-full object-cover transition-opacity duration-300 ${loaded || error ? "opacity-100" : "opacity-0"}`, onLoad: () => setLoaded(true), onError: () => setError(true) })));
7402
7412
  };
7403
7413
  var UniversalCreateApplication = ({
7404
- onBackHref,
7414
+ onBackHref = "/app",
7405
7415
  userRole = "MEMBER",
7406
7416
  applicationTypesMeta = [],
7407
7417
  members,
package/dist/index.mjs CHANGED
@@ -540,7 +540,7 @@ var Footer = ({
540
540
  };
541
541
 
542
542
  // src/components/UniversalHuddleDetails.tsx
543
- import React11, { useState as useState7, useEffect as useEffect5, useRef as useRef3 } from "react";
543
+ import React11, { useState as useState7, useEffect as useEffect6, useRef as useRef3 } from "react";
544
544
  import { HugeiconsIcon as HugeiconsIcon7 } from "@hugeicons/react";
545
545
  import {
546
546
  ArrowLeft01Icon as ArrowLeft01Icon2,
@@ -589,7 +589,7 @@ var ManagedToaster = () => {
589
589
  };
590
590
 
591
591
  // src/components/ReusableOptions.tsx
592
- import React8, { useState as useState5 } from "react";
592
+ import React8, { useEffect as useEffect4, useState as useState5 } from "react";
593
593
  import { HugeiconsIcon as HugeiconsIcon4 } from "@hugeicons/react";
594
594
  import { CancelCircleIcon, Search01Icon } from "@hugeicons/core-free-icons";
595
595
  var ReusableOptions = ({
@@ -602,6 +602,10 @@ var ReusableOptions = ({
602
602
  showSearch = false
603
603
  }) => {
604
604
  const [searchQuery, setSearchQuery] = useState5("");
605
+ const [pendingOption, setPendingOption] = useState5(selectedOption);
606
+ useEffect4(() => {
607
+ if (isOpen) setPendingOption(selectedOption);
608
+ }, [isOpen, selectedOption]);
605
609
  if (!isOpen) return null;
606
610
  const filteredOptions = options.filter(
607
611
  (opt) => opt.toLowerCase().includes(searchQuery.toLowerCase())
@@ -616,20 +620,23 @@ var ReusableOptions = ({
616
620
  className: "w-full pl-10 pr-4 py-2.5 bg-stone-100 rounded-full text-sm text-black placeholder-stone-400 outline-none focus:bg-stone-50 transition-colors"
617
621
  }
618
622
  ))), /* @__PURE__ */ React8.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, filteredOptions.length === 0 ? /* @__PURE__ */ React8.createElement("div", { className: "p-6 text-center text-xs text-stone-400" }, "No options found.") : filteredOptions.map((opt) => {
619
- const isSelected = selectedOption === opt;
623
+ const isSelected = pendingOption === opt;
620
624
  return /* @__PURE__ */ React8.createElement(
621
625
  "button",
622
626
  {
623
627
  key: opt,
624
- onClick: () => onSelect(opt),
628
+ onClick: () => setPendingOption(opt),
625
629
  className: `w-full text-left p-4 text-xs tracking-tight rounded-full transition-colors outline-none ${isSelected ? "text-[#d97757] bg-[#d97757]/10" : "text-stone-600 hover:bg-stone-50/50"}`
626
630
  },
627
631
  opt.charAt(0).toUpperCase() + opt.slice(1).toLowerCase()
628
632
  );
629
- })), /* @__PURE__ */ React8.createElement("div", { className: "p-4 flex items-center justify-end shrink-0 bg-white " }, /* @__PURE__ */ React8.createElement(
633
+ })), /* @__PURE__ */ React8.createElement("div", { className: "p-4 flex items-center justify-center shrink-0 bg-white" }, /* @__PURE__ */ React8.createElement(
630
634
  "button",
631
635
  {
632
- onClick: onClose,
636
+ onClick: () => {
637
+ onSelect(pendingOption);
638
+ onClose();
639
+ },
633
640
  className: "text-[#d97757] outline-none text-sm tracking-wide hover:opacity-80 transition-opacity"
634
641
  },
635
642
  "Done"
@@ -637,7 +644,7 @@ var ReusableOptions = ({
637
644
  };
638
645
 
639
646
  // src/components/CalendarPicker.tsx
640
- import React9, { useState as useState6, useEffect as useEffect4 } from "react";
647
+ import React9, { useState as useState6, useEffect as useEffect5 } from "react";
641
648
  import { HugeiconsIcon as HugeiconsIcon5 } from "@hugeicons/react";
642
649
  import {
643
650
  CancelCircleIcon as CancelCircleIcon2,
@@ -666,7 +673,7 @@ var CalendarPicker = ({
666
673
  const [hour, setHour] = useState6(initialDate.getHours() % 12 || 12);
667
674
  const [minute, setMinute] = useState6(initialDate.getMinutes());
668
675
  const [ampm, setAmpm] = useState6(initialDate.getHours() >= 12 ? "PM" : "AM");
669
- useEffect4(() => {
676
+ useEffect5(() => {
670
677
  if (isOpen) {
671
678
  setMode(defaultMode);
672
679
  setViewMonth(initialDate.getMonth());
@@ -884,7 +891,7 @@ var UniversalHuddleDetails = ({
884
891
  const [showMembersModal, setShowMembersModal] = useState7(false);
885
892
  const [liveStatus, setLiveStatus] = useState7(huddle.status);
886
893
  const [timeRemaining, setTimeRemaining] = useState7("");
887
- useEffect5(() => {
894
+ useEffect6(() => {
888
895
  if (liveStatus !== "SCHEDULED") return;
889
896
  const interval = setInterval(() => {
890
897
  const now = (/* @__PURE__ */ new Date()).getTime();
@@ -1061,7 +1068,7 @@ var MobileNav = ({ items, hideMobileNav = false }) => {
1061
1068
  };
1062
1069
 
1063
1070
  // src/components/UniversalOrganizationPage.tsx
1064
- import React15, { useState as useState10, useEffect as useEffect6 } from "react";
1071
+ import React15, { useState as useState10, useEffect as useEffect7 } from "react";
1065
1072
  import toast2 from "react-hot-toast";
1066
1073
 
1067
1074
  // src/components/TextInput.tsx
@@ -1204,7 +1211,7 @@ var UniversalOrganizationPage = ({
1204
1211
  const [isCheckingSlug, setIsCheckingSlug] = useState10(false);
1205
1212
  const [slugAvailable, setSlugAvailable] = useState10(null);
1206
1213
  const [isSubmitting, setIsSubmitting] = useState10(false);
1207
- useEffect6(() => {
1214
+ useEffect7(() => {
1208
1215
  setWeb3Name(initialOrgName || "");
1209
1216
  setSlug(initialSlug || "");
1210
1217
  setUsername(initialUsername || initialSlug || "");
@@ -1218,7 +1225,7 @@ var UniversalOrganizationPage = ({
1218
1225
  const handleSlugChange = (val) => {
1219
1226
  setSlug(val.toLowerCase().replace(/[^a-z0-9-]/g, "").replace(/-+/g, "-").substring(0, 50));
1220
1227
  };
1221
- useEffect6(() => {
1228
+ useEffect7(() => {
1222
1229
  if (!slug || slug === initialSlug) {
1223
1230
  setSlugAvailable(null);
1224
1231
  setIsCheckingSlug(false);
@@ -1338,7 +1345,7 @@ var UniversalOrganizationPage = ({
1338
1345
  };
1339
1346
 
1340
1347
  // src/components/UniversalProfileSettings.tsx
1341
- import React16, { useState as useState11, useEffect as useEffect7 } from "react";
1348
+ import React16, { useState as useState11, useEffect as useEffect8 } from "react";
1342
1349
  import toast3 from "react-hot-toast";
1343
1350
  import { HugeiconsIcon as HugeiconsIcon11 } from "@hugeicons/react";
1344
1351
  import {
@@ -1373,7 +1380,7 @@ var UniversalProfileSettings = ({
1373
1380
  const [newPasscode, setNewPasscode] = useState11("");
1374
1381
  const [confirmPasscode, setConfirmPasscode] = useState11("");
1375
1382
  const [isPasscodeSubmitting, setIsPasscodeSubmitting] = useState11(false);
1376
- useEffect7(() => {
1383
+ useEffect8(() => {
1377
1384
  setFirstName(initialFirstName || "");
1378
1385
  setLastName(initialLastName || "");
1379
1386
  }, [initialFirstName, initialLastName]);
@@ -1636,7 +1643,7 @@ var UniversalErrorView = ({
1636
1643
  };
1637
1644
 
1638
1645
  // src/components/UniversalTransactionPage.tsx
1639
- import React19, { useState as useState12, useEffect as useEffect8, useRef as useRef4 } from "react";
1646
+ import React19, { useState as useState12, useEffect as useEffect9, useRef as useRef4 } from "react";
1640
1647
  import { HugeiconsIcon as HugeiconsIcon14 } from "@hugeicons/react";
1641
1648
  import toast4 from "react-hot-toast";
1642
1649
  import {
@@ -1706,7 +1713,7 @@ var UniversalTransactionPage = ({
1706
1713
  const [isTypeModalOpen, setIsTypeModalOpen] = useState12(false);
1707
1714
  const directionDropdownRef = useRef4(null);
1708
1715
  const typeDropdownRef = useRef4(null);
1709
- useEffect8(() => {
1716
+ useEffect9(() => {
1710
1717
  function handleClickOutside(event) {
1711
1718
  if (directionDropdownRef.current && !directionDropdownRef.current.contains(event.target)) {
1712
1719
  setIsDirectionModalOpen(false);
@@ -1718,7 +1725,7 @@ var UniversalTransactionPage = ({
1718
1725
  document.addEventListener("mousedown", handleClickOutside);
1719
1726
  return () => document.removeEventListener("mousedown", handleClickOutside);
1720
1727
  }, []);
1721
- useEffect8(() => {
1728
+ useEffect9(() => {
1722
1729
  setIsTyping(true);
1723
1730
  const handler = setTimeout(() => {
1724
1731
  onSearchChange(localSearchQuery);
@@ -1726,7 +1733,7 @@ var UniversalTransactionPage = ({
1726
1733
  }, 600);
1727
1734
  return () => clearTimeout(handler);
1728
1735
  }, [localSearchQuery, onSearchChange]);
1729
- useEffect8(() => {
1736
+ useEffect9(() => {
1730
1737
  if (searchQuery === "" && localSearchQuery !== "") {
1731
1738
  setLocalSearchQuery("");
1732
1739
  }
@@ -2235,7 +2242,7 @@ var UniversalWalletPage = ({
2235
2242
  };
2236
2243
 
2237
2244
  // src/components/UniversalCardPage.tsx
2238
- import React22, { useState as useState15, useEffect as useEffect9 } from "react";
2245
+ import React22, { useState as useState15, useEffect as useEffect10 } from "react";
2239
2246
  import { useRouter as useRouter2 } from "next/navigation";
2240
2247
  import toast6 from "react-hot-toast";
2241
2248
  import { HugeiconsIcon as HugeiconsIcon17 } from "@hugeicons/react";
@@ -2271,7 +2278,7 @@ var UniversalCardPage = ({
2271
2278
  const [isFreezing, setIsFreezing] = useState15(false);
2272
2279
  const [showDeleteDialog, setShowDeleteDialog] = useState15(false);
2273
2280
  const [isDeleting, setIsDeleting] = useState15(false);
2274
- useEffect9(() => {
2281
+ useEffect10(() => {
2275
2282
  setIsBgLoaded(false);
2276
2283
  if (!activeCard?.cardBgSrc) return;
2277
2284
  const img = new Image();
@@ -2412,7 +2419,7 @@ var CardInfoDialog = ({ isOpen, onClose, cardDetails }) => {
2412
2419
  var FundCardDialog = ({ isOpen, onClose, onSubmit }) => {
2413
2420
  const [amount, setAmount] = useState15("");
2414
2421
  const [isProcessing, setIsProcessing] = useState15(false);
2415
- useEffect9(() => {
2422
+ useEffect10(() => {
2416
2423
  if (isOpen) {
2417
2424
  setAmount("");
2418
2425
  }
@@ -2692,7 +2699,7 @@ var UniversalSidebar = ({
2692
2699
  };
2693
2700
 
2694
2701
  // src/components/HeroSection.tsx
2695
- import React26, { useState as useState19, useEffect as useEffect10, useRef as useRef5 } from "react";
2702
+ import React26, { useState as useState19, useEffect as useEffect11, useRef as useRef5 } from "react";
2696
2703
  import Link6 from "next/link";
2697
2704
  import Image3 from "next/image";
2698
2705
 
@@ -2807,7 +2814,7 @@ var HeroSection = ({
2807
2814
  const [isAnimating, setIsAnimating] = useState19(false);
2808
2815
  const [isWaitlistOpen, setIsWaitlistOpen] = useState19(false);
2809
2816
  const titleRef = useRef5(null);
2810
- useEffect10(() => {
2817
+ useEffect11(() => {
2811
2818
  const observer = new IntersectionObserver(
2812
2819
  ([entry]) => {
2813
2820
  if (entry.isIntersecting) {
@@ -2864,7 +2871,7 @@ var HeroSection = ({
2864
2871
  className: "leading-[0.85] tracking-[-0.07em] text-[18.2vw] sm:text-[16.8vw] md:text-[15.4vw] lg:text-[14vw] xl:text-[13.3vw] 2xl:text-[14vw] text-[#ffffff]"
2865
2872
  },
2866
2873
  /* @__PURE__ */ React26.createElement("div", { className: "inline-flex flex-wrap" }, /* @__PURE__ */ React26.createElement("span", { className: `inline-block relative transition-all duration-1000 ${isAnimating ? "opacity-100 translate-y-0" : "opacity-0 translate-y-10"}` }, titlePrefix, titlePrefix && /* @__PURE__ */ React26.createElement("br", null), highlightText, /* @__PURE__ */ React26.createElement("span", { className: "absolute top-[0.65em] right-[-0.3em] text-[0.31em] text-[#ffffff]/70" }, "*")))
2867
- )), /* @__PURE__ */ React26.createElement("div", { className: "col-span-12 flex flex-col gap-5 pb-6 lg:col-span-4 lg:pb-10" }, subtitle && /* @__PURE__ */ React26.createElement("p", { className: "text-xs text-[#ffffff]/70 sm:text-sm md:text-xs leading-[1.2] max-w-md transition-opacity duration-1000 delay-300" }, subtitle), /* @__PURE__ */ React26.createElement("div", { className: "flex flex-col sm:flex-row items-start sm:items-center gap-4" }, ctaText && /* @__PURE__ */ React26.createElement(
2874
+ )), /* @__PURE__ */ React26.createElement("div", { className: "col-span-12 flex flex-col gap-5 pb-6 lg:col-span-4 lg:pb-10" }, subtitle && /* @__PURE__ */ React26.createElement("p", { className: "text-sm text-[#ffffff]/70 sm:text-sm md:text-xs leading-[1.2] max-w-md transition-opacity duration-1000 delay-300" }, subtitle), /* @__PURE__ */ React26.createElement("div", { className: "flex flex-col sm:flex-row items-start sm:items-center gap-4" }, ctaText && /* @__PURE__ */ React26.createElement(
2868
2875
  Link6,
2869
2876
  {
2870
2877
  href: isWaitlist ? "#" : ctaHref || "#",
@@ -2900,12 +2907,12 @@ var HeroSection = ({
2900
2907
  };
2901
2908
 
2902
2909
  // src/components/AppBento2.tsx
2903
- import React27, { useState as useState20, useEffect as useEffect11, useRef as useRef6 } from "react";
2910
+ import React27, { useState as useState20, useEffect as useEffect12, useRef as useRef6 } from "react";
2904
2911
  import { HugeiconsIcon as HugeiconsIcon20 } from "@hugeicons/react";
2905
2912
  var AppBento2 = ({ tagline, headline, features }) => {
2906
2913
  const [isAnimating, setIsAnimating] = useState20(false);
2907
2914
  const titleRef = useRef6(null);
2908
- useEffect11(() => {
2915
+ useEffect12(() => {
2909
2916
  const observer = new IntersectionObserver(
2910
2917
  ([entry]) => {
2911
2918
  if (entry.isIntersecting) {
@@ -3181,7 +3188,7 @@ var MenuRow3 = ({
3181
3188
  );
3182
3189
 
3183
3190
  // src/components/FeatureScroll.tsx
3184
- import React29, { useRef as useRef7, useState as useState22, useEffect as useEffect12 } from "react";
3191
+ import React29, { useRef as useRef7, useState as useState22, useEffect as useEffect13 } from "react";
3185
3192
  import Image4 from "next/image";
3186
3193
  import { HugeiconsIcon as HugeiconsIcon22 } from "@hugeicons/react";
3187
3194
  import { ArrowLeft01Icon as ArrowLeft01Icon9, ArrowRight01Icon as ArrowRight01Icon8, Loading03Icon as Loading03Icon13 } from "@hugeicons/core-free-icons";
@@ -3246,7 +3253,7 @@ var FeatureScroll = ({ tagline, headline, features, expand = false }) => {
3246
3253
  setCanScrollRight(scrollLeft < scrollWidth - clientWidth - 2);
3247
3254
  }
3248
3255
  };
3249
- useEffect12(() => {
3256
+ useEffect13(() => {
3250
3257
  checkScroll();
3251
3258
  window.addEventListener("resize", checkScroll);
3252
3259
  return () => window.removeEventListener("resize", checkScroll);
@@ -3338,7 +3345,7 @@ var PlatformFeatures = ({
3338
3345
  };
3339
3346
 
3340
3347
  // src/components/ManagedDocument.tsx
3341
- import React31, { useState as useState23, useEffect as useEffect13, useRef as useRef8 } from "react";
3348
+ import React31, { useState as useState23, useEffect as useEffect14, useRef as useRef8 } from "react";
3342
3349
  var ManagedDocument = ({
3343
3350
  tagline,
3344
3351
  title,
@@ -3348,7 +3355,7 @@ var ManagedDocument = ({
3348
3355
  }) => {
3349
3356
  const [isAnimating, setIsAnimating] = useState23(false);
3350
3357
  const titleRef = useRef8(null);
3351
- useEffect13(() => {
3358
+ useEffect14(() => {
3352
3359
  const observer = new IntersectionObserver(
3353
3360
  ([entry]) => {
3354
3361
  if (entry.isIntersecting) {
@@ -3584,7 +3591,7 @@ var ManagedContactBlock = ({
3584
3591
  };
3585
3592
 
3586
3593
  // src/components/ManagedPricingBlock.tsx
3587
- import React33, { useState as useState25, useEffect as useEffect14, useRef as useRef9 } from "react";
3594
+ import React33, { useState as useState25, useEffect as useEffect15, useRef as useRef9 } from "react";
3588
3595
  import Link7 from "next/link";
3589
3596
  import Image5 from "next/image";
3590
3597
  var CheckIcon = ({ className = "" }) => /* @__PURE__ */ React33.createElement("svg", { viewBox: "0 0 24 24", fill: "none", className: `w-4 h-4 shrink-0 ${className}`, xmlns: "http://www.w3.org/2000/svg" }, /* @__PURE__ */ React33.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "black" }), /* @__PURE__ */ React33.createElement("path", { d: "M8 12L11 15L16 9", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
@@ -3598,7 +3605,7 @@ var ManagedPricingBlock = ({
3598
3605
  const [isAnimating, setIsAnimating] = useState25(false);
3599
3606
  const [activeTabIndex, setActiveTabIndex] = useState25(0);
3600
3607
  const titleRef = useRef9(null);
3601
- useEffect14(() => {
3608
+ useEffect15(() => {
3602
3609
  const observer = new IntersectionObserver(
3603
3610
  ([entry]) => {
3604
3611
  if (entry.isIntersecting) {
@@ -3813,12 +3820,12 @@ var ManagedNewsletterSplitBlock = ({
3813
3820
  };
3814
3821
 
3815
3822
  // src/components/PortfolioHero.tsx
3816
- import React37, { useEffect as useEffect15, useRef as useRef10 } from "react";
3823
+ import React37, { useEffect as useEffect16, useRef as useRef10 } from "react";
3817
3824
  import Link8 from "next/link";
3818
3825
  import Image8 from "next/image";
3819
3826
  var useScrollAnimation = () => {
3820
3827
  const elementRef = useRef10(null);
3821
- useEffect15(() => {
3828
+ useEffect16(() => {
3822
3829
  const el = elementRef.current;
3823
3830
  if (!el) return;
3824
3831
  const observer = new IntersectionObserver(
@@ -3860,7 +3867,7 @@ var PortfolioHero = ({
3860
3867
  ref: heroContentRef,
3861
3868
  className: "w-full opacity-0 translate-y-5 transition-all duration-1000 ease-out relative z-10"
3862
3869
  },
3863
- /* @__PURE__ */ React37.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center gap-5 sm:gap-8 mb-10" }, /* @__PURE__ */ React37.createElement("div", { className: "relative w-22 h-22 rounded-full overflow-hidden border border-stone-200 shrink-0" }, /* @__PURE__ */ React37.createElement(
3870
+ /* @__PURE__ */ React37.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center gap-5 sm:gap-8 mb-10" }, /* @__PURE__ */ React37.createElement("div", { className: "relative w-22 h-22 rounded-2xl overflow-hidden border border-stone-200 shrink-0" }, /* @__PURE__ */ React37.createElement(
3864
3871
  Image8,
3865
3872
  {
3866
3873
  src: imageSrc,
@@ -3945,7 +3952,7 @@ var GifFeatureCard = ({
3945
3952
  };
3946
3953
 
3947
3954
  // src/components/MedicalFeatureStatsBlock.tsx
3948
- import React39, { useState as useState27, useEffect as useEffect16, useRef as useRef11 } from "react";
3955
+ import React39, { useState as useState27, useEffect as useEffect17, useRef as useRef11 } from "react";
3949
3956
  import Image10 from "next/image";
3950
3957
  var MedicalFeatureStatsBlock = ({
3951
3958
  bottomHeadline,
@@ -3956,7 +3963,7 @@ var MedicalFeatureStatsBlock = ({
3956
3963
  }) => {
3957
3964
  const [isAnimating, setIsAnimating] = useState27(false);
3958
3965
  const titleRef = useRef11(null);
3959
- useEffect16(() => {
3966
+ useEffect17(() => {
3960
3967
  const observer = new IntersectionObserver(
3961
3968
  ([entry]) => {
3962
3969
  if (entry.isIntersecting) {
@@ -4679,7 +4686,7 @@ var UniversalCardActionPage = ({
4679
4686
  };
4680
4687
 
4681
4688
  // src/components/PinDialerBottomSheet.tsx
4682
- import React47, { useState as useState33, useEffect as useEffect17 } from "react";
4689
+ import React47, { useState as useState33, useEffect as useEffect18 } from "react";
4683
4690
  import { HugeiconsIcon as HugeiconsIcon33 } from "@hugeicons/react";
4684
4691
  import { CancelCircleIcon as CancelCircleIcon12 } from "@hugeicons/core-free-icons";
4685
4692
  var PinDialerBottomSheet = ({
@@ -4690,7 +4697,7 @@ var PinDialerBottomSheet = ({
4690
4697
  onComplete
4691
4698
  }) => {
4692
4699
  const [pin, setPin] = useState33("");
4693
- useEffect17(() => {
4700
+ useEffect18(() => {
4694
4701
  setPin("");
4695
4702
  }, [isOpen]);
4696
4703
  const handleSubmit = (e) => {
@@ -4741,7 +4748,7 @@ var PinDialerBottomSheet = ({
4741
4748
  };
4742
4749
 
4743
4750
  // src/components/UniversalBuyCryptoPage.tsx
4744
- import React48, { useState as useState34, useEffect as useEffect18, useRef as useRef12, useCallback } from "react";
4751
+ import React48, { useState as useState34, useEffect as useEffect19, useRef as useRef12, useCallback } from "react";
4745
4752
  import toast12 from "react-hot-toast";
4746
4753
  import { HugeiconsIcon as HugeiconsIcon34 } from "@hugeicons/react";
4747
4754
  import {
@@ -4826,7 +4833,7 @@ var UniversalBuyCryptoPage = ({
4826
4833
  const [isNetworkDialogOpen, setIsNetworkDialogOpen] = useState34(false);
4827
4834
  const [isSubmitting, setIsSubmitting] = useState34(false);
4828
4835
  const debounceTimerRef = useRef12(null);
4829
- useEffect18(() => {
4836
+ useEffect19(() => {
4830
4837
  if (selectedCrypto?.networks?.length > 0) {
4831
4838
  const exists = selectedCrypto.networks.find((n) => n.id === selectedNetwork.id);
4832
4839
  if (!exists) {
@@ -4834,7 +4841,7 @@ var UniversalBuyCryptoPage = ({
4834
4841
  }
4835
4842
  }
4836
4843
  }, [selectedCrypto]);
4837
- useEffect18(() => {
4844
+ useEffect19(() => {
4838
4845
  if (!recipientAddress.trim()) {
4839
4846
  setIsAddressValid(false);
4840
4847
  return;
@@ -5104,7 +5111,7 @@ var UniversalHuddlesPage = ({
5104
5111
  };
5105
5112
 
5106
5113
  // src/components/UniversalMembersPage.tsx
5107
- import React50, { useState as useState35, useEffect as useEffect19, useRef as useRef13 } from "react";
5114
+ import React50, { useState as useState35, useEffect as useEffect20, useRef as useRef13 } from "react";
5108
5115
  import { HugeiconsIcon as HugeiconsIcon36 } from "@hugeicons/react";
5109
5116
  import toast13 from "react-hot-toast";
5110
5117
  import {
@@ -5178,7 +5185,7 @@ var UniversalMembersPage = ({
5178
5185
  const statusDropdownRef = useRef13(null);
5179
5186
  const roleDropdownRef = useRef13(null);
5180
5187
  const cleanEmailId = (val) => val.toLowerCase().replace(/[^a-z0-9@._-]/g, "");
5181
- useEffect19(() => {
5188
+ useEffect20(() => {
5182
5189
  function handleClickOutside(event) {
5183
5190
  if (statusDropdownRef.current && !statusDropdownRef.current.contains(event.target)) {
5184
5191
  setIsStatusModalOpen(false);
@@ -5190,7 +5197,7 @@ var UniversalMembersPage = ({
5190
5197
  document.addEventListener("mousedown", handleClickOutside);
5191
5198
  return () => document.removeEventListener("mousedown", handleClickOutside);
5192
5199
  }, []);
5193
- useEffect19(() => {
5200
+ useEffect20(() => {
5194
5201
  setIsTyping(true);
5195
5202
  const handler = setTimeout(() => {
5196
5203
  onSearchChange(localSearchQuery);
@@ -5198,7 +5205,7 @@ var UniversalMembersPage = ({
5198
5205
  }, 600);
5199
5206
  return () => clearTimeout(handler);
5200
5207
  }, [localSearchQuery, onSearchChange]);
5201
- useEffect19(() => {
5208
+ useEffect20(() => {
5202
5209
  if (searchQuery === "" && localSearchQuery !== "") {
5203
5210
  setLocalSearchQuery("");
5204
5211
  }
@@ -5598,7 +5605,7 @@ var UniversalHome2 = ({
5598
5605
  };
5599
5606
 
5600
5607
  // src/components/UniversalSettings.tsx
5601
- import React52, { useState as useState37, useEffect as useEffect20, useRef as useRef14 } from "react";
5608
+ import React52, { useState as useState37, useEffect as useEffect21, useRef as useRef14 } from "react";
5602
5609
  import toast15 from "react-hot-toast";
5603
5610
  import { HugeiconsIcon as HugeiconsIcon38 } from "@hugeicons/react";
5604
5611
  import {
@@ -5728,7 +5735,7 @@ var UniversalSettings = ({
5728
5735
  const [pendingUserAvatar, setPendingUserAvatar] = useState37(null);
5729
5736
  const [isUploadingOrgAvatar, setIsUploadingOrgAvatar] = useState37(false);
5730
5737
  const [isUploadingUserAvatar, setIsUploadingUserAvatar] = useState37(false);
5731
- useEffect20(() => {
5738
+ useEffect21(() => {
5732
5739
  setOrgName(initialOrgName || "");
5733
5740
  setOrgSlug(initialOrgSlug || "");
5734
5741
  setOrgAvatarUrl(initialOrgAvatarUrl || "");
@@ -5763,7 +5770,7 @@ var UniversalSettings = ({
5763
5770
  }
5764
5771
  e.target.value = "";
5765
5772
  };
5766
- useEffect20(() => {
5773
+ useEffect21(() => {
5767
5774
  if (activeTab !== "MEMBERS") return;
5768
5775
  if (isFirstSearchMount.current) {
5769
5776
  isFirstSearchMount.current = false;
@@ -5820,7 +5827,7 @@ var UniversalSettings = ({
5820
5827
  }
5821
5828
  };
5822
5829
  const activeExpandedMember = expandedId ? members.find((m) => m.id === expandedId) : null;
5823
- useEffect20(() => {
5830
+ useEffect21(() => {
5824
5831
  if (!isOrg || !orgSlug || orgSlug === initialOrgSlug) {
5825
5832
  setSlugAvailable(null);
5826
5833
  setIsCheckingSlug(false);
@@ -5974,7 +5981,7 @@ var UniversalSettings = ({
5974
5981
  };
5975
5982
 
5976
5983
  // src/components/UniversalCreateHuddle.tsx
5977
- import React53, { useState as useState38, useEffect as useEffect21, useRef as useRef15 } from "react";
5984
+ import React53, { useState as useState38, useEffect as useEffect22, useRef as useRef15 } from "react";
5978
5985
  import toast16 from "react-hot-toast";
5979
5986
  import { HugeiconsIcon as HugeiconsIcon39 } from "@hugeicons/react";
5980
5987
  import {
@@ -6041,7 +6048,7 @@ var UniversalCreateHuddle = ({
6041
6048
  const [title, setTitle] = useState38("");
6042
6049
  const [isPrivate, setIsPrivate] = useState38(false);
6043
6050
  const [timezone, setTimezone] = useState38("UTC");
6044
- useEffect21(() => {
6051
+ useEffect22(() => {
6045
6052
  try {
6046
6053
  setTimezone(Intl.DateTimeFormat().resolvedOptions().timeZone);
6047
6054
  } catch (e) {
@@ -6214,7 +6221,7 @@ var UniversalCreateHuddle = ({
6214
6221
  };
6215
6222
 
6216
6223
  // src/components/HomeHuddleCalendar.tsx
6217
- import React54, { useState as useState39, useRef as useRef16, useEffect as useEffect22 } from "react";
6224
+ import React54, { useState as useState39, useRef as useRef16, useEffect as useEffect23 } from "react";
6218
6225
  import { useRouter as useRouter4 } from "next/navigation";
6219
6226
  import { HugeiconsIcon as HugeiconsIcon40 } from "@hugeicons/react";
6220
6227
  import {
@@ -6268,7 +6275,7 @@ var HomeHuddleCalendar = ({
6268
6275
  const [isStatusModalOpen, setIsStatusModalOpen] = useState39(false);
6269
6276
  const typingTimer = useRef16(null);
6270
6277
  const isSearching = localSearch.trim().length > 0;
6271
- useEffect22(() => {
6278
+ useEffect23(() => {
6272
6279
  setLocalSearch(searchQuery);
6273
6280
  }, [searchQuery]);
6274
6281
  const handleSearchInput = (e) => {
@@ -6646,7 +6653,7 @@ var UniversalHome3 = ({
6646
6653
  },
6647
6654
  /* @__PURE__ */ React56.createElement(HugeiconsIcon42, { icon: Logout01Icon2, size: 15 }),
6648
6655
  "Log Out"
6649
- )))), showNotifDialog && /* @__PURE__ */ React56.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React56.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ React56.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[80vh] h-auto" }, /* @__PURE__ */ React56.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, selectedNotif ? /* @__PURE__ */ React56.createElement("button", { onClick: () => setSelectedNotif(null), disabled: isResolving, className: "text-[#d97757] hover:text-[#d97757] transition-colors outline-none flex items-center gap-2 text-xs tracking-widest disabled:opacity-50" }, /* @__PURE__ */ React56.createElement(HugeiconsIcon42, { icon: ArrowLeft01Icon22, size: 14 }), " Back") : /* @__PURE__ */ React56.createElement("h3", { className: "text-sm text-black tracking-tight flex items-center gap-2" }, "Notifications"), /* @__PURE__ */ React56.createElement("button", { onClick: () => setShowNotifDialog(false), disabled: isResolving, className: "text-stone-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React56.createElement(HugeiconsIcon42, { icon: CancelCircleIcon14, size: 18 }))), /* @__PURE__ */ React56.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2 relative" }, isNotifsLoading && !selectedNotif && /* @__PURE__ */ React56.createElement("div", { className: "absolute inset-0 z-10 flex items-center justify-center" }, /* @__PURE__ */ React56.createElement(HugeiconsIcon42, { icon: Loading03Icon30, size: 28, className: "animate-spin text-black" })), selectedNotif ? /* @__PURE__ */ React56.createElement("div", { className: "p-4 text-left" }, selectedNotif.type === "HUDDLE_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && selectedNotif.meta_json?.completed ? /* @__PURE__ */ React56.createElement("div", { className: "" }) : /* @__PURE__ */ React56.createElement("h4", { className: "text-sm text-black mb-1" }, selectedNotif.title), /* @__PURE__ */ React56.createElement("span", { className: "text-xs text-stone-400 tracking-widest mb-4 block" }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ React56.createElement("p", { className: "text-xs text-stone-600 leading-relaxed whitespace-pre-wrap" }, selectedNotif.message), selectedNotif.type === "HUDDLE_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && /* @__PURE__ */ React56.createElement("div", { className: `mt-8 flex gap-3 pt-6 ${selectedNotif.meta_json?.completed ? "opacity-40 pointer-events-none cursor-not-allowed" : ""}` }, /* @__PURE__ */ React56.createElement(
6656
+ )))), showNotifDialog && /* @__PURE__ */ React56.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React56.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ React56.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[80vh] h-auto" }, /* @__PURE__ */ React56.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, selectedNotif ? /* @__PURE__ */ React56.createElement("button", { onClick: () => setSelectedNotif(null), disabled: isResolving, className: "text-[#d97757] hover:text-[#d97757] transition-colors outline-none flex items-center gap-2 text-xs tracking-widest disabled:opacity-50" }, /* @__PURE__ */ React56.createElement(HugeiconsIcon42, { icon: ArrowLeft01Icon22, size: 14 }), " Back") : /* @__PURE__ */ React56.createElement("h3", { className: "text-sm text-black tracking-tight flex items-center gap-2" }, "Notifications"), /* @__PURE__ */ React56.createElement("button", { onClick: () => setShowNotifDialog(false), disabled: isResolving, className: "text-stone-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React56.createElement(HugeiconsIcon42, { icon: CancelCircleIcon14, size: 18 }))), /* @__PURE__ */ React56.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2 relative" }, isNotifsLoading && !selectedNotif && /* @__PURE__ */ React56.createElement("div", { className: "absolute inset-0 z-10 flex items-center justify-center" }, /* @__PURE__ */ React56.createElement(HugeiconsIcon42, { icon: Loading03Icon30, size: 28, className: "animate-spin text-black" })), selectedNotif ? /* @__PURE__ */ React56.createElement("div", { className: "p-4 text-left" }, selectedNotif.type === "ORG_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && selectedNotif.meta_json?.completed ? /* @__PURE__ */ React56.createElement("div", { className: "" }) : /* @__PURE__ */ React56.createElement("h4", { className: "text-sm text-black mb-1" }, selectedNotif.title), /* @__PURE__ */ React56.createElement("span", { className: "text-xs text-stone-400 tracking-widest mb-4 block" }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ React56.createElement("p", { className: "text-xs text-stone-600 leading-relaxed whitespace-pre-wrap" }, selectedNotif.message), selectedNotif.type === "ORG_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && /* @__PURE__ */ React56.createElement("div", { className: `mt-8 flex gap-3 pt-6 ${selectedNotif.meta_json?.completed ? "opacity-40 pointer-events-none cursor-not-allowed" : ""}` }, /* @__PURE__ */ React56.createElement(
6650
6657
  "button",
6651
6658
  {
6652
6659
  onClick: () => handleResolve("ACCEPTED"),
@@ -6770,9 +6777,9 @@ function RootSidebar({
6770
6777
  ), /* @__PURE__ */ React57.createElement(
6771
6778
  "div",
6772
6779
  {
6773
- className: `md:hidden fixed bottom-0 left-0 right-0 bg-white rounded-t-3xl z-50 flex flex-col overflow-hidden transition-transform duration-300 ease-[cubic-bezier(0.32,0.72,0,1)] ${isSheetOpen ? "translate-y-0" : "translate-y-full"}`
6780
+ className: `md:hidden fixed bottom-0 left-0 right-0 bg-white z-50 flex flex-col overflow-hidden transition-transform duration-300 ease-[cubic-bezier(0.32,0.72,0,1)] ${isSheetOpen ? "translate-y-0" : "translate-y-full"}`
6774
6781
  },
6775
- /* @__PURE__ */ React57.createElement("div", { className: "w-full flex justify-center py-4 shrink-0", onClick: () => setIsSheetOpen(false) }, /* @__PURE__ */ React57.createElement("div", { className: "w-12 h-1.5 bg-stone-200 rounded-full" })),
6782
+ /* @__PURE__ */ React57.createElement("div", { className: "w-full flex justify-center py-4 shrink-0", onClick: () => setIsSheetOpen(false) }),
6776
6783
  /* @__PURE__ */ React57.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar px-4 pb-8 flex flex-col gap-2 max-h-[70vh]" }, NavItem2s.map((item, index) => {
6777
6784
  const isExactOrSubMatch = item.path === "/" || item.path === "/app" ? currentPath === "/" || currentPath === "/app" : currentPath === item.path || currentPath?.startsWith(`${item.path}/`);
6778
6785
  const isCurrentRoute = isExactOrSubMatch || !hasActiveMatch && index === 0;
@@ -6785,14 +6792,14 @@ function RootSidebar({
6785
6792
  if (onNavClick) onNavClick(e, item.path);
6786
6793
  setIsSheetOpen(false);
6787
6794
  },
6788
- className: `flex items-center gap-4 px-5 py-3 rounded-full transition-colors outline-none ${isCurrentRoute ? "bg-[#fff5f2] text-[#d97757]" : "text-stone-600 hover:bg-stone-50"}`
6795
+ className: `flex items-center gap-4 px-5 py-3 rounded-full transition-colors outline-none ${isCurrentRoute ? "bg-stone-100 text-stone-900" : "text-stone-600 hover:bg-stone-50"}`
6789
6796
  },
6790
6797
  /* @__PURE__ */ React57.createElement(
6791
6798
  HugeiconsIcon43,
6792
6799
  {
6793
6800
  icon: item.icon,
6794
6801
  size: 18,
6795
- className: isCurrentRoute ? "text-[#d97757]" : "text-stone-400"
6802
+ className: isCurrentRoute ? "text-stone-900" : "text-stone-400"
6796
6803
  }
6797
6804
  ),
6798
6805
  /* @__PURE__ */ React57.createElement("span", { className: "text-xs tracking-wide" }, item.name)
@@ -6825,7 +6832,7 @@ function RootSidebar({
6825
6832
  }
6826
6833
 
6827
6834
  // src/components/UniversalSettings2.tsx
6828
- import React58, { useState as useState42, useEffect as useEffect23, useRef as useRef17 } from "react";
6835
+ import React58, { useState as useState42, useEffect as useEffect24, useRef as useRef17 } from "react";
6829
6836
  import toast18 from "react-hot-toast";
6830
6837
  import { HugeiconsIcon as HugeiconsIcon44 } from "@hugeicons/react";
6831
6838
  import {
@@ -6833,6 +6840,7 @@ import {
6833
6840
  ArrowRight01Icon as ArrowRight01Icon18,
6834
6841
  Loading03Icon as Loading03Icon31,
6835
6842
  CircleLock02Icon as CircleLock02Icon5,
6843
+ CancelCircleIcon as CancelCircleIcon15,
6836
6844
  CloudUploadIcon as CloudUploadIcon2
6837
6845
  } from "@hugeicons/core-free-icons";
6838
6846
  var MemberAvatar5 = ({ src, status, sizeClass = "w-10 h-10" }) => {
@@ -6875,6 +6883,7 @@ var OrgAvatar4 = ({ src, sizeClass = "w-10 h-10" }) => {
6875
6883
  var PageSpinner10 = () => /* @__PURE__ */ React58.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: Loading03Icon31, size: 32, className: "animate-spin mb-4 text-black" }));
6876
6884
  var InputSpinner4 = () => /* @__PURE__ */ React58.createElement("svg", { className: "animate-spin h-4 w-4 text-stone-400", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24" }, /* @__PURE__ */ React58.createElement("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), /* @__PURE__ */ React58.createElement("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" }));
6877
6885
  var UniversalSettings2 = ({
6886
+ onBackHref = "/app",
6878
6887
  accountType,
6879
6888
  userRole,
6880
6889
  members = [],
@@ -6886,12 +6895,6 @@ var UniversalSettings2 = ({
6886
6895
  membersSearchQuery = "",
6887
6896
  onMembersSearchChange = () => {
6888
6897
  },
6889
- activeStatusFilter = "ALL",
6890
- onStatusFilterChange = () => {
6891
- },
6892
- activeRoleFilter = "ALL",
6893
- onRoleFilterChange = () => {
6894
- },
6895
6898
  onRemoveMember,
6896
6899
  onInviteMember,
6897
6900
  onUpdateRole,
@@ -6921,8 +6924,6 @@ var UniversalSettings2 = ({
6921
6924
  const [localSearchQuery, setLocalSearchQuery] = useState42(membersSearchQuery);
6922
6925
  const [isTyping, setIsTyping] = useState42(false);
6923
6926
  const isFirstSearchMount = useRef17(true);
6924
- const [isStatusModalOpen, setIsStatusModalOpen] = useState42(false);
6925
- const [isRoleModalOpen, setIsRoleModalOpen] = useState42(false);
6926
6927
  const [roleEditTarget, setRoleEditTarget] = useState42(null);
6927
6928
  const [isUpdatingRole, setIsUpdatingRole] = useState42(false);
6928
6929
  const [orgName, setOrgName] = useState42(initialOrgName);
@@ -6943,7 +6944,7 @@ var UniversalSettings2 = ({
6943
6944
  const [pendingUserAvatar, setPendingUserAvatar] = useState42(null);
6944
6945
  const [isUploadingOrgAvatar, setIsUploadingOrgAvatar] = useState42(false);
6945
6946
  const [isUploadingUserAvatar, setIsUploadingUserAvatar] = useState42(false);
6946
- useEffect23(() => {
6947
+ useEffect24(() => {
6947
6948
  setOrgName(initialOrgName || "");
6948
6949
  setOrgSlug(initialOrgSlug || "");
6949
6950
  setOrgAvatarUrl(initialOrgAvatarUrl || "");
@@ -6978,7 +6979,7 @@ var UniversalSettings2 = ({
6978
6979
  }
6979
6980
  e.target.value = "";
6980
6981
  };
6981
- useEffect23(() => {
6982
+ useEffect24(() => {
6982
6983
  if (activeTab !== "MEMBERS") return;
6983
6984
  if (isFirstSearchMount.current) {
6984
6985
  isFirstSearchMount.current = false;
@@ -7035,7 +7036,7 @@ var UniversalSettings2 = ({
7035
7036
  }
7036
7037
  };
7037
7038
  const activeExpandedMember = expandedId ? members.find((m) => m.id === expandedId) : null;
7038
- useEffect23(() => {
7039
+ useEffect24(() => {
7039
7040
  if (!isOrg || !orgSlug || orgSlug === initialOrgSlug) {
7040
7041
  setSlugAvailable(null);
7041
7042
  setIsCheckingSlug(false);
@@ -7139,7 +7140,7 @@ var UniversalSettings2 = ({
7139
7140
  tabs.push({ id: "ORGANIZATION", label: "Organization" });
7140
7141
  }
7141
7142
  tabs.push({ id: "ACCOUNT", label: "Profile" });
7142
- return /* @__PURE__ */ React58.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React58.createElement(ManagedToaster, null), /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col gap-1 mb-8 px-1" }, /* @__PURE__ */ React58.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React58.createElement("h1", { className: "text-black text-xl tracking-tight" }, "System Settings")), /* @__PURE__ */ React58.createElement("p", { className: "text-xs text-stone-500" }, "Manage your workspace identity, team configurations, and AI billing parameters.")), /* @__PURE__ */ React58.createElement("div", { className: "flex items-center mb-4 w-full animate-in fade-in duration-300 px-2" }, /* @__PURE__ */ React58.createElement("div", { className: "flex items-center bg-white rounded-full p-1 sm:p-1.5 max-w-full overflow-x-auto custom-scrollbar" }, tabs.map((tab, idx) => {
7143
+ return /* @__PURE__ */ React58.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React58.createElement(ManagedToaster, null), /* @__PURE__ */ React58.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React58.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#d97757] hover:text-[#d97757] transition-colors text-sm outline-none" }, /* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: ArrowLeft01Icon23, size: 16 }), " Back")), /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col gap-1 mb-8 px-1" }, /* @__PURE__ */ React58.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React58.createElement("h1", { className: "text-black text-xl tracking-tight" }, "System Settings")), /* @__PURE__ */ React58.createElement("p", { className: "text-xs text-stone-500" }, "Manage your workspace identity, team configurations, and AI billing parameters.")), /* @__PURE__ */ React58.createElement("div", { className: "flex items-center mb-4 w-full animate-in fade-in duration-300 px-2" }, /* @__PURE__ */ React58.createElement("div", { className: "flex items-center bg-white rounded-full p-1 sm:p-1.5 max-w-full overflow-x-auto custom-scrollbar" }, tabs.map((tab, idx) => {
7143
7144
  const isActive = activeTab === tab.id;
7144
7145
  return /* @__PURE__ */ React58.createElement(
7145
7146
  "button",
@@ -7186,10 +7187,19 @@ var UniversalSettings2 = ({
7186
7187
  className: "text-xs text-[#d97757] hover:underline outline-none disabled:opacity-50"
7187
7188
  },
7188
7189
  "Remove"
7189
- ))))))) : /* @__PURE__ */ React58.createElement(React58.Fragment, null, /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ React58.createElement("div", { className: "flex flex-row items-center justify-between gap-4" }, /* @__PURE__ */ React58.createElement("h2", { className: "text-black text-xl tracking-tight" }, isInviteMode ? "Add Member" : "Team Directory"), !isInviteMode && canManage && /* @__PURE__ */ React58.createElement("button", { onClick: () => setIsInviteMode(true), className: "shrink-0 px-4 py-1.5 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-stone-50 transition-colors outline-none" }, "Invite Team")), !isInviteMode && /* @__PURE__ */ React58.createElement("p", { className: "text-xs text-stone-500" }, "Manage members and access controls across your organization.")), /* @__PURE__ */ React58.createElement("div", { className: "w-full overflow-hidden" }, isInviteMode ? /* @__PURE__ */ React58.createElement("form", { onSubmit: handleInviteSubmit, className: "flex flex-col gap-8 animate-in fade-in duration-300" }, /* @__PURE__ */ React58.createElement("div", { className: "space-y-1.5 mt-2" }, /* @__PURE__ */ React58.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Email Address"), /* @__PURE__ */ React58.createElement("input", { type: "email", value: inviteEmail, onChange: (e) => setInviteEmail(cleanEmailId(e.target.value)), required: true, autoFocus: true, className: "w-full px-2 py-3 bg-transparent text-sm border-b border-stone-200 text-black outline-none focus:border-black transition-all duration-300", placeholder: "name@company.com" })), /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React58.createElement(ThreeDActionButton, { type: "submit", disabled: inviteEmail.length < 5 || isInviting, isLoading: isInviting, className: "w-full" }, "Send Invitation"), /* @__PURE__ */ React58.createElement("button", { type: "button", onClick: () => {
7190
- setIsInviteMode(false);
7191
- setInviteEmail("");
7192
- }, disabled: isInviting, className: "w-full flex items-center justify-center py-2.5 rounded-full border border-stone-200 text-black hover:bg-stone-50 transition-colors outline-none text-xs tracking-wide" }, "Cancel"))) : isMembersLoading || isTyping ? /* @__PURE__ */ React58.createElement(PageSpinner10, null) : /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col min-w-0 animate-in fade-in duration-300" }, /* @__PURE__ */ React58.createElement("div", null, members.length === 0 ? /* @__PURE__ */ React58.createElement("p", { className: "text-xs text-stone-400 py-6 text-center" }, "No members found") : members.map((member) => /* @__PURE__ */ React58.createElement("div", { key: member.id, onClick: () => setExpandedId(member.id), className: "flex items-center justify-between py-3 hover:bg-stone-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl" }, /* @__PURE__ */ React58.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React58.createElement(MemberAvatar5, { src: member.avatarUrl, status: member.status }), /* @__PURE__ */ React58.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-0.5" }, /* @__PURE__ */ React58.createElement("p", { className: "text-sm text-black truncate" }, member.fullName), /* @__PURE__ */ React58.createElement("p", { className: "text-xs text-stone-500 capitalize truncate" }, member.role.toLowerCase())))))), /* @__PURE__ */ React58.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ React58.createElement("span", { className: "text-xs text-stone-400 tracking-[0.2em]" }, "Page ", membersCurrentPage, " of ", membersTotalPages === 0 ? 1 : membersTotalPages), /* @__PURE__ */ React58.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React58.createElement("button", { onClick: () => onMembersPageChange(membersCurrentPage - 1), disabled: membersCurrentPage <= 1 || isMembersLoading, className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none" }, /* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: ArrowLeft01Icon23, size: 14 })), /* @__PURE__ */ React58.createElement("button", { onClick: () => onMembersPageChange(membersCurrentPage + 1), disabled: membersCurrentPage >= membersTotalPages || isMembersLoading || membersTotalPages === 0, className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none" }, /* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: ArrowRight01Icon18, size: 14 })))))))), /* @__PURE__ */ React58.createElement(ReusableOptions, { isOpen: !!roleEditTarget, onClose: () => setRoleEditTarget(null), title: "Modify Access Role", options: ["ADMIN", "MANAGER", "MEMBER"], selectedOption: roleEditTarget?.role || "", onSelect: handleRoleUpdate })), activeTab === "ORGANIZATION" && isOrg && /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ React58.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ React58.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React58.createElement("div", { className: "relative group cursor-pointer shrink-0", onClick: () => canManage && !isSavingOrg ? orgFileInputRef.current?.click() : void 0 }, /* @__PURE__ */ React58.createElement(OrgAvatar4, { src: orgAvatarUrl, sizeClass: "w-14 h-14" }), canManage && /* @__PURE__ */ React58.createElement("div", { className: "absolute -bottom-1 -right-1 w-6 h-6 bg-white border border-stone-200 rounded-full flex items-center justify-center text-stone-500 group-hover:text-black transition-colors z-10" }, isUploadingOrgAvatar ? /* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: Loading03Icon31, size: 12, className: "animate-spin" }) : /* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: CloudUploadIcon2, size: 14 })), /* @__PURE__ */ React58.createElement("input", { type: "file", ref: orgFileInputRef, className: "hidden", accept: ".png, .jpg, .jpeg", onChange: (e) => handleFileSelect(e, "ORGANIZATION") })), /* @__PURE__ */ React58.createElement("div", null, /* @__PURE__ */ React58.createElement("h2", { className: "text-black text-xl mb-1 tracking-tight" }, "Workspace Details"), /* @__PURE__ */ React58.createElement("p", { className: "text-xs text-stone-500" }, "Manage your organizational identity and handles."))), !canManage && /* @__PURE__ */ React58.createElement("span", { className: "p-2 w-9 h-9 bg-stone-100 text-stone-400 rounded-full shrink-0" }, /* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: CircleLock02Icon5, size: 18, className: "text-current" }))), /* @__PURE__ */ React58.createElement("form", { className: "flex flex-col gap-8 w-full max-w-5xl", onSubmit: handleSaveOrganization, autoComplete: "off" }, /* @__PURE__ */ React58.createElement(TextInput, { label: "Workspace Name", value: orgName, onChange: handleOrgNameChange, disabled: !canManage || isSavingOrg, placeholder: "Acme Corporation", maxLength: 50 }), /* @__PURE__ */ React58.createElement("div", { className: "space-y-1.5 relative w-full" }, /* @__PURE__ */ React58.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Workspace Handle"), /* @__PURE__ */ React58.createElement("div", { className: "flex items-center relative w-full border-b border-stone-200 focus-within:border-black transition-all duration-300 overflow-hidden" }, /* @__PURE__ */ React58.createElement("input", { type: "text", value: orgSlug, disabled: !canManage || isSavingOrg, onChange: (e) => handleOrgSlugChange(e.target.value), spellCheck: "false", autoComplete: "off", className: "w-full pr-10 pl-0 py-3 text-sm bg-transparent text-black outline-none disabled:opacity-50 disabled:cursor-not-allowed", placeholder: "workspace-handle" }), /* @__PURE__ */ React58.createElement("div", { className: "absolute right-2 top-1/2 -translate-y-1/2" }, isCheckingSlug && /* @__PURE__ */ React58.createElement(InputSpinner4, null), !isCheckingSlug && canManage && orgSlug !== initialOrgSlug && orgSlug.length >= 3 && slugAvailable === false && /* @__PURE__ */ React58.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-[#d97757]/10" }, /* @__PURE__ */ React58.createElement("svg", { className: "w-2 h-2 text-[#d97757]", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React58.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" }))), !isCheckingSlug && canManage && orgSlug !== initialOrgSlug && orgSlug.length >= 3 && slugAvailable === true && /* @__PURE__ */ React58.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-green-100" }, /* @__PURE__ */ React58.createElement("svg", { className: "w-2 h-2 text-green-600", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React58.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M16.707 5.293a1 1 0 00-1.414 0L8 12.586 4.707 9.293a1 1 0 10-1.414 1.414l4 4a1 1 0 001.414 0l8-8a1 1 0 000-1.414z" })))))), /* @__PURE__ */ React58.createElement("div", { className: "pt-8 mt-2 flex items-center gap-4" }, /* @__PURE__ */ React58.createElement(ThreeDActionButton, { type: "submit", disabled: isOrgSaveDisabled, isLoading: isSavingOrg, className: "min-w-32" }, "Save Changes"), hasOrgChanges && !isSavingOrg && canManage && /* @__PURE__ */ React58.createElement("button", { type: "button", onClick: () => {
7190
+ ))))))) : /* @__PURE__ */ React58.createElement(React58.Fragment, null, /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ React58.createElement("div", { className: "flex flex-row items-center justify-between gap-4" }, /* @__PURE__ */ React58.createElement("h2", { className: "text-black text-xl tracking-tight" }, "Team Directory"), canManage && /* @__PURE__ */ React58.createElement("button", { onClick: () => setIsInviteMode(true), className: "shrink-0 px-4 py-1.5 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-stone-50 transition-colors outline-none" }, "Invite Team")), /* @__PURE__ */ React58.createElement("p", { className: "text-xs text-stone-500" }, "Manage members and access controls across your organization.")), /* @__PURE__ */ React58.createElement("div", { className: "w-full overflow-hidden" }, isMembersLoading || isTyping ? /* @__PURE__ */ React58.createElement(PageSpinner10, null) : /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col min-w-0 animate-in fade-in duration-300" }, /* @__PURE__ */ React58.createElement("div", null, members.length === 0 ? /* @__PURE__ */ React58.createElement("p", { className: "text-xs text-stone-400 py-6 text-center" }, "No members found") : members.map((member) => /* @__PURE__ */ React58.createElement("div", { key: member.id, onClick: () => setExpandedId(member.id), className: "flex items-center justify-between py-3 hover:bg-stone-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl" }, /* @__PURE__ */ React58.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React58.createElement(MemberAvatar5, { src: member.avatarUrl, status: member.status }), /* @__PURE__ */ React58.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-0.5" }, /* @__PURE__ */ React58.createElement("p", { className: "text-sm text-black truncate" }, member.fullName), /* @__PURE__ */ React58.createElement("p", { className: "text-xs text-stone-500 capitalize truncate" }, member.role.toLowerCase())))))), /* @__PURE__ */ React58.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ React58.createElement("span", { className: "text-xs text-stone-400 tracking-[0.2em]" }, "Page ", membersCurrentPage, " of ", membersTotalPages === 0 ? 1 : membersTotalPages), /* @__PURE__ */ React58.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React58.createElement("button", { onClick: () => onMembersPageChange(membersCurrentPage - 1), disabled: membersCurrentPage <= 1 || isMembersLoading, className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none" }, /* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: ArrowLeft01Icon23, size: 14 })), /* @__PURE__ */ React58.createElement("button", { onClick: () => onMembersPageChange(membersCurrentPage + 1), disabled: membersCurrentPage >= membersTotalPages || isMembersLoading || membersTotalPages === 0, className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none" }, /* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: ArrowRight01Icon18, size: 14 })))))))), /* @__PURE__ */ React58.createElement(ReusableOptions, { isOpen: !!roleEditTarget, onClose: () => setRoleEditTarget(null), title: "Modify Access Role", options: ["ADMIN", "MANAGER", "MEMBER"], selectedOption: roleEditTarget?.role || "", onSelect: handleRoleUpdate }), isInviteMode && /* @__PURE__ */ React58.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React58.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => !isInviting && setIsInviteMode(false) }), /* @__PURE__ */ React58.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React58.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React58.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Add Member"), /* @__PURE__ */ React58.createElement("button", { onClick: () => !isInviting && setIsInviteMode(false), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: CancelCircleIcon15, size: 18 }))), /* @__PURE__ */ React58.createElement("div", { className: "p-5" }, /* @__PURE__ */ React58.createElement("form", { onSubmit: handleInviteSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ React58.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ React58.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Email Address"), /* @__PURE__ */ React58.createElement(
7191
+ "input",
7192
+ {
7193
+ type: "email",
7194
+ value: inviteEmail,
7195
+ onChange: (e) => setInviteEmail(cleanEmailId(e.target.value)),
7196
+ required: true,
7197
+ autoFocus: true,
7198
+ disabled: isInviting,
7199
+ className: "w-full px-2 py-3 bg-transparent text-sm border-b border-stone-200 text-black outline-none focus:border-black transition-all duration-300 disabled:opacity-50",
7200
+ placeholder: "name@company.com"
7201
+ }
7202
+ )), /* @__PURE__ */ React58.createElement("div", { className: "pt-2" }, /* @__PURE__ */ React58.createElement(ThreeDActionButton, { type: "submit", disabled: inviteEmail.length < 5 || isInviting, isLoading: isInviting, className: "w-full" }, "Send Invitation"))))))), activeTab === "ORGANIZATION" && isOrg && /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ React58.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ React58.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React58.createElement("div", { className: "relative group cursor-pointer shrink-0", onClick: () => canManage && !isSavingOrg ? orgFileInputRef.current?.click() : void 0 }, /* @__PURE__ */ React58.createElement(OrgAvatar4, { src: orgAvatarUrl, sizeClass: "w-14 h-14" }), canManage && /* @__PURE__ */ React58.createElement("div", { className: "absolute -bottom-1 -right-1 w-6 h-6 bg-white border border-stone-200 rounded-full flex items-center justify-center text-stone-500 group-hover:text-black transition-colors z-10" }, isUploadingOrgAvatar ? /* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: Loading03Icon31, size: 12, className: "animate-spin" }) : /* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: CloudUploadIcon2, size: 14 })), /* @__PURE__ */ React58.createElement("input", { type: "file", ref: orgFileInputRef, className: "hidden", accept: ".png, .jpg, .jpeg", onChange: (e) => handleFileSelect(e, "ORGANIZATION") })), /* @__PURE__ */ React58.createElement("div", null, /* @__PURE__ */ React58.createElement("h2", { className: "text-black text-xl mb-1 tracking-tight" }, "Workspace Details"), /* @__PURE__ */ React58.createElement("p", { className: "text-xs text-stone-500" }, "Manage your organizational identity and handles."))), !canManage && /* @__PURE__ */ React58.createElement("span", { className: "p-2 w-9 h-9 bg-stone-100 text-stone-400 rounded-full shrink-0" }, /* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: CircleLock02Icon5, size: 18, className: "text-current" }))), /* @__PURE__ */ React58.createElement("form", { className: "flex flex-col gap-8 w-full max-w-5xl", onSubmit: handleSaveOrganization, autoComplete: "off" }, /* @__PURE__ */ React58.createElement(TextInput, { label: "Workspace Name", value: orgName, onChange: handleOrgNameChange, disabled: !canManage || isSavingOrg, placeholder: "Acme Corporation", maxLength: 50 }), /* @__PURE__ */ React58.createElement("div", { className: "space-y-1.5 relative w-full" }, /* @__PURE__ */ React58.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Workspace Handle"), /* @__PURE__ */ React58.createElement("div", { className: "flex items-center relative w-full border-b border-stone-200 focus-within:border-black transition-all duration-300 overflow-hidden" }, /* @__PURE__ */ React58.createElement("input", { type: "text", value: orgSlug, disabled: !canManage || isSavingOrg, onChange: (e) => handleOrgSlugChange(e.target.value), spellCheck: "false", autoComplete: "off", className: "w-full pr-10 pl-0 py-3 text-sm bg-transparent text-black outline-none disabled:opacity-50 disabled:cursor-not-allowed", placeholder: "workspace-handle" }), /* @__PURE__ */ React58.createElement("div", { className: "absolute right-2 top-1/2 -translate-y-1/2" }, isCheckingSlug && /* @__PURE__ */ React58.createElement(InputSpinner4, null), !isCheckingSlug && canManage && orgSlug !== initialOrgSlug && orgSlug.length >= 3 && slugAvailable === false && /* @__PURE__ */ React58.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-[#d97757]/10" }, /* @__PURE__ */ React58.createElement("svg", { className: "w-2 h-2 text-[#d97757]", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React58.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" }))), !isCheckingSlug && canManage && orgSlug !== initialOrgSlug && orgSlug.length >= 3 && slugAvailable === true && /* @__PURE__ */ React58.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-green-100" }, /* @__PURE__ */ React58.createElement("svg", { className: "w-2 h-2 text-green-600", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React58.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M16.707 5.293a1 1 0 00-1.414 0L8 12.586 4.707 9.293a1 1 0 10-1.414 1.414l4 4a1 1 0 001.414 0l8-8a1 1 0 000-1.414z" })))))), /* @__PURE__ */ React58.createElement("div", { className: "pt-8 mt-2 flex items-center gap-4" }, /* @__PURE__ */ React58.createElement(ThreeDActionButton, { type: "submit", disabled: isOrgSaveDisabled, isLoading: isSavingOrg, className: "min-w-32" }, "Save Changes"), hasOrgChanges && !isSavingOrg && canManage && /* @__PURE__ */ React58.createElement("button", { type: "button", onClick: () => {
7193
7203
  setOrgName(initialOrgName || "");
7194
7204
  setOrgSlug(initialOrgSlug || "");
7195
7205
  setOrgAvatarUrl(initialOrgAvatarUrl || "");
@@ -7208,7 +7218,7 @@ var UniversalSettings2 = ({
7208
7218
  };
7209
7219
 
7210
7220
  // src/components/UniversalDeveloperSettings.tsx
7211
- import React59, { useState as useState43, useEffect as useEffect24 } from "react";
7221
+ import React59, { useState as useState43, useEffect as useEffect25 } from "react";
7212
7222
  import toast19 from "react-hot-toast";
7213
7223
  import { HugeiconsIcon as HugeiconsIcon45 } from "@hugeicons/react";
7214
7224
  import {
@@ -7230,7 +7240,7 @@ var UniversalDeveloperSettings = ({
7230
7240
  const [isGenerating, setIsGenerating] = useState43(false);
7231
7241
  const [isSavingWebhook, setIsSavingWebhook] = useState43(false);
7232
7242
  const [isRollModalOpen, setIsRollModalOpen] = useState43(false);
7233
- useEffect24(() => {
7243
+ useEffect25(() => {
7234
7244
  setPublicKey(initialPublicKey || "");
7235
7245
  setWebhookUrl(initialWebhookUrl || "");
7236
7246
  }, [initialPublicKey, initialWebhookUrl]);
@@ -7309,7 +7319,7 @@ AUDDITUR_SECRET_KEY="${secKey}"
7309
7319
  else handleGenerateKeys();
7310
7320
  },
7311
7321
  disabled: isGenerating,
7312
- className: "absolute right-2.5 bottom-2.5 w-7 h-7 rounded-lg border border-stone-200 bg-white flex items-center justify-center text-stone-500 hover:text-black hover:border-stone-300 transition-all outline-none shadow-sm disabled:opacity-50"
7322
+ className: "absolute right-2.5 bottom-2.5 w-7 h-7 rounded-lg border border-stone-200 bg-white flex items-center justify-center text-stone-500 hover:text-black hover:border-stone-300 transition-all outline-none disabled:opacity-50"
7313
7323
  },
7314
7324
  isGenerating ? /* @__PURE__ */ React59.createElement(HugeiconsIcon45, { icon: Loading03Icon32, size: 14, className: "animate-spin" }) : /* @__PURE__ */ React59.createElement(HugeiconsIcon45, { icon: RefreshIcon, size: 14 })
7315
7325
  )), /* @__PURE__ */ React59.createElement("p", { className: "text-xs text-stone-500 mt-2 leading-relaxed" }, "Your public key is used to identify your application. Your secret key will only be shown once upon generation."))), /* @__PURE__ */ React59.createElement("form", { className: "flex flex-col gap-6 pt-8", onSubmit: handleSaveWebhook, autoComplete: "off" }, /* @__PURE__ */ React59.createElement("div", { className: "space-y-1.5 w-full" }, /* @__PURE__ */ React59.createElement(
@@ -7359,10 +7369,12 @@ AUDDITUR_SECRET_KEY="${secKey}"
7359
7369
  import React60, { useState as useState44, useRef as useRef18 } from "react";
7360
7370
  import { HugeiconsIcon as HugeiconsIcon46 } from "@hugeicons/react";
7361
7371
  import {
7372
+ ArrowLeft01Icon as ArrowLeft01Icon25,
7362
7373
  Search01Icon as Search01Icon9,
7363
7374
  SearchList02Icon as SearchList02Icon4
7364
7375
  } from "@hugeicons/core-free-icons";
7365
7376
  var UniversalApplicationPage2 = ({
7377
+ onBackHref = "/app",
7366
7378
  userRole = "MEMBER",
7367
7379
  applications,
7368
7380
  isLoading,
@@ -7396,7 +7408,7 @@ var UniversalApplicationPage2 = ({
7396
7408
  "REJECTED",
7397
7409
  "QUERIED"
7398
7410
  ];
7399
- return /* @__PURE__ */ React60.createElement("div", { className: "w-full max-w-4xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ React60.createElement("div", { className: "flex flex-col gap-1 mb-8 px-1" }, /* @__PURE__ */ React60.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React60.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Applications Directory")), /* @__PURE__ */ React60.createElement("p", { className: "text-xs text-stone-500" }, "Search, filter, and track all your organizational applications.")), /* @__PURE__ */ React60.createElement("div", { className: "flex flex-row flex-nowrap mb-2 items-center justify-between gap-4 w-full px-1" }, /* @__PURE__ */ React60.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ React60.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React60.createElement(HugeiconsIcon46, { icon: Search01Icon9, size: 16, className: "text-stone-400" })), /* @__PURE__ */ React60.createElement(
7411
+ return /* @__PURE__ */ React60.createElement("div", { className: "w-full max-w-4xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ React60.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React60.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#d97757] hover:text-[#d97757] transition-colors text-sm outline-none" }, /* @__PURE__ */ React60.createElement(HugeiconsIcon46, { icon: ArrowLeft01Icon25, size: 16 }), " Back")), /* @__PURE__ */ React60.createElement("div", { className: "flex flex-col gap-1 mb-8 px-1" }, /* @__PURE__ */ React60.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React60.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Applications Directory")), /* @__PURE__ */ React60.createElement("p", { className: "text-xs text-stone-500" }, "Search, filter, and track all your organizational applications.")), /* @__PURE__ */ React60.createElement("div", { className: "flex flex-row flex-nowrap mb-2 items-center justify-between gap-4 w-full px-1" }, /* @__PURE__ */ React60.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__PURE__ */ React60.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React60.createElement(HugeiconsIcon46, { icon: Search01Icon9, size: 16, className: "text-stone-400" })), /* @__PURE__ */ React60.createElement(
7400
7412
  "input",
7401
7413
  {
7402
7414
  type: "text",
@@ -7445,10 +7457,10 @@ var UniversalApplicationPage2 = ({
7445
7457
  // src/components/UniversalApplicationDetails.tsx
7446
7458
  import React61, { useState as useState45 } from "react";
7447
7459
  import { HugeiconsIcon as HugeiconsIcon47 } from "@hugeicons/react";
7448
- import { ArrowLeft01Icon as ArrowLeft01Icon25 } from "@hugeicons/core-free-icons";
7460
+ import { ArrowLeft01Icon as ArrowLeft01Icon26 } from "@hugeicons/core-free-icons";
7449
7461
  var formatType2 = (type) => type.split("_").map((w) => w[0] + w.slice(1).toLowerCase()).join(" ");
7450
7462
  var UniversalApplicationDetails = ({
7451
- onBackHref,
7463
+ onBackHref = "/app",
7452
7464
  application,
7453
7465
  canDelete,
7454
7466
  onDeleteSubmit
@@ -7479,15 +7491,15 @@ var UniversalApplicationDetails = ({
7479
7491
  onClose: () => setConfirmDialog(false),
7480
7492
  onConfirm: handleDelete
7481
7493
  }
7482
- ), /* @__PURE__ */ React61.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React61.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#d97757] hover:text-[#d97757] transition-colors text-sm outline-none" }, /* @__PURE__ */ React61.createElement(HugeiconsIcon47, { icon: ArrowLeft01Icon25, size: 16 }), " Back")), /* @__PURE__ */ React61.createElement("div", { className: "mb-8 px-1 flex flex-col sm:flex-row sm:items-center justify-between gap-4" }, /* @__PURE__ */ React61.createElement("div", null, /* @__PURE__ */ React61.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Application Details"), /* @__PURE__ */ React61.createElement("p", { className: "text-xs text-stone-500" }, "Review your filing entity and access its workspace.")), /* @__PURE__ */ React61.createElement("div", { className: "px-4 py-1.5 bg-stone-200 text-stone-600 rounded-full text-xs self-start sm:self-auto tracking-widest " }, application.status)), /* @__PURE__ */ React61.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ React61.createElement("div", { className: "flex flex-col gap-1 w-full" }, /* @__PURE__ */ React61.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Target Company"), /* @__PURE__ */ React61.createElement("span", { className: "text-sm text-black py-2 " }, application.name)), /* @__PURE__ */ React61.createElement("div", { className: "flex flex-col gap-1 w-full border-t border-stone-100 pt-6" }, /* @__PURE__ */ React61.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Filing Type"), /* @__PURE__ */ React61.createElement("span", { className: "text-sm text-black py-2" }, formatType2(application.type))), /* @__PURE__ */ React61.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-3 pt-6 mt-2 border-t border-stone-100" }, /* @__PURE__ */ React61.createElement("a", { href: `/app/applications/app/${application.id}`, className: "flex-1 w-full py-2.5 bg-[#d97757] text-white rounded-full text-center text-xs transition-colors hover:bg-[#d97757]/90" }, "Open Application"), /* @__PURE__ */ React61.createElement("a", { href: `/app/applications/assets/${application.id}`, className: "flex-1 w-full py-2.5 bg-transparent border border-stone-200 text-black rounded-full text-center text-xs transition-colors hover:bg-stone-50" }, "Application Assets"), deletePermitted && /* @__PURE__ */ React61.createElement("button", { onClick: () => setConfirmDialog(true), className: "flex-1 w-full py-2.5 bg-transparent border border-stone-200 text-black rounded-full text-center text-xs transition-colors hover:bg-stone-50" }, "Delete Application"))));
7494
+ ), /* @__PURE__ */ React61.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React61.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#d97757] hover:text-[#d97757] transition-colors text-sm outline-none" }, /* @__PURE__ */ React61.createElement(HugeiconsIcon47, { icon: ArrowLeft01Icon26, size: 16 }), " Back")), /* @__PURE__ */ React61.createElement("div", { className: "mb-8 px-1 flex flex-col sm:flex-row sm:items-center justify-between gap-4" }, /* @__PURE__ */ React61.createElement("div", null, /* @__PURE__ */ React61.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Application Details"), /* @__PURE__ */ React61.createElement("p", { className: "text-xs text-stone-500" }, "Review your filing entity and access its workspace.")), /* @__PURE__ */ React61.createElement("div", { className: "px-4 py-1.5 bg-stone-200 text-stone-600 rounded-full text-xs self-start sm:self-auto tracking-widest " }, application.status)), /* @__PURE__ */ React61.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ React61.createElement("div", { className: "flex flex-col gap-1 w-full" }, /* @__PURE__ */ React61.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Target Company"), /* @__PURE__ */ React61.createElement("span", { className: "text-sm text-black py-2 " }, application.name)), /* @__PURE__ */ React61.createElement("div", { className: "flex flex-col gap-1 w-full border-t border-stone-100 pt-6" }, /* @__PURE__ */ React61.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Filing Type"), /* @__PURE__ */ React61.createElement("span", { className: "text-sm text-black py-2" }, formatType2(application.type))), /* @__PURE__ */ React61.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-3 pt-6 mt-2 border-t border-stone-100" }, /* @__PURE__ */ React61.createElement("a", { href: `/app/applications/app/${application.id}`, className: "flex-1 w-full py-2.5 bg-[#d97757] text-white rounded-full text-center text-xs transition-colors hover:bg-[#d97757]/90" }, "Open Application"), /* @__PURE__ */ React61.createElement("a", { href: `/app/applications/assets/${application.id}`, className: "flex-1 w-full py-2.5 bg-transparent border border-stone-200 text-black rounded-full text-center text-xs transition-colors hover:bg-stone-50" }, "Application Assets"), deletePermitted && /* @__PURE__ */ React61.createElement("button", { onClick: () => setConfirmDialog(true), className: "flex-1 w-full py-2.5 bg-transparent border border-stone-200 text-black rounded-full text-center text-xs transition-colors hover:bg-stone-50" }, "Delete Application"))));
7483
7495
  };
7484
7496
 
7485
7497
  // src/components/UniversalCreateApplication.tsx
7486
- import React62, { useState as useState46, useRef as useRef19, useEffect as useEffect25 } from "react";
7498
+ import React62, { useState as useState46, useRef as useRef19, useEffect as useEffect26 } from "react";
7487
7499
  import toast20 from "react-hot-toast";
7488
7500
  import { HugeiconsIcon as HugeiconsIcon48 } from "@hugeicons/react";
7489
7501
  import {
7490
- ArrowLeft01Icon as ArrowLeft01Icon26,
7502
+ ArrowLeft01Icon as ArrowLeft01Icon27,
7491
7503
  ArrowRight01Icon as ArrowRight01Icon19,
7492
7504
  Loading03Icon as Loading03Icon33,
7493
7505
  Search01Icon as Search01Icon10,
@@ -7504,7 +7516,7 @@ var MemberAvatar6 = ({ src, sizeClass = "w-10 h-10" }) => {
7504
7516
  return /* @__PURE__ */ React62.createElement("div", { className: `relative shrink-0 ${sizeClass}` }, /* @__PURE__ */ React62.createElement("div", { className: "w-full h-full rounded-lg bg-stone-100 flex items-center justify-center overflow-hidden" }, !loaded && !error && /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: Loading03Icon33, className: "animate-spin text-stone-400 absolute", size: 14 }), /* @__PURE__ */ React62.createElement("img", { src: error || !src ? defaultAvatar : src, alt: "Avatar", className: `w-full h-full object-cover transition-opacity duration-300 ${loaded || error ? "opacity-100" : "opacity-0"}`, onLoad: () => setLoaded(true), onError: () => setError(true) })));
7505
7517
  };
7506
7518
  var UniversalCreateApplication = ({
7507
- onBackHref,
7519
+ onBackHref = "/app",
7508
7520
  userRole = "MEMBER",
7509
7521
  applicationTypesMeta = [],
7510
7522
  members,
@@ -7527,7 +7539,7 @@ var UniversalCreateApplication = ({
7527
7539
  const [creationMode, setCreationMode] = useState46("EXISTING");
7528
7540
  const defaultTypeKey = applicationTypesMeta.length > 0 ? applicationTypesMeta[0].key : "";
7529
7541
  const [selectedTypeKey, setSelectedTypeKey] = useState46(defaultTypeKey);
7530
- useEffect25(() => {
7542
+ useEffect26(() => {
7531
7543
  if (!selectedTypeKey && applicationTypesMeta.length > 0) {
7532
7544
  setSelectedTypeKey(applicationTypesMeta[0].key);
7533
7545
  }
@@ -7592,7 +7604,7 @@ var UniversalCreateApplication = ({
7592
7604
  { id: "EXISTING", label: "Select Company" },
7593
7605
  { id: "NEW", label: "New Company" }
7594
7606
  ];
7595
- return /* @__PURE__ */ React62.createElement("div", { className: "w-full max-w-4xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ React62.createElement(ManagedToaster, null), /* @__PURE__ */ React62.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React62.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#d97757] hover:text-[#d97757] transition-colors text-sm outline-none" }, /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: ArrowLeft01Icon26, size: 16 }), " Back")), /* @__PURE__ */ React62.createElement("div", { className: "flex flex-col gap-1 mb-6 px-1" }, /* @__PURE__ */ React62.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Create Application"), /* @__PURE__ */ React62.createElement("p", { className: "text-xs text-stone-500" }, "Initiate a new registration or filing for a company.")), /* @__PURE__ */ React62.createElement("div", { className: "flex items-center mb-4 w-full animate-in fade-in duration-300 px-2" }, /* @__PURE__ */ React62.createElement("div", { className: "flex items-center bg-white rounded-full p-1 sm:p-1.5 max-w-full overflow-x-auto custom-scrollbar" }, modeTabs.map((tab) => {
7607
+ return /* @__PURE__ */ React62.createElement("div", { className: "w-full max-w-4xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ React62.createElement(ManagedToaster, null), /* @__PURE__ */ React62.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React62.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#d97757] hover:text-[#d97757] transition-colors text-sm outline-none" }, /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: ArrowLeft01Icon27, size: 16 }), " Back")), /* @__PURE__ */ React62.createElement("div", { className: "flex flex-col gap-1 mb-6 px-1" }, /* @__PURE__ */ React62.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Create Application"), /* @__PURE__ */ React62.createElement("p", { className: "text-xs text-stone-500" }, "Initiate a new registration or filing for a company.")), /* @__PURE__ */ React62.createElement("div", { className: "flex items-center mb-4 w-full animate-in fade-in duration-300 px-2" }, /* @__PURE__ */ React62.createElement("div", { className: "flex items-center bg-white rounded-full p-1 sm:p-1.5 max-w-full overflow-x-auto custom-scrollbar" }, modeTabs.map((tab) => {
7596
7608
  const isActive = creationMode === tab.id;
7597
7609
  return /* @__PURE__ */ React62.createElement(
7598
7610
  "button",
@@ -7621,10 +7633,10 @@ var UniversalCreateApplication = ({
7621
7633
  );
7622
7634
  })))), showCompaniesModal && canManage && /* @__PURE__ */ React62.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React62.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowCompaniesModal(false) }), /* @__PURE__ */ React62.createElement("div", { className: "relative w-full max-w-md bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 h-[80vh]" }, /* @__PURE__ */ React62.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React62.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Select Company"), /* @__PURE__ */ React62.createElement("button", { onClick: () => setShowCompaniesModal(false), className: "text-[#d97757] outline-none text-sm" }, "Done")), /* @__PURE__ */ React62.createElement("div", { className: "p-4 shrink-0" }, /* @__PURE__ */ React62.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: Search01Icon10, size: 16, className: "text-stone-400 absolute left-4 top-1/2 -translate-y-1/2 pointer-events-none" }), /* @__PURE__ */ React62.createElement("input", { type: "text", placeholder: "Search companies...", value: localCompSearch, onChange: handleCompSearch, className: "w-full pl-10 pr-4 py-2.5 bg-stone-100 rounded-full focus:border-[#d97757] border border-transparent text-sm text-black outline-none focus:bg-stone-50 transition-colors" }))), /* @__PURE__ */ React62.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, isCompaniesLoading ? /* @__PURE__ */ React62.createElement("div", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: Loading03Icon33, size: 28, className: "animate-spin text-black" })) : companies.length === 0 ? /* @__PURE__ */ React62.createElement("div", { className: "p-8 text-center text-xs text-stone-400" }, "No companies available.") : companies.map((comp) => /* @__PURE__ */ React62.createElement("div", { key: comp.id, onClick: () => {
7623
7635
  setSelectedCompanyId(comp.id);
7624
- }, className: "flex items-center justify-between p-3 rounded-xl cursor-pointer hover:bg-stone-50 transition-colors" }, /* @__PURE__ */ React62.createElement("div", { className: "flex flex-col min-w-0 flex-1 pl-2" }, /* @__PURE__ */ React62.createElement("span", { className: "text-sm text-black truncate" }, comp.name), /* @__PURE__ */ React62.createElement("div", { className: "flex items-center gap-2 mt-0.5" }, /* @__PURE__ */ React62.createElement("span", { className: "text-[10px] text-stone-500 tracking-widest " }, "Applications: ", comp.applicationsCount || 0), comp.isPrivate && /* @__PURE__ */ React62.createElement("span", { className: "text-[10px] text-[#d97757] tracking-widest " }, "Private"))), selectedCompanyId === comp.id && /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: CheckmarkCircle02Icon2, size: 16, className: "text-[#d97757] mr-2" })))), /* @__PURE__ */ React62.createElement("div", { className: "p-4 flex items-center justify-between shrink-0 bg-white" }, /* @__PURE__ */ React62.createElement("span", { className: "text-xs text-stone-400 tracking-widest" }, "Page ", companiesCurrentPage, " of ", companiesTotalPages || 1), /* @__PURE__ */ React62.createElement("div", { className: "flex gap-1" }, /* @__PURE__ */ React62.createElement("button", { disabled: companiesCurrentPage <= 1 || isCompaniesLoading, onClick: () => onCompaniesPageChange(companiesCurrentPage - 1), className: "w-7 h-7 flex items-center justify-center rounded-full bg-white border border-stone-200 text-stone-600 disabled:opacity-30 outline-none hover:bg-stone-50" }, /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: ArrowLeft01Icon26, size: 12 })), /* @__PURE__ */ React62.createElement("button", { disabled: companiesCurrentPage >= companiesTotalPages || isCompaniesLoading, onClick: () => onCompaniesPageChange(companiesCurrentPage + 1), className: "w-7 h-7 flex items-center justify-center rounded-full bg-white border border-stone-200 text-stone-600 disabled:opacity-30 outline-none hover:bg-stone-50" }, /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: ArrowRight01Icon19, size: 12 })))))), showMembersModal && canManage && /* @__PURE__ */ React62.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React62.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowMembersModal(false) }), /* @__PURE__ */ React62.createElement("div", { className: "relative w-full max-w-md bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 h-[80vh]" }, /* @__PURE__ */ React62.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React62.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Assign Members"), /* @__PURE__ */ React62.createElement("button", { onClick: () => setShowMembersModal(false), className: "text-[#d97757] outline-none text-sm" }, "Done")), /* @__PURE__ */ React62.createElement("div", { className: "p-4 shrink-0" }, /* @__PURE__ */ React62.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: Search01Icon10, size: 16, className: "text-stone-400 absolute left-4 top-1/2 -translate-y-1/2 pointer-events-none" }), /* @__PURE__ */ React62.createElement("input", { type: "text", placeholder: "Search team...", value: localMemSearch, onChange: handleMemSearch, className: "w-full pl-10 pr-4 py-2.5 bg-stone-100 rounded-full focus:border-[#d97757] border border-transparent text-sm text-black outline-none focus:bg-stone-50 transition-colors" }))), /* @__PURE__ */ React62.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, isMembersLoading ? /* @__PURE__ */ React62.createElement("div", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: Loading03Icon33, size: 28, className: "animate-spin text-black" })) : members.length === 0 ? /* @__PURE__ */ React62.createElement("div", { className: "p-8 text-center text-xs text-stone-400" }, "No members found.") : members.map((member) => {
7636
+ }, className: "flex items-center justify-between p-3 rounded-xl cursor-pointer hover:bg-stone-50 transition-colors" }, /* @__PURE__ */ React62.createElement("div", { className: "flex flex-col min-w-0 flex-1 pl-2" }, /* @__PURE__ */ React62.createElement("span", { className: "text-sm text-black truncate" }, comp.name), /* @__PURE__ */ React62.createElement("div", { className: "flex items-center gap-2 mt-0.5" }, /* @__PURE__ */ React62.createElement("span", { className: "text-[10px] text-stone-500 tracking-widest " }, "Applications: ", comp.applicationsCount || 0), comp.isPrivate && /* @__PURE__ */ React62.createElement("span", { className: "text-[10px] text-[#d97757] tracking-widest " }, "Private"))), selectedCompanyId === comp.id && /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: CheckmarkCircle02Icon2, size: 16, className: "text-[#d97757] mr-2" })))), /* @__PURE__ */ React62.createElement("div", { className: "p-4 flex items-center justify-between shrink-0 bg-white" }, /* @__PURE__ */ React62.createElement("span", { className: "text-xs text-stone-400 tracking-widest" }, "Page ", companiesCurrentPage, " of ", companiesTotalPages || 1), /* @__PURE__ */ React62.createElement("div", { className: "flex gap-1" }, /* @__PURE__ */ React62.createElement("button", { disabled: companiesCurrentPage <= 1 || isCompaniesLoading, onClick: () => onCompaniesPageChange(companiesCurrentPage - 1), className: "w-7 h-7 flex items-center justify-center rounded-full bg-white border border-stone-200 text-stone-600 disabled:opacity-30 outline-none hover:bg-stone-50" }, /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: ArrowLeft01Icon27, size: 12 })), /* @__PURE__ */ React62.createElement("button", { disabled: companiesCurrentPage >= companiesTotalPages || isCompaniesLoading, onClick: () => onCompaniesPageChange(companiesCurrentPage + 1), className: "w-7 h-7 flex items-center justify-center rounded-full bg-white border border-stone-200 text-stone-600 disabled:opacity-30 outline-none hover:bg-stone-50" }, /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: ArrowRight01Icon19, size: 12 })))))), showMembersModal && canManage && /* @__PURE__ */ React62.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React62.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowMembersModal(false) }), /* @__PURE__ */ React62.createElement("div", { className: "relative w-full max-w-md bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 h-[80vh]" }, /* @__PURE__ */ React62.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React62.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Assign Members"), /* @__PURE__ */ React62.createElement("button", { onClick: () => setShowMembersModal(false), className: "text-[#d97757] outline-none text-sm" }, "Done")), /* @__PURE__ */ React62.createElement("div", { className: "p-4 shrink-0" }, /* @__PURE__ */ React62.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: Search01Icon10, size: 16, className: "text-stone-400 absolute left-4 top-1/2 -translate-y-1/2 pointer-events-none" }), /* @__PURE__ */ React62.createElement("input", { type: "text", placeholder: "Search team...", value: localMemSearch, onChange: handleMemSearch, className: "w-full pl-10 pr-4 py-2.5 bg-stone-100 rounded-full focus:border-[#d97757] border border-transparent text-sm text-black outline-none focus:bg-stone-50 transition-colors" }))), /* @__PURE__ */ React62.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, isMembersLoading ? /* @__PURE__ */ React62.createElement("div", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: Loading03Icon33, size: 28, className: "animate-spin text-black" })) : members.length === 0 ? /* @__PURE__ */ React62.createElement("div", { className: "p-8 text-center text-xs text-stone-400" }, "No members found.") : members.map((member) => {
7625
7637
  const isChecked = selectedParticipants.has(member.userId);
7626
7638
  return /* @__PURE__ */ React62.createElement("div", { key: member.id, onClick: () => toggleParticipant(member.userId), className: "flex items-center justify-between p-3 rounded-xl cursor-pointer hover:bg-stone-50 transition-colors select-none" }, /* @__PURE__ */ React62.createElement("div", { className: "flex items-center gap-3 min-w-0 flex-1" }, /* @__PURE__ */ React62.createElement(MemberAvatar6, { src: member.avatarUrl, sizeClass: "w-9 h-9" }), /* @__PURE__ */ React62.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ React62.createElement("span", { className: "text-sm text-black truncate" }, member.fullName), /* @__PURE__ */ React62.createElement("span", { className: "text-xs text-stone-400 capitalize truncate" }, member.role.toLowerCase()))), /* @__PURE__ */ React62.createElement("div", { className: "shrink-0 pl-3" }, /* @__PURE__ */ React62.createElement("div", { className: `w-5 h-5 rounded-full flex items-center justify-center transition-colors ${isChecked ? "bg-[#d97757]" : "border border-stone-300 bg-white"}` }, isChecked && /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: Tick02Icon5, size: 14, className: "text-white" }))));
7627
- })), /* @__PURE__ */ React62.createElement("div", { className: "p-4 flex items-center justify-between shrink-0 bg-white" }, /* @__PURE__ */ React62.createElement("span", { className: "text-xs text-stone-400 tracking-widest" }, "Page ", membersCurrentPage, " of ", membersTotalPages || 1), /* @__PURE__ */ React62.createElement("div", { className: "flex gap-1" }, /* @__PURE__ */ React62.createElement("button", { disabled: membersCurrentPage <= 1 || isMembersLoading, onClick: () => onMembersPageChange(membersCurrentPage - 1), className: "w-7 h-7 flex items-center justify-center rounded-full bg-white border border-stone-200 text-stone-600 disabled:opacity-30 outline-none hover:bg-stone-50" }, /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: ArrowLeft01Icon26, size: 12 })), /* @__PURE__ */ React62.createElement("button", { disabled: membersCurrentPage >= membersTotalPages || isMembersLoading, onClick: () => onMembersPageChange(membersCurrentPage + 1), className: "w-7 h-7 flex items-center justify-center rounded-full bg-white border border-stone-200 text-stone-600 disabled:opacity-30 outline-none hover:bg-stone-50" }, /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: ArrowRight01Icon19, size: 12 })))))));
7639
+ })), /* @__PURE__ */ React62.createElement("div", { className: "p-4 flex items-center justify-between shrink-0 bg-white" }, /* @__PURE__ */ React62.createElement("span", { className: "text-xs text-stone-400 tracking-widest" }, "Page ", membersCurrentPage, " of ", membersTotalPages || 1), /* @__PURE__ */ React62.createElement("div", { className: "flex gap-1" }, /* @__PURE__ */ React62.createElement("button", { disabled: membersCurrentPage <= 1 || isMembersLoading, onClick: () => onMembersPageChange(membersCurrentPage - 1), className: "w-7 h-7 flex items-center justify-center rounded-full bg-white border border-stone-200 text-stone-600 disabled:opacity-30 outline-none hover:bg-stone-50" }, /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: ArrowLeft01Icon27, size: 12 })), /* @__PURE__ */ React62.createElement("button", { disabled: membersCurrentPage >= membersTotalPages || isMembersLoading, onClick: () => onMembersPageChange(membersCurrentPage + 1), className: "w-7 h-7 flex items-center justify-center rounded-full bg-white border border-stone-200 text-stone-600 disabled:opacity-30 outline-none hover:bg-stone-50" }, /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: ArrowRight01Icon19, size: 12 })))))));
7628
7640
  };
7629
7641
  export {
7630
7642
  AppBento2,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@retinalabsllc/zairusjs",
3
- "version": "21.2.8",
3
+ "version": "21.3.0",
4
4
  "description": "A perceptive, Ai data driven Next.js UI component library.",
5
5
  "author": "Retina Labs Company",
6
6
  "license": "MIT",