@lystech/sections 0.4.3 → 0.4.5

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.
Files changed (2) hide show
  1. package/dist/editeur.js +217 -201
  2. package/package.json +1 -1
package/dist/editeur.js CHANGED
@@ -1,7 +1,7 @@
1
- import { jsx as e, jsxs as f, Fragment as ne } from "react/jsx-runtime";
2
- import { createRoot as oe } from "react-dom/client";
3
- import { useState as M, useRef as V, useEffect as X, useCallback as Y, useMemo as $ } from "react";
4
- function me({
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 O, useRef as j, 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,
@@ -20,7 +20,7 @@ function me({
20
20
  });
21
21
  return d(h, i), await h.json();
22
22
  }
23
- async function g(o, i, h) {
23
+ async function b(o, i, h) {
24
24
  const v = await fetch(s + o, {
25
25
  method: i,
26
26
  headers: a,
@@ -33,14 +33,14 @@ function me({
33
33
  schemas: () => l("/site-sections/public/" + encodeURIComponent(t) + "/schemas", !1),
34
34
  /** Ce qui existe sur une page, brouillons compris. */
35
35
  pourPage: (o) => l("/site-sections?page=" + encodeURIComponent(o)),
36
- creer: (o, i, h) => g("/site-sections", "POST", { page: o, blockType: i, draft: h }),
37
- enregistrerBrouillon: (o, i) => g("/site-sections/" + o + "/draft", "PUT", { draft: i }),
38
- publier: (o) => g("/site-sections/" + o + "/publish", "POST"),
36
+ creer: (o, i, h) => b("/site-sections", "POST", { page: o, blockType: i, draft: h }),
37
+ enregistrerBrouillon: (o, i) => b("/site-sections/" + o + "/draft", "PUT", { draft: i }),
38
+ publier: (o) => b("/site-sections/" + o + "/publish", "POST"),
39
39
  /** Ramène le brouillon à ce qui est en ligne. */
40
- annuler: (o) => g("/site-sections/" + o + "/revert", "POST")
40
+ annuler: (o) => b("/site-sections/" + o + "/revert", "POST")
41
41
  };
42
42
  }
43
- const fe = "data:image/png;base64,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", ge = {
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 be() {
51
+ function he() {
52
52
  return /* @__PURE__ */ f("span", { className: "marque", children: [
53
- /* @__PURE__ */ e("img", { src: fe, alt: "", width: 22, height: 22 }),
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 he() {
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 xe() {
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,14 +71,14 @@ function xe() {
71
71
  }
72
72
  ) });
73
73
  }
74
- function ve({
74
+ function ye({
75
75
  site: n,
76
76
  apiBaseUrl: t,
77
77
  methodes: s = ["google", "facebook"],
78
78
  surJeton: r,
79
79
  surFermer: a
80
80
  }) {
81
- const [d, l] = M({ nom: "repos" }), g = (v) => {
81
+ const [d, l] = O({ nom: "repos" }), b = (v) => {
82
82
  switch (v) {
83
83
  case "auth/popup-blocked":
84
84
  return "Votre navigateur a bloqué la fenêtre de connexion. Autorisez les fenêtres pour ce site, puis réessayez.";
@@ -94,7 +94,7 @@ function ve({
94
94
  default:
95
95
  return "La connexion a échoué. Réessayez dans un instant.";
96
96
  }
97
- }, o = async (v, C = !1) => {
97
+ }, o = async (v, E = !1) => {
98
98
  const D = await fetch(t + "/site-sections/edit-login/third-party", {
99
99
  method: "POST",
100
100
  headers: { "Content-Type": "application/json" },
@@ -102,7 +102,7 @@ function ve({
102
102
  site: n,
103
103
  token: v,
104
104
  tokenType: "firebase",
105
- demanderAcces: C
105
+ demanderAcces: E
106
106
  })
107
107
  });
108
108
  if (D.status === 429) {
@@ -112,12 +112,12 @@ function ve({
112
112
  });
113
113
  return;
114
114
  }
115
- const A = await D.json().catch(() => null);
116
- if (A?.ok && A?.token) {
117
- r(A.token);
115
+ const y = await D.json().catch(() => null);
116
+ if (y?.ok && y?.token) {
117
+ r(y.token);
118
118
  return;
119
119
  }
120
- switch (A?.raison) {
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: C, getApps: D }, A] = await Promise.all([
151
+ const [{ initializeApp: E, getApps: D }, y] = await Promise.all([
152
152
  import("./morceaux/index.esm-B4AB50RA.js"),
153
153
  import("./morceaux/index.esm-B4hL1FOE.js")
154
- ]), q = D().find((P) => P.name === "lystech-edition") ?? C(ge, "lystech-edition"), U = v === "google" ? new A.GoogleAuthProvider() : new A.FacebookAuthProvider(), k = await (await A.signInWithPopup(A.getAuth(q), U)).user.getIdToken();
155
- await o(k);
156
- } catch (C) {
157
- l({ nom: "erreur", texte: g(String(C?.code ?? "")) });
154
+ ]), q = D().find((M) => M.name === "lystech-edition") ?? E(ge, "lystech-edition"), U = v === "google" ? new y.GoogleAuthProvider() : new y.FacebookAuthProvider(), C = await (await y.signInWithPopup(y.getAuth(q), U)).user.getIdToken();
155
+ await o(C);
156
+ } catch (E) {
157
+ l({ nom: "erreur", texte: b(String(E?.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(be, {}),
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(he, {}),
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(xe, {}),
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 ye(n) {
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 ee({ champ: n, valeur: t, changer: s }) {
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(ne, { children: [
313
+ return /* @__PURE__ */ f(re, { children: [
314
314
  /* @__PURE__ */ e(
315
315
  "input",
316
316
  {
@@ -333,16 +333,16 @@ function ee({ champ: n, valeur: t, changer: s }) {
333
333
  );
334
334
  }
335
335
  }
336
- function re({ champ: n, valeur: t, changer: s, langue: r }) {
336
+ function se({ champ: n, valeur: t, changer: s, langue: r }) {
337
337
  if (n.type === "list") {
338
- const a = Array.isArray(t) ? t : [], d = n.of ?? [], l = (g, o, i) => {
339
- const h = a.map((v, C) => C === g ? { ...v, [o]: i } : v);
338
+ const a = Array.isArray(t) ? t : [], d = n.of ?? [], l = (b, o, i) => {
339
+ const h = a.map((v, E) => E === b ? { ...v, [o]: i } : v);
340
340
  s(h);
341
341
  };
342
342
  return /* @__PURE__ */ f("div", { className: "champ", children: [
343
343
  /* @__PURE__ */ e("span", { className: "champ__etiquette", children: n.label }),
344
344
  n.help && /* @__PURE__ */ e("p", { className: "champ__aide", children: n.help }),
345
- a.map((g, o) => /* @__PURE__ */ f("div", { className: "liste__item", children: [
345
+ a.map((b, o) => /* @__PURE__ */ f("div", { className: "liste__item", children: [
346
346
  /* @__PURE__ */ f("div", { className: "liste__tete", children: [
347
347
  /* @__PURE__ */ e("span", { className: "liste__rang", children: o + 1 }),
348
348
  /* @__PURE__ */ f("span", { style: { display: "flex", gap: 4 }, children: [
@@ -387,11 +387,11 @@ function re({ champ: n, valeur: t, changer: s, langue: r }) {
387
387
  ] })
388
388
  ] }),
389
389
  d.map((i) => /* @__PURE__ */ e(
390
- re,
390
+ se,
391
391
  {
392
392
  champ: i,
393
393
  langue: r,
394
- valeur: g?.[i.key],
394
+ valeur: b?.[i.key],
395
395
  changer: (h) => l(o, i.key, h)
396
396
  },
397
397
  i.key
@@ -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((g) => [g.key, ye(g)]))
407
+ Object.fromEntries(d.map((b) => [b.key, ke(b)]))
408
408
  ]),
409
409
  children: "+ Ajouter"
410
410
  }
@@ -419,11 +419,11 @@ 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
- ee,
422
+ ne,
423
423
  {
424
424
  champ: n,
425
425
  valeur: d[l],
426
- changer: (g) => s({ ...d, [l]: g })
426
+ changer: (b) => s({ ...d, [l]: b })
427
427
  }
428
428
  )
429
429
  ] }, l))
@@ -431,26 +431,26 @@ 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(ee, { champ: n, valeur: t, changer: s }),
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 ke = ["lystech-editeur-hote", "lystech-connexion-hote"];
439
- function we(n) {
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)) {
443
443
  const l = String(d ?? "").trim();
444
444
  if (l.length < 2 || l.includes("{{")) continue;
445
- const g = t.get(l);
446
- g ? g.push({ ns: s, chemin: a }) : t.set(l, [{ ns: s, chemin: a }]);
445
+ const b = t.get(l);
446
+ b ? b.push({ ns: s, chemin: a }) : t.set(l, [{ ns: s, chemin: a }]);
447
447
  }
448
448
  return t;
449
449
  }
450
- function Ce(n) {
450
+ function Ne(n) {
451
451
  const t = /* @__PURE__ */ new Map(), s = document.body.querySelectorAll("*");
452
452
  for (const r of s) {
453
- if (ke.some((l) => r.id === l || r.closest("#" + l)) || r.children.length > 0) continue;
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 Ne({
461
+ function Ee({
462
462
  source: n,
463
463
  actif: t,
464
464
  surModification: s
465
465
  }) {
466
- const r = V(/* @__PURE__ */ new Map()), a = V(null), [d, l] = M(null), g = V(n);
467
- g.current = n;
468
- const o = V(s);
469
- return o.current = s, X(() => {
466
+ const r = j(/* @__PURE__ */ new Map()), a = j(null), [d, l] = O(null), b = j(n);
467
+ b.current = n;
468
+ const o = j(s);
469
+ return o.current = s, G(() => {
470
470
  if (!t) return;
471
- const i = g.current.langueCourante(), h = we(g.current.dictionnaire(i)), v = () => {
472
- r.current = Ce(h);
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 C;
475
+ let E;
476
476
  const D = new MutationObserver(() => {
477
- a.current || (clearTimeout(C), C = setTimeout(v, 250));
477
+ a.current || (clearTimeout(E), E = setTimeout(v, 250));
478
478
  });
479
479
  D.observe(document.body, { childList: !0, subtree: !0 });
480
- const A = "outline:2px dashed rgba(59,165,141,.85);outline-offset:3px;border-radius:3px;cursor:text;", q = (p) => {
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 ?? "") + A
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
- }, k = async (p) => {
505
+ }, C = async (p) => {
506
506
  const c = a.current;
507
507
  if (!c) return;
508
508
  a.current = null;
@@ -513,14 +513,14 @@ function Ne({
513
513
  p && (c.el.textContent = c.avant);
514
514
  return;
515
515
  }
516
- const Q = g.current.langueCourante();
517
- g.current.poser(Q, c.ns, c.chemin, x), await o.current(c.ns, c.chemin, Q, x);
518
- }, P = (p) => {
516
+ const Q = b.current.langueCourante();
517
+ b.current.poser(Q, c.ns, c.chemin, x), await o.current(c.ns, c.chemin, Q, x);
518
+ }, M = (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
- k(!1);
523
+ C(!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
- }, N = (p) => {
539
- a.current && (p.key === "Escape" ? (p.preventDefault(), k(!0)) : p.key === "Enter" && !p.shiftKey && (p.preventDefault(), k(!1)));
540
- }, O = () => {
541
- a.current && k(!1);
538
+ }, S = (p) => {
539
+ a.current && (p.key === "Escape" ? (p.preventDefault(), C(!0)) : p.key === "Enter" && !p.shiftKey && (p.preventDefault(), C(!1)));
540
+ }, L = () => {
541
+ a.current && C(!1);
542
542
  };
543
- document.addEventListener("mouseover", q, !0), document.addEventListener("mouseout", U, !0), document.addEventListener("click", P, !0);
544
- const R = (p) => {
543
+ document.addEventListener("mouseover", q, !0), document.addEventListener("mouseout", U, !0), document.addEventListener("click", M, !0);
544
+ const V = (p) => {
545
545
  if (!a.current) return;
546
546
  const c = p.inputType;
547
- (c === "insertParagraph" || c === "insertLineBreak") && (p.preventDefault(), k(!1));
547
+ (c === "insertParagraph" || c === "insertLineBreak") && (p.preventDefault(), C(!1));
548
548
  };
549
- return document.addEventListener("beforeinput", R, !0), document.addEventListener("keydown", N, !0), document.addEventListener("focusout", O, !0), window.__lysChoisir = (p, c) => {
549
+ return document.addEventListener("beforeinput", V, !0), document.addEventListener("keydown", S, !0), document.addEventListener("focusout", L, !0), window.__lysChoisir = (p, c) => {
550
550
  l(null), I(c, p);
551
551
  }, () => {
552
- clearTimeout(C), D.disconnect(), document.removeEventListener("mouseover", q, !0), document.removeEventListener("mouseout", U, !0), document.removeEventListener("click", P, !0), document.removeEventListener("beforeinput", R, !0), document.removeEventListener("keydown", N, !0), document.removeEventListener("focusout", O, !0), a.current && k(!0), delete window.__lysChoisir;
552
+ clearTimeout(E), D.disconnect(), document.removeEventListener("mouseover", q, !0), document.removeEventListener("mouseout", U, !0), document.removeEventListener("click", M, !0), document.removeEventListener("beforeinput", V, !0), document.removeEventListener("keydown", S, !0), document.removeEventListener("focusout", L, !0), a.current && C(!0), delete window.__lysChoisir;
553
553
  };
554
554
  }, [t]), d ? /* @__PURE__ */ f(
555
555
  "div",
@@ -588,192 +588,208 @@ function Ne({
588
588
  }
589
589
  ) : null;
590
590
  }
591
- const Z = /^i18n:([^:]+):(.*)$/, G = "commun", H = "lystech-edit-mode";
592
- function te(n, t) {
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 Ee({ api: n, pont: t }) {
596
- const [s, r] = M([]), [a, d] = M([]), [l, g] = M(t.page), [o, i] = M(null), [h, v] = M({}), [C, D] = M(!1), [A, q] = M(() => {
595
+ function Se({ api: n, pont: t }) {
596
+ const [s, r] = O([]), [a, d] = O([]), [l, b] = O(t.page), [o, i] = O(null), [h, v] = O({}), [E, D] = O(!1), [y, q] = O(() => {
597
597
  try {
598
- return window.localStorage.getItem(H) === "circuler" ? "circuler" : "modifier";
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(H, m);
605
+ window.localStorage.setItem(ee, m);
606
606
  } catch {
607
607
  }
608
608
  return m;
609
- }), [I, k] = M(!1), [P, N] = M(
609
+ }), [I, C] = O(!1), [M, S] = O(
610
610
  null
611
611
  );
612
- X(() => (t.surChangementDePage = (u) => {
613
- g(u), i(null), D(!1);
612
+ G(() => (t.surChangementDePage = (u) => {
613
+ b(u), i(null), D(!1);
614
614
  }, () => {
615
615
  t.surChangementDePage = void 0;
616
616
  }), [t]);
617
- const O = Y(async () => {
617
+ const L = W(async () => {
618
618
  try {
619
619
  const [u, m] = await Promise.all([
620
620
  n.pourPage(l),
621
- l === G ? Promise.resolve([]) : n.pourPage(G)
622
- ]), b = [...u, ...m];
623
- return d(b), b;
621
+ l === $ ? Promise.resolve([]) : n.pourPage($)
622
+ ]), g = [...u, ...m];
623
+ return d(g), g;
624
624
  } catch {
625
- return N({
625
+ return S({
626
626
  ton: "erreur",
627
627
  texte: "Impossible de lire le contenu du site."
628
628
  }), [];
629
629
  }
630
630
  }, [n, l]);
631
- X(() => {
631
+ G(() => {
632
632
  n.schemas().then(r).catch(() => r([]));
633
- }, [n]), X(() => {
634
- O();
635
- }, [O]);
636
- const R = Y(
633
+ }, [n]), G(() => {
634
+ L();
635
+ }, [L]);
636
+ const V = W(
637
637
  (u, m) => {
638
- let b = null, E = -1;
639
- for (const z of s) {
640
- const y = Z.exec(z.blockType);
641
- if (!y || y[1] !== u) continue;
642
- const w = y[2];
643
- (w === "" || m === w || m.startsWith(w + ".")) && w.length > E && (b = z, E = w.length);
638
+ let g = null, A = -1;
639
+ for (const P of s) {
640
+ const k = Z.exec(P.blockType);
641
+ if (!k || k[1] !== u) continue;
642
+ const w = k[2];
643
+ (w === "" || m === w || m.startsWith(w + ".")) && w.length > A && (g = P, A = w.length);
644
644
  }
645
- if (!b) return null;
646
- const S = Z.exec(b.blockType)?.[2] ?? "", T = S ? m.slice(S.length + 1) : m;
647
- return { bloc: b, champ: T };
645
+ if (!g) return null;
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 = Y(
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(G);
656
+ return m.includes(l) || m.includes($);
657
657
  }),
658
658
  [s, l]
659
- ), x = $(
660
- () => a.filter((u) => u.draft && !te(u.draft, u.data)),
659
+ ), x = te(
660
+ () => a.filter((u) => u.draft && !oe(u.draft, u.data)),
661
661
  [a]
662
- ), _ = Y(
663
- async (u, m, b, E) => {
664
- const S = R(u, m);
665
- if (!S) {
666
- N({
662
+ ), _ = W(
663
+ async (u, m, g, A) => {
664
+ const N = V(u, m);
665
+ if (!N) {
666
+ S({
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 T = a.find((L) => L.blockType === S.bloc.blockType), z = T?.draft ?? T?.data ?? {}, y = z[S.champ], w = y && typeof y == "object" && !Array.isArray(y) ? { ...y, [b]: E } : { [b]: E }, B = { ...z, [S.champ]: w };
672
+ const T = a.find((z) => z.blockType === N.bloc.blockType), P = T?.draft ?? T?.data ?? {}, k = P[N.champ], w = N.bloc.fields.find((z) => z.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
+ w && !w.localized ? A : k && typeof k == "object" && !Array.isArray(k) ? { ...k, [g]: A } : { [g]: A }
677
+ ), X = { ...P, [N.champ]: B };
673
678
  try {
674
679
  if (T?.UID)
675
- await n.enregistrerBrouillon(T.UID, B);
680
+ await n.enregistrerBrouillon(T.UID, X);
676
681
  else {
677
- const L = S.bloc.pages?.[0] ?? l;
678
- await n.creer(L, S.bloc.blockType, B);
682
+ const z = N.bloc.pages?.[0] ?? l;
683
+ await n.creer(z, N.bloc.blockType, X);
679
684
  }
680
- await O(), N(null);
685
+ await L(), S(null);
681
686
  } catch {
682
- N({
687
+ S({
683
688
  ton: "erreur",
684
689
  texte: "Enregistrement impossible. Votre texte est toujours à l'écran."
685
690
  });
686
691
  }
687
692
  },
688
- [n, R, l, O, a]
693
+ [n, V, l, L, a]
689
694
  ), Q = async () => {
690
695
  if (!x.length) return;
691
- k(!0), N(null);
696
+ C(!0), S(null);
692
697
  const u = x.length;
693
698
  try {
694
699
  for (const m of x) await n.publier(m.UID);
695
- await O(), t.recharger(), N({
700
+ await L();
701
+ for (const m of x) t.poserApercu(m.blockType, null);
702
+ t.recharger(), S({
696
703
  ton: "ok",
697
704
  texte: u === 1 ? "Publié. Vos visiteurs le voient maintenant." : `${u} modifications publiées.`
698
705
  });
699
706
  } catch {
700
- N({
707
+ S({
701
708
  ton: "erreur",
702
709
  texte: "La publication a échoué. Rien n'a été mis en ligne."
703
710
  });
704
711
  } finally {
705
- k(!1);
712
+ C(!1);
706
713
  }
707
- }, ie = async () => {
708
- k(!0);
714
+ }, le = async () => {
715
+ C(!0);
709
716
  try {
710
- for (const m of x) await n.annuler(m.UID);
711
- const u = await O();
717
+ const u = x.map((g) => g.blockType);
718
+ for (const g of x) await n.annuler(g.UID);
719
+ const m = await L();
720
+ for (const g of u) t.poserApercu(g, null);
712
721
  if (t.sourceTexte) {
713
- const { appliquerAuxTextes: m } = await import("./morceaux/sourceTexte-BMPMpNg9.js");
714
- m(
715
- u.map((b) => ({ blockType: b.blockType, data: b.data })),
722
+ const { appliquerAuxTextes: g } = await import("./morceaux/sourceTexte-BMPMpNg9.js");
723
+ g(
724
+ m.map((A) => ({ blockType: A.blockType, data: A.data })),
716
725
  t.sourceTexte
717
726
  );
718
727
  }
719
- N({
728
+ S({
720
729
  ton: "info",
721
730
  texte: "Modifications abandonnées. On est revenu à ce qui est en ligne."
722
731
  });
723
732
  } finally {
724
- k(!1);
733
+ C(!1);
725
734
  }
726
- }, ce = (u) => {
727
- const m = a.find((z) => z.blockType === u), b = m?.draft ?? m?.data ?? {}, E = p(u), S = Z.exec(u), T = {};
728
- if (S && E && t.sourceTexte) {
729
- const z = S[1], y = S[2], w = t.sourceTexte.langues(), B = {};
730
- for (const L of w)
731
- B[L] = t.sourceTexte.dictionnaire(L)[z] ?? {};
732
- for (const L of E.fields) {
733
- const pe = y ? y + "." + L.key : L.key, W = {};
734
- for (const J of w) {
735
- const K = B[J]?.[pe];
736
- typeof K == "string" && (W[J] = K);
735
+ }, ue = (u) => {
736
+ const m = a.find((P) => P.blockType === u), g = m?.draft ?? m?.data ?? {}, A = p(u), N = Z.exec(u), T = {};
737
+ if (N && A && t.sourceTexte) {
738
+ const P = N[1], k = N[2], w = t.sourceTexte.langues(), B = {};
739
+ for (const z of w)
740
+ B[z] = t.sourceTexte.dictionnaire(z)[P] ?? {};
741
+ const X = t.sourceTexte.langueCourante();
742
+ for (const z of A.fields) {
743
+ const J = k ? k + "." + z.key : z.key;
744
+ if (!z.localized) {
745
+ const Y = B[X]?.[J] ?? w.map((R) => B[R]?.[J]).find((R) => typeof R == "string");
746
+ typeof Y == "string" && (T[z.key] = Y);
747
+ continue;
748
+ }
749
+ const K = {};
750
+ for (const Y of w) {
751
+ const R = B[Y]?.[J];
752
+ typeof R == "string" && (K[Y] = R);
737
753
  }
738
- Object.keys(W).length && (T[L.key] = W);
754
+ Object.keys(K).length && (T[z.key] = K);
739
755
  }
740
756
  }
741
- for (const [z, y] of Object.entries(b)) {
742
- const w = T[z], B = y && typeof y == "object" && !Array.isArray(y) && w && typeof w == "object" && !Array.isArray(w);
743
- T[z] = B ? { ...w, ...y } : y;
757
+ for (const [P, k] of Object.entries(g)) {
758
+ const w = T[P], B = k && typeof k == "object" && !Array.isArray(k) && w && typeof w == "object" && !Array.isArray(w);
759
+ T[P] = B ? { ...w, ...k } : k;
744
760
  }
745
- v(T), i(u), D(!1), N(null);
746
- }, le = (u, m) => v((b) => ({ ...b, [u]: m })), ue = async () => {
761
+ v(T), i(u), D(!1), S(null);
762
+ }, de = (u, m) => v((g) => ({ ...g, [u]: m })), pe = async () => {
747
763
  if (o) {
748
- k(!0);
764
+ C(!0);
749
765
  try {
750
- const u = a.find((b) => b.blockType === o);
766
+ const u = a.find((g) => g.blockType === o);
751
767
  if (u?.UID) await n.enregistrerBrouillon(u.UID, h);
752
768
  else {
753
- const b = p(o)?.pages?.[0] ?? l;
754
- await n.creer(b, o, h);
769
+ const g = p(o)?.pages?.[0] ?? l;
770
+ await n.creer(g, o, h);
755
771
  }
756
- const m = await O();
772
+ const m = await L();
757
773
  if (t.sourceTexte) {
758
- const { appliquerAuxTextes: b } = await import("./morceaux/sourceTexte-BMPMpNg9.js");
759
- b(
760
- m.map((E) => ({ blockType: E.blockType, data: E.draft ?? E.data })),
774
+ const { appliquerAuxTextes: g } = await import("./morceaux/sourceTexte-BMPMpNg9.js");
775
+ g(
776
+ m.map((A) => ({ blockType: A.blockType, data: A.draft ?? A.data })),
761
777
  t.sourceTexte
762
778
  );
763
779
  }
764
- N({
780
+ Z.test(o) || t.poserApercu(o, h), S({
765
781
  ton: "ok",
766
782
  texte: "Enregistré. Rien n'a encore changé pour vos visiteurs."
767
783
  });
768
784
  } catch {
769
- N({ ton: "erreur", texte: "L'enregistrement a échoué." });
785
+ S({ ton: "erreur", texte: "L'enregistrement a échoué." });
770
786
  } finally {
771
- k(!1);
787
+ C(!1);
772
788
  }
773
789
  }
774
- }, de = () => {
790
+ }, me = () => {
775
791
  try {
776
- window.localStorage.setItem("lystech-edit-sortie", "1"), window.localStorage.removeItem("lystech-edit"), window.localStorage.removeItem(H);
792
+ window.localStorage.setItem("lystech-edit-sortie", "1"), window.localStorage.removeItem("lystech-edit"), window.localStorage.removeItem(ee);
777
793
  } catch {
778
794
  }
779
795
  try {
@@ -781,37 +797,37 @@ function Ee({ api: n, pont: t }) {
781
797
  } catch {
782
798
  }
783
799
  window.location.reload();
784
- }, F = o ? p(o) : void 0, j = !o && !C;
800
+ }, F = o ? p(o) : void 0, H = !o && !E;
785
801
  return /* @__PURE__ */ f("div", { className: "calque", children: [
786
802
  /* @__PURE__ */ e(
787
803
  "div",
788
804
  {
789
- className: "cadre-global" + (A === "circuler" ? " cadre-global--circuler" : ""),
805
+ className: "cadre-global" + (y === "circuler" ? " cadre-global--circuler" : ""),
790
806
  "aria-hidden": "true"
791
807
  }
792
808
  ),
793
809
  t.sourceTexte && /* @__PURE__ */ e(
794
- Ne,
810
+ Ee,
795
811
  {
796
812
  source: t.sourceTexte,
797
- actif: j && !I && A === "modifier",
813
+ actif: H && !I && y === "modifier",
798
814
  surModification: _
799
815
  }
800
816
  ),
801
- j && /* @__PURE__ */ f("div", { className: "barre", children: [
817
+ H && /* @__PURE__ */ f("div", { className: "barre", children: [
802
818
  /* @__PURE__ */ e("span", { className: "barre__point" }),
803
- /* @__PURE__ */ e("span", { className: "barre__texte", children: A === "modifier" ? "Cliquez un texte pour le corriger" : "Navigation libre — les clics ouvrent les liens" }),
819
+ /* @__PURE__ */ e("span", { className: "barre__texte", children: y === "modifier" ? "Cliquez un texte pour le corriger" : "Navigation libre — les clics ouvrent les liens" }),
804
820
  /* @__PURE__ */ e(
805
821
  "button",
806
822
  {
807
823
  type: "button",
808
- className: "bouton " + (A === "circuler" ? "bouton--principal" : ""),
824
+ className: "bouton " + (y === "circuler" ? "bouton--principal" : ""),
809
825
  onClick: U,
810
- title: A === "modifier" ? "Passer en navigation pour changer de page" : "Revenir a la modification des textes",
811
- children: A === "modifier" ? "Circuler" : "Modifier"
826
+ title: y === "modifier" ? "Passer en navigation pour changer de page" : "Revenir a la modification des textes",
827
+ children: y === "modifier" ? "Circuler" : "Modifier"
812
828
  }
813
829
  ),
814
- x.length > 0 ? /* @__PURE__ */ f(ne, { children: [
830
+ x.length > 0 ? /* @__PURE__ */ f(re, { children: [
815
831
  /* @__PURE__ */ e("span", { className: "barre__compte", children: x.length === 1 ? "1 modification non publiée" : `${x.length} modifications non publiées` }),
816
832
  /* @__PURE__ */ e(
817
833
  "button",
@@ -828,7 +844,7 @@ function Ee({ api: n, pont: t }) {
828
844
  {
829
845
  type: "button",
830
846
  className: "bouton bouton--discret",
831
- onClick: ie,
847
+ onClick: le,
832
848
  disabled: I,
833
849
  children: "Abandonner"
834
850
  }
@@ -850,15 +866,15 @@ function Ee({ api: n, pont: t }) {
850
866
  {
851
867
  type: "button",
852
868
  className: "bouton bouton--icone bouton--sortie",
853
- onClick: de,
869
+ onClick: me,
854
870
  title: "Quitter le mode édition",
855
871
  "aria-label": "Quitter le mode édition",
856
872
  children: "✕"
857
873
  }
858
874
  )
859
875
  ] }),
860
- P && j && /* @__PURE__ */ e("div", { className: "flottant", children: /* @__PURE__ */ e("p", { className: "message message--" + P.ton, children: P.texte }) }),
861
- C && /* @__PURE__ */ f("div", { className: "panneau", role: "dialog", "aria-label": "Tous les contenus", children: [
876
+ M && H && /* @__PURE__ */ e("div", { className: "flottant", children: /* @__PURE__ */ e("p", { className: "message message--" + M.ton, children: M.texte }) }),
877
+ E && /* @__PURE__ */ f("div", { className: "panneau", role: "dialog", "aria-label": "Tous les contenus", children: [
862
878
  /* @__PURE__ */ f("div", { className: "panneau__tete", children: [
863
879
  /* @__PURE__ */ f("div", { style: { flex: 1 }, children: [
864
880
  /* @__PURE__ */ e("h2", { className: "panneau__titre", children: "Tous les contenus" }),
@@ -878,16 +894,16 @@ function Ee({ api: n, pont: t }) {
878
894
  /* @__PURE__ */ f("div", { className: "panneau__corps", children: [
879
895
  c.length === 0 && /* @__PURE__ */ e("p", { className: "message message--info", children: "Aucun contenu déclaré pour cette page." }),
880
896
  c.map((u) => {
881
- const m = a.find((E) => E.blockType === u.blockType), b = m?.draft && !te(m.draft, m.data);
897
+ const m = a.find((A) => A.blockType === u.blockType), g = m?.draft && !oe(m.draft, m.data);
882
898
  return /* @__PURE__ */ f(
883
899
  "button",
884
900
  {
885
901
  type: "button",
886
902
  className: "rangee",
887
- onClick: () => ce(u.blockType),
903
+ onClick: () => ue(u.blockType),
888
904
  children: [
889
905
  /* @__PURE__ */ e("span", { className: "rangee__nom", children: u.label }),
890
- /* @__PURE__ */ e("span", { className: "rangee__info", children: b ? "non publié" : `${u.fields.length} textes` })
906
+ /* @__PURE__ */ e("span", { className: "rangee__info", children: g ? "non publié" : `${u.fields.length} textes` })
891
907
  ]
892
908
  },
893
909
  u.blockType
@@ -919,14 +935,14 @@ function Ee({ api: n, pont: t }) {
919
935
  )
920
936
  ] }),
921
937
  /* @__PURE__ */ f("div", { className: "panneau__corps", children: [
922
- P && /* @__PURE__ */ e("p", { className: "message message--" + P.ton, children: P.texte }),
938
+ M && /* @__PURE__ */ e("p", { className: "message message--" + M.ton, children: M.texte }),
923
939
  F.fields.map((u) => /* @__PURE__ */ e(
924
- re,
940
+ se,
925
941
  {
926
942
  champ: u,
927
943
  langue: t.langue,
928
944
  valeur: h[u.key],
929
- changer: (m) => le(u.key, m)
945
+ changer: (m) => de(u.key, m)
930
946
  },
931
947
  u.key
932
948
  ))
@@ -948,7 +964,7 @@ function Ee({ api: n, pont: t }) {
948
964
  {
949
965
  type: "button",
950
966
  className: "bouton bouton--principal",
951
- onClick: ue,
967
+ onClick: pe,
952
968
  disabled: I,
953
969
  children: "Enregistrer"
954
970
  }
@@ -959,7 +975,7 @@ function Ee({ api: n, pont: t }) {
959
975
  )
960
976
  ] });
961
977
  }
962
- const Se = `
978
+ const ze = `
963
979
  :host {
964
980
  all: initial;
965
981
  --fond: #16181d;
@@ -1311,7 +1327,7 @@ input:focus, select:focus, textarea:focus {
1311
1327
  max-width: min(460px, calc(100vw - 24px));
1312
1328
  }
1313
1329
  .flottant .message { margin: 0; box-shadow: 0 8px 26px rgba(0,0,0,.4); }
1314
- `, ze = `
1330
+ `, Te = `
1315
1331
  /* ON NE DOIT JAMAIS SE DEMANDER SI ON EST EN MODE EDITION. Une barre en bas
1316
1332
  se confond avec un bandeau de temoins ; un lisere qui borde tout l'ecran,
1317
1333
  present sur chaque page, ne se confond avec rien. Il ne prend aucun clic. */
@@ -1339,17 +1355,17 @@ input:focus, select:focus, textarea:focus {
1339
1355
  discrete le reste du temps — c'est le geste qu'on fait une fois. */
1340
1356
  .bouton--sortie { color: var(--texte-doux); background: transparent; border-color: transparent; }
1341
1357
  .bouton--sortie:hover { background: rgba(217, 119, 106, 0.16); color: var(--danger); }
1342
- `, Pe = "lystech-editeur-hote", Te = "lystech-connexion-hote";
1343
- function ae(n) {
1358
+ `, Pe = "lystech-editeur-hote", Me = "lystech-connexion-hote";
1359
+ function ie(n) {
1344
1360
  document.getElementById(n)?.remove();
1345
1361
  const t = document.createElement("div");
1346
1362
  t.id = n, document.body.appendChild(t);
1347
1363
  const s = t.attachShadow({ mode: "open" }), r = document.createElement("style");
1348
- r.textContent = Se + De + ze, s.appendChild(r);
1364
+ r.textContent = ze + De + Te, s.appendChild(r);
1349
1365
  const a = document.createElement("div");
1350
1366
  return s.appendChild(a), { hote: t, point: a };
1351
1367
  }
1352
- function se(n, t) {
1368
+ function ce(n, t) {
1353
1369
  let s = n;
1354
1370
  return () => {
1355
1371
  const r = s;
@@ -1358,16 +1374,16 @@ function se(n, t) {
1358
1374
  }, 0);
1359
1375
  };
1360
1376
  }
1361
- function Ie({
1377
+ function Be({
1362
1378
  site: n,
1363
1379
  apiBaseUrl: t,
1364
1380
  methodes: s,
1365
1381
  surJeton: r
1366
1382
  }) {
1367
- const { hote: a, point: d } = ae(Te), l = oe(d), g = () => o();
1383
+ const { hote: a, point: d } = ie(Me), l = ae(d), b = () => o();
1368
1384
  l.render(
1369
1385
  /* @__PURE__ */ e(
1370
- ve,
1386
+ ye,
1371
1387
  {
1372
1388
  site: n,
1373
1389
  apiBaseUrl: t,
@@ -1375,20 +1391,20 @@ function Ie({
1375
1391
  surJeton: (i) => {
1376
1392
  o(), r(i);
1377
1393
  },
1378
- surFermer: g
1394
+ surFermer: b
1379
1395
  }
1380
1396
  )
1381
1397
  );
1382
- const o = se(l, a);
1398
+ const o = ce(l, a);
1383
1399
  return o;
1384
1400
  }
1385
- function Be({
1401
+ function _e({
1386
1402
  jeton: n,
1387
1403
  site: t,
1388
1404
  apiBaseUrl: s,
1389
1405
  pont: r
1390
1406
  }) {
1391
- const { hote: a, point: d } = ae(Pe), l = oe(d), g = () => {
1407
+ const { hote: a, point: d } = ie(Pe), l = ae(d), b = () => {
1392
1408
  try {
1393
1409
  window.localStorage.setItem("lystech-edit-sortie", "1"), window.localStorage.removeItem("lystech-edit");
1394
1410
  } catch {
@@ -1401,15 +1417,15 @@ function Be({
1401
1417
  };
1402
1418
  return l.render(
1403
1419
  /* @__PURE__ */ e(
1404
- Ee,
1420
+ Se,
1405
1421
  {
1406
- api: me({ jeton: n, site: t, apiBaseUrl: s, surJetonRefuse: g }),
1422
+ api: fe({ jeton: n, site: t, apiBaseUrl: s, surJetonRefuse: b }),
1407
1423
  pont: r
1408
1424
  }
1409
1425
  )
1410
- ), se(l, a);
1426
+ ), ce(l, a);
1411
1427
  }
1412
1428
  export {
1413
- Ie as monterConnexion,
1414
- Be as monterEditeur
1429
+ Be as monterConnexion,
1430
+ _e as monterEditeur
1415
1431
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lystech/sections",
3
- "version": "0.4.3",
3
+ "version": "0.4.5",
4
4
  "description": "Contenu de site editable par le client — lecture legere, edition chargee a la demande.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",