@lystech/sections 0.4.2 → 0.4.3
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/editeur/marque.d.ts +1 -1
- package/dist/editeur.js +219 -219
- package/package.json +1 -1
package/dist/editeur/marque.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const MARQUE_LYSTECH = "data:image/png;base64,
|
|
1
|
+
export declare const MARQUE_LYSTECH = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAW+UlEQVR42u17aZBc13Xed859r7tnATAASYALqBQlxZZBmaTNRREtagw5VEWyxZJcNVOKHNslRaJlu0I5UbSXaziRUq54VWJbjlwpxrQtx5ph2TJN2YQpGRizxEUiBYjCwg0kABLrEBxgML29d+/58uPe190ARRAbE9vCLXTNYKan+/b3vvOd75xzH3B+nV/n1/l1fp1f59fJFikA5J/i1v/fb3piwuHQOgE2AatXE7OzBoDfz/yRd//sL1/wsY99bJmTl7kiU1OK8fEMU1P6/cOgqSnF9LS9duo33jg/vzDnDh/tqmEevtxDw87c2fYRxy2XdLnjwbvvOMbBPY2PO8xtCoD8f2dW9iq+tgKwVq4/2H3d5atcIciOFZeggauMhsIMzbKLF5R7x2750LczH+5bXSu/tuMrf7LD5uY8IDEc160jpqftHxdApGB2VjE5Gc72DbyTa91QndnaVaV78kCm3ZImRiNhos7UXdbJG5dJje/aXbb9sls+9HCDxZeXN1p/8dTs7N6ebr36QMn30sKXhNgUqf9FxAgAnHHAhEHOgOqkqAiX/7f/8Y3u6MiNWhZBDyy6fOdBSAgwGAyE0EiIBRUGIIM4AAYt2gt18ssXBP/Fp//mzi2sgDqXok7KBKCzACASXi4M+mCRsvjcc/V/tXvz/7rpua1vg0wGiBCknrb+iPBHPvvrr7Msuw5moFMNFy9HedkYAggDQRIGEYo4JbIaydzKoCGEkDVWtuqjH97nat9a+VP//k/X3fIz6zA7GwAQExPurBLpzIwDZxxEOCsSRCT8xpYtI8mOvCxAxOys/s5rXtM+VrTueSqzr6177rHPcevWGkQMpDtN/cHB2vBP2/LlNah4VRXNHcKly+EvGgGMff6SgBlAiJDOAa5GMvdFYJZn7frIz+zByLdWv+MDv/ZLE780itnZkECS02SMgtTZyckAmQwf3bJl9Vue2TxxxYFn//wudj9DCE4kw0vfYGbGyeRkWPPMg3/ZueJ1775w94Fv/lCz/YG/vvJN27BxY4b16/2pUHdmclI//Ka3frs9NnaVlqUpTEEg+AI42oQ+uR+62AZUYeRAFAtAQER6m/NkMIEDM9S7SzsuhH3k6b/9o/vik6cEeAVtIgWYVchkUAD/Zsc3b9zr3K2Lkr9z4ZILLpL98wcub+Lqx66+ej5uoS8p+lIfNwGSclkHXxjaPx+ODNVueGx06P63fufBd2D9eo+NG0+e+WYidT9z/U3rw8joVRJKExEVEUAFLs+AkTrC5atgtQzGQSYBoIESAESpIQ0Z6TIzCju+Xav90AG4v7v05n/3a5xK4Jwk5CbSfiCT4Se+ed/1b9j28N1PZvVvHFm+4ueL3F3kXjzcWXu09ZOPXXPNIczO6ol6+xKAZhFl4acOdu7Pl47tGyqL0AVX7lxW/+trNn99AuvX+/GTgbRtGwXAYpb9x3J4CApQnACqEFWoyyD1Gjg2gnDJCphU6YMVQvEfDaT1fiakZJQst2A+E1sYGv3kRQ/s3PC2d713zUDIveRizU5Ohl+8/0sr1235h88/OTz6wNHRkXcVRYf1Fw93XZ5h5MXmnd+97sZvY+PG7HtlbXnZWBWxH9j28D3tC1f+pDu2VHYFmRmx+sji5HevX3/X+MaN2dyJ4RazTLj2t7/4o0+PNL7lnSA3qonFtCMCIaA0dJtNsNmB7jwId3gJdEmLTtxc+pFE3CAkTAAv9KDLhrvFU6+p891b7v7f2zE+nmFuzseQul0g03bzpr951+7G8OePrVzxWjaXkBOhJqLmHJZUW2sLf+XmH71xDwCBiJ1MpPtr0yYFACV2GAmzIPXSEzQcWjb8Zzc89LX1c+vXe8zMuBMAggDYp/ZxPzKiTmBM7FFVQARUAZ0ia9SBegZethJWd9CQOERGoAigSio0MNkCS6hlROZQ+la99i93Ffr1K9/z/qsxN+evvfXWHACcTNubN/zV556uD999FPJaOXTIZ60upPAulCE067noUvvuzdf+2O4UWvZKab63xtPXPIR9UnqEEGCk1gpPL8j3NGqzN89tuAKTk6Gn+lNTislJu/6//8G6zvDIT8N3qSJOBFBVUAVwAlEBBdB6DajnCMsb4MXLYSSUgFAgMZv0Qw4EQWgVdumhkCyjD93cXbyvKxvWTXzwmkf/8A/LR37hF7Jr77nrjudGRz9zbOlYkKVFQ+EzFh6+LNEtC2G3i9HQ+SuQgosukpOm45dbNR9aKD0sGBAMhGi9W4buUOOCrbn78szMTA2zswJScOWVAoB7Xf6f/PKRPAODqIo4BVTSgxBHwAmYCbLGEEQVXDOGsHIYCBaTWA+cCAhTiAkJMCSGMQo86JQ+dNWt2dss733rrZ/44Q/e8vb/uW9o6P3tF+ZL1246droaul2UZQeh6LIM3uHwkfYVXHwQIsSmTXZmtRitw2BgCDBGNRXA1Zst371w7PpPtYvP4ife+YlrH3kkf3Rysrzp9++4fGsj+7cWSmbqHBJrCUCgSY2Jyi1njRyhXYMZIZddAN/sICsMJtYPs4EEJ5VniqINiACiEMCJBPNwa7YeaT40tNAd7nQ6Bgt5qQJIgKiLSSIX0g2Ldsud963f9rwAOFkJc1IGWSnBQgCCCSyyCD5ADS5bPBaOjA7956s23POmR6+7rgSAZxvu/WFsbNgRAU6kYo44gSihoqA6UAFRgWQOOtKIOIyNQC5aDgZLTIlOmwPCbQA0hZ+ZgWaABQgNBNWJsnO0PXxs7jvMW121bonQ6cKKDlh0gbIAiy5phlooH1eZtpfo6OkwiIbAYDAzGCTuMAqpOBAhz/VFp1+c2rjxuu3z8/mmtn0Q5uFUNDJGUlEBqBgoAmVK6SIgBPlQHaFeg5Ul9JKVsBea0GY7gkhCJOmRAELri3YFoghUom4ZKVmWMeyal+7yEcgb18DMA1kGOIO4DDRHFh6uVe4kgJPpzysCZEozC6AZKkvCdC0F4lyn5cs1Y1f/7eHFnyub+W6uHr5cmkeDOHFCgkqQAqGAmj6n9N0FQWieIRupozjiYcsakLVjsMeXoJR+mEkU754pUYUwgJVmiUKooBBkEM0ExY7nUBvLgTXDgPdgVoPPDEoHKwuEsvN8Stln0Q8KCZxgUYMsxj5BUAhHOh5rcj7Y57or3AshdOlURHoim8oFAZhKh15zuk9IuKEGdKkNswB38Ri47wXoQhPBSb9WS4yLdkWhSjB40BhLRVFQFQGAgwN8ieLxvXAjl8NyB5qA9CAzYbcAzMdWyvyVPAuAADGDhagFMqAJESgTKQscg1ziG7hEOwUkFVGp8IMKYq2FlOLJxKJYbwGEq+XQWg5rBdhQDW7thQgLzWQO48VAMogKjUwWxswYoh5J5cglXkDnHMoXmtC9R8G1KxBCB8ocFqCqHTjYgVOuuk9cc1WR6AvHQMBCTPOJTQwBFiLFSULaHbpuYaoSP7TG1B49j0BVIZqyoKbfi0btEAUyRT7UgIiL73PJGMLYEOhDT3NAwhmTaQwx+kQjgCSYpEBoAAOMhsyA8PwCZKkN63Zh3YJWepFmK6xs8YWqNDptgKrVQhgxAPBGWIAEixsJPn01WOlhZiIiCiBmLIlaw57/6ddiohor9QrM5K51KIdmDqDAhmrQtRcCZhCrslo/9YsxhrsgiZrBmPZmIQl4AByBxTZsoQWUHmx3QO+Bwh++UI8eAgDcfvuZA+QCO/ABNJOKOT1d8gYEj1CWsSTQ+EEtAcMKpd736eeDD4kOmwCknkFqGQQODAQvXQlbPhQvRkrrZpVxrEykQCFQMwgicyT0SxUTAD6Ah5tAUcJ8QQTCOuWh+2795OKJrY3TACgqexZCx8oyOmlvERwfQO/BUCL4uPmqzpJk3KDoMUeqR89RDzhrJz1WIcuQNbL4ayM4XAMuHYuZij17ERttZL+uVYGAkBBiaCHALIAMAH18n8UO0CphpSd9AItyrwp4KmOm7/2EStlL67AIQDJlFkKK974WAcezAooIkiQflFhUAdgLiyq8pM8+GaqDqlAkE37pSqCWQYKlDGqA+ViH9XxQBkJi2IW4NzH2wFQS0gmQZgEpS4ovkXXL3TyFCHplJ23hKMoCDCawBJQPkU1mYABUHawnvNIPrwHtofR/P/iQJN5Rkxy0kUNzF0PPorvmqlGgDDFDWSXIKauBoGi/K0lCLdX9jM02iMVOQasbgS4DGMITp9U7/h7jYQJAXfIjUpSgmVaizJS9gvfRI2dZCh/EWkf6YdXPZgmcgezWy2oJKKhAahk0zyoPAGY5uPaCCEiwfm1P6wEC84DLYtMwtUWqTBafB1AMaJVACUW3QM2H7QCA7dt5ZnOx228HADRarQWpSxuZG6IPTFOaGOtm0HoWw0pSWPWaWwIKe8b3OC9PAU/8eaWTmYPUHLQpCKJRb1aPgaM1oN0FVeEoyRuhV7aIVM48lTUmADT5p5hDpCCtNAXaPvfuGQDAunU8Mwal1PezKw4dUgsHBQqaJ0Loe6LAmLqdRppLxZqU0sUlzTkhrJz2JArpwSr1O4XWXBJeiXoy2gBXLQN8gKvChklzYNAqzFLNFg1sulasyiKCZkQgXFnuv3lp2R7EKv4MARIhpqb0V975ka4E7qIKxBtpHjCfsoSBTqP+uD44MhBGMaQ0GcXUVQQgor3HYFajCqSWp7IkFraWKbBmZWSFsWrlx1SfSpqepWDVN6qeY71uZPyvQnzY+sd3TndSBuOZi/SPQwnAFXzKhDCSFqK1h8UrKS4DnPYEt3LIoujri/RNIlPWYnoupe+oe0Dmtd6uYhEqkFWjsNz1UjySEWS/aQYTGYQu9YxC/39KigGZ5wOMTkbPyeGFegibm8Hgk9UnCalcbMWUuJ0ICE9ovvP4LnyUm/g3cvxcF6YA8wQ0LbVeDVg2Cow0IItLUJfFUgNZvxiuXrLaFwgYYC6yMLUhHMsuci3+HgCwejvPPItFhGOx3Wo9hMUmEeh6Ljp5DamyTRVWIgPhJcf1oUVjTQanoBNozzcN+CQkpmnfK5GADOfAaAMIlfD3B2n94lnSuIi9EVIkcpohZSpZUe5a9y/47TjfmrWzAygJ2A0HD25DGZ6xPJdkMWKWCtZzsoPag94MrErlsUnPE9x1X5sGZ2YVQNKr9gkBMgVG6qD5E6YdOJ6pqWvQY3DVpxUxZBky4qtz03d2MD6eneoBiJPFITE1lc1OTxd1HzaIy2FmhhCpTE9YaT0/UzFIUDHCQRD7wJIpRN1xBSu1n9l0ADRq6hup9MKW6sCheuorDWYo9MSZKXvBiMpIDPBM1QzDTv5PDK/VPDujWK0rY8kx3O78mS4VIFSriacEwjpF/EBV+aCxaXVcyk8tjQrIyJrUt3f91of0CluNOiUpbKusV8si66oCPr0nU0NNQkgAEhSXgktASrC8IY7c/JZy8SEAkk6JnAOAJicDpqZ09223PeDanYdZa0iABTPG7kOrSBmiqsXSxjU56wRCv/TQxID0y5Tmj/dPVecwSnCV+UTdcaJcfRdZG3tWAgXg+tnAxeLZQaTh8PnZ2dmA8XF3usfk8AosEgG4ovC/rh6CIBEcAKHZgZUhmcXY4RvUlV79pX0h75vLfrnBwX4RLWYeqUqRaFfoHEQ0pvMBi64iQPCxNkwNuYrRAjG6TLVsP7NuxGYACObmwrkFKLFo15FDX8mPLD7MWsOZMQgAdEqEYy1Ilg14nuMf4jS558pF68AoKAE60DhjaRDr/z2TyMNsgDkyoNMKeB9FSRSkwEQhcDAK4TKpK35z7s47O4k9PLcAVSyanrYhHz4qHYNBARoZDOX84sCH6WtRr7wYMIi9xvFxFX0qMdJXK4qXHmIQhbQ6UPZrlJ4MMcC8j9qFinWMTsjlWiu7j78Pq+8ApvR02XPqAE1OBszMuP0fv+0b9WOt39N81JEMTgV+/ijY7MYqPLGg38qI7BhkSa/8SM9hAtY0FqFo+Z4IS5XRPaGHj0UApWr2J/EPAeJD/7016hBV6URklcMnfvfe3+1iYrucydlGPY0T8oaZGfdjnRc+kS0c2UHXyAAGtAPKvS9Ca1nyOOh3EVUG+j3Sa4foAMt6NZlTsDRYu4iMjBkIcAptdsDFNpi5viMXgOLAstublfVKGkVAVnN5KDbs3vDnd1fHcs70LPMpHpIVYts23jM93VrVab9PWkXbw0muYp09h2GtElLLj2uUVQay731wnNOudEtUwNwB7QLS9aCT1HU2SC7QgwvQdgFmrndmSNRBzMcGnkqciGgGqiMkQ6307TV57SME5FTaGmcPUDXkn5rKdk9/fMtI69gHBKrmxLDYYeep/ZFFEkuJ4xtlkVVOFHR6XIkhKjAX/VO5sBS7hpW9cwYXBPLMIQASOwc9XVPQdwFL4EjKcqpes5pbBvvUExu+9AQmJvRszlef/nHauTnD1FTWmv7Vx8ZueEunHFn+diVDsXBM8ktXiFs2HGumgbGO9j4YoNLXI1GJO8gcWASUz84DZjC1OLWsZ8j2HQU374TkaQaGNAAwA7s+vq5zEXinXl0jHy27dx/aNPsrPIvQOnOABkDqfPZX71923Y31ctnycTZLb+2Oa7x+DZz1e9PVpIMD2av6vgLOag62/wjC/gWELJ7pDko4ZJB/+C7kWBuWazR/lc/pFnHs7ATx4LDzInk2VHS/c/1Q/Zannv5ueSot1XMbYseHW+DUVLbwXz/16dqLB3/LjY7knd0Lvv3kAdpoPTZABhtovdSeNMlpYo9AfEC57wgohImHMcA16pDv7AL2LwCNWqrLFAoBCx/HzZkALgNEPZBnjbLz+BvG8nfee++XFjE1hXNxIv+sTqxjbo6YmXHFbb+4Yfmb3jxsI2M3dfe8aENrLxCsGhKU1stWCun1r0UUKumoR57BP7+A7vPzsDyF1lAdbuc88OCOOLNPfWcm18wQAHUQ50jVAMmzkbK75fUjeMdDX71rLyYmHL7whXNyX4c761eYnQVmZlznP3z471bdNO5LDP3rzoEFGfqBi4PkTsUstVb75qZqtiFToFuiuXVvnKC6ADZy6J4FYNP22AOrZgEiQDAE8xFglwWKExXnhqz4yg+vDO954KtfOYRzoDvnFqAIEjEz45q//KG5C3/85me6R8q3t7tlvfb6i31sdg6YZ/TDzWWKpcf3ofvCUWiNsEYG2f0icP92ZGWA5RpTfYQqtlwBg8vMsrrLfFmuEH768Ma7btv1xBOxz3yOmPPq3FA3NZVhetqvm/qda3a3yjvsrVf+yOibrwiuU4j66A9j98/gcofW3gUsbt0DbRgkeHDHfuDRXdDgQadp/g4AgSQNZgLNVY2o+c7Gla71yWf//qvfTFrKV+PWTndOXy1lt/npT+379Btv/JNHd+1dVUj9BnndWnFWBKNoPFWm8EfaWNyxF5ITcrQJPvgkZOveeJYgU4A0Qg0Ag1AJpwAkD+Wjo0Xx0YX77/rYwrNPRb3Zvt3+ad2SmXRAAbzm5z46eeQ9b/ttvOUNl2mnGZwEaOGx9NhzwkNHgGcOgNt2U1ttWj2PfXfSQRWM8zhot93Mg79vSO2Pfu8ivWcyaoxgakpe7bsR5VV97ZkZxeRkuPG9H7j0qZ9/92+VV732vcHl8N94Arb5WWDXAbj5o0CuYCagpeM1ZQFYuTszPlKD3bs8t6/t2fDlXTzhAgD/HG4Ln5lxmIy3IV394NdvmW+G95V/+cjl3DO/3DJ1zFEilAsawvNSFE8GX+wU7W5//bLw+EOzs+0BgVNMbJd/nreRk1LdsiCoqgsFSXXxwPDLh+r4eAb847td/NVjE2dcf24z4OgnJhzGp7KB++cF3+dLzoNwfp1f59f5dX6dX6/m+r8Cl0QchG1LcQAAAABJRU5ErkJggg==";
|
package/dist/editeur.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as e, jsxs as f, Fragment as ne } from "react/jsx-runtime";
|
|
2
2
|
import { createRoot as oe } from "react-dom/client";
|
|
3
|
-
import { useState as
|
|
3
|
+
import { useState as M, useRef as V, useEffect as X, useCallback as Y, useMemo as $ } from "react";
|
|
4
4
|
function me({
|
|
5
5
|
jeton: n,
|
|
6
6
|
site: t,
|
|
@@ -15,16 +15,16 @@ function me({
|
|
|
15
15
|
if (i && (o.status === 401 || o.status === 403) && r(), !o.ok) throw new Error(String(o.status));
|
|
16
16
|
}
|
|
17
17
|
async function l(o, i = !0) {
|
|
18
|
-
const
|
|
18
|
+
const h = await fetch(s + o, {
|
|
19
19
|
headers: i ? a : void 0
|
|
20
20
|
});
|
|
21
|
-
return d(
|
|
21
|
+
return d(h, i), await h.json();
|
|
22
22
|
}
|
|
23
|
-
async function
|
|
23
|
+
async function g(o, i, h) {
|
|
24
24
|
const v = await fetch(s + o, {
|
|
25
25
|
method: i,
|
|
26
26
|
headers: a,
|
|
27
|
-
body:
|
|
27
|
+
body: h === void 0 ? void 0 : JSON.stringify(h)
|
|
28
28
|
});
|
|
29
29
|
return d(v, !0), await v.json();
|
|
30
30
|
}
|
|
@@ -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,
|
|
37
|
-
enregistrerBrouillon: (o, i) =>
|
|
38
|
-
publier: (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"),
|
|
39
39
|
/** Ramène le brouillon à ce qui est en ligne. */
|
|
40
|
-
annuler: (o) =>
|
|
40
|
+
annuler: (o) => g("/site-sections/" + o + "/revert", "POST")
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
|
-
const fe = "data:image/png;base64,
|
|
43
|
+
const fe = "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 be() {
|
|
52
52
|
return /* @__PURE__ */ f("span", { className: "marque", children: [
|
|
53
53
|
/* @__PURE__ */ e("img", { src: fe, alt: "", width: 22, height: 22 }),
|
|
54
54
|
/* @__PURE__ */ e("span", { className: "marque__mot", children: "Lystech" })
|
|
55
55
|
] });
|
|
56
56
|
}
|
|
57
|
-
function
|
|
57
|
+
function he() {
|
|
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 xe() {
|
|
|
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 xe() {
|
|
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
|
{
|
|
@@ -78,7 +78,7 @@ function ve({
|
|
|
78
78
|
surJeton: r,
|
|
79
79
|
surFermer: a
|
|
80
80
|
}) {
|
|
81
|
-
const [d, l] =
|
|
81
|
+
const [d, l] = M({ nom: "repos" }), g = (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,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, C = !1) => {
|
|
98
|
+
const D = 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: C
|
|
106
106
|
})
|
|
107
107
|
});
|
|
108
|
-
if (
|
|
108
|
+
if (D.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 A = await D.json().catch(() => null);
|
|
116
|
+
if (A?.ok && A?.token) {
|
|
117
|
+
r(A.token);
|
|
118
118
|
return;
|
|
119
119
|
}
|
|
120
|
-
switch (
|
|
120
|
+
switch (A?.raison) {
|
|
121
121
|
case "sans_acces":
|
|
122
122
|
l({ nom: "sans-acces", jeton: v });
|
|
123
123
|
return;
|
|
@@ -148,15 +148,15 @@ function ve({
|
|
|
148
148
|
}, i = async (v) => {
|
|
149
149
|
l({ nom: "envoi", quoi: v });
|
|
150
150
|
try {
|
|
151
|
-
const [{ initializeApp:
|
|
151
|
+
const [{ initializeApp: C, getApps: D }, A] = await Promise.all([
|
|
152
152
|
import("./morceaux/index.esm-B4AB50RA.js"),
|
|
153
153
|
import("./morceaux/index.esm-B4hL1FOE.js")
|
|
154
|
-
]),
|
|
155
|
-
await o(
|
|
156
|
-
} catch (
|
|
157
|
-
l({ nom: "erreur", texte:
|
|
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 ?? "")) });
|
|
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: [
|
|
161
161
|
/* @__PURE__ */ e(
|
|
162
162
|
"button",
|
|
@@ -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(be, {}),
|
|
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
|
] }),
|
|
@@ -202,12 +202,12 @@ function ve({
|
|
|
202
202
|
{
|
|
203
203
|
type: "button",
|
|
204
204
|
className: "fournisseur fournisseur--google",
|
|
205
|
-
disabled:
|
|
205
|
+
disabled: h,
|
|
206
206
|
onClick: () => {
|
|
207
207
|
i("google");
|
|
208
208
|
},
|
|
209
209
|
children: [
|
|
210
|
-
/* @__PURE__ */ e(
|
|
210
|
+
/* @__PURE__ */ e(he, {}),
|
|
211
211
|
/* @__PURE__ */ e("span", { children: d.nom === "envoi" && d.quoi === "google" ? "Connexion…" : "Continuer avec Google" })
|
|
212
212
|
]
|
|
213
213
|
}
|
|
@@ -217,12 +217,12 @@ function ve({
|
|
|
217
217
|
{
|
|
218
218
|
type: "button",
|
|
219
219
|
className: "fournisseur fournisseur--facebook",
|
|
220
|
-
disabled:
|
|
220
|
+
disabled: h,
|
|
221
221
|
onClick: () => {
|
|
222
222
|
i("facebook");
|
|
223
223
|
},
|
|
224
224
|
children: [
|
|
225
|
-
/* @__PURE__ */ e(
|
|
225
|
+
/* @__PURE__ */ e(xe, {}),
|
|
226
226
|
/* @__PURE__ */ e("span", { children: d.nom === "envoi" && d.quoi === "facebook" ? "Connexion…" : "Continuer avec Facebook" })
|
|
227
227
|
]
|
|
228
228
|
}
|
|
@@ -231,11 +231,11 @@ function ve({
|
|
|
231
231
|
] })
|
|
232
232
|
] }) });
|
|
233
233
|
}
|
|
234
|
-
function
|
|
234
|
+
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 ye(n) {
|
|
239
239
|
switch (n.type) {
|
|
240
240
|
case "number":
|
|
241
241
|
return 0;
|
|
@@ -335,14 +335,14 @@ function ee({ champ: n, valeur: t, changer: s }) {
|
|
|
335
335
|
}
|
|
336
336
|
function re({ 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 = (
|
|
339
|
-
const
|
|
340
|
-
s(
|
|
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);
|
|
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((
|
|
345
|
+
a.map((g, 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: [
|
|
@@ -380,7 +380,7 @@ function re({ champ: n, valeur: t, changer: s, langue: r }) {
|
|
|
380
380
|
type: "button",
|
|
381
381
|
className: "bouton bouton--icone bouton--discret",
|
|
382
382
|
title: "Retirer",
|
|
383
|
-
onClick: () => s(a.filter((i,
|
|
383
|
+
onClick: () => s(a.filter((i, h) => h !== o)),
|
|
384
384
|
children: "✕"
|
|
385
385
|
}
|
|
386
386
|
)
|
|
@@ -391,8 +391,8 @@ function re({ champ: n, valeur: t, changer: s, langue: r }) {
|
|
|
391
391
|
{
|
|
392
392
|
champ: i,
|
|
393
393
|
langue: r,
|
|
394
|
-
valeur:
|
|
395
|
-
changer: (
|
|
394
|
+
valeur: g?.[i.key],
|
|
395
|
+
changer: (h) => l(o, i.key, h)
|
|
396
396
|
},
|
|
397
397
|
i.key
|
|
398
398
|
))
|
|
@@ -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((
|
|
407
|
+
Object.fromEntries(d.map((g) => [g.key, ye(g)]))
|
|
408
408
|
]),
|
|
409
409
|
children: "+ Ajouter"
|
|
410
410
|
}
|
|
@@ -412,7 +412,7 @@ function re({ champ: n, valeur: t, changer: s, langue: r }) {
|
|
|
412
412
|
] });
|
|
413
413
|
}
|
|
414
414
|
if (n.localized) {
|
|
415
|
-
const a =
|
|
415
|
+
const a = Ae(t, r), d = t && typeof t == "object" && !Array.isArray(t) ? t : {};
|
|
416
416
|
return /* @__PURE__ */ f("div", { className: "champ", children: [
|
|
417
417
|
/* @__PURE__ */ e("span", { className: "champ__etiquette", children: n.label }),
|
|
418
418
|
n.help && /* @__PURE__ */ e("p", { className: "champ__aide", children: n.help }),
|
|
@@ -423,7 +423,7 @@ function re({ champ: n, valeur: t, changer: s, langue: r }) {
|
|
|
423
423
|
{
|
|
424
424
|
champ: n,
|
|
425
425
|
valeur: d[l],
|
|
426
|
-
changer: (
|
|
426
|
+
changer: (g) => s({ ...d, [l]: g })
|
|
427
427
|
}
|
|
428
428
|
)
|
|
429
429
|
] }, l))
|
|
@@ -435,22 +435,22 @@ function re({ champ: n, valeur: t, changer: s, langue: r }) {
|
|
|
435
435
|
n.help && /* @__PURE__ */ e("p", { className: "champ__aide", children: n.help })
|
|
436
436
|
] });
|
|
437
437
|
}
|
|
438
|
-
const
|
|
439
|
-
function
|
|
438
|
+
const ke = ["lystech-editeur-hote", "lystech-connexion-hote"];
|
|
439
|
+
function we(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
|
|
446
|
-
|
|
445
|
+
const g = t.get(l);
|
|
446
|
+
g ? g.push({ ns: s, chemin: a }) : t.set(l, [{ ns: s, chemin: a }]);
|
|
447
447
|
}
|
|
448
448
|
return t;
|
|
449
449
|
}
|
|
450
|
-
function
|
|
450
|
+
function Ce(n) {
|
|
451
451
|
const t = /* @__PURE__ */ new Map(), s = document.body.querySelectorAll("*");
|
|
452
452
|
for (const r of s) {
|
|
453
|
-
if (
|
|
453
|
+
if (ke.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,98 +458,98 @@ function Ae(n) {
|
|
|
458
458
|
}
|
|
459
459
|
return t;
|
|
460
460
|
}
|
|
461
|
-
function
|
|
461
|
+
function Ne({
|
|
462
462
|
source: n,
|
|
463
463
|
actif: t,
|
|
464
464
|
surModification: s
|
|
465
465
|
}) {
|
|
466
|
-
const r =
|
|
467
|
-
|
|
468
|
-
const o =
|
|
469
|
-
return o.current = s,
|
|
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(() => {
|
|
470
470
|
if (!t) return;
|
|
471
|
-
const i =
|
|
472
|
-
r.current =
|
|
471
|
+
const i = g.current.langueCourante(), h = we(g.current.dictionnaire(i)), v = () => {
|
|
472
|
+
r.current = Ce(h);
|
|
473
473
|
};
|
|
474
474
|
v();
|
|
475
|
-
let
|
|
476
|
-
const
|
|
477
|
-
a.current || (clearTimeout(
|
|
475
|
+
let C;
|
|
476
|
+
const D = new MutationObserver(() => {
|
|
477
|
+
a.current || (clearTimeout(C), C = setTimeout(v, 250));
|
|
478
478
|
});
|
|
479
|
-
|
|
480
|
-
const
|
|
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) => {
|
|
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 ?? "") + A
|
|
485
485
|
));
|
|
486
|
-
},
|
|
486
|
+
}, U = (p) => {
|
|
487
487
|
const c = p.target;
|
|
488
488
|
if (!(c instanceof HTMLElement) || a.current?.el === c || c.dataset.lysStyleAvant === void 0) return;
|
|
489
|
-
const
|
|
490
|
-
delete c.dataset.lysStyleAvant,
|
|
491
|
-
},
|
|
492
|
-
const
|
|
489
|
+
const x = c.dataset.lysStyleAvant;
|
|
490
|
+
delete c.dataset.lysStyleAvant, x ? c.setAttribute("style", x) : c.removeAttribute("style");
|
|
491
|
+
}, I = (p, c) => {
|
|
492
|
+
const x = p.getAttribute("style") ?? "";
|
|
493
493
|
a.current = {
|
|
494
494
|
el: p,
|
|
495
495
|
avant: (p.textContent ?? "").trim(),
|
|
496
496
|
ns: c.ns,
|
|
497
497
|
chemin: c.chemin,
|
|
498
|
-
styleAvant: p.dataset.lysStyleAvant ??
|
|
498
|
+
styleAvant: p.dataset.lysStyleAvant ?? x
|
|
499
499
|
}, p.setAttribute("contenteditable", "plaintext-only"), p.setAttribute(
|
|
500
500
|
"style",
|
|
501
501
|
(p.dataset.lysStyleAvant ?? "") + "outline:2px solid #3ba58d;outline-offset:3px;border-radius:3px;"
|
|
502
502
|
), p.focus();
|
|
503
|
-
const
|
|
504
|
-
|
|
505
|
-
},
|
|
503
|
+
const _ = window.getSelection(), Q = document.createRange();
|
|
504
|
+
Q.selectNodeContents(p), _?.removeAllRanges(), _?.addRange(Q);
|
|
505
|
+
}, k = async (p) => {
|
|
506
506
|
const c = a.current;
|
|
507
507
|
if (!c) return;
|
|
508
508
|
a.current = null;
|
|
509
|
-
const
|
|
509
|
+
const x = (c.el.textContent ?? "").trim();
|
|
510
510
|
c.el.removeAttribute("contenteditable");
|
|
511
|
-
const
|
|
512
|
-
if (delete c.el.dataset.lysStyleAvant,
|
|
511
|
+
const _ = c.el.dataset.lysStyleAvant;
|
|
512
|
+
if (delete c.el.dataset.lysStyleAvant, _ ? c.el.setAttribute("style", _) : c.el.removeAttribute("style"), p || x === c.avant) {
|
|
513
513
|
p && (c.el.textContent = c.avant);
|
|
514
514
|
return;
|
|
515
515
|
}
|
|
516
|
-
const
|
|
517
|
-
|
|
518
|
-
},
|
|
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) => {
|
|
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
|
+
k(!1);
|
|
524
524
|
}
|
|
525
|
-
const
|
|
526
|
-
if (
|
|
527
|
-
if (p.preventDefault(), p.stopPropagation(),
|
|
528
|
-
|
|
525
|
+
const x = r.current.get(c);
|
|
526
|
+
if (x) {
|
|
527
|
+
if (p.preventDefault(), p.stopPropagation(), x.candidats.length === 1) {
|
|
528
|
+
I(c, x.candidats[0]);
|
|
529
529
|
return;
|
|
530
530
|
}
|
|
531
531
|
l({
|
|
532
532
|
el: c,
|
|
533
|
-
candidats:
|
|
533
|
+
candidats: x.candidats,
|
|
534
534
|
x: p.clientX,
|
|
535
535
|
y: p.clientY
|
|
536
536
|
});
|
|
537
537
|
}
|
|
538
|
-
},
|
|
539
|
-
a.current && (p.key === "Escape" ? (p.preventDefault(),
|
|
540
|
-
},
|
|
541
|
-
a.current &&
|
|
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);
|
|
542
542
|
};
|
|
543
|
-
document.addEventListener("mouseover",
|
|
544
|
-
const
|
|
543
|
+
document.addEventListener("mouseover", q, !0), document.addEventListener("mouseout", U, !0), document.addEventListener("click", P, !0);
|
|
544
|
+
const R = (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(), k(!1));
|
|
548
548
|
};
|
|
549
|
-
return document.addEventListener("beforeinput",
|
|
550
|
-
l(null),
|
|
549
|
+
return document.addEventListener("beforeinput", R, !0), document.addEventListener("keydown", N, !0), document.addEventListener("focusout", O, !0), window.__lysChoisir = (p, c) => {
|
|
550
|
+
l(null), I(c, p);
|
|
551
551
|
}, () => {
|
|
552
|
-
clearTimeout(
|
|
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;
|
|
553
553
|
};
|
|
554
554
|
}, [t]), d ? /* @__PURE__ */ f(
|
|
555
555
|
"div",
|
|
@@ -588,192 +588,192 @@ function Ce({
|
|
|
588
588
|
}
|
|
589
589
|
) : null;
|
|
590
590
|
}
|
|
591
|
-
const
|
|
591
|
+
const Z = /^i18n:([^:]+):(.*)$/, G = "commun", H = "lystech-edit-mode";
|
|
592
592
|
function te(n, t) {
|
|
593
593
|
return JSON.stringify(n ?? {}) === JSON.stringify(t ?? {});
|
|
594
594
|
}
|
|
595
595
|
function Ee({ api: n, pont: t }) {
|
|
596
|
-
const [s, r] =
|
|
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(() => {
|
|
597
597
|
try {
|
|
598
|
-
return window.localStorage.getItem(
|
|
598
|
+
return window.localStorage.getItem(H) === "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(H, m);
|
|
606
606
|
} catch {
|
|
607
607
|
}
|
|
608
608
|
return m;
|
|
609
|
-
}), [
|
|
609
|
+
}), [I, k] = M(!1), [P, N] = M(
|
|
610
610
|
null
|
|
611
611
|
);
|
|
612
|
-
|
|
613
|
-
|
|
612
|
+
X(() => (t.surChangementDePage = (u) => {
|
|
613
|
+
g(u), i(null), D(!1);
|
|
614
614
|
}, () => {
|
|
615
615
|
t.surChangementDePage = void 0;
|
|
616
616
|
}), [t]);
|
|
617
|
-
const
|
|
617
|
+
const O = Y(async () => {
|
|
618
618
|
try {
|
|
619
619
|
const [u, m] = await Promise.all([
|
|
620
620
|
n.pourPage(l),
|
|
621
|
-
l ===
|
|
622
|
-
]),
|
|
623
|
-
return d(
|
|
621
|
+
l === G ? Promise.resolve([]) : n.pourPage(G)
|
|
622
|
+
]), b = [...u, ...m];
|
|
623
|
+
return d(b), b;
|
|
624
624
|
} catch {
|
|
625
|
-
return
|
|
625
|
+
return N({
|
|
626
626
|
ton: "erreur",
|
|
627
627
|
texte: "Impossible de lire le contenu du site."
|
|
628
628
|
}), [];
|
|
629
629
|
}
|
|
630
630
|
}, [n, l]);
|
|
631
|
-
|
|
631
|
+
X(() => {
|
|
632
632
|
n.schemas().then(r).catch(() => r([]));
|
|
633
|
-
}, [n]),
|
|
634
|
-
|
|
635
|
-
}, [
|
|
636
|
-
const
|
|
633
|
+
}, [n]), X(() => {
|
|
634
|
+
O();
|
|
635
|
+
}, [O]);
|
|
636
|
+
const R = Y(
|
|
637
637
|
(u, m) => {
|
|
638
|
-
let
|
|
638
|
+
let b = null, E = -1;
|
|
639
639
|
for (const z of s) {
|
|
640
|
-
const
|
|
641
|
-
if (!
|
|
642
|
-
const
|
|
643
|
-
(
|
|
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);
|
|
644
644
|
}
|
|
645
|
-
if (!
|
|
646
|
-
const S =
|
|
647
|
-
return { bloc:
|
|
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 };
|
|
648
648
|
},
|
|
649
649
|
[s]
|
|
650
|
-
), p =
|
|
650
|
+
), p = Y(
|
|
651
651
|
(u) => s.find((m) => m.blockType === u),
|
|
652
652
|
[s]
|
|
653
653
|
), c = $(
|
|
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(G);
|
|
657
657
|
}),
|
|
658
658
|
[s, l]
|
|
659
|
-
),
|
|
659
|
+
), x = $(
|
|
660
660
|
() => a.filter((u) => u.draft && !te(u.draft, u.data)),
|
|
661
661
|
[a]
|
|
662
|
-
),
|
|
663
|
-
async (u, m,
|
|
664
|
-
const S =
|
|
662
|
+
), _ = Y(
|
|
663
|
+
async (u, m, b, E) => {
|
|
664
|
+
const S = R(u, m);
|
|
665
665
|
if (!S) {
|
|
666
|
-
|
|
666
|
+
N({
|
|
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((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 };
|
|
673
673
|
try {
|
|
674
|
-
if (
|
|
675
|
-
await n.enregistrerBrouillon(
|
|
674
|
+
if (T?.UID)
|
|
675
|
+
await n.enregistrerBrouillon(T.UID, B);
|
|
676
676
|
else {
|
|
677
|
-
const
|
|
678
|
-
await n.creer(
|
|
677
|
+
const L = S.bloc.pages?.[0] ?? l;
|
|
678
|
+
await n.creer(L, S.bloc.blockType, B);
|
|
679
679
|
}
|
|
680
|
-
await
|
|
680
|
+
await O(), N(null);
|
|
681
681
|
} catch {
|
|
682
|
-
|
|
682
|
+
N({
|
|
683
683
|
ton: "erreur",
|
|
684
684
|
texte: "Enregistrement impossible. Votre texte est toujours à l'écran."
|
|
685
685
|
});
|
|
686
686
|
}
|
|
687
687
|
},
|
|
688
|
-
[n,
|
|
689
|
-
),
|
|
690
|
-
if (!
|
|
691
|
-
|
|
692
|
-
const u =
|
|
688
|
+
[n, R, l, O, a]
|
|
689
|
+
), Q = async () => {
|
|
690
|
+
if (!x.length) return;
|
|
691
|
+
k(!0), N(null);
|
|
692
|
+
const u = x.length;
|
|
693
693
|
try {
|
|
694
|
-
for (const m of
|
|
695
|
-
await
|
|
694
|
+
for (const m of x) await n.publier(m.UID);
|
|
695
|
+
await O(), t.recharger(), N({
|
|
696
696
|
ton: "ok",
|
|
697
697
|
texte: u === 1 ? "Publié. Vos visiteurs le voient maintenant." : `${u} modifications publiées.`
|
|
698
698
|
});
|
|
699
699
|
} catch {
|
|
700
|
-
|
|
700
|
+
N({
|
|
701
701
|
ton: "erreur",
|
|
702
702
|
texte: "La publication a échoué. Rien n'a été mis en ligne."
|
|
703
703
|
});
|
|
704
704
|
} finally {
|
|
705
|
-
|
|
705
|
+
k(!1);
|
|
706
706
|
}
|
|
707
707
|
}, ie = async () => {
|
|
708
|
-
|
|
708
|
+
k(!0);
|
|
709
709
|
try {
|
|
710
|
-
for (const m of
|
|
711
|
-
const u = await
|
|
710
|
+
for (const m of x) await n.annuler(m.UID);
|
|
711
|
+
const u = await O();
|
|
712
712
|
if (t.sourceTexte) {
|
|
713
713
|
const { appliquerAuxTextes: m } = await import("./morceaux/sourceTexte-BMPMpNg9.js");
|
|
714
714
|
m(
|
|
715
|
-
u.map((
|
|
715
|
+
u.map((b) => ({ blockType: b.blockType, data: b.data })),
|
|
716
716
|
t.sourceTexte
|
|
717
717
|
);
|
|
718
718
|
}
|
|
719
|
-
|
|
719
|
+
N({
|
|
720
720
|
ton: "info",
|
|
721
721
|
texte: "Modifications abandonnées. On est revenu à ce qui est en ligne."
|
|
722
722
|
});
|
|
723
723
|
} finally {
|
|
724
|
-
|
|
724
|
+
k(!1);
|
|
725
725
|
}
|
|
726
726
|
}, ce = (u) => {
|
|
727
|
-
const m = a.find((z) => z.blockType === u),
|
|
727
|
+
const m = a.find((z) => z.blockType === u), b = m?.draft ?? m?.data ?? {}, E = p(u), S = Z.exec(u), T = {};
|
|
728
728
|
if (S && E && t.sourceTexte) {
|
|
729
|
-
const z = S[1],
|
|
730
|
-
for (const
|
|
731
|
-
|
|
732
|
-
for (const
|
|
733
|
-
const pe =
|
|
734
|
-
for (const
|
|
735
|
-
const
|
|
736
|
-
typeof
|
|
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);
|
|
737
737
|
}
|
|
738
|
-
Object.keys(
|
|
738
|
+
Object.keys(W).length && (T[L.key] = W);
|
|
739
739
|
}
|
|
740
740
|
}
|
|
741
|
-
for (const [z,
|
|
742
|
-
const
|
|
743
|
-
|
|
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;
|
|
744
744
|
}
|
|
745
|
-
v(
|
|
746
|
-
}, le = (u, m) => v((
|
|
745
|
+
v(T), i(u), D(!1), N(null);
|
|
746
|
+
}, le = (u, m) => v((b) => ({ ...b, [u]: m })), ue = async () => {
|
|
747
747
|
if (o) {
|
|
748
|
-
|
|
748
|
+
k(!0);
|
|
749
749
|
try {
|
|
750
|
-
const u = a.find((
|
|
751
|
-
if (u?.UID) await n.enregistrerBrouillon(u.UID,
|
|
750
|
+
const u = a.find((b) => b.blockType === o);
|
|
751
|
+
if (u?.UID) await n.enregistrerBrouillon(u.UID, h);
|
|
752
752
|
else {
|
|
753
|
-
const
|
|
754
|
-
await n.creer(
|
|
753
|
+
const b = p(o)?.pages?.[0] ?? l;
|
|
754
|
+
await n.creer(b, o, h);
|
|
755
755
|
}
|
|
756
|
-
const m = await
|
|
756
|
+
const m = await O();
|
|
757
757
|
if (t.sourceTexte) {
|
|
758
|
-
const { appliquerAuxTextes:
|
|
759
|
-
|
|
758
|
+
const { appliquerAuxTextes: b } = await import("./morceaux/sourceTexte-BMPMpNg9.js");
|
|
759
|
+
b(
|
|
760
760
|
m.map((E) => ({ blockType: E.blockType, data: E.draft ?? E.data })),
|
|
761
761
|
t.sourceTexte
|
|
762
762
|
);
|
|
763
763
|
}
|
|
764
|
-
|
|
764
|
+
N({
|
|
765
765
|
ton: "ok",
|
|
766
766
|
texte: "Enregistré. Rien n'a encore changé pour vos visiteurs."
|
|
767
767
|
});
|
|
768
768
|
} catch {
|
|
769
|
-
|
|
769
|
+
N({ ton: "erreur", texte: "L'enregistrement a échoué." });
|
|
770
770
|
} finally {
|
|
771
|
-
|
|
771
|
+
k(!1);
|
|
772
772
|
}
|
|
773
773
|
}
|
|
774
774
|
}, de = () => {
|
|
775
775
|
try {
|
|
776
|
-
window.localStorage.setItem("lystech-edit-sortie", "1"), window.localStorage.removeItem("lystech-edit"), window.localStorage.removeItem(
|
|
776
|
+
window.localStorage.setItem("lystech-edit-sortie", "1"), window.localStorage.removeItem("lystech-edit"), window.localStorage.removeItem(H);
|
|
777
777
|
} catch {
|
|
778
778
|
}
|
|
779
779
|
try {
|
|
@@ -781,45 +781,45 @@ function Ee({ api: n, pont: t }) {
|
|
|
781
781
|
} catch {
|
|
782
782
|
}
|
|
783
783
|
window.location.reload();
|
|
784
|
-
},
|
|
784
|
+
}, F = o ? p(o) : void 0, j = !o && !C;
|
|
785
785
|
return /* @__PURE__ */ f("div", { className: "calque", children: [
|
|
786
786
|
/* @__PURE__ */ e(
|
|
787
787
|
"div",
|
|
788
788
|
{
|
|
789
|
-
className: "cadre-global" + (
|
|
789
|
+
className: "cadre-global" + (A === "circuler" ? " cadre-global--circuler" : ""),
|
|
790
790
|
"aria-hidden": "true"
|
|
791
791
|
}
|
|
792
792
|
),
|
|
793
793
|
t.sourceTexte && /* @__PURE__ */ e(
|
|
794
|
-
|
|
794
|
+
Ne,
|
|
795
795
|
{
|
|
796
796
|
source: t.sourceTexte,
|
|
797
|
-
actif:
|
|
798
|
-
surModification:
|
|
797
|
+
actif: j && !I && A === "modifier",
|
|
798
|
+
surModification: _
|
|
799
799
|
}
|
|
800
800
|
),
|
|
801
|
-
|
|
801
|
+
j && /* @__PURE__ */ f("div", { className: "barre", children: [
|
|
802
802
|
/* @__PURE__ */ e("span", { className: "barre__point" }),
|
|
803
|
-
/* @__PURE__ */ e("span", { className: "barre__texte", children:
|
|
803
|
+
/* @__PURE__ */ e("span", { className: "barre__texte", children: A === "modifier" ? "Cliquez un texte pour le corriger" : "Navigation libre — les clics ouvrent les liens" }),
|
|
804
804
|
/* @__PURE__ */ e(
|
|
805
805
|
"button",
|
|
806
806
|
{
|
|
807
807
|
type: "button",
|
|
808
|
-
className: "bouton " + (
|
|
809
|
-
onClick:
|
|
810
|
-
title:
|
|
811
|
-
children:
|
|
808
|
+
className: "bouton " + (A === "circuler" ? "bouton--principal" : ""),
|
|
809
|
+
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"
|
|
812
812
|
}
|
|
813
813
|
),
|
|
814
|
-
|
|
815
|
-
/* @__PURE__ */ e("span", { className: "barre__compte", children:
|
|
814
|
+
x.length > 0 ? /* @__PURE__ */ f(ne, { children: [
|
|
815
|
+
/* @__PURE__ */ e("span", { className: "barre__compte", children: x.length === 1 ? "1 modification non publiée" : `${x.length} modifications non publiées` }),
|
|
816
816
|
/* @__PURE__ */ e(
|
|
817
817
|
"button",
|
|
818
818
|
{
|
|
819
819
|
type: "button",
|
|
820
820
|
className: "bouton bouton--principal",
|
|
821
|
-
onClick:
|
|
822
|
-
disabled:
|
|
821
|
+
onClick: Q,
|
|
822
|
+
disabled: I,
|
|
823
823
|
children: "Publier"
|
|
824
824
|
}
|
|
825
825
|
),
|
|
@@ -829,7 +829,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
829
829
|
type: "button",
|
|
830
830
|
className: "bouton bouton--discret",
|
|
831
831
|
onClick: ie,
|
|
832
|
-
disabled:
|
|
832
|
+
disabled: I,
|
|
833
833
|
children: "Abandonner"
|
|
834
834
|
}
|
|
835
835
|
)
|
|
@@ -839,7 +839,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
839
839
|
{
|
|
840
840
|
type: "button",
|
|
841
841
|
className: "bouton bouton--icone bouton--discret",
|
|
842
|
-
onClick: () =>
|
|
842
|
+
onClick: () => D(!0),
|
|
843
843
|
title: "Tous les contenus",
|
|
844
844
|
"aria-label": "Tous les contenus",
|
|
845
845
|
children: "⋮"
|
|
@@ -857,8 +857,8 @@ function Ee({ api: n, pont: t }) {
|
|
|
857
857
|
}
|
|
858
858
|
)
|
|
859
859
|
] }),
|
|
860
|
-
|
|
861
|
-
|
|
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: [
|
|
862
862
|
/* @__PURE__ */ f("div", { className: "panneau__tete", children: [
|
|
863
863
|
/* @__PURE__ */ f("div", { style: { flex: 1 }, children: [
|
|
864
864
|
/* @__PURE__ */ e("h2", { className: "panneau__titre", children: "Tous les contenus" }),
|
|
@@ -869,7 +869,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
869
869
|
{
|
|
870
870
|
type: "button",
|
|
871
871
|
className: "bouton bouton--icone bouton--discret",
|
|
872
|
-
onClick: () =>
|
|
872
|
+
onClick: () => D(!1),
|
|
873
873
|
"aria-label": "Fermer",
|
|
874
874
|
children: "✕"
|
|
875
875
|
}
|
|
@@ -878,7 +878,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
878
878
|
/* @__PURE__ */ f("div", { className: "panneau__corps", children: [
|
|
879
879
|
c.length === 0 && /* @__PURE__ */ e("p", { className: "message message--info", children: "Aucun contenu déclaré pour cette page." }),
|
|
880
880
|
c.map((u) => {
|
|
881
|
-
const m = a.find((E) => E.blockType === u.blockType),
|
|
881
|
+
const m = a.find((E) => E.blockType === u.blockType), b = m?.draft && !te(m.draft, m.data);
|
|
882
882
|
return /* @__PURE__ */ f(
|
|
883
883
|
"button",
|
|
884
884
|
{
|
|
@@ -887,7 +887,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
887
887
|
onClick: () => ce(u.blockType),
|
|
888
888
|
children: [
|
|
889
889
|
/* @__PURE__ */ e("span", { className: "rangee__nom", children: u.label }),
|
|
890
|
-
/* @__PURE__ */ e("span", { className: "rangee__info", children:
|
|
890
|
+
/* @__PURE__ */ e("span", { className: "rangee__info", children: b ? "non publié" : `${u.fields.length} textes` })
|
|
891
891
|
]
|
|
892
892
|
},
|
|
893
893
|
u.blockType
|
|
@@ -895,17 +895,17 @@ function Ee({ api: n, pont: t }) {
|
|
|
895
895
|
})
|
|
896
896
|
] })
|
|
897
897
|
] }),
|
|
898
|
-
o &&
|
|
898
|
+
o && F && /* @__PURE__ */ f(
|
|
899
899
|
"div",
|
|
900
900
|
{
|
|
901
901
|
className: "panneau",
|
|
902
902
|
role: "dialog",
|
|
903
|
-
"aria-label": "Modifier " +
|
|
903
|
+
"aria-label": "Modifier " + F.label,
|
|
904
904
|
children: [
|
|
905
905
|
/* @__PURE__ */ f("div", { className: "panneau__tete", children: [
|
|
906
906
|
/* @__PURE__ */ f("div", { style: { flex: 1 }, children: [
|
|
907
|
-
/* @__PURE__ */ e("h2", { className: "panneau__titre", children:
|
|
908
|
-
|
|
907
|
+
/* @__PURE__ */ e("h2", { className: "panneau__titre", children: F.label }),
|
|
908
|
+
F.description && /* @__PURE__ */ e("p", { className: "panneau__sous", children: F.description })
|
|
909
909
|
] }),
|
|
910
910
|
/* @__PURE__ */ e(
|
|
911
911
|
"button",
|
|
@@ -919,13 +919,13 @@ function Ee({ api: n, pont: t }) {
|
|
|
919
919
|
)
|
|
920
920
|
] }),
|
|
921
921
|
/* @__PURE__ */ f("div", { className: "panneau__corps", children: [
|
|
922
|
-
|
|
923
|
-
|
|
922
|
+
P && /* @__PURE__ */ e("p", { className: "message message--" + P.ton, children: P.texte }),
|
|
923
|
+
F.fields.map((u) => /* @__PURE__ */ e(
|
|
924
924
|
re,
|
|
925
925
|
{
|
|
926
926
|
champ: u,
|
|
927
927
|
langue: t.langue,
|
|
928
|
-
valeur:
|
|
928
|
+
valeur: h[u.key],
|
|
929
929
|
changer: (m) => le(u.key, m)
|
|
930
930
|
},
|
|
931
931
|
u.key
|
|
@@ -938,7 +938,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
938
938
|
type: "button",
|
|
939
939
|
className: "bouton bouton--discret",
|
|
940
940
|
onClick: () => i(null),
|
|
941
|
-
disabled:
|
|
941
|
+
disabled: I,
|
|
942
942
|
children: "Fermer"
|
|
943
943
|
}
|
|
944
944
|
),
|
|
@@ -949,7 +949,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
949
949
|
type: "button",
|
|
950
950
|
className: "bouton bouton--principal",
|
|
951
951
|
onClick: ue,
|
|
952
|
-
disabled:
|
|
952
|
+
disabled: I,
|
|
953
953
|
children: "Enregistrer"
|
|
954
954
|
}
|
|
955
955
|
)
|
|
@@ -1261,7 +1261,7 @@ input:focus, select:focus, textarea:focus {
|
|
|
1261
1261
|
@media (prefers-reduced-motion: reduce) {
|
|
1262
1262
|
* { transition: none !important; animation: none !important; }
|
|
1263
1263
|
}
|
|
1264
|
-
`,
|
|
1264
|
+
`, De = `
|
|
1265
1265
|
/* --------------------------------------------------------- CHOIX -------- */
|
|
1266
1266
|
|
|
1267
1267
|
/* Quand un meme texte vient de plusieurs cles, on demande laquelle plutot que
|
|
@@ -1339,13 +1339,13 @@ input:focus, select:focus, textarea:focus {
|
|
|
1339
1339
|
discrete le reste du temps — c'est le geste qu'on fait une fois. */
|
|
1340
1340
|
.bouton--sortie { color: var(--texte-doux); background: transparent; border-color: transparent; }
|
|
1341
1341
|
.bouton--sortie:hover { background: rgba(217, 119, 106, 0.16); color: var(--danger); }
|
|
1342
|
-
`,
|
|
1342
|
+
`, Pe = "lystech-editeur-hote", Te = "lystech-connexion-hote";
|
|
1343
1343
|
function ae(n) {
|
|
1344
1344
|
document.getElementById(n)?.remove();
|
|
1345
1345
|
const t = document.createElement("div");
|
|
1346
1346
|
t.id = n, document.body.appendChild(t);
|
|
1347
1347
|
const s = t.attachShadow({ mode: "open" }), r = document.createElement("style");
|
|
1348
|
-
r.textContent = Se +
|
|
1348
|
+
r.textContent = Se + De + ze, s.appendChild(r);
|
|
1349
1349
|
const a = document.createElement("div");
|
|
1350
1350
|
return s.appendChild(a), { hote: t, point: a };
|
|
1351
1351
|
}
|
|
@@ -1358,13 +1358,13 @@ function se(n, t) {
|
|
|
1358
1358
|
}, 0);
|
|
1359
1359
|
};
|
|
1360
1360
|
}
|
|
1361
|
-
function
|
|
1361
|
+
function Ie({
|
|
1362
1362
|
site: n,
|
|
1363
1363
|
apiBaseUrl: t,
|
|
1364
1364
|
methodes: s,
|
|
1365
1365
|
surJeton: r
|
|
1366
1366
|
}) {
|
|
1367
|
-
const { hote: a, point: d } = ae(
|
|
1367
|
+
const { hote: a, point: d } = ae(Te), l = oe(d), g = () => o();
|
|
1368
1368
|
l.render(
|
|
1369
1369
|
/* @__PURE__ */ e(
|
|
1370
1370
|
ve,
|
|
@@ -1375,20 +1375,20 @@ function je({
|
|
|
1375
1375
|
surJeton: (i) => {
|
|
1376
1376
|
o(), r(i);
|
|
1377
1377
|
},
|
|
1378
|
-
surFermer:
|
|
1378
|
+
surFermer: g
|
|
1379
1379
|
}
|
|
1380
1380
|
)
|
|
1381
1381
|
);
|
|
1382
1382
|
const o = se(l, a);
|
|
1383
1383
|
return o;
|
|
1384
1384
|
}
|
|
1385
|
-
function
|
|
1385
|
+
function Be({
|
|
1386
1386
|
jeton: n,
|
|
1387
1387
|
site: t,
|
|
1388
1388
|
apiBaseUrl: s,
|
|
1389
1389
|
pont: r
|
|
1390
1390
|
}) {
|
|
1391
|
-
const { hote: a, point: d } = ae(
|
|
1391
|
+
const { hote: a, point: d } = ae(Pe), l = oe(d), g = () => {
|
|
1392
1392
|
try {
|
|
1393
1393
|
window.localStorage.setItem("lystech-edit-sortie", "1"), window.localStorage.removeItem("lystech-edit");
|
|
1394
1394
|
} catch {
|
|
@@ -1403,13 +1403,13 @@ function Re({
|
|
|
1403
1403
|
/* @__PURE__ */ e(
|
|
1404
1404
|
Ee,
|
|
1405
1405
|
{
|
|
1406
|
-
api: me({ jeton: n, site: t, apiBaseUrl: s, surJetonRefuse:
|
|
1406
|
+
api: me({ jeton: n, site: t, apiBaseUrl: s, surJetonRefuse: g }),
|
|
1407
1407
|
pont: r
|
|
1408
1408
|
}
|
|
1409
1409
|
)
|
|
1410
1410
|
), se(l, a);
|
|
1411
1411
|
}
|
|
1412
1412
|
export {
|
|
1413
|
-
|
|
1414
|
-
|
|
1413
|
+
Ie as monterConnexion,
|
|
1414
|
+
Be as monterEditeur
|
|
1415
1415
|
};
|