@retinalabsllc/zairusjs 21.2.5 → 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 +42 -40
- package/dist/index.mjs +54 -48
- 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,
|
|
@@ -4744,7 +4744,7 @@ var CircularLogo = ({ src, alt, fallbackText }) => {
|
|
|
4744
4744
|
onError: () => setHasError(true),
|
|
4745
4745
|
className: `w-full h-full object-cover transition-opacity duration-300 ${isLoaded ? "opacity-100" : "opacity-0"}`
|
|
4746
4746
|
}
|
|
4747
|
-
)) : /* @__PURE__ */ import_react81.default.createElement("span", { className: "text-xs text-black
|
|
4747
|
+
)) : /* @__PURE__ */ import_react81.default.createElement("span", { className: "text-xs text-black " }, fallbackText.substring(0, 2)));
|
|
4748
4748
|
};
|
|
4749
4749
|
var DEFAULT_NETWORK_REGEX = {
|
|
4750
4750
|
EVM: /^0x[a-fA-F0-9]{40}$/,
|
|
@@ -6278,7 +6278,7 @@ var HomeHuddleCalendar = ({
|
|
|
6278
6278
|
className: "w-8 h-8 flex items-center justify-center rounded-full border border-stone-200 hover:bg-stone-100 outline-none transition-colors"
|
|
6279
6279
|
},
|
|
6280
6280
|
/* @__PURE__ */ import_react93.default.createElement(import_react94.HugeiconsIcon, { icon: import_core_free_icons36.ArrowRight01Icon, size: 16, className: "text-black" })
|
|
6281
|
-
))), /* @__PURE__ */ import_react93.default.createElement("div", { className: "grid grid-cols-7 gap-y-2 gap-x-1" }, DAYS_OF_WEEK2.map((d) => /* @__PURE__ */ import_react93.default.createElement("div", { key: d, className: "text-center text-[11px] text-stone-400 py-2
|
|
6281
|
+
))), /* @__PURE__ */ import_react93.default.createElement("div", { className: "grid grid-cols-7 gap-y-2 gap-x-1" }, DAYS_OF_WEEK2.map((d) => /* @__PURE__ */ import_react93.default.createElement("div", { key: d, className: "text-center text-[11px] text-stone-400 py-2 tracking-widest" }, d)), Array.from({ length: firstDayOffset }).map((_, i) => /* @__PURE__ */ import_react93.default.createElement("div", { key: `empty-${i}` })), Array.from({ length: daysInMonth }).map((_, i) => {
|
|
6282
6282
|
const day = i + 1;
|
|
6283
6283
|
const thisDate = new Date(viewYear, viewMonth, day);
|
|
6284
6284
|
const isSelected = selectedDate.getFullYear() === viewYear && selectedDate.getMonth() === viewMonth && selectedDate.getDate() === day;
|
|
@@ -6300,7 +6300,7 @@ var HomeHuddleCalendar = ({
|
|
|
6300
6300
|
dayEventsCount
|
|
6301
6301
|
)
|
|
6302
6302
|
));
|
|
6303
|
-
}))), /* @__PURE__ */ import_react93.default.createElement("div", { className: "flex flex-col gap-4 bg-white rounded-2xl p-6 relative min-h-37.5" }, /* @__PURE__ */ import_react93.default.createElement("div", { className: "flex items-center justify-between pb-4" }, /* @__PURE__ */ import_react93.default.createElement("h3", { className: "text-sm text-black " }, isSearching ? "Search Results" : `Events for ${selectedDate.toLocaleDateString("en-GB", { day: "numeric", month: "short", year: "numeric" })}`), /* @__PURE__ */ import_react93.default.createElement("span", { className: "text-[10px]
|
|
6303
|
+
}))), /* @__PURE__ */ import_react93.default.createElement("div", { className: "flex flex-col gap-4 bg-white rounded-2xl p-6 relative min-h-37.5" }, /* @__PURE__ */ import_react93.default.createElement("div", { className: "flex items-center justify-between pb-4" }, /* @__PURE__ */ import_react93.default.createElement("h3", { className: "text-sm text-black " }, isSearching ? "Search Results" : `Events for ${selectedDate.toLocaleDateString("en-GB", { day: "numeric", month: "short", year: "numeric" })}`), /* @__PURE__ */ import_react93.default.createElement("span", { className: "text-[10px] tracking-widest text-stone-400 " }, displayedEvents.length, " ", displayedEvents.length === 1 ? "Session" : "Sessions")), /* @__PURE__ */ import_react93.default.createElement("div", { className: "flex flex-col min-w-0 pt-2" }, isLoading ? /* @__PURE__ */ import_react93.default.createElement("div", { className: "py-8 flex flex-col items-center justify-center text-center" }, /* @__PURE__ */ import_react93.default.createElement(import_react94.HugeiconsIcon, { icon: import_core_free_icons36.Loading03Icon, size: 28, className: "animate-spin text-stone-400" })) : displayedEvents.length === 0 ? /* @__PURE__ */ import_react93.default.createElement("div", { className: "py-8 flex flex-col items-center justify-center text-center" }, /* @__PURE__ */ import_react93.default.createElement("p", { className: "text-xs text-stone-400" }, isSearching ? "No sessions found for this search." : "No sessions scheduled for this date.")) : displayedEvents.map((huddle) => /* @__PURE__ */ import_react93.default.createElement(
|
|
6304
6304
|
"div",
|
|
6305
6305
|
{
|
|
6306
6306
|
key: huddle.id,
|
|
@@ -6310,7 +6310,7 @@ var HomeHuddleCalendar = ({
|
|
|
6310
6310
|
/* @__PURE__ */ import_react93.default.createElement(HuddleAvatar2, { timeString: huddle.timeString, status: huddle.status }),
|
|
6311
6311
|
/* @__PURE__ */ import_react93.default.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ import_react93.default.createElement("p", { className: "text-sm text-black tracking-tight truncate" }, huddle.name), /* @__PURE__ */ import_react93.default.createElement("span", { className: "text-[11px] text-stone-500 truncate block mt-1 tracking-wide" }, isSearching ? huddle.timeString : huddle.timeString.split("|")[1]?.trim() || huddle.timeString)),
|
|
6312
6312
|
/* @__PURE__ */ import_react93.default.createElement(import_react94.HugeiconsIcon, { icon: import_core_free_icons36.ArrowRight01Icon, size: 14, className: "shrink-0 text-stone-400 group-hover:text-black transition-colors" })
|
|
6313
|
-
)))), huddles.length > 0 && !isLoading && /* @__PURE__ */ import_react93.default.createElement("div", { className: "flex items-center justify-between pt-6 mt-4 mb-2" }, /* @__PURE__ */ import_react93.default.createElement("span", { className: "text-[10px] text-stone-400 tracking-widest
|
|
6313
|
+
)))), huddles.length > 0 && !isLoading && /* @__PURE__ */ import_react93.default.createElement("div", { className: "flex items-center justify-between pt-6 mt-4 mb-2" }, /* @__PURE__ */ import_react93.default.createElement("span", { className: "text-[10px] text-stone-400 tracking-widest " }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ import_react93.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react93.default.createElement(
|
|
6314
6314
|
"button",
|
|
6315
6315
|
{
|
|
6316
6316
|
onClick: () => onPageChange(currentPage - 1),
|
|
@@ -6348,7 +6348,7 @@ var formatType = (type) => {
|
|
|
6348
6348
|
return type.split("_").map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()).join(" ");
|
|
6349
6349
|
};
|
|
6350
6350
|
var ApplicationIcon = ({ icon, sizeClass = "w-10 h-10" }) => {
|
|
6351
|
-
return /* @__PURE__ */ import_react95.default.createElement("div", { className: `relative shrink-0 aspect-square ${sizeClass}` }, /* @__PURE__ */ import_react95.default.createElement("div", { className: "w-full h-full aspect-square rounded-lg bg-neutral-50 flex items-center justify-center overflow-hidden" }, icon ? /* @__PURE__ */ import_react95.default.createElement(import_react96.HugeiconsIcon, { icon, size:
|
|
6351
|
+
return /* @__PURE__ */ import_react95.default.createElement("div", { className: `relative shrink-0 aspect-square ${sizeClass}` }, /* @__PURE__ */ import_react95.default.createElement("div", { className: "w-full h-full aspect-square rounded-lg bg-neutral-50 flex items-center justify-center overflow-hidden" }, icon ? /* @__PURE__ */ import_react95.default.createElement(import_react96.HugeiconsIcon, { icon, size: 18, className: "text-stone-500" }) : /* @__PURE__ */ import_react95.default.createElement("div", { className: "w-4 h-4 rounded-sm bg-stone-300" })));
|
|
6352
6352
|
};
|
|
6353
6353
|
var PageSpinner9 = () => /* @__PURE__ */ import_react95.default.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ import_react95.default.createElement(import_react96.HugeiconsIcon, { icon: import_core_free_icons37.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
|
|
6354
6354
|
var UniversalApplicationsPage = ({
|
|
@@ -6374,7 +6374,7 @@ var UniversalApplicationsPage = ({
|
|
|
6374
6374
|
{
|
|
6375
6375
|
key: app.id,
|
|
6376
6376
|
onClick: () => onApplicationClick(app.id),
|
|
6377
|
-
className: "flex flex-row items-center gap-4 py-2 hover:bg-stone-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-
|
|
6377
|
+
className: "flex flex-row items-center gap-4 py-2 hover:bg-stone-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-full"
|
|
6378
6378
|
},
|
|
6379
6379
|
/* @__PURE__ */ import_react95.default.createElement(ApplicationIcon, { icon: app.icon }),
|
|
6380
6380
|
/* @__PURE__ */ import_react95.default.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ import_react95.default.createElement("p", { className: "text-sm text-black tracking-tight truncate" }, app.name || "Unnamed Application"), /* @__PURE__ */ import_react95.default.createElement("span", { className: "text-xs text-stone-500 truncate block mt-0.5" }, formatType(app.type), " ", /* @__PURE__ */ import_react95.default.createElement("span", { className: "mx-1 text-stone-300" }, "|"), " ", app.timeString)),
|
|
@@ -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,19 +6706,19 @@ 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)
|
|
6720
6720
|
);
|
|
6721
|
-
}), showLogoutAction && /* @__PURE__ */ import_react99.default.createElement("div",
|
|
6721
|
+
}), showLogoutAction && /* @__PURE__ */ import_react99.default.createElement("div", null, /* @__PURE__ */ import_react99.default.createElement(
|
|
6722
6722
|
"button",
|
|
6723
6723
|
{
|
|
6724
6724
|
onClick: () => {
|
|
@@ -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 || "");
|
|
@@ -7200,7 +7202,7 @@ AUDDITUR_SECRET_KEY="${secKey}"
|
|
|
7200
7202
|
};
|
|
7201
7203
|
const hasWebhookChanges = webhookUrl !== initialWebhookUrl;
|
|
7202
7204
|
const isWebhookSaveDisabled = isSavingWebhook || isReadOnly || !hasWebhookChanges;
|
|
7203
|
-
return /* @__PURE__ */ import_react103.default.createElement("div", { className: "w-full max-w-4xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ import_react103.default.createElement(ManagedToaster, null), /* @__PURE__ */ import_react103.default.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ import_react103.default.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#d97757] hover:text-[#d97757] transition-colors text-sm outline-none" }, /* @__PURE__ */ import_react103.default.createElement(import_react104.HugeiconsIcon, { icon: import_core_free_icons41.ArrowLeft01Icon, size: 16 }), " Back")), /* @__PURE__ */ import_react103.default.createElement("div", { className: "flex flex-col gap-1 mb-6 px-1" }, /* @__PURE__ */ import_react103.default.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Developer Settings"), /* @__PURE__ */ import_react103.default.createElement("p", { className: "text-xs text-stone-500" }, "Manage your API credentials and webhook integrations.")), /* @__PURE__ */ import_react103.default.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, isReadOnly && /* @__PURE__ */ import_react103.default.createElement("div", { className: "flex items-start gap-3 p-4 bg-stone-50 rounded-xl" }, /* @__PURE__ */ import_react103.default.createElement(import_react104.HugeiconsIcon, { icon: import_core_free_icons41.CircleLock02Icon, size: 20, className: "text-stone-500 shrink-0 mt-0.5" }), /* @__PURE__ */ import_react103.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react103.default.createElement("span", { className: "text-sm text-black tracking-tight" }, "Access Restricted"), /* @__PURE__ */ import_react103.default.createElement("span", { className: "text-xs text-stone-500 mt-1 leading-relaxed" }, "You lack clearance to modify developer settings. Only Owners, Admins, or Managers can roll keys or update webhooks."))), /* @__PURE__ */ import_react103.default.createElement("div", { className: "flex flex-col gap-8" }, /* @__PURE__ */ import_react103.default.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ import_react103.default.createElement("div", { className: "
|
|
7205
|
+
return /* @__PURE__ */ import_react103.default.createElement("div", { className: "w-full max-w-4xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ import_react103.default.createElement(ManagedToaster, null), /* @__PURE__ */ import_react103.default.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ import_react103.default.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#d97757] hover:text-[#d97757] transition-colors text-sm outline-none" }, /* @__PURE__ */ import_react103.default.createElement(import_react104.HugeiconsIcon, { icon: import_core_free_icons41.ArrowLeft01Icon, size: 16 }), " Back")), /* @__PURE__ */ import_react103.default.createElement("div", { className: "flex flex-col gap-1 mb-6 px-1" }, /* @__PURE__ */ import_react103.default.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Developer Settings"), /* @__PURE__ */ import_react103.default.createElement("p", { className: "text-xs text-stone-500" }, "Manage your API credentials and webhook integrations.")), /* @__PURE__ */ import_react103.default.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, isReadOnly && /* @__PURE__ */ import_react103.default.createElement("div", { className: "flex items-start gap-3 p-4 bg-stone-50 rounded-xl" }, /* @__PURE__ */ import_react103.default.createElement(import_react104.HugeiconsIcon, { icon: import_core_free_icons41.CircleLock02Icon, size: 20, className: "text-stone-500 shrink-0 mt-0.5" }), /* @__PURE__ */ import_react103.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react103.default.createElement("span", { className: "text-sm text-black tracking-tight" }, "Access Restricted"), /* @__PURE__ */ import_react103.default.createElement("span", { className: "text-xs text-stone-500 mt-1 leading-relaxed" }, "You lack clearance to modify developer settings. Only Owners, Admins, or Managers can roll keys or update webhooks."))), /* @__PURE__ */ import_react103.default.createElement("div", { className: "flex flex-col gap-8" }, /* @__PURE__ */ import_react103.default.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ import_react103.default.createElement("div", { className: "w-full" }, /* @__PURE__ */ import_react103.default.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ import_react103.default.createElement(
|
|
7204
7206
|
TextInput,
|
|
7205
7207
|
{
|
|
7206
7208
|
label: "Public Key",
|
|
@@ -7210,20 +7212,19 @@ AUDDITUR_SECRET_KEY="${secKey}"
|
|
|
7210
7212
|
disabled: true,
|
|
7211
7213
|
placeholder: "pk_live_..."
|
|
7212
7214
|
}
|
|
7213
|
-
),
|
|
7214
|
-
|
|
7215
|
+
), !isReadOnly && /* @__PURE__ */ import_react103.default.createElement(
|
|
7216
|
+
"button",
|
|
7215
7217
|
{
|
|
7216
7218
|
type: "button",
|
|
7217
7219
|
onClick: () => {
|
|
7218
7220
|
if (publicKey) setIsRollModalOpen(true);
|
|
7219
7221
|
else handleGenerateKeys();
|
|
7220
7222
|
},
|
|
7221
|
-
disabled: isGenerating
|
|
7222
|
-
|
|
7223
|
-
className: "w-full sm:w-auto min-w-40"
|
|
7223
|
+
disabled: isGenerating,
|
|
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"
|
|
7224
7225
|
},
|
|
7225
|
-
|
|
7226
|
-
))), /* @__PURE__ */ import_react103.default.createElement("form", { className: "flex flex-col gap-6
|
|
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 })
|
|
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(
|
|
7227
7228
|
TextInput,
|
|
7228
7229
|
{
|
|
7229
7230
|
label: "Webhook URL",
|
|
@@ -7233,7 +7234,7 @@ AUDDITUR_SECRET_KEY="${secKey}"
|
|
|
7233
7234
|
placeholder: "https://your-domain.com/webhook",
|
|
7234
7235
|
type: "url"
|
|
7235
7236
|
}
|
|
7236
|
-
), /* @__PURE__ */ import_react103.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center justify-between mt-2 gap-2" }, /* @__PURE__ */ import_react103.default.createElement("p", { className: "text-xs text-stone-500 leading-relaxed" }, "We will send secure POST requests to this endpoint when significant events occur. Must use HTTPS."), /* @__PURE__ */ import_react103.default.createElement("span", { className: `text-[10px] tracking-widest
|
|
7237
|
+
), /* @__PURE__ */ import_react103.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center justify-between mt-2 gap-2" }, /* @__PURE__ */ import_react103.default.createElement("p", { className: "text-xs text-stone-500 leading-relaxed" }, "We will send secure POST requests to this endpoint when significant events occur. Must use HTTPS."), /* @__PURE__ */ import_react103.default.createElement("span", { className: `text-[10px] tracking-widest ${webhookUrl ? "text-emerald-600" : "text-stone-400"}` }, webhookUrl ? "Active" : "Inactive"))), /* @__PURE__ */ import_react103.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ import_react103.default.createElement(
|
|
7237
7238
|
ThreeDActionButton,
|
|
7238
7239
|
{
|
|
7239
7240
|
type: "submit",
|
|
@@ -7247,7 +7248,7 @@ AUDDITUR_SECRET_KEY="${secKey}"
|
|
|
7247
7248
|
{
|
|
7248
7249
|
type: "button",
|
|
7249
7250
|
onClick: () => setWebhookUrl(initialWebhookUrl),
|
|
7250
|
-
className: "px-4 py-2 text-stone-500 hover:text-black transition-colors outline-none text-xs
|
|
7251
|
+
className: "px-4 py-2 text-stone-500 hover:text-black transition-colors outline-none text-xs "
|
|
7251
7252
|
},
|
|
7252
7253
|
"Cancel"
|
|
7253
7254
|
))))), /* @__PURE__ */ import_react103.default.createElement(
|
|
@@ -7271,6 +7272,7 @@ var import_react105 = __toESM(require("react"));
|
|
|
7271
7272
|
var import_react106 = require("@hugeicons/react");
|
|
7272
7273
|
var import_core_free_icons42 = require("@hugeicons/core-free-icons");
|
|
7273
7274
|
var UniversalApplicationPage2 = ({
|
|
7275
|
+
onBackHref = "/app",
|
|
7274
7276
|
userRole = "MEMBER",
|
|
7275
7277
|
applications,
|
|
7276
7278
|
isLoading,
|
|
@@ -7304,7 +7306,7 @@ var UniversalApplicationPage2 = ({
|
|
|
7304
7306
|
"REJECTED",
|
|
7305
7307
|
"QUERIED"
|
|
7306
7308
|
];
|
|
7307
|
-
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(
|
|
7308
7310
|
"input",
|
|
7309
7311
|
{
|
|
7310
7312
|
type: "text",
|
|
@@ -7356,7 +7358,7 @@ var import_react108 = require("@hugeicons/react");
|
|
|
7356
7358
|
var import_core_free_icons43 = require("@hugeicons/core-free-icons");
|
|
7357
7359
|
var formatType2 = (type) => type.split("_").map((w) => w[0] + w.slice(1).toLowerCase()).join(" ");
|
|
7358
7360
|
var UniversalApplicationDetails = ({
|
|
7359
|
-
onBackHref,
|
|
7361
|
+
onBackHref = "/app",
|
|
7360
7362
|
application,
|
|
7361
7363
|
canDelete,
|
|
7362
7364
|
onDeleteSubmit
|
|
@@ -7387,7 +7389,7 @@ var UniversalApplicationDetails = ({
|
|
|
7387
7389
|
onClose: () => setConfirmDialog(false),
|
|
7388
7390
|
onConfirm: handleDelete
|
|
7389
7391
|
}
|
|
7390
|
-
), /* @__PURE__ */ import_react107.default.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ import_react107.default.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#d97757] hover:text-[#d97757] transition-colors text-sm outline-none" }, /* @__PURE__ */ import_react107.default.createElement(import_react108.HugeiconsIcon, { icon: import_core_free_icons43.ArrowLeft01Icon, size: 16 }), " Back")), /* @__PURE__ */ import_react107.default.createElement("div", { className: "mb-8 px-1 flex flex-col sm:flex-row sm:items-center justify-between gap-4" }, /* @__PURE__ */ import_react107.default.createElement("div", null, /* @__PURE__ */ import_react107.default.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Application Details"), /* @__PURE__ */ import_react107.default.createElement("p", { className: "text-xs text-stone-500" }, "Review your filing entity and access its workspace.")), /* @__PURE__ */ import_react107.default.createElement("div", { className: "px-4 py-1.5 bg-stone-200 text-stone-600 rounded-full text-xs self-start sm:self-auto
|
|
7392
|
+
), /* @__PURE__ */ import_react107.default.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ import_react107.default.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#d97757] hover:text-[#d97757] transition-colors text-sm outline-none" }, /* @__PURE__ */ import_react107.default.createElement(import_react108.HugeiconsIcon, { icon: import_core_free_icons43.ArrowLeft01Icon, size: 16 }), " Back")), /* @__PURE__ */ import_react107.default.createElement("div", { className: "mb-8 px-1 flex flex-col sm:flex-row sm:items-center justify-between gap-4" }, /* @__PURE__ */ import_react107.default.createElement("div", null, /* @__PURE__ */ import_react107.default.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Application Details"), /* @__PURE__ */ import_react107.default.createElement("p", { className: "text-xs text-stone-500" }, "Review your filing entity and access its workspace.")), /* @__PURE__ */ import_react107.default.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__ */ import_react107.default.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ import_react107.default.createElement("div", { className: "flex flex-col gap-1 w-full" }, /* @__PURE__ */ import_react107.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Target Company"), /* @__PURE__ */ import_react107.default.createElement("span", { className: "text-sm text-black py-2 " }, application.name)), /* @__PURE__ */ import_react107.default.createElement("div", { className: "flex flex-col gap-1 w-full border-t border-stone-100 pt-6" }, /* @__PURE__ */ import_react107.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Filing Type"), /* @__PURE__ */ import_react107.default.createElement("span", { className: "text-sm text-black py-2" }, formatType2(application.type))), /* @__PURE__ */ import_react107.default.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-3 pt-6 mt-2 border-t border-stone-100" }, /* @__PURE__ */ import_react107.default.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__ */ import_react107.default.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__ */ import_react107.default.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"))));
|
|
7391
7393
|
};
|
|
7392
7394
|
|
|
7393
7395
|
// src/components/UniversalCreateApplication.tsx
|
|
@@ -7402,7 +7404,7 @@ var MemberAvatar6 = ({ src, sizeClass = "w-10 h-10" }) => {
|
|
|
7402
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) })));
|
|
7403
7405
|
};
|
|
7404
7406
|
var UniversalCreateApplication = ({
|
|
7405
|
-
onBackHref,
|
|
7407
|
+
onBackHref = "/app",
|
|
7406
7408
|
userRole = "MEMBER",
|
|
7407
7409
|
applicationTypesMeta = [],
|
|
7408
7410
|
members,
|
|
@@ -7519,7 +7521,7 @@ var UniversalCreateApplication = ({
|
|
|
7519
7521
|
);
|
|
7520
7522
|
})))), showCompaniesModal && canManage && /* @__PURE__ */ import_react109.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react109.default.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowCompaniesModal(false) }), /* @__PURE__ */ import_react109.default.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__ */ import_react109.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ import_react109.default.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Select Company"), /* @__PURE__ */ import_react109.default.createElement("button", { onClick: () => setShowCompaniesModal(false), className: "text-[#d97757] outline-none text-sm" }, "Done")), /* @__PURE__ */ import_react109.default.createElement("div", { className: "p-4 shrink-0" }, /* @__PURE__ */ import_react109.default.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ import_react109.default.createElement(import_react110.HugeiconsIcon, { icon: import_core_free_icons44.Search01Icon, size: 16, className: "text-stone-400 absolute left-4 top-1/2 -translate-y-1/2 pointer-events-none" }), /* @__PURE__ */ import_react109.default.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__ */ import_react109.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, isCompaniesLoading ? /* @__PURE__ */ import_react109.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ import_react109.default.createElement(import_react110.HugeiconsIcon, { icon: import_core_free_icons44.Loading03Icon, size: 28, className: "animate-spin text-black" })) : companies.length === 0 ? /* @__PURE__ */ import_react109.default.createElement("div", { className: "p-8 text-center text-xs text-stone-400" }, "No companies available.") : companies.map((comp) => /* @__PURE__ */ import_react109.default.createElement("div", { key: comp.id, onClick: () => {
|
|
7521
7523
|
setSelectedCompanyId(comp.id);
|
|
7522
|
-
}, className: "flex items-center justify-between p-3 rounded-xl cursor-pointer hover:bg-stone-50 transition-colors" }, /* @__PURE__ */ import_react109.default.createElement("div", { className: "flex flex-col min-w-0 flex-1 pl-2" }, /* @__PURE__ */ import_react109.default.createElement("span", { className: "text-sm text-black truncate" }, comp.name), /* @__PURE__ */ import_react109.default.createElement("div", { className: "flex items-center gap-2 mt-0.5" }, /* @__PURE__ */ import_react109.default.createElement("span", { className: "text-[10px] text-stone-500 tracking-widest
|
|
7524
|
+
}, className: "flex items-center justify-between p-3 rounded-xl cursor-pointer hover:bg-stone-50 transition-colors" }, /* @__PURE__ */ import_react109.default.createElement("div", { className: "flex flex-col min-w-0 flex-1 pl-2" }, /* @__PURE__ */ import_react109.default.createElement("span", { className: "text-sm text-black truncate" }, comp.name), /* @__PURE__ */ import_react109.default.createElement("div", { className: "flex items-center gap-2 mt-0.5" }, /* @__PURE__ */ import_react109.default.createElement("span", { className: "text-[10px] text-stone-500 tracking-widest " }, "Applications: ", comp.applicationsCount || 0), comp.isPrivate && /* @__PURE__ */ import_react109.default.createElement("span", { className: "text-[10px] text-[#d97757] tracking-widest " }, "Private"))), selectedCompanyId === comp.id && /* @__PURE__ */ import_react109.default.createElement(import_react110.HugeiconsIcon, { icon: import_core_free_icons44.CheckmarkCircle02Icon, size: 16, className: "text-[#d97757] mr-2" })))), /* @__PURE__ */ import_react109.default.createElement("div", { className: "p-4 flex items-center justify-between shrink-0 bg-white" }, /* @__PURE__ */ import_react109.default.createElement("span", { className: "text-xs text-stone-400 tracking-widest" }, "Page ", companiesCurrentPage, " of ", companiesTotalPages || 1), /* @__PURE__ */ import_react109.default.createElement("div", { className: "flex gap-1" }, /* @__PURE__ */ import_react109.default.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__ */ import_react109.default.createElement(import_react110.HugeiconsIcon, { icon: import_core_free_icons44.ArrowLeft01Icon, size: 12 })), /* @__PURE__ */ import_react109.default.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__ */ import_react109.default.createElement(import_react110.HugeiconsIcon, { icon: import_core_free_icons44.ArrowRight01Icon, size: 12 })))))), showMembersModal && canManage && /* @__PURE__ */ import_react109.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react109.default.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowMembersModal(false) }), /* @__PURE__ */ import_react109.default.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__ */ import_react109.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ import_react109.default.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Assign Members"), /* @__PURE__ */ import_react109.default.createElement("button", { onClick: () => setShowMembersModal(false), className: "text-[#d97757] outline-none text-sm" }, "Done")), /* @__PURE__ */ import_react109.default.createElement("div", { className: "p-4 shrink-0" }, /* @__PURE__ */ import_react109.default.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ import_react109.default.createElement(import_react110.HugeiconsIcon, { icon: import_core_free_icons44.Search01Icon, size: 16, className: "text-stone-400 absolute left-4 top-1/2 -translate-y-1/2 pointer-events-none" }), /* @__PURE__ */ import_react109.default.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__ */ import_react109.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, isMembersLoading ? /* @__PURE__ */ import_react109.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ import_react109.default.createElement(import_react110.HugeiconsIcon, { icon: import_core_free_icons44.Loading03Icon, size: 28, className: "animate-spin text-black" })) : members.length === 0 ? /* @__PURE__ */ import_react109.default.createElement("div", { className: "p-8 text-center text-xs text-stone-400" }, "No members found.") : members.map((member) => {
|
|
7523
7525
|
const isChecked = selectedParticipants.has(member.userId);
|
|
7524
7526
|
return /* @__PURE__ */ import_react109.default.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__ */ import_react109.default.createElement("div", { className: "flex items-center gap-3 min-w-0 flex-1" }, /* @__PURE__ */ import_react109.default.createElement(MemberAvatar6, { src: member.avatarUrl, sizeClass: "w-9 h-9" }), /* @__PURE__ */ import_react109.default.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ import_react109.default.createElement("span", { className: "text-sm text-black truncate" }, member.fullName), /* @__PURE__ */ import_react109.default.createElement("span", { className: "text-xs text-stone-400 capitalize truncate" }, member.role.toLowerCase()))), /* @__PURE__ */ import_react109.default.createElement("div", { className: "shrink-0 pl-3" }, /* @__PURE__ */ import_react109.default.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__ */ import_react109.default.createElement(import_react110.HugeiconsIcon, { icon: import_core_free_icons44.Tick02Icon, size: 14, className: "text-white" }))));
|
|
7525
7527
|
})), /* @__PURE__ */ import_react109.default.createElement("div", { className: "p-4 flex items-center justify-between shrink-0 bg-white" }, /* @__PURE__ */ import_react109.default.createElement("span", { className: "text-xs text-stone-400 tracking-widest" }, "Page ", membersCurrentPage, " of ", membersTotalPages || 1), /* @__PURE__ */ import_react109.default.createElement("div", { className: "flex gap-1" }, /* @__PURE__ */ import_react109.default.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__ */ import_react109.default.createElement(import_react110.HugeiconsIcon, { icon: import_core_free_icons44.ArrowLeft01Icon, size: 12 })), /* @__PURE__ */ import_react109.default.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__ */ import_react109.default.createElement(import_react110.HugeiconsIcon, { icon: import_core_free_icons44.ArrowRight01Icon, size: 12 })))))));
|
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,
|
|
@@ -4760,7 +4760,7 @@ var CircularLogo = ({ src, alt, fallbackText }) => {
|
|
|
4760
4760
|
onError: () => setHasError(true),
|
|
4761
4761
|
className: `w-full h-full object-cover transition-opacity duration-300 ${isLoaded ? "opacity-100" : "opacity-0"}`
|
|
4762
4762
|
}
|
|
4763
|
-
)) : /* @__PURE__ */ React48.createElement("span", { className: "text-xs text-black
|
|
4763
|
+
)) : /* @__PURE__ */ React48.createElement("span", { className: "text-xs text-black " }, fallbackText.substring(0, 2)));
|
|
4764
4764
|
};
|
|
4765
4765
|
var DEFAULT_NETWORK_REGEX = {
|
|
4766
4766
|
EVM: /^0x[a-fA-F0-9]{40}$/,
|
|
@@ -6341,7 +6341,7 @@ var HomeHuddleCalendar = ({
|
|
|
6341
6341
|
className: "w-8 h-8 flex items-center justify-center rounded-full border border-stone-200 hover:bg-stone-100 outline-none transition-colors"
|
|
6342
6342
|
},
|
|
6343
6343
|
/* @__PURE__ */ React54.createElement(HugeiconsIcon40, { icon: ArrowRight01Icon15, size: 16, className: "text-black" })
|
|
6344
|
-
))), /* @__PURE__ */ React54.createElement("div", { className: "grid grid-cols-7 gap-y-2 gap-x-1" }, DAYS_OF_WEEK2.map((d) => /* @__PURE__ */ React54.createElement("div", { key: d, className: "text-center text-[11px] text-stone-400 py-2
|
|
6344
|
+
))), /* @__PURE__ */ React54.createElement("div", { className: "grid grid-cols-7 gap-y-2 gap-x-1" }, DAYS_OF_WEEK2.map((d) => /* @__PURE__ */ React54.createElement("div", { key: d, className: "text-center text-[11px] text-stone-400 py-2 tracking-widest" }, d)), Array.from({ length: firstDayOffset }).map((_, i) => /* @__PURE__ */ React54.createElement("div", { key: `empty-${i}` })), Array.from({ length: daysInMonth }).map((_, i) => {
|
|
6345
6345
|
const day = i + 1;
|
|
6346
6346
|
const thisDate = new Date(viewYear, viewMonth, day);
|
|
6347
6347
|
const isSelected = selectedDate.getFullYear() === viewYear && selectedDate.getMonth() === viewMonth && selectedDate.getDate() === day;
|
|
@@ -6363,7 +6363,7 @@ var HomeHuddleCalendar = ({
|
|
|
6363
6363
|
dayEventsCount
|
|
6364
6364
|
)
|
|
6365
6365
|
));
|
|
6366
|
-
}))), /* @__PURE__ */ React54.createElement("div", { className: "flex flex-col gap-4 bg-white rounded-2xl p-6 relative min-h-37.5" }, /* @__PURE__ */ React54.createElement("div", { className: "flex items-center justify-between pb-4" }, /* @__PURE__ */ React54.createElement("h3", { className: "text-sm text-black " }, isSearching ? "Search Results" : `Events for ${selectedDate.toLocaleDateString("en-GB", { day: "numeric", month: "short", year: "numeric" })}`), /* @__PURE__ */ React54.createElement("span", { className: "text-[10px]
|
|
6366
|
+
}))), /* @__PURE__ */ React54.createElement("div", { className: "flex flex-col gap-4 bg-white rounded-2xl p-6 relative min-h-37.5" }, /* @__PURE__ */ React54.createElement("div", { className: "flex items-center justify-between pb-4" }, /* @__PURE__ */ React54.createElement("h3", { className: "text-sm text-black " }, isSearching ? "Search Results" : `Events for ${selectedDate.toLocaleDateString("en-GB", { day: "numeric", month: "short", year: "numeric" })}`), /* @__PURE__ */ React54.createElement("span", { className: "text-[10px] tracking-widest text-stone-400 " }, displayedEvents.length, " ", displayedEvents.length === 1 ? "Session" : "Sessions")), /* @__PURE__ */ React54.createElement("div", { className: "flex flex-col min-w-0 pt-2" }, isLoading ? /* @__PURE__ */ React54.createElement("div", { className: "py-8 flex flex-col items-center justify-center text-center" }, /* @__PURE__ */ React54.createElement(HugeiconsIcon40, { icon: Loading03Icon28, size: 28, className: "animate-spin text-stone-400" })) : displayedEvents.length === 0 ? /* @__PURE__ */ React54.createElement("div", { className: "py-8 flex flex-col items-center justify-center text-center" }, /* @__PURE__ */ React54.createElement("p", { className: "text-xs text-stone-400" }, isSearching ? "No sessions found for this search." : "No sessions scheduled for this date.")) : displayedEvents.map((huddle) => /* @__PURE__ */ React54.createElement(
|
|
6367
6367
|
"div",
|
|
6368
6368
|
{
|
|
6369
6369
|
key: huddle.id,
|
|
@@ -6373,7 +6373,7 @@ var HomeHuddleCalendar = ({
|
|
|
6373
6373
|
/* @__PURE__ */ React54.createElement(HuddleAvatar2, { timeString: huddle.timeString, status: huddle.status }),
|
|
6374
6374
|
/* @__PURE__ */ React54.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ React54.createElement("p", { className: "text-sm text-black tracking-tight truncate" }, huddle.name), /* @__PURE__ */ React54.createElement("span", { className: "text-[11px] text-stone-500 truncate block mt-1 tracking-wide" }, isSearching ? huddle.timeString : huddle.timeString.split("|")[1]?.trim() || huddle.timeString)),
|
|
6375
6375
|
/* @__PURE__ */ React54.createElement(HugeiconsIcon40, { icon: ArrowRight01Icon15, size: 14, className: "shrink-0 text-stone-400 group-hover:text-black transition-colors" })
|
|
6376
|
-
)))), huddles.length > 0 && !isLoading && /* @__PURE__ */ React54.createElement("div", { className: "flex items-center justify-between pt-6 mt-4 mb-2" }, /* @__PURE__ */ React54.createElement("span", { className: "text-[10px] text-stone-400 tracking-widest
|
|
6376
|
+
)))), huddles.length > 0 && !isLoading && /* @__PURE__ */ React54.createElement("div", { className: "flex items-center justify-between pt-6 mt-4 mb-2" }, /* @__PURE__ */ React54.createElement("span", { className: "text-[10px] text-stone-400 tracking-widest " }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ React54.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React54.createElement(
|
|
6377
6377
|
"button",
|
|
6378
6378
|
{
|
|
6379
6379
|
onClick: () => onPageChange(currentPage - 1),
|
|
@@ -6415,7 +6415,7 @@ var formatType = (type) => {
|
|
|
6415
6415
|
return type.split("_").map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()).join(" ");
|
|
6416
6416
|
};
|
|
6417
6417
|
var ApplicationIcon = ({ icon, sizeClass = "w-10 h-10" }) => {
|
|
6418
|
-
return /* @__PURE__ */ React55.createElement("div", { className: `relative shrink-0 aspect-square ${sizeClass}` }, /* @__PURE__ */ React55.createElement("div", { className: "w-full h-full aspect-square rounded-lg bg-neutral-50 flex items-center justify-center overflow-hidden" }, icon ? /* @__PURE__ */ React55.createElement(HugeiconsIcon41, { icon, size:
|
|
6418
|
+
return /* @__PURE__ */ React55.createElement("div", { className: `relative shrink-0 aspect-square ${sizeClass}` }, /* @__PURE__ */ React55.createElement("div", { className: "w-full h-full aspect-square rounded-lg bg-neutral-50 flex items-center justify-center overflow-hidden" }, icon ? /* @__PURE__ */ React55.createElement(HugeiconsIcon41, { icon, size: 18, className: "text-stone-500" }) : /* @__PURE__ */ React55.createElement("div", { className: "w-4 h-4 rounded-sm bg-stone-300" })));
|
|
6419
6419
|
};
|
|
6420
6420
|
var PageSpinner9 = () => /* @__PURE__ */ React55.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React55.createElement(HugeiconsIcon41, { icon: Loading03Icon29, size: 32, className: "animate-spin mb-4 text-black" }));
|
|
6421
6421
|
var UniversalApplicationsPage = ({
|
|
@@ -6441,7 +6441,7 @@ var UniversalApplicationsPage = ({
|
|
|
6441
6441
|
{
|
|
6442
6442
|
key: app.id,
|
|
6443
6443
|
onClick: () => onApplicationClick(app.id),
|
|
6444
|
-
className: "flex flex-row items-center gap-4 py-2 hover:bg-stone-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-
|
|
6444
|
+
className: "flex flex-row items-center gap-4 py-2 hover:bg-stone-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-full"
|
|
6445
6445
|
},
|
|
6446
6446
|
/* @__PURE__ */ React55.createElement(ApplicationIcon, { icon: app.icon }),
|
|
6447
6447
|
/* @__PURE__ */ React55.createElement("div", { className: "flex flex-col min-w-0 flex-1" }, /* @__PURE__ */ React55.createElement("p", { className: "text-sm text-black tracking-tight truncate" }, app.name || "Unnamed Application"), /* @__PURE__ */ React55.createElement("span", { className: "text-xs text-stone-500 truncate block mt-0.5" }, formatType(app.type), " ", /* @__PURE__ */ React55.createElement("span", { className: "mx-1 text-stone-300" }, "|"), " ", app.timeString)),
|
|
@@ -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,19 +6785,19 @@ 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)
|
|
6799
6799
|
);
|
|
6800
|
-
}), showLogoutAction && /* @__PURE__ */ React57.createElement("div",
|
|
6800
|
+
}), showLogoutAction && /* @__PURE__ */ React57.createElement("div", null, /* @__PURE__ */ React57.createElement(
|
|
6801
6801
|
"button",
|
|
6802
6802
|
{
|
|
6803
6803
|
onClick: () => {
|
|
@@ -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 || "");
|
|
@@ -7213,7 +7216,9 @@ import toast19 from "react-hot-toast";
|
|
|
7213
7216
|
import { HugeiconsIcon as HugeiconsIcon45 } from "@hugeicons/react";
|
|
7214
7217
|
import {
|
|
7215
7218
|
ArrowLeft01Icon as ArrowLeft01Icon24,
|
|
7216
|
-
CircleLock02Icon as CircleLock02Icon6
|
|
7219
|
+
CircleLock02Icon as CircleLock02Icon6,
|
|
7220
|
+
Loading03Icon as Loading03Icon32,
|
|
7221
|
+
RefreshIcon
|
|
7217
7222
|
} from "@hugeicons/core-free-icons";
|
|
7218
7223
|
var UniversalDeveloperSettings = ({
|
|
7219
7224
|
onBackHref = "/app",
|
|
@@ -7288,7 +7293,7 @@ AUDDITUR_SECRET_KEY="${secKey}"
|
|
|
7288
7293
|
};
|
|
7289
7294
|
const hasWebhookChanges = webhookUrl !== initialWebhookUrl;
|
|
7290
7295
|
const isWebhookSaveDisabled = isSavingWebhook || isReadOnly || !hasWebhookChanges;
|
|
7291
|
-
return /* @__PURE__ */ React59.createElement("div", { className: "w-full max-w-4xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ React59.createElement(ManagedToaster, null), /* @__PURE__ */ React59.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React59.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#d97757] hover:text-[#d97757] transition-colors text-sm outline-none" }, /* @__PURE__ */ React59.createElement(HugeiconsIcon45, { icon: ArrowLeft01Icon24, size: 16 }), " Back")), /* @__PURE__ */ React59.createElement("div", { className: "flex flex-col gap-1 mb-6 px-1" }, /* @__PURE__ */ React59.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Developer Settings"), /* @__PURE__ */ React59.createElement("p", { className: "text-xs text-stone-500" }, "Manage your API credentials and webhook integrations.")), /* @__PURE__ */ React59.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, isReadOnly && /* @__PURE__ */ React59.createElement("div", { className: "flex items-start gap-3 p-4 bg-stone-50 rounded-xl" }, /* @__PURE__ */ React59.createElement(HugeiconsIcon45, { icon: CircleLock02Icon6, size: 20, className: "text-stone-500 shrink-0 mt-0.5" }), /* @__PURE__ */ React59.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React59.createElement("span", { className: "text-sm text-black tracking-tight" }, "Access Restricted"), /* @__PURE__ */ React59.createElement("span", { className: "text-xs text-stone-500 mt-1 leading-relaxed" }, "You lack clearance to modify developer settings. Only Owners, Admins, or Managers can roll keys or update webhooks."))), /* @__PURE__ */ React59.createElement("div", { className: "flex flex-col gap-8" }, /* @__PURE__ */ React59.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React59.createElement("div", { className: "
|
|
7296
|
+
return /* @__PURE__ */ React59.createElement("div", { className: "w-full max-w-4xl mx-auto flex flex-col animate-in fade-in duration-300 relative" }, /* @__PURE__ */ React59.createElement(ManagedToaster, null), /* @__PURE__ */ React59.createElement("div", { className: "mb-6 flex w-full items-center px-1" }, /* @__PURE__ */ React59.createElement("a", { href: onBackHref, className: "flex items-center gap-2 text-[#d97757] hover:text-[#d97757] transition-colors text-sm outline-none" }, /* @__PURE__ */ React59.createElement(HugeiconsIcon45, { icon: ArrowLeft01Icon24, size: 16 }), " Back")), /* @__PURE__ */ React59.createElement("div", { className: "flex flex-col gap-1 mb-6 px-1" }, /* @__PURE__ */ React59.createElement("h1", { className: "text-black text-xl tracking-tight" }, "Developer Settings"), /* @__PURE__ */ React59.createElement("p", { className: "text-xs text-stone-500" }, "Manage your API credentials and webhook integrations.")), /* @__PURE__ */ React59.createElement("div", { className: "flex flex-col gap-8 animate-in rounded-2xl p-6 bg-white fade-in duration-300" }, isReadOnly && /* @__PURE__ */ React59.createElement("div", { className: "flex items-start gap-3 p-4 bg-stone-50 rounded-xl" }, /* @__PURE__ */ React59.createElement(HugeiconsIcon45, { icon: CircleLock02Icon6, size: 20, className: "text-stone-500 shrink-0 mt-0.5" }), /* @__PURE__ */ React59.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React59.createElement("span", { className: "text-sm text-black tracking-tight" }, "Access Restricted"), /* @__PURE__ */ React59.createElement("span", { className: "text-xs text-stone-500 mt-1 leading-relaxed" }, "You lack clearance to modify developer settings. Only Owners, Admins, or Managers can roll keys or update webhooks."))), /* @__PURE__ */ React59.createElement("div", { className: "flex flex-col gap-8" }, /* @__PURE__ */ React59.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React59.createElement("div", { className: "w-full" }, /* @__PURE__ */ React59.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ React59.createElement(
|
|
7292
7297
|
TextInput,
|
|
7293
7298
|
{
|
|
7294
7299
|
label: "Public Key",
|
|
@@ -7298,20 +7303,19 @@ AUDDITUR_SECRET_KEY="${secKey}"
|
|
|
7298
7303
|
disabled: true,
|
|
7299
7304
|
placeholder: "pk_live_..."
|
|
7300
7305
|
}
|
|
7301
|
-
),
|
|
7302
|
-
|
|
7306
|
+
), !isReadOnly && /* @__PURE__ */ React59.createElement(
|
|
7307
|
+
"button",
|
|
7303
7308
|
{
|
|
7304
7309
|
type: "button",
|
|
7305
7310
|
onClick: () => {
|
|
7306
7311
|
if (publicKey) setIsRollModalOpen(true);
|
|
7307
7312
|
else handleGenerateKeys();
|
|
7308
7313
|
},
|
|
7309
|
-
disabled: isGenerating
|
|
7310
|
-
|
|
7311
|
-
className: "w-full sm:w-auto min-w-40"
|
|
7314
|
+
disabled: isGenerating,
|
|
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"
|
|
7312
7316
|
},
|
|
7313
|
-
|
|
7314
|
-
))), /* @__PURE__ */ React59.createElement("form", { className: "flex flex-col gap-6
|
|
7317
|
+
isGenerating ? /* @__PURE__ */ React59.createElement(HugeiconsIcon45, { icon: Loading03Icon32, size: 14, className: "animate-spin" }) : /* @__PURE__ */ React59.createElement(HugeiconsIcon45, { icon: RefreshIcon, size: 14 })
|
|
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(
|
|
7315
7319
|
TextInput,
|
|
7316
7320
|
{
|
|
7317
7321
|
label: "Webhook URL",
|
|
@@ -7321,7 +7325,7 @@ AUDDITUR_SECRET_KEY="${secKey}"
|
|
|
7321
7325
|
placeholder: "https://your-domain.com/webhook",
|
|
7322
7326
|
type: "url"
|
|
7323
7327
|
}
|
|
7324
|
-
), /* @__PURE__ */ React59.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center justify-between mt-2 gap-2" }, /* @__PURE__ */ React59.createElement("p", { className: "text-xs text-stone-500 leading-relaxed" }, "We will send secure POST requests to this endpoint when significant events occur. Must use HTTPS."), /* @__PURE__ */ React59.createElement("span", { className: `text-[10px] tracking-widest
|
|
7328
|
+
), /* @__PURE__ */ React59.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center justify-between mt-2 gap-2" }, /* @__PURE__ */ React59.createElement("p", { className: "text-xs text-stone-500 leading-relaxed" }, "We will send secure POST requests to this endpoint when significant events occur. Must use HTTPS."), /* @__PURE__ */ React59.createElement("span", { className: `text-[10px] tracking-widest ${webhookUrl ? "text-emerald-600" : "text-stone-400"}` }, webhookUrl ? "Active" : "Inactive"))), /* @__PURE__ */ React59.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React59.createElement(
|
|
7325
7329
|
ThreeDActionButton,
|
|
7326
7330
|
{
|
|
7327
7331
|
type: "submit",
|
|
@@ -7335,7 +7339,7 @@ AUDDITUR_SECRET_KEY="${secKey}"
|
|
|
7335
7339
|
{
|
|
7336
7340
|
type: "button",
|
|
7337
7341
|
onClick: () => setWebhookUrl(initialWebhookUrl),
|
|
7338
|
-
className: "px-4 py-2 text-stone-500 hover:text-black transition-colors outline-none text-xs
|
|
7342
|
+
className: "px-4 py-2 text-stone-500 hover:text-black transition-colors outline-none text-xs "
|
|
7339
7343
|
},
|
|
7340
7344
|
"Cancel"
|
|
7341
7345
|
))))), /* @__PURE__ */ React59.createElement(
|
|
@@ -7358,10 +7362,12 @@ AUDDITUR_SECRET_KEY="${secKey}"
|
|
|
7358
7362
|
import React60, { useState as useState44, useRef as useRef18 } from "react";
|
|
7359
7363
|
import { HugeiconsIcon as HugeiconsIcon46 } from "@hugeicons/react";
|
|
7360
7364
|
import {
|
|
7365
|
+
ArrowLeft01Icon as ArrowLeft01Icon25,
|
|
7361
7366
|
Search01Icon as Search01Icon9,
|
|
7362
7367
|
SearchList02Icon as SearchList02Icon4
|
|
7363
7368
|
} from "@hugeicons/core-free-icons";
|
|
7364
7369
|
var UniversalApplicationPage2 = ({
|
|
7370
|
+
onBackHref = "/app",
|
|
7365
7371
|
userRole = "MEMBER",
|
|
7366
7372
|
applications,
|
|
7367
7373
|
isLoading,
|
|
@@ -7395,7 +7401,7 @@ var UniversalApplicationPage2 = ({
|
|
|
7395
7401
|
"REJECTED",
|
|
7396
7402
|
"QUERIED"
|
|
7397
7403
|
];
|
|
7398
|
-
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(
|
|
7399
7405
|
"input",
|
|
7400
7406
|
{
|
|
7401
7407
|
type: "text",
|
|
@@ -7444,10 +7450,10 @@ var UniversalApplicationPage2 = ({
|
|
|
7444
7450
|
// src/components/UniversalApplicationDetails.tsx
|
|
7445
7451
|
import React61, { useState as useState45 } from "react";
|
|
7446
7452
|
import { HugeiconsIcon as HugeiconsIcon47 } from "@hugeicons/react";
|
|
7447
|
-
import { ArrowLeft01Icon as
|
|
7453
|
+
import { ArrowLeft01Icon as ArrowLeft01Icon26 } from "@hugeicons/core-free-icons";
|
|
7448
7454
|
var formatType2 = (type) => type.split("_").map((w) => w[0] + w.slice(1).toLowerCase()).join(" ");
|
|
7449
7455
|
var UniversalApplicationDetails = ({
|
|
7450
|
-
onBackHref,
|
|
7456
|
+
onBackHref = "/app",
|
|
7451
7457
|
application,
|
|
7452
7458
|
canDelete,
|
|
7453
7459
|
onDeleteSubmit
|
|
@@ -7478,7 +7484,7 @@ var UniversalApplicationDetails = ({
|
|
|
7478
7484
|
onClose: () => setConfirmDialog(false),
|
|
7479
7485
|
onConfirm: handleDelete
|
|
7480
7486
|
}
|
|
7481
|
-
), /* @__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"))));
|
|
7482
7488
|
};
|
|
7483
7489
|
|
|
7484
7490
|
// src/components/UniversalCreateApplication.tsx
|
|
@@ -7486,9 +7492,9 @@ import React62, { useState as useState46, useRef as useRef19, useEffect as useEf
|
|
|
7486
7492
|
import toast20 from "react-hot-toast";
|
|
7487
7493
|
import { HugeiconsIcon as HugeiconsIcon48 } from "@hugeicons/react";
|
|
7488
7494
|
import {
|
|
7489
|
-
ArrowLeft01Icon as
|
|
7495
|
+
ArrowLeft01Icon as ArrowLeft01Icon27,
|
|
7490
7496
|
ArrowRight01Icon as ArrowRight01Icon19,
|
|
7491
|
-
Loading03Icon as
|
|
7497
|
+
Loading03Icon as Loading03Icon33,
|
|
7492
7498
|
Search01Icon as Search01Icon10,
|
|
7493
7499
|
CircleLock02Icon as CircleLock02Icon7,
|
|
7494
7500
|
CheckmarkCircle02Icon as CheckmarkCircle02Icon2,
|
|
@@ -7500,10 +7506,10 @@ var MemberAvatar6 = ({ src, sizeClass = "w-10 h-10" }) => {
|
|
|
7500
7506
|
const [loaded, setLoaded] = useState46(false);
|
|
7501
7507
|
const [error, setError] = useState46(false);
|
|
7502
7508
|
const defaultAvatar = "https://storage.googleapis.com/retina-cloud-v2/assets/images/avatar.avif";
|
|
7503
|
-
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:
|
|
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) })));
|
|
7504
7510
|
};
|
|
7505
7511
|
var UniversalCreateApplication = ({
|
|
7506
|
-
onBackHref,
|
|
7512
|
+
onBackHref = "/app",
|
|
7507
7513
|
userRole = "MEMBER",
|
|
7508
7514
|
applicationTypesMeta = [],
|
|
7509
7515
|
members,
|
|
@@ -7591,7 +7597,7 @@ var UniversalCreateApplication = ({
|
|
|
7591
7597
|
{ id: "EXISTING", label: "Select Company" },
|
|
7592
7598
|
{ id: "NEW", label: "New Company" }
|
|
7593
7599
|
];
|
|
7594
|
-
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) => {
|
|
7595
7601
|
const isActive = creationMode === tab.id;
|
|
7596
7602
|
return /* @__PURE__ */ React62.createElement(
|
|
7597
7603
|
"button",
|
|
@@ -7618,12 +7624,12 @@ var UniversalCreateApplication = ({
|
|
|
7618
7624
|
/* @__PURE__ */ React62.createElement("div", { className: "flex items-center justify-between gap-2" }, /* @__PURE__ */ React62.createElement("h4", { className: "text-xs text-black" }, item.label), isSelected && /* @__PURE__ */ React62.createElement(HugeiconsIcon48, { icon: CheckmarkCircle02Icon2, size: 16, className: "text-[#d97757] shrink-0" })),
|
|
7619
7625
|
/* @__PURE__ */ React62.createElement("p", { className: "text-[11px] text-stone-500 mt-1 leading-relaxed whitespace-normal wrap-break-word" }, item.desc)
|
|
7620
7626
|
);
|
|
7621
|
-
})))), 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:
|
|
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: () => {
|
|
7622
7628
|
setSelectedCompanyId(comp.id);
|
|
7623
|
-
}, 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
|
|
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) => {
|
|
7624
7630
|
const isChecked = selectedParticipants.has(member.userId);
|
|
7625
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" }))));
|
|
7626
|
-
})), /* @__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 })))))));
|
|
7627
7633
|
};
|
|
7628
7634
|
export {
|
|
7629
7635
|
AppBento2,
|