@lystech/sections 0.4.4 → 0.4.6
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/SectionsProvider.d.ts +10 -0
- package/dist/editeur/pont.d.ts +2 -0
- package/dist/editeur.js +197 -181
- package/dist/index.js +170 -164
- package/package.json +1 -1
package/dist/editeur.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { jsx as e, jsxs as f, Fragment as
|
|
2
|
-
import { createRoot as
|
|
3
|
-
import { useState as M, useRef as
|
|
4
|
-
function
|
|
1
|
+
import { jsx as e, jsxs as f, Fragment as re } from "react/jsx-runtime";
|
|
2
|
+
import { createRoot as ae } from "react-dom/client";
|
|
3
|
+
import { useState as M, useRef as X, useEffect as G, useCallback as W, useMemo as te } from "react";
|
|
4
|
+
function fe({
|
|
5
5
|
jeton: n,
|
|
6
6
|
site: t,
|
|
7
7
|
apiBaseUrl: s,
|
|
@@ -40,7 +40,7 @@ function me({
|
|
|
40
40
|
annuler: (o) => b("/site-sections/" + o + "/revert", "POST")
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
|
-
const
|
|
43
|
+
const be = "data:image/png;base64,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", ge = {
|
|
44
44
|
apiKey: "AIzaSyCpAeHlt1wZvM5KtYg7X7MDVnWVJT86gvc",
|
|
45
45
|
authDomain: "lystech.firebaseapp.com",
|
|
46
46
|
projectId: "lystech",
|
|
@@ -48,13 +48,13 @@ const fe = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAA
|
|
|
48
48
|
messagingSenderId: "237347321732",
|
|
49
49
|
appId: "1:237347321732:web:7f9586d48e488d73ddcfd1"
|
|
50
50
|
};
|
|
51
|
-
function
|
|
51
|
+
function he() {
|
|
52
52
|
return /* @__PURE__ */ f("span", { className: "marque", children: [
|
|
53
|
-
/* @__PURE__ */ e("img", { src:
|
|
53
|
+
/* @__PURE__ */ e("img", { src: be, alt: "", width: 22, height: 22 }),
|
|
54
54
|
/* @__PURE__ */ e("span", { className: "marque__mot", children: "Lystech" })
|
|
55
55
|
] });
|
|
56
56
|
}
|
|
57
|
-
function
|
|
57
|
+
function xe() {
|
|
58
58
|
return /* @__PURE__ */ f("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", focusable: "false", className: "logo", children: [
|
|
59
59
|
/* @__PURE__ */ e("path", { fill: "#4285F4", d: "M17.64 9.2c0-.64-.06-1.25-.16-1.84H9v3.48h4.84a4.14 4.14 0 0 1-1.8 2.72v2.26h2.91c1.7-1.57 2.69-3.88 2.69-6.62z" }),
|
|
60
60
|
/* @__PURE__ */ e("path", { fill: "#34A853", d: "M9 18c2.43 0 4.47-.8 5.96-2.18l-2.91-2.26c-.81.54-1.84.86-3.05.86-2.34 0-4.33-1.58-5.04-3.71H.96v2.33A9 9 0 0 0 9 18z" }),
|
|
@@ -62,7 +62,7 @@ function he() {
|
|
|
62
62
|
/* @__PURE__ */ e("path", { fill: "#EA4335", d: "M9 3.58c1.32 0 2.5.45 3.44 1.35l2.58-2.59C13.46.89 11.43 0 9 0A9 9 0 0 0 .96 4.96l3 2.33C4.67 5.16 6.66 3.58 9 3.58z" })
|
|
63
63
|
] });
|
|
64
64
|
}
|
|
65
|
-
function
|
|
65
|
+
function ve() {
|
|
66
66
|
return /* @__PURE__ */ e("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", focusable: "false", className: "logo", children: /* @__PURE__ */ e(
|
|
67
67
|
"path",
|
|
68
68
|
{
|
|
@@ -71,7 +71,7 @@ function xe() {
|
|
|
71
71
|
}
|
|
72
72
|
) });
|
|
73
73
|
}
|
|
74
|
-
function
|
|
74
|
+
function ye({
|
|
75
75
|
site: n,
|
|
76
76
|
apiBaseUrl: t,
|
|
77
77
|
methodes: s = ["google", "facebook"],
|
|
@@ -94,30 +94,30 @@ function ve({
|
|
|
94
94
|
default:
|
|
95
95
|
return "La connexion a échoué. Réessayez dans un instant.";
|
|
96
96
|
}
|
|
97
|
-
}, o = async (v,
|
|
98
|
-
const
|
|
97
|
+
}, o = async (v, S = !1) => {
|
|
98
|
+
const P = await fetch(t + "/site-sections/edit-login/third-party", {
|
|
99
99
|
method: "POST",
|
|
100
100
|
headers: { "Content-Type": "application/json" },
|
|
101
101
|
body: JSON.stringify({
|
|
102
102
|
site: n,
|
|
103
103
|
token: v,
|
|
104
104
|
tokenType: "firebase",
|
|
105
|
-
demanderAcces:
|
|
105
|
+
demanderAcces: S
|
|
106
106
|
})
|
|
107
107
|
});
|
|
108
|
-
if (
|
|
108
|
+
if (P.status === 429) {
|
|
109
109
|
l({
|
|
110
110
|
nom: "erreur",
|
|
111
111
|
texte: "Trop de tentatives. Réessayez dans quelques minutes."
|
|
112
112
|
});
|
|
113
113
|
return;
|
|
114
114
|
}
|
|
115
|
-
const
|
|
116
|
-
if (
|
|
117
|
-
r(
|
|
115
|
+
const y = await P.json().catch(() => null);
|
|
116
|
+
if (y?.ok && y?.token) {
|
|
117
|
+
r(y.token);
|
|
118
118
|
return;
|
|
119
119
|
}
|
|
120
|
-
switch (
|
|
120
|
+
switch (y?.raison) {
|
|
121
121
|
case "sans_acces":
|
|
122
122
|
l({ nom: "sans-acces", jeton: v });
|
|
123
123
|
return;
|
|
@@ -148,13 +148,13 @@ function ve({
|
|
|
148
148
|
}, i = async (v) => {
|
|
149
149
|
l({ nom: "envoi", quoi: v });
|
|
150
150
|
try {
|
|
151
|
-
const [{ initializeApp:
|
|
151
|
+
const [{ initializeApp: S, getApps: P }, y] = await Promise.all([
|
|
152
152
|
import("./morceaux/index.esm-B4AB50RA.js"),
|
|
153
153
|
import("./morceaux/index.esm-B4hL1FOE.js")
|
|
154
|
-
]), q =
|
|
155
|
-
await o(
|
|
156
|
-
} catch (
|
|
157
|
-
l({ nom: "erreur", texte: b(String(
|
|
154
|
+
]), q = P().find((O) => O.name === "lystech-edition") ?? S(ge, "lystech-edition"), U = v === "google" ? new y.GoogleAuthProvider() : new y.FacebookAuthProvider(), E = await (await y.signInWithPopup(y.getAuth(q), U)).user.getIdToken();
|
|
155
|
+
await o(E);
|
|
156
|
+
} catch (S) {
|
|
157
|
+
l({ nom: "erreur", texte: b(String(S?.code ?? "")) });
|
|
158
158
|
}
|
|
159
159
|
}, h = d.nom === "envoi";
|
|
160
160
|
return /* @__PURE__ */ e("div", { className: "voile", role: "dialog", "aria-modal": "true", "aria-label": "Modifier ce site", children: /* @__PURE__ */ f("div", { className: "fenetre", children: [
|
|
@@ -169,7 +169,7 @@ function ve({
|
|
|
169
169
|
}
|
|
170
170
|
),
|
|
171
171
|
/* @__PURE__ */ f("div", { className: "fenetre__tete", children: [
|
|
172
|
-
/* @__PURE__ */ e(
|
|
172
|
+
/* @__PURE__ */ e(he, {}),
|
|
173
173
|
/* @__PURE__ */ e("h2", { className: "fenetre__titre", children: "Modifier ce site" }),
|
|
174
174
|
/* @__PURE__ */ e("p", { className: "fenetre__sous", children: "Vous vous connectez à Lystech. Cet accès ne sert qu'à modifier le contenu de ce site." })
|
|
175
175
|
] }),
|
|
@@ -207,7 +207,7 @@ function ve({
|
|
|
207
207
|
i("google");
|
|
208
208
|
},
|
|
209
209
|
children: [
|
|
210
|
-
/* @__PURE__ */ e(
|
|
210
|
+
/* @__PURE__ */ e(xe, {}),
|
|
211
211
|
/* @__PURE__ */ e("span", { children: d.nom === "envoi" && d.quoi === "google" ? "Connexion…" : "Continuer avec Google" })
|
|
212
212
|
]
|
|
213
213
|
}
|
|
@@ -222,7 +222,7 @@ function ve({
|
|
|
222
222
|
i("facebook");
|
|
223
223
|
},
|
|
224
224
|
children: [
|
|
225
|
-
/* @__PURE__ */ e(
|
|
225
|
+
/* @__PURE__ */ e(ve, {}),
|
|
226
226
|
/* @__PURE__ */ e("span", { children: d.nom === "envoi" && d.quoi === "facebook" ? "Connexion…" : "Continuer avec Facebook" })
|
|
227
227
|
]
|
|
228
228
|
}
|
|
@@ -235,7 +235,7 @@ function Ae(n, t) {
|
|
|
235
235
|
const s = n && typeof n == "object" && !Array.isArray(n) ? Object.keys(n).filter((a) => /^[a-z]{2}(-[A-Za-z]{2})?$/.test(a)) : [], r = t.slice(0, 2);
|
|
236
236
|
return Array.from(/* @__PURE__ */ new Set([r, ...s]));
|
|
237
237
|
}
|
|
238
|
-
function
|
|
238
|
+
function ke(n) {
|
|
239
239
|
switch (n.type) {
|
|
240
240
|
case "number":
|
|
241
241
|
return 0;
|
|
@@ -247,7 +247,7 @@ function ye(n) {
|
|
|
247
247
|
return "";
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
|
-
function
|
|
250
|
+
function ne({ champ: n, valeur: t, changer: s }) {
|
|
251
251
|
switch (n.type) {
|
|
252
252
|
case "richText":
|
|
253
253
|
return /* @__PURE__ */ e(
|
|
@@ -310,7 +310,7 @@ function ee({ champ: n, valeur: t, changer: s }) {
|
|
|
310
310
|
}
|
|
311
311
|
);
|
|
312
312
|
case "image":
|
|
313
|
-
return /* @__PURE__ */ f(
|
|
313
|
+
return /* @__PURE__ */ f(re, { children: [
|
|
314
314
|
/* @__PURE__ */ e(
|
|
315
315
|
"input",
|
|
316
316
|
{
|
|
@@ -333,10 +333,10 @@ function ee({ champ: n, valeur: t, changer: s }) {
|
|
|
333
333
|
);
|
|
334
334
|
}
|
|
335
335
|
}
|
|
336
|
-
function
|
|
336
|
+
function se({ champ: n, valeur: t, changer: s, langue: r }) {
|
|
337
337
|
if (n.type === "list") {
|
|
338
338
|
const a = Array.isArray(t) ? t : [], d = n.of ?? [], l = (b, o, i) => {
|
|
339
|
-
const h = a.map((v,
|
|
339
|
+
const h = a.map((v, S) => S === b ? { ...v, [o]: i } : v);
|
|
340
340
|
s(h);
|
|
341
341
|
};
|
|
342
342
|
return /* @__PURE__ */ f("div", { className: "champ", children: [
|
|
@@ -387,7 +387,7 @@ function re({ champ: n, valeur: t, changer: s, langue: r }) {
|
|
|
387
387
|
] })
|
|
388
388
|
] }),
|
|
389
389
|
d.map((i) => /* @__PURE__ */ e(
|
|
390
|
-
|
|
390
|
+
se,
|
|
391
391
|
{
|
|
392
392
|
champ: i,
|
|
393
393
|
langue: r,
|
|
@@ -404,7 +404,7 @@ function re({ champ: n, valeur: t, changer: s, langue: r }) {
|
|
|
404
404
|
className: "bouton",
|
|
405
405
|
onClick: () => s([
|
|
406
406
|
...a,
|
|
407
|
-
Object.fromEntries(d.map((b) => [b.key,
|
|
407
|
+
Object.fromEntries(d.map((b) => [b.key, ke(b)]))
|
|
408
408
|
]),
|
|
409
409
|
children: "+ Ajouter"
|
|
410
410
|
}
|
|
@@ -419,7 +419,7 @@ function re({ champ: n, valeur: t, changer: s, langue: r }) {
|
|
|
419
419
|
a.map((l) => /* @__PURE__ */ f("div", { style: { marginBottom: 8 }, children: [
|
|
420
420
|
/* @__PURE__ */ e("span", { className: "champ__langue", children: l }),
|
|
421
421
|
/* @__PURE__ */ e(
|
|
422
|
-
|
|
422
|
+
ne,
|
|
423
423
|
{
|
|
424
424
|
champ: n,
|
|
425
425
|
valeur: d[l],
|
|
@@ -431,12 +431,12 @@ function re({ champ: n, valeur: t, changer: s, langue: r }) {
|
|
|
431
431
|
}
|
|
432
432
|
return /* @__PURE__ */ f("div", { className: "champ", children: [
|
|
433
433
|
/* @__PURE__ */ e("label", { className: "champ__etiquette", children: n.label }),
|
|
434
|
-
/* @__PURE__ */ e(
|
|
434
|
+
/* @__PURE__ */ e(ne, { champ: n, valeur: t, changer: s }),
|
|
435
435
|
n.help && /* @__PURE__ */ e("p", { className: "champ__aide", children: n.help })
|
|
436
436
|
] });
|
|
437
437
|
}
|
|
438
|
-
const
|
|
439
|
-
function
|
|
438
|
+
const we = ["lystech-editeur-hote", "lystech-connexion-hote"];
|
|
439
|
+
function Ce(n) {
|
|
440
440
|
const t = /* @__PURE__ */ new Map();
|
|
441
441
|
for (const [s, r] of Object.entries(n))
|
|
442
442
|
for (const [a, d] of Object.entries(r)) {
|
|
@@ -447,10 +447,10 @@ function we(n) {
|
|
|
447
447
|
}
|
|
448
448
|
return t;
|
|
449
449
|
}
|
|
450
|
-
function
|
|
450
|
+
function Ne(n) {
|
|
451
451
|
const t = /* @__PURE__ */ new Map(), s = document.body.querySelectorAll("*");
|
|
452
452
|
for (const r of s) {
|
|
453
|
-
if (
|
|
453
|
+
if (we.some((l) => r.id === l || r.closest("#" + l)) || r.children.length > 0) continue;
|
|
454
454
|
const a = (r.textContent ?? "").trim();
|
|
455
455
|
if (a.length < 2) continue;
|
|
456
456
|
const d = n.get(a);
|
|
@@ -458,30 +458,30 @@ function Ce(n) {
|
|
|
458
458
|
}
|
|
459
459
|
return t;
|
|
460
460
|
}
|
|
461
|
-
function
|
|
461
|
+
function Ee({
|
|
462
462
|
source: n,
|
|
463
463
|
actif: t,
|
|
464
464
|
surModification: s
|
|
465
465
|
}) {
|
|
466
|
-
const r =
|
|
466
|
+
const r = X(/* @__PURE__ */ new Map()), a = X(null), [d, l] = M(null), b = X(n);
|
|
467
467
|
b.current = n;
|
|
468
|
-
const o =
|
|
469
|
-
return o.current = s,
|
|
468
|
+
const o = X(s);
|
|
469
|
+
return o.current = s, G(() => {
|
|
470
470
|
if (!t) return;
|
|
471
|
-
const i = b.current.langueCourante(), h =
|
|
472
|
-
r.current =
|
|
471
|
+
const i = b.current.langueCourante(), h = Ce(b.current.dictionnaire(i)), v = () => {
|
|
472
|
+
r.current = Ne(h);
|
|
473
473
|
};
|
|
474
474
|
v();
|
|
475
|
-
let
|
|
476
|
-
const
|
|
477
|
-
a.current || (clearTimeout(
|
|
475
|
+
let S;
|
|
476
|
+
const P = new MutationObserver(() => {
|
|
477
|
+
a.current || (clearTimeout(S), S = setTimeout(v, 250));
|
|
478
478
|
});
|
|
479
|
-
|
|
480
|
-
const
|
|
479
|
+
P.observe(document.body, { childList: !0, subtree: !0 });
|
|
480
|
+
const y = "outline:2px dashed rgba(59,165,141,.85);outline-offset:3px;border-radius:3px;cursor:text;", q = (p) => {
|
|
481
481
|
const c = p.target;
|
|
482
482
|
!(c instanceof HTMLElement) || a.current || r.current.has(c) && (c.dataset.lysStyleAvant || (c.dataset.lysStyleAvant = c.getAttribute("style") ?? ""), c.setAttribute(
|
|
483
483
|
"style",
|
|
484
|
-
(c.dataset.lysStyleAvant ?? "") +
|
|
484
|
+
(c.dataset.lysStyleAvant ?? "") + y
|
|
485
485
|
));
|
|
486
486
|
}, U = (p) => {
|
|
487
487
|
const c = p.target;
|
|
@@ -502,7 +502,7 @@ function Ne({
|
|
|
502
502
|
), p.focus();
|
|
503
503
|
const _ = window.getSelection(), Q = document.createRange();
|
|
504
504
|
Q.selectNodeContents(p), _?.removeAllRanges(), _?.addRange(Q);
|
|
505
|
-
},
|
|
505
|
+
}, E = async (p) => {
|
|
506
506
|
const c = a.current;
|
|
507
507
|
if (!c) return;
|
|
508
508
|
a.current = null;
|
|
@@ -515,12 +515,12 @@ function Ne({
|
|
|
515
515
|
}
|
|
516
516
|
const Q = b.current.langueCourante();
|
|
517
517
|
b.current.poser(Q, c.ns, c.chemin, x), await o.current(c.ns, c.chemin, Q, x);
|
|
518
|
-
},
|
|
518
|
+
}, O = (p) => {
|
|
519
519
|
const c = p.target;
|
|
520
520
|
if (!(c instanceof HTMLElement)) return;
|
|
521
521
|
if (a.current) {
|
|
522
522
|
if (a.current.el === c) return;
|
|
523
|
-
|
|
523
|
+
E(!1);
|
|
524
524
|
}
|
|
525
525
|
const x = r.current.get(c);
|
|
526
526
|
if (x) {
|
|
@@ -535,21 +535,21 @@ function Ne({
|
|
|
535
535
|
y: p.clientY
|
|
536
536
|
});
|
|
537
537
|
}
|
|
538
|
-
},
|
|
539
|
-
a.current && (p.key === "Escape" ? (p.preventDefault(),
|
|
540
|
-
},
|
|
541
|
-
a.current &&
|
|
538
|
+
}, z = (p) => {
|
|
539
|
+
a.current && (p.key === "Escape" ? (p.preventDefault(), E(!0)) : p.key === "Enter" && !p.shiftKey && (p.preventDefault(), E(!1)));
|
|
540
|
+
}, L = () => {
|
|
541
|
+
a.current && E(!1);
|
|
542
542
|
};
|
|
543
|
-
document.addEventListener("mouseover", q, !0), document.addEventListener("mouseout", U, !0), document.addEventListener("click",
|
|
544
|
-
const
|
|
543
|
+
document.addEventListener("mouseover", q, !0), document.addEventListener("mouseout", U, !0), document.addEventListener("click", O, !0);
|
|
544
|
+
const V = (p) => {
|
|
545
545
|
if (!a.current) return;
|
|
546
546
|
const c = p.inputType;
|
|
547
|
-
(c === "insertParagraph" || c === "insertLineBreak") && (p.preventDefault(),
|
|
547
|
+
(c === "insertParagraph" || c === "insertLineBreak") && (p.preventDefault(), E(!1));
|
|
548
548
|
};
|
|
549
|
-
return document.addEventListener("beforeinput",
|
|
549
|
+
return document.addEventListener("beforeinput", V, !0), document.addEventListener("keydown", z, !0), document.addEventListener("focusout", L, !0), window.__lysChoisir = (p, c) => {
|
|
550
550
|
l(null), I(c, p);
|
|
551
551
|
}, () => {
|
|
552
|
-
clearTimeout(
|
|
552
|
+
clearTimeout(S), P.disconnect(), document.removeEventListener("mouseover", q, !0), document.removeEventListener("mouseout", U, !0), document.removeEventListener("click", O, !0), document.removeEventListener("beforeinput", V, !0), document.removeEventListener("keydown", z, !0), document.removeEventListener("focusout", L, !0), a.current && E(!0), delete window.__lysChoisir;
|
|
553
553
|
};
|
|
554
554
|
}, [t]), d ? /* @__PURE__ */ f(
|
|
555
555
|
"div",
|
|
@@ -588,168 +588,184 @@ function Ne({
|
|
|
588
588
|
}
|
|
589
589
|
) : null;
|
|
590
590
|
}
|
|
591
|
-
const
|
|
592
|
-
function
|
|
591
|
+
const Z = /^i18n:([^:]+):(.*)$/, $ = "commun", ee = "lystech-edit-mode";
|
|
592
|
+
function oe(n, t) {
|
|
593
593
|
return JSON.stringify(n ?? {}) === JSON.stringify(t ?? {});
|
|
594
594
|
}
|
|
595
|
-
function
|
|
596
|
-
const [s, r] = M([]), [a, d] = M([]), [l, b] = M(t.page), [o, i] = M(null), [h, v] = M({}), [
|
|
595
|
+
function Se({ api: n, pont: t }) {
|
|
596
|
+
const [s, r] = M([]), [a, d] = M([]), [l, b] = M(t.page), [o, i] = M(null), [h, v] = M({}), [S, P] = M(!1), [y, q] = M(() => {
|
|
597
597
|
try {
|
|
598
|
-
return window.localStorage.getItem(
|
|
598
|
+
return window.localStorage.getItem(ee) === "circuler" ? "circuler" : "modifier";
|
|
599
599
|
} catch {
|
|
600
600
|
return "modifier";
|
|
601
601
|
}
|
|
602
602
|
}), U = () => q((u) => {
|
|
603
603
|
const m = u === "modifier" ? "circuler" : "modifier";
|
|
604
604
|
try {
|
|
605
|
-
window.localStorage.setItem(
|
|
605
|
+
window.localStorage.setItem(ee, m);
|
|
606
606
|
} catch {
|
|
607
607
|
}
|
|
608
608
|
return m;
|
|
609
|
-
}), [I,
|
|
609
|
+
}), [I, E] = M(!1), [O, z] = M(
|
|
610
610
|
null
|
|
611
611
|
);
|
|
612
|
-
|
|
613
|
-
b(u), i(null),
|
|
612
|
+
G(() => (t.surChangementDePage = (u) => {
|
|
613
|
+
b(u), i(null), P(!1);
|
|
614
614
|
}, () => {
|
|
615
615
|
t.surChangementDePage = void 0;
|
|
616
616
|
}), [t]);
|
|
617
|
-
const
|
|
617
|
+
const L = W(async () => {
|
|
618
618
|
try {
|
|
619
619
|
const [u, m] = await Promise.all([
|
|
620
620
|
n.pourPage(l),
|
|
621
|
-
l ===
|
|
621
|
+
l === $ ? Promise.resolve([]) : n.pourPage($)
|
|
622
622
|
]), g = [...u, ...m];
|
|
623
623
|
return d(g), g;
|
|
624
624
|
} catch {
|
|
625
|
-
return
|
|
625
|
+
return z({
|
|
626
626
|
ton: "erreur",
|
|
627
627
|
texte: "Impossible de lire le contenu du site."
|
|
628
628
|
}), [];
|
|
629
629
|
}
|
|
630
630
|
}, [n, l]);
|
|
631
|
-
|
|
631
|
+
G(() => {
|
|
632
632
|
n.schemas().then(r).catch(() => r([]));
|
|
633
|
-
}, [n]),
|
|
634
|
-
|
|
635
|
-
}, [
|
|
636
|
-
const
|
|
633
|
+
}, [n]), G(() => {
|
|
634
|
+
L();
|
|
635
|
+
}, [L]);
|
|
636
|
+
const V = W(
|
|
637
637
|
(u, m) => {
|
|
638
|
-
let g = null,
|
|
639
|
-
for (const
|
|
640
|
-
const
|
|
641
|
-
if (!
|
|
642
|
-
const C =
|
|
643
|
-
(C === "" || m === C || m.startsWith(C + ".")) && C.length >
|
|
638
|
+
let g = null, A = -1;
|
|
639
|
+
for (const k of s) {
|
|
640
|
+
const w = Z.exec(k.blockType);
|
|
641
|
+
if (!w || w[1] !== u) continue;
|
|
642
|
+
const C = w[2];
|
|
643
|
+
(C === "" || m === C || m.startsWith(C + ".")) && C.length > A && (g = k, A = C.length);
|
|
644
644
|
}
|
|
645
645
|
if (!g) return null;
|
|
646
|
-
const
|
|
647
|
-
return { bloc: g, champ:
|
|
646
|
+
const N = Z.exec(g.blockType)?.[2] ?? "", T = N ? m.slice(N.length + 1) : m;
|
|
647
|
+
return { bloc: g, champ: T };
|
|
648
648
|
},
|
|
649
649
|
[s]
|
|
650
|
-
), p =
|
|
650
|
+
), p = W(
|
|
651
651
|
(u) => s.find((m) => m.blockType === u),
|
|
652
652
|
[s]
|
|
653
|
-
), c =
|
|
653
|
+
), c = te(
|
|
654
654
|
() => s.filter((u) => {
|
|
655
655
|
const m = u.pages ?? [];
|
|
656
|
-
return m.includes(l) || m.includes(
|
|
656
|
+
return m.includes(l) || m.includes($);
|
|
657
657
|
}),
|
|
658
658
|
[s, l]
|
|
659
|
-
), x =
|
|
660
|
-
() => a.filter((u) => u.draft && !
|
|
659
|
+
), x = te(
|
|
660
|
+
() => a.filter((u) => u.draft && !oe(u.draft, u.data)),
|
|
661
661
|
[a]
|
|
662
|
-
), _ =
|
|
663
|
-
async (u, m, g,
|
|
664
|
-
const
|
|
665
|
-
if (!
|
|
666
|
-
|
|
662
|
+
), _ = W(
|
|
663
|
+
async (u, m, g, A) => {
|
|
664
|
+
const N = V(u, m);
|
|
665
|
+
if (!N) {
|
|
666
|
+
z({
|
|
667
667
|
ton: "erreur",
|
|
668
668
|
texte: `Ce texte (${u}:${m}) n'appartient à aucun bloc déclaré.`
|
|
669
669
|
});
|
|
670
670
|
return;
|
|
671
671
|
}
|
|
672
|
-
const
|
|
672
|
+
const T = a.find((D) => D.blockType === N.bloc.blockType), k = T?.draft ?? T?.data ?? {}, w = k[N.champ], C = N.bloc.fields.find((D) => D.key === N.champ), B = (
|
|
673
|
+
/* `!declare.localized` et non `=== false` : un champ non traduit
|
|
674
|
+
OMET la cle plutot que de la mettre a faux. Tester l'egalite
|
|
675
|
+
stricte ne se declenchait donc jamais. */
|
|
676
|
+
C && !C.localized ? A : w && typeof w == "object" && !Array.isArray(w) ? { ...w, [g]: A } : { [g]: A }
|
|
677
|
+
), j = { ...k, [N.champ]: B };
|
|
673
678
|
try {
|
|
674
|
-
if (
|
|
675
|
-
await n.enregistrerBrouillon(
|
|
679
|
+
if (T?.UID)
|
|
680
|
+
await n.enregistrerBrouillon(T.UID, j);
|
|
676
681
|
else {
|
|
677
|
-
const
|
|
678
|
-
await n.creer(
|
|
682
|
+
const D = N.bloc.pages?.[0] ?? l;
|
|
683
|
+
await n.creer(D, N.bloc.blockType, j);
|
|
679
684
|
}
|
|
680
|
-
await
|
|
685
|
+
await L(), z(null);
|
|
681
686
|
} catch {
|
|
682
|
-
|
|
687
|
+
z({
|
|
683
688
|
ton: "erreur",
|
|
684
689
|
texte: "Enregistrement impossible. Votre texte est toujours à l'écran."
|
|
685
690
|
});
|
|
686
691
|
}
|
|
687
692
|
},
|
|
688
|
-
[n,
|
|
693
|
+
[n, V, l, L, a]
|
|
689
694
|
), Q = async () => {
|
|
690
695
|
if (!x.length) return;
|
|
691
|
-
|
|
696
|
+
E(!0), z(null);
|
|
692
697
|
const u = x.length;
|
|
693
698
|
try {
|
|
694
699
|
for (const m of x) await n.publier(m.UID);
|
|
695
|
-
await
|
|
700
|
+
await L();
|
|
696
701
|
for (const m of x) t.poserApercu(m.blockType, null);
|
|
697
|
-
t.recharger(),
|
|
702
|
+
t.recharger(), z({
|
|
698
703
|
ton: "ok",
|
|
699
704
|
texte: u === 1 ? "Publié. Vos visiteurs le voient maintenant." : `${u} modifications publiées.`
|
|
700
705
|
});
|
|
701
706
|
} catch {
|
|
702
|
-
|
|
707
|
+
z({
|
|
703
708
|
ton: "erreur",
|
|
704
709
|
texte: "La publication a échoué. Rien n'a été mis en ligne."
|
|
705
710
|
});
|
|
706
711
|
} finally {
|
|
707
|
-
|
|
712
|
+
E(!1);
|
|
708
713
|
}
|
|
709
|
-
},
|
|
710
|
-
|
|
714
|
+
}, le = async () => {
|
|
715
|
+
E(!0);
|
|
711
716
|
try {
|
|
712
717
|
const u = x.map((g) => g.blockType);
|
|
713
718
|
for (const g of x) await n.annuler(g.UID);
|
|
714
|
-
const m = await
|
|
719
|
+
const m = await L();
|
|
715
720
|
for (const g of u) t.poserApercu(g, null);
|
|
716
721
|
if (t.sourceTexte) {
|
|
717
722
|
const { appliquerAuxTextes: g } = await import("./morceaux/sourceTexte-BMPMpNg9.js");
|
|
718
723
|
g(
|
|
719
|
-
m.map((
|
|
724
|
+
m.map((A) => ({ blockType: A.blockType, data: A.data })),
|
|
720
725
|
t.sourceTexte
|
|
721
726
|
);
|
|
722
727
|
}
|
|
723
|
-
|
|
728
|
+
z({
|
|
724
729
|
ton: "info",
|
|
725
730
|
texte: "Modifications abandonnées. On est revenu à ce qui est en ligne."
|
|
726
731
|
});
|
|
727
732
|
} finally {
|
|
728
|
-
|
|
733
|
+
E(!1);
|
|
734
|
+
}
|
|
735
|
+
}, ue = (u) => {
|
|
736
|
+
const m = a.find((k) => k.blockType === u), g = m?.draft ?? m?.data ?? {}, A = p(u), N = Z.exec(u), T = {};
|
|
737
|
+
if (!N) {
|
|
738
|
+
const k = t.replis?.[u];
|
|
739
|
+
k && typeof k == "object" && !Array.isArray(k) && Object.assign(T, k);
|
|
729
740
|
}
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
+
if (N && A && t.sourceTexte) {
|
|
742
|
+
const k = N[1], w = N[2], C = t.sourceTexte.langues(), B = {};
|
|
743
|
+
for (const D of C)
|
|
744
|
+
B[D] = t.sourceTexte.dictionnaire(D)[k] ?? {};
|
|
745
|
+
const j = t.sourceTexte.langueCourante();
|
|
746
|
+
for (const D of A.fields) {
|
|
747
|
+
const J = w ? w + "." + D.key : D.key;
|
|
748
|
+
if (!D.localized) {
|
|
749
|
+
const Y = B[j]?.[J] ?? C.map((R) => B[R]?.[J]).find((R) => typeof R == "string");
|
|
750
|
+
typeof Y == "string" && (T[D.key] = Y);
|
|
751
|
+
continue;
|
|
741
752
|
}
|
|
742
|
-
|
|
753
|
+
const K = {};
|
|
754
|
+
for (const Y of C) {
|
|
755
|
+
const R = B[Y]?.[J];
|
|
756
|
+
typeof R == "string" && (K[Y] = R);
|
|
757
|
+
}
|
|
758
|
+
Object.keys(K).length && (T[D.key] = K);
|
|
743
759
|
}
|
|
744
760
|
}
|
|
745
|
-
for (const [
|
|
746
|
-
const C =
|
|
747
|
-
|
|
761
|
+
for (const [k, w] of Object.entries(g)) {
|
|
762
|
+
const C = T[k], B = w && typeof w == "object" && !Array.isArray(w) && C && typeof C == "object" && !Array.isArray(C);
|
|
763
|
+
T[k] = B ? { ...C, ...w } : w;
|
|
748
764
|
}
|
|
749
|
-
v(
|
|
750
|
-
},
|
|
765
|
+
v(T), i(u), P(!1), z(null);
|
|
766
|
+
}, de = (u, m) => v((g) => ({ ...g, [u]: m })), pe = async () => {
|
|
751
767
|
if (o) {
|
|
752
|
-
|
|
768
|
+
E(!0);
|
|
753
769
|
try {
|
|
754
770
|
const u = a.find((g) => g.blockType === o);
|
|
755
771
|
if (u?.UID) await n.enregistrerBrouillon(u.UID, h);
|
|
@@ -757,27 +773,27 @@ function Ee({ api: n, pont: t }) {
|
|
|
757
773
|
const g = p(o)?.pages?.[0] ?? l;
|
|
758
774
|
await n.creer(g, o, h);
|
|
759
775
|
}
|
|
760
|
-
const m = await
|
|
776
|
+
const m = await L();
|
|
761
777
|
if (t.sourceTexte) {
|
|
762
778
|
const { appliquerAuxTextes: g } = await import("./morceaux/sourceTexte-BMPMpNg9.js");
|
|
763
779
|
g(
|
|
764
|
-
m.map((
|
|
780
|
+
m.map((A) => ({ blockType: A.blockType, data: A.draft ?? A.data })),
|
|
765
781
|
t.sourceTexte
|
|
766
782
|
);
|
|
767
783
|
}
|
|
768
|
-
|
|
784
|
+
Z.test(o) || t.poserApercu(o, h), z({
|
|
769
785
|
ton: "ok",
|
|
770
786
|
texte: "Enregistré. Rien n'a encore changé pour vos visiteurs."
|
|
771
787
|
});
|
|
772
788
|
} catch {
|
|
773
|
-
|
|
789
|
+
z({ ton: "erreur", texte: "L'enregistrement a échoué." });
|
|
774
790
|
} finally {
|
|
775
|
-
|
|
791
|
+
E(!1);
|
|
776
792
|
}
|
|
777
793
|
}
|
|
778
|
-
},
|
|
794
|
+
}, me = () => {
|
|
779
795
|
try {
|
|
780
|
-
window.localStorage.setItem("lystech-edit-sortie", "1"), window.localStorage.removeItem("lystech-edit"), window.localStorage.removeItem(
|
|
796
|
+
window.localStorage.setItem("lystech-edit-sortie", "1"), window.localStorage.removeItem("lystech-edit"), window.localStorage.removeItem(ee);
|
|
781
797
|
} catch {
|
|
782
798
|
}
|
|
783
799
|
try {
|
|
@@ -785,37 +801,37 @@ function Ee({ api: n, pont: t }) {
|
|
|
785
801
|
} catch {
|
|
786
802
|
}
|
|
787
803
|
window.location.reload();
|
|
788
|
-
}, F = o ? p(o) : void 0,
|
|
804
|
+
}, F = o ? p(o) : void 0, H = !o && !S;
|
|
789
805
|
return /* @__PURE__ */ f("div", { className: "calque", children: [
|
|
790
806
|
/* @__PURE__ */ e(
|
|
791
807
|
"div",
|
|
792
808
|
{
|
|
793
|
-
className: "cadre-global" + (
|
|
809
|
+
className: "cadre-global" + (y === "circuler" ? " cadre-global--circuler" : ""),
|
|
794
810
|
"aria-hidden": "true"
|
|
795
811
|
}
|
|
796
812
|
),
|
|
797
813
|
t.sourceTexte && /* @__PURE__ */ e(
|
|
798
|
-
|
|
814
|
+
Ee,
|
|
799
815
|
{
|
|
800
816
|
source: t.sourceTexte,
|
|
801
|
-
actif:
|
|
817
|
+
actif: H && !I && y === "modifier",
|
|
802
818
|
surModification: _
|
|
803
819
|
}
|
|
804
820
|
),
|
|
805
|
-
|
|
821
|
+
H && /* @__PURE__ */ f("div", { className: "barre", children: [
|
|
806
822
|
/* @__PURE__ */ e("span", { className: "barre__point" }),
|
|
807
|
-
/* @__PURE__ */ e("span", { className: "barre__texte", children:
|
|
823
|
+
/* @__PURE__ */ e("span", { className: "barre__texte", children: y === "modifier" ? "Cliquez un texte pour le corriger" : "Navigation libre — les clics ouvrent les liens" }),
|
|
808
824
|
/* @__PURE__ */ e(
|
|
809
825
|
"button",
|
|
810
826
|
{
|
|
811
827
|
type: "button",
|
|
812
|
-
className: "bouton " + (
|
|
828
|
+
className: "bouton " + (y === "circuler" ? "bouton--principal" : ""),
|
|
813
829
|
onClick: U,
|
|
814
|
-
title:
|
|
815
|
-
children:
|
|
830
|
+
title: y === "modifier" ? "Passer en navigation pour changer de page" : "Revenir a la modification des textes",
|
|
831
|
+
children: y === "modifier" ? "Circuler" : "Modifier"
|
|
816
832
|
}
|
|
817
833
|
),
|
|
818
|
-
x.length > 0 ? /* @__PURE__ */ f(
|
|
834
|
+
x.length > 0 ? /* @__PURE__ */ f(re, { children: [
|
|
819
835
|
/* @__PURE__ */ e("span", { className: "barre__compte", children: x.length === 1 ? "1 modification non publiée" : `${x.length} modifications non publiées` }),
|
|
820
836
|
/* @__PURE__ */ e(
|
|
821
837
|
"button",
|
|
@@ -832,7 +848,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
832
848
|
{
|
|
833
849
|
type: "button",
|
|
834
850
|
className: "bouton bouton--discret",
|
|
835
|
-
onClick:
|
|
851
|
+
onClick: le,
|
|
836
852
|
disabled: I,
|
|
837
853
|
children: "Abandonner"
|
|
838
854
|
}
|
|
@@ -843,7 +859,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
843
859
|
{
|
|
844
860
|
type: "button",
|
|
845
861
|
className: "bouton bouton--icone bouton--discret",
|
|
846
|
-
onClick: () =>
|
|
862
|
+
onClick: () => P(!0),
|
|
847
863
|
title: "Tous les contenus",
|
|
848
864
|
"aria-label": "Tous les contenus",
|
|
849
865
|
children: "⋮"
|
|
@@ -854,15 +870,15 @@ function Ee({ api: n, pont: t }) {
|
|
|
854
870
|
{
|
|
855
871
|
type: "button",
|
|
856
872
|
className: "bouton bouton--icone bouton--sortie",
|
|
857
|
-
onClick:
|
|
873
|
+
onClick: me,
|
|
858
874
|
title: "Quitter le mode édition",
|
|
859
875
|
"aria-label": "Quitter le mode édition",
|
|
860
876
|
children: "✕"
|
|
861
877
|
}
|
|
862
878
|
)
|
|
863
879
|
] }),
|
|
864
|
-
|
|
865
|
-
|
|
880
|
+
O && H && /* @__PURE__ */ e("div", { className: "flottant", children: /* @__PURE__ */ e("p", { className: "message message--" + O.ton, children: O.texte }) }),
|
|
881
|
+
S && /* @__PURE__ */ f("div", { className: "panneau", role: "dialog", "aria-label": "Tous les contenus", children: [
|
|
866
882
|
/* @__PURE__ */ f("div", { className: "panneau__tete", children: [
|
|
867
883
|
/* @__PURE__ */ f("div", { style: { flex: 1 }, children: [
|
|
868
884
|
/* @__PURE__ */ e("h2", { className: "panneau__titre", children: "Tous les contenus" }),
|
|
@@ -873,7 +889,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
873
889
|
{
|
|
874
890
|
type: "button",
|
|
875
891
|
className: "bouton bouton--icone bouton--discret",
|
|
876
|
-
onClick: () =>
|
|
892
|
+
onClick: () => P(!1),
|
|
877
893
|
"aria-label": "Fermer",
|
|
878
894
|
children: "✕"
|
|
879
895
|
}
|
|
@@ -882,13 +898,13 @@ function Ee({ api: n, pont: t }) {
|
|
|
882
898
|
/* @__PURE__ */ f("div", { className: "panneau__corps", children: [
|
|
883
899
|
c.length === 0 && /* @__PURE__ */ e("p", { className: "message message--info", children: "Aucun contenu déclaré pour cette page." }),
|
|
884
900
|
c.map((u) => {
|
|
885
|
-
const m = a.find((
|
|
901
|
+
const m = a.find((A) => A.blockType === u.blockType), g = m?.draft && !oe(m.draft, m.data);
|
|
886
902
|
return /* @__PURE__ */ f(
|
|
887
903
|
"button",
|
|
888
904
|
{
|
|
889
905
|
type: "button",
|
|
890
906
|
className: "rangee",
|
|
891
|
-
onClick: () =>
|
|
907
|
+
onClick: () => ue(u.blockType),
|
|
892
908
|
children: [
|
|
893
909
|
/* @__PURE__ */ e("span", { className: "rangee__nom", children: u.label }),
|
|
894
910
|
/* @__PURE__ */ e("span", { className: "rangee__info", children: g ? "non publié" : `${u.fields.length} textes` })
|
|
@@ -923,14 +939,14 @@ function Ee({ api: n, pont: t }) {
|
|
|
923
939
|
)
|
|
924
940
|
] }),
|
|
925
941
|
/* @__PURE__ */ f("div", { className: "panneau__corps", children: [
|
|
926
|
-
|
|
942
|
+
O && /* @__PURE__ */ e("p", { className: "message message--" + O.ton, children: O.texte }),
|
|
927
943
|
F.fields.map((u) => /* @__PURE__ */ e(
|
|
928
|
-
|
|
944
|
+
se,
|
|
929
945
|
{
|
|
930
946
|
champ: u,
|
|
931
947
|
langue: t.langue,
|
|
932
948
|
valeur: h[u.key],
|
|
933
|
-
changer: (m) =>
|
|
949
|
+
changer: (m) => de(u.key, m)
|
|
934
950
|
},
|
|
935
951
|
u.key
|
|
936
952
|
))
|
|
@@ -952,7 +968,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
952
968
|
{
|
|
953
969
|
type: "button",
|
|
954
970
|
className: "bouton bouton--principal",
|
|
955
|
-
onClick:
|
|
971
|
+
onClick: pe,
|
|
956
972
|
disabled: I,
|
|
957
973
|
children: "Enregistrer"
|
|
958
974
|
}
|
|
@@ -963,7 +979,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
963
979
|
)
|
|
964
980
|
] });
|
|
965
981
|
}
|
|
966
|
-
const
|
|
982
|
+
const ze = `
|
|
967
983
|
:host {
|
|
968
984
|
all: initial;
|
|
969
985
|
--fond: #16181d;
|
|
@@ -1315,7 +1331,7 @@ input:focus, select:focus, textarea:focus {
|
|
|
1315
1331
|
max-width: min(460px, calc(100vw - 24px));
|
|
1316
1332
|
}
|
|
1317
1333
|
.flottant .message { margin: 0; box-shadow: 0 8px 26px rgba(0,0,0,.4); }
|
|
1318
|
-
`,
|
|
1334
|
+
`, Te = `
|
|
1319
1335
|
/* ON NE DOIT JAMAIS SE DEMANDER SI ON EST EN MODE EDITION. Une barre en bas
|
|
1320
1336
|
se confond avec un bandeau de temoins ; un lisere qui borde tout l'ecran,
|
|
1321
1337
|
present sur chaque page, ne se confond avec rien. Il ne prend aucun clic. */
|
|
@@ -1343,17 +1359,17 @@ input:focus, select:focus, textarea:focus {
|
|
|
1343
1359
|
discrete le reste du temps — c'est le geste qu'on fait une fois. */
|
|
1344
1360
|
.bouton--sortie { color: var(--texte-doux); background: transparent; border-color: transparent; }
|
|
1345
1361
|
.bouton--sortie:hover { background: rgba(217, 119, 106, 0.16); color: var(--danger); }
|
|
1346
|
-
`,
|
|
1347
|
-
function
|
|
1362
|
+
`, Pe = "lystech-editeur-hote", Oe = "lystech-connexion-hote";
|
|
1363
|
+
function ie(n) {
|
|
1348
1364
|
document.getElementById(n)?.remove();
|
|
1349
1365
|
const t = document.createElement("div");
|
|
1350
1366
|
t.id = n, document.body.appendChild(t);
|
|
1351
1367
|
const s = t.attachShadow({ mode: "open" }), r = document.createElement("style");
|
|
1352
|
-
r.textContent =
|
|
1368
|
+
r.textContent = ze + De + Te, s.appendChild(r);
|
|
1353
1369
|
const a = document.createElement("div");
|
|
1354
1370
|
return s.appendChild(a), { hote: t, point: a };
|
|
1355
1371
|
}
|
|
1356
|
-
function
|
|
1372
|
+
function ce(n, t) {
|
|
1357
1373
|
let s = n;
|
|
1358
1374
|
return () => {
|
|
1359
1375
|
const r = s;
|
|
@@ -1362,16 +1378,16 @@ function se(n, t) {
|
|
|
1362
1378
|
}, 0);
|
|
1363
1379
|
};
|
|
1364
1380
|
}
|
|
1365
|
-
function
|
|
1381
|
+
function Be({
|
|
1366
1382
|
site: n,
|
|
1367
1383
|
apiBaseUrl: t,
|
|
1368
1384
|
methodes: s,
|
|
1369
1385
|
surJeton: r
|
|
1370
1386
|
}) {
|
|
1371
|
-
const { hote: a, point: d } =
|
|
1387
|
+
const { hote: a, point: d } = ie(Oe), l = ae(d), b = () => o();
|
|
1372
1388
|
l.render(
|
|
1373
1389
|
/* @__PURE__ */ e(
|
|
1374
|
-
|
|
1390
|
+
ye,
|
|
1375
1391
|
{
|
|
1376
1392
|
site: n,
|
|
1377
1393
|
apiBaseUrl: t,
|
|
@@ -1383,16 +1399,16 @@ function Ie({
|
|
|
1383
1399
|
}
|
|
1384
1400
|
)
|
|
1385
1401
|
);
|
|
1386
|
-
const o =
|
|
1402
|
+
const o = ce(l, a);
|
|
1387
1403
|
return o;
|
|
1388
1404
|
}
|
|
1389
|
-
function
|
|
1405
|
+
function _e({
|
|
1390
1406
|
jeton: n,
|
|
1391
1407
|
site: t,
|
|
1392
1408
|
apiBaseUrl: s,
|
|
1393
1409
|
pont: r
|
|
1394
1410
|
}) {
|
|
1395
|
-
const { hote: a, point: d } =
|
|
1411
|
+
const { hote: a, point: d } = ie(Pe), l = ae(d), b = () => {
|
|
1396
1412
|
try {
|
|
1397
1413
|
window.localStorage.setItem("lystech-edit-sortie", "1"), window.localStorage.removeItem("lystech-edit");
|
|
1398
1414
|
} catch {
|
|
@@ -1405,15 +1421,15 @@ function Be({
|
|
|
1405
1421
|
};
|
|
1406
1422
|
return l.render(
|
|
1407
1423
|
/* @__PURE__ */ e(
|
|
1408
|
-
|
|
1424
|
+
Se,
|
|
1409
1425
|
{
|
|
1410
|
-
api:
|
|
1426
|
+
api: fe({ jeton: n, site: t, apiBaseUrl: s, surJetonRefuse: b }),
|
|
1411
1427
|
pont: r
|
|
1412
1428
|
}
|
|
1413
1429
|
)
|
|
1414
|
-
),
|
|
1430
|
+
), ce(l, a);
|
|
1415
1431
|
}
|
|
1416
1432
|
export {
|
|
1417
|
-
|
|
1418
|
-
|
|
1433
|
+
Be as monterConnexion,
|
|
1434
|
+
_e as monterEditeur
|
|
1419
1435
|
};
|