@cnamts/synapse 1.0.26 → 1.0.27

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 (253) hide show
  1. package/dist/{AutocompleteFilter-BPR-a55G.js → AutocompleteFilter-C9eLKyW8.js} +3 -3
  2. package/dist/{DateFilter-CknrJWs2.js → DateFilter-y-GLkAkn.js} +8 -8
  3. package/dist/{NumberFilter-DJ-yNlzv.js → NumberFilter-DN6hIBS7.js} +1 -1
  4. package/dist/{PeriodFilter-CiB5Oa9Z.js → PeriodFilter-MoUUp9qS.js} +1 -1
  5. package/dist/{SelectFilter-EiafX97M.js → SelectFilter-bCbrdLmu.js} +1 -1
  6. package/dist/{TextFilter-BzOmpdxj.js → TextFilter-CvjgEaoM.js} +4 -4
  7. package/dist/apLightTheme2026-ug4Y23ns.js +611 -0
  8. package/dist/components/Customs/Selects/SyAutocomplete/SyAutocomplete.d.ts +2369 -353
  9. package/dist/components/Customs/Selects/SyAutocomplete/composables/useSyAutocompleteValidation.d.ts +18 -0
  10. package/dist/components/Customs/Selects/SyAutocomplete/utils/ariaManager.d.ts +1 -1
  11. package/dist/components/Customs/Selects/SyAutocomplete/utils/useKeyboardHandler.d.ts +3 -1
  12. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +9 -10
  13. package/dist/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.d.ts +1 -0
  14. package/dist/components/Customs/Selects/SySelect/composables/useSySelectValidation.d.ts +15 -0
  15. package/dist/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.d.ts +3 -3
  16. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +3 -3
  17. package/dist/components/Customs/SyIconButton/SyIconButton.d.ts +18 -0
  18. package/dist/components/Customs/SyRadioGroup/SyRadioGroup.d.ts +20 -38
  19. package/dist/components/Customs/SyRadioGroup/composables/useSyRadioGroupValidation.d.ts +50 -0
  20. package/dist/components/Customs/SyTextField/SyTextField.d.ts +6 -6
  21. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +147 -136
  22. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +62 -54
  23. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +27 -24
  24. package/dist/components/DatePicker/composables/index.d.ts +1 -0
  25. package/dist/components/DatePicker/composables/useDatePickerValidationBridge.d.ts +51 -0
  26. package/dist/components/MonthPicker/MonthPicker.d.ts +23 -23
  27. package/dist/components/MonthPicker/MonthPickerText/MonthPickerInput.d.ts +23 -23
  28. package/dist/components/NirField/NirField.d.ts +56 -56
  29. package/dist/components/PasswordField/PasswordField.d.ts +3 -3
  30. package/dist/components/PeriodField/PeriodField.d.ts +236 -212
  31. package/dist/components/PhoneField/PhoneField.d.ts +23 -23
  32. package/dist/components/SyTextArea/SyTextArea.d.ts +25 -15
  33. package/dist/components/SyTextArea/composables/useSyTextAreaValidation.d.ts +20 -0
  34. package/dist/components/SyTextArea/locales.d.ts +1 -0
  35. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +1 -0
  36. package/dist/components/Tables/SyTable/SyTable.d.ts +1 -0
  37. package/dist/components/Tables/common/SyTablePagination.d.ts +25 -25
  38. package/dist/components/Tables/common/types.d.ts +2 -0
  39. package/dist/components/index.d.ts +1 -0
  40. package/dist/composables/unifyValidation/documentationValidationProps.d.ts +160 -160
  41. package/dist/composables/unifyValidation/useValidation.d.ts +16 -14
  42. package/dist/design-system-v3.js +81 -80
  43. package/dist/designTokens/tokens/amelipro/apContextual.d.ts +6 -6
  44. package/dist/designTokens/tokens/amelipro/apDarkTheme.d.ts +3 -1
  45. package/dist/designTokens/tokens/amelipro/apLightTheme.d.ts +53 -100
  46. package/dist/designTokens/tokens/baseContextualTokens.d.ts +0 -6
  47. package/dist/designTokens/tokens/baseTokens.d.ts +232 -0
  48. package/dist/designTokens/tokens/cnam/cnamContextual.d.ts +6 -6
  49. package/dist/designTokens/tokens/cnam/cnamDarkTheme.d.ts +1 -1
  50. package/dist/designTokens/tokens/cnam/cnamLightTheme.d.ts +57 -101
  51. package/dist/designTokens/tokens/pa/paContextual.d.ts +0 -6
  52. package/dist/designTokens/tokens/pa/paDarkTheme.d.ts +1 -1
  53. package/dist/designTokens/tokens/pa/paLightTheme.d.ts +53 -97
  54. package/dist/designTokens/tokens/pa/paSemantic.d.ts +1 -0
  55. package/dist/designTokens/tokens/semanticTokens.d.ts +112 -0
  56. package/dist/main-CI6Q9nmO.js +39234 -0
  57. package/dist/synapse.css +1 -1
  58. package/dist/vuetifyConfig.js +208 -72
  59. package/package.json +4 -2
  60. package/src/assets/overrides/_icons.scss +5 -4
  61. package/src/assets/overrides/_otp.scss +4 -4
  62. package/src/assets/overrides/_typography.scss +2 -1
  63. package/src/assets/overrides/_utilities.scss +1 -42
  64. package/src/components/ChipList/ChipList.vue +30 -18
  65. package/src/components/ChipList/tests/chipList.spec.ts +4 -4
  66. package/src/components/CopyBtn/CopyBtn.vue +2 -2
  67. package/src/components/Customs/Selects/SelectBtnField/SelectBtnField.stories.ts +4 -0
  68. package/src/components/Customs/Selects/SelectBtnField/SelectBtnField.vue +7 -6
  69. package/src/components/Customs/Selects/SelectBtnField/tests/SelectBtnField.spec.ts +223 -0
  70. package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.stories.ts +283 -351
  71. package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.vue +182 -218
  72. package/src/components/Customs/Selects/SyAutocomplete/composables/useSyAutocompleteValidation.ts +101 -0
  73. package/src/components/Customs/Selects/SyAutocomplete/tests/SyAutocomplete.spec.ts +761 -1
  74. package/src/components/Customs/Selects/SyAutocomplete/utils/ariaManager.ts +3 -1
  75. package/src/components/Customs/Selects/SyAutocomplete/utils/useKeyboardHandler.ts +79 -5
  76. package/src/components/Customs/Selects/SyAutocomplete/validation/Validation.stories.ts +1029 -0
  77. package/src/components/Customs/Selects/SySelect/SySelect.stories.ts +9 -491
  78. package/src/components/Customs/Selects/SySelect/SySelect.vue +46 -79
  79. package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +3 -0
  80. package/src/components/Customs/Selects/SySelect/composables/useSySelectValidation.ts +64 -0
  81. package/src/components/Customs/Selects/SySelect/tests/SySelect.spec.ts +196 -0
  82. package/src/components/Customs/Selects/SySelect/validation/Validation.stories.ts +1026 -0
  83. package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.stories.ts +18 -7
  84. package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.vue +2 -2
  85. package/src/components/Customs/SyCheckbox/SyCheckbox.stories.ts +8 -8
  86. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +8 -8
  87. package/src/components/Customs/SyCheckbox/tests/SyCheckbox.spec.ts +1 -1
  88. package/src/components/Customs/SyIcon/accessibilite/Accessibility.mdx +0 -6
  89. package/src/components/Customs/SyIcon/utils/tests/iconUtils.spec.ts +107 -0
  90. package/src/components/Customs/SyRadioGroup/SyRadioGroup.mdx +2 -2
  91. package/src/components/Customs/SyRadioGroup/SyRadioGroup.stories.ts +395 -200
  92. package/src/components/Customs/SyRadioGroup/SyRadioGroup.vue +82 -127
  93. package/src/components/Customs/SyRadioGroup/composables/useSyRadioGroupValidation.ts +127 -0
  94. package/src/components/Customs/SyRadioGroup/tests/SyRadioGroup.a11y.spec.ts +93 -1
  95. package/src/components/Customs/SyRadioGroup/tests/SyRadioGroup.spec.ts +146 -9
  96. package/src/components/Customs/SyRadioGroup/tests/SyRadioGroup.visual.cy.ts +165 -0
  97. package/src/components/Customs/SyRadioGroup/validation/Validation.stories.ts +773 -0
  98. package/src/components/Customs/SyTabs/config.ts +3 -3
  99. package/src/components/Customs/SyTabs/tests/SyTabs.spec.ts +265 -0
  100. package/src/components/Customs/SyTabs/tests/useTabTransition.spec.ts +188 -0
  101. package/src/components/Customs/SyTextField/SyTextField.stories.ts +10 -29
  102. package/src/components/Customs/SyTextField/SyTextField.vue +23 -15
  103. package/src/components/DataList/DataList.stories.ts +1 -1
  104. package/src/components/DataListItem/tests/DataListItem.spec.ts +3 -1
  105. package/src/components/DatePicker/CalendarMode/DatePicker.vue +37 -142
  106. package/src/components/DatePicker/CalendarMode/tests/DatePicker.coverage.spec.ts +156 -0
  107. package/src/components/DatePicker/CalendarMode/tests/DatePicker.spec.ts +495 -4
  108. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +47 -66
  109. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.spec.ts +206 -0
  110. package/src/components/DatePicker/ComplexDatePicker/tests/bridge-integration.regression.spec.ts +210 -0
  111. package/src/components/DatePicker/ComplexDatePicker/tests/calendar-navigation.regression.spec.ts +214 -0
  112. package/src/components/DatePicker/ComplexDatePicker/tests/validation-cross.regression.spec.ts +194 -0
  113. package/src/components/DatePicker/ComplexDatePicker/tests/validation-success-messages.regression.spec.ts +83 -0
  114. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +129 -54
  115. package/src/components/DatePicker/DateTextInput/tests/DateTextInput.spec.ts +320 -0
  116. package/src/components/DatePicker/composables/index.ts +1 -0
  117. package/src/components/DatePicker/composables/tests/useCalendarKeyboardNavigation.spec.ts +360 -0
  118. package/src/components/DatePicker/composables/tests/useDatePickerValidationBridge.spec.ts +129 -0
  119. package/src/components/DatePicker/composables/useDatePickerValidationBridge.ts +205 -0
  120. package/src/components/DatePicker/docExamples/BidirectionalComplexValidation.vue +1 -1
  121. package/src/components/DatePicker/docExamples/DatePickerBidirectionalValidation.vue +1 -1
  122. package/src/components/DatePicker/tests/exposed-methods.coverage.spec.ts +75 -0
  123. package/src/components/DialogBox/DialogBox.vue +1 -1
  124. package/src/components/FileList/UploadItem/UploadItem.vue +4 -4
  125. package/src/components/FileUpload/FileUpload.vue +2 -2
  126. package/src/components/FileUpload/FileUploadContent.vue +1 -1
  127. package/src/components/FilterInline/FilterInline.mdx +2 -2
  128. package/src/components/FilterSideBar/FilterSideBar.stories.ts +1 -1
  129. package/src/components/FilterSideBar/FilterSideBar.vue +2 -2
  130. package/src/components/FooterBar/FooterBar.vue +7 -7
  131. package/src/components/FranceConnectBtn/FranceConnectBtn.vue +1 -1
  132. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.vue +2 -2
  133. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.vue +7 -7
  134. package/src/components/HeaderBar/HeaderMenuBtn/HeaderMenuBtn.vue +2 -2
  135. package/src/components/HeaderLoading/tests/HeaderLoading.spec.ts +87 -8
  136. package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +3 -3
  137. package/src/components/HeaderNavigationBar/HorizontalNavbar/tests/HorizontalNavbar.spec.ts +589 -0
  138. package/src/components/HeaderToolbar/tests/HeaderToolBar.spec.ts +153 -1
  139. package/src/components/HeaderToolbar/tests/useMobileRightMenu.spec.ts +258 -0
  140. package/src/components/LogoBrandSection/tests/LogoBrandSection.spec.ts +2 -2
  141. package/src/components/LogoBrandSection/tests/__snapshots__/LogoBrandSection.spec.ts.snap +1 -1
  142. package/src/components/LunarCalendar/tests/useLunarCalendarRules.spec.ts +184 -0
  143. package/src/components/MonthPicker/MonthPickerVisual/MonthSelector.vue +3 -3
  144. package/src/components/MonthPicker/MonthPickerVisual/VisualPickerFooter.vue +1 -1
  145. package/src/components/MonthPicker/MonthPickerVisual/VisualPickerHeader.vue +2 -2
  146. package/src/components/MonthPicker/MonthPickerVisual/YearSelector.vue +1 -1
  147. package/src/components/NirField/NirField.vue +3 -3
  148. package/src/components/NotificationBar/Notification/Notification.vue +12 -12
  149. package/src/components/NotificationBar/NotificationBar.stories.ts +8 -8
  150. package/src/components/PaginatedTable/Pagination.vue +2 -2
  151. package/src/components/PasswordField/PasswordField.vue +8 -8
  152. package/src/components/PasswordField/tests/PasswordField.spec.ts +3 -3
  153. package/src/components/RangeField/RangeSlider/RangeSlider.vue +2 -2
  154. package/src/components/RangeField/RangeSlider/Tooltip/Tooltip.vue +1 -1
  155. package/src/components/StatusPage/tests/StatusPage.spec.ts +149 -0
  156. package/src/components/SubHeader/SubHeader.vue +1 -1
  157. package/src/components/SyAlert/SyAlert.vue +23 -23
  158. package/src/components/SyTextArea/SyTextArea.stories.ts +177 -131
  159. package/src/components/SyTextArea/SyTextArea.vue +235 -83
  160. package/src/components/SyTextArea/composables/useSyTextAreaValidation.ts +81 -0
  161. package/src/components/SyTextArea/locales.ts +1 -0
  162. package/src/components/SyTextArea/tests/SyTextArea.spec.ts +449 -1
  163. package/src/components/SyTextArea/useDefaultValidationRules.ts +2 -7
  164. package/src/components/SyTextArea/validation/Validation.stories.ts +856 -0
  165. package/src/components/TableToolbar/TableToolbar.vue +6 -6
  166. package/src/components/TableToolbar/accessibilite/Accessibility.mdx +81 -7
  167. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +163 -0
  168. package/src/components/Tables/SyServerTable/SyServerTable.vue +2 -1
  169. package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +67 -0
  170. package/src/components/Tables/SyTable/SyTable.stories.ts +94 -0
  171. package/src/components/Tables/SyTable/SyTable.vue +2 -1
  172. package/src/components/Tables/SyTable/tests/SyTable.spec.ts +64 -0
  173. package/src/components/Tables/common/TableHeader.vue +2 -2
  174. package/src/components/Tables/common/filters/logics/tests/NumberFilterLogic.spec.ts +176 -0
  175. package/src/components/Tables/common/filters/logics/tests/SelectFilterLogic.spec.ts +111 -0
  176. package/src/components/Tables/common/tableStyles.scss +6 -6
  177. package/src/components/Tables/common/types.ts +2 -0
  178. package/src/components/UploadWorkflow/tests/UploadWorkflow.spec.ts +2 -0
  179. package/src/components/index.ts +1 -0
  180. package/src/composables/date/tests/useDateFormatDayjs.spec.ts +31 -0
  181. package/src/composables/date/tests/useHolidayDay.spec.ts +109 -0
  182. package/src/composables/rules/tests/useFieldValidation.spec.ts +374 -0
  183. package/src/composables/tests/useError.spec.ts +30 -0
  184. package/src/composables/tests/useFormFieldErrorHandling.spec.ts +234 -0
  185. package/src/composables/unifyValidation/documentationValidationProps.ts +5 -5
  186. package/src/composables/unifyValidation/tests/documentationValidationProps.spec.ts +177 -0
  187. package/src/composables/unifyValidation/tests/useCustomValidation.spec.ts +30 -0
  188. package/src/composables/unifyValidation/tests/useValidation.spec.ts +6 -2
  189. package/src/composables/unifyValidation/useCustomValidation.ts +19 -9
  190. package/src/composables/unifyValidation/useValidation.ts +18 -21
  191. package/src/composables/useFilterable/useFilterable.spec.ts +42 -0
  192. package/src/composables/useFilterable/useFilterable.ts +11 -7
  193. package/src/composables/useFormFieldErrorHandling.ts +2 -2
  194. package/src/composantsVuetify/VBtn/VBtn.mdx +9 -39
  195. package/src/composantsVuetify/VBtn/v-btn.stories.ts +26 -86
  196. package/src/designTokens/tokens/amelipro/apContextual.ts +6 -0
  197. package/src/designTokens/tokens/amelipro/apDarkTheme.ts +2 -2
  198. package/src/designTokens/tokens/amelipro/apLightTheme.ts +72 -103
  199. package/src/designTokens/tokens/amelipro/apSemantic.ts +1 -1
  200. package/src/designTokens/tokens/baseContextualTokens.ts +1 -6
  201. package/src/designTokens/tokens/baseTokens.ts +232 -0
  202. package/src/designTokens/tokens/cnam/cnamContextual.ts +6 -0
  203. package/src/designTokens/tokens/cnam/cnamDarkTheme.ts +2 -2
  204. package/src/designTokens/tokens/cnam/cnamLightTheme.ts +76 -104
  205. package/src/designTokens/tokens/pa/paDarkTheme.ts +2 -2
  206. package/src/designTokens/tokens/pa/paLightTheme.ts +73 -99
  207. package/src/designTokens/tokens/pa/paSemantic.ts +2 -0
  208. package/src/designTokens/tokens/semanticTokens.ts +114 -0
  209. package/src/stories/Components/Components.stories.ts +7 -3
  210. package/src/stories/DesignTokens/ColorIntegrationExample.vue +2 -3
  211. package/src/stories/DesignTokens/Colors.mdx +6 -8
  212. package/src/stories/DesignTokens/colors.stories.ts +244 -1081
  213. package/src/utils/amelipro/toKebabCase/tests/toKebabCase.spec.ts +52 -0
  214. package/src/utils/formatNir/tests/formatNir.spec.ts +34 -0
  215. package/src/utils/tests/insertAt.spec.ts +44 -0
  216. package/dist/apLightTheme-DS0Uy44H.js +0 -954
  217. package/dist/components/RatingPicker/tests/RatingPicker.a11y.spect.d.ts +0 -1
  218. package/dist/main-BsJ9ec3i.js +0 -38954
  219. package/src/components/BackBtn/tests/__snapshots__/back-btn-custom-bg.snap.png +0 -0
  220. package/src/components/BackBtn/tests/__snapshots__/back-btn-dark-mode.snap.png +0 -0
  221. package/src/components/BackBtn/tests/__snapshots__/back-btn-default.snap.png +0 -0
  222. package/src/components/BackBtn/tests/__snapshots__/back-btn-no-icon.snap.png +0 -0
  223. package/src/components/DatePicker/CalendarMode/tests/DatePicker.events.spec.ts +0 -178
  224. package/src/components/DialogBox/tests/__snapshots__/dialog-box-custom-texts.snap.png +0 -0
  225. package/src/components/DialogBox/tests/__snapshots__/dialog-box-default.snap.png +0 -0
  226. package/src/components/DialogBox/tests/__snapshots__/dialog-box-no-actions.snap.png +0 -0
  227. package/src/components/HeaderBar/HeaderBurgerMenu/tests/__snapshots__/header-burger-menu-generated-submenu-open.snap.png +0 -0
  228. package/src/components/HeaderBar/HeaderBurgerMenu/tests/__snapshots__/header-burger-menu-generated.snap.png +0 -0
  229. package/src/components/HeaderBar/tests/__snapshots__/header-bar-custom-width.snap.png +0 -0
  230. package/src/components/HeaderBar/tests/__snapshots__/header-bar-default.snap.png +0 -0
  231. package/src/components/HeaderBar/tests/__snapshots__/header-bar-no-sticky.snap.png +0 -0
  232. package/src/components/HeaderBar/tests/__snapshots__/header-bar-with-prepend.snap.png +0 -0
  233. package/src/components/HeaderBar/tests/__snapshots__/header-bar-with-side.snap.png +0 -0
  234. package/src/components/HeaderBar/tests/__snapshots__/header-bar-with-subtitle.snap.png +0 -0
  235. package/src/components/Logo/tests/__snapshots__/logo-avatar.snap.png +0 -0
  236. package/src/components/Logo/tests/__snapshots__/logo-dark.snap.png +0 -0
  237. package/src/components/Logo/tests/__snapshots__/logo-default.snap.png +0 -0
  238. package/src/components/Logo/tests/__snapshots__/logo-no-organism.snap.png +0 -0
  239. package/src/components/Logo/tests/__snapshots__/logo-no-signature.snap.png +0 -0
  240. package/src/components/Logo/tests/__snapshots__/logo-risque-pro.snap.png +0 -0
  241. package/src/components/RangeField/tests/__snapshots__/range-field-custom-bg.snap.png +0 -0
  242. package/src/components/RangeField/tests/__snapshots__/range-field-custom-range.snap.png +0 -0
  243. package/src/components/RangeField/tests/__snapshots__/range-field-default.snap.png +0 -0
  244. package/src/components/RangeField/tests/__snapshots__/range-field-step.snap.png +0 -0
  245. package/src/components/RangeField/tests/__snapshots__/range-field-with-label.snap.png +0 -0
  246. package/src/components/SyAlert/tests/__snapshots__/sy-alert-closable.snap.png +0 -0
  247. package/src/components/SyAlert/tests/__snapshots__/sy-alert-error.snap.png +0 -0
  248. package/src/components/SyAlert/tests/__snapshots__/sy-alert-info.snap.png +0 -0
  249. package/src/components/SyAlert/tests/__snapshots__/sy-alert-success.snap.png +0 -0
  250. package/src/components/SyAlert/tests/__snapshots__/sy-alert-variant-outlined.snap.png +0 -0
  251. package/src/components/SyAlert/tests/__snapshots__/sy-alert-variant-tonal.snap.png +0 -0
  252. package/src/components/SyAlert/tests/__snapshots__/sy-alert-warning.snap.png +0 -0
  253. /package/src/components/RatingPicker/tests/{RatingPicker.a11y.spect.ts → RatingPicker.a11y.spec.ts} +0 -0
