@retinalabsllc/zairusjs 4.0.2 → 4.0.3

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.mjs CHANGED
@@ -3479,9 +3479,79 @@ var UniversalDriveView = ({
3479
3479
  }, disabled: isSubmitting, className: "px-6 py-2.5 text-xs text-neutral-500 hover:bg-neutral-50 rounded-full outline-none disabled:opacity-50 transition-colors" }, "Cancel"), /* @__PURE__ */ React40.createElement(ThreeDActionButton, { type: "submit", isLoading: isSubmitting, disabled: !folderInputVal.trim() }, isNewFolderModalOpen ? "Create" : "Rename")))), infoModalItem && /* @__PURE__ */ React40.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React40.createElement("div", { className: "absolute inset-0 bg-black/30 ", onClick: () => setInfoModalItem(null) }), /* @__PURE__ */ React40.createElement("div", { className: "relative w-full max-w-sm bg-white shadow-2xl rounded-2xl p-8 flex flex-col gap-6 animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React40.createElement("div", null, /* @__PURE__ */ React40.createElement("h3", { className: "text-lg text-black tracking-tight mb-1" }, "Item Information"), /* @__PURE__ */ React40.createElement("p", { className: "text-[11px] text-neutral-400" }, "Details for the selected element.")), /* @__PURE__ */ React40.createElement("div", { className: "flex flex-col gap-4 bg-neutral-50 p-5 rounded-xl text-sm" }, /* @__PURE__ */ React40.createElement("div", { className: "flex justify-between items-center gap-4" }, /* @__PURE__ */ React40.createElement("span", { className: "text-neutral-400 text-xs" }, "Name:"), /* @__PURE__ */ React40.createElement("span", { className: "text-black text-xs font-medium truncate max-w-37.5" }, infoModalItem.name)), /* @__PURE__ */ React40.createElement("div", { className: "flex justify-between items-center gap-4" }, /* @__PURE__ */ React40.createElement("span", { className: "text-neutral-400 text-xs" }, "Type:"), /* @__PURE__ */ React40.createElement("span", { className: "text-black text-xs font-medium" }, infoModalItem.type)), /* @__PURE__ */ React40.createElement("div", { className: "flex justify-between items-center gap-4" }, /* @__PURE__ */ React40.createElement("span", { className: "text-neutral-400 text-xs" }, "Size:"), /* @__PURE__ */ React40.createElement("span", { className: "text-black text-xs font-medium" }, formatBytes(infoModalItem.size))), /* @__PURE__ */ React40.createElement("div", { className: "flex justify-between items-center gap-4" }, /* @__PURE__ */ React40.createElement("span", { className: "text-neutral-400 text-xs" }, "Modified:"), /* @__PURE__ */ React40.createElement("span", { className: "text-black text-xs font-medium" }, formatDate3(infoModalItem.updatedAt)))), /* @__PURE__ */ React40.createElement("div", { className: "flex items-center justify-end mt-2" }, /* @__PURE__ */ React40.createElement("button", { onClick: () => setInfoModalItem(null), className: "px-6 py-2.5 text-xs text-neutral-500 hover:bg-neutral-50 rounded-full outline-none transition-colors" }, "Close")))), explorer.isOpen && /* @__PURE__ */ React40.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4" }, /* @__PURE__ */ React40.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: () => !isSubmitting && setExplorer((p) => ({ ...p, isOpen: false })) }), /* @__PURE__ */ React40.createElement("div", { className: "relative w-full max-w-md bg-white shadow-2xl rounded-2xl p-6 flex flex-col gap-4 animate-in zoom-in-95 duration-200 min-h-100" }, /* @__PURE__ */ React40.createElement("div", null, /* @__PURE__ */ React40.createElement("h3", { className: "text-lg text-black tracking-tight mb-1 capitalize" }, explorer.action, " Items"), /* @__PURE__ */ React40.createElement("p", { className: "text-[11px] text-neutral-400" }, "Select destination directory.")), /* @__PURE__ */ React40.createElement("div", { className: "flex items-center gap-1.5 overflow-x-auto text-xs py-2 text-neutral-400 whitespace-nowrap" }, explorer.breadcrumbs.map((crumb, idx) => /* @__PURE__ */ React40.createElement(React40.Fragment, { key: idx }, idx > 0 && /* @__PURE__ */ React40.createElement("span", null, "/"), /* @__PURE__ */ React40.createElement("button", { disabled: explorer.loading, onClick: () => navigateExplorer(crumb.id), className: `hover:text-black outline-none ${idx === explorer.breadcrumbs.length - 1 ? "text-black " : ""}` }, crumb.name)))), /* @__PURE__ */ React40.createElement("div", { className: "flex-1 overflow-y-auto rounded-xl" }, explorer.loading ? /* @__PURE__ */ React40.createElement("div", { className: "h-full flex items-center justify-center p-10" }, /* @__PURE__ */ React40.createElement(HugeiconsIcon26, { icon: Loading03Icon12, className: "animate-spin text-neutral-400", size: 20 })) : explorer.folders.length === 0 ? /* @__PURE__ */ React40.createElement("div", { className: "h-full flex items-center justify-center p-10 text-xs text-neutral-400" }, "No Directories.") : /* @__PURE__ */ React40.createElement("div", { className: "divide-y divide-neutral-50" }, explorer.folders.map((f) => /* @__PURE__ */ React40.createElement("div", { key: f.id, onClick: () => navigateExplorer(f.id), className: "flex items-center gap-3 p-3 hover:bg-neutral-50 cursor-pointer transition-colors" }, /* @__PURE__ */ React40.createElement(HugeiconsIcon26, { icon: FolderIcon2, size: 16, className: "text-black" }), /* @__PURE__ */ React40.createElement("span", { className: "text-sm text-black truncate" }, f.name))))), /* @__PURE__ */ React40.createElement("div", { className: "flex items-center justify-end gap-3 mt-2" }, /* @__PURE__ */ React40.createElement("button", { onClick: () => setExplorer((p) => ({ ...p, isOpen: false })), disabled: isSubmitting, className: "px-6 py-2.5 text-xs text-neutral-500 hover:bg-neutral-50 rounded-full outline-none disabled:opacity-50 transition-colors" }, "Cancel"), /* @__PURE__ */ React40.createElement(ThreeDActionButton, { onClick: executeExplorerAction, isLoading: isSubmitting }, "Paste Here")))));
3480
3480
  };
3481
3481
 
3482
- // src/components/DriveItemOpener.tsx
3483
- import React41 from "react";
3482
+ // src/components/UniversalTrashView.tsx
3483
+ import React41, { useState as useState25, useEffect as useEffect17 } from "react";
3484
3484
  import { HugeiconsIcon as HugeiconsIcon27 } from "@hugeicons/react";
3485
+ import {
3486
+ Delete02Icon as Delete02Icon3,
3487
+ Loading03Icon as Loading03Icon13,
3488
+ ArrowLeft01Icon as ArrowLeft01Icon9,
3489
+ ArrowRight01Icon as ArrowRight01Icon8,
3490
+ RestoreBinIcon,
3491
+ RefreshIcon as RefreshIcon2
3492
+ } from "@hugeicons/core-free-icons";
3493
+ var UniversalTrashView = ({
3494
+ items,
3495
+ isLoading,
3496
+ searchQuery,
3497
+ currentPage,
3498
+ totalPages,
3499
+ onSearchChange,
3500
+ onRestoreItems,
3501
+ onDeletePermanently,
3502
+ onEmptyTrash,
3503
+ onPageChange,
3504
+ onRefresh
3505
+ }) => {
3506
+ const [selectedIds, setSelectedIds] = useState25([]);
3507
+ const [localSearch, setLocalSearch] = useState25(searchQuery);
3508
+ const [isSubmitting, setIsSubmitting] = useState25(false);
3509
+ useEffect17(() => {
3510
+ if (localSearch !== searchQuery) {
3511
+ const delay = setTimeout(() => {
3512
+ onSearchChange(localSearch);
3513
+ }, 1500);
3514
+ return () => clearTimeout(delay);
3515
+ }
3516
+ }, [localSearch, onSearchChange, searchQuery]);
3517
+ const formatBytes = (bytes) => {
3518
+ const num = Number(bytes);
3519
+ if (num === 0) return "0 Bytes";
3520
+ const k = 1024;
3521
+ const sizes = ["Bytes", "KB", "MB", "GB"];
3522
+ const i = Math.floor(Math.log(num) / Math.log(k));
3523
+ return parseFloat((num / Math.pow(k, i)).toFixed(1)) + " " + sizes[i];
3524
+ };
3525
+ const formatDate3 = (dateString) => {
3526
+ return new Date(dateString).toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" });
3527
+ };
3528
+ const handleRowClick = (id, e) => {
3529
+ if (e.ctrlKey || e.metaKey) {
3530
+ setSelectedIds((prev) => prev.includes(id) ? prev.filter((item) => item !== id) : [...prev, id]);
3531
+ } else {
3532
+ setSelectedIds([id]);
3533
+ }
3534
+ };
3535
+ const isUILocked = isLoading || isSubmitting;
3536
+ const lockClass = isUILocked ? "pointer-events-none opacity-60" : "";
3537
+ const executeAction = async (actionFn) => {
3538
+ setIsSubmitting(true);
3539
+ await actionFn();
3540
+ setSelectedIds([]);
3541
+ setIsSubmitting(false);
3542
+ };
3543
+ return /* @__PURE__ */ React41.createElement("div", { className: "flex flex-col gap-6 max-w-5xl w-full mx-auto p-6 bg-white rounded-2xl animate-in fade-in duration-300 relative" }, /* @__PURE__ */ React41.createElement(ManagedToaster, null), /* @__PURE__ */ React41.createElement("div", { className: `flex flex-col sm:flex-row sm:items-center justify-between gap-4 pb-4 transition-opacity ${lockClass}` }, /* @__PURE__ */ React41.createElement("div", null, /* @__PURE__ */ React41.createElement("h1", { className: "text-xl text-black tracking-tight mb-1" }, "Trash"), /* @__PURE__ */ React41.createElement("p", { className: "text-xs text-neutral-500" }, "Items in trash are deleted forever after 30 days.")), /* @__PURE__ */ React41.createElement("div", { className: "flex items-center gap-2 shrink-0" }, /* @__PURE__ */ React41.createElement("button", { onClick: onRefresh, title: "Refresh Directory", className: "p-2.5 bg-neutral-50 text-neutral-500 hover:text-black hover:bg-neutral-100 rounded-full transition-all outline-none" }, /* @__PURE__ */ React41.createElement(HugeiconsIcon27, { icon: RefreshIcon2, size: 18 })), /* @__PURE__ */ React41.createElement("div", { className: "w-px h-6 bg-neutral-200 mx-1" }), /* @__PURE__ */ React41.createElement("button", { onClick: () => executeAction(onEmptyTrash), className: "px-4 py-2 text-xs text-red-600 bg-red-50 hover:bg-red-100 rounded-full transition-all outline-none" }, "Empty Trash"))), /* @__PURE__ */ React41.createElement("div", { className: `flex flex-col sm:flex-row sm:items-center justify-between gap-4 ${lockClass}` }, /* @__PURE__ */ React41.createElement("div", { className: "w-full sm:max-w-xs relative" }, /* @__PURE__ */ React41.createElement("input", { type: "text", placeholder: "Search Trash...", value: localSearch, onChange: (e) => setLocalSearch(e.target.value), className: "w-full pl-4 pr-10 py-2.5 text-xs border border-neutral-100 rounded-full outline-none focus:border-black transition-colors" })), selectedIds.length > 0 && /* @__PURE__ */ React41.createElement("div", { className: "flex items-center gap-3 bg-neutral-50 px-4 py-2 rounded-full animate-in fade-in duration-200" }, /* @__PURE__ */ React41.createElement("span", { className: "text-[11px] tracking-widest text-neutral-500 " }, selectedIds.length, " Selected"), /* @__PURE__ */ React41.createElement("button", { onClick: () => executeAction(() => onRestoreItems(selectedIds)), className: "text-emerald-600 hover:text-emerald-700 p-1 flex items-center gap-1.5 text-xs outline-none" }, /* @__PURE__ */ React41.createElement(HugeiconsIcon27, { icon: RestoreBinIcon, size: 14 }), " Restore"), /* @__PURE__ */ React41.createElement("button", { onClick: () => executeAction(() => onDeletePermanently(selectedIds)), className: "text-red-600 hover:text-red-700 p-1 flex items-center gap-1.5 text-xs outline-none" }, /* @__PURE__ */ React41.createElement(HugeiconsIcon27, { icon: Delete02Icon3, size: 14 }), " Delete Forever"))), /* @__PURE__ */ React41.createElement("div", { className: `w-full overflow-x-auto select-none flex-1 relative min-h-75 ${lockClass}` }, /* @__PURE__ */ React41.createElement("table", { className: "w-full text-left border-collapse min-w-full relative z-10" }, /* @__PURE__ */ React41.createElement("thead", null, /* @__PURE__ */ React41.createElement("tr", { className: "border-b border-neutral-100 bg-white" }, /* @__PURE__ */ React41.createElement("th", { className: "w-10 p-3" }, /* @__PURE__ */ React41.createElement("input", { type: "checkbox", checked: selectedIds.length === items.length && items.length > 0, onChange: () => items.length > 0 && (selectedIds.length === items.length ? setSelectedIds([]) : setSelectedIds(items.map((i) => i.id))), className: "rounded border-neutral-300 w-4 h-4 text-black focus:ring-black accent-black cursor-pointer" })), /* @__PURE__ */ React41.createElement("th", { className: "text-[11px] font-light tracking-[0.2em] text-neutral-400 p-3" }, "Name"), /* @__PURE__ */ React41.createElement("th", { className: "text-[11px] font-light tracking-[0.2em] text-neutral-400 p-3" }, "Modified"), /* @__PURE__ */ React41.createElement("th", { className: "text-[11px] font-light tracking-[0.2em] text-neutral-400 p-3 text-right" }, "Size"))), /* @__PURE__ */ React41.createElement("tbody", { className: "divide-y divide-neutral-50" }, items.length === 0 && !isLoading && /* @__PURE__ */ React41.createElement("tr", null, /* @__PURE__ */ React41.createElement("td", { colSpan: 4, className: "py-24 text-center" }, /* @__PURE__ */ React41.createElement("div", { className: "flex flex-col items-center justify-center" }, /* @__PURE__ */ React41.createElement(HugeiconsIcon27, { icon: Delete02Icon3, size: 40, className: "text-neutral-200 mb-3" }), /* @__PURE__ */ React41.createElement("p", { className: "text-xs text-neutral-400" }, "Trash is completely empty.")))), items.map((item) => {
3544
+ const isChecked = selectedIds.includes(item.id);
3545
+ return /* @__PURE__ */ React41.createElement("tr", { key: item.id, onClick: (e) => handleRowClick(item.id, e), onContextMenu: (e) => {
3546
+ e.preventDefault();
3547
+ setSelectedIds([item.id]);
3548
+ }, className: `hover:bg-neutral-50/70 transition-colors cursor-pointer group ${isChecked ? "bg-neutral-50" : ""}` }, /* @__PURE__ */ React41.createElement("td", { className: "p-3", onClick: (e) => e.stopPropagation() }, /* @__PURE__ */ React41.createElement("input", { type: "checkbox", checked: isChecked, onChange: () => handleRowClick(item.id, { ctrlKey: true }), className: "rounded border-neutral-300 w-4 h-4 text-black focus:ring-black accent-black cursor-pointer" })), /* @__PURE__ */ React41.createElement("td", { className: "p-3 flex items-center gap-3 min-w-0" }, /* @__PURE__ */ React41.createElement("div", { className: "w-9 h-9 shrink-0 flex items-center justify-center relative opacity-50" }, /* @__PURE__ */ React41.createElement(FileIconMapper, { type: item.type, mimeType: item.mimeType })), /* @__PURE__ */ React41.createElement("span", { className: "text-xs text-black truncate pr-4 line-through decoration-neutral-300 opacity-60" }, item.name)), /* @__PURE__ */ React41.createElement("td", { className: "p-3 text-xs text-neutral-500 whitespace-nowrap" }, formatDate3(item.updatedAt)), /* @__PURE__ */ React41.createElement("td", { className: "p-3 text-xs text-neutral-500 text-right whitespace-nowrap" }, formatBytes(item.size)));
3549
+ }))), isLoading && /* @__PURE__ */ React41.createElement("div", { className: "absolute inset-0 top-12 z-20 bg-white flex items-start justify-center pt-20" }, /* @__PURE__ */ React41.createElement(HugeiconsIcon27, { icon: Loading03Icon13, className: "animate-spin text-neutral-400", size: 24 }))), /* @__PURE__ */ React41.createElement("div", { className: `flex items-center justify-between pt-4 ${lockClass}` }, /* @__PURE__ */ React41.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", Math.max(1, totalPages)), /* @__PURE__ */ React41.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React41.createElement("button", { onClick: () => onPageChange(currentPage - 1), disabled: currentPage <= 1, className: "p-2 border border-neutral-100 rounded-full bg-white text-neutral-500 hover:text-black disabled:opacity-30 transition-all outline-none" }, /* @__PURE__ */ React41.createElement(HugeiconsIcon27, { icon: ArrowLeft01Icon9, size: 14 })), /* @__PURE__ */ React41.createElement("button", { onClick: () => onPageChange(currentPage + 1), disabled: currentPage >= totalPages, className: "p-2 border border-neutral-100 rounded-full bg-white text-neutral-500 hover:text-black disabled:opacity-30 transition-all outline-none" }, /* @__PURE__ */ React41.createElement(HugeiconsIcon27, { icon: ArrowRight01Icon8, size: 14 })))));
3550
+ };
3551
+
3552
+ // src/components/DriveItemOpener.tsx
3553
+ import React42 from "react";
3554
+ import { HugeiconsIcon as HugeiconsIcon28 } from "@hugeicons/react";
3485
3555
  import { Cancel01Icon as Cancel01Icon4 } from "@hugeicons/core-free-icons";
3486
3556
  var DriveItemOpener = ({ item, onClose }) => {
3487
3557
  if (!item) return null;
@@ -3493,38 +3563,38 @@ var DriveItemOpener = ({ item, onClose }) => {
3493
3563
  const i = Math.floor(Math.log(num) / Math.log(k));
3494
3564
  return parseFloat((num / Math.pow(k, i)).toFixed(1)) + " " + sizes[i];
3495
3565
  };
3496
- return /* @__PURE__ */ React41.createElement("div", { className: "fixed inset-0 z-200 bg-black/95 flex flex-col animate-in fade-in duration-200" }, /* @__PURE__ */ React41.createElement("div", { className: "flex items-center justify-between p-4 border-b border-white/10 bg-black" }, /* @__PURE__ */ React41.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React41.createElement("div", { className: "w-10 h-10 bg-white/10 rounded-xl flex items-center justify-center" }, /* @__PURE__ */ React41.createElement("div", { className: "invert grayscale brightness-200" }, /* @__PURE__ */ React41.createElement(FileIconMapper, { type: item.type, mimeType: item.mimeType }))), /* @__PURE__ */ React41.createElement("div", null, /* @__PURE__ */ React41.createElement("h3", { className: "text-sm font-medium text-white tracking-wide" }, item.name), /* @__PURE__ */ React41.createElement("p", { className: "text-xs text-white/50 mt-0.5" }, item.type, " \u2022 ", formatBytes(item.size), " \u2022 ", new Date(item.updatedAt).toLocaleDateString()))), /* @__PURE__ */ React41.createElement(
3566
+ return /* @__PURE__ */ React42.createElement("div", { className: "fixed inset-0 z-200 bg-black/95 flex flex-col animate-in fade-in duration-200" }, /* @__PURE__ */ React42.createElement("div", { className: "flex items-center justify-between p-4 border-b border-white/10 bg-black" }, /* @__PURE__ */ React42.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React42.createElement("div", { className: "w-10 h-10 bg-white/10 rounded-xl flex items-center justify-center" }, /* @__PURE__ */ React42.createElement("div", { className: "invert grayscale brightness-200" }, /* @__PURE__ */ React42.createElement(FileIconMapper, { type: item.type, mimeType: item.mimeType }))), /* @__PURE__ */ React42.createElement("div", null, /* @__PURE__ */ React42.createElement("h3", { className: "text-sm font-medium text-white tracking-wide" }, item.name), /* @__PURE__ */ React42.createElement("p", { className: "text-xs text-white/50 mt-0.5" }, item.type, " \u2022 ", formatBytes(item.size), " \u2022 ", new Date(item.updatedAt).toLocaleDateString()))), /* @__PURE__ */ React42.createElement(
3497
3567
  "button",
3498
3568
  {
3499
3569
  onClick: onClose,
3500
3570
  className: "p-3 bg-white/10 hover:bg-white/20 text-white rounded-full transition-colors outline-none"
3501
3571
  },
3502
- /* @__PURE__ */ React41.createElement(HugeiconsIcon27, { icon: Cancel01Icon4, size: 20 })
3503
- )), /* @__PURE__ */ React41.createElement("div", { className: "flex-1 flex items-center justify-center p-8 overflow-y-auto relative" }, /* @__PURE__ */ React41.createElement("div", { className: "text-center" }, /* @__PURE__ */ React41.createElement("p", { className: "text-white/40 text-sm tracking-widest " }, "File Preview Engine"), /* @__PURE__ */ React41.createElement("p", { className: "text-white/20 text-xs mt-2" }, "Content rendering logic will be attached here."))));
3572
+ /* @__PURE__ */ React42.createElement(HugeiconsIcon28, { icon: Cancel01Icon4, size: 20 })
3573
+ )), /* @__PURE__ */ React42.createElement("div", { className: "flex-1 flex items-center justify-center p-8 overflow-y-auto relative" }, /* @__PURE__ */ React42.createElement("div", { className: "text-center" }, /* @__PURE__ */ React42.createElement("p", { className: "text-white/40 text-sm tracking-widest " }, "File Preview Engine"), /* @__PURE__ */ React42.createElement("p", { className: "text-white/20 text-xs mt-2" }, "Content rendering logic will be attached here."))));
3504
3574
  };
3505
3575
 
3506
3576
  // src/components/DriveShareModal.tsx
3507
- import React42 from "react";
3577
+ import React43 from "react";
3508
3578
  var DriveShareModal = ({ items, onClose }) => {
3509
3579
  if (!items || items.length === 0) return null;
3510
- return /* @__PURE__ */ React42.createElement("div", { className: "fixed inset-0 z-150 flex items-center justify-center p-4 bg-black/30 animate-in fade-in duration-200" }, /* @__PURE__ */ React42.createElement("div", { className: "bg-white w-full max-w-md rounded-2xl p-6 shadow-2xl flex flex-col gap-6 animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React42.createElement("div", null, /* @__PURE__ */ React42.createElement("h3", { className: "text-lg text-black tracking-tight mb-1" }, "Share Access"), /* @__PURE__ */ React42.createElement("p", { className: "text-xs text-neutral-500" }, "Managing permissions for ", items.length, " selected item(s).")), /* @__PURE__ */ React42.createElement("div", { className: "flex justify-end gap-3 mt-2" }, /* @__PURE__ */ React42.createElement(
3580
+ return /* @__PURE__ */ React43.createElement("div", { className: "fixed inset-0 z-150 flex items-center justify-center p-4 bg-black/30 animate-in fade-in duration-200" }, /* @__PURE__ */ React43.createElement("div", { className: "bg-white w-full max-w-md rounded-2xl p-6 shadow-2xl flex flex-col gap-6 animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React43.createElement("div", null, /* @__PURE__ */ React43.createElement("h3", { className: "text-lg text-black tracking-tight mb-1" }, "Share Access"), /* @__PURE__ */ React43.createElement("p", { className: "text-xs text-neutral-500" }, "Managing permissions for ", items.length, " selected item(s).")), /* @__PURE__ */ React43.createElement("div", { className: "flex justify-end gap-3 mt-2" }, /* @__PURE__ */ React43.createElement(
3511
3581
  "button",
3512
3582
  {
3513
3583
  onClick: onClose,
3514
3584
  className: "px-6 py-2.5 text-xs text-neutral-500 hover:bg-neutral-50 rounded-full transition-colors outline-none"
3515
3585
  },
3516
3586
  "Close"
3517
- ), /* @__PURE__ */ React42.createElement(ThreeDActionButton, { onClick: onClose }, "Save Links"))));
3587
+ ), /* @__PURE__ */ React43.createElement(ThreeDActionButton, { onClick: onClose }, "Save Links"))));
3518
3588
  };
