@chaibuilder/sdk 3.2.13 → 4.0.0-beta.10
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/README.md +88 -61
- package/dist/2SSKDMRQ-CfHqXEo6.cjs +1 -0
- package/dist/2SSKDMRQ-KxbQMSQF.js +42 -0
- package/dist/AP7HFJJL-B3bVbF4b.cjs +1228 -0
- package/dist/AP7HFJJL-DJe0zNfP.js +9214 -0
- package/dist/IconPicker-7YKi0cvf.cjs +1 -0
- package/dist/IconPicker-CaEjFuuU.js +60 -0
- package/dist/STRINGS-BExFecZW.js +8 -0
- package/dist/STRINGS-FNnfjF5H.cjs +1 -0
- package/dist/WDYDFRGG-4MvQxrrE.cjs +1 -0
- package/dist/WDYDFRGG-DesO-YVt.js +33 -0
- package/dist/_commonjsHelpers-C6fGbg64.js +6 -0
- package/dist/_commonjsHelpers-DwGv2jUC.cjs +1 -0
- package/dist/actions-registery-BRgseJas.cjs +418 -0
- package/dist/actions-registery-DRV8xywr.js +15540 -0
- package/dist/actions.cjs +1 -0
- package/dist/actions.d.ts +3229 -0
- package/dist/actions.js +216 -0
- package/dist/active-in-another-tab-BraPCVHD.js +35 -0
- package/dist/active-in-another-tab-DmiLcoHl.cjs +1 -0
- package/dist/add-new-language-page-BiS0BJFh.cjs +1 -0
- package/dist/add-new-language-page-DaNJhujm.js +402 -0
- package/dist/add-new-page-BavGPTWz.js +31 -0
- package/dist/add-new-page-dbDUyekW.cjs +1 -0
- package/dist/ai-panel-content-4Cv-ufXL.js +62 -0
- package/dist/ai-panel-content-ClQ5alrF.cjs +1 -0
- package/dist/ai-panel-default-lang-BVgCW7Iu.cjs +3 -0
- package/dist/ai-panel-default-lang-CByGoNp5.js +341 -0
- package/dist/ai-panel-other-lang-BXuiVjMR.cjs +1 -0
- package/dist/ai-panel-other-lang-DznZUrL7.js +162 -0
- package/dist/ai-prompt-input--MqeAtTu.cjs +1 -0
- package/dist/ai-prompt-input-DbNqAJmK.js +656 -0
- package/dist/ai-translation-prompt-CqZE5xvG.js +28 -0
- package/dist/ai-translation-prompt-yU9T98gu.cjs +1 -0
- package/dist/{apply-binding-DLaiD20q.js → apply-binding-CLU6Xp4K.js} +251 -257
- package/dist/apply-binding-NvZX_rJe.cjs +1 -0
- package/dist/code-display-9Onx6RCq.cjs +1 -0
- package/dist/{code-display-DuH-UOhl.js → code-display-oa1j0ri7.js} +1 -1
- package/dist/code-editor-DI5chGQy.js +51 -0
- package/dist/code-editor-eJ-ha21X.cjs +1 -0
- package/dist/continue-editing-in-this-client-BIPyGnqp.cjs +1 -0
- package/dist/continue-editing-in-this-client-Bs9Q2ase.js +25 -0
- package/dist/core-8lkXy4lC.cjs +1 -0
- package/dist/core-BvsZwF26.js +52 -0
- package/dist/core.cjs +1 -1
- package/dist/core.d.ts +145 -565
- package/dist/core.js +24 -103
- package/dist/css-import-modal-Cwq__qKK.cjs +13 -0
- package/dist/{css-import-modal-CFB2YjDT.js → css-import-modal-D-_jby_w.js} +40 -38
- package/dist/{delete-design-token-BjMakV-b.js → delete-design-token-BowiWJOb.js} +3 -3
- package/dist/delete-design-token-DjHXH5dg.cjs +1 -0
- package/dist/delete-page-Cs0cenoN.js +71 -0
- package/dist/delete-page-DqBuzcBW.cjs +1 -0
- package/dist/design-token-usage-DDqd3J3T.cjs +1 -0
- package/dist/design-token-usage-cjJe9KUU.js +114 -0
- package/dist/digital-asset-manager-DjPTwqCP.cjs +1 -0
- package/dist/digital-asset-manager-rw_FW-e4.js +877 -0
- package/dist/duplicate-page-B19XZEEh.js +134 -0
- package/dist/duplicate-page-CpgDT34h.cjs +1 -0
- package/dist/dynamic-page-selector-CJXMaEu0.cjs +1 -0
- package/dist/dynamic-page-selector-D1pcyyIi.js +86 -0
- package/dist/fonts-B-Xt29pe.cjs +1 -0
- package/dist/fonts-DRly3Wzd.js +78 -0
- package/dist/get-chai-builder-tailwind-config-DNp8Vhme.cjs +1 -0
- package/dist/{get-chai-builder-tailwind-config-BqaIvg8p.js → get-chai-builder-tailwind-config-k8l5sdcw.js} +14 -11
- package/dist/get-chai-builder-theme-BApShjRz.cjs +1 -0
- package/dist/get-chai-builder-theme-DDVRJQ6Z.js +24 -0
- package/dist/get-seo-defaults-9zHebckY.js +65 -0
- package/dist/get-seo-defaults-Cw7vFt-B.cjs +1 -0
- package/dist/image-compression-DZ9WMmyn.cjs +1 -0
- package/dist/image-compression-DsZ1oqpb.js +37 -0
- package/dist/image-editor-BihtCpkn.cjs +1 -0
- package/dist/image-editor-lztBulYI.js +108 -0
- package/dist/index-BEldAI1n.cjs +160 -0
- package/dist/index-BqlDf5fg.js +18418 -0
- package/dist/index-CsChke2B.js +4741 -0
- package/dist/index-DTz1hNwi.cjs +5 -0
- package/dist/json-diff-viewer-BDbS64LG.cjs +8 -0
- package/dist/json-diff-viewer-DI6nPbs8.js +259 -0
- package/dist/lang-panel-B51V4-PX.js +216 -0
- package/dist/lang-panel-DFttT_MB.cjs +1 -0
- package/dist/manage-design-tokens-D8GDkdB2.cjs +1 -0
- package/dist/{manage-design-tokens-BHCCrWFS.js → manage-design-tokens-DCPswHMS.js} +24 -24
- package/dist/mark-as-template-DBF2r7aW.js +157 -0
- package/dist/mark-as-template-rI-cx5-B.cjs +1 -0
- package/dist/models-5gOsRC56.cjs +1 -0
- package/dist/models-D95ZYr_x.js +70 -0
- package/dist/nested-path-selector-content-BQhK20BE.js +88 -0
- package/dist/nested-path-selector-content-o7k86m-q.cjs +1 -0
- package/dist/no-language-page-content-C2hLFt7A.js +43 -0
- package/dist/no-language-page-content-DmgQLhac.cjs +1 -0
- package/dist/no-language-page-dialog-BmB5fz92.js +10 -0
- package/dist/no-language-page-dialog-D2Ijv2V4.cjs +1 -0
- package/dist/page-creator-CGxrkmut.js +796 -0
- package/dist/page-creator-jlPEOhfz.cjs +1 -0
- package/dist/page-lock-CnOS_qxc.js +30 -0
- package/dist/page-lock-CoAmLhTA.cjs +1 -0
- package/dist/page-locked-dialog-B2L9yqX1.js +136 -0
- package/dist/page-locked-dialog-BNHr0OAi.cjs +1 -0
- package/dist/page-manager-new-CkNowPYt.cjs +1 -0
- package/dist/page-manager-new-D_TxW1yk.js +395 -0
- package/dist/page-manager-search-and-filter-Bme84N1w.js +202 -0
- package/dist/page-manager-search-and-filter-CpjNOQqF.cjs +1 -0
- package/dist/page-revisions-content-B_EkI6eN.js +456 -0
- package/dist/page-revisions-content-DYt-0IJ3.cjs +1 -0
- package/dist/pages.cjs +1 -0
- package/dist/pages.d.ts +545 -0
- package/dist/pages.js +27 -0
- package/dist/plugin-BGlQf0iy.cjs +22 -0
- package/dist/{plugin-BOcGV_IY.js → plugin-C-ht41UZ.js} +31 -45
- package/dist/publish-pages-content-1_-8jO3C.cjs +1 -0
- package/dist/publish-pages-content-Ct-rYFXD.js +179 -0
- package/dist/register-chai-top-bar-CX_JkRJn.js +237 -0
- package/dist/register-chai-top-bar-DWTuRU53.cjs +1 -0
- package/dist/register-partial-type-BjtdfKHE.js +36 -0
- package/dist/register-partial-type-ig9fUWIJ.cjs +1 -0
- package/dist/render.cjs +2 -2
- package/dist/render.d.ts +25 -23
- package/dist/render.js +108 -103
- package/dist/rte-widget-modal-88x3Ag4b.cjs +1 -0
- package/dist/rte-widget-modal-BpjTwrAJ.js +39 -0
- package/dist/runtime-client.cjs +1 -0
- package/dist/runtime-client.d.ts +158 -0
- package/dist/runtime-client.js +32 -0
- package/dist/runtime.cjs +1 -1
- package/dist/runtime.d.ts +322 -7
- package/dist/runtime.js +74 -1
- package/dist/save-to-lib-B5ggugo6.js +423 -0
- package/dist/save-to-lib-BSCJSBw9.cjs +1 -0
- package/dist/sdk.css +1 -1
- package/dist/selected-block-display-DrMFz5_U.js +320 -0
- package/dist/selected-block-display-wHwP16Pz.cjs +16 -0
- package/dist/seo-panel-Bktda7aV.cjs +2 -0
- package/dist/seo-panel-Dzx-sUAi.js +799 -0
- package/dist/shared-json-ld-BMt3lSVf.js +566 -0
- package/dist/shared-json-ld-RDvoItXK.cjs +1 -0
- package/dist/slug-input-BtbW6w7B.cjs +1 -0
- package/dist/slug-input-CyKRaEV_.js +87 -0
- package/dist/supabase-actions.cjs +1 -0
- package/dist/supabase-actions.d.ts +289 -0
- package/dist/supabase-actions.js +524 -0
- package/dist/take-over-request-BA_e938L.js +64 -0
- package/dist/take-over-request-DsDWVplQ.cjs +1 -0
- package/dist/theme-panel-footer-6iHKSeON.cjs +1 -0
- package/dist/theme-panel-footer-v8PRUzwR.js +26 -0
- package/dist/translation-warning-modal-B1tAPMx7.js +27 -0
- package/dist/translation-warning-modal-DA7Vj_9F.cjs +1 -0
- package/dist/types.cjs +1 -0
- package/dist/types.d.ts +598 -0
- package/dist/types.js +1 -0
- package/dist/unmark-as-template-Bdg5nLBS.cjs +1 -0
- package/dist/unmark-as-template-C6pllRk5.js +40 -0
- package/dist/unpublish-page-BOrfamLs.cjs +1 -0
- package/dist/unpublish-page-C3Wub7gR.js +28 -0
- package/dist/use-page-expand-manager-B6XTvk0E.cjs +1 -0
- package/dist/use-page-expand-manager-Cf4MUEJw.js +85 -0
- package/dist/utils.cjs +1 -0
- package/dist/{tailwind.d.ts → utils.d.ts} +12 -12
- package/dist/utils.js +7 -0
- package/dist/web-blocks.cjs +1 -1
- package/dist/web-blocks.d.ts +0 -6
- package/dist/web-blocks.js +240 -239
- package/dist/web-preview-869kgvNU.cjs +1 -0
- package/dist/web-preview-CVAQ53g_.js +73 -0
- package/package.json +152 -76
- package/dist/IconPicker-6JSublJp.js +0 -64
- package/dist/IconPicker-DpQQDK_Q.cjs +0 -1
- package/dist/apply-binding-Bn1KC8uC.cjs +0 -1
- package/dist/code-display-Dw1tAwiJ.cjs +0 -1
- package/dist/code-editor-CEsA4Nlq.cjs +0 -1
- package/dist/code-editor-DPr4HDOV.js +0 -59
- package/dist/css-import-modal-bGWZSlqv.cjs +0 -13
- package/dist/delete-design-token-Bzxspf8D.cjs +0 -1
- package/dist/design-token-usage-DyQcFypc.cjs +0 -1
- package/dist/design-token-usage-_FBnvL92.js +0 -120
- package/dist/get-chai-builder-tailwind-config-C6MHaUM0.cjs +0 -1
- package/dist/get-chai-builder-theme-B1tr_NJB.cjs +0 -1
- package/dist/get-chai-builder-theme-BarMkcGH.js +0 -12
- package/dist/index-CIez6R-d.js +0 -18327
- package/dist/index-zLw6cVaV.cjs +0 -160
- package/dist/manage-design-tokens-Cfjg_at9.cjs +0 -1
- package/dist/mockServiceWorker.js +0 -349
- package/dist/plugin-CSgw-f78.cjs +0 -22
- package/dist/rte-widget-modal-CsBCpJSY.js +0 -41
- package/dist/rte-widget-modal-Dif3ZoFQ.cjs +0 -1
- package/dist/tailwind.cjs +0 -1
- package/dist/tailwind.js +0 -8
- package/dist/tooltip-Ba1-8jmj.cjs +0 -1
- package/dist/tooltip-DUosa-uC.js +0 -1067
- package/dist/ui.cjs +0 -1
- package/dist/ui.d.ts +0 -415
- package/dist/ui.js +0 -129
- package/dist/vite.svg +0 -1
package/dist/actions.js
ADDED
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { g as u, A as h } from "./actions-registery-DRV8xywr.js";
|
|
2
|
+
import { a as b, d as y, b as A, s as S, c as v } from "./actions-registery-DRV8xywr.js";
|
|
3
|
+
const c = (r) => async (s) => {
|
|
4
|
+
const { apiKey: o, userId: t } = r;
|
|
5
|
+
try {
|
|
6
|
+
const a = s, { action: e, data: n } = a, i = u(e);
|
|
7
|
+
return i ? i.validate(n) ? (i.setContext({ appId: o, userId: t }), await i.execute(n)) : {
|
|
8
|
+
error: `Validation failed: ${i.getValidationErrors(n)}`,
|
|
9
|
+
code: "INVALID_REQUEST_DATA",
|
|
10
|
+
status: 400
|
|
11
|
+
} : {
|
|
12
|
+
error: `Action ${e} not found`,
|
|
13
|
+
code: "ACTION_NOT_FOUND",
|
|
14
|
+
status: 404
|
|
15
|
+
};
|
|
16
|
+
} catch (a) {
|
|
17
|
+
return console.log("Error in builderApiHandler:", a), a instanceof h ? { error: a.message, code: a.code, status: a.status || 400 } : { error: "Something went wrong.", status: 500 };
|
|
18
|
+
}
|
|
19
|
+
}, d = {
|
|
20
|
+
ab: "Abkhazian",
|
|
21
|
+
aa: "Afar",
|
|
22
|
+
af: "Afrikaans",
|
|
23
|
+
ak: "Akan",
|
|
24
|
+
sq: "Albanian",
|
|
25
|
+
am: "Amharic",
|
|
26
|
+
ar: "Arabic",
|
|
27
|
+
an: "Aragonese",
|
|
28
|
+
hy: "Armenian",
|
|
29
|
+
as: "Assamese",
|
|
30
|
+
av: "Avaric",
|
|
31
|
+
ae: "Avestan",
|
|
32
|
+
ay: "Aymara",
|
|
33
|
+
az: "Azerbaijani",
|
|
34
|
+
bm: "Bambara",
|
|
35
|
+
ba: "Bashkir",
|
|
36
|
+
eu: "Basque",
|
|
37
|
+
be: "Belarusian",
|
|
38
|
+
bn: "Bengali",
|
|
39
|
+
bh: "Bihari",
|
|
40
|
+
bi: "Bislama",
|
|
41
|
+
bs: "Bosnian",
|
|
42
|
+
br: "Breton",
|
|
43
|
+
bg: "Bulgarian",
|
|
44
|
+
my: "Burmese",
|
|
45
|
+
ca: "Catalan",
|
|
46
|
+
ch: "Chamorro",
|
|
47
|
+
ce: "Chechen",
|
|
48
|
+
ny: "Chichewa",
|
|
49
|
+
zh: "Chinese",
|
|
50
|
+
"zh-Hans": "Chinese (Simplified)",
|
|
51
|
+
"zh-Hant": "Chinese (Traditional)",
|
|
52
|
+
cv: "Chuvash",
|
|
53
|
+
kw: "Cornish",
|
|
54
|
+
co: "Corsican",
|
|
55
|
+
cr: "Cree",
|
|
56
|
+
hr: "Croatian",
|
|
57
|
+
cs: "Czech",
|
|
58
|
+
da: "Danish",
|
|
59
|
+
dv: "Maldivian",
|
|
60
|
+
nl: "Dutch",
|
|
61
|
+
dz: "Dzongkha",
|
|
62
|
+
en: "English",
|
|
63
|
+
eo: "Esperanto",
|
|
64
|
+
et: "Estonian",
|
|
65
|
+
ee: "Ewe",
|
|
66
|
+
fo: "Faroese",
|
|
67
|
+
fj: "Fijian",
|
|
68
|
+
fi: "Finnish",
|
|
69
|
+
fr: "French",
|
|
70
|
+
ff: "Fula, Pular",
|
|
71
|
+
gl: "Galician",
|
|
72
|
+
gd: "Gaelic (Scottish)",
|
|
73
|
+
gv: "Manx",
|
|
74
|
+
ka: "Georgian",
|
|
75
|
+
de: "German",
|
|
76
|
+
el: "Greek",
|
|
77
|
+
kl: "Kalaallisut",
|
|
78
|
+
gn: "Guarani",
|
|
79
|
+
gu: "Gujarati",
|
|
80
|
+
ht: "Haitian Creole",
|
|
81
|
+
ha: "Hausa",
|
|
82
|
+
he: "Hebrew",
|
|
83
|
+
hz: "Herero",
|
|
84
|
+
hi: "Hindi",
|
|
85
|
+
ho: "Hiri Motu",
|
|
86
|
+
hu: "Hungarian",
|
|
87
|
+
is: "Icelandic",
|
|
88
|
+
io: "Ido",
|
|
89
|
+
ig: "Igbo",
|
|
90
|
+
id: "Indonesian",
|
|
91
|
+
ia: "Interlingua",
|
|
92
|
+
ie: "Interlingue",
|
|
93
|
+
iu: "Inuktitut",
|
|
94
|
+
ik: "Inupiak",
|
|
95
|
+
ga: "Irish",
|
|
96
|
+
it: "Italian",
|
|
97
|
+
ja: "Japanese",
|
|
98
|
+
jv: "Javanese",
|
|
99
|
+
kn: "Kannada",
|
|
100
|
+
kr: "Kanuri",
|
|
101
|
+
ks: "Kashmiri",
|
|
102
|
+
kk: "Kazakh",
|
|
103
|
+
km: "Khmer",
|
|
104
|
+
ki: "Kikuyu",
|
|
105
|
+
rw: "Kinyarwanda",
|
|
106
|
+
rn: "Kirundi",
|
|
107
|
+
ky: "Kyrgyz",
|
|
108
|
+
kv: "Komi",
|
|
109
|
+
kg: "Kongo",
|
|
110
|
+
ko: "Korean",
|
|
111
|
+
ku: "Kurdish",
|
|
112
|
+
kj: "Kwanyama",
|
|
113
|
+
lo: "Lao",
|
|
114
|
+
la: "Latin",
|
|
115
|
+
lv: "Latvian",
|
|
116
|
+
li: "Limburgish",
|
|
117
|
+
ln: "Lingala",
|
|
118
|
+
lt: "Lithuanian",
|
|
119
|
+
lu: "Luga-Katanga",
|
|
120
|
+
lg: "Luganda, Ganda",
|
|
121
|
+
lb: "Luxembourgish",
|
|
122
|
+
mk: "Macedonian",
|
|
123
|
+
mg: "Malagasy",
|
|
124
|
+
ms: "Malay",
|
|
125
|
+
ml: "Malayalam",
|
|
126
|
+
mt: "Maltese",
|
|
127
|
+
mi: "Maori",
|
|
128
|
+
mr: "Marathi",
|
|
129
|
+
mh: "Marshallese",
|
|
130
|
+
mo: "Moldavian",
|
|
131
|
+
mn: "Mongolian",
|
|
132
|
+
na: "Nauru",
|
|
133
|
+
nv: "Navajo",
|
|
134
|
+
ng: "Ndonga",
|
|
135
|
+
nd: "Northern Ndebele",
|
|
136
|
+
ne: "Nepali",
|
|
137
|
+
no: "Norwegian",
|
|
138
|
+
nb: "Norwegian bokmål",
|
|
139
|
+
nn: "Norwegian nynorsk",
|
|
140
|
+
ii: "Sichuan Yi",
|
|
141
|
+
oc: "Occitan",
|
|
142
|
+
oj: "Ojibwe",
|
|
143
|
+
cu: "Old Church Slavonic",
|
|
144
|
+
or: "Oriya",
|
|
145
|
+
om: "Oromo",
|
|
146
|
+
os: "Ossetian",
|
|
147
|
+
pi: "Pāli",
|
|
148
|
+
ps: "Pashto, Pushto",
|
|
149
|
+
fa: "Persian (Farsi)",
|
|
150
|
+
pl: "Polish",
|
|
151
|
+
pt: "Portuguese",
|
|
152
|
+
pa: "Punjabi (Eastern)",
|
|
153
|
+
qu: "Quechua",
|
|
154
|
+
rm: "Romansh",
|
|
155
|
+
ro: "Romanian",
|
|
156
|
+
ru: "Russian",
|
|
157
|
+
se: "Sami",
|
|
158
|
+
sm: "Samoan",
|
|
159
|
+
sg: "Sango",
|
|
160
|
+
sa: "Sanskrit",
|
|
161
|
+
sr: "Serbian",
|
|
162
|
+
sh: "Serbo-Croatian",
|
|
163
|
+
st: "Sesotho",
|
|
164
|
+
tn: "Setswana",
|
|
165
|
+
sn: "Shona",
|
|
166
|
+
sd: "Sindhi",
|
|
167
|
+
si: "Sinhalese",
|
|
168
|
+
ss: "Swati",
|
|
169
|
+
sk: "Slovak",
|
|
170
|
+
sl: "Slovenian",
|
|
171
|
+
so: "Somali",
|
|
172
|
+
nr: "Southern Ndebele",
|
|
173
|
+
es: "Spanish",
|
|
174
|
+
su: "Sundanese",
|
|
175
|
+
sw: "Swahili (Kiswahili)",
|
|
176
|
+
sv: "Swedish",
|
|
177
|
+
tl: "Tagalog",
|
|
178
|
+
ty: "Tahitian",
|
|
179
|
+
tg: "Tajik",
|
|
180
|
+
ta: "Tamil",
|
|
181
|
+
tt: "Tatar",
|
|
182
|
+
te: "Telugu",
|
|
183
|
+
th: "Thai",
|
|
184
|
+
bo: "Tibetan",
|
|
185
|
+
ti: "Tigrinya",
|
|
186
|
+
to: "Tonga",
|
|
187
|
+
ts: "Tsonga",
|
|
188
|
+
tr: "Turkish",
|
|
189
|
+
tk: "Turkmen",
|
|
190
|
+
tw: "Twi",
|
|
191
|
+
ug: "Uyghur",
|
|
192
|
+
uk: "Ukrainian",
|
|
193
|
+
ur: "Urdu",
|
|
194
|
+
uz: "Uzbek",
|
|
195
|
+
ve: "Venda",
|
|
196
|
+
vi: "Vietnamese",
|
|
197
|
+
vo: "Volapük",
|
|
198
|
+
wa: "Wallon",
|
|
199
|
+
cy: "Welsh",
|
|
200
|
+
wo: "Wolof",
|
|
201
|
+
fy: "Western Frisian",
|
|
202
|
+
xh: "Xhosa",
|
|
203
|
+
yi: "Yiddish",
|
|
204
|
+
yo: "Yoruba",
|
|
205
|
+
za: "Zhuang, Chuang",
|
|
206
|
+
zu: "Zulu"
|
|
207
|
+
};
|
|
208
|
+
export {
|
|
209
|
+
b as ChaiActionsRegistry,
|
|
210
|
+
d as LANGUAGES,
|
|
211
|
+
y as db,
|
|
212
|
+
A as getAskAiSystemPrompt,
|
|
213
|
+
c as initChaiBuilderActionHandler,
|
|
214
|
+
S as safeQuery,
|
|
215
|
+
v as schema
|
|
216
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
|
2
|
+
import { B as r } from "./register-chai-top-bar-CX_JkRJn.js";
|
|
3
|
+
import { R as i, U as o, V as l, W as c, X as d } from "./index-BqlDf5fg.js";
|
|
4
|
+
import { ao as m, a as h, B as u, E as p, P as N } from "./index-CsChke2B.js";
|
|
5
|
+
import { TableIcon as f, Edit as T } from "lucide-react";
|
|
6
|
+
import { useTranslation as E } from "react-i18next";
|
|
7
|
+
const b = () => {
|
|
8
|
+
const s = m(), { setPageStatus: n } = h(), { t: a } = E();
|
|
9
|
+
return /* @__PURE__ */ e(u, { children: /* @__PURE__ */ t(i, { className: "mx-auto w-full max-w-md", children: [
|
|
10
|
+
/* @__PURE__ */ e(o, { className: "space-y-1", children: /* @__PURE__ */ t(l, { className: "flex items-center gap-2 text-xl font-medium", children: [
|
|
11
|
+
/* @__PURE__ */ e(f, { className: "h-6 w-6 text-green-500" }),
|
|
12
|
+
/* @__PURE__ */ e("span", { children: a("Active in Another Tab") })
|
|
13
|
+
] }) }),
|
|
14
|
+
/* @__PURE__ */ e(c, { className: "space-y-4", children: /* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground", children: a(
|
|
15
|
+
"This page is currently being edited in another tab. You can continue editing here, which will close the editor in the other tab."
|
|
16
|
+
) }) }),
|
|
17
|
+
/* @__PURE__ */ e(d, { className: "flex justify-end gap-2", children: /* @__PURE__ */ t(
|
|
18
|
+
r,
|
|
19
|
+
{
|
|
20
|
+
variant: "default",
|
|
21
|
+
onClick: () => {
|
|
22
|
+
s(p.CONTINUE_EDITING_IN_THIS_TAB_REQUEST), n(N.CHECKING);
|
|
23
|
+
},
|
|
24
|
+
className: "gap-2",
|
|
25
|
+
children: [
|
|
26
|
+
/* @__PURE__ */ e(T, { className: "h-4 w-4" }),
|
|
27
|
+
a("Continue Editing Here")
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
) })
|
|
31
|
+
] }) });
|
|
32
|
+
};
|
|
33
|
+
export {
|
|
34
|
+
b as default
|
|
35
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("./register-chai-top-bar-DWTuRU53.cjs"),t=require("./index-BEldAI1n.cjs"),s=require("./index-DTz1hNwi.cjs"),n=require("lucide-react"),l=require("react-i18next"),o=()=>{const r=s.useSendRealtimeEvent(),{setPageStatus:i}=s.usePageLockStatus(),{t:a}=l.useTranslation();return e.jsx(s.BlurContainer,{children:e.jsxs(t.Card,{className:"mx-auto w-full max-w-md",children:[e.jsx(t.CardHeader,{className:"space-y-1",children:e.jsxs(t.CardTitle,{className:"flex items-center gap-2 text-xl font-medium",children:[e.jsx(n.TableIcon,{className:"h-6 w-6 text-green-500"}),e.jsx("span",{children:a("Active in Another Tab")})]})}),e.jsx(t.CardContent,{className:"space-y-4",children:e.jsx("p",{className:"text-sm text-muted-foreground",children:a("This page is currently being edited in another tab. You can continue editing here, which will close the editor in the other tab.")})}),e.jsx(t.CardFooter,{className:"flex justify-end gap-2",children:e.jsxs(c.Button,{variant:"default",onClick:()=>{r(s.EVENT.CONTINUE_EDITING_IN_THIS_TAB_REQUEST),i(s.PAGE_STATUS.CHECKING)},className:"gap-2",children:[e.jsx(n.Edit,{className:"h-4 w-4"}),a("Continue Editing Here")]})})]})})};exports.default=o;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),k=require("./register-chai-top-bar-DWTuRU53.cjs"),N=require("./index-BEldAI1n.cjs"),Y=require("./slug-input-BtbW6w7B.cjs"),g=require("./index-DTz1hNwi.cjs"),j=require("lodash-es"),ds=require("lucide-react"),v=require("react"),U=require("react-i18next"),Z=({edit:c,lang:h,languages:a,name:u,setLang:t,setName:i,primaryPageObject:o})=>{const{t:s}=U.useTranslation();return e.jsxs("div",{className:"space-y-1",children:[e.jsx(N.Label,{htmlFor:"lang",children:s("Language")}),e.jsxs("select",{value:c?"":h,disabled:c||!a.length,onChange:l=>{const x=l.target.value;t(x),!c&&(j.startsWith(u,o==null?void 0:o.name)||u.length===0)&&i(`${o==null?void 0:o.name} - ${g.LANGUAGES[x]}`)},className:"col-span-3 flex h-9 w-full rounded-md border border-border bg-background px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",children:[e.jsx("option",{value:"",disabled:!0,children:c?g.LANGUAGES[h]||h:a.length?s("Choose language"):s("All available language page is created.")}),a.map(l=>e.jsx("option",{value:l,children:g.LANGUAGES[l]||l},l))]})]})},_=({lang:c,name:h,setName:a,parentHasSelectedLanguagePage:u})=>{const{t}=U.useTranslation();return e.jsxs("div",{className:"space-y-1",children:[e.jsx(N.Label,{htmlFor:"name",children:t("Page Name")}),e.jsx(k.Input,{id:"name",value:c?h:"",onChange:i=>a(i.target.value),required:!0,placeholder:t(c?"Enter page name":"Choose language to add slug"),disabled:!u||!c})]})},cs=({dynamic:c,isNonSlugPageType:h,isRootPage:a,lang:u,useLanguagePrefix:t,setUseLanguagePrefix:i,isHomePage:o,parentSlug:s,parentHasSelectedLanguagePage:l,slug:x,setSlug:d,setIsSlugValid:S,getSlug:f})=>{const{t:r}=U.useTranslation();return h?null:e.jsxs("div",{className:"space-y-1",children:[a&&u&&e.jsxs("div",{className:"flex items-center space-x-2 pb-1",children:[e.jsx("input",{type:"checkbox",id:"useLanguagePrefix",checked:t,onChange:A=>i(A.target.checked),className:"rounded border-gray-300"}),e.jsxs(N.Label,{htmlFor:"useLanguagePrefix",className:"text-sm font-normal leading-tight",children:["Add language code (",e.jsxs("span",{className:"font-mono text-gray-900",children:["/",u]}),") as slug prefix"]})]}),e.jsx(N.Label,{htmlFor:"slug",children:r("Slug")}),c?e.jsx(k.Alert,{variant:"default",className:"p-2 text-xs font-medium italic text-muted-foreground",children:r("This page will use dynamic slug as defined in primary page")}):e.jsx(Y.SlugInput,{disabled:!u||!l,value:x,onChange:d,placeholder:r(u?o&&t?"Leave empty for home page":"Enter page slug":"Choose language to add slug"),parentSlug:s,onValidationChange:S,fullSlug:f()})]})},H=({parentHasSelectedLanguagePage:c,name:h,lang:a,slug:u,edit:t,id:i,primaryPageObject:o,pages:s,isNonSlugPageType:l,isHomePage:x,useLanguagePrefix:d,isSlugValid:S,isPending:f})=>{const{t:r}=U.useTranslation(),A=f||!h||!a||s.some(m=>(t?m.id!==i:!0)&&m.parent===(o==null?void 0:o.id)&&m.lang===a)||!l&&!(x&&d)&&(!S||!u);return e.jsx(N.DialogFooter,{children:c?e.jsxs(e.Fragment,{children:[e.jsx(k.Button,{type:"submit",disabled:A&&!o.dynamic,children:f?e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"loader mr-2"}),r(t?"Updating...":"Adding...")]}):r(t?"Update":"Add new language page")}),s.some(m=>(t?m.id!==i:!0)&&m.parent===(o==null?void 0:o.id)&&m.lang===a)&&e.jsx("p",{className:"mt-2 text-xs text-red-500",children:r("A page for this language already exists.")})]}):a&&e.jsx(k.Alert,{variant:"destructive",children:e.jsxs("p",{className:"mx-auto w-5/6 text-center",children:[r("You need to create the")," ",e.jsx("span",{className:"font-medium",children:g.LANGUAGES[a]})," ",r("page in the parent to add here.")]})})})},rs=({onSubmit:c,edit:h,lang:a,languages:u,name:t,setLang:i,setName:o,primaryPageObject:s,parentHasSelectedLanguagePage:l,id:x,pages:d,isNonSlugPageType:S,isHomePage:f,useLanguagePrefix:r,slug:A,isSlugValid:m,isPending:p})=>e.jsxs("form",{onSubmit:c,children:[e.jsxs("div",{className:"grid gap-4 py-4",children:[e.jsx(Z,{edit:h,lang:a,languages:u,name:t,setLang:i,setName:o,primaryPageObject:s}),e.jsx(_,{lang:a,name:t,setName:o,parentHasSelectedLanguagePage:l})]}),e.jsx(H,{parentHasSelectedLanguagePage:l,name:t,lang:a,slug:A,edit:h,id:x,primaryPageObject:s,pages:d,isNonSlugPageType:S,isHomePage:f,useLanguagePrefix:r,isSlugValid:m,isPending:p})]}),hs=({loading:c,onSubmit:h,edit:a,lang:u,languages:t,name:i,setLang:o,setName:s,primaryPageObject:l,parentHasSelectedLanguagePage:x,isNonSlugPageType:d,isRootPage:S,useLanguagePrefix:f,setUseLanguagePrefix:r,isHomePage:A,parentSlug:m,slug:p,setSlug:C,isSlugValid:T,setIsSlugValid:I,getSlug:M,isPending:$,id:q,pages:L})=>c?e.jsx("div",{className:"flex h-80 items-center justify-center",children:e.jsx(ds.Loader,{className:"animate-spin"})}):d?e.jsx(rs,{onSubmit:h,edit:a,lang:u,languages:t,name:i,setLang:o,setName:s,primaryPageObject:l,parentHasSelectedLanguagePage:x,id:q,pages:L,isNonSlugPageType:d,isHomePage:A,useLanguagePrefix:f,slug:p,isSlugValid:T,isPending:$}):e.jsxs("form",{onSubmit:h,children:[e.jsxs("div",{className:"grid gap-4 py-4",children:[e.jsx(Z,{edit:a,lang:u,languages:t,name:i,setLang:o,setName:s,primaryPageObject:l}),e.jsx(_,{lang:u,name:i,setName:s,parentHasSelectedLanguagePage:x}),e.jsx(cs,{dynamic:l==null?void 0:l.dynamic,isNonSlugPageType:d,isRootPage:S,lang:u,useLanguagePrefix:f,setUseLanguagePrefix:r,isHomePage:A,parentSlug:m,parentHasSelectedLanguagePage:x,slug:p,setSlug:C,isSlugValid:T,setIsSlugValid:I,getSlug:M})]}),e.jsx(H,{parentHasSelectedLanguagePage:x,name:i,lang:u,slug:p,edit:a,id:q,primaryPageObject:l,pages:L,isNonSlugPageType:d,isHomePage:A,useLanguagePrefix:f,isSlugValid:T,isPending:$})]}),xs=({id:c,isOpen:h,onClose:a,primaryPage:u,edit:t=!1,preselectedLang:i})=>{const{data:o=[]}=g.useWebsitePages(),s=v.useMemo(()=>o.find(n=>n.id===u),[o,u]),[l,x]=v.useState(""),[d,S]=v.useState(""),[f,r]=v.useState(""),[A,m]=v.useState(!0),[p,C]=v.useState(!0),{mutate:T,isPending:I}=g.useCreatePage(),{mutate:M,isPending:$}=g.useUpdatePage(),q=I||$,{data:L,isFetching:b}=g.useWebsiteSetting(),z=g.useFallbackLang(),{data:w,isFetching:y}=g.useLanguagePages(u),{data:F=[],isFetching:P}=g.useLanguagePages(s==null?void 0:s.parent),{data:J=[],isFetching:O}=g.usePageTypes(),{setSelectedLang:ss}=N.useLanguages(),{t:B}=U.useTranslation(),[,es]=g.useSearchParams(),[,ns]=N.useSidebarActivePanel(),ts=b||y||P||O,G=v.useMemo(()=>j.filter(L==null?void 0:L.languages,n=>!j.find(w,{lang:n})),[L,w]),W=v.useMemo(()=>J.find(n=>n.key===(s==null?void 0:s.pageType)),[J,s==null?void 0:s.pageType]),K=!(W!=null&&W.hasSlug),V=(s==null?void 0:s.slug)==="/";v.useEffect(()=>{if(!t&&s&&i&&(S(i),x(`${s.name} - ${g.LANGUAGES[i]}`)),!t||!s)return;const n=w==null?void 0:w.find(is=>is.id===c);if(!n)return;x(n.name),S(n.lang);const E=n.slug||"",{initSlug:R,prefix:us}=Y.parseSlugForEdit(E,s);r(R),C(us)},[t,c,w,s,i]),v.useEffect(()=>{if(i)S(i);else if((G==null?void 0:G.length)===1&&!t){const n=G[0];if(!n||!g.LANGUAGES[n])return;S(n),(!l||l===(s==null?void 0:s.name))&&x(`${s==null?void 0:s.name} - ${g.LANGUAGES[n]}`)}},[i,G,t,l,s]);const{parentSlug:Q,isRootPage:D}=v.useMemo(()=>{if(V||!d)return{parentSlug:void 0,isRootPage:!(s!=null&&s.parent)};if(!(s!=null&&s.parent))return{parentSlug:p?`/${d}`:void 0,isRootPage:!0};const n=F==null?void 0:F.find(E=>E.lang===d);return{parentSlug:n==null?void 0:n.slug,isRootPage:!1}},[s==null?void 0:s.parent,F,p,d,V]),os=v.useMemo(()=>D?!0:!!(F!=null&&F.some(n=>(n==null?void 0:n.lang)===d)),[d,F,D]),X=()=>{let n="";return D?n=`/${p?[d,f].filter(Boolean).join("/"):f}`:n=`${Y.removeSlugExtension(Q)}/${f}`,n.replace(/\/{2,}/g,"/").replace(/\/$/,"")},ls=n=>{const E=new URLSearchParams(window.location.search);z&&n===z?E.delete("lang"):E.set("lang",n),es(E),window.dispatchEvent(new PopStateEvent("popstate"))},as=n=>{n.preventDefault();const E={name:l,lang:d,primaryPage:s==null?void 0:s.id,slug:K?"":X(),pageType:s==null?void 0:s.pageType,...t&&{id:c}},R=()=>{!t&&d&&(ss(d),ls(d)),ns("outline"),a()};t?M(E,{onSuccess:R}):T(E,{onSuccess:R})};return e.jsx(N.Dialog,{open:h,onOpenChange:a,children:h&&e.jsxs(N.DialogContent,{className:"text-slate-600 sm:max-w-[425px]",children:[e.jsxs(N.DialogHeader,{children:[e.jsx(N.DialogTitle,{children:B(t?"Edit language":"Add new language page")}),e.jsx(N.DialogDescription,{className:"font-light",children:B("Enter the details for the language")})]}),e.jsx(hs,{id:c,pages:o,loading:ts,onSubmit:as,edit:t,lang:d,languages:G,name:l,setLang:S,setName:x,primaryPageObject:s,parentHasSelectedLanguagePage:os,isNonSlugPageType:K,isRootPage:D,useLanguagePrefix:p,setUseLanguagePrefix:C,isHomePage:V,parentSlug:Q,slug:f,setSlug:r,isSlugValid:A,setIsSlugValid:m,getSlug:X,isPending:q})]})})};exports.default=xs;
|
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
import { jsx as t, jsxs as g, Fragment as hn } from "react/jsx-runtime";
|
|
2
|
+
import { z as fn, D as H, B as gn } from "./register-chai-top-bar-CX_JkRJn.js";
|
|
3
|
+
import { n as mn, o as xn, D as vn, d as pn, e as Sn, f as Nn, p as Fn, L as I, q as wn } from "./index-BqlDf5fg.js";
|
|
4
|
+
import { p as An, r as Cn, S as Dn } from "./slug-input-CyKRaEV_.js";
|
|
5
|
+
import { g as En, h as $n, i as Ln, j as kn, k as Tn, l as Z, m as Un, c as Bn, L as A } from "./index-CsChke2B.js";
|
|
6
|
+
import { filter as Rn, find as Wn, startsWith as In } from "lodash-es";
|
|
7
|
+
import { Loader as qn } from "lucide-react";
|
|
8
|
+
import { useMemo as $, useState as L, useEffect as _ } from "react";
|
|
9
|
+
import { useTranslation as k } from "react-i18next";
|
|
10
|
+
const b = ({
|
|
11
|
+
edit: c,
|
|
12
|
+
lang: h,
|
|
13
|
+
languages: a,
|
|
14
|
+
name: i,
|
|
15
|
+
setLang: s,
|
|
16
|
+
setName: d,
|
|
17
|
+
primaryPageObject: o
|
|
18
|
+
}) => {
|
|
19
|
+
const { t: n } = k();
|
|
20
|
+
return /* @__PURE__ */ g("div", { className: "space-y-1", children: [
|
|
21
|
+
/* @__PURE__ */ t(I, { htmlFor: "lang", children: n("Language") }),
|
|
22
|
+
/* @__PURE__ */ g(
|
|
23
|
+
"select",
|
|
24
|
+
{
|
|
25
|
+
value: c ? "" : h,
|
|
26
|
+
disabled: c || !a.length,
|
|
27
|
+
onChange: (l) => {
|
|
28
|
+
const f = l.target.value;
|
|
29
|
+
s(f), !c && (In(i, o == null ? void 0 : o.name) || i.length === 0) && d(`${o == null ? void 0 : o.name} - ${A[f]}`);
|
|
30
|
+
},
|
|
31
|
+
className: "col-span-3 flex h-9 w-full rounded-md border border-border bg-background px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ t("option", { value: "", disabled: !0, children: c ? A[h] || h : a.length ? n("Choose language") : n("All available language page is created.") }),
|
|
34
|
+
a.map((l) => /* @__PURE__ */ t("option", { value: l, children: A[l] || l }, l))
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
] });
|
|
39
|
+
}, y = ({ lang: c, name: h, setName: a, parentHasSelectedLanguagePage: i }) => {
|
|
40
|
+
const { t: s } = k();
|
|
41
|
+
return /* @__PURE__ */ g("div", { className: "space-y-1", children: [
|
|
42
|
+
/* @__PURE__ */ t(I, { htmlFor: "name", children: s("Page Name") }),
|
|
43
|
+
/* @__PURE__ */ t(
|
|
44
|
+
fn,
|
|
45
|
+
{
|
|
46
|
+
id: "name",
|
|
47
|
+
value: c ? h : "",
|
|
48
|
+
onChange: (d) => a(d.target.value),
|
|
49
|
+
required: !0,
|
|
50
|
+
placeholder: s(c ? "Enter page name" : "Choose language to add slug"),
|
|
51
|
+
disabled: !i || !c
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
] });
|
|
55
|
+
}, Gn = ({
|
|
56
|
+
dynamic: c,
|
|
57
|
+
isNonSlugPageType: h,
|
|
58
|
+
isRootPage: a,
|
|
59
|
+
lang: i,
|
|
60
|
+
useLanguagePrefix: s,
|
|
61
|
+
setUseLanguagePrefix: d,
|
|
62
|
+
isHomePage: o,
|
|
63
|
+
parentSlug: n,
|
|
64
|
+
parentHasSelectedLanguagePage: l,
|
|
65
|
+
slug: f,
|
|
66
|
+
setSlug: u,
|
|
67
|
+
setIsSlugValid: x,
|
|
68
|
+
getSlug: m
|
|
69
|
+
}) => {
|
|
70
|
+
const { t: r } = k();
|
|
71
|
+
return h ? null : /* @__PURE__ */ g("div", { className: "space-y-1", children: [
|
|
72
|
+
a && i && /* @__PURE__ */ g("div", { className: "flex items-center space-x-2 pb-1", children: [
|
|
73
|
+
/* @__PURE__ */ t(
|
|
74
|
+
"input",
|
|
75
|
+
{
|
|
76
|
+
type: "checkbox",
|
|
77
|
+
id: "useLanguagePrefix",
|
|
78
|
+
checked: s,
|
|
79
|
+
onChange: (p) => d(p.target.checked),
|
|
80
|
+
className: "rounded border-gray-300"
|
|
81
|
+
}
|
|
82
|
+
),
|
|
83
|
+
/* @__PURE__ */ g(I, { htmlFor: "useLanguagePrefix", className: "text-sm font-normal leading-tight", children: [
|
|
84
|
+
"Add language code (",
|
|
85
|
+
/* @__PURE__ */ g("span", { className: "font-mono text-gray-900", children: [
|
|
86
|
+
"/",
|
|
87
|
+
i
|
|
88
|
+
] }),
|
|
89
|
+
") as slug prefix"
|
|
90
|
+
] })
|
|
91
|
+
] }),
|
|
92
|
+
/* @__PURE__ */ t(I, { htmlFor: "slug", children: r("Slug") }),
|
|
93
|
+
c ? /* @__PURE__ */ t(H, { variant: "default", className: "p-2 text-xs font-medium italic text-muted-foreground", children: r("This page will use dynamic slug as defined in primary page") }) : /* @__PURE__ */ t(
|
|
94
|
+
Dn,
|
|
95
|
+
{
|
|
96
|
+
disabled: !i || !l,
|
|
97
|
+
value: f,
|
|
98
|
+
onChange: u,
|
|
99
|
+
placeholder: r(i ? o && s ? "Leave empty for home page" : "Enter page slug" : "Choose language to add slug"),
|
|
100
|
+
parentSlug: n,
|
|
101
|
+
onValidationChange: x,
|
|
102
|
+
fullSlug: m()
|
|
103
|
+
}
|
|
104
|
+
)
|
|
105
|
+
] });
|
|
106
|
+
}, P = ({
|
|
107
|
+
parentHasSelectedLanguagePage: c,
|
|
108
|
+
name: h,
|
|
109
|
+
lang: a,
|
|
110
|
+
slug: i,
|
|
111
|
+
edit: s,
|
|
112
|
+
id: d,
|
|
113
|
+
primaryPageObject: o,
|
|
114
|
+
pages: n,
|
|
115
|
+
isNonSlugPageType: l,
|
|
116
|
+
isHomePage: f,
|
|
117
|
+
useLanguagePrefix: u,
|
|
118
|
+
isSlugValid: x,
|
|
119
|
+
isPending: m
|
|
120
|
+
}) => {
|
|
121
|
+
const { t: r } = k(), p = m || !h || !a || n.some((v) => (s ? v.id !== d : !0) && v.parent === (o == null ? void 0 : o.id) && v.lang === a) || !l && !(f && u) && (!x || !i);
|
|
122
|
+
return /* @__PURE__ */ t(wn, { children: c ? /* @__PURE__ */ g(hn, { children: [
|
|
123
|
+
/* @__PURE__ */ t(gn, { type: "submit", disabled: p && !o.dynamic, children: m ? /* @__PURE__ */ g("span", { className: "flex items-center gap-2", children: [
|
|
124
|
+
/* @__PURE__ */ t("span", { className: "loader mr-2" }),
|
|
125
|
+
r(s ? "Updating..." : "Adding...")
|
|
126
|
+
] }) : r(s ? "Update" : "Add new language page") }),
|
|
127
|
+
n.some(
|
|
128
|
+
(v) => (s ? v.id !== d : !0) && v.parent === (o == null ? void 0 : o.id) && v.lang === a
|
|
129
|
+
) && /* @__PURE__ */ t("p", { className: "mt-2 text-xs text-red-500", children: r("A page for this language already exists.") })
|
|
130
|
+
] }) : a && /* @__PURE__ */ t(H, { variant: "destructive", children: /* @__PURE__ */ g("p", { className: "mx-auto w-5/6 text-center", children: [
|
|
131
|
+
r("You need to create the"),
|
|
132
|
+
" ",
|
|
133
|
+
/* @__PURE__ */ t("span", { className: "font-medium", children: A[a] }),
|
|
134
|
+
" ",
|
|
135
|
+
r("page in the parent to add here.")
|
|
136
|
+
] }) }) });
|
|
137
|
+
}, zn = ({
|
|
138
|
+
onSubmit: c,
|
|
139
|
+
edit: h,
|
|
140
|
+
lang: a,
|
|
141
|
+
languages: i,
|
|
142
|
+
name: s,
|
|
143
|
+
setLang: d,
|
|
144
|
+
setName: o,
|
|
145
|
+
primaryPageObject: n,
|
|
146
|
+
parentHasSelectedLanguagePage: l,
|
|
147
|
+
id: f,
|
|
148
|
+
pages: u,
|
|
149
|
+
isNonSlugPageType: x,
|
|
150
|
+
isHomePage: m,
|
|
151
|
+
useLanguagePrefix: r,
|
|
152
|
+
slug: p,
|
|
153
|
+
isSlugValid: v,
|
|
154
|
+
isPending: S
|
|
155
|
+
}) => /* @__PURE__ */ g("form", { onSubmit: c, children: [
|
|
156
|
+
/* @__PURE__ */ g("div", { className: "grid gap-4 py-4", children: [
|
|
157
|
+
/* @__PURE__ */ t(
|
|
158
|
+
b,
|
|
159
|
+
{
|
|
160
|
+
edit: h,
|
|
161
|
+
lang: a,
|
|
162
|
+
languages: i,
|
|
163
|
+
name: s,
|
|
164
|
+
setLang: d,
|
|
165
|
+
setName: o,
|
|
166
|
+
primaryPageObject: n
|
|
167
|
+
}
|
|
168
|
+
),
|
|
169
|
+
/* @__PURE__ */ t(
|
|
170
|
+
y,
|
|
171
|
+
{
|
|
172
|
+
lang: a,
|
|
173
|
+
name: s,
|
|
174
|
+
setName: o,
|
|
175
|
+
parentHasSelectedLanguagePage: l
|
|
176
|
+
}
|
|
177
|
+
)
|
|
178
|
+
] }),
|
|
179
|
+
/* @__PURE__ */ t(
|
|
180
|
+
P,
|
|
181
|
+
{
|
|
182
|
+
parentHasSelectedLanguagePage: l,
|
|
183
|
+
name: s,
|
|
184
|
+
lang: a,
|
|
185
|
+
slug: p,
|
|
186
|
+
edit: h,
|
|
187
|
+
id: f,
|
|
188
|
+
primaryPageObject: n,
|
|
189
|
+
pages: u,
|
|
190
|
+
isNonSlugPageType: x,
|
|
191
|
+
isHomePage: m,
|
|
192
|
+
useLanguagePrefix: r,
|
|
193
|
+
isSlugValid: v,
|
|
194
|
+
isPending: S
|
|
195
|
+
}
|
|
196
|
+
)
|
|
197
|
+
] }), Mn = ({
|
|
198
|
+
loading: c,
|
|
199
|
+
onSubmit: h,
|
|
200
|
+
edit: a,
|
|
201
|
+
lang: i,
|
|
202
|
+
languages: s,
|
|
203
|
+
name: d,
|
|
204
|
+
setLang: o,
|
|
205
|
+
setName: n,
|
|
206
|
+
primaryPageObject: l,
|
|
207
|
+
parentHasSelectedLanguagePage: f,
|
|
208
|
+
isNonSlugPageType: u,
|
|
209
|
+
isRootPage: x,
|
|
210
|
+
useLanguagePrefix: m,
|
|
211
|
+
setUseLanguagePrefix: r,
|
|
212
|
+
isHomePage: p,
|
|
213
|
+
parentSlug: v,
|
|
214
|
+
slug: S,
|
|
215
|
+
setSlug: T,
|
|
216
|
+
isSlugValid: E,
|
|
217
|
+
setIsSlugValid: q,
|
|
218
|
+
getSlug: G,
|
|
219
|
+
isPending: U,
|
|
220
|
+
id: B,
|
|
221
|
+
pages: w
|
|
222
|
+
}) => c ? /* @__PURE__ */ t("div", { className: "flex h-80 items-center justify-center", children: /* @__PURE__ */ t(qn, { className: "animate-spin" }) }) : u ? /* @__PURE__ */ t(
|
|
223
|
+
zn,
|
|
224
|
+
{
|
|
225
|
+
onSubmit: h,
|
|
226
|
+
edit: a,
|
|
227
|
+
lang: i,
|
|
228
|
+
languages: s,
|
|
229
|
+
name: d,
|
|
230
|
+
setLang: o,
|
|
231
|
+
setName: n,
|
|
232
|
+
primaryPageObject: l,
|
|
233
|
+
parentHasSelectedLanguagePage: f,
|
|
234
|
+
id: B,
|
|
235
|
+
pages: w,
|
|
236
|
+
isNonSlugPageType: u,
|
|
237
|
+
isHomePage: p,
|
|
238
|
+
useLanguagePrefix: m,
|
|
239
|
+
slug: S,
|
|
240
|
+
isSlugValid: E,
|
|
241
|
+
isPending: U
|
|
242
|
+
}
|
|
243
|
+
) : /* @__PURE__ */ g("form", { onSubmit: h, children: [
|
|
244
|
+
/* @__PURE__ */ g("div", { className: "grid gap-4 py-4", children: [
|
|
245
|
+
/* @__PURE__ */ t(
|
|
246
|
+
b,
|
|
247
|
+
{
|
|
248
|
+
edit: a,
|
|
249
|
+
lang: i,
|
|
250
|
+
languages: s,
|
|
251
|
+
name: d,
|
|
252
|
+
setLang: o,
|
|
253
|
+
setName: n,
|
|
254
|
+
primaryPageObject: l
|
|
255
|
+
}
|
|
256
|
+
),
|
|
257
|
+
/* @__PURE__ */ t(
|
|
258
|
+
y,
|
|
259
|
+
{
|
|
260
|
+
lang: i,
|
|
261
|
+
name: d,
|
|
262
|
+
setName: n,
|
|
263
|
+
parentHasSelectedLanguagePage: f
|
|
264
|
+
}
|
|
265
|
+
),
|
|
266
|
+
/* @__PURE__ */ t(
|
|
267
|
+
Gn,
|
|
268
|
+
{
|
|
269
|
+
dynamic: l == null ? void 0 : l.dynamic,
|
|
270
|
+
isNonSlugPageType: u,
|
|
271
|
+
isRootPage: x,
|
|
272
|
+
lang: i,
|
|
273
|
+
useLanguagePrefix: m,
|
|
274
|
+
setUseLanguagePrefix: r,
|
|
275
|
+
isHomePage: p,
|
|
276
|
+
parentSlug: v,
|
|
277
|
+
parentHasSelectedLanguagePage: f,
|
|
278
|
+
slug: S,
|
|
279
|
+
setSlug: T,
|
|
280
|
+
isSlugValid: E,
|
|
281
|
+
setIsSlugValid: q,
|
|
282
|
+
getSlug: G
|
|
283
|
+
}
|
|
284
|
+
)
|
|
285
|
+
] }),
|
|
286
|
+
/* @__PURE__ */ t(
|
|
287
|
+
P,
|
|
288
|
+
{
|
|
289
|
+
parentHasSelectedLanguagePage: f,
|
|
290
|
+
name: d,
|
|
291
|
+
lang: i,
|
|
292
|
+
slug: S,
|
|
293
|
+
edit: a,
|
|
294
|
+
id: B,
|
|
295
|
+
primaryPageObject: l,
|
|
296
|
+
pages: w,
|
|
297
|
+
isNonSlugPageType: u,
|
|
298
|
+
isHomePage: p,
|
|
299
|
+
useLanguagePrefix: m,
|
|
300
|
+
isSlugValid: E,
|
|
301
|
+
isPending: U
|
|
302
|
+
}
|
|
303
|
+
)
|
|
304
|
+
] }), bn = ({
|
|
305
|
+
id: c,
|
|
306
|
+
isOpen: h,
|
|
307
|
+
onClose: a,
|
|
308
|
+
primaryPage: i,
|
|
309
|
+
edit: s = !1,
|
|
310
|
+
preselectedLang: d
|
|
311
|
+
}) => {
|
|
312
|
+
const { data: o = [] } = En(), n = $(() => o.find((e) => e.id === i), [o, i]), [l, f] = L(""), [u, x] = L(""), [m, r] = L(""), [p, v] = L(!0), [S, T] = L(!0), { mutate: E, isPending: q } = $n(), { mutate: G, isPending: U } = Ln(), B = q || U, { data: w, isFetching: j } = kn(), Y = Tn(), { data: C, isFetching: O } = Z(i), { data: F = [], isFetching: nn } = Z(
|
|
313
|
+
n == null ? void 0 : n.parent
|
|
314
|
+
), { data: J = [], isFetching: en } = Un(), { setSelectedLang: sn } = mn(), { t: z } = k(), [, tn] = Bn(), [, on] = xn(), ln = j || O || nn || en, D = $(() => Rn(w == null ? void 0 : w.languages, (e) => !Wn(C, { lang: e })), [w, C]), M = $(
|
|
315
|
+
() => J.find((e) => e.key === (n == null ? void 0 : n.pageType)),
|
|
316
|
+
[J, n == null ? void 0 : n.pageType]
|
|
317
|
+
), K = !(M != null && M.hasSlug), V = (n == null ? void 0 : n.slug) === "/";
|
|
318
|
+
_(() => {
|
|
319
|
+
if (!s && n && d && (x(d), f(`${n.name} - ${A[d]}`)), !s || !n) return;
|
|
320
|
+
const e = C == null ? void 0 : C.find((rn) => rn.id === c);
|
|
321
|
+
if (!e) return;
|
|
322
|
+
f(e.name), x(e.lang);
|
|
323
|
+
const N = e.slug || "", { initSlug: W, prefix: cn } = An(N, n);
|
|
324
|
+
r(W), T(cn);
|
|
325
|
+
}, [s, c, C, n, d]), _(() => {
|
|
326
|
+
if (d)
|
|
327
|
+
x(d);
|
|
328
|
+
else if ((D == null ? void 0 : D.length) === 1 && !s) {
|
|
329
|
+
const e = D[0];
|
|
330
|
+
if (!e || !A[e]) return;
|
|
331
|
+
x(e), (!l || l === (n == null ? void 0 : n.name)) && f(`${n == null ? void 0 : n.name} - ${A[e]}`);
|
|
332
|
+
}
|
|
333
|
+
}, [d, D, s, l, n]);
|
|
334
|
+
const { parentSlug: Q, isRootPage: R } = $(() => {
|
|
335
|
+
if (V || !u)
|
|
336
|
+
return { parentSlug: void 0, isRootPage: !(n != null && n.parent) };
|
|
337
|
+
if (!(n != null && n.parent))
|
|
338
|
+
return {
|
|
339
|
+
parentSlug: S ? `/${u}` : void 0,
|
|
340
|
+
isRootPage: !0
|
|
341
|
+
};
|
|
342
|
+
const e = F == null ? void 0 : F.find((N) => N.lang === u);
|
|
343
|
+
return { parentSlug: e == null ? void 0 : e.slug, isRootPage: !1 };
|
|
344
|
+
}, [n == null ? void 0 : n.parent, F, S, u, V]), an = $(() => R ? !0 : !!(F != null && F.some((e) => (e == null ? void 0 : e.lang) === u)), [u, F, R]), X = () => {
|
|
345
|
+
let e = "";
|
|
346
|
+
return R ? e = `/${S ? [u, m].filter(Boolean).join("/") : m}` : e = `${Cn(Q)}/${m}`, e.replace(/\/{2,}/g, "/").replace(/\/$/, "");
|
|
347
|
+
}, dn = (e) => {
|
|
348
|
+
const N = new URLSearchParams(window.location.search);
|
|
349
|
+
Y && e === Y ? N.delete("lang") : N.set("lang", e), tn(N), window.dispatchEvent(new PopStateEvent("popstate"));
|
|
350
|
+
}, un = (e) => {
|
|
351
|
+
e.preventDefault();
|
|
352
|
+
const N = {
|
|
353
|
+
name: l,
|
|
354
|
+
lang: u,
|
|
355
|
+
primaryPage: n == null ? void 0 : n.id,
|
|
356
|
+
slug: K ? "" : X(),
|
|
357
|
+
pageType: n == null ? void 0 : n.pageType,
|
|
358
|
+
...s && { id: c }
|
|
359
|
+
}, W = () => {
|
|
360
|
+
!s && u && (sn(u), dn(u)), on("outline"), a();
|
|
361
|
+
};
|
|
362
|
+
s ? G(N, { onSuccess: W }) : E(N, { onSuccess: W });
|
|
363
|
+
};
|
|
364
|
+
return /* @__PURE__ */ t(vn, { open: h, onOpenChange: a, children: h && /* @__PURE__ */ g(pn, { className: "text-slate-600 sm:max-w-[425px]", children: [
|
|
365
|
+
/* @__PURE__ */ g(Sn, { children: [
|
|
366
|
+
/* @__PURE__ */ t(Nn, { children: z(s ? "Edit language" : "Add new language page") }),
|
|
367
|
+
/* @__PURE__ */ t(Fn, { className: "font-light", children: z("Enter the details for the language") })
|
|
368
|
+
] }),
|
|
369
|
+
/* @__PURE__ */ t(
|
|
370
|
+
Mn,
|
|
371
|
+
{
|
|
372
|
+
id: c,
|
|
373
|
+
pages: o,
|
|
374
|
+
loading: ln,
|
|
375
|
+
onSubmit: un,
|
|
376
|
+
edit: s,
|
|
377
|
+
lang: u,
|
|
378
|
+
languages: D,
|
|
379
|
+
name: l,
|
|
380
|
+
setLang: x,
|
|
381
|
+
setName: f,
|
|
382
|
+
primaryPageObject: n,
|
|
383
|
+
parentHasSelectedLanguagePage: an,
|
|
384
|
+
isNonSlugPageType: K,
|
|
385
|
+
isRootPage: R,
|
|
386
|
+
useLanguagePrefix: S,
|
|
387
|
+
setUseLanguagePrefix: T,
|
|
388
|
+
isHomePage: V,
|
|
389
|
+
parentSlug: Q,
|
|
390
|
+
slug: m,
|
|
391
|
+
setSlug: r,
|
|
392
|
+
isSlugValid: p,
|
|
393
|
+
setIsSlugValid: v,
|
|
394
|
+
getSlug: X,
|
|
395
|
+
isPending: B
|
|
396
|
+
}
|
|
397
|
+
)
|
|
398
|
+
] }) });
|
|
399
|
+
};
|
|
400
|
+
export {
|
|
401
|
+
bn as default
|
|
402
|
+
};
|