chore(web): rebuild dist bundle for v2.0.5 captchaEnabled editor

The v2.0.5 captchaEnabled editor toggle (fe5d117) changed web/src but never
rebuilt the committed web/dist. Rebuild so the shipped bundle matches source.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Alex Dunmow 2026-07-08 08:57:02 +08:00
parent fe5d11754a
commit f597fa8b52
23 changed files with 131643 additions and 142796 deletions

View File

@ -1,550 +0,0 @@
import { importShared } from "./__federation_fn_import-hlt2XzeI.js";
import { j as jsxRuntimeExports } from "./jsx-runtime-CvJTHeKY.js";
const { useCallback, useEffect, useState } = await importShared("react");
const {
Alert,
AlertDescription,
Button,
Card,
CardContent,
CardDescription,
CardHeader,
CardTitle,
Tabs,
TabsContent,
TabsList,
TabsTrigger,
Input,
Label,
Textarea,
Switch,
Select,
SelectContent,
SelectItem,
SelectTrigger,
SelectValue,
Settings,
Edit3,
CheckCircle2,
XCircle,
Loader2,
Key,
AlertCircle,
ExternalLink,
RefreshCw,
t,
} = await importShared("@block-ninja/ui");
function renderConnectedAccount(apiKeyConfigured, calcomUsername) {
if (apiKeyConfigured === false) {
return /* @__PURE__ */ jsxRuntimeExports.jsx("p", {
className: "text-xs text-muted-foreground",
children: t("calcom.editor.connectedAs.noKey", "Configure the API key in plugin settings to connect an account."),
});
}
if (calcomUsername) {
return /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm font-mono", children: calcomUsername });
}
return /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: t("calcom.editor.connectedAs.resolving", "Resolving account from API key…") });
}
function CalcomBlockEditor({ content, onChange }) {
const [activeTab, setActiveTab] = useState("config");
const [apiKeyConfigured, setApiKeyConfigured] = useState(null);
const [calcomUsername, setCalcomUsername] = useState("");
const [eventTypes, setEventTypes] = useState([]);
const [loadingEventTypes, setLoadingEventTypes] = useState(false);
const [fetchFailed, setFetchFailed] = useState(false);
const [retryCounter, setRetryCounter] = useState(0);
const handleFieldChange = useCallback(
(field, value) => {
onChange({ ...content, [field]: value });
},
[content, onChange],
);
const getString = (field, defaultValue = "") => {
return content[field] || defaultValue;
};
const getNumber = (field, defaultValue = 0) => {
const val = content[field];
if (typeof val === "number") return val;
if (typeof val === "string") return parseInt(val, 10) || defaultValue;
return defaultValue;
};
const getBool = (field, defaultValue = false) => {
const val = content[field];
if (typeof val === "boolean") return val;
return defaultValue;
};
const eventTypeSlug = getString("eventTypeSlug");
useEffect(() => {
fetch(`/api/plugins/calcomblock/settings`)
.then((r) => r.json())
.then((d) => {
setApiKeyConfigured(!!d.api_key_configured);
setCalcomUsername(d.username ?? "");
})
.catch(() => setApiKeyConfigured(false));
}, []);
useEffect(() => {
if (calcomUsername && content.username !== calcomUsername) {
onChange({ ...content, username: calcomUsername });
}
}, [calcomUsername, content, onChange]);
useEffect(() => {
if (!apiKeyConfigured) {
setEventTypes([]);
setFetchFailed(false);
return;
}
const timer = setTimeout(() => {
setLoadingEventTypes(true);
setFetchFailed(false);
fetch(`/api/plugins/calcomblock/event-types?username=${encodeURIComponent(calcomUsername)}`)
.then((r) => r.json())
.then((d) => {
if (d.success) {
setEventTypes(d.event_types ?? []);
} else {
setEventTypes([]);
setFetchFailed(true);
}
})
.catch(() => {
setEventTypes([]);
setFetchFailed(true);
})
.finally(() => setLoadingEventTypes(false));
}, 300);
return () => clearTimeout(timer);
}, [apiKeyConfigured, calcomUsername, retryCounter]);
const handleRetry = useCallback(() => {
setRetryCounter((n) => n + 1);
}, []);
const selectPlaceholder = (() => {
if (apiKeyConfigured === false) {
return /* @__PURE__ */ jsxRuntimeExports.jsxs("span", {
className: "inline-flex items-center gap-1.5 text-muted-foreground",
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(Key, { className: "h-3 w-3" }), t("calcom.editor.eventType.placeholder.noApiKey", "Configure API key first")],
});
}
if (loadingEventTypes) {
return /* @__PURE__ */ jsxRuntimeExports.jsxs("span", {
className: "inline-flex items-center gap-1.5 text-muted-foreground",
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(Loader2, { className: "h-3 w-3 animate-spin" }), t("calcom.editor.eventType.placeholder.loading", "Loading…")],
});
}
if (!calcomUsername) {
return /* @__PURE__ */ jsxRuntimeExports.jsxs("span", {
className: "inline-flex items-center gap-1.5 text-muted-foreground",
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(Loader2, { className: "h-3 w-3 animate-spin" }), t("calcom.editor.eventType.placeholder.resolvingUser", "Resolving account…")],
});
}
if (eventTypes.length === 0) {
return /* @__PURE__ */ jsxRuntimeExports.jsxs("span", {
className: "inline-flex items-center gap-1.5 text-muted-foreground",
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(XCircle, { className: "h-3 w-3" }), t("calcom.editor.eventType.placeholder.noEventTypes", "No event types found")],
});
}
return t("calcom.editor.eventType.placeholder.select", "Select event type");
})();
const apiKeyReady = apiKeyConfigured === true;
const usernameReady = calcomUsername.length > 0;
const eventTypeReady = eventTypeSlug.length > 0;
const canOpenInCalcom = usernameReady && eventTypeReady;
const renderStatusRow = (ok, label, action) =>
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "flex items-center gap-2 text-sm",
children: [
ok ?
/* @__PURE__ */ jsxRuntimeExports.jsx(CheckCircle2, { "className": "h-4 w-4 text-primary", "aria-hidden": "true" })
: /* @__PURE__ */ jsxRuntimeExports.jsx(XCircle, { "className": "h-4 w-4 text-destructive", "aria-hidden": "true" }),
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: ok ? "text-foreground" : "text-muted-foreground", children: label }),
action ? /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-auto", children: action }) : null,
],
});
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
className: "space-y-4",
children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Tabs, {
value: activeTab,
onValueChange: setActiveTab,
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(TabsList, {
className: "grid w-full grid-cols-2",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(TabsTrigger, {
value: "config",
className: "gap-2",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Settings, { className: "h-4 w-4" }),
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: t("calcom.editor.tab.configuration", "Configuration") }),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs(TabsTrigger, {
value: "content",
className: "gap-2",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Edit3, { className: "h-4 w-4" }),
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: t("calcom.editor.tab.content", "Content") }),
],
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs(TabsContent, {
value: "config",
className: "space-y-4 mt-4",
children: [
apiKeyConfigured === false &&
/* @__PURE__ */ jsxRuntimeExports.jsx(Alert, {
children: /* @__PURE__ */ jsxRuntimeExports.jsxs(AlertDescription, {
children: [
t("calcom.editor.alert.apiKeyMissing.prefix", "Configure your Cal.com API key in"),
" ",
/* @__PURE__ */ jsxRuntimeExports.jsx("a", {
href: "/admin/plugins?plugin=calcomblock",
className: "text-primary hover:underline",
children: t("calcom.editor.alert.apiKeyMissing.linkLabel", "plugin settings"),
}),
" ",
t("calcom.editor.alert.apiKeyMissing.suffix", "to enable the event-type dropdown."),
],
}),
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs(Card, {
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardHeader, {
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(CardTitle, { className: "text-base", children: t("calcom.editor.section.config.title", "Cal.com Settings") }),
/* @__PURE__ */ jsxRuntimeExports.jsx(CardDescription, {
children: t("calcom.editor.section.config.description", "Connect to your Cal.com account and select an event type"),
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardContent, {
className: "space-y-4",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "space-y-2",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Label, { children: t("calcom.editor.connectedAs.label", "Connected Account") }),
renderConnectedAccount(apiKeyConfigured, calcomUsername),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "space-y-2",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(Label, {
htmlFor: "eventTypeSlug",
children: [
t("calcom.editor.eventType.label", "Event Type"),
" ",
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-destructive", children: "*" }),
],
}),
fetchFailed ?
/* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "flex items-center gap-2",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Input, {
id: "eventTypeSlug",
value: eventTypeSlug,
onChange: (e) => handleFieldChange("eventTypeSlug", e.target.value),
placeholder: t("calcom.editor.eventType.fallbackPlaceholder", "30min"),
className: "flex-1",
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs(Button, {
"type": "button",
"size": "sm",
"variant": "outline",
"action": "retry",
"entity": "event-types",
"onClick": handleRetry,
"disabled": loadingEventTypes,
"aria-label": t("calcom.editor.eventType.retryAria", "Retry loading event types"),
"children": [
/* @__PURE__ */ jsxRuntimeExports.jsx(RefreshCw, {
"className": `h-4 w-4 ${loadingEventTypes ? "animate-spin" : ""}`,
"aria-hidden": "true",
}),
/* @__PURE__ */ jsxRuntimeExports.jsx("span", {
className: "ml-1",
children: t("calcom.editor.eventType.retryLabel", "Retry"),
}),
],
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs(Alert, {
variant: "destructive",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(AlertCircle, { "className": "h-4 w-4", "aria-hidden": "true" }),
/* @__PURE__ */ jsxRuntimeExports.jsx(AlertDescription, {
children: t("calcom.editor.eventType.fetchFailed", "Couldn't load event types from Cal.com. Enter the slug manually or retry."),
}),
],
}),
],
})
: /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(Select, {
value: eventTypeSlug,
onValueChange: (v) => handleFieldChange("eventTypeSlug", v),
disabled: loadingEventTypes || !apiKeyConfigured || eventTypes.length === 0,
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, {
"aria-label": t("calcom.editor.eventType.label", "Event Type"),
"children": /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, { placeholder: selectPlaceholder }),
}),
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectContent, {
children: eventTypes.map((et) =>
/* @__PURE__ */ jsxRuntimeExports.jsxs(
SelectItem,
{
value: et.slug,
children: [
et.title,
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", {
className: "text-muted-foreground",
children: [" ", "(", et.slug, " · ", et.lengthInMinutes, "m)"],
}),
],
},
et.id,
),
),
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsx("p", {
className: "text-xs text-muted-foreground",
children: t("calcom.editor.eventType.help", "Fetched from your Cal.com account"),
}),
],
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "space-y-2",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Label, { htmlFor: "weeksToShow", children: t("calcom.editor.weeksToShow.label", "Weeks to Display") }),
/* @__PURE__ */ jsxRuntimeExports.jsxs(Select, {
value: String(getNumber("weeksToShow", 2)),
onValueChange: (v) => handleFieldChange("weeksToShow", parseInt(v, 10)),
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, {
"aria-label": t("calcom.editor.weeksToShow.label", "Weeks to Display"),
"children": /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, { placeholder: t("calcom.editor.weeksToShow.placeholder", "Select weeks") }),
}),
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectContent, {
children: [1, 2, 3, 4, 5, 6, 7, 8].map((n) =>
/* @__PURE__ */ jsxRuntimeExports.jsxs(
SelectItem,
{
value: String(n),
children: [
n,
" ",
n > 1 ? t("calcom.editor.weeksToShow.unitPlural", "weeks") : t("calcom.editor.weeksToShow.unitSingular", "week"),
],
},
n,
),
),
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsx("p", {
className: "text-xs text-muted-foreground",
children: t("calcom.editor.weeksToShow.help", "How many weeks of dates to show in the calendar"),
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "flex items-center justify-between rounded-lg border p-3",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "space-y-0.5",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Label, { children: t("calcom.editor.showTimezone.label", "Show Timezone Selector") }),
/* @__PURE__ */ jsxRuntimeExports.jsx("p", {
className: "text-xs text-muted-foreground",
children: t("calcom.editor.showTimezone.help", "Show a label above the date grid indicating which timezone times are displayed in."),
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsx(Switch, {
"checked": getBool("showTimezone", true),
"onCheckedChange": (v) => handleFieldChange("showTimezone", v),
"aria-label": t("calcom.editor.showTimezone.label", "Show Timezone Selector"),
}),
],
}),
],
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs(Card, {
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardHeader, {
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(CardTitle, { className: "text-base", children: t("calcom.editor.status.title", "Configuration status") }),
/* @__PURE__ */ jsxRuntimeExports.jsx(CardDescription, {
children: t("calcom.editor.status.description", "Quick check of the values needed before this block renders bookings."),
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardContent, {
className: "space-y-2",
children: [
renderStatusRow(
apiKeyReady,
t("calcom.editor.status.apiKey", "API key configured"),
!apiKeyReady ?
/* @__PURE__ */ jsxRuntimeExports.jsx("a", {
href: "/admin/plugins?plugin=calcomblock",
className: "text-xs text-primary hover:underline",
children: t("calcom.editor.status.apiKey.configureLink", "Configure"),
})
: null,
),
renderStatusRow(usernameReady, t("calcom.editor.status.username", "Account resolved")),
renderStatusRow(eventTypeReady, t("calcom.editor.status.eventType", "Event type selected")),
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "flex items-center gap-2 text-sm",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "inline-flex h-4 w-4 items-center justify-center text-muted-foreground", children: "·" }),
/* @__PURE__ */ jsxRuntimeExports.jsx("span", {
className: "text-muted-foreground",
children: t("calcom.editor.status.eventTypesAvailable", "{count} event types available").replace("{count}", String(eventTypes.length)),
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsx("div", {
className: "pt-2",
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button, {
"type": "button",
"size": "sm",
"variant": "outline",
"action": "open",
"entity": "calcom-page",
"asChild": canOpenInCalcom,
"disabled": !canOpenInCalcom,
"aria-label": t("calcom.editor.status.openExternalAria", "Open Cal.com booking page in a new tab"),
"children":
canOpenInCalcom ?
/* @__PURE__ */ jsxRuntimeExports.jsxs("a", {
href: `https://cal.com/${calcomUsername}/${eventTypeSlug}`,
target: "_blank",
rel: "noopener noreferrer",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(ExternalLink, { "className": "h-4 w-4", "aria-hidden": "true" }),
/* @__PURE__ */ jsxRuntimeExports.jsx("span", {
className: "ml-1",
children: t("calcom.editor.status.openExternal", "Open in Cal.com"),
}),
],
})
: /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(ExternalLink, { "className": "h-4 w-4", "aria-hidden": "true" }),
/* @__PURE__ */ jsxRuntimeExports.jsx("span", {
className: "ml-1",
children: t("calcom.editor.status.openExternal", "Open in Cal.com"),
}),
],
}),
}),
}),
],
}),
],
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsx(TabsContent, {
value: "content",
className: "space-y-4 mt-4",
children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Card, {
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardHeader, {
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(CardTitle, { className: "text-base", children: t("calcom.editor.section.content.title", "Widget Content") }),
/* @__PURE__ */ jsxRuntimeExports.jsx(CardDescription, {
children: t("calcom.editor.section.content.description", "Customize the text shown in the booking widget"),
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardContent, {
className: "space-y-4",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "space-y-2",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Label, { htmlFor: "title", children: t("calcom.editor.title.label", "Title") }),
/* @__PURE__ */ jsxRuntimeExports.jsx(Input, {
id: "title",
value: getString("title"),
onChange: (e) => handleFieldChange("title", e.target.value),
placeholder: t("calcom.editor.title.placeholder", "Book a Meeting"),
}),
/* @__PURE__ */ jsxRuntimeExports.jsx("p", {
className: "text-xs text-muted-foreground",
children: t("calcom.editor.title.help", "Main heading shown above the calendar"),
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "space-y-2",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Label, { htmlFor: "description", children: t("calcom.editor.description.label", "Description") }),
/* @__PURE__ */ jsxRuntimeExports.jsx(Textarea, {
id: "description",
value: getString("description"),
onChange: (e) => handleFieldChange("description", e.target.value),
placeholder: t("calcom.editor.description.placeholder", "Choose a convenient time for your consultation..."),
rows: 3,
}),
/* @__PURE__ */ jsxRuntimeExports.jsx("p", {
className: "text-xs text-muted-foreground",
children: t("calcom.editor.description.help", "Optional text shown below the title"),
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "space-y-2",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Label, {
htmlFor: "unavailableMessage",
children: t("calcom.editor.unavailableMessage.label", "Booking unavailable message"),
}),
/* @__PURE__ */ jsxRuntimeExports.jsx(Textarea, {
id: "unavailableMessage",
value: getString("unavailableMessage"),
onChange: (e) => handleFieldChange("unavailableMessage", e.target.value),
placeholder: t(
"calcom.editor.unavailableMessage.placeholder",
"Sorry — we couldn't complete your booking online. Please use our contact form and we'll get you booked in.",
),
rows: 3,
}),
/* @__PURE__ */ jsxRuntimeExports.jsx("p", {
className: "text-xs text-muted-foreground",
children: t("calcom.editor.unavailableMessage.help", "Shown if an online booking can't be completed. Leave blank to use the default."),
}),
],
}),
],
}),
],
}),
}),
],
}),
});
}
export { CalcomBlockEditor as default };

View File

