@cnamts/synapse 0.0.7-alpha → 0.0.9-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 (198) hide show
  1. package/dist/design-system-v3.d.ts +785 -372
  2. package/dist/design-system-v3.js +4993 -3357
  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/Accessibilite.mdx +14 -0
  13. package/src/components/ContextualMenu/Accessibilite.stories.ts +191 -0
  14. package/src/components/ContextualMenu/AccessibiliteItems.ts +89 -0
  15. package/src/components/ContextualMenu/ContextualMenu.mdx +118 -0
  16. package/src/components/ContextualMenu/ContextualMenu.stories.ts +430 -0
  17. package/src/components/ContextualMenu/ContextualMenu.vue +101 -0
  18. package/src/components/ContextualMenu/constants/ExpertiseLevelEnum.ts +4 -0
  19. package/src/components/ContextualMenu/tests/ContextualMenu.spec.ts +115 -0
  20. package/src/components/ContextualMenu/tests/__snapshots__/ContextualMenu.spec.ts.snap +10 -0
  21. package/src/components/ContextualMenu/types.ts +5 -0
  22. package/src/components/CookieBanner/CookieBanner.stories.ts +1 -2
  23. package/src/components/CookieBanner/CookieBanner.vue +13 -10
  24. package/src/components/CookieBanner/tests/__snapshots__/CookieBanner.spec.ts.snap +17 -15
  25. package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +6 -1
  26. package/src/components/CookiesSelection/CookiesInformation/locales.ts +1 -0
  27. package/src/components/CookiesSelection/CookiesTable/CookiesTable.vue +1 -0
  28. package/src/components/CookiesSelection/tests/__snapshots__/CookiesSelection.spec.ts.snap +17 -15
  29. package/src/components/CopyBtn/CopyBtn.vue +7 -7
  30. package/src/components/Customs/SyBtnSelect/SyBtnSelect.vue +26 -26
  31. package/src/components/Customs/SyInputSelect/SyInputSelect.vue +24 -24
  32. package/src/components/Customs/SySelect/SySelect.stories.ts +7 -7
  33. package/src/components/Customs/SySelect/SySelect.vue +36 -30
  34. package/src/components/Customs/SySelect/tests/SySelect.spec.ts +2 -2
  35. package/src/components/Customs/SyTextField/SyTextField.stories.ts +187 -2
  36. package/src/components/Customs/SyTextField/SyTextField.vue +185 -16
  37. package/src/components/Customs/SyTextField/tests/SyTextField.spec.ts +2 -4
  38. package/src/components/Customs/SyTextField/tests/__snapshots__/SyTextField.spec.ts.snap +18 -16
  39. package/src/components/Customs/SyTextField/types.d.ts +2 -2
  40. package/src/components/DataList/DataList.stories.ts +3 -2
  41. package/src/components/DataList/DataList.vue +1 -1
  42. package/src/components/DataListGroup/DataListGroup.stories.ts +3 -2
  43. package/src/components/DataListItem/DataListItem.vue +12 -12
  44. package/src/components/DatePicker/DatePicker.mdx +191 -0
  45. package/src/components/DatePicker/DatePicker.stories.ts +787 -0
  46. package/src/components/DatePicker/DatePicker.vue +560 -0
  47. package/src/components/DatePicker/DateTextInput.vue +409 -0
  48. package/src/components/DatePicker/tests/DatePicker.spec.ts +266 -0
  49. package/src/components/DialogBox/DialogBox.mdx +28 -2
  50. package/src/components/DialogBox/DialogBox.stories.ts +2 -2
  51. package/src/components/DialogBox/DialogBox.vue +3 -2
  52. package/src/components/DownloadBtn/DownloadBtn.vue +2 -1
  53. package/src/components/ExternalLinks/Accessibilite.mdx +14 -0
  54. package/src/components/ExternalLinks/Accessibilite.stories.ts +191 -0
  55. package/src/components/ExternalLinks/AccessibiliteItems.ts +197 -0
  56. package/src/components/ExternalLinks/ExternalLinks.mdx +86 -0
  57. package/src/components/ExternalLinks/ExternalLinks.stories.ts +553 -0
  58. package/src/components/ExternalLinks/ExternalLinks.vue +200 -0
  59. package/src/components/ExternalLinks/config.ts +34 -0
  60. package/src/components/ExternalLinks/constants/ExpertiseLevelEnum.ts +4 -0
  61. package/src/components/ExternalLinks/locales.ts +4 -0
  62. package/src/components/ExternalLinks/tests/ExternalLinks.spec.ts +154 -0
  63. package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +159 -0
  64. package/src/components/FileUpload/FileUpload.mdx +165 -0
  65. package/src/components/FileUpload/FileUpload.stories.ts +429 -0
  66. package/src/components/FileUpload/FileUpload.vue +195 -0
  67. package/src/components/FileUpload/FileUploadContent.vue +109 -0
  68. package/src/components/FileUpload/locales.ts +10 -0
  69. package/src/components/FileUpload/tests/FileUpload.spec.ts +332 -0
  70. package/src/components/FileUpload/tests/__snapshots__/FileUpload.spec.ts.snap +7 -0
  71. package/src/components/FileUpload/useFileDrop.ts +23 -0
  72. package/src/components/FileUpload/validateFiles.ts +39 -0
  73. package/src/components/FooterBar/FooterBar.vue +105 -80
  74. package/src/components/FranceConnectBtn/FranceConnectBtn.vue +14 -13
  75. package/src/components/HeaderBar/HeaderBar.vue +3 -3
  76. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.vue +11 -7
  77. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.vue +5 -5
  78. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.vue +2 -2
  79. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.vue +10 -8
  80. package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +2 -2
  81. package/src/components/HeaderBar/HeaderLogo/logos/Logo-mobile.vue +2 -1
  82. package/src/components/HeaderBar/HeaderLogo/logos/Logo.vue +2 -1
  83. package/src/components/HeaderBar/HeaderMenuBtn/HeaderMenuBtn.vue +10 -10
  84. package/src/components/HeaderBar/consts.scss +1 -1
  85. package/src/components/HeaderLoading/HeaderLoading.vue +12 -11
  86. package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +2 -1
  87. package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +9 -9
  88. package/src/components/HeaderToolbar/HeaderToolbar.vue +215 -202
  89. package/src/components/LangBtn/LangBtn.vue +8 -6
  90. package/src/components/LogoBrandSection/LogoBrandSection.stories.ts +2 -2
  91. package/src/components/NirField/NirField.stories.ts +8 -8
  92. package/src/components/NirField/NirField.vue +46 -48
  93. package/src/components/NotFoundPage/NotFoundPage.stories.ts +33 -2
  94. package/src/components/NotFoundPage/NotFoundPage.vue +17 -0
  95. package/src/components/NotificationBar/NotificationBar.mdx +5 -5
  96. package/src/components/NotificationBar/NotificationBar.stories.ts +410 -314
  97. package/src/components/NotificationBar/NotificationBar.vue +43 -41
  98. package/src/components/PageContainer/PageContainer.vue +4 -4
  99. package/src/components/PasswordField/Accessibilite.mdx +14 -0
  100. package/src/components/PasswordField/Accessibilite.stories.ts +191 -0
  101. package/src/components/PasswordField/AccessibiliteItems.ts +184 -0
  102. package/src/components/PasswordField/PasswordField.mdx +70 -0
  103. package/src/components/PasswordField/PasswordField.stories.ts +213 -0
  104. package/src/components/PasswordField/PasswordField.vue +189 -0
  105. package/src/components/PasswordField/config.ts +11 -0
  106. package/src/components/PasswordField/constants/ExpertiseLevelEnum.ts +4 -0
  107. package/src/components/PasswordField/locales.ts +4 -0
  108. package/src/components/PasswordField/tests/PasswordField.spec.ts +96 -0
  109. package/src/components/PhoneField/PhoneField.mdx +0 -2
  110. package/src/components/PhoneField/PhoneField.stories.ts +10 -50
  111. package/src/components/PhoneField/PhoneField.vue +77 -93
  112. package/src/components/PhoneField/tests/PhoneField.spec.ts +0 -15
  113. package/src/components/RangeField/RangeField.mdx +54 -0
  114. package/src/components/RangeField/RangeField.stories.ts +189 -0
  115. package/src/components/RangeField/RangeField.vue +157 -0
  116. package/src/components/RangeField/RangeSlider/RangeSlider.vue +387 -0
  117. package/src/components/RangeField/RangeSlider/Tooltip/Tooltip.vue +64 -0
  118. package/src/components/RangeField/RangeSlider/tests/__snapshots__/rangeSlider.spec.ts.snap +27 -0
  119. package/src/components/RangeField/RangeSlider/tests/rangeSlider.spec.ts +100 -0
  120. package/src/components/RangeField/RangeSlider/tests/useDoubleSlider.spec.ts +246 -0
  121. package/src/components/RangeField/RangeSlider/tests/useMouseSlide.spec.ts +204 -0
  122. package/src/components/RangeField/RangeSlider/tests/useThumb.spec.ts +22 -0
  123. package/src/components/RangeField/RangeSlider/tests/useThumbKeyboard.spec.ts +233 -0
  124. package/src/components/RangeField/RangeSlider/tests/useTooltipsNudge.spec.ts +150 -0
  125. package/src/components/RangeField/RangeSlider/tests/useTrack.spec.ts +314 -0
  126. package/src/components/RangeField/RangeSlider/tests/vAnimateClick.spec.ts +32 -0
  127. package/src/components/RangeField/RangeSlider/types.ts +15 -0
  128. package/src/components/RangeField/RangeSlider/useMouseSlide.ts +109 -0
  129. package/src/components/RangeField/RangeSlider/useRangeSlider.ts +126 -0
  130. package/src/components/RangeField/RangeSlider/useThumb.ts +18 -0
  131. package/src/components/RangeField/RangeSlider/useThumbKeyboard.ts +84 -0
  132. package/src/components/RangeField/RangeSlider/useTooltipsNudge.ts +92 -0
  133. package/src/components/RangeField/RangeSlider/useTrack.ts +116 -0
  134. package/src/components/RangeField/RangeSlider/vAnimateClick.ts +19 -0
  135. package/src/components/RangeField/config.ts +7 -0
  136. package/src/components/RangeField/locales.ts +4 -0
  137. package/src/components/RangeField/tests/RangeField.spec.ts +224 -0
  138. package/src/components/RangeField/tests/__snapshots__/RangeField.spec.ts.snap +379 -0
  139. package/src/components/RatingPicker/EmotionPicker/EmotionPicker.vue +205 -0
  140. package/src/components/RatingPicker/EmotionPicker/locales.ts +3 -0
  141. package/src/components/RatingPicker/EmotionPicker/tests/EmotionPicker.spec.ts +104 -0
  142. package/src/components/RatingPicker/EmotionPicker/tests/__snapshots__/EmotionPicker.spec.ts.snap +66 -0
  143. package/src/components/RatingPicker/NumberPicker/NumberPicker.vue +159 -0
  144. package/src/components/RatingPicker/NumberPicker/locales.ts +4 -0
  145. package/src/components/RatingPicker/NumberPicker/tests/NumberPicker.spec.ts +73 -0
  146. package/src/components/RatingPicker/NumberPicker/tests/__snapshots__/NumberPicker.spec.ts.snap +105 -0
  147. package/src/components/RatingPicker/Rating.ts +45 -0
  148. package/src/components/RatingPicker/RatingPicker.mdx +56 -0
  149. package/src/components/RatingPicker/RatingPicker.stories.ts +515 -0
  150. package/src/components/RatingPicker/RatingPicker.vue +122 -0
  151. package/src/components/RatingPicker/StarsPicker/StarsPicker.vue +116 -0
  152. package/src/components/RatingPicker/StarsPicker/tests/StarsPicker.spec.ts +95 -0
  153. package/src/components/RatingPicker/StarsPicker/tests/__snapshots__/StarsPicker.spec.ts.snap +36 -0
  154. package/src/components/RatingPicker/locales.ts +3 -0
  155. package/src/components/RatingPicker/tests/Rating.spec.ts +104 -0
  156. package/src/components/RatingPicker/tests/RatingPicker.spec.ts +187 -0
  157. package/src/components/RatingPicker/tests/__snapshots__/RatingPicker.spec.ts.snap +108 -0
  158. package/src/components/SearchListField/SearchListField.mdx +74 -0
  159. package/src/components/SearchListField/SearchListField.stories.ts +126 -0
  160. package/src/components/SearchListField/SearchListField.vue +194 -0
  161. package/src/components/SearchListField/locales.ts +5 -0
  162. package/src/components/SearchListField/tests/SearchListField.spec.ts +323 -0
  163. package/src/components/SearchListField/types.d.ts +4 -0
  164. package/src/components/SelectBtnField/SelectBtnField.mdx +50 -0
  165. package/src/components/SelectBtnField/SelectBtnField.stories.ts +763 -0
  166. package/src/components/SelectBtnField/SelectBtnField.vue +283 -0
  167. package/src/components/SelectBtnField/config.ts +11 -0
  168. package/src/components/SelectBtnField/tests/SelectBtnField.spec.ts +327 -0
  169. package/src/components/SelectBtnField/tests/__snapshots__/SelectBtnField.spec.ts.snap +125 -0
  170. package/src/components/SelectBtnField/types.d.ts +11 -0
  171. package/src/components/SkipLink/SkipLink.vue +10 -10
  172. package/src/components/SocialMediaLinks/SocialMediaLinks.vue +28 -26
  173. package/src/components/SubHeader/SubHeader.vue +32 -31
  174. package/src/components/SyAlert/SyAlert.vue +12 -12
  175. package/src/components/UserMenuBtn/UserMenuBtn.vue +1 -1
  176. package/src/components/UserMenuBtn/config.ts +1 -1
  177. package/src/components/index.ts +17 -7
  178. package/src/composables/rules/useFieldValidation.ts +172 -44
  179. package/src/designTokens/index.ts +6 -4
  180. package/src/designTokens/{bootstrapColors.md → paColors.md} +1 -1
  181. package/src/designTokens/tokens/cnam/cnamLightTheme.ts +2 -0
  182. package/src/designTokens/tokens/pa/paColors.ts +171 -0
  183. package/src/designTokens/tokens/pa/paContextual.ts +58 -0
  184. package/src/designTokens/tokens/pa/paDarkTheme.ts +5 -0
  185. package/src/designTokens/tokens/pa/paLightTheme.ts +123 -0
  186. package/src/designTokens/tokens/pa/paSemantic.ts +87 -0
  187. package/src/stories/Fondamentaux/CustomisationEtThemes.mdx +52 -2
  188. package/src/stories/GuideDuDev/CreerUneIssue.mdx +64 -0
  189. package/src/stories/GuideDuDev/{CommentUtiliserLesRules.mdx → UtiliserLesRules.mdx} +2 -2
  190. package/src/stories/GuideDuDev/components.stories.ts +9 -7
  191. package/src/stories/Guidelines/Vuetify/Vuetify.stories.ts +163 -88
  192. package/src/stories/Guidelines/Vuetify/VuetifyItems.ts +250 -23
  193. package/src/temp/TestDTComponent.vue +5 -6
  194. package/src/utils/calcHumanFileSize/index.ts +12 -0
  195. package/src/utils/calcHumanFileSize/tests/calcHumanFileSize.spec.ts +21 -0
  196. package/src/designTokens/tokens/bootstrap/bootstrapColors.ts +0 -158
  197. package/src/designTokens/tokens/bootstrap/bootstrapLightTheme.ts +0 -22
  198. package/src/stories/GuideDuDev/CommentContribuer.mdx +0 -22
