@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.
Files changed (102) hide show
  1. package/dist/design-system-v3.d.ts +325 -368
  2. package/dist/design-system-v3.js +2791 -2637
  3. package/dist/design-system-v3.umd.cjs +1 -10
  4. package/dist/style.css +1 -1
  5. package/package.json +10 -2
  6. package/src/assets/settings.scss +2 -2
  7. package/src/assets/tokens.scss +107 -112
  8. package/src/components/BackBtn/BackBtn.vue +4 -4
  9. package/src/components/BackToTopBtn/BackToTopBtn.vue +1 -0
  10. package/src/components/CollapsibleList/CollapsibleList.mdx +1 -1
  11. package/src/components/CollapsibleList/CollapsibleList.vue +43 -44
  12. package/src/components/ContextualMenu/ContextualMenu.mdx +118 -0
  13. package/src/components/ContextualMenu/ContextualMenu.stories.ts +430 -0
  14. package/src/components/ContextualMenu/ContextualMenu.vue +101 -0
  15. package/src/components/ContextualMenu/tests/ContextualMenu.spec.ts +115 -0
  16. package/src/components/ContextualMenu/tests/__snapshots__/ContextualMenu.spec.ts.snap +10 -0
  17. package/src/components/ContextualMenu/types.ts +5 -0
  18. package/src/components/CookieBanner/CookieBanner.stories.ts +1 -2
  19. package/src/components/CookieBanner/CookieBanner.vue +13 -10
  20. package/src/components/CookieBanner/tests/__snapshots__/CookieBanner.spec.ts.snap +17 -15
  21. package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +6 -1
  22. package/src/components/CookiesSelection/CookiesInformation/locales.ts +1 -0
  23. package/src/components/CookiesSelection/CookiesTable/CookiesTable.vue +1 -0
  24. package/src/components/CookiesSelection/tests/__snapshots__/CookiesSelection.spec.ts.snap +17 -15
  25. package/src/components/CopyBtn/CopyBtn.vue +7 -7
  26. package/src/components/Customs/SyBtnSelect/SyBtnSelect.vue +26 -26
  27. package/src/components/Customs/SyInputSelect/SyInputSelect.vue +24 -24
  28. package/src/components/Customs/SySelect/SySelect.vue +27 -26
  29. package/src/components/DataList/DataList.stories.ts +3 -2
  30. package/src/components/DataList/DataList.vue +1 -1
  31. package/src/components/DataListGroup/DataListGroup.stories.ts +3 -2
  32. package/src/components/DataListItem/DataListItem.vue +12 -12
  33. package/src/components/DialogBox/DialogBox.mdx +28 -2
  34. package/src/components/DialogBox/DialogBox.stories.ts +1 -1
  35. package/src/components/DialogBox/DialogBox.vue +3 -2
  36. package/src/components/DownloadBtn/DownloadBtn.vue +2 -1
  37. package/src/components/ExternalLinks/ExternalLinks.mdx +86 -0
  38. package/src/components/ExternalLinks/ExternalLinks.stories.ts +553 -0
  39. package/src/components/ExternalLinks/ExternalLinks.vue +200 -0
  40. package/src/components/ExternalLinks/config.ts +34 -0
  41. package/src/components/ExternalLinks/locales.ts +4 -0
  42. package/src/components/ExternalLinks/tests/ExternalLinks.spec.ts +154 -0
  43. package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +159 -0
  44. package/src/components/FooterBar/FooterBar.vue +105 -80
  45. package/src/components/FranceConnectBtn/FranceConnectBtn.vue +14 -13
  46. package/src/components/HeaderBar/HeaderBar.vue +3 -3
  47. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.vue +11 -7
  48. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.vue +5 -5
  49. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.vue +2 -2
  50. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.vue +10 -8
  51. package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +2 -2
  52. package/src/components/HeaderBar/HeaderLogo/logos/Logo-mobile.vue +2 -1
  53. package/src/components/HeaderBar/HeaderLogo/logos/Logo.vue +2 -1
  54. package/src/components/HeaderBar/HeaderMenuBtn/HeaderMenuBtn.vue +10 -10
  55. package/src/components/HeaderBar/consts.scss +1 -1
  56. package/src/components/HeaderLoading/HeaderLoading.vue +12 -11
  57. package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +2 -1
  58. package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +9 -9
  59. package/src/components/HeaderToolbar/HeaderToolbar.vue +215 -202
  60. package/src/components/LangBtn/LangBtn.vue +8 -6
  61. package/src/components/LogoBrandSection/LogoBrandSection.stories.ts +2 -2
  62. package/src/components/NirField/NirField.stories.ts +7 -7
  63. package/src/components/NirField/NirField.vue +44 -47
  64. package/src/components/NotFoundPage/NotFoundPage.stories.ts +33 -2
  65. package/src/components/NotFoundPage/NotFoundPage.vue +17 -0
  66. package/src/components/NotificationBar/NotificationBar.mdx +5 -5
  67. package/src/components/NotificationBar/NotificationBar.stories.ts +410 -314
  68. package/src/components/NotificationBar/NotificationBar.vue +43 -41
  69. package/src/components/PageContainer/PageContainer.vue +4 -4
  70. package/src/components/PasswordField/PasswordField.mdx +70 -0
  71. package/src/components/PasswordField/PasswordField.stories.ts +213 -0
  72. package/src/components/PasswordField/PasswordField.vue +189 -0
  73. package/src/components/PasswordField/config.ts +11 -0
  74. package/src/components/PasswordField/locales.ts +4 -0
  75. package/src/components/PasswordField/tests/PasswordField.spec.ts +96 -0
  76. package/src/components/PhoneField/PhoneField.mdx +0 -2
  77. package/src/components/PhoneField/PhoneField.stories.ts +10 -50
  78. package/src/components/PhoneField/PhoneField.vue +34 -34
  79. package/src/components/SkipLink/SkipLink.vue +10 -10
  80. package/src/components/SocialMediaLinks/SocialMediaLinks.vue +28 -26
  81. package/src/components/SubHeader/SubHeader.vue +32 -31
  82. package/src/components/SyAlert/SyAlert.vue +12 -12
  83. package/src/components/UserMenuBtn/UserMenuBtn.vue +1 -1
  84. package/src/components/UserMenuBtn/config.ts +1 -1
  85. package/src/components/index.ts +10 -7
  86. package/src/designTokens/index.ts +6 -4
  87. package/src/designTokens/{bootstrapColors.md → paColors.md} +1 -1
  88. package/src/designTokens/tokens/cnam/cnamLightTheme.ts +2 -0
  89. package/src/designTokens/tokens/pa/paColors.ts +171 -0
  90. package/src/designTokens/tokens/pa/paContextual.ts +58 -0
  91. package/src/designTokens/tokens/pa/paDarkTheme.ts +5 -0
  92. package/src/designTokens/tokens/pa/paLightTheme.ts +123 -0
  93. package/src/designTokens/tokens/pa/paSemantic.ts +87 -0
  94. package/src/stories/GuideDuDev/CreerUneIssue.mdx +64 -0
  95. package/src/stories/GuideDuDev/{CommentUtiliserLesRules.mdx → UtiliserLesRules.mdx} +2 -2
  96. package/src/stories/GuideDuDev/components.stories.ts +9 -7
  97. package/src/stories/Guidelines/Vuetify/Vuetify.stories.ts +163 -88
  98. package/src/stories/Guidelines/Vuetify/VuetifyItems.ts +250 -23
  99. package/src/temp/TestDTComponent.vue +5 -6
  100. package/src/designTokens/tokens/bootstrap/bootstrapColors.ts +0 -158
  101. package/src/designTokens/tokens/bootstrap/bootstrapLightTheme.ts +0 -22
  102. package/src/stories/GuideDuDev/CommentContribuer.mdx +0 -22