@ -0,0 +1,351 @@
import { importShared } from './__federation_fn_import-hlt2XzeI.js';
import { j as jsxRuntimeExports } from './jsx-runtime-CvJTHeKY.js';
const {useCallback,useEffect,useState} = await importShared('react');
const {Alert,AlertDescription,Button,Card,CardContent,CardDescription,CardHeader,CardTitle,Tabs,TabsContent,TabsList,TabsTrigger,Input,Label,Textarea,Switch,Select,SelectContent,SelectItem,SelectTrigger,SelectValue,Settings,Edit3,CheckCircle2,XCircle,Loader2,Key,AlertCircle,ExternalLink,RefreshCw,t} = await importShared('@block-ninja/ui');
function renderConnectedAccount(apiKeyConfigured, calcomUsername) {
if (apiKeyConfigured === false) {
return /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: t("calcom.editor.connectedAs.noKey", "Configure the API key in plugin settings to connect an account.") });
}
if (calcomUsername) {
return /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm font-mono", children: calcomUsername });
}
return /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: t("calcom.editor.connectedAs.resolving", "Resolving account from API key…") });
}
function CalcomBlockEditor({ content, onChange }) {
const [activeTab, setActiveTab] = useState("config");
const [apiKeyConfigured, setApiKeyConfigured] = useState(null);
const [calcomUsername, setCalcomUsername] = useState("");
const [eventTypes, setEventTypes] = useState([]);
const [loadingEventTypes, setLoadingEventTypes] = useState(false);
const [fetchFailed, setFetchFailed] = useState(false);
const [retryCounter, setRetryCounter] = useState(0);
const handleFieldChange = useCallback(
(field, value) => {
onChange({ ...content, [field]: value });
},
[content, onChange]
);
const getString = (field, defaultValue = "") => {
return content[field] || defaultValue;
};
const getNumber = (field, defaultValue = 0) => {
const val = content[field];
if (typeof val === "number") return val;
if (typeof val === "string") return parseInt(val, 10) || defaultValue;
return defaultValue;
};
const getBool = (field, defaultValue = false) => {
const val = content[field];
if (typeof val === "boolean") return val;
return defaultValue;
};
const eventTypeSlug = getString("eventTypeSlug");
useEffect(() => {
fetch(`/api/plugins/calcomblock/settings`).then((r) => r.json()).then((d) => {
setApiKeyConfigured(!!d.api_key_configured);
setCalcomUsername(d.username ?? "");
}).catch(() => setApiKeyConfigured(false));
}, []);
useEffect(() => {
if (calcomUsername && content.username !== calcomUsername) {
onChange({ ...content, username: calcomUsername });
}
}, [calcomUsername, content, onChange]);
useEffect(() => {
if (!apiKeyConfigured) {
setEventTypes([]);
setFetchFailed(false);
return;
}
const timer = setTimeout(() => {
setLoadingEventTypes(true);
setFetchFailed(false);
fetch(`/api/plugins/calcomblock/event-types?username=${encodeURIComponent(calcomUsername)}`).then((r) => r.json()).then((d) => {
if (d.success) {
setEventTypes(d.event_types ?? []);
} else {
setEventTypes([]);
setFetchFailed(true);
}
}).catch(() => {
setEventTypes([]);
setFetchFailed(true);
}).finally(() => setLoadingEventTypes(false));
}, 300);
return () => clearTimeout(timer);
}, [apiKeyConfigured, calcomUsername, retryCounter]);
const handleRetry = useCallback(() => {
setRetryCounter((n) => n + 1);
}, []);
const selectPlaceholder = (() => {
if (apiKeyConfigured === false) {
return /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "inline-flex items-center gap-1.5 text-muted-foreground", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Key, { className: "h-3 w-3" }),
t("calcom.editor.eventType.placeholder.noApiKey", "Configure API key first")
] });
}
if (loadingEventTypes) {
return /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "inline-flex items-center gap-1.5 text-muted-foreground", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Loader2, { className: "h-3 w-3 animate-spin" }),
t("calcom.editor.eventType.placeholder.loading", "Loading…")
] });
}
if (!calcomUsername) {
return /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "inline-flex items-center gap-1.5 text-muted-foreground", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Loader2, { className: "h-3 w-3 animate-spin" }),
t("calcom.editor.eventType.placeholder.resolvingUser", "Resolving account…")
] });
}
if (eventTypes.length === 0) {
return /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "inline-flex items-center gap-1.5 text-muted-foreground", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(XCircle, { className: "h-3 w-3" }),
t("calcom.editor.eventType.placeholder.noEventTypes", "No event types found")
] });
}
return t("calcom.editor.eventType.placeholder.select", "Select event type");
})();
const apiKeyReady = apiKeyConfigured === true;
const usernameReady = calcomUsername.length > 0;
const eventTypeReady = eventTypeSlug.length > 0;
const canOpenInCalcom = usernameReady && eventTypeReady;
const renderStatusRow = (ok, label, action) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 text-sm", children: [
ok ? /* @__PURE__ */ jsxRuntimeExports.jsx(CheckCircle2, { className: "h-4 w-4 text-primary", "aria-hidden": "true" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(XCircle, { className: "h-4 w-4 text-destructive", "aria-hidden": "true" }),
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: ok ? "text-foreground" : "text-muted-foreground", children: label }),
action ? /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-auto", children: action }) : null
] });
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-4", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Tabs, { value: activeTab, onValueChange: setActiveTab, children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(TabsList, { className: "grid w-full grid-cols-2", children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(TabsTrigger, { value: "config", className: "gap-2", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Settings, { className: "h-4 w-4" }),
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: t("calcom.editor.tab.configuration", "Configuration") })
] }),
/* @__PURE__ */ jsxRuntimeExports.jsxs(TabsTrigger, { value: "content", className: "gap-2", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Edit3, { className: "h-4 w-4" }),
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: t("calcom.editor.tab.content", "Content") })
] })
] }),
/* @__PURE__ */ jsxRuntimeExports.jsxs(TabsContent, { value: "config", className: "space-y-4 mt-4", children: [
apiKeyConfigured === false && /* @__PURE__ */ jsxRuntimeExports.jsx(Alert, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(AlertDescription, { children: [
t("calcom.editor.alert.apiKeyMissing.prefix", "Configure your Cal.com API key in"),
" ",
/* @__PURE__ */ jsxRuntimeExports.jsx("a", { href: "/admin/plugins?plugin=calcomblock", className: "text-primary hover:underline", children: t("calcom.editor.alert.apiKeyMissing.linkLabel", "plugin settings") }),
" ",
t("calcom.editor.alert.apiKeyMissing.suffix", "to enable the event-type dropdown.")
] }) }),
/* @__PURE__ */ jsxRuntimeExports.jsxs(Card, { children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardHeader, { children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(CardTitle, { className: "text-base", children: t("calcom.editor.section.config.title", "Cal.com Settings") }),
/* @__PURE__ */ jsxRuntimeExports.jsx(CardDescription, { children: t("calcom.editor.section.config.description", "Connect to your Cal.com account and select an event type") })
] }),
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardContent, { className: "space-y-4", children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-2", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Label, { children: t("calcom.editor.connectedAs.label", "Connected Account") }),
renderConnectedAccount(apiKeyConfigured, calcomUsername)
] }),
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-2", children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(Label, { htmlFor: "eventTypeSlug", children: [
t("calcom.editor.eventType.label", "Event Type"),
" ",
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-destructive", children: "*" })
] }),
fetchFailed ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(
Input,
{
id: "eventTypeSlug",
value: eventTypeSlug,
onChange: (e) => handleFieldChange("eventTypeSlug", e.target.value),
placeholder: t("calcom.editor.eventType.fallbackPlaceholder", "30min"),
className: "flex-1"
}
),
/* @__PURE__ */ jsxRuntimeExports.jsxs(
Button,
{
type: "button",
size: "sm",
variant: "outline",
action: "retry",
entity: "event-types",
onClick: handleRetry,
disabled: loadingEventTypes,
"aria-label": t("calcom.editor.eventType.retryAria", "Retry loading event types"),
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(RefreshCw, { className: `h-4 w-4 ${loadingEventTypes ? "animate-spin" : ""}`, "aria-hidden": "true" }),
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-1", children: t("calcom.editor.eventType.retryLabel", "Retry") })
]
}
)
] }),
/* @__PURE__ */ jsxRuntimeExports.jsxs(Alert, { variant: "destructive", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(AlertCircle, { className: "h-4 w-4", "aria-hidden": "true" }),
/* @__PURE__ */ jsxRuntimeExports.jsx(AlertDescription, { children: t("calcom.editor.eventType.fetchFailed", "Couldn't load event types from Cal.com. Enter the slug manually or retry.") })
] })
] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(
Select,
{
value: eventTypeSlug,
onValueChange: (v) => handleFieldChange("eventTypeSlug", v),
disabled: loadingEventTypes || !apiKeyConfigured || eventTypes.length === 0,
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { "aria-label": t("calcom.editor.eventType.label", "Event Type"), children: /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, { placeholder: selectPlaceholder }) }),
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectContent, { children: eventTypes.map((et) => /* @__PURE__ */ jsxRuntimeExports.jsxs(SelectItem, { value: et.slug, children: [
et.title,
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-muted-foreground", children: [
" ",
"(",
et.slug,
" · ",
et.lengthInMinutes,
"m)"
] })
] }, et.id)) })
]
}
),
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: t("calcom.editor.eventType.help", "Fetched from your Cal.com account") })
] })
] }),
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-2", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Label, { htmlFor: "weeksToShow", children: t("calcom.editor.weeksToShow.label", "Weeks to Display") }),
/* @__PURE__ */ jsxRuntimeExports.jsxs(Select, { value: String(getNumber("weeksToShow", 2)), onValueChange: (v) => handleFieldChange("weeksToShow", parseInt(v, 10)), children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { "aria-label": t("calcom.editor.weeksToShow.label", "Weeks to Display"), children: /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, { placeholder: t("calcom.editor.weeksToShow.placeholder", "Select weeks") }) }),
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectContent, { children: [1, 2, 3, 4, 5, 6, 7, 8].map((n) => /* @__PURE__ */ jsxRuntimeExports.jsxs(SelectItem, { value: String(n), children: [
n,
" ",
n > 1 ? t("calcom.editor.weeksToShow.unitPlural", "weeks") : t("calcom.editor.weeksToShow.unitSingular", "week")
] }, n)) })
] }),
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: t("calcom.editor.weeksToShow.help", "How many weeks of dates to show in the calendar") })
] }),
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between rounded-lg border p-3", children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-0.5", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Label, { children: t("calcom.editor.showTimezone.label", "Show Timezone Selector") }),
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: t("calcom.editor.showTimezone.help", "Show a label above the date grid indicating which timezone times are displayed in.") })
] }),
/* @__PURE__ */ jsxRuntimeExports.jsx(
Switch,
{
checked: getBool("showTimezone", true),
onCheckedChange: (v) => handleFieldChange("showTimezone", v),
"aria-label": t("calcom.editor.showTimezone.label", "Show Timezone Selector")
}
)
] }),
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between rounded-lg border p-3", children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-0.5", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Label, { children: t("calcom.editor.captchaEnabled.label", "Enable captcha") }),
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: t("calcom.editor.captchaEnabled.help", "Require visitors to solve a privacy-friendly proof-of-work captcha before booking (spam protection).") })
] }),
/* @__PURE__ */ jsxRuntimeExports.jsx(
Switch,
{
checked: getBool("captchaEnabled", false),
onCheckedChange: (v) => handleFieldChange("captchaEnabled", v),
"aria-label": t("calcom.editor.captchaEnabled.label", "Enable captcha")
}
)
] })
] })
] }),
/* @__PURE__ */ jsxRuntimeExports.jsxs(Card, { children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardHeader, { children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(CardTitle, { className: "text-base", children: t("calcom.editor.status.title", "Configuration status") }),
/* @__PURE__ */ jsxRuntimeExports.jsx(CardDescription, { children: t("calcom.editor.status.description", "Quick check of the values needed before this block renders bookings.") })
] }),
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardContent, { className: "space-y-2", children: [
renderStatusRow(
apiKeyReady,
t("calcom.editor.status.apiKey", "API key configured"),
!apiKeyReady ? /* @__PURE__ */ jsxRuntimeExports.jsx("a", { href: "/admin/plugins?plugin=calcomblock", className: "text-xs text-primary hover:underline", children: t("calcom.editor.status.apiKey.configureLink", "Configure") }) : null
),
renderStatusRow(usernameReady, t("calcom.editor.status.username", "Account resolved")),
renderStatusRow(eventTypeReady, t("calcom.editor.status.eventType", "Event type selected")),
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 text-sm", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "inline-flex h-4 w-4 items-center justify-center text-muted-foreground", children: "·" }),
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-muted-foreground", children: t("calcom.editor.status.eventTypesAvailable", "{count} event types available").replace("{count}", String(eventTypes.length)) })
] }),
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "pt-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
Button,
{
type: "button",
size: "sm",
variant: "outline",
action: "open",
entity: "calcom-page",
asChild: canOpenInCalcom,
disabled: !canOpenInCalcom,
"aria-label": t("calcom.editor.status.openExternalAria", "Open Cal.com booking page in a new tab"),
children: canOpenInCalcom ? /* @__PURE__ */ jsxRuntimeExports.jsxs("a", { href: `https://cal.com/${calcomUsername}/${eventTypeSlug}`, target: "_blank", rel: "noopener noreferrer", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(ExternalLink, { className: "h-4 w-4", "aria-hidden": "true" }),
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-1", children: t("calcom.editor.status.openExternal", "Open in Cal.com") })
] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(ExternalLink, { className: "h-4 w-4", "aria-hidden": "true" }),
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-1", children: t("calcom.editor.status.openExternal", "Open in Cal.com") })
] })
}
) })
] })
] })
] }),
/* @__PURE__ */ jsxRuntimeExports.jsx(TabsContent, { value: "content", className: "space-y-4 mt-4", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Card, { children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardHeader, { children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(CardTitle, { className: "text-base", children: t("calcom.editor.section.content.title", "Widget Content") }),
/* @__PURE__ */ jsxRuntimeExports.jsx(CardDescription, { children: t("calcom.editor.section.content.description", "Customize the text shown in the booking widget") })
] }),
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardContent, { className: "space-y-4", children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-2", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Label, { htmlFor: "title", children: t("calcom.editor.title.label", "Title") }),
/* @__PURE__ */ jsxRuntimeExports.jsx(
Input,
{
id: "title",
value: getString("title"),
onChange: (e) => handleFieldChange("title", e.target.value),
placeholder: t("calcom.editor.title.placeholder", "Book a Meeting")
}
),
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: t("calcom.editor.title.help", "Main heading shown above the calendar") })
] }),
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-2", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Label, { htmlFor: "description", children: t("calcom.editor.description.label", "Description") }),
/* @__PURE__ */ jsxRuntimeExports.jsx(
Textarea,
{
id: "description",
value: getString("description"),
onChange: (e) => handleFieldChange("description", e.target.value),
placeholder: t("calcom.editor.description.placeholder", "Choose a convenient time for your consultation..."),
rows: 3
}
),
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: t("calcom.editor.description.help", "Optional text shown below the title") })
] }),
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-2", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Label, { htmlFor: "unavailableMessage", children: t("calcom.editor.unavailableMessage.label", "Booking unavailable message") }),
/* @__PURE__ */ jsxRuntimeExports.jsx(
Textarea,
{
id: "unavailableMessage",
value: getString("unavailableMessage"),
onChange: (e) => handleFieldChange("unavailableMessage", e.target.value),
placeholder: t(
"calcom.editor.unavailableMessage.placeholder",
"Sorry — we couldn't complete your booking online. Please use our contact form and we'll get you booked in."
),
rows: 3
}
),
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: t("calcom.editor.unavailableMessage.help", "Shown if an online booking can't be completed. Leave blank to use the default.") })
] })
] })
] }) })
] }) });
}
export { CalcomBlockEditor as default };

View File

