@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,125 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`SelectBtnField > display correctly in dark mode with an error 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>
7
+ <div data-v-b3dd75c6="" class="select-btn-field">
8
+ <ul data-v-b3dd75c6="" class="v-btn-group v-theme--dark v-btn-group--density-default v-btn-toggle select-btn-field-toggle d-flex flex-wrap text-primary" aria-label="Test">
9
+ <li data-v-b3dd75c6="" class="select-list-item"><button data-v-b3dd75c6="" type="button" class="v-btn v-btn--flat v-theme--dark v-btn--density-default elevation-0 v-btn--size-default v-btn--variant-outlined py-2 d-flex align-items-center text-error justify-start" style="height: auto; min-height: 40px;" activeclass="text-white" aria-expanded="true" label="" value="test1"><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
10
+ <!----><span class="v-btn__content" data-no-activator=""><span data-v-b3dd75c6="" class="text-body-1">Test 1</span><i data-v-b3dd75c6="" class="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z mdi v-icon notranslate v-theme--dark v-icon--size-default text-white flex-shrink-0 ml-1" style="visibility: hidden;" role="img" aria-hidden="true" aria-label="Sélectionné"></i></span>
11
+ <!---->
12
+ <!---->
13
+ </button></li>
14
+ <li data-v-b3dd75c6="" class="select-list-item"><button data-v-b3dd75c6="" type="button" class="v-btn v-btn--flat v-theme--dark v-btn--density-default elevation-0 v-btn--size-default v-btn--variant-outlined py-2 d-flex align-items-center text-error justify-start" style="height: auto; min-height: 40px;" activeclass="text-white" aria-expanded="true" label="" value="test2"><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
15
+ <!----><span class="v-btn__content" data-no-activator=""><span data-v-b3dd75c6="" class="text-body-1">Test 2</span><i data-v-b3dd75c6="" class="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z mdi v-icon notranslate v-theme--dark v-icon--size-default text-white flex-shrink-0 ml-1" style="visibility: hidden;" role="img" aria-hidden="true" aria-label="Sélectionné"></i></span>
16
+ <!---->
17
+ <!---->
18
+ </button></li>
19
+ </ul>
20
+ <p data-v-b3dd75c6="" class="theme--dark v-messages text-error px-3 mt-2 mb-0 opacity-100">Test</p>
21
+ </div>
22
+ </div>
23
+ </div>
24
+ </div>"
25
+ `;
26
+
27
+ exports[`SelectBtnField > display correctly with an error 1`] = `
28
+ "<div data-v-b3dd75c6="" class="form-input select-btn-field">
29
+ <ul data-v-b3dd75c6="" class="v-btn-group v-theme--light v-btn-group--density-default v-btn-toggle d-flex flex-column select-btn-field-toggle d-flex flex-wrap text-primary" aria-label="Test">
30
+ <li data-v-b3dd75c6="" class="select-list-item"><button data-v-b3dd75c6="" type="button" class="v-btn v-btn--flat v-theme--light v-btn--density-default elevation-0 v-btn--size-default v-btn--variant-outlined py-2 d-flex align-items-center text-error justify-start" style="height: auto; min-height: 40px;" activeclass="text-white" aria-expanded="true" label="" value="test"><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
31
+ <!----><span class="v-btn__content" data-no-activator=""><span data-v-b3dd75c6="" class="text-body-1">Test</span><i data-v-b3dd75c6="" class="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z mdi v-icon notranslate v-theme--light v-icon--size-default text-white flex-shrink-0 ml-1" style="visibility: hidden;" role="img" aria-hidden="true" aria-label="Sélectionné"></i></span>
32
+ <!---->
33
+ <!---->
34
+ </button></li>
35
+ <li data-v-b3dd75c6="" class="select-list-item"><button data-v-b3dd75c6="" type="button" class="v-btn v-btn--flat v-theme--light v-btn--density-default elevation-0 v-btn--size-default v-btn--variant-outlined py-2 d-flex align-items-center text-error justify-start" style="height: auto; min-height: 40px;" activeclass="text-white" aria-expanded="true" label="" value="test2"><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
36
+ <!----><span class="v-btn__content" data-no-activator=""><span data-v-b3dd75c6="" class="text-body-1">Test 2</span><i data-v-b3dd75c6="" class="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z mdi v-icon notranslate v-theme--light v-icon--size-default text-white flex-shrink-0 ml-1" style="visibility: hidden;" role="img" aria-hidden="true" aria-label="Sélectionné"></i></span>
37
+ <!---->
38
+ <!---->
39
+ </button></li>
40
+ <li data-v-b3dd75c6="" class="select-list-item"><button data-v-b3dd75c6="" type="button" class="v-btn v-btn--flat v-theme--light v-btn--density-default elevation-0 v-btn--size-default v-btn--variant-outlined py-2 d-flex align-items-center text-error justify-start" style="height: auto; min-height: 40px;" activeclass="text-white" aria-expanded="true" label="" value="test3"><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
41
+ <!----><span class="v-btn__content" data-no-activator=""><span data-v-b3dd75c6="" class="text-body-1">Test 3</span><i data-v-b3dd75c6="" class="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z mdi v-icon notranslate v-theme--light v-icon--size-default text-white flex-shrink-0 ml-1" style="visibility: hidden;" role="img" aria-hidden="true" aria-label="Sélectionné"></i></span>
42
+ <!---->
43
+ <!---->
44
+ </button></li>
45
+ </ul>
46
+ <p data-v-b3dd75c6="" class="theme--light v-messages text-error px-3 mt-2 mb-0 opacity-100">Test</p>
47
+ </div>"
48
+ `;
49
+
50
+ exports[`SelectBtnField > display correctly with in dark mode with an hint 1`] = `
51
+ "<div class="v-application v-theme--light v-layout v-layout--full-height v-locale--is-ltr">
52
+ <div class="v-application__wrap">
53
+ <div>
54
+ <div data-v-b3dd75c6="" class="select-btn-field">
55
+ <ul data-v-b3dd75c6="" class="v-btn-group v-theme--dark v-btn-group--density-default v-btn-toggle select-btn-field-toggle d-flex flex-wrap text-primary" aria-label="Test">
56
+ <li data-v-b3dd75c6="" class="select-list-item"><button data-v-b3dd75c6="" type="button" class="v-btn v-btn--flat v-theme--dark v-btn--density-default elevation-0 v-btn--size-default v-btn--variant-outlined py-2 d-flex align-items-center justify-start" style="height: auto; min-height: 40px;" activeclass="text-white" aria-expanded="true" label="" value="test1"><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
57
+ <!----><span class="v-btn__content" data-no-activator=""><span data-v-b3dd75c6="" class="text-body-1">Test 1</span><i data-v-b3dd75c6="" class="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z mdi v-icon notranslate v-theme--dark v-icon--size-default text-white flex-shrink-0 ml-1" style="visibility: hidden;" role="img" aria-hidden="true" aria-label="Sélectionné"></i></span>
58
+ <!---->
59
+ <!---->
60
+ </button></li>
61
+ <li data-v-b3dd75c6="" class="select-list-item"><button data-v-b3dd75c6="" type="button" class="v-btn v-btn--flat v-theme--dark v-btn--density-default elevation-0 v-btn--size-default v-btn--variant-outlined py-2 d-flex align-items-center justify-start" style="height: auto; min-height: 40px;" activeclass="text-white" aria-expanded="true" label="" value="test2"><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
62
+ <!----><span class="v-btn__content" data-no-activator=""><span data-v-b3dd75c6="" class="text-body-1">Test 2</span><i data-v-b3dd75c6="" class="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z mdi v-icon notranslate v-theme--dark v-icon--size-default text-white flex-shrink-0 ml-1" style="visibility: hidden;" role="img" aria-hidden="true" aria-label="Sélectionné"></i></span>
63
+ <!---->
64
+ <!---->
65
+ </button></li>
66
+ </ul>
67
+ <p data-v-b3dd75c6="" class="theme--dark v-messages px-3 mt-2 mb-0 opacity-100">Test</p>
68
+ </div>
69
+ </div>
70
+ </div>
71
+ </div>"
72
+ `;
73
+
74
+ exports[`SelectBtnField > render correctly in multiple mode 1`] = `
75
+ "<div data-v-b3dd75c6="" class="form-input select-btn-field">
76
+ <ul data-v-b3dd75c6="" class="v-btn-group v-theme--light v-btn-group--density-default v-btn-toggle d-flex flex-column select-btn-field-toggle d-flex flex-wrap text-primary" aria-label="Test">
77
+ <li data-v-b3dd75c6="" class="select-list-item"><button data-v-b3dd75c6="" type="button" class="v-btn v-btn--flat v-theme--light v-btn--density-default elevation-0 v-btn--size-default v-btn--variant-outlined py-2 d-flex align-items-center justify-start" style="height: auto; min-height: 40px;" activeclass="text-white" aria-expanded="true" label="" value="test"><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
78
+ <!----><span class="v-btn__content" data-no-activator=""><span data-v-b3dd75c6="" class="text-body-1">Test</span><i data-v-b3dd75c6="" class="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z mdi v-icon notranslate v-theme--light v-icon--size-default text-white flex-shrink-0 ml-1" style="visibility: hidden;" role="img" aria-hidden="true" aria-label="Sélectionné"></i></span>
79
+ <!---->
80
+ <!---->
81
+ </button></li>
82
+ <li data-v-b3dd75c6="" class="select-list-item"><button data-v-b3dd75c6="" type="button" class="v-btn v-btn--flat v-theme--light v-btn--density-default elevation-0 v-btn--size-default v-btn--variant-outlined py-2 d-flex align-items-center justify-start" style="height: auto; min-height: 40px;" activeclass="text-white" aria-expanded="true" label="" value=""><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
83
+ <!----><span class="v-btn__content" data-no-activator=""><span data-v-b3dd75c6="" class="text-body-1">Test 2</span><i data-v-b3dd75c6="" class="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z mdi v-icon notranslate v-theme--light v-icon--size-default text-white flex-shrink-0 ml-1" style="visibility: hidden;" role="img" aria-hidden="true" aria-label="Sélectionné"></i></span>
84
+ <!---->
85
+ <!---->
86
+ </button></li>
87
+ <li data-v-b3dd75c6="" class="select-list-item"><button data-v-b3dd75c6="" type="button" class="v-btn v-btn--flat v-theme--light v-btn--density-default elevation-0 v-btn--size-default v-btn--variant-outlined py-2 d-flex align-items-center justify-start" style="height: auto; min-height: 40px;" activeclass="text-white" aria-expanded="true" label="" value="test3"><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
88
+ <!----><span class="v-btn__content" data-no-activator=""><span data-v-b3dd75c6="" class="text-body-1">Test 3</span><i data-v-b3dd75c6="" class="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z mdi v-icon notranslate v-theme--light v-icon--size-default text-white flex-shrink-0 ml-1" style="visibility: hidden;" role="img" aria-hidden="true" aria-label="Sélectionné"></i></span>
89
+ <!---->
90
+ <!---->
91
+ </button></li>
92
+ </ul>
93
+ <p data-v-b3dd75c6="" class="theme--light v-messages px-3 mt-2 mb-0 opacity-100">Test</p>
94
+ </div>"
95
+ `;
96
+
97
+ exports[`SelectBtnField > renders correctly 1`] = `
98
+ "<div data-v-b3dd75c6="" class="form-input select-btn-field">
99
+ <ul data-v-b3dd75c6="" class="v-btn-group v-theme--light v-btn-group--density-default v-btn-toggle d-flex flex-column select-btn-field-toggle d-flex flex-wrap text-primary"></ul>
100
+ <!--v-if-->
101
+ </div>"
102
+ `;
103
+
104
+ exports[`SelectBtnField > renders correctly with props 1`] = `
105
+ "<div data-v-b3dd75c6="" class="form-input select-btn-field">
106
+ <ul data-v-b3dd75c6="" class="v-btn-group v-theme--light v-btn-group--density-default v-btn-toggle d-flex flex-column select-btn-field-toggle d-flex flex-wrap text-primary" aria-label="Test">
107
+ <li data-v-b3dd75c6="" class="select-list-item"><button data-v-b3dd75c6="" type="button" class="v-btn v-btn--flat v-theme--light v-btn--density-default elevation-0 v-btn--size-default v-btn--variant-outlined py-2 d-flex align-items-center justify-start" style="height: auto; min-height: 40px;" activeclass="text-white" aria-expanded="true" label="" value="test"><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
108
+ <!----><span class="v-btn__content" data-no-activator=""><span data-v-b3dd75c6="" class="text-body-1">Test</span><i data-v-b3dd75c6="" class="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z mdi v-icon notranslate v-theme--light v-icon--size-default text-white flex-shrink-0 ml-1" style="visibility: hidden;" role="img" aria-hidden="true" aria-label="Sélectionné"></i></span>
109
+ <!---->
110
+ <!---->
111
+ </button></li>
112
+ <li data-v-b3dd75c6="" class="select-list-item"><button data-v-b3dd75c6="" type="button" class="v-btn v-btn--flat v-theme--light v-btn--density-default elevation-0 v-btn--size-default v-btn--variant-outlined py-2 d-flex align-items-center justify-start" style="height: auto; min-height: 40px;" activeclass="text-white" aria-expanded="true" label="" value=""><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
113
+ <!----><span class="v-btn__content" data-no-activator=""><span data-v-b3dd75c6="" class="text-body-1">Test 2</span><i data-v-b3dd75c6="" class="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z mdi v-icon notranslate v-theme--light v-icon--size-default text-white flex-shrink-0 ml-1" style="visibility: hidden;" role="img" aria-hidden="true" aria-label="Sélectionné"></i></span>
114
+ <!---->
115
+ <!---->
116
+ </button></li>
117
+ <li data-v-b3dd75c6="" class="select-list-item"><button data-v-b3dd75c6="" type="button" class="v-btn v-btn--flat v-theme--light v-btn--density-default elevation-0 v-btn--size-default v-btn--variant-outlined py-2 d-flex align-items-center justify-start" style="height: auto; min-height: 40px;" activeclass="text-white" aria-expanded="true" label="" value="test3"><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
118
+ <!----><span class="v-btn__content" data-no-activator=""><span data-v-b3dd75c6="" class="text-body-1">Test 3</span><i data-v-b3dd75c6="" class="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z mdi v-icon notranslate v-theme--light v-icon--size-default text-white flex-shrink-0 ml-1" style="visibility: hidden;" role="img" aria-hidden="true" aria-label="Sélectionné"></i></span>
119
+ <!---->
120
+ <!---->
121
+ </button></li>
122
+ </ul>
123
+ <p data-v-b3dd75c6="" class="theme--light v-messages px-3 mt-2 mb-0 opacity-100">Test</p>
124
+ </div>"
125
+ `;
@@ -0,0 +1,11 @@
1
+ export type SelectBtnValue =
2
+ | string
3
+ | number
4
+ | Array<string | number | null | undefined>
5
+ | null
6
+
7
+ export interface SelectBtnItem {
8
+ text: string
9
+ value: string | number
10
+ unique?: boolean
11
+ }
@@ -63,17 +63,17 @@
63
63
  </template>
