@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 +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +25 -22
- package/dist/index.mjs +33 -28
- package/package.json +1 -1
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-
|
|
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
|
|
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) }
|
|
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-
|
|
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-
|
|
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" },
|
|
7105
|
-
|
|
7106
|
-
|
|
7107
|
-
|
|
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
|
|
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-
|
|
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
|
|
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) }
|
|
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-
|
|
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-
|
|
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" },
|
|
7190
|
-
|
|
7191
|
-
|
|
7192
|
-
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
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:
|
|
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:
|
|
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:
|
|
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,
|