@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.
- package/dist/design-system-v3.d.ts +785 -372
- package/dist/design-system-v3.js +4993 -3357
- package/dist/design-system-v3.umd.cjs +1 -10
- package/dist/style.css +1 -1
- package/package.json +10 -2
- package/src/assets/settings.scss +2 -2
- package/src/assets/tokens.scss +107 -112
- package/src/components/BackBtn/BackBtn.vue +4 -4
- package/src/components/BackToTopBtn/BackToTopBtn.vue +1 -0
- package/src/components/CollapsibleList/CollapsibleList.mdx +1 -1
- package/src/components/CollapsibleList/CollapsibleList.vue +43 -44
- package/src/components/ContextualMenu/Accessibilite.mdx +14 -0
- package/src/components/ContextualMenu/Accessibilite.stories.ts +191 -0
- package/src/components/ContextualMenu/AccessibiliteItems.ts +89 -0
- package/src/components/ContextualMenu/ContextualMenu.mdx +118 -0
- package/src/components/ContextualMenu/ContextualMenu.stories.ts +430 -0
- package/src/components/ContextualMenu/ContextualMenu.vue +101 -0
- package/src/components/ContextualMenu/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/ContextualMenu/tests/ContextualMenu.spec.ts +115 -0
- package/src/components/ContextualMenu/tests/__snapshots__/ContextualMenu.spec.ts.snap +10 -0
- package/src/components/ContextualMenu/types.ts +5 -0
- package/src/components/CookieBanner/CookieBanner.stories.ts +1 -2
- package/src/components/CookieBanner/CookieBanner.vue +13 -10
- package/src/components/CookieBanner/tests/__snapshots__/CookieBanner.spec.ts.snap +17 -15
- package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +6 -1
- package/src/components/CookiesSelection/CookiesInformation/locales.ts +1 -0
- package/src/components/CookiesSelection/CookiesTable/CookiesTable.vue +1 -0
- package/src/components/CookiesSelection/tests/__snapshots__/CookiesSelection.spec.ts.snap +17 -15
- package/src/components/CopyBtn/CopyBtn.vue +7 -7
- package/src/components/Customs/SyBtnSelect/SyBtnSelect.vue +26 -26
- package/src/components/Customs/SyInputSelect/SyInputSelect.vue +24 -24
- package/src/components/Customs/SySelect/SySelect.stories.ts +7 -7
- package/src/components/Customs/SySelect/SySelect.vue +36 -30
- package/src/components/Customs/SySelect/tests/SySelect.spec.ts +2 -2
- package/src/components/Customs/SyTextField/SyTextField.stories.ts +187 -2
- package/src/components/Customs/SyTextField/SyTextField.vue +185 -16
- package/src/components/Customs/SyTextField/tests/SyTextField.spec.ts +2 -4
- package/src/components/Customs/SyTextField/tests/__snapshots__/SyTextField.spec.ts.snap +18 -16
- package/src/components/Customs/SyTextField/types.d.ts +2 -2
- package/src/components/DataList/DataList.stories.ts +3 -2
- package/src/components/DataList/DataList.vue +1 -1
- package/src/components/DataListGroup/DataListGroup.stories.ts +3 -2
- package/src/components/DataListItem/DataListItem.vue +12 -12
- package/src/components/DatePicker/DatePicker.mdx +191 -0
- package/src/components/DatePicker/DatePicker.stories.ts +787 -0
- package/src/components/DatePicker/DatePicker.vue +560 -0
- package/src/components/DatePicker/DateTextInput.vue +409 -0
- package/src/components/DatePicker/tests/DatePicker.spec.ts +266 -0
- package/src/components/DialogBox/DialogBox.mdx +28 -2
- package/src/components/DialogBox/DialogBox.stories.ts +2 -2
- package/src/components/DialogBox/DialogBox.vue +3 -2
- package/src/components/DownloadBtn/DownloadBtn.vue +2 -1
- package/src/components/ExternalLinks/Accessibilite.mdx +14 -0
- package/src/components/ExternalLinks/Accessibilite.stories.ts +191 -0
- package/src/components/ExternalLinks/AccessibiliteItems.ts +197 -0
- package/src/components/ExternalLinks/ExternalLinks.mdx +86 -0
- package/src/components/ExternalLinks/ExternalLinks.stories.ts +553 -0
- package/src/components/ExternalLinks/ExternalLinks.vue +200 -0
- package/src/components/ExternalLinks/config.ts +34 -0
- package/src/components/ExternalLinks/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/ExternalLinks/locales.ts +4 -0
- package/src/components/ExternalLinks/tests/ExternalLinks.spec.ts +154 -0
- package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +159 -0
- package/src/components/FileUpload/FileUpload.mdx +165 -0
- package/src/components/FileUpload/FileUpload.stories.ts +429 -0
- package/src/components/FileUpload/FileUpload.vue +195 -0
- package/src/components/FileUpload/FileUploadContent.vue +109 -0
- package/src/components/FileUpload/locales.ts +10 -0
- package/src/components/FileUpload/tests/FileUpload.spec.ts +332 -0
- package/src/components/FileUpload/tests/__snapshots__/FileUpload.spec.ts.snap +7 -0
- package/src/components/FileUpload/useFileDrop.ts +23 -0
- package/src/components/FileUpload/validateFiles.ts +39 -0
- package/src/components/FooterBar/FooterBar.vue +105 -80
- package/src/components/FranceConnectBtn/FranceConnectBtn.vue +14 -13
- package/src/components/HeaderBar/HeaderBar.vue +3 -3
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.vue +11 -7
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.vue +5 -5
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.vue +2 -2
- package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.vue +10 -8
- package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +2 -2
- package/src/components/HeaderBar/HeaderLogo/logos/Logo-mobile.vue +2 -1
- package/src/components/HeaderBar/HeaderLogo/logos/Logo.vue +2 -1
- package/src/components/HeaderBar/HeaderMenuBtn/HeaderMenuBtn.vue +10 -10
- package/src/components/HeaderBar/consts.scss +1 -1
- package/src/components/HeaderLoading/HeaderLoading.vue +12 -11
- package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +2 -1
- package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +9 -9
- package/src/components/HeaderToolbar/HeaderToolbar.vue +215 -202
- package/src/components/LangBtn/LangBtn.vue +8 -6
- package/src/components/LogoBrandSection/LogoBrandSection.stories.ts +2 -2
- package/src/components/NirField/NirField.stories.ts +8 -8
- package/src/components/NirField/NirField.vue +46 -48
- package/src/components/NotFoundPage/NotFoundPage.stories.ts +33 -2
- package/src/components/NotFoundPage/NotFoundPage.vue +17 -0
- package/src/components/NotificationBar/NotificationBar.mdx +5 -5
- package/src/components/NotificationBar/NotificationBar.stories.ts +410 -314
- package/src/components/NotificationBar/NotificationBar.vue +43 -41
- package/src/components/PageContainer/PageContainer.vue +4 -4
- package/src/components/PasswordField/Accessibilite.mdx +14 -0
- package/src/components/PasswordField/Accessibilite.stories.ts +191 -0
- package/src/components/PasswordField/AccessibiliteItems.ts +184 -0
- package/src/components/PasswordField/PasswordField.mdx +70 -0
- package/src/components/PasswordField/PasswordField.stories.ts +213 -0
- package/src/components/PasswordField/PasswordField.vue +189 -0
- package/src/components/PasswordField/config.ts +11 -0
- package/src/components/PasswordField/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/PasswordField/locales.ts +4 -0
- package/src/components/PasswordField/tests/PasswordField.spec.ts +96 -0
- package/src/components/PhoneField/PhoneField.mdx +0 -2
- package/src/components/PhoneField/PhoneField.stories.ts +10 -50
- package/src/components/PhoneField/PhoneField.vue +77 -93
- package/src/components/PhoneField/tests/PhoneField.spec.ts +0 -15
- package/src/components/RangeField/RangeField.mdx +54 -0
- package/src/components/RangeField/RangeField.stories.ts +189 -0
- package/src/components/RangeField/RangeField.vue +157 -0
- package/src/components/RangeField/RangeSlider/RangeSlider.vue +387 -0
- package/src/components/RangeField/RangeSlider/Tooltip/Tooltip.vue +64 -0
- package/src/components/RangeField/RangeSlider/tests/__snapshots__/rangeSlider.spec.ts.snap +27 -0
- package/src/components/RangeField/RangeSlider/tests/rangeSlider.spec.ts +100 -0
- package/src/components/RangeField/RangeSlider/tests/useDoubleSlider.spec.ts +246 -0
- package/src/components/RangeField/RangeSlider/tests/useMouseSlide.spec.ts +204 -0
- package/src/components/RangeField/RangeSlider/tests/useThumb.spec.ts +22 -0
- package/src/components/RangeField/RangeSlider/tests/useThumbKeyboard.spec.ts +233 -0
- package/src/components/RangeField/RangeSlider/tests/useTooltipsNudge.spec.ts +150 -0
- package/src/components/RangeField/RangeSlider/tests/useTrack.spec.ts +314 -0
- package/src/components/RangeField/RangeSlider/tests/vAnimateClick.spec.ts +32 -0
- package/src/components/RangeField/RangeSlider/types.ts +15 -0
- package/src/components/RangeField/RangeSlider/useMouseSlide.ts +109 -0
- package/src/components/RangeField/RangeSlider/useRangeSlider.ts +126 -0
- package/src/components/RangeField/RangeSlider/useThumb.ts +18 -0
- package/src/components/RangeField/RangeSlider/useThumbKeyboard.ts +84 -0
- package/src/components/RangeField/RangeSlider/useTooltipsNudge.ts +92 -0
- package/src/components/RangeField/RangeSlider/useTrack.ts +116 -0
- package/src/components/RangeField/RangeSlider/vAnimateClick.ts +19 -0
- package/src/components/RangeField/config.ts +7 -0
- package/src/components/RangeField/locales.ts +4 -0
- package/src/components/RangeField/tests/RangeField.spec.ts +224 -0
- package/src/components/RangeField/tests/__snapshots__/RangeField.spec.ts.snap +379 -0
- package/src/components/RatingPicker/EmotionPicker/EmotionPicker.vue +205 -0
- package/src/components/RatingPicker/EmotionPicker/locales.ts +3 -0
- package/src/components/RatingPicker/EmotionPicker/tests/EmotionPicker.spec.ts +104 -0
- package/src/components/RatingPicker/EmotionPicker/tests/__snapshots__/EmotionPicker.spec.ts.snap +66 -0
- package/src/components/RatingPicker/NumberPicker/NumberPicker.vue +159 -0
- package/src/components/RatingPicker/NumberPicker/locales.ts +4 -0
- package/src/components/RatingPicker/NumberPicker/tests/NumberPicker.spec.ts +73 -0
- package/src/components/RatingPicker/NumberPicker/tests/__snapshots__/NumberPicker.spec.ts.snap +105 -0
- package/src/components/RatingPicker/Rating.ts +45 -0
- package/src/components/RatingPicker/RatingPicker.mdx +56 -0
- package/src/components/RatingPicker/RatingPicker.stories.ts +515 -0
- package/src/components/RatingPicker/RatingPicker.vue +122 -0
- package/src/components/RatingPicker/StarsPicker/StarsPicker.vue +116 -0
- package/src/components/RatingPicker/StarsPicker/tests/StarsPicker.spec.ts +95 -0
- package/src/components/RatingPicker/StarsPicker/tests/__snapshots__/StarsPicker.spec.ts.snap +36 -0
- package/src/components/RatingPicker/locales.ts +3 -0
- package/src/components/RatingPicker/tests/Rating.spec.ts +104 -0
- package/src/components/RatingPicker/tests/RatingPicker.spec.ts +187 -0
- package/src/components/RatingPicker/tests/__snapshots__/RatingPicker.spec.ts.snap +108 -0
- package/src/components/SearchListField/SearchListField.mdx +74 -0
- package/src/components/SearchListField/SearchListField.stories.ts +126 -0
- package/src/components/SearchListField/SearchListField.vue +194 -0
- package/src/components/SearchListField/locales.ts +5 -0
- package/src/components/SearchListField/tests/SearchListField.spec.ts +323 -0
- package/src/components/SearchListField/types.d.ts +4 -0
- package/src/components/SelectBtnField/SelectBtnField.mdx +50 -0
- package/src/components/SelectBtnField/SelectBtnField.stories.ts +763 -0
- package/src/components/SelectBtnField/SelectBtnField.vue +283 -0
- package/src/components/SelectBtnField/config.ts +11 -0
- package/src/components/SelectBtnField/tests/SelectBtnField.spec.ts +327 -0
- package/src/components/SelectBtnField/tests/__snapshots__/SelectBtnField.spec.ts.snap +125 -0
- package/src/components/SelectBtnField/types.d.ts +11 -0
- package/src/components/SkipLink/SkipLink.vue +10 -10
- package/src/components/SocialMediaLinks/SocialMediaLinks.vue +28 -26
- package/src/components/SubHeader/SubHeader.vue +32 -31
- package/src/components/SyAlert/SyAlert.vue +12 -12
- package/src/components/UserMenuBtn/UserMenuBtn.vue +1 -1
- package/src/components/UserMenuBtn/config.ts +1 -1
- package/src/components/index.ts +17 -7
- package/src/composables/rules/useFieldValidation.ts +172 -44
- package/src/designTokens/index.ts +6 -4
- package/src/designTokens/{bootstrapColors.md → paColors.md} +1 -1
- package/src/designTokens/tokens/cnam/cnamLightTheme.ts +2 -0
- package/src/designTokens/tokens/pa/paColors.ts +171 -0
- package/src/designTokens/tokens/pa/paContextual.ts +58 -0
- package/src/designTokens/tokens/pa/paDarkTheme.ts +5 -0
- package/src/designTokens/tokens/pa/paLightTheme.ts +123 -0
- package/src/designTokens/tokens/pa/paSemantic.ts +87 -0
- package/src/stories/Fondamentaux/CustomisationEtThemes.mdx +52 -2
- package/src/stories/GuideDuDev/CreerUneIssue.mdx +64 -0
- package/src/stories/GuideDuDev/{CommentUtiliserLesRules.mdx → UtiliserLesRules.mdx} +2 -2
- package/src/stories/GuideDuDev/components.stories.ts +9 -7
- package/src/stories/Guidelines/Vuetify/Vuetify.stories.ts +163 -88
- package/src/stories/Guidelines/Vuetify/VuetifyItems.ts +250 -23
- package/src/temp/TestDTComponent.vue +5 -6
- package/src/utils/calcHumanFileSize/index.ts +12 -0
- package/src/utils/calcHumanFileSize/tests/calcHumanFileSize.spec.ts +21 -0
- package/src/designTokens/tokens/bootstrap/bootstrapColors.ts +0 -158
- package/src/designTokens/tokens/bootstrap/bootstrapLightTheme.ts +0 -22
- package/src/stories/GuideDuDev/CommentContribuer.mdx +0 -22
|
@@ -158,7 +158,6 @@
|
|
|
158
158
|
</template>
|
|
159
159
|
|
|
160
160
|
<style lang="scss" scoped>
|
|
161
|
-
|
|
162
161
|
.vd-cookie-banner {
|
|
163
162
|
position: fixed;
|
|
164
163
|
left: 50%;
|
|
@@ -176,16 +175,17 @@
|
|
|
176
175
|
display: flex;
|
|
177
176
|
flex-direction: column;
|
|
178
177
|
width: 100%;
|
|
179
|
-
|
|
178
|
+
background: transparent;
|
|
180
179
|
}
|
|
181
180
|
|
|
182
181
|
.vd-cookie-banner-content {
|
|
183
182
|
overflow-y: auto;
|
|
184
183
|
padding-right: 8px;
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
184
|
+
background: transparent;
|
|
185
|
+
|
|
186
|
+
div {
|
|
187
|
+
background: transparent;
|
|
188
|
+
}
|
|
189
189
|
}
|
|
190
190
|
|
|
191
191
|
.vd-cookie-banner-action-ctn .v-btn {
|
|
@@ -193,12 +193,13 @@
|
|
|
193
193
|
}
|
|
194
194
|
|
|
195
195
|
.v-btn--icon {
|
|
196
|
-
color:
|
|
196
|
+
color: rgb(0 0 0 / 54%);
|
|
197
197
|
position: absolute;
|
|
198
198
|
right: 24px;
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
-
.height-enter-active,
|
|
201
|
+
.height-enter-active,
|
|
202
|
+
.height-leave-active {
|
|
202
203
|
box-sizing: border-box;
|
|
203
204
|
transition: height 2s ease;
|
|
204
205
|
interpolate-size: allow-keywords;
|
|
@@ -214,11 +215,13 @@
|
|
|
214
215
|
transition: height 0.1s ease;
|
|
215
216
|
}
|
|
216
217
|
|
|
217
|
-
.height-enter-from,
|
|
218
|
+
.height-enter-from,
|
|
219
|
+
.height-leave-to {
|
|
218
220
|
height: 0;
|
|
219
221
|
}
|
|
220
222
|
|
|
221
|
-
.height-enter-to,
|
|
223
|
+
.height-enter-to,
|
|
224
|
+
.height-leave-from {
|
|
222
225
|
height: auto;
|
|
223
226
|
}
|
|
224
227
|
|
|
@@ -42,9 +42,9 @@ exports[`CookieBanner > does not close the dialog when the customize button is c
|
|
|
42
42
|
<table>
|
|
43
43
|
<thead data-v-d0e8c396="">
|
|
44
44
|
<tr data-v-d0e8c396="">
|
|
45
|
-
<th data-v-d0e8c396="" style="width: 180px;" class="text-left">Dénomination du cookie</th>
|
|
46
|
-
<th data-v-d0e8c396="" style="width: 328px;" class="text-left">Finalité</th>
|
|
47
|
-
<th data-v-d0e8c396="" style="width: 180px;" class="text-left">Durée de conservation</th>
|
|
45
|
+
<th data-v-d0e8c396="" style="width: 180px;" class="text-left" scope="col">Dénomination du cookie</th>
|
|
46
|
+
<th data-v-d0e8c396="" style="width: 328px;" class="text-left" scope="col">Finalité</th>
|
|
47
|
+
<th data-v-d0e8c396="" style="width: 180px;" class="text-left" scope="col">Durée de conservation</th>
|
|
48
48
|
</tr>
|
|
49
49
|
</thead>
|
|
50
50
|
<tbody data-v-d0e8c396="">
|
|
@@ -77,9 +77,9 @@ exports[`CookieBanner > does not close the dialog when the customize button is c
|
|
|
77
77
|
<table>
|
|
78
78
|
<thead data-v-d0e8c396="">
|
|
79
79
|
<tr data-v-d0e8c396="">
|
|
80
|
-
<th data-v-d0e8c396="" style="width: 180px;" class="text-left">Dénomination du cookie</th>
|
|
81
|
-
<th data-v-d0e8c396="" style="width: 328px;" class="text-left">Finalité</th>
|
|
82
|
-
<th data-v-d0e8c396="" style="width: 180px;" class="text-left">Durée de conservation</th>
|
|
80
|
+
<th data-v-d0e8c396="" style="width: 180px;" class="text-left" scope="col">Dénomination du cookie</th>
|
|
81
|
+
<th data-v-d0e8c396="" style="width: 328px;" class="text-left" scope="col">Finalité</th>
|
|
82
|
+
<th data-v-d0e8c396="" style="width: 180px;" class="text-left" scope="col">Durée de conservation</th>
|
|
83
83
|
</tr>
|
|
84
84
|
</thead>
|
|
85
85
|
<tbody data-v-d0e8c396="">
|
|
@@ -96,9 +96,10 @@ exports[`CookieBanner > does not close the dialog when the customize button is c
|
|
|
96
96
|
</details>
|
|
97
97
|
<div data-v-2ca04413="" class="v-input v-input--horizontal v-input--center-affix v-input--density-default v-theme--light v-locale--is-ltr v-radio-group vd-cookies-information__radio-group" data-test-id="radio-group">
|
|
98
98
|
<!---->
|
|
99
|
-
<div class="v-input__control">
|
|
100
|
-
|
|
101
|
-
|
|
99
|
+
<div class="v-input__control"><label class="v-label" id="radio-group-7">
|
|
100
|
+
<!---->Accepter les cookies de type Cookies fonctionnels, ce champ est requis.
|
|
101
|
+
</label>
|
|
102
|
+
<div class="v-selection-control-group v-selection-control-group--inline" role="radiogroup" label="Accepter les cookies de type Cookies fonctionnels, ce champ est requis." aria-describedby="radio-group-7-messages" aria-labelledby="radio-group-7">
|
|
102
103
|
<div data-v-2ca04413="" class="v-spacer"></div>
|
|
103
104
|
<div data-v-2ca04413="" class="v-selection-control v-selection-control--inline v-selection-control--density-default v-radio">
|
|
104
105
|
<div class="v-selection-control__wrapper">
|
|
@@ -133,9 +134,9 @@ exports[`CookieBanner > does not close the dialog when the customize button is c
|
|
|
133
134
|
<table>
|
|
134
135
|
<thead data-v-d0e8c396="">
|
|
135
136
|
<tr data-v-d0e8c396="">
|
|
136
|
-
<th data-v-d0e8c396="" style="width: 180px;" class="text-left">Dénomination du cookie</th>
|
|
137
|
-
<th data-v-d0e8c396="" style="width: 328px;" class="text-left">Finalité</th>
|
|
138
|
-
<th data-v-d0e8c396="" style="width: 180px;" class="text-left">Durée de conservation</th>
|
|
137
|
+
<th data-v-d0e8c396="" style="width: 180px;" class="text-left" scope="col">Dénomination du cookie</th>
|
|
138
|
+
<th data-v-d0e8c396="" style="width: 328px;" class="text-left" scope="col">Finalité</th>
|
|
139
|
+
<th data-v-d0e8c396="" style="width: 180px;" class="text-left" scope="col">Durée de conservation</th>
|
|
139
140
|
</tr>
|
|
140
141
|
</thead>
|
|
141
142
|
<tbody data-v-d0e8c396="">
|
|
@@ -152,9 +153,10 @@ exports[`CookieBanner > does not close the dialog when the customize button is c
|
|
|
152
153
|
</details>
|
|
153
154
|
<div data-v-2ca04413="" class="v-input v-input--horizontal v-input--center-affix v-input--density-default v-theme--light v-locale--is-ltr v-radio-group vd-cookies-information__radio-group" data-test-id="radio-group">
|
|
154
155
|
<!---->
|
|
155
|
-
<div class="v-input__control">
|
|
156
|
-
|
|
157
|
-
|
|
156
|
+
<div class="v-input__control"><label class="v-label" id="radio-group-12">
|
|
157
|
+
<!---->Accepter les cookies de type Cookies d’analyse, ce champ est requis.
|
|
158
|
+
</label>
|
|
159
|
+
<div class="v-selection-control-group v-selection-control-group--inline" role="radiogroup" label="Accepter les cookies de type Cookies d’analyse, ce champ est requis." aria-describedby="radio-group-12-messages" aria-labelledby="radio-group-12">
|
|
158
160
|
<div data-v-2ca04413="" class="v-spacer"></div>
|
|
159
161
|
<div data-v-2ca04413="" class="v-selection-control v-selection-control--inline v-selection-control--density-default v-radio">
|
|
160
162
|
<div class="v-selection-control__wrapper">
|
|
@@ -73,6 +73,7 @@
|
|
|
73
73
|
:rules="[required]"
|
|
74
74
|
data-test-id="radio-group"
|
|
75
75
|
inline
|
|
76
|
+
:label="locales.fieldLabel(locales[type].title)"
|
|
76
77
|
hide-details="auto"
|
|
77
78
|
class="vd-cookies-information__radio-group"
|
|
78
79
|
@update:model-value="status = $event === 'accept'"
|
|
@@ -96,7 +97,7 @@
|
|
|
96
97
|
</template>
|
|
97
98
|
|
|
98
99
|
<style lang="scss" scoped>
|
|
99
|
-
@use '@/assets/tokens
|
|
100
|
+
@use '@/assets/tokens';
|
|
100
101
|
|
|
101
102
|
details > summary {
|
|
102
103
|
cursor: pointer;
|
|
@@ -119,5 +120,9 @@ details > summary {
|
|
|
119
120
|
:deep(.v-messages) {
|
|
120
121
|
text-align: end;
|
|
121
122
|
}
|
|
123
|
+
|
|
124
|
+
:deep(.v-label) {
|
|
125
|
+
justify-content: end;
|
|
126
|
+
}
|
|
122
127
|
}
|
|
123
128
|
</style>
|
|
@@ -42,9 +42,9 @@ exports[`CookiesSelection > renders correctly 1`] = `
|
|
|
42
42
|
<table>
|
|
43
43
|
<thead data-v-d0e8c396="">
|
|
44
44
|
<tr data-v-d0e8c396="">
|
|
45
|
-
<th data-v-d0e8c396="" style="width: 180px;" class="text-left">Dénomination du cookie</th>
|
|
46
|
-
<th data-v-d0e8c396="" style="width: 328px;" class="text-left">Finalité</th>
|
|
47
|
-
<th data-v-d0e8c396="" style="width: 180px;" class="text-left">Durée de conservation</th>
|
|
45
|
+
<th data-v-d0e8c396="" style="width: 180px;" class="text-left" scope="col">Dénomination du cookie</th>
|
|
46
|
+
<th data-v-d0e8c396="" style="width: 328px;" class="text-left" scope="col">Finalité</th>
|
|
47
|
+
<th data-v-d0e8c396="" style="width: 180px;" class="text-left" scope="col">Durée de conservation</th>
|
|
48
48
|
</tr>
|
|
49
49
|
</thead>
|
|
50
50
|
<tbody data-v-d0e8c396="">
|
|
@@ -77,9 +77,9 @@ exports[`CookiesSelection > renders correctly 1`] = `
|
|
|
77
77
|
<table>
|
|
78
78
|
<thead data-v-d0e8c396="">
|
|
79
79
|
<tr data-v-d0e8c396="">
|
|
80
|
-
<th data-v-d0e8c396="" style="width: 180px;" class="text-left">Dénomination du cookie</th>
|
|
81
|
-
<th data-v-d0e8c396="" style="width: 328px;" class="text-left">Finalité</th>
|
|
82
|
-
<th data-v-d0e8c396="" style="width: 180px;" class="text-left">Durée de conservation</th>
|
|
80
|
+
<th data-v-d0e8c396="" style="width: 180px;" class="text-left" scope="col">Dénomination du cookie</th>
|
|
81
|
+
<th data-v-d0e8c396="" style="width: 328px;" class="text-left" scope="col">Finalité</th>
|
|
82
|
+
<th data-v-d0e8c396="" style="width: 180px;" class="text-left" scope="col">Durée de conservation</th>
|
|
83
83
|
</tr>
|
|
84
84
|
</thead>
|
|
85
85
|
<tbody data-v-d0e8c396="">
|
|
@@ -96,9 +96,10 @@ exports[`CookiesSelection > renders correctly 1`] = `
|
|
|
96
96
|
</details>
|
|
97
97
|
<div data-v-2ca04413="" class="v-input v-input--horizontal v-input--center-affix v-input--density-default v-theme--light v-locale--is-ltr v-radio-group vd-cookies-information__radio-group" data-test-id="radio-group">
|
|
98
98
|
<!---->
|
|
99
|
-
<div class="v-input__control">
|
|
100
|
-
|
|
101
|
-
|
|
99
|
+
<div class="v-input__control"><label class="v-label" id="radio-group-2">
|
|
100
|
+
<!---->Accepter les cookies de type Cookies fonctionnels, ce champ est requis.
|
|
101
|
+
</label>
|
|
102
|
+
<div class="v-selection-control-group v-selection-control-group--inline" role="radiogroup" label="Accepter les cookies de type Cookies fonctionnels, ce champ est requis." aria-describedby="radio-group-2-messages" aria-labelledby="radio-group-2">
|
|
102
103
|
<div data-v-2ca04413="" class="v-spacer"></div>
|
|
103
104
|
<div data-v-2ca04413="" class="v-selection-control v-selection-control--inline v-selection-control--density-default v-radio">
|
|
104
105
|
<div class="v-selection-control__wrapper">
|
|
@@ -133,9 +134,9 @@ exports[`CookiesSelection > renders correctly 1`] = `
|
|
|
133
134
|
<table>
|
|
134
135
|
<thead data-v-d0e8c396="">
|
|
135
136
|
<tr data-v-d0e8c396="">
|
|
136
|
-
<th data-v-d0e8c396="" style="width: 180px;" class="text-left">Dénomination du cookie</th>
|
|
137
|
-
<th data-v-d0e8c396="" style="width: 328px;" class="text-left">Finalité</th>
|
|
138
|
-
<th data-v-d0e8c396="" style="width: 180px;" class="text-left">Durée de conservation</th>
|
|
137
|
+
<th data-v-d0e8c396="" style="width: 180px;" class="text-left" scope="col">Dénomination du cookie</th>
|
|
138
|
+
<th data-v-d0e8c396="" style="width: 328px;" class="text-left" scope="col">Finalité</th>
|
|
139
|
+
<th data-v-d0e8c396="" style="width: 180px;" class="text-left" scope="col">Durée de conservation</th>
|
|
139
140
|
</tr>
|
|
140
141
|
</thead>
|
|
141
142
|
<tbody data-v-d0e8c396="">
|
|
@@ -152,9 +153,10 @@ exports[`CookiesSelection > renders correctly 1`] = `
|
|
|
152
153
|
</details>
|
|
153
154
|
<div data-v-2ca04413="" class="v-input v-input--horizontal v-input--center-affix v-input--density-default v-theme--light v-locale--is-ltr v-radio-group vd-cookies-information__radio-group" data-test-id="radio-group">
|
|
154
155
|
<!---->
|
|
155
|
-
<div class="v-input__control">
|
|
156
|
-
|
|
157
|
-
|
|
156
|
+
<div class="v-input__control"><label class="v-label" id="radio-group-7">
|
|
157
|
+
<!---->Accepter les cookies de type Cookies d’analyse, ce champ est requis.
|
|
158
|
+
</label>
|
|
159
|
+
<div class="v-selection-control-group v-selection-control-group--inline" role="radiogroup" label="Accepter les cookies de type Cookies d’analyse, ce champ est requis." aria-describedby="radio-group-7-messages" aria-labelledby="radio-group-7">
|
|
158
160
|
<div data-v-2ca04413="" class="v-spacer"></div>
|
|
159
161
|
<div data-v-2ca04413="" class="v-selection-control v-selection-control--inline v-selection-control--density-default v-radio">
|
|
160
162
|
<div class="v-selection-control__wrapper">
|
|
@@ -86,17 +86,17 @@
|
|
|
86
86
|
</template>
|
|
87
87
|
|
|
88
88
|
<style lang="scss">
|
|
89
|
-
@use '@/assets/tokens
|
|
89
|
+
@use '@/assets/tokens';
|
|
90
90
|
|
|
91
91
|
.vd-copy-tooltip-menu {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
92
|
+
padding: 6px 16px;
|
|
93
|
+
box-shadow: none;
|
|
94
|
+
margin-top: 2px;
|
|
95
|
+
background: rgb(84 88 89 / 95%);
|
|
96
|
+
color: white;
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
.v-btn--icon .v-icon {
|
|
100
|
-
|
|
100
|
+
color: tokens.$grey-lighten-20;
|
|
101
101
|
}
|
|
102
102
|
</style>
|
|
@@ -213,42 +213,42 @@
|
|
|
213
213
|
</template>
|
|
214
214
|
|
|
215
215
|
<style lang="scss" scoped>
|
|
216
|
-
@use '@/assets/tokens
|
|
216
|
+
@use '@/assets/tokens';
|
|
217
217
|
@use '@/assets/tokens' as *;
|
|
218
218
|
|
|
219
219
|
.vd-user-menu-btn-ctn {
|
|
220
|
-
|
|
221
|
-
|
|
220
|
+
position: relative;
|
|
221
|
+
z-index: 1;
|
|
222
222
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
223
|
+
.v-btn.v-btn--density-default {
|
|
224
|
+
height: auto !important;
|
|
225
|
+
}
|
|
226
226
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
227
|
+
.v-btn {
|
|
228
|
+
text-transform: none !important;
|
|
229
|
+
}
|
|
230
230
|
}
|
|
231
231
|
|
|
232
232
|
.vd-user-menu-btn {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
233
|
+
outline: none;
|
|
234
|
+
padding: 12px !important;
|
|
235
|
+
|
|
236
|
+
&:hover::before {
|
|
237
|
+
background: #000;
|
|
238
|
+
opacity: 0.05;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
&:focus::before {
|
|
242
|
+
background: tokens.$blue-base;
|
|
243
|
+
opacity: 0.08;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
&:focus {
|
|
247
|
+
background: rgba(tokens.$blue-base, 0.08) !important;
|
|
248
|
+
}
|
|
249
249
|
}
|
|
250
250
|
|
|
251
251
|
:deep(.vd-user-menu-btn:focus > .v-btn__overlay) {
|
|
252
|
-
|
|
252
|
+
opacity: 0 !important;
|
|
253
253
|
}
|
|
254
254
|
</style>
|
|
@@ -200,53 +200,53 @@
|
|
|
200
200
|
</template>
|
|
201
201
|
|
|
202
202
|
<style lang="scss" scoped>
|
|
203
|
-
@use '@/assets/tokens
|
|
203
|
+
@use '@/assets/tokens';
|
|
204
204
|
|
|
205
205
|
.sy-input-select {
|
|
206
|
-
|
|
207
|
-
|
|
206
|
+
text-transform: none !important;
|
|
207
|
+
font-size: 16px;
|
|
208
208
|
}
|
|
209
209
|
|
|
210
210
|
.v-input {
|
|
211
|
-
|
|
212
|
-
|
|
211
|
+
cursor: pointer;
|
|
212
|
+
position: relative;
|
|
213
213
|
}
|
|
214
214
|
|
|
215
215
|
.v-list {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
216
|
+
position: absolute;
|
|
217
|
+
width: 100%;
|
|
218
|
+
z-index: 1;
|
|
219
|
+
background-color: white;
|
|
220
|
+
min-width: fit-content;
|
|
221
|
+
max-width: 100px;
|
|
222
|
+
padding: 0;
|
|
223
|
+
box-shadow: 0 2px 5px rgb(0 0 0 / 12%), 0 2px 10px rgb(0 0 0 / 8%);
|
|
224
|
+
border-radius: 4px;
|
|
225
|
+
overflow-y: auto;
|
|
226
|
+
max-height: 300px;
|
|
227
227
|
}
|
|
228
228
|
|
|
229
229
|
.v-list-item:hover {
|
|
230
|
-
|
|
230
|
+
background-color: rgb(0 0 0 / 4%);
|
|
231
231
|
}
|
|
232
232
|
|
|
233
233
|
:deep(.v-list-item[aria-selected='true']) {
|
|
234
|
-
|
|
234
|
+
background-color: rgb(0 0 0 / 8%);
|
|
235
235
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
236
|
+
.v-list-item-title {
|
|
237
|
+
font-weight: bold;
|
|
238
|
+
}
|
|
239
239
|
}
|
|
240
240
|
|
|
241
241
|
.error {
|
|
242
|
-
|
|
242
|
+
border-color: tokens.$danger-default;
|
|
243
243
|
}
|
|
244
244
|
|
|
245
245
|
.v-btn {
|
|
246
|
-
|
|
246
|
+
color: tokens.$blue-base;
|
|
247
247
|
}
|
|
248
248
|
|
|
249
249
|
.text-color {
|
|
250
|
-
|
|
250
|
+
color: tokens.$blue-base;
|
|
251
251
|
}
|
|
252
252
|
</style>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from '@storybook/vue3'
|
|
2
2
|
import SySelect from '@/components/Customs/SySelect/SySelect.vue'
|
|
3
|
+
import SyAlert from '@/components/SyAlert/SyAlert.vue'
|
|
3
4
|
import { VBtn, VMenu, VList, VListItem, VListItemTitle } from 'vuetify/components'
|
|
4
5
|
import { ref } from 'vue'
|
|
5
|
-
import SyAlert from '@/components/SyAlert/SyAlert.vue'
|
|
6
6
|
|
|
7
|
-
const meta = {
|
|
7
|
+
const meta: Meta<typeof SySelect> = {
|
|
8
8
|
title: 'Composants/Formulaires/SySelect',
|
|
9
9
|
component: SySelect,
|
|
10
10
|
parameters: {
|
|
@@ -64,7 +64,7 @@ export const Default: Story = {
|
|
|
64
64
|
return { args }
|
|
65
65
|
},
|
|
66
66
|
template: `
|
|
67
|
-
<div class="
|
|
67
|
+
<div class="pa-4">
|
|
68
68
|
<SySelect
|
|
69
69
|
v-bind="args"
|
|
70
70
|
/>
|
|
@@ -119,7 +119,7 @@ export const Required: Story = {
|
|
|
119
119
|
return { args }
|
|
120
120
|
},
|
|
121
121
|
template: `
|
|
122
|
-
<div class="
|
|
122
|
+
<div class="pa-4">
|
|
123
123
|
<SySelect
|
|
124
124
|
v-bind="args"
|
|
125
125
|
:required="args.required"
|
|
@@ -188,13 +188,13 @@ export const withCustomError: Story = {
|
|
|
188
188
|
return { args, errorMessages, triggerError }
|
|
189
189
|
},
|
|
190
190
|
template: `
|
|
191
|
-
<div class="
|
|
191
|
+
<div class="pa-4">
|
|
192
192
|
<SySelect
|
|
193
193
|
v-bind="args"
|
|
194
194
|
:error-messages="errorMessages"
|
|
195
195
|
/>
|
|
196
196
|
</div>
|
|
197
|
-
<div class="
|
|
197
|
+
<div class="px-4">
|
|
198
198
|
<VBtn @click="triggerError">
|
|
199
199
|
Trigger Error
|
|
200
200
|
</VBtn>
|
|
@@ -247,7 +247,7 @@ export const withCustomKey: Story = {
|
|
|
247
247
|
return { args }
|
|
248
248
|
},
|
|
249
249
|
template: `
|
|
250
|
-
<div class="
|
|
250
|
+
<div class="pa-4">
|
|
251
251
|
<SySelect
|
|
252
252
|
v-bind="args"
|
|
253
253
|
text-key="customKey"
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
const props = defineProps({
|
|
6
6
|
modelValue: {
|
|
7
|
-
type: [Object, String],
|
|
7
|
+
type: [Object, String, Number],
|
|
8
8
|
default: null,
|
|
9
9
|
},
|
|
10
10
|
items: {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
},
|
|
14
14
|
label: {
|
|
15
15
|
type: String,
|
|
16
|
-
default: '
|
|
16
|
+
default: '',
|
|
17
17
|
},
|
|
18
18
|
errorMessages: {
|
|
19
19
|
type: [String, Array] as PropType<string | readonly string[]>,
|
|
@@ -23,6 +23,10 @@
|
|
|
23
23
|
type: Boolean,
|
|
24
24
|
default: false,
|
|
25
25
|
},
|
|
26
|
+
disabled: {
|
|
27
|
+
type: Boolean,
|
|
28
|
+
default: false,
|
|
29
|
+
},
|
|
26
30
|
menuId: {
|
|
27
31
|
type: String,
|
|
28
32
|
default: 'sy-select-menu',
|
|
@@ -44,7 +48,7 @@
|
|
|
44
48
|
const emit = defineEmits(['update:modelValue'])
|
|
45
49
|
|
|
46
50
|
const isOpen = ref(false)
|
|
47
|
-
const selectedItem = ref<Record<string, unknown > | string | null | undefined>(props.modelValue)
|
|
51
|
+
const selectedItem = ref<Record<string, unknown > | string | number | null | undefined>(props.modelValue)
|
|
48
52
|
const hasError = ref(false)
|
|
49
53
|
|
|
50
54
|
const labelWidth = ref(0)
|
|
@@ -131,7 +135,8 @@
|
|
|
131
135
|
color="primary"
|
|
132
136
|
tabindex="0"
|
|
133
137
|
readonly
|
|
134
|
-
:
|
|
138
|
+
:disabled="disabled"
|
|
139
|
+
:label="selectedItem ? label : 'Sélectionnez une option'"
|
|
135
140
|
:aria-label="selectedItem ? label : 'Sélectionnez une option'"
|
|
136
141
|
:error-messages="errorMessages"
|
|
137
142
|
:variant="outlined ? 'outlined' : 'underlined'"
|
|
@@ -183,56 +188,57 @@
|
|
|
183
188
|
</template>
|
|
184
189
|
|
|
185
190
|
<style scoped lang="scss">
|
|
186
|
-
@use '@/assets/tokens
|
|
191
|
+
@use '@/assets/tokens';
|
|
187
192
|
|
|
188
193
|
.sy-select {
|
|
189
|
-
|
|
190
|
-
|
|
194
|
+
display: flex;
|
|
195
|
+
flex-direction: column;
|
|
191
196
|
}
|
|
192
197
|
|
|
193
198
|
.v-field {
|
|
194
|
-
|
|
199
|
+
position: relative;
|
|
195
200
|
}
|
|
201
|
+
|
|
196
202
|
.v-field--focused {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
203
|
+
.v-icon.arrow {
|
|
204
|
+
transform: rotateX(180deg);
|
|
205
|
+
}
|
|
200
206
|
}
|
|
201
207
|
|
|
202
208
|
.v-list {
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
209
|
+
position: absolute;
|
|
210
|
+
left: inherit !important;
|
|
211
|
+
margin-top: -22px;
|
|
212
|
+
background-color: white;
|
|
213
|
+
max-height: 300px;
|
|
214
|
+
padding: 0;
|
|
215
|
+
box-shadow: 0 2px 5px rgb(0 0 0 / 12%), 0 2px 10px rgb(0 0 0 / 8%);
|
|
216
|
+
border-radius: 4px;
|
|
217
|
+
overflow-y: auto;
|
|
218
|
+
z-index: 2;
|
|
213
219
|
}
|
|
214
220
|
|
|
215
221
|
.v-list-item:hover {
|
|
216
|
-
|
|
222
|
+
background-color: rgb(0 0 0 / 4%);
|
|
217
223
|
}
|
|
218
224
|
|
|
219
225
|
.v-list-item[aria-selected='true'] {
|
|
220
|
-
|
|
226
|
+
background-color: rgb(0 0 0 / 8%);
|
|
221
227
|
}
|
|
222
228
|
|
|
223
229
|
.v-icon {
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
230
|
+
position: absolute;
|
|
231
|
+
right: 10px;
|
|
232
|
+
color: tokens.$grey-darken-20;
|
|
227
233
|
}
|
|
228
234
|
|
|
229
235
|
:deep(.v-field__input) {
|
|
230
|
-
|
|
236
|
+
color: tokens.$grey-darken-20;
|
|
231
237
|
}
|
|
232
238
|
|
|
233
239
|
.hidden-label {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
240
|
+
visibility: hidden;
|
|
241
|
+
position: absolute;
|
|
242
|
+
white-space: nowrap;
|
|
237
243
|
}
|
|
238
244
|
</style>
|
|
@@ -11,7 +11,7 @@ describe('SySelect.vue', () => {
|
|
|
11
11
|
},
|
|
12
12
|
})
|
|
13
13
|
expect(wrapper.exists()).toBe(true)
|
|
14
|
-
expect(wrapper.find('.sy-select').
|
|
14
|
+
expect(wrapper.find('.sy-select').exists()).toBe(true)
|
|
15
15
|
})
|
|
16
16
|
|
|
17
17
|
it('displays the selected item text', async () => {
|
|
@@ -84,7 +84,7 @@ describe('SySelect.vue', () => {
|
|
|
84
84
|
})
|
|
85
85
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- This is a generic type
|
|
86
86
|
const instance = wrapper.vm as any
|
|
87
|
-
expect(instance.selectedItemText).toBe('
|
|
87
|
+
expect(instance.selectedItemText).toBe('')
|
|
88
88
|
})
|
|
89
89
|
|
|
90
90
|
it('returns the correct text when selectedItem is an object', async () => {
|