64
64
 
65
65
  <style lang="scss" scoped>
66
- @use '/src/assets/tokens.scss';
66
+ @use '/src/assets/tokens';
67
67
 
68
68
  .vd-skip-link {
69
- z-index: 150;
70
- position: fixed;
71
- top: 0;
72
- right: 0;
73
- transition: none;
74
- width: 100%;
75
- background: #fff;
76
- outline: none; // Disable outline to use border
77
- border: 2px solid tokens.$blue-darken-60;
69
+ z-index: 150;
70
+ position: fixed;
71
+ top: 0;
72
+ right: 0;
73
+ transition: none;
74
+ width: 100%;
75
+ background: #fff;
76
+ outline: none; // Disable outline to use border
77
+ border: 2px solid tokens.$blue-darken-60;
78
78
  }
79
79
  </style>
@@ -44,55 +44,57 @@
44
44
  </template>
45
45
 
46
46
  <style lang="scss" scoped>
47
- @use '@/assets/tokens.scss';
47
+ @use '@/assets/tokens';
48
48
 
49
49
  .vd-social-media-links {
50
- display: flex;
51
- flex-direction: column;
50
+ display: flex;
51
+ flex-direction: column;
52
52
  }
53
53
 
54
54
  li {
55
- list-style: none;
55
+ list-style: none;
56
56
  }
