@cnamts/synapse 0.0.11-alpha → 0.0.12-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/design-system-v3.js +3878 -3189
  2. package/dist/design-system-v3.umd.cjs +1 -1
  3. package/dist/src/components/Amelipro/types/languages.d.ts +6 -0
  4. package/dist/src/components/Amelipro/types/types.d.ts +65 -0
  5. package/dist/src/components/CookieBanner/CookieBanner.d.ts +1 -1
  6. package/dist/src/components/Customs/SyInputSelect/SyInputSelect.d.ts +2 -0
  7. package/dist/src/components/Customs/SyTextField/SyTextField.d.ts +29 -23
  8. package/dist/src/components/Customs/SyTextField/types.d.ts +1 -0
  9. package/dist/src/components/DatePicker/DatePicker.d.ts +70 -59
  10. package/dist/src/components/DatePicker/DateTextInput.d.ts +67 -56
  11. package/dist/src/components/ErrorPage/ErrorPage.d.ts +1 -1
  12. package/dist/src/components/FileList/FileList.d.ts +1 -0
  13. package/dist/src/components/FileList/UploadItem/UploadItem.d.ts +1 -1
  14. package/dist/src/components/FilterSideBar/FilterSideBar.d.ts +31 -0
  15. package/dist/src/components/FilterSideBar/locales.d.ts +7 -0
  16. package/dist/src/components/FilterSideBar/tests/FilterSideBar.spec.d.ts +1 -0
  17. package/dist/src/components/LangBtn/LangBtn.d.ts +2 -2
  18. package/dist/src/components/NirField/NirField.d.ts +940 -0
  19. package/dist/src/components/NotificationBar/NotificationBar.d.ts +1 -1
  20. package/dist/src/components/PasswordField/PasswordField.d.ts +40 -8
  21. package/dist/src/components/PeriodField/PeriodField.d.ts +142 -120
  22. package/dist/src/components/PhoneField/PhoneField.d.ts +11 -2
  23. package/dist/src/components/RatingPicker/EmotionPicker/EmotionPicker.d.ts +1 -1
  24. package/dist/src/components/RatingPicker/NumberPicker/NumberPicker.d.ts +1 -1
  25. package/dist/src/components/RatingPicker/StarsPicker/StarsPicker.d.ts +1 -1
  26. package/dist/src/components/UploadWorkflow/config.d.ts +29 -0
  27. package/dist/src/components/UploadWorkflow/locales.d.ts +7 -0
  28. package/dist/src/components/UploadWorkflow/tests/UploadWorkflow.spec.d.ts +1 -0
  29. package/dist/src/components/UploadWorkflow/types.d.ts +19 -0
  30. package/dist/src/components/UploadWorkflow/useFileList.d.ts +10 -0
  31. package/dist/src/components/UploadWorkflow/useFileUploadJourney.d.ts +9 -0
  32. package/dist/src/components/index.d.ts +2 -0
  33. package/dist/src/composables/rules/useFieldValidation.d.ts +1 -0
  34. package/dist/src/composables/validation/tests/useValidation.spec.d.ts +1 -0
  35. package/dist/src/composables/validation/useValidation.d.ts +39 -0
  36. package/dist/src/designTokens/index.d.ts +3 -1
  37. package/dist/src/vuetifyConfig.d.ts +81 -0
  38. package/dist/style.css +1 -1
  39. package/package.json +1 -1
  40. package/src/assets/_elevations.scss +89 -0
  41. package/src/assets/_fonts.scss +6 -0
  42. package/src/assets/_radius.scss +86 -0
  43. package/src/assets/_spacers.scss +149 -0
  44. package/src/assets/settings.scss +7 -3
  45. package/src/assets/tokens.scss +32 -29
  46. package/src/components/Amelipro/types/languages.d.ts +6 -0
  47. package/src/components/Amelipro/types/types.d.ts +65 -0
  48. package/src/components/Customs/SyInputSelect/SyInputSelect.stories.ts +65 -0
  49. package/src/components/Customs/SyInputSelect/SyInputSelect.vue +13 -3
  50. package/src/components/Customs/SySelect/SySelect.stories.ts +88 -5
  51. package/src/components/Customs/SySelect/SySelect.vue +36 -10
  52. package/src/components/Customs/SySelect/tests/SySelect.spec.ts +135 -2
  53. package/src/components/Customs/SyTextField/SyTextField.stories.ts +576 -85
  54. package/src/components/Customs/SyTextField/SyTextField.vue +132 -104
  55. package/src/components/Customs/SyTextField/tests/SyTextField.spec.ts +190 -38
  56. package/src/components/Customs/SyTextField/types.d.ts +1 -0
  57. package/src/components/DatePicker/DatePicker.vue +405 -137
  58. package/src/components/DatePicker/DateTextInput.vue +15 -0
  59. package/src/components/DatePicker/tests/DatePicker.spec.ts +8 -15
  60. package/src/components/FileList/FileList.vue +2 -1
  61. package/src/components/FileList/UploadItem/UploadItem.vue +10 -0
  62. package/src/components/FileUpload/FileUpload.stories.ts +84 -0
  63. package/src/components/FileUpload/FileUpload.vue +1 -0
  64. package/src/components/FileUpload/tests/FileUpload.spec.ts +4 -4
  65. package/src/components/FilterInline/FilterInline.mdx +180 -34
  66. package/src/components/FilterInline/FilterInline.stories.ts +363 -6
  67. package/src/components/FilterSideBar/FilterSideBar.mdx +237 -0
  68. package/src/components/FilterSideBar/FilterSideBar.stories.ts +798 -0
  69. package/src/components/FilterSideBar/FilterSideBar.vue +193 -0
  70. package/src/components/FilterSideBar/locales.ts +8 -0
  71. package/src/components/FilterSideBar/tests/FilterSideBar.spec.ts +305 -0
  72. package/src/components/FilterSideBar/tests/__snapshots__/FilterSideBar.spec.ts.snap +39 -0
  73. package/src/components/HeaderBar/Usages.mdx +1 -1
  74. package/src/components/NirField/NirField.stories.ts +573 -29
  75. package/src/components/NirField/NirField.vue +397 -359
  76. package/src/components/NirField/tests/NirField.spec.ts +88 -52
  77. package/src/components/NirField/tests//342/200/257dataset/342/200/257.md +12 -0
  78. package/src/components/NotificationBar/Accessibilite.stories.ts +4 -0
  79. package/src/components/NotificationBar/NotificationBar.stories.ts +18 -13
  80. package/src/components/PasswordField/PasswordField.mdx +129 -47
  81. package/src/components/PasswordField/PasswordField.stories.ts +924 -120
  82. package/src/components/PasswordField/PasswordField.vue +209 -99
  83. package/src/components/PasswordField/tests/PasswordField.spec.ts +138 -9
  84. package/src/components/PeriodField/PeriodField.vue +55 -54
  85. package/src/components/PhoneField/PhoneField.stories.ts +69 -0
  86. package/src/components/PhoneField/PhoneField.vue +3 -0
  87. package/src/components/PhoneField/indicatifs.ts +1 -1
  88. package/src/components/UploadWorkflow/UploadWorkflow.mdx +75 -0
  89. package/src/components/UploadWorkflow/UploadWorkflow.stories.ts +943 -0
  90. package/src/components/UploadWorkflow/UploadWorkflow.vue +230 -0
  91. package/src/components/UploadWorkflow/config.ts +29 -0
  92. package/src/components/UploadWorkflow/locales.ts +8 -0
  93. package/src/components/UploadWorkflow/tests/UploadWorkflow.spec.ts +257 -0
  94. package/src/components/UploadWorkflow/tests/__snapshots__/UploadWorkflow.spec.ts.snap +54 -0
  95. package/src/components/UploadWorkflow/types.ts +21 -0
  96. package/src/components/UploadWorkflow/useFileList.ts +84 -0
  97. package/src/components/UploadWorkflow/useFileUploadJourney.ts +18 -0
  98. package/src/components/index.ts +2 -0
  99. package/src/composables/rules/useFieldValidation.ts +5 -2
  100. package/src/composables/validation/tests/useValidation.spec.ts +154 -0
  101. package/src/composables/validation/useValidation.ts +165 -0
  102. package/src/designTokens/index.ts +4 -0
  103. package/src/stories/Demarrer/Accueil.mdx +1 -1
  104. package/src/stories/DesignTokens/ThemePA.mdx +4 -30
  105. package/src/stories/GuideDuDev/UtiliserLesRules.mdx +319 -76
  106. package/src/stories/GuideDuDev/moduleDeNotification.mdx +1 -1
  107. package/src/vuetifyConfig.ts +61 -0
  108. package/src/composables/useFilterable/__snapshots__/useFilterable.spec.ts.snap +0 -3