@ -1,37 +1,9 @@
import { importShared } from "./__federation_fn_import-hlt2XzeI.js"; import { importShared } from './__federation_fn_import-hlt2XzeI.js';
import { j as jsxRuntimeExports } from "./jsx-runtime-CvJTHeKY.js"; import { j as jsxRuntimeExports } from './jsx-runtime-CvJTHeKY.js';
const { useState, useCallback, useEffect } = await importShared("react"); const {useState,useCallback,useEffect} = await importShared('react');
const { const {Card,CardContent,CardDescription,CardHeader,CardTitle,Input,Label,Button,Alert,AlertDescription,Badge,ScrollArea,Loader2,CheckCircle2,XCircle,AlertCircle,Eye,EyeOff,Key,Zap,Settings,Send,Copy,RefreshCw,toast,t,useAlertDialog} = await importShared('@block-ninja/ui');
Card,
CardContent,
CardDescription,
CardHeader,
CardTitle,
Input,
Label,
Button,
Alert,
AlertDescription,
Badge,
ScrollArea,
Loader2,
CheckCircle2,
XCircle,
AlertCircle,
Eye,
EyeOff,
Key,
Zap,
Settings,
Send,
Copy,
RefreshCw,
toast,
t,
useAlertDialog,
} = await importShared("@block-ninja/ui");
const copyToClipboard = async (text) => { const copyToClipboard = async (text) => {
if (!text) return; if (!text) return;
@ -99,7 +71,7 @@ function CalcomSettings({ pluginName }) {
const res = await fetch(`${baseUrl}/settings`, { const res = await fetch(`${baseUrl}/settings`, {
method: "POST", method: "POST",
headers: { "Content-Type": "application/json" }, headers: { "Content-Type": "application/json" },
body: JSON.stringify({ api_key: apiKey }), body: JSON.stringify({ api_key: apiKey })
}); });
if (res.ok) { if (res.ok) {
await loadSettings(); await loadSettings();
@ -135,7 +107,7 @@ function CalcomSettings({ pluginName }) {
const res = await fetch(`${baseUrl}/settings`, { const res = await fetch(`${baseUrl}/settings`, {
method: "POST", method: "POST",
headers: { "Content-Type": "application/json" }, headers: { "Content-Type": "application/json" },
body: JSON.stringify({ api_key: "" }), body: JSON.stringify({ api_key: "" })
}); });
if (res.ok) { if (res.ok) {
await loadSettings(); await loadSettings();
@ -153,7 +125,7 @@ function CalcomSettings({ pluginName }) {
title: t("calcom.settings.webhook.rotateConfirmTitle", "Rotate webhook secret?"), title: t("calcom.settings.webhook.rotateConfirmTitle", "Rotate webhook secret?"),
message: t("calcom.settings.webhook.rotateConfirmMessage", "This invalidates the existing secret immediately. You'll need to update Cal.com to keep webhooks flowing."), message: t("calcom.settings.webhook.rotateConfirmMessage", "This invalidates the existing secret immediately. You'll need to update Cal.com to keep webhooks flowing."),
confirmLabel: t("calcom.settings.webhook.rotateConfirmLabel", "Rotate"), confirmLabel: t("calcom.settings.webhook.rotateConfirmLabel", "Rotate"),
variant: "destructive", variant: "destructive"
}); });
if (!confirmed) return; if (!confirmed) return;
setRotating(true); setRotating(true);
@ -162,7 +134,7 @@ function CalcomSettings({ pluginName }) {
const res = await fetch(`${baseUrl}/settings/rotate-webhook-secret`, { method: "POST" }); const res = await fetch(`${baseUrl}/settings/rotate-webhook-secret`, { method: "POST" });
if (res.ok) { if (res.ok) {
const data = await res.json(); const data = await res.json();
setSettings((prev) => (prev ? { ...prev, webhook_secret_masked: data.webhook_secret_masked, webhook_secret_configured: true } : prev)); setSettings((prev) => prev ? { ...prev, webhook_secret_masked: data.webhook_secret_masked, webhook_secret_configured: true } : prev);
const successMsg = t("calcom.settings.webhook.rotated", "Webhook secret rotated. Update it in Cal.com."); const successMsg = t("calcom.settings.webhook.rotated", "Webhook secret rotated. Update it in Cal.com.");
setSaveMessage({ type: "success", text: successMsg }); setSaveMessage({ type: "success", text: successMsg });
toast.success(successMsg); toast.success(successMsg);
@ -176,444 +148,237 @@ function CalcomSettings({ pluginName }) {
} }
}; };
if (loading) { if (loading) {
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Loader2, { className: "h-6 w-6 animate-spin text-muted-foreground" }) });
className: "flex items-center justify-center py-8",
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Loader2, { className: "h-6 w-6 animate-spin text-muted-foreground" }),
});
} }
const apiKeyVisibilityLabel = showApiKey ? t("calcom.settings.toggleVisibility.hide", "Hide") : t("calcom.settings.toggleVisibility.show", "Show"); const apiKeyVisibilityLabel = showApiKey ? t("calcom.settings.toggleVisibility.hide", "Hide") : t("calcom.settings.toggleVisibility.show", "Show");
const secretVisibilityLabel = showSecret ? t("calcom.settings.toggleVisibility.hide", "Hide") : t("calcom.settings.toggleVisibility.show", "Show"); const secretVisibilityLabel = showSecret ? t("calcom.settings.toggleVisibility.hide", "Hide") : t("calcom.settings.toggleVisibility.show", "Show");
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-6", children: [
className: "space-y-6", /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
children: [ /* @__PURE__ */ jsxRuntimeExports.jsxs("h2", { className: "text-xl font-semibold flex items-center gap-2", children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { /* @__PURE__ */ jsxRuntimeExports.jsx(Settings, { className: "h-5 w-5" }),
children: [ t("calcom.settings.heading", "Cal.com Integration")
/* @__PURE__ */ jsxRuntimeExports.jsxs("h2", { ] }),
className: "text-xl font-semibold flex items-center gap-2", /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-muted-foreground", children: t("calcom.settings.headingDescription", "Configure your Cal.com API key to enable booking functionality") })
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(Settings, { className: "h-5 w-5" }), t("calcom.settings.heading", "Cal.com Integration")], ] }),
}), /* @__PURE__ */ jsxRuntimeExports.jsxs(Card, { children: [
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { /* @__PURE__ */ jsxRuntimeExports.jsxs(CardHeader, { children: [
className: "text-sm text-muted-foreground", /* @__PURE__ */ jsxRuntimeExports.jsxs(CardTitle, { className: "text-base flex items-center gap-2", children: [
children: t("calcom.settings.headingDescription", "Configure your Cal.com API key to enable booking functionality"), /* @__PURE__ */ jsxRuntimeExports.jsx(Key, { className: "h-4 w-4" }),
}), t("calcom.settings.apiKey.title", "API Key Status")
], ] }),
}), /* @__PURE__ */ jsxRuntimeExports.jsx(CardDescription, { children: t("calcom.settings.apiKey.description", "Your Cal.com API key is required for the booking widget to function") })
/* @__PURE__ */ jsxRuntimeExports.jsxs(Card, { ] }),
children: [ /* @__PURE__ */ jsxRuntimeExports.jsxs(CardContent, { className: "space-y-4", children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardHeader, { settings?.api_key_configured ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between rounded-lg border bg-muted/30 p-3", children: [
children: [ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-3", children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardTitle, { /* @__PURE__ */ jsxRuntimeExports.jsxs(Badge, { variant: "default", className: "gap-1.5", children: [
className: "text-base flex items-center gap-2",
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(Key, { className: "h-4 w-4" }), t("calcom.settings.apiKey.title", "API Key Status")],
}),
/* @__PURE__ */ jsxRuntimeExports.jsx(CardDescription, {
children: t("calcom.settings.apiKey.description", "Your Cal.com API key is required for the booking widget to function"),
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardContent, {
className: "space-y-4",
children: [
settings?.api_key_configured ?
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "flex items-center justify-between rounded-lg border bg-muted/30 p-3",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "flex items-center gap-3",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(Badge, {
variant: "default",
className: "gap-1.5",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(CheckCircle2, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ jsxRuntimeExports.jsx(CheckCircle2, { className: "h-3.5 w-3.5" }),
t("calcom.settings.apiKey.configuredLabel", "Configured"), t("calcom.settings.apiKey.configuredLabel", "Configured")
], ] }),
}), /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground font-mono", children: settings.api_key_masked || t("calcom.settings.apiKey.maskedFallback", "***configured***") })
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { ] }),
className: "text-xs text-muted-foreground font-mono", /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { action: "delete", entity: "plugin-setting", variant: "ghost", size: "sm", onClick: handleClear, disabled: saving, children: t("calcom.settings.apiKey.remove", "Remove") })
children: settings.api_key_masked || t("calcom.settings.apiKey.maskedFallback", "***configured***"), ] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-3 rounded-lg border bg-muted/30 p-3", children: [
}), /* @__PURE__ */ jsxRuntimeExports.jsxs(Badge, { variant: "outline", className: "gap-1.5", children: [
], /* @__PURE__ */ jsxRuntimeExports.jsx(XCircle, { className: "h-3.5 w-3.5" }),
}), t("calcom.settings.apiKey.notConfiguredLabel", "Not configured")
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, { ] }),
action: "delete", /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: t("calcom.settings.apiKey.notConfiguredHelp", "Enter your Cal.com API key below to enable booking") })
entity: "plugin-setting", ] }),
variant: "ghost", /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-2", children: [
size: "sm", /* @__PURE__ */ jsxRuntimeExports.jsx(Label, { htmlFor: "apiKey", children: settings?.api_key_configured ? t("calcom.settings.apiKey.updateLabel", "Update API Key") : t("calcom.settings.apiKey.label", "API Key") }),
onClick: handleClear, /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex gap-2", children: [
disabled: saving, /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative flex-1", children: [
children: t("calcom.settings.apiKey.remove", "Remove"), /* @__PURE__ */ jsxRuntimeExports.jsx(
}), Input,
], {
})
: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "flex items-center gap-3 rounded-lg border bg-muted/30 p-3",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(Badge, {
variant: "outline",
className: "gap-1.5",
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(XCircle, { className: "h-3.5 w-3.5" }), t("calcom.settings.apiKey.notConfiguredLabel", "Not configured")],
}),
/* @__PURE__ */ jsxRuntimeExports.jsx("p", {
className: "text-xs text-muted-foreground",
children: t("calcom.settings.apiKey.notConfiguredHelp", "Enter your Cal.com API key below to enable booking"),
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "space-y-2",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Label, {
htmlFor: "apiKey",
children: settings?.api_key_configured ? t("calcom.settings.apiKey.updateLabel", "Update API Key") : t("calcom.settings.apiKey.label", "API Key"),
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "flex gap-2",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "relative flex-1",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Input, {
id: "apiKey", id: "apiKey",
type: showApiKey ? "text" : "password", type: showApiKey ? "text" : "password",
value: apiKey, value: apiKey,
onChange: (e) => setApiKey(e.target.value), onChange: (e) => setApiKey(e.target.value),
placeholder: t("calcom.settings.apiKey.placeholder", "cal_live_..."), placeholder: t("calcom.settings.apiKey.placeholder", "cal_live_..."),
className: "pr-10", className: "pr-10"
}), }
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, { ),
"type": "button", /* @__PURE__ */ jsxRuntimeExports.jsx(
"variant": "ghost", Button,
"action": "toggle", {
"entity": "api-key-visibility", type: "button",
"onClick": () => setShowApiKey(!showApiKey), variant: "ghost",
action: "toggle",
entity: "api-key-visibility",
onClick: () => setShowApiKey(!showApiKey),
"aria-label": apiKeyVisibilityLabel, "aria-label": apiKeyVisibilityLabel,
"className": "absolute right-3 top-1/2 -translate-y-1/2 h-auto p-0 text-muted-foreground hover:bg-transparent hover:text-foreground", className: "absolute right-3 top-1/2 -translate-y-1/2 h-auto p-0 text-muted-foreground hover:bg-transparent hover:text-foreground",
"children": children: showApiKey ? /* @__PURE__ */ jsxRuntimeExports.jsx(EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Eye, { className: "h-4 w-4" })
showApiKey ? }
/* @__PURE__ */ jsxRuntimeExports.jsx(EyeOff, { className: "h-4 w-4" }) )
: /* @__PURE__ */ jsxRuntimeExports.jsx(Eye, { className: "h-4 w-4" }), ] }),
}), /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { action: "save", entity: "plugin-setting", onClick: handleSave, disabled: saving || !apiKey.trim(), children: saving ? /* @__PURE__ */ jsxRuntimeExports.jsx(Loader2, { className: "h-4 w-4 animate-spin" }) : t("calcom.settings.apiKey.save", "Save") })
], ] }),
}), /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-xs text-muted-foreground", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, {
action: "save",
entity: "plugin-setting",
onClick: handleSave,
disabled: saving || !apiKey.trim(),
children: saving ? /* @__PURE__ */ jsxRuntimeExports.jsx(Loader2, { className: "h-4 w-4 animate-spin" }) : t("calcom.settings.apiKey.save", "Save"),
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", {
className: "text-xs text-muted-foreground",
children: [
t("calcom.settings.apiKey.helpPrefix", "Get your API key from"), t("calcom.settings.apiKey.helpPrefix", "Get your API key from"),
" ", " ",
/* @__PURE__ */ jsxRuntimeExports.jsx("a", { /* @__PURE__ */ jsxRuntimeExports.jsx("a", { href: "https://app.cal.com/settings/developer/api-keys", target: "_blank", rel: "noopener noreferrer", className: "text-primary hover:underline", children: t("calcom.settings.apiKey.helpLink", "Cal.com API Settings") })
href: "https://app.cal.com/settings/developer/api-keys", ] })
target: "_blank", ] }),
rel: "noopener noreferrer", saveMessage && /* @__PURE__ */ jsxRuntimeExports.jsx(Alert, { variant: saveMessage.type === "error" ? "destructive" : "default", children: /* @__PURE__ */ jsxRuntimeExports.jsx(AlertDescription, { children: saveMessage.text }) })
className: "text-primary hover:underline", ] })
children: t("calcom.settings.apiKey.helpLink", "Cal.com API Settings"), ] }),
}), settings?.api_key_configured && /* @__PURE__ */ jsxRuntimeExports.jsxs(Card, { children: [
], /* @__PURE__ */ jsxRuntimeExports.jsxs(CardHeader, { children: [
}), /* @__PURE__ */ jsxRuntimeExports.jsxs(CardTitle, { className: "text-base flex items-center gap-2", children: [
], /* @__PURE__ */ jsxRuntimeExports.jsx(Zap, { className: "h-4 w-4" }),
}), t("calcom.settings.test.title", "Test Connection")
saveMessage && ] }),
/* @__PURE__ */ jsxRuntimeExports.jsx(Alert, { /* @__PURE__ */ jsxRuntimeExports.jsx(CardDescription, { children: t("calcom.settings.test.description", "Verify your API key works and see available event types") })
variant: saveMessage.type === "error" ? "destructive" : "default", ] }),
children: /* @__PURE__ */ jsxRuntimeExports.jsx(AlertDescription, { children: saveMessage.text }), /* @__PURE__ */ jsxRuntimeExports.jsxs(CardContent, { className: "space-y-4", children: [
}), /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { action: "settings", entity: "plugin-connection", onClick: handleTest, disabled: testing, children: testing ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
], /* @__PURE__ */ jsxRuntimeExports.jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }),
}), t("calcom.settings.test.testing", "Testing...")
], ] }) : t("calcom.settings.test.button", "Test Connection") }),
}), testResult && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-3", children: testResult.success ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
settings?.api_key_configured && /* @__PURE__ */ jsxRuntimeExports.jsxs(Alert, { children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(Card, {
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardHeader, {
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardTitle, {
className: "text-base flex items-center gap-2",
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(Zap, { className: "h-4 w-4" }), t("calcom.settings.test.title", "Test Connection")],
}),
/* @__PURE__ */ jsxRuntimeExports.jsx(CardDescription, { children: t("calcom.settings.test.description", "Verify your API key works and see available event types") }),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardContent, {
className: "space-y-4",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, {
action: "settings",
entity: "plugin-connection",
onClick: handleTest,
disabled: testing,
children:
testing ?
/* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }), t("calcom.settings.test.testing", "Testing...")],
})
: t("calcom.settings.test.button", "Test Connection"),
}),
testResult &&
/* @__PURE__ */ jsxRuntimeExports.jsx("div", {
className: "space-y-3",
children:
testResult.success ?
/* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(Alert, {
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(CheckCircle2, { className: "h-4 w-4 text-success" }), /* @__PURE__ */ jsxRuntimeExports.jsx(CheckCircle2, { className: "h-4 w-4 text-success" }),
/* @__PURE__ */ jsxRuntimeExports.jsxs(AlertDescription, { /* @__PURE__ */ jsxRuntimeExports.jsxs(AlertDescription, { className: "ml-2", children: [
className: "ml-2",
children: [
t("calcom.settings.test.successPrefix", "Connection successful! Found"), t("calcom.settings.test.successPrefix", "Connection successful! Found"),
" ", " ",
testResult.event_types?.length || 0, testResult.event_types?.length || 0,
" ", " ",
t("calcom.settings.test.successSuffix", "event types."), t("calcom.settings.test.successSuffix", "event types.")
], ] })
}), ] }),
], testResult.event_types && testResult.event_types.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(ScrollArea, { className: "max-h-96 rounded-lg border", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("table", { className: "w-full text-sm", children: [
}), /* @__PURE__ */ jsxRuntimeExports.jsx("thead", { className: "bg-muted", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("tr", { children: [
testResult.event_types && /* @__PURE__ */ jsxRuntimeExports.jsx("th", { className: "text-left px-3 py-2 font-medium", children: t("calcom.settings.test.tableEventType", "Event Type") }),
testResult.event_types.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("th", { className: "text-left px-3 py-2 font-medium", children: t("calcom.settings.test.tableSlug", "Slug") })
/* @__PURE__ */ jsxRuntimeExports.jsx(ScrollArea, { ] }) }),
className: "max-h-96 rounded-lg border", /* @__PURE__ */ jsxRuntimeExports.jsx("tbody", { children: testResult.event_types.map((et) => /* @__PURE__ */ jsxRuntimeExports.jsxs("tr", { className: "border-t", children: [
children: /* @__PURE__ */ jsxRuntimeExports.jsxs("table", {
className: "w-full text-sm",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx("thead", {
className: "bg-muted",
children: /* @__PURE__ */ jsxRuntimeExports.jsxs("tr", {
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx("th", {
className: "text-left px-3 py-2 font-medium",
children: t("calcom.settings.test.tableEventType", "Event Type"),
}),
/* @__PURE__ */ jsxRuntimeExports.jsx("th", {
className: "text-left px-3 py-2 font-medium",
children: t("calcom.settings.test.tableSlug", "Slug"),
}),
],
}),
}),
/* @__PURE__ */ jsxRuntimeExports.jsx("tbody", {
children: testResult.event_types.map((et) =>
/* @__PURE__ */ jsxRuntimeExports.jsxs(
"tr",
{
className: "border-t",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx("td", { className: "px-3 py-2", children: et.title }), /* @__PURE__ */ jsxRuntimeExports.jsx("td", { className: "px-3 py-2", children: et.title }),
/* @__PURE__ */ jsxRuntimeExports.jsx("td", { /* @__PURE__ */ jsxRuntimeExports.jsx("td", { className: "px-3 py-2 font-mono text-xs", children: et.slug })
className: "px-3 py-2 font-mono text-xs", ] }, et.id)) })
children: et.slug, ] }) })
}), ] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(Alert, { variant: "destructive", children: [
],
},
et.id,
),
),
}),
],
}),
}),
],
})
: /* @__PURE__ */ jsxRuntimeExports.jsxs(Alert, {
variant: "destructive",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(XCircle, { className: "h-4 w-4" }), /* @__PURE__ */ jsxRuntimeExports.jsx(XCircle, { className: "h-4 w-4" }),
/* @__PURE__ */ jsxRuntimeExports.jsx(AlertDescription, { /* @__PURE__ */ jsxRuntimeExports.jsx(AlertDescription, { className: "ml-2", children: testResult.error || t("calcom.settings.test.failure", "Connection failed") })
className: "ml-2", ] }) })
children: testResult.error || t("calcom.settings.test.failure", "Connection failed"), ] })
}), ] }),
], settings?.api_key_configured && /* @__PURE__ */ jsxRuntimeExports.jsxs(Card, { children: [
}), /* @__PURE__ */ jsxRuntimeExports.jsxs(CardHeader, { children: [
}), /* @__PURE__ */ jsxRuntimeExports.jsxs(CardTitle, { className: "text-base flex items-center gap-2", children: [
], /* @__PURE__ */ jsxRuntimeExports.jsx(Send, { className: "h-4 w-4" }),
}), t("calcom.settings.webhook.title", "Webhook")
], ] }),
}), /* @__PURE__ */ jsxRuntimeExports.jsx(CardDescription, { children: t("calcom.settings.webhook.description", "Configure this URL in Cal.com → Settings → Developer → Webhooks to receive booking events.") })
settings?.api_key_configured && ] }),
/* @__PURE__ */ jsxRuntimeExports.jsxs(Card, { /* @__PURE__ */ jsxRuntimeExports.jsxs(CardContent, { className: "space-y-4", children: [
children: [ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-2", children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardHeader, {
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardTitle, {
className: "text-base flex items-center gap-2",
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(Send, { className: "h-4 w-4" }), t("calcom.settings.webhook.title", "Webhook")],
}),
/* @__PURE__ */ jsxRuntimeExports.jsx(CardDescription, {
children: t("calcom.settings.webhook.description", "Configure this URL in Cal.com → Settings → Developer → Webhooks to receive booking events."),
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardContent, {
className: "space-y-4",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "space-y-2",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Label, { htmlFor: "webhookUrl", children: t("calcom.settings.webhook.urlLabel", "Webhook URL") }), /* @__PURE__ */ jsxRuntimeExports.jsx(Label, { htmlFor: "webhookUrl", children: t("calcom.settings.webhook.urlLabel", "Webhook URL") }),
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex gap-2", children: [
className: "flex gap-2", /* @__PURE__ */ jsxRuntimeExports.jsx(Input, { id: "webhookUrl", readOnly: true, value: settings?.webhook_url || "", className: "flex-1 font-mono text-xs" }),
children: [ /* @__PURE__ */ jsxRuntimeExports.jsx(
/* @__PURE__ */ jsxRuntimeExports.jsx(Input, { Button,
id: "webhookUrl", {
readOnly: true, action: "copy",
value: settings?.webhook_url || "", entity: "webhook-url",
className: "flex-1 font-mono text-xs", variant: "outline",
}), size: "sm",
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, {
"action": "copy",
"entity": "webhook-url",
"variant": "outline",
"size": "sm",
"aria-label": t("calcom.settings.webhook.copyUrl", "Copy webhook URL"), "aria-label": t("calcom.settings.webhook.copyUrl", "Copy webhook URL"),
"onClick": () => copyToClipboard(settings?.webhook_url || ""), onClick: () => copyToClipboard(settings?.webhook_url || ""),
"children": /* @__PURE__ */ jsxRuntimeExports.jsx(Copy, { className: "h-4 w-4" }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(Copy, { className: "h-4 w-4" })
}), }
], )
}), ] })
], ] }),
}), /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-2", children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "space-y-2",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Label, { htmlFor: "webhookSecret", children: t("calcom.settings.webhook.secretLabel", "Webhook Secret") }), /* @__PURE__ */ jsxRuntimeExports.jsx(Label, { htmlFor: "webhookSecret", children: t("calcom.settings.webhook.secretLabel", "Webhook Secret") }),
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex gap-2", children: [
className: "flex gap-2", /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative flex-1", children: [
children: [ /* @__PURE__ */ jsxRuntimeExports.jsx(
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { Input,
className: "relative flex-1", {
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(Input, {
id: "webhookSecret", id: "webhookSecret",
type: showSecret ? "text" : "password", type: showSecret ? "text" : "password",
readOnly: true, readOnly: true,
value: settings?.webhook_secret_masked || t("calcom.settings.webhook.secretNotConfigured", "Not configured"), value: settings?.webhook_secret_masked || t("calcom.settings.webhook.secretNotConfigured", "Not configured"),
className: "pr-10 font-mono text-xs", className: "pr-10 font-mono text-xs"
}), }
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, {
"type": "button",
"variant": "ghost",
"action": "toggle",
"entity": "webhook-secret-visibility",
"onClick": () => setShowSecret(!showSecret),
"aria-label": secretVisibilityLabel,
"className": "absolute right-3 top-1/2 -translate-y-1/2 h-auto p-0 text-muted-foreground hover:bg-transparent hover:text-foreground",
"children":
showSecret ?
/* @__PURE__ */ jsxRuntimeExports.jsx(EyeOff, { className: "h-4 w-4" })
: /* @__PURE__ */ jsxRuntimeExports.jsx(Eye, { className: "h-4 w-4" }),
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, {
"action": "copy",
"entity": "webhook-secret",
"variant": "outline",
"size": "sm",
"aria-label": t("calcom.settings.webhook.copySecret", "Copy webhook secret"),
"onClick": () => copyToClipboard(settings?.webhook_secret_masked || ""),
"children": /* @__PURE__ */ jsxRuntimeExports.jsx(Copy, { className: "h-4 w-4" }),
}),
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, {
"action": "rotate",
"entity": "webhook-secret",
"variant": "outline",
"size": "sm",
"aria-label": t("calcom.settings.webhook.rotate", "Rotate webhook secret"),
"onClick": handleRotate,
"disabled": rotating,
"children":
rotating ?
/* @__PURE__ */ jsxRuntimeExports.jsx(Loader2, { className: "h-4 w-4 animate-spin" })
: /* @__PURE__ */ jsxRuntimeExports.jsx(RefreshCw, { className: "h-4 w-4" }),
}),
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsx("p", {
className: "text-xs text-muted-foreground",
children: t(
"calcom.settings.webhook.secretHelp",
"Cal.com displays the secret only once. Regenerating invalidates the previous value immediately — update it in Cal.com after rotating.",
), ),
}), /* @__PURE__ */ jsxRuntimeExports.jsx(
], Button,
}), {
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { type: "button",
className: "text-sm", variant: "ghost",
children: action: "toggle",
settings?.last_event_at ? entity: "webhook-secret-visibility",
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { onClick: () => setShowSecret(!showSecret),
className: "flex items-center gap-2 text-foreground", "aria-label": secretVisibilityLabel,
children: [ className: "absolute right-3 top-1/2 -translate-y-1/2 h-auto p-0 text-muted-foreground hover:bg-transparent hover:text-foreground",
children: showSecret ? /* @__PURE__ */ jsxRuntimeExports.jsx(EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Eye, { className: "h-4 w-4" })
}
)
] }),
/* @__PURE__ */ jsxRuntimeExports.jsx(
Button,
{
action: "copy",
entity: "webhook-secret",
variant: "outline",
size: "sm",
"aria-label": t("calcom.settings.webhook.copySecret", "Copy webhook secret"),
onClick: () => copyToClipboard(settings?.webhook_secret_masked || ""),
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Copy, { className: "h-4 w-4" })
}
),
/* @__PURE__ */ jsxRuntimeExports.jsx(
Button,
{
action: "rotate",
entity: "webhook-secret",
variant: "outline",
size: "sm",
"aria-label": t("calcom.settings.webhook.rotate", "Rotate webhook secret"),
onClick: handleRotate,
disabled: rotating,
children: rotating ? /* @__PURE__ */ jsxRuntimeExports.jsx(Loader2, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(RefreshCw, { className: "h-4 w-4" })
}
)
] }),
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: t(
"calcom.settings.webhook.secretHelp",
"Cal.com displays the secret only once. Regenerating invalidates the previous value immediately — update it in Cal.com after rotating."
) })
] }),
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-sm", children: settings?.last_event_at ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 text-foreground", children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(CheckCircle2, { className: "h-4 w-4 text-success" }), /* @__PURE__ */ jsxRuntimeExports.jsx(CheckCircle2, { className: "h-4 w-4 text-success" }),
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { children: [
children: [
t("calcom.settings.webhook.lastEventPrefix", "Last event"), t("calcom.settings.webhook.lastEventPrefix", "Last event"),
" ", " ",
formatRelativeTime(settings.last_event_at), formatRelativeTime(settings.last_event_at),
settings.last_event_type && settings.last_event_type && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
children: [
" — ", " — ",
/* @__PURE__ */ jsxRuntimeExports.jsx("code", { className: "font-mono text-xs", children: settings.last_event_type }), /* @__PURE__ */ jsxRuntimeExports.jsx("code", { className: "font-mono text-xs", children: settings.last_event_type })
], ] })
}), ] })
], ] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 text-muted-foreground", children: [
}),
],
})
: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
className: "flex items-center gap-2 text-muted-foreground",
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(AlertCircle, { className: "h-4 w-4" }), /* @__PURE__ */ jsxRuntimeExports.jsx(AlertCircle, { className: "h-4 w-4" }),
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: t("calcom.settings.webhook.waitingForEvent", "Status: Waiting for first event") }), /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: t("calcom.settings.webhook.waitingForEvent", "Status: Waiting for first event") })
], ] }) })
}), ] })
}), ] }),
], /* @__PURE__ */ jsxRuntimeExports.jsxs(Card, { children: [
}), /* @__PURE__ */ jsxRuntimeExports.jsxs(CardHeader, { children: [
],
}),
/* @__PURE__ */ jsxRuntimeExports.jsxs(Card, {
children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardHeader, {
children: [
/* @__PURE__ */ jsxRuntimeExports.jsx(CardTitle, { className: "text-base", children: t("calcom.settings.docs.title", "Documentation") }), /* @__PURE__ */ jsxRuntimeExports.jsx(CardTitle, { className: "text-base", children: t("calcom.settings.docs.title", "Documentation") }),
/* @__PURE__ */ jsxRuntimeExports.jsx(CardDescription, { children: t("calcom.settings.docs.description", "Reference material for working with the Cal.com plugin.") }), /* @__PURE__ */ jsxRuntimeExports.jsx(CardDescription, { children: t("calcom.settings.docs.description", "Reference material for working with the Cal.com plugin.") })
], ] }),
}), /* @__PURE__ */ jsxRuntimeExports.jsxs(CardContent, { className: "space-y-2 text-sm", children: [
/* @__PURE__ */ jsxRuntimeExports.jsxs(CardContent, { /* @__PURE__ */ jsxRuntimeExports.jsx("a", { href: "https://cal.com/docs/api-reference/v2", target: "_blank", rel: "noopener noreferrer", className: "text-primary hover:underline block", children: t("calcom.settings.docs.calcomApi", "Cal.com API documentation") }),
className: "space-y-2 text-sm", /* @__PURE__ */ jsxRuntimeExports.jsx("a", { href: "/admin/docs/calcom-plugin", target: "_blank", rel: "noopener noreferrer", className: "text-primary hover:underline block", children: t("calcom.settings.docs.pluginGuide", "BlockNinja plugin guide") })
children: [ ] })
/* @__PURE__ */ jsxRuntimeExports.jsx("a", { ] })
href: "https://cal.com/docs/api-reference/v2", ] });
target: "_blank",
rel: "noopener noreferrer",
className: "text-primary hover:underline block",
children: t("calcom.settings.docs.calcomApi", "Cal.com API documentation"),
}),
/* @__PURE__ */ jsxRuntimeExports.jsx("a", {
href: "/admin/docs/calcom-plugin",
target: "_blank",
rel: "noopener noreferrer",
className: "text-primary hover:underline block",
children: t("calcom.settings.docs.pluginGuide", "BlockNinja plugin guide"),
}),
],
}),
],
}),
],
});
} }
export { CalcomSettings as default }; export { CalcomSettings as default };

