@cnamts/synapse 0.0.6-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 (122) hide show
  1. package/dist/design-system-v3.d.ts +331 -372
  2. package/dist/design-system-v3.js +2794 -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.stories.ts +4 -1
  9. package/src/components/BackBtn/BackBtn.vue +4 -4
  10. package/src/components/BackToTopBtn/BackToTopBtn.stories.ts +3 -3
  11. package/src/components/BackToTopBtn/BackToTopBtn.vue +1 -0
  12. package/src/components/CollapsibleList/CollapsibleList.mdx +1 -1
  13. package/src/components/CollapsibleList/CollapsibleList.vue +43 -44
  14. package/src/components/ContextualMenu/ContextualMenu.mdx +118 -0
  15. package/src/components/ContextualMenu/ContextualMenu.stories.ts +430 -0
  16. package/src/components/ContextualMenu/ContextualMenu.vue +101 -0
  17. package/src/components/ContextualMenu/tests/ContextualMenu.spec.ts +115 -0
  18. package/src/components/ContextualMenu/tests/__snapshots__/ContextualMenu.spec.ts.snap +10 -0
  19. package/src/components/ContextualMenu/types.ts +5 -0
  20. package/src/components/CookieBanner/CookieBanner.stories.ts +3 -2
  21. package/src/components/CookieBanner/CookieBanner.vue +13 -10
  22. package/src/components/CookieBanner/tests/__snapshots__/CookieBanner.spec.ts.snap +17 -15
  23. package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +6 -1
  24. package/src/components/CookiesSelection/CookiesInformation/locales.ts +1 -0
  25. package/src/components/CookiesSelection/CookiesTable/CookiesTable.vue +1 -0
  26. package/src/components/CookiesSelection/tests/__snapshots__/CookiesSelection.spec.ts.snap +17 -15
  27. package/src/components/CopyBtn/CopyBtn.stories.ts +5 -2
  28. package/src/components/CopyBtn/CopyBtn.vue +7 -7
  29. package/src/components/Customs/SyBtnSelect/SyBtnSelect.stories.ts +11 -51
  30. package/src/components/Customs/SyBtnSelect/SyBtnSelect.vue +26 -26
  31. package/src/components/Customs/SyInputSelect/SyInputSelect.mdx +4 -1
  32. package/src/components/Customs/SyInputSelect/SyInputSelect.stories.ts +19 -7
  33. package/src/components/Customs/SyInputSelect/SyInputSelect.vue +24 -24
  34. package/src/components/Customs/SySelect/SySelect.mdx +1 -2
  35. package/src/components/Customs/SySelect/SySelect.stories.ts +0 -2
  36. package/src/components/Customs/SySelect/SySelect.vue +27 -26
  37. package/src/components/DataList/DataList.stories.ts +3 -2
  38. package/src/components/DataList/DataList.vue +1 -1
  39. package/src/components/DataListGroup/DataListGroup.stories.ts +3 -2
  40. package/src/components/DataListItem/DataListItem.vue +12 -12
  41. package/src/components/DialogBox/DialogBox.mdx +28 -2
  42. package/src/components/DialogBox/DialogBox.stories.ts +1 -1
  43. package/src/components/DialogBox/DialogBox.vue +3 -2
  44. package/src/components/DownloadBtn/DownloadBtn.mdx +3 -4
  45. package/src/components/DownloadBtn/DownloadBtn.stories.ts +20 -21
  46. package/src/components/DownloadBtn/DownloadBtn.vue +2 -1
  47. package/src/components/ErrorPage/ErrorPage.vue +1 -1
  48. package/src/components/ExternalLinks/ExternalLinks.mdx +86 -0
  49. package/src/components/ExternalLinks/ExternalLinks.stories.ts +553 -0
  50. package/src/components/ExternalLinks/ExternalLinks.vue +200 -0
  51. package/src/components/ExternalLinks/config.ts +34 -0
  52. package/src/components/ExternalLinks/locales.ts +4 -0
  53. package/src/components/ExternalLinks/tests/ExternalLinks.spec.ts +154 -0
  54. package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +159 -0
  55. package/src/components/FooterBar/FooterBar.vue +111 -82
  56. package/src/components/FranceConnectBtn/FranceConnectBtn.stories.ts +2 -1
  57. package/src/components/FranceConnectBtn/FranceConnectBtn.vue +14 -13
  58. package/src/components/HeaderBar/HeaderBar.stories.ts +19 -12
  59. package/src/components/HeaderBar/HeaderBar.vue +8 -3
  60. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.vue +12 -7
  61. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.vue +5 -5
  62. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.vue +2 -2
  63. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.vue +10 -8
  64. package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +2 -2
  65. package/src/components/HeaderBar/HeaderLogo/logos/Logo-mobile.vue +2 -1
  66. package/src/components/HeaderBar/HeaderLogo/logos/Logo.vue +2 -1
  67. package/src/components/HeaderBar/HeaderMenuBtn/HeaderMenuBtn.vue +10 -10
  68. package/src/components/HeaderBar/consts.scss +1 -1
  69. package/src/components/HeaderLoading/HeaderLoading.vue +12 -11
  70. package/src/components/HeaderNavigationBar/HeaderNavigationBar.stories.ts +104 -32
  71. package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +2 -1
  72. package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +9 -9
  73. package/src/components/HeaderToolbar/HeaderToolbar.vue +215 -180
  74. package/src/components/LangBtn/LangBtn.vue +8 -6
  75. package/src/components/LogoBrandSection/LogoBrandSection.stories.ts +2 -2
  76. package/src/components/NirField/NirField.mdx +1 -4
  77. package/src/components/NirField/NirField.stories.ts +71 -18
  78. package/src/components/NirField/NirField.vue +49 -49
  79. package/src/components/NirField/tests/NirField.spec.ts +1 -0
  80. package/src/components/NotFoundPage/NotFoundPage.stories.ts +33 -2
  81. package/src/components/NotFoundPage/NotFoundPage.vue +17 -0
  82. package/src/components/NotificationBar/NotificationBar.mdx +5 -5
  83. package/src/components/NotificationBar/NotificationBar.stories.ts +410 -314
  84. package/src/components/NotificationBar/NotificationBar.vue +43 -41
  85. package/src/components/PageContainer/PageContainer.stories.ts +5 -5
  86. package/src/components/PageContainer/PageContainer.vue +13 -8
  87. package/src/components/PageContainer/tests/PageContainer.spec.ts +1 -1
  88. package/src/components/PasswordField/PasswordField.mdx +70 -0
  89. package/src/components/PasswordField/PasswordField.stories.ts +213 -0
  90. package/src/components/PasswordField/PasswordField.vue +189 -0
  91. package/src/components/PasswordField/config.ts +11 -0
  92. package/src/components/PasswordField/locales.ts +4 -0
  93. package/src/components/PasswordField/tests/PasswordField.spec.ts +96 -0
  94. package/src/components/PhoneField/PhoneField.mdx +0 -2
  95. package/src/components/PhoneField/PhoneField.stories.ts +10 -50
  96. package/src/components/PhoneField/PhoneField.vue +34 -34
  97. package/src/components/SkipLink/SkipLink.vue +10 -10
  98. package/src/components/SocialMediaLinks/SocialMediaLinks.vue +29 -21
  99. package/src/components/SocialMediaLinks/tests/__snapshots__/SocialMediaLinks.spec.ts.snap +2 -2
  100. package/src/components/SubHeader/SubHeader.stories.ts +6 -3
  101. package/src/components/SubHeader/SubHeader.vue +32 -31
  102. package/src/components/SyAlert/SyAlert.vue +15 -8
  103. package/src/components/UserMenuBtn/UserMenuBtn.vue +1 -1
  104. package/src/components/UserMenuBtn/config.ts +1 -1
  105. package/src/components/index.ts +10 -6
  106. package/src/designTokens/index.ts +6 -4
  107. package/src/designTokens/{bootstrapColors.md → paColors.md} +1 -1
  108. package/src/designTokens/tokens/cnam/cnamLightTheme.ts +2 -0
  109. package/src/designTokens/tokens/pa/paColors.ts +171 -0
  110. package/src/designTokens/tokens/pa/paContextual.ts +58 -0
  111. package/src/designTokens/tokens/pa/paDarkTheme.ts +5 -0
  112. package/src/designTokens/tokens/pa/paLightTheme.ts +123 -0
  113. package/src/designTokens/tokens/pa/paSemantic.ts +87 -0
  114. package/src/stories/GuideDuDev/CreerUneIssue.mdx +64 -0
  115. package/src/stories/GuideDuDev/{CommentUtiliserLesRules.mdx → UtiliserLesRules.mdx} +2 -2
  116. package/src/stories/GuideDuDev/components.stories.ts +9 -7
  117. package/src/stories/Guidelines/Vuetify/Vuetify.stories.ts +163 -88
  118. package/src/stories/Guidelines/Vuetify/VuetifyItems.ts +250 -23
  119. package/src/temp/TestDTComponent.vue +5 -6
  120. package/src/designTokens/tokens/bootstrap/bootstrapColors.ts +0 -158
  121. package/src/designTokens/tokens/bootstrap/bootstrapLightTheme.ts +0 -22
  122. package/src/stories/GuideDuDev/CommentContribuer.mdx +0 -22