@@ -132,7 +132,7 @@
132
132
 
133
133
  &:hover {
134
134
  /* stylelint-disable-next-line custom-property-pattern */
135
- background-color: rgb(var(--v-theme-accentPrimaryContrasted, 7, 39, 92));
135
+ background-color: rgb(var(--v-theme-primaryVariant, 7, 39, 92));
136
136
  }
137
137
  }
138
138
 
@@ -594,16 +594,16 @@
594
594
 
595
595
  .sy-number-errors,
596
596
  .sy-key-errors {
597
- color: rgb(var(--v-theme-textError));
597
+ color: rgb(var(--v-theme-error));
598
598
  }
599
599
 
600
600
  .sy-number-warnings,
601
601
  .sy-key-warnings {
602
- color: rgb(var(--v-theme-textWarning));
602
+ color: rgb(var(--v-theme-onWarningVariant));
603
603
  }
604
604
 
605
605
  .sy-number-success,
606
606
  .sy-key-success {
607
- color: rgb(var(--v-theme-textSuccess));
607
+ color: rgb(var(--v-theme-onSuccessVariant));
608
608
  }
609
609
  </style>
@@ -137,38 +137,38 @@
137
137
 
138
138
  /* stylelint-disable custom-property-pattern */
139
139
  .notification--info {
140
- background-color: rgb(var(--v-theme-backgroundInfoContrasted, '12, 65, 154'));
141
- color: rgb(var(--v-theme-textOnDark, '255, 255, 255'));
140
+ background-color: rgb(var(--v-theme-info));
141
+ color: rgb(var(--v-theme-onPrimary));
142
142
 
143
143
  .notification__close:focus-visible {
144
- outline: 2px solid rgb(var(--v-theme-textOnDark, '255, 255, 255'));
144
+ outline: 2px solid rgb(var(--v-theme-onPrimary));
145
145
  }
146
146
  }