3519
3589
 
3520
3590
  // src/components/AiApproveDecline.tsx
3521
- import React43, { useState as useState25 } from "react";
3522
- import { HugeiconsIcon as HugeiconsIcon28 } from "@hugeicons/react";
3591
+ import React44, { useState as useState26 } from "react";
3592
+ import { HugeiconsIcon as HugeiconsIcon29 } from "@hugeicons/react";
3523
3593
  import { CheckmarkCircle01Icon as CheckmarkCircle01Icon2, CancelCircleIcon as CancelCircleIcon2, PencilEdit01Icon } from "@hugeicons/core-free-icons";
3524
3594
  var AiApproveDecline = ({ suggestionTitle, suggestionValue, onApprove, onDecline, onEdit }) => {
3525
- const [isEditing, setIsEditing] = useState25(false);
3526
- const [editVal, setEditVal] = useState25(typeof suggestionValue === "string" ? suggestionValue : "");
3527
- return /* @__PURE__ */ React43.createElement("div", { className: "border border-purple-100 bg-linear-to-bl from-purple-50/80 via-white to-white p-5 rounded-2xl flex flex-col gap-4 relative overflow-hidden" }, /* @__PURE__ */ React43.createElement("div", null, /* @__PURE__ */ React43.createElement("span", { className: "text-[11px] tracking-widest text-purple-600 block mb-1 " }, "AI Suggestion: ", suggestionTitle), !isEditing ? /* @__PURE__ */ React43.createElement("div", { className: "text-sm text-black" }, suggestionValue) : /* @__PURE__ */ React43.createElement(
3595
+ const [isEditing, setIsEditing] = useState26(false);
3596
+ const [editVal, setEditVal] = useState26(typeof suggestionValue === "string" ? suggestionValue : "");
3597
+ return /* @__PURE__ */ React44.createElement("div", { className: "border border-purple-100 bg-linear-to-bl from-purple-50/80 via-white to-white p-5 rounded-2xl flex flex-col gap-4 relative overflow-hidden" }, /* @__PURE__ */ React44.createElement("div", null, /* @__PURE__ */ React44.createElement("span", { className: "text-[11px] tracking-widest text-purple-600 block mb-1 " }, "AI Suggestion: ", suggestionTitle), !isEditing ? /* @__PURE__ */ React44.createElement("div", { className: "text-sm text-black" }, suggestionValue) : /* @__PURE__ */ React44.createElement(
3528
3598
  "input",
3529
3599
  {
3530
3600
  type: "text",
@@ -3533,23 +3603,23 @@ var AiApproveDecline = ({ suggestionTitle, suggestionValue, onApprove, onDecline
3533
3603
  className: "w-full text-sm p-2 border-b border-purple-200 bg-transparent outline-none focus:border-purple-400 transition-colors",
3534
3604
  autoFocus: true
3535
3605
  }
3536
- )), /* @__PURE__ */ React43.createElement("div", { className: "flex items-center gap-1 mt-2" }, !isEditing ? /* @__PURE__ */ React43.createElement(React43.Fragment, null, /* @__PURE__ */ React43.createElement("button", { onClick: onApprove, title: "Approve", className: "p-1.5 text-black hover:text-black hover:bg-neutral-50 rounded-full transition-colors outline-none" }, /* @__PURE__ */ React43.createElement(HugeiconsIcon28, { icon: CheckmarkCircle01Icon2, size: 28 })), /* @__PURE__ */ React43.createElement("button", { onClick: onDecline, title: "Decline", className: "p-1.5 text-neutral-400 hover:text-neutral-400 hover:bg-neutral-50 rounded-full transition-colors outline-none" }, /* @__PURE__ */ React43.createElement(HugeiconsIcon28, { icon: CancelCircleIcon2, size: 28 })), onEdit && /* @__PURE__ */ React43.createElement("button", { onClick: () => setIsEditing(true), title: "Edit", className: "ml-auto p-1.5 text-neutral-400 hover:text-black hover:bg-neutral-100 rounded-full transition-colors outline-none" }, /* @__PURE__ */ React43.createElement(HugeiconsIcon28, { icon: PencilEdit01Icon, size: 18 }))) : /* @__PURE__ */ React43.createElement(React43.Fragment, null, /* @__PURE__ */ React43.createElement("button", { onClick: () => {
3606
+ )), /* @__PURE__ */ React44.createElement("div", { className: "flex items-center gap-1 mt-2" }, !isEditing ? /* @__PURE__ */ React44.createElement(React44.Fragment, null, /* @__PURE__ */ React44.createElement("button", { onClick: onApprove, title: "Approve", className: "p-1.5 text-black hover:text-black hover:bg-neutral-50 rounded-full transition-colors outline-none" }, /* @__PURE__ */ React44.createElement(HugeiconsIcon29, { icon: CheckmarkCircle01Icon2, size: 28 })), /* @__PURE__ */ React44.createElement("button", { onClick: onDecline, title: "Decline", className: "p-1.5 text-neutral-400 hover:text-neutral-400 hover:bg-neutral-50 rounded-full transition-colors outline-none" }, /* @__PURE__ */ React44.createElement(HugeiconsIcon29, { icon: CancelCircleIcon2, size: 28 })), onEdit && /* @__PURE__ */ React44.createElement("button", { onClick: () => setIsEditing(true), title: "Edit", className: "ml-auto p-1.5 text-neutral-400 hover:text-black hover:bg-neutral-100 rounded-full transition-colors outline-none" }, /* @__PURE__ */ React44.createElement(HugeiconsIcon29, { icon: PencilEdit01Icon, size: 18 }))) : /* @__PURE__ */ React44.createElement(React44.Fragment, null, /* @__PURE__ */ React44.createElement("button", { onClick: () => {
3537
3607
  onEdit?.(editVal);
3538
3608
  setIsEditing(false);
3539
- }, title: "Save Edit", className: "p-1.5 text-emerald-500 hover:text-emerald-600 hover:bg-emerald-50 rounded-full transition-colors outline-none" }, /* @__PURE__ */ React43.createElement(HugeiconsIcon28, { icon: CheckmarkCircle01Icon2, size: 28 })), /* @__PURE__ */ React43.createElement("button", { onClick: () => setIsEditing(false), title: "Cancel Edit", className: "p-1.5 text-neutral-400 hover:text-black hover:bg-neutral-100 rounded-full transition-colors outline-none" }, /* @__PURE__ */ React43.createElement(HugeiconsIcon28, { icon: CancelCircleIcon2, size: 28 })))));
3609
+ }, title: "Save Edit", className: "p-1.5 text-emerald-500 hover:text-emerald-600 hover:bg-emerald-50 rounded-full transition-colors outline-none" }, /* @__PURE__ */ React44.createElement(HugeiconsIcon29, { icon: CheckmarkCircle01Icon2, size: 28 })), /* @__PURE__ */ React44.createElement("button", { onClick: () => setIsEditing(false), title: "Cancel Edit", className: "p-1.5 text-neutral-400 hover:text-black hover:bg-neutral-100 rounded-full transition-colors outline-none" }, /* @__PURE__ */ React44.createElement(HugeiconsIcon29, { icon: CancelCircleIcon2, size: 28 })))));
3540
3610
  };
3541
3611
 
3542
3612
  // src/components/AiStageCheck.tsx
3543
- import React44 from "react";
3544
- import { HugeiconsIcon as HugeiconsIcon29 } from "@hugeicons/react";
3545
- import { Loading03Icon as Loading03Icon13, CheckmarkCircle02Icon, CancelCircleIcon as CancelCircleIcon3 } from "@hugeicons/core-free-icons";
3613
+ import React45 from "react";
3614
+ import { HugeiconsIcon as HugeiconsIcon30 } from "@hugeicons/react";
3615
+ import { Loading03Icon as Loading03Icon14, CheckmarkCircle02Icon, CancelCircleIcon as CancelCircleIcon3 } from "@hugeicons/core-free-icons";
3546
3616
  var AiStageCheck = ({ tasks }) => {
3547
- return /* @__PURE__ */ React44.createElement("div", { className: "flex flex-col gap-3 p-5 rounded-2xl border border-purple-100 bg-linear-to-bl from-purple-50/80 via-white to-white relative overflow-hidden" }, /* @__PURE__ */ React44.createElement("span", { className: "text-[11px] tracking-widest text-purple-600 mb-1 " }, "AI Processing"), tasks.map((task) => /* @__PURE__ */ React44.createElement("div", { key: task.id, className: "flex items-center gap-3" }, task.status === "pending" && /* @__PURE__ */ React44.createElement("div", { className: "w-4 h-4 rounded-full border border-purple-200" }), task.status === "loading" && /* @__PURE__ */ React44.createElement(HugeiconsIcon29, { icon: Loading03Icon13, size: 16, className: "animate-spin text-purple-500" }), task.status === "success" && /* @__PURE__ */ React44.createElement(HugeiconsIcon29, { icon: CheckmarkCircle02Icon, size: 16, className: "text-emerald-500" }), task.status === "error" && /* @__PURE__ */ React44.createElement(HugeiconsIcon29, { icon: CancelCircleIcon3, size: 16, className: "text-red-500" }), /* @__PURE__ */ React44.createElement("span", { className: `text-xs transition-colors ${task.status === "success" ? "text-black" : task.status === "loading" ? "text-purple-700" : "text-neutral-500"}` }, task.label))));
3617
+ return /* @__PURE__ */ React45.createElement("div", { className: "flex flex-col gap-3 p-5 rounded-2xl border border-purple-100 bg-linear-to-bl from-purple-50/80 via-white to-white relative overflow-hidden" }, /* @__PURE__ */ React45.createElement("span", { className: "text-[11px] tracking-widest text-purple-600 mb-1 " }, "AI Processing"), tasks.map((task) => /* @__PURE__ */ React45.createElement("div", { key: task.id, className: "flex items-center gap-3" }, task.status === "pending" && /* @__PURE__ */ React45.createElement("div", { className: "w-4 h-4 rounded-full border border-purple-200" }), task.status === "loading" && /* @__PURE__ */ React45.createElement(HugeiconsIcon30, { icon: Loading03Icon14, size: 16, className: "animate-spin text-purple-500" }), task.status === "success" && /* @__PURE__ */ React45.createElement(HugeiconsIcon30, { icon: CheckmarkCircle02Icon, size: 16, className: "text-emerald-500" }), task.status === "error" && /* @__PURE__ */ React45.createElement(HugeiconsIcon30, { icon: CancelCircleIcon3, size: 16, className: "text-red-500" }), /* @__PURE__ */ React45.createElement("span", { className: `text-xs transition-colors ${task.status === "success" ? "text-black" : task.status === "loading" ? "text-purple-700" : "text-neutral-500"}` }, task.label))));
3548
3618
  };
3549
3619
 
3550
3620
  // src/components/Stagger.tsx
3551
- import React45 from "react";
3552
- import { HugeiconsIcon as HugeiconsIcon30 } from "@hugeicons/react";
3621
+ import React46 from "react";
3622
+ import { HugeiconsIcon as HugeiconsIcon31 } from "@hugeicons/react";
3553
3623
  import { Briefcase02Icon, Upload01Icon as Upload01Icon2, FileSyncIcon, CloudUploadIcon as CloudUploadIcon2 } from "@hugeicons/core-free-icons";
3554
3624
  var Stagger = ({ steps, currentStep }) => {
3555
3625
  const getIconForStep = (stepName) => {
@@ -3559,19 +3629,19 @@ var Stagger = ({ steps, currentStep }) => {
3559
3629
  if (lowerName.includes("submit")) return CloudUploadIcon2;
3560
3630
  return Briefcase02Icon;
3561
3631
  };
3562
- return /* @__PURE__ */ React45.createElement("div", { className: "w-full flex items-center justify-between relative z-0" }, /* @__PURE__ */ React45.createElement("div", { className: "absolute left-0 top-1/2 -translate-y-1/2 w-full h-px bg-neutral-100 -z-10" }), /* @__PURE__ */ React45.createElement("div", { className: "absolute left-0 top-1/2 -translate-y-1/2 h-px bg-emerald-500 -z-10 transition-all duration-500", style: { width: `${currentStep / (steps.length - 1) * 100}%` } }), steps.map((step, idx) => {
3632
+ return /* @__PURE__ */ React46.createElement("div", { className: "w-full flex items-center justify-between relative z-0" }, /* @__PURE__ */ React46.createElement("div", { className: "absolute left-0 top-1/2 -translate-y-1/2 w-full h-px bg-neutral-100 -z-10" }), /* @__PURE__ */ React46.createElement("div", { className: "absolute left-0 top-1/2 -translate-y-1/2 h-px bg-emerald-500 -z-10 transition-all duration-500", style: { width: `${currentStep / (steps.length - 1) * 100}%` } }), steps.map((step, idx) => {
3563
3633
  const isActive = idx === currentStep;
3564
3634
  const isPassed = idx < currentStep;
3565
3635
  const colorClass = isPassed ? "bg-emerald-500 text-white" : isActive ? "bg-neutral-100 text-neutral-500" : "bg-neutral-100 text-neutral-500";
3566
- return /* @__PURE__ */ React45.createElement("div", { key: step, className: `w-6 h-6 rounded-full flex items-center justify-center transition-colors duration-300 ${colorClass}` }, /* @__PURE__ */ React45.createElement(HugeiconsIcon30, { icon: getIconForStep(step), size: 11 }));
3636
+ return /* @__PURE__ */ React46.createElement("div", { key: step, className: `w-6 h-6 rounded-full flex items-center justify-center transition-colors duration-300 ${colorClass}` }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: getIconForStep(step), size: 11 }));
3567
3637
  }));
3568
3638
  };
3569
3639
 
3570
3640
  // src/components/UniversalRegistrationFlow.tsx
3571
- import React46, { useState as useState26, useEffect as useEffect17, useRef as useRef11 } from "react";
3641
+ import React47, { useState as useState27, useEffect as useEffect18, useRef as useRef11 } from "react";
3572
3642
  import toast6 from "react-hot-toast";
3573
- import { HugeiconsIcon as HugeiconsIcon31 } from "@hugeicons/react";
3574
- import { CheckmarkBadge01Icon as CheckmarkBadge01Icon2, Upload01Icon as Upload01Icon3, Loading03Icon as Loading03Icon14, PencilEdit01Icon as PencilEdit01Icon2, Delete02Icon as Delete02Icon3, SignatureIcon, IdentificationIcon, ArrowLeft01Icon as ArrowLeft01Icon9, HourglassIcon } from "@hugeicons/core-free-icons";
3643
+ import { HugeiconsIcon as HugeiconsIcon32 } from "@hugeicons/react";
3644
+ import { CheckmarkBadge01Icon as CheckmarkBadge01Icon2, Upload01Icon as Upload01Icon3, Loading03Icon as Loading03Icon15, PencilEdit01Icon as PencilEdit01Icon2, Delete02Icon as Delete02Icon4, SignatureIcon, IdentificationIcon, ArrowLeft01Icon as ArrowLeft01Icon10, HourglassIcon } from "@hugeicons/core-free-icons";
3575
3645
  var MACRO_STEPS = ["Details", "Documents", "Review", "Submit"];
3576
3646
  var NIGERIAN_STATES = ["Abia", "Adamawa", "Akwa Ibom", "Anambra", "Bauchi", "Bayelsa", "Benue", "Borno", "Cross River", "Delta", "Ebonyi", "Edo", "Ekiti", "Enugu", "FCT - Abuja", "Gombe", "Imo", "Jigawa", "Kaduna", "Kano", "Katsina", "Kebbi", "Kogi", "Kwara", "Lagos", "Nasarawa", "Niger", "Ogun", "Ondo", "Osun", "Oyo", "Plateau", "Rivers", "Sokoto", "Taraba", "Yobe", "Zamfara"];
3577
3647
  var MEMBER_ROLES = ["Director Only", "Shareholder Only", "Both Director & Shareholder"];
@@ -3584,12 +3654,12 @@ var UniversalRegistrationFlow = ({
3584
3654
  onRedirectToBilling,
3585
3655
  onRedirectToApplication
3586
3656
  }) => {
3587
- const [isBooting, setIsBooting] = useState26(true);
3588
- const [macroStep, setMacroStep] = useState26(0);
3589
- const [appStatus, setAppStatus] = useState26("");
3590
- const [isAbortModalOpen, setIsAbortModalOpen] = useState26(false);
3591
- const [isAborting, setIsAborting] = useState26(false);
3592
- const [formState, setFormState] = useState26({
3657
+ const [isBooting, setIsBooting] = useState27(true);
3658
+ const [macroStep, setMacroStep] = useState27(0);
3659
+ const [appStatus, setAppStatus] = useState27("");
3660
+ const [isAbortModalOpen, setIsAbortModalOpen] = useState27(false);
3661
+ const [isAborting, setIsAborting] = useState27(false);
3662
+ const [formState, setFormState] = useState27({
3593
3663
  natureApproved: false,
3594
3664
  nameApproved: false,
3595
3665
  addressApproved: false,
@@ -3606,7 +3676,7 @@ var UniversalRegistrationFlow = ({
3606
3676
  const other1Ref = useRef11(null);
3607
3677
  const other2Ref = useRef11(null);
3608
3678
  const other3Ref = useRef11(null);
3609
- const [formData, setFormData] = useState26({
3679
+ const [formData, setFormData] = useState27({
3610
3680
  businessDesc: "",
3611
3681
  natureOfBusiness: null,
3612
3682
  proposedName: "",
@@ -3633,22 +3703,22 @@ var UniversalRegistrationFlow = ({
3633
3703
  otherDoc3Url: "",
3634
3704
  otherDoc3Meta: null
3635
3705
  });
3636
- const [activeModal, setActiveModal] = useState26({ isOpen: false, type: null, memberIndex: null });
3637
- const [iAgree, setIAgree] = useState26(false);
3638
- const [isAnalyzingNature, setIsAnalyzingNature] = useState26(false);
3639
- const [suggestedNature, setSuggestedNature] = useState26(null);
3640
- const [isCheckingQualifier, setIsCheckingQualifier] = useState26(false);
3641
- const [qualifierCheckResult, setQualifierCheckResult] = useState26(null);
3642
- const [isCheckingName, setIsCheckingName] = useState26(false);
3643
- const [nameCheckResult, setNameCheckResult] = useState26(null);
3644
- const [globalExtractingId, setGlobalExtractingId] = useState26(false);
3645
- const [globalUploadingPassport, setGlobalUploadingPassport] = useState26(false);
3646
- const [globalUploadingSignature, setGlobalUploadingSignature] = useState26(false);
3647
- const [isUploadingOther1, setIsUploadingOther1] = useState26(false);
3648
- const [isUploadingOther2, setIsUploadingOther2] = useState26(false);
3649
- const [isUploadingOther3, setIsUploadingOther3] = useState26(false);
3650
- const [aiTasks, setAiTasks] = useState26([]);
3651
- const [isSubmitting, setIsSubmitting] = useState26(false);
3706
+ const [activeModal, setActiveModal] = useState27({ isOpen: false, type: null, memberIndex: null });
3707
+ const [iAgree, setIAgree] = useState27(false);
3708
+ const [isAnalyzingNature, setIsAnalyzingNature] = useState27(false);
3709
+ const [suggestedNature, setSuggestedNature] = useState27(null);
3710
+ const [isCheckingQualifier, setIsCheckingQualifier] = useState27(false);
3711
+ const [qualifierCheckResult, setQualifierCheckResult] = useState27(null);
3712
+ const [isCheckingName, setIsCheckingName] = useState27(false);
3713
+ const [nameCheckResult, setNameCheckResult] = useState27(null);
3714
+ const [globalExtractingId, setGlobalExtractingId] = useState27(false);
3715
+ const [globalUploadingPassport, setGlobalUploadingPassport] = useState27(false);
3716
+ const [globalUploadingSignature, setGlobalUploadingSignature] = useState27(false);
3717
+ const [isUploadingOther1, setIsUploadingOther1] = useState27(false);
3718
+ const [isUploadingOther2, setIsUploadingOther2] = useState27(false);
3719
+ const [isUploadingOther3, setIsUploadingOther3] = useState27(false);
3720
+ const [aiTasks, setAiTasks] = useState27([]);
3721
+ const [isSubmitting, setIsSubmitting] = useState27(false);
3652
3722
  const isReadOnly = ["PENDING", "AWAITING_PAYMENT", "COMPLETED"].includes(appStatus);
3653
3723
  const isAnyUploading = globalExtractingId || globalUploadingPassport || globalUploadingSignature || isUploadingOther1 || isUploadingOther2 || isUploadingOther3;
3654
3724
  const baseApi = async (action, payload = {}) => {
@@ -3663,7 +3733,7 @@ var UniversalRegistrationFlow = ({
3663
3733
  return { success: false, error: "Network communication failed." };
3664
3734
  }
3665
3735
  };
3666
- useEffect17(() => {
3736
+ useEffect18(() => {
3667
3737
  baseApi("progress_load").then((data) => {
3668
3738
  if (data.success && data.data) {
3669
3739
  const meta = data.data;
@@ -4139,23 +4209,23 @@ var UniversalRegistrationFlow = ({
4139
4209
  const isStep0Valid = type === "company" ? formState.natureApproved && formState.nameApproved && formState.addressApproved && formState.membersDetailsApproved : formState.natureApproved && formState.nameApproved && formState.addressApproved && formState.ownerApproved;
4140
4210
  const isStep1Valid = type === "company" ? formState.membersDocsApproved : formState.idApproved && formState.passportApproved && formState.signatureApproved;
4141
4211
  const titleText = type === "company" ? "Company Incorporation (LLC)" : "Business Name Registration";
4142
- if (isBooting) return /* @__PURE__ */ React46.createElement("div", { className: "flex justify-center py-20" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: Loading03Icon14, size: 32, className: "animate-spin text-black" }));
4212
+ if (isBooting) return /* @__PURE__ */ React47.createElement("div", { className: "flex justify-center py-20" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Loading03Icon15, size: 32, className: "animate-spin text-black" }));
4143
4213
  if (!["DRAFT", "QUEUED", "REJECTED"].includes(appStatus) && appStatus !== "") {
4144
- return /* @__PURE__ */ React46.createElement("div", { className: "w-full max-w-3xl mx-auto bg-white rounded-2xl p-6 sm:p-10 flex flex-col items-center justify-center text-center gap-5 animate-in fade-in slide-in-from-bottom-2 duration-500 mb-20 py-24" }, appStatus === "COMPLETED" ? /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement("div", { className: "w-20 h-20 bg-neutral-50 text-neutral-500 rounded-full flex items-center justify-center mb-2" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: CheckmarkBadge01Icon2, size: 35 })), /* @__PURE__ */ React46.createElement("h2", { className: "text-xl text-black" }, "Registration Completed"), /* @__PURE__ */ React46.createElement("p", { className: "text-sm text-neutral-500 max-w-md" }, "Your application has been successfully verified and registered.")) : appStatus === "PENDING" ? /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement("div", { className: "w-20 h-20 bg-neutral-50 text-neutral-500 rounded-full flex items-center justify-center mb-2" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: HourglassIcon, size: 35, className: "animate-spin" })), /* @__PURE__ */ React46.createElement("h2", { className: "text-xl text-black" }, "Application is Pending"), /* @__PURE__ */ React46.createElement("p", { className: "text-sm text-neutral-500 max-w-md" }, "Your application is currently pending review.")) : appStatus === "AWAITING_PAYMENT" ? /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement("div", { className: "w-20 h-20 bg-amber-50 text-amber-500 rounded-full flex items-center justify-center mb-2" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: HourglassIcon, size: 35, className: "animate-pulse" })), /* @__PURE__ */ React46.createElement("h2", { className: "text-xl text-black" }, "Awaiting Payment"), /* @__PURE__ */ React46.createElement("p", { className: "text-sm text-neutral-500 max-w-md" }, "Your application is complete and awaiting government fee settlement. Please go to the Billing tab to authorize payment."), /* @__PURE__ */ React46.createElement("div", { className: "mt-6 flex flex-col items-center gap-3" }, /* @__PURE__ */ React46.createElement("button", { onClick: onRedirectToBilling, className: "px-8 py-3 bg-black text-white text-[11px] tracking-widest rounded-full hover:bg-neutral-800 outline-none" }, "Go to Billing & Invoices"), /* @__PURE__ */ React46.createElement("button", { onClick: () => setIsAbortModalOpen(true), className: "px-8 py-3 border border-neutral-100 text-neutral-600 text-[11px] tracking-widest rounded-full hover:bg-neutral-50 outline-none" }, "Abort & Edit Application"))) : /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement("div", { className: "w-20 h-20 bg-neutral-50 text-neutral-500 rounded-full flex items-center justify-center mb-2" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: HourglassIcon, size: 35 })), /* @__PURE__ */ React46.createElement("h2", { className: "text-xl text-black" }, "Application Submitted"), /* @__PURE__ */ React46.createElement("p", { className: "text-sm text-neutral-500 max-w-md" }, "Your application is currently ", appStatus.replace(/_/g, " ").toLowerCase(), "."), ["AWAITING_PAYMENT", "READY_FOR_SUBMISSION", "AWAITING_CONFIRMATION"].includes(appStatus) && /* @__PURE__ */ React46.createElement("div", { className: "mt-6 flex flex-col items-center gap-3" }, /* @__PURE__ */ React46.createElement("button", { onClick: () => setIsAbortModalOpen(true), className: "px-8 py-3 border border-neutral-100 text-neutral-600 text-[11px] tracking-widest rounded-full hover:bg-neutral-50 outline-none" }, "Abort Application"))), isAbortModalOpen && /* @__PURE__ */ React46.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React46.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => !isAborting && setIsAbortModalOpen(false) }), /* @__PURE__ */ React46.createElement("div", { className: "relative w-100 bg-white shadow-2xl rounded-3xl flex flex-col overflow-hidden animate-in zoom-in-95 duration-200 text-left" }, /* @__PURE__ */ React46.createElement("div", { className: "p-6 flex flex-col gap-4 text-center" }, /* @__PURE__ */ React46.createElement("h3", { className: "text-[17px] text-black tracking-tight" }, "Abort Application?"), /* @__PURE__ */ React46.createElement("p", { className: "text-[11px] text-neutral-500 leading-relaxed" }, "Are you sure you want to abort? If you have already made a payment, returning to draft may cause issues. Your invoice will be deleted.")), /* @__PURE__ */ React46.createElement("div", { className: "w-full flex " }, /* @__PURE__ */ React46.createElement("button", { onClick: () => setIsAbortModalOpen(false), disabled: isAborting, className: "flex-1 py-4 text-[13px] text-neutral-500 hover:bg-neutral-50 transition-colors outline-none disabled:opacity-50" }, "Cancel"), /* @__PURE__ */ React46.createElement("button", { onClick: handleAbort, disabled: isAborting, className: "flex-1 py-4 text-[13px] text-red-500 hover:bg-neutral-50 transition-colors outline-none disabled:opacity-50" }, isAborting ? "Aborting..." : "Yes, Abort")))));
4214
+ return /* @__PURE__ */ React47.createElement("div", { className: "w-full max-w-3xl mx-auto bg-white rounded-2xl p-6 sm:p-10 flex flex-col items-center justify-center text-center gap-5 animate-in fade-in slide-in-from-bottom-2 duration-500 mb-20 py-24" }, appStatus === "COMPLETED" ? /* @__PURE__ */ React47.createElement(React47.Fragment, null, /* @__PURE__ */ React47.createElement("div", { className: "w-20 h-20 bg-neutral-50 text-neutral-500 rounded-full flex items-center justify-center mb-2" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: CheckmarkBadge01Icon2, size: 35 })), /* @__PURE__ */ React47.createElement("h2", { className: "text-xl text-black" }, "Registration Completed"), /* @__PURE__ */ React47.createElement("p", { className: "text-sm text-neutral-500 max-w-md" }, "Your application has been successfully verified and registered.")) : appStatus === "PENDING" ? /* @__PURE__ */ React47.createElement(React47.Fragment, null, /* @__PURE__ */ React47.createElement("div", { className: "w-20 h-20 bg-neutral-50 text-neutral-500 rounded-full flex items-center justify-center mb-2" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: HourglassIcon, size: 35, className: "animate-spin" })), /* @__PURE__ */ React47.createElement("h2", { className: "text-xl text-black" }, "Application is Pending"), /* @__PURE__ */ React47.createElement("p", { className: "text-sm text-neutral-500 max-w-md" }, "Your application is currently pending review.")) : appStatus === "AWAITING_PAYMENT" ? /* @__PURE__ */ React47.createElement(React47.Fragment, null, /* @__PURE__ */ React47.createElement("div", { className: "w-20 h-20 bg-amber-50 text-amber-500 rounded-full flex items-center justify-center mb-2" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: HourglassIcon, size: 35, className: "animate-pulse" })), /* @__PURE__ */ React47.createElement("h2", { className: "text-xl text-black" }, "Awaiting Payment"), /* @__PURE__ */ React47.createElement("p", { className: "text-sm text-neutral-500 max-w-md" }, "Your application is complete and awaiting government fee settlement. Please go to the Billing tab to authorize payment."), /* @__PURE__ */ React47.createElement("div", { className: "mt-6 flex flex-col items-center gap-3" }, /* @__PURE__ */ React47.createElement("button", { onClick: onRedirectToBilling, className: "px-8 py-3 bg-black text-white text-[11px] tracking-widest rounded-full hover:bg-neutral-800 outline-none" }, "Go to Billing & Invoices"), /* @__PURE__ */ React47.createElement("button", { onClick: () => setIsAbortModalOpen(true), className: "px-8 py-3 border border-neutral-100 text-neutral-600 text-[11px] tracking-widest rounded-full hover:bg-neutral-50 outline-none" }, "Abort & Edit Application"))) : /* @__PURE__ */ React47.createElement(React47.Fragment, null, /* @__PURE__ */ React47.createElement("div", { className: "w-20 h-20 bg-neutral-50 text-neutral-500 rounded-full flex items-center justify-center mb-2" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: HourglassIcon, size: 35 })), /* @__PURE__ */ React47.createElement("h2", { className: "text-xl text-black" }, "Application Submitted"), /* @__PURE__ */ React47.createElement("p", { className: "text-sm text-neutral-500 max-w-md" }, "Your application is currently ", appStatus.replace(/_/g, " ").toLowerCase(), "."), ["AWAITING_PAYMENT", "READY_FOR_SUBMISSION", "AWAITING_CONFIRMATION"].includes(appStatus) && /* @__PURE__ */ React47.createElement("div", { className: "mt-6 flex flex-col items-center gap-3" }, /* @__PURE__ */ React47.createElement("button", { onClick: () => setIsAbortModalOpen(true), className: "px-8 py-3 border border-neutral-100 text-neutral-600 text-[11px] tracking-widest rounded-full hover:bg-neutral-50 outline-none" }, "Abort Application"))), isAbortModalOpen && /* @__PURE__ */ React47.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React47.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => !isAborting && setIsAbortModalOpen(false) }), /* @__PURE__ */ React47.createElement("div", { className: "relative w-100 bg-white shadow-2xl rounded-3xl flex flex-col overflow-hidden animate-in zoom-in-95 duration-200 text-left" }, /* @__PURE__ */ React47.createElement("div", { className: "p-6 flex flex-col gap-4 text-center" }, /* @__PURE__ */ React47.createElement("h3", { className: "text-[17px] text-black tracking-tight" }, "Abort Application?"), /* @__PURE__ */ React47.createElement("p", { className: "text-[11px] text-neutral-500 leading-relaxed" }, "Are you sure you want to abort? If you have already made a payment, returning to draft may cause issues. Your invoice will be deleted.")), /* @__PURE__ */ React47.createElement("div", { className: "w-full flex " }, /* @__PURE__ */ React47.createElement("button", { onClick: () => setIsAbortModalOpen(false), disabled: isAborting, className: "flex-1 py-4 text-[13px] text-neutral-500 hover:bg-neutral-50 transition-colors outline-none disabled:opacity-50" }, "Cancel"), /* @__PURE__ */ React47.createElement("button", { onClick: handleAbort, disabled: isAborting, className: "flex-1 py-4 text-[13px] text-red-500 hover:bg-neutral-50 transition-colors outline-none disabled:opacity-50" }, isAborting ? "Aborting..." : "Yes, Abort")))));
4145
4215
  }
4146
- return /* @__PURE__ */ React46.createElement("div", { className: "w-full max-w-3xl mx-auto bg-white rounded-2xl p-6 sm:p-10 flex flex-col gap-10 animate-in fade-in slide-in-from-bottom-2 duration-500 mb-20" }, /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-8" }, /* @__PURE__ */ React46.createElement("div", null, /* @__PURE__ */ React46.createElement("h2", { className: "text-xl text-black tracking-tight mb-1" }, titleText), /* @__PURE__ */ React46.createElement("p", { className: "text-sm text-neutral-500" }, "Answer the questions below to build your official application.")), /* @__PURE__ */ React46.createElement("div", { className: "px-2" }, /* @__PURE__ */ React46.createElement(Stagger, { steps: MACRO_STEPS, currentStep: macroStep }))), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-8" }, macroStep === 0 && /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-8 animate-in fade-in" }, /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-4" }, /* @__PURE__ */ React46.createElement("div", { className: "flex items-center text-black" }, /* @__PURE__ */ React46.createElement("h3", { className: "text-sm " }, "What does your ", type === "company" ? "company" : "business", " do?")), !formState.natureApproved ? /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-3 " }, /* @__PURE__ */ React46.createElement(TextInput, { label: type === "company" ? "Company Description" : "Business Description", placeholder: "e.g. We provide professional services to clients.", value: formData.businessDesc, onChange: (v) => setFormData({ ...formData, businessDesc: v }), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React46.createElement(ThreeDActionButton, { onClick: handleAnalyzeNature, disabled: formData.businessDesc.length < 5 || isAnalyzingNature || isReadOnly, isLoading: isAnalyzingNature, className: "w-fit" }, "Analyze Nature")), isAnalyzingNature && /* @__PURE__ */ React46.createElement("div", { className: " mt-2" }, /* @__PURE__ */ React46.createElement(AiStageCheck, { tasks: [{ id: "1", label: "Matching with Official Categories...", status: "loading" }] })), suggestedNature && /* @__PURE__ */ React46.createElement("div", { className: " mt-2 animate-in fade-in" }, /* @__PURE__ */ React46.createElement(AiApproveDecline, { suggestionTitle: "Classification Found", suggestionValue: /* @__PURE__ */ React46.createElement("div", null, /* @__PURE__ */ React46.createElement("p", { className: " text-black" }, suggestedNature.specificLabel), /* @__PURE__ */ React46.createElement("p", { className: "text-xs text-neutral-400 mt-1" }, "Category: ", suggestedNature.categoryLabel)), onApprove: () => {
4216
+ return /* @__PURE__ */ React47.createElement("div", { className: "w-full max-w-3xl mx-auto bg-white rounded-2xl p-6 sm:p-10 flex flex-col gap-10 animate-in fade-in slide-in-from-bottom-2 duration-500 mb-20" }, /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-8" }, /* @__PURE__ */ React47.createElement("div", null, /* @__PURE__ */ React47.createElement("h2", { className: "text-xl text-black tracking-tight mb-1" }, titleText), /* @__PURE__ */ React47.createElement("p", { className: "text-sm text-neutral-500" }, "Answer the questions below to build your official application.")), /* @__PURE__ */ React47.createElement("div", { className: "px-2" }, /* @__PURE__ */ React47.createElement(Stagger, { steps: MACRO_STEPS, currentStep: macroStep }))), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-8" }, macroStep === 0 && /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-8 animate-in fade-in" }, /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-4" }, /* @__PURE__ */ React47.createElement("div", { className: "flex items-center text-black" }, /* @__PURE__ */ React47.createElement("h3", { className: "text-sm " }, "What does your ", type === "company" ? "company" : "business", " do?")), !formState.natureApproved ? /* @__PURE__ */ React47.createElement(React47.Fragment, null, /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-3 " }, /* @__PURE__ */ React47.createElement(TextInput, { label: type === "company" ? "Company Description" : "Business Description", placeholder: "e.g. We provide professional services to clients.", value: formData.businessDesc, onChange: (v) => setFormData({ ...formData, businessDesc: v }), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React47.createElement(ThreeDActionButton, { onClick: handleAnalyzeNature, disabled: formData.businessDesc.length < 5 || isAnalyzingNature || isReadOnly, isLoading: isAnalyzingNature, className: "w-fit" }, "Analyze Nature")), isAnalyzingNature && /* @__PURE__ */ React47.createElement("div", { className: " mt-2" }, /* @__PURE__ */ React47.createElement(AiStageCheck, { tasks: [{ id: "1", label: "Matching with Official Categories...", status: "loading" }] })), suggestedNature && /* @__PURE__ */ React47.createElement("div", { className: " mt-2 animate-in fade-in" }, /* @__PURE__ */ React47.createElement(AiApproveDecline, { suggestionTitle: "Classification Found", suggestionValue: /* @__PURE__ */ React47.createElement("div", null, /* @__PURE__ */ React47.createElement("p", { className: " text-black" }, suggestedNature.specificLabel), /* @__PURE__ */ React47.createElement("p", { className: "text-xs text-neutral-400 mt-1" }, "Category: ", suggestedNature.categoryLabel)), onApprove: () => {
4147
4217
  const newForm = { ...formData, natureOfBusiness: suggestedNature };
4148
4218
  setFormData(newForm);
4149
4219
  approveSection("natureApproved", newForm);
4150
- }, onDecline: () => setSuggestedNature(null) }))) : /* @__PURE__ */ React46.createElement("div", { className: " flex items-center justify-between" }, /* @__PURE__ */ React46.createElement("div", { className: "pr-4" }, /* @__PURE__ */ React46.createElement("p", { className: "text-sm text-black" }, formData.natureOfBusiness?.specificLabel), /* @__PURE__ */ React46.createElement("p", { className: "text-xs text-neutral-400 mt-1" }, formData.businessDesc)), !isReadOnly && /* @__PURE__ */ React46.createElement("button", { onClick: () => editSection("natureApproved"), className: "p-2 text-neutral-400 hover:text-black transition-colors outline-none shrink-0" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: PencilEdit01Icon2, size: 16 })))), formState.natureApproved && /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-4 pt-6 animate-in slide-in-from-top-4 duration-500" }, /* @__PURE__ */ React46.createElement("div", { className: "flex items-center text-black" }, /* @__PURE__ */ React46.createElement("h3", { className: "text-sm " }, "What name would you like to register?")), /* @__PURE__ */ React46.createElement("p", { className: "text-xs text-neutral-400 -mt-2" }, "Provide two options. We will verify availability against the official registry."), !formState.nameApproved ? /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-4" }, /* @__PURE__ */ React46.createElement(TextInput, { label: "Proposed Name 1 (Preferred)", value: formData.proposedName, onChange: (v) => setFormData({ ...formData, proposedName: v }), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React46.createElement(TextInput, { label: "Proposed Name 2 (Alternative)", value: formData.proposedName2, onChange: (v) => setFormData({ ...formData, proposedName2: v }), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React46.createElement(ThreeDActionButton, { onClick: () => handleCheckNames(formData.proposedName), disabled: !formData.proposedName || !formData.proposedName2 || isCheckingName || isCheckingQualifier || isReadOnly, isLoading: isCheckingQualifier || isCheckingName, className: "w-fit" }, "Check Availability")), (isCheckingQualifier || isCheckingName) && /* @__PURE__ */ React46.createElement("div", { className: " mt-2" }, /* @__PURE__ */ React46.createElement(AiStageCheck, { tasks: [{ id: "1", label: "AI Qualifier Pre-check...", status: isCheckingQualifier ? "loading" : "success" }, { id: "2", label: "Checking Official Registry Database...", status: isCheckingName ? "loading" : "pending" }, { id: "3", label: "Fallback Checking Public Database...", status: isCheckingName ? "loading" : "pending" }, { id: "4", label: "Validation Status...", status: isCheckingName ? "loading" : "pending" }] })), qualifierCheckResult && /* @__PURE__ */ React46.createElement("div", { className: "mt-2 animate-in fade-in" }, /* @__PURE__ */ React46.createElement("div", { className: "border border-purple-100 bg-linear-to-bl from-purple-50/80 via-white to-white p-5 rounded-2xl flex flex-col gap-4 relative overflow-hidden" }, /* @__PURE__ */ React46.createElement("div", null, /* @__PURE__ */ React46.createElement("span", { className: "text-[11px] tracking-widest text-purple-600 block mb-1" }, "AI Suggestion: Structural Qualifier Missing"), /* @__PURE__ */ React46.createElement("p", { className: "text-sm text-black mb-3" }, "Nigerian registrations require a structural qualifier to be approved."), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-2" }, (qualifierCheckResult.suggestions || []).map((alt, i) => /* @__PURE__ */ React46.createElement("button", { key: i, onClick: () => setFormData({ ...formData, proposedName: alt }), className: "text-left px-4 py-2 border border-neutral-100 rounded-full hover:border-black text-sm transition-colors outline-none" }, alt)))), /* @__PURE__ */ React46.createElement("button", { onClick: () => setQualifierCheckResult(null), className: "w-fit text-[11px] tracking-widest text-neutral-500 hover:text-black transition-colors mt-2 outline-none" }, "Edit Name Manually"))), nameCheckResult && /* @__PURE__ */ React46.createElement("div", { className: " mt-2 animate-in fade-in" }, nameCheckResult.status === "APPROVED" || nameCheckResult.status === "APPROVED_WARNING" || nameCheckResult.status === "SKIPPED" ? /* @__PURE__ */ React46.createElement(AiApproveDecline, { suggestionTitle: nameCheckResult.status === "APPROVED" ? "Name Available!" : "Fallback Approval", suggestionValue: /* @__PURE__ */ React46.createElement("div", null, /* @__PURE__ */ React46.createElement("p", { className: `mb-1 ${nameCheckResult.status === "APPROVED" ? "text-emerald-600 " : "text-orange-500 "}` }, nameCheckResult.status === "APPROVED" ? "Excellent chance of approval." : "Validation Bypassed / Fallback."), /* @__PURE__ */ React46.createElement("p", { className: "text-xs text-neutral-600" }, nameCheckResult.message), /* @__PURE__ */ React46.createElement("p", { className: "text-xs text-neutral-600 mt-2 " }, "Proposed Option: ", nameCheckResult.approvedOption)), onApprove: () => {
4220
+ }, onDecline: () => setSuggestedNature(null) }))) : /* @__PURE__ */ React47.createElement("div", { className: " flex items-center justify-between" }, /* @__PURE__ */ React47.createElement("div", { className: "pr-4" }, /* @__PURE__ */ React47.createElement("p", { className: "text-sm text-black" }, formData.natureOfBusiness?.specificLabel), /* @__PURE__ */ React47.createElement("p", { className: "text-xs text-neutral-400 mt-1" }, formData.businessDesc)), !isReadOnly && /* @__PURE__ */ React47.createElement("button", { onClick: () => editSection("natureApproved"), className: "p-2 text-neutral-400 hover:text-black transition-colors outline-none shrink-0" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: PencilEdit01Icon2, size: 16 })))), formState.natureApproved && /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-4 pt-6 animate-in slide-in-from-top-4 duration-500" }, /* @__PURE__ */ React47.createElement("div", { className: "flex items-center text-black" }, /* @__PURE__ */ React47.createElement("h3", { className: "text-sm " }, "What name would you like to register?")), /* @__PURE__ */ React47.createElement("p", { className: "text-xs text-neutral-400 -mt-2" }, "Provide two options. We will verify availability against the official registry."), !formState.nameApproved ? /* @__PURE__ */ React47.createElement(React47.Fragment, null, /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-4" }, /* @__PURE__ */ React47.createElement(TextInput, { label: "Proposed Name 1 (Preferred)", value: formData.proposedName, onChange: (v) => setFormData({ ...formData, proposedName: v }), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React47.createElement(TextInput, { label: "Proposed Name 2 (Alternative)", value: formData.proposedName2, onChange: (v) => setFormData({ ...formData, proposedName2: v }), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React47.createElement(ThreeDActionButton, { onClick: () => handleCheckNames(formData.proposedName), disabled: !formData.proposedName || !formData.proposedName2 || isCheckingName || isCheckingQualifier || isReadOnly, isLoading: isCheckingQualifier || isCheckingName, className: "w-fit" }, "Check Availability")), (isCheckingQualifier || isCheckingName) && /* @__PURE__ */ React47.createElement("div", { className: " mt-2" }, /* @__PURE__ */ React47.createElement(AiStageCheck, { tasks: [{ id: "1", label: "AI Qualifier Pre-check...", status: isCheckingQualifier ? "loading" : "success" }, { id: "2", label: "Checking Official Registry Database...", status: isCheckingName ? "loading" : "pending" }, { id: "3", label: "Fallback Checking Public Database...", status: isCheckingName ? "loading" : "pending" }, { id: "4", label: "Validation Status...", status: isCheckingName ? "loading" : "pending" }] })), qualifierCheckResult && /* @__PURE__ */ React47.createElement("div", { className: "mt-2 animate-in fade-in" }, /* @__PURE__ */ React47.createElement("div", { className: "border border-purple-100 bg-linear-to-bl from-purple-50/80 via-white to-white p-5 rounded-2xl flex flex-col gap-4 relative overflow-hidden" }, /* @__PURE__ */ React47.createElement("div", null, /* @__PURE__ */ React47.createElement("span", { className: "text-[11px] tracking-widest text-purple-600 block mb-1" }, "AI Suggestion: Structural Qualifier Missing"), /* @__PURE__ */ React47.createElement("p", { className: "text-sm text-black mb-3" }, "Nigerian registrations require a structural qualifier to be approved."), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-2" }, (qualifierCheckResult.suggestions || []).map((alt, i) => /* @__PURE__ */ React47.createElement("button", { key: i, onClick: () => setFormData({ ...formData, proposedName: alt }), className: "text-left px-4 py-2 border border-neutral-100 rounded-full hover:border-black text-sm transition-colors outline-none" }, alt)))), /* @__PURE__ */ React47.createElement("button", { onClick: () => setQualifierCheckResult(null), className: "w-fit text-[11px] tracking-widest text-neutral-500 hover:text-black transition-colors mt-2 outline-none" }, "Edit Name Manually"))), nameCheckResult && /* @__PURE__ */ React47.createElement("div", { className: " mt-2 animate-in fade-in" }, nameCheckResult.status === "APPROVED" || nameCheckResult.status === "APPROVED_WARNING" || nameCheckResult.status === "SKIPPED" ? /* @__PURE__ */ React47.createElement(AiApproveDecline, { suggestionTitle: nameCheckResult.status === "APPROVED" ? "Name Available!" : "Fallback Approval", suggestionValue: /* @__PURE__ */ React47.createElement("div", null, /* @__PURE__ */ React47.createElement("p", { className: `mb-1 ${nameCheckResult.status === "APPROVED" ? "text-emerald-600 " : "text-orange-500 "}` }, nameCheckResult.status === "APPROVED" ? "Excellent chance of approval." : "Validation Bypassed / Fallback."), /* @__PURE__ */ React47.createElement("p", { className: "text-xs text-neutral-600" }, nameCheckResult.message), /* @__PURE__ */ React47.createElement("p", { className: "text-xs text-neutral-600 mt-2 " }, "Proposed Option: ", nameCheckResult.approvedOption)), onApprove: () => {
4151
4221
  const newForm = { ...formData, approvedName: nameCheckResult.approvedOption };
4152
4222
  setFormData(newForm);
4153
4223
  approveSection("nameApproved", newForm);
4154
- }, onDecline: () => setNameCheckResult(null) }) : /* @__PURE__ */ React46.createElement("div", { className: "border border-red-100 bg-linear-to-bl from-red-50/80 via-white to-white p-5 rounded-2xl flex flex-col gap-4 relative overflow-hidden" }, /* @__PURE__ */ React46.createElement("div", null, /* @__PURE__ */ React46.createElement("span", { className: "text-[11px] tracking-widest text-red-600 block mb-1" }, "Registry Conflict Detected"), /* @__PURE__ */ React46.createElement("p", { className: "text-sm text-black mb-3" }, nameCheckResult.message), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-2" }, (nameCheckResult.alternatives || []).map((alt, i) => /* @__PURE__ */ React46.createElement("button", { key: i, onClick: () => setFormData({ ...formData, proposedName: alt }), className: "text-left px-4 py-2 border border-neutral-100 rounded-full hover:border-black text-sm transition-colors outline-none" }, alt)))), /* @__PURE__ */ React46.createElement("button", { onClick: () => setNameCheckResult(null), className: "w-fit text-[11px] tracking-widest text-neutral-500 hover:text-black transition-colors mt-2 outline-none" }, "Try New Name")))) : /* @__PURE__ */ React46.createElement("div", { className: " flex items-center justify-between" }, /* @__PURE__ */ React46.createElement("div", null, /* @__PURE__ */ React46.createElement("p", { className: "text-sm text-black" }, formData.approvedName), /* @__PURE__ */ React46.createElement("p", { className: "text-xs text-emerald-600 mt-1" }, "Verified against registry")), !isReadOnly && /* @__PURE__ */ React46.createElement("button", { onClick: () => editSection("nameApproved"), className: "p-2 text-neutral-400 hover:text-black transition-colors outline-none shrink-0" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: PencilEdit01Icon2, size: 16 })))), formState.nameApproved && /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-4 pt-6 animate-in slide-in-from-top-4 duration-500" }, /* @__PURE__ */ React46.createElement("div", { className: "flex items-center text-black" }, /* @__PURE__ */ React46.createElement("h3", { className: "text-sm " }, "Where is your head office located?")), !formState.addressApproved ? /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-4 " }, /* @__PURE__ */ React46.createElement(TextInput, { label: "Street Address", value: formData.address, onChange: (v) => setFormData({ ...formData, address: v }), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React46.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React46.createElement(TextInput, { label: "City", value: formData.city, onChange: (v) => setFormData({ ...formData, city: v }), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React46.createElement(TextInput, { label: "State", value: formData.state, readOnly: true, onClick: () => !isReadOnly && setActiveModal({ isOpen: true, type: "state", memberIndex: null, isGlobalState: true }), placeholder: "Select State", onChange: () => {
4155
- }, disabled: isReadOnly || isSubmitting })), /* @__PURE__ */ React46.createElement(ThreeDActionButton, { onClick: () => approveSection("addressApproved"), disabled: !formData.address || !formData.city || !formData.state || isReadOnly, className: "w-fit mt-2" }, "Confirm Address")) : /* @__PURE__ */ React46.createElement("div", { className: " flex items-center justify-between" }, /* @__PURE__ */ React46.createElement("p", { className: "text-sm text-neutral-500" }, formData.address, ", ", formData.city, ", ", formData.state), !isReadOnly && /* @__PURE__ */ React46.createElement("button", { onClick: () => editSection("addressApproved"), className: "p-2 text-neutral-400 hover:text-black transition-colors outline-none shrink-0" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: PencilEdit01Icon2, size: 16 })))), formState.addressApproved && type === "company" && /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-4 pt-6 animate-in slide-in-from-top-4 duration-500" }, /* @__PURE__ */ React46.createElement("div", { className: "flex items-center justify-between gap-2 text-black" }, /* @__PURE__ */ React46.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React46.createElement("h3", { className: "text-sm " }, "Directors & Shareholders")), !formState.membersDetailsApproved && /* @__PURE__ */ React46.createElement("div", { className: `text-xs px-3 py-1 rounded-full ${getCompanyTotalShares() === 100 ? "bg-emerald-50 text-emerald-600" : "bg-red-50 text-red-500"}` }, "Total Shares: ", getCompanyTotalShares(), "%")), /* @__PURE__ */ React46.createElement("p", { className: "text-xs text-neutral-400 -mt-2" }, "Provide details for all individuals. Ensure total share percentage equals 100%."), !formState.membersDetailsApproved ? /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-6 " }, formData.members.map((member, i) => /* @__PURE__ */ React46.createElement("div", { key: member.id, className: "flex flex-col gap-4 border border-neutral-100 p-5 rounded-2xl bg-neutral-50/30" }, /* @__PURE__ */ React46.createElement("div", { className: "flex justify-between items-center mb-1" }, /* @__PURE__ */ React46.createElement("span", { className: "text-[11px] tracking-widest text-neutral-400" }, "Member ", i + 1), formData.members.length > 1 && !isReadOnly && /* @__PURE__ */ React46.createElement("button", { onClick: () => removeCompanyMember(i), className: "text-red-500 text-xs hover:text-red-600" }, "Remove")), /* @__PURE__ */ React46.createElement("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4" }, /* @__PURE__ */ React46.createElement(TextInput, { label: "Role", value: member.role, readOnly: true, onClick: () => !isReadOnly && setActiveModal({ isOpen: true, type: "role", memberIndex: i }), onChange: () => {
4156
- }, disabled: isReadOnly || isSubmitting }), member.role !== "Director Only" && /* @__PURE__ */ React46.createElement(NumberInput, { label: "Share Percentage (%)", value: member.sharePercentage, onChange: (v) => updateCompanyMemberInfo(i, "sharePercentage", v), disabled: isReadOnly || isSubmitting })), /* @__PURE__ */ React46.createElement(TextInput, { label: "Full Name", value: member.fullName, onChange: (v) => updateCompanyMemberInfo(i, "fullName", v), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React46.createElement("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4" }, /* @__PURE__ */ React46.createElement(NumberInput, { label: "Phone Number", value: member.phone, onChange: (v) => updateCompanyMemberInfo(i, "phone", v), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React46.createElement(TextInput, { label: "Email Address", value: member.email, onChange: (v) => updateCompanyMemberInfo(i, "email", v), disabled: isReadOnly || isSubmitting })), /* @__PURE__ */ React46.createElement(TextInput, { label: "Nationality", value: member.nationality, readOnly: true, onClick: () => !isReadOnly && setActiveModal({ isOpen: true, type: "nationality", memberIndex: i }), onChange: () => {
4157
- }, disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React46.createElement(TextInput, { label: "Residential Address", value: member.address, onChange: (v) => updateCompanyMemberInfo(i, "address", v), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React46.createElement("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4" }, /* @__PURE__ */ React46.createElement(TextInput, { label: "City", value: member.city, onChange: (v) => updateCompanyMemberInfo(i, "city", v), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React46.createElement(TextInput, { label: "State", value: member.state, readOnly: true, onClick: () => !isReadOnly && setActiveModal({ isOpen: true, type: "state", memberIndex: i }), onChange: () => {
4158
- }, disabled: isReadOnly || isSubmitting })))), /* @__PURE__ */ React46.createElement("div", { className: "flex items-center justify-between mt-2" }, !isReadOnly && /* @__PURE__ */ React46.createElement("button", { onClick: addCompanyMember, className: "px-6 py-2 bg-white border border-neutral-100 text-black text-[11px] tracking-widest rounded-full hover:bg-neutral-50 transition-colors outline-none" }, "+ Add Member"), /* @__PURE__ */ React46.createElement(ThreeDActionButton, { onClick: () => approveSection("membersDetailsApproved"), disabled: !areCompanyMembersValid() || isReadOnly, className: "w-fit" }, "Confirm Members"))) : /* @__PURE__ */ React46.createElement("div", { className: " flex items-center justify-between" }, /* @__PURE__ */ React46.createElement("div", null, /* @__PURE__ */ React46.createElement("p", { className: "text-sm text-black" }, formData.members.length, " Member(s) Registered"), /* @__PURE__ */ React46.createElement("p", { className: "text-xs text-neutral-500 mt-1" }, "Total Shares: 100% Verified.")), !isReadOnly && /* @__PURE__ */ React46.createElement("button", { onClick: () => editSection("membersDetailsApproved"), className: "p-2 text-neutral-400 hover:text-black transition-colors outline-none shrink-0" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: PencilEdit01Icon2, size: 16 })))), formState.addressApproved && type === "business" && /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-4 pt-6 animate-in slide-in-from-top-4 duration-500" }, /* @__PURE__ */ React46.createElement("div", { className: "flex items-center text-black" }, /* @__PURE__ */ React46.createElement("h3", { className: "text-sm " }, "Who owns the business?")), /* @__PURE__ */ React46.createElement("p", { className: "text-xs text-neutral-400 -mt-2" }, "Provide basic contact info. We will extract your DOB and ID number automatically in the next step."), !formState.ownerApproved ? /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-4 " }, /* @__PURE__ */ React46.createElement(TextInput, { label: "Full Name", value: formData.ownerName, onChange: (v) => setFormData({ ...formData, ownerName: v }), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React46.createElement("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4" }, /* @__PURE__ */ React46.createElement(NumberInput, { label: "Phone Number", value: formData.ownerPhone, onChange: (v) => setFormData({ ...formData, ownerPhone: v }), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React46.createElement(TextInput, { label: "Email Address", value: formData.ownerEmail, onChange: (v) => setFormData({ ...formData, ownerEmail: v }), disabled: isReadOnly || isSubmitting })), /* @__PURE__ */ React46.createElement(ThreeDActionButton, { onClick: () => approveSection("ownerApproved"), disabled: !formData.ownerName || !formData.ownerPhone || !formData.ownerEmail || isReadOnly, className: "w-fit mt-2" }, "Confirm Owner Details")) : /* @__PURE__ */ React46.createElement("div", { className: " flex items-center justify-between" }, /* @__PURE__ */ React46.createElement("div", null, /* @__PURE__ */ React46.createElement("p", { className: "text-sm text-black" }, formData.ownerName), /* @__PURE__ */ React46.createElement("p", { className: "text-xs text-neutral-500 mt-1" }, formData.ownerEmail, " \u2022 ", formData.ownerPhone)), !isReadOnly && /* @__PURE__ */ React46.createElement("button", { onClick: () => editSection("ownerApproved"), className: "p-2 text-neutral-400 hover:text-black transition-colors outline-none shrink-0" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: PencilEdit01Icon2, size: 16 })))), /* @__PURE__ */ React46.createElement("div", { className: "flex items-center justify-between mt-8 pt-6 " }, /* @__PURE__ */ React46.createElement("button", { onClick: handleBack, className: "flex items-center gap-2 px-6 py-2 text-[11px] tracking-widest text-neutral-500 hover:text-black hover:bg-neutral-50 rounded-full transition-colors outline-none" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: ArrowLeft01Icon9, size: 14 }), " Close"), /* @__PURE__ */ React46.createElement(ThreeDActionButton, { onClick: handleNext, disabled: !isStep0Valid, className: "w-fit shrink-0" }, "Next Step"))), macroStep === 1 && /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-8 animate-in fade-in" }, type === "company" ? /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-2" }, /* @__PURE__ */ React46.createElement("h3", { className: "text-sm text-black" }, "Member Identity Documents"), /* @__PURE__ */ React46.createElement("p", { className: "text-xs text-neutral-500 leading-relaxed" }, "Upload valid means of identification, passport photographs, and signatures for every director and shareholder.")), !formState.membersDocsApproved ? /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-6" }, formData.members.map((member, i) => /* @__PURE__ */ React46.createElement("div", { key: member.id, className: "flex flex-col gap-4" }, /* @__PURE__ */ React46.createElement("span", { className: "text-[11px] tracking-widest text-black mb-1" }, member.fullName || `Member ${i + 1}`, " ", /* @__PURE__ */ React46.createElement("span", { className: "text-neutral-400 ml-2" }, "(", member.role, ")")), /* @__PURE__ */ React46.createElement("input", { id: `id-upload-${i}`, type: "file", accept: "image/jpeg, image/png, image/webp, application/pdf", className: "hidden", onChange: (e) => handleCompanyMemberUpload(e, i, "id"), disabled: isReadOnly || isAnyUploading }), /* @__PURE__ */ React46.createElement("input", { id: `pass-upload-${i}`, type: "file", accept: "image/jpeg, image/png, image/webp, application/pdf", className: "hidden", onChange: (e) => handleCompanyMemberUpload(e, i, "passport"), disabled: isReadOnly || isAnyUploading }), /* @__PURE__ */ React46.createElement("input", { id: `sig-upload-${i}`, type: "file", accept: "image/jpeg, image/png, image/webp, application/pdf", className: "hidden", onChange: (e) => handleCompanyMemberUpload(e, i, "signature"), disabled: isReadOnly || isAnyUploading }), !member.idExtractedData && !globalExtractingId ? /* @__PURE__ */ React46.createElement("button", { onClick: () => !isReadOnly && !isAnyUploading && document.getElementById(`id-upload-${i}`)?.click(), className: `flex items-center gap-3 p-4 border border-neutral-100 rounded-full transition-colors text-sm w-full outline-none ${isAnyUploading ? "opacity-50 cursor-not-allowed bg-neutral-50 text-neutral-400" : "text-black hover:bg-neutral-50"}`, disabled: isReadOnly || isAnyUploading }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: Upload01Icon3, size: 18, className: "text-neutral-400" }), " Upload Valid ID (NIN, License, Voter's Card)") : globalExtractingId && !member.idExtractedData ? /* @__PURE__ */ React46.createElement("div", { className: " mt-2" }, /* @__PURE__ */ React46.createElement(AiStageCheck, { tasks: aiTasks })) : member.idExtractedData ? /* @__PURE__ */ React46.createElement("div", { className: " mt-2 animate-in fade-in border border-purple-100 bg-linear-to-bl from-purple-50/80 via-white to-white p-5 rounded-xl flex flex-col gap-4 relative overflow-hidden" }, /* @__PURE__ */ React46.createElement("div", null, /* @__PURE__ */ React46.createElement("span", { className: "text-[11px] tracking-widest text-purple-600 block mb-2" }, "Review Extracted ID"), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-4" }, /* @__PURE__ */ React46.createElement(TextInput, { label: "Full Name on ID", value: member.idExtractedData.fullName, onChange: (v) => updateCompanyMemberInfo(i, "idExtractedData", { ...member.idExtractedData, fullName: v }), disabled: isReadOnly || isAnyUploading }), /* @__PURE__ */ React46.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React46.createElement(TextInput, { label: "ID Number", value: member.idExtractedData.idNumber, onChange: (v) => updateCompanyMemberInfo(i, "idExtractedData", { ...member.idExtractedData, idNumber: v }), disabled: isReadOnly || isAnyUploading }), /* @__PURE__ */ React46.createElement(TextInput, { label: "Date of Birth", value: member.idExtractedData.dob, onChange: (v) => updateCompanyMemberInfo(i, "idExtractedData", { ...member.idExtractedData, dob: v }), disabled: isReadOnly || isAnyUploading })))), /* @__PURE__ */ React46.createElement("div", { className: "flex items-center gap-2 mt-2" }, !isReadOnly && /* @__PURE__ */ React46.createElement("button", { onClick: () => deleteCompanyMemberDocument(i, "id"), disabled: isAnyUploading, className: "px-6 py-2 bg-white border border-neutral-100 text-neutral-500 text-[11px] rounded-full tracking-widest hover:bg-neutral-50 transition-colors outline-none disabled:opacity-50 disabled:cursor-not-allowed" }, "Delete & Re-upload ID"))) : null, !member.passportFileUrl && !globalUploadingPassport ? /* @__PURE__ */ React46.createElement("button", { onClick: () => !isReadOnly && !isAnyUploading && document.getElementById(`pass-upload-${i}`)?.click(), className: `flex items-center gap-3 p-4 border border-neutral-100 rounded-full transition-colors text-sm w-full outline-none ${isAnyUploading ? "opacity-50 cursor-not-allowed bg-neutral-50 text-neutral-400" : "text-black hover:bg-neutral-50"}`, disabled: isReadOnly || isAnyUploading }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: Upload01Icon3, size: 18, className: "text-neutral-400" }), " Upload Passport Photo") : globalUploadingPassport && !member.passportFileUrl ? /* @__PURE__ */ React46.createElement("div", { className: "flex items-center gap-3 p-4 border border-neutral-100 rounded-full bg-neutral-50 text-neutral-500 text-sm w-full" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: Loading03Icon14, size: 18, className: "animate-spin text-black" }), " Uploading Passport...") : member.passportFileUrl ? /* @__PURE__ */ React46.createElement("div", { className: "flex items-center justify-between p-4 bg-emerald-50 rounded-full text-emerald-800 text-sm w-full" }, /* @__PURE__ */ React46.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: IdentificationIcon, size: 18 }), " Passport Uploaded"), !isReadOnly && /* @__PURE__ */ React46.createElement("button", { onClick: () => deleteCompanyMemberDocument(i, "passport"), disabled: isAnyUploading, className: "text-emerald-700 hover:text-red-500 transition-colors p-1 outline-none shrink-0 disabled:opacity-50 disabled:cursor-not-allowed" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: Delete02Icon3, size: 16 }))) : null, !member.signatureFileUrl && !globalUploadingSignature ? /* @__PURE__ */ React46.createElement("button", { onClick: () => !isReadOnly && !isAnyUploading && document.getElementById(`sig-upload-${i}`)?.click(), className: `flex items-center gap-3 p-4 border border-neutral-100 rounded-full transition-colors text-sm w-full outline-none ${isAnyUploading ? "opacity-50 cursor-not-allowed bg-neutral-50 text-neutral-400" : "text-black hover:bg-neutral-50"}`, disabled: isReadOnly || isAnyUploading }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: Upload01Icon3, size: 18, className: "text-neutral-400" }), " Upload Signature") : globalUploadingSignature && !member.signatureFileUrl ? /* @__PURE__ */ React46.createElement("div", { className: "flex items-center gap-3 p-4 border border-neutral-100 rounded-full bg-neutral-50 text-neutral-500 text-sm w-full" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: Loading03Icon14, size: 18, className: "animate-spin text-black" }), " Uploading Signature...") : member.signatureFileUrl ? /* @__PURE__ */ React46.createElement("div", { className: "flex items-center justify-between p-4 bg-emerald-50 rounded-full text-emerald-800 text-sm w-full" }, /* @__PURE__ */ React46.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: SignatureIcon, size: 18 }), " Signature Uploaded"), !isReadOnly && /* @__PURE__ */ React46.createElement("button", { onClick: () => deleteCompanyMemberDocument(i, "signature"), disabled: isAnyUploading, className: "text-emerald-700 hover:text-red-500 transition-colors p-1 outline-none shrink-0 disabled:opacity-50 disabled:cursor-not-allowed" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: Delete02Icon3, size: 16 }))) : null)), /* @__PURE__ */ React46.createElement("div", { className: "flex justify-end" }, /* @__PURE__ */ React46.createElement(ThreeDActionButton, { onClick: () => approveSection("membersDocsApproved"), disabled: !areCompanyMemberDocsValid() || isReadOnly || isAnyUploading, className: "w-fit" }, "Confirm All Documents"))) : /* @__PURE__ */ React46.createElement("div", { className: " flex items-center justify-between bg-emerald-50 p-6 rounded-full" }, /* @__PURE__ */ React46.createElement("div", null, /* @__PURE__ */ React46.createElement("p", { className: "text-sm text-emerald-800" }, "Documents Uploaded"), /* @__PURE__ */ React46.createElement("p", { className: "text-xs text-emerald-600 mt-1" }, "Data safely extracted.")), !isReadOnly && /* @__PURE__ */ React46.createElement("button", { onClick: () => editSection("membersDocsApproved"), className: "p-2 text-emerald-700 hover:text-black transition-colors outline-none shrink-0" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: PencilEdit01Icon2, size: 16 })))) : /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement("input", { type: "file", accept: "image/jpeg, image/png, image/webp, application/pdf", ref: idRef, onChange: (e) => handleBusinessUpload(e, "id"), disabled: isReadOnly || isAnyUploading, className: "hidden" }), /* @__PURE__ */ React46.createElement("input", { type: "file", accept: "image/jpeg, image/png, image/webp, application/pdf", ref: passportRef, onChange: (e) => handleBusinessUpload(e, "passport"), disabled: isReadOnly || isAnyUploading, className: "hidden" }), /* @__PURE__ */ React46.createElement("input", { type: "file", accept: "image/jpeg, image/png, image/webp, application/pdf", ref: signatureRef, onChange: (e) => handleBusinessUpload(e, "signature"), disabled: isReadOnly || isAnyUploading, className: "hidden" }), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-4" }, /* @__PURE__ */ React46.createElement("div", { className: "flex items-center gap-2 text-black" }, /* @__PURE__ */ React46.createElement("h3", { className: "text-sm " }, "Upload Means of Identification")), /* @__PURE__ */ React46.createElement("p", { className: "text-xs text-neutral-500 -mt-2" }, "Upload your NIN, Driver's License, Voter's Card, or Int'l Passport (JPG/PNG/WEBP)."), !formState.idApproved ? /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement("button", { onClick: () => !isReadOnly && !isAnyUploading && idRef.current?.click(), disabled: isReadOnly || isAnyUploading, className: `w-full h-32 border border-neutral-100 rounded-full flex flex-col items-center justify-center gap-2 transition-colors outline-none ${isAnyUploading ? "opacity-50 cursor-not-allowed bg-neutral-50 text-neutral-400" : "hover:bg-neutral-50 text-black"}` }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: Upload01Icon3, size: 24, className: "text-neutral-400" }), /* @__PURE__ */ React46.createElement("span", { className: "text-xs" }, "Select ID Image to Upload")), globalExtractingId && /* @__PURE__ */ React46.createElement("div", { className: " mt-2" }, /* @__PURE__ */ React46.createElement(AiStageCheck, { tasks: aiTasks })), formData.idExtractedData && /* @__PURE__ */ React46.createElement("div", { className: " mt-2 animate-in fade-in border border-purple-100 bg-linear-to-bl from-purple-50/80 via-white to-white p-5 rounded-2xl flex flex-col gap-4 relative overflow-hidden" }, /* @__PURE__ */ React46.createElement("div", null, /* @__PURE__ */ React46.createElement("span", { className: "text-[11px] tracking-widest text-purple-600 block mb-2" }, "Review AI Extracted Data"), /* @__PURE__ */ React46.createElement("p", { className: "text-xs text-neutral-500 mb-4" }, "Please verify the extracted information and correct any OCR mistakes before approving."), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-4" }, /* @__PURE__ */ React46.createElement(TextInput, { label: "Full Name on ID", value: formData.idExtractedData.fullName, onChange: (v) => setFormData((f) => ({ ...f, idExtractedData: { ...f.idExtractedData, fullName: v } })), disabled: isReadOnly || isAnyUploading }), /* @__PURE__ */ React46.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React46.createElement(TextInput, { label: "ID Number", value: formData.idExtractedData.idNumber, onChange: (v) => setFormData((f) => ({ ...f, idExtractedData: { ...f.idExtractedData, idNumber: v } })), disabled: isReadOnly || isAnyUploading }), /* @__PURE__ */ React46.createElement(TextInput, { label: "Date of Birth (YYYY-MM-DD)", value: formData.idExtractedData.dob, onChange: (v) => setFormData((f) => ({ ...f, idExtractedData: { ...f.idExtractedData, dob: v } })), disabled: isReadOnly || isAnyUploading })))), /* @__PURE__ */ React46.createElement("div", { className: "flex items-center gap-2 mt-2" }, /* @__PURE__ */ React46.createElement(ThreeDActionButton, { onClick: () => approveSection("idApproved"), disabled: isAnyUploading || isReadOnly, className: "w-fit shrink-0" }, "Approve Data"), !isReadOnly && /* @__PURE__ */ React46.createElement("button", { onClick: () => deleteBusinessDocument("id"), disabled: isAnyUploading, className: "px-6 py-2 bg-white border border-neutral-100 text-neutral-500 text-[11px] rounded-full tracking-widest hover:bg-neutral-50 transition-colors outline-none disabled:opacity-50 disabled:cursor-not-allowed" }, "Delete & Re-upload")))) : /* @__PURE__ */ React46.createElement("div", { className: " flex items-center justify-between bg-emerald-50 p-6 rounded-full" }, /* @__PURE__ */ React46.createElement("div", null, /* @__PURE__ */ React46.createElement("p", { className: "text-sm text-emerald-800" }, "ID Document Verified"), /* @__PURE__ */ React46.createElement("p", { className: "text-xs text-emerald-600 mt-1" }, "Data safely extracted and stored.")), !isReadOnly && /* @__PURE__ */ React46.createElement("button", { onClick: () => editSection("idApproved"), className: "p-2 text-emerald-700 hover:text-black transition-colors outline-none shrink-0" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: PencilEdit01Icon2, size: 16 })))), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-4 pt-6 animate-in slide-in-from-top-4 duration-500" }, /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-3 " }, !formState.passportApproved && !globalUploadingPassport ? /* @__PURE__ */ React46.createElement("button", { onClick: () => !isReadOnly && !isAnyUploading && passportRef.current?.click(), disabled: isReadOnly || isAnyUploading, className: `flex items-center gap-3 p-4 border border-neutral-100 rounded-full transition-colors text-sm w-full outline-none ${isAnyUploading ? "opacity-50 cursor-not-allowed bg-neutral-50 text-neutral-400" : "text-black hover:bg-neutral-50"}` }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: Upload01Icon3, size: 18, className: "text-neutral-400" }), " Upload Passport Photo") : globalUploadingPassport && !formData.passportFileUrl ? /* @__PURE__ */ React46.createElement("div", { className: "flex items-center gap-3 p-4 border border-neutral-100 rounded-full bg-neutral-50 text-neutral-500 text-sm w-full" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: Loading03Icon14, size: 18, className: "animate-spin text-black" }), " Uploading Passport...") : /* @__PURE__ */ React46.createElement("div", { className: "flex items-center justify-between p-4 bg-emerald-50 rounded-full text-emerald-800 text-sm w-full" }, /* @__PURE__ */ React46.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: IdentificationIcon, size: 18 }), " Passport Uploaded"), !isReadOnly && /* @__PURE__ */ React46.createElement("button", { onClick: () => deleteBusinessDocument("passport"), disabled: isAnyUploading, className: "text-emerald-700 hover:text-red-500 transition-colors p-1 outline-none shrink-0 disabled:opacity-50 disabled:cursor-not-allowed" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: Delete02Icon3, size: 16 }))), !formState.signatureApproved && !globalUploadingSignature ? /* @__PURE__ */ React46.createElement("button", { onClick: () => !isReadOnly && !isAnyUploading && signatureRef.current?.click(), disabled: isReadOnly || isAnyUploading, className: `flex items-center gap-3 p-4 border border-neutral-100 rounded-full transition-colors text-sm w-full outline-none ${isAnyUploading ? "opacity-50 cursor-not-allowed bg-neutral-50 text-neutral-400" : "text-black hover:bg-neutral-50"}` }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: Upload01Icon3, size: 18, className: "text-neutral-400" }), " Upload Signature") : globalUploadingSignature && !formData.signatureFileUrl ? /* @__PURE__ */ React46.createElement("div", { className: "flex items-center gap-3 p-4 border border-neutral-100 rounded-full bg-neutral-50 text-neutral-500 text-sm w-full" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: Loading03Icon14, size: 18, className: "animate-spin text-black" }), " Uploading Signature...") : /* @__PURE__ */ React46.createElement("div", { className: "flex items-center justify-between p-4 bg-emerald-50 rounded-full text-emerald-800 text-sm w-full" }, /* @__PURE__ */ React46.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: SignatureIcon, size: 18 }), " Signature Uploaded"), !isReadOnly && /* @__PURE__ */ React46.createElement("button", { onClick: () => deleteBusinessDocument("signature"), disabled: isAnyUploading, className: "text-emerald-700 hover:text-red-500 transition-colors p-1 outline-none shrink-0 disabled:opacity-50 disabled:cursor-not-allowed" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: Delete02Icon3, size: 16 })))))), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-4 pt-6 border-t border-neutral-100 animate-in slide-in-from-top-4 duration-500" }, /* @__PURE__ */ React46.createElement("input", { type: "file", accept: "image/jpeg, image/png, image/webp, application/pdf", ref: other1Ref, onChange: (e) => handleOptionalUpload(e, "other1"), disabled: isAnyUploading || isReadOnly, className: "hidden" }), /* @__PURE__ */ React46.createElement("input", { type: "file", accept: "image/jpeg, image/png, image/webp, application/pdf", ref: other2Ref, onChange: (e) => handleOptionalUpload(e, "other2"), disabled: isAnyUploading || isReadOnly, className: "hidden" }), /* @__PURE__ */ React46.createElement("input", { type: "file", accept: "image/jpeg, image/png, image/webp, application/pdf", ref: other3Ref, onChange: (e) => handleOptionalUpload(e, "other3"), disabled: isAnyUploading || isReadOnly, className: "hidden" }), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-1 mb-2" }, /* @__PURE__ */ React46.createElement("h3", { className: "text-sm text-black" }, "Additional Documents (Optional)"), /* @__PURE__ */ React46.createElement("p", { className: "text-xs text-neutral-500 leading-relaxed" }, "If your ", type === "company" ? "company" : "business", " involves regulated professional services, please upload relevant licenses, certificates, or permits here (up to 3 documents).")), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-3" }, [1, 2, 3].map((num) => {
4224
+ }, onDecline: () => setNameCheckResult(null) }) : /* @__PURE__ */ React47.createElement("div", { className: "border border-red-100 bg-linear-to-bl from-red-50/80 via-white to-white p-5 rounded-2xl flex flex-col gap-4 relative overflow-hidden" }, /* @__PURE__ */ React47.createElement("div", null, /* @__PURE__ */ React47.createElement("span", { className: "text-[11px] tracking-widest text-red-600 block mb-1" }, "Registry Conflict Detected"), /* @__PURE__ */ React47.createElement("p", { className: "text-sm text-black mb-3" }, nameCheckResult.message), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-2" }, (nameCheckResult.alternatives || []).map((alt, i) => /* @__PURE__ */ React47.createElement("button", { key: i, onClick: () => setFormData({ ...formData, proposedName: alt }), className: "text-left px-4 py-2 border border-neutral-100 rounded-full hover:border-black text-sm transition-colors outline-none" }, alt)))), /* @__PURE__ */ React47.createElement("button", { onClick: () => setNameCheckResult(null), className: "w-fit text-[11px] tracking-widest text-neutral-500 hover:text-black transition-colors mt-2 outline-none" }, "Try New Name")))) : /* @__PURE__ */ React47.createElement("div", { className: " flex items-center justify-between" }, /* @__PURE__ */ React47.createElement("div", null, /* @__PURE__ */ React47.createElement("p", { className: "text-sm text-black" }, formData.approvedName), /* @__PURE__ */ React47.createElement("p", { className: "text-xs text-emerald-600 mt-1" }, "Verified against registry")), !isReadOnly && /* @__PURE__ */ React47.createElement("button", { onClick: () => editSection("nameApproved"), className: "p-2 text-neutral-400 hover:text-black transition-colors outline-none shrink-0" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: PencilEdit01Icon2, size: 16 })))), formState.nameApproved && /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-4 pt-6 animate-in slide-in-from-top-4 duration-500" }, /* @__PURE__ */ React47.createElement("div", { className: "flex items-center text-black" }, /* @__PURE__ */ React47.createElement("h3", { className: "text-sm " }, "Where is your head office located?")), !formState.addressApproved ? /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-4 " }, /* @__PURE__ */ React47.createElement(TextInput, { label: "Street Address", value: formData.address, onChange: (v) => setFormData({ ...formData, address: v }), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React47.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React47.createElement(TextInput, { label: "City", value: formData.city, onChange: (v) => setFormData({ ...formData, city: v }), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React47.createElement(TextInput, { label: "State", value: formData.state, readOnly: true, onClick: () => !isReadOnly && setActiveModal({ isOpen: true, type: "state", memberIndex: null, isGlobalState: true }), placeholder: "Select State", onChange: () => {
4225
+ }, disabled: isReadOnly || isSubmitting })), /* @__PURE__ */ React47.createElement(ThreeDActionButton, { onClick: () => approveSection("addressApproved"), disabled: !formData.address || !formData.city || !formData.state || isReadOnly, className: "w-fit mt-2" }, "Confirm Address")) : /* @__PURE__ */ React47.createElement("div", { className: " flex items-center justify-between" }, /* @__PURE__ */ React47.createElement("p", { className: "text-sm text-neutral-500" }, formData.address, ", ", formData.city, ", ", formData.state), !isReadOnly && /* @__PURE__ */ React47.createElement("button", { onClick: () => editSection("addressApproved"), className: "p-2 text-neutral-400 hover:text-black transition-colors outline-none shrink-0" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: PencilEdit01Icon2, size: 16 })))), formState.addressApproved && type === "company" && /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-4 pt-6 animate-in slide-in-from-top-4 duration-500" }, /* @__PURE__ */ React47.createElement("div", { className: "flex items-center justify-between gap-2 text-black" }, /* @__PURE__ */ React47.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React47.createElement("h3", { className: "text-sm " }, "Directors & Shareholders")), !formState.membersDetailsApproved && /* @__PURE__ */ React47.createElement("div", { className: `text-xs px-3 py-1 rounded-full ${getCompanyTotalShares() === 100 ? "bg-emerald-50 text-emerald-600" : "bg-red-50 text-red-500"}` }, "Total Shares: ", getCompanyTotalShares(), "%")), /* @__PURE__ */ React47.createElement("p", { className: "text-xs text-neutral-400 -mt-2" }, "Provide details for all individuals. Ensure total share percentage equals 100%."), !formState.membersDetailsApproved ? /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-6 " }, formData.members.map((member, i) => /* @__PURE__ */ React47.createElement("div", { key: member.id, className: "flex flex-col gap-4 border border-neutral-100 p-5 rounded-2xl bg-neutral-50/30" }, /* @__PURE__ */ React47.createElement("div", { className: "flex justify-between items-center mb-1" }, /* @__PURE__ */ React47.createElement("span", { className: "text-[11px] tracking-widest text-neutral-400" }, "Member ", i + 1), formData.members.length > 1 && !isReadOnly && /* @__PURE__ */ React47.createElement("button", { onClick: () => removeCompanyMember(i), className: "text-red-500 text-xs hover:text-red-600" }, "Remove")), /* @__PURE__ */ React47.createElement("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4" }, /* @__PURE__ */ React47.createElement(TextInput, { label: "Role", value: member.role, readOnly: true, onClick: () => !isReadOnly && setActiveModal({ isOpen: true, type: "role", memberIndex: i }), onChange: () => {
4226
+ }, disabled: isReadOnly || isSubmitting }), member.role !== "Director Only" && /* @__PURE__ */ React47.createElement(NumberInput, { label: "Share Percentage (%)", value: member.sharePercentage, onChange: (v) => updateCompanyMemberInfo(i, "sharePercentage", v), disabled: isReadOnly || isSubmitting })), /* @__PURE__ */ React47.createElement(TextInput, { label: "Full Name", value: member.fullName, onChange: (v) => updateCompanyMemberInfo(i, "fullName", v), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React47.createElement("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4" }, /* @__PURE__ */ React47.createElement(NumberInput, { label: "Phone Number", value: member.phone, onChange: (v) => updateCompanyMemberInfo(i, "phone", v), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React47.createElement(TextInput, { label: "Email Address", value: member.email, onChange: (v) => updateCompanyMemberInfo(i, "email", v), disabled: isReadOnly || isSubmitting })), /* @__PURE__ */ React47.createElement(TextInput, { label: "Nationality", value: member.nationality, readOnly: true, onClick: () => !isReadOnly && setActiveModal({ isOpen: true, type: "nationality", memberIndex: i }), onChange: () => {
4227
+ }, disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React47.createElement(TextInput, { label: "Residential Address", value: member.address, onChange: (v) => updateCompanyMemberInfo(i, "address", v), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React47.createElement("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4" }, /* @__PURE__ */ React47.createElement(TextInput, { label: "City", value: member.city, onChange: (v) => updateCompanyMemberInfo(i, "city", v), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React47.createElement(TextInput, { label: "State", value: member.state, readOnly: true, onClick: () => !isReadOnly && setActiveModal({ isOpen: true, type: "state", memberIndex: i }), onChange: () => {
4228
+ }, disabled: isReadOnly || isSubmitting })))), /* @__PURE__ */ React47.createElement("div", { className: "flex items-center justify-between mt-2" }, !isReadOnly && /* @__PURE__ */ React47.createElement("button", { onClick: addCompanyMember, className: "px-6 py-2 bg-white border border-neutral-100 text-black text-[11px] tracking-widest rounded-full hover:bg-neutral-50 transition-colors outline-none" }, "+ Add Member"), /* @__PURE__ */ React47.createElement(ThreeDActionButton, { onClick: () => approveSection("membersDetailsApproved"), disabled: !areCompanyMembersValid() || isReadOnly, className: "w-fit" }, "Confirm Members"))) : /* @__PURE__ */ React47.createElement("div", { className: " flex items-center justify-between" }, /* @__PURE__ */ React47.createElement("div", null, /* @__PURE__ */ React47.createElement("p", { className: "text-sm text-black" }, formData.members.length, " Member(s) Registered"), /* @__PURE__ */ React47.createElement("p", { className: "text-xs text-neutral-500 mt-1" }, "Total Shares: 100% Verified.")), !isReadOnly && /* @__PURE__ */ React47.createElement("button", { onClick: () => editSection("membersDetailsApproved"), className: "p-2 text-neutral-400 hover:text-black transition-colors outline-none shrink-0" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: PencilEdit01Icon2, size: 16 })))), formState.addressApproved && type === "business" && /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-4 pt-6 animate-in slide-in-from-top-4 duration-500" }, /* @__PURE__ */ React47.createElement("div", { className: "flex items-center text-black" }, /* @__PURE__ */ React47.createElement("h3", { className: "text-sm " }, "Who owns the business?")), /* @__PURE__ */ React47.createElement("p", { className: "text-xs text-neutral-400 -mt-2" }, "Provide basic contact info. We will extract your DOB and ID number automatically in the next step."), !formState.ownerApproved ? /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-4 " }, /* @__PURE__ */ React47.createElement(TextInput, { label: "Full Name", value: formData.ownerName, onChange: (v) => setFormData({ ...formData, ownerName: v }), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React47.createElement("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4" }, /* @__PURE__ */ React47.createElement(NumberInput, { label: "Phone Number", value: formData.ownerPhone, onChange: (v) => setFormData({ ...formData, ownerPhone: v }), disabled: isReadOnly || isSubmitting }), /* @__PURE__ */ React47.createElement(TextInput, { label: "Email Address", value: formData.ownerEmail, onChange: (v) => setFormData({ ...formData, ownerEmail: v }), disabled: isReadOnly || isSubmitting })), /* @__PURE__ */ React47.createElement(ThreeDActionButton, { onClick: () => approveSection("ownerApproved"), disabled: !formData.ownerName || !formData.ownerPhone || !formData.ownerEmail || isReadOnly, className: "w-fit mt-2" }, "Confirm Owner Details")) : /* @__PURE__ */ React47.createElement("div", { className: " flex items-center justify-between" }, /* @__PURE__ */ React47.createElement("div", null, /* @__PURE__ */ React47.createElement("p", { className: "text-sm text-black" }, formData.ownerName), /* @__PURE__ */ React47.createElement("p", { className: "text-xs text-neutral-500 mt-1" }, formData.ownerEmail, " \u2022 ", formData.ownerPhone)), !isReadOnly && /* @__PURE__ */ React47.createElement("button", { onClick: () => editSection("ownerApproved"), className: "p-2 text-neutral-400 hover:text-black transition-colors outline-none shrink-0" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: PencilEdit01Icon2, size: 16 })))), /* @__PURE__ */ React47.createElement("div", { className: "flex items-center justify-between mt-8 pt-6 " }, /* @__PURE__ */ React47.createElement("button", { onClick: handleBack, className: "flex items-center gap-2 px-6 py-2 text-[11px] tracking-widest text-neutral-500 hover:text-black hover:bg-neutral-50 rounded-full transition-colors outline-none" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: ArrowLeft01Icon10, size: 14 }), " Close"), /* @__PURE__ */ React47.createElement(ThreeDActionButton, { onClick: handleNext, disabled: !isStep0Valid, className: "w-fit shrink-0" }, "Next Step"))), macroStep === 1 && /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-8 animate-in fade-in" }, type === "company" ? /* @__PURE__ */ React47.createElement(React47.Fragment, null, /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-2" }, /* @__PURE__ */ React47.createElement("h3", { className: "text-sm text-black" }, "Member Identity Documents"), /* @__PURE__ */ React47.createElement("p", { className: "text-xs text-neutral-500 leading-relaxed" }, "Upload valid means of identification, passport photographs, and signatures for every director and shareholder.")), !formState.membersDocsApproved ? /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-6" }, formData.members.map((member, i) => /* @__PURE__ */ React47.createElement("div", { key: member.id, className: "flex flex-col gap-4" }, /* @__PURE__ */ React47.createElement("span", { className: "text-[11px] tracking-widest text-black mb-1" }, member.fullName || `Member ${i + 1}`, " ", /* @__PURE__ */ React47.createElement("span", { className: "text-neutral-400 ml-2" }, "(", member.role, ")")), /* @__PURE__ */ React47.createElement("input", { id: `id-upload-${i}`, type: "file", accept: "image/jpeg, image/png, image/webp, application/pdf", className: "hidden", onChange: (e) => handleCompanyMemberUpload(e, i, "id"), disabled: isReadOnly || isAnyUploading }), /* @__PURE__ */ React47.createElement("input", { id: `pass-upload-${i}`, type: "file", accept: "image/jpeg, image/png, image/webp, application/pdf", className: "hidden", onChange: (e) => handleCompanyMemberUpload(e, i, "passport"), disabled: isReadOnly || isAnyUploading }), /* @__PURE__ */ React47.createElement("input", { id: `sig-upload-${i}`, type: "file", accept: "image/jpeg, image/png, image/webp, application/pdf", className: "hidden", onChange: (e) => handleCompanyMemberUpload(e, i, "signature"), disabled: isReadOnly || isAnyUploading }), !member.idExtractedData && !globalExtractingId ? /* @__PURE__ */ React47.createElement("button", { onClick: () => !isReadOnly && !isAnyUploading && document.getElementById(`id-upload-${i}`)?.click(), className: `flex items-center gap-3 p-4 border border-neutral-100 rounded-full transition-colors text-sm w-full outline-none ${isAnyUploading ? "opacity-50 cursor-not-allowed bg-neutral-50 text-neutral-400" : "text-black hover:bg-neutral-50"}`, disabled: isReadOnly || isAnyUploading }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Upload01Icon3, size: 18, className: "text-neutral-400" }), " Upload Valid ID (NIN, License, Voter's Card)") : globalExtractingId && !member.idExtractedData ? /* @__PURE__ */ React47.createElement("div", { className: " mt-2" }, /* @__PURE__ */ React47.createElement(AiStageCheck, { tasks: aiTasks })) : member.idExtractedData ? /* @__PURE__ */ React47.createElement("div", { className: " mt-2 animate-in fade-in border border-purple-100 bg-linear-to-bl from-purple-50/80 via-white to-white p-5 rounded-xl flex flex-col gap-4 relative overflow-hidden" }, /* @__PURE__ */ React47.createElement("div", null, /* @__PURE__ */ React47.createElement("span", { className: "text-[11px] tracking-widest text-purple-600 block mb-2" }, "Review Extracted ID"), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-4" }, /* @__PURE__ */ React47.createElement(TextInput, { label: "Full Name on ID", value: member.idExtractedData.fullName, onChange: (v) => updateCompanyMemberInfo(i, "idExtractedData", { ...member.idExtractedData, fullName: v }), disabled: isReadOnly || isAnyUploading }), /* @__PURE__ */ React47.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React47.createElement(TextInput, { label: "ID Number", value: member.idExtractedData.idNumber, onChange: (v) => updateCompanyMemberInfo(i, "idExtractedData", { ...member.idExtractedData, idNumber: v }), disabled: isReadOnly || isAnyUploading }), /* @__PURE__ */ React47.createElement(TextInput, { label: "Date of Birth", value: member.idExtractedData.dob, onChange: (v) => updateCompanyMemberInfo(i, "idExtractedData", { ...member.idExtractedData, dob: v }), disabled: isReadOnly || isAnyUploading })))), /* @__PURE__ */ React47.createElement("div", { className: "flex items-center gap-2 mt-2" }, !isReadOnly && /* @__PURE__ */ React47.createElement("button", { onClick: () => deleteCompanyMemberDocument(i, "id"), disabled: isAnyUploading, className: "px-6 py-2 bg-white border border-neutral-100 text-neutral-500 text-[11px] rounded-full tracking-widest hover:bg-neutral-50 transition-colors outline-none disabled:opacity-50 disabled:cursor-not-allowed" }, "Delete & Re-upload ID"))) : null, !member.passportFileUrl && !globalUploadingPassport ? /* @__PURE__ */ React47.createElement("button", { onClick: () => !isReadOnly && !isAnyUploading && document.getElementById(`pass-upload-${i}`)?.click(), className: `flex items-center gap-3 p-4 border border-neutral-100 rounded-full transition-colors text-sm w-full outline-none ${isAnyUploading ? "opacity-50 cursor-not-allowed bg-neutral-50 text-neutral-400" : "text-black hover:bg-neutral-50"}`, disabled: isReadOnly || isAnyUploading }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Upload01Icon3, size: 18, className: "text-neutral-400" }), " Upload Passport Photo") : globalUploadingPassport && !member.passportFileUrl ? /* @__PURE__ */ React47.createElement("div", { className: "flex items-center gap-3 p-4 border border-neutral-100 rounded-full bg-neutral-50 text-neutral-500 text-sm w-full" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Loading03Icon15, size: 18, className: "animate-spin text-black" }), " Uploading Passport...") : member.passportFileUrl ? /* @__PURE__ */ React47.createElement("div", { className: "flex items-center justify-between p-4 bg-emerald-50 rounded-full text-emerald-800 text-sm w-full" }, /* @__PURE__ */ React47.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: IdentificationIcon, size: 18 }), " Passport Uploaded"), !isReadOnly && /* @__PURE__ */ React47.createElement("button", { onClick: () => deleteCompanyMemberDocument(i, "passport"), disabled: isAnyUploading, className: "text-emerald-700 hover:text-red-500 transition-colors p-1 outline-none shrink-0 disabled:opacity-50 disabled:cursor-not-allowed" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Delete02Icon4, size: 16 }))) : null, !member.signatureFileUrl && !globalUploadingSignature ? /* @__PURE__ */ React47.createElement("button", { onClick: () => !isReadOnly && !isAnyUploading && document.getElementById(`sig-upload-${i}`)?.click(), className: `flex items-center gap-3 p-4 border border-neutral-100 rounded-full transition-colors text-sm w-full outline-none ${isAnyUploading ? "opacity-50 cursor-not-allowed bg-neutral-50 text-neutral-400" : "text-black hover:bg-neutral-50"}`, disabled: isReadOnly || isAnyUploading }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Upload01Icon3, size: 18, className: "text-neutral-400" }), " Upload Signature") : globalUploadingSignature && !member.signatureFileUrl ? /* @__PURE__ */ React47.createElement("div", { className: "flex items-center gap-3 p-4 border border-neutral-100 rounded-full bg-neutral-50 text-neutral-500 text-sm w-full" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Loading03Icon15, size: 18, className: "animate-spin text-black" }), " Uploading Signature...") : member.signatureFileUrl ? /* @__PURE__ */ React47.createElement("div", { className: "flex items-center justify-between p-4 bg-emerald-50 rounded-full text-emerald-800 text-sm w-full" }, /* @__PURE__ */ React47.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: SignatureIcon, size: 18 }), " Signature Uploaded"), !isReadOnly && /* @__PURE__ */ React47.createElement("button", { onClick: () => deleteCompanyMemberDocument(i, "signature"), disabled: isAnyUploading, className: "text-emerald-700 hover:text-red-500 transition-colors p-1 outline-none shrink-0 disabled:opacity-50 disabled:cursor-not-allowed" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Delete02Icon4, size: 16 }))) : null)), /* @__PURE__ */ React47.createElement("div", { className: "flex justify-end" }, /* @__PURE__ */ React47.createElement(ThreeDActionButton, { onClick: () => approveSection("membersDocsApproved"), disabled: !areCompanyMemberDocsValid() || isReadOnly || isAnyUploading, className: "w-fit" }, "Confirm All Documents"))) : /* @__PURE__ */ React47.createElement("div", { className: " flex items-center justify-between bg-emerald-50 p-6 rounded-full" }, /* @__PURE__ */ React47.createElement("div", null, /* @__PURE__ */ React47.createElement("p", { className: "text-sm text-emerald-800" }, "Documents Uploaded"), /* @__PURE__ */ React47.createElement("p", { className: "text-xs text-emerald-600 mt-1" }, "Data safely extracted.")), !isReadOnly && /* @__PURE__ */ React47.createElement("button", { onClick: () => editSection("membersDocsApproved"), className: "p-2 text-emerald-700 hover:text-black transition-colors outline-none shrink-0" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: PencilEdit01Icon2, size: 16 })))) : /* @__PURE__ */ React47.createElement(React47.Fragment, null, /* @__PURE__ */ React47.createElement("input", { type: "file", accept: "image/jpeg, image/png, image/webp, application/pdf", ref: idRef, onChange: (e) => handleBusinessUpload(e, "id"), disabled: isReadOnly || isAnyUploading, className: "hidden" }), /* @__PURE__ */ React47.createElement("input", { type: "file", accept: "image/jpeg, image/png, image/webp, application/pdf", ref: passportRef, onChange: (e) => handleBusinessUpload(e, "passport"), disabled: isReadOnly || isAnyUploading, className: "hidden" }), /* @__PURE__ */ React47.createElement("input", { type: "file", accept: "image/jpeg, image/png, image/webp, application/pdf", ref: signatureRef, onChange: (e) => handleBusinessUpload(e, "signature"), disabled: isReadOnly || isAnyUploading, className: "hidden" }), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-4" }, /* @__PURE__ */ React47.createElement("div", { className: "flex items-center gap-2 text-black" }, /* @__PURE__ */ React47.createElement("h3", { className: "text-sm " }, "Upload Means of Identification")), /* @__PURE__ */ React47.createElement("p", { className: "text-xs text-neutral-500 -mt-2" }, "Upload your NIN, Driver's License, Voter's Card, or Int'l Passport (JPG/PNG/WEBP)."), !formState.idApproved ? /* @__PURE__ */ React47.createElement(React47.Fragment, null, /* @__PURE__ */ React47.createElement("button", { onClick: () => !isReadOnly && !isAnyUploading && idRef.current?.click(), disabled: isReadOnly || isAnyUploading, className: `w-full h-32 border border-neutral-100 rounded-full flex flex-col items-center justify-center gap-2 transition-colors outline-none ${isAnyUploading ? "opacity-50 cursor-not-allowed bg-neutral-50 text-neutral-400" : "hover:bg-neutral-50 text-black"}` }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Upload01Icon3, size: 24, className: "text-neutral-400" }), /* @__PURE__ */ React47.createElement("span", { className: "text-xs" }, "Select ID Image to Upload")), globalExtractingId && /* @__PURE__ */ React47.createElement("div", { className: " mt-2" }, /* @__PURE__ */ React47.createElement(AiStageCheck, { tasks: aiTasks })), formData.idExtractedData && /* @__PURE__ */ React47.createElement("div", { className: " mt-2 animate-in fade-in border border-purple-100 bg-linear-to-bl from-purple-50/80 via-white to-white p-5 rounded-2xl flex flex-col gap-4 relative overflow-hidden" }, /* @__PURE__ */ React47.createElement("div", null, /* @__PURE__ */ React47.createElement("span", { className: "text-[11px] tracking-widest text-purple-600 block mb-2" }, "Review AI Extracted Data"), /* @__PURE__ */ React47.createElement("p", { className: "text-xs text-neutral-500 mb-4" }, "Please verify the extracted information and correct any OCR mistakes before approving."), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-4" }, /* @__PURE__ */ React47.createElement(TextInput, { label: "Full Name on ID", value: formData.idExtractedData.fullName, onChange: (v) => setFormData((f) => ({ ...f, idExtractedData: { ...f.idExtractedData, fullName: v } })), disabled: isReadOnly || isAnyUploading }), /* @__PURE__ */ React47.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React47.createElement(TextInput, { label: "ID Number", value: formData.idExtractedData.idNumber, onChange: (v) => setFormData((f) => ({ ...f, idExtractedData: { ...f.idExtractedData, idNumber: v } })), disabled: isReadOnly || isAnyUploading }), /* @__PURE__ */ React47.createElement(TextInput, { label: "Date of Birth (YYYY-MM-DD)", value: formData.idExtractedData.dob, onChange: (v) => setFormData((f) => ({ ...f, idExtractedData: { ...f.idExtractedData, dob: v } })), disabled: isReadOnly || isAnyUploading })))), /* @__PURE__ */ React47.createElement("div", { className: "flex items-center gap-2 mt-2" }, /* @__PURE__ */ React47.createElement(ThreeDActionButton, { onClick: () => approveSection("idApproved"), disabled: isAnyUploading || isReadOnly, className: "w-fit shrink-0" }, "Approve Data"), !isReadOnly && /* @__PURE__ */ React47.createElement("button", { onClick: () => deleteBusinessDocument("id"), disabled: isAnyUploading, className: "px-6 py-2 bg-white border border-neutral-100 text-neutral-500 text-[11px] rounded-full tracking-widest hover:bg-neutral-50 transition-colors outline-none disabled:opacity-50 disabled:cursor-not-allowed" }, "Delete & Re-upload")))) : /* @__PURE__ */ React47.createElement("div", { className: " flex items-center justify-between bg-emerald-50 p-6 rounded-full" }, /* @__PURE__ */ React47.createElement("div", null, /* @__PURE__ */ React47.createElement("p", { className: "text-sm text-emerald-800" }, "ID Document Verified"), /* @__PURE__ */ React47.createElement("p", { className: "text-xs text-emerald-600 mt-1" }, "Data safely extracted and stored.")), !isReadOnly && /* @__PURE__ */ React47.createElement("button", { onClick: () => editSection("idApproved"), className: "p-2 text-emerald-700 hover:text-black transition-colors outline-none shrink-0" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: PencilEdit01Icon2, size: 16 })))), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-4 pt-6 animate-in slide-in-from-top-4 duration-500" }, /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-3 " }, !formState.passportApproved && !globalUploadingPassport ? /* @__PURE__ */ React47.createElement("button", { onClick: () => !isReadOnly && !isAnyUploading && passportRef.current?.click(), disabled: isReadOnly || isAnyUploading, className: `flex items-center gap-3 p-4 border border-neutral-100 rounded-full transition-colors text-sm w-full outline-none ${isAnyUploading ? "opacity-50 cursor-not-allowed bg-neutral-50 text-neutral-400" : "text-black hover:bg-neutral-50"}` }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Upload01Icon3, size: 18, className: "text-neutral-400" }), " Upload Passport Photo") : globalUploadingPassport && !formData.passportFileUrl ? /* @__PURE__ */ React47.createElement("div", { className: "flex items-center gap-3 p-4 border border-neutral-100 rounded-full bg-neutral-50 text-neutral-500 text-sm w-full" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Loading03Icon15, size: 18, className: "animate-spin text-black" }), " Uploading Passport...") : /* @__PURE__ */ React47.createElement("div", { className: "flex items-center justify-between p-4 bg-emerald-50 rounded-full text-emerald-800 text-sm w-full" }, /* @__PURE__ */ React47.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: IdentificationIcon, size: 18 }), " Passport Uploaded"), !isReadOnly && /* @__PURE__ */ React47.createElement("button", { onClick: () => deleteBusinessDocument("passport"), disabled: isAnyUploading, className: "text-emerald-700 hover:text-red-500 transition-colors p-1 outline-none shrink-0 disabled:opacity-50 disabled:cursor-not-allowed" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Delete02Icon4, size: 16 }))), !formState.signatureApproved && !globalUploadingSignature ? /* @__PURE__ */ React47.createElement("button", { onClick: () => !isReadOnly && !isAnyUploading && signatureRef.current?.click(), disabled: isReadOnly || isAnyUploading, className: `flex items-center gap-3 p-4 border border-neutral-100 rounded-full transition-colors text-sm w-full outline-none ${isAnyUploading ? "opacity-50 cursor-not-allowed bg-neutral-50 text-neutral-400" : "text-black hover:bg-neutral-50"}` }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Upload01Icon3, size: 18, className: "text-neutral-400" }), " Upload Signature") : globalUploadingSignature && !formData.signatureFileUrl ? /* @__PURE__ */ React47.createElement("div", { className: "flex items-center gap-3 p-4 border border-neutral-100 rounded-full bg-neutral-50 text-neutral-500 text-sm w-full" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Loading03Icon15, size: 18, className: "animate-spin text-black" }), " Uploading Signature...") : /* @__PURE__ */ React47.createElement("div", { className: "flex items-center justify-between p-4 bg-emerald-50 rounded-full text-emerald-800 text-sm w-full" }, /* @__PURE__ */ React47.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: SignatureIcon, size: 18 }), " Signature Uploaded"), !isReadOnly && /* @__PURE__ */ React47.createElement("button", { onClick: () => deleteBusinessDocument("signature"), disabled: isAnyUploading, className: "text-emerald-700 hover:text-red-500 transition-colors p-1 outline-none shrink-0 disabled:opacity-50 disabled:cursor-not-allowed" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Delete02Icon4, size: 16 })))))), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-4 pt-6 border-t border-neutral-100 animate-in slide-in-from-top-4 duration-500" }, /* @__PURE__ */ React47.createElement("input", { type: "file", accept: "image/jpeg, image/png, image/webp, application/pdf", ref: other1Ref, onChange: (e) => handleOptionalUpload(e, "other1"), disabled: isAnyUploading || isReadOnly, className: "hidden" }), /* @__PURE__ */ React47.createElement("input", { type: "file", accept: "image/jpeg, image/png, image/webp, application/pdf", ref: other2Ref, onChange: (e) => handleOptionalUpload(e, "other2"), disabled: isAnyUploading || isReadOnly, className: "hidden" }), /* @__PURE__ */ React47.createElement("input", { type: "file", accept: "image/jpeg, image/png, image/webp, application/pdf", ref: other3Ref, onChange: (e) => handleOptionalUpload(e, "other3"), disabled: isAnyUploading || isReadOnly, className: "hidden" }), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-1 mb-2" }, /* @__PURE__ */ React47.createElement("h3", { className: "text-sm text-black" }, "Additional Documents (Optional)"), /* @__PURE__ */ React47.createElement("p", { className: "text-xs text-neutral-500 leading-relaxed" }, "If your ", type === "company" ? "company" : "business", " involves regulated professional services, please upload relevant licenses, certificates, or permits here (up to 3 documents).")), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-3" }, [1, 2, 3].map((num) => {
4159
4229
  const docType = `other${num}`;
