@cnamts/synapse 1.0.24 → 1.0.26

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 (493) hide show
  1. package/README.md +27 -5
  2. package/dist/{AutocompleteFilter-BWLR3U7W.js → AutocompleteFilter-BPR-a55G.js} +1 -1
  3. package/dist/{DateFilter-BpwFexzi.js → DateFilter-CknrJWs2.js} +2 -2
  4. package/dist/{NumberFilter-Bz_NTdX9.js → NumberFilter-DJ-yNlzv.js} +1 -1
  5. package/dist/{PeriodFilter-DX_wy9g-.js → PeriodFilter-CiB5Oa9Z.js} +1 -1
  6. package/dist/{SelectFilter-xqiPtPgX.js → SelectFilter-EiafX97M.js} +2 -2
  7. package/dist/{TextFilter-BBl3JFqK.js → TextFilter-BzOmpdxj.js} +1 -1
  8. package/dist/{apLightTheme-D1P4jcD0.js → apLightTheme-DS0Uy44H.js} +446 -723
  9. package/dist/components/Customs/Selects/SyAutocomplete/SyAutocomplete.d.ts +14 -8
  10. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +60 -289
  11. package/dist/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.d.ts +1 -0
  12. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +4 -0
  13. package/dist/components/Customs/SyRadioGroup/SyRadioGroup.d.ts +1 -0
  14. package/dist/components/Customs/SyTabs/SyTabs.d.ts +13 -11
  15. package/dist/components/Customs/SyTextField/SyTextField.d.ts +0 -2
  16. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +54 -73
  17. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +31 -40
  18. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +9 -14
  19. package/dist/components/DatePicker/composables/useDatePickerState.d.ts +4 -3
  20. package/dist/components/DatePicker/composables/useDateTextField.d.ts +2 -2
  21. package/dist/components/DatePicker/composables/useInputBlurHandler.d.ts +2 -2
  22. package/dist/components/DatePicker/types.d.ts +1 -2
  23. package/dist/components/FileList/FileList.d.ts +6 -0
  24. package/dist/components/FilterSideBar/FilterSideBar.d.ts +2 -0
  25. package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +13 -13
  26. package/dist/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.d.ts +3 -3
  27. package/dist/components/LunarCalendar/useLunarCalendarValidation.d.ts +1 -0
  28. package/dist/components/MonthPicker/MonthPicker.d.ts +2 -7
  29. package/dist/components/MonthPicker/MonthPickerText/MonthPickerInput.d.ts +2 -7
  30. package/dist/components/NirField/NirField.d.ts +12 -20
  31. package/dist/components/NirField/useNirValidation.d.ts +6 -2
  32. package/dist/components/PeriodField/PeriodField.d.ts +110 -150
  33. package/dist/components/PhoneField/PhoneField.d.ts +12 -7
  34. package/dist/components/RangeField/RangeSlider/RangeSlider.d.ts +0 -3
  35. package/dist/components/RatingPicker/EmotionPicker/EmotionPicker.d.ts +3 -1
  36. package/dist/components/RatingPicker/NumberPicker/NumberPicker.d.ts +4 -3
  37. package/dist/components/RatingPicker/RatingPicker.d.ts +18 -5
  38. package/dist/components/RatingPicker/StarsPicker/StarsPicker.d.ts +3 -1
  39. package/dist/components/RatingPicker/tests/RatingPicker.a11y.spect.d.ts +1 -0
  40. package/dist/components/RatingPicker/useRatingFocus.d.ts +18 -0
  41. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +5 -4
  42. package/dist/components/Tables/SyTable/SyTable.d.ts +5 -4
  43. package/dist/components/Tables/common/SyTablePagination.d.ts +154 -364
  44. package/dist/components/Tables/common/TableHeader.d.ts +6 -1
  45. package/dist/components/Tables/common/filters/DateFilter.d.ts +4 -4
  46. package/dist/components/Tables/common/locales.d.ts +3 -0
  47. package/dist/components/Tables/common/types.d.ts +2 -0
  48. package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +1 -0
  49. package/dist/composables/date/useDateInitializationDayjs.d.ts +3 -1
  50. package/dist/composables/unifyValidation/documentationValidationProps.d.ts +230 -0
  51. package/dist/composables/unifyValidation/useCustomValidation.d.ts +3 -1
  52. package/dist/composables/unifyValidation/useValidation.d.ts +12 -6
  53. package/dist/composables/unifyValidation/useVuetifyValidation.d.ts +1 -1
  54. package/dist/composables/validation/useValidation.d.ts +6 -1
  55. package/dist/design-system-v3.js +2 -2
  56. package/dist/designTokens/tokens/amelipro/apColors.d.ts +10 -10
  57. package/dist/designTokens/tokens/amelipro/apColors2026.d.ts +1 -2
  58. package/dist/designTokens/tokens/amelipro/apContextual.d.ts +44 -0
  59. package/dist/designTokens/tokens/amelipro/apLightTheme.d.ts +2 -0
  60. package/dist/designTokens/tokens/amelipro/apSemantic.d.ts +1 -1
  61. package/dist/designTokens/tokens/baseColors.d.ts +127 -0
  62. package/dist/designTokens/tokens/baseContextualTokens.d.ts +50 -0
  63. package/dist/designTokens/tokens/cnam/cnamColors.d.ts +10 -10
  64. package/dist/designTokens/tokens/cnam/cnamLightTheme.d.ts +2 -0
  65. package/dist/designTokens/tokens/cnam/cnamSemantic.d.ts +1 -1
  66. package/dist/designTokens/tokens/pa/paColors.d.ts +1 -166
  67. package/dist/designTokens/tokens/pa/paSemantic.d.ts +1 -1
  68. package/dist/designTokens/utils/buildColorClassMap.d.ts +12 -0
  69. package/dist/designTokens/utils/createFlattenTheme.d.ts +1 -3
  70. package/dist/designTokens/utils/index.d.ts +2 -2
  71. package/dist/{main-BtTqyn4z.js → main-BsJ9ec3i.js} +16021 -15715
  72. package/dist/synapse.css +1 -1
  73. package/dist/utils/functions/classToHex.d.ts +1 -1
  74. package/dist/utils/functions/createHexResolver.d.ts +16 -0
  75. package/dist/vuetifyConfig.js +113 -152
  76. package/package.json +35 -23
  77. package/src/assets/amelipro/apTokens2026.scss +5 -5
  78. package/src/assets/overrides/_breakpoints.scss +25 -0
  79. package/src/assets/overrides/_btns.scss +0 -2
  80. package/src/assets/overrides/_forms.scss +1 -3
  81. package/src/assets/overrides/_icons.scss +5 -22
  82. package/src/assets/overrides/_otp.scss +40 -0
  83. package/src/assets/overrides/_tables.scss +11 -20
  84. package/src/assets/overrides/_tooltips.scss +17 -7
  85. package/src/assets/overrides/_typography.scss +35 -37
  86. package/src/assets/overrides/_utilities.scss +43 -47
  87. package/src/assets/themes.scss +1 -0
  88. package/src/components/Accordion/Accordion.vue +2 -0
  89. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.vue +20 -20
  90. package/src/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.vue +12 -14
  91. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +4 -6
  92. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/AmeliproAccordionResultTemplate.vue +5 -5
  93. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +4 -6
  94. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.vue +4 -6
  95. package/src/components/Amelipro/AmeliproBadge/AmeliproBadge.vue +4 -6
  96. package/src/components/Amelipro/AmeliproBreadcrumb/AmeliproBreadcrumb.vue +1 -3
  97. package/src/components/Amelipro/AmeliproBtn/AmeliproBtn.vue +4 -6
  98. package/src/components/Amelipro/AmeliproCallback/AmeliproCallback.vue +2 -2
  99. package/src/components/Amelipro/AmeliproCard/AmeliproCard.vue +31 -31
  100. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarousel.vue +5 -7
  101. package/src/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.vue +13 -15
  102. package/src/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.vue +23 -23
  103. package/src/components/Amelipro/AmeliproChips/AmeliproChips.vue +1 -3
  104. package/src/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.vue +17 -12
  105. package/src/components/Amelipro/AmeliproClickableTile/tests/__snapshots__/AmeliproClickableTile.spec.ts.snap +2 -2
  106. package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.vue +4 -6
  107. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.vue +13 -13
  108. package/src/components/Amelipro/AmeliproDentalChart/AmeliproDentalChart.vue +4 -2
  109. package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/AmeliproTooth.vue +4 -4
  110. package/src/components/Amelipro/AmeliproDialog/AmeliproDialog.vue +5 -7
  111. package/src/components/Amelipro/AmeliproDisclosure/AmeliproDisclosure.vue +1 -3
  112. package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.vue +2 -4
  113. package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.vue +4 -6
  114. package/src/components/Amelipro/AmeliproFilters/AmeliproFilters.vue +13 -13
  115. package/src/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.vue +3 -5
  116. package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.vue +1 -3
  117. package/src/components/Amelipro/AmeliproHeader/AmeliproHeader.vue +2 -4
  118. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.vue +1 -3
  119. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.vue +20 -16
  120. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/__tests__/__snapshots__/AmeliproHeaderBrandSection.spec.ts.snap +1 -1
  121. package/src/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.vue +2 -4
  122. package/src/components/Amelipro/AmeliproIllustratedDataTile/AmeliproIllustratedDataTile.vue +5 -7
  123. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.vue +6 -8
  124. package/src/components/Amelipro/AmeliproMailTile/AmeliproMailTile.vue +14 -14
  125. package/src/components/Amelipro/AmeliproMenu/AmeliproMenu.vue +11 -13
  126. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenu.vue +2 -4
  127. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingLayout.vue +8 -8
  128. package/src/components/Amelipro/AmeliproMultipleFoldingCard/AmeliproMultipleFoldingCard.vue +40 -40
  129. package/src/components/Amelipro/AmeliproNumberedCard/AmeliproNumberedCard.vue +27 -27
  130. package/src/components/Amelipro/AmeliproOnboarding/AmeliproOnboarding.vue +3 -5
  131. package/src/components/Amelipro/AmeliproPageLayout/AmeliproPageLayout.vue +2 -4
  132. package/src/components/Amelipro/AmeliproPagination/AmeliproPagination.vue +2 -4
  133. package/src/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/AmeliproPaginationBtn.vue +3 -5
  134. package/src/components/Amelipro/AmeliproPatientBanner/AmeliproPatientBanner.vue +1 -3
  135. package/src/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.vue +2 -4
  136. package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLogin.vue +4 -4
  137. package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLoginForm/AmeliproPatientLoginForm.vue +1 -3
  138. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.vue +3 -5
  139. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.vue +3 -5
  140. package/src/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.vue +23 -23
  141. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.vue +4 -6
  142. package/src/components/Amelipro/AmeliproSelect/AmeliproSelect.vue +12 -22
  143. package/src/components/Amelipro/AmeliproStateTile/AmeliproStateTile.vue +10 -12
  144. package/src/components/Amelipro/AmeliproStepper/AmeliproStepper.vue +17 -17
  145. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +8 -10
  146. package/src/components/Amelipro/AmeliproTabs/AmeliproTabBtn/AmeliproTabBtn.vue +6 -8
  147. package/src/components/Amelipro/AmeliproTabs/AmeliproTabs.vue +4 -4
  148. package/src/components/Amelipro/AmeliproTextArea/AmeliproTextArea.vue +4 -6
  149. package/src/components/Amelipro/AmeliproTextField/AmeliproTextField.vue +7 -9
  150. package/src/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.vue +3 -5
  151. package/src/components/Amelipro/AmeliproTooltips/AmeliproTooltips.vue +0 -2
  152. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.vue +6 -6
  153. package/src/components/Amelipro/ServiceMenu/ServiceMenu.vue +2 -2
  154. package/src/components/Amelipro/StructureMenu/StructureBtn/StructureBtn.vue +4 -4
  155. package/src/components/Amelipro/StructureMenu/StructureItem/StructureItem.vue +4 -6
  156. package/src/components/Amelipro/StructureMenu/StructureMenu.vue +2 -2
  157. package/src/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.vue +2 -2
  158. package/src/components/Amelipro/UserMenu/UserMenu.vue +1 -3
  159. package/src/components/BackBtn/tests/BackBtn.visual.cy.ts +43 -0
  160. package/src/components/BackBtn/tests/__snapshots__/back-btn-custom-bg.snap.png +0 -0
  161. package/src/components/BackBtn/tests/__snapshots__/back-btn-dark-mode.snap.png +0 -0
  162. package/src/components/BackBtn/tests/__snapshots__/back-btn-default.snap.png +0 -0
  163. package/src/components/BackBtn/tests/__snapshots__/back-btn-no-icon.snap.png +0 -0
  164. package/src/components/Captcha/Captcha.vue +1 -3
  165. package/src/components/ChipList/ChipList.vue +14 -16
  166. package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +2 -3
  167. package/src/components/CookiesSelection/CookiesSelection.vue +2 -1
  168. package/src/components/CopyBtn/CopyBtn.vue +10 -3
  169. package/src/components/Customs/Selects/SelectBtnField/SelectBtnField.vue +17 -17
  170. package/src/components/Customs/Selects/SelectBtnField/tests/SelectBtnField.spec.ts +31 -0
  171. package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.stories.ts +66 -0
  172. package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.vue +8 -4
  173. package/src/components/Customs/Selects/SyAutocomplete/tests/SyAutocomplete.a11y.spec.ts +18 -0
  174. package/src/components/Customs/Selects/SyAutocomplete/tests/SyAutocomplete.spec.ts +66 -0
  175. package/src/components/Customs/Selects/SyInputSelect/SyInputSelect.vue +4 -6
  176. package/src/components/Customs/Selects/SySelect/SySelect.stories.ts +414 -135
  177. package/src/components/Customs/Selects/SySelect/SySelect.vue +502 -257
  178. package/src/components/Customs/Selects/SySelect/accessibilite/Accessibility.mdx +199 -269
  179. package/src/components/Customs/Selects/SySelect/tests/SySelect.spec.ts +278 -4
  180. package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.vue +3 -3
  181. package/src/components/Customs/SyCheckbox/SyCheckbox.mdx +5 -0
  182. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +52 -2
  183. package/src/components/Customs/SyCheckbox/accessibilite/Accessibility.mdx +18 -3
  184. package/src/components/Customs/SyPagination/SyPagination.vue +0 -2
  185. package/src/components/Customs/SyRadioGroup/SyRadioGroup.vue +23 -5
  186. package/src/components/Customs/SyTabs/SyTabs.mdx +0 -58
  187. package/src/components/Customs/SyTabs/SyTabs.stories.ts +34 -35
  188. package/src/components/Customs/SyTabs/SyTabs.vue +87 -67
  189. package/src/components/Customs/SyTabs/accessibilite/Accessibility.mdx +83 -23
  190. package/src/components/Customs/SyTabs/config.ts +3 -3
  191. package/src/components/Customs/SyTabs/tests/SyTabs.a11y.spec.ts +88 -0
  192. package/src/components/Customs/SyTabs/tests/SyTabs.spec.ts +46 -1
  193. package/src/components/Customs/SyTextField/SyTextField.stories.ts +21 -41
  194. package/src/components/Customs/SyTextField/SyTextField.vue +34 -9
  195. package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +1 -1
  196. package/src/components/DatePicker/CalendarMode/DatePicker.vue +29 -28
  197. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +1 -1
  198. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +28 -23
  199. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.spec.ts +24 -1
  200. package/src/components/DatePicker/DatePickerValidationExample/DatePickerValidation.stories.ts +1 -1
  201. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +65 -33
  202. package/src/components/DatePicker/DateTextInput/NoCalendar.stories.ts +1 -1
  203. package/src/components/DatePicker/composables/tests/useDatePickerState.spec.ts +53 -0
  204. package/src/components/DatePicker/composables/useDatePickerState.ts +56 -13
  205. package/src/components/DatePicker/composables/useDateRangeInput.ts +2 -1
  206. package/src/components/DatePicker/composables/useDateSelection.ts +2 -1
  207. package/src/components/DatePicker/composables/useDateTextField.ts +2 -3
  208. package/src/components/DatePicker/composables/useInputBlurHandler.ts +2 -2
  209. package/src/components/DatePicker/composables/useMonthButtonCustomization.ts +9 -8
  210. package/src/components/DatePicker/playground/DatePickerHolidayRule.vue +1 -1
  211. package/src/components/DatePicker/types.ts +1 -2
  212. package/src/components/DialogBox/DialogBox.stories.ts +8 -8
  213. package/src/components/DialogBox/DialogBox.vue +3 -5
  214. package/src/components/DialogBox/accessibilite/Accessibility.mdx +86 -22
  215. package/src/components/DialogBox/tests/DialogBox.visual.cy.ts +76 -0
  216. package/src/components/DialogBox/tests/__snapshots__/dialog-box-custom-texts.snap.png +0 -0
  217. package/src/components/DialogBox/tests/__snapshots__/dialog-box-default.snap.png +0 -0
  218. package/src/components/DialogBox/tests/__snapshots__/dialog-box-no-actions.snap.png +0 -0
  219. package/src/components/FileList/FileList.vue +9 -2
  220. package/src/components/FileList/UploadItem/UploadItem.vue +11 -13
  221. package/src/components/FileList/tests/FileList.spec.ts +47 -0
  222. package/src/components/FileUpload/FileUpload.vue +3 -5
  223. package/src/components/FileUpload/FileUploadContent.vue +3 -5
  224. package/src/components/FilterInline/FilterInline.vue +1 -3
  225. package/src/components/FilterSideBar/FilterSideBar.mdx +44 -1
  226. package/src/components/FilterSideBar/FilterSideBar.stories.ts +105 -1
  227. package/src/components/FilterSideBar/FilterSideBar.vue +9 -1
  228. package/src/components/FilterSideBar/tests/FilterSideBar.a11y.spec.ts +54 -1
  229. package/src/components/FilterSideBar/tests/FilterSideBar.spec.ts +42 -0
  230. package/src/components/FooterBar/FooterBar.vue +9 -13
  231. package/src/components/FranceConnectBtn/FranceConnectBtn.vue +1 -1
  232. package/src/components/HeaderBar/HeaderBar.vue +2 -3
  233. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.vue +2 -3
  234. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.vue +2 -3
  235. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.vue +0 -1
  236. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.vue +8 -9
  237. package/src/components/HeaderBar/HeaderBurgerMenu/menu.scss +0 -8
  238. package/src/components/HeaderBar/HeaderBurgerMenu/tests/HeaderBurgerMenu.visual.cy.ts +196 -0
  239. package/src/components/HeaderBar/HeaderBurgerMenu/tests/__snapshots__/header-burger-menu-generated-submenu-open.snap.png +0 -0
  240. package/src/components/HeaderBar/HeaderBurgerMenu/tests/__snapshots__/header-burger-menu-generated.snap.png +0 -0
  241. package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +0 -1
  242. package/src/components/HeaderBar/HeaderMenuBtn/HeaderMenuBtn.vue +6 -7
  243. package/src/components/HeaderBar/tests/HeaderBar.visual.cy.ts +81 -0
  244. package/src/components/HeaderBar/tests/__snapshots__/header-bar-custom-width.snap.png +0 -0
  245. package/src/components/HeaderBar/tests/__snapshots__/header-bar-default.snap.png +0 -0
  246. package/src/components/HeaderBar/tests/__snapshots__/header-bar-no-sticky.snap.png +0 -0
  247. package/src/components/HeaderBar/tests/__snapshots__/header-bar-with-prepend.snap.png +0 -0
  248. package/src/components/HeaderBar/tests/__snapshots__/header-bar-with-side.snap.png +0 -0
  249. package/src/components/HeaderBar/tests/__snapshots__/header-bar-with-subtitle.snap.png +0 -0
  250. package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +12 -3
  251. package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +15 -8
  252. package/src/components/HeaderToolbar/HeaderToolbar.vue +6 -7
  253. package/src/components/LangBtn/LangBtn.vue +4 -5
  254. package/src/components/Logo/tests/Logo.visual.cy.ts +57 -0
  255. package/src/components/Logo/tests/__snapshots__/logo-avatar.snap.png +0 -0
  256. package/src/components/Logo/tests/__snapshots__/logo-dark.snap.png +0 -0
  257. package/src/components/Logo/tests/__snapshots__/logo-default.snap.png +0 -0
  258. package/src/components/Logo/tests/__snapshots__/logo-no-organism.snap.png +0 -0
  259. package/src/components/Logo/tests/__snapshots__/logo-no-signature.snap.png +0 -0
  260. package/src/components/Logo/tests/__snapshots__/logo-risque-pro.snap.png +0 -0
  261. package/src/components/LogoBrandSection/LogoBrandSection.vue +2 -2
  262. package/src/components/MonthPicker/MonthPickerVisual/VisualPickerHeader.vue +1 -1
  263. package/src/components/NirField/NirField.stories.ts +2 -2
  264. package/src/components/NirField/NirField.vue +3 -5
  265. package/src/components/NirField/accessibilite/Accessibility.mdx +100 -5
  266. package/src/components/NirField/tests/NirField.spec.ts +118 -0
  267. package/src/components/NirField/tests/useNirValidation.spec.ts +449 -0
  268. package/src/components/NirField/useNirValidation.ts +38 -32
  269. package/src/components/NotificationBar/Notification/Notification.vue +7 -9
  270. package/src/components/NotificationBar/NotificationBar.vue +1 -3
  271. package/src/components/PaginatedTable/PaginatedTable.vue +3 -4
  272. package/src/components/PaginatedTable/Pagination.vue +4 -6
  273. package/src/components/PasswordField/PasswordField.vue +15 -13
  274. package/src/components/PhoneField/PhoneField.vue +7 -5
  275. package/src/components/RangeField/RangeSlider/RangeSlider.vue +11 -20
  276. package/src/components/RangeField/RangeSlider/Tooltip/Tooltip.vue +1 -1
  277. package/src/components/RangeField/tests/RangeField.visual.cy.ts +65 -0
  278. package/src/components/RangeField/tests/__snapshots__/range-field-custom-bg.snap.png +0 -0
  279. package/src/components/RangeField/tests/__snapshots__/range-field-custom-range.snap.png +0 -0
  280. package/src/components/RangeField/tests/__snapshots__/range-field-default.snap.png +0 -0
  281. package/src/components/RangeField/tests/__snapshots__/range-field-step.snap.png +0 -0
  282. package/src/components/RangeField/tests/__snapshots__/range-field-with-label.snap.png +0 -0
  283. package/src/components/RatingPicker/EmotionPicker/EmotionPicker.vue +38 -56
  284. package/src/components/RatingPicker/EmotionPicker/tests/__snapshots__/EmotionPicker.spec.ts.snap +5 -0
  285. package/src/components/RatingPicker/NumberPicker/NumberPicker.vue +48 -53
  286. package/src/components/RatingPicker/NumberPicker/tests/NumberPicker.spec.ts +2 -1
  287. package/src/components/RatingPicker/NumberPicker/tests/__snapshots__/NumberPicker.spec.ts.snap +40 -13
  288. package/src/components/RatingPicker/RatingPicker.stories.ts +65 -88
  289. package/src/components/RatingPicker/RatingPicker.vue +71 -15
  290. package/src/components/RatingPicker/StarsPicker/StarsPicker.vue +31 -42
  291. package/src/components/RatingPicker/StarsPicker/tests/StarsPicker.spec.ts +1 -1
  292. package/src/components/RatingPicker/StarsPicker/tests/__snapshots__/StarsPicker.spec.ts.snap +5 -0
  293. package/src/components/RatingPicker/accessibilite/Accessibility.mdx +137 -9
  294. package/src/components/RatingPicker/tests/RatingPicker.a11y.spect.ts +123 -0
  295. package/src/components/RatingPicker/tests/RatingPicker.spec.ts +3 -2
  296. package/src/components/RatingPicker/tests/__snapshots__/RatingPicker.spec.ts.snap +40 -11
  297. package/src/components/RatingPicker/useRatingFocus.ts +97 -0
  298. package/src/components/SearchListField/SearchListField.vue +0 -2
  299. package/src/components/SkipLink/SkipLink.vue +2 -4
  300. package/src/components/SocialMediaLinks/SocialMediaLinks.vue +6 -6
  301. package/src/components/SubHeader/SubHeader.vue +1 -1
  302. package/src/components/SyAlert/SyAlert.vue +7 -9
  303. package/src/components/SyAlert/tests/SyAlert.visual.cy.ts +46 -0
  304. package/src/components/SyAlert/tests/__snapshots__/sy-alert-closable.snap.png +0 -0
  305. package/src/components/SyAlert/tests/__snapshots__/sy-alert-error.snap.png +0 -0
  306. package/src/components/SyAlert/tests/__snapshots__/sy-alert-info.snap.png +0 -0
  307. package/src/components/SyAlert/tests/__snapshots__/sy-alert-success.snap.png +0 -0
  308. package/src/components/SyAlert/tests/__snapshots__/sy-alert-variant-outlined.snap.png +0 -0
  309. package/src/components/SyAlert/tests/__snapshots__/sy-alert-variant-tonal.snap.png +0 -0
  310. package/src/components/SyAlert/tests/__snapshots__/sy-alert-warning.snap.png +0 -0
  311. package/src/components/SyBtnMenu/SyBtnMenu.vue +2 -4
  312. package/src/components/SyTextArea/SyTextArea.vue +32 -1
  313. package/src/components/TableToolbar/TableToolbar.vue +6 -8
  314. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +166 -0
  315. package/src/components/Tables/SyServerTable/SyServerTable.vue +10 -8
  316. package/src/components/Tables/SyServerTable/tests/SyServerTable.a11y.spec.ts +23 -0
  317. package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +268 -0
  318. package/src/components/Tables/SyTable/SyTable.stories.ts +104 -0
  319. package/src/components/Tables/SyTable/SyTable.vue +10 -8
  320. package/src/components/Tables/SyTable/tests/SyTable.a11y.spec.ts +22 -0
  321. package/src/components/Tables/SyTable/tests/SyTable.spec.ts +274 -0
  322. package/src/components/Tables/common/SyTableFilter.vue +31 -6
  323. package/src/components/Tables/common/SyTablePagination.vue +143 -19
  324. package/src/components/Tables/common/TableHeader.vue +41 -4
  325. package/src/components/Tables/common/filters/DateFilter.vue +2 -2
  326. package/src/components/Tables/common/filters/SelectFilter.vue +1 -1
  327. package/src/components/Tables/common/locales.ts +3 -0
  328. package/src/components/Tables/common/tableStyles.scss +16 -19
  329. package/src/components/Tables/common/tests/SyTablePagination.spec.ts +18 -0
  330. package/src/components/Tables/common/tests/TableHeader.spec.ts +39 -0
  331. package/src/components/Tables/common/types.ts +2 -0
  332. package/src/components/Tables/common/useTableHeaders.ts +49 -27
  333. package/src/components/UploadWorkflow/UploadWorkflow.vue +1 -0
  334. package/src/components/UploadWorkflow/tests/UploadWorkflow.spec.ts +23 -0
  335. package/src/components/UploadWorkflow/tests/__snapshots__/UploadWorkflow.spec.ts.snap +66 -0
  336. package/src/components/UploadWorkflow/useFileList.ts +3 -0
  337. package/src/components/UserMenuBtn/UserMenuBtn.vue +1 -3
  338. package/src/composables/date/tests/useDateFormatDayjs.spec.ts +81 -0
  339. package/src/composables/date/tests/{useDateInitialization.spec.ts → useDateInitializationDayjs.spec.ts} +39 -3
  340. package/src/composables/date/useDateInitializationDayjs.ts +4 -1
  341. package/src/composables/unifyValidation/documentationValidationProps.ts +235 -0
  342. package/src/composables/unifyValidation/tests/useCustomValidation.spec.ts +2 -1
  343. package/src/composables/unifyValidation/tests/useValidation.spec.ts +22 -0
  344. package/src/composables/unifyValidation/useCustomValidation.ts +16 -4
  345. package/src/composables/unifyValidation/useValidation.ts +46 -15
  346. package/src/composables/unifyValidation/useVuetifyValidation.ts +2 -2
  347. package/src/composables/useFormFieldErrorHandling.ts +4 -1
  348. package/src/composables/validation/tests/useValidation.spec.ts +2 -2
  349. package/src/composables/validation/useValidation.ts +32 -4
  350. package/src/composantsVuetify/VBreadcrumbs/VBreadcrumbs.mdx +28 -0
  351. package/src/composantsVuetify/VBreadcrumbs/v-breadcrumbs.stories.ts +108 -0
  352. package/src/composantsVuetify/VCard/VCard.mdx +59 -0
  353. package/src/composantsVuetify/VCard/v-card.stories.ts +279 -0
  354. package/src/composantsVuetify/VOtpInput/VOtpInput.mdx +39 -0
  355. package/src/composantsVuetify/VOtpInput/v-otp-input.stories.ts +56 -0
  356. package/src/composantsVuetify/VSkeletonLoader/VSkeletonLoader.mdx +42 -0
  357. package/src/composantsVuetify/VSkeletonLoader/v-skeleton-loader.stories.ts +77 -0
  358. package/src/composantsVuetify/VSwitch/VSwitch.mdx +47 -0
  359. package/src/composantsVuetify/VSwitch/v-switch.stories.ts +166 -0
  360. package/src/designTokens/tests/buildColorClassMap.spec.ts +31 -0
  361. package/src/designTokens/tests/generateScssTokens.spec.ts +12 -0
  362. package/src/designTokens/tests/themeUtils.spec.ts +53 -0
  363. package/src/designTokens/tokens/amelipro/apColors.ts +8 -130
  364. package/src/designTokens/tokens/amelipro/apColors2026.ts +3 -15
  365. package/src/designTokens/tokens/amelipro/apContextual.ts +55 -47
  366. package/src/designTokens/tokens/amelipro/apLightTheme.ts +4 -1
  367. package/src/designTokens/tokens/amelipro/apSemantic.ts +1 -1
  368. package/src/designTokens/tokens/baseColors.ts +129 -0
  369. package/src/designTokens/tokens/baseContextualTokens.ts +52 -0
  370. package/src/designTokens/tokens/cnam/cnamColors.ts +3 -125
  371. package/src/designTokens/tokens/cnam/cnamContextual.ts +4 -48
  372. package/src/designTokens/tokens/cnam/cnamLightTheme.ts +4 -1
  373. package/src/designTokens/tokens/cnam/cnamSemantic.ts +1 -1
  374. package/src/designTokens/tokens/pa/paColors.ts +2 -166
  375. package/src/designTokens/tokens/pa/paContextual.ts +3 -48
  376. package/src/designTokens/tokens/pa/paLightTheme.ts +1 -1
  377. package/src/designTokens/tokens/pa/paSemantic.ts +2 -2
  378. package/src/designTokens/utils/buildColorClassMap.ts +34 -0
  379. package/src/designTokens/utils/convertSemanticsToken.ts +8 -11
  380. package/src/designTokens/utils/createFlattenTheme.ts +15 -7
  381. package/src/designTokens/utils/index.ts +2 -2
  382. package/src/stories/Accessibilite/Aculturation/SensibilisationAccessibilite.mdx +61 -91
  383. package/src/stories/Accessibilite/AuditDesignSystem.mdx +5 -19
  384. package/src/stories/Accessibilite/AuditEtContreAudit/Exemptions-derogations.mdx +1 -1
  385. package/src/stories/Accessibilite/AuditEtContreAudit/Introduction.mdx +11 -8
  386. package/src/stories/Accessibilite/AuditEtContreAudit/RGAA.mdx +6 -7
  387. package/src/stories/Accessibilite/DesignSystem/Avancement.mdx +433 -0
  388. package/src/stories/Accessibilite/DesignSystem/a11y-status.json +692 -0
  389. package/src/stories/Accessibilite/Introduction.mdx +30 -30
  390. package/src/stories/Accessibilite/KitDePreAudit/Echantillonnage.mdx +176 -79
  391. package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +67 -19
  392. package/src/stories/Accessibilite/KitDePreAudit/Outils/Introduction.mdx +78 -50
  393. package/src/stories/Accessibilite/KitDePreAudit/Outils/LecteursDEcran.mdx +23 -49
  394. package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru/FauxPositifs.stories.ts +6 -0
  395. package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru/Utilisation.mdx +7 -19
  396. package/src/stories/Accessibilite/KitDePreAudit/Preaudit.mdx +55 -67
  397. package/src/stories/Components/Components.stories.ts +92 -4
  398. package/src/stories/Demarrer/EnrichirLeDesignSystem.mdx +4 -9
  399. package/src/stories/Demarrer/EnrichirLeDesignSystem.stories.ts +28 -0
  400. package/src/stories/Demarrer/Releases.stories.ts +48 -5
  401. package/src/stories/DesignTokens/ColorDisplay.vue +6 -5
  402. package/src/stories/DesignTokens/ColorIntegrationExample.vue +2 -4
  403. package/src/stories/DesignTokens/colors.stories.ts +5 -6
  404. package/src/stories/GuideDuDev/CreateVuetifyInstance.mdx +95 -0
  405. package/src/stories/GuideDuDev/Theme.mdx +36 -26
  406. package/src/stories/GuideDuDev/moduleDeNotification.mdx +3 -2
  407. package/src/stories/styles/accessibility-guide.css +3 -3
  408. package/src/utils/functions/classToHex.ts +6 -34
  409. package/src/utils/functions/createHexResolver.ts +45 -0
  410. package/src/utils/functions/tests/classToHex.spec.ts +36 -0
  411. package/src/utils/functions/tests/convertToHex.spec.ts +31 -0
  412. package/src/utils/functions/tests/createHexResolver.spec.ts +66 -0
  413. package/src/utils/functions/tests/isCssColor.spec.ts +48 -0
  414. package/dist/AutocompleteFilter-D9jzRzAL.cjs +0 -1
  415. package/dist/DateFilter-DTUl8hb1.cjs +0 -1
  416. package/dist/NumberFilter-MAEojdk0.cjs +0 -1
  417. package/dist/PeriodFilter-CC4WgIhl.cjs +0 -1
  418. package/dist/SelectFilter-BR3fvl-a.cjs +0 -1
  419. package/dist/TextFilter-CCfYFl5F.cjs +0 -1
  420. package/dist/apLightTheme-CFSRrjv2.cjs +0 -1
  421. package/dist/composables/date/useDateFormat.d.ts +0 -26
  422. package/dist/composables/date/useDateInitialization.d.ts +0 -18
  423. package/dist/design-system-v3.umd.cjs +0 -1
  424. package/dist/designTokens/utils/convertGaps.d.ts +0 -5
  425. package/dist/main-C1e3eoxd.cjs +0 -1067
  426. package/dist/tooth-11-D3sLWv2n.cjs +0 -1
  427. package/dist/tooth-12-CXrLuH03.cjs +0 -1
  428. package/dist/tooth-13-BSfo5fpT.cjs +0 -1
  429. package/dist/tooth-14-DMzulx0h.cjs +0 -1
  430. package/dist/tooth-15-BKRFVi-9.cjs +0 -1
  431. package/dist/tooth-16-CpuxAbuM.cjs +0 -1
  432. package/dist/tooth-17-BPoahUdg.cjs +0 -1
  433. package/dist/tooth-18-DhHJz8sy.cjs +0 -1
  434. package/dist/tooth-21-Dgd5hn_X.cjs +0 -1
  435. package/dist/tooth-22-C2Tn19sB.cjs +0 -1
  436. package/dist/tooth-23-C9uaaSGb.cjs +0 -1
  437. package/dist/tooth-24-BrK9UGpf.cjs +0 -1
  438. package/dist/tooth-25-CE_EfGNp.cjs +0 -1
  439. package/dist/tooth-26-Ctv4i9Fy.cjs +0 -1
  440. package/dist/tooth-27-C5J7JkWM.cjs +0 -1
  441. package/dist/tooth-28-Z9oWqjo0.cjs +0 -1
  442. package/dist/tooth-31-BrYqmkTi.cjs +0 -1
  443. package/dist/tooth-32-BNNR0oCZ.cjs +0 -1
  444. package/dist/tooth-33-DuxvqO2J.cjs +0 -1
  445. package/dist/tooth-34-BCSCXMB6.cjs +0 -1
  446. package/dist/tooth-35-BLUXkX88.cjs +0 -1
  447. package/dist/tooth-36-IrKHYqlA.cjs +0 -1
  448. package/dist/tooth-37-BYqpdMwo.cjs +0 -1
  449. package/dist/tooth-38-B_eNXXdu.cjs +0 -1
  450. package/dist/tooth-41-Ddva4Ot8.cjs +0 -1
  451. package/dist/tooth-42-szcDqlM0.cjs +0 -1
  452. package/dist/tooth-43-B3ka6rQm.cjs +0 -1
  453. package/dist/tooth-44-CazyQucj.cjs +0 -1
  454. package/dist/tooth-45-B4HQtc8n.cjs +0 -1
  455. package/dist/tooth-46-BPM40gbG.cjs +0 -1
  456. package/dist/tooth-47-Dvr20dlh.cjs +0 -1
  457. package/dist/tooth-48-Bd8ljGsF.cjs +0 -1
  458. package/dist/tooth-51-OBpwCOF3.cjs +0 -1
  459. package/dist/tooth-52-aKxyHcmq.cjs +0 -1
  460. package/dist/tooth-53-vCwJjTOc.cjs +0 -1
  461. package/dist/tooth-54-DsWu2iFy.cjs +0 -1
  462. package/dist/tooth-55-BxC1X2Dn.cjs +0 -1
  463. package/dist/tooth-61-BbLvxMQi.cjs +0 -1
  464. package/dist/tooth-62-CmTkWczP.cjs +0 -1
  465. package/dist/tooth-63-DI7l_2qI.cjs +0 -1
  466. package/dist/tooth-64-B21sOsJh.cjs +0 -1
  467. package/dist/tooth-65-D2ZC2VEr.cjs +0 -1
  468. package/dist/tooth-71-D473PPO5.cjs +0 -1
  469. package/dist/tooth-72-Drh1wnNu.cjs +0 -1
  470. package/dist/tooth-73-DzlwYI23.cjs +0 -1
  471. package/dist/tooth-74-8aGvcZPg.cjs +0 -1
  472. package/dist/tooth-75-BFK7At_r.cjs +0 -1
  473. package/dist/tooth-81-BZmR-I0M.cjs +0 -1
  474. package/dist/tooth-82-euVfUUZV.cjs +0 -1
  475. package/dist/tooth-83-KV010j64.cjs +0 -1
  476. package/dist/tooth-84-BBg1RjhZ.cjs +0 -1
  477. package/dist/tooth-85-Cr-kc1wM.cjs +0 -1
  478. package/dist/vuetifyConfig.umd.cjs +0 -1
  479. package/src/assets/apTokens.scss +0 -343
  480. package/src/assets/overrides/_container.scss +0 -36
  481. package/src/assets/tokens.scss +0 -388
  482. package/src/composables/date/tests/useDateFormat.spec.ts +0 -67
  483. package/src/composables/date/useDateFormat.ts +0 -110
  484. package/src/composables/date/useDateInitialization.ts +0 -92
  485. package/src/designTokens/apColors.md +0 -66
  486. package/src/designTokens/cnamColors.md +0 -193
  487. package/src/designTokens/paColors.md +0 -66
  488. package/src/designTokens/tokens/json/contextual-tokens.json +0 -156
  489. package/src/designTokens/tokens/json/primitives.json +0 -209
  490. package/src/designTokens/tokens/json/semantic.json +0 -120
  491. package/src/designTokens/utils/convertGaps.ts +0 -11
  492. package/src/stories/Accessibilite/Avancement/Avancement.mdx +0 -533
  493. package/src/stories/Accessibilite/Avancement/Avancement.stories.ts +0 -306