@@ -298,191 +298,226 @@
298
298
  </template>
299
299
 
300
300
  <style lang="scss" scoped>
301
- @use '@/assets/tokens.scss';
301
+ @use '@/assets/tokens';
302
302
  @use '../HeaderBar/consts' as *;
303
303
 
304
304
  .toolbar {
305
- background: tokens.$blue-lighten-90;
306
- position: relative;
307
- display: flex;
308
- align-items: center;
309
- justify-content: center;
310
- z-index: 100;
311
-
312
- .container {
313
- width: 100%;
314
- max-height: 45px;
315
- max-width: $header-max-width;
316
- display: flex;
317
- align-items: center;
318
- justify-content: space-between;
319
- @media (max-width: 768px) {
320
- max-height: 41px;
321
- }
322
-
323
- :deep(ul) {
324
- display: flex;
325
- align-items: center;
326
- justify-content: flex-start;
327
- list-style: none;
328
- text-decoration: none;
329
-
330
- li {
331
- text-align: center;
332
- }
333
- }
334
-
335
- :deep(ul > li > a) {
336
- display: block;
337
- color: tokens.$blue-darken-40;
338
- text-decoration: none;
339
- padding: 10px 16px;
340
- cursor: pointer;
341
-
342
- &:hover {
343
- text-decoration: underline;
344
- }
345
-
346
- @media (max-width: 768px) {
347
- font-size: 12px;
348
- }
349
- }
350
- }
351
-
352
- #left-menu {
353
- ul > li > a {
354
- font-weight: 700;
355
- color: tokens.$blue-darken-40;
356
-
357
- &:hover {
358
- text-decoration: none;
359
- }
360
- }
361
-
362
- li:first-child {
363
- min-width: 95px;
364
- background: transparent;
365
- @media (max-width: $header-breakpoint) {
366
- min-width: 82px;
367
- }
368
- }
369
-
370
- li:nth-child(2) {
371
- min-width: 260px;
372
- z-index: 2;
373
- @media (max-width: 768px) {
374
- min-width: 152px;
375
- }
376
- }
377
-
378
- li:nth-child(3) {
379
- background: transparent;
380
- }
381
-
382
- li:first-child a:hover, li:first-child.active {
383
- background: tokens.$user-assure;
384
- }
385
-
386
- li:nth-child(2) a:hover, .highlight {
387
- background: tokens.$user-professionnel;
388
- }
389
-
390
- li:nth-child(3) a:hover, li:nth-child(3).active {
391
- background: tokens.$user-entreprise;
392
- }
393
- }
394
-
395
- #right-menu {
396
- @media (max-width: 1000px) {
397
- display: none;
398
- }
399
- }
400
-
401
- #right-menu ul {
402
- white-space: nowrap;
403
- overflow: hidden;
404
- }
405
-
406
- #right-menu ul li {
407
- display: inline-block;
408
- }
409
-
410
- :deep(.v-input) {
411
- .v-input__details {
412
- display: none;
413
- }
414
-
415
- .v-input__control {
416
- font-weight: 700;
417
-
418
- .text-color {
419
- color: tokens.$blue-darken-60 !important;
420
- }
421
-
422
- .v-icon {
423
- margin-left: 10px;
424
- }
425
-
426
- .custom-select {
427
- display: flex;
428
- justify-content: space-between;
429
- width: 100%;
430
-
431
- span {
432
- max-width: 260px;
433
- white-space: nowrap;
434
- overflow: hidden;
435
- text-overflow: ellipsis;
436
- @media (max-width: 768px) {
437
- max-width: 182px;
438
- }
439
- }
440
- }
441
-
442
- @media (max-width: 768px) {
443
- font-size: 12px;
444
- }
445
- }
446
-
447
- .v-list {
448
- top: 34px !important;
449
- left: -16px !important;
450
- text-align: left;
451
- min-width: 260px;
452
- max-width: fit-content !important;
453
- border-radius: 0;
454
- @media (max-width: 768px) {
455
- position: fixed;
456
- top: 38px !important;
457
- left: 0 !important;
458
- min-width: 100% !important;
459
- box-shadow: none !important;
460
- }
461
-
462
- .v-list-item--density-default.v-list-item--one-line {
463
- min-height: 40px;
464
- }
465
- }
466
- }
467
-
468
- .overlay {
469
- position: fixed;
470
- display: block;
471
- top: 0;
472
- left: 0;
473
- width: 100%;
474
- height: 100%;
475
- background-color: rgba(3, 16, 37, .5);
476
- cursor: default;
477
- backdrop-filter: blur(2px);
478
- z-index: 1;
479
- @media (max-width: 768px) {
480
- display: none;
481
- }
482
- }
305
+ background: tokens.$blue-lighten-90;
306
+ position: relative;
307
+ display: flex;
308
+ align-items: center;
309
+ justify-content: center;
310
+ z-index: 100;
311
+
312
+ .container {
313
+ width: 100%;
314
+ max-height: 45px;
315
+ max-width: $header-max-width;
316
+ display: flex;
317
+ align-items: center;
318
+ justify-content: space-between;
319
+
320
+ @media (width <= 768px) {
321
+ max-height: 41px;
322
+ }
323
+
324
+ :deep(ul) {
325
+ display: flex;
326
+ align-items: center;
327
+ justify-content: flex-start;
328
+ list-style: none;
329
+ text-decoration: none;
330
+
331
+ li {
332
+ text-align: center;
333
+ }
334
+ }
335
+
336
+ :deep(ul > li > a) {
337
+ display: block;
338
+ color: tokens.$blue-darken-40;
339
+ text-decoration: none;
340
+ padding: 10px 16px;
341
+ cursor: pointer;
342
+
343
+ &:hover {
344
+ text-decoration: underline;
345
+ }
346
+
347
+ @media (width <= 768px) {
348
+ font-size: 12px;
349
+ }
350
+ }
351
+
352
+ :deep(.sy-input-select) {
353
+ width: 100%;
354
+ display: flex;
355
+ justify-content: space-between;
356
+
357
+ @media (width <= 768px) {
358
+ font-size: 12px;
359
+
360
+ span {
361
+ overflow: hidden;
362
+ white-space: nowrap;
363
+ text-overflow: ellipsis;
364
+ }
365
+ }
366
+ }
367
+ }
368
+
369
+ #left-menu {
370
+ ul > li > a {
371
+ font-weight: 700;
372
+ color: tokens.$blue-darken-40;
373
+
374
+ &:hover {
375
+ text-decoration: none;
376
+ }
377
+ }
378
+
379
+ li:first-child {
380
+ min-width: 95px;
381
+ background: transparent;
382
+
383
+ @media (max-width: $header-breakpoint) {
384
+ min-width: 82px;
385
+ }
386
+ }
387
+
388
+ li:nth-child(2) {
389
+ z-index: 2;
390
+ max-height: 44px;
391
+ min-width: 260px;
392
+
393
+ @media (width <= 768px) {
394
+ max-height: 38px;
395
+ min-width: 152px;
396
+ }
397
+
398
+ a {
399
+ max-height: 44px;
400
+
401
+ @media (width <= 768px) {
402
+ max-height: 38px;
403
+ }
404
+ }
405
+ }
406
+
407
+ li:nth-child(3) {
408
+ background: transparent;
409
+ }
410
+
411
+ li:first-child a:hover,
412
+ li:first-child.active {
413
+ background: tokens.$user-assure;
414
+ }
415
+
416
+ li:nth-child(2) a:hover,
417
+ .highlight {
418
+ background: tokens.$user-professionnel;
419
+ }
420
+
421
+ li:nth-child(3) a:hover,
422
+ li:nth-child(3).active {
423
+ background: tokens.$user-entreprise;
424
+ }
425
+ }
426
+
427
+ #right-menu {
428
+ @media (width <= 1000px) {
429
+ display: none;
430
+ }
431
+ }
432
+
433
+ #right-menu ul {
434
+ white-space: nowrap;
435
+ overflow: hidden;
436
+ }
437
+
438
+ #right-menu ul li {
439
+ display: inline-block;
440
+ }
441
+
442
+ :deep(.v-input) {
443
+ .v-input__details {
444
+ display: none;
445
+ }
446
+
447
+ .v-input__control {
448
+ font-weight: 700;
449
+
450
+ .text-color {
451
+ color: tokens.$blue-darken-60 !important;
452
+ }
453
+
454
+ .v-icon {
455
+ margin-left: 10px;
456
+ }
457
+
458
+ .custom-select {
459
+ display: flex;
460
+ justify-content: space-between;
461
+ width: 100%;
462
+
463
+ span {
464
+ max-width: 260px;
465
+ white-space: nowrap;
466
+ overflow: hidden;
467
+ text-overflow: ellipsis;
468
+
469
+ @media (width <= 768px) {
470
+ max-width: 182px;
471
+ }
472
+ }
473
+ }
474
+
475
+ @media (width <= 768px) {
476
+ font-size: 12px;
477
+ }
478
+ }
479
+
480
+ .v-list {
481
+ top: 34px !important;
482
+ left: -16px !important;
483
+ text-align: left;
484
+ min-width: 260px;
485
+ max-width: fit-content !important;
486
+ border-radius: 0;
487
+
488
+ @media (width <= 768px) {
489
+ position: fixed;
490
+ top: 38px !important;
491
+ left: 0 !important;
492
+ min-width: 100% !important;
493
+ box-shadow: none !important;
494
+ }
495
+
496
+ .v-list-item--density-default.v-list-item--one-line {
497
+ min-height: 40px;
498
+ }
499
+ }
500
+ }
501
+
502
+ .overlay {
503
+ position: fixed;
504
+ display: block;
505
+ top: 0;
506
+ left: 0;
507
+ width: 100%;
508
+ height: 100%;
509
+ background-color: rgb(3 16 37 / 50%);
510
+ cursor: default;
511
+ backdrop-filter: blur(2px);
512
+ z-index: 1;
513
+
514
+ @media (width <= 768px) {
515
+ display: none;
516
+ }
517
+ }
483
518
  }
