@cnamts/synapse 0.0.14-alpha → 0.0.16-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 (108) hide show
  1. package/dist/components/CookiesSelection/CookiesSelection.d.ts +26 -26
  2. package/dist/components/Customs/SyInputSelect/SyInputSelect.d.ts +2 -2
  3. package/dist/components/Customs/SySelect/SySelect.d.ts +24 -12
  4. package/dist/components/Customs/SySelect/locales.d.ts +3 -0
  5. package/dist/components/Customs/SyTextField/SyTextField.d.ts +1393 -3
  6. package/dist/components/DatePicker/DatePicker.d.ts +3532 -22
  7. package/dist/components/DatePicker/DateTextInput.d.ts +1408 -11
  8. package/dist/components/DialogBox/config.d.ts +1 -1
  9. package/dist/components/DownloadBtn/DownloadBtn.d.ts +2 -0
  10. package/dist/components/LangBtn/LangBtn.d.ts +467 -1
  11. package/dist/components/LangBtn/config.d.ts +1 -3
  12. package/dist/components/NirField/NirField.d.ts +2805 -15
  13. package/dist/components/PasswordField/PasswordField.d.ts +2 -2
  14. package/dist/components/PeriodField/PeriodField.d.ts +7345 -325
  15. package/dist/components/PhoneField/PhoneField.d.ts +3 -3
  16. package/dist/components/SelectBtnField/SelectBtnField.d.ts +1 -1
  17. package/dist/components/SkipLink/SkipLink.d.ts +3 -2
  18. package/dist/components/SyAlert/SyAlert.d.ts +72 -1
  19. package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +26 -26
  20. package/dist/components/UserMenuBtn/UserMenuBtn.d.ts +2 -0
  21. package/dist/components/index.d.ts +2 -0
  22. package/dist/composables/date/useDateFormat.d.ts +2 -2
  23. package/dist/composables/date/useDateFormatDayjs.d.ts +23 -0
  24. package/dist/composables/date/useDateInitializationDayjs.d.ts +18 -0
  25. package/dist/design-system-v3.js +4314 -3987
  26. package/dist/design-system-v3.umd.cjs +1 -1
  27. package/dist/style.css +1 -1
  28. package/dist/vuetifyConfig.d.ts +1 -0
  29. package/package.json +1 -1
  30. package/src/components/BackBtn/Accessibilite.stories.ts +4 -0
  31. package/src/components/BackBtn/BackBtn.vue +2 -1
  32. package/src/components/BackToTopBtn/Accessibilite.stories.ts +4 -0
  33. package/src/components/BackToTopBtn/BackToTopBtn.stories.ts +78 -21
  34. package/src/components/BackToTopBtn/BackToTopBtn.vue +15 -0
  35. package/src/components/BackToTopBtn/config.ts +2 -2
  36. package/src/components/BackToTopBtn/tests/__snapshots__/BackToTopBtn.spec.ts.snap +4 -4
  37. package/src/components/CopyBtn/Accessibilite.stories.ts +4 -0
  38. package/src/components/Customs/SyBtnSelect/SyBtnSelect.stories.ts +2 -2
  39. package/src/components/Customs/SyBtnSelect/SyBtnSelect.vue +0 -1
  40. package/src/components/Customs/SyInputSelect/SyInputSelect.stories.ts +3 -3
  41. package/src/components/Customs/SyInputSelect/SyInputSelect.vue +4 -4
  42. package/src/components/Customs/SySelect/SySelect.stories.ts +4 -0
  43. package/src/components/Customs/SySelect/SySelect.vue +75 -10
  44. package/src/components/Customs/SySelect/locales.ts +3 -0
  45. package/src/components/Customs/SySelect/tests/SySelect.spec.ts +24 -2
  46. package/src/components/Customs/SyTextField/Accessibilite.stories.ts +7 -0
  47. package/src/components/Customs/SyTextField/SyTextField.stories.ts +14 -1
  48. package/src/components/Customs/SyTextField/SyTextField.vue +85 -20
  49. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +795 -0
  50. package/src/components/DatePicker/DatePicker.stories.ts +432 -1
  51. package/src/components/DatePicker/DatePicker.vue +143 -76
  52. package/src/components/DatePicker/DatePickerValidation.mdx +338 -0
  53. package/src/components/DatePicker/DatePickerValidation.stories.ts +30 -0
  54. package/src/components/DatePicker/DateTextInput.vue +87 -135
  55. package/src/components/DatePicker/docExamples/DatePickerBidirectionalValidation.vue +282 -0
  56. package/src/components/DatePicker/docExamples/DatePickerValidationExamples.vue +535 -0
  57. package/src/components/DatePicker/tests/DatePicker.spec.ts +33 -32
  58. package/src/components/DatePicker/tests/DateTextInput.spec.ts +83 -35
  59. package/src/components/DialogBox/DialogBox.stories.ts +5 -2
  60. package/src/components/DialogBox/DialogBox.vue +1 -1
  61. package/src/components/DialogBox/config.ts +1 -1
  62. package/src/components/DownloadBtn/Accessibilite.stories.ts +4 -0
  63. package/src/components/DownloadBtn/DownloadBtn.stories.ts +17 -8
  64. package/src/components/DownloadBtn/DownloadBtn.vue +13 -6
  65. package/src/components/DownloadBtn/tests/__snapshots__/DownloadBtn.spec.ts.snap +0 -2
  66. package/src/components/FranceConnectBtn/Accessibilite.stories.ts +4 -0
  67. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.vue +3 -0
  68. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.vue +3 -0
  69. package/src/components/HeaderBar/HeaderBurgerMenu/menu.scss +19 -0
  70. package/src/components/HeaderBar/HeaderMenuBtn/HeaderMenuBtn.vue +12 -2
  71. package/src/components/LangBtn/Accessibilite.stories.ts +4 -0
  72. package/src/components/LangBtn/LangBtn.stories.ts +1 -4
  73. package/src/components/LangBtn/LangBtn.vue +68 -9
  74. package/src/components/LangBtn/config.ts +0 -1
  75. package/src/components/LangBtn/tests/LangBtn.spec.ts +30 -2
  76. package/src/components/PageContainer/Accessibilite.stories.ts +36 -23
  77. package/src/components/PaginatedTable/PaginatedTable.stories.ts +144 -18
  78. package/src/components/PasswordField/PasswordField.stories.ts +6 -6
  79. package/src/components/PasswordField/PasswordField.vue +3 -3
  80. package/src/components/PeriodField/PeriodField.vue +4 -4
  81. package/src/components/PhoneField/PhoneField.stories.ts +216 -24
  82. package/src/components/PhoneField/PhoneField.vue +32 -2
  83. package/src/components/PhoneField/tests/PhoneField.spec.ts +161 -14
  84. package/src/components/RatingPicker/NumberPicker/NumberPicker.vue +2 -1
  85. package/src/components/RatingPicker/RatingPicker.stories.ts +1 -1
  86. package/src/components/SkipLink/Accessibilite.stories.ts +8 -0
  87. package/src/components/SkipLink/SkipLink.vue +11 -9
  88. package/src/components/SkipLink/tests/__snapshots__/skipLink.spec.ts.snap +7 -4
  89. package/src/components/SkipLink/tests/skipLink.spec.ts +120 -6
  90. package/src/components/SyAlert/Accessibilite.stories.ts +4 -0
  91. package/src/components/SyAlert/SyAlert.mdx +3 -7
  92. package/src/components/SyAlert/SyAlert.stories.ts +19 -12
  93. package/src/components/SyAlert/SyAlert.vue +88 -51
  94. package/src/components/SyAlert/tests/SyAlert.spec.ts +20 -2
  95. package/src/components/SyAlert/tests/__snapshots__/SyAlert.spec.ts.snap +83 -75
  96. package/src/components/UserMenuBtn/UserMenuBtn.stories.ts +56 -0
  97. package/src/components/UserMenuBtn/UserMenuBtn.vue +4 -2
  98. package/src/components/UserMenuBtn/tests/UserMenuBtn.spec.ts +41 -0
  99. package/src/components/index.ts +2 -0
  100. package/src/composables/date/useDateFormat.ts +17 -1
  101. package/src/composables/date/useDateFormatDayjs.ts +84 -0
  102. package/src/composables/date/useDateInitializationDayjs.ts +133 -0
  103. package/src/composables/rules/useFieldValidation.ts +26 -3
  104. package/src/stories/Accessibilite/Avancement/Avancement.mdx +12 -0
  105. package/src/stories/Accessibilite/Avancement/Avancement.stories.ts +134 -0
  106. package/src/stories/Accessibilite/KitDePreAudit/Echantillonnage.mdx +1 -1
  107. package/src/stories/GuideDuDev/LesBreackingChanges.mdx +31 -2
  108. package/src/components/LangBtn/tests/Config.spec.ts +0 -24
