@lystech/sections 0.6.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +188 -1
- package/dist/Audience.d.ts +14 -0
- package/dist/BoutonEdition.d.ts +13 -0
- package/dist/BoutonEditionCorps.d.ts +12 -0
- package/dist/SectionsProvider.d.ts +62 -2
- package/dist/catalogue.d.ts +30 -0
- package/dist/constantes.d.ts +38 -0
- package/dist/editeur/ApercuMobile.d.ts +7 -0
- package/dist/editeur/ChoixAudience.d.ts +6 -0
- package/dist/editeur/MarquesBoutique.d.ts +26 -0
- package/dist/editeur/api.d.ts +16 -1
- package/dist/editeur/boutique/Collections.d.ts +8 -0
- package/dist/editeur/boutique/FicheCollection.d.ts +23 -0
- package/dist/editeur/boutique/FicheProduit.d.ts +23 -0
- package/dist/editeur/boutique/ListeVirtuelle.d.ts +13 -0
- package/dist/editeur/boutique/ModuleBoutique.d.ts +44 -0
- package/dist/editeur/boutique/Publier.d.ts +15 -0
- package/dist/editeur/boutique/Selecteur.d.ts +10 -0
- package/dist/editeur/boutique/api.d.ts +131 -0
- package/dist/editeur/boutique/commun.d.ts +19 -0
- package/dist/editeur/boutique/photos.d.ts +9 -0
- package/dist/editeur/boutique/styles.d.ts +1 -0
- package/dist/editeur/pont.d.ts +7 -0
- package/dist/editeur/styles.d.ts +1 -1
- package/dist/editeur.js +6 -1736
- package/dist/index.d.ts +9 -2
- package/dist/index.js +351 -209
- package/dist/morceaux/ApercuMobile-CSoo4dpM.js +63 -0
- package/dist/morceaux/BoutonEditionCorps-B57eJtJn.js +112 -0
- package/dist/morceaux/ModuleBoutique-CgqcQjIb.js +1509 -0
- package/dist/morceaux/constantes-BAdpe1ss.js +24 -0
- package/dist/morceaux/index-C_uFDnBO.js +2217 -0
- package/dist/types.d.ts +30 -0
- package/dist/useSection.d.ts +15 -0
- package/package.json +46 -46
- package/dist/morceaux/constantes-BPZxUYge.js +0 -19
package/dist/types.d.ts
CHANGED
|
@@ -26,6 +26,29 @@ export type BlocDeclare = {
|
|
|
26
26
|
pages?: string[] | null;
|
|
27
27
|
maxPerPage?: number | null;
|
|
28
28
|
};
|
|
29
|
+
/**
|
|
30
|
+
* À QUI S'ADRESSE UNE SECTION (fidélité). Choisi dans l'éditeur, appliqué
|
|
31
|
+
* par le SERVEUR : une section réservée n'est jamais envoyée à qui n'y a
|
|
32
|
+
* pas droit — ni dans la route publique, ni dans le HTML prérendu.
|
|
33
|
+
*/
|
|
34
|
+
export type AudienceSection = {
|
|
35
|
+
mode: "everyone";
|
|
36
|
+
} | {
|
|
37
|
+
mode: "loggedIn";
|
|
38
|
+
} | {
|
|
39
|
+
mode: "members";
|
|
40
|
+
} | {
|
|
41
|
+
mode: "nonMembers";
|
|
42
|
+
} | {
|
|
43
|
+
mode: "plans";
|
|
44
|
+
plans: string[];
|
|
45
|
+
};
|
|
46
|
+
/** Le visiteur tel que le SERVEUR l'a reconnu (jamais tel que la page le croit). */
|
|
47
|
+
export type Visiteur = {
|
|
48
|
+
isLoggedIn: boolean;
|
|
49
|
+
isMember: boolean;
|
|
50
|
+
activePlanUIDs: string[];
|
|
51
|
+
};
|
|
29
52
|
/** Une section telle qu'elle revient du serveur. */
|
|
30
53
|
export type SectionPubliee = {
|
|
31
54
|
UID: string;
|
|
@@ -33,6 +56,13 @@ export type SectionPubliee = {
|
|
|
33
56
|
blockType: string;
|
|
34
57
|
position: number;
|
|
35
58
|
data: Record<string, unknown> | null;
|
|
59
|
+
/**
|
|
60
|
+
* La section existe mais CE visiteur ne doit pas la voir : elle arrive
|
|
61
|
+
* SANS contenu. Le site n'affiche alors ni elle, ni son repli.
|
|
62
|
+
*/
|
|
63
|
+
hidden?: boolean;
|
|
64
|
+
/** Présente seulement dans l'aperçu d'une éditrice (mode édition). */
|
|
65
|
+
audience?: AudienceSection;
|
|
36
66
|
};
|
|
37
67
|
export type ValeurTraduite = {
|
|
38
68
|
[langue: string]: unknown;
|
package/dist/useSection.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AudienceSection } from './types';
|
|
1
2
|
/**
|
|
2
3
|
* LES ATTRIBUTS À POSER SUR LE CONTENEUR DE LA SECTION.
|
|
3
4
|
*
|
|
@@ -38,6 +39,20 @@ export type ChampEdition = {
|
|
|
38
39
|
export type ResultatSection<T> = {
|
|
39
40
|
/** Le contenu à afficher : aperçu, sinon publié, sinon défaut. */
|
|
40
41
|
contenu: T;
|
|
42
|
+
/**
|
|
43
|
+
* FAUX quand la section est RÉSERVÉE à une autre audience que ce visiteur
|
|
44
|
+
* (membres, plan précis, connectés…). Le site ne l'affiche pas — ni elle,
|
|
45
|
+
* ni son repli :
|
|
46
|
+
*
|
|
47
|
+
* const { contenu, visible } = useSection("offre-membres", { defaut });
|
|
48
|
+
* if (!visible) return null;
|
|
49
|
+
*
|
|
50
|
+
* RÈGLE : un contenu réservé ne va JAMAIS dans le `defaut` du code (le code
|
|
51
|
+
* du site est public). Il s'écrit dans l'éditeur, où le serveur le garde.
|
|
52
|
+
*/
|
|
53
|
+
visible: boolean;
|
|
54
|
+
/** Audience de la section — seulement dans l'aperçu d'une éditrice. */
|
|
55
|
+
audience: AudienceSection | null;
|
|
41
56
|
/** Vrai quand le contenu vient du serveur, faux quand c'est le défaut. */
|
|
42
57
|
publie: boolean;
|
|
43
58
|
/** L'identifiant de la section — nécessaire à l'édition. */
|
package/package.json
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@lystech/sections",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Contenu de site editable par le client — lecture legere, edition chargee a la demande.",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./dist/index.js",
|
|
7
|
-
"module": "./dist/index.js",
|
|
8
|
-
"types": "./dist/index.d.ts",
|
|
9
|
-
"exports": {
|
|
10
|
-
".": {
|
|
11
|
-
"types": "./dist/index.d.ts",
|
|
12
|
-
"import": "./dist/index.js"
|
|
13
|
-
},
|
|
14
|
-
"./editeur": {
|
|
15
|
-
"types": "./dist/editeur/index.d.ts",
|
|
16
|
-
"import": "./dist/editeur.js"
|
|
17
|
-
}
|
|
18
|
-
},
|
|
19
|
-
"sideEffects": false,
|
|
20
|
-
"files": [
|
|
21
|
-
"dist"
|
|
22
|
-
],
|
|
23
|
-
"scripts": {
|
|
24
|
-
"build": "tsc -b && vite build",
|
|
25
|
-
"dev": "vite build --watch"
|
|
26
|
-
},
|
|
27
|
-
"peerDependencies": {
|
|
28
|
-
"react": ">=18",
|
|
29
|
-
"react-dom": ">=18"
|
|
30
|
-
},
|
|
31
|
-
"devDependencies": {
|
|
32
|
-
"@types/react": "^19.0.0",
|
|
33
|
-
"@types/react-dom": "^19.0.0",
|
|
34
|
-
"react": "^19.0.0",
|
|
35
|
-
"react-dom": "^19.0.0",
|
|
36
|
-
"typescript": "^5.7.2",
|
|
37
|
-
"vite": "^7.0.0",
|
|
38
|
-
"vite-plugin-dts": "^4.5.4"
|
|
39
|
-
},
|
|
40
|
-
"publishConfig": {
|
|
41
|
-
"access": "public"
|
|
42
|
-
},
|
|
43
|
-
"dependencies": {
|
|
44
|
-
"firebase": "^12.19.0"
|
|
45
|
-
}
|
|
46
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@lystech/sections",
|
|
3
|
+
"version": "0.9.0",
|
|
4
|
+
"description": "Contenu de site editable par le client — lecture legere, edition chargee a la demande.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./editeur": {
|
|
15
|
+
"types": "./dist/editeur/index.d.ts",
|
|
16
|
+
"import": "./dist/editeur.js"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"sideEffects": false,
|
|
20
|
+
"files": [
|
|
21
|
+
"dist"
|
|
22
|
+
],
|
|
23
|
+
"scripts": {
|
|
24
|
+
"build": "tsc -b && vite build",
|
|
25
|
+
"dev": "vite build --watch"
|
|
26
|
+
},
|
|
27
|
+
"peerDependencies": {
|
|
28
|
+
"react": ">=18",
|
|
29
|
+
"react-dom": ">=18"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@types/react": "^19.0.0",
|
|
33
|
+
"@types/react-dom": "^19.0.0",
|
|
34
|
+
"react": "^19.0.0",
|
|
35
|
+
"react-dom": "^19.0.0",
|
|
36
|
+
"typescript": "^5.7.2",
|
|
37
|
+
"vite": "^7.0.0",
|
|
38
|
+
"vite-plugin-dts": "^4.5.4"
|
|
39
|
+
},
|
|
40
|
+
"publishConfig": {
|
|
41
|
+
"access": "public"
|
|
42
|
+
},
|
|
43
|
+
"dependencies": {
|
|
44
|
+
"firebase": "^12.19.0"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
const o = "lystech-edit", t = "lystech-edit-sortie";
|
|
2
|
-
function e() {
|
|
3
|
-
try {
|
|
4
|
-
window.localStorage.setItem(t, "1"), window.localStorage.removeItem(o);
|
|
5
|
-
} catch {
|
|
6
|
-
}
|
|
7
|
-
try {
|
|
8
|
-
window.sessionStorage.removeItem(o);
|
|
9
|
-
} catch {
|
|
10
|
-
}
|
|
11
|
-
window.location.reload();
|
|
12
|
-
}
|
|
13
|
-
const s = "lystech-hors-edition";
|
|
14
|
-
export {
|
|
15
|
-
s as C,
|
|
16
|
-
t as a,
|
|
17
|
-
o as b,
|
|
18
|
-
e as s
|
|
19
|
-
};
|