4160
4230
  const ref = num === 1 ? other1Ref : num === 2 ? other2Ref : other3Ref;
4161
4231
  const isUploading = num === 1 ? isUploadingOther1 : num === 2 ? isUploadingOther2 : isUploadingOther3;
@@ -4163,29 +4233,29 @@ var UniversalRegistrationFlow = ({
4163
4233
  if (!fileUrl && !isUploading) {
4164
4234
  const prevUrl = num > 1 ? formData[`otherDoc${num - 1}Url`] : true;
4165
4235
  if (!prevUrl) return null;
4166
- return /* @__PURE__ */ React46.createElement("button", { key: num, onClick: () => !isReadOnly && !isAnyUploading && ref.current?.click(), disabled: isReadOnly || isAnyUploading, className: `flex items-center gap-3 p-4 border border-neutral-100 rounded-full transition-colors text-sm w-full outline-none ${isAnyUploading ? "opacity-50 cursor-not-allowed bg-neutral-50 text-neutral-400" : "text-black hover:bg-neutral-50"}` }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: Upload01Icon3, size: 18, className: "text-neutral-400" }), " Upload Optional Document ", num);
4236
+ return /* @__PURE__ */ React47.createElement("button", { key: num, onClick: () => !isReadOnly && !isAnyUploading && ref.current?.click(), disabled: isReadOnly || isAnyUploading, className: `flex items-center gap-3 p-4 border border-neutral-100 rounded-full transition-colors text-sm w-full outline-none ${isAnyUploading ? "opacity-50 cursor-not-allowed bg-neutral-50 text-neutral-400" : "text-black hover:bg-neutral-50"}` }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Upload01Icon3, size: 18, className: "text-neutral-400" }), " Upload Optional Document ", num);
4167
4237
  }
