@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
@@ -298,213 +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
- :deep(.sy-input-select) {
352
- width: 100%;
353
- display: flex;
354
- justify-content: space-between;
355
- @media (max-width: 768px) {
356
- font-size: 12px;
357
- span {
358
- overflow: hidden;
359
- white-space: nowrap;
360
- text-overflow: ellipsis;
361
- }
362
- }
363
- }
364
- }
365
-
366
- #left-menu {
367
- ul > li > a {
368
- font-weight: 700;
369
- color: tokens.$blue-darken-40;
370
-
371
- &:hover {
372
- text-decoration: none;
373
- }
374
- }
375
-
376
- li:first-child {
377
- min-width: 95px;
378
- background: transparent;
379
- @media (max-width: $header-breakpoint) {
380
- min-width: 82px;
381
- }
382
- }
383
-
384
- li:nth-child(2) {
385
- z-index: 2;
386
- max-height: 44px;
387
- min-width: 260px;
388
- @media (max-width: 768px) {
389
- max-height: 38px;
390
- min-width: 152px;
391
- }
392
- a {
393
- max-height: 44px;
394
- @media (max-width: 768px) {
395
- max-height: 38px;
396
- }
397
- }
398
- }
399
-
400
- li:nth-child(3) {
401
- background: transparent;
402
- }
403
-
404
- li:first-child a:hover, li:first-child.active {
405
- background: tokens.$user-assure;
406
- }
407
-
408
- li:nth-child(2) a:hover, .highlight {
409
- background: tokens.$user-professionnel;
410
- }
411
-
412
- li:nth-child(3) a:hover, li:nth-child(3).active {
413
- background: tokens.$user-entreprise;
414
- }
415
- }
416
-
417
- #right-menu {
418
- @media (max-width: 1000px) {
419
- display: none;
420
- }
421
- }
422
-
423
- #right-menu ul {
424
- white-space: nowrap;
425
- overflow: hidden;
426
- }
427
-
428
- #right-menu ul li {
429
- display: inline-block;
430
- }
431
-
432
- :deep(.v-input) {
433
- .v-input__details {
434
- display: none;
435
- }
436
-
437
- .v-input__control {
438
- font-weight: 700;
439
-
440
- .text-color {
441
- color: tokens.$blue-darken-60 !important;
442
- }
443
-
444
- .v-icon {
445
- margin-left: 10px;
446
- }
447
-
448
- .custom-select {
449
- display: flex;
450
- justify-content: space-between;
451
- width: 100%;
452
-
453
- span {
454
- max-width: 260px;
455
- white-space: nowrap;
456
- overflow: hidden;
457
- text-overflow: ellipsis;
458
- @media (max-width: 768px) {
459
- max-width: 182px;
460
- }
461
- }
462
- }
463
-
464
- @media (max-width: 768px) {
465
- font-size: 12px;
466
- }
467
- }
468
-
469
- .v-list {
470
- top: 34px !important;
471
- left: -16px !important;
472
- text-align: left;
473
- min-width: 260px;
474
- max-width: fit-content !important;
475
- border-radius: 0;
476
- @media (max-width: 768px) {
477
- position: fixed;
478
- top: 38px !important;
479
- left: 0 !important;
480
- min-width: 100% !important;
481
- box-shadow: none !important;
482
- }
483
-
484
- .v-list-item--density-default.v-list-item--one-line {
485
- min-height: 40px;
486
- }
487
- }
488
- }
489
-
490
- .overlay {
491
- position: fixed;
492
- display: block;
493
- top: 0;
494
- left: 0;
495
- width: 100%;
496
- height: 100%;
497
- background-color: rgba(3, 16, 37, .5);
498
- cursor: default;
499
- backdrop-filter: blur(2px);
500
- z-index: 1;
501
- @media (max-width: 768px) {
502
- display: none;
503
- }
504
- }
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
+ }
505
518
  }
506
519
 
507
520
  .right-menu-item {
508
- color: tokens.$blue-darken-60;
521
+ color: tokens.$blue-darken-60;
509
522
  }
510
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
  `,
@@ -154,7 +154,7 @@ export const Default: Story = {
154
154
  name: 'Script',
155
155
  code: `
156
156
  <script setup lang="ts">
157
- import NirField from './NirField.vue'
157
+ import NirField from '@cnamts/synapse'
158
158
  import { ref } from 'vue'
159
159
 
160
160
  const value = ref('')
@@ -191,7 +191,7 @@ export const Required: Story = {
191
191
  name: 'Script',
192
192
  code: `
193
193
  <script setup lang="ts">
194
- import NirField from './NirField.vue'
194
+ import NirField from '@cnamts/synapse'
195
195
  import { ref } from 'vue'
196
196
 
197
197
  const value = ref('')
@@ -228,7 +228,7 @@ export const WithoutKey: Story = {
228
228
  name: 'Script',
229
229
  code: `
230
230
  <script setup lang="ts">
231
- import NirField from './NirField.vue'
231
+ import NirField from '@cnamts/synapse'
232
232
  import { ref } from 'vue'
233
233
 
234
234
  const value = ref('')
@@ -265,7 +265,7 @@ export const WithSuccessMessages: Story = {
265
265
  name: 'Script',
266
266
  code: `
267
267
  <script setup lang="ts">
268
- import NirField from './NirField.vue'
268
+ import NirField from '@cnamts/synapse'
269
269
  import { ref } from 'vue'
270
270
 
271
271
  const value = ref('')
@@ -324,7 +324,7 @@ export const CustomRules: Story = {
324
324
  name: 'Script',
325
325
  code: `
326
326
  <script setup lang="ts">
327
- import NirField from './NirField.vue'
327
+ import NirField from '@cnamts/synapse'
328
328
  import { ref } from 'vue'
329
329
 
330
330
  const value = ref('')
@@ -362,7 +362,7 @@ export const WithNumberTooltip: Story = {
362
362
  name: 'Script',
363
363
  code: `
364
364
  <script setup lang="ts">
365
- import NirField from './NirField.vue'
365
+ import NirField from '@cnamts/synapse'
366
366
  import { ref } from 'vue'
367
367
 
368
368
  const value = ref('')
@@ -400,7 +400,7 @@ export const WithKeyTooltip: Story = {
400
400
  name: 'Script',
401
401
  code: `
402
402
  <script setup lang="ts">
403
- import NirField from './NirField.vue'
403
+ import NirField from '@cnamts/synapse'
404
404
  import { ref } from 'vue'
405
405
 
406
406
  const value = ref('')