147
147
 
148
148
  .notification--success {
149
- background-color: rgb(var(--v-theme-backgroundSuccessContrasted, '86, 194, 113'));
150
- color: rgb(var(--v-theme-feedbackOnSuccess));
149
+ background-color: rgb(var(--v-theme-success, '86, 194, 113'));
150
+ color: rgb(var(--v-theme-onSuccess));
151
151
 
152
152
  .notification__close:focus-visible {
153
- outline: 2px solid rgb(var(--v-theme-feedbackOnSuccess));
153
+ outline: 2px solid rgb(var(--v-theme-onSuccess));
154
154
  }
155
155
  }
156
156
 
157
157
  .notification--warning {
158
- background-color: rgb(var(--v-theme-backgroundWarningContrasted, '240, 179, 35'));
159
- color: rgb(var(--v-theme-textBase, '0, 0, 0'));
158
+ background-color: rgb(var(--v-theme-warning));
159
+ color: rgb(var(--v-theme-onWarning));
160
160
 
161
161
  .notification__close:focus-visible {
162
- outline: 2px solid rgb(var(--v-theme-textBase, '0, 0, 0'));
162
+ outline: 2px solid rgb(var(--v-theme-onSurface));
163
163
  }
164
164
  }
165
165
 
166
166
  .notification--error {
167
- background-color: rgb(var(--v-theme-backgroundErrorContrasted, '179, 63, 46'));
168
- color: rgb(var(--v-theme-textOnDark, '255, 255, 255'));
167
+ background-color: rgb(var(--v-theme-error));
168
+ color: rgb(var(--v-theme-onPrimary));
169
169
 
170
170
  .notification__close:focus-visible {
171
- outline: 2px solid rgb(var(--v-theme-textOnDark, '255, 255, 255'));
171
+ outline: 2px solid rgb(var(--v-theme-onPrimary));
172
172
  }
173
173
  }