4168
4238
  if (isUploading) {
4169
- return /* @__PURE__ */ React46.createElement("div", { key: num, className: "flex items-center gap-3 p-4 border border-neutral-100 rounded-full bg-neutral-50 text-neutral-500 text-sm w-full" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: Loading03Icon14, size: 18, className: "animate-spin text-black" }), " Uploading Document ", num, "...");
4239
+ return /* @__PURE__ */ React47.createElement("div", { key: num, className: "flex items-center gap-3 p-4 border border-neutral-100 rounded-full bg-neutral-50 text-neutral-500 text-sm w-full" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Loading03Icon15, size: 18, className: "animate-spin text-black" }), " Uploading Document ", num, "...");
4170
4240
  }
4171
- return /* @__PURE__ */ React46.createElement("div", { key: num, className: "flex items-center justify-between p-4 bg-emerald-50 rounded-full text-emerald-800 text-sm w-full" }, /* @__PURE__ */ React46.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: CheckmarkBadge01Icon2, size: 18 }), " Optional Document ", num, " Uploaded"), !isReadOnly && /* @__PURE__ */ React46.createElement("button", { onClick: () => deleteOptionalDocument(docType), disabled: isAnyUploading, className: "text-emerald-700 hover:text-red-500 transition-colors p-1 outline-none shrink-0 disabled:opacity-50 disabled:cursor-not-allowed" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: Delete02Icon3, size: 16 })));
4172
- }))), /* @__PURE__ */ React46.createElement("div", { className: "flex items-center justify-between mt-8 pt-6 " }, /* @__PURE__ */ React46.createElement("button", { onClick: handleBack, disabled: isAnyUploading, className: "flex items-center gap-2 px-6 py-2 text-[11px] tracking-widest text-neutral-500 hover:text-black hover:bg-neutral-50 rounded-full transition-colors outline-none disabled:opacity-50 disabled:cursor-not-allowed" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: ArrowLeft01Icon9, size: 14 }), " Back"), /* @__PURE__ */ React46.createElement(ThreeDActionButton, { onClick: handleNext, disabled: !isStep1Valid || isAnyUploading, className: "w-fit shrink-0" }, "Next Step"))), macroStep === 2 && /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in" }, /* @__PURE__ */ React46.createElement("div", null, /* @__PURE__ */ React46.createElement("h3", { className: "text-sm mb-5 text-black" }, "Application Summary"), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-4 text-sm" }, /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col sm:flex-row sm:justify-between border-b border-neutral-100 pb-3 gap-1" }, /* @__PURE__ */ React46.createElement("span", { className: "text-neutral-500 truncate text-[13px] " }, type === "company" ? "Company Name" : "Business Name"), /* @__PURE__ */ React46.createElement("span", { className: " text-black text-[13px]" }, formData.approvedName)), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col sm:flex-row sm:justify-between border-b border-neutral-100 pb-3 gap-1" }, /* @__PURE__ */ React46.createElement("span", { className: "text-neutral-500 text-[13px] " }, "Classification"), /* @__PURE__ */ React46.createElement("span", { className: " text-black truncate sm:text-right text-[13px] " }, formData.natureOfBusiness?.specificLabel || "Pending")), type === "company" ? /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col sm:flex-row sm:justify-between border-b border-neutral-100 pb-3 gap-1" }, /* @__PURE__ */ React46.createElement("span", { className: "text-neutral-500 text-[13px] " }, "Total Members"), /* @__PURE__ */ React46.createElement("span", { className: " text-black truncate text-[13px] " }, formData.members.length, " Directors/Shareholders")), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col sm:flex-row sm:justify-between border-b border-neutral-100 pb-3 gap-1" }, /* @__PURE__ */ React46.createElement("span", { className: "text-neutral-500 text-[13px] " }, "Share Capital"), /* @__PURE__ */ React46.createElement("span", { className: " text-black truncate text-[13px] " }, "100% Allocated"))) : /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col sm:flex-row sm:justify-between border-b border-neutral-100 pb-3 gap-1" }, /* @__PURE__ */ React46.createElement("span", { className: "text-neutral-500 text-[13px] " }, "Proprietor"), /* @__PURE__ */ React46.createElement("span", { className: " text-black truncate text-[13px] " }, formData.ownerName)), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col sm:flex-row sm:justify-between pb-2 gap-1" }, /* @__PURE__ */ React46.createElement("span", { className: "text-neutral-500 text-[13px] " }, "Documents Attached"), /* @__PURE__ */ React46.createElement("span", { className: " text-neutral-400 text-[13px] " }, "ID, Passport, Signature")), formData.otherDoc1Url && /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col sm:flex-row sm:justify-between pb-2 gap-1" }, /* @__PURE__ */ React46.createElement("span", { className: "text-neutral-500 text-[13px] " }, "Optional Documents"), /* @__PURE__ */ React46.createElement("span", { className: " text-neutral-400 text-[13px] " }, [formData.otherDoc1Url, formData.otherDoc2Url, formData.otherDoc3Url].filter(Boolean).length, " Attached")))), /* @__PURE__ */ React46.createElement("div", { className: "flex items-center justify-between mt-4 pt-4 " }, /* @__PURE__ */ React46.createElement("button", { onClick: handleBack, className: "flex items-center gap-2 px-6 py-2 rounded-full text-[11px] tracking-widest text-neutral-500 hover:text-black hover:bg-neutral-50 transition-colors outline-none" }, /* @__PURE__ */ React46.createElement(HugeiconsIcon31, { icon: ArrowLeft01Icon9, size: 14 }), " Back"), /* @__PURE__ */ React46.createElement(ThreeDActionButton, { onClick: handleNext, className: "w-fit shrink-0" }, "Next Step"))), macroStep === 3 && /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-6 py-6 animate-in zoom-in-95 duration-500" }, /* @__PURE__ */ React46.createElement("h2", { className: "text-lg text-black tracking-tight mb-2" }, "Terms and Conditions of Application"), /* @__PURE__ */ React46.createElement("div", { className: "text-xs text-neutral-500 mb-4" }, /* @__PURE__ */ React46.createElement("p", { className: " mb-3" }, "Declaration and Consent"), /* @__PURE__ */ React46.createElement("p", { className: "mb-3 leading-relaxed" }, "By proceeding with this application, you acknowledge and agree that all data, documents, and identification materials provided herein will be securely transmitted to the relevant official registries and authorized agents for the purpose of ", type === "company" ? "company" : "business", " incorporation and compliance verification."), /* @__PURE__ */ React46.createElement("p", { className: "mb-3 leading-relaxed" }, "You confirm that all information provided is accurate and authentic. Any falsification of identity or corporate data may result in immediate rejection, and you may be held liable under applicable laws and regulations."), /* @__PURE__ */ React46.createElement("p", { className: "mb-3 leading-relaxed" }, "This service operates strictly as a digital intermediary connecting you with official registries. The final approval of the ", type === "company" ? "company" : "business", " name and registration rests solely with the regulatory authorities. We are not liable for rejections arising from pre existing conflicts, non compliance, or regulatory policy changes not flagged during the AI pre check stages."), /* @__PURE__ */ React46.createElement("p", { className: "leading-relaxed" }, "Proceeding to generate the invoice confirms your acceptance of these terms and initiates the formal filing process.")), /* @__PURE__ */ React46.createElement("label", { className: "flex items-start gap-3 mt-2 cursor-pointer group" }, /* @__PURE__ */ React46.createElement("input", { type: "checkbox", checked: iAgree, onChange: (e) => setIAgree(e.target.checked), disabled: isReadOnly, className: "mt-0.5 w-4 h-4 accent-black rounded cursor-pointer" }), /* @__PURE__ */ React46.createElement("span", { className: "text-[13px] text-red-500 group-hover:text-red-600 transition-colors" }, "I have read, understood, and agree to the terms of data transfer and processing.")), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-4 mt-8 w-full justify-end pt-6" }, /* @__PURE__ */ React46.createElement("button", { onClick: onCancelOrClose, disabled: isSubmitting, className: "px-8 py-2 text-[11px] tracking-widest text-neutral-500 hover:text-black hover:bg-neutral-50 rounded-full transition-colors outline-none w-full sm:w-auto" }, "Cancel"), /* @__PURE__ */ React46.createElement("button", { onClick: () => setMacroStep(0), disabled: isSubmitting || isReadOnly, className: "px-8 py-2 text-[11px] tracking-widest text-neutral-500 hover:text-black hover:bg-neutral-50 rounded-full transition-colors outline-none w-full sm:w-auto" }, "Edit Application"), /* @__PURE__ */ React46.createElement(ThreeDActionButton, { onClick: handleFinalSubmit, disabled: isSubmitting || !iAgree || isReadOnly, isLoading: isSubmitting, className: "min-w-40 w-full sm:w-auto" }, "Submit")))), activeModal.isOpen && /* @__PURE__ */ React46.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React46.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setActiveModal({ isOpen: false, type: null, memberIndex: null }) }), /* @__PURE__ */ React46.createElement("div", { className: "relative w-80 bg-white shadow-2xl rounded-3xl flex flex-col overflow-hidden animate-in zoom-in-95 duration-200 max-h-[80vh]" }, /* @__PURE__ */ React46.createElement("div", { className: "p-4 text-center w-full shrink-0" }, /* @__PURE__ */ React46.createElement("h3", { className: "text-[14px] text-black tracking-tight capitalize" }, "Select ", activeModal.type)), /* @__PURE__ */ React46.createElement("div", { className: "p-4 flex flex-col gap-2 overflow-y-auto custom-scrollbar" }, (activeModal.type === "state" ? NIGERIAN_STATES : activeModal.type === "role" ? MEMBER_ROLES : NATIONALITIES).map((opt) => {
4241
+ return /* @__PURE__ */ React47.createElement("div", { key: num, className: "flex items-center justify-between p-4 bg-emerald-50 rounded-full text-emerald-800 text-sm w-full" }, /* @__PURE__ */ React47.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: CheckmarkBadge01Icon2, size: 18 }), " Optional Document ", num, " Uploaded"), !isReadOnly && /* @__PURE__ */ React47.createElement("button", { onClick: () => deleteOptionalDocument(docType), disabled: isAnyUploading, className: "text-emerald-700 hover:text-red-500 transition-colors p-1 outline-none shrink-0 disabled:opacity-50 disabled:cursor-not-allowed" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Delete02Icon4, size: 16 })));
4242
+ }))), /* @__PURE__ */ React47.createElement("div", { className: "flex items-center justify-between mt-8 pt-6 " }, /* @__PURE__ */ React47.createElement("button", { onClick: handleBack, disabled: isAnyUploading, className: "flex items-center gap-2 px-6 py-2 text-[11px] tracking-widest text-neutral-500 hover:text-black hover:bg-neutral-50 rounded-full transition-colors outline-none disabled:opacity-50 disabled:cursor-not-allowed" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: ArrowLeft01Icon10, size: 14 }), " Back"), /* @__PURE__ */ React47.createElement(ThreeDActionButton, { onClick: handleNext, disabled: !isStep1Valid || isAnyUploading, className: "w-fit shrink-0" }, "Next Step"))), macroStep === 2 && /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in" }, /* @__PURE__ */ React47.createElement("div", null, /* @__PURE__ */ React47.createElement("h3", { className: "text-sm mb-5 text-black" }, "Application Summary"), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-4 text-sm" }, /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col sm:flex-row sm:justify-between border-b border-neutral-100 pb-3 gap-1" }, /* @__PURE__ */ React47.createElement("span", { className: "text-neutral-500 truncate text-[13px] " }, type === "company" ? "Company Name" : "Business Name"), /* @__PURE__ */ React47.createElement("span", { className: " text-black text-[13px]" }, formData.approvedName)), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col sm:flex-row sm:justify-between border-b border-neutral-100 pb-3 gap-1" }, /* @__PURE__ */ React47.createElement("span", { className: "text-neutral-500 text-[13px] " }, "Classification"), /* @__PURE__ */ React47.createElement("span", { className: " text-black truncate sm:text-right text-[13px] " }, formData.natureOfBusiness?.specificLabel || "Pending")), type === "company" ? /* @__PURE__ */ React47.createElement(React47.Fragment, null, /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col sm:flex-row sm:justify-between border-b border-neutral-100 pb-3 gap-1" }, /* @__PURE__ */ React47.createElement("span", { className: "text-neutral-500 text-[13px] " }, "Total Members"), /* @__PURE__ */ React47.createElement("span", { className: " text-black truncate text-[13px] " }, formData.members.length, " Directors/Shareholders")), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col sm:flex-row sm:justify-between border-b border-neutral-100 pb-3 gap-1" }, /* @__PURE__ */ React47.createElement("span", { className: "text-neutral-500 text-[13px] " }, "Share Capital"), /* @__PURE__ */ React47.createElement("span", { className: " text-black truncate text-[13px] " }, "100% Allocated"))) : /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col sm:flex-row sm:justify-between border-b border-neutral-100 pb-3 gap-1" }, /* @__PURE__ */ React47.createElement("span", { className: "text-neutral-500 text-[13px] " }, "Proprietor"), /* @__PURE__ */ React47.createElement("span", { className: " text-black truncate text-[13px] " }, formData.ownerName)), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col sm:flex-row sm:justify-between pb-2 gap-1" }, /* @__PURE__ */ React47.createElement("span", { className: "text-neutral-500 text-[13px] " }, "Documents Attached"), /* @__PURE__ */ React47.createElement("span", { className: " text-neutral-400 text-[13px] " }, "ID, Passport, Signature")), formData.otherDoc1Url && /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col sm:flex-row sm:justify-between pb-2 gap-1" }, /* @__PURE__ */ React47.createElement("span", { className: "text-neutral-500 text-[13px] " }, "Optional Documents"), /* @__PURE__ */ React47.createElement("span", { className: " text-neutral-400 text-[13px] " }, [formData.otherDoc1Url, formData.otherDoc2Url, formData.otherDoc3Url].filter(Boolean).length, " Attached")))), /* @__PURE__ */ React47.createElement("div", { className: "flex items-center justify-between mt-4 pt-4 " }, /* @__PURE__ */ React47.createElement("button", { onClick: handleBack, className: "flex items-center gap-2 px-6 py-2 rounded-full text-[11px] tracking-widest text-neutral-500 hover:text-black hover:bg-neutral-50 transition-colors outline-none" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: ArrowLeft01Icon10, size: 14 }), " Back"), /* @__PURE__ */ React47.createElement(ThreeDActionButton, { onClick: handleNext, className: "w-fit shrink-0" }, "Next Step"))), macroStep === 3 && /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-6 py-6 animate-in zoom-in-95 duration-500" }, /* @__PURE__ */ React47.createElement("h2", { className: "text-lg text-black tracking-tight mb-2" }, "Terms and Conditions of Application"), /* @__PURE__ */ React47.createElement("div", { className: "text-xs text-neutral-500 mb-4" }, /* @__PURE__ */ React47.createElement("p", { className: " mb-3" }, "Declaration and Consent"), /* @__PURE__ */ React47.createElement("p", { className: "mb-3 leading-relaxed" }, "By proceeding with this application, you acknowledge and agree that all data, documents, and identification materials provided herein will be securely transmitted to the relevant official registries and authorized agents for the purpose of ", type === "company" ? "company" : "business", " incorporation and compliance verification."), /* @__PURE__ */ React47.createElement("p", { className: "mb-3 leading-relaxed" }, "You confirm that all information provided is accurate and authentic. Any falsification of identity or corporate data may result in immediate rejection, and you may be held liable under applicable laws and regulations."), /* @__PURE__ */ React47.createElement("p", { className: "mb-3 leading-relaxed" }, "This service operates strictly as a digital intermediary connecting you with official registries. The final approval of the ", type === "company" ? "company" : "business", " name and registration rests solely with the regulatory authorities. We are not liable for rejections arising from pre existing conflicts, non compliance, or regulatory policy changes not flagged during the AI pre check stages."), /* @__PURE__ */ React47.createElement("p", { className: "leading-relaxed" }, "Proceeding to generate the invoice confirms your acceptance of these terms and initiates the formal filing process.")), /* @__PURE__ */ React47.createElement("label", { className: "flex items-start gap-3 mt-2 cursor-pointer group" }, /* @__PURE__ */ React47.createElement("input", { type: "checkbox", checked: iAgree, onChange: (e) => setIAgree(e.target.checked), disabled: isReadOnly, className: "mt-0.5 w-4 h-4 accent-black rounded cursor-pointer" }), /* @__PURE__ */ React47.createElement("span", { className: "text-[13px] text-red-500 group-hover:text-red-600 transition-colors" }, "I have read, understood, and agree to the terms of data transfer and processing.")), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-4 mt-8 w-full justify-end pt-6" }, /* @__PURE__ */ React47.createElement("button", { onClick: onCancelOrClose, disabled: isSubmitting, className: "px-8 py-2 text-[11px] tracking-widest text-neutral-500 hover:text-black hover:bg-neutral-50 rounded-full transition-colors outline-none w-full sm:w-auto" }, "Cancel"), /* @__PURE__ */ React47.createElement("button", { onClick: () => setMacroStep(0), disabled: isSubmitting || isReadOnly, className: "px-8 py-2 text-[11px] tracking-widest text-neutral-500 hover:text-black hover:bg-neutral-50 rounded-full transition-colors outline-none w-full sm:w-auto" }, "Edit Application"), /* @__PURE__ */ React47.createElement(ThreeDActionButton, { onClick: handleFinalSubmit, disabled: isSubmitting || !iAgree || isReadOnly, isLoading: isSubmitting, className: "min-w-40 w-full sm:w-auto" }, "Submit")))), activeModal.isOpen && /* @__PURE__ */ React47.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React47.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setActiveModal({ isOpen: false, type: null, memberIndex: null }) }), /* @__PURE__ */ React47.createElement("div", { className: "relative w-80 bg-white shadow-2xl rounded-3xl flex flex-col overflow-hidden animate-in zoom-in-95 duration-200 max-h-[80vh]" }, /* @__PURE__ */ React47.createElement("div", { className: "p-4 text-center w-full shrink-0" }, /* @__PURE__ */ React47.createElement("h3", { className: "text-[14px] text-black tracking-tight capitalize" }, "Select ", activeModal.type)), /* @__PURE__ */ React47.createElement("div", { className: "p-4 flex flex-col gap-2 overflow-y-auto custom-scrollbar" }, (activeModal.type === "state" ? NIGERIAN_STATES : activeModal.type === "role" ? MEMBER_ROLES : NATIONALITIES).map((opt) => {
4173
4243
  const isSelected = activeModal.isGlobalState ? formData.state === opt : formData.members[activeModal.memberIndex][activeModal.type] === opt;