484
519
 
485
520
  .right-menu-item {
486
- color: tokens.$blue-darken-60;
521
+ color: tokens.$blue-darken-60;
487
522
  }
488
523
  </style>
@@ -153,16 +153,18 @@
153
153
  </div>
154
154
  </template>
155
155
  <style lang="scss" scoped>
156
- @use '@/assets/tokens.scss';
156
+ @use '@/assets/tokens';
157
157
 
158
158
  .v-list-item:hover {
159
- background-color: rgba(tokens.$colors-overlay, 0.005)
159
+ background-color: rgba(tokens.$colors-overlay, 0.005);
160
160
  }
161
161
 
162
162
  .vd-lang-btn {
163
- font-size: 16px;
164
- --hoverColor: rgba(tokens.$colors-overlay, 0.5);
165
- text-transform: none;
166
- letter-spacing: inherit;
163
+ font-size: 16px;
164
+
165
+ --hover-color: rgba(tokens.$colors-overlay, 0.5);
166
+
167
+ text-transform: none;
168
+ letter-spacing: inherit;
167
169
  }
168
170
  </style>
@@ -91,8 +91,8 @@ export const Default: Story = {
91
91
  code: `
92
92
  <template>
93
93
  <LogoBrandSection
94
- :service-title="Synapse"
95
- :service-sub-title="Documentation du Design System"
94
+ service-title="Synapse"
95
+ service-sub-title="Documentation du Design System"
96
96
  />
97
97
  </template>
98
98
  `,
@@ -45,13 +45,10 @@ Le composant `NirField` est utilisé pour afficher un champ de saisie de numéro
45
45
  class="mx-16 my-6"
46
46
  @submit.prevent="handleSubmit"
47
47
  >
48
- <Nirfield
48
+ <NirField
49
49
  ref="nirFieldRef"
50
50
  v-model="model"
51
51
  :display-key="true"
52
- key-tooltip="message d'aide pour la clef"
53
- nir-tooltip="message d'aide pour le NIR"
54
- outlined
55
52
  required
56
53
  />
57
54
  <button type="submit">
@@ -90,6 +90,16 @@ const meta = {
90
90
  },
91
91
  },