@@ -339,115 +339,112 @@
339
339
  </template>
340
340
 
341
341
  <style lang="scss" scoped>
342
- @use '@/assets/tokens.scss';
342
+ @use '@/assets/tokens';
343
343
 
344
344
  .v-messages__message--success {
345
- color: tokens.$colors-border-success !important;
345
+ color: tokens.$colors-border-success !important;
346
346
 
347
- .v-field--active & {
348
- color: tokens.$colors-border-success !important;
349
- }
347
+ .v-field--active & {
348
+ color: tokens.$colors-border-success !important;
349
+ }
350
350
  }
351
351
 
352
352
  .v-messages__message--error {
353
- color: tokens.$colors-border-error;
353
+ color: tokens.$colors-border-error;
354
354
 
355
- .v-field--active & {
356
- color: tokens.$colors-border-error;
357
- }
355
+ .v-field--active & {
356
+ color: tokens.$colors-border-error;
357
+ }
358
358
  }
359
359
 
360
360
  :deep(.v-field.v-field--active .v-label.v-field-label--floating) {
361
- opacity: 1;
361
+ opacity: 1;
362
362
  }
363
363
 
364
364
  .multi-line {
365
- white-space: pre-line !important;
365
+ white-space: pre-line !important;
366
366
  }
367
367
 
368
368
  .vd-number-field {
369
- max-width: 296px;
369
+ max-width: 296px;
370
370
  }
371
371
 
372
372
  .vd-key-field {
373
- width: 104px;
373
+ width: 104px;
374
+ flex: none;
374
375
  }
375
376
 