@@ -0,0 +1,134 @@
1
+ import type { StoryObj } from '@storybook/vue3'
2
+ import { computed } from 'vue'
3
+
4
+ export default {
5
+ title: 'Accessibilité/Avancement',
6
+ }
7
+
8
+ export const PreAudit: StoryObj = {
9
+ render: () => {
10
+ return {
11
+ setup() {},
12
+ template: `
13
+ <v-chip
14
+ class="ma-2"
15
+ color="success"
16
+ variant="elevated"
17
+ >
18
+ 50/50 Composants
19
+ </v-chip>
20
+ `,
21
+ }
22
+ },
23
+ tags: ['!dev'],
24
+ }
25
+
26
+ export const Manuel: StoryObj = {
27
+ render: () => {
28
+ return {
29
+ setup() {
30
+ const headers = [
31
+ { text: 'Composant', value: 'composant' },
32
+ { text: 'Statut', value: 'status' },
33
+ ]
34
+
35
+ const items = [
36
+ { composant: 'PageContainer', status: 'Audité' },
37
+ { composant: 'SkipLink', status: 'Audité' },
38
+ { composant: 'Alerts', status: 'Audité' },
39
+ { composant: 'NotificationBar', status: 'Non audité' },
40
+ { composant: 'BackBtn', status: 'Audité' },
41
+ { composant: 'BackToTopBtn', status: 'Audité' },
42
+ { composant: 'CopyBtn', status: 'Audité' },
43
+ { composant: 'LangBtn', status: 'Audité' },
44
+ { composant: 'DownloadBtn', status: 'Audité' },
45
+ { composant: 'FranceConnectBtn', status: 'Audité' },
46
+ { composant: 'SyTextField', status: 'Audité' },
47
+ { composant: 'HeaderBar', status: 'Non audité' },
48
+ { composant: 'HeaderNavigationBar', status: 'Non audité' },
49
+ { composant: 'LogoBrandSection', status: 'Non audité' },
50
+ { composant: 'SubHeader', status: 'Non audité' },
51
+ { composant: 'HeaderLoading', status: 'Non audité' },
52
+ { composant: 'HeaderToolbar', status: 'Non audité' },
53
+ { composant: 'Footer', status: 'Non audité' },
54
+ { composant: 'SySelect', status: 'Non audité' },
55
+ { composant: 'SyInputSelect', status: 'Non audité' },
56
+ { composant: 'Logo', status: 'Non audité' },
57
+ { composant: 'DataListGroup', status: 'Non audité' },
58
+ { composant: 'DataList', status: 'Non audité' },
59
+ { composant: 'DataListItem', status: 'Non audité' },
60
+ { composant: 'DataListLoading', status: 'Non audité' },
61
+ { composant: 'ErrorPage', status: 'Non audité' },
62
+ { composant: 'CookieBanner', status: 'Non audité' },
63
+ { composant: 'ExternalLinks', status: 'Non audité' },
64
+ { composant: 'ContextualMenu', status: 'Non audité' },
65
+ { composant: 'DialogBox', status: 'Non audité' },
66
+ { composant: 'PasswordField', status: 'Non audité' },
67
+ { composant: 'PhoneField', status: 'Non audité' },
68
+ { composant: 'UserMenuBtn', status: 'Non audité' },
69
+ { composant: 'SyBtnSelect', status: 'Non audité' },
70
+ { composant: 'NirField', status: 'Non audité' },
71
+ { composant: 'PeriodField', status: 'Non audité' },
72
+ { composant: 'RangeField', status: 'Non audité' },
73
+ { composant: 'SearchListField', status: 'Non audité' },
74
+ { composant: 'SelectBtnField', status: 'Non audité' },
75
+ { composant: 'RatingPicker', status: 'Non audité' },
76
+ { composant: 'DatePicker', status: 'Non audité' },
77
+ { composant: 'FileUpload', status: 'Non audité' },
78
+ { composant: 'FilePreview', status: 'Non audité' },
79
+ { composant: 'FileList', status: 'Non audité' },
80
+ { composant: 'UploadWorkflow', status: 'Non audité' },
81
+ { composant: 'ChipList', status: 'Non audité' },
82
+ { composant: 'FilterInline', status: 'Non audité' },
83
+ { composant: 'FilterSideBar', status: 'Non audité' },
84
+ { composant: 'PaginatedTable', status: 'Non audité' },
85
+ { composant: 'TableToolbar', status: 'Non audité' },
86
+ ]
87
+
88
+ const totalItems = computed(() => items.length)
89
+
90
+ const checkedItems = computed(() => {
91
+ return items.filter(item => item.status === 'Audité').length
92
+ })
93
+
94
+ return { headers, items, totalItems, checkedItems }
95
+ },
96
+ template: `
97
+ <v-chip
98
+ class="ma-2"
99
+ color="warning"
100
+ variant="elevated"
101
+ >
102
+ {{checkedItems}}/{{totalItems}} Composants
103
+ </v-chip>
104
+
105
+ <v-data-table
106
+ :items="items"
107
+ :items-per-page="10"
108
+ class="elevation-1 mt-4"
109
+ item-value="composant"
110
+ >
111
+ <template #header.composant>
112
+ <span class="font-weight-bold">Composant</span>
113
+ </template>
114
+ <template #header.status>
115
+ <span class="font-weight-bold">Status</span>
116
+ </template>
117
+ <template #item.composant="{ item }">
118
+ {{ item.composant }}
119
+ </template>
120
+ <template #item.status="{ item }">
121
+ <v-chip
122
+ :color="item.status === 'Audité' ? 'success' : 'warning'"
123
+ variant="flat"
124
+ small
125
+ >
126
+ {{ item.status }}
127
+ </v-chip>
128
+ </template>
129
+ </v-data-table>
130
+ `,
131
+ }
132
+ },
133
+ tags: ['!dev'],
134
+ }
@@ -37,4 +37,4 @@ Certains contenus sont exemptés de l’obligation d’accessibilité et se situ
37
37
  7. Les contenus des intranets et des extranets publiés avant le 23 septembre 2019, jusqu’à ce que ces sites fassent l’objet d’une révision en profondeur ;
