@retinalabsllc/zairusjs 21.2.8 → 21.2.9

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
@@ -3869,7 +3869,7 @@ var PortfolioHero = ({
3869
3869
  ref: heroContentRef,
3870
3870
  className: "w-full opacity-0 translate-y-5 transition-all duration-1000 ease-out relative z-10"
3871
3871
  },
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(
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-2xl overflow-hidden border border-stone-200 shrink-0" }, /* @__PURE__ */ import_react62.default.createElement(
3873
3873
  import_image7.default,
3874
3874
  {
3875
3875
  src: imageSrc,
@@ -6691,9 +6691,9 @@ function RootSidebar({
6691
6691
  ), /* @__PURE__ */ import_react99.default.createElement(
6692
6692
  "div",
6693
6693
  {
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"}`
6694
+ 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
6695
  },
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" })),
6696
+ /* @__PURE__ */ import_react99.default.createElement("div", { className: "w-full flex justify-center py-4 shrink-0", onClick: () => setIsSheetOpen(false) }),
6697
6697
  /* @__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
6698
  const isExactOrSubMatch = item.path === "/" || item.path === "/app" ? currentPath === "/" || currentPath === "/app" : currentPath === item.path || currentPath?.startsWith(`${item.path}/`);
6699
6699
  const isCurrentRoute = isExactOrSubMatch || !hasActiveMatch && index === 0;
@@ -6706,14 +6706,14 @@ function RootSidebar({
6706
6706
  if (onNavClick) onNavClick(e, item.path);
6707
6707
  setIsSheetOpen(false);
6708
6708
  },
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"}`
6709
+ 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
6710
  },
6711
6711
  /* @__PURE__ */ import_react99.default.createElement(
6712
6712
  import_react100.HugeiconsIcon,
6713
6713
  {
6714
6714
  icon: item.icon,
6715
6715
  size: 18,
6716
- className: isCurrentRoute ? "text-[#d97757]" : "text-stone-400"
6716
+ className: isCurrentRoute ? "text-stone-900" : "text-stone-400"
6717
6717
  }
6718
6718
  ),
6719
6719
  /* @__PURE__ */ import_react99.default.createElement("span", { className: "text-xs tracking-wide" }, item.name)
@@ -6790,6 +6790,7 @@ var OrgAvatar4 = ({ src, sizeClass = "w-10 h-10" }) => {
6790
6790
  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
6791
  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
6792
  var UniversalSettings2 = ({
6793
+ onBackHref = "/app",
6793
6794
  accountType,
6794
6795
  userRole,
6795
6796
  members = [],
@@ -6801,12 +6802,6 @@ var UniversalSettings2 = ({
6801
6802
  membersSearchQuery = "",
6802
6803
  onMembersSearchChange = () => {
6803
6804
  },
6804
- activeStatusFilter = "ALL",
6805
- onStatusFilterChange = () => {
6806
- },
6807
- activeRoleFilter = "ALL",
6808
- onRoleFilterChange = () => {
6809
- },
6810
6805
  onRemoveMember,
6811
6806
  onInviteMember,
6812
6807
  onUpdateRole,
@@ -6836,8 +6831,6 @@ var UniversalSettings2 = ({
6836
6831
  const [localSearchQuery, setLocalSearchQuery] = (0, import_react101.useState)(membersSearchQuery);
6837
6832
  const [isTyping, setIsTyping] = (0, import_react101.useState)(false);
6838
6833
  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
6834
  const [roleEditTarget, setRoleEditTarget] = (0, import_react101.useState)(null);
6842
6835
  const [isUpdatingRole, setIsUpdatingRole] = (0, import_react101.useState)(false);
6843
6836
  const [orgName, setOrgName] = (0, import_react101.useState)(initialOrgName);
@@ -7054,7 +7047,7 @@ var UniversalSettings2 = ({
7054
7047
  tabs.push({ id: "ORGANIZATION", label: "Organization" });
7055
7048
  }
7056
7049
  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) => {
7050
+ 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
7051
  const isActive = activeTab === tab.id;
7059
7052
  return /* @__PURE__ */ import_react101.default.createElement(
7060
7053
  "button",
@@ -7101,10 +7094,19 @@ var UniversalSettings2 = ({
7101
7094
  className: "text-xs text-[#d97757] hover:underline outline-none disabled:opacity-50"
7102
7095
  },
7103
7096
  "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: () => {
7097
+ ))))))) : /* @__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(
7098
+ "input",
7099
+ {
7100
+ type: "email",
7101
+ value: inviteEmail,
7102
+ onChange: (e) => setInviteEmail(cleanEmailId(e.target.value)),
7103
+ required: true,
7104
+ autoFocus: true,
7105
+ disabled: isInviting,
7106
+ 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",
7107
+ placeholder: "name@company.com"
7108
+ }
7109
+ )), /* @__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
7110
  setOrgName(initialOrgName || "");
7109
7111
  setOrgSlug(initialOrgSlug || "");
7110
7112
  setOrgAvatarUrl(initialOrgAvatarUrl || "");
@@ -7219,7 +7221,7 @@ AUDDITUR_SECRET_KEY="${secKey}"
7219
7221
  else handleGenerateKeys();
7220
7222
  },
7221
7223
  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"
7224
+ 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
7225
  },
7224
7226
  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
7227
  )), /* @__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 +7272,7 @@ var import_react105 = __toESM(require("react"));
7270
7272
  var import_react106 = require("@hugeicons/react");
7271
7273
  var import_core_free_icons42 = require("@hugeicons/core-free-icons");
7272
7274
  var UniversalApplicationPage2 = ({
7275
+ onBackHref = "/app",
7273
7276
  userRole = "MEMBER",
7274
7277
  applications,
7275
7278
  isLoading,
@@ -7303,7 +7306,7 @@ var UniversalApplicationPage2 = ({
7303
7306
  "REJECTED",
7304
7307
  "QUERIED"
7305
7308
  ];
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(
7309
+ 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
7310
  "input",
7308
7311
  {
7309
7312
  type: "text",
@@ -7355,7 +7358,7 @@ var import_react108 = require("@hugeicons/react");
7355
7358
  var import_core_free_icons43 = require("@hugeicons/core-free-icons");
7356
7359
  var formatType2 = (type) => type.split("_").map((w) => w[0] + w.slice(1).toLowerCase()).join(" ");
7357
7360
  var UniversalApplicationDetails = ({
7358
- onBackHref,
7361
+ onBackHref = "/app",
7359
7362
  application,
7360
7363
  canDelete,
7361
7364
  onDeleteSubmit
@@ -7401,7 +7404,7 @@ var MemberAvatar6 = ({ src, sizeClass = "w-10 h-10" }) => {
7401
7404
  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
7405
  };
7403
7406
  var UniversalCreateApplication = ({
7404
- onBackHref,
7407
+ onBackHref = "/app",
7405
7408
  userRole = "MEMBER",
7406
7409
  applicationTypesMeta = [],
7407
7410
  members,
package/dist/index.mjs CHANGED
@@ -3860,7 +3860,7 @@ var PortfolioHero = ({
3860
3860
  ref: heroContentRef,
3861
3861
  className: "w-full opacity-0 translate-y-5 transition-all duration-1000 ease-out relative z-10"
3862
3862
  },
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(
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-2xl overflow-hidden border border-stone-200 shrink-0" }, /* @__PURE__ */ React37.createElement(
3864
3864
  Image8,
3865
3865
  {
3866
3866
  src: imageSrc,
@@ -6770,9 +6770,9 @@ function RootSidebar({
6770
6770
  ), /* @__PURE__ */ React57.createElement(
6771
6771
  "div",
6772
6772
  {
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"}`
6773
+ 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
6774
  },
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" })),
6775
+ /* @__PURE__ */ React57.createElement("div", { className: "w-full flex justify-center py-4 shrink-0", onClick: () => setIsSheetOpen(false) }),
6776
6776
  /* @__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
6777
  const isExactOrSubMatch = item.path === "/" || item.path === "/app" ? currentPath === "/" || currentPath === "/app" : currentPath === item.path || currentPath?.startsWith(`${item.path}/`);
6778
6778
  const isCurrentRoute = isExactOrSubMatch || !hasActiveMatch && index === 0;
@@ -6785,14 +6785,14 @@ function RootSidebar({
6785
6785
  if (onNavClick) onNavClick(e, item.path);
6786
6786
  setIsSheetOpen(false);
6787
6787
  },
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"}`
6788
+ 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
6789
  },
6790
6790
  /* @__PURE__ */ React57.createElement(
6791
6791
  HugeiconsIcon43,
6792
6792
  {
6793
6793
  icon: item.icon,
6794
6794
  size: 18,
6795
- className: isCurrentRoute ? "text-[#d97757]" : "text-stone-400"
6795
+ className: isCurrentRoute ? "text-stone-900" : "text-stone-400"
6796
6796
  }
6797
6797
  ),
6798
6798
  /* @__PURE__ */ React57.createElement("span", { className: "text-xs tracking-wide" }, item.name)
@@ -6833,6 +6833,7 @@ import {
6833
6833
  ArrowRight01Icon as ArrowRight01Icon18,
6834
6834
  Loading03Icon as Loading03Icon31,
6835
6835
  CircleLock02Icon as CircleLock02Icon5,
6836
+ CancelCircleIcon as CancelCircleIcon15,
6836
6837
  CloudUploadIcon as CloudUploadIcon2
6837
6838
  } from "@hugeicons/core-free-icons";
6838
6839
  var MemberAvatar5 = ({ src, status, sizeClass = "w-10 h-10" }) => {
@@ -6875,6 +6876,7 @@ var OrgAvatar4 = ({ src, sizeClass = "w-10 h-10" }) => {
6875
6876
  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
6877
  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
6878
  var UniversalSettings2 = ({
6879
+ onBackHref = "/app",
6878
6880
  accountType,
6879
6881
  userRole,
6880
6882
  members = [],
@@ -6886,12 +6888,6 @@ var UniversalSettings2 = ({
6886
6888
  membersSearchQuery = "",
6887
6889
  onMembersSearchChange = () => {
6888
6890
  },
6889
- activeStatusFilter = "ALL",
6890
- onStatusFilterChange = () => {
6891
- },
6892
- activeRoleFilter = "ALL",
6893
- onRoleFilterChange = () => {
6894
- },
6895
6891
  onRemoveMember,
6896
6892
  onInviteMember,
6897
6893
  onUpdateRole,
@@ -6921,8 +6917,6 @@ var UniversalSettings2 = ({
6921
6917
  const [localSearchQuery, setLocalSearchQuery] = useState42(membersSearchQuery);
6922
6918
  const [isTyping, setIsTyping] = useState42(false);
6923
6919
  const isFirstSearchMount = useRef17(true);
6924
- const [isStatusModalOpen, setIsStatusModalOpen] = useState42(false);
6925
- const [isRoleModalOpen, setIsRoleModalOpen] = useState42(false);
6926
6920
  const [roleEditTarget, setRoleEditTarget] = useState42(null);
6927
6921
  const [isUpdatingRole, setIsUpdatingRole] = useState42(false);
6928
6922
  const [orgName, setOrgName] = useState42(initialOrgName);
@@ -7139,7 +7133,7 @@ var UniversalSettings2 = ({
7139
7133
  tabs.push({ id: "ORGANIZATION", label: "Organization" });
7140
7134
  }
7141
7135
  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) => {
7136
+ 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
7137
  const isActive = activeTab === tab.id;
7144
7138
  return /* @__PURE__ */ React58.createElement(
7145
7139
  "button",
@@ -7186,10 +7180,19 @@ var UniversalSettings2 = ({
7186
7180
  className: "text-xs text-[#d97757] hover:underline outline-none disabled:opacity-50"
7187
7181
  },
7188
7182
  "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: () => {
7183
+ ))))))) : /* @__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(
7184
+ "input",
7185
+ {
7186
+ type: "email",
7187
+ value: inviteEmail,
7188
+ onChange: (e) => setInviteEmail(cleanEmailId(e.target.value)),
7189
+ required: true,
7190
+ autoFocus: true,
7191
+ disabled: isInviting,
7192
+ 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",
7193
+ placeholder: "name@company.com"
7194
+ }
7195
+ )), /* @__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
7196
  setOrgName(initialOrgName || "");
7194
7197
  setOrgSlug(initialOrgSlug || "");
7195
7198
  setOrgAvatarUrl(initialOrgAvatarUrl || "");
@@ -7309,7 +7312,7 @@ AUDDITUR_SECRET_KEY="${secKey}"
7309
7312
  else handleGenerateKeys();
7310
7313
  },
7311
7314
  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"
7315
+ 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
7316
  },
7314
7317
  isGenerating ? /* @__PURE__ */ React59.createElement(HugeiconsIcon45, { icon: Loading03Icon32, size: 14, className: "animate-spin" }) : /* @__PURE__ */ React59.createElement(HugeiconsIcon45, { icon: RefreshIcon, size: 14 })
7315
7318
  )), /* @__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 +7362,12 @@ AUDDITUR_SECRET_KEY="${secKey}"
7359
7362
  import React60, { useState as useState44, useRef as useRef18 } from "react";
7360
7363
  import { HugeiconsIcon as HugeiconsIcon46 } from "@hugeicons/react";
7361
7364
  import {
7365
+ ArrowLeft01Icon as ArrowLeft01Icon25,
7362
7366
  Search01Icon as Search01Icon9,
7363
7367
  SearchList02Icon as SearchList02Icon4
7364
7368
  } from "@hugeicons/core-free-icons";
7365
7369
  var UniversalApplicationPage2 = ({
7370
+ onBackHref = "/app",
7366
7371
  userRole = "MEMBER",
7367
7372
  applications,
7368
7373
  isLoading,
@@ -7396,7 +7401,7 @@ var UniversalApplicationPage2 = ({
7396
7401
  "REJECTED",
7397
7402
  "QUERIED"
7398
7403
  ];
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(
7404
+ 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
7405
  "input",
7401
7406
  {
7402
7407
  type: "text",
@@ -7445,10 +7450,10 @@ var UniversalApplicationPage2 = ({
7445
7450
  // src/components/UniversalApplicationDetails.tsx
7446
7451
  import React61, { useState as useState45 } from "react";
7447
7452
  import { HugeiconsIcon as HugeiconsIcon47 } from "@hugeicons/react";
7448
- import { ArrowLeft01Icon as ArrowLeft01Icon25 } from "@hugeicons/core-free-icons";
7453
+ import { ArrowLeft01Icon as ArrowLeft01Icon26 } from "@hugeicons/core-free-icons";
7449
7454
  var formatType2 = (type) => type.split("_").map((w) => w[0] + w.slice(1).toLowerCase()).join(" ");
7450
7455
  var UniversalApplicationDetails = ({
7451
- onBackHref,
7456
+ onBackHref = "/app",
7452
7457
  application,
7453
7458
  canDelete,
7454
7459
  onDeleteSubmit
@@ -7479,7 +7484,7 @@ var UniversalApplicationDetails = ({
7479
7484
  onClose: () => setConfirmDialog(false),
7480
7485
  onConfirm: handleDelete
7481
7486
  }
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"))));
7487
+ ), /* @__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
7488
  };
7484
7489
 
7485
7490
  // src/components/UniversalCreateApplication.tsx
@@ -7487,7 +7492,7 @@ import React62, { useState as useState46, useRef as useRef19, useEffect as useEf
7487
7492
  import toast20 from "react-hot-toast";
7488
7493
  import { HugeiconsIcon as HugeiconsIcon48 } from "@hugeicons/react";
7489
7494
  import {
7490
- ArrowLeft01Icon as ArrowLeft01Icon26,
7495
+ ArrowLeft01Icon as ArrowLeft01Icon27,
7491
7496
  ArrowRight01Icon as ArrowRight01Icon19,
7492
7497
  Loading03Icon as Loading03Icon33,
7493
7498
  Search01Icon as Search01Icon10,
@@ -7504,7 +7509,7 @@ var MemberAvatar6 = ({ src, sizeClass = "w-10 h-10" }) => {
7504
7509
  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
7510
  };
7506
7511
  var UniversalCreateApplication = ({
7507
- onBackHref,
7512
+ onBackHref = "/app",
7508
7513
  userRole = "MEMBER",
7509
7514
  applicationTypesMeta = [],
7510
7515
  members,
@@ -7592,7 +7597,7 @@ var UniversalCreateApplication = ({
7592
7597
  { id: "EXISTING", label: "Select Company" },
7593
7598
  { id: "NEW", label: "New Company" }
7594
7599
  ];
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) => {
7600
+ 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
7601
  const isActive = creationMode === tab.id;
7597
7602
  return /* @__PURE__ */ React62.createElement(
7598
7603
  "button",
@@ -7621,10 +7626,10 @@ var UniversalCreateApplication = ({
7621
7626
  );
7622
7627
  })))), 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
7628
  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) => {
7629
+ }, 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
7630
  const isChecked = selectedParticipants.has(member.userId);
7626
7631
  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 })))))));
7632
+ })), /* @__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
7633
  };
7629
7634
  export {
7630
7635
  AppBento2,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@retinalabsllc/zairusjs",
3
- "version": "21.2.8",
3
+ "version": "21.2.9",
4
4
  "description": "A perceptive, Ai data driven Next.js UI component library.",
5
5
  "author": "Retina Labs Company",
6
6
  "license": "MIT",