376
377
  .custom-counter {
377
- color: rgba(0, 0, 0, 0.54);
378
+ color: rgb(0 0 0 / 54%);
378
379
  }
379
380
 
380
381
  .vd-nir-field :deep(.v-input__append-inner),
381
382
  .vd-tooltip-icon {
382
- flex: none;
383
- color: rgba(0, 0, 0, 0.54);
383
+ flex: none;
384
+ color: rgb(0 0 0 / 54%);
384
385
  }
385
386
 
386
387
  :deep(.v-overlay__content) {
387
- background: rgba(84, 88, 89, 0.95) !important;
388
- }
389
-
390
- .vd-key-field {
391
- flex: none;
388
+ background: rgb(84 88 89 / 95%) !important;
392
389
  }
393
390
 
394
391
  .vd-nir-field--outlined :deep(.v-messages.error--text) {
395
- padding: 6px;
392
+ padding: 6px;
396
393
  }
397
394
 
398
395
  .vd-nir-field {
399
- container-name: nirFieldwrapper;
396
+ container-name: nirfieldwrapper;
400
397
  }
401
398
 
402
399
  :deep(.v-input__append) {
403
- margin-inline-start: 0 !important;
400
+ margin-inline-start: 0 !important;
404
401
  }
402
+
405
403
  :deep(.vd-number-field > .v-input__prepend) {
406
- margin-right: 0 !important;
404
+ margin-right: 0 !important;
407
405
  }
408
406
 
409
407
  :deep(.vd-key-field > .v-input__prepend) {
410
- @media screen and (max-width: 360px) {
411
- margin-inline-end: 0 !important;
412
- }
408
+ @media screen and (width <= 360px) {
409
+ margin-inline-end: 0 !important;
410
+ }
413
411
  }
414
412
 
415
413
  :deep(.v-text-field .v-input__details) {
416
- padding-inline-start: 0 !important;
417
- padding-inline-end: 0 !important;
418
- flex: none !important;
414
+ padding-inline: 0 !important;
415
+ flex: none !important;
419
416
  }
420
417
 
421
418
  :deep(.v-text-field .v-input__details .v-messages) {
422
- color: rgba(0, 0, 0, 1) !important;
419
+ color: rgb(0 0 0 / 100%) !important;
423
420
  }
424
421
 
425
422
  @mixin responsive-nir-wrapper {
426
- .vd-nir-field__fields-wrapper :deep(> .v-input__control) {
427
- justify-content: start;
428
- flex-wrap: wrap;
429
- gap: 4px;
430
- margin-bottom: 4px;
431
-
432
- .vd-number-field {
433
- flex: 100% 0 0;
434
- }
435
- }
423
+ .vd-nir-field__fields-wrapper :deep(> .v-input__control) {
424
+ justify-content: start;
425
+ flex-wrap: wrap;
426
+ gap: 4px;
427
+ margin-bottom: 4px;
428
+
429
+ .vd-number-field {
430
+ flex: 100% 0 0;
431
+ }
432
+ }
436
433
  }
437
434
 
438
435
  @container nirFieldwrapper (max-width: 300px) {
439
- @include responsive-nir-wrapper;
436
+ @include responsive-nir-wrapper;
440
437
  }
441
438
 