174
174
 
@@ -649,13 +649,13 @@ export const WithClearQueue: Story = (args) => {
649
649
  Ajouter info
650
650
  </VBtn>
651
651
  <VBtn
652
- color="success"
652
+ color="onSuccessVariant"
653
653
  @click="envoyerNotification('Notification succès', 'success')"
654
654
  >
655
655
  Ajouter succès
656
656
  </VBtn>
657
657
  <VBtn
658
- color="warning"
658
+ color="onWarningVariant"
659
659
  @click="envoyerNotification('Notification avertissement', 'warning')"
660
660
  >
661
661
  Ajouter avertissement
@@ -719,13 +719,13 @@ export const showAll: Story = (args) => {
719
719
  Ajouter info
720
720
  </VBtn>
721
721
  <VBtn
722
- color="success"
722
+ color="onSuccessVariant"
723
723
  @click="envoyerNotification('Notification succès', 'success')"
724
724
  >
725
725
  Ajouter succès
726
726
  </VBtn>
727
727
  <VBtn
728
- color="warning"
728
+ color="onWarningVariant"
729
729
  @click="envoyerNotification('Notification avertissement', 'warning')"
730
730
  >
731
731
  Ajouter avertissement
@@ -769,14 +769,14 @@ showAll.parameters = {
769
769
  Ajouter une notification info
770
770
  </VBtn>
771
771
  <VBtn
772
- color="success"
773
- @click="envoyerNotification('Notification succès', 'success')"
772
+ color="onSuccessVariant"
773
+ @click="envoyerNotification('Notification succès', 'onSuccessVariant')"
774
774
  >
775
775
  Ajouter une notification succès
776
776
  </VBtn>
777
777
  <VBtn
778
- color="warning"
779
- @click="envoyerNotification('Notification avertissement', 'warning')"
778
+ color="onWarningVariant"
779
+ @click="envoyerNotification('Notification avertissement', 'onWarningVariant')"
780
780
  >
781
781
  Ajouter une notification avertissement
782
782
  </VBtn>
@@ -78,7 +78,7 @@
78
78
  }
79
79
 
80
80
  :deep(.v-pagination) .v-pagination__list [aria-disabled='false'] svg {
81
- color: rgb(var(--v-theme-iconBase));
81
+ color: rgb(var(--v-theme-primary));
82
82
  }
83
83
 
84
84
  :deep(.v-pagination) .v-btn--variant-plain[aria-disabled='false'] {
@@ -86,6 +86,6 @@
86
86
  }
87
87
 
88
88
  :deep(.v-pagination) .v-btn--variant-plain:hover[aria-disabled='false'] svg {
89
- color: rgb(var(--v-theme-textBase));
89
+ color: rgb(var(--v-theme-onSurface));
90
90
  }
91
91
  </style>
@@ -362,10 +362,10 @@
362
362
  }
363
363
 
364
364
  :deep(.v-field) {
365
- color: rgb(var(--v-theme-borderWarning)) !important;
365
+ color: rgb(var(--v-theme-warning)) !important;
366
366
 
367
367
  .v-field__outline {
368
- color: rgb(var(--v-theme-borderWarning)) !important;
368
+ color: rgb(var(--v-theme-warning)) !important;
369
369
  }
370
370
  }
371
371
 
@@ -373,7 +373,7 @@
373
373
  opacity: 1 !important;
374
374
 
375
375
  .v-messages__message {
376
- color: rgb(var(--v-theme-borderWarning)) !important;
376
+ color: rgb(var(--v-theme-warning)) !important;
377
377
  }
378
378
  }