@@ -0,0 +1,193 @@
1
+ <script lang="ts" setup>
2
+ import { computed, ref, toRef } from 'vue'
3
+ import { locales as defaultLocales } from './locales'
4
+ import { mdiFilterVariant } from '@mdi/js'
5
+ import ChipList from '../ChipList/ChipList.vue'
6
+ import type { FilterProp } from '@/composables/useFilterable/useFilterable'
7
+ import useFilterable from '@/composables/useFilterable/useFilterable'
8
+
9
+ const props = withDefaults(defineProps<{
10
+ modelValue?: FilterProp
11
+ locales?: typeof defaultLocales
12
+ }>(), {
13
+ modelValue: () => [],
14
+ locales: () => defaultLocales,
15
+ })
16
+
17
+ const emits = defineEmits<{
18
+ 'update:modelValue': (value: FilterProp) => void
19
+ }>()
20
+
21
+ const {
22
+ filters,
23
+ updateValue,
24
+ removeChip,
25
+ resetFilter,
26
+ getChips,
27
+ getFilterCount,
28
+ formatFilterName,
29
+ resetAllFilters,
30
+ } = useFilterable(toRef(props, 'modelValue'), emits)
31
+
32
+ const drawer = ref(false)
33
+
34
+ const activeFiltersCount = computed(() => {
35
+ return props.modelValue.reduce((count, filter) => {
36
+ return count + getFilterCount(filter)
37
+ }, 0)
38
+ })
39
+
40
+ function toggleDrawer(): void {
41
+ drawer.value = !drawer.value
42
+ }
43
+
44
+ function applyFilters(): void {
45
+ updateValue()
46
+ drawer.value = false
47
+ }
48
+
49
+ </script>
50
+
51
+ <template>
52
+ <div class="sy-filters-side-bar">
53
+ <VBtn
54
+ class="px-8 py-3"
55
+ :class="{ 'v-btn--active': drawer }"
56
+ color="primary"
57
+ variant="text"
58
+ size="large"
59
+ @click="toggleDrawer"
60
+ >
61
+ <VBadge
62
+ v-if="activeFiltersCount"
63
+ :content="activeFiltersCount"
64
+ :label="locales.badgeLabel(activeFiltersCount)"
65
+ color="secondary"
66
+ inline
67
+ class="ml-n1 mr-1"
68
+ />
69
+
70
+ {{ locales.filterBtnLabel }}
71
+
72
+ <VIcon
73
+ class="ml-2"
74
+ size="small"
75
+ >
76
+ {{ mdiFilterVariant }}
77
+ </VIcon>
78
+ </VBtn>
79
+
80
+ <VNavigationDrawer
81
+ :model-value="drawer"
82
+ sticky
83
+ temporary
84
+ location="right"
85
+ rounded="0"
86
+ :scrim="false"
87
+ rail
88
+ rail-width="395"
89
+ disable-resize-watcher
90
+ class="elevation-6"
91
+ >
92
+ <VExpansionPanels variant="accordion">
93
+ <VExpansionPanel
94
+ v-for="filter in filters"
95
+ :key="filter.name"
96
+ :class="`vd-filter-${filter.name}`"
97
+ tile
98
+ elevation="0"
99
+ >
100
+ <VExpansionPanelTitle class="text-subtitle-2">
101
+ {{ filter.title }}
102
+
103
+ <span
104
+ v-if="getFilterCount(filter)"
105
+ class="ml-1"
106
+ >
107
+ ({{ getFilterCount(filter) }})
108
+ </span>
109
+ </VExpansionPanelTitle>
110
+
111
+ <VExpansionPanelText>
112
+ <ChipList
113
+ :items="getChips(filter)"
114
+ :overflow-limit="filter.chipOverflowLimit"
115
+ class="mb-5"
116
+ :vuetify-options="{ chip: { color: 'secondary' }, icon: { color: 'white'} }"
117
+ @remove="removeChip(filter, $event)"
118
+ @reset="resetFilter(filter)"
119
+ />
120
+
121
+ <slot
122
+ :name="`${formatFilterName(filter.name)}`"
123
+ :props="{
124
+ modelValue: filter.value,
125
+ 'onUpdate:modelValue': (value: unknown) =>
126
+ (filter.value = value),
127
+ }"
128
+ />
129
+ </VExpansionPanelText>
130
+ </VExpansionPanel>
131
+ </VExpansionPanels>
132
+
133
+ <VSpacer />
134
+
135
+ <div class="px-4 pb-4 pt-10">
136
+ <VBtn
137
+ color="primary"
138
+ block
139
+ size="large"
140
+ variant="outlined"
141
+ class="mb-4"
142
+ @click="drawer = false"
143
+ >
144
+ {{ locales.close }}
145
+ </VBtn>
146
+
147
+ <VBtn
148
+ color="primary"
149
+ block
150
+ size="large"
151
+ variant="outlined"
152
+ class="mb-4"
153
+ @click.stop="resetAllFilters"
154
+ >
155
+ {{ locales.reset }}
156
+ </VBtn>
157
+
158
+ <VBtn
159
+ block
160
+ size="large"
161
+ color="primary"
162
+ @click.stop="applyFilters"
163
+ >
164
+ {{ locales.apply }}
165
+ </VBtn>
166
+ </div>
167
+ </VNavigationDrawer>
168
+ </div>
169
+ </template>
170
+
171
+ <style lang="scss" scoped>
172
+ .sy-filters-side-bar :deep() {
173
+ .v-navigation-drawer {
174
+ &__content {
175
+ display: flex;
176
+ flex-direction: column;
177
+ }
178
+
179
+ &__border {
180
+ display: none;
181
+ }
182
+ }
183
+
184
+ .v-expansion-panel {
185
+ border-bottom: 1px solid rgb(0 0 0 / 12%);
186
+ }
187
+
188
+ .v-expansion-panel:not(:first-child)::after {
189
+ display: none;
190
+ }
191
+ }
192
+
193
+ </style>
@@ -0,0 +1,8 @@
1
+ export const locales = {
2
+ filterBtnLabel: 'Filtres',
3
+ badgeLabel: (count: number): string =>
4
+ `${count} filtre${count > 1 ? 's' : ''}`,
5
+ reset: 'Réinitialiser',
6
+ close: 'Fermer',
7
+ apply: 'Appliquer',
8
+ } as const
@@ -0,0 +1,305 @@
1
+ /* eslint-disable vue/one-component-per-file */
2
+ import { describe, it, expect } from 'vitest'
3
+ import { mount } from '@vue/test-utils'
4
+ import { vuetify } from '@tests/unit/setup'
5
+
6
+ import FilterSideBar from '../FilterSideBar.vue'
7
+ import { defineComponent } from 'vue'
8
+ import { VApp } from 'vuetify/components'
9
+
10
+ describe('FilterSideBar', () => {
11
+ const EventSenderComponent = defineComponent({
12
+ emits: ['update:modelValue'],
13
+ methods: {
14
+ sentEvent() {
15
+ this.$emit('update:modelValue', 'Jane Doe')
16
+ },
17
+ },
18
+ template: '<div>lorem</div>',
19
+ })
20
+
21
+ const TestComponent = defineComponent({
22
+ components: { VApp, FiltersSideBar: FilterSideBar, EventSenderComponent },
23
+ props: {
24
+ modelValue: {
25
+ type: Array,
26
+ required: true,
27
+ },
28
+ },
29
+ data() {
30
+ return {
31
+ localModelValue: this.modelValue,
32
+ }
33
+ },
34
+ watch: {
35
+ localModelValue(newValue) {
36
+ this.$emit('update:modelValue', newValue)
37
+ },
38
+ },
39
+ template: `
40
+ <VApp>
41
+ <FiltersSideBar v-model="localModelValue">
42
+ <template v-slot:name="{ attrs }">
43
+ <EventSenderComponent
44
+ v-bind="attrs"
45
+ />
46
+ </template>
47
+ </FiltersSideBar>
48
+ </VApp>
49
+ `,
50
+ })
51
+
52
+ it('renders correctly', () => {
53
+ const wrapper = mount(TestComponent, {
54
+ global: {
55
+ plugins: [vuetify],
56
+ },
57
+ props: {
58
+ modelValue: [],
59
+ },
60
+ })
61
+
62
+ expect(wrapper.html()).toMatchSnapshot()
63
+ })
64
+
65
+ it('renders correctly with an active filter', async () => {
66
+ const wrapper = mount(TestComponent, {
67
+ props: {
68
+ modelValue: [
69
+ {
70
+ name: 'name',
71
+ title: 'Nom',
72
+ value: 'John Doe',
73
+ },
74
+ ],
75
+ },
76
+ global: {
77
+ plugins: [vuetify],
78
+ },
79
+ })
80
+
81
+ await wrapper.find('.v-btn__content').trigger('click')
82
+
83
+ await wrapper.find('.v-expansion-panel-title').trigger('click')
84
+
85
+ expect(wrapper.find('.v-chip').text()).toBe('John Doe')
86
+ })
87
+
88
+ it('renders correctly with multiple active filters', () => {
89
+ const wrapper = mount(TestComponent, {
90
+ propsData: {
91
+ modelValue: [
92
+ {
93
+ name: 'name',
94
+ label: 'Nom',
95
+ value: 'John Doe',
96
+ },
97
+ {
98
+ name: 'age',
99
+ label: 'Âge',
100
+ value: '18',
101
+ },
102
+ ],
103
+ },
104
+ global: {
105
+ plugins: [vuetify],
106
+ },
107
+ })
108
+
109
+ expect(wrapper.findAll('.v-expansion-panel').length).toBe(2)
110
+ })
111
+
112
+ it('emits "update:modelValue" event when a filter is removed', async () => {
113
+ const wrapper = mount(TestComponent, {
114
+ props: {
115
+ modelValue: [
116
+ {
117
+ name: 'name',
118
+ label: 'Nom',
119
+ value: 'John Doe',
120
+ },
121
+ ],
122
+ },
123
+ global: {
124
+ plugins: [vuetify],
125
+ },
126
+ })
127
+
128
+ await wrapper.find('.v-btn__content').trigger('click')
129
+
130
+ await wrapper.find('.v-expansion-panel-title').trigger('click')
131
+
132
+ await wrapper.find('.remove-chip').trigger('click')
133
+
134
+ await wrapper.find('button:nth-child(3)').trigger('click')
135
+
136
+ expect(wrapper.emitted('update:modelValue')?.[0][0]).toEqual([
137
+ {
138
+ name: 'name',
139
+ label: 'Nom',
140
+ value: undefined,
141
+ },
142
+ ])
143
+ })
144
+
145
+ it('renders the template corresponding to the filter name', async () => {
146
+ const wrapper = mount(TestComponent, {
147
+ props: {
148
+ modelValue: [
149
+ {
150
+ name: 'name',
151
+ title: 'Nom',
152
+ },
153
+ ],
154
+ },
155
+ global: {
156
+ plugins: [vuetify],
157
+ },
158
+ })
159
+
160
+ expect(wrapper.find('.v-expansion-panel-title').text()).toBe('Nom')
161
+ })
162
+
163
+ it('emits "update:modelValue" event when a filter is added', async () => {
164
+ const wrapper = mount(TestComponent, {
165
+ props: {
166
+ modelValue: [
167
+ {
168
+ name: 'name',
169
+ title: 'Nom',
170
+ },
171
+ ],
172
+ },
173
+ global: {
174
+ plugins: [vuetify],
175
+ },
176
+ })
177
+
178
+ await wrapper.find('.v-btn__content').trigger('click')
179
+ await wrapper.find('.v-expansion-panel-title').trigger('click')
180
+
181
+ const EventSender = wrapper.findComponent(EventSenderComponent)
182
+ await wrapper.find('button:nth-child(3)').trigger('click')
183
+
184
+ EventSender.vm.sentEvent()
185
+
186
+ expect(wrapper.emitted('update:modelValue')).toBeTruthy()
187
+ })
188
+
189
+ it('reset one filter when the reset button of the filter is clicked', async () => {
190
+ const wrapper = mount(TestComponent, {
191
+ props: {
192
+ modelValue: [
193
+ {
194
+ name: 'name',
195
+ title: 'Nom',
196
+ value: 'John Doe',
197
+ },
198
+ {
199
+ name: 'age',
200
+ title: 'Âge',
201
+ value: '18',
202
+ },
203
+ ],
204
+ },
205
+ global: {
206
+ plugins: [vuetify],
207
+ },
208
+ })
209
+
210
+ await wrapper.find('.v-btn__content').trigger('click')
211
+
212
+ await wrapper.find('.v-expansion-panel-title').trigger('click')
213
+
214
+ await wrapper.find('[data-test-id="reset-btn"]').trigger('click')
215
+
216
+ await wrapper.find('button:nth-child(3)').trigger('click')
217
+
218
+ expect(wrapper.emitted('update:modelValue')?.[0][0]).toEqual([
219
+ {
220
+ name: 'name',
221
+ title: 'Nom',
222
+ value: undefined,
223
+ },
224
+ {
225
+ name: 'age',
226
+ title: 'Âge',
227
+ value: '18',
228
+ },
229
+ ])
230
+ })
231
+
232
+ it('resets all the filters when the reset button is clicked', async () => {
233
+ const wrapper = mount(TestComponent, {
234
+ props: {
235
+ modelValue: [
236
+ {
237
+ name: 'name',
238
+ title: 'Nom',
239
+ value: 'John Doe',
240
+ },
241
+ {
242
+ name: 'age',
243
+ title: 'Âge',
244
+ value: '18',
245
+ },
246
+ ],
247
+ },
248
+ global: {
249
+ plugins: [vuetify],
250
+ },
251
+ })
252
+
253
+ await wrapper.find('.v-btn__content').trigger('click')
254
+
255
+ await wrapper
256
+ .find(
257
+ '.v-navigation-drawer__content>div:last-child button:nth-child(2)',
258
+ )
259
+ .trigger('click')
260
+
261
+ expect(wrapper.emitted('update:modelValue')?.[0][0]).toEqual([
262
+ {
263
+ name: 'name',
264
+ title: 'Nom',
265
+ value: undefined,
266
+ },
267
+ {
268
+ name: 'age',
269
+ title: 'Âge',
270
+ value: undefined,
271
+ },
272
+ ])
273
+ })
274
+
275
+ it('open and close the drawer without changing the filters', async () => {
276
+ const wrapper = mount(TestComponent, {
277
+ props: {
278
+ modelValue: [
279
+ {
280
+ name: 'name',
281
+ title: 'Nom',
282
+ value: 'John Doe',
283
+ },
284
+ {
285
+ name: 'age',
286
+ title: 'Âge',
287
+ value: '18',
288
+ },
289
+ ],
290
+ },
291
+ global: {
292
+ plugins: [vuetify],
293
+ },
294
+ })
295
+
296
+ await wrapper.find('.v-btn__content').trigger('click')
297
+ await wrapper
298
+ .find(
299
+ '.v-navigation-drawer__content>div:last-child button:nth-child(1)',
300
+ )
301
+ .trigger('click')
302
+
303
+ expect(wrapper.emitted('update:modelValue')).toBeUndefined()
304
+ })
305
+ })
@@ -0,0 +1,39 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`FilterSideBar > renders correctly 1`] = `
4
+ "<div class="v-application v-theme--light v-layout v-layout--full-height v-locale--is-ltr">
5
+ <div class="v-application__wrap">
6
+ <div data-v-6c7d1f34="" class="sy-filters-side-bar"><button data-v-6c7d1f34="" type="button" class="v-btn v-theme--light text-primary v-btn--density-default v-btn--size-large v-btn--variant-text px-8 py-3"><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
7
+ <!----><span class="v-btn__content" data-no-activator=""><!--v-if--> Filtres <i data-v-6c7d1f34="" class="M6,13H18V11H6M3,6V8H21V6M10,18H14V16H10V18Z mdi v-icon notranslate v-theme--light v-icon--size-small ml-2" aria-hidden="true"></i></span>
8
+ <!---->
9
+ <!---->
10
+ </button>
11
+ <nav class="v-navigation-drawer v-navigation-drawer--right v-navigation-drawer--rail v-navigation-drawer--temporary v-theme--light v-navigation-drawer--mobile rounded-0 elevation-6" style="right: 0px; z-index: 1004; transform: translateX(395px); position: fixed; transition: none !important;" data-v-6c7d1f34="">
12
+ <!---->
13
+ <!---->
14
+ <div class="v-navigation-drawer__content">
15
+ <div data-v-6c7d1f34="" class="v-expansion-panels v-theme--light v-expansion-panels--variant-accordion"></div>
16
+ <div data-v-6c7d1f34="" class="v-spacer"></div>
17
+ <div data-v-6c7d1f34="" class="px-4 pb-4 pt-10"><button data-v-6c7d1f34="" type="button" class="v-btn v-btn--block v-theme--light text-primary v-btn--density-default v-btn--size-large v-btn--variant-outlined mb-4"><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
18
+ <!----><span class="v-btn__content" data-no-activator="">Fermer</span>
19
+ <!---->
20
+ <!---->
21
+ </button><button data-v-6c7d1f34="" type="button" class="v-btn v-btn--block v-theme--light text-primary v-btn--density-default v-btn--size-large v-btn--variant-outlined mb-4"><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
22
+ <!----><span class="v-btn__content" data-no-activator="">Réinitialiser</span>
23
+ <!---->
24
+ <!---->
25
+ </button><button data-v-6c7d1f34="" type="button" class="v-btn v-btn--block v-btn--elevated v-theme--light bg-primary v-btn--density-default v-btn--size-large v-btn--variant-elevated"><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
26
+ <!----><span class="v-btn__content" data-no-activator="">Appliquer</span>
27
+ <!---->
28
+ <!---->
29
+ </button></div>
30
+ </div>
31
+ <!---->
32
+ </nav>
33
+ <transition-stub name="fade-transition" appear="false" persisted="false" css="true">
34
+ <!---->
35
+ </transition-stub>
36
+ </div>
37
+ </div>
38
+ </div>"
39
+ `;
@@ -6,7 +6,7 @@ import * as UsagesStories from "./Usages.stories.ts";
6
6
 
7
7
  # Usages
8
8
 
9
- <Story of={Usagesstories.UsagePage} />
9
+ <Story of={UsagesStories.UsagePage} />
10
10
 
11
11
  <br />
12
12