442
- @media screen and (max-width: 360px) {
443
- @include responsive-nir-wrapper;
439
+ @media screen and (width <= 360px) {
440
+ @include responsive-nir-wrapper;
444
441
  }
445
442
 
446
443
  .v-text-field .v-input__append-inner {
447
- padding-left: 0 !important;
444
+ padding-left: 0 !important;
448
445
  }
449
446
 
450
447
  :deep(.v-text-field > .v-input__control > .v-input__slot > .v-text-field__slot) {
451
- width: min-content !important;
448
+ width: min-content !important;
452
449
  }
453
450
  </style>
@@ -7,6 +7,20 @@ const meta = {
7
7
  parameters: {
8
8
  layout: 'fullscreen',
9
9
  },
10
+ argTypes: {
11
+ hideBtn: {
12
+ control: { type: 'boolean' },
13
+ },
14
+ btnText: {
15
+ control: { type: 'text' },
16
+ },
17
+ btnHref: {
18
+ control: { type: 'text' },
19
+ },
20
+ btnLink: {
21
+ control: { type: 'text' },
22
+ },
23
+ },
10
24
  } satisfies Meta<typeof NotFoundPage>
11
25
 
12
26
  export default meta
@@ -14,6 +28,10 @@ export default meta
14
28
  type Story = StoryObj<typeof NotFoundPage>
15
29
 
16
30
  export const Default: Story = {
31
+ args: {
32
+ btnText: 'Retour à l’accueil',
33
+ btnHref: '/',
34
+ },
17
35
  parameters: {
18
36
  query: {
19
37
  support_id: '',
@@ -24,7 +42,10 @@ export const Default: Story = {
24
42
  code: `
25
43
  <template>
26
44
  <div style="padding: 20px; background: rgb(231, 236, 245)">
27
- <NotFoundPage />
45
+ <NotFoundPage
46
+ btn-text="Retour à l’accueil"
47
+ btn-href="/"
48
+ />
28
49
  </div>
29
50
  </template>
30
51
  `,
@@ -45,17 +66,27 @@ export const Default: Story = {
45
66
  }
46
67
 
47
68
  export const WithErrorCode: Story = {
69
+ args: {
70
+ btnText: 'Retour à l’accueil',
71
+ btnHref: '/',
72
+ },
48
73
  parameters: {
49
74
  query: {
50
75
  support_id: '1234567890123456789',
51
76
  },
77
+ btnText: 'Retour à l’accueil',
78
+ btnHref: '/',
79
+ hideBtn: false,
52
80
  sourceCode: [
53
81
  {
54
82
  name: 'Template',
55
83
  code: `
56
84
  <template>
57
85
  <div style="padding: 20px; background: rgb(231, 236, 245)">
58
- <NotFoundPage />
86
+ <NotFoundPage
87
+ btn-text="Retour à l’accueil"
88
+ btn-href="/"
89
+ />
59
90
  </div>
60
91
  </template>
61
92
  `,
@@ -2,10 +2,23 @@
2
2
  import { onMounted, ref } from 'vue'
3
3
  import ErrorPage from '../ErrorPage/ErrorPage.vue'
4
4
  import { locales } from './locales'
5
+ import type { RouteRecordRaw } from 'vue-router'
5
6
 
6
7
  const SUPPORT_ID_PARAM_NAME = 'support_id'
7
8
  const supportId = ref<string | undefined>()
8
9
 
10
+ withDefaults(defineProps<{
11
+ btnText?: string
12
+ btnHref?: string
13
+ btnLink?: RouteRecordRaw | string
14
+ hideBtn?: boolean
15
+ }>(), {
16
+ btnText: undefined,
17
+ btnLink: '/',
18
+ btnHref: undefined,
19
+ hideBtn: false,
20
+ })
21
+
9
22
  onMounted(() => {
10
23
  const params = new URLSearchParams(document.location.search)
11
24
  let supportIdParam = params.get(SUPPORT_ID_PARAM_NAME)
@@ -23,6 +36,10 @@
23
36
  :code="locales.code"
24
37
  :page-title="locales.pageTitle"
25
38
  :message="locales.message"
39
+ :btn-text="btnText"
40
+ :btn-href="btnHref"
41
+ :btn-link="btnLink"
42
+ :hide-btn="hideBtn"
26
43
  >
27
44
  <template
28
45
  v-if="supportId"
@@ -6,13 +6,13 @@ import * as NotificationBarStories from './NotificationBar.stories';
6
6
 
7
7
  # NotificationBar
8
8
 
9
- ##### Les notification bars servent à notifier l’utilisateur soit d’un retour d’action.
9
+ ##### Les NotificationsBar servent à notifier l’utilisateur soit d’un retour d’action.
10
10
 
11
- ##### Deux actions sont possible :
11
+ ##### Deux actions sont possibles :
12
12
  - Fermer la notification lorsqu’elle a été vue
13
13
  - Cliquer sur un élément qui permet de faire une action secondaire (comme amener sur une page visée par la notification).
14
14
 
15
- ##### L’affichage d’une durée de quelques secondes et disprition automatique de la notification bar est déconseillé pour des raisons d’accessibilité afin de permettre à tout le monde de prendre le temps nécessaire de lire la notification.
15
+ ##### L’affichage d’une durée de quelques secondes et disparition automatique de la notification bar est déconseillé pour des raisons d’accessibilité afin de permettre à tout le monde de prendre le temps nécessaire de lire la notification.
16
16
 
17
17
  ##### Les 4 états son disponibles :
18
18
  - **Information** : Information supplémentaire nécessaire à la compréhension de l’utilisateur d’un élément spécifique.
@@ -20,10 +20,10 @@ import * as NotificationBarStories from './NotificationBar.stories';
20
20
  - **Warning** : Alerte, élément important mais pas bloquant. L’utilisateur a besoin d’être informé d’un élément ou d’une conséquence.
21
21
  - **Success** : l’action a été réalisée correctement et prise en compte.
22
22
 
23
- <Canvas of={NotificationBarStories.Success} />
23
+ <Canvas of={NotificationBarStories.Default} />
24
24
 
25
25
  # API
26
- <Controls of={NotificationBarStories.Success} />
26
+ <Controls of={NotificationBarStories.Default} />
27
27
 
28
28
  # Exemple d'utilisation
29
29