379
379
  }
@@ -381,11 +381,11 @@
381
381
  .error-field {
382
382
  :deep(.v-input__control),
383
383
  :deep(.v-messages__message) {
384
- color: rgb(var(--v-theme-textError)) !important;
384
+ color: rgb(var(--v-theme-error)) !important;
385
385
  }
386
386
 
387
387
  .v-field--active & {
388
- color: rgb(var(--v-theme-borderError)) !important;
388
+ color: rgb(var(--v-theme-error)) !important;
389
389
  }
390
390
  }
391
391
 
@@ -397,10 +397,10 @@
397
397
  }
398
398
 
399
399
  :deep(.v-field) {
400
- color: rgb(var(--v-theme-borderSuccess)) !important;
400
+ color: rgb(var(--v-theme-onSuccessVariant)) !important;
401
401
 
402
402
  .v-field__outline {
403
- color: rgb(var(--v-theme-borderSuccess)) !important;
403
+ color: rgb(var(--v-theme-onSuccessVariant)) !important;
404
404
  }
405
405
  }
406
406
 
@@ -408,7 +408,7 @@
408
408
  opacity: 1 !important;
409
409
 
410
410
  .v-messages__message {
411
- color: rgb(var(--v-theme-borderSuccess)) !important;
411
+ color: rgb(var(--v-theme-onSuccessVariant)) !important;
412
412
  }
