@chaibuilder/pages 0.16.14 → 0.16.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{2AITGKQY-B9AnRLq_.cjs → 2AITGKQY-BV6JxIio.cjs} +1 -1
- package/dist/{2AITGKQY-B7xwscsX.js → 2AITGKQY-DmJ7FEya.js} +5 -5
- package/dist/{NCMVHL6D-CRMC-wXy.cjs → NCMVHL6D-B_AZmaGG.cjs} +1 -1
- package/dist/{NCMVHL6D-B1mwht0Q.js → NCMVHL6D-DsqUQxZK.js} +4 -4
- package/dist/{ZDWCUMSJ-BqqPEOij.cjs → ZDWCUMSJ-CQXWzREv.cjs} +1 -1
- package/dist/{ZDWCUMSJ-CxKNtXtp.js → ZDWCUMSJ-DusX6DXb.js} +1 -1
- package/dist/active-in-another-tab-CSNxota6.js +34 -0
- package/dist/active-in-another-tab-rGDvhc3f.cjs +1 -0
- package/dist/{add-new-language-page-DD0qvJJs.js → add-new-language-page-C1ekdWwV.js} +20 -20
- package/dist/{add-new-language-page-D2a6GK-7.cjs → add-new-language-page-DmQ_eB85.cjs} +1 -1
- package/dist/{add-new-page-01GDCaa4.cjs → add-new-page-BImvK_fV.cjs} +1 -1
- package/dist/{add-new-page-CYtuChN1.js → add-new-page-C6gW1_B-.js} +1 -1
- package/dist/{ai-panel-content-Ouz6pu_0.cjs → ai-panel-content-BGMRcgkl.cjs} +1 -1
- package/dist/{ai-panel-content-DfdnvlS8.js → ai-panel-content-BJoNy1Yk.js} +2 -2
- package/dist/{ai-panel-default-lang-Bi2fH1so.js → ai-panel-default-lang-BLE3cVLR.js} +3 -3
- package/dist/{ai-panel-default-lang-N1pb8rzQ.cjs → ai-panel-default-lang-CNTq97FU.cjs} +2 -2
- package/dist/{ai-panel-other-lang-2JPRSyO1.js → ai-panel-other-lang-DBBxinT6.js} +3 -3
- package/dist/{ai-panel-other-lang-BysU1464.cjs → ai-panel-other-lang-VRmIp9Qm.cjs} +1 -1
- package/dist/{ai-prompt-input-JeIqWZco.cjs → ai-prompt-input-5aMuJDep.cjs} +1 -1
- package/dist/{ai-prompt-input-DadL_cng.js → ai-prompt-input-BivmKxNH.js} +2 -2
- package/dist/{ai-translation-prompt-B0si-R0R.js → ai-translation-prompt-CkvGj9Zu.js} +1 -1
- package/dist/{ai-translation-prompt-CQb1L7NM.cjs → ai-translation-prompt-hp5Ey1Eq.cjs} +1 -1
- package/dist/continue-editing-in-this-client-BdjGzFLm.cjs +1 -0
- package/dist/continue-editing-in-this-client-Bdm_5BEM.js +24 -0
- package/dist/delete-page-BHu4rVNA.js +70 -0
- package/dist/delete-page-OGCRZzrG.cjs +1 -0
- package/dist/{digital-asset-manager-jfnmWRJj.js → digital-asset-manager-C7JEgxdI.js} +1 -1
- package/dist/{digital-asset-manager-B5FQGtGY.cjs → digital-asset-manager-CaF6tRHd.cjs} +1 -1
- package/dist/{duplicate-page-BNjfZ7Wd.cjs → duplicate-page-Co3QgE3M.cjs} +1 -1
- package/dist/{duplicate-page-CERjaPIW.js → duplicate-page-DZW5jpE3.js} +13 -13
- package/dist/{dynamic-page-selector-XEWV4iCf.js → dynamic-page-selector-C2vVfVwL.js} +1 -1
- package/dist/{dynamic-page-selector-Bpz_bvRu.cjs → dynamic-page-selector-CL-sCDkO.cjs} +1 -1
- package/dist/index-DOH-lluK.js +4820 -0
- package/dist/index-MzR4MaVE.cjs +5 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -34
- package/dist/index.js +21 -22
- package/dist/{json-diff-viewer-H-2DkGza.cjs → json-diff-viewer-C69tubC8.cjs} +1 -1
- package/dist/{json-diff-viewer-DyvKomxd.js → json-diff-viewer-DVB2glQZ.js} +6 -6
- package/dist/{lang-panel-BWP5A-FD.js → lang-panel-BDNMrT8U.js} +24 -24
- package/dist/{lang-panel-DcZ7u4em.cjs → lang-panel-DWj5wlfo.cjs} +1 -1
- package/dist/{mark-as-template-B_FyVRRO.cjs → mark-as-template-Br9qxjbc.cjs} +1 -1
- package/dist/{mark-as-template-1oVraE1x.js → mark-as-template-wKn7aI8D.js} +7 -7
- package/dist/{no-language-page-content-CEci_4j7.js → no-language-page-content-C7oVsIYu.js} +1 -1
- package/dist/{no-language-page-content-JO4YYUx7.cjs → no-language-page-content-CFVzHv_Y.cjs} +1 -1
- package/dist/no-language-page-dialog-5-cAE2F2.js +10 -0
- package/dist/no-language-page-dialog-BqrxzBfj.cjs +1 -0
- package/dist/{page-creator-DJJFl7px.js → page-creator-89jgn0Ao.js} +52 -52
- package/dist/{page-creator-BGgoOA92.cjs → page-creator-itnGYmd4.cjs} +1 -1
- package/dist/page-lock-BGnEhXCW.cjs +1 -0
- package/dist/page-lock-T6QScRbl.js +30 -0
- package/dist/page-locked-dialog-B39IqdJ9.cjs +1 -0
- package/dist/page-locked-dialog-Bo2JuCSN.js +133 -0
- package/dist/page-manager-new-CElobhjD.js +354 -0
- package/dist/page-manager-new-D44_zdpQ.cjs +1 -0
- package/dist/{page-manager-search-and-filter-Dgh8iyGp.cjs → page-manager-search-and-filter-DmXFyylC.cjs} +1 -1
- package/dist/{page-manager-search-and-filter-DbUoW8Di.js → page-manager-search-and-filter-VgVbeup1.js} +1 -1
- package/dist/{page-revisions-content-CxEJGxLY.js → page-revisions-content-C3GLr_sM.js} +19 -19
- package/dist/{page-revisions-content-CwoXXE53.cjs → page-revisions-content-CsxGDRzT.cjs} +1 -1
- package/dist/pages.css +1 -1
- package/dist/publish-pages-content-CdwZOxtG.cjs +1 -0
- package/dist/{publish-pages-content-CfAlmivf.js → publish-pages-content-Cj6sTZ-B.js} +88 -88
- package/dist/{save-to-lib-DpyJA0y1.cjs → save-to-lib-BjfzVByH.cjs} +1 -1
- package/dist/{save-to-lib-BCaBfh0I.js → save-to-lib-DtdHpuWg.js} +1 -1
- package/dist/{selected-block-display-CqnwyGRp.cjs → selected-block-display-B0yeKnWl.cjs} +1 -1
- package/dist/{selected-block-display-BmNhvYKu.js → selected-block-display-DVzQ888o.js} +1 -1
- package/dist/{seo-panel-D-nKfsRJ.cjs → seo-panel-CaXQTicZ.cjs} +1 -1
- package/dist/{seo-panel-BH8fcGqr.js → seo-panel-h6FQkwhv.js} +61 -61
- package/dist/{shared-json-ld-zTDoJzUv.js → shared-json-ld-B1HhFgk0.js} +39 -39
- package/dist/{shared-json-ld-m_OsVv8h.cjs → shared-json-ld-DcYfd7Sl.cjs} +1 -1
- package/dist/{slug-input-CumDDlCk.js → slug-input-Bq48cfWr.js} +1 -1
- package/dist/{slug-input-vzNtu37S.cjs → slug-input-DDDMhrBe.cjs} +1 -1
- package/dist/take-over-request-BC2Rh5wd.js +63 -0
- package/dist/take-over-request-Cpa9ooTw.cjs +1 -0
- package/dist/{theme-panel-footer-CdUmjB-e.js → theme-panel-footer-B4D33YEO.js} +4 -4
- package/dist/{theme-panel-footer-CKccBcd9.cjs → theme-panel-footer-DoFYuPy1.cjs} +1 -1
- package/dist/{unmark-as-template-BNFOsxIg.cjs → unmark-as-template-4A6kxi6r.cjs} +1 -1
- package/dist/{unmark-as-template-6ew-7bf8.js → unmark-as-template-fkt1rehy.js} +1 -1
- package/dist/{unpublish-page-BomE76Wg.js → unpublish-page-IQ4WTVMd.js} +9 -9
- package/dist/{unpublish-page-BZQpTpU3.cjs → unpublish-page-uIYo5nwG.cjs} +1 -1
- package/dist/{web-preview-C5QTX7bS.cjs → web-preview-BvfhE4ij.cjs} +1 -1
- package/dist/{web-preview-jo8lnpEx.js → web-preview-DYbA7jro.js} +1 -1
- package/package.json +3 -3
- package/dist/delete-page-C8Nt7IYF.cjs +0 -1
- package/dist/delete-page-_96Di9yN.js +0 -40
- package/dist/index-Pdb5tSRL.cjs +0 -5
- package/dist/index-e9WlBH0R.js +0 -4960
- package/dist/page-lock-request-BoYzkcyt.cjs +0 -1
- package/dist/page-lock-request-WzpcD2ZN.js +0 -75
- package/dist/page-locked-by-dialog-Djvjp2Hx.js +0 -68
- package/dist/page-locked-by-dialog-bvI27OZ6.cjs +0 -1
- package/dist/page-manager-new-CMfGorRQ.cjs +0 -1
- package/dist/page-manager-new-DmVX0qLk.js +0 -354
- package/dist/publish-pages-content-BRu7qwAo.cjs +0 -1
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { jsx as e, jsxs as s } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { useLanguages as z, useTranslation as ke, useSidebarActivePanel as
|
|
2
|
+
import { l as ye, ar as ve, aq as xe, A as Ne, L as Z, aw as we, aN as Se, aO as De, i as be, ay as Oe, aP as Le, aQ as Ce, aR as E, aS as Ie, aE as ee } from "./index-DOH-lluK.js";
|
|
3
|
+
import { useLanguages as z, useTranslation as ke, useSidebarActivePanel as Ee, usePermissions as Te } from "@chaibuilder/sdk";
|
|
4
4
|
import { find as Fe, get as h, isEqual as te, isEmpty as je } from "lodash-es";
|
|
5
5
|
import { useMemo as Re, useRef as ae, useState as j, useEffect as se } from "react";
|
|
6
|
-
import { Button as P, Dialog as Ae, DialogContent as Pe, DialogHeader as Je, DialogTitle as Ve, DialogDescription as Ue, Alert as Ge, AlertDescription as Me, Tabs as Be, TabsList as $e, TabsTrigger as
|
|
6
|
+
import { Button as P, Dialog as Ae, DialogContent as Pe, DialogHeader as Je, DialogTitle as Ve, DialogDescription as Ue, Alert as Ge, AlertDescription as Me, Tabs as Be, TabsList as $e, TabsTrigger as H, Label as N, Input as R, Textarea as ne } from "@chaibuilder/sdk/ui";
|
|
7
7
|
import { toast as O } from "sonner";
|
|
8
|
-
import { useMutation as
|
|
9
|
-
import { Loader as
|
|
8
|
+
import { useMutation as qe } from "@tanstack/react-query";
|
|
9
|
+
import { Loader as He, Wand2Icon as _e } from "lucide-react";
|
|
10
10
|
import { g as _ } from "./get-seo-defaults-9zHebckY.js";
|
|
11
11
|
const ze = () => {
|
|
12
12
|
const { selectedLang: a } = z(), { data: u, isFetching: c } = ye();
|
|
13
13
|
return { data: Re(() => Fe(u, { lang: a || "" }) || {}, [u, a]), isFetching: c };
|
|
14
|
-
},
|
|
14
|
+
}, Ye = () => {
|
|
15
15
|
var p;
|
|
16
16
|
const u = (p = document.getElementById("canvas-iframe").contentDocument) == null ? void 0 : p.body.innerHTML;
|
|
17
17
|
if (!u) return null;
|
|
@@ -26,16 +26,16 @@ const ze = () => {
|
|
|
26
26
|
onComplete: u,
|
|
27
27
|
field: c
|
|
28
28
|
}) => {
|
|
29
|
-
const i =
|
|
29
|
+
const i = ve(), r = xe(), { selectedLang: x, fallbackLang: p } = z(), { mutate: d, isPending: m } = qe({
|
|
30
30
|
mutationFn: async () => {
|
|
31
|
-
const b =
|
|
31
|
+
const b = Ye();
|
|
32
32
|
return await i(r, {
|
|
33
33
|
action: Ne.GENERATE_SEO_FIELD,
|
|
34
34
|
data: {
|
|
35
35
|
pageContext: "",
|
|
36
36
|
dynamic: !1,
|
|
37
37
|
field: c,
|
|
38
|
-
lang:
|
|
38
|
+
lang: x || p,
|
|
39
39
|
pageContent: b,
|
|
40
40
|
keyword: a
|
|
41
41
|
}
|
|
@@ -57,19 +57,19 @@ const ze = () => {
|
|
|
57
57
|
variant: "ghost",
|
|
58
58
|
size: "sm",
|
|
59
59
|
onClick: () => d(),
|
|
60
|
-
children: m ? /* @__PURE__ */ e(
|
|
60
|
+
children: m ? /* @__PURE__ */ e(He, { className: "h-3 w-3 animate-spin text-yellow-500" }) : /* @__PURE__ */ e(_e, { className: "text-yellow-500" })
|
|
61
61
|
}
|
|
62
62
|
);
|
|
63
|
-
},
|
|
63
|
+
}, Ke = ({
|
|
64
64
|
isOpen: a,
|
|
65
65
|
onClose: u,
|
|
66
66
|
onSave: c,
|
|
67
67
|
onDiscard: i,
|
|
68
68
|
isSaving: r = !1,
|
|
69
|
-
fromLanguage:
|
|
69
|
+
fromLanguage: x,
|
|
70
70
|
toLanguage: p
|
|
71
71
|
}) => {
|
|
72
|
-
const d = Z[
|
|
72
|
+
const d = Z[x] || x, m = Z[p] || p;
|
|
73
73
|
return /* @__PURE__ */ e(Ae, { open: a, onOpenChange: u, children: /* @__PURE__ */ s(Pe, { className: "sm:max-w-[425px]", children: [
|
|
74
74
|
/* @__PURE__ */ s(Je, { children: [
|
|
75
75
|
/* @__PURE__ */ e(Ve, { children: "Unsaved SEO Changes" }),
|
|
@@ -86,22 +86,22 @@ const ze = () => {
|
|
|
86
86
|
/* @__PURE__ */ e(P, { onClick: c, disabled: r, children: r ? "Saving..." : "Save & Switch" })
|
|
87
87
|
] })
|
|
88
88
|
] }) });
|
|
89
|
-
},
|
|
89
|
+
}, Qe = (a) => {
|
|
90
90
|
if (!a) return !0;
|
|
91
91
|
try {
|
|
92
92
|
return JSON.parse(a), !0;
|
|
93
93
|
} catch {
|
|
94
94
|
return !1;
|
|
95
95
|
}
|
|
96
|
-
},
|
|
97
|
-
const c = a.selectionStart || 0, i = a.selectionEnd || 0, r = a.value,
|
|
96
|
+
}, We = (a, u) => {
|
|
97
|
+
const c = a.selectionStart || 0, i = a.selectionEnd || 0, r = a.value, x = r.substring(0, c), p = r.substring(i), d = `{{${u}}}`, m = x + "" + d + p, b = c + 0 + // Account for space before if added
|
|
98
98
|
d.length;
|
|
99
99
|
return {
|
|
100
100
|
value: m,
|
|
101
101
|
newCursorPos: b
|
|
102
102
|
};
|
|
103
103
|
}, Xe = () => {
|
|
104
|
-
const { t: a } = ke(), [, u] =
|
|
104
|
+
const { t: a } = ke(), [, u] = Ee(), { data: c } = we(), { data: i } = Se(), { data: r, isFetching: x } = ze(), p = r == null ? void 0 : r.seo, d = ae(null), [m, b] = j("seo"), J = c == null ? void 0 : c.id, oe = c == null ? void 0 : c.pageType, C = De(oe), { selectedLang: Y, fallbackLang: le } = z(), g = Y || le, [K, U] = j(!1), [re, Q] = j(!1), [ie, G] = j(!1), [w, M] = j(null), [n, S] = j({
|
|
105
105
|
keyword: "",
|
|
106
106
|
title: "",
|
|
107
107
|
description: "",
|
|
@@ -117,9 +117,9 @@ const ze = () => {
|
|
|
117
117
|
jsonLD: "{}",
|
|
118
118
|
metaOther: "{}",
|
|
119
119
|
...p
|
|
120
|
-
}),
|
|
120
|
+
}), T = ae({}), { mutate: ce, isPending: B } = be(), f = B || K || re, { hasPermission: de } = Te(), o = de(Oe.EDIT_SEO), [me] = Le(), he = h(me, "features.canResetSeoToDefault", !1), W = !Y || n.jsonLD !== "{}";
|
|
121
121
|
se(() => {
|
|
122
|
-
if (!
|
|
122
|
+
if (!x && p && J) {
|
|
123
123
|
const t = {
|
|
124
124
|
keyword: "",
|
|
125
125
|
title: "",
|
|
@@ -137,22 +137,22 @@ const ze = () => {
|
|
|
137
137
|
metaOther: "",
|
|
138
138
|
...p
|
|
139
139
|
};
|
|
140
|
-
S(t),
|
|
140
|
+
S(t), T.current[g] = t;
|
|
141
141
|
}
|
|
142
|
-
}, [
|
|
142
|
+
}, [x, p, g, J]), se(() => {
|
|
143
143
|
const t = (l) => {
|
|
144
|
-
const { fromLang: D, toLang: V, switchHandler:
|
|
145
|
-
($ ? !te($, n) : !1) ? (M({ fromLang: D, toLang: V, switchHandler:
|
|
144
|
+
const { fromLang: D, toLang: V, switchHandler: v } = l.detail, $ = T.current[g];
|
|
145
|
+
($ ? !te($, n) : !1) ? (M({ fromLang: D, toLang: V, switchHandler: v }), G(!0)) : v();
|
|
146
146
|
};
|
|
147
147
|
return window.addEventListener("seo-language-switch-check", t), () => {
|
|
148
148
|
window.removeEventListener("seo-language-switch-check", t);
|
|
149
149
|
};
|
|
150
150
|
}, [J, n, g]);
|
|
151
151
|
const ge = async () => {
|
|
152
|
-
if (!(!
|
|
152
|
+
if (!(!C || !g))
|
|
153
153
|
try {
|
|
154
154
|
U(!0);
|
|
155
|
-
const t = _(
|
|
155
|
+
const t = _(C, g), l = {
|
|
156
156
|
...n,
|
|
157
157
|
keyword: h(t, "seo.keyword", ""),
|
|
158
158
|
title: h(t, "seo.title", ""),
|
|
@@ -171,10 +171,10 @@ const ze = () => {
|
|
|
171
171
|
U(!1);
|
|
172
172
|
}
|
|
173
173
|
}, ue = async () => {
|
|
174
|
-
if (!(!
|
|
174
|
+
if (!(!C || !g))
|
|
175
175
|
try {
|
|
176
|
-
|
|
177
|
-
const t = _(
|
|
176
|
+
Q(!0);
|
|
177
|
+
const t = _(C, g), l = {
|
|
178
178
|
...n,
|
|
179
179
|
jsonLD: h(t, "seo.jsonLD", "")
|
|
180
180
|
};
|
|
@@ -182,13 +182,13 @@ const ze = () => {
|
|
|
182
182
|
} catch (t) {
|
|
183
183
|
O.error(a("Failed to reset JSON-LD")), console.error("Reset JSON-LD error:", t);
|
|
184
184
|
} finally {
|
|
185
|
-
|
|
185
|
+
Q(!1);
|
|
186
186
|
}
|
|
187
187
|
}, pe = async () => {
|
|
188
|
-
if (!(!
|
|
188
|
+
if (!(!C || !g))
|
|
189
189
|
try {
|
|
190
190
|
U(!0);
|
|
191
|
-
const t = _(
|
|
191
|
+
const t = _(C, g), l = {
|
|
192
192
|
...n,
|
|
193
193
|
ogTitle: h(t, "seo.ogTitle", ""),
|
|
194
194
|
ogDescription: h(t, "seo.ogDescription", ""),
|
|
@@ -207,33 +207,33 @@ const ze = () => {
|
|
|
207
207
|
{ id: r == null ? void 0 : r.id, seo: n, primaryPage: J },
|
|
208
208
|
{
|
|
209
209
|
onSuccess: () => {
|
|
210
|
-
console.log("SEO & JSON-LD updated successfully", n),
|
|
210
|
+
console.log("SEO & JSON-LD updated successfully", n), T.current[g] = n, O.success("SEO & JSON-LD updated successfully");
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
213
|
);
|
|
214
214
|
}, L = (t, l) => {
|
|
215
215
|
const D = document.getElementById(l);
|
|
216
216
|
if (D) {
|
|
217
|
-
const { value: V, newCursorPos:
|
|
217
|
+
const { value: V, newCursorPos: v } = We(D, t);
|
|
218
218
|
d.current = {
|
|
219
219
|
id: l,
|
|
220
|
-
position:
|
|
220
|
+
position: v
|
|
221
221
|
}, D.tagName.toLowerCase() === "input" ? (D.value = V, S((k) => ({
|
|
222
222
|
...k,
|
|
223
223
|
[D.name]: V
|
|
224
|
-
})), D.focus(), D.setSelectionRange(
|
|
224
|
+
})), D.focus(), D.setSelectionRange(v, v), [0, 10, 50, 100, 200].forEach((k) => {
|
|
225
225
|
setTimeout(() => {
|
|
226
|
-
const
|
|
227
|
-
|
|
226
|
+
const q = document.getElementById(l);
|
|
227
|
+
q && (q.focus(), q.setSelectionRange(v, v));
|
|
228
228
|
}, k);
|
|
229
|
-
})) : (S((
|
|
230
|
-
...
|
|
229
|
+
})) : (S((I) => ({
|
|
230
|
+
...I,
|
|
231
231
|
[D.name]: V
|
|
232
232
|
})), requestAnimationFrame(() => {
|
|
233
|
-
const
|
|
234
|
-
|
|
233
|
+
const I = document.getElementById(l);
|
|
234
|
+
I && (I.focus(), I.setSelectionRange(v, v), setTimeout(() => {
|
|
235
235
|
const k = document.getElementById(l);
|
|
236
|
-
k && (k.focus(), k.setSelectionRange(
|
|
236
|
+
k && (k.focus(), k.setSelectionRange(v, v));
|
|
237
237
|
}, 50));
|
|
238
238
|
}));
|
|
239
239
|
}
|
|
@@ -271,20 +271,20 @@ const ze = () => {
|
|
|
271
271
|
/* @__PURE__ */ e("div", { className: "font-medium", children: r == null ? void 0 : r.name }),
|
|
272
272
|
/* @__PURE__ */ e("span", { className: "font-mono text-xs leading-tight text-gray-500", children: r == null ? void 0 : r.slug })
|
|
273
273
|
] }),
|
|
274
|
-
/* @__PURE__ */ e(
|
|
274
|
+
/* @__PURE__ */ e(Ce, { variant: "outline", showAdd: !1 })
|
|
275
275
|
] }),
|
|
276
276
|
/* @__PURE__ */ e("form", { className: "space-y-8", children: /* @__PURE__ */ s(Be, { value: m, onValueChange: b, className: "w-full", children: [
|
|
277
277
|
/* @__PURE__ */ s($e, { className: "mb-4 grid w-full grid-cols-3", children: [
|
|
278
|
-
/* @__PURE__ */ e(
|
|
279
|
-
/* @__PURE__ */ e(
|
|
280
|
-
/* @__PURE__ */ e(
|
|
278
|
+
/* @__PURE__ */ e(H, { value: "seo", children: a("SEO") }),
|
|
279
|
+
/* @__PURE__ */ e(H, { value: "opengraph", children: a("Meta Tags") }),
|
|
280
|
+
/* @__PURE__ */ e(H, { value: "jsonld", children: a("JSON-LD") })
|
|
281
281
|
] }),
|
|
282
282
|
/* @__PURE__ */ e("div", { className: m === "seo" ? "" : "sr-only", children: /* @__PURE__ */ s("div", { className: "space-y-4", children: [
|
|
283
283
|
/* @__PURE__ */ s("div", { className: "space-y-1", children: [
|
|
284
284
|
/* @__PURE__ */ s("div", { className: "flex items-center justify-between", children: [
|
|
285
285
|
/* @__PURE__ */ e(N, { className: "text-xs", htmlFor: "keyword", children: a("Keyword") }),
|
|
286
286
|
o && /* @__PURE__ */ e(
|
|
287
|
-
|
|
287
|
+
E,
|
|
288
288
|
{
|
|
289
289
|
dataType: "value",
|
|
290
290
|
data: i ?? {},
|
|
@@ -312,7 +312,7 @@ const ze = () => {
|
|
|
312
312
|
/* @__PURE__ */ s("div", { className: "flex items-center justify-end gap-2", children: [
|
|
313
313
|
/* @__PURE__ */ e(A, { keyword: n.keyword, onComplete: F("title"), field: "title" }),
|
|
314
314
|
o && /* @__PURE__ */ e(
|
|
315
|
-
|
|
315
|
+
E,
|
|
316
316
|
{
|
|
317
317
|
dataType: "value",
|
|
318
318
|
data: i ?? {},
|
|
@@ -348,7 +348,7 @@ const ze = () => {
|
|
|
348
348
|
}
|
|
349
349
|
),
|
|
350
350
|
o && /* @__PURE__ */ e(
|
|
351
|
-
|
|
351
|
+
E,
|
|
352
352
|
{
|
|
353
353
|
data: i ?? {},
|
|
354
354
|
onSelect: (t) => L(t, "description")
|
|
@@ -374,7 +374,7 @@ const ze = () => {
|
|
|
374
374
|
/* @__PURE__ */ s("div", { className: "flex items-center justify-between", children: [
|
|
375
375
|
/* @__PURE__ */ e(N, { className: "text-xs", htmlFor: "title", children: a("Canonical URL") }),
|
|
376
376
|
o && /* @__PURE__ */ e(
|
|
377
|
-
|
|
377
|
+
E,
|
|
378
378
|
{
|
|
379
379
|
dataType: "value",
|
|
380
380
|
data: i ?? {},
|
|
@@ -449,7 +449,7 @@ const ze = () => {
|
|
|
449
449
|
}
|
|
450
450
|
),
|
|
451
451
|
o && /* @__PURE__ */ e(
|
|
452
|
-
|
|
452
|
+
E,
|
|
453
453
|
{
|
|
454
454
|
dataType: "value",
|
|
455
455
|
data: i ?? {},
|
|
@@ -485,7 +485,7 @@ const ze = () => {
|
|
|
485
485
|
}
|
|
486
486
|
),
|
|
487
487
|
o && /* @__PURE__ */ e(
|
|
488
|
-
|
|
488
|
+
E,
|
|
489
489
|
{
|
|
490
490
|
dataType: "value",
|
|
491
491
|
data: i ?? {},
|
|
@@ -512,7 +512,7 @@ const ze = () => {
|
|
|
512
512
|
/* @__PURE__ */ s("div", { className: "flex items-center justify-between", children: [
|
|
513
513
|
/* @__PURE__ */ e(N, { className: "text-xs", htmlFor: "ogImage", children: a("OG Image") }),
|
|
514
514
|
o && /* @__PURE__ */ e(
|
|
515
|
-
|
|
515
|
+
E,
|
|
516
516
|
{
|
|
517
517
|
dataType: "value",
|
|
518
518
|
data: i ?? {},
|
|
@@ -527,7 +527,7 @@ const ze = () => {
|
|
|
527
527
|
)
|
|
528
528
|
] }),
|
|
529
529
|
/* @__PURE__ */ e(
|
|
530
|
-
|
|
530
|
+
Ie,
|
|
531
531
|
{
|
|
532
532
|
assetId: n.ogImageId,
|
|
533
533
|
assetUrl: n.ogImage,
|
|
@@ -580,7 +580,7 @@ const ze = () => {
|
|
|
580
580
|
/* @__PURE__ */ e("div", { className: m === "jsonld" ? "" : "sr-only", children: /* @__PURE__ */ e("div", { className: "space-y-4", children: /* @__PURE__ */ s("div", { className: "space-y-1", children: [
|
|
581
581
|
/* @__PURE__ */ s("div", { className: "flex items-center justify-between", children: [
|
|
582
582
|
/* @__PURE__ */ e(N, { className: "text-xs", htmlFor: "jsonLD", children: a("JSON-LD") }),
|
|
583
|
-
|
|
583
|
+
W && /* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ e(A, { keyword: n.keyword, onComplete: F("jsonLD"), field: "jsonLD" }) })
|
|
584
584
|
] }),
|
|
585
585
|
/* @__PURE__ */ e("div", { className: "hidden", children: JSON.stringify(i) }),
|
|
586
586
|
/* @__PURE__ */ e(
|
|
@@ -597,7 +597,7 @@ const ze = () => {
|
|
|
597
597
|
pageData: i || {},
|
|
598
598
|
rows: 12,
|
|
599
599
|
handleFieldInsert: L,
|
|
600
|
-
hasJsonLdForSelectedLang:
|
|
600
|
+
hasJsonLdForSelectedLang: W,
|
|
601
601
|
copyJsonLDFromDefaultPage: fe
|
|
602
602
|
}
|
|
603
603
|
)
|
|
@@ -614,8 +614,8 @@ const ze = () => {
|
|
|
614
614
|
onClick: () => {
|
|
615
615
|
m === "jsonld" ? ue() : m === "opengraph" ? pe() : ge();
|
|
616
616
|
},
|
|
617
|
-
disabled: f || !o || !
|
|
618
|
-
children: a(
|
|
617
|
+
disabled: f || !o || !C,
|
|
618
|
+
children: a(K ? "Resetting..." : `Reset to ${m === "jsonld" ? "Default JSON-LD" : m === "opengraph" ? "Default Open Graph" : "Default SEO"}`)
|
|
619
619
|
}
|
|
620
620
|
) : /* @__PURE__ */ e("div", {}),
|
|
621
621
|
/* @__PURE__ */ s("div", { className: "flex items-center gap-4", children: [
|
|
@@ -623,7 +623,7 @@ const ze = () => {
|
|
|
623
623
|
P,
|
|
624
624
|
{
|
|
625
625
|
onClick: X,
|
|
626
|
-
disabled: !
|
|
626
|
+
disabled: !Qe(n == null ? void 0 : n.jsonLD) || (T.current[g] ? te(T.current[g], n) : !1) || f || !o,
|
|
627
627
|
children: a(B ? "Saving..." : "Save")
|
|
628
628
|
}
|
|
629
629
|
),
|
|
@@ -639,7 +639,7 @@ const ze = () => {
|
|
|
639
639
|
] })
|
|
640
640
|
] }),
|
|
641
641
|
/* @__PURE__ */ e(
|
|
642
|
-
|
|
642
|
+
Ke,
|
|
643
643
|
{
|
|
644
644
|
isOpen: ie,
|
|
645
645
|
onClose: () => {
|
|
@@ -650,7 +650,7 @@ const ze = () => {
|
|
|
650
650
|
},
|
|
651
651
|
onDiscard: () => {
|
|
652
652
|
if (w) {
|
|
653
|
-
const t =
|
|
653
|
+
const t = T.current[g];
|
|
654
654
|
t && S(t), w.switchHandler(), G(!1), M(null);
|
|
655
655
|
}
|
|
656
656
|
},
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { jsx as e, jsxs as n, Fragment as
|
|
1
|
+
import { jsx as e, jsxs as n, Fragment as G } from "react/jsx-runtime";
|
|
2
2
|
import { useLanguages as me } from "@chaibuilder/sdk";
|
|
3
3
|
import { useQuery as he, useQueryClient as ue } from "@tanstack/react-query";
|
|
4
|
-
import {
|
|
5
|
-
import { Dialog as $, DialogContent as W, DialogHeader as Y, DialogTitle as X, Alert as we, AlertDescription as Ae, Label as y, Input as
|
|
6
|
-
import { filter as Je, find as
|
|
7
|
-
import { Info as
|
|
4
|
+
import { aq as ge, ar as fe, A as U, aw as te, aC as pe, aD as se, aE as re, aF as de, aG as xe, aH as Ne, aI as be, l as ye, aJ as ve } from "./index-DOH-lluK.js";
|
|
5
|
+
import { Dialog as $, DialogContent as W, DialogHeader as Y, DialogTitle as X, Alert as we, AlertDescription as Ae, Label as y, Input as j, Button as v, AlertDialog as _, AlertDialogContent as R, AlertDialogHeader as q, AlertDialogTitle as M, AlertDialogDescription as H, AlertDialogFooter as Q, AlertDialogCancel as V, AlertDialogAction as K, Tooltip as L, TooltipTrigger as J, TooltipContent as F, ScrollArea as Ce, Card as Se, CardHeader as Pe, CardTitle as Te, AlertDialogTrigger as De, CardContent as Ee, Textarea as Le } from "@chaibuilder/sdk/ui";
|
|
6
|
+
import { filter as Je, find as Fe } from "lodash-es";
|
|
7
|
+
import { Info as Oe, Loader as O, Plus as ke, Eye as Ge, Edit as je, Trash as Be } from "lucide-react";
|
|
8
8
|
import { useState as g, useEffect as Z, useMemo as z } from "react";
|
|
9
9
|
import { toast as B } from "sonner";
|
|
10
10
|
const oe = () => {
|
|
@@ -67,7 +67,7 @@ const oe = () => {
|
|
|
67
67
|
/* @__PURE__ */ e(Y, { children: /* @__PURE__ */ e(X, { children: "Add New Shared JSON-LD Schema" }) }),
|
|
68
68
|
/* @__PURE__ */ n("div", { className: "flex max-h-[75vh] flex-col space-y-2 overflow-y-auto", children: [
|
|
69
69
|
(a == null ? void 0 : a.languageCode) && /* @__PURE__ */ n(we, { className: "border-blue-200 bg-blue-50", children: [
|
|
70
|
-
/* @__PURE__ */ e(
|
|
70
|
+
/* @__PURE__ */ e(Oe, { className: "h-4 w-4 text-blue-600" }),
|
|
71
71
|
/* @__PURE__ */ n(Ae, { className: "text-sm text-blue-800", children: [
|
|
72
72
|
"You are creating a ",
|
|
73
73
|
/* @__PURE__ */ e("span", { className: "font-semibold", children: a.languageCode }),
|
|
@@ -77,7 +77,7 @@ const oe = () => {
|
|
|
77
77
|
/* @__PURE__ */ n("div", { children: [
|
|
78
78
|
/* @__PURE__ */ e(y, { htmlFor: "new-name", children: "Schema Name" }),
|
|
79
79
|
/* @__PURE__ */ e(
|
|
80
|
-
|
|
80
|
+
j,
|
|
81
81
|
{
|
|
82
82
|
id: "new-name",
|
|
83
83
|
value: d.name,
|
|
@@ -90,7 +90,7 @@ const oe = () => {
|
|
|
90
90
|
/* @__PURE__ */ n("div", { children: [
|
|
91
91
|
/* @__PURE__ */ e(y, { htmlFor: "new-description", children: "Description" }),
|
|
92
92
|
/* @__PURE__ */ e(
|
|
93
|
-
|
|
93
|
+
j,
|
|
94
94
|
{
|
|
95
95
|
id: "new-description",
|
|
96
96
|
value: d.description || "",
|
|
@@ -148,10 +148,10 @@ const oe = () => {
|
|
|
148
148
|
] }),
|
|
149
149
|
/* @__PURE__ */ e("div", { className: "border-t pt-3", children: /* @__PURE__ */ n("div", { className: "flex items-center justify-end gap-2", children: [
|
|
150
150
|
/* @__PURE__ */ e(v, { disabled: p, variant: "outline", type: "button", size: "sm", onClick: () => i(), children: "Cancel" }),
|
|
151
|
-
/* @__PURE__ */ e(v, { disabled: p, type: "button", size: "sm", onClick: o, children: p ? /* @__PURE__ */ n(
|
|
152
|
-
/* @__PURE__ */ e(
|
|
151
|
+
/* @__PURE__ */ e(v, { disabled: p, type: "button", size: "sm", onClick: o, children: p ? /* @__PURE__ */ n(G, { children: [
|
|
152
|
+
/* @__PURE__ */ e(O, { className: "h-4 w-4 animate-spin" }),
|
|
153
153
|
" Adding"
|
|
154
|
-
] }) : /* @__PURE__ */ n(
|
|
154
|
+
] }) : /* @__PURE__ */ n(G, { children: [
|
|
155
155
|
"Add Schema",
|
|
156
156
|
(a == null ? void 0 : a.languageCode) && ` (${a.languageCode})`
|
|
157
157
|
] }) })
|
|
@@ -168,7 +168,7 @@ const oe = () => {
|
|
|
168
168
|
Z(() => {
|
|
169
169
|
var m, D;
|
|
170
170
|
if (l && c) {
|
|
171
|
-
const b = c.find((
|
|
171
|
+
const b = c.find((E) => E.id === l);
|
|
172
172
|
b && (d({
|
|
173
173
|
name: b.name,
|
|
174
174
|
description: ((m = b.metadata) == null ? void 0 : m.description) || "",
|
|
@@ -224,7 +224,7 @@ const oe = () => {
|
|
|
224
224
|
/* @__PURE__ */ n("div", { children: [
|
|
225
225
|
/* @__PURE__ */ e(y, { htmlFor: "edit-name", children: "Schema Name" }),
|
|
226
226
|
/* @__PURE__ */ e(
|
|
227
|
-
|
|
227
|
+
j,
|
|
228
228
|
{
|
|
229
229
|
id: "edit-name",
|
|
230
230
|
value: a.name,
|
|
@@ -237,7 +237,7 @@ const oe = () => {
|
|
|
237
237
|
/* @__PURE__ */ n("div", { children: [
|
|
238
238
|
/* @__PURE__ */ e(y, { htmlFor: "edit-description", children: "Description" }),
|
|
239
239
|
/* @__PURE__ */ e(
|
|
240
|
-
|
|
240
|
+
j,
|
|
241
241
|
{
|
|
242
242
|
id: "edit-description",
|
|
243
243
|
value: a.description || "",
|
|
@@ -277,8 +277,8 @@ const oe = () => {
|
|
|
277
277
|
] }),
|
|
278
278
|
/* @__PURE__ */ e("div", { className: "border-t pt-3", children: /* @__PURE__ */ n("div", { className: "flex items-center justify-end gap-2", children: [
|
|
279
279
|
/* @__PURE__ */ e(v, { disabled: o, variant: "outline", type: "button", size: "sm", onClick: () => i(), children: "Cancel" }),
|
|
280
|
-
/* @__PURE__ */ e(v, { disabled: o, type: "button", size: "sm", onClick: A, children: o ? /* @__PURE__ */ n(
|
|
281
|
-
/* @__PURE__ */ e(
|
|
280
|
+
/* @__PURE__ */ e(v, { disabled: o, type: "button", size: "sm", onClick: A, children: o ? /* @__PURE__ */ n(G, { children: [
|
|
281
|
+
/* @__PURE__ */ e(O, { className: "h-4 w-4 animate-spin" }),
|
|
282
282
|
" Updating"
|
|
283
283
|
] }) : "Update Schema" })
|
|
284
284
|
] }) })
|
|
@@ -315,7 +315,7 @@ const oe = () => {
|
|
|
315
315
|
};
|
|
316
316
|
function Xe() {
|
|
317
317
|
const [l, i] = g(!1), [a, d] = g(void 0), [f, x] = g(null), [P, u] = g(null), [C, p] = g(null), { data: c, isLoading: w } = oe(), { selectedLang: o } = me(), { data: t } = te(), { data: N } = ye(), { mutateAsync: A } = ve(), { mutateAsync: I } = se(), T = z(() => N == null ? void 0 : N.find((s) => !s.primaryPage && s.lang === ""), [N]), m = z(() => (T == null ? void 0 : T.globalJsonLds) || [], [T]), D = z(() => c ? Je(c, (r) => r.primaryPage === null && r.lang === "").map((r) => {
|
|
318
|
-
const h = o ?
|
|
318
|
+
const h = o ? Fe(c, (S) => S.primaryPage === r.id && S.lang === o) : null;
|
|
319
319
|
return {
|
|
320
320
|
defaultSchema: r,
|
|
321
321
|
languageVersion: h,
|
|
@@ -323,15 +323,15 @@ function Xe() {
|
|
|
323
323
|
displayItem: h || r,
|
|
324
324
|
hasLanguageVersion: !!h
|
|
325
325
|
};
|
|
326
|
-
}) : [], [c, o]), [b,
|
|
326
|
+
}) : [], [c, o]), [b, E] = g([]), k = b.length > 0 ? b : (t == null ? void 0 : t.globalJsonLds) || [];
|
|
327
327
|
Z(() => {
|
|
328
|
-
t != null && t.globalJsonLds &&
|
|
328
|
+
t != null && t.globalJsonLds && E(t.globalJsonLds);
|
|
329
329
|
}, [t == null ? void 0 : t.globalJsonLds]);
|
|
330
330
|
const ie = async (s) => {
|
|
331
331
|
if (!(t != null && t.id)) return;
|
|
332
332
|
p(s);
|
|
333
333
|
const r = k.includes(s), h = r ? k.filter((S) => S !== s) : [...k, s];
|
|
334
|
-
|
|
334
|
+
E(h);
|
|
335
335
|
try {
|
|
336
336
|
await I({
|
|
337
337
|
schemaId: s,
|
|
@@ -339,7 +339,7 @@ function Xe() {
|
|
|
339
339
|
enabled: !r
|
|
340
340
|
});
|
|
341
341
|
} catch {
|
|
342
|
-
|
|
342
|
+
E(t.globalJsonLds);
|
|
343
343
|
} finally {
|
|
344
344
|
p(null);
|
|
345
345
|
}
|
|
@@ -357,7 +357,7 @@ function Xe() {
|
|
|
357
357
|
/* @__PURE__ */ e("div", { className: "text-xs font-medium", children: "Shared JSON-LD Templates" }),
|
|
358
358
|
/* @__PURE__ */ e("div", { className: "w-full text-xs text-gray-500", children: "Manage reusable JSON-LD schemas that can be applied across multiple pages" })
|
|
359
359
|
] }),
|
|
360
|
-
!o && /* @__PURE__ */ n(
|
|
360
|
+
!o && /* @__PURE__ */ n(L, { delayDuration: 0, children: [
|
|
361
361
|
/* @__PURE__ */ e(
|
|
362
362
|
J,
|
|
363
363
|
{
|
|
@@ -367,10 +367,10 @@ function Xe() {
|
|
|
367
367
|
onClick: (s) => {
|
|
368
368
|
s.stopPropagation(), i(!0);
|
|
369
369
|
},
|
|
370
|
-
children: w ? /* @__PURE__ */ e(
|
|
370
|
+
children: w ? /* @__PURE__ */ e(O, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ e(ke, { className: "h-4 w-4" })
|
|
371
371
|
}
|
|
372
372
|
),
|
|
373
|
-
/* @__PURE__ */ e(
|
|
373
|
+
/* @__PURE__ */ e(F, { children: "Add new schema" })
|
|
374
374
|
] })
|
|
375
375
|
] }),
|
|
376
376
|
/* @__PURE__ */ n(Ce, { className: "max-h-96 overflow-y-auto", children: [
|
|
@@ -384,10 +384,10 @@ function Xe() {
|
|
|
384
384
|
{
|
|
385
385
|
className: `relative border-gray-300 p-0 shadow-none transition-all ${C === r.id ? "pointer-events-none" : ""}`,
|
|
386
386
|
children: [
|
|
387
|
-
C === r.id && /* @__PURE__ */ e("div", { className: "absolute bottom-0 left-0 right-0 top-0 z-50 flex items-center justify-center rounded-xl bg-white/80", children: /* @__PURE__ */ e(
|
|
387
|
+
C === r.id && /* @__PURE__ */ e("div", { className: "absolute bottom-0 left-0 right-0 top-0 z-50 flex items-center justify-center rounded-xl bg-white/80", children: /* @__PURE__ */ e(O, { className: "h-5 w-5 animate-spin text-primary" }) }),
|
|
388
388
|
/* @__PURE__ */ e(Pe, { className: "p-2", children: /* @__PURE__ */ n("div", { className: "flex items-center justify-between", children: [
|
|
389
389
|
/* @__PURE__ */ n("div", { className: "flex items-center gap-3", children: [
|
|
390
|
-
(h || !o) && /* @__PURE__ */ n(
|
|
390
|
+
(h || !o) && /* @__PURE__ */ n(L, { delayDuration: 0, children: [
|
|
391
391
|
/* @__PURE__ */ e(J, { asChild: !0, children: /* @__PURE__ */ e(
|
|
392
392
|
"input",
|
|
393
393
|
{
|
|
@@ -398,7 +398,7 @@ function Xe() {
|
|
|
398
398
|
className: "h-5 w-5 cursor-pointer rounded focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-1"
|
|
399
399
|
}
|
|
400
400
|
) }),
|
|
401
|
-
h && o && /* @__PURE__ */ e(
|
|
401
|
+
h && o && /* @__PURE__ */ e(F, { children: "Using the default language state" })
|
|
402
402
|
] }),
|
|
403
403
|
/* @__PURE__ */ n("div", { children: [
|
|
404
404
|
/* @__PURE__ */ n(Te, { className: "flex items-center gap-2 text-sm leading-none", children: [
|
|
@@ -415,7 +415,7 @@ function Xe() {
|
|
|
415
415
|
] }),
|
|
416
416
|
/* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
|
|
417
417
|
/* @__PURE__ */ e("div", { className: "mx-2 h-6 w-px bg-border" }),
|
|
418
|
-
/* @__PURE__ */ n(
|
|
418
|
+
/* @__PURE__ */ n(L, { delayDuration: 0, children: [
|
|
419
419
|
/* @__PURE__ */ e(J, { asChild: !0, children: /* @__PURE__ */ e(
|
|
420
420
|
v,
|
|
421
421
|
{
|
|
@@ -424,13 +424,13 @@ function Xe() {
|
|
|
424
424
|
size: "icon",
|
|
425
425
|
className: "h-5 w-5 p-0",
|
|
426
426
|
onClick: () => u(r.id),
|
|
427
|
-
children: /* @__PURE__ */ e(
|
|
427
|
+
children: /* @__PURE__ */ e(Ge, { className: "h-4 w-4" })
|
|
428
428
|
}
|
|
429
429
|
) }),
|
|
430
|
-
/* @__PURE__ */ e(
|
|
430
|
+
/* @__PURE__ */ e(F, { children: "View schema" })
|
|
431
431
|
] }),
|
|
432
|
-
(h || !o) && /* @__PURE__ */ n(
|
|
433
|
-
/* @__PURE__ */ n(
|
|
432
|
+
(h || !o) && /* @__PURE__ */ n(G, { children: [
|
|
433
|
+
/* @__PURE__ */ n(L, { delayDuration: 0, children: [
|
|
434
434
|
/* @__PURE__ */ e(J, { asChild: !0, children: /* @__PURE__ */ e(
|
|
435
435
|
v,
|
|
436
436
|
{
|
|
@@ -439,15 +439,15 @@ function Xe() {
|
|
|
439
439
|
size: "icon",
|
|
440
440
|
className: "h-5 w-5 p-0",
|
|
441
441
|
onClick: () => x(r.id),
|
|
442
|
-
children: /* @__PURE__ */ e(
|
|
442
|
+
children: /* @__PURE__ */ e(je, { className: "h-4 w-4" })
|
|
443
443
|
}
|
|
444
444
|
) }),
|
|
445
|
-
/* @__PURE__ */ e(
|
|
445
|
+
/* @__PURE__ */ e(F, { children: "Edit schema" })
|
|
446
446
|
] }),
|
|
447
447
|
/* @__PURE__ */ n(_, { children: [
|
|
448
|
-
/* @__PURE__ */ n(
|
|
448
|
+
/* @__PURE__ */ n(L, { delayDuration: 0, children: [
|
|
449
449
|
/* @__PURE__ */ e(J, { asChild: !0, children: /* @__PURE__ */ e(De, { className: "flex h-5 w-5 items-center justify-center rounded-md text-red-500 hover:bg-red-100 hover:text-red-800", children: /* @__PURE__ */ e(Be, { className: "h-4 w-4" }) }) }),
|
|
450
|
-
/* @__PURE__ */ e(
|
|
450
|
+
/* @__PURE__ */ e(F, { children: "Delete schema" })
|
|
451
451
|
] }),
|
|
452
452
|
/* @__PURE__ */ n(R, { children: [
|
|
453
453
|
/* @__PURE__ */ n(q, { children: [
|
|
@@ -476,7 +476,7 @@ function Xe() {
|
|
|
476
476
|
] })
|
|
477
477
|
] })
|
|
478
478
|
] }) }),
|
|
479
|
-
!h && o && /* @__PURE__ */ e(
|
|
479
|
+
!h && o && /* @__PURE__ */ e(Ee, { className: "px-2 pb-2", children: /* @__PURE__ */ n("div", { className: "flex w-full flex-col items-center justify-center rounded-lg border bg-gray-100 py-3", children: [
|
|
480
480
|
/* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
|
|
481
481
|
/* @__PURE__ */ n("div", { className: "max-w-xl text-center text-xs text-gray-500", children: [
|
|
482
482
|
"Not available in '",
|
|
@@ -511,7 +511,7 @@ function Xe() {
|
|
|
511
511
|
);
|
|
512
512
|
})
|
|
513
513
|
] }),
|
|
514
|
-
w && /* @__PURE__ */ e("div", { className: "flex items-center justify-center p-4", children: /* @__PURE__ */ e(
|
|
514
|
+
w && /* @__PURE__ */ e("div", { className: "flex items-center justify-center p-4", children: /* @__PURE__ */ e(O, { className: "h-5 w-5 animate-spin" }) })
|
|
515
515
|
] }),
|
|
516
516
|
/* @__PURE__ */ e(
|
|
517
517
|
Ie,
|
|
@@ -550,7 +550,7 @@ const Re = ({ schema: l, onClose: i }) => /* @__PURE__ */ e($, { open: !!l, onOp
|
|
|
550
550
|
/* @__PURE__ */ n("div", { children: [
|
|
551
551
|
/* @__PURE__ */ e("div", { className: "mb-2 text-xs font-medium text-muted-foreground", children: "JSON-LD Schema" }),
|
|
552
552
|
/* @__PURE__ */ e(
|
|
553
|
-
|
|
553
|
+
Le,
|
|
554
554
|
{
|
|
555
555
|
value: JSON.stringify(l == null ? void 0 : l.jsonld, null, 2),
|
|
556
556
|
readOnly: !0,
|