@@ -0,0 +1,224 @@
1
+ import { vuetify } from '@tests/unit/setup'
2
+ import { DOMWrapper, mount } from '@vue/test-utils'
3
+ import { describe, expect, it } from 'vitest'
4
+ import RangeField from '../RangeField.vue'
5
+
6
+ describe('RangeField', () => {
7
+ it('renders correctly', () => {
8
+ const wrapper = mount(RangeField, {
9
+ global: {
10
+ plugins: [vuetify],
11
+ },
12
+ props: {
13
+ modelValue: [50, 80],
14
+ min: 0,
15
+ max: 100,
16
+ },
17
+ })
18
+
19
+ expect(wrapper.html()).toMatchSnapshot()
20
+ const inputMin = wrapper.find('input')
21
+ const inputMax = wrapper.findAll('input').at(1) as DOMWrapper<HTMLInputElement>
22
+
23
+ expect(inputMin.exists()).toBe(true)
24
+ expect(inputMax.exists()).toBe(true)
25
+
26
+ expect(inputMin.element.value).toBe('50')
27
+ expect(inputMax.element.value).toBe('80')
28
+ })
29
+
30
+ it('render correctly when the modelValue is not defined', async () => {
31
+ const wrapper = mount(RangeField, {
32
+ global: {
33
+ plugins: [vuetify],
34
+ },
35
+ props: {
36
+ min: 0,
37
+ max: 100,
38
+ },
39
+ })
40
+
41
+ expect(wrapper.html()).toMatchSnapshot()
42
+ const inputMin = wrapper.find('input')
43
+ const inputMax = wrapper.findAll('input').at(1) as DOMWrapper<HTMLInputElement>
44
+
45
+ expect(inputMin.element.value).toBe('0')
46
+ expect(inputMax.element.value).toBe('100')
47
+ })
48
+
49
+ it('updates modelValue when input changes', async () => {
50
+ const wrapper = mount(RangeField, {
51
+ global: {
52
+ plugins: [vuetify],
53
+ },
54
+ props: {
55
+ modelValue: [50, 80],
56
+ min: 0,
57
+ max: 100,
58
+ },
59
+ })
60
+
61
+ const inputMin = wrapper.find('input')
62
+ const inputMax = wrapper.findAll('input').at(1) as DOMWrapper<HTMLInputElement>
63
+
64
+ await inputMin.setValue('40')
65
+ await inputMax.setValue('90')
66
+
67
+ expect(wrapper.emitted('update:modelValue')?.at(-1)).toEqual([[40, 90]])
68
+ })
69
+
70
+ it('updates modelValue when the slider is updated', async () => {
71
+ const wrapper = mount(RangeField, {
72
+ global: {
73
+ plugins: [vuetify],
74
+ },
75
+ props: {
76
+ modelValue: [50, 80],
77
+ min: 0,
78
+ max: 100,
79
+ step: 5,
80
+ },
81
+ })
82
+
83
+ const minThumb = wrapper.find('.thumb-min')
84
+ await minThumb.trigger('keydown', { key: 'ArrowRight' })
85
+ await wrapper.vm.$nextTick()
86
+
87
+ expect(wrapper.emitted('update:modelValue')?.[0]).toEqual([[55, 80]])
88
+ })
89
+
90
+ it('renders correctly with value NaN', async () => {
91
+ const wrapper = mount(RangeField, {
92
+ global: {
93
+ plugins: [vuetify],
94
+ },
95
+ props: {
96
+ modelValue: [NaN, NaN],
97
+ min: 0,
98
+ max: 100,
99
+ },
100
+ })
101
+
102
+ expect(wrapper.html()).toMatchSnapshot()
103
+ const inputMin = wrapper.find('input')
104
+ const inputMax = wrapper.findAll('input').at(1) as DOMWrapper<HTMLInputElement>
105
+
106
+ expect(inputMin.element.value).toBe('0')
107
+ expect(inputMax.element.value).toBe('0')
108
+ })
109
+
110
+ it('updates input value when modelValue changes', async () => {
111
+ const wrapper = mount(RangeField, {
112
+ global: {
113
+ plugins: [vuetify],
114
+ },
115
+ props: {
116
+ modelValue: [50, 80],
117
+ min: 0,
118
+ max: 100,
119
+ },
120
+ })
121
+
122
+ await wrapper.setProps({ modelValue: [40, 90] })
123
+
124
+ const inputMin = wrapper.find('input')
125
+ const inputMax = wrapper.findAll('input').at(1) as DOMWrapper<HTMLInputElement>
126
+
127
+ expect(inputMin.element.value).toBe('40')
128
+ expect(inputMax.element.value).toBe('90')
129
+ })
130
+
131
+ it('set the value into the range if it is out of bounds', async () => {
132
+ const wrapper = mount(RangeField, {
133
+ global: {
134
+ plugins: [vuetify],
135
+ },
136
+ props: {
137
+ modelValue: [50, 80],
138
+ min: 0,
139
+ max: 100,
140
+ },
141
+ })
142
+
143
+ await wrapper.setProps({ modelValue: [-10, 200] })
144
+
145
+ const inputMin = wrapper.find('input')
146
+ const inputMax = wrapper.findAll('input').at(1) as DOMWrapper<HTMLInputElement>
147
+
148
+ expect(inputMin.element.value).toBe('0')
149
+ expect(inputMax.element.value).toBe('100')
150
+ expect(wrapper.emitted('update:modelValue')?.[0]).toEqual([[0, 100]])
151
+ })
152
+
153
+ it('set the value into the range if it is out of bounds', async () => {
154
+ const wrapper = mount(RangeField, {
155
+ global: {
156
+ plugins: [vuetify],
157
+ },
158
+ props: {
159
+ modelValue: [50, 80],
160
+ min: 0,
161
+ max: 100,
162
+ },
163
+ })
164
+
165
+ await wrapper.setProps({ modelValue: [200, -10] })
166
+
167
+ const inputMin = wrapper.find('input')
168
+ const inputMax = wrapper.findAll('input').at(1) as DOMWrapper<HTMLInputElement>
169
+
170
+ expect(inputMin.element.value).toBe('100')
171
+ expect(inputMax.element.value).toBe('0')
172
+ expect(wrapper.emitted('update:modelValue')?.[0]).toEqual([[100, 0]])
173
+ })
174
+
175
+ it('set the text fields to the last valid value on blur', async () => {
176
+ const wrapper = mount(RangeField, {
177
+ global: {
178
+ plugins: [vuetify],
179
+ },
180
+ props: {
181
+ modelValue: [50, 80],
182
+ min: 0,
183
+ max: 100,
184
+ },
185
+ attachTo: document.body,
186
+ })
187
+
188
+ const inputMin = wrapper.find('input')
189
+ const inputMax = wrapper.findAll('input').at(1) as DOMWrapper<HTMLInputElement>
190
+
191
+ await inputMin.trigger('focus')
192
+ await inputMin.setValue('-')
193
+ await inputMin.trigger('blur')
194
+ expect(inputMin.element.value).toBe('50')
195
+
196
+ await inputMax.trigger('focus')
197
+ await inputMax.setValue('20')
198
+ await inputMax.trigger('blur')
199
+ expect(inputMax.element.value).toBe('80')
200
+
201
+ wrapper.unmount()
202
+ })
203
+
204
+ it('do not emit an event when the field is set empty', async () => {
205
+ const wrapper = mount(RangeField, {
206
+ global: {
207
+ plugins: [vuetify],
208
+ },
209
+ props: {
210
+ modelValue: [50, 80],
211
+ min: 0,
212
+ max: 100,
213
+ },
214
+ })
215
+
216
+ const inputMin = wrapper.find('input')
217
+ const inputMax = wrapper.findAll('input').at(1) as DOMWrapper<HTMLInputElement>
218
+
219
+ await inputMin.setValue('')
220
+ await inputMax.setValue('')
221
+
222
+ expect(wrapper.emitted('update:modelValue')).toBeUndefined()
223
+ })
224
+ })
@@ -0,0 +1,379 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`RangeField > render correctly when the modelValue is not defined 1`] = `
4
+ "<div class="vd-range-field">
5
+ <div class="mt-10 mb-2 mx-3">
6
+ <div data-v-cfbfc2ef="" class="wrapper mt-8 mb-2">
7
+ <div data-v-cfbfc2ef="" class="track"><button data-v-cfbfc2ef="" class="thumb-min" style="left: 0%;" role="slider" aria-valuenow="0" tabindex="0" aria-valuemin="0" aria-valuemax="100" aria-orientation="horizontal" aria-label="Minimum" title="Minimum">
8
+ <div data-v-24e1b71f="" data-v-cfbfc2ef="" class="tooltip-wrapper">
9
+ <div data-v-24e1b71f="" class="tooltip" style="transform: translateX(calc(-50% + 0px)); transition: transform 0.1s;">0</div>
10
+ </div><span data-v-cfbfc2ef="" class="inner-thumb"></span>
11
+ </button><button data-v-cfbfc2ef="" role="slider" class="thumb-max" style="left: 100%;" aria-valuenow="100" tabindex="0" aria-valuemin="0" aria-valuemax="100" aria-orientation="horizontal" aria-label="Maximum" title="Maximum">
12
+ <div data-v-24e1b71f="" data-v-cfbfc2ef="" class="tooltip-wrapper">
13
+ <div data-v-24e1b71f="" class="tooltip" style="transform: translateX(calc(-50% + 0px)); transition: transform 0.1s;">100</div>
14
+ </div><span data-v-cfbfc2ef="" class="inner-thumb"></span>
15
+ </button>
16
+ <div data-v-cfbfc2ef="" class="fake-thumb thumb-min" aria-hidden="true" style="left: 0%;">
17
+ <div data-v-24e1b71f="" data-v-cfbfc2ef="" class="tooltip-wrapper">
18
+ <div data-v-24e1b71f="" class="tooltip" style="transform: translateX(calc(-50% + 0px));">0</div>
19
+ </div>
20
+ </div>
21
+ <div data-v-cfbfc2ef="" class="fake-thumb thumb-max" aria-hidden="true" style="left: 100%;">
22
+ <div data-v-24e1b71f="" data-v-cfbfc2ef="" class="tooltip-wrapper">
23
+ <div data-v-24e1b71f="" class="tooltip" style="transform: translateX(calc(-50% + 0px));">100</div>
24
+ </div>
25
+ </div>
26
+ <div data-v-cfbfc2ef="" class="filled-track" style="left: 0%; width: 100%;"></div>
27
+ </div>
28
+ </div>
29
+ </div>
30
+ <div class="d-flex flex-wrap max-width-none">
31
+ <div class="v-input v-input--horizontal v-input--center-affix v-input--density-default v-theme--light v-locale--is-ltr v-input--dirty v-text-field ma-3">
32
+ <!---->
33
+ <div class="v-input__control">
34
+ <div class="v-field v-field--active v-field--center-affix v-field--dirty v-field--variant-outlined v-theme--light v-locale--is-ltr">
35
+ <div class="v-field__overlay"></div>
36
+ <div class="v-field__loader">
37
+ <div class="v-progress-linear v-theme--light v-locale--is-ltr" style="top: 0px; height: 0px; --v-progress-linear-height: 2px;" role="progressbar" aria-hidden="true" aria-valuemin="0" aria-valuemax="100">
38
+ <!---->
39
+ <div class="v-progress-linear__background bg-primary" style="opacity: NaN;"></div>
40
+ <div class="v-progress-linear__buffer bg-primary" style="opacity: NaN; width: 0%;"></div>
41
+ <transition-stub name="fade-transition" appear="false" persisted="false" css="true">
42
+ <div class="v-progress-linear__indeterminate">
43
+ <div class="v-progress-linear__indeterminate long bg-primary"></div>
44
+ <div class="v-progress-linear__indeterminate short bg-primary"></div>
45
+ </div>
46
+ </transition-stub>
47
+ <!---->
48
+ </div>
49
+ </div>
50
+ <!---->
51
+ <div class="v-field__field" data-no-activator="">
52
+ <!----><label class="v-label v-field-label" for="input-0">
53
+ <!---->Valeur min
54
+ </label>
55
+ <!----><input size="1" type="text" id="input-0" aria-describedby="input-0-messages" aria-label="Valeur min" inputmode="numeric" title="Valeur min" class="v-field__input" value="0">
56
+ <!---->
57
+ </div>
58
+ <!---->
59
+ <!---->
60
+ <div class="v-field__outline">
61
+ <div class="v-field__outline__start"></div>
62
+ <div class="v-field__outline__notch"><label class="v-label v-field-label v-field-label--floating" aria-hidden="true" for="input-0">
63
+ <!---->Valeur min
64
+ </label></div>
65
+ <div class="v-field__outline__end"></div>
66
+ <!---->
67
+ </div>
68
+ </div>
69
+ </div>
70
+ <!---->
71
+ <div id="input-0-messages" class="v-input__details" role="alert" aria-live="polite">
72
+ <transition-group-stub name="slide-y-transition" tag="div" appear="false" persisted="false" css="true" class="v-messages">
73
+ <!---->
74
+ </transition-group-stub>
75
+ <!---->
76
+ </div>
77
+ </div>
78
+ <div class="v-input v-input--horizontal v-input--center-affix v-input--density-default v-theme--light v-locale--is-ltr v-input--dirty v-text-field ma-3">
79
+ <!---->
80
+ <div class="v-input__control">
81
+ <div class="v-field v-field--active v-field--center-affix v-field--dirty v-field--variant-outlined v-theme--light v-locale--is-ltr">
82
+ <div class="v-field__overlay"></div>
83
+ <div class="v-field__loader">
84
+ <div class="v-progress-linear v-theme--light v-locale--is-ltr" style="top: 0px; height: 0px; --v-progress-linear-height: 2px;" role="progressbar" aria-hidden="true" aria-valuemin="0" aria-valuemax="100">
85
+ <!---->
86
+ <div class="v-progress-linear__background bg-primary" style="opacity: NaN;"></div>
87
+ <div class="v-progress-linear__buffer bg-primary" style="opacity: NaN; width: 0%;"></div>
88
+ <transition-stub name="fade-transition" appear="false" persisted="false" css="true">
89
+ <div class="v-progress-linear__indeterminate">
90
+ <div class="v-progress-linear__indeterminate long bg-primary"></div>
91
+ <div class="v-progress-linear__indeterminate short bg-primary"></div>
92
+ </div>
93
+ </transition-stub>
94
+ <!---->
95
+ </div>
96
+ </div>
97
+ <!---->
98
+ <div class="v-field__field" data-no-activator="">
99
+ <!----><label class="v-label v-field-label" for="input-2">
100
+ <!---->Valeur max
101
+ </label>
102
+ <!----><input size="1" type="text" id="input-2" aria-describedby="input-2-messages" aria-label="Valeur max" inputmode="numeric" title="Valeur max" class="v-field__input" value="100">
103
+ <!---->
104
+ </div>
105
+ <!---->
106
+ <!---->
107
+ <div class="v-field__outline">
108
+ <div class="v-field__outline__start"></div>
109
+ <div class="v-field__outline__notch"><label class="v-label v-field-label v-field-label--floating" aria-hidden="true" for="input-2">
110
+ <!---->Valeur max
111
+ </label></div>
112
+ <div class="v-field__outline__end"></div>
113
+ <!---->
114
+ </div>
115
+ </div>
116
+ </div>
117
+ <!---->
118
+ <div id="input-2-messages" class="v-input__details" role="alert" aria-live="polite">
119
+ <transition-group-stub name="slide-y-transition" tag="div" appear="false" persisted="false" css="true" class="v-messages">
120
+ <!---->
121
+ </transition-group-stub>
122
+ <!---->
123
+ </div>
124
+ </div>
125
+ </div>
126
+ </div>"
127
+ `;
128
+
129
+ exports[`RangeField > renders correctly 1`] = `
130
+ "<div class="vd-range-field">
131
+ <div class="mt-10 mb-2 mx-3">
132
+ <div data-v-cfbfc2ef="" class="wrapper mt-8 mb-2">
133
+ <div data-v-cfbfc2ef="" class="track"><button data-v-cfbfc2ef="" class="thumb-min" style="left: 50%;" role="slider" aria-valuenow="50" tabindex="0" aria-valuemin="0" aria-valuemax="80" aria-orientation="horizontal" aria-label="Minimum" title="Minimum">
134
+ <div data-v-24e1b71f="" data-v-cfbfc2ef="" class="tooltip-wrapper">
135
+ <div data-v-24e1b71f="" class="tooltip" style="transform: translateX(calc(-50% + 0px)); transition: transform 0.1s;">50</div>
136
+ </div><span data-v-cfbfc2ef="" class="inner-thumb"></span>
137
+ </button><button data-v-cfbfc2ef="" role="slider" class="thumb-max" style="left: 80%;" aria-valuenow="80" tabindex="0" aria-valuemin="50" aria-valuemax="100" aria-orientation="horizontal" aria-label="Maximum" title="Maximum">
138
+ <div data-v-24e1b71f="" data-v-cfbfc2ef="" class="tooltip-wrapper">
139
+ <div data-v-24e1b71f="" class="tooltip" style="transform: translateX(calc(-50% + 0px)); transition: transform 0.1s;">80</div>
140
+ </div><span data-v-cfbfc2ef="" class="inner-thumb"></span>
141
+ </button>
142
+ <div data-v-cfbfc2ef="" class="fake-thumb thumb-min" aria-hidden="true" style="left: 50%;">
143
+ <div data-v-24e1b71f="" data-v-cfbfc2ef="" class="tooltip-wrapper">
144
+ <div data-v-24e1b71f="" class="tooltip" style="transform: translateX(calc(-50% + 0px));">50</div>
145
+ </div>
146
+ </div>
147
+ <div data-v-cfbfc2ef="" class="fake-thumb thumb-max" aria-hidden="true" style="left: 80%;">
148
+ <div data-v-24e1b71f="" data-v-cfbfc2ef="" class="tooltip-wrapper">
149
+ <div data-v-24e1b71f="" class="tooltip" style="transform: translateX(calc(-50% + 0px));">80</div>
150
+ </div>
151
+ </div>
152
+ <div data-v-cfbfc2ef="" class="filled-track" style="left: 50%; width: 30%;"></div>
153
+ </div>
154
+ </div>
155
+ </div>
156
+ <div class="d-flex flex-wrap max-width-none">
157
+ <div class="v-input v-input--horizontal v-input--center-affix v-input--density-default v-theme--light v-locale--is-ltr v-input--dirty v-text-field ma-3">
158
+ <!---->
159
+ <div class="v-input__control">
160
+ <div class="v-field v-field--active v-field--center-affix v-field--dirty v-field--variant-outlined v-theme--light v-locale--is-ltr">
161
+ <div class="v-field__overlay"></div>
162
+ <div class="v-field__loader">
163
+ <div class="v-progress-linear v-theme--light v-locale--is-ltr" style="top: 0px; height: 0px; --v-progress-linear-height: 2px;" role="progressbar" aria-hidden="true" aria-valuemin="0" aria-valuemax="100">
164
+ <!---->
165
+ <div class="v-progress-linear__background bg-primary" style="opacity: NaN;"></div>
166
+ <div class="v-progress-linear__buffer bg-primary" style="opacity: NaN; width: 0%;"></div>
167
+ <transition-stub name="fade-transition" appear="false" persisted="false" css="true">
168
+ <div class="v-progress-linear__indeterminate">
169
+ <div class="v-progress-linear__indeterminate long bg-primary"></div>
170
+ <div class="v-progress-linear__indeterminate short bg-primary"></div>
171
+ </div>
172
+ </transition-stub>
173
+ <!---->
174
+ </div>
175
+ </div>
176
+ <!---->
177
+ <div class="v-field__field" data-no-activator="">
178
+ <!----><label class="v-label v-field-label" for="input-0">
179
+ <!---->Valeur min
180
+ </label>
181
+ <!----><input size="1" type="text" id="input-0" aria-describedby="input-0-messages" aria-label="Valeur min" inputmode="numeric" title="Valeur min" class="v-field__input" value="50">
182
+ <!---->
183
+ </div>
184
+ <!---->
185
+ <!---->
186
+ <div class="v-field__outline">
187
+ <div class="v-field__outline__start"></div>
188
+ <div class="v-field__outline__notch"><label class="v-label v-field-label v-field-label--floating" aria-hidden="true" for="input-0">
189
+ <!---->Valeur min
190
+ </label></div>
191
+ <div class="v-field__outline__end"></div>
192
+ <!---->
193
+ </div>
194
+ </div>
195
+ </div>
196
+ <!---->
197
+ <div id="input-0-messages" class="v-input__details" role="alert" aria-live="polite">
198
+ <transition-group-stub name="slide-y-transition" tag="div" appear="false" persisted="false" css="true" class="v-messages">
199
+ <!---->
200
+ </transition-group-stub>
201
+ <!---->
202
+ </div>
203
+ </div>
204
+ <div class="v-input v-input--horizontal v-input--center-affix v-input--density-default v-theme--light v-locale--is-ltr v-input--dirty v-text-field ma-3">
205
+ <!---->
206
+ <div class="v-input__control">
207
+ <div class="v-field v-field--active v-field--center-affix v-field--dirty v-field--variant-outlined v-theme--light v-locale--is-ltr">
208
+ <div class="v-field__overlay"></div>
209
+ <div class="v-field__loader">
210
+ <div class="v-progress-linear v-theme--light v-locale--is-ltr" style="top: 0px; height: 0px; --v-progress-linear-height: 2px;" role="progressbar" aria-hidden="true" aria-valuemin="0" aria-valuemax="100">
211
+ <!---->
212
+ <div class="v-progress-linear__background bg-primary" style="opacity: NaN;"></div>
213
+ <div class="v-progress-linear__buffer bg-primary" style="opacity: NaN; width: 0%;"></div>
214
+ <transition-stub name="fade-transition" appear="false" persisted="false" css="true">
215
+ <div class="v-progress-linear__indeterminate">
216
+ <div class="v-progress-linear__indeterminate long bg-primary"></div>
217
+ <div class="v-progress-linear__indeterminate short bg-primary"></div>
218
+ </div>
219
+ </transition-stub>
220
+ <!---->
221
+ </div>
222
+ </div>
223
+ <!---->
224
+ <div class="v-field__field" data-no-activator="">
225
+ <!----><label class="v-label v-field-label" for="input-2">
226
+ <!---->Valeur max
227
+ </label>
228
+ <!----><input size="1" type="text" id="input-2" aria-describedby="input-2-messages" aria-label="Valeur max" inputmode="numeric" title="Valeur max" class="v-field__input" value="80">
229
+ <!---->
230
+ </div>
231
+ <!---->
232
+ <!---->
233
+ <div class="v-field__outline">
234
+ <div class="v-field__outline__start"></div>
235
+ <div class="v-field__outline__notch"><label class="v-label v-field-label v-field-label--floating" aria-hidden="true" for="input-2">
236
+ <!---->Valeur max
237
+ </label></div>
238
+ <div class="v-field__outline__end"></div>
239
+ <!---->
240
+ </div>
241
+ </div>
242
+ </div>
243
+ <!---->
244
+ <div id="input-2-messages" class="v-input__details" role="alert" aria-live="polite">
245
+ <transition-group-stub name="slide-y-transition" tag="div" appear="false" persisted="false" css="true" class="v-messages">
246
+ <!---->
247
+ </transition-group-stub>
248
+ <!---->
249
+ </div>
250
+ </div>
251
+ </div>
252
+ </div>"
253
+ `;
254
+
255
+ exports[`RangeField > renders correctly with value NaN 1`] = `
256
+ "<div class="vd-range-field">
257
+ <div class="mt-10 mb-2 mx-3">
258
+ <div data-v-cfbfc2ef="" class="wrapper mt-8 mb-2">
259
+ <div data-v-cfbfc2ef="" class="track"><button data-v-cfbfc2ef="" class="thumb-min" style="left: 0%;" role="slider" aria-valuenow="0" tabindex="0" aria-valuemin="0" aria-valuemax="0" aria-orientation="horizontal" aria-label="Minimum" title="Minimum">
260
+ <div data-v-24e1b71f="" data-v-cfbfc2ef="" class="tooltip-wrapper">
261
+ <div data-v-24e1b71f="" class="tooltip" style="transform: translateX(calc(-50% + 0px)); transition: transform 0.1s;">0</div>
262
+ </div><span data-v-cfbfc2ef="" class="inner-thumb"></span>
263
+ </button><button data-v-cfbfc2ef="" role="slider" class="thumb-max" style="left: 0%;" aria-valuenow="0" tabindex="0" aria-valuemin="0" aria-valuemax="100" aria-orientation="horizontal" aria-label="Maximum" title="Maximum">
264
+ <div data-v-24e1b71f="" data-v-cfbfc2ef="" class="tooltip-wrapper">
265
+ <div data-v-24e1b71f="" class="tooltip" style="transform: translateX(calc(-50% + 0px)); transition: transform 0.1s;">0</div>
266
+ </div><span data-v-cfbfc2ef="" class="inner-thumb"></span>
267
+ </button>
268
+ <div data-v-cfbfc2ef="" class="fake-thumb thumb-min" aria-hidden="true" style="left: 0%;">
269
+ <div data-v-24e1b71f="" data-v-cfbfc2ef="" class="tooltip-wrapper">
270
+ <div data-v-24e1b71f="" class="tooltip" style="transform: translateX(calc(-50% + 0px));">0</div>
271
+ </div>
272
+ </div>
273
+ <div data-v-cfbfc2ef="" class="fake-thumb thumb-max" aria-hidden="true" style="left: 0%;">
274
+ <div data-v-24e1b71f="" data-v-cfbfc2ef="" class="tooltip-wrapper">
275
+ <div data-v-24e1b71f="" class="tooltip" style="transform: translateX(calc(-50% + 0px));">0</div>
276
+ </div>
277
+ </div>
278
+ <div data-v-cfbfc2ef="" class="filled-track" style="left: 0%; width: 0%;"></div>
279
+ </div>
280
+ </div>
281
+ </div>
282
+ <div class="d-flex flex-wrap max-width-none">
283
+ <div class="v-input v-input--horizontal v-input--center-affix v-input--density-default v-theme--light v-locale--is-ltr v-input--dirty v-text-field ma-3">
284
+ <!---->
285
+ <div class="v-input__control">
286
+ <div class="v-field v-field--active v-field--center-affix v-field--dirty v-field--variant-outlined v-theme--light v-locale--is-ltr">
287
+ <div class="v-field__overlay"></div>
288
+ <div class="v-field__loader">
289
+ <div class="v-progress-linear v-theme--light v-locale--is-ltr" style="top: 0px; height: 0px; --v-progress-linear-height: 2px;" role="progressbar" aria-hidden="true" aria-valuemin="0" aria-valuemax="100">
290
+ <!---->
291
+ <div class="v-progress-linear__background bg-primary" style="opacity: NaN;"></div>
292
+ <div class="v-progress-linear__buffer bg-primary" style="opacity: NaN; width: 0%;"></div>
293
+ <transition-stub name="fade-transition" appear="false" persisted="false" css="true">
294
+ <div class="v-progress-linear__indeterminate">
295
+ <div class="v-progress-linear__indeterminate long bg-primary"></div>
296
+ <div class="v-progress-linear__indeterminate short bg-primary"></div>
297
+ </div>
298
+ </transition-stub>
299
+ <!---->
300
+ </div>
301
+ </div>
302
+ <!---->
303
+ <div class="v-field__field" data-no-activator="">
304
+ <!----><label class="v-label v-field-label" for="input-0">
305
+ <!---->Valeur min
306
+ </label>
307
+ <!----><input size="1" type="text" id="input-0" aria-describedby="input-0-messages" aria-label="Valeur min" inputmode="numeric" title="Valeur min" class="v-field__input" value="0">
308
+ <!---->
309
+ </div>
310
+ <!---->
311
+ <!---->
312
+ <div class="v-field__outline">
313
+ <div class="v-field__outline__start"></div>
314
+ <div class="v-field__outline__notch"><label class="v-label v-field-label v-field-label--floating" aria-hidden="true" for="input-0">
315
+ <!---->Valeur min
316
+ </label></div>
317
+ <div class="v-field__outline__end"></div>
318
+ <!---->
319
+ </div>
320
+ </div>
321
+ </div>
322
+ <!---->
323
+ <div id="input-0-messages" class="v-input__details" role="alert" aria-live="polite">
324
+ <transition-group-stub name="slide-y-transition" tag="div" appear="false" persisted="false" css="true" class="v-messages">
325
+ <!---->
326
+ </transition-group-stub>
327
+ <!---->
328
+ </div>
329
+ </div>
330
+ <div class="v-input v-input--horizontal v-input--center-affix v-input--density-default v-theme--light v-locale--is-ltr v-input--dirty v-text-field ma-3">
331
+ <!---->
332
+ <div class="v-input__control">
333
+ <div class="v-field v-field--active v-field--center-affix v-field--dirty v-field--variant-outlined v-theme--light v-locale--is-ltr">
334
+ <div class="v-field__overlay"></div>
335
+ <div class="v-field__loader">
336
+ <div class="v-progress-linear v-theme--light v-locale--is-ltr" style="top: 0px; height: 0px; --v-progress-linear-height: 2px;" role="progressbar" aria-hidden="true" aria-valuemin="0" aria-valuemax="100">
337
+ <!---->
338
+ <div class="v-progress-linear__background bg-primary" style="opacity: NaN;"></div>
339
+ <div class="v-progress-linear__buffer bg-primary" style="opacity: NaN; width: 0%;"></div>
340
+ <transition-stub name="fade-transition" appear="false" persisted="false" css="true">
341
+ <div class="v-progress-linear__indeterminate">
342
+ <div class="v-progress-linear__indeterminate long bg-primary"></div>
343
+ <div class="v-progress-linear__indeterminate short bg-primary"></div>
344
+ </div>
345
+ </transition-stub>
346
+ <!---->
347
+ </div>
348
+ </div>
349
+ <!---->
350
+ <div class="v-field__field" data-no-activator="">
351
+ <!----><label class="v-label v-field-label" for="input-2">
352
+ <!---->Valeur max
353
+ </label>
354
+ <!----><input size="1" type="text" id="input-2" aria-describedby="input-2-messages" aria-label="Valeur max" inputmode="numeric" title="Valeur max" class="v-field__input" value="0">
355
+ <!---->
356
+ </div>
357
+ <!---->
358
+ <!---->
359
+ <div class="v-field__outline">
360
+ <div class="v-field__outline__start"></div>
361
+ <div class="v-field__outline__notch"><label class="v-label v-field-label v-field-label--floating" aria-hidden="true" for="input-2">
362
+ <!---->Valeur max
363
+ </label></div>
364
+ <div class="v-field__outline__end"></div>
365
+ <!---->
366
+ </div>
367
+ </div>
368
+ </div>
369
+ <!---->
370
+ <div id="input-2-messages" class="v-input__details" role="alert" aria-live="polite">
371
+ <transition-group-stub name="slide-y-transition" tag="div" appear="false" persisted="false" css="true" class="v-messages">
372
+ <!---->
373
+ </transition-group-stub>
374
+ <!---->
375
+ </div>
376
+ </div>
377
+ </div>
378
+ </div>"
379
+ `;