4174
- return /* @__PURE__ */ React46.createElement("button", { key: opt, onClick: () => {
4244
+ return /* @__PURE__ */ React47.createElement("button", { key: opt, onClick: () => {
4175
4245
  if (activeModal.isGlobalState) setFormData({ ...formData, state: opt });
4176
4246
  else updateCompanyMemberInfo(activeModal.memberIndex, activeModal.type, opt);
4177
4247
  setActiveModal({ isOpen: false, type: null, memberIndex: null });
4178
4248
  }, className: `text-left px-4 py-3 rounded-full text-[13px] transition-colors outline-none ${isSelected ? "bg-neutral-100 text-black" : "text-neutral-500 hover:bg-neutral-50 hover:text-black"}` }, opt);
4179
- })), /* @__PURE__ */ React46.createElement("div", { className: "w-full flex mt-auto shrink-0 " }, /* @__PURE__ */ React46.createElement("button", { onClick: () => setActiveModal({ isOpen: false, type: null, memberIndex: null }), className: "w-full py-4 text-[13px] text-neutral-500 hover:bg-neutral-50 transition-colors outline-none" }, "Close")))));
4249
+ })), /* @__PURE__ */ React47.createElement("div", { className: "w-full flex mt-auto shrink-0 " }, /* @__PURE__ */ React47.createElement("button", { onClick: () => setActiveModal({ isOpen: false, type: null, memberIndex: null }), className: "w-full py-4 text-[13px] text-neutral-500 hover:bg-neutral-50 transition-colors outline-none" }, "Close")))));
4180
4250
  };