View File

@ -48,7 +48,9 @@ function combineVersion(major, minor, patch, preRelease2) {
return mainVersion2; return mainVersion2;
} }
function parseHyphen(range) { function parseHyphen(range) {
return range.replace(parseRegex(hyphenRange), (_range, from, fromMajor, fromMinor, fromPatch, _fromPreRelease, _fromBuild, to, toMajor, toMinor, toPatch, toPreRelease) => { return range.replace(
parseRegex(hyphenRange),
(_range, from, fromMajor, fromMinor, fromPatch, _fromPreRelease, _fromBuild, to, toMajor, toMinor, toPatch, toPreRelease) => {
if (isXVersion(fromMajor)) { if (isXVersion(fromMajor)) {
from = ""; from = "";
} else if (isXVersion(fromMinor)) { } else if (isXVersion(fromMinor)) {
@ -70,7 +72,8 @@ function parseHyphen(range) {
to = `<=${to}`; to = `<=${to}`;
} }
return `${from} ${to}`.trim(); return `${from} ${to}`.trim();
}); }
);
} }
function parseComparatorTrim(range) { function parseComparatorTrim(range) {
return range.replace(parseRegex(comparatorTrim), "$1$2$3"); return range.replace(parseRegex(comparatorTrim), "$1$2$3");
@ -82,11 +85,10 @@ function parseCaretTrim(range) {
return range.replace(parseRegex(caretTrim), "$1^"); return range.replace(parseRegex(caretTrim), "$1^");
} }
function parseCarets(range) { function parseCarets(range) {
return range return range.trim().split(/\s+/).map((rangeVersion) => {
.trim() return rangeVersion.replace(
.split(/\s+/) parseRegex(caret),
.map((rangeVersion) => { (_, major, minor, patch, preRelease2) => {
return rangeVersion.replace(parseRegex(caret), (_, major, minor, patch, preRelease2) => {
if (isXVersion(major)) { if (isXVersion(major)) {
return ""; return "";
} else if (isXVersion(minor)) { } else if (isXVersion(minor)) {
@ -117,16 +119,15 @@ function parseCarets(range) {
} }
return `>=${major}.${minor}.${patch} <${+major + 1}.0.0-0`; return `>=${major}.${minor}.${patch} <${+major + 1}.0.0-0`;
} }
}); }
}) );
.join(" "); }).join(" ");
} }
function parseTildes(range) { function parseTildes(range) {
return range return range.trim().split(/\s+/).map((rangeVersion) => {
.trim() return rangeVersion.replace(
.split(/\s+/) parseRegex(tilde),
.map((rangeVersion) => { (_, major, minor, patch, preRelease2) => {
return rangeVersion.replace(parseRegex(tilde), (_, major, minor, patch, preRelease2) => {
if (isXVersion(major)) { if (isXVersion(major)) {
return ""; return "";
} else if (isXVersion(minor)) { } else if (isXVersion(minor)) {
@ -137,15 +138,15 @@ function parseTildes(range) {
return `>=${major}.${minor}.${patch}-${preRelease2} <${major}.${+minor + 1}.0-0`; return `>=${major}.${minor}.${patch}-${preRelease2} <${major}.${+minor + 1}.0-0`;
} }
return `>=${major}.${minor}.${patch} <${major}.${+minor + 1}.0-0`; return `>=${major}.${minor}.${patch} <${major}.${+minor + 1}.0-0`;
}); }
}) );
.join(" "); }).join(" ");
} }
function parseXRanges(range) { function parseXRanges(range) {
return range return range.split(/\s+/).map((rangeVersion) => {
.split(/\s+/) return rangeVersion.trim().replace(
.map((rangeVersion) => { parseRegex(xRange),
return rangeVersion.trim().replace(parseRegex(xRange), (ret, gtlt2, major, minor, patch, preRelease2) => { (ret, gtlt2, major, minor, patch, preRelease2) => {
const isXMajor = isXVersion(major); const isXMajor = isXVersion(major);
const isXMinor = isXMajor || isXVersion(minor); const isXMinor = isXMajor || isXVersion(minor);
const isXPatch = isXMinor || isXVersion(patch); const isXPatch = isXMinor || isXVersion(patch);
@ -192,9 +193,9 @@ function parseXRanges(range) {
return `>=${major}.${minor}.0${preRelease2} <${major}.${+minor + 1}.0-0`; return `>=${major}.${minor}.0${preRelease2} <${major}.${+minor + 1}.0-0`;
} }
return ret; return ret;
}); }
}) );
.join(" "); }).join(" ");
} }
function parseStar(range) { function parseStar(range) {
return range.trim().replace(parseRegex(star), ""); return range.trim().replace(parseRegex(star), "");
@ -245,12 +246,7 @@ function comparePreRelease(rangeAtom, versionAtom) {
return 0; return 0;
} }
function compareVersion(rangeAtom, versionAtom) { function compareVersion(rangeAtom, versionAtom) {
return ( return compareAtom(rangeAtom.major, versionAtom.major) || compareAtom(rangeAtom.minor, versionAtom.minor) || compareAtom(rangeAtom.patch, versionAtom.patch) || comparePreRelease(rangeAtom, versionAtom);
compareAtom(rangeAtom.major, versionAtom.major) ||
compareAtom(rangeAtom.minor, versionAtom.minor) ||
compareAtom(rangeAtom.patch, versionAtom.patch) ||
comparePreRelease(rangeAtom, versionAtom)
);
} }
function eq(rangeAtom, versionAtom) { function eq(rangeAtom, versionAtom) {
return rangeAtom.version === versionAtom.version; return rangeAtom.version === versionAtom.version;
@ -276,46 +272,79 @@ function compare(rangeAtom, versionAtom) {
} }
} }
function parseComparatorString(range) { function parseComparatorString(range) {
return pipe(parseCarets, parseTildes, parseXRanges, parseStar)(range); return pipe(
parseCarets,
parseTildes,
parseXRanges,
parseStar
)(range);
} }
function parseRange(range) { function parseRange(range) {
return pipe(parseHyphen, parseComparatorTrim, parseTildeTrim, parseCaretTrim)(range.trim()).split(/\s+/).join(" "); return pipe(
parseHyphen,
parseComparatorTrim,
parseTildeTrim,
parseCaretTrim
)(range.trim()).split(/\s+/).join(" ");
} }
function satisfy(version, range) { function satisfy(version, range) {
if (!version) { if (!version) {
return false; return false;
} }
const parsedRange = parseRange(range); const parsedRange = parseRange(range);
const parsedComparator = parsedRange const parsedComparator = parsedRange.split(" ").map((rangeVersion) => parseComparatorString(rangeVersion)).join(" ");
.split(" ")
.map((rangeVersion) => parseComparatorString(rangeVersion))
.join(" ");
const comparators = parsedComparator.split(/\s+/).map((comparator2) => parseGTE0(comparator2)); const comparators = parsedComparator.split(/\s+/).map((comparator2) => parseGTE0(comparator2));
const extractedVersion = extractComparator(version); const extractedVersion = extractComparator(version);
if (!extractedVersion) { if (!extractedVersion) {
return false; return false;
} }
const [, versionOperator, , versionMajor, versionMinor, versionPatch, versionPreRelease] = extractedVersion; const [
,
versionOperator,
,
versionMajor,
versionMinor,
versionPatch,
versionPreRelease
] = extractedVersion;
const versionAtom = { const versionAtom = {
version: combineVersion(versionMajor, versionMinor, versionPatch, versionPreRelease), version: combineVersion(
versionMajor,
versionMinor,
versionPatch,
versionPreRelease
),
major: versionMajor, major: versionMajor,
minor: versionMinor, minor: versionMinor,
patch: versionPatch, patch: versionPatch,
preRelease: versionPreRelease == null ? void 0 : versionPreRelease.split("."), preRelease: versionPreRelease == null ? void 0 : versionPreRelease.split(".")
}; };
for (const comparator2 of comparators) { for (const comparator2 of comparators) {
const extractedComparator = extractComparator(comparator2); const extractedComparator = extractComparator(comparator2);
if (!extractedComparator) { if (!extractedComparator) {
return false; return false;
} }
const [, rangeOperator, , rangeMajor, rangeMinor, rangePatch, rangePreRelease] = extractedComparator; const [
,
rangeOperator,
,
rangeMajor,
rangeMinor,
rangePatch,
rangePreRelease
] = extractedComparator;
const rangeAtom = { const rangeAtom = {
operator: rangeOperator, operator: rangeOperator,
version: combineVersion(rangeMajor, rangeMinor, rangePatch, rangePreRelease), version: combineVersion(
rangeMajor,
rangeMinor,
rangePatch,
rangePreRelease
),
major: rangeMajor, major: rangeMajor,
minor: rangeMinor, minor: rangeMinor,
patch: rangePatch, patch: rangePatch,
preRelease: rangePreRelease == null ? void 0 : rangePreRelease.split("."), preRelease: rangePreRelease == null ? void 0 : rangePreRelease.split(".")
}; };
if (!compare(rangeAtom, versionAtom)) { if (!compare(rangeAtom, versionAtom)) {
return false; return false;
@ -327,19 +356,17 @@ function satisfy(version, range) {
const currentImports = {}; const currentImports = {};
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef
const moduleMap = { const moduleMap = {'react':{get:()=>()=>__federation_import(new URL('__federation_shared_react-DoKb58Ht.js', import.meta.url).href),import:true},'react-dom':{get:()=>()=>__federation_import(new URL('__federation_shared_react-dom-DU2-P0kt.js', import.meta.url).href),import:true},'@block-ninja/ui':{get:()=>()=>__federation_import(new URL('__federation_shared_@block-ninja/ui-C3CAr7wz.js', import.meta.url).href),import:true}};
"react": { get: () => () => __federation_import(new URL("__federation_shared_react-DoKb58Ht.js", import.meta.url).href), import: true },
"react-dom": { get: () => () => __federation_import(new URL("__federation_shared_react-dom-DU2-P0kt.js", import.meta.url).href), import: true },
"@block-ninja/ui": { get: () => () => __federation_import(new URL("__federation_shared_@block-ninja/ui-C3CAr7wz.js", import.meta.url).href), import: true },
};
const moduleCache = Object.create(null); const moduleCache = Object.create(null);
async function importShared(name, shareScope = "default") { async function importShared(name, shareScope = 'default') {
return moduleCache[name] ? new Promise((r) => r(moduleCache[name])) : (await getSharedFromRuntime(name, shareScope)) || getSharedFromLocal(name); return moduleCache[name]
? new Promise((r) => r(moduleCache[name]))
: (await getSharedFromRuntime(name, shareScope)) || getSharedFromLocal(name)
} }
// eslint-disable-next-line // eslint-disable-next-line
async function __federation_import(name) { async function __federation_import(name) {
currentImports[name] ??= import(name); currentImports[name] ??= import(name);
return currentImports[name]; return currentImports[name]
} }
async function getSharedFromRuntime(name, shareScope) { async function getSharedFromRuntime(name, shareScope) {
let module = null; let module = null;
@ -348,12 +375,16 @@ async function getSharedFromRuntime(name, shareScope) {
const requiredVersion = moduleMap[name]?.requiredVersion; const requiredVersion = moduleMap[name]?.requiredVersion;
const hasRequiredVersion = !!requiredVersion; const hasRequiredVersion = !!requiredVersion;
if (hasRequiredVersion) { if (hasRequiredVersion) {
const versionKey = Object.keys(versionObj).find((version) => satisfy(version, requiredVersion)); const versionKey = Object.keys(versionObj).find((version) =>
satisfy(version, requiredVersion)
);
if (versionKey) { if (versionKey) {
const versionValue = versionObj[versionKey]; const versionValue = versionObj[versionKey];
module = await (await versionValue.get())(); module = await (await versionValue.get())();
} else { } else {
console.log(`provider support ${name}(${versionKey}) is not satisfied requiredVersion(\${moduleMap[name].requiredVersion})`); console.log(
`provider support ${name}(${versionKey}) is not satisfied requiredVersion(\${moduleMap[name].requiredVersion})`
);
} }
} else { } else {
const versionKey = Object.keys(versionObj)[0]; const versionKey = Object.keys(versionObj)[0];
@ -362,31 +393,33 @@ async function getSharedFromRuntime(name, shareScope) {
} }
} }
if (module) { if (module) {
return flattenModule(module, name); return flattenModule(module, name)
} }
} }
async function getSharedFromLocal(name) { async function getSharedFromLocal(name) {
if (moduleMap[name]?.import) { if (moduleMap[name]?.import) {
let module = await (await moduleMap[name].get())(); let module = await (await moduleMap[name].get())();
return flattenModule(module, name); return flattenModule(module, name)
} else { } else {
console.error(`consumer config import=false,so cant use callback shared module`); console.error(
`consumer config import=false,so cant use callback shared module`
);
} }
} }
function flattenModule(module, name) { function flattenModule(module, name) {
// use a shared module which export default a function will getting error 'TypeError: xxx is not a function' // use a shared module which export default a function will getting error 'TypeError: xxx is not a function'
if (typeof module.default === "function") { if (typeof module.default === 'function') {
Object.keys(module).forEach((key) => { Object.keys(module).forEach((key) => {
if (key !== "default") { if (key !== 'default') {
module.default[key] = module[key]; module.default[key] = module[key];
} }
}); });
moduleCache[name] = module.default; moduleCache[name] = module.default;
return module.default; return module.default
} }
if (module.default) module = Object.assign({}, module.default, module); if (module.default) module = Object.assign({}, module.default, module);
moduleCache[name] = module; moduleCache[name] = module;
return module; return module
} }
export { importShared, getSharedFromLocal as importSharedLocal, getSharedFromRuntime as importSharedRuntime }; export { importShared, getSharedFromLocal as importSharedLocal, getSharedFromRuntime as importSharedRuntime };

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
import { g as getDefaultExportFromCjs } from "./_commonjsHelpers-B85MJLTf.js"; import { g as getDefaultExportFromCjs } from './_commonjsHelpers-B85MJLTf.js';
import { r as requireReact } from "./index-DQGM2Mpm.js"; import { r as requireReact } from './index-DQGM2Mpm.js';
var reactExports = requireReact(); var reactExports = requireReact();
const index = /*@__PURE__*/getDefaultExportFromCjs(reactExports); const index = /*@__PURE__*/getDefaultExportFromCjs(reactExports);

View File

@ -1,5 +1,5 @@
import { g as getDefaultExportFromCjs } from "./_commonjsHelpers-B85MJLTf.js"; import { g as getDefaultExportFromCjs } from './_commonjsHelpers-B85MJLTf.js';
import { r as requireReactDom } from "./index-eoEhLOdg.js"; import { r as requireReactDom } from './index-eoEhLOdg.js';
var reactDomExports = requireReactDom(); var reactDomExports = requireReactDom();
const index = /*@__PURE__*/getDefaultExportFromCjs(reactDomExports); const index = /*@__PURE__*/getDefaultExportFromCjs(reactDomExports);

View File

@ -1,5 +1,5 @@
function getDefaultExportFromCjs (x) { function getDefaultExportFromCjs (x) {
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x; return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
} }
export { getDefaultExportFromCjs as g }; export { getDefaultExportFromCjs as g };

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
import { importShared } from "./__federation_fn_import-hlt2XzeI.js"; import { importShared } from './__federation_fn_import-hlt2XzeI.js';
import { X as requireShim } from "./index-Bs--Ol2m.js"; import { X as requireShim } from './index-Bs--Ol2m.js';
/** /**
* @license lucide-react v0.468.0 - ISC * @license lucide-react v0.468.0 - ISC
@ -9,13 +9,9 @@ import { X as requireShim } from "./index-Bs--Ol2m.js";
*/ */
const toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(); const toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
const mergeClasses = (...classes) => const mergeClasses = (...classes) => classes.filter((className, index, array) => {
classes
.filter((className, index, array) => {
return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index; return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
}) }).join(" ").trim();
.join(" ")
.trim();
/** /**
* @license lucide-react v0.468.0 - ISC * @license lucide-react v0.468.0 - ISC
@ -33,7 +29,7 @@ var defaultAttributes = {
stroke: "currentColor", stroke: "currentColor",
strokeWidth: 2, strokeWidth: 2,
strokeLinecap: "round", strokeLinecap: "round",
strokeLinejoin: "round", strokeLinejoin: "round"
}; };
/** /**
@ -43,9 +39,19 @@ var defaultAttributes = {
* See the LICENSE file in the root directory of this source tree. * See the LICENSE file in the root directory of this source tree.
*/ */
const { forwardRef: forwardRef$1, createElement: createElement$1 } = await importShared("react"); const {forwardRef: forwardRef$1,createElement: createElement$1} = await importShared('react');
const Icon = forwardRef$1(({ color = "currentColor", size = 24, strokeWidth = 2, absoluteStrokeWidth, className = "", children, iconNode, ...rest }, ref) => { const Icon = forwardRef$1(
({
color = "currentColor",
size = 24,
strokeWidth = 2,
absoluteStrokeWidth,
className = "",
children,
iconNode,
...rest
}, ref) => {
return createElement$1( return createElement$1(
"svg", "svg",
{ {
@ -54,13 +60,17 @@ const Icon = forwardRef$1(({ color = "currentColor", size = 24, strokeWidth = 2,
width: size, width: size,
height: size, height: size,
stroke: color, stroke: color,
strokeWidth: absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth, strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
className: mergeClasses("lucide", className), className: mergeClasses("lucide", className),
...rest, ...rest
}, },
[...iconNode.map(([tag, attrs]) => createElement$1(tag, attrs)), ...(Array.isArray(children) ? children : [children])], [
...iconNode.map(([tag, attrs]) => createElement$1(tag, attrs)),
...Array.isArray(children) ? children : [children]
]
);
}
); );
});
/** /**
* @license lucide-react v0.468.0 - ISC * @license lucide-react v0.468.0 - ISC
@ -69,16 +79,16 @@ const Icon = forwardRef$1(({ color = "currentColor", size = 24, strokeWidth = 2,
* See the LICENSE file in the root directory of this source tree. * See the LICENSE file in the root directory of this source tree.
*/ */
const { forwardRef, createElement } = await importShared("react"); const {forwardRef,createElement} = await importShared('react');
const createLucideIcon = (iconName, iconNode) => { const createLucideIcon = (iconName, iconNode) => {
const Component = forwardRef(({ className, ...props }, ref) => const Component = forwardRef(
createElement(Icon, { ({ className, ...props }, ref) => createElement(Icon, {
ref, ref,
iconNode, iconNode,
className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className), className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className),
...props, ...props
}), })
); );
Component.displayName = `${iconName}`; Component.displayName = `${iconName}`;
return Component; return Component;
@ -91,13 +101,14 @@ const createLucideIcon = (iconName, iconNode) => {
* See the LICENSE file in the root directory of this source tree. * See the LICENSE file in the root directory of this source tree.
*/ */
const List = createLucideIcon("List", [ const List = createLucideIcon("List", [
["path", { d: "M3 12h.01", key: "nlz23k" }], ["path", { d: "M3 12h.01", key: "nlz23k" }],
["path", { d: "M3 18h.01", key: "1tta3j" }], ["path", { d: "M3 18h.01", key: "1tta3j" }],
["path", { d: "M3 6h.01", key: "1rqtza" }], ["path", { d: "M3 6h.01", key: "1rqtza" }],
["path", { d: "M8 12h13", key: "1za7za" }], ["path", { d: "M8 12h13", key: "1za7za" }],
["path", { d: "M8 18h13", key: "1lx6n3" }], ["path", { d: "M8 18h13", key: "1lx6n3" }],
["path", { d: "M8 6h13", key: "ik3vkj" }], ["path", { d: "M8 6h13", key: "ik3vkj" }]
]); ]);
var shimExports = requireShim(); var shimExports = requireShim();

View File

@ -1,4 +1,4 @@
import { importShared } from "./__federation_fn_import-hlt2XzeI.js"; import { importShared } from './__federation_fn_import-hlt2XzeI.js';
function _arrayLikeToArray(r, a) { function _arrayLikeToArray(r, a) {
(null == a || a > r.length) && (a = r.length); (null == a || a > r.length) && (a = r.length);
@ -9,20 +9,15 @@ function _arrayWithHoles(r) {
if (Array.isArray(r)) return r; if (Array.isArray(r)) return r;
} }
function _defineProperty$1(e, r, t) { function _defineProperty$1(e, r, t) {
return ( return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
(r = _toPropertyKey(r)) in e ?
Object.defineProperty(e, r, {
value: t, value: t,
enumerable: true, enumerable: true,
configurable: true, configurable: true,
writable: true, writable: true
}) }) : e[r] = t, e;
: (e[r] = t),
e
);
} }
function _iterableToArrayLimit(r, l) { function _iterableToArrayLimit(r, l) {
var t = null == r ? null : ("undefined" != typeof Symbol && r[Symbol.iterator]) || r["@@iterator"]; var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
if (null != t) { if (null != t) {
var e, var e,
n, n,
@ -32,13 +27,12 @@ function _iterableToArrayLimit(r, l) {
f = true, f = true,
o = false; o = false;
try { try {
if (((i = (t = t.call(r)).next), 0 === l)); if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
} catch (r) { } catch (r) {
((o = true), (n = r)); o = true, n = r;
} finally { } finally {
try { try {
if (!f && null != t.return && ((u = t.return()), Object(u) !== u)) return; if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
} finally { } finally {
if (o) throw n; if (o) throw n;
} }
@ -53,23 +47,18 @@ function ownKeys$1(e, r) {
var t = Object.keys(e); var t = Object.keys(e);
if (Object.getOwnPropertySymbols) { if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e); var o = Object.getOwnPropertySymbols(e);
(r && r && (o = o.filter(function (r) {
(o = o.filter(function (r) {
return Object.getOwnPropertyDescriptor(e, r).enumerable; return Object.getOwnPropertyDescriptor(e, r).enumerable;
})), })), t.push.apply(t, o);
t.push.apply(t, o));
} }
return t; return t;
} }
function _objectSpread2$1(e) { function _objectSpread2$1(e) {
for (var r = 1; r < arguments.length; r++) { for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {}; var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) {
ownKeys$1(Object(t), true).forEach(function (r) {
_defineProperty$1(e, r, t[r]); _defineProperty$1(e, r, t[r]);
}) }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) {
: Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t))
: ownKeys$1(Object(t)).forEach(function (r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
}); });
} }
@ -82,15 +71,14 @@ function _objectWithoutProperties(e, t) {
i = _objectWithoutPropertiesLoose(e, t); i = _objectWithoutPropertiesLoose(e, t);
if (Object.getOwnPropertySymbols) { if (Object.getOwnPropertySymbols) {
var n = Object.getOwnPropertySymbols(e); var n = Object.getOwnPropertySymbols(e);
for (r = 0; r < n.length; r++) ((o = n[r]), -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o])); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
} }
return i; return i;
} }
function _objectWithoutPropertiesLoose(r, e) { function _objectWithoutPropertiesLoose(r, e) {
if (null == r) return {}; if (null == r) return {};
var t = {}; var t = {};
for (var n in r) for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
if ({}.hasOwnProperty.call(r, n)) {
if (-1 !== e.indexOf(n)) continue; if (-1 !== e.indexOf(n)) continue;
t[n] = r[n]; t[n] = r[n];
} }
@ -117,12 +105,7 @@ function _unsupportedIterableToArray(r, a) {
if (r) { if (r) {
if ("string" == typeof r) return _arrayLikeToArray(r, a); if ("string" == typeof r) return _arrayLikeToArray(r, a);
var t = {}.toString.call(r).slice(8, -1); var t = {}.toString.call(r).slice(8, -1);
return ( return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
"Object" === t && r.constructor && (t = r.constructor.name),
"Map" === t || "Set" === t ? Array.from(r)
: "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a)
: void 0
);
} }
} }
@ -132,7 +115,7 @@ function _defineProperty(obj, key, value) {
value: value, value: value,
enumerable: true, enumerable: true,
configurable: true, configurable: true,
writable: true, writable: true
}); });
} else { } else {
obj[key] = value; obj[key] = value;
@ -146,8 +129,7 @@ function ownKeys(object, enumerableOnly) {
if (Object.getOwnPropertySymbols) { if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object); var symbols = Object.getOwnPropertySymbols(object);
if (enumerableOnly) if (enumerableOnly) symbols = symbols.filter(function (sym) {
symbols = symbols.filter(function (sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable; return Object.getOwnPropertyDescriptor(object, sym).enumerable;
}); });
keys.push.apply(keys, symbols); keys.push.apply(keys, symbols);
@ -196,9 +178,7 @@ function curry$1(fn) {
args[_key2] = arguments[_key2]; args[_key2] = arguments[_key2];
} }
return args.length >= fn.length ? return args.length >= fn.length ? fn.apply(this, args) : function () {
fn.apply(this, args)
: function () {
for (var _len3 = arguments.length, nextArgs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { for (var _len3 = arguments.length, nextArgs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
nextArgs[_key3] = arguments[_key3]; nextArgs[_key3] = arguments[_key3];
} }
@ -209,7 +189,7 @@ function curry$1(fn) {
} }
function isObject$1(value) { function isObject$1(value) {
return {}.toString.call(value).includes("Object"); return {}.toString.call(value).includes('Object');
} }
function isEmpty(obj) { function isEmpty(obj) {
@ -217,7 +197,7 @@ function isEmpty(obj) {
} }
function isFunction(value) { function isFunction(value) {
return typeof value === "function"; return typeof value === 'function';
} }
function hasOwnProperty(object, property) { function hasOwnProperty(object, property) {
@ -225,35 +205,28 @@ function hasOwnProperty(object, property) {
} }
function validateChanges(initial, changes) { function validateChanges(initial, changes) {
if (!isObject$1(changes)) errorHandler$1("changeType"); if (!isObject$1(changes)) errorHandler$1('changeType');
if ( if (Object.keys(changes).some(function (field) {
Object.keys(changes).some(function (field) {
return !hasOwnProperty(initial, field); return !hasOwnProperty(initial, field);
}) })) errorHandler$1('changeField');
)
errorHandler$1("changeField");
return changes; return changes;
} }
function validateSelector(selector) { function validateSelector(selector) {
if (!isFunction(selector)) errorHandler$1("selectorType"); if (!isFunction(selector)) errorHandler$1('selectorType');
} }
function validateHandler(handler) { function validateHandler(handler) {
if (!(isFunction(handler) || isObject$1(handler))) errorHandler$1("handlerType"); if (!(isFunction(handler) || isObject$1(handler))) errorHandler$1('handlerType');
if ( if (isObject$1(handler) && Object.values(handler).some(function (_handler) {
isObject$1(handler) &&
Object.values(handler).some(function (_handler) {
return !isFunction(_handler); return !isFunction(_handler);
}) })) errorHandler$1('handlersType');
)
errorHandler$1("handlersType");
} }
function validateInitial(initial) { function validateInitial(initial) {
if (!initial) errorHandler$1("initialIsRequired"); if (!initial) errorHandler$1('initialIsRequired');
if (!isObject$1(initial)) errorHandler$1("initialType"); if (!isObject$1(initial)) errorHandler$1('initialType');
if (isEmpty(initial)) errorHandler$1("initialContent"); if (isEmpty(initial)) errorHandler$1('initialContent');
} }
function throwError$1(errorMessages, type) { function throwError$1(errorMessages, type) {
@ -261,22 +234,22 @@ function throwError$1(errorMessages, type) {
} }
var errorMessages$1 = { var errorMessages$1 = {
initialIsRequired: "initial state is required", initialIsRequired: 'initial state is required',
initialType: "initial state should be an object", initialType: 'initial state should be an object',
initialContent: "initial state shouldn't be an empty object", initialContent: 'initial state shouldn\'t be an empty object',
handlerType: "handler should be an object or a function", handlerType: 'handler should be an object or a function',
handlersType: "all handlers should be a functions", handlersType: 'all handlers should be a functions',
selectorType: "selector should be a function", selectorType: 'selector should be a function',
changeType: "provided value of changes should be an object", changeType: 'provided value of changes should be an object',
changeField: 'it seams you want to change a field in the state which is not specified in the "initial" state', changeField: 'it seams you want to change a field in the state which is not specified in the "initial" state',
default: "an unknown error accured in `state-local` package", "default": 'an unknown error accured in `state-local` package'
}; };
var errorHandler$1 = curry$1(throwError$1)(errorMessages$1); var errorHandler$1 = curry$1(throwError$1)(errorMessages$1);
var validators$1 = { var validators$1 = {
changes: validateChanges, changes: validateChanges,
selector: validateSelector, selector: validateSelector,
handler: validateHandler, handler: validateHandler,
initial: validateInitial, initial: validateInitial
}; };
function create(initial) { function create(initial) {
@ -284,7 +257,7 @@ function create(initial) {
validators$1.initial(initial); validators$1.initial(initial);
validators$1.handler(handler); validators$1.handler(handler);
var state = { var state = {
current: initial, current: initial
}; };
var didUpdate = curry$1(didStateUpdate)(state, handler); var didUpdate = curry$1(didStateUpdate)(state, handler);
var update = curry$1(updateState)(state); var update = curry$1(updateState)(state);
@ -292,10 +265,7 @@ function create(initial) {
var getChanges = curry$1(extractChanges)(state); var getChanges = curry$1(extractChanges)(state);
function getState() { function getState() {
var selector = var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (state) {
arguments.length > 0 && arguments[0] !== undefined ?
arguments[0]
: function (state) {
return state; return state;
}; };
validators$1.selector(selector); validators$1.selector(selector);
@ -319,9 +289,7 @@ function updateState(state, changes) {
} }
function didStateUpdate(state, handler, changes) { function didStateUpdate(state, handler, changes) {
isFunction(handler) ? isFunction(handler) ? handler(state.current) : Object.keys(changes).forEach(function (field) {
handler(state.current)
: Object.keys(changes).forEach(function (field) {
var _handler$field; var _handler$field;
return (_handler$field = handler[field]) === null || _handler$field === void 0 ? void 0 : _handler$field.call(handler, state.current[field]); return (_handler$field = handler[field]) === null || _handler$field === void 0 ? void 0 : _handler$field.call(handler, state.current[field]);
@ -330,13 +298,13 @@ function didStateUpdate(state, handler, changes) {
} }
var index = { var index = {
create: create, create: create
}; };
var config$1 = { var config$1 = {
paths: { paths: {
vs: "https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs", vs: 'https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs'
}, }
}; };
function curry(fn) { function curry(fn) {
@ -345,9 +313,7 @@ function curry(fn) {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key]; args[_key] = arguments[_key];
} }
return args.length >= fn.length ? return args.length >= fn.length ? fn.apply(this, args) : function () {
fn.apply(this, args)
: function () {
for (var _len2 = arguments.length, nextArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { for (var _len2 = arguments.length, nextArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
nextArgs[_key2] = arguments[_key2]; nextArgs[_key2] = arguments[_key2];
} }
@ -357,7 +323,7 @@ function curry(fn) {
} }
function isObject(value) { function isObject(value) {
return {}.toString.call(value).includes("Object"); return {}.toString.call(value).includes('Object');
} }
/** /**
@ -366,14 +332,14 @@ function isObject(value) {
* @return {Object} config - the validated configuration object * @return {Object} config - the validated configuration object
*/ */
function validateConfig(config) { function validateConfig(config) {
if (!config) errorHandler("configIsRequired"); if (!config) errorHandler('configIsRequired');
if (!isObject(config)) errorHandler("configType"); if (!isObject(config)) errorHandler('configType');
if (config.urls) { if (config.urls) {
informAboutDeprecation(); informAboutDeprecation();
return { return {
paths: { paths: {
vs: config.urls.monacoBase, vs: config.urls.monacoBase
}, }
}; };
} }
return config; return config;
@ -389,15 +355,14 @@ function throwError(errorMessages, type) {
throw new Error(errorMessages[type] || errorMessages["default"]); throw new Error(errorMessages[type] || errorMessages["default"]);
} }
var errorMessages = { var errorMessages = {
configIsRequired: "the configuration object is required", configIsRequired: 'the configuration object is required',
configType: "the configuration object should be an object", configType: 'the configuration object should be an object',
default: "an unknown error accured in `@monaco-editor/loader` package", "default": 'an unknown error accured in `@monaco-editor/loader` package',
deprecation: deprecation: "Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n "
"Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n ",
}; };
var errorHandler = curry(throwError)(errorMessages); var errorHandler = curry(throwError)(errorMessages);
var validators = { var validators = {
config: validateConfig, config: validateConfig
}; };
var compose = function compose() { var compose = function compose() {
@ -425,8 +390,8 @@ function merge(target, source) {
// The source (has been changed) is https://github.com/facebook/react/issues/5465#issuecomment-157888325 // The source (has been changed) is https://github.com/facebook/react/issues/5465#issuecomment-157888325
var CANCELATION_MESSAGE = { var CANCELATION_MESSAGE = {
type: "cancelation", type: 'cancelation',
msg: "operation is manually canceled", msg: 'operation is manually canceled'
}; };
function makeCancelable(promise) { function makeCancelable(promise) {
var hasCanceled_ = false; var hasCanceled_ = false;
@ -436,12 +401,9 @@ function makeCancelable(promise) {
}); });
promise["catch"](reject); promise["catch"](reject);
}); });
return ( return wrappedPromise.cancel = function () {
(wrappedPromise.cancel = function () { return hasCanceled_ = true;
return (hasCanceled_ = true); }, wrappedPromise;
}),
wrappedPromise
);
} }
var _excluded = ["monaco"]; var _excluded = ["monaco"];
@ -452,7 +414,7 @@ var _state$create = index.create({
isInitialized: false, isInitialized: false,
resolve: null, resolve: null,
reject: null, reject: null,
monaco: null, monaco: null
}), }),
_state$create2 = _slicedToArray(_state$create, 2), _state$create2 = _slicedToArray(_state$create, 2),
getState = _state$create2[0], getState = _state$create2[0],
@ -469,7 +431,7 @@ function config(globalConfig) {
setState(function (state) { setState(function (state) {
return { return {
config: merge(state.config, config), config: merge(state.config, config),
monaco: monaco, monaco: monaco
}; };
}); });
} }
@ -486,12 +448,12 @@ function init() {
return { return {
monaco: monaco, monaco: monaco,
isInitialized: isInitialized, isInitialized: isInitialized,
resolve: resolve, resolve: resolve
}; };
}); });
if (!state.isInitialized) { if (!state.isInitialized) {
setState({ setState({
isInitialized: true, isInitialized: true
}); });
if (state.monaco) { if (state.monaco) {
state.resolve(state.monaco); state.resolve(state.monaco);
@ -522,8 +484,8 @@ function injectScripts(script) {
* @return {Object} - the created HTML script element * @return {Object} - the created HTML script element
*/ */
function createScript(src) { function createScript(src) {
var script = document.createElement("script"); var script = document.createElement('script');
return (src && (script.src = src), script); return src && (script.src = src), script;
} }
/** /**
@ -536,7 +498,7 @@ function getMonacoLoaderScript(configureLoader) {
reject = _ref2.reject; reject = _ref2.reject;
return { return {
config: config, config: config,
reject: reject, reject: reject
}; };
}); });
var loaderScript = createScript("".concat(state.config.paths.vs, "/loader.js")); var loaderScript = createScript("".concat(state.config.paths.vs, "/loader.js"));
@ -558,13 +520,13 @@ function configureLoader() {
return { return {
config: config, config: config,
resolve: resolve, resolve: resolve,
reject: reject, reject: reject
}; };
}); });
var require = window.require; var require = window.require;
require.config(state.config); require.config(state.config);
require(["vs/editor/editor.main"], function (loaded) { require(['vs/editor/editor.main'], function (loaded) {
var monaco = loaded.m /* for 0.53 & 0.54 */ || loaded; /* for other versions */ var monaco = loaded.m /* for 0.53 & 0.54 */ || loaded /* for other versions */;
storeMonacoInstance(monaco); storeMonacoInstance(monaco);
state.resolve(monaco); state.resolve(monaco);
}, function (error) { }, function (error) {
@ -578,7 +540,7 @@ function configureLoader() {
function storeMonacoInstance(monaco) { function storeMonacoInstance(monaco) {
if (!getState().monaco) { if (!getState().monaco) {
setState({ setState({
monaco: monaco, monaco: monaco
}); });
} }
} }
@ -597,363 +559,28 @@ function __getMonacoInstance() {
var wrapperPromise = new Promise(function (resolve, reject) { var wrapperPromise = new Promise(function (resolve, reject) {
return setState({ return setState({
resolve: resolve, resolve: resolve,
reject: reject, reject: reject
}); });
}); });
var loader = { var loader = {
config: config, config: config,
init: init, init: init,
__getMonacoInstance: __getMonacoInstance, __getMonacoInstance: __getMonacoInstance
}; };
const { memo: Te } = await importShared("react"); const {memo:Te} = await importShared('react');
const ke = await importShared("react"); const ke = await importShared('react');
const {useState:re,useRef:S,useCallback:oe,useEffect:ne} = ke; const {useState:re,useRef:S,useCallback:oe,useEffect:ne} = ke;
const { memo: ye } = await importShared("react"); const {memo:ye} = await importShared('react');
const K = await importShared("react"); const K = await importShared('react');
var le = { wrapper: { display: "flex", position: "relative", textAlign: "initial" }, fullWidth: { width: "100%" }, hide: { display: "none" } }, var le={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},v=le;const me = await importShared('react');
v = le; var ae={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},Y=ae;function Me({children:e}){return me.createElement("div",{style:Y.container},e)}var Z=Me;var $=Z;function Ee({width:e,height:r,isEditorReady:n,loading:t,_ref:a,className:m,wrapperProps:E}){return K.createElement("section",{style:{...v.wrapper,width:e,height:r},...E},!n&&K.createElement($,null,t),K.createElement("div",{ref:a,style:{...v.fullWidth,...!n&&v.hide},className:m}))}var ee=Ee;var H=ye(ee);const {useEffect:xe} = await importShared('react');
const me = await importShared("react"); function Ce(e){xe(e,[]);}var k=Ce;const {useEffect:ge,useRef:Re} = await importShared('react');
var ae = { container: { display: "flex", height: "100%", width: "100%", justifyContent: "center", alignItems: "center" } }, function he(e,r,n=true){let t=Re(true);ge(t.current||!n?()=>{t.current=false;}:e,r);}var l=he;function D(){}function h(e,r,n,t){return De(e,t)||be(e,r,n,t)}function De(e,r){return e.editor.getModel(te(e,r))}function be(e,r,n,t){return e.editor.createModel(r,n,t?te(e,t):void 0)}function te(e,r){return e.Uri.parse(r)}function Oe({original:e,modified:r,language:n,originalLanguage:t,modifiedLanguage:a,originalModelPath:m,modifiedModelPath:E,keepCurrentOriginalModel:g=false,keepCurrentModifiedModel:N=false,theme:x="light",loading:P="Loading...",options:y={},height:V="100%",width:z="100%",className:F,wrapperProps:j={},beforeMount:A=D,onMount:q=D}){let[M,O]=re(false),[T,s]=re(true),u=S(null),c=S(null),w=S(null),d=S(q),o=S(A),b=S(false);k(()=>{let i=loader.init();return i.then(f=>(c.current=f)&&s(false)).catch(f=>f?.type!=="cancelation"&&console.error("Monaco initialization: error:",f)),()=>u.current?I():i.cancel()}),l(()=>{if(u.current&&c.current){let i=u.current.getOriginalEditor(),f=h(c.current,e||"",t||n||"text",m||"");f!==i.getModel()&&i.setModel(f);}},[m],M),l(()=>{if(u.current&&c.current){let i=u.current.getModifiedEditor(),f=h(c.current,r||"",a||n||"text",E||"");f!==i.getModel()&&i.setModel(f);}},[E],M),l(()=>{let i=u.current.getModifiedEditor();i.getOption(c.current.editor.EditorOption.readOnly)?i.setValue(r||""):r!==i.getValue()&&(i.executeEdits("",[{range:i.getModel().getFullModelRange(),text:r||"",forceMoveMarkers:true}]),i.pushUndoStop());},[r],M),l(()=>{u.current?.getModel()?.original.setValue(e||"");},[e],M),l(()=>{let{original:i,modified:f}=u.current.getModel();c.current.editor.setModelLanguage(i,t||n||"text"),c.current.editor.setModelLanguage(f,a||n||"text");},[n,t,a],M),l(()=>{c.current?.editor.setTheme(x);},[x],M),l(()=>{u.current?.updateOptions(y);},[y],M);let L=oe(()=>{if(!c.current)return;o.current(c.current);let i=h(c.current,e||"",t||n||"text",m||""),f=h(c.current,r||"",a||n||"text",E||"");u.current?.setModel({original:i,modified:f});},[n,r,a,e,t,m,E]),U=oe(()=>{!b.current&&w.current&&(u.current=c.current.editor.createDiffEditor(w.current,{automaticLayout:true,...y}),L(),c.current?.editor.setTheme(x),O(true),b.current=true);},[y,x,L]);ne(()=>{M&&d.current(u.current,c.current);},[M]),ne(()=>{!T&&!M&&U();},[T,M,U]);function I(){let i=u.current?.getModel();g||i?.original?.dispose(),N||i?.modified?.dispose(),u.current?.dispose();}return ke.createElement(H,{width:z,height:V,isEditorReady:M,loading:P,_ref:w,className:F,wrapperProps:j})}var ie=Oe;var we=Te(ie);const {useState:Ie} = await importShared('react');
Y = ae; function Pe(){let[e,r]=Ie(loader.__getMonacoInstance());return k(()=>{let n;return e||(n=loader.init(),n.then(t=>{r(t);})),()=>n?.cancel()}),e}var Le=Pe;const {memo:ze} = await importShared('react');
function Me({ children: e }) { const We = await importShared('react');
return me.createElement("div", { style: Y.container }, e);
}
var Z = Me;
var $ = Z;
function Ee({ width: e, height: r, isEditorReady: n, loading: t, _ref: a, className: m, wrapperProps: E }) {
return K.createElement(
"section",
{ style: { ...v.wrapper, width: e, height: r }, ...E },
!n && K.createElement($, null, t),
K.createElement("div", { ref: a, style: { ...v.fullWidth, ...(!n && v.hide) }, className: m }),
);
}
var ee = Ee;
var H = ye(ee);
const { useEffect: xe } = await importShared("react");
function Ce(e) {
xe(e, []);
}
var k = Ce;
const { useEffect: ge, useRef: Re } = await importShared("react");
function he(e, r, n = true) {
let t = Re(true);
ge(
t.current || !n ?
() => {
t.current = false;
}
: e,
r,
);
}
var l = he;
function D() {}
function h(e, r, n, t) {
return De(e, t) || be(e, r, n, t);
}
function De(e, r) {
return e.editor.getModel(te(e, r));
}
function be(e, r, n, t) {
return e.editor.createModel(r, n, t ? te(e, t) : void 0);
}
function te(e, r) {
return e.Uri.parse(r);
}
function Oe({
original: e,
modified: r,
language: n,
originalLanguage: t,
modifiedLanguage: a,
originalModelPath: m,
modifiedModelPath: E,
keepCurrentOriginalModel: g = false,
keepCurrentModifiedModel: N = false,
theme: x = "light",
loading: P = "Loading...",
options: y = {},
height: V = "100%",
width: z = "100%",
className: F,
wrapperProps: j = {},
beforeMount: A = D,
onMount: q = D,
}) {
let [M, O] = re(false),
[T, s] = re(true),
u = S(null),
c = S(null),
w = S(null),
d = S(q),
o = S(A),
b = S(false);
(k(() => {
let i = loader.init();
return (i.then((f) => (c.current = f) && s(false)).catch((f) => f?.type !== "cancelation" && console.error("Monaco initialization: error:", f)), () => (u.current ? I() : i.cancel()));
}),
l(
() => {
if (u.current && c.current) {
let i = u.current.getOriginalEditor(),
f = h(c.current, e || "", t || n || "text", m || "");
f !== i.getModel() && i.setModel(f);
}
},
[m],
M,
),
l(
() => {
if (u.current && c.current) {
let i = u.current.getModifiedEditor(),
f = h(c.current, r || "", a || n || "text", E || "");
f !== i.getModel() && i.setModel(f);
}
},
[E],
M,
),
l(
() => {
let i = u.current.getModifiedEditor();
i.getOption(c.current.editor.EditorOption.readOnly) ?
i.setValue(r || "")
: r !== i.getValue() && (i.executeEdits("", [{ range: i.getModel().getFullModelRange(), text: r || "", forceMoveMarkers: true }]), i.pushUndoStop());
},
[r],
M,
),
l(
() => {
u.current?.getModel()?.original.setValue(e || "");
},
[e],
M,
),
l(
() => {
let { original: i, modified: f } = u.current.getModel();
(c.current.editor.setModelLanguage(i, t || n || "text"), c.current.editor.setModelLanguage(f, a || n || "text"));
},
[n, t, a],
M,
),
l(
() => {
c.current?.editor.setTheme(x);
},
[x],
M,
),
l(
() => {
u.current?.updateOptions(y);
},
[y],
M,
));
let L = oe(() => {
if (!c.current) return;
o.current(c.current);
let i = h(c.current, e || "", t || n || "text", m || ""),
f = h(c.current, r || "", a || n || "text", E || "");
u.current?.setModel({ original: i, modified: f });
}, [n, r, a, e, t, m, E]),
U = oe(() => {
!b.current && w.current && ((u.current = c.current.editor.createDiffEditor(w.current, { automaticLayout: true, ...y })), L(), c.current?.editor.setTheme(x), O(true), (b.current = true));
}, [y, x, L]);
(ne(() => {
M && d.current(u.current, c.current);
}, [M]),
ne(() => {
!T && !M && U();
}, [T, M, U]));
function I() {
let i = u.current?.getModel();
(g || i?.original?.dispose(), N || i?.modified?.dispose(), u.current?.dispose());
}
return ke.createElement(H, { width: z, height: V, isEditorReady: M, loading: P, _ref: w, className: F, wrapperProps: j });
}
var ie = Oe;
var we = Te(ie);
const { useState: Ie } = await importShared("react");
function Pe() {
let [e, r] = Ie(loader.__getMonacoInstance());
return (
k(() => {
let n;
return (
e ||
((n = loader.init()),
n.then((t) => {
r(t);
})),
() => n?.cancel()
);
}),
e
);
}
var Le = Pe;
const { memo: ze } = await importShared("react");
const We = await importShared("react");
const {useState:ue,useEffect:W,useRef:C,useCallback:_e} = We; const {useState:ue,useEffect:W,useRef:C,useCallback:_e} = We;
const { useEffect: Ue, useRef: ve } = await importShared("react"); const {useEffect:Ue,useRef:ve} = await importShared('react');
function He(e) { function He(e){let r=ve();return Ue(()=>{r.current=e;},[e]),r.current}var se=He;var _=new Map;function Ve({defaultValue:e,defaultLanguage:r,defaultPath:n,value:t,language:a,path:m,theme:E="light",line:g,loading:N="Loading...",options:x={},overrideServices:P={},saveViewState:y=true,keepCurrentModel:V=false,width:z="100%",height:F="100%",className:j,wrapperProps:A={},beforeMount:q=D,onMount:M=D,onChange:O,onValidate:T=D}){let[s,u]=ue(false),[c,w]=ue(true),d=C(null),o=C(null),b=C(null),L=C(M),U=C(q),I=C(),i=C(t),f=se(m),Q=C(false),B=C(false);k(()=>{let p=loader.init();return p.then(R=>(d.current=R)&&w(false)).catch(R=>R?.type!=="cancelation"&&console.error("Monaco initialization: error:",R)),()=>o.current?pe():p.cancel()}),l(()=>{let p=h(d.current,e||t||"",r||a||"",m||n||"");p!==o.current?.getModel()&&(y&&_.set(f,o.current?.saveViewState()),o.current?.setModel(p),y&&o.current?.restoreViewState(_.get(m)));},[m],s),l(()=>{o.current?.updateOptions(x);},[x],s),l(()=>{!o.current||t===void 0||(o.current.getOption(d.current.editor.EditorOption.readOnly)?o.current.setValue(t):t!==o.current.getValue()&&(B.current=true,o.current.executeEdits("",[{range:o.current.getModel().getFullModelRange(),text:t,forceMoveMarkers:true}]),o.current.pushUndoStop(),B.current=false));},[t],s),l(()=>{let p=o.current?.getModel();p&&a&&d.current?.editor.setModelLanguage(p,a);},[a],s),l(()=>{g!==void 0&&o.current?.revealLine(g);},[g],s),l(()=>{d.current?.editor.setTheme(E);},[E],s);let X=_e(()=>{if(!(!b.current||!d.current)&&!Q.current){U.current(d.current);let p=m||n,R=h(d.current,t||e||"",r||a||"",p||"");o.current=d.current?.editor.create(b.current,{model:R,automaticLayout:true,...x},P),y&&o.current.restoreViewState(_.get(p)),d.current.editor.setTheme(E),g!==void 0&&o.current.revealLine(g),u(true),Q.current=true;}},[e,r,n,t,a,m,x,P,y,E,g]);W(()=>{s&&L.current(o.current,d.current);},[s]),W(()=>{!c&&!s&&X();},[c,s,X]),i.current=t,W(()=>{s&&O&&(I.current?.dispose(),I.current=o.current?.onDidChangeModelContent(p=>{B.current||O(o.current.getValue(),p);}));},[s,O]),W(()=>{if(s){let p=d.current.editor.onDidChangeMarkers(R=>{let G=o.current.getModel()?.uri;if(G&&R.find(J=>J.path===G.path)){let J=d.current.editor.getModelMarkers({resource:G});T?.(J);}});return ()=>{p?.dispose();}}return ()=>{}},[s,T]);function pe(){I.current?.dispose(),V?y&&_.set(m,o.current.saveViewState()):o.current.getModel()?.dispose(),o.current.dispose();}return We.createElement(H,{width:z,height:F,isEditorReady:s,loading:N,_ref:b,className:j,wrapperProps:A})}var fe=Ve;var de=ze(fe);var Ft=de;
let r = ve();
return (
Ue(() => {
r.current = e;
}, [e]),
r.current
);
}
var se = He;
var _ = new Map();
function Ve({
defaultValue: e,
defaultLanguage: r,
defaultPath: n,
value: t,
language: a,
path: m,
theme: E = "light",
line: g,
loading: N = "Loading...",
options: x = {},
overrideServices: P = {},
saveViewState: y = true,
keepCurrentModel: V = false,
width: z = "100%",
height: F = "100%",
className: j,
wrapperProps: A = {},
beforeMount: q = D,
onMount: M = D,
onChange: O,
onValidate: T = D,
}) {
let [s, u] = ue(false),
[c, w] = ue(true),
d = C(null),
o = C(null),
b = C(null),
L = C(M),
U = C(q),
I = C(),
i = C(t),
f = se(m),
Q = C(false),
B = C(false);
(k(() => {
let p = loader.init();
return (p.then((R) => (d.current = R) && w(false)).catch((R) => R?.type !== "cancelation" && console.error("Monaco initialization: error:", R)), () => (o.current ? pe() : p.cancel()));
}),
l(
() => {
let p = h(d.current, e || t || "", r || a || "", m || n || "");
p !== o.current?.getModel() && (y && _.set(f, o.current?.saveViewState()), o.current?.setModel(p), y && o.current?.restoreViewState(_.get(m)));
},
[m],
s,
),
l(
() => {
o.current?.updateOptions(x);
},
[x],
s,
),
l(
() => {
!o.current ||
t === void 0 ||
(o.current.getOption(d.current.editor.EditorOption.readOnly) ?
o.current.setValue(t)
: t !== o.current.getValue() &&
((B.current = true),
o.current.executeEdits("", [{ range: o.current.getModel().getFullModelRange(), text: t, forceMoveMarkers: true }]),
o.current.pushUndoStop(),
(B.current = false)));
},
[t],
s,
),
l(
() => {
let p = o.current?.getModel();
p && a && d.current?.editor.setModelLanguage(p, a);
},
[a],
s,
),
l(
() => {
g !== void 0 && o.current?.revealLine(g);
},
[g],
s,
),
l(
() => {
d.current?.editor.setTheme(E);
},
[E],
s,
));
let X = _e(() => {
if (!(!b.current || !d.current) && !Q.current) {
U.current(d.current);
let p = m || n,
R = h(d.current, t || e || "", r || a || "", p || "");
((o.current = d.current?.editor.create(b.current, { model: R, automaticLayout: true, ...x }, P)),
y && o.current.restoreViewState(_.get(p)),
d.current.editor.setTheme(E),
g !== void 0 && o.current.revealLine(g),
u(true),
(Q.current = true));
}
}, [e, r, n, t, a, m, x, P, y, E, g]);
(W(() => {
s && L.current(o.current, d.current);
}, [s]),
W(() => {
!c && !s && X();
}, [c, s, X]),
(i.current = t),
W(() => {
s &&
O &&
(I.current?.dispose(),
(I.current = o.current?.onDidChangeModelContent((p) => {
B.current || O(o.current.getValue(), p);
})));
}, [s, O]),
W(() => {
if (s) {
let p = d.current.editor.onDidChangeMarkers((R) => {
let G = o.current.getModel()?.uri;
if (G && R.find((J) => J.path === G.path)) {
let J = d.current.editor.getModelMarkers({ resource: G });
T?.(J);
}
});
return () => {
p?.dispose();
};
}
return () => {};
}, [s, T]));
function pe() {
(I.current?.dispose(), V ? y && _.set(m, o.current.saveViewState()) : o.current.getModel()?.dispose(), o.current.dispose());
}
return We.createElement(H, { width: z, height: F, isEditorReady: s, loading: N, _ref: b, className: j, wrapperProps: A });
}
var fe = Ve;
var de = ze(fe);
var Ft = de;
export { we as DiffEditor, de as Editor, Ft as default, loader, Le as useMonaco }; export { we as DiffEditor, de as Editor, Ft as default, loader, Le as useMonaco };

View File

@ -17,319 +17,23 @@ var hasRequiredReact_production_min;
function requireReact_production_min () { function requireReact_production_min () {
if (hasRequiredReact_production_min) return react_production_min; if (hasRequiredReact_production_min) return react_production_min;
hasRequiredReact_production_min = 1; hasRequiredReact_production_min = 1;
var l = Symbol.for("react.element"), var l=Symbol.for("react.element"),n=Symbol.for("react.portal"),p=Symbol.for("react.fragment"),q=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),t=Symbol.for("react.provider"),u=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),w=Symbol.for("react.suspense"),x=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),z=Symbol.iterator;function A(a){if(null===a||"object"!==typeof a)return null;a=z&&a[z]||a["@@iterator"];return "function"===typeof a?a:null}
n = Symbol.for("react.portal"), var B={isMounted:function(){return false},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B;}E.prototype.isReactComponent={};
p = Symbol.for("react.fragment"), E.prototype.setState=function(a,b){if("object"!==typeof a&&"function"!==typeof a&&null!=a)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,a,b,"setState");};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate");};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B;}var H=G.prototype=new F;
q = Symbol.for("react.strict_mode"), H.constructor=G;C(H,E.prototype);H.isPureReactComponent=true;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:true,ref:true,__self:true,__source:true};
r = Symbol.for("react.profiler"), function M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=""+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f;}if(a&&a.defaultProps)for(d in g=a.defaultProps,g) void 0===c[d]&&(c[d]=g[d]);return {$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}
t = Symbol.for("react.provider"), function N(a,b){return {$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return "object"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={"=":"=0",":":"=2"};return "$"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\/+/g;function Q(a,b){return "object"===typeof a&&null!==a&&null!=a.key?escape(""+a.key):b.toString(36)}
u = Symbol.for("react.context"), function R(a,b,e,d,c){var k=typeof a;if("undefined"===k||"boolean"===k)a=null;var h=false;if(null===a)h=true;else switch(k){case "string":case "number":h=true;break;case "object":switch(a.$$typeof){case l:case n:h=true;}}if(h)return h=a,c=c(h),a=""===d?"."+Q(h,0):d,I(c)?(e="",null!=a&&(e=a.replace(P,"$&/")+"/"),R(c,b,e,"",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?"":(""+c.key).replace(P,"$&/")+"/")+a)),b.push(c)),1;h=0;d=""===d?".":d+":";if(I(a))for(var g=0;g<a.length;g++){k=
v = Symbol.for("react.forward_ref"), a[g];var f=d+Q(k,g);h+=R(k,b,e,f,c);}else if(f=A(a),"function"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if("object"===k)throw b=String(a),Error("Objects are not valid as a React child (found: "+("[object Object]"===b?"object with keys {"+Object.keys(a).join(", ")+"}":b)+"). If you meant to render a collection of children, use an array instead.");return h}
w = Symbol.for("react.suspense"), function S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,"","",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b;},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b;});-1===a._status&&(a._status=0,a._result=b);}if(1===a._status)return a._result.default;throw a._result;}
x = Symbol.for("react.memo"), var U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error("act(...) is not supported in production builds of React.");}
y = Symbol.for("react.lazy"), react_production_min.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments);},e);},count:function(a){var b=0;S(a,function(){b++;});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error("React.Children.only expected to receive a single React element child.");return a}};react_production_min.Component=E;react_production_min.Fragment=p;react_production_min.Profiler=r;react_production_min.PureComponent=G;react_production_min.StrictMode=q;react_production_min.Suspense=w;
z = Symbol.iterator; react_production_min.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;react_production_min.act=X;
function A(a) { react_production_min.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+a+".");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){ void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=""+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f]);}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);
if (null === a || "object" !== typeof a) return null; for(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g;}return {$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};react_production_min.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};react_production_min.createElement=M;react_production_min.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};react_production_min.createRef=function(){return {current:null}};
a = (z && a[z]) || a["@@iterator"]; react_production_min.forwardRef=function(a){return {$$typeof:v,render:a}};react_production_min.isValidElement=O;react_production_min.lazy=function(a){return {$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};react_production_min.memo=function(a,b){return {$$typeof:x,type:a,compare:void 0===b?null:b}};react_production_min.startTransition=function(a){var b=V.transition;V.transition={};try{a();}finally{V.transition=b;}};react_production_min.unstable_act=X;react_production_min.useCallback=function(a,b){return U.current.useCallback(a,b)};react_production_min.useContext=function(a){return U.current.useContext(a)};
return "function" === typeof a ? a : null; react_production_min.useDebugValue=function(){};react_production_min.useDeferredValue=function(a){return U.current.useDeferredValue(a)};react_production_min.useEffect=function(a,b){return U.current.useEffect(a,b)};react_production_min.useId=function(){return U.current.useId()};react_production_min.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};react_production_min.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};react_production_min.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};
} react_production_min.useMemo=function(a,b){return U.current.useMemo(a,b)};react_production_min.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};react_production_min.useRef=function(a){return U.current.useRef(a)};react_production_min.useState=function(a){return U.current.useState(a)};react_production_min.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};react_production_min.useTransition=function(){return U.current.useTransition()};react_production_min.version="18.3.1";
var B = {
isMounted: function () {
return false;
},
enqueueForceUpdate: function () {},
enqueueReplaceState: function () {},
enqueueSetState: function () {},
},
C = Object.assign,
D = {};
function E(a, b, e) {
this.props = a;
this.context = b;
this.refs = D;
this.updater = e || B;
}
E.prototype.isReactComponent = {};
E.prototype.setState = function (a, b) {
if ("object" !== typeof a && "function" !== typeof a && null != a)
throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");
this.updater.enqueueSetState(this, a, b, "setState");
};
E.prototype.forceUpdate = function (a) {
this.updater.enqueueForceUpdate(this, a, "forceUpdate");
};
function F() {}
F.prototype = E.prototype;
function G(a, b, e) {
this.props = a;
this.context = b;
this.refs = D;
this.updater = e || B;
}
var H = (G.prototype = new F());
H.constructor = G;
C(H, E.prototype);
H.isPureReactComponent = true;
var I = Array.isArray,
J = Object.prototype.hasOwnProperty,
K = { current: null },
L = { key: true, ref: true, __self: true, __source: true };
function M(a, b, e) {
var d,
c = {},
k = null,
h = null;
if (null != b) for (d in (void 0 !== b.ref && (h = b.ref), void 0 !== b.key && (k = "" + b.key), b)) J.call(b, d) && !L.hasOwnProperty(d) && (c[d] = b[d]);
var g = arguments.length - 2;
if (1 === g) c.children = e;
else if (1 < g) {
for (var f = Array(g), m = 0; m < g; m++) f[m] = arguments[m + 2];
c.children = f;
}
if (a && a.defaultProps) for (d in ((g = a.defaultProps), g)) void 0 === c[d] && (c[d] = g[d]);
return { $$typeof: l, type: a, key: k, ref: h, props: c, _owner: K.current };
}
function N(a, b) {
return { $$typeof: l, type: a.type, key: b, ref: a.ref, props: a.props, _owner: a._owner };
}
function O(a) {
return "object" === typeof a && null !== a && a.$$typeof === l;
}
function escape(a) {
var b = { "=": "=0", ":": "=2" };
return (
"$" +
a.replace(/[=:]/g, function (a) {
return b[a];
})
);
}
var P = /\/+/g;
function Q(a, b) {
return "object" === typeof a && null !== a && null != a.key ? escape("" + a.key) : b.toString(36);
}
function R(a, b, e, d, c) {
var k = typeof a;
if ("undefined" === k || "boolean" === k) a = null;
var h = false;
if (null === a) h = true;
else
switch (k) {
case "string":
case "number":
h = true;
break;
case "object":
switch (a.$$typeof) {
case l:
case n:
h = true;
}
}
if (h)
return (
(h = a),
(c = c(h)),
(a = "" === d ? "." + Q(h, 0) : d),
I(c) ?
((e = ""),
null != a && (e = a.replace(P, "$&/") + "/"),
R(c, b, e, "", function (a) {
return a;
}))
: null != c && (O(c) && (c = N(c, e + (!c.key || (h && h.key === c.key) ? "" : ("" + c.key).replace(P, "$&/") + "/") + a)), b.push(c)),
1
);
h = 0;
d = "" === d ? "." : d + ":";
if (I(a))
for (var g = 0; g < a.length; g++) {
k = a[g];
var f = d + Q(k, g);
h += R(k, b, e, f, c);
}
else if (((f = A(a)), "function" === typeof f)) for (a = f.call(a), g = 0; !(k = a.next()).done; ) ((k = k.value), (f = d + Q(k, g++)), (h += R(k, b, e, f, c)));
else if ("object" === k)
throw (
(b = String(a)),
Error(
"Objects are not valid as a React child (found: " +
("[object Object]" === b ? "object with keys {" + Object.keys(a).join(", ") + "}" : b) +
"). If you meant to render a collection of children, use an array instead.",
)
);
return h;
}
function S(a, b, e) {
if (null == a) return a;
var d = [],
c = 0;
R(a, d, "", "", function (a) {
return b.call(e, a, c++);
});
return d;
}
function T(a) {
if (-1 === a._status) {
var b = a._result;
b = b();
b.then(
function (b) {
if (0 === a._status || -1 === a._status) ((a._status = 1), (a._result = b));
},
function (b) {
if (0 === a._status || -1 === a._status) ((a._status = 2), (a._result = b));
},
);
-1 === a._status && ((a._status = 0), (a._result = b));
}
if (1 === a._status) return a._result.default;
throw a._result;
}
var U = { current: null },
V = { transition: null },
W = { ReactCurrentDispatcher: U, ReactCurrentBatchConfig: V, ReactCurrentOwner: K };
function X() {
throw Error("act(...) is not supported in production builds of React.");
}
react_production_min.Children = {
map: S,
forEach: function (a, b, e) {
S(
a,
function () {
b.apply(this, arguments);
},
e,
);
},
count: function (a) {
var b = 0;
S(a, function () {
b++;
});
return b;
},
toArray: function (a) {
return (
S(a, function (a) {
return a;
}) || []
);
},
only: function (a) {
if (!O(a)) throw Error("React.Children.only expected to receive a single React element child.");
return a;
},
};
react_production_min.Component = E;
react_production_min.Fragment = p;
react_production_min.Profiler = r;
react_production_min.PureComponent = G;
react_production_min.StrictMode = q;
react_production_min.Suspense = w;
react_production_min.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = W;
react_production_min.act = X;
react_production_min.cloneElement = function (a, b, e) {
if (null === a || void 0 === a) throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + a + ".");
var d = C({}, a.props),
c = a.key,
k = a.ref,
h = a._owner;
if (null != b) {
void 0 !== b.ref && ((k = b.ref), (h = K.current));
void 0 !== b.key && (c = "" + b.key);
if (a.type && a.type.defaultProps) var g = a.type.defaultProps;
for (f in b) J.call(b, f) && !L.hasOwnProperty(f) && (d[f] = void 0 === b[f] && void 0 !== g ? g[f] : b[f]);
}
var f = arguments.length - 2;
if (1 === f) d.children = e;
else if (1 < f) {
g = Array(f);
for (var m = 0; m < f; m++) g[m] = arguments[m + 2];
d.children = g;
}
return { $$typeof: l, type: a.type, key: c, ref: k, props: d, _owner: h };
};
react_production_min.createContext = function (a) {
a = { $$typeof: u, _currentValue: a, _currentValue2: a, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null };
a.Provider = { $$typeof: t, _context: a };
return (a.Consumer = a);
};
react_production_min.createElement = M;
react_production_min.createFactory = function (a) {
var b = M.bind(null, a);
b.type = a;
return b;
};
react_production_min.createRef = function () {
return { current: null };
};
react_production_min.forwardRef = function (a) {
return { $$typeof: v, render: a };
};
react_production_min.isValidElement = O;
react_production_min.lazy = function (a) {
return { $$typeof: y, _payload: { _status: -1, _result: a }, _init: T };
};
react_production_min.memo = function (a, b) {
return { $$typeof: x, type: a, compare: void 0 === b ? null : b };
};
react_production_min.startTransition = function (a) {
var b = V.transition;
V.transition = {};
try {
a();
} finally {
V.transition = b;
}
};
react_production_min.unstable_act = X;
react_production_min.useCallback = function (a, b) {
return U.current.useCallback(a, b);
};
react_production_min.useContext = function (a) {
return U.current.useContext(a);
};
react_production_min.useDebugValue = function () {};
react_production_min.useDeferredValue = function (a) {
return U.current.useDeferredValue(a);
};
react_production_min.useEffect = function (a, b) {
return U.current.useEffect(a, b);
};
react_production_min.useId = function () {
return U.current.useId();
};
react_production_min.useImperativeHandle = function (a, b, e) {
return U.current.useImperativeHandle(a, b, e);
};
react_production_min.useInsertionEffect = function (a, b) {
return U.current.useInsertionEffect(a, b);
};
react_production_min.useLayoutEffect = function (a, b) {
return U.current.useLayoutEffect(a, b);
};
react_production_min.useMemo = function (a, b) {
return U.current.useMemo(a, b);
};
react_production_min.useReducer = function (a, b, e) {
return U.current.useReducer(a, b, e);
};
react_production_min.useRef = function (a) {
return U.current.useRef(a);
};
react_production_min.useState = function (a) {
return U.current.useState(a);
};
react_production_min.useSyncExternalStore = function (a, b, e) {
return U.current.useSyncExternalStore(a, b, e);
};
react_production_min.useTransition = function () {
return U.current.useTransition();
};
react_production_min.version = "18.3.1";
return react_production_min; return react_production_min;
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
import { r as requireReact } from "./index-DQGM2Mpm.js"; import { r as requireReact } from './index-DQGM2Mpm.js';
var jsxRuntime = {exports: {}}; var jsxRuntime = {exports: {}};
@ -19,27 +19,8 @@ var hasRequiredReactJsxRuntime_production_min;
function requireReactJsxRuntime_production_min () { function requireReactJsxRuntime_production_min () {
if (hasRequiredReactJsxRuntime_production_min) return reactJsxRuntime_production_min; if (hasRequiredReactJsxRuntime_production_min) return reactJsxRuntime_production_min;
hasRequiredReactJsxRuntime_production_min = 1; hasRequiredReactJsxRuntime_production_min = 1;
var f = requireReact(), var f=requireReact(),k=Symbol.for("react.element"),l=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:true,ref:true,__self:true,__source:true};
k = Symbol.for("react.element"), function q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=""+g);void 0!==a.key&&(e=""+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a) void 0===d[b]&&(d[b]=a[b]);return {$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}reactJsxRuntime_production_min.Fragment=l;reactJsxRuntime_production_min.jsx=q;reactJsxRuntime_production_min.jsxs=q;
l = Symbol.for("react.fragment"),
m = Object.prototype.hasOwnProperty,
n = f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,
p = { key: true, ref: true, __self: true, __source: true };
function q(c, a, g) {
var b,
d = {},
e = null,
h = null;
void 0 !== g && (e = "" + g);
void 0 !== a.key && (e = "" + a.key);
void 0 !== a.ref && (h = a.ref);
for (b in a) m.call(a, b) && !p.hasOwnProperty(b) && (d[b] = a[b]);
if (c && c.defaultProps) for (b in ((a = c.defaultProps), a)) void 0 === d[b] && (d[b] = a[b]);
return { $$typeof: k, type: c, key: e, ref: h, props: d, _owner: n.current };
}
reactJsxRuntime_production_min.Fragment = l;
reactJsxRuntime_production_min.jsx = q;
reactJsxRuntime_production_min.jsxs = q;
return reactJsxRuntime_production_min; return reactJsxRuntime_production_min;
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,48 +1,45 @@
const currentImports = {}; const currentImports = {};
const exportSet = new Set(["Module", "__esModule", "default", "_export_sfc"]); const exportSet = new Set(['Module', '__esModule', 'default', '_export_sfc']);
let moduleMap = { let moduleMap = {
"./editor":()=>{ "./editor":()=>{
dynamicLoadingCss(["style-Bs2zy9jQ.css"], false, "./editor"); dynamicLoadingCss(["style-Bs2zy9jQ.css"], false, './editor');
return __federation_import("./__federation_expose_Editor-BDCHVRx7.js").then((module) => (Object.keys(module).every((item) => exportSet.has(item)) ? () => module.default : () => module)); return __federation_import('./__federation_expose_Editor-DbTTOPh9.js').then(module =>Object.keys(module).every(item => exportSet.has(item)) ? () => module.default : () => module)},
},
"./settings":()=>{ "./settings":()=>{
dynamicLoadingCss(["style-Bs2zy9jQ.css"], false, "./settings"); dynamicLoadingCss(["style-Bs2zy9jQ.css"], false, './settings');
return __federation_import("./__federation_expose_Settings-C7jFM1o4.js").then((module) => (Object.keys(module).every((item) => exportSet.has(item)) ? () => module.default : () => module)); return __federation_import('./__federation_expose_Settings-C7jFM1o4.js').then(module =>Object.keys(module).every(item => exportSet.has(item)) ? () => module.default : () => module)},};
},
};
const seen = {}; const seen = {};
const dynamicLoadingCss = (cssFilePaths, dontAppendStylesToHead, exposeItemName) => { const dynamicLoadingCss = (cssFilePaths, dontAppendStylesToHead, exposeItemName) => {
const metaUrl = import.meta.url; const metaUrl = import.meta.url;
if (typeof metaUrl === "undefined") { if (typeof metaUrl === 'undefined') {
console.warn('The remote style takes effect only when the build.target option in the vite.config.ts file is higher than that of "es2020".'); console.warn('The remote style takes effect only when the build.target option in the vite.config.ts file is higher than that of "es2020".');
return; return;
} }
const curUrl = metaUrl.substring(0, metaUrl.lastIndexOf("remoteEntry.js")); const curUrl = metaUrl.substring(0, metaUrl.lastIndexOf('remoteEntry.js'));
const base = "/"; const base = '/';
("assets"); 'assets';
cssFilePaths.forEach((cssPath) => { cssFilePaths.forEach(cssPath => {
let href = ""; let href = '';
const baseUrl = base || curUrl; const baseUrl = base || curUrl;
if (baseUrl) { if (baseUrl) {
const trimmer = { const trimmer = {
trailing: (path) => (path.endsWith("/") ? path.slice(0, -1) : path), trailing: (path) => (path.endsWith('/') ? path.slice(0, -1) : path),
leading: (path) => (path.startsWith("/") ? path.slice(1) : path), leading: (path) => (path.startsWith('/') ? path.slice(1) : path)
}; };
const isAbsoluteUrl = (url) => url.startsWith("http") || url.startsWith("//"); const isAbsoluteUrl = (url) => url.startsWith('http') || url.startsWith('//');
const cleanBaseUrl = trimmer.trailing(baseUrl); const cleanBaseUrl = trimmer.trailing(baseUrl);
const cleanCssPath = trimmer.leading(cssPath); const cleanCssPath = trimmer.leading(cssPath);
const cleanCurUrl = trimmer.trailing(curUrl); const cleanCurUrl = trimmer.trailing(curUrl);
if (isAbsoluteUrl(baseUrl)) { if (isAbsoluteUrl(baseUrl)) {
href = [cleanBaseUrl, cleanCssPath].filter(Boolean).join("/"); href = [cleanBaseUrl, cleanCssPath].filter(Boolean).join('/');
} else { } else {
if (cleanCurUrl.includes(cleanBaseUrl)) { if (cleanCurUrl.includes(cleanBaseUrl)) {
href = [cleanCurUrl, cleanCssPath].filter(Boolean).join("/"); href = [cleanCurUrl, cleanCssPath].filter(Boolean).join('/');
} else { } else {
href = [cleanCurUrl + cleanBaseUrl, cleanCssPath].filter(Boolean).join("/"); href = [cleanCurUrl + cleanBaseUrl, cleanCssPath].filter(Boolean).join('/');
} }
} }
} else { } else {
@ -50,7 +47,7 @@ const dynamicLoadingCss = (cssFilePaths, dontAppendStylesToHead, exposeItemName)
} }
if (dontAppendStylesToHead) { if (dontAppendStylesToHead) {
const key = "css__calcomblock__" + exposeItemName; const key = 'css__calcomblock__' + exposeItemName;
window[key] = window[key] || []; window[key] = window[key] || [];
window[key].push(href); window[key].push(href);
return; return;
@ -59,25 +56,24 @@ const dynamicLoadingCss = (cssFilePaths, dontAppendStylesToHead, exposeItemName)
if (href in seen) return; if (href in seen) return;
seen[href] = true; seen[href] = true;
const element = document.createElement("link"); const element = document.createElement('link');
element.rel = "stylesheet"; element.rel = 'stylesheet';
element.href = href; element.href = href;
document.head.appendChild(element); document.head.appendChild(element);
}); });
}; };
async function __federation_import(name) { async function __federation_import(name) {
currentImports[name] ??= import(name); currentImports[name] ??= import(name);
return currentImports[name]; return currentImports[name]
} } const get =(module) => {
const get = (module) => { if(!moduleMap[module]) throw new Error('Can not find remote module ' + module)
if (!moduleMap[module]) throw new Error("Can not find remote module " + module);
return moduleMap[module](); return moduleMap[module]();
}; };
const init =(shareScope) => { const init =(shareScope) => {
globalThis.__federation_shared__= globalThis.__federation_shared__|| {}; globalThis.__federation_shared__= globalThis.__federation_shared__|| {};
Object.entries(shareScope).forEach(([key, value]) => { Object.entries(shareScope).forEach(([key, value]) => {
for (const [versionKey, versionValue] of Object.entries(value)) { for (const [versionKey, versionValue] of Object.entries(value)) {
const scope = versionValue.scope || "default"; const scope = versionValue.scope || 'default';
globalThis.__federation_shared__[scope] = globalThis.__federation_shared__[scope] || {}; globalThis.__federation_shared__[scope] = globalThis.__federation_shared__[scope] || {};
const shared= globalThis.__federation_shared__[scope]; const shared= globalThis.__federation_shared__[scope];
(shared[key] = shared[key]||{})[versionKey] = versionValue; (shared[key] = shared[key]||{})[versionKey] = versionValue;

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
import { r as requireReact } from "./index-DQGM2Mpm.js"; import { r as requireReact } from './index-DQGM2Mpm.js';
import { X as requireShim } from "./index-Bs--Ol2m.js"; import { X as requireShim } from './index-Bs--Ol2m.js';
var withSelector = {exports: {}}; var withSelector = {exports: {}};
@ -31,7 +31,13 @@ function requireWithSelector_production() {
useEffect = React.useEffect, useEffect = React.useEffect,
useMemo = React.useMemo, useMemo = React.useMemo,
useDebugValue = React.useDebugValue; useDebugValue = React.useDebugValue;
withSelector_production.useSyncExternalStoreWithSelector = function (subscribe, getSnapshot, getServerSnapshot, selector, isEqual) { withSelector_production.useSyncExternalStoreWithSelector = function (
subscribe,
getSnapshot,
getServerSnapshot,
selector,
isEqual
) {
var instRef = useRef(null); var instRef = useRef(null);
if (null === instRef.current) { if (null === instRef.current) {
var inst = { hasValue: false, value: null }; var inst = { hasValue: false, value: null };
@ -46,33 +52,36 @@ function requireWithSelector_production() {
nextSnapshot = selector(nextSnapshot); nextSnapshot = selector(nextSnapshot);
if (void 0 !== isEqual && inst.hasValue) { if (void 0 !== isEqual && inst.hasValue) {
var currentSelection = inst.value; var currentSelection = inst.value;
if (isEqual(currentSelection, nextSnapshot)) return (memoizedSelection = currentSelection); if (isEqual(currentSelection, nextSnapshot))
return (memoizedSelection = currentSelection);
} }
return (memoizedSelection = nextSnapshot); return (memoizedSelection = nextSnapshot);
} }
currentSelection = memoizedSelection; currentSelection = memoizedSelection;
if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection; if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;
var nextSelection = selector(nextSnapshot); var nextSelection = selector(nextSnapshot);
if (void 0 !== isEqual && isEqual(currentSelection, nextSelection)) return ((memoizedSnapshot = nextSnapshot), currentSelection); if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))
return (memoizedSnapshot = nextSnapshot), currentSelection;
memoizedSnapshot = nextSnapshot; memoizedSnapshot = nextSnapshot;
return (memoizedSelection = nextSelection); return (memoizedSelection = nextSelection);
} }
var hasMemo = false, var hasMemo = false,
memoizedSnapshot, memoizedSnapshot,
memoizedSelection, memoizedSelection,
maybeGetServerSnapshot = void 0 === getServerSnapshot ? null : getServerSnapshot; maybeGetServerSnapshot =
void 0 === getServerSnapshot ? null : getServerSnapshot;
return [ return [
function () { function () {
return memoizedSelector(getSnapshot()); return memoizedSelector(getSnapshot());
}, },
null === maybeGetServerSnapshot ? void 0 : ( null === maybeGetServerSnapshot
function () { ? void 0
: function () {
return memoizedSelector(maybeGetServerSnapshot()); return memoizedSelector(maybeGetServerSnapshot());
} }
),
]; ];
}, },
[getSnapshot, getServerSnapshot, selector, isEqual], [getSnapshot, getServerSnapshot, selector, isEqual]
); );
var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]); var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);
useEffect( useEffect(
@ -80,7 +89,7 @@ function requireWithSelector_production() {
inst.hasValue = true; inst.hasValue = true;
inst.value = value; inst.value = value;
}, },
[value], [value]
); );
useDebugValue(value); useDebugValue(value);
return value; return value;

2
web/dist/index.html vendored
View File

@ -2,7 +2,7 @@
<html> <html>
<head> <head>
<title>CalcomBlock Plugin</title> <title>CalcomBlock Plugin</title>
<link rel="stylesheet" crossorigin href="/assets/style-Bs2zy9jQ.css" /> <link rel="stylesheet" crossorigin href="/assets/style-Bs2zy9jQ.css">
</head> </head>
<body> <body>
<!-- This is a placeholder for Module Federation remote entry --> <!-- This is a placeholder for Module Federation remote entry -->