@ea-lab/reactive-json-docs 0.1.2
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-npm.md +49 -0
- package/README.md +86 -0
- package/package.json +79 -0
- package/public/rjbuild/component-doc/chartjs/components.yaml +252 -0
- package/public/rjbuild/component-doc/chartjs/overview.yaml +51 -0
- package/public/rjbuild/component-doc/core/action/HashChangeListener.md +90 -0
- package/public/rjbuild/component-doc/core/action/HashChangeListener.yaml +124 -0
- package/public/rjbuild/component-doc/core/action/Hide.md +22 -0
- package/public/rjbuild/component-doc/core/action/Hide.yaml +60 -0
- package/public/rjbuild/component-doc/core/action/MessageListener.md +93 -0
- package/public/rjbuild/component-doc/core/action/MessageListener.yaml +153 -0
- package/public/rjbuild/component-doc/core/action/Popover.md +26 -0
- package/public/rjbuild/component-doc/core/action/Popover.yaml +100 -0
- package/public/rjbuild/component-doc/core/action/ReactOnEvent.md +81 -0
- package/public/rjbuild/component-doc/core/action/ReactOnEvent.yaml +133 -0
- package/public/rjbuild/component-doc/core/action/Redirect.md +20 -0
- package/public/rjbuild/component-doc/core/action/Redirect.yaml +68 -0
- package/public/rjbuild/component-doc/core/action/Tooltip.md +22 -0
- package/public/rjbuild/component-doc/core/action/Tooltip.yaml +90 -0
- package/public/rjbuild/component-doc/core/action/VisuallyHide.md +21 -0
- package/public/rjbuild/component-doc/core/action/VisuallyHide.yaml +62 -0
- package/public/rjbuild/component-doc/core/action/index.md +214 -0
- package/public/rjbuild/component-doc/core/action/index.yaml +278 -0
- package/public/rjbuild/component-doc/core/element/form/CheckBoxField.md +276 -0
- package/public/rjbuild/component-doc/core/element/form/CheckBoxField.yaml +338 -0
- package/public/rjbuild/component-doc/core/element/form/DateField.md +189 -0
- package/public/rjbuild/component-doc/core/element/form/DateField.yaml +264 -0
- package/public/rjbuild/component-doc/core/element/form/NumberField.md +136 -0
- package/public/rjbuild/component-doc/core/element/form/NumberField.yaml +103 -0
- package/public/rjbuild/component-doc/core/element/form/SelectField.md +304 -0
- package/public/rjbuild/component-doc/core/element/form/SelectField.yaml +360 -0
- package/public/rjbuild/component-doc/core/element/form/TextAreaField.md +134 -0
- package/public/rjbuild/component-doc/core/element/form/TextAreaField.yaml +146 -0
- package/public/rjbuild/component-doc/core/element/form/TextField.md +129 -0
- package/public/rjbuild/component-doc/core/element/form/TextField.yaml +147 -0
- package/public/rjbuild/component-doc/core/element/form/formElementsCommon.md +106 -0
- package/public/rjbuild/component-doc/core/element/form/index.md +50 -0
- package/public/rjbuild/component-doc/core/element/form/index.yaml +96 -0
- package/public/rjbuild/component-doc/core/element/html/AccordionItem.yaml +47 -0
- package/public/rjbuild/component-doc/core/element/html/FolderSortableTree.yaml +81 -0
- package/public/rjbuild/component-doc/core/element/html/FormatNumeral.yaml +58 -0
- package/public/rjbuild/component-doc/core/element/html/Html.yaml +67 -0
- package/public/rjbuild/component-doc/core/element/html/LabelFromValue.yaml +54 -0
- package/public/rjbuild/component-doc/core/element/html/Modal.yaml +93 -0
- package/public/rjbuild/component-doc/core/element/html/PreformattedMarkup.yaml +37 -0
- package/public/rjbuild/component-doc/core/element/html/SortableTreeItemCollapseButton.yaml +92 -0
- package/public/rjbuild/component-doc/core/element/html/Tabs.yaml +57 -0
- package/public/rjbuild/component-doc/core/element/special/BootstrapElement.md +17 -0
- package/public/rjbuild/component-doc/core/element/special/BootstrapElement.yaml +18 -0
- package/public/rjbuild/component-doc/core/element/special/Count.md +37 -0
- package/public/rjbuild/component-doc/core/element/special/Count.yaml +325 -0
- package/public/rjbuild/component-doc/core/element/special/DataFilter.md +149 -0
- package/public/rjbuild/component-doc/core/element/special/DataFilter.yaml +315 -0
- package/public/rjbuild/component-doc/core/element/special/DelayedActions.md +51 -0
- package/public/rjbuild/component-doc/core/element/special/DelayedActions.yaml +55 -0
- package/public/rjbuild/component-doc/core/element/special/PageControls.md +126 -0
- package/public/rjbuild/component-doc/core/element/special/PageControls.yaml +133 -0
- package/public/rjbuild/component-doc/core/element/special/Phantom.md +31 -0
- package/public/rjbuild/component-doc/core/element/special/Phantom.yaml +34 -0
- package/public/rjbuild/component-doc/core/element/special/ReactiveJsonSubroot.md +27 -0
- package/public/rjbuild/component-doc/core/element/special/ReactiveJsonSubroot.yaml +51 -0
- package/public/rjbuild/component-doc/core/element/special/Switch.md +262 -0
- package/public/rjbuild/component-doc/core/element/special/Switch.yaml +348 -0
- package/public/rjbuild/component-doc/core/example/accordion.md +96 -0
- package/public/rjbuild/component-doc/core/example/accordion.yaml +64 -0
- package/public/rjbuild/component-doc/core/example/dynamic-content.md +197 -0
- package/public/rjbuild/component-doc/core/example/dynamic-content.yaml +237 -0
- package/public/rjbuild/component-doc/core/example/html.md +66 -0
- package/public/rjbuild/component-doc/core/example/html.yaml +83 -0
- package/public/rjbuild/component-doc/core/example/website.yaml +1663 -0
- package/public/rjbuild/component-doc/core/reaction/addData.md +96 -0
- package/public/rjbuild/component-doc/core/reaction/addData.yaml +133 -0
- package/public/rjbuild/component-doc/core/reaction/fetchData.md +60 -0
- package/public/rjbuild/component-doc/core/reaction/fetchData.yaml +156 -0
- package/public/rjbuild/component-doc/core/reaction/index.md +236 -0
- package/public/rjbuild/component-doc/core/reaction/index.yaml +254 -0
- package/public/rjbuild/component-doc/core/reaction/moveData.md +68 -0
- package/public/rjbuild/component-doc/core/reaction/moveData.yaml +71 -0
- package/public/rjbuild/component-doc/core/reaction/postMessage.md +63 -0
- package/public/rjbuild/component-doc/core/reaction/postMessage.yaml +68 -0
- package/public/rjbuild/component-doc/core/reaction/redirectNow.md +37 -0
- package/public/rjbuild/component-doc/core/reaction/redirectNow.yaml +37 -0
- package/public/rjbuild/component-doc/core/reaction/removeData.md +78 -0
- package/public/rjbuild/component-doc/core/reaction/removeData.yaml +56 -0
- package/public/rjbuild/component-doc/core/reaction/setClipboardData.md +44 -0
- package/public/rjbuild/component-doc/core/reaction/setClipboardData.yaml +41 -0
- package/public/rjbuild/component-doc/core/reaction/setData.md +93 -0
- package/public/rjbuild/component-doc/core/reaction/setData.yaml +85 -0
- package/public/rjbuild/component-doc/core/reaction/submitData.md +138 -0
- package/public/rjbuild/component-doc/core/reaction/submitData.yaml +141 -0
- package/public/rjbuild/component-doc/core/reaction/triggerEvent.md +59 -0
- package/public/rjbuild/component-doc/core/reaction/triggerEvent.yaml +59 -0
- package/public/rjbuild/component-doc/index.yaml +13 -0
|
@@ -0,0 +1,1663 @@
|
|
|
1
|
+
renderView:
|
|
2
|
+
- type: div
|
|
3
|
+
attributes:
|
|
4
|
+
style:
|
|
5
|
+
minHeight: 100vh
|
|
6
|
+
display: flex
|
|
7
|
+
flexDirection: column
|
|
8
|
+
backgroundColor: "#faf7f0"
|
|
9
|
+
fontFamily: "'Crimson Text', 'Times New Roman', serif"
|
|
10
|
+
content:
|
|
11
|
+
# Header élégant avec logo centré
|
|
12
|
+
- type: header
|
|
13
|
+
attributes:
|
|
14
|
+
style:
|
|
15
|
+
background: "linear-gradient(135deg, #1a0f0a 0%, #2d1b14 50%, #3d2818 100%)"
|
|
16
|
+
color: "#f4ead5"
|
|
17
|
+
padding: 1.5rem 0
|
|
18
|
+
position: relative
|
|
19
|
+
boxShadow: "0 4px 20px rgba(45, 27, 20, 0.5), inset 0 1px 0 rgba(184, 134, 11, 0.3)"
|
|
20
|
+
borderBottom: "1px solid #b8860b"
|
|
21
|
+
content:
|
|
22
|
+
# Ornement décoratif supérieur
|
|
23
|
+
- type: div
|
|
24
|
+
attributes:
|
|
25
|
+
style:
|
|
26
|
+
position: absolute
|
|
27
|
+
top: 0
|
|
28
|
+
left: 0
|
|
29
|
+
right: 0
|
|
30
|
+
height: 4px
|
|
31
|
+
background: "linear-gradient(90deg, transparent 0%, #b8860b 20%, #d4af37 50%, #b8860b 80%, transparent 100%)"
|
|
32
|
+
|
|
33
|
+
# Motif décoratif de fond
|
|
34
|
+
- type: div
|
|
35
|
+
attributes:
|
|
36
|
+
style:
|
|
37
|
+
position: absolute
|
|
38
|
+
top: 0
|
|
39
|
+
left: 0
|
|
40
|
+
right: 0
|
|
41
|
+
bottom: 0
|
|
42
|
+
opacity: 0.05
|
|
43
|
+
backgroundImage: "radial-gradient(circle at 20% 50%, #b8860b 2px, transparent 2px), radial-gradient(circle at 80% 50%, #b8860b 1px, transparent 1px)"
|
|
44
|
+
backgroundSize: "60px 30px, 40px 20px"
|
|
45
|
+
|
|
46
|
+
- type: div
|
|
47
|
+
attributes:
|
|
48
|
+
style:
|
|
49
|
+
maxWidth: 1200px
|
|
50
|
+
margin: 0 auto
|
|
51
|
+
padding: 0 2rem
|
|
52
|
+
display: flex
|
|
53
|
+
justifyContent: space-between
|
|
54
|
+
alignItems: center
|
|
55
|
+
position: relative
|
|
56
|
+
zIndex: 2
|
|
57
|
+
content:
|
|
58
|
+
# Navigation gauche
|
|
59
|
+
- type: nav
|
|
60
|
+
attributes:
|
|
61
|
+
style:
|
|
62
|
+
display: flex
|
|
63
|
+
gap: 2.5rem
|
|
64
|
+
alignItems: center
|
|
65
|
+
content:
|
|
66
|
+
- type: a
|
|
67
|
+
attributes:
|
|
68
|
+
href: "#accueil"
|
|
69
|
+
style:
|
|
70
|
+
color: "#f4ead5"
|
|
71
|
+
textDecoration: none
|
|
72
|
+
fontWeight: 300
|
|
73
|
+
fontSize: 1.1rem
|
|
74
|
+
fontFamily: "'Crimson Text', serif"
|
|
75
|
+
letterSpacing: 1px
|
|
76
|
+
padding: 0.5rem 1rem
|
|
77
|
+
borderRadius: 3px
|
|
78
|
+
transition: "all 0.3s ease"
|
|
79
|
+
content: "Accueil"
|
|
80
|
+
|
|
81
|
+
- type: div
|
|
82
|
+
attributes:
|
|
83
|
+
style:
|
|
84
|
+
color: "#b8860b"
|
|
85
|
+
fontSize: 0.8rem
|
|
86
|
+
content: "❖"
|
|
87
|
+
|
|
88
|
+
- type: a
|
|
89
|
+
attributes:
|
|
90
|
+
href: "#services"
|
|
91
|
+
style:
|
|
92
|
+
color: "#f4ead5"
|
|
93
|
+
textDecoration: none
|
|
94
|
+
fontWeight: 300
|
|
95
|
+
fontSize: 1.1rem
|
|
96
|
+
fontFamily: "'Crimson Text', serif"
|
|
97
|
+
letterSpacing: 1px
|
|
98
|
+
padding: 0.5rem 1rem
|
|
99
|
+
borderRadius: 3px
|
|
100
|
+
transition: "all 0.3s ease"
|
|
101
|
+
content: "Collections"
|
|
102
|
+
|
|
103
|
+
# Logo central
|
|
104
|
+
- type: div
|
|
105
|
+
attributes:
|
|
106
|
+
style:
|
|
107
|
+
display: flex
|
|
108
|
+
flexDirection: column
|
|
109
|
+
alignItems: center
|
|
110
|
+
textAlign: center
|
|
111
|
+
content:
|
|
112
|
+
# Ornement supérieur
|
|
113
|
+
- type: div
|
|
114
|
+
attributes:
|
|
115
|
+
style:
|
|
116
|
+
fontSize: 0.6rem
|
|
117
|
+
color: "#b8860b"
|
|
118
|
+
marginBottom: 0.2rem
|
|
119
|
+
fontFamily: "'Crimson Text', serif"
|
|
120
|
+
letterSpacing: 2px
|
|
121
|
+
content: "◊ ◊ ◊"
|
|
122
|
+
|
|
123
|
+
# Titre principal
|
|
124
|
+
- type: h1
|
|
125
|
+
attributes:
|
|
126
|
+
style:
|
|
127
|
+
margin: 0
|
|
128
|
+
fontSize: 1.4rem
|
|
129
|
+
fontWeight: 300
|
|
130
|
+
fontFamily: "'Playfair Display', 'Times New Roman', serif"
|
|
131
|
+
color: "#f4ead5"
|
|
132
|
+
letterSpacing: 2px
|
|
133
|
+
textShadow: "2px 2px 4px rgba(0,0,0,0.5)"
|
|
134
|
+
lineHeight: 1
|
|
135
|
+
content: "Bibliothèque"
|
|
136
|
+
|
|
137
|
+
# Sous-titre doré
|
|
138
|
+
- type: div
|
|
139
|
+
attributes:
|
|
140
|
+
style:
|
|
141
|
+
fontSize: 0.8rem
|
|
142
|
+
color: "#b8860b"
|
|
143
|
+
fontFamily: "'Playfair Display', serif"
|
|
144
|
+
fontWeight: 400
|
|
145
|
+
letterSpacing: 3px
|
|
146
|
+
marginTop: 0.1rem
|
|
147
|
+
textShadow: "1px 1px 2px rgba(0,0,0,0.3)"
|
|
148
|
+
content: "DORÉE"
|
|
149
|
+
|
|
150
|
+
# Navigation droite
|
|
151
|
+
- type: nav
|
|
152
|
+
attributes:
|
|
153
|
+
style:
|
|
154
|
+
display: flex
|
|
155
|
+
gap: 2.5rem
|
|
156
|
+
alignItems: center
|
|
157
|
+
content:
|
|
158
|
+
- type: a
|
|
159
|
+
attributes:
|
|
160
|
+
href: "#about"
|
|
161
|
+
style:
|
|
162
|
+
color: "#f4ead5"
|
|
163
|
+
textDecoration: none
|
|
164
|
+
fontWeight: 300
|
|
165
|
+
fontSize: 1.1rem
|
|
166
|
+
fontFamily: "'Crimson Text', serif"
|
|
167
|
+
letterSpacing: 1px
|
|
168
|
+
padding: 0.5rem 1rem
|
|
169
|
+
borderRadius: 3px
|
|
170
|
+
transition: "all 0.3s ease"
|
|
171
|
+
content: "À Propos"
|
|
172
|
+
|
|
173
|
+
- type: div
|
|
174
|
+
attributes:
|
|
175
|
+
style:
|
|
176
|
+
color: "#b8860b"
|
|
177
|
+
fontSize: 0.8rem
|
|
178
|
+
content: "❖"
|
|
179
|
+
|
|
180
|
+
- type: a
|
|
181
|
+
attributes:
|
|
182
|
+
href: "#correspondance"
|
|
183
|
+
style:
|
|
184
|
+
color: "#f4ead5"
|
|
185
|
+
textDecoration: none
|
|
186
|
+
fontWeight: 300
|
|
187
|
+
fontSize: 1.1rem
|
|
188
|
+
fontFamily: "'Crimson Text', serif"
|
|
189
|
+
letterSpacing: 1px
|
|
190
|
+
padding: 0.5rem 1rem
|
|
191
|
+
borderRadius: 3px
|
|
192
|
+
transition: "all 0.3s ease"
|
|
193
|
+
content: "Correspondance"
|
|
194
|
+
|
|
195
|
+
# Corps principal élégant
|
|
196
|
+
- type: main
|
|
197
|
+
attributes:
|
|
198
|
+
style:
|
|
199
|
+
flex: 1
|
|
200
|
+
padding: 4rem 0 4rem 0
|
|
201
|
+
position: relative
|
|
202
|
+
zIndex: 1
|
|
203
|
+
content:
|
|
204
|
+
- type: div
|
|
205
|
+
attributes:
|
|
206
|
+
style:
|
|
207
|
+
maxWidth: 1000px
|
|
208
|
+
margin: 0 auto
|
|
209
|
+
padding: 0 2rem
|
|
210
|
+
content:
|
|
211
|
+
# Section héro littéraire avec vidéo
|
|
212
|
+
- type: section
|
|
213
|
+
attributes:
|
|
214
|
+
id: accueil
|
|
215
|
+
style:
|
|
216
|
+
textAlign: center
|
|
217
|
+
marginBottom: 6rem
|
|
218
|
+
position: relative
|
|
219
|
+
padding: 8rem 3rem
|
|
220
|
+
overflow: hidden
|
|
221
|
+
borderRadius: 20px
|
|
222
|
+
border: "4px solid #b8860b"
|
|
223
|
+
boxShadow: "0 12px 24px rgba(45, 27, 20, 0.4)"
|
|
224
|
+
content:
|
|
225
|
+
# Vidéo d'arrière-plan
|
|
226
|
+
- type: video
|
|
227
|
+
attributes:
|
|
228
|
+
autoPlay: true
|
|
229
|
+
muted: true
|
|
230
|
+
loop: true
|
|
231
|
+
playsInline: true
|
|
232
|
+
style:
|
|
233
|
+
position: absolute
|
|
234
|
+
top: 0
|
|
235
|
+
left: 0
|
|
236
|
+
width: 100%
|
|
237
|
+
height: 100%
|
|
238
|
+
objectFit: cover
|
|
239
|
+
zIndex: 1
|
|
240
|
+
content:
|
|
241
|
+
- type: source
|
|
242
|
+
attributes:
|
|
243
|
+
src: "https://archive.org/download/BigBuckBunny_124/Content/big_buck_bunny_720p_surround.mp4"
|
|
244
|
+
type: "video/mp4"
|
|
245
|
+
|
|
246
|
+
# Overlay littéraire
|
|
247
|
+
- type: div
|
|
248
|
+
attributes:
|
|
249
|
+
style:
|
|
250
|
+
position: absolute
|
|
251
|
+
top: 0
|
|
252
|
+
left: 0
|
|
253
|
+
width: 100%
|
|
254
|
+
height: 100%
|
|
255
|
+
background: "linear-gradient(135deg, rgba(45, 27, 20, 0.8), rgba(139, 69, 19, 0.7))"
|
|
256
|
+
zIndex: 2
|
|
257
|
+
|
|
258
|
+
# Contenu héro raffiné
|
|
259
|
+
- type: div
|
|
260
|
+
attributes:
|
|
261
|
+
style:
|
|
262
|
+
position: relative
|
|
263
|
+
zIndex: 3
|
|
264
|
+
color: "#f4ead5"
|
|
265
|
+
content:
|
|
266
|
+
- type: div
|
|
267
|
+
attributes:
|
|
268
|
+
style:
|
|
269
|
+
fontSize: 1.5rem
|
|
270
|
+
marginBottom: 1rem
|
|
271
|
+
color: "#b8860b"
|
|
272
|
+
fontStyle: italic
|
|
273
|
+
content: "« L'art de l'écriture »"
|
|
274
|
+
- type: h2
|
|
275
|
+
attributes:
|
|
276
|
+
style:
|
|
277
|
+
fontSize: 4rem
|
|
278
|
+
marginBottom: 1.5rem
|
|
279
|
+
color: "#f4ead5"
|
|
280
|
+
textShadow: "3px 3px 6px rgba(0,0,0,0.8)"
|
|
281
|
+
fontWeight: 300
|
|
282
|
+
fontFamily: "'Playfair Display', serif"
|
|
283
|
+
letterSpacing: 3px
|
|
284
|
+
lineHeight: 1.2
|
|
285
|
+
content: "Bibliothèque Dorée"
|
|
286
|
+
- type: p
|
|
287
|
+
attributes:
|
|
288
|
+
style:
|
|
289
|
+
fontSize: 1.3rem
|
|
290
|
+
color: "#f4ead5"
|
|
291
|
+
maxWidth: 600px
|
|
292
|
+
margin: 0 auto 2.5rem
|
|
293
|
+
lineHeight: 1.8
|
|
294
|
+
textShadow: "1px 1px 3px rgba(0,0,0,0.8)"
|
|
295
|
+
fontStyle: italic
|
|
296
|
+
content: "Découvrez un univers littéraire raffiné où chaque mot résonne comme une mélodie, où chaque page révèle les secrets de l'art d'écrire."
|
|
297
|
+
- type: button
|
|
298
|
+
attributes:
|
|
299
|
+
style:
|
|
300
|
+
backgroundColor: "rgba(184, 134, 11, 0.9)"
|
|
301
|
+
color: "#f4ead5"
|
|
302
|
+
border: "2px solid #b8860b"
|
|
303
|
+
padding: 1.5rem 3rem
|
|
304
|
+
fontSize: 1.1rem
|
|
305
|
+
borderRadius: 50px
|
|
306
|
+
cursor: pointer
|
|
307
|
+
fontWeight: 400
|
|
308
|
+
fontFamily: "'Crimson Text', serif"
|
|
309
|
+
letterSpacing: 1px
|
|
310
|
+
boxShadow: "0 6px 12px rgba(0,0,0,0.4)"
|
|
311
|
+
transition: "all 0.3s ease"
|
|
312
|
+
textTransform: uppercase
|
|
313
|
+
content: "Explorer nos Trésors"
|
|
314
|
+
|
|
315
|
+
# Section collections raffinée
|
|
316
|
+
- type: section
|
|
317
|
+
attributes:
|
|
318
|
+
id: services
|
|
319
|
+
style:
|
|
320
|
+
marginBottom: 6rem
|
|
321
|
+
backgroundColor: "rgba(244, 234, 213, 0.3)"
|
|
322
|
+
padding: 4rem 3rem
|
|
323
|
+
borderRadius: 15px
|
|
324
|
+
border: "1px solid rgba(184, 134, 11, 0.3)"
|
|
325
|
+
content:
|
|
326
|
+
- type: div
|
|
327
|
+
attributes:
|
|
328
|
+
style:
|
|
329
|
+
textAlign: center
|
|
330
|
+
marginBottom: 1rem
|
|
331
|
+
fontSize: 1rem
|
|
332
|
+
color: "#8b4513"
|
|
333
|
+
letterSpacing: 2px
|
|
334
|
+
textTransform: uppercase
|
|
335
|
+
content: "Nos Collections"
|
|
336
|
+
- type: h3
|
|
337
|
+
attributes:
|
|
338
|
+
style:
|
|
339
|
+
fontSize: 3rem
|
|
340
|
+
textAlign: center
|
|
341
|
+
marginBottom: 3rem
|
|
342
|
+
color: "#2d1b14"
|
|
343
|
+
fontFamily: "'Playfair Display', serif"
|
|
344
|
+
fontWeight: 300
|
|
345
|
+
letterSpacing: 2px
|
|
346
|
+
content: "Œuvres d'Exception"
|
|
347
|
+
- type: div
|
|
348
|
+
attributes:
|
|
349
|
+
style:
|
|
350
|
+
display: grid
|
|
351
|
+
gridTemplateColumns: repeat(auto-fit, minmax(320px, 1fr))
|
|
352
|
+
gap: 2.5rem
|
|
353
|
+
content:
|
|
354
|
+
# Utilisation du composant Switch pour itérer sur les services
|
|
355
|
+
- type: Switch
|
|
356
|
+
content: ~.services
|
|
357
|
+
singleOption:
|
|
358
|
+
load: service-card
|
|
359
|
+
|
|
360
|
+
# Section À Propos littéraire
|
|
361
|
+
- type: section
|
|
362
|
+
attributes:
|
|
363
|
+
id: about
|
|
364
|
+
style:
|
|
365
|
+
marginBottom: 6rem
|
|
366
|
+
padding: 5rem 3rem
|
|
367
|
+
background: "linear-gradient(135deg, rgba(45, 27, 20, 0.05) 0%, rgba(184, 134, 11, 0.1) 50%, rgba(45, 27, 20, 0.05) 100%)"
|
|
368
|
+
borderRadius: 20px
|
|
369
|
+
border: "2px solid rgba(184, 134, 11, 0.3)"
|
|
370
|
+
position: relative
|
|
371
|
+
overflow: hidden
|
|
372
|
+
content:
|
|
373
|
+
# Ornement décoratif
|
|
374
|
+
- type: div
|
|
375
|
+
attributes:
|
|
376
|
+
style:
|
|
377
|
+
position: absolute
|
|
378
|
+
top: -50px
|
|
379
|
+
right: -50px
|
|
380
|
+
width: 200px
|
|
381
|
+
height: 200px
|
|
382
|
+
background: "radial-gradient(circle, rgba(184, 134, 11, 0.1) 0%, transparent 70%)"
|
|
383
|
+
borderRadius: 50%
|
|
384
|
+
|
|
385
|
+
- type: div
|
|
386
|
+
attributes:
|
|
387
|
+
style:
|
|
388
|
+
position: relative
|
|
389
|
+
zIndex: 2
|
|
390
|
+
maxWidth: 800px
|
|
391
|
+
margin: 0 auto
|
|
392
|
+
textAlign: center
|
|
393
|
+
content:
|
|
394
|
+
# En-tête de section
|
|
395
|
+
- type: div
|
|
396
|
+
attributes:
|
|
397
|
+
style:
|
|
398
|
+
marginBottom: 1.5rem
|
|
399
|
+
fontSize: 1rem
|
|
400
|
+
color: "#8b4513"
|
|
401
|
+
letterSpacing: 3px
|
|
402
|
+
textTransform: uppercase
|
|
403
|
+
fontFamily: "'Crimson Text', serif"
|
|
404
|
+
content: "Notre Histoire"
|
|
405
|
+
|
|
406
|
+
- type: h3
|
|
407
|
+
attributes:
|
|
408
|
+
style:
|
|
409
|
+
fontSize: 3.5rem
|
|
410
|
+
marginBottom: 3rem
|
|
411
|
+
color: "#2d1b14"
|
|
412
|
+
fontFamily: "'Playfair Display', serif"
|
|
413
|
+
fontWeight: 300
|
|
414
|
+
letterSpacing: 2px
|
|
415
|
+
lineHeight: 1.2
|
|
416
|
+
content: "L'Art des Lettres"
|
|
417
|
+
|
|
418
|
+
# Contenu principal en deux colonnes
|
|
419
|
+
- type: div
|
|
420
|
+
attributes:
|
|
421
|
+
style:
|
|
422
|
+
display: grid
|
|
423
|
+
gridTemplateColumns: "1fr 1fr"
|
|
424
|
+
gap: 4rem
|
|
425
|
+
marginBottom: 3rem
|
|
426
|
+
textAlign: left
|
|
427
|
+
content:
|
|
428
|
+
# Première colonne
|
|
429
|
+
- type: div
|
|
430
|
+
content:
|
|
431
|
+
- type: p
|
|
432
|
+
attributes:
|
|
433
|
+
style:
|
|
434
|
+
fontSize: 1.2rem
|
|
435
|
+
lineHeight: 1.8
|
|
436
|
+
color: "#2d1b14"
|
|
437
|
+
marginBottom: 2rem
|
|
438
|
+
fontFamily: "'Crimson Text', serif"
|
|
439
|
+
fontStyle: italic
|
|
440
|
+
content: "Depuis les premiers manuscrits enluminés jusqu'aux éditions contemporaines les plus raffinées, la Bibliothèque Dorée perpétue une tradition millénaire de préservation et de transmission du savoir littéraire."
|
|
441
|
+
|
|
442
|
+
- type: p
|
|
443
|
+
attributes:
|
|
444
|
+
style:
|
|
445
|
+
fontSize: 1.1rem
|
|
446
|
+
lineHeight: 1.7
|
|
447
|
+
color: "#3d2818"
|
|
448
|
+
fontFamily: "'Crimson Text', serif"
|
|
449
|
+
content: "Notre collection, constituée au fil des siècles par des bibliophiles passionnés, rassemble des trésors uniques : manuscrits médiévaux, éditions princeps, reliures précieuses et correspondances d'auteurs illustres."
|
|
450
|
+
|
|
451
|
+
# Deuxième colonne
|
|
452
|
+
- type: div
|
|
453
|
+
content:
|
|
454
|
+
- type: p
|
|
455
|
+
attributes:
|
|
456
|
+
style:
|
|
457
|
+
fontSize: 1.1rem
|
|
458
|
+
lineHeight: 1.7
|
|
459
|
+
color: "#3d2818"
|
|
460
|
+
marginBottom: 2rem
|
|
461
|
+
fontFamily: "'Crimson Text', serif"
|
|
462
|
+
content: "Chaque ouvrage qui compose notre fonds témoigne d'un art consommé de l'écriture et de l'édition. Nos artisans relieurs perpétuent des techniques ancestrales, créant des écrins dignes des plus beaux textes."
|
|
463
|
+
|
|
464
|
+
- type: p
|
|
465
|
+
attributes:
|
|
466
|
+
style:
|
|
467
|
+
fontSize: 1.2rem
|
|
468
|
+
lineHeight: 1.8
|
|
469
|
+
color: "#2d1b14"
|
|
470
|
+
fontFamily: "'Crimson Text', serif"
|
|
471
|
+
fontStyle: italic
|
|
472
|
+
content: "« Dans chaque livre réside une âme, dans chaque page bat un cœur, dans chaque mot vibre l'éternité de la pensée humaine. »"
|
|
473
|
+
|
|
474
|
+
# Citation ornementée
|
|
475
|
+
- type: div
|
|
476
|
+
attributes:
|
|
477
|
+
style:
|
|
478
|
+
backgroundColor: "rgba(184, 134, 11, 0.1)"
|
|
479
|
+
padding: 2.5rem
|
|
480
|
+
borderRadius: 15px
|
|
481
|
+
border: "1px solid rgba(184, 134, 11, 0.3)"
|
|
482
|
+
marginBottom: 3rem
|
|
483
|
+
position: relative
|
|
484
|
+
content:
|
|
485
|
+
# Guillemets décoratifs
|
|
486
|
+
- type: div
|
|
487
|
+
attributes:
|
|
488
|
+
style:
|
|
489
|
+
position: absolute
|
|
490
|
+
top: -10px
|
|
491
|
+
left: 20px
|
|
492
|
+
fontSize: 4rem
|
|
493
|
+
color: "#b8860b"
|
|
494
|
+
fontFamily: "'Playfair Display', serif"
|
|
495
|
+
lineHeight: 1
|
|
496
|
+
opacity: 0.7
|
|
497
|
+
content: "\""
|
|
498
|
+
|
|
499
|
+
- type: blockquote
|
|
500
|
+
attributes:
|
|
501
|
+
style:
|
|
502
|
+
fontSize: 1.3rem
|
|
503
|
+
fontStyle: italic
|
|
504
|
+
color: "#2d1b14"
|
|
505
|
+
textAlign: center
|
|
506
|
+
margin: 0
|
|
507
|
+
fontFamily: "'Playfair Display', serif"
|
|
508
|
+
letterSpacing: 1px
|
|
509
|
+
lineHeight: 1.6
|
|
510
|
+
content: "La vraie bibliothèque n'est pas un simple dépôt de livres, mais un temple où l'esprit humain dialogue avec l'éternité."
|
|
511
|
+
|
|
512
|
+
- type: cite
|
|
513
|
+
attributes:
|
|
514
|
+
style:
|
|
515
|
+
display: block
|
|
516
|
+
marginTop: 1.5rem
|
|
517
|
+
fontSize: 1rem
|
|
518
|
+
color: "#8b4513"
|
|
519
|
+
fontFamily: "'Crimson Text', serif"
|
|
520
|
+
letterSpacing: 2px
|
|
521
|
+
textTransform: uppercase
|
|
522
|
+
content: "— Fondateur de la Bibliothèque, MDCCCXII"
|
|
523
|
+
|
|
524
|
+
# Statistiques élégantes
|
|
525
|
+
- type: div
|
|
526
|
+
attributes:
|
|
527
|
+
style:
|
|
528
|
+
display: grid
|
|
529
|
+
gridTemplateColumns: repeat(3, 1fr)
|
|
530
|
+
gap: 2rem
|
|
531
|
+
marginTop: 2rem
|
|
532
|
+
content:
|
|
533
|
+
- type: div
|
|
534
|
+
attributes:
|
|
535
|
+
style:
|
|
536
|
+
textAlign: center
|
|
537
|
+
padding: 1.5rem
|
|
538
|
+
content:
|
|
539
|
+
- type: div
|
|
540
|
+
attributes:
|
|
541
|
+
style:
|
|
542
|
+
fontSize: 2.5rem
|
|
543
|
+
fontWeight: bold
|
|
544
|
+
color: "#b8860b"
|
|
545
|
+
fontFamily: "'Playfair Display', serif"
|
|
546
|
+
marginBottom: 0.5rem
|
|
547
|
+
content: "12,847"
|
|
548
|
+
- type: div
|
|
549
|
+
attributes:
|
|
550
|
+
style:
|
|
551
|
+
fontSize: 0.9rem
|
|
552
|
+
color: "#8b4513"
|
|
553
|
+
letterSpacing: 1px
|
|
554
|
+
textTransform: uppercase
|
|
555
|
+
fontFamily: "'Crimson Text', serif"
|
|
556
|
+
content: "Manuscrits Précieux"
|
|
557
|
+
|
|
558
|
+
- type: div
|
|
559
|
+
attributes:
|
|
560
|
+
style:
|
|
561
|
+
textAlign: center
|
|
562
|
+
padding: 1.5rem
|
|
563
|
+
content:
|
|
564
|
+
- type: div
|
|
565
|
+
attributes:
|
|
566
|
+
style:
|
|
567
|
+
fontSize: 2.5rem
|
|
568
|
+
fontWeight: bold
|
|
569
|
+
color: "#b8860b"
|
|
570
|
+
fontFamily: "'Playfair Display', serif"
|
|
571
|
+
marginBottom: 0.5rem
|
|
572
|
+
content: "214"
|
|
573
|
+
- type: div
|
|
574
|
+
attributes:
|
|
575
|
+
style:
|
|
576
|
+
fontSize: 0.9rem
|
|
577
|
+
color: "#8b4513"
|
|
578
|
+
letterSpacing: 1px
|
|
579
|
+
textTransform: uppercase
|
|
580
|
+
fontFamily: "'Crimson Text', serif"
|
|
581
|
+
content: "Années d'Histoire"
|
|
582
|
+
|
|
583
|
+
- type: div
|
|
584
|
+
attributes:
|
|
585
|
+
style:
|
|
586
|
+
textAlign: center
|
|
587
|
+
padding: 1.5rem
|
|
588
|
+
content:
|
|
589
|
+
- type: div
|
|
590
|
+
attributes:
|
|
591
|
+
style:
|
|
592
|
+
fontSize: 2.5rem
|
|
593
|
+
fontWeight: bold
|
|
594
|
+
color: "#b8860b"
|
|
595
|
+
fontFamily: "'Playfair Display', serif"
|
|
596
|
+
marginBottom: 0.5rem
|
|
597
|
+
content: "∞"
|
|
598
|
+
- type: div
|
|
599
|
+
attributes:
|
|
600
|
+
style:
|
|
601
|
+
fontSize: 0.9rem
|
|
602
|
+
color: "#8b4513"
|
|
603
|
+
letterSpacing: 1px
|
|
604
|
+
textTransform: uppercase
|
|
605
|
+
fontFamily: "'Crimson Text', serif"
|
|
606
|
+
content: "Sagesse Préservée"
|
|
607
|
+
|
|
608
|
+
# Section Catalogue d'ouvrages
|
|
609
|
+
- type: section
|
|
610
|
+
attributes:
|
|
611
|
+
id: catalogue
|
|
612
|
+
style:
|
|
613
|
+
marginBottom: 6rem
|
|
614
|
+
padding: 5rem 3rem
|
|
615
|
+
background: "linear-gradient(135deg, rgba(184, 134, 11, 0.08) 0%, rgba(45, 27, 20, 0.05) 50%, rgba(184, 134, 11, 0.08) 100%)"
|
|
616
|
+
borderRadius: 20px
|
|
617
|
+
border: "2px solid rgba(184, 134, 11, 0.2)"
|
|
618
|
+
position: relative
|
|
619
|
+
content:
|
|
620
|
+
# Titre de section
|
|
621
|
+
- type: div
|
|
622
|
+
attributes:
|
|
623
|
+
style:
|
|
624
|
+
textAlign: center
|
|
625
|
+
marginBottom: 1rem
|
|
626
|
+
fontSize: 1rem
|
|
627
|
+
color: "#8b4513"
|
|
628
|
+
letterSpacing: 2px
|
|
629
|
+
textTransform: uppercase
|
|
630
|
+
content: "Catalogue Littéraire"
|
|
631
|
+
|
|
632
|
+
- type: h3
|
|
633
|
+
attributes:
|
|
634
|
+
style:
|
|
635
|
+
fontSize: 3rem
|
|
636
|
+
textAlign: center
|
|
637
|
+
marginBottom: 4rem
|
|
638
|
+
color: "#2d1b14"
|
|
639
|
+
fontFamily: "'Playfair Display', serif"
|
|
640
|
+
fontWeight: 300
|
|
641
|
+
letterSpacing: 2px
|
|
642
|
+
content: "Trésors Bibliographiques"
|
|
643
|
+
|
|
644
|
+
# Interface de filtrage
|
|
645
|
+
- type: div
|
|
646
|
+
attributes:
|
|
647
|
+
style:
|
|
648
|
+
backgroundColor: "rgba(255, 255, 255, 0.7)"
|
|
649
|
+
padding: 2rem
|
|
650
|
+
borderRadius: 15px
|
|
651
|
+
marginBottom: 3rem
|
|
652
|
+
border: "1px solid rgba(184, 134, 11, 0.3)"
|
|
653
|
+
boxShadow: "0 4px 8px rgba(45, 27, 20, 0.1)"
|
|
654
|
+
content:
|
|
655
|
+
- type: h4
|
|
656
|
+
attributes:
|
|
657
|
+
style:
|
|
658
|
+
fontSize: 1.4rem
|
|
659
|
+
marginBottom: 1.5rem
|
|
660
|
+
color: "#2d1b14"
|
|
661
|
+
fontFamily: "'Playfair Display', serif"
|
|
662
|
+
fontWeight: 400
|
|
663
|
+
letterSpacing: 1px
|
|
664
|
+
content: "Filtres de Recherche"
|
|
665
|
+
|
|
666
|
+
- type: div
|
|
667
|
+
attributes:
|
|
668
|
+
style:
|
|
669
|
+
display: grid
|
|
670
|
+
gridTemplateColumns: "1fr 1fr 1fr"
|
|
671
|
+
gap: 1.5rem
|
|
672
|
+
marginBottom: 1.5rem
|
|
673
|
+
content:
|
|
674
|
+
# Recherche textuelle
|
|
675
|
+
- type: TextField
|
|
676
|
+
dataLocation: ~.livre_filters.recherche
|
|
677
|
+
label: "Recherche :"
|
|
678
|
+
placeholder: "Titre, auteur, résumé..."
|
|
679
|
+
inputAttributes:
|
|
680
|
+
style:
|
|
681
|
+
fontFamily: "'Crimson Text', serif"
|
|
682
|
+
border: "2px solid rgba(184, 134, 11, 0.3)"
|
|
683
|
+
borderRadius: 8px
|
|
684
|
+
padding: 0.7rem
|
|
685
|
+
|
|
686
|
+
# Date de début
|
|
687
|
+
- type: TextField
|
|
688
|
+
dataLocation: ~.livre_filters.publie_apres
|
|
689
|
+
label: "Publié après :"
|
|
690
|
+
inputType: "date"
|
|
691
|
+
inputAttributes:
|
|
692
|
+
style:
|
|
693
|
+
fontFamily: "'Crimson Text', serif"
|
|
694
|
+
border: "2px solid rgba(184, 134, 11, 0.3)"
|
|
695
|
+
borderRadius: 8px
|
|
696
|
+
padding: 0.7rem
|
|
697
|
+
|
|
698
|
+
# Date de fin
|
|
699
|
+
- type: TextField
|
|
700
|
+
dataLocation: ~.livre_filters.publie_avant
|
|
701
|
+
label: "Publié avant :"
|
|
702
|
+
inputType: "date"
|
|
703
|
+
inputAttributes:
|
|
704
|
+
style:
|
|
705
|
+
fontFamily: "'Crimson Text', serif"
|
|
706
|
+
border: "2px solid rgba(184, 134, 11, 0.3)"
|
|
707
|
+
borderRadius: 8px
|
|
708
|
+
padding: 0.7rem
|
|
709
|
+
|
|
710
|
+
# Filtres par statut (checkboxes)
|
|
711
|
+
- type: div
|
|
712
|
+
content:
|
|
713
|
+
- type: div
|
|
714
|
+
attributes:
|
|
715
|
+
style:
|
|
716
|
+
fontSize: 1rem
|
|
717
|
+
marginBottom: 1rem
|
|
718
|
+
color: "#8b4513"
|
|
719
|
+
fontFamily: "'Crimson Text', serif"
|
|
720
|
+
fontWeight: 500
|
|
721
|
+
content: "Statut de publication :"
|
|
722
|
+
|
|
723
|
+
- type: div
|
|
724
|
+
attributes:
|
|
725
|
+
style:
|
|
726
|
+
display: flex
|
|
727
|
+
gap: 2rem
|
|
728
|
+
flexWrap: wrap
|
|
729
|
+
content:
|
|
730
|
+
- type: CheckBoxField
|
|
731
|
+
dataLocation: ~.livre_filters.statuts.precommande
|
|
732
|
+
options:
|
|
733
|
+
- value: true
|
|
734
|
+
label: "Précommande"
|
|
735
|
+
attributes:
|
|
736
|
+
style:
|
|
737
|
+
fontFamily: "'Crimson Text', serif"
|
|
738
|
+
|
|
739
|
+
- type: CheckBoxField
|
|
740
|
+
dataLocation: ~.livre_filters.statuts.disponible
|
|
741
|
+
options:
|
|
742
|
+
- value: true
|
|
743
|
+
label: "Disponible"
|
|
744
|
+
attributes:
|
|
745
|
+
style:
|
|
746
|
+
fontFamily: "'Crimson Text', serif"
|
|
747
|
+
|
|
748
|
+
- type: CheckBoxField
|
|
749
|
+
dataLocation: ~.livre_filters.statuts.fin_commercialisation
|
|
750
|
+
options:
|
|
751
|
+
- value: true
|
|
752
|
+
label: "Fin de commercialisation"
|
|
753
|
+
attributes:
|
|
754
|
+
style:
|
|
755
|
+
fontFamily: "'Crimson Text', serif"
|
|
756
|
+
|
|
757
|
+
# Liste filtrée des ouvrages
|
|
758
|
+
- type: DataFilter
|
|
759
|
+
context: global
|
|
760
|
+
filters:
|
|
761
|
+
- subjectsWithProperty: ouvrage
|
|
762
|
+
andConditions:
|
|
763
|
+
# Filtre recherche textuelle
|
|
764
|
+
- orConditions:
|
|
765
|
+
- when: ~.livre_filters.recherche
|
|
766
|
+
isEmpty: true
|
|
767
|
+
- whenFilterableData: ouvrage.contenu_recherchable
|
|
768
|
+
contains: ~.livre_filters.recherche
|
|
769
|
+
|
|
770
|
+
# Filtre date après
|
|
771
|
+
- orConditions:
|
|
772
|
+
- when: ~.livre_filters.publie_apres
|
|
773
|
+
isEmpty: true
|
|
774
|
+
- whenFilterableData: ouvrage.date_publication
|
|
775
|
+
">=": ~.livre_filters.publie_apres
|
|
776
|
+
compareAsDates: true
|
|
777
|
+
|
|
778
|
+
# Filtre date avant
|
|
779
|
+
- orConditions:
|
|
780
|
+
- when: ~.livre_filters.publie_avant
|
|
781
|
+
isEmpty: true
|
|
782
|
+
- whenFilterableData: ouvrage.date_publication
|
|
783
|
+
"<=": ~.livre_filters.publie_avant
|
|
784
|
+
compareAsDates: true
|
|
785
|
+
|
|
786
|
+
# Filtre statuts (logique OR entre les statuts cochés)
|
|
787
|
+
- orConditions:
|
|
788
|
+
# Si aucun statut n'est coché, on affiche tout
|
|
789
|
+
- andConditions:
|
|
790
|
+
- when: ~.livre_filters.statuts.precommande
|
|
791
|
+
isNot: true
|
|
792
|
+
- when: ~.livre_filters.statuts.disponible
|
|
793
|
+
isNot: true
|
|
794
|
+
- when: ~.livre_filters.statuts.fin_commercialisation
|
|
795
|
+
isNot: true
|
|
796
|
+
|
|
797
|
+
# Si précommande est coché
|
|
798
|
+
- andConditions:
|
|
799
|
+
- when: ~.livre_filters.statuts.precommande
|
|
800
|
+
is: true
|
|
801
|
+
- whenFilterableData: ouvrage.statut
|
|
802
|
+
is: "precommande"
|
|
803
|
+
|
|
804
|
+
# Si disponible est coché
|
|
805
|
+
- andConditions:
|
|
806
|
+
- when: ~.livre_filters.statuts.disponible
|
|
807
|
+
is: true
|
|
808
|
+
- whenFilterableData: ouvrage.statut
|
|
809
|
+
is: "disponible"
|
|
810
|
+
|
|
811
|
+
# Si fin de commercialisation est coché
|
|
812
|
+
- andConditions:
|
|
813
|
+
- when: ~.livre_filters.statuts.fin_commercialisation
|
|
814
|
+
is: true
|
|
815
|
+
- whenFilterableData: ouvrage.statut
|
|
816
|
+
is: "fin_commercialisation"
|
|
817
|
+
|
|
818
|
+
content:
|
|
819
|
+
- type: Switch
|
|
820
|
+
contentWrapper:
|
|
821
|
+
tag: section
|
|
822
|
+
attributes:
|
|
823
|
+
style:
|
|
824
|
+
display: grid
|
|
825
|
+
gridTemplateColumns: "repeat(auto-fill, minmax(350px, 1fr))"
|
|
826
|
+
gap: 2rem
|
|
827
|
+
content: ~~.ouvrages
|
|
828
|
+
singleOption:
|
|
829
|
+
load: carte-ouvrage
|
|
830
|
+
paginated: true
|
|
831
|
+
paginationProps:
|
|
832
|
+
pageMaxItemCount: 4
|
|
833
|
+
maxPageButtonsCount: 5
|
|
834
|
+
after:
|
|
835
|
+
type: div
|
|
836
|
+
attributes:
|
|
837
|
+
style:
|
|
838
|
+
display: flex
|
|
839
|
+
justifyContent: center
|
|
840
|
+
marginTop: 2rem
|
|
841
|
+
padding: 1rem
|
|
842
|
+
backgroundColor: "rgba(255, 255, 255, 0.5)"
|
|
843
|
+
borderRadius: 10px
|
|
844
|
+
border: "1px solid rgba(184, 134, 11, 0.2)"
|
|
845
|
+
content:
|
|
846
|
+
type: PageControls
|
|
847
|
+
# Footer élégant
|
|
848
|
+
- type: footer
|
|
849
|
+
attributes:
|
|
850
|
+
id: correspondance
|
|
851
|
+
style:
|
|
852
|
+
backgroundColor: "#2d1b14"
|
|
853
|
+
color: "#f4ead5"
|
|
854
|
+
padding: 3rem 0
|
|
855
|
+
marginTop: auto
|
|
856
|
+
borderTop: "3px solid #b8860b"
|
|
857
|
+
content:
|
|
858
|
+
- type: div
|
|
859
|
+
attributes:
|
|
860
|
+
style:
|
|
861
|
+
maxWidth: 1000px
|
|
862
|
+
margin: 0 auto
|
|
863
|
+
padding: 0 2rem
|
|
864
|
+
textAlign: center
|
|
865
|
+
content:
|
|
866
|
+
- type: div
|
|
867
|
+
attributes:
|
|
868
|
+
style:
|
|
869
|
+
marginBottom: 2rem
|
|
870
|
+
content:
|
|
871
|
+
- type: h4
|
|
872
|
+
attributes:
|
|
873
|
+
style:
|
|
874
|
+
marginBottom: 1.5rem
|
|
875
|
+
fontSize: 1.8rem
|
|
876
|
+
fontFamily: "'Playfair Display', serif"
|
|
877
|
+
color: "#b8860b"
|
|
878
|
+
letterSpacing: 1px
|
|
879
|
+
content: "Correspondance"
|
|
880
|
+
- type: p
|
|
881
|
+
attributes:
|
|
882
|
+
style:
|
|
883
|
+
margin: 0.8rem 0
|
|
884
|
+
fontSize: 1.1rem
|
|
885
|
+
fontFamily: "'Crimson Text', serif"
|
|
886
|
+
content: "Missive : contact@bibliotheque-doree.fr"
|
|
887
|
+
- type: p
|
|
888
|
+
attributes:
|
|
889
|
+
style:
|
|
890
|
+
margin: 0.8rem 0
|
|
891
|
+
fontSize: 1.1rem
|
|
892
|
+
fontFamily: "'Crimson Text', serif"
|
|
893
|
+
content: "Télégraphe : 01 23 45 67 89"
|
|
894
|
+
|
|
895
|
+
# Bouton pour ouvrir le modal de contact
|
|
896
|
+
- type: button
|
|
897
|
+
attributes:
|
|
898
|
+
style:
|
|
899
|
+
backgroundColor: "#b8860b"
|
|
900
|
+
color: "#f4ead5"
|
|
901
|
+
border: "2px solid #d4af37"
|
|
902
|
+
padding: 1rem 2.5rem
|
|
903
|
+
fontSize: 1.1rem
|
|
904
|
+
borderRadius: 50px
|
|
905
|
+
cursor: pointer
|
|
906
|
+
fontWeight: 400
|
|
907
|
+
fontFamily: "'Crimson Text', serif"
|
|
908
|
+
letterSpacing: 1px
|
|
909
|
+
marginTop: 1.5rem
|
|
910
|
+
boxShadow: "0 4px 8px rgba(0,0,0,0.3)"
|
|
911
|
+
transition: "all 0.3s ease"
|
|
912
|
+
actions:
|
|
913
|
+
- what: setData
|
|
914
|
+
on: click
|
|
915
|
+
path: ~.show_contact_modal
|
|
916
|
+
value: true
|
|
917
|
+
when: ~.message_sent
|
|
918
|
+
isEmpty: true
|
|
919
|
+
- what: setData
|
|
920
|
+
on: click
|
|
921
|
+
path: ~.contact_form_step
|
|
922
|
+
value: 1
|
|
923
|
+
when: ~.message_sent
|
|
924
|
+
isEmpty: true
|
|
925
|
+
- what: hide
|
|
926
|
+
when: ~.message_sent
|
|
927
|
+
is: true
|
|
928
|
+
content: "Contactez-nous"
|
|
929
|
+
|
|
930
|
+
# Message de confirmation après envoi
|
|
931
|
+
- type: div
|
|
932
|
+
attributes:
|
|
933
|
+
style:
|
|
934
|
+
marginTop: 2.5rem
|
|
935
|
+
padding: 1rem 1.5rem
|
|
936
|
+
backgroundColor: "rgba(184, 134, 11, 0.1)"
|
|
937
|
+
border: "1px solid rgba(184, 134, 11, 0.3)"
|
|
938
|
+
borderRadius: 8px
|
|
939
|
+
textAlign: center
|
|
940
|
+
fontFamily: "'Crimson Text', serif"
|
|
941
|
+
fontSize: 1rem
|
|
942
|
+
color: "#8b4513"
|
|
943
|
+
fontStyle: italic
|
|
944
|
+
actions:
|
|
945
|
+
- what: hide
|
|
946
|
+
when: ~.message_sent
|
|
947
|
+
isEmpty: true
|
|
948
|
+
content: "✉️ Merci pour votre envoi, nous allons regarder bientôt votre missive avec attention."
|
|
949
|
+
|
|
950
|
+
- type: div
|
|
951
|
+
attributes:
|
|
952
|
+
style:
|
|
953
|
+
borderTop: "1px solid rgba(184, 134, 11, 0.5)"
|
|
954
|
+
marginTop: 3rem
|
|
955
|
+
paddingTop: 2rem
|
|
956
|
+
fontSize: 0.95rem
|
|
957
|
+
color: "rgba(244, 234, 213, 0.8)"
|
|
958
|
+
fontStyle: italic
|
|
959
|
+
content: "© MMXXIV Bibliothèque Dorée • Tous droits réservés avec déférence"
|
|
960
|
+
|
|
961
|
+
# Modal de contact
|
|
962
|
+
- type: Modal
|
|
963
|
+
showBoolPath: ~.show_contact_modal
|
|
964
|
+
closeButton: true
|
|
965
|
+
headerTitle:
|
|
966
|
+
type: div
|
|
967
|
+
attributes:
|
|
968
|
+
style:
|
|
969
|
+
textAlign: center
|
|
970
|
+
color: "#2d1b14"
|
|
971
|
+
fontFamily: "'Playfair Display', serif"
|
|
972
|
+
fontSize: 1.8rem
|
|
973
|
+
fontWeight: 300
|
|
974
|
+
letterSpacing: 1px
|
|
975
|
+
content: "Correspondance Distinguée"
|
|
976
|
+
body:
|
|
977
|
+
type: div
|
|
978
|
+
attributes:
|
|
979
|
+
style:
|
|
980
|
+
padding: 2rem
|
|
981
|
+
fontFamily: "'Crimson Text', serif"
|
|
982
|
+
content:
|
|
983
|
+
- type: div
|
|
984
|
+
attributes:
|
|
985
|
+
style:
|
|
986
|
+
marginBottom: 2rem
|
|
987
|
+
textAlign: center
|
|
988
|
+
color: "#8b4513"
|
|
989
|
+
fontStyle: italic
|
|
990
|
+
content: "Adressez-nous votre missive avec déférence"
|
|
991
|
+
|
|
992
|
+
# Indicateur d'étape
|
|
993
|
+
- type: div
|
|
994
|
+
attributes:
|
|
995
|
+
style:
|
|
996
|
+
display: flex
|
|
997
|
+
justifyContent: center
|
|
998
|
+
alignItems: center
|
|
999
|
+
marginBottom: 2rem
|
|
1000
|
+
gap: 1rem
|
|
1001
|
+
content:
|
|
1002
|
+
- type: div
|
|
1003
|
+
attributes:
|
|
1004
|
+
style:
|
|
1005
|
+
display: flex
|
|
1006
|
+
alignItems: center
|
|
1007
|
+
gap: 0.5rem
|
|
1008
|
+
padding: 0.5rem 1rem
|
|
1009
|
+
borderRadius: 20px
|
|
1010
|
+
backgroundColor: "#b8860b"
|
|
1011
|
+
color: "#f4ead5"
|
|
1012
|
+
fontSize: 0.9rem
|
|
1013
|
+
fontFamily: "'Crimson Text', serif"
|
|
1014
|
+
fontWeight: 500
|
|
1015
|
+
actions:
|
|
1016
|
+
- what: hide
|
|
1017
|
+
when: ~.contact_form_step
|
|
1018
|
+
is: 2
|
|
1019
|
+
content:
|
|
1020
|
+
- "1"
|
|
1021
|
+
- type: span
|
|
1022
|
+
attributes:
|
|
1023
|
+
style:
|
|
1024
|
+
marginLeft: 0.5rem
|
|
1025
|
+
content: "Informations"
|
|
1026
|
+
|
|
1027
|
+
- type: div
|
|
1028
|
+
attributes:
|
|
1029
|
+
style:
|
|
1030
|
+
display: flex
|
|
1031
|
+
alignItems: center
|
|
1032
|
+
gap: 0.5rem
|
|
1033
|
+
padding: 0.5rem 1rem
|
|
1034
|
+
borderRadius: 20px
|
|
1035
|
+
backgroundColor: "rgba(184, 134, 11, 0.3)"
|
|
1036
|
+
color: "#8b4513"
|
|
1037
|
+
fontSize: 0.9rem
|
|
1038
|
+
fontFamily: "'Crimson Text', serif"
|
|
1039
|
+
fontWeight: 500
|
|
1040
|
+
actions:
|
|
1041
|
+
- what: hide
|
|
1042
|
+
when: ~.contact_form_step
|
|
1043
|
+
is: 1
|
|
1044
|
+
content:
|
|
1045
|
+
- "1"
|
|
1046
|
+
- type: span
|
|
1047
|
+
attributes:
|
|
1048
|
+
style:
|
|
1049
|
+
marginLeft: 0.5rem
|
|
1050
|
+
content: "Informations ✓"
|
|
1051
|
+
|
|
1052
|
+
- type: div
|
|
1053
|
+
attributes:
|
|
1054
|
+
style:
|
|
1055
|
+
fontSize: 1.5rem
|
|
1056
|
+
color: "#b8860b"
|
|
1057
|
+
content: "→"
|
|
1058
|
+
|
|
1059
|
+
- type: div
|
|
1060
|
+
attributes:
|
|
1061
|
+
style:
|
|
1062
|
+
display: flex
|
|
1063
|
+
alignItems: center
|
|
1064
|
+
gap: 0.5rem
|
|
1065
|
+
padding: 0.5rem 1rem
|
|
1066
|
+
borderRadius: 20px
|
|
1067
|
+
backgroundColor: "rgba(184, 134, 11, 0.3)"
|
|
1068
|
+
color: "#8b4513"
|
|
1069
|
+
fontSize: 0.9rem
|
|
1070
|
+
fontFamily: "'Crimson Text', serif"
|
|
1071
|
+
fontWeight: 500
|
|
1072
|
+
actions:
|
|
1073
|
+
- what: hide
|
|
1074
|
+
when: ~.contact_form_step
|
|
1075
|
+
is: 2
|
|
1076
|
+
content:
|
|
1077
|
+
- "2"
|
|
1078
|
+
- type: span
|
|
1079
|
+
attributes:
|
|
1080
|
+
style:
|
|
1081
|
+
marginLeft: 0.5rem
|
|
1082
|
+
content: "Message"
|
|
1083
|
+
|
|
1084
|
+
- type: div
|
|
1085
|
+
attributes:
|
|
1086
|
+
style:
|
|
1087
|
+
display: flex
|
|
1088
|
+
alignItems: center
|
|
1089
|
+
gap: 0.5rem
|
|
1090
|
+
padding: 0.5rem 1rem
|
|
1091
|
+
borderRadius: 20px
|
|
1092
|
+
backgroundColor: "#b8860b"
|
|
1093
|
+
color: "#f4ead5"
|
|
1094
|
+
fontSize: 0.9rem
|
|
1095
|
+
fontFamily: "'Crimson Text', serif"
|
|
1096
|
+
fontWeight: 500
|
|
1097
|
+
actions:
|
|
1098
|
+
- what: hide
|
|
1099
|
+
when: ~.contact_form_step
|
|
1100
|
+
is: 1
|
|
1101
|
+
content:
|
|
1102
|
+
- "2"
|
|
1103
|
+
- type: span
|
|
1104
|
+
attributes:
|
|
1105
|
+
style:
|
|
1106
|
+
marginLeft: 0.5rem
|
|
1107
|
+
content: "Message"
|
|
1108
|
+
|
|
1109
|
+
# Formulaire de contact multistep
|
|
1110
|
+
- type: div
|
|
1111
|
+
attributes:
|
|
1112
|
+
style:
|
|
1113
|
+
maxWidth: 500px
|
|
1114
|
+
margin: 0 auto
|
|
1115
|
+
content:
|
|
1116
|
+
# ÉTAPE 1 : Informations personnelles
|
|
1117
|
+
- type: div
|
|
1118
|
+
attributes:
|
|
1119
|
+
style:
|
|
1120
|
+
display: block
|
|
1121
|
+
actions:
|
|
1122
|
+
- what: hide
|
|
1123
|
+
when: ~.contact_form_step
|
|
1124
|
+
is: 2
|
|
1125
|
+
content:
|
|
1126
|
+
- type: TextField
|
|
1127
|
+
dataLocation: ~.contact_form.nom
|
|
1128
|
+
label: "Nom & Titre :"
|
|
1129
|
+
placeholder: "Monsieur le Comte de..."
|
|
1130
|
+
inputAttributes:
|
|
1131
|
+
style:
|
|
1132
|
+
fontFamily: "'Crimson Text', serif"
|
|
1133
|
+
border: "2px solid rgba(184, 134, 11, 0.3)"
|
|
1134
|
+
borderRadius: 8px
|
|
1135
|
+
padding: 0.8rem
|
|
1136
|
+
|
|
1137
|
+
- type: TextField
|
|
1138
|
+
dataLocation: ~.contact_form.email
|
|
1139
|
+
label: "Missive électronique :"
|
|
1140
|
+
placeholder: "votre.missive@domaine.fr"
|
|
1141
|
+
inputType: "email"
|
|
1142
|
+
inputAttributes:
|
|
1143
|
+
style:
|
|
1144
|
+
fontFamily: "'Crimson Text', serif"
|
|
1145
|
+
border: "2px solid rgba(184, 134, 11, 0.3)"
|
|
1146
|
+
borderRadius: 8px
|
|
1147
|
+
padding: 0.8rem
|
|
1148
|
+
|
|
1149
|
+
- type: SelectField
|
|
1150
|
+
dataLocation: ~.contact_form.sujet
|
|
1151
|
+
label: "Objet de la correspondance :"
|
|
1152
|
+
options:
|
|
1153
|
+
- label: "Veuillez choisir l'objet de votre missive..."
|
|
1154
|
+
value: ""
|
|
1155
|
+
- label: "Consultation littéraire & expertise"
|
|
1156
|
+
value: "consultation"
|
|
1157
|
+
- label: "Acquisition d'ouvrages précieux"
|
|
1158
|
+
value: "acquisition"
|
|
1159
|
+
- label: "Restauration de manuscrits"
|
|
1160
|
+
value: "restauration"
|
|
1161
|
+
- label: "Reliure d'exception"
|
|
1162
|
+
value: "reliure"
|
|
1163
|
+
- label: "Évaluation & estimation"
|
|
1164
|
+
value: "evaluation"
|
|
1165
|
+
- label: "Donation & legs littéraires"
|
|
1166
|
+
value: "donation"
|
|
1167
|
+
- label: "Visite privée de la bibliothèque"
|
|
1168
|
+
value: "visite"
|
|
1169
|
+
- label: "Autre correspondance"
|
|
1170
|
+
value: "autre"
|
|
1171
|
+
inputAttributes:
|
|
1172
|
+
style:
|
|
1173
|
+
fontFamily: "'Crimson Text', serif"
|
|
1174
|
+
border: "2px solid rgba(184, 134, 11, 0.3)"
|
|
1175
|
+
borderRadius: 8px
|
|
1176
|
+
padding: 0.8rem
|
|
1177
|
+
|
|
1178
|
+
# ÉTAPE 2 : Message
|
|
1179
|
+
- type: div
|
|
1180
|
+
attributes:
|
|
1181
|
+
style:
|
|
1182
|
+
display: block
|
|
1183
|
+
actions:
|
|
1184
|
+
- what: hide
|
|
1185
|
+
when: ~.contact_form_step
|
|
1186
|
+
is: 1
|
|
1187
|
+
content:
|
|
1188
|
+
- type: TextAreaField
|
|
1189
|
+
dataLocation: ~.contact_form.message
|
|
1190
|
+
label: "Votre message :"
|
|
1191
|
+
placeholder: "Honoré Bibliothécaire,\n\nJ'ai l'honneur de vous écrire concernant..."
|
|
1192
|
+
rows: 8
|
|
1193
|
+
inputAttributes:
|
|
1194
|
+
style:
|
|
1195
|
+
fontFamily: "'Crimson Text', serif"
|
|
1196
|
+
border: "2px solid rgba(184, 134, 11, 0.3)"
|
|
1197
|
+
borderRadius: 8px
|
|
1198
|
+
padding: 0.8rem
|
|
1199
|
+
resize: "vertical"
|
|
1200
|
+
|
|
1201
|
+
# Boutons de navigation - ÉTAPE 1
|
|
1202
|
+
- type: div
|
|
1203
|
+
attributes:
|
|
1204
|
+
style:
|
|
1205
|
+
display: flex
|
|
1206
|
+
justifyContent: space-between
|
|
1207
|
+
marginTop: 2rem
|
|
1208
|
+
gap: 1rem
|
|
1209
|
+
actions:
|
|
1210
|
+
- what: hide
|
|
1211
|
+
when: ~.contact_form_step
|
|
1212
|
+
is: 2
|
|
1213
|
+
content:
|
|
1214
|
+
- type: button
|
|
1215
|
+
attributes:
|
|
1216
|
+
style:
|
|
1217
|
+
backgroundColor: "transparent"
|
|
1218
|
+
color: "#8b4513"
|
|
1219
|
+
border: "2px solid #8b4513"
|
|
1220
|
+
padding: 0.8rem 2rem
|
|
1221
|
+
borderRadius: 25px
|
|
1222
|
+
cursor: pointer
|
|
1223
|
+
fontFamily: "'Crimson Text', serif"
|
|
1224
|
+
fontSize: 1rem
|
|
1225
|
+
transition: "all 0.3s ease"
|
|
1226
|
+
actions:
|
|
1227
|
+
- what: setData
|
|
1228
|
+
on: click
|
|
1229
|
+
path: ~.show_contact_modal
|
|
1230
|
+
value: false
|
|
1231
|
+
- what: setData
|
|
1232
|
+
on: click
|
|
1233
|
+
path: ~.contact_form_step
|
|
1234
|
+
value: 1
|
|
1235
|
+
content: "Annuler"
|
|
1236
|
+
|
|
1237
|
+
# Bouton Suivant désactivé si champs étape 1 vides
|
|
1238
|
+
- type: button
|
|
1239
|
+
attributes:
|
|
1240
|
+
style:
|
|
1241
|
+
backgroundColor: "#8b7355"
|
|
1242
|
+
color: "#d3c7b8"
|
|
1243
|
+
border: "2px solid #8b7355"
|
|
1244
|
+
padding: 0.8rem 2rem
|
|
1245
|
+
borderRadius: 25px
|
|
1246
|
+
cursor: "not-allowed"
|
|
1247
|
+
fontFamily: "'Crimson Text', serif"
|
|
1248
|
+
fontSize: 1rem
|
|
1249
|
+
transition: "all 0.3s ease"
|
|
1250
|
+
opacity: 0.6
|
|
1251
|
+
actions:
|
|
1252
|
+
- what: hide
|
|
1253
|
+
andConditions:
|
|
1254
|
+
- when: ~.contact_form.nom
|
|
1255
|
+
isEmpty: "not"
|
|
1256
|
+
- when: ~.contact_form.email
|
|
1257
|
+
isEmpty: "not"
|
|
1258
|
+
- when: ~.contact_form.sujet
|
|
1259
|
+
isEmpty: "not"
|
|
1260
|
+
content: "Complétez tous les champs"
|
|
1261
|
+
|
|
1262
|
+
# Bouton Suivant actif
|
|
1263
|
+
- type: button
|
|
1264
|
+
attributes:
|
|
1265
|
+
style:
|
|
1266
|
+
backgroundColor: "#b8860b"
|
|
1267
|
+
color: "#f4ead5"
|
|
1268
|
+
border: "2px solid #b8860b"
|
|
1269
|
+
padding: 0.8rem 2rem
|
|
1270
|
+
borderRadius: 25px
|
|
1271
|
+
cursor: pointer
|
|
1272
|
+
fontFamily: "'Crimson Text', serif"
|
|
1273
|
+
fontSize: 1rem
|
|
1274
|
+
boxShadow: "0 4px 8px rgba(0,0,0,0.2)"
|
|
1275
|
+
transition: "all 0.3s ease"
|
|
1276
|
+
actions:
|
|
1277
|
+
- what: hide
|
|
1278
|
+
when: ~.contact_form.nom
|
|
1279
|
+
isEmpty: true
|
|
1280
|
+
- what: hide
|
|
1281
|
+
when: ~.contact_form.email
|
|
1282
|
+
isEmpty: true
|
|
1283
|
+
- what: hide
|
|
1284
|
+
when: ~.contact_form.sujet
|
|
1285
|
+
isEmpty: true
|
|
1286
|
+
- what: setData
|
|
1287
|
+
on: click
|
|
1288
|
+
path: ~.contact_form_step
|
|
1289
|
+
value: 2
|
|
1290
|
+
andConditions:
|
|
1291
|
+
- when: ~.contact_form.nom
|
|
1292
|
+
isEmpty: "not"
|
|
1293
|
+
- when: ~.contact_form.email
|
|
1294
|
+
isEmpty: "not"
|
|
1295
|
+
- when: ~.contact_form.sujet
|
|
1296
|
+
isEmpty: "not"
|
|
1297
|
+
content: "Suivant →"
|
|
1298
|
+
|
|
1299
|
+
# Boutons de navigation - ÉTAPE 2
|
|
1300
|
+
- type: div
|
|
1301
|
+
attributes:
|
|
1302
|
+
style:
|
|
1303
|
+
display: flex
|
|
1304
|
+
justifyContent: space-between
|
|
1305
|
+
marginTop: 2rem
|
|
1306
|
+
gap: 1rem
|
|
1307
|
+
actions:
|
|
1308
|
+
- what: hide
|
|
1309
|
+
when: ~.contact_form_step
|
|
1310
|
+
is: 1
|
|
1311
|
+
content:
|
|
1312
|
+
- type: button
|
|
1313
|
+
attributes:
|
|
1314
|
+
style:
|
|
1315
|
+
backgroundColor: "transparent"
|
|
1316
|
+
color: "#8b4513"
|
|
1317
|
+
border: "2px solid #8b4513"
|
|
1318
|
+
padding: 0.8rem 2rem
|
|
1319
|
+
borderRadius: 25px
|
|
1320
|
+
cursor: pointer
|
|
1321
|
+
fontFamily: "'Crimson Text', serif"
|
|
1322
|
+
fontSize: 1rem
|
|
1323
|
+
transition: "all 0.3s ease"
|
|
1324
|
+
actions:
|
|
1325
|
+
- what: setData
|
|
1326
|
+
on: click
|
|
1327
|
+
path: ~.contact_form_step
|
|
1328
|
+
value: 1
|
|
1329
|
+
content: "← Précédent"
|
|
1330
|
+
|
|
1331
|
+
# Bouton Envoyer désactivé si message vide
|
|
1332
|
+
- type: button
|
|
1333
|
+
attributes:
|
|
1334
|
+
style:
|
|
1335
|
+
backgroundColor: "#8b7355"
|
|
1336
|
+
color: "#d3c7b8"
|
|
1337
|
+
border: "2px solid #8b7355"
|
|
1338
|
+
padding: 0.8rem 2rem
|
|
1339
|
+
borderRadius: 25px
|
|
1340
|
+
cursor: "not-allowed"
|
|
1341
|
+
fontFamily: "'Crimson Text', serif"
|
|
1342
|
+
fontSize: 1rem
|
|
1343
|
+
transition: "all 0.3s ease"
|
|
1344
|
+
opacity: 0.6
|
|
1345
|
+
actions:
|
|
1346
|
+
- what: hide
|
|
1347
|
+
when: ~.contact_form.message
|
|
1348
|
+
isEmpty: "not"
|
|
1349
|
+
content: "Veuillez saisir votre message"
|
|
1350
|
+
|
|
1351
|
+
# Bouton Envoyer actif
|
|
1352
|
+
- type: button
|
|
1353
|
+
attributes:
|
|
1354
|
+
style:
|
|
1355
|
+
backgroundColor: "#b8860b"
|
|
1356
|
+
color: "#f4ead5"
|
|
1357
|
+
border: "2px solid #b8860b"
|
|
1358
|
+
padding: 0.8rem 2rem
|
|
1359
|
+
borderRadius: 25px
|
|
1360
|
+
cursor: pointer
|
|
1361
|
+
fontFamily: "'Crimson Text', serif"
|
|
1362
|
+
fontSize: 1rem
|
|
1363
|
+
boxShadow: "0 4px 8px rgba(0,0,0,0.2)"
|
|
1364
|
+
transition: "all 0.3s ease"
|
|
1365
|
+
actions:
|
|
1366
|
+
- what: hide
|
|
1367
|
+
when: ~.contact_form.message
|
|
1368
|
+
isEmpty: true
|
|
1369
|
+
- what: setData
|
|
1370
|
+
on: click
|
|
1371
|
+
path: ~.show_contact_modal
|
|
1372
|
+
value: false
|
|
1373
|
+
when: ~.contact_form.message
|
|
1374
|
+
isEmpty: "not"
|
|
1375
|
+
- what: setData
|
|
1376
|
+
on: click
|
|
1377
|
+
path: ~.message_sent
|
|
1378
|
+
value: true
|
|
1379
|
+
when: ~.contact_form.message
|
|
1380
|
+
isEmpty: "not"
|
|
1381
|
+
- what: setData
|
|
1382
|
+
on: click
|
|
1383
|
+
path: ~.contact_form_step
|
|
1384
|
+
value: 1
|
|
1385
|
+
when: ~.contact_form.message
|
|
1386
|
+
isEmpty: "not"
|
|
1387
|
+
content: "Envoyer la Missive"
|
|
1388
|
+
|
|
1389
|
+
templates:
|
|
1390
|
+
service-card:
|
|
1391
|
+
type: div
|
|
1392
|
+
attributes:
|
|
1393
|
+
style:
|
|
1394
|
+
padding: 2.5rem
|
|
1395
|
+
backgroundColor: "rgba(255, 255, 255, 0.9)"
|
|
1396
|
+
borderRadius: 15px
|
|
1397
|
+
textAlign: center
|
|
1398
|
+
boxShadow: "0 8px 16px rgba(45, 27, 20, 0.2)"
|
|
1399
|
+
border: "1px solid rgba(184, 134, 11, 0.3)"
|
|
1400
|
+
transition: "all 0.3s ease"
|
|
1401
|
+
position: relative
|
|
1402
|
+
content:
|
|
1403
|
+
# Image d'illustration
|
|
1404
|
+
- type: img
|
|
1405
|
+
attributes:
|
|
1406
|
+
src: ~.image
|
|
1407
|
+
alt: ~.title
|
|
1408
|
+
style:
|
|
1409
|
+
width: 80px
|
|
1410
|
+
height: 80px
|
|
1411
|
+
objectFit: cover
|
|
1412
|
+
borderRadius: 50%
|
|
1413
|
+
margin: 0 auto 1.5rem
|
|
1414
|
+
border: "3px solid #b8860b"
|
|
1415
|
+
filter: "sepia(20%) saturate(1.2)"
|
|
1416
|
+
|
|
1417
|
+
- type: div
|
|
1418
|
+
attributes:
|
|
1419
|
+
style:
|
|
1420
|
+
width: 60px
|
|
1421
|
+
height: 2px
|
|
1422
|
+
backgroundColor: "#b8860b"
|
|
1423
|
+
margin: 0 auto 1.5rem
|
|
1424
|
+
- type: h4
|
|
1425
|
+
attributes:
|
|
1426
|
+
style:
|
|
1427
|
+
marginBottom: 1.5rem
|
|
1428
|
+
color: "#2d1b14"
|
|
1429
|
+
fontSize: 1.6rem
|
|
1430
|
+
fontFamily: "'Playfair Display', serif"
|
|
1431
|
+
fontWeight: 400
|
|
1432
|
+
letterSpacing: 1px
|
|
1433
|
+
content: ~.title
|
|
1434
|
+
- type: p
|
|
1435
|
+
attributes:
|
|
1436
|
+
style:
|
|
1437
|
+
color: "#8b4513"
|
|
1438
|
+
lineHeight: 1.7
|
|
1439
|
+
fontSize: 1.05rem
|
|
1440
|
+
fontFamily: "'Crimson Text', serif"
|
|
1441
|
+
fontStyle: italic
|
|
1442
|
+
content: ~.description
|
|
1443
|
+
|
|
1444
|
+
carte-ouvrage:
|
|
1445
|
+
type: div
|
|
1446
|
+
attributes:
|
|
1447
|
+
style:
|
|
1448
|
+
backgroundColor: "rgba(255, 255, 255, 0.95)"
|
|
1449
|
+
borderRadius: 15px
|
|
1450
|
+
overflow: hidden
|
|
1451
|
+
boxShadow: "0 6px 12px rgba(45, 27, 20, 0.15)"
|
|
1452
|
+
border: "1px solid rgba(184, 134, 11, 0.2)"
|
|
1453
|
+
transition: "all 0.3s ease"
|
|
1454
|
+
cursor: pointer
|
|
1455
|
+
content:
|
|
1456
|
+
# Image de couverture
|
|
1457
|
+
- type: img
|
|
1458
|
+
attributes:
|
|
1459
|
+
src: ~.ouvrage.couverture
|
|
1460
|
+
alt: ~.ouvrage.titre
|
|
1461
|
+
style:
|
|
1462
|
+
width: 100%
|
|
1463
|
+
height: 200px
|
|
1464
|
+
objectFit: cover
|
|
1465
|
+
borderBottom: "2px solid rgba(184, 134, 11, 0.3)"
|
|
1466
|
+
|
|
1467
|
+
# Contenu de la carte
|
|
1468
|
+
- type: div
|
|
1469
|
+
attributes:
|
|
1470
|
+
style:
|
|
1471
|
+
padding: 1.5rem
|
|
1472
|
+
content:
|
|
1473
|
+
# Badge de statut
|
|
1474
|
+
- type: div
|
|
1475
|
+
attributes:
|
|
1476
|
+
style:
|
|
1477
|
+
marginBottom: 1rem
|
|
1478
|
+
display: flex
|
|
1479
|
+
justifyContent: flex-start
|
|
1480
|
+
content:
|
|
1481
|
+
# Badge Précommande
|
|
1482
|
+
- type: span
|
|
1483
|
+
attributes:
|
|
1484
|
+
style:
|
|
1485
|
+
backgroundColor: "#ffc107"
|
|
1486
|
+
color: "#000"
|
|
1487
|
+
padding: 0.3rem 0.8rem
|
|
1488
|
+
borderRadius: 12px
|
|
1489
|
+
fontSize: 0.8rem
|
|
1490
|
+
fontWeight: 500
|
|
1491
|
+
fontFamily: "'Crimson Text', serif"
|
|
1492
|
+
textTransform: uppercase
|
|
1493
|
+
letterSpacing: 0.5px
|
|
1494
|
+
actions:
|
|
1495
|
+
- what: hide
|
|
1496
|
+
when: ~.ouvrage.statut
|
|
1497
|
+
isNot: "precommande"
|
|
1498
|
+
content: "Précommande"
|
|
1499
|
+
|
|
1500
|
+
# Badge Disponible
|
|
1501
|
+
- type: span
|
|
1502
|
+
attributes:
|
|
1503
|
+
style:
|
|
1504
|
+
backgroundColor: "#28a745"
|
|
1505
|
+
color: "#fff"
|
|
1506
|
+
padding: 0.3rem 0.8rem
|
|
1507
|
+
borderRadius: 12px
|
|
1508
|
+
fontSize: 0.8rem
|
|
1509
|
+
fontWeight: 500
|
|
1510
|
+
fontFamily: "'Crimson Text', serif"
|
|
1511
|
+
textTransform: uppercase
|
|
1512
|
+
letterSpacing: 0.5px
|
|
1513
|
+
actions:
|
|
1514
|
+
- what: hide
|
|
1515
|
+
when: ~.ouvrage.statut
|
|
1516
|
+
isNot: "disponible"
|
|
1517
|
+
content: "Disponible"
|
|
1518
|
+
|
|
1519
|
+
# Badge Fin de commercialisation
|
|
1520
|
+
- type: span
|
|
1521
|
+
attributes:
|
|
1522
|
+
style:
|
|
1523
|
+
backgroundColor: "#dc3545"
|
|
1524
|
+
color: "#fff"
|
|
1525
|
+
padding: 0.3rem 0.8rem
|
|
1526
|
+
borderRadius: 12px
|
|
1527
|
+
fontSize: 0.8rem
|
|
1528
|
+
fontWeight: 500
|
|
1529
|
+
fontFamily: "'Crimson Text', serif"
|
|
1530
|
+
textTransform: uppercase
|
|
1531
|
+
letterSpacing: 0.5px
|
|
1532
|
+
actions:
|
|
1533
|
+
- what: hide
|
|
1534
|
+
when: ~.ouvrage.statut
|
|
1535
|
+
isNot: "fin_commercialisation"
|
|
1536
|
+
content: "Fin de commercialisation"
|
|
1537
|
+
|
|
1538
|
+
# Titre
|
|
1539
|
+
- type: h5
|
|
1540
|
+
attributes:
|
|
1541
|
+
style:
|
|
1542
|
+
fontSize: 1.3rem
|
|
1543
|
+
marginBottom: 0.5rem
|
|
1544
|
+
color: "#2d1b14"
|
|
1545
|
+
fontFamily: "'Playfair Display', serif"
|
|
1546
|
+
fontWeight: 500
|
|
1547
|
+
letterSpacing: 0.5px
|
|
1548
|
+
lineHeight: 1.3
|
|
1549
|
+
content: ~.ouvrage.titre
|
|
1550
|
+
|
|
1551
|
+
# Auteur
|
|
1552
|
+
- type: p
|
|
1553
|
+
attributes:
|
|
1554
|
+
style:
|
|
1555
|
+
fontSize: 1rem
|
|
1556
|
+
marginBottom: 0.8rem
|
|
1557
|
+
color: "#8b4513"
|
|
1558
|
+
fontFamily: "'Crimson Text', serif"
|
|
1559
|
+
fontStyle: italic
|
|
1560
|
+
fontWeight: 400
|
|
1561
|
+
content: ~.ouvrage.auteur
|
|
1562
|
+
|
|
1563
|
+
# Date de publication formatée
|
|
1564
|
+
- type: div
|
|
1565
|
+
attributes:
|
|
1566
|
+
style:
|
|
1567
|
+
fontSize: 0.9rem
|
|
1568
|
+
color: "#6c5ce7"
|
|
1569
|
+
fontFamily: "'Crimson Text', serif"
|
|
1570
|
+
marginBottom: 0.5rem
|
|
1571
|
+
fontWeight: 400
|
|
1572
|
+
content:
|
|
1573
|
+
- "Publié le "
|
|
1574
|
+
# Format personnalisé de la date (approximatif pour l'instant)
|
|
1575
|
+
- ~.ouvrage.date_publication_formatee
|
|
1576
|
+
|
|
1577
|
+
data:
|
|
1578
|
+
show_contact_modal: false
|
|
1579
|
+
message_sent: false
|
|
1580
|
+
contact_form_step: 1
|
|
1581
|
+
contact_form:
|
|
1582
|
+
nom: ""
|
|
1583
|
+
email: ""
|
|
1584
|
+
sujet: ""
|
|
1585
|
+
message: ""
|
|
1586
|
+
livre_filters:
|
|
1587
|
+
recherche: ""
|
|
1588
|
+
publie_apres: ""
|
|
1589
|
+
publie_avant: ""
|
|
1590
|
+
statuts:
|
|
1591
|
+
precommande: false
|
|
1592
|
+
disponible: false
|
|
1593
|
+
fin_commercialisation: false
|
|
1594
|
+
services:
|
|
1595
|
+
- title: "Écriture & Style"
|
|
1596
|
+
description: "L'art subtil de manier la plume avec élégance, où chaque phrase devient une symphonie de mots soigneusement orchestrée."
|
|
1597
|
+
image: "https://images.unsplash.com/photo-1455390582262-044cdead277a?w=200&h=200&fit=crop&crop=center"
|
|
1598
|
+
- title: "Reliure Précieuse"
|
|
1599
|
+
description: "Des ouvrages magnifiquement reliés, témoins d'un savoir-faire ancestral et gardiens de la beauté littéraire."
|
|
1600
|
+
image: "https://images.unsplash.com/photo-1481627834876-b7833e8f5570?w=200&h=200&fit=crop&crop=center"
|
|
1601
|
+
- title: "Manuscrits Rares"
|
|
1602
|
+
description: "Conservation et restauration de documents précieux, préservant l'héritage culturel pour les générations futures."
|
|
1603
|
+
image: "https://images.unsplash.com/photo-1544716278-ca5e3f4abd8c?w=200&h=200&fit=crop&crop=center"
|
|
1604
|
+
ouvrages:
|
|
1605
|
+
- ouvrage:
|
|
1606
|
+
couverture: "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=300&h=400&fit=crop&crop=center"
|
|
1607
|
+
titre: "Les Mystères de la Rose Noire"
|
|
1608
|
+
auteur: "Marguerite de Beaumont"
|
|
1609
|
+
date_publication: "2023-03-15"
|
|
1610
|
+
date_publication_formatee: "15 Mars 2023"
|
|
1611
|
+
statut: "disponible"
|
|
1612
|
+
resume_court: "Un roman gothique plein de mystères et de passion, situé dans un château du XVIII siècle."
|
|
1613
|
+
contenu_recherchable: "Les Mystères de la Rose Noire Marguerite de Beaumont roman gothique mystères passion château XVIII siècle"
|
|
1614
|
+
|
|
1615
|
+
- ouvrage:
|
|
1616
|
+
couverture: "https://images.unsplash.com/photo-1544947950-fa07a98d237f?w=300&h=400&fit=crop&crop=center"
|
|
1617
|
+
titre: "Chroniques des Temps Perdus"
|
|
1618
|
+
auteur: "Alexandre Dufresne"
|
|
1619
|
+
date_publication: "2024-01-20"
|
|
1620
|
+
date_publication_formatee: "20 Janvier 2024"
|
|
1621
|
+
statut: "precommande"
|
|
1622
|
+
resume_court: "Une épopée fantastique retraçant les légendes oubliées d'un royaume perdu."
|
|
1623
|
+
contenu_recherchable: "Chroniques des Temps Perdus Alexandre Dufresne épopée fantastique légendes oubliées royaume perdu"
|
|
1624
|
+
|
|
1625
|
+
- ouvrage:
|
|
1626
|
+
couverture: "https://images.unsplash.com/photo-1512820790803-83ca734da794?w=300&h=400&fit=crop&crop=center"
|
|
1627
|
+
titre: "L'Art de la Calligraphie Ancienne"
|
|
1628
|
+
auteur: "Professeur Henri Lavoisier"
|
|
1629
|
+
date_publication: "2022-09-10"
|
|
1630
|
+
date_publication_formatee: "10 Septembre 2022"
|
|
1631
|
+
statut: "fin_commercialisation"
|
|
1632
|
+
resume_court: "Guide pratique sur les techniques ancestrales de calligraphie européenne."
|
|
1633
|
+
contenu_recherchable: "L'Art de la Calligraphie Ancienne Professeur Henri Lavoisier guide pratique techniques ancestrales calligraphie européenne"
|
|
1634
|
+
|
|
1635
|
+
- ouvrage:
|
|
1636
|
+
couverture: "https://images.unsplash.com/photo-1481627834876-b7833e8f5570?w=300&h=400&fit=crop&crop=center"
|
|
1637
|
+
titre: "Mémoires d'un Bibliothécaire"
|
|
1638
|
+
auteur: "Jean-Baptiste Rousseau"
|
|
1639
|
+
date_publication: "2023-11-05"
|
|
1640
|
+
date_publication_formatee: "5 Novembre 2023"
|
|
1641
|
+
statut: "disponible"
|
|
1642
|
+
resume_court: "Récit autobiographique d'un garde des manuscrits parisien."
|
|
1643
|
+
contenu_recherchable: "Mémoires d'un Bibliothécaire Jean-Baptiste Rousseau récit autobiographique garde manuscrits parisien"
|
|
1644
|
+
|
|
1645
|
+
- ouvrage:
|
|
1646
|
+
couverture: "https://images.unsplash.com/photo-1524995997946-a1c2e315a42f?w=300&h=400&fit=crop&crop=center"
|
|
1647
|
+
titre: "La Poésie de l'Âme"
|
|
1648
|
+
auteur: "Céleste de Montclair"
|
|
1649
|
+
date_publication: "2024-06-30"
|
|
1650
|
+
date_publication_formatee: "30 Juin 2024"
|
|
1651
|
+
statut: "precommande"
|
|
1652
|
+
resume_court: "Recueil de vers romantiques inspirés par la nature et l'amour."
|
|
1653
|
+
contenu_recherchable: "La Poésie de l'Âme Céleste de Montclair recueil vers romantiques inspirés nature amour"
|
|
1654
|
+
|
|
1655
|
+
- ouvrage:
|
|
1656
|
+
couverture: "https://images.unsplash.com/photo-1532012197267-da84d127e765?w=300&h=400&fit=crop&crop=center"
|
|
1657
|
+
titre: "Histoire des Manuscrits Enluminés"
|
|
1658
|
+
auteur: "Dr. Marie-Claire Dubois"
|
|
1659
|
+
date_publication: "2021-12-03"
|
|
1660
|
+
date_publication_formatee: "3 Décembre 2021"
|
|
1661
|
+
statut: "fin_commercialisation"
|
|
1662
|
+
resume_court: "Étude approfondie de l'art de l'enluminure du Moyen Âge."
|
|
1663
|
+
contenu_recherchable: "Histoire des Manuscrits Enluminés Dr. Marie-Claire Dubois étude approfondie art enluminure Moyen Âge"
|