57
57
 
58
58
  .vd-social-media-links-label.text--primary {
59
- color: tokens.$blue-base;
60
- font-weight: 600;
59
+ color: tokens.$blue-base;
60
+ font-weight: 600;
61
61
  }
62
62
 
63
63
  .v-theme--dark .vd-social-media-links-label.text--primary {
64
- color: white;
64
+ color: white;
65
65
  }
66
66
 
67
67
  .vd-social-media-links-icon {
68
- color: tokens.$grey-base;
68
+ color: tokens.$grey-base;
69
69
  }
70
70
 
71
71
  .v-btn--icon {
72
- width: calc(var(--v-btn-height) + 5px);
73
- height: calc(var(--v-btn-height) + 5px);
74
- border: 0;
72
+ width: calc(var(--v-btn-height) + 5px);
73
+ height: calc(var(--v-btn-height) + 5px);
74
+ border: 0;
75
75
  }
76
76
 
77
77
  .v-theme--dark .v-btn--variant-text:hover :deep() {
78
- background: rgba(white, 0.1);
78
+ background: rgba(white, 0.1);
79
79
  }
80
80
 
81
- @media (min-width: 768px) {
82
- .vd-social-media-links-label {
83
- text-align: right;
84
- }
85
- .vd-social-media-links-content {
86
- justify-content: flex-end;
87
- }
81
+ @media (width >= 768px) {
82
+ .vd-social-media-links-label {
83
+ text-align: right;
84
+ }
85
+
86
+ .vd-social-media-links-content {
87
+ justify-content: flex-end;
88
+ }
88
89
  }
89
90
 
90
- @media (max-width: 767px) {
91
- .vd-social-media-links-label {
92
- text-align: left;
93
- }
94
- .vd-social-media-links-content {
95
- justify-content: flex-start;
96
- }
91
+ @media (width <= 767px) {
92
+ .vd-social-media-links-label {
93
+ text-align: left;
94
+ }
95
+
96
+ .vd-social-media-links-content {
97
+ justify-content: flex-start;
98
+ }
97
99
  }
98
100
  </style>
@@ -137,49 +137,50 @@
137
137
 
138
138
  <style lang="scss" scoped>
139
139
  .vd-sub-header {
140
- overflow-x: auto;
140
+ overflow-x: auto;
141
141
  }
142
142
 
143
143
  .vd-sub-header-back-btn {
144
- margin: 0 -6px;
144
+ margin: 0 -6px;
145
145
  }
146
146
 
147
147
  .vd-data-list-group,
148
148
  .vd-sub-header-informations {
149
- // Don't take all available space
150
- max-width: none;
149
+ // Don't take all available space
150
+ max-width: none;
151
151
  }
152
152
 
153
153
  .vd-data-list-group :deep(.vd-data-list) {
154
- max-width: 200px;
155
-
156
- // Apply margin right to avoid empty
157
- // space on smaller screens
158
- &:not(:last-child) {
159
- margin-right: 80px !important;
160
- }
161
-
162
- .vd-key {
163
- display: inline-block;
164
- font-size: 0.75rem !important;
165
- }
166
-
167
- .vd-data-list-item-label {
168
- color: rgba(255, 255, 255, 0.7) !important;
169
- }
170
-
171
- .vd-data-list-item-action-btn {
172
- color: #fff !important;
173
- }
154
+ max-width: 200px;
155
+
156
+ // Apply margin right to avoid empty
157
+ // space on smaller screens
158
+ &:not(:last-child) {
159
+ margin-right: 80px !important;
160
+ }
161
+
162
+ .vd-key {
163
+ display: inline-block;
164
+ font-size: 0.75rem !important;
165
+ }
166
+
167
+ .vd-data-list-item-label {
168
+ color: rgb(255 255 255 / 70%) !important;
169
+ }
170
+
171
+ .vd-data-list-item-action-btn {
172
+ color: #fff !important;
173
+ }
174
174
  }
175
175
 
176
176
  .vd-subheader-loading :deep() {
177
- background: transparent;
178
- .v-skeleton-loader__button {
179
- margin: 0;
180
- min-height: 28px;
181
- height: auto;
182
- background: rgba(white, var(--v-border-opacity));
183
- }
177
+ background: transparent;
178
+
179
+ .v-skeleton-loader__button {
180
+ margin: 0;
181
+ min-height: 28px;
182
+ height: auto;
183
+ background: rgba(white, var(--v-border-opacity));
184
+ }
184
185
  }
185
186
  </style>
@@ -95,7 +95,7 @@
95
95
  </template>
96
96
 
97
97
  <style lang="scss" scoped>
98
- @use '@/assets/tokens.scss';
98
+ @use '@/assets/tokens';
99
99
  @use 'sass:map';
100
100
 
101
101
  .alert {
@@ -115,7 +115,7 @@
115
115
  }
116
116
 
117
117
  :deep(.v-btn--variant-text .v-btn__overlay) {
118
- background: transparent !important;
118
+ background: transparent !important;
119
119
  }
120
120
 
121
121
  .alert-icon :deep(.v-icon__svg) {
@@ -132,13 +132,13 @@
132
132
  }
133
133
 
134
134
  .v-btn {
135
- text-transform: none;
136
- font-weight: bold;
137
- font-size: 0.75rem;
138
- letter-spacing: normal;
135
+ text-transform: none;
136
+ font-weight: bold;
137
+ font-size: 0.75rem;
138
+ letter-spacing: normal;
139
139
  }
140
140
 
141
- @media screen and (max-width: 440px) {
141
+ @media screen and (width <= 440px) {
142
142
  .alert {
143
143
  display: flex;
144
144
  flex-direction: column;
@@ -160,8 +160,8 @@
160
160
  }
161
161
  }
162
162
 
163
- @media screen and (min-width: 441px) {
164
- .alert{
163
+ @media screen and (width >= 441px) {
164
+ .alert {
165
165
  .alert-icon {
166
166
  width: 3.5rem !important;
167
167
  height: 3.5rem !important;
@@ -175,6 +175,7 @@
175
175
  &.alert--#{$type}.v-alert--variant-tonal {
176
176
  background: map.get($map, 'background') !important;
177
177
  color: tokens.$colors-text-base !important;
178
+
178
179
  :deep(.v-alert__border) {
179
180
  border-color: map.get($map, 'border') !important;
180
181
  opacity: 1 !important;
@@ -184,6 +185,7 @@
184
185
 
185
186
  &.alert--#{$type}.v-alert--variant-outlined {
186
187
  background: transparent !important;
188
+
187
189
  :deep(.v-alert__border) {
188
190
  border-color: map.get($map, 'border') !important;
189
191
  opacity: 1 !important;
@@ -194,6 +196,7 @@
194
196
  &.text-#{$type} {
195
197
  .v-alert__prepend > .v-icon {
196
198
  background: map.get($map, 'icon-bg');
199
+
197
200
  :deep(svg) {
198
201
  fill: map.get($map, 'accent');
199
202
  }
@@ -217,7 +220,6 @@
217
220
  'icon-bg': tokens.$colors-background-warning-subdued,
218
221
  )
219
222
  );
220
-
221
223
  @include redesign(
222
224
  'success',
223
225
  (
@@ -228,7 +230,6 @@
228
230
  'icon-bg': tokens.$colors-background-success-subdued,
229
231
  )
230
232
  );
231
-
232
233
  @include redesign(
233
234
  'error',
234
235
  (
@@ -239,7 +240,6 @@
239
240
  'icon-bg': tokens.$colors-background-error-subdued,
240
241
  )
241
242
  );
242
-
243
243
  @include redesign(
244
244
  'info',
245
245
  (
@@ -84,7 +84,7 @@
84
84
  </template>
85
85
 
86
86
  <style scoped lang="scss">
87
- @use '@/assets/tokens.scss';
87
+ @use '@/assets/tokens';
88
88
 
89
89
  .vd-user-icon {
90
90
  width: 40px;
@@ -11,7 +11,7 @@ export const defaultOptions = {
11
11
  height: 'auto',
12
12
  },
13
13
  icon: {
14
- color: 'avatar',
14
+ color: 'secondary',
15
15
  },
16
16
  logoutListItem: {
17
17
  class: 'text-primary',
@@ -1,7 +1,15 @@
1
- export { default as SyAlert } from './SyAlert/SyAlert.vue'
1
+ export { default as DatePicker } from '@/components/DatePicker/DatePicker.vue'
2
+ export { useFieldValidation } from '../composables/rules/useFieldValidation'
3
+ export type { RuleOptions } from '../composables/rules/useFieldValidation'
4
+ export { useNotificationService } from '../services/NotificationService'
2
5
  export { default as BackBtn } from './BackBtn/BackBtn.vue'
3
6
  export { default as BackToTopBtn } from './BackToTopBtn/BackToTopBtn.vue'
4
7
  export { default as CollapsibleList } from './CollapsibleList/CollapsibleList.vue'
8
+ export { default as ContextualMenu } from './ContextualMenu/ContextualMenu.vue'
9
+ export { default as CookieBanner } from './CookieBanner/CookieBanner.vue'
10
+ export { default as CookiesInformation } from './CookiesSelection/CookiesInformation/CookiesInformation.vue'
11
+ export { default as CookiesSelection } from './CookiesSelection/CookiesSelection.vue'
12
+ export { default as CookiesTable } from './CookiesSelection/CookiesTable/CookiesTable.vue'
5
13
  export { default as CopyBtn } from './CopyBtn/CopyBtn.vue'
6
14
  export { default as SyBtnSelect } from './Customs/SyBtnSelect/SyBtnSelect.vue'
7
15
  export { default as SyInputSelect } from './Customs/SyInputSelect/SyInputSelect.vue'
@@ -13,6 +21,8 @@ export { default as DataListItem } from './DataListItem/DataListItem.vue'
13
21
  export { default as DialogBox } from './DialogBox/DialogBox.vue'
14
22
  export { default as DownloadBtn } from './DownloadBtn/DownloadBtn.vue'
15
23
  export { default as ErrorPage } from './ErrorPage/ErrorPage.vue'
24
+ export { default as ExternalLinks } from './ExternalLinks/ExternalLinks.vue'
25
+ export { default as FileUpload } from './FileUpload/FileUpload.vue'
16
26
  export { default as FooterBar } from './FooterBar/FooterBar.vue'
17
27
  export { default as FranceConnectBtn } from './FranceConnectBtn/FranceConnectBtn.vue'
18
28
  export { default as HeaderBar } from './HeaderBar/HeaderBar.vue'
@@ -29,19 +39,19 @@ export { default as LangBtn } from './LangBtn/LangBtn.vue'
29
39
  export { default as Logo } from './Logo/Logo.vue'
30
40
  export { default as LogoBrandSection } from './LogoBrandSection/LogoBrandSection.vue'
31
41
  export { default as MaintenancePage } from './MaintenancePage/MaintenancePage.vue'
32
- export { default as NotFoundPage } from './NotFoundPage/NotFoundPage.vue'
33
42
  export { default as NirField } from './NirField/NirField.vue'
34
43
  export * from './NirField/nirValidation'
44
+ export { default as NotFoundPage } from './NotFoundPage/NotFoundPage.vue'
35
45
  export { default as NotificationBar } from './NotificationBar/NotificationBar.vue'
36
- export { useNotificationService } from '../services/NotificationService'
37
46
  export * from './NotificationBar/types'
38
47
  export { default as PageContainer } from './PageContainer/PageContainer.vue'
48
+ export { default as PasswordField } from './PasswordField/PasswordField.vue'
39
49
  export { default as PhoneField } from './PhoneField/PhoneField.vue'
50
+ export { default as RangeField } from './RangeField/RangeField.vue'
51
+ export { default as RatingPicker } from './RatingPicker/RatingPicker.vue'
52
+ export { default as SelectBtnField } from './SelectBtnField/SelectBtnField.vue'
40
53
  export { default as SkipLink } from './SkipLink/SkipLink.vue'
41
54
  export { default as SocialMediaLinks } from './SocialMediaLinks/SocialMediaLinks.vue'
42
55
  export { default as SubHeader } from './SubHeader/SubHeader.vue'
56
+ export { default as SyAlert } from './SyAlert/SyAlert.vue'
43
57
  export { default as UserMenuBtn } from './UserMenuBtn/UserMenuBtn.vue'
44
- export { default as CookieBanner } from './CookieBanner/CookieBanner.vue'
45
- export { default as CookiesSelection } from './CookiesSelection/CookiesSelection.vue'
46
- export { default as CookiesInformation } from './CookiesSelection/CookiesInformation/CookiesInformation.vue'
47
- export { default as CookiesTable } from './CookiesSelection/CookiesTable/CookiesTable.vue'