413
413
  }
414
414
  }
@@ -16,12 +16,12 @@ interface PasswordFieldVM {
16
16
 
17
17
  describe('PasswordField.vue', () => {
18
18
  it('renders the password field', () => {
19
- const wrapper = mount(PasswordField)
19
+ const wrapper = mount(PasswordField, { props: { label: 'Password' } })
20
20
  expect(wrapper.exists()).toBe(true)
21
21
  })
22
22
 
23
23
  it('toggles password visibility', async () => {
24
- const wrapper = mount(PasswordField)
24
+ const wrapper = mount(PasswordField, { props: { label: 'Password' } })
25
25
  // 2. Cast wrapper.vm as your interface
26
26
  const vm = wrapper.vm as unknown as PasswordFieldVM
27
27
 
@@ -34,7 +34,7 @@ describe('PasswordField.vue', () => {
34
34
  })
35
35
 
36
36
  it('emits update:modelValue event on input', async () => {
37
- const wrapper = mount(PasswordField)
37
+ const wrapper = mount(PasswordField, { props: { label: 'Password' } })
38
38
  const input = wrapper.find('input')
39
39
  await input.setValue('new-password')
40
40
  expect(wrapper.emitted()['update:modelValue']?.[0]).toEqual(['new-password'])
@@ -273,7 +273,7 @@ $virtual-thumb-size: 40px;
273
273
  transform: translate(0, -50%);
274
274
  width: 100%;
275
275
  height: var(--sy-track-height);
276
- background-color: rgb(var(--v-theme-backgroundInfoSubdued));
276
+ background-color: rgb(var(--v-theme-infoVariant));
277
277
  }
278
278
  }
279
279
 
@@ -381,7 +381,7 @@ $virtual-thumb-size: 40px;
381
381
  transform: translate(0, -50%);
382
382
  width: 100%;
383
383
  height: var(--sy-track-height);
384
- background-color: rgb(var(--v-theme-accentPrimaryLight));
384
+ background-color: rgb(var(--v-theme-primary));
385
385
  transition: all 0.1s;
386
386
  }
387
387
 
@@ -57,7 +57,7 @@
57
57
  position: absolute;
58
58
  bottom: 0;
59
59
  background-color: rgb(0 0 0 / 70%);
60
- color: rgb(var(--v-theme-textOnDark));
60
+ color: rgb(var(--v-theme-onPrimary));
61
61
  padding: 4px 8px;
62
62
  border-radius: 4px;
63
63
  will-change: transform;
@@ -72,4 +72,153 @@ describe('StatusPage', () => {
72
72
 
73
73
  expect(wrapper.html()).toContain('Contenu additionnel')
74
74
  })
75
+
76
+ it('n\'affiche pas le bouton si hideBtn est true', () => {
77
+ const wrapper = mount(StatusPage, {
78
+ props: {
79
+ headingLevel: 1,
80
+ btnText: 'Retour',
81
+ btnLink: '/',
82
+ hideBtn: true,
83
+ },
84
+ })
85
+
86
+ expect(wrapper.find('.v-btn').exists()).toBe(false)
87
+ })
88
+
89
+ it('émet btn-click au clic sur le bouton', async () => {
90
+ const wrapper = mount(StatusPage, {
91
+ props: {
92
+ headingLevel: 1,
93
+ btnText: 'Retour',
94
+ btnHref: 'https://example.com',
95
+ },
96
+ })
97
+
98
+ await wrapper.find('.v-btn').trigger('click')
99
+ expect(wrapper.emitted('btn-click')).toBeTruthy()
100
+ })
101
+
102
+ it('affiche le slot illustration quand fourni', () => {
103
+ const wrapper = mount(StatusPage, {
104
+ props: { headingLevel: 1 },
105
+ slots: {
106
+ illustration: '<img src="test.svg" alt="illustration" />',
107
+ },
108
+ })
109
+
110
+ expect(wrapper.html()).toContain('illustration')
111
+ })
112
+
113
+ it('ajoute aria-labelledby quand role est défini', () => {
114
+ const wrapper = mount(StatusPage, {
115
+ props: {
116
+ headingLevel: 1,
117
+ pageTitle: 'Erreur',
118
+ role: 'main',
119
+ uniqueId: 'test-id',
120
+ },
121
+ })
122
+
123
+ const container = wrapper.find('[aria-labelledby]')
124
+ expect(container.exists()).toBe(true)
125
+ expect(container.attributes('aria-labelledby')).toBe('test-id-title')
126
+ })
127
+
128
+ it('applique la classe heading correcte pour headingLevel > 1', () => {
129
+ const wrapper = mount(StatusPage, {
130
+ props: {
131
+ headingLevel: 2,
132
+ pageTitle: 'Titre h2',
133
+ },
134
+ })
135
+
136
+ expect(wrapper.html()).toContain('Titre h2')
137
+ })
138
+
139
+ it('utilise btnLink comme navigation interne quand btnHref est absent', () => {
140
+ const wrapper = mount(StatusPage, {
141
+ props: {
142
+ headingLevel: 1,
143
+ btnText: 'Accueil',
144
+ btnLink: '/accueil',
145
+ },
146
+ })
147
+
148
+ const btn = wrapper.find('.v-btn')
149
+ expect(btn.exists()).toBe(true)
150
+ })
151
+
152
+ describe('splitMessage', () => {
153
+ it('retourne [] si message est undefined', () => {
154
+ const wrapper = mount(StatusPage, {
155
+ props: { headingLevel: 1 },
156
+ })
157
+
158
+ expect(wrapper.findAll('a[href^="tel:"]').length).toBe(0)
159
+ })
160
+
161
+ it('texte sans numéro → aucun lien tel:', () => {
162
+ const wrapper = mount(StatusPage, {
163
+ props: {
164
+ headingLevel: 1,
165
+ message: 'Contactez le support.',
166
+ },
167
+ })
168
+
169
+ expect(wrapper.findAll('a[href^="tel:"]').length).toBe(0)
170
+ expect(wrapper.text()).toContain('Contactez le support.')
171
+ })
172
+
173
+ it('numéro 4 chiffres → lien tel:', () => {
174
+ const wrapper = mount(StatusPage, {
175
+ props: {
176
+ headingLevel: 1,
177
+ message: 'Appelez le 3646.',
178
+ },
179
+ })
180
+
181
+ const telLinks = wrapper.findAll('a[href^="tel:"]')
182
+ expect(telLinks.length).toBe(1)
183
+ expect(telLinks[0]!.attributes('href')).toBe('tel:3646')
184
+ })
185
+
186
+ it('numéro 10 chiffres → lien tel:', () => {
187
+ const wrapper = mount(StatusPage, {
188
+ props: {
189
+ headingLevel: 1,
190
+ message: 'Appelez le 0123456789 pour de l\'aide.',
191
+ },
192
+ })
193
+
194
+ const telLinks = wrapper.findAll('a[href^="tel:"]')
195
+ expect(telLinks.length).toBe(1)
196
+ expect(telLinks[0]!.attributes('href')).toBe('tel:0123456789')
197
+ })
198
+
199
+ it('numéro en milieu de texte → texte avant + lien + texte après', () => {
200
+ const wrapper = mount(StatusPage, {
201
+ props: {
202
+ headingLevel: 1,
203
+ message: 'Contactez-nous au 0123456789 pour toute question.',
204
+ },
205
+ })
206
+
207
+ expect(wrapper.text()).toContain('Contactez-nous au')
208
+ expect(wrapper.text()).toContain('pour toute question.')
209
+ expect(wrapper.find('a[href="tel:0123456789"]').exists()).toBe(true)
210
+ })
211
+
212
+ it('plusieurs numéros dans le message', () => {
213
+ const wrapper = mount(StatusPage, {
214
+ props: {
215
+ headingLevel: 1,
216
+ message: 'Numéros : 3646 et 0123456789.',
217
+ },
218
+ })
219
+
220
+ const telLinks = wrapper.findAll('a[href^="tel:"]')
221
+ expect(telLinks.length).toBe(2)
222
+ })
223
+ })
75
224
  })
@@ -220,7 +220,7 @@
220
220
  }
221
221
 
222
222
  .vd-data-list-item-action-btn {
223
- color: rgb(var(--v-theme-textOnDark)) !important;
223
+ color: rgb(var(--v-theme-onPrimary)) !important;
224
224
  }
225
225
  }