4181
4251
 
4182
4252
  // src/components/UniversalDeveloperSettings.tsx
4183
- import React47, { useState as useState27, useEffect as useEffect18 } from "react";
4253
+ import React48, { useState as useState28, useEffect as useEffect19 } from "react";
4184
4254
  import { toast as toast7 } from "react-hot-toast";
4185
- import { HugeiconsIcon as HugeiconsIcon32 } from "@hugeicons/react";
4186
- import { Loading03Icon as Loading03Icon15, CircleLock02Icon as CircleLock02Icon5 } from "@hugeicons/core-free-icons";
4187
- var ButtonSpinner5 = () => /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Loading03Icon15, size: 16, className: "animate-spin text-current" });
4188
- var PageSpinner6 = () => /* @__PURE__ */ React47.createElement("div", { className: "flex justify-center items-center py-12 w-full" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: Loading03Icon15, size: 32, className: "animate-spin text-black" }));
4255
+ import { HugeiconsIcon as HugeiconsIcon33 } from "@hugeicons/react";
4256
+ import { Loading03Icon as Loading03Icon16, CircleLock02Icon as CircleLock02Icon5 } from "@hugeicons/core-free-icons";
4257
+ var ButtonSpinner5 = () => /* @__PURE__ */ React48.createElement(HugeiconsIcon33, { icon: Loading03Icon16, size: 16, className: "animate-spin text-current" });
4258
+ var PageSpinner6 = () => /* @__PURE__ */ React48.createElement("div", { className: "flex justify-center items-center py-12 w-full" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon33, { icon: Loading03Icon16, size: 32, className: "animate-spin text-black" }));
4189
4259
  var UniversalDeveloperSettings = ({
4190
4260
  initialPublicKey,
4191
4261
  initialWebhookUrl,
@@ -4194,12 +4264,12 @@ var UniversalDeveloperSettings = ({
4194
4264
  onGenerateKeys,
4195
4265
  onSaveWebhook
4196
4266
  }) => {
4197
- const [publicKey, setPublicKey] = useState27(initialPublicKey);
4198
- const [webhookUrl, setWebhookUrl] = useState27(initialWebhookUrl);
4199
- const [isGenerating, setIsGenerating] = useState27(false);
4200
- const [isSavingWebhook, setIsSavingWebhook] = useState27(false);
4201
- const [isRollModalOpen, setIsRollModalOpen] = useState27(false);
4202
- useEffect18(() => {
4267
+ const [publicKey, setPublicKey] = useState28(initialPublicKey);
4268
+ const [webhookUrl, setWebhookUrl] = useState28(initialWebhookUrl);
4269
+ const [isGenerating, setIsGenerating] = useState28(false);
4270
+ const [isSavingWebhook, setIsSavingWebhook] = useState28(false);
4271
+ const [isRollModalOpen, setIsRollModalOpen] = useState28(false);
4272
+ useEffect19(() => {
4203
4273
  setPublicKey(initialPublicKey || "");
4204
4274
  setWebhookUrl(initialWebhookUrl || "");
4205
4275
  }, [initialPublicKey, initialWebhookUrl]);
@@ -4259,7 +4329,7 @@ SECRET_KEY="${secKey}"
4259
4329
  };
4260
4330
  const hasWebhookChanges = webhookUrl !== initialWebhookUrl;
4261
4331
  const isWebhookSaveDisabled = isSavingWebhook || isReadOnly || !hasWebhookChanges;
4262
- return /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col max-w-3xl rounded-2xl p-6 bg-white gap-8 animate-in fade-in duration-300 min-h-full" }, /* @__PURE__ */ React47.createElement(ManagedToaster, null), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-3 sm:gap-4" }, /* @__PURE__ */ React47.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ React47.createElement("h1", { className: " text-xl text-black mb-1 truncate tracking-tight" }, "Developer Settings"), /* @__PURE__ */ React47.createElement("p", { className: "text-xs text-neutral-500 truncate" }, "Manage your API credentials and webhook integrations.")), isReadOnly && /* @__PURE__ */ React47.createElement("span", { className: "p-2 w-9 h-9 bg-neutral-50 text-neutral-500 rounded-full flex items-center justify-center shrink-0" }, /* @__PURE__ */ React47.createElement(HugeiconsIcon32, { icon: CircleLock02Icon5, size: 18, className: "text-current" }))), isLoading ? /* @__PURE__ */ React47.createElement(PageSpinner6, null) : /* @__PURE__ */ React47.createElement("div", { className: "w-full max-w-2xl flex flex-col gap-12" }, /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React47.createElement("div", { className: "space-y-2 min-w-0" }, /* @__PURE__ */ React47.createElement(
4332
+ return /* @__PURE__ */ React48.createElement("div", { className: "flex flex-col max-w-3xl rounded-2xl p-6 bg-white gap-8 animate-in fade-in duration-300 min-h-full" }, /* @__PURE__ */ React48.createElement(ManagedToaster, null), /* @__PURE__ */ React48.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-3 sm:gap-4" }, /* @__PURE__ */ React48.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ React48.createElement("h1", { className: " text-xl text-black mb-1 truncate tracking-tight" }, "Developer Settings"), /* @__PURE__ */ React48.createElement("p", { className: "text-xs text-neutral-500 truncate" }, "Manage your API credentials and webhook integrations.")), isReadOnly && /* @__PURE__ */ React48.createElement("span", { className: "p-2 w-9 h-9 bg-neutral-50 text-neutral-500 rounded-full flex items-center justify-center shrink-0" }, /* @__PURE__ */ React48.createElement(HugeiconsIcon33, { icon: CircleLock02Icon5, size: 18, className: "text-current" }))), isLoading ? /* @__PURE__ */ React48.createElement(PageSpinner6, null) : /* @__PURE__ */ React48.createElement("div", { className: "w-full max-w-2xl flex flex-col gap-12" }, /* @__PURE__ */ React48.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React48.createElement("div", { className: "space-y-2 min-w-0" }, /* @__PURE__ */ React48.createElement(
4263
4333
  TextInput,
4264
4334
  {
4265
4335
  label: "Public Key",
@@ -4268,7 +4338,7 @@ SECRET_KEY="${secKey}"
4268
4338
  },
4269
4339
  disabled: true
4270
4340
  }
4271
- ), /* @__PURE__ */ React47.createElement("p", { className: "text-[11px] text-neutral-400 mt-1 leading-snug" }, "Your public key is used to identify your application. Your secret key will only be shown once upon generation.")), /* @__PURE__ */ React47.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React47.createElement(
4341
+ ), /* @__PURE__ */ React48.createElement("p", { className: "text-[11px] text-neutral-400 mt-1 leading-snug" }, "Your public key is used to identify your application. Your secret key will only be shown once upon generation.")), /* @__PURE__ */ React48.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React48.createElement(
4272
4342
  ThreeDActionButton,
4273
4343
  {
4274
4344
  onClick: () => {
@@ -4280,7 +4350,7 @@ SECRET_KEY="${secKey}"
4280
4350
  className: "w-fit"
4281
4351
  },
4282
4352
  publicKey ? "Roll API Keys" : "Generate Keys"
4283
- ))), /* @__PURE__ */ React47.createElement("form", { className: "flex flex-col gap-6 border-t border-neutral-100 pt-8", onSubmit: handleSaveWebhook, autoComplete: "off" }, /* @__PURE__ */ React47.createElement("div", { className: "space-y-2 min-w-0" }, /* @__PURE__ */ React47.createElement(
4353
+ ))), /* @__PURE__ */ React48.createElement("form", { className: "flex flex-col gap-6 border-t border-neutral-100 pt-8", onSubmit: handleSaveWebhook, autoComplete: "off" }, /* @__PURE__ */ React48.createElement("div", { className: "space-y-2 min-w-0" }, /* @__PURE__ */ React48.createElement(
4284
4354
  TextInput,
4285
4355
  {
4286
4356
  label: "Webhook URL",
@@ -4290,7 +4360,7 @@ SECRET_KEY="${secKey}"
4290
4360
  placeholder: "https://your-domain.com/webhook",
4291
4361
  type: "url"
4292
4362
  }
4293
- ), /* @__PURE__ */ React47.createElement("p", { className: "text-[11px] text-neutral-400 mt-1 leading-snug" }, "We will send secure POST requests to this endpoint when significant events occur. Must use HTTPS.")), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center justify-between mt-2 gap-6 sm:gap-4" }, /* @__PURE__ */ React47.createElement("div", { className: "flex items-center gap-6 min-w-0" }, /* @__PURE__ */ React47.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ React47.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block truncate " }, "Webhook Status"), /* @__PURE__ */ React47.createElement("span", { className: `text-xs block truncate ${webhookUrl ? "text-emerald-600" : "text-neutral-400"}` }, webhookUrl ? "Active" : "Inactive"))), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col-reverse sm:flex-row items-center gap-3 sm:gap-4 w-full sm:w-auto shrink-0" }, hasWebhookChanges && !isSavingWebhook && !isReadOnly && /* @__PURE__ */ React47.createElement(
4363
+ ), /* @__PURE__ */ React48.createElement("p", { className: "text-[11px] text-neutral-400 mt-1 leading-snug" }, "We will send secure POST requests to this endpoint when significant events occur. Must use HTTPS.")), /* @__PURE__ */ React48.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center justify-between mt-2 gap-6 sm:gap-4" }, /* @__PURE__ */ React48.createElement("div", { className: "flex items-center gap-6 min-w-0" }, /* @__PURE__ */ React48.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ React48.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block truncate " }, "Webhook Status"), /* @__PURE__ */ React48.createElement("span", { className: `text-xs block truncate ${webhookUrl ? "text-emerald-600" : "text-neutral-400"}` }, webhookUrl ? "Active" : "Inactive"))), /* @__PURE__ */ React48.createElement("div", { className: "flex flex-col-reverse sm:flex-row items-center gap-3 sm:gap-4 w-full sm:w-auto shrink-0" }, hasWebhookChanges && !isSavingWebhook && !isReadOnly && /* @__PURE__ */ React48.createElement(
4294
4364
  "button",
4295
4365
  {
4296
4366
  type: "button",
@@ -4298,7 +4368,7 @@ SECRET_KEY="${secKey}"
4298
4368
  className: "text-[11px] tracking-widest text-neutral-500 hover:text-black transition-colors w-full sm:w-auto py-2 sm:py-0 outline-none"
4299
4369
  },
4300
4370
  "Cancel"
4301
- ), /* @__PURE__ */ React47.createElement(
4371
+ ), /* @__PURE__ */ React48.createElement(
4302
4372
  ThreeDActionButton,
4303
4373
  {
4304
4374
  type: "submit",
@@ -4307,7 +4377,7 @@ SECRET_KEY="${secKey}"
4307
4377
  className: "min-w-32 w-full sm:w-auto"
4308
4378
  },
4309
4379
  "Save Webhook"
4310
- ))))), isRollModalOpen && !isReadOnly && /* @__PURE__ */ React47.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React47.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => !isGenerating && setIsRollModalOpen(false) }), /* @__PURE__ */ React47.createElement("div", { className: "relative w-72 bg-white shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React47.createElement("div", { className: "p-6 text-center w-full" }, /* @__PURE__ */ React47.createElement("h3", { className: " text-[17px] text-black tracking-tight mb-1" }, "Roll API Keys"), /* @__PURE__ */ React47.createElement("p", { className: "text-[11px] text-neutral-500 leading-snug mt-2" }, "Are you sure you want to roll your keys? This will permanently invalidate your current secret key and active MCP tokens.")), /* @__PURE__ */ React47.createElement("div", { className: "w-full flex" }, /* @__PURE__ */ React47.createElement(
4380
+ ))))), isRollModalOpen && !isReadOnly && /* @__PURE__ */ React48.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React48.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => !isGenerating && setIsRollModalOpen(false) }), /* @__PURE__ */ React48.createElement("div", { className: "relative w-72 bg-white shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React48.createElement("div", { className: "p-6 text-center w-full" }, /* @__PURE__ */ React48.createElement("h3", { className: " text-[17px] text-black tracking-tight mb-1" }, "Roll API Keys"), /* @__PURE__ */ React48.createElement("p", { className: "text-[11px] text-neutral-500 leading-snug mt-2" }, "Are you sure you want to roll your keys? This will permanently invalidate your current secret key and active MCP tokens.")), /* @__PURE__ */ React48.createElement("div", { className: "w-full flex" }, /* @__PURE__ */ React48.createElement(
4311
4381
  "button",
4312
4382
  {
4313
4383
  onClick: () => setIsRollModalOpen(false),
@@ -4315,19 +4385,19 @@ SECRET_KEY="${secKey}"
4315
4385
  className: "flex-1 py-3 text-[13px] text-neutral-600 hover:bg-neutral-50 transition-colors disabled:opacity-50 outline-none"
4316
4386
  },
4317
4387
  "Cancel"
4318
- ), /* @__PURE__ */ React47.createElement(
4388
+ ), /* @__PURE__ */ React48.createElement(
4319
4389
  "button",
4320
4390
  {
4321
4391
  onClick: handleGenerateKeys,
4322
4392
  disabled: isGenerating,
4323
4393
  className: "flex-1 py-3 text-[13px] text-red-600 hover:bg-neutral-50 transition-colors disabled:opacity-50 flex justify-center items-center outline-none"
4324
4394
  },
4325
- isGenerating ? /* @__PURE__ */ React47.createElement(ButtonSpinner5, null) : "Roll Keys"
4395
+ isGenerating ? /* @__PURE__ */ React48.createElement(ButtonSpinner5, null) : "Roll Keys"
4326
4396
  )))));