92
92
  },
93
+ showSuccessMessages: {
94
+ description: 'Indique si les messages de succès sont affichés.',
95
+ control: 'boolean',
96
+ default: false,
97
+ table: {
98
+ type: {
99
+ summary: 'boolean',
100
+ },
101
+ },
102
+ },
93
103
  customNumberRules: {
94
104
  description: 'Règles de validation personnalisées pour le champ numéro.',
95
105
  control: 'object',
@@ -131,8 +141,7 @@ export const Default: Story = {
131
141
  code: `
132
142
  <template>
133
143
  <NirField
134
- modelValue=""
135
- :outlined="true"
144
+ v-model="value"
136
145
  :required="false"
137
146
  numberLabel="Numéro de sécurité sociale"
138
147
  keyLabel="Clé"
@@ -145,7 +154,10 @@ export const Default: Story = {
145
154
  name: 'Script',
146
155
  code: `
147
156
  <script setup lang="ts">
148
- import NirField from './NirField.vue'
157
+ import NirField from '@cnamts/synapse'
158
+ import { ref } from 'vue'
159
+
160
+ const value = ref('')
149
161
  </script>
150
162
  `,
151
163
  },
@@ -166,8 +178,7 @@ export const Required: Story = {
166
178
  code: `
167
179
  <template>
168
180
  <NirField
169
- modelValue=""
170
- :outlined="true"
181
+ v-model="value"
171
182
  :required="true"
172
183
  numberLabel="Numéro de sécurité sociale"
173
184
  keyLabel="Clé"
@@ -180,7 +191,10 @@ export const Required: Story = {
180
191
  name: 'Script',
181
192
  code: `
182
193
  <script setup lang="ts">
183
- import NirField from './NirField.vue'
194
+ import NirField from '@cnamts/synapse'
195
+ import { ref } from 'vue'
196
+
197
+ const value = ref('')
184
198
  </script>
185
199
  `,
186
200
  },
@@ -201,8 +215,7 @@ export const WithoutKey: Story = {
201
215
  code: `
202
216
  <template>
203
217
  <NirField
204
- modelValue=""
205
- :outlined="true"
218
+ v-model="value"
206
219
  :required="false"
207
220
  numberLabel="Numéro de sécurité sociale"
208
221
  keyLabel="Clé"
@@ -215,7 +228,47 @@ export const WithoutKey: Story = {
215
228
  name: 'Script',
216
229
  code: `
217
230
  <script setup lang="ts">
218
- import NirField from './NirField.vue'
231
+ import NirField from '@cnamts/synapse'
232
+ import { ref } from 'vue'
233
+
234
+ const value = ref('')
235
+ </script>
236
+ `,
237
+ },
238
+ ],
239
+ },
240
+ }
241
+
242
+ export const WithSuccessMessages: Story = {
243
+ args: {
244
+ ...Default.args,
245
+ showSuccessMessages: true,
246
+ },
247
+ parameters: {
248
+ ...Default.parameters,
249
+ sourceCode: [
250
+ {
251
+ name: 'Template',
252
+ code: `
253
+ <template>
254
+ <NirField
255
+ v-model="value"
256
+ :required="false"
257
+ numberLabel="Numéro de sécurité sociale"
258
+ keyLabel="Clé"
259
+ :showSuccessMessages="true"
260
+ />
261
+ </template>
262
+ `,
263
+ },
264
+ {
265
+ name: 'Script',
266
+ code: `
267
+ <script setup lang="ts">
268
+ import NirField from '@cnamts/synapse'
269
+ import { ref } from 'vue'
270
+
271
+ const value = ref('')
219
272
  </script>
220
273
  `,
221
274
  },
@@ -256,8 +309,7 @@ export const CustomRules: Story = {
256
309
  code: `
257
310
  <template>
258
311
  <NirField
259
- modelValue=""
260
- :outlined="true"
312
+ v-model="value"
261
313
  :required="false"
262
314
  numberLabel="Numéro de sécurité sociale"
263
315
  keyLabel="Clé"
@@ -272,7 +324,10 @@ export const CustomRules: Story = {
272
324
  name: 'Script',
273
325
  code: `
274
326
  <script setup lang="ts">
275
- import NirField from './NirField.vue'
327
+ import NirField from '@cnamts/synapse'
328
+ import { ref } from 'vue'
329
+
330
+ const value = ref('')
276
331
  </script>
277
332
  `,
278
333
  },
@@ -293,8 +348,7 @@ export const WithNumberTooltip: Story = {
293
348
  code: `
294
349
  <template>
295
350
  <NirField
296
- modelValue=""
297
- :outlined="true"
351
+ v-model="value"
298
352
  :required="false"
299
353
  numberLabel="Numéro de sécurité sociale"
300
354
  keyLabel="Clé"
@@ -308,7 +362,7 @@ export const WithNumberTooltip: Story = {
308
362
  name: 'Script',
309
363
  code: `
310
364
  <script setup lang="ts">
311
- import NirField from './NirField.vue'
365
+ import NirField from '@cnamts/synapse'
312
366
  import { ref } from 'vue'
313
367
 
314
368
  const value = ref('')
@@ -332,8 +386,7 @@ export const WithKeyTooltip: Story = {
332
386
  code: `
333
387
  <template>
334
388
  <NirField
335
- modelValue=""
336
- :outlined="true"
389
+ v-model="value"
337
390
  :required="false"
338
391
  numberLabel="Numéro de sécurité sociale"
339
392
  keyLabel="Clé"
@@ -347,7 +400,7 @@ export const WithKeyTooltip: Story = {
347
400
  name: 'Script',
348
401
  code: `
349
402
  <script setup lang="ts">
350
- import NirField from './NirField.vue'
403
+ import NirField from '@cnamts/synapse'
351
404
  import { ref } from 'vue'
352
405
 
353
406
  const value = ref('')