226
226
 
@@ -168,7 +168,7 @@
168
168
 
169
169
  &:focus-visible {
170
170
  outline: solid 2px black !important;
171
- outline-color: var(--v-primary-base) !important;
171
+ outline-color: var(--v-theme-primary) !important;
172
172
  outline-offset: 2px !important;
173
173
 
174
174
  &::after {
@@ -217,7 +217,7 @@
217
217
  @mixin redesign($type, $map) {
218
218
  &.alert--#{$type}.v-alert--variant-tonal {
219
219
  background: map.get($map, 'background') !important;
220
- color: rgb(var(--v-theme-textBase)) !important;
220
+ color: rgb(var(--v-theme-onSurface)) !important;
221
221
 
222
222
  :deep(.v-alert__border) {
223
223
  border-color: map.get($map, 'border') !important;
@@ -241,7 +241,7 @@
241
241
  background: map.get($map, 'icon-bg');
242
242
 
243
243
  :deep(svg) {
244
- fill: map.get($map, 'accent');
244
+ fill: map.get($map, 'icon');
245
245
  }
246
246
  }
247
247
  }
@@ -256,41 +256,41 @@
256
256
  @include redesign(
257
257
  'warning',
258
258
  (
259
- 'background': var(--alert-warning-background),
260
- 'accent': var(--alert-warning-accent),
261
- 'border': var(--alert-warning-border),
262
- 'icon':var(--alert-warning-icon),
263
- 'icon-bg': var(--alert-warning-icon-bg),
259
+ 'background': rgb(var(--v-theme-warningVariant)),
260
+ 'accent': rgb(var(--v-theme-onWarningVariant)),
261
+ 'border': rgb(var(--v-theme-onWarningVariant)),
262
+ 'icon': rgb(var(--v-theme-onWarningVariant)),
263
+ 'icon-bg': rgb(var(--v-theme-warningVariant90)),
264
264
  )
265
265
  );
266
266
  @include redesign(
267
267
  'success',
268
268
  (
269
- 'background': var(--alert-success-background),
270
- 'accent': var(--alert-success-accent),
271
- 'border': var(--alert-success-border),
272
- 'icon':var(--alert-success-icon),
273
- 'icon-bg': var(--alert-success-icon-bg),
269
+ 'background': rgb(var(--v-theme-successVariant)),
270
+ 'accent': rgb(var(--v-theme-onSuccessVariant)),
271
+ 'border': rgb(var(--v-theme-onSuccessVariant)),
272
+ 'icon':rgb(var(--v-theme-onSuccessVariant)),
273
+ 'icon-bg': rgb(var(--v-theme-successVariant90)),
274
274
  )
275
275
  );
276
276
  @include redesign(
277
277
  'error',
278
278
  (
279
- 'background': var(--alert-error-background),
280
- 'accent': var(--alert-error-accent),
281
- 'border': var(--alert-error-border),
282
- 'icon':var(--alert-error-icon),
283
- 'icon-bg': var(--alert-error-icon-bg),
279
+ 'background': rgb(var(--v-theme-errorVariant)),
280
+ 'accent': rgb(var(--v-theme-error)),
281
+ 'border': rgb(var(--v-theme-error)),
282
+ 'icon':rgb(var(--v-theme-error)),
283
+ 'icon-bg': rgb(var(--v-theme-errorVariant90)),
284
284
  )
285
285
  );
286
286
  @include redesign(
287
287
  'info',
288
288
  (
289
- 'background': var(--alert-info-background),
290
- 'accent': var(--alert-info-accent),
291
- 'border': var(--alert-info-border),
292
- 'icon':var(--alert-info-icon),
293
- 'icon-bg': var(--alert-info-icon-bg),
289
+ 'background': rgb(var(--v-theme-infoVariant)),
290
+ 'accent': rgb(var(--v-theme-info)),
291
+ 'border': rgb(var(--v-theme-info)),
292
+ 'icon':rgb(var(--v-theme-info)),
293
+ 'icon-bg': rgb(var(--v-theme-infoVariant90)),
294
294
  )
295
295
  );
296
296
  }