@retinalabsllc/zairusjs 23.0.1 → 23.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +7 -6
- package/dist/index.mjs +8 -7
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -144,6 +144,7 @@ interface UniversalHuddleDetailsProps {
|
|
|
144
144
|
onMembersSearchChange: (query: string) => void;
|
|
145
145
|
onUpdateSubmit: (payload: any) => Promise<void>;
|
|
146
146
|
onDeleteSubmit: (action: 'cancel_huddle' | 'delete_huddle') => Promise<void>;
|
|
147
|
+
onJoinHuddle: () => void;
|
|
147
148
|
}
|
|
148
149
|
declare const UniversalHuddleDetails: React.FC<UniversalHuddleDetailsProps>;
|
|
149
150
|
|
package/dist/index.d.ts
CHANGED
|
@@ -144,6 +144,7 @@ interface UniversalHuddleDetailsProps {
|
|
|
144
144
|
onMembersSearchChange: (query: string) => void;
|
|
145
145
|
onUpdateSubmit: (payload: any) => Promise<void>;
|
|
146
146
|
onDeleteSubmit: (action: 'cancel_huddle' | 'delete_huddle') => Promise<void>;
|
|
147
|
+
onJoinHuddle: () => void;
|
|
147
148
|
}
|
|
148
149
|
declare const UniversalHuddleDetails: React.FC<UniversalHuddleDetailsProps>;
|
|
149
150
|
|
package/dist/index.js
CHANGED
|
@@ -952,7 +952,8 @@ var UniversalHuddleDetails = ({
|
|
|
952
952
|
membersSearchQuery,
|
|
953
953
|
onMembersSearchChange,
|
|
954
954
|
onUpdateSubmit,
|
|
955
|
-
onDeleteSubmit
|
|
955
|
+
onDeleteSubmit,
|
|
956
|
+
onJoinHuddle
|
|
956
957
|
}) => {
|
|
957
958
|
const [title, setTitle] = (0, import_react17.useState)(huddle.title);
|
|
958
959
|
const [isPrivate, setIsPrivate] = (0, import_react17.useState)(huddle.huddleType === "PRIVATE");
|
|
@@ -1077,7 +1078,7 @@ var UniversalHuddleDetails = ({
|
|
|
1077
1078
|
className: `relative w-11 h-6 rounded-full transition-colors outline-none shrink-0 ${isPrivate ? "bg-[#d97757]" : "bg-stone-200"} ${!enableEdits && "opacity-50 cursor-not-allowed"}`
|
|
1078
1079
|
},
|
|
1079
1080
|
/* @__PURE__ */ import_react17.default.createElement("div", { className: `absolute top-1 left-1 bg-white w-4 h-4 rounded-full transition-transform ${isPrivate ? "translate-x-5" : "translate-x-0"}` })
|
|
1080
|
-
)), isPrivate && /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex items-center justify-between animate-in fade-in zoom-in-95 duration-200 bg-stone-50 p-4 rounded-xl" }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react17.default.createElement("span", { className: "text-xs text-black tracking-tight" }, "Participants"), /* @__PURE__ */ import_react17.default.createElement("span", { className: "text-xs text-[#d97757] " }, selectedParticipants.size, " added")), enableEdits && /* @__PURE__ */ import_react17.default.createElement("button", { onClick: () => setShowMembersModal(true), className: "px-4 py-2 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-white transition-colors outline-none bg-transparent" }, "Manage Access")), isDirty && /* @__PURE__ */ import_react17.default.createElement("div", { className: "pt-4 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react17.default.createElement(ThreeDActionButton, { onClick: handleUpdate, isLoading: isSubmitting, className: "w-full sm:w-auto min-w-40" }, "Save Changes")), /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-3 pt-6 mt-2 " }, (liveStatus === "SCHEDULED" || liveStatus === "ONGOING") && /* @__PURE__ */ import_react17.default.createElement("
|
|
1081
|
+
)), isPrivate && /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex items-center justify-between animate-in fade-in zoom-in-95 duration-200 bg-stone-50 p-4 rounded-xl" }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react17.default.createElement("span", { className: "text-xs text-black tracking-tight" }, "Participants"), /* @__PURE__ */ import_react17.default.createElement("span", { className: "text-xs text-[#d97757] " }, selectedParticipants.size, " added")), enableEdits && /* @__PURE__ */ import_react17.default.createElement("button", { onClick: () => setShowMembersModal(true), className: "px-4 py-2 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-white transition-colors outline-none bg-transparent" }, "Manage Access")), isDirty && /* @__PURE__ */ import_react17.default.createElement("div", { className: "pt-4 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react17.default.createElement(ThreeDActionButton, { onClick: handleUpdate, isLoading: isSubmitting, className: "w-full sm:w-auto min-w-40" }, "Save Changes")), /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-3 pt-6 mt-2 " }, (liveStatus === "SCHEDULED" || liveStatus === "ONGOING") && /* @__PURE__ */ import_react17.default.createElement("button", { onClick: onJoinHuddle, className: "flex-1 w-full py-2.5 bg-[#d97757] text-white rounded-full text-center text-xs transition-colors hover:bg-[#d97757]/90 outline-none" }, "Join Huddle"), /* @__PURE__ */ import_react17.default.createElement("a", { href: `/app/assets/huddles/${huddle.id}`, className: "flex-1 w-full py-2.5 bg-transparent border border-stone-200 text-black rounded-full text-center text-xs transition-colors hover:bg-stone-50" }, "Huddle Assets"), canDelete && liveStatus === "SCHEDULED" && /* @__PURE__ */ import_react17.default.createElement("button", { onClick: () => setConfirmDialog("CANCEL"), className: "flex-1 w-full py-2.5 bg-transparent border border-stone-200 text-black rounded-full text-center text-xs transition-colors hover:bg-stone-50" }, "Cancel Huddle"), canDelete && liveStatus !== "SCHEDULED" && /* @__PURE__ */ import_react17.default.createElement("button", { onClick: () => setConfirmDialog("DELETE"), className: "flex-1 w-full py-2.5 bg-transparent border border-stone-200 text-black rounded-full text-center text-xs transition-colors hover:bg-stone-50" }, "Delete Huddle"))), /* @__PURE__ */ import_react17.default.createElement(
|
|
1081
1082
|
CalendarPicker,
|
|
1082
1083
|
{
|
|
1083
1084
|
isOpen: calendarMode !== null,
|
|
@@ -6225,7 +6226,7 @@ var HomeHuddleCalendar = ({
|
|
|
6225
6226
|
onChange: handleSearchInput,
|
|
6226
6227
|
className: "w-full pl-10 pr-4 py-2 bg-white rounded-full text-sm text-black placeholder-stone-400 outline-none transition-colors focus:border-[#d97757] border border-transparent hover:border-stone-200"
|
|
6227
6228
|
}
|
|
6228
|
-
)), /* @__PURE__ */ import_react93.default.createElement("div", { className: "flex items-center gap-3 w-auto pb-0 shrink-0" }, /* @__PURE__ */ import_react93.default.createElement("button", { onClick: () => setIsStatusModalOpen(true), className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-stone-500 hover:text-black transition-colors outline-none " }, /* @__PURE__ */ import_react93.default.createElement(import_react94.HugeiconsIcon, { icon: import_core_free_icons36.
|
|
6229
|
+
)), /* @__PURE__ */ import_react93.default.createElement("div", { className: "flex items-center gap-3 w-auto pb-0 shrink-0" }, /* @__PURE__ */ import_react93.default.createElement("button", { onClick: () => setIsStatusModalOpen(true), className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-stone-500 hover:text-black transition-colors outline-none " }, /* @__PURE__ */ import_react93.default.createElement(import_react94.HugeiconsIcon, { icon: import_core_free_icons36.FilterVerticalIcon, size: 16 }))))), !isSearching && /* @__PURE__ */ import_react93.default.createElement("div", { className: "bg-white rounded-2xl p-5 mb-6 relative overflow-hidden animate-in fade-in duration-300" }, isLoading && /* @__PURE__ */ import_react93.default.createElement("div", { className: "absolute inset-0 z-50 flex items-center justify-center bg-white/60 backdrop-blur-sm" }, /* @__PURE__ */ import_react93.default.createElement(import_react94.HugeiconsIcon, { icon: import_core_free_icons36.Loading03Icon, size: 28, className: "animate-spin text-black" })), /* @__PURE__ */ import_react93.default.createElement("div", { className: "flex items-center justify-between px-2 mb-4" }, /* @__PURE__ */ import_react93.default.createElement("span", { className: "text-sm text-black tracking-wide" }, MONTHS2[viewMonth], " ", viewYear), /* @__PURE__ */ import_react93.default.createElement("div", { className: "flex gap-1" }, /* @__PURE__ */ import_react93.default.createElement(
|
|
6229
6230
|
"button",
|
|
6230
6231
|
{
|
|
6231
6232
|
onClick: handlePrevMonth,
|
|
@@ -7038,7 +7039,7 @@ var UniversalSettings2 = ({
|
|
|
7038
7039
|
onClose: () => setMemberToRemove(null),
|
|
7039
7040
|
onConfirm: handleConfirmRemove
|
|
7040
7041
|
}
|
|
7041
|
-
), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col
|
|
7042
|
+
), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col p-6 rounded-2xl bg-white w-full h-125 max-h-[85vh]" }, activeExpandedMember ? /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col animate-in fade-in zoom-in-95 duration-300 w-full h-full" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "mb-6 flex w-full items-center shrink-0" }, /* @__PURE__ */ import_react101.default.createElement(
|
|
7042
7043
|
"button",
|
|
7043
7044
|
{
|
|
7044
7045
|
onClick: () => setExpandedId(null),
|
|
@@ -7047,7 +7048,7 @@ var UniversalSettings2 = ({
|
|
|
7047
7048
|
},
|
|
7048
7049
|
/* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.ArrowLeft01Icon, size: 16 }),
|
|
7049
7050
|
" Back"
|
|
7050
|
-
)), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col gap-1 mb-8" }, /* @__PURE__ */ import_react101.default.createElement("h2", { className: "text-black text-xl tracking-tight" }, "Member Profile"), /* @__PURE__ */ import_react101.default.createElement("p", { className: "text-xs text-stone-500" }, "View and manage this member's access privileges.")), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center gap-4 mb-4" }, /* @__PURE__ */ import_react101.default.createElement(MemberAvatar5, { src: activeExpandedMember.avatarUrl, status: activeExpandedMember.status, sizeClass: "w-14 h-14" }), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react101.default.createElement("span", { className: "text-sm text-black tracking-tight truncate" }, activeExpandedMember.fullName), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center gap-2 mt-0.5" }, /* @__PURE__ */ import_react101.default.createElement("span", { className: "text-xs text-stone-500 capitalize" }, activeExpandedMember.role.toLowerCase()), canManage && (isUpdatingRole ? /* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.Loading03Icon, size: 12, className: "animate-spin text-stone-400 ml-1" }) : /* @__PURE__ */ import_react101.default.createElement(import_react101.default.Fragment, null, /* @__PURE__ */ import_react101.default.createElement("span", { className: "text-stone-300 text-xs px-0.5" }, "\u2022"), /* @__PURE__ */ import_react101.default.createElement("button", { onClick: () => setRoleEditTarget(activeExpandedMember), className: "text-xs text-[#d97757] hover:underline outline-none" }, "Edit"), /* @__PURE__ */ import_react101.default.createElement("span", { className: "text-stone-300 text-xs px-0.5" }, "\u2022"), /* @__PURE__ */ import_react101.default.createElement(
|
|
7051
|
+
)), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col gap-1 mb-8 shrink-0" }, /* @__PURE__ */ import_react101.default.createElement("h2", { className: "text-black text-xl tracking-tight" }, "Member Profile"), /* @__PURE__ */ import_react101.default.createElement("p", { className: "text-xs text-stone-500" }, "View and manage this member's access privileges.")), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar pr-2" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center gap-4 mb-4" }, /* @__PURE__ */ import_react101.default.createElement(MemberAvatar5, { src: activeExpandedMember.avatarUrl, status: activeExpandedMember.status, sizeClass: "w-14 h-14" }), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react101.default.createElement("span", { className: "text-sm text-black tracking-tight truncate" }, activeExpandedMember.fullName), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center gap-2 mt-0.5" }, /* @__PURE__ */ import_react101.default.createElement("span", { className: "text-xs text-stone-500 capitalize" }, activeExpandedMember.role.toLowerCase()), canManage && (isUpdatingRole ? /* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.Loading03Icon, size: 12, className: "animate-spin text-stone-400 ml-1" }) : /* @__PURE__ */ import_react101.default.createElement(import_react101.default.Fragment, null, /* @__PURE__ */ import_react101.default.createElement("span", { className: "text-stone-300 text-xs px-0.5" }, "\u2022"), /* @__PURE__ */ import_react101.default.createElement("button", { onClick: () => setRoleEditTarget(activeExpandedMember), className: "text-xs text-[#d97757] hover:underline outline-none" }, "Edit"), /* @__PURE__ */ import_react101.default.createElement("span", { className: "text-stone-300 text-xs px-0.5" }, "\u2022"), /* @__PURE__ */ import_react101.default.createElement(
|
|
7051
7052
|
"button",
|
|
7052
7053
|
{
|
|
7053
7054
|
onClick: () => setMemberToRemove(activeExpandedMember),
|
|
@@ -7055,7 +7056,7 @@ var UniversalSettings2 = ({
|
|
|
7055
7056
|
className: "text-xs text-[#d97757] hover:underline outline-none disabled:opacity-50"
|
|
7056
7057
|
},
|
|
7057
7058
|
"Remove"
|
|
7058
|
-
))))))) : /* @__PURE__ */ import_react101.default.createElement(
|
|
7059
|
+
)))))))) : /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col w-full h-full" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col gap-1 shrink-0 mb-6" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-row items-center justify-between gap-4" }, /* @__PURE__ */ import_react101.default.createElement("h2", { className: "text-black text-xl tracking-tight" }, "Team Directory"), canManage && /* @__PURE__ */ import_react101.default.createElement("button", { onClick: () => setIsInviteMode(true), className: "shrink-0 px-4 py-1.5 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-stone-50 transition-colors outline-none" }, "Invite Team")), /* @__PURE__ */ import_react101.default.createElement("p", { className: "text-xs text-stone-500" }, "Manage members and access controls across your organization.")), /* @__PURE__ */ import_react101.default.createElement("div", { className: "w-full flex-1 overflow-y-auto custom-scrollbar pr-2 min-h-0 relative" }, isMembersLoading || isTyping ? /* @__PURE__ */ import_react101.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ import_react101.default.createElement(PageSpinner10, null)) : /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex flex-col min-w-0 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react101.default.createElement("div", null, members.length === 0 ? /* @__PURE__ */ import_react101.default.createElement("p", { className: "text-xs text-stone-400 py-6 text-center" }, "No members found") : members.map((member) => /* @__PURE__ */ import_react101.default.createElement("div", { key: member.id, onClick: () => setExpandedId(member.id), className: "flex items-center justify-between py-3 hover:bg-stone-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react101.default.createElement(MemberAvatar5, { src: member.avatarUrl, status: member.status }), /* @__PURE__ */ import_react101.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-0.5" }, /* @__PURE__ */ import_react101.default.createElement("p", { className: "text-sm text-black truncate" }, member.fullName), /* @__PURE__ */ import_react101.default.createElement("p", { className: "text-xs text-stone-500 capitalize truncate" }, member.role.toLowerCase())))))))), !isMembersLoading && !isTyping && /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center justify-between pt-4 mt-2 shrink-0 border-t border-stone-50" }, /* @__PURE__ */ import_react101.default.createElement("span", { className: "text-xs text-stone-400 tracking-[0.2em]" }, "Page ", membersCurrentPage, " of ", membersTotalPages === 0 ? 1 : membersTotalPages), /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react101.default.createElement("button", { onClick: () => onMembersPageChange(membersCurrentPage - 1), disabled: membersCurrentPage <= 1 || isMembersLoading, className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none" }, /* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.ArrowLeft01Icon, size: 14 })), /* @__PURE__ */ import_react101.default.createElement("button", { onClick: () => onMembersPageChange(membersCurrentPage + 1), disabled: membersCurrentPage >= membersTotalPages || isMembersLoading || membersTotalPages === 0, className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none" }, /* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.ArrowRight01Icon, size: 14 })))))), /* @__PURE__ */ import_react101.default.createElement(ReusableOptions, { isOpen: !!roleEditTarget, onClose: () => setRoleEditTarget(null), title: "Modify Access Role", options: ["ADMIN", "MANAGER", "MEMBER"], selectedOption: roleEditTarget?.role || "", onSelect: handleRoleUpdate }), isInviteMode && /* @__PURE__ */ import_react101.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => !isInviting && setIsInviteMode(false) }), /* @__PURE__ */ import_react101.default.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ import_react101.default.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Add Member"), /* @__PURE__ */ import_react101.default.createElement("button", { onClick: () => !isInviting && setIsInviteMode(false), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ import_react101.default.createElement(import_react102.HugeiconsIcon, { icon: import_core_free_icons40.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react101.default.createElement("div", { className: "p-5" }, /* @__PURE__ */ import_react101.default.createElement("form", { onSubmit: handleInviteSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ import_react101.default.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ import_react101.default.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Email Address"), /* @__PURE__ */ import_react101.default.createElement(
|
|
7059
7060
|
"input",
|
|
7060
7061
|
{
|
|
7061
7062
|
type: "email",
|
package/dist/index.mjs
CHANGED
|
@@ -872,7 +872,8 @@ var UniversalHuddleDetails = ({
|
|
|
872
872
|
membersSearchQuery,
|
|
873
873
|
onMembersSearchChange,
|
|
874
874
|
onUpdateSubmit,
|
|
875
|
-
onDeleteSubmit
|
|
875
|
+
onDeleteSubmit,
|
|
876
|
+
onJoinHuddle
|
|
876
877
|
}) => {
|
|
877
878
|
const [title, setTitle] = useState7(huddle.title);
|
|
878
879
|
const [isPrivate, setIsPrivate] = useState7(huddle.huddleType === "PRIVATE");
|
|
@@ -997,7 +998,7 @@ var UniversalHuddleDetails = ({
|
|
|
997
998
|
className: `relative w-11 h-6 rounded-full transition-colors outline-none shrink-0 ${isPrivate ? "bg-[#d97757]" : "bg-stone-200"} ${!enableEdits && "opacity-50 cursor-not-allowed"}`
|
|
998
999
|
},
|
|
999
1000
|
/* @__PURE__ */ React11.createElement("div", { className: `absolute top-1 left-1 bg-white w-4 h-4 rounded-full transition-transform ${isPrivate ? "translate-x-5" : "translate-x-0"}` })
|
|
1000
|
-
)), isPrivate && /* @__PURE__ */ React11.createElement("div", { className: "flex items-center justify-between animate-in fade-in zoom-in-95 duration-200 bg-stone-50 p-4 rounded-xl" }, /* @__PURE__ */ React11.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React11.createElement("span", { className: "text-xs text-black tracking-tight" }, "Participants"), /* @__PURE__ */ React11.createElement("span", { className: "text-xs text-[#d97757] " }, selectedParticipants.size, " added")), enableEdits && /* @__PURE__ */ React11.createElement("button", { onClick: () => setShowMembersModal(true), className: "px-4 py-2 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-white transition-colors outline-none bg-transparent" }, "Manage Access")), isDirty && /* @__PURE__ */ React11.createElement("div", { className: "pt-4 animate-in fade-in duration-300" }, /* @__PURE__ */ React11.createElement(ThreeDActionButton, { onClick: handleUpdate, isLoading: isSubmitting, className: "w-full sm:w-auto min-w-40" }, "Save Changes")), /* @__PURE__ */ React11.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-3 pt-6 mt-2 " }, (liveStatus === "SCHEDULED" || liveStatus === "ONGOING") && /* @__PURE__ */ React11.createElement("
|
|
1001
|
+
)), isPrivate && /* @__PURE__ */ React11.createElement("div", { className: "flex items-center justify-between animate-in fade-in zoom-in-95 duration-200 bg-stone-50 p-4 rounded-xl" }, /* @__PURE__ */ React11.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React11.createElement("span", { className: "text-xs text-black tracking-tight" }, "Participants"), /* @__PURE__ */ React11.createElement("span", { className: "text-xs text-[#d97757] " }, selectedParticipants.size, " added")), enableEdits && /* @__PURE__ */ React11.createElement("button", { onClick: () => setShowMembersModal(true), className: "px-4 py-2 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-white transition-colors outline-none bg-transparent" }, "Manage Access")), isDirty && /* @__PURE__ */ React11.createElement("div", { className: "pt-4 animate-in fade-in duration-300" }, /* @__PURE__ */ React11.createElement(ThreeDActionButton, { onClick: handleUpdate, isLoading: isSubmitting, className: "w-full sm:w-auto min-w-40" }, "Save Changes")), /* @__PURE__ */ React11.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-3 pt-6 mt-2 " }, (liveStatus === "SCHEDULED" || liveStatus === "ONGOING") && /* @__PURE__ */ React11.createElement("button", { onClick: onJoinHuddle, className: "flex-1 w-full py-2.5 bg-[#d97757] text-white rounded-full text-center text-xs transition-colors hover:bg-[#d97757]/90 outline-none" }, "Join Huddle"), /* @__PURE__ */ React11.createElement("a", { href: `/app/assets/huddles/${huddle.id}`, className: "flex-1 w-full py-2.5 bg-transparent border border-stone-200 text-black rounded-full text-center text-xs transition-colors hover:bg-stone-50" }, "Huddle Assets"), canDelete && liveStatus === "SCHEDULED" && /* @__PURE__ */ React11.createElement("button", { onClick: () => setConfirmDialog("CANCEL"), className: "flex-1 w-full py-2.5 bg-transparent border border-stone-200 text-black rounded-full text-center text-xs transition-colors hover:bg-stone-50" }, "Cancel Huddle"), canDelete && liveStatus !== "SCHEDULED" && /* @__PURE__ */ React11.createElement("button", { onClick: () => setConfirmDialog("DELETE"), className: "flex-1 w-full py-2.5 bg-transparent border border-stone-200 text-black rounded-full text-center text-xs transition-colors hover:bg-stone-50" }, "Delete Huddle"))), /* @__PURE__ */ React11.createElement(
|
|
1001
1002
|
CalendarPicker,
|
|
1002
1003
|
{
|
|
1003
1004
|
isOpen: calendarMode !== null,
|
|
@@ -6208,7 +6209,7 @@ import {
|
|
|
6208
6209
|
ArrowRight01Icon as ArrowRight01Icon15,
|
|
6209
6210
|
Loading03Icon as Loading03Icon28,
|
|
6210
6211
|
Search01Icon as Search01Icon8,
|
|
6211
|
-
|
|
6212
|
+
FilterVerticalIcon
|
|
6212
6213
|
} from "@hugeicons/core-free-icons";
|
|
6213
6214
|
var MONTHS2 = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
|
|
6214
6215
|
var DAYS_OF_WEEK2 = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
|
|
@@ -6290,7 +6291,7 @@ var HomeHuddleCalendar = ({
|
|
|
6290
6291
|
onChange: handleSearchInput,
|
|
6291
6292
|
className: "w-full pl-10 pr-4 py-2 bg-white rounded-full text-sm text-black placeholder-stone-400 outline-none transition-colors focus:border-[#d97757] border border-transparent hover:border-stone-200"
|
|
6292
6293
|
}
|
|
6293
|
-
)), /* @__PURE__ */ React54.createElement("div", { className: "flex items-center gap-3 w-auto pb-0 shrink-0" }, /* @__PURE__ */ React54.createElement("button", { onClick: () => setIsStatusModalOpen(true), className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-stone-500 hover:text-black transition-colors outline-none " }, /* @__PURE__ */ React54.createElement(HugeiconsIcon40, { icon:
|
|
6294
|
+
)), /* @__PURE__ */ React54.createElement("div", { className: "flex items-center gap-3 w-auto pb-0 shrink-0" }, /* @__PURE__ */ React54.createElement("button", { onClick: () => setIsStatusModalOpen(true), className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-stone-500 hover:text-black transition-colors outline-none " }, /* @__PURE__ */ React54.createElement(HugeiconsIcon40, { icon: FilterVerticalIcon, size: 16 }))))), !isSearching && /* @__PURE__ */ React54.createElement("div", { className: "bg-white rounded-2xl p-5 mb-6 relative overflow-hidden animate-in fade-in duration-300" }, isLoading && /* @__PURE__ */ React54.createElement("div", { className: "absolute inset-0 z-50 flex items-center justify-center bg-white/60 backdrop-blur-sm" }, /* @__PURE__ */ React54.createElement(HugeiconsIcon40, { icon: Loading03Icon28, size: 28, className: "animate-spin text-black" })), /* @__PURE__ */ React54.createElement("div", { className: "flex items-center justify-between px-2 mb-4" }, /* @__PURE__ */ React54.createElement("span", { className: "text-sm text-black tracking-wide" }, MONTHS2[viewMonth], " ", viewYear), /* @__PURE__ */ React54.createElement("div", { className: "flex gap-1" }, /* @__PURE__ */ React54.createElement(
|
|
6294
6295
|
"button",
|
|
6295
6296
|
{
|
|
6296
6297
|
onClick: handlePrevMonth,
|
|
@@ -7126,7 +7127,7 @@ var UniversalSettings2 = ({
|
|
|
7126
7127
|
onClose: () => setMemberToRemove(null),
|
|
7127
7128
|
onConfirm: handleConfirmRemove
|
|
7128
7129
|
}
|
|
7129
|
-
), /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col
|
|
7130
|
+
), /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col p-6 rounded-2xl bg-white w-full h-125 max-h-[85vh]" }, activeExpandedMember ? /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col animate-in fade-in zoom-in-95 duration-300 w-full h-full" }, /* @__PURE__ */ React58.createElement("div", { className: "mb-6 flex w-full items-center shrink-0" }, /* @__PURE__ */ React58.createElement(
|
|
7130
7131
|
"button",
|
|
7131
7132
|
{
|
|
7132
7133
|
onClick: () => setExpandedId(null),
|
|
@@ -7135,7 +7136,7 @@ var UniversalSettings2 = ({
|
|
|
7135
7136
|
},
|
|
7136
7137
|
/* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: ArrowLeft01Icon23, size: 16 }),
|
|
7137
7138
|
" Back"
|
|
7138
|
-
)), /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col gap-1 mb-8" }, /* @__PURE__ */ React58.createElement("h2", { className: "text-black text-xl tracking-tight" }, "Member Profile"), /* @__PURE__ */ React58.createElement("p", { className: "text-xs text-stone-500" }, "View and manage this member's access privileges.")), /* @__PURE__ */ React58.createElement("div", { className: "flex items-center gap-4 mb-4" }, /* @__PURE__ */ React58.createElement(MemberAvatar5, { src: activeExpandedMember.avatarUrl, status: activeExpandedMember.status, sizeClass: "w-14 h-14" }), /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React58.createElement("span", { className: "text-sm text-black tracking-tight truncate" }, activeExpandedMember.fullName), /* @__PURE__ */ React58.createElement("div", { className: "flex items-center gap-2 mt-0.5" }, /* @__PURE__ */ React58.createElement("span", { className: "text-xs text-stone-500 capitalize" }, activeExpandedMember.role.toLowerCase()), canManage && (isUpdatingRole ? /* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: Loading03Icon31, size: 12, className: "animate-spin text-stone-400 ml-1" }) : /* @__PURE__ */ React58.createElement(React58.Fragment, null, /* @__PURE__ */ React58.createElement("span", { className: "text-stone-300 text-xs px-0.5" }, "\u2022"), /* @__PURE__ */ React58.createElement("button", { onClick: () => setRoleEditTarget(activeExpandedMember), className: "text-xs text-[#d97757] hover:underline outline-none" }, "Edit"), /* @__PURE__ */ React58.createElement("span", { className: "text-stone-300 text-xs px-0.5" }, "\u2022"), /* @__PURE__ */ React58.createElement(
|
|
7139
|
+
)), /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col gap-1 mb-8 shrink-0" }, /* @__PURE__ */ React58.createElement("h2", { className: "text-black text-xl tracking-tight" }, "Member Profile"), /* @__PURE__ */ React58.createElement("p", { className: "text-xs text-stone-500" }, "View and manage this member's access privileges.")), /* @__PURE__ */ React58.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar pr-2" }, /* @__PURE__ */ React58.createElement("div", { className: "flex items-center gap-4 mb-4" }, /* @__PURE__ */ React58.createElement(MemberAvatar5, { src: activeExpandedMember.avatarUrl, status: activeExpandedMember.status, sizeClass: "w-14 h-14" }), /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React58.createElement("span", { className: "text-sm text-black tracking-tight truncate" }, activeExpandedMember.fullName), /* @__PURE__ */ React58.createElement("div", { className: "flex items-center gap-2 mt-0.5" }, /* @__PURE__ */ React58.createElement("span", { className: "text-xs text-stone-500 capitalize" }, activeExpandedMember.role.toLowerCase()), canManage && (isUpdatingRole ? /* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: Loading03Icon31, size: 12, className: "animate-spin text-stone-400 ml-1" }) : /* @__PURE__ */ React58.createElement(React58.Fragment, null, /* @__PURE__ */ React58.createElement("span", { className: "text-stone-300 text-xs px-0.5" }, "\u2022"), /* @__PURE__ */ React58.createElement("button", { onClick: () => setRoleEditTarget(activeExpandedMember), className: "text-xs text-[#d97757] hover:underline outline-none" }, "Edit"), /* @__PURE__ */ React58.createElement("span", { className: "text-stone-300 text-xs px-0.5" }, "\u2022"), /* @__PURE__ */ React58.createElement(
|
|
7139
7140
|
"button",
|
|
7140
7141
|
{
|
|
7141
7142
|
onClick: () => setMemberToRemove(activeExpandedMember),
|
|
@@ -7143,7 +7144,7 @@ var UniversalSettings2 = ({
|
|
|
7143
7144
|
className: "text-xs text-[#d97757] hover:underline outline-none disabled:opacity-50"
|
|
7144
7145
|
},
|
|
7145
7146
|
"Remove"
|
|
7146
|
-
))))))) : /* @__PURE__ */ React58.createElement(
|
|
7147
|
+
)))))))) : /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col w-full h-full" }, /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col gap-1 shrink-0 mb-6" }, /* @__PURE__ */ React58.createElement("div", { className: "flex flex-row items-center justify-between gap-4" }, /* @__PURE__ */ React58.createElement("h2", { className: "text-black text-xl tracking-tight" }, "Team Directory"), canManage && /* @__PURE__ */ React58.createElement("button", { onClick: () => setIsInviteMode(true), className: "shrink-0 px-4 py-1.5 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-stone-50 transition-colors outline-none" }, "Invite Team")), /* @__PURE__ */ React58.createElement("p", { className: "text-xs text-stone-500" }, "Manage members and access controls across your organization.")), /* @__PURE__ */ React58.createElement("div", { className: "w-full flex-1 overflow-y-auto custom-scrollbar pr-2 min-h-0 relative" }, isMembersLoading || isTyping ? /* @__PURE__ */ React58.createElement("div", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ React58.createElement(PageSpinner10, null)) : /* @__PURE__ */ React58.createElement("div", { className: "flex flex-col min-w-0 animate-in fade-in duration-300" }, /* @__PURE__ */ React58.createElement("div", null, members.length === 0 ? /* @__PURE__ */ React58.createElement("p", { className: "text-xs text-stone-400 py-6 text-center" }, "No members found") : members.map((member) => /* @__PURE__ */ React58.createElement("div", { key: member.id, onClick: () => setExpandedId(member.id), className: "flex items-center justify-between py-3 hover:bg-stone-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl" }, /* @__PURE__ */ React58.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React58.createElement(MemberAvatar5, { src: member.avatarUrl, status: member.status }), /* @__PURE__ */ React58.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-0.5" }, /* @__PURE__ */ React58.createElement("p", { className: "text-sm text-black truncate" }, member.fullName), /* @__PURE__ */ React58.createElement("p", { className: "text-xs text-stone-500 capitalize truncate" }, member.role.toLowerCase())))))))), !isMembersLoading && !isTyping && /* @__PURE__ */ React58.createElement("div", { className: "flex items-center justify-between pt-4 mt-2 shrink-0 border-t border-stone-50" }, /* @__PURE__ */ React58.createElement("span", { className: "text-xs text-stone-400 tracking-[0.2em]" }, "Page ", membersCurrentPage, " of ", membersTotalPages === 0 ? 1 : membersTotalPages), /* @__PURE__ */ React58.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React58.createElement("button", { onClick: () => onMembersPageChange(membersCurrentPage - 1), disabled: membersCurrentPage <= 1 || isMembersLoading, className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none" }, /* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: ArrowLeft01Icon23, size: 14 })), /* @__PURE__ */ React58.createElement("button", { onClick: () => onMembersPageChange(membersCurrentPage + 1), disabled: membersCurrentPage >= membersTotalPages || isMembersLoading || membersTotalPages === 0, className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none" }, /* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: ArrowRight01Icon18, size: 14 })))))), /* @__PURE__ */ React58.createElement(ReusableOptions, { isOpen: !!roleEditTarget, onClose: () => setRoleEditTarget(null), title: "Modify Access Role", options: ["ADMIN", "MANAGER", "MEMBER"], selectedOption: roleEditTarget?.role || "", onSelect: handleRoleUpdate }), isInviteMode && /* @__PURE__ */ React58.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React58.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => !isInviting && setIsInviteMode(false) }), /* @__PURE__ */ React58.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React58.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React58.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Add Member"), /* @__PURE__ */ React58.createElement("button", { onClick: () => !isInviting && setIsInviteMode(false), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React58.createElement(HugeiconsIcon44, { icon: CancelCircleIcon15, size: 18 }))), /* @__PURE__ */ React58.createElement("div", { className: "p-5" }, /* @__PURE__ */ React58.createElement("form", { onSubmit: handleInviteSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ React58.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ React58.createElement("label", { className: "text-xs text-stone-400 tracking-[0.2em] block" }, "Email Address"), /* @__PURE__ */ React58.createElement(
|
|
7147
7148
|
"input",
|
|
7148
7149
|
{
|
|
7149
7150
|
type: "email",
|