@cnamts/synapse 0.0.7-alpha → 0.0.8-alpha
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/design-system-v3.d.ts +325 -368
- package/dist/design-system-v3.js +2791 -2637
- package/dist/design-system-v3.umd.cjs +1 -10
- package/dist/style.css +1 -1
- package/package.json +10 -2
- package/src/assets/settings.scss +2 -2
- package/src/assets/tokens.scss +107 -112
- package/src/components/BackBtn/BackBtn.vue +4 -4
- package/src/components/BackToTopBtn/BackToTopBtn.vue +1 -0
- package/src/components/CollapsibleList/CollapsibleList.mdx +1 -1
- package/src/components/CollapsibleList/CollapsibleList.vue +43 -44
- package/src/components/ContextualMenu/ContextualMenu.mdx +118 -0
- package/src/components/ContextualMenu/ContextualMenu.stories.ts +430 -0
- package/src/components/ContextualMenu/ContextualMenu.vue +101 -0
- package/src/components/ContextualMenu/tests/ContextualMenu.spec.ts +115 -0
- package/src/components/ContextualMenu/tests/__snapshots__/ContextualMenu.spec.ts.snap +10 -0
- package/src/components/ContextualMenu/types.ts +5 -0
- package/src/components/CookieBanner/CookieBanner.stories.ts +1 -2
- package/src/components/CookieBanner/CookieBanner.vue +13 -10
- package/src/components/CookieBanner/tests/__snapshots__/CookieBanner.spec.ts.snap +17 -15
- package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +6 -1
- package/src/components/CookiesSelection/CookiesInformation/locales.ts +1 -0
- package/src/components/CookiesSelection/CookiesTable/CookiesTable.vue +1 -0
- package/src/components/CookiesSelection/tests/__snapshots__/CookiesSelection.spec.ts.snap +17 -15
- package/src/components/CopyBtn/CopyBtn.vue +7 -7
- package/src/components/Customs/SyBtnSelect/SyBtnSelect.vue +26 -26
- package/src/components/Customs/SyInputSelect/SyInputSelect.vue +24 -24
- package/src/components/Customs/SySelect/SySelect.vue +27 -26
- package/src/components/DataList/DataList.stories.ts +3 -2
- package/src/components/DataList/DataList.vue +1 -1
- package/src/components/DataListGroup/DataListGroup.stories.ts +3 -2
- package/src/components/DataListItem/DataListItem.vue +12 -12
- package/src/components/DialogBox/DialogBox.mdx +28 -2
- package/src/components/DialogBox/DialogBox.stories.ts +1 -1
- package/src/components/DialogBox/DialogBox.vue +3 -2
- package/src/components/DownloadBtn/DownloadBtn.vue +2 -1
- package/src/components/ExternalLinks/ExternalLinks.mdx +86 -0
- package/src/components/ExternalLinks/ExternalLinks.stories.ts +553 -0
- package/src/components/ExternalLinks/ExternalLinks.vue +200 -0
- package/src/components/ExternalLinks/config.ts +34 -0
- package/src/components/ExternalLinks/locales.ts +4 -0
- package/src/components/ExternalLinks/tests/ExternalLinks.spec.ts +154 -0
- package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +159 -0
- package/src/components/FooterBar/FooterBar.vue +105 -80
- package/src/components/FranceConnectBtn/FranceConnectBtn.vue +14 -13
- package/src/components/HeaderBar/HeaderBar.vue +3 -3
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.vue +11 -7
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.vue +5 -5
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.vue +2 -2
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.vue +10 -8
- package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +2 -2
- package/src/components/HeaderBar/HeaderLogo/logos/Logo-mobile.vue +2 -1
- package/src/components/HeaderBar/HeaderLogo/logos/Logo.vue +2 -1
- package/src/components/HeaderBar/HeaderMenuBtn/HeaderMenuBtn.vue +10 -10
- package/src/components/HeaderBar/consts.scss +1 -1
- package/src/components/HeaderLoading/HeaderLoading.vue +12 -11
- package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +2 -1
- package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +9 -9
- package/src/components/HeaderToolbar/HeaderToolbar.vue +215 -202
- package/src/components/LangBtn/LangBtn.vue +8 -6
- package/src/components/LogoBrandSection/LogoBrandSection.stories.ts +2 -2
- package/src/components/NirField/NirField.stories.ts +7 -7
- package/src/components/NirField/NirField.vue +44 -47
- package/src/components/NotFoundPage/NotFoundPage.stories.ts +33 -2
- package/src/components/NotFoundPage/NotFoundPage.vue +17 -0
- package/src/components/NotificationBar/NotificationBar.mdx +5 -5
- package/src/components/NotificationBar/NotificationBar.stories.ts +410 -314
- package/src/components/NotificationBar/NotificationBar.vue +43 -41
- package/src/components/PageContainer/PageContainer.vue +4 -4
- package/src/components/PasswordField/PasswordField.mdx +70 -0
- package/src/components/PasswordField/PasswordField.stories.ts +213 -0
- package/src/components/PasswordField/PasswordField.vue +189 -0
- package/src/components/PasswordField/config.ts +11 -0
- package/src/components/PasswordField/locales.ts +4 -0
- package/src/components/PasswordField/tests/PasswordField.spec.ts +96 -0
- package/src/components/PhoneField/PhoneField.mdx +0 -2
- package/src/components/PhoneField/PhoneField.stories.ts +10 -50
- package/src/components/PhoneField/PhoneField.vue +34 -34
- package/src/components/SkipLink/SkipLink.vue +10 -10
- package/src/components/SocialMediaLinks/SocialMediaLinks.vue +28 -26
- package/src/components/SubHeader/SubHeader.vue +32 -31
- package/src/components/SyAlert/SyAlert.vue +12 -12
- package/src/components/UserMenuBtn/UserMenuBtn.vue +1 -1
- package/src/components/UserMenuBtn/config.ts +1 -1
- package/src/components/index.ts +10 -7
- package/src/designTokens/index.ts +6 -4
- package/src/designTokens/{bootstrapColors.md → paColors.md} +1 -1
- package/src/designTokens/tokens/cnam/cnamLightTheme.ts +2 -0
- package/src/designTokens/tokens/pa/paColors.ts +171 -0
- package/src/designTokens/tokens/pa/paContextual.ts +58 -0
- package/src/designTokens/tokens/pa/paDarkTheme.ts +5 -0
- package/src/designTokens/tokens/pa/paLightTheme.ts +123 -0
- package/src/designTokens/tokens/pa/paSemantic.ts +87 -0
- package/src/stories/GuideDuDev/CreerUneIssue.mdx +64 -0
- package/src/stories/GuideDuDev/{CommentUtiliserLesRules.mdx → UtiliserLesRules.mdx} +2 -2
- package/src/stories/GuideDuDev/components.stories.ts +9 -7
- package/src/stories/Guidelines/Vuetify/Vuetify.stories.ts +163 -88
- package/src/stories/Guidelines/Vuetify/VuetifyItems.ts +250 -23
- package/src/temp/TestDTComponent.vue +5 -6
- package/src/designTokens/tokens/bootstrap/bootstrapColors.ts +0 -158
- package/src/designTokens/tokens/bootstrap/bootstrapLightTheme.ts +0 -22
- package/src/stories/GuideDuDev/CommentContribuer.mdx +0 -22
package/src/assets/tokens.scss
CHANGED
|
@@ -129,19 +129,19 @@ $grey-lighten-20: #76797a;
|
|
|
129
129
|
$grey-lighten-40: #989b9b;
|
|
130
130
|
$grey-lighten-60: #bbbcbd;
|
|
131
131
|
$grey-lighten-80: #dddede;
|
|
132
|
-
$grey-lighten-90: #
|
|
132
|
+
$grey-lighten-90: #eee;
|
|
133
133
|
$grey-lighten-97: #fafafa;
|
|
134
|
-
$white-20:
|
|
135
|
-
$white-38:
|
|
136
|
-
$white-40:
|
|
137
|
-
$white-70:
|
|
138
|
-
$white-base: #
|
|
139
|
-
$white-08:
|
|
140
|
-
$white-00:
|
|
134
|
+
$white-20: rgb(255 255 255 / 20%);
|
|
135
|
+
$white-38: rgb(255 255 255 / 38%);
|
|
136
|
+
$white-40: rgb(255 255 255 / 40%);
|
|
137
|
+
$white-70: rgb(255 255 255 / 70%);
|
|
138
|
+
$white-base: #fff;
|
|
139
|
+
$white-08: rgb(255 255 255 / 8%);
|
|
140
|
+
$white-00: rgb(255 255 255 / 0%);
|
|
141
141
|
$none-value: undefined;
|
|
142
|
-
$transparent-blue-18:
|
|
143
|
-
$transparent-blue-08:
|
|
144
|
-
$transparent-blue-00:
|
|
142
|
+
$transparent-blue-18: rgb(12 65 154 / 18%);
|
|
143
|
+
$transparent-blue-08: rgb(12 65 154 / 8%);
|
|
144
|
+
$transparent-blue-00: rgb(12 65 154 / 0%);
|
|
145
145
|
|
|
146
146
|
// Semantic Tokens
|
|
147
147
|
$primary-darker-2: #07275c;
|
|
@@ -156,11 +156,11 @@ $neutral-black: #222324;
|
|
|
156
156
|
$neutral-black-lighter: #545859;
|
|
157
157
|
$neutral-black-lighter-2: #989b9b;
|
|
158
158
|
$neutral-grey: #dddede;
|
|
159
|
-
$neutral-white: #
|
|
160
|
-
$neutral-white-alpha:
|
|
161
|
-
$neutral-white-alpha-lighter:
|
|
162
|
-
$neutral-white-alpha-lighter-2:
|
|
163
|
-
$neutral-white-alpha-lighter-3:
|
|
159
|
+
$neutral-white: #fff;
|
|
160
|
+
$neutral-white-alpha: rgb(255 255 255 / 70%);
|
|
161
|
+
$neutral-white-alpha-lighter: rgb(255 255 255 / 40%);
|
|
162
|
+
$neutral-white-alpha-lighter-2: rgb(255 255 255 / 20%);
|
|
163
|
+
$neutral-white-alpha-lighter-3: rgb(255 255 255 / 8%);
|
|
164
164
|
$info-info-lightest: #e7ecf5;
|
|
165
165
|
$info-info-lighter: #ced9eb;
|
|
166
166
|
$info-default: #0c419a;
|
|
@@ -180,11 +180,11 @@ $user-assure: #ed76b3;
|
|
|
180
180
|
$user-entreprise: #f0b323;
|
|
181
181
|
|
|
182
182
|
// Contextual Tokens
|
|
183
|
-
$colors-background: #
|
|
184
|
-
$colors-border: #
|
|
185
|
-
$colors-text: #
|
|
186
|
-
$colors-icon: #
|
|
187
|
-
$colors-overlay:
|
|
183
|
+
$colors-background: #fff;
|
|
184
|
+
$colors-border: #ddd;
|
|
185
|
+
$colors-text: #333;
|
|
186
|
+
$colors-icon: #666;
|
|
187
|
+
$colors-overlay: rgb(0 0 0 / 50%);
|
|
188
188
|
$colors-interactive: #007bff;
|
|
189
189
|
$gap-0: 0;
|
|
190
190
|
$gap-1: 4px;
|
|
@@ -227,8 +227,8 @@ $font-size-link-label: 14px;
|
|
|
227
227
|
|
|
228
228
|
// Additional Contextual Tokens
|
|
229
229
|
$colors-background-main: #e7ecf5;
|
|
230
|
-
$colors-background-surface: #
|
|
231
|
-
$colors-background-main-alt: #
|
|
230
|
+
$colors-background-surface: #fff;
|
|
231
|
+
$colors-background-main-alt: #fff;
|
|
232
232
|
$colors-background-surface-alt: #e7ecf5;
|
|
233
233
|
$colors-background-raised: #f8f9fc;
|
|
234
234
|
$colors-background-accent: #0c419a;
|
|
@@ -247,25 +247,23 @@ $colors-background-error: #f9dcd7;
|
|
|
247
247
|
$colors-background-error-subdued: #fcedeb;
|
|
248
248
|
$colors-background-error-contrasted: #b33f2e;
|
|
249
249
|
$colors-background-disabled: #dddede;
|
|
250
|
-
$colors-background-disabled-ondark:
|
|
250
|
+
$colors-background-disabled-ondark: rgb(255 255 255 / 8%);
|
|
251
251
|
$colors-background-assure: #ed76b3;
|
|
252
252
|
$colors-background-professionnel: #66c9ec;
|
|
253
253
|
$colors-background-entreprise: #f0b323;
|
|
254
|
-
|
|
255
254
|
$colors-border-darker: #222324;
|
|
256
255
|
$colors-border-base: #989b9b;
|
|
257
256
|
$colors-border-subdued: #dddede;
|
|
258
257
|
$colors-border-accent: #0c419a;
|
|
259
258
|
$colors-border-accent-contrasted: #07275c;
|
|
260
|
-
$colors-border-accent-ondark: #
|
|
259
|
+
$colors-border-accent-ondark: #fff;
|
|
261
260
|
$colors-border-info: #0c419a;
|
|
262
261
|
$colors-border-success: #224e2d;
|
|
263
262
|
$colors-border-warning: #60480e;
|
|
264
263
|
$colors-border-error: #b33f2e;
|
|
265
|
-
$colors-border-ondark:
|
|
264
|
+
$colors-border-ondark: rgb(255 255 255 / 70%);
|
|
266
265
|
$colors-border-disabled: #dddede;
|
|
267
|
-
$colors-border-disabled-ondark:
|
|
268
|
-
|
|
266
|
+
$colors-border-disabled-ondark: rgb(255 255 255 / 40%);
|
|
269
267
|
$colors-text-base: #222324;
|
|
270
268
|
$colors-text-accent: #0c419a;
|
|
271
269
|
$colors-text-accent-contrasted: #07275c;
|
|
@@ -275,34 +273,30 @@ $colors-text-success: #224e2d;
|
|
|
275
273
|
$colors-text-warning: #60480e;
|
|
276
274
|
$colors-text-error: #b33f2e;
|
|
277
275
|
$colors-text-disabled: #989b9b;
|
|
278
|
-
$colors-text-ondark: #
|
|
279
|
-
$colors-text-subdued-ondark:
|
|
280
|
-
$colors-text-disabled-ondark:
|
|
281
|
-
|
|
276
|
+
$colors-text-ondark: #fff;
|
|
277
|
+
$colors-text-subdued-ondark: rgb(255 255 255 / 70%);
|
|
278
|
+
$colors-text-disabled-ondark: rgb(255 255 255 / 40%);
|
|
282
279
|
$colors-icon-base: #222324;
|
|
283
280
|
$colors-icon-subdued: #545859;
|
|
284
|
-
$colors-icon-subdued-ondark:
|
|
281
|
+
$colors-icon-subdued-ondark: rgb(255 255 255 / 70%);
|
|
285
282
|
$colors-icon-accent: #0c419a;
|
|
286
283
|
$colors-icon-accent-contrasted: #07275c;
|
|
287
284
|
$colors-icon-info: #0c419a;
|
|
288
285
|
$colors-icon-success: #224e2d;
|
|
289
286
|
$colors-icon-warning: #60480e;
|
|
290
287
|
$colors-icon-error: #b33f2e;
|
|
291
|
-
$colors-icon-ondark: #
|
|
288
|
+
$colors-icon-ondark: #fff;
|
|
292
289
|
$colors-icon-disabled: #989b9b;
|
|
293
|
-
$colors-icon-disabled-ondark:
|
|
294
|
-
|
|
290
|
+
$colors-icon-disabled-ondark: rgb(255 255 255 / 40%);
|
|
295
291
|
$colors-overlay-fullpage: #989b9b;
|
|
296
|
-
$colors-overlay-ondark: #
|
|
292
|
+
$colors-overlay-ondark: #fff;
|
|
297
293
|
$colors-overlay-onlight: #0c419a;
|
|
298
|
-
|
|
299
|
-
$colors-interactive-default: rgba(255, 255, 255, 0.0000);
|
|
294
|
+
$colors-interactive-default: rgb(255 255 255 / 0%);
|
|
300
295
|
$colors-interactive-hover: #e7ecf5;
|
|
301
296
|
$colors-interactive-pressed: #ced9eb;
|
|
302
297
|
$colors-interactive-focus: #e7ecf5;
|
|
303
|
-
$colors-interactive-disabled:
|
|
298
|
+
$colors-interactive-disabled: rgb(255 255 255 / 0%);
|
|
304
299
|
$colors-interactive-hover-on-selected: #ced9eb;
|
|
305
|
-
|
|
306
300
|
$padding-0: 0;
|
|
307
301
|
$padding-2: 8px;
|
|
308
302
|
$padding-3: 12px;
|
|
@@ -312,93 +306,91 @@ $padding-8: 32px;
|
|
|
312
306
|
$padding-10: 40px;
|
|
313
307
|
$padding-14: 56px;
|
|
314
308
|
$padding-16: 64px;
|
|
315
|
-
|
|
316
309
|
$heading-1-font-size: 24px;
|
|
317
310
|
$heading-2-font-size: 20px;
|
|
318
311
|
$heading-3-font-size: 16px;
|
|
319
312
|
$heading-4-font-size: 14px;
|
|
320
313
|
|
|
321
|
-
|
|
322
314
|
.title {
|
|
323
|
-
|
|
315
|
+
font-size: $font-size-title !important;
|
|
324
316
|
}
|
|
325
317
|
|
|
326
318
|
.alt-title {
|
|
327
|
-
|
|
319
|
+
font-size: $font-size-alt-title !important;
|
|
328
320
|
}
|
|
329
321
|
|
|
330
322
|
.body-text {
|
|
331
|
-
|
|
323
|
+
font-size: $font-size-body-text !important;
|
|
332
324
|
}
|
|
333
325
|
|
|
334
326
|
.link-label {
|
|
335
|
-
|
|
327
|
+
font-size: $font-size-link-label !important;
|
|
336
328
|
}
|
|
337
329
|
|
|
338
330
|
h1 {
|
|
339
|
-
|
|
340
|
-
|
|
331
|
+
font-size: 32px !important;
|
|
332
|
+
line-height: 130% !important;
|
|
341
333
|
}
|
|
342
334
|
|
|
343
335
|
.h1-bold {
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
336
|
+
font-size: 32px !important;
|
|
337
|
+
font-weight: bold !important;
|
|
338
|
+
line-height: 130% !important;
|
|
347
339
|
}
|
|
348
340
|
|
|
349
341
|
h2 {
|
|
350
|
-
|
|
351
|
-
|
|
342
|
+
font-size: 28px !important;
|
|
343
|
+
line-height: 130% !important;
|
|
352
344
|
}
|
|
353
345
|
|
|
354
346
|
.h2-bold {
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
347
|
+
font-size: 28px !important;
|
|
348
|
+
font-weight: bold !important;
|
|
349
|
+
line-height: 130% !important;
|
|
358
350
|
}
|
|
359
351
|
|
|
360
352
|
h3 {
|
|
361
|
-
|
|
362
|
-
|
|
353
|
+
font-size: 24px !important;
|
|
354
|
+
line-height: 130% !important;
|
|
363
355
|
}
|
|
364
356
|
|
|
365
357
|
.h3-bold {
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
358
|
+
font-size: 24px !important;
|
|
359
|
+
font-weight: bold !important;
|
|
360
|
+
line-height: 130% !important;
|
|
369
361
|
}
|
|
370
362
|
|
|
371
363
|
h4 {
|
|
372
|
-
|
|
373
|
-
|
|
364
|
+
font-size: 20px !important;
|
|
365
|
+
line-height: 130% !important;
|
|
374
366
|
}
|
|
375
367
|
|
|
376
368
|
.h4-bold {
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
369
|
+
font-size: 20px !important;
|
|
370
|
+
font-weight: bold !important;
|
|
371
|
+
line-height: 130% !important;
|
|
380
372
|
}
|
|
381
373
|
|
|
382
374
|
.display-1 {
|
|
383
|
-
|
|
384
|
-
|
|
375
|
+
font-size: 40px !important;
|
|
376
|
+
line-height: 130% !important;
|
|
385
377
|
}
|
|
386
378
|
|
|
387
379
|
.display-1-bold {
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
380
|
+
font-size: 40px !important;
|
|
381
|
+
font-weight: bold !important;
|
|
382
|
+
line-height: 130% !important;
|
|
391
383
|
}
|
|
392
384
|
|
|
393
385
|
.display-2 {
|
|
394
|
-
|
|
395
|
-
|
|
386
|
+
font-size: 30px !important;
|
|
387
|
+
line-height: 130% !important;
|
|
396
388
|
}
|
|
397
389
|
|
|
398
390
|
.display-2-bold {
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
391
|
+
font-size: 30px !important;
|
|
392
|
+
font-weight: bold !important;
|
|
393
|
+
line-height: 130% !important;
|
|
402
394
|
}
|
|
403
395
|
|
|
404
396
|
// espacement verticaux des elements
|
|
@@ -427,7 +419,6 @@ $spacing-horizontal-xx-large: 56px;
|
|
|
427
419
|
$spacing-horizontal-xxx-large: 64px;
|
|
428
420
|
$spacing-horizontal-huge: 80px;
|
|
429
421
|
|
|
430
|
-
|
|
431
422
|
// Surcharger toutes les élévations pour utiliser uniquement l'élévation 02
|
|
432
423
|
.elevation-1,
|
|
433
424
|
.elevation-2,
|
|
@@ -453,7 +444,10 @@ $spacing-horizontal-huge: 80px;
|
|
|
453
444
|
.elevation-22,
|
|
454
445
|
.elevation-23,
|
|
455
446
|
.elevation-24 {
|
|
456
|
-
|
|
447
|
+
box-shadow:
|
|
448
|
+
0 3px 1px -2px rgb(0 0 0 / 20%),
|
|
449
|
+
0 2px 2px 0 rgb(0 0 0 / 14%),
|
|
450
|
+
0 1px 5px 0 rgb(0 0 0 / 12%) !important;
|
|
457
451
|
}
|
|
458
452
|
|
|
459
453
|
// global.scss
|
|
@@ -465,35 +459,36 @@ $container-desktop-max-width: 960px;
|
|
|
465
459
|
|
|
466
460
|
// Conteneur général
|
|
467
461
|
.page-container {
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
}
|
|
462
|
+
text-align: center;
|
|
463
|
+
margin: 0 auto; // Centrer les conteneurs
|
|
464
|
+
padding: 40px 40px 56px 56px;
|
|
465
|
+
width: 1160px;
|
|
466
|
+
|
|
467
|
+
// Mobile Styles
|
|
468
|
+
@media (width <= 600px) {
|
|
469
|
+
max-width: $container-mobile-max-width;
|
|
470
|
+
padding: 40px 24px 80px;
|
|
471
|
+
display: grid;
|
|
472
|
+
grid-template-columns: repeat(3, 1fr);
|
|
473
|
+
grid-gap: 24px;
|
|
474
|
+
width: 80%;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
// Tablet Styles
|
|
478
|
+
@media (width >= 601px) and (width <= 960px) {
|
|
479
|
+
max-width: $container-tablet-max-width;
|
|
480
|
+
width: 80%;
|
|
481
|
+
display: grid;
|
|
482
|
+
grid-template-columns: repeat(6, 1fr);
|
|
483
|
+
grid-gap: 24px;
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
// Desktop Styles
|
|
487
|
+
@media (width >= 960px) {
|
|
488
|
+
max-width: $container-desktop-max-width;
|
|
489
|
+
width: 100%;
|
|
490
|
+
display: grid;
|
|
491
|
+
grid-template-columns: repeat(12, 1fr);
|
|
492
|
+
grid-gap: 24px;
|
|
493
|
+
}
|
|
494
|
+
}
|
|
@@ -51,9 +51,9 @@
|
|
|
51
51
|
<style lang="scss" scoped>
|
|
52
52
|
// Désactiver l'état de hover sur le thème clair
|
|
53
53
|
.v-btn.v-theme--light:deep() {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
.v-btn__underlay,
|
|
55
|
+
.v-btn__overlay {
|
|
56
|
+
display: none;
|
|
57
|
+
}
|
|
58
58
|
}
|
|
59
59
|
</style>
|
|
@@ -15,7 +15,7 @@ L’élément `CollapsibleList` est utilisé pour afficher des listes de liens.
|
|
|
15
15
|
|
|
16
16
|
<Source dark code={`
|
|
17
17
|
<script setup lang="ts">
|
|
18
|
-
import CollapsibleList from '@cnamts/synapse'
|
|
18
|
+
import { CollapsibleList } from '@cnamts/synapse'
|
|
19
19
|
import type { ListItem } from '@cnamts/synapse/src/components/CollapsibleList/types'
|
|
20
20
|
|
|
21
21
|
const remboursementItems = [
|
|
@@ -79,79 +79,78 @@
|
|
|
79
79
|
|
|
80
80
|
<style lang="scss" scoped>
|
|
81
81
|
.vd-panel {
|
|
82
|
-
|
|
82
|
+
background-color: transparent;
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
.vd-panel-title :deep(.v-expansion-panel-title__overlay) {
|
|
86
|
-
|
|
86
|
+
background: transparent !important;
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
.vd-panel-text :deep(.v-expansion-panel-text__wrapper) {
|
|
90
|
-
|
|
90
|
+
padding: 0;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
li {
|
|
94
|
-
|
|
94
|
+
list-style: none;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
a {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
98
|
+
transition: 0.15s;
|
|
99
|
+
padding-top: 1px; // Add top padding to account for bottom border
|
|
100
|
+
border-bottom: 1px solid transparent;
|
|
101
|
+
color: black;
|
|
102
|
+
|
|
103
|
+
&:hover,
|
|
104
|
+
&:focus {
|
|
105
|
+
border-color: currentcolor;
|
|
106
|
+
}
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
.v-theme--dark a :deep() {
|
|
110
|
-
|
|
110
|
+
color: white;
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
.vd-collapse-list a {
|
|
114
|
-
|
|
114
|
+
color: black;
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
.vd-collapse-list :deep() {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
118
|
+
.text-subtitle-1 {
|
|
119
|
+
font-size: 1.125rem !important;
|
|
120
|
+
letter-spacing: 0.0015em !important;
|
|
121
|
+
line-height: 1.75rem;
|
|
122
|
+
}
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
.vd-collapse-list.theme--dark :deep() {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
126
|
+
h4,
|
|
127
|
+
ul,
|
|
128
|
+
a,
|
|
129
|
+
button {
|
|
130
|
+
color: white !important;
|
|
131
|
+
}
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
.vd-collapse-list-mobile :deep() {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
135
|
+
.text-subtitle-2 {
|
|
136
|
+
font-size: 1rem !important;
|
|
137
|
+
letter-spacing: 0.001em !important;
|
|
138
|
+
line-height: 1.375rem;
|
|
139
|
+
font-weight: 600;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
button {
|
|
143
|
+
color: red !important;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.v-icon {
|
|
147
|
+
color: rgb(0 0 0 / 54%) !important;
|
|
148
|
+
}
|
|
144
149
|
}
|
|
145
150
|
|
|
146
151
|
.vd-collapse-list-mobile.theme--dark :deep() {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
.vd-collapse-list-mobile :deep() {
|
|
153
|
-
button {
|
|
154
|
-
color: red !important;
|
|
155
|
-
}
|
|
152
|
+
button {
|
|
153
|
+
color: white !important;
|
|
154
|
+
}
|
|
156
155
|
}
|
|
157
156
|
</style>
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import {Controls, Canvas, Meta, Source, Story} from '@storybook/blocks';
|
|
2
|
+
import * as ContextualMenuStories from './ContextualMenu.stories';
|
|
3
|
+
|
|
4
|
+
<Meta of={ContextualMenuStories} />
|
|
5
|
+
|
|
6
|
+
# ContextualMenu
|
|
7
|
+
|
|
8
|
+
L’élément `ContextualMenu` est utilisé pour afficher un menu avec une liste d’ancres pour la navigation.
|
|
9
|
+
|
|
10
|
+
<Canvas of={ContextualMenuStories.Default} />
|
|
11
|
+
|
|
12
|
+
# API
|
|
13
|
+
|
|
14
|
+
<Controls of={ContextualMenuStories.Default} />
|
|
15
|
+
|
|
16
|
+
# Exemple d'utilisation
|
|
17
|
+
|
|
18
|
+
<Source dark code={`
|
|
19
|
+
<script setup lang="ts">
|
|
20
|
+
import { ContextualMenu } from '@cnamts/synapse'
|
|
21
|
+
import { ref } from 'vue'
|
|
22
|
+
|
|
23
|
+
const items = [{
|
|
24
|
+
text: 'section 1',
|
|
25
|
+
hash: '#section-1',
|
|
26
|
+
}, {
|
|
27
|
+
text: 'section 2',
|
|
28
|
+
hash: '#section-2',
|
|
29
|
+
}, {
|
|
30
|
+
text: 'section 3',
|
|
31
|
+
hash: '#section-3',
|
|
32
|
+
}, {
|
|
33
|
+
text: 'section 4',
|
|
34
|
+
hash: '#section-4',
|
|
35
|
+
}, {
|
|
36
|
+
text: 'section 5',
|
|
37
|
+
hash: '#section-5',
|
|
38
|
+
}]
|
|
39
|
+
|
|
40
|
+
const hash = ref<string | null>(null)
|
|
41
|
+
</script>
|
|
42
|
+
|
|
43
|
+
<template>
|
|
44
|
+
<div class="wrapper">
|
|
45
|
+
<div class="menu">
|
|
46
|
+
<ContextualMenu
|
|
47
|
+
v-model="hash"
|
|
48
|
+
:items
|
|
49
|
+
/>
|
|
50
|
+
</div>
|
|
51
|
+
<div class="content">
|
|
52
|
+
<section id="section-1">
|
|
53
|
+
<h2>section 1</h2>
|
|
54
|
+
<p>
|
|
55
|
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias, quae eligendi modi, rem consectetur cum labore voluptate nostrum molestiae asperiores dolorum, saepe perspiciatis quisquam provident placeat aut distinctio minima dolor.
|
|
56
|
+
Temporibus consequatur consectetur sequi. Sequi tempora velit soluta? Nam error, nesciunt molestiae provident possimus voluptas tempore porro at officia sint exercitationem dolore debitis eaque temporibus accusantium soluta? In, maxime excepturi.
|
|
57
|
+
</p>
|
|
58
|
+
</section>
|
|
59
|
+
<section id="section-2">
|
|
60
|
+
<h2>section 2</h2>
|
|
61
|
+
<p>
|
|
62
|
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias, quae eligendi modi, rem consectetur cum labore voluptate nostrum molestiae asperiores dolorum, saepe perspiciatis quisquam provident placeat aut distinctio minima dolor.
|
|
63
|
+
Temporibus consequatur consectetur sequi. Sequi tempora velit soluta? Nam error, nesciunt molestiae provident possimus voluptas tempore porro at officia sint exercitationem dolore debitis eaque temporibus accusantium soluta? In, maxime excepturi.
|
|
64
|
+
</p>
|
|
65
|
+
</section>
|
|
66
|
+
<section id="section-3">
|
|
67
|
+
<h2>section 3</h2>
|
|
68
|
+
<p>
|
|
69
|
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias, quae eligendi modi, rem consectetur cum labore voluptate nostrum molestiae asperiores dolorum, saepe perspiciatis quisquam provident placeat aut distinctio minima dolor.
|
|
70
|
+
Temporibus consequatur consectetur sequi. Sequi tempora velit soluta? Nam error, nesciunt molestiae provident possimus voluptas tempore porro at officia sint exercitationem dolore debitis eaque temporibus accusantium soluta? In, maxime excepturi.
|
|
71
|
+
</p>
|
|
72
|
+
</section>
|
|
73
|
+
<section id="section-4">
|
|
74
|
+
<h2>section 4</h2>
|
|
75
|
+
<p>
|
|
76
|
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias, quae eligendi modi, rem consectetur cum labore voluptate nostrum molestiae asperiores dolorum, saepe perspiciatis quisquam provident placeat aut distinctio minima dolor.
|
|
77
|
+
Temporibus consequatur consectetur sequi. Sequi tempora velit soluta? Nam error, nesciunt molestiae provident possimus voluptas tempore porro at officia sint exercitationem dolore debitis eaque temporibus accusantium soluta? In, maxime excepturi.
|
|
78
|
+
</p>
|
|
79
|
+
</section>
|
|
80
|
+
<section id="section-5">
|
|
81
|
+
<h2>section 5</h2>
|
|
82
|
+
<p>
|
|
83
|
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias, quae eligendi modi, rem consectetur cum labore voluptate nostrum molestiae asperiores dolorum, saepe perspiciatis quisquam provident placeat aut distinctio minima dolor.
|
|
84
|
+
Temporibus consequatur consectetur sequi. Sequi tempora velit soluta? Nam error, nesciunt molestiae provident possimus voluptas tempore porro at officia sint exercitationem dolore debitis eaque temporibus accusantium soluta? In, maxime excepturi.
|
|
85
|
+
</p>
|
|
86
|
+
</section>
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
89
|
+
</template>
|
|
90
|
+
|
|
91
|
+
<style lang="scss" scoped>
|
|
92
|
+
.wrapper {
|
|
93
|
+
display: flex;
|
|
94
|
+
flex-direction: row;
|
|
95
|
+
justify-content: space-evenly;
|
|
96
|
+
place-items: center;
|
|
97
|
+
height: 100dvh;
|
|
98
|
+
width: 500px;
|
|
99
|
+
}
|
|
100
|
+
.menu {
|
|
101
|
+
width: 200px;
|
|
102
|
+
}
|
|
103
|
+
.content {
|
|
104
|
+
border: 1px solid black;
|
|
105
|
+
height: 500px;
|
|
106
|
+
overflow-y: auto;
|
|
107
|
+
scroll-behavior: smooth;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
section {
|
|
111
|
+
padding: 20px;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
section p {
|
|
115
|
+
max-width: 300px;
|
|
116
|
+
}
|
|
117
|
+
</style>
|
|
118
|
+
`} />
|