@@ -1,388 +0,0 @@
1
- /*
2
- * CNAM Design System
3
- * Tokens and settings for the CNAM and PA themes.
4
- * This file must not contain any styles as it will be duplicated many times.
5
- */
6
-
7
- // Primitives
8
- $orange-darken-80: #2d100b;
9
- $orange-darken-60: #5a2017;
10
- $orange-darken-40: #862f22;
11
- $orange-darken-20: #b33f2e;
12
- $orange-base: #e04f39;
13
- $orange-lighten-20: #e67261;
14
- $orange-lighten-40: #ec9588;
15
- $orange-lighten-60: #f3b9b0;
16
- $orange-lighten-80: #f9dcd7;
17
- $orange-lighten-90: #fcedeb;
18
- $orange-lighten-97: #fefaf9;
19
- $yellow-darken-80: #302407;
20
- $yellow-darken-60: #60480e;
21
- $yellow-darken-40: #906b15;
22
- $yellow-darken-20: #c08f1c;
23
- $yellow-base: #f0b323;
24
- $yellow-lighten-20: #f3c24f;
25
- $yellow-lighten-40: #f6d17b;
26
- $yellow-lighten-60: #f9e1a7;
27
- $yellow-lighten-80: #fcf0d3;
28
- $yellow-lighten-90: #fdf7e9;
29
- $yellow-lighten-97: #fffdf8;
30
- $green-darken-80: #112717;
31
- $green-darken-60: #224e2d;
32
- $green-darken-40: #347444;
33
- $green-darken-20: #459b5a;
34
- $green-base: #56c271;
35
- $green-lighten-20: #78ce8d;
36
- $green-lighten-40: #9adaaa;
37
- $green-lighten-60: #bbe7c6;
38
- $green-lighten-80: #ddf3e3;
39
- $green-lighten-90: #eef9f1;
40
- $green-lighten-97: #fafdfb;
41
- $turquoise-darken-80: #00221c;
42
- $turquoise-darken-60: #004439;
43
- $turquoise-darken-40: #006755;
44
- $turquoise-darken-20: #008972;
45
- $turquoise-base: #00ab8e;
46
- $turquoise-lighten-20: #33bca5;
47
- $turquoise-lighten-40: #66cdbb;
48
- $turquoise-lighten-60: #99ddd2;
49
- $turquoise-lighten-80: #cceee8;
50
- $turquoise-lighten-90: #e5f7f4;
51
- $turquoise-lighten-97: #f7fcfc;
52
- $blue-darken-80: #020d1f;
53
- $blue-darken-60: #051a3e;
54
- $blue-darken-40: #07275c;
55
- $blue-darken-20: #0a347b;
56
- $blue-base: #0c419a;
57
- $blue-lighten-20: #3d67ae;
58
- $blue-lighten-40: #6d8dc2;
59
- $blue-lighten-60: #9eb3d7;
60
- $blue-lighten-80: #ced9eb;
61
- $blue-lighten-90: #e7ecf5;
62
- $blue-lighten-97: #f8f9fc;
63
- $cyan-darken-80: #00212d;
64
- $cyan-darken-60: #004259;
65
- $cyan-darken-40: #006386;
66
- $cyan-darken-20: #0084b2;
67
- $cyan-base: #00a5df;
68
- $cyan-lighten-20: #33b7e5;
69
- $cyan-lighten-40: #66c9ec;
70
- $cyan-lighten-60: #99dbf2;
71
- $cyan-lighten-80: #ccedf9;
72
- $cyan-lighten-90: #e5f6fc;
73
- $cyan-lighten-97: #f7fcfe;
74
- $frosted-blue-darken-80: #142327;
75
- $frosted-blue-darken-60: #28464d;
76
- $frosted-blue-darken-40: #3d6874;
77
- $frosted-blue-darken-20: #518b9a;
78
- $frosted-blue-base: #65aec1;
79
- $frosted-blue-lighten-20: #84becd;
80
- $frosted-blue-lighten-40: #a3ceda;
81
- $frosted-blue-lighten-60: #c1dfe6;
82
- $frosted-blue-lighten-80: #e0eff3;
83
- $frosted-blue-lighten-90: #f0f7f9;
84
- $frosted-blue-lighten-97: #fafdfd;
85
- $parma-darken-80: #171c26;
86
- $parma-darken-60: #2f384d;
87
- $parma-darken-40: #465473;
88
- $parma-darken-20: #5e709a;
89
- $parma-base: #758cc0;
90
- $parma-lighten-20: #91a3cd;
91
- $parma-lighten-40: #acbad9;
92
- $parma-lighten-60: #c8d1e6;
93
- $parma-lighten-80: #e3e8f2;
94
- $parma-lighten-90: #f1f3f9;
95
- $parma-lighten-97: #fbfcfd;
96
- $mauve-darken-80: #201224;
97
- $mauve-darken-60: #402449;
98
- $mauve-darken-40: #60376d;
99
- $mauve-darken-20: #804992;
100
- $mauve-base: #a05bb6;
101
- $mauve-lighten-20: #b37cc5;
102
- $mauve-lighten-40: #c69dd3;
103
- $mauve-lighten-60: #d9bde2;
104
- $mauve-lighten-80: #ecdef0;
105
- $mauve-lighten-90: #f5eff8;
106
- $mauve-lighten-97: #fcfafd;
107
- $pink-darken-80: #2d051a;
108
- $pink-darken-60: #5a0a34;
109
- $pink-darken-40: #87104d;
110
- $pink-darken-20: #b41567;
111
- $pink-base: #e11a81;
112
- $pink-lighten-20: #e7489a;
113
- $pink-lighten-40: #ed76b3;
114
- $pink-lighten-60: #f3a3cd;
115
- $pink-lighten-80: #f9d1e6;
116
- $pink-lighten-90: #fce8f2;
117
- $pink-lighten-97: #fef8fb;
118
- $brick-darken-80: #291112;
119
- $brick-darken-60: #522224;
120
- $brick-darken-40: #7b3237;
121
- $brick-darken-20: #a44349;
122
- $brick-base: #cd545b;
123
- $brick-lighten-20: #d7767c;
124
- $brick-lighten-40: #e1989d;
125
- $brick-lighten-60: #ebbbbd;
126
- $brick-lighten-80: #f5ddde;
127
- $brick-lighten-90: #faeeef;
128
- $brick-lighten-97: #fdfafa;
129
- $grey-darken-80: #111212;
130
- $grey-darken-60: #222324;
131
- $grey-darken-40: #323535;
132
- $grey-darken-20: #434647;
133
- $grey-base: #545859;
134
- $grey-lighten-20: #76797a;
135
- $grey-lighten-40: #989b9b;
136
- $grey-lighten-60: #bbbcbd;
137
- $grey-lighten-80: #dddede;
138
- $grey-lighten-90: #eee;
139
- $grey-lighten-97: #fafafa;
140
- $white-20: rgb(255 255 255 / 20%);
141
- $white-38: rgb(255 255 255 / 38%);
142
- $white-40: rgb(255 255 255 / 40%);
143
- $white-70: rgb(255 255 255 / 70%);
144
- $white-base: #fff;
145
- $white-08: rgb(255 255 255 / 8%);
146
- $white-00: rgb(255 255 255 / 0%);
147
- $none-value: undefined;
148
- $transparent-blue-18: rgb(12 65 154 / 18%);
149
- $transparent-blue-08: rgb(12 65 154 / 8%);
150
- $transparent-blue-00: rgb(12 65 154 / 0%);
151
-
152
- // Semantic Tokens
153
- $primary-darker-2: #07275c;
154
- $primary-darker: #0a347b;
155
- $primary-base: #0c419a;
156
- $primary: #0c419a;
157
- $primary-light: #3d67ae;
158
- $primary-lighter-2: #9eb3d7;
159
- $primary-lighter-3: #ced9eb;
160
- $primary-lighter-4: #e7ecf5;
161
- $primary-lighter-5: #f8f9fc;
162
- $secondary-darker-2: #006386;
163
- $secondary-darker: #0084b2;
164
- $secondary-base: #00a5df;
165
- $secondary-light: #33b7e5;
166
- $secondary-lighter-2: #99dbf2;
167
- $secondary-lighter-3: #ccedf9;
168
- $secondary-lighter-4: #e5f6fc;
169
- $secondary-lighter-5: #f7fcfe;
170
- $neutral-black: #222324;
171
- $neutral-black-lighter: #545859;
172
- $neutral-black-lighter-2: #989b9b;
173
- $neutral-grey: #dddede;
174
- $neutral-white: #fff;
175
- $neutral-white-alpha: rgb(255 255 255 / 70%);
176
- $neutral-white-alpha-lighter: rgb(255 255 255 / 40%);
177
- $neutral-white-alpha-lighter-2: rgb(255 255 255 / 20%);
178
- $neutral-white-alpha-lighter-3: rgb(255 255 255 / 8%);
179
- $info-info-lightest: #e7ecf5;
180
- $info-info-lighter: #ced9eb;
181
- $info-default: #0c419a;
182
- $success-lightest: #e5f7f4;
183
- $success-lighter: #cceee8;
184
- $success-default: #56c271;
185
- $success-darker: #224e2d;
186
- $warning-lightest: #fdf7e9;
187
- $warning-lighter: #fcf0d3;
188
- $warning-default: #f0b323;
189
- $warning-darker: #60480e;
190
- $danger-lightest: #fcedeb;
191
- $danger-lighter: #f9dcd7;
192
- $danger-default: #b33f2e;
193
- $danger-darker: #5a2017;
194
- $user-professionnel: #66c9ec;
195
- $user-assure: #ed76b3;
196
- $user-entreprise: #f0b323;
197
-
198
- // Contextual Tokens
199
- $colors-background: #fff;
200
- $colors-border: #ddd;
201
- $colors-text: #333;
202
- $colors-icon: #666;
203
- $colors-overlay: rgb(0 0 0 / 50%);
204
- $colors-interactive: #007bff;
205
- $gap-0: 0;
206
- $gap-1: 4px;
207
- $gap-2: 8px;
208
- $gap-3: 12px;
209
- $gap-4: 16px;
210
- $gap-5: 20px;
211
- $gap-6: 24px;
212
- $gap-7: 28px;
213
- $gap-8: 32px;
214
- $gap-9: 36px;
215
- $gap-10: 40px;
216
- $gap-11: 44px;
217
- $gap-12: 48px;
218
- $gap-13: 52px;
219
- $gap-14: 56px;
220
- $gap-15: 60px;
221
- $gap-16: 64px;
222
- $icon-size-xsmall: 8px;
223
- $icon-size-small: 16px;
224
- $icon-size-default: 24px;
225
- $icon-size-large: 32px;
226
- $radius-rounded-0: 0;
227
- $radius-rounded: 4px;
228
- $radius-rounded-md: 4px;
229
- $radius-rounded-lg: 8px;
230
- $radius-rounded-pill: 64px;
231
- $padding-0: 0;
232
- $padding-2: 8px;
233
- $padding-3: 12px;
234
- $padding-4: 16px;
235
- $padding-6: 24px;
236
- $padding-8: 32px;
237
- $padding-10: 40px;
238
- $padding-14: 56px;
239
- $padding-16: 64px;
240
- $font-size-title: 24px;
241
- $font-size-alt-title: 20px;
242
- $font-size-body-text: 16px;
243
- $font-size-link-label: 14px;
244
-
245
- // Additional Contextual Tokens
246
- $colors-background-main: #e7ecf5;
247
- $colors-background-surface: #fff;
248
- $colors-background-main-alt: #fff;
249
- $colors-background-main-ter: #fafafa;
250
- $colors-background-surface-alt: #e7ecf5;
251
- $colors-background-raised: #f8f9fc;
252
- $colors-background-accent-primary: #0c419a;
253
- $colors-background-accent-primary-contrasted: #07275c;
254
- $colors-background-accent-primary-alt: #111212;
255
- $colors-background-accent-primary-light: #3d67ae;
256
- $colors-background-accent-secondary-light: #99dbf2;
257
- $colors-background-accent-secondary: #00a5df;
258
- $colors-background-accent-secondary-contrasted: #006386;
259
- $colors-background-info: #ced9eb;
260
- $colors-background-info-subdued: #e7ecf5;
261
- $colors-background-info-contrasted: #0c419a;
262
- $colors-background-success: #cceee8;
263
- $colors-background-success-subdued: #e5f7f4;
264
- $colors-background-success-contrasted: #56c271;
265
- $colors-background-warning: #fcf0d3;
266
- $colors-background-warning-subdued: #fdf7e9;
267
- $colors-background-warning-contrasted: #f0b323;
268
- $colors-background-error: #f9dcd7;
269
- $colors-background-error-subdued: #fcedeb;
270
- $colors-background-error-contrasted: #b33f2e;
271
- $colors-background-disabled: #dddede;
272
- $colors-background-disabled-ondark: rgb(255 255 255 / 8%);
273
- $colors-background-assure: #ed76b3;
274
- $colors-background-professionnel: #66c9ec;
275
- $colors-background-entreprise: #f0b323;
276
- $colors-border-darker: #222324;
277
- $colors-border-base: #989b9b;
278
- $colors-border-subdued: #dddede;
279
- $colors-border-accent-primary: #0c419a;
280
- $colors-border-accent-primary-contrasted: #07275c;
281
- $colors-border-accent-primary-ondark: #fff;
282
- $colors-border-accent-secondary: #00a5df;
283
- $colors-border-accent-secondary-contrasted: #006386;
284
- $colors-border-info: #0c419a;
285
- $colors-border-success: #224e2d;
286
- $colors-border-warning: #60480e;
287
- $colors-border-error: #b33f2e;
288
- $colors-border-ondark: rgb(255 255 255 / 70%);
289
- $colors-border-disabled: #dddede;
290
- $colors-border-disabled-ondark: rgb(255 255 255 / 40%);
291
- $colors-text-base: #222324;
292
- $colors-text-accent-primary: #0c419a;
293
- $colors-text-accent-primary-contrasted: #07275c;
294
- $colors-text-accent-secondary: #006386;
295
- $colors-text-subdued: #545859;
296
- $colors-text-info: #0c419a;
297
- $colors-text-success: #224e2d;
298
- $colors-text-warning: #60480e;
299
- $colors-text-error: #b33f2e;
300
- $colors-text-disabled: #989b9b;
301
- $colors-text-ondark: #fff;
302
- $colors-text-subdued-ondark: rgb(255 255 255 / 70%);
303
- $colors-text-disabled-ondark: rgb(255 255 255 / 40%);
304
- $colors-icon-base: #222324;
305
- $colors-icon-subdued: #545859;
306
- $colors-icon-subdued-ondark: rgb(255 255 255 / 70%);
307
- $colors-icon-accent-primary: #0c419a;
308
- $colors-icon-accent-primary-contrasted: #07275c;
309
- $colors-icon-accent-secondary: #006386;
310
- $colors-icon-info: #0c419a;
311
- $colors-icon-success: #224e2d;
312
- $colors-icon-warning: #60480e;
313
- $colors-icon-error: #b33f2e;
314
- $colors-icon-ondark: #fff;
315
- $colors-icon-disabled: #989b9b;
316
- $colors-icon-disabled-ondark: rgb(255 255 255 / 40%);
317
- $colors-overlay-fullpage: #989b9b;
318
- $colors-overlay-ondark: #fff;
319
- $colors-overlay-onlight: #0c419a;
320
- $colors-interactive-selection-enabled: rgb(255 255 255 / 0%);
321
- $colors-interactive-selection-hover: #e7ecf5;
322
- $colors-interactive-selection-pressed: #ced9eb;
323
- $colors-interactive-selection-selected: #e7ecf5;
324
- $colors-interactive-selection-hover-on-selected: #ced9eb;
325
- $colors-interactive-selection-selected-accent: #0c419a;
326
- $colors-interactive-selection-hover-on-selected-accent: #3d67ae;
327
- $colors-interactive-selection-disabled: rgb(255 255 255 / 0%);
328
- $colors-interactive-positive-primary-action-enabled: #0c419a;
329
- $colors-interactive-positive-primary-action-hover: #3d67ae;
330
- $colors-interactive-positive-primary-action-pressed: #9eb3d7;
331
- $colors-interactive-positive-primary-action-disabled: #dddede;
332
- $colors-interactive-negative-primary-action-enabled: #fff;
333
- $colors-interactive-negative-primary-action-hover: #ced9eb;
334
- $colors-interactive-negative-primary-action-pressed: #9eb3d7;
335
- $colors-interactive-negative-primary-action-disabled: #dddede;
336
- $colors-interactive-positive-secondary-action-enabled: rgb(255 255 255 / 0%);
337
- $colors-interactive-positive-secondary-action-hover: #e7ecf5;
338
- $colors-interactive-positive-secondary-action-pressed: #ced9eb;
339
- $colors-interactive-positive-secondary-action-disabled: rgb(255 255 255 / 0%);
340
- $colors-interactive-negative-secondary-action-enabled: rgb(255 255 255 / 0%);
341
- $colors-interactive-negative-secondary-action-hover: rgb(255 255 255 / 8%);
342
- $colors-interactive-negative-secondary-action-pressed: rgb(255 255 255 / 20%);
343
- $colors-interactive-negative-secondary-action-disabled: rgb(255 255 255 / 0%);
344
- $padding-0: 0;
345
- $padding-2: 8px;
346
- $padding-3: 12px;
347
- $padding-4: 16px;
348
- $padding-6: 24px;
349
- $padding-8: 32px;
350
- $padding-10: 40px;
351
- $padding-14: 56px;
352
- $padding-16: 64px;
353
- $heading-1-font-size: 24px;
354
- $heading-2-font-size: 20px;
355
- $heading-3-font-size: 16px;
356
- $heading-4-font-size: 14px;
357
-
358
- // vertical spacing
359
-
360
- $spacing-none: 0;
361
- $spacing-xx-small: 4px;
362
- $spacing-x-small: 8px;
363
- $spacing-small: 16px;
364
- $spacing-medium: 24px;
365
- $spacing-large: 32px;
366
- $spacing-x-large: 40px;
367
- $spacing-xx-large: 56px;
368
- $spacing-xxx-large: 64px;
369
- $spacing-huge: 80px;
370
-
371
- // horizontal spacing
372
-
373
- $spacing-horizontal-none: 0;
374
- $spacing-horizontal-xx-small: 4px;
375
- $spacing-horizontal-x-small: 8px;
376
- $spacing-horizontal-small: 16px;
377
- $spacing-horizontal-medium: 24px;
378
- $spacing-horizontal-large: 32px;
379
- $spacing-horizontal-x-large: 40px;
380
- $spacing-horizontal-xx-large: 56px;
381
- $spacing-horizontal-xxx-large: 64px;
382
- $spacing-horizontal-huge: 80px;
383
-
384
- // container
385
-
386
- $container-mobile-max-width: 600px;
387
- $container-tablet-max-width: 960px;
388
- $container-desktop-max-width: 960px;
@@ -1,67 +0,0 @@
1
- import { describe, it, expect } from 'vitest'
2
- import { formatDate, parseDate } from '../useDateFormat'
3
-
4
- describe('useDateFormat', () => {
5
- describe('formatDate', () => {
6
- it('formats a Date object to string according to the specified format', () => {
7
- const date = new Date(2023, 0, 15) // 15 janvier 2023
8
- expect(formatDate(date, 'DD/MM/YYYY')).toBe('15/01/2023')
9
- expect(formatDate(date, 'YYYY-MM-DD')).toBe('2023-01-15')
10
- expect(formatDate(date, 'MM.DD.YYYY')).toBe('01.15.2023')
11
- })
12
-
13
- it('returns empty string when date is null or undefined', () => {
14
- expect(formatDate(null as unknown as Date, 'DD/MM/YYYY')).toBe('')
15
- expect(formatDate(undefined as unknown as Date, 'DD/MM/YYYY')).toBe('')
16
- })
17
-
18
- it('handles different date formats correctly', () => {
19
- const date = new Date(2023, 11, 31) // 31 décembre 2023
20
- expect(formatDate(date, 'DD/MM/YYYY')).toBe('31/12/2023')
21
- expect(formatDate(date, 'D/M/YYYY')).toBe('31/12/2023')
22
- expect(formatDate(date, 'YYYY-MM-DD')).toBe('2023-12-31')
23
- expect(formatDate(date, 'MM/DD/YYYY')).toBe('12/31/2023')
24
- })
25
-
26
- it('handles custom separators correctly', () => {
27
- const date = new Date(2023, 0, 15) // 15 janvier 2023
28
- expect(formatDate(date, 'DD.MM.YYYY')).toBe('15.01.2023')
29
- expect(formatDate(date, 'DD-MM-YYYY')).toBe('15-01-2023')
30
- expect(formatDate(date, 'YYYY/MM/DD')).toBe('2023/01/15')
31
- })
32
- })
33
-
34
- describe('parseDate', () => {
35
- it('parses a date string to a Date object according to the specified format', () => {
36
- const dateStr = '15/01/2023'
37
- const date = parseDate(dateStr, 'DD/MM/YYYY')
38
- expect(date).toBeInstanceOf(Date)
39
- expect(date?.getFullYear()).toBe(2023)
40
- expect(date?.getMonth()).toBe(0) // Janvier = 0
41
- expect(date?.getDate()).toBe(15)
42
- })
43
-
44
- it('returns null for invalid date strings', () => {
45
- expect(parseDate('invalid', 'DD/MM/YYYY')).toBeNull()
46
- expect(parseDate('31/02/2023', 'DD/MM/YYYY')).toBeNull() // 31 février n'existe pas
47
- })
48
-
49
- it('handles different date formats correctly', () => {
50
- expect(parseDate('2023-01-15', 'YYYY-MM-DD')?.getDate()).toBe(15)
51
- expect(parseDate('01/15/2023', 'MM/DD/YYYY')?.getDate()).toBe(15)
52
- expect(parseDate('15.01.2023', 'DD.MM.YYYY')?.getDate()).toBe(15)
53
- })
54
-
55
- it('returns null when input is null or empty', () => {
56
- expect(parseDate(null as unknown as string, 'DD/MM/YYYY')).toBeNull()
57
- expect(parseDate('', 'DD/MM/YYYY')).toBeNull()
58
- })
59
-
60
- it('handles leap years correctly', () => {
61
- // 2020 était une année bissextile
62
- expect(parseDate('29/02/2020', 'DD/MM/YYYY')).not.toBeNull()
63
- // 2023 n'est pas une année bissextile
64
- expect(parseDate('29/02/2023', 'DD/MM/YYYY')).toBeNull()
65
- })
66
- })
67
- })
@@ -1,110 +0,0 @@
1
- /**
2
- * Composable pour le formatage et le parsing des dates
3
- */
4
-
5
- /**
6
- * Parse une chaîne de caractères en objet Date selon un format spécifié
7
- * @param dateString - La chaîne de caractères à parser
8
- * @param format - Le format de la date (ex: 'DD/MM/YYYY')
9
- * @returns Un objet Date ou null si la chaîne n'est pas valide
10
- */
11
- export const parseDate = (dateString: string | Date | null, format: string): Date | null => {
12
- // Si dateString est null ou undefined, retourner null
13
- if (!dateString) return null
14
-
15
- // Si dateString est déjà un objet Date, le retourner directement
16
- if (dateString instanceof Date) {
17
- return dateString
18
- }
19
-
20
- // Si dateString n'est pas une chaîne de caractères, convertir en chaîne ou retourner null
21
- if (typeof dateString !== 'string') {
22
- try {
23
- dateString = String(dateString)
24
- }
25
- catch {
26
- return null
27
- }
28
- }
29
-
30
- // Créer un mapping des positions des éléments de date selon le format
31
- const separator = format.includes('/') ? '/' : format.includes('-') ? '-' : '.'
32
- const parts = format.split(separator)
33
- const dateParts = dateString.split(separator)
34
-
35
- if (parts.length !== dateParts.length) return null
36
-
37
- let day = 0, month = 0, year = 0
38
-
39
- // Extraire les valeurs selon leur position dans le format
40
- parts.forEach((part, index) => {
41
- const value = parseInt(dateParts[index]!, 10)
42
- if (isNaN(value)) return
43
-
44
- if (part.includes('DD') || part.includes('D')) day = value
45
- else if (part.includes('MM') || part.includes('M')) month = value - 1 // Les mois en JS sont 0-indexés
46
- else if (part.includes('YYYY')) year = value
47
- else if (part.includes('YY')) {
48
- // Gestion intelligente des années à 2 chiffres
49
- // Si l'année est < 50, on considère qu'elle est dans le 21ème siècle
50
- // Sinon, elle est dans le 20ème siècle
51
- year = value < 50 ? 2000 + value : 1900 + value
52
- }
53
- })
54
-
55
- // Vérifier que nous avons toutes les parties nécessaires et qu'elles sont dans des plages valides
56
- if (day < 1 || day > 31 || month < 0 || month > 11 || year < 1000 || year > 9999) return null
57
-
58
- // Créer la date à midi (12:00) pour éviter les problèmes de décalage de fuseau horaire
59
- // Cela garantit que la date reste la même lors de la conversion en UTC
60
- const date = new Date(year, month, day, 12, 0, 0)
61
-
62
- // Vérifier que la date est valide (par exemple, 31 février n'existe pas)
63
- if (date.getFullYear() !== year || date.getMonth() !== month || date.getDate() !== day) return null
64
-
65
- return date
66
- }
67
-
68
- /**
69
- * Formate une date selon un format spécifié
70
- * @param date - La date à formater
71
- * @param format - Le format de sortie (ex: 'DD/MM/YYYY')
72
- * @returns La date formatée en chaîne de caractères
73
- */
74
- export const formatDate = (date: Date, format: string): string => {
75
- if (!date) return ''
76
-
77
- // Formats de base
78
- const day = date.getDate().toString().padStart(2, '0')
79
- const month = (date.getMonth() + 1).toString().padStart(2, '0')
80
- const year = date.getFullYear().toString()
81
- const shortYear = year.slice(-2)
82
-
83
- // Formats sans padding
84
- const dayNoPad = date.getDate().toString()
85
- const monthNoPad = (date.getMonth() + 1).toString()
86
-
87
- // Remplacer les tokens dans l'ordre correct (du plus spécifique au moins spécifique)
88
- const result = format
89
- .replace(/YYYY/g, year)
90
- .replace(/YY/g, shortYear)
91
- .replace(/MM/g, month)
92
- .replace(/M/g, monthNoPad)
93
- .replace(/DD/g, day)
94
- .replace(/D/g, dayNoPad)
95
-
96
- return result
97
- }
98
-
99
- /**
100
- * Hook composable pour le formatage et le parsing des dates
101
- * @returns Fonctions de formatage et parsing de dates
102
- */
103
- export function useDateFormat() {
104
- return {
105
- parseDate,
106
- formatDate,
107
- }
108
- }
109
-
110
- export default useDateFormat
@@ -1,92 +0,0 @@
1
- /**
2
- * Composable pour l'initialisation des dates dans le CalendarMode
3
- */
4
- import { parseDate } from './useDateFormat'
5
-
6
- // Types
7
- export type DateValue = string | [string, string] | null
8
- export type DateInput = string | string[] | null | object
9
-
10
- /**
11
- * Initialise les dates sélectionnées à partir d'une valeur d'entrée
12
- * @param modelValue - La valeur d'entrée (peut être une chaîne, un tableau, null ou un objet)
13
- * @param displayFormat - Le format d'affichage des dates
14
- * @param returnFormat - Le format de retour des dates (optionnel)
15
- * @returns Une date, un tableau de dates ou null
16
- */
17
- export const initializeSelectedDates = (
18
- modelValue: DateInput | null,
19
- displayFormat: string,
20
- returnFormat: string = '',
21
- ): Date | Date[] | null => {
22
- if (!modelValue) return null
23
-
24
- // Déterminer le format à utiliser pour l'analyse
25
- const parseFormat = returnFormat || displayFormat
26
-
27
- if (Array.isArray(modelValue)) {
28
- if (modelValue.length >= 2) {
29
- // Essayer d'abord avec le format de retour, puis avec le format d'affichage
30
- let dates = [parseDate(modelValue[0], parseFormat), parseDate(modelValue[1], parseFormat)]
31
-
32
- // Si l'une des dates est invalide avec le format de retour, essayer avec le format d'affichage
33
- if (dates.some(date => date === null) && returnFormat) {
34
- dates = [parseDate(modelValue[0], displayFormat), parseDate(modelValue[1], displayFormat)]
35
- }
36
-
37
- // Vérifie si l'une des dates est toujours invalide
38
- if (dates.some(date => date === null)) {
39
- return []
40
- }
41
-
42
- // Vérifie si la première date est après la seconde
43
- if (dates[0] && dates[1] && dates[0] > dates[1]) {
44
- return []
45
- }
46
-
47
- // Filtrer les dates nulles et convertir en tableau de Date
48
- return dates.filter((date): date is Date => date !== null)
49
- }
50
-
51
- if (modelValue.length === 1) {
52
- // Essayer d'abord avec le format de retour, puis avec le format d'affichage
53
- let date = parseDate(modelValue[0], parseFormat)
54
-
55
- // Si la date est invalide avec le format de retour, essayer avec le format d'affichage
56
- if (date === null && returnFormat) {
57
- date = parseDate(modelValue[0], displayFormat)
58
- }
59
-
60
- return date === null ? [] : [date]
61
- }
62
-
63
- return []
64
- }
65
-
66
- // Si modelValue est un objet, on le convertit en chaîne
67
- if (typeof modelValue === 'object') {
68
- return null
69
- }
70
-
71
- // Essayer d'abord avec le format de retour, puis avec le format d'affichage
72
- let date = parseDate(modelValue, parseFormat)
73
-
74
- // Si la date est invalide avec le format de retour, essayer avec le format d'affichage
75
- if (date === null && returnFormat) {
76
- date = parseDate(modelValue, displayFormat)
77
- }
78
-
79
- return date === null ? null : date
80
- }
81
-
82
- /**
83
- * Hook composable pour l'initialisation des dates
84
- * @returns Fonction d'initialisation des dates
85
- */
86
- export function useDateInitialization() {
87
- return {
88
- initializeSelectedDates,
89
- }
90
- }
91
-
92
- export default useDateInitialization