4327
4397
  };
4328
4398
 
4329
4399
  // src/components/MedicalFeatureStatsBlock.tsx
4330
- import React48, { useState as useState28, useEffect as useEffect19, useRef as useRef12 } from "react";
4400
+ import React49, { useState as useState29, useEffect as useEffect20, useRef as useRef12 } from "react";
4331
4401
  import Image11 from "next/image";
4332
4402
  var MedicalFeatureStatsBlock = ({
4333
4403
  bottomHeadline,
@@ -4336,9 +4406,9 @@ var MedicalFeatureStatsBlock = ({
4336
4406
  trustText,
4337
4407
  stats
4338
4408
  }) => {
4339
- const [isAnimating, setIsAnimating] = useState28(false);
4409
+ const [isAnimating, setIsAnimating] = useState29(false);
4340
4410
  const titleRef = useRef12(null);
4341
- useEffect19(() => {
4411
+ useEffect20(() => {
4342
4412
  const observer = new IntersectionObserver(
4343
4413
  ([entry]) => {
4344
4414
  if (entry.isIntersecting) {
@@ -4356,7 +4426,7 @@ var MedicalFeatureStatsBlock = ({
4356
4426
  }
4357
4427
  return () => observer.disconnect();
4358
4428
  }, []);
4359
- return /* @__PURE__ */ React48.createElement("section", { className: "py-24 w-full flex justify-center relative z-10" }, /* @__PURE__ */ React48.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ React48.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-10 mb-12" }, /* @__PURE__ */ React48.createElement("div", { className: "max-w-xl" }, /* @__PURE__ */ React48.createElement(
4429
+ return /* @__PURE__ */ React49.createElement("section", { className: "py-24 w-full flex justify-center relative z-10" }, /* @__PURE__ */ React49.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ React49.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-10 mb-12" }, /* @__PURE__ */ React49.createElement("div", { className: "max-w-xl" }, /* @__PURE__ */ React49.createElement(
4360
4430
  "h2",
4361
4431
  {
4362
4432
  ref: titleRef,
@@ -4364,7 +4434,7 @@ var MedicalFeatureStatsBlock = ({
4364
4434
  style: isAnimating ? { animationIterationCount: 1 } : {}
4365
4435
  },
4366
4436
  bottomHeadline
4367
- ), /* @__PURE__ */ React48.createElement("p", { className: "text-[14px] leading-relaxed text-neutral-500" }, bottomDescription)), /* @__PURE__ */ React48.createElement("div", { className: "flex items-center gap-4 shrink-0" }, /* @__PURE__ */ React48.createElement("div", { className: "flex -space-x-3" }, avatars.map((src, i) => /* @__PURE__ */ React48.createElement("div", { key: i, className: "relative w-12 h-12 rounded-full border-[3px] border-white overflow-hidden bg-neutral-100 z-1 hover:z-10 transition-all" }, /* @__PURE__ */ React48.createElement(
4437
+ ), /* @__PURE__ */ React49.createElement("p", { className: "text-[14px] leading-relaxed text-neutral-500" }, bottomDescription)), /* @__PURE__ */ React49.createElement("div", { className: "flex items-center gap-4 shrink-0" }, /* @__PURE__ */ React49.createElement("div", { className: "flex -space-x-3" }, avatars.map((src, i) => /* @__PURE__ */ React49.createElement("div", { key: i, className: "relative w-12 h-12 rounded-full border-[3px] border-white overflow-hidden bg-neutral-100 z-1 hover:z-10 transition-all" }, /* @__PURE__ */ React49.createElement(
4368
4438
  Image11,
4369
4439
  {
4370
4440
  src,
@@ -4373,17 +4443,17 @@ var MedicalFeatureStatsBlock = ({
4373
4443
  sizes: "48px",
4374
4444
  className: "object-cover"
4375
4445
  }
4376
- )))), /* @__PURE__ */ React48.createElement("p", { className: "text-[11px] text-neutral-800 leading-[1.4] max-w-55" }, trustText))), /* @__PURE__ */ React48.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, stats.map((stat, idx) => /* @__PURE__ */ React48.createElement("div", { key: idx, className: "bg-white rounded-4xl p-8 md:p-10 flex flex-col h-70" }, /* @__PURE__ */ React48.createElement("div", { className: "flex pl-3 items-center border border-neutral-100 rounded-full p-0.5 mb-6" }, /* @__PURE__ */ React48.createElement("span", { className: "text-[14px] text-neutral-500 tracking-wide" }, stat.label)), /* @__PURE__ */ React48.createElement("div", { className: "text-6xl gradient-text md:text-[80px] font-light tracking-tighter text-black mt-auto leading-none" }, stat.value))))));
4446
+ )))), /* @__PURE__ */ React49.createElement("p", { className: "text-[11px] text-neutral-800 leading-[1.4] max-w-55" }, trustText))), /* @__PURE__ */ React49.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, stats.map((stat, idx) => /* @__PURE__ */ React49.createElement("div", { key: idx, className: "bg-white rounded-4xl p-8 md:p-10 flex flex-col h-70" }, /* @__PURE__ */ React49.createElement("div", { className: "flex pl-3 items-center border border-neutral-100 rounded-full p-0.5 mb-6" }, /* @__PURE__ */ React49.createElement("span", { className: "text-[14px] text-neutral-500 tracking-wide" }, stat.label)), /* @__PURE__ */ React49.createElement("div", { className: "text-6xl gradient-text md:text-[80px] font-light tracking-tighter text-black mt-auto leading-none" }, stat.value))))));
4377
4447
  };
4378
4448
 
4379
4449
  // src/components/ConsultantShowcase.tsx
4380
- import React49, { useState as useState29 } from "react";
4450
+ import React50, { useState as useState30 } from "react";
4381
4451
  import Image12 from "next/image";
4382
- import { HugeiconsIcon as HugeiconsIcon33 } from "@hugeicons/react";
4383
- import { Loading03Icon as Loading03Icon16 } from "@hugeicons/core-free-icons";
4452
+ import { HugeiconsIcon as HugeiconsIcon34 } from "@hugeicons/react";
4453
+ import { Loading03Icon as Loading03Icon17 } from "@hugeicons/core-free-icons";
4384
4454
  var ImageWithLoader = ({ src, alt, className, sizes, priority = false }) => {
4385
- const [isLoading, setIsLoading] = useState29(true);
4386
- return /* @__PURE__ */ React49.createElement("div", { className: `absolute inset-0 bg-neutral-800 ${className}` }, isLoading && /* @__PURE__ */ React49.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-neutral-800/50 backdrop-blur-md transition-opacity duration-300" }, /* @__PURE__ */ React49.createElement(HugeiconsIcon33, { icon: Loading03Icon16, size: 24, className: "animate-spin text-white/50" })), /* @__PURE__ */ React49.createElement(
4455
+ const [isLoading, setIsLoading] = useState30(true);
4456
+ return /* @__PURE__ */ React50.createElement("div", { className: `absolute inset-0 bg-neutral-800 ${className}` }, isLoading && /* @__PURE__ */ React50.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-neutral-800/50 backdrop-blur-md transition-opacity duration-300" }, /* @__PURE__ */ React50.createElement(HugeiconsIcon34, { icon: Loading03Icon17, size: 24, className: "animate-spin text-white/50" })), /* @__PURE__ */ React50.createElement(
4387
4457
  Image12,
4388
4458
  {
4389
4459
  src,
@@ -4402,9 +4472,9 @@ var ImageWithLoader = ({ src, alt, className, sizes, priority = false }) => {
4402
4472
  var ConsultantShowcase = ({
4403
4473
  profiles
4404
4474
  }) => {
4405
- const [currentIndex, setCurrentIndex] = useState29(0);
4406
- const [touchStart, setTouchStart] = useState29(null);
4407
- const [touchEnd, setTouchEnd] = useState29(null);
4475
+ const [currentIndex, setCurrentIndex] = useState30(0);
4476
+ const [touchStart, setTouchStart] = useState30(null);
4477
+ const [touchEnd, setTouchEnd] = useState30(null);
4408
4478
  const nextSlide = () => {
4409
4479
  setCurrentIndex((prev) => prev === profiles.length - 1 ? 0 : prev + 1);
4410
4480
  };
@@ -4429,7 +4499,7 @@ var ConsultantShowcase = ({
4429
4499
  }
4430
4500
  };
4431
4501
  if (!profiles || profiles.length === 0) return null;
4432
- return /* @__PURE__ */ React49.createElement("section", { className: "py-24 w-full flex justify-center px-4 md:px-8 z-10 relative" }, /* @__PURE__ */ React49.createElement("div", { className: "max-w-6xl w-full" }, /* @__PURE__ */ React49.createElement(
4502
+ return /* @__PURE__ */ React50.createElement("section", { className: "py-24 w-full flex justify-center px-4 md:px-8 z-10 relative" }, /* @__PURE__ */ React50.createElement("div", { className: "max-w-6xl w-full" }, /* @__PURE__ */ React50.createElement(
4433
4503
  "div",
4434
4504
  {
4435
4505
  className: "relative w-full h-100 md:h-112.5 rounded-4xl overflow-hidden bg-neutral-900 group select-none",
@@ -4439,13 +4509,13 @@ var ConsultantShowcase = ({
4439
4509
  },
4440
4510
  profiles.map((profile, idx) => {
4441
4511
  const isActive = idx === currentIndex;
4442
- return /* @__PURE__ */ React49.createElement(
4512
+ return /* @__PURE__ */ React50.createElement(
4443
4513
  "div",
4444
4514
  {
4445
4515
  key: profile.id,
4446
4516
  className: `absolute inset-0 transition-opacity duration-700 ease-in-out ${isActive ? "opacity-100 z-10" : "opacity-0 z-0 pointer-events-none"}`
4447
4517
  },
4448
- /* @__PURE__ */ React49.createElement(
4518
+ /* @__PURE__ */ React50.createElement(
4449
4519
  ImageWithLoader,
4450
4520
  {
4451
4521
  src: profile.imageSrc,
@@ -4453,14 +4523,14 @@ var ConsultantShowcase = ({
4453
4523
  priority: idx === 0
4454
4524
  }
4455
4525
  ),
4456
- /* @__PURE__ */ React49.createElement("div", { className: "absolute inset-0 bg-black/20 z-10 pointer-events-none" }),
4457
- /* @__PURE__ */ React49.createElement("div", { className: "absolute top-0 left-0 w-full h-[60%] bg-linear-to-b from-black/80 via-black/30 to-transparent z-20 pointer-events-none" }),
4458
- /* @__PURE__ */ React49.createElement("div", { className: `absolute top-8 left-8 md:top-12 md:left-12 z-30 text-white max-w-lg transition-transform duration-700 ease-out ${isActive ? "translate-y-0" : "-translate-y-4"}` }, /* @__PURE__ */ React49.createElement("h2", { className: "text-[29px] tracking-tight mb-2 leading-none" }, profile.name), /* @__PURE__ */ React49.createElement("div", { className: "flex flex-col gap-0.5" }, /* @__PURE__ */ React49.createElement("p", { className: "text-[15px] text-white/80 font-light tracking-wide" }, profile.role), profile.description && /* @__PURE__ */ React49.createElement("p", { className: "text-[15px] text-white/80 font-light tracking-wide mt-1" }, profile.description)))
4526
+ /* @__PURE__ */ React50.createElement("div", { className: "absolute inset-0 bg-black/20 z-10 pointer-events-none" }),
4527
+ /* @__PURE__ */ React50.createElement("div", { className: "absolute top-0 left-0 w-full h-[60%] bg-linear-to-b from-black/80 via-black/30 to-transparent z-20 pointer-events-none" }),
4528
+ /* @__PURE__ */ React50.createElement("div", { className: `absolute top-8 left-8 md:top-12 md:left-12 z-30 text-white max-w-lg transition-transform duration-700 ease-out ${isActive ? "translate-y-0" : "-translate-y-4"}` }, /* @__PURE__ */ React50.createElement("h2", { className: "text-[29px] tracking-tight mb-2 leading-none" }, profile.name), /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col gap-0.5" }, /* @__PURE__ */ React50.createElement("p", { className: "text-[15px] text-white/80 font-light tracking-wide" }, profile.role), profile.description && /* @__PURE__ */ React50.createElement("p", { className: "text-[15px] text-white/80 font-light tracking-wide mt-1" }, profile.description)))
4459
4529
  );
4460
4530
  }),
4461
- /* @__PURE__ */ React49.createElement("div", { className: "absolute top-0 left-0 w-[20%] h-full z-40 cursor-w-resize hidden md:block", onClick: prevSlide, "aria-label": "Previous image" }),
4462
- /* @__PURE__ */ React49.createElement("div", { className: "absolute top-0 right-0 w-[20%] h-full z-40 cursor-e-resize hidden md:block", onClick: nextSlide, "aria-label": "Next image" }),
4463
- /* @__PURE__ */ React49.createElement("div", { className: "absolute bottom-6 md:bottom-8 left-0 w-full px-4 z-30 flex justify-center items-center gap-2" }, profiles.map((_, idx) => /* @__PURE__ */ React49.createElement(
4531
+ /* @__PURE__ */ React50.createElement("div", { className: "absolute top-0 left-0 w-[20%] h-full z-40 cursor-w-resize hidden md:block", onClick: prevSlide, "aria-label": "Previous image" }),
4532
+ /* @__PURE__ */ React50.createElement("div", { className: "absolute top-0 right-0 w-[20%] h-full z-40 cursor-e-resize hidden md:block", onClick: nextSlide, "aria-label": "Next image" }),
4533
+ /* @__PURE__ */ React50.createElement("div", { className: "absolute bottom-6 md:bottom-8 left-0 w-full px-4 z-30 flex justify-center items-center gap-2" }, profiles.map((_, idx) => /* @__PURE__ */ React50.createElement(
4464
4534
  "button",
4465
4535
  {
4466
4536
  key: idx,
@@ -4473,13 +4543,13 @@ var ConsultantShowcase = ({
4473
4543
  };
4474
4544
 
4475
4545
  // src/components/ContentGridBlock.tsx
4476
- import React50, { useState as useState30 } from "react";
4546
+ import React51, { useState as useState31 } from "react";
4477
4547
  import Image13 from "next/image";
4478
- import { HugeiconsIcon as HugeiconsIcon34 } from "@hugeicons/react";
4479
- import { Loading03Icon as Loading03Icon17 } from "@hugeicons/core-free-icons";
4548
+ import { HugeiconsIcon as HugeiconsIcon35 } from "@hugeicons/react";
4549
+ import { Loading03Icon as Loading03Icon18 } from "@hugeicons/core-free-icons";
4480
4550
  var ImageWithLoader2 = ({ src, alt, className, sizes }) => {
4481
- const [isLoading, setIsLoading] = useState30(true);
4482
- return /* @__PURE__ */ React50.createElement("div", { className: `relative overflow-hidden bg-neutral-100 ${className}` }, isLoading && /* @__PURE__ */ React50.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-neutral-100/50 backdrop-blur-sm transition-opacity duration-300" }, /* @__PURE__ */ React50.createElement(HugeiconsIcon34, { icon: Loading03Icon17, size: 24, className: "animate-spin text-neutral-400" })), /* @__PURE__ */ React50.createElement(
4551
+ const [isLoading, setIsLoading] = useState31(true);
4552
+ return /* @__PURE__ */ React51.createElement("div", { className: `relative overflow-hidden bg-neutral-100 ${className}` }, isLoading && /* @__PURE__ */ React51.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-neutral-100/50 backdrop-blur-sm transition-opacity duration-300" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon35, { icon: Loading03Icon18, size: 24, className: "animate-spin text-neutral-400" })), /* @__PURE__ */ React51.createElement(
4483
4553
  Image13,
4484
4554
  {
4485
4555
  src,
@@ -4501,14 +4571,14 @@ var ContentGridBlock = ({
4501
4571
  middleBottomCard,
4502
4572
  rightCards
4503
4573
  }) => {
4504
- return /* @__PURE__ */ React50.createElement("section", { className: " w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React50.createElement("div", { className: "max-w-300 w-full px-4 md:px-8 flex flex-col gap-12" }, /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-6 w-full" }, /* @__PURE__ */ React50.createElement("h2", { className: "text-3xl tracking-tight text-black leading-[1.15] max-w-lg" }, header.titlePrefix, " ", /* @__PURE__ */ React50.createElement("span", { className: "gradient-text" }, header.highlightText))), /* @__PURE__ */ React50.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" }, /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col justify-end" }, /* @__PURE__ */ React50.createElement("div", { className: "bg-orange-50 rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ React50.createElement("p", { className: "text-[17px] text-black leading-snug mb-4" }, leftCard.mainText), leftCard.tag && /* @__PURE__ */ React50.createElement("span", { className: "mb-auto text-[11px] text-neutral-400 tracking-widest" }, leftCard.tag), /* @__PURE__ */ React50.createElement("div", { className: "flex items-center justify-between mt-8" }, /* @__PURE__ */ React50.createElement("div", null, /* @__PURE__ */ React50.createElement("h4", { className: "text-[15px] text-black" }, leftCard.title), /* @__PURE__ */ React50.createElement("p", { className: "text-[13px] text-neutral-400" }, leftCard.subtitle)), /* @__PURE__ */ React50.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ React50.createElement(Image13, { src: leftCard.thumbnailSrc, alt: leftCard.title, fill: true, className: "object-cover" }))))), /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React50.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col relative h-75" }, /* @__PURE__ */ React50.createElement("div", { className: "absolute top-6 right-6 flex flex-col items-end gap-1" }, /* @__PURE__ */ React50.createElement("span", { className: "text-[11px] text-neutral-400 tracking-wide" }, middleTopCard.topRightLabel), /* @__PURE__ */ React50.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React50.createElement("div", { className: "flex -space-x-2" }, middleTopCard.topRightAvatars.map((src, i) => /* @__PURE__ */ React50.createElement("div", { key: i, className: "w-7 h-7 rounded-full border-2 border-white overflow-hidden relative z-10" }, /* @__PURE__ */ React50.createElement(Image13, { src, alt: "Avatar", fill: true, className: "object-cover", sizes: "28px" })))), /* @__PURE__ */ React50.createElement("span", { className: "text-sm text-neutral-500" }, middleTopCard.topRightCount))), /* @__PURE__ */ React50.createElement("div", { className: "grow flex flex-col justify-center items-center py-6" }, /* @__PURE__ */ React50.createElement("div", { className: "px-5 py-2 rounded-full bg-neutral-50/50 border border-neutral-100 text-[13px] text-neutral-600" }, middleTopCard.badgePrefix, " ", /* @__PURE__ */ React50.createElement("span", { className: " text-black" }, middleTopCard.badgeHighlight), middleTopCard.badgeSuffix)), /* @__PURE__ */ React50.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React50.createElement("p", { className: "text-[11px] text-neutral-400 tracking-wide mb-1" }, middleTopCard.title), /* @__PURE__ */ React50.createElement("p", { className: "text-[14px] text-black leading-snug pr-4" }, middleTopCard.description))), /* @__PURE__ */ React50.createElement("div", { className: "bg-red-50 rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ React50.createElement("div", { className: "flex justify-between items-start mb-6" }, /* @__PURE__ */ React50.createElement("div", null, /* @__PURE__ */ React50.createElement("h4", { className: "text-[15px] text-black leading-tight" }, middleBottomCard.title), /* @__PURE__ */ React50.createElement("p", { className: "text-[13px] text-neutral-400" }, middleBottomCard.subtitle)), /* @__PURE__ */ React50.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ React50.createElement(Image13, { src: middleBottomCard.thumbnailSrc, alt: middleBottomCard.title, fill: true, className: "object-cover" }))), /* @__PURE__ */ React50.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React50.createElement("p", { className: "text-[16px] text-black leading-snug mb-4" }, middleBottomCard.mainText), middleBottomCard.tag && /* @__PURE__ */ React50.createElement("span", { className: "text-[11px] text-neutral-400 tracking-widest" }, middleBottomCard.tag)))), /* @__PURE__ */ React50.createElement("div", { className: "flex flex-col gap-6" }, rightCards.slice(0, 2).map((card, idx) => /* @__PURE__ */ React50.createElement("div", { key: idx, className: "relative w-full h-80 rounded-3xl overflow-hidden group" }, /* @__PURE__ */ React50.createElement(
4574
+ return /* @__PURE__ */ React51.createElement("section", { className: " w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React51.createElement("div", { className: "max-w-300 w-full px-4 md:px-8 flex flex-col gap-12" }, /* @__PURE__ */ React51.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-6 w-full" }, /* @__PURE__ */ React51.createElement("h2", { className: "text-3xl tracking-tight text-black leading-[1.15] max-w-lg" }, header.titlePrefix, " ", /* @__PURE__ */ React51.createElement("span", { className: "gradient-text" }, header.highlightText))), /* @__PURE__ */ React51.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" }, /* @__PURE__ */ React51.createElement("div", { className: "flex flex-col justify-end" }, /* @__PURE__ */ React51.createElement("div", { className: "bg-orange-50 rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ React51.createElement("p", { className: "text-[17px] text-black leading-snug mb-4" }, leftCard.mainText), leftCard.tag && /* @__PURE__ */ React51.createElement("span", { className: "mb-auto text-[11px] text-neutral-400 tracking-widest" }, leftCard.tag), /* @__PURE__ */ React51.createElement("div", { className: "flex items-center justify-between mt-8" }, /* @__PURE__ */ React51.createElement("div", null, /* @__PURE__ */ React51.createElement("h4", { className: "text-[15px] text-black" }, leftCard.title), /* @__PURE__ */ React51.createElement("p", { className: "text-[13px] text-neutral-400" }, leftCard.subtitle)), /* @__PURE__ */ React51.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ React51.createElement(Image13, { src: leftCard.thumbnailSrc, alt: leftCard.title, fill: true, className: "object-cover" }))))), /* @__PURE__ */ React51.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React51.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col relative h-75" }, /* @__PURE__ */ React51.createElement("div", { className: "absolute top-6 right-6 flex flex-col items-end gap-1" }, /* @__PURE__ */ React51.createElement("span", { className: "text-[11px] text-neutral-400 tracking-wide" }, middleTopCard.topRightLabel), /* @__PURE__ */ React51.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React51.createElement("div", { className: "flex -space-x-2" }, middleTopCard.topRightAvatars.map((src, i) => /* @__PURE__ */ React51.createElement("div", { key: i, className: "w-7 h-7 rounded-full border-2 border-white overflow-hidden relative z-10" }, /* @__PURE__ */ React51.createElement(Image13, { src, alt: "Avatar", fill: true, className: "object-cover", sizes: "28px" })))), /* @__PURE__ */ React51.createElement("span", { className: "text-sm text-neutral-500" }, middleTopCard.topRightCount))), /* @__PURE__ */ React51.createElement("div", { className: "grow flex flex-col justify-center items-center py-6" }, /* @__PURE__ */ React51.createElement("div", { className: "px-5 py-2 rounded-full bg-neutral-50/50 border border-neutral-100 text-[13px] text-neutral-600" }, middleTopCard.badgePrefix, " ", /* @__PURE__ */ React51.createElement("span", { className: " text-black" }, middleTopCard.badgeHighlight), middleTopCard.badgeSuffix)), /* @__PURE__ */ React51.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React51.createElement("p", { className: "text-[11px] text-neutral-400 tracking-wide mb-1" }, middleTopCard.title), /* @__PURE__ */ React51.createElement("p", { className: "text-[14px] text-black leading-snug pr-4" }, middleTopCard.description))), /* @__PURE__ */ React51.createElement("div", { className: "bg-red-50 rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ React51.createElement("div", { className: "flex justify-between items-start mb-6" }, /* @__PURE__ */ React51.createElement("div", null, /* @__PURE__ */ React51.createElement("h4", { className: "text-[15px] text-black leading-tight" }, middleBottomCard.title), /* @__PURE__ */ React51.createElement("p", { className: "text-[13px] text-neutral-400" }, middleBottomCard.subtitle)), /* @__PURE__ */ React51.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ React51.createElement(Image13, { src: middleBottomCard.thumbnailSrc, alt: middleBottomCard.title, fill: true, className: "object-cover" }))), /* @__PURE__ */ React51.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React51.createElement("p", { className: "text-[16px] text-black leading-snug mb-4" }, middleBottomCard.mainText), middleBottomCard.tag && /* @__PURE__ */ React51.createElement("span", { className: "text-[11px] text-neutral-400 tracking-widest" }, middleBottomCard.tag)))), /* @__PURE__ */ React51.createElement("div", { className: "flex flex-col gap-6" }, rightCards.slice(0, 2).map((card, idx) => /* @__PURE__ */ React51.createElement("div", { key: idx, className: "relative w-full h-80 rounded-3xl overflow-hidden group" }, /* @__PURE__ */ React51.createElement(
4505
4575
  ImageWithLoader2,
4506
4576
  {
4507
4577
  src: card.bgImageSrc,
4508
4578
  alt: card.title,
4509
4579
  className: "absolute inset-0 w-full h-full"
4510
4580
  }
4511
- ), /* @__PURE__ */ React50.createElement("div", { className: "absolute inset-0 bg-black/20 z-20 pointer-events-none" }), /* @__PURE__ */ React50.createElement("div", { className: "absolute inset-0 z-30 p-6 flex flex-col justify-end text-white" }, /* @__PURE__ */ React50.createElement("p", { className: "text-[14px] leading-snug mb-3 pr-2 text-white/90" }, card.mainText), card.tag && /* @__PURE__ */ React50.createElement("span", { className: "mb-4 text-[11px] text-white/50 tracking-widest" }, card.tag), /* @__PURE__ */ React50.createElement("div", { className: "pt-3" }, /* @__PURE__ */ React50.createElement("h4", { className: "text-[15px] tracking-wide" }, card.title), /* @__PURE__ */ React50.createElement("p", { className: "text-[13px] text-white/60" }, card.subtitle)))))))));
4581
+ ), /* @__PURE__ */ React51.createElement("div", { className: "absolute inset-0 bg-black/20 z-20 pointer-events-none" }), /* @__PURE__ */ React51.createElement("div", { className: "absolute inset-0 z-30 p-6 flex flex-col justify-end text-white" }, /* @__PURE__ */ React51.createElement("p", { className: "text-[14px] leading-snug mb-3 pr-2 text-white/90" }, card.mainText), card.tag && /* @__PURE__ */ React51.createElement("span", { className: "mb-4 text-[11px] text-white/50 tracking-widest" }, card.tag), /* @__PURE__ */ React51.createElement("div", { className: "pt-3" }, /* @__PURE__ */ React51.createElement("h4", { className: "text-[15px] tracking-wide" }, card.title), /* @__PURE__ */ React51.createElement("p", { className: "text-[13px] text-white/60" }, card.subtitle)))))))));
4512
4582
  };
4513
4583
  export {
4514
4584
  AITranscriptionFeature,
@@ -4561,5 +4631,6 @@ export {
4561
4631
  UniversalProfileSettings,
4562
4632
  UniversalRegistrationFlow,
4563
4633
  UniversalSidebar,
4634
+ UniversalTrashView,
4564
4635
  ZairusAuth
4565
4636
  };