38
38
  8. Les contenus des sites internet et des applications mobiles qui ne sont ni nécessaires à l’accomplissement d’une démarche administrative active ni mis à jour ou modifiés après le 23 septembre 2019, notamment les archives.
39
39
 
40
- Il existe un système de dérogation dans la mise en conformité d’un service numérique à l’accessible : la charge disproportionnée. Elle permet de déroger à certaines règles d'accessibilité lorsque leur mise en œuvre engendre une charge excessive pour l'organisation. Cela peut inclure des contraintes techniques, financières ou temporelles qui rendent la conformité à une norme spécifique difficile ou irréalisable. L’absence de priorité, le manque de temps ou de connaissance ne sont pas des circonstances légitimes de dérogations. Cette dérogation doit être justifiée, documentée et nécessite un accord auprès de la DSI de la CNAM. De plus, des solutions alternatives doivent être proposées pour garantir un accès maximal aux utilisateurs en situation de handicap.
40
+ Il existe un système de dérogation dans la mise en conformité d’un service numérique à l’accessible : la charge disproportionnée. Elle permet de déroger à certaines règles d'accessibilité lorsque leur mise en œuvre engendre une charge excessive pour l'organisation. Cela peut inclure des contraintes techniques, financières ou temporelles qui rendent la conformité à une norme spécifique difficile ou irréalisable. L’absence de priorité, le manque de temps ou de connaissance ne sont pas des circonstances légitimes de dérogations. Cette dérogation doit être justifiée, documentée et nécessite un accord auprès du comité de gouvernance de la l'accessibilité numérique (en attendant sa création, c'est la Filière Digital qui en a le mandat). De plus, des solutions alternatives doivent être proposées pour garantir un accès maximal aux utilisateurs en situation de handicap.
@@ -12,7 +12,7 @@ Les librairies `vue-dot` et `synapse-bridge` utilisaient en interne la librairie
12
12
 
13
13
  Le form builder n'est plus maintenu par le design system dans sa version synapse. Vous pouvez trouvez le code source dans sa version vue2 [ici](https://github.com/assurance-maladie-digital/design-system/tree/v2/packages/form-builder) et sa version vue3 [ici](https://github.com/assurance-maladie-digital/design-system/tree/v2/packages/form-builder).
14
14
 
15
- ## Les composants
15
+ ## Les composants Synapse
16
16
 
17
17
  ### CustomIcon
18
18
 
@@ -33,4 +33,33 @@ Vous devez désormais utiliser le composant [VIcon](https://vuetifyjs.com/en/com
33
33
 
34
34
  ### FilterModule
35
35
 
36
- Le composant `FilterModule` n'était pas optimisé du point de vue expérience utilisateur, le nombre de clics pour accéder à un filtre était trop important. Il a été remplacé par le composant [FilterInline](/docs/composants-filtres-filterssidebar--docs) et [FilterSideBar](/docs/composants-filtres-filterinline--docs).
36
+ Le composant `FilterModule` n'était pas optimisé du point de vue expérience utilisateur, le nombre de clics pour accéder à un filtre était trop important. Il a été remplacé par le composant [FilterSideBar](/docs/composants-filtres-filterssidebar--docs) et [FilterInline](/docs/composants-filtres-filterinline--docs).
37
+
38
+ ### FilePreview
39
+
40
+ La props `locales` a été ajoutée afin de gérer la localisation des messages d'erreurs.
41
+
42
+ [Voir l'API du composant](https://cnam-design-system.netlify.app/?path=/docs/composants-donn%C3%A9es-filepreview--docs)
43
+
44
+ ### NirField
45
+
46
+ - Le variant utilisé par défaut est maintenant 'outlined'.
47
+ - La props `nir-length` a été renomée en `displayKey`.
48
+ - La props `tooltip` a été supprimée au profit des props `nirTooltip` et `keyTooltip`, ainsi que `nirTooltipPosition` et `keyTooltipPosition`.
49
+ - Ajout de nouvelles props pour la gestion des erreurs: `disableErrorHandling`, `customNumberRules` et `customKeyRules`
50
+
51
+
52
+ [Voir l'API du composant](https://cnam-design-system.netlify.app/?path=/docs/composants-formulaires-nirfield--docs#api)
53
+
54
+ ### DatePicker
55
+
56
+ Des changements sont encore susceptibles d'avoir lieu sur ce composant.
57
+
58
+ - Le variant utilisé par défaut est maintenant 'outlined'.
59
+ - Le composant en mode calendrier ne permet plus la saisie manuelle de la date.
60
+ - Les props `no-prepend-icon` et `append-icon` ont été remplacés par les props `displayIcon` et `displayAppendIcon`.
61
+ - La props `mask` a été retirée.
62
+ - Les modes `birthdate` et `picker-date` ont été retirés.
63
+ - Les slots `prepend` et `append` ont été retirées.
64
+
65
+ [Voir l'API du composant](https://cnam-design-system.netlify.app/?path=/docs/composants-formulaires-nirfield--docs#api)
@@ -1,24 +0,0 @@
1
- import config from '../config'
2
- import { describe, it, expect } from 'vitest'
3
-
4
- describe('config', () => {
5
- it('should have correct menu configuration', () => {
6
- expect(config.menu).toEqual({
7
- offsetY: true,
8
- })
9
- })
10
-
11
- it('should have correct button configuration', () => {
12
- expect(config.btn).toEqual({
13
- color: 'primary',
14
- variant: 'outlined',
15
- ripple: true,
16
- })
17
- })
18
-
19
- it('should have correct icon configuration', () => {
20
- expect(config.icon).toEqual({
21
- class: 'ml-1',
22
- })
23
- })
24
- })