@cnamts/synapse 1.0.5 → 1.0.7

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 (364) hide show
  1. package/dist/{DateFilter-BQpRKTju.js → DateFilter-CHDLz2EO.js} +1 -1
  2. package/dist/{NumberFilter-BykSKt2D.js → NumberFilter-DXNQ4Uls.js} +1 -1
  3. package/dist/{PeriodFilter-Cks6NygV.js → PeriodFilter-C8Qf3Jcn.js} +1 -1
  4. package/dist/{SelectFilter-DEL5dHd_.js → SelectFilter-B2Ejs4Cb.js} +1 -1
  5. package/dist/{TextFilter-0RAFj7Oe.js → TextFilter-CfR5_A1S.js} +1 -1
  6. package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordion.d.ts +103 -0
  7. package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.d.ts +105 -0
  8. package/dist/components/Amelipro/AmeliproAccordionGroup/AmeliproAccordionGroup.d.ts +116 -0
  9. package/dist/components/Amelipro/AmeliproAccordionGroup/types.d.ts +4 -0
  10. package/dist/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.d.ts +220 -0
  11. package/dist/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.d.ts +68 -0
  12. package/dist/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/AmeliproAccordionResultTemplate.d.ts +70 -0
  13. package/dist/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.d.ts +204 -0
  14. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +26 -26
  15. package/dist/components/Amelipro/AmeliproBadge/AmeliproBadge.d.ts +59 -0
  16. package/dist/components/Amelipro/AmeliproBtn/AmeliproBtn.d.ts +3 -3
  17. package/dist/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.d.ts +132 -0
  18. package/dist/components/Amelipro/AmeliproCaptcha/types.d.ts +5 -0
  19. package/dist/components/Amelipro/AmeliproCard/AmeliproCard.d.ts +3 -3
  20. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +214 -0
  21. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/AmeliproCarouselItem.d.ts +70 -0
  22. package/dist/components/Amelipro/AmeliproCarousel/types.d.ts +7 -0
  23. package/dist/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.d.ts +125 -0
  24. package/dist/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.d.ts +126 -0
  25. package/dist/components/Amelipro/AmeliproCustomSelector/types.d.ts +6 -0
  26. package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +1 -1
  27. package/dist/components/Amelipro/AmeliproIllustratedDataTile/AmeliproIllustratedDataTile.d.ts +3 -3
  28. package/dist/components/Amelipro/AmeliproMultipleFoldingCard/AmeliproMultipleFoldingCard.d.ts +1 -1
  29. package/dist/components/Amelipro/AmeliproResultList/AmeliproResultList.d.ts +164 -0
  30. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +27 -27
  31. package/dist/components/Amelipro/AmeliproStateTile/AmeliproStateTile.d.ts +1 -1
  32. package/dist/components/Amelipro/AmeliproTable/AmeliproTable.d.ts +190 -0
  33. package/dist/components/Amelipro/AmeliproTable/types.d.ts +34 -0
  34. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +32 -32
  35. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +6 -6
  36. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +7 -7
  37. package/dist/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.d.ts +2 -2
  38. package/dist/components/Amelipro/AmeliproTooltips/AmeliproTooltips.d.ts +2 -2
  39. package/dist/components/Amelipro/types.d.ts +6 -0
  40. package/dist/components/ChipList/ChipList.d.ts +4 -0
  41. package/dist/components/ChipList/locales.d.ts +4 -2
  42. package/dist/components/CookieBanner/CookieBanner.d.ts +1 -1
  43. package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +8 -8
  44. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +454 -8
  45. package/dist/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.d.ts +6 -1
  46. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +2 -0
  47. package/dist/components/Customs/SyTabs/SyTabs.d.ts +71 -0
  48. package/dist/components/Customs/SyTabs/config.d.ts +17 -0
  49. package/dist/components/Customs/SyTabs/types.d.ts +11 -0
  50. package/dist/components/Customs/SyTextField/SyTextField.d.ts +12 -10
  51. package/dist/components/DataList/DataList.d.ts +10 -1
  52. package/dist/components/DataListGroup/DataListGroup.d.ts +10 -1
  53. package/dist/components/DataListItem/DataListItem.d.ts +1 -1
  54. package/dist/components/DataListItem/config.d.ts +1 -1
  55. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +4825 -244
  56. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +58 -29
  57. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +28 -10
  58. package/dist/components/DatePicker/composables/useDateInputEditing.d.ts +18 -8
  59. package/dist/components/DatePicker/composables/useKeyboardEvents.d.ts +41 -0
  60. package/dist/components/DatePicker/composables/useManualDateValidation.d.ts +4 -9
  61. package/dist/components/DatePicker/composables/useTodayButton.d.ts +1 -0
  62. package/dist/components/DatePicker/utils/dateFormattingUtils.d.ts +72 -0
  63. package/dist/components/DatePicker/utils/validationUtils.d.ts +38 -0
  64. package/dist/components/DialogBox/DialogBox.d.ts +219 -0
  65. package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.d.ts +9 -3
  66. package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.d.ts +6 -1
  67. package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.d.ts +11 -1
  68. package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.d.ts +11 -1
  69. package/dist/components/HeaderBar/HeaderBurgerMenu/locals.d.ts +2 -0
  70. package/dist/components/HeaderBar/HeaderBurgerMenu/useMenuPosition.d.ts +4 -0
  71. package/dist/components/HeaderLoading/HeaderLoading.d.ts +27 -0
  72. package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +110 -3
  73. package/dist/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.d.ts +19 -1
  74. package/dist/components/LangBtn/LangBtn.d.ts +2 -2
  75. package/dist/components/NirField/NirField.d.ts +30 -20
  76. package/dist/components/PeriodField/PeriodField.d.ts +10949 -1783
  77. package/dist/components/PhoneField/PhoneField.d.ts +1866 -2
  78. package/dist/components/PhoneField/indicatifs.d.ts +1 -0
  79. package/dist/components/PhoneField/locales.d.ts +1 -0
  80. package/dist/components/RangeField/RangeField.d.ts +1 -1
  81. package/dist/components/RangeField/RangeSlider/RangeSlider.d.ts +1 -1
  82. package/dist/components/SubHeader/SubHeader.d.ts +8 -0
  83. package/dist/components/SubHeader/locales.d.ts +1 -0
  84. package/dist/components/SyTextArea/SyTextArea.d.ts +6 -6
  85. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +5 -4
  86. package/dist/components/Tables/SyTable/SyTable.d.ts +5 -4
  87. package/dist/components/Tables/common/SyTablePagination.d.ts +458 -7
  88. package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +2 -2
  89. package/dist/components/Tables/common/types.d.ts +2 -0
  90. package/dist/components/index.d.ts +13 -0
  91. package/dist/composables/index.d.ts +1 -0
  92. package/dist/composables/usePagination.d.ts +16 -0
  93. package/dist/design-system-v3.js +174 -160
  94. package/dist/design-system-v3.umd.cjs +290 -281
  95. package/dist/directives/lockFocus.d.ts +17 -0
  96. package/dist/{main-Co2P_lBt.js → main-C66C1BkG.js} +14406 -11554
  97. package/dist/style.css +1 -1
  98. package/package.json +4 -1
  99. package/src/assets/amelipro/apTheme.scss +149 -0
  100. package/src/assets/amelipro/apTokens.scss +0 -148
  101. package/src/assets/amelipro/icons.ts +38 -11
  102. package/src/assets/overrides/_btns.scss +15 -0
  103. package/src/assets/overrides/_container.scss +36 -0
  104. package/src/assets/overrides/_forms.scss +7 -0
  105. package/src/assets/{_spacers.scss → overrides/_spacers.scss} +0 -7
  106. package/src/assets/overrides/_tables.scss +18 -0
  107. package/src/assets/overrides/_tooltips.scss +10 -0
  108. package/src/assets/overrides/_typography.scss +196 -0
  109. package/src/assets/settings.scss +11 -51
  110. package/src/assets/themes.scss +10 -0
  111. package/src/assets/tokens.scss +9 -156
  112. package/src/components/Accordion/composables/__tests__/useAccordionGroupCommunication.spec.ts +80 -40
  113. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.mdx +15 -0
  114. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.stories.ts +83 -0
  115. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.vue +86 -0
  116. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.vue +242 -0
  117. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/AmeliproAccordionTemplate.spec.ts +20 -0
  118. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/__snapshots__/AmeliproAccordionTemplate.spec.ts.snap +124 -0
  119. package/src/components/Amelipro/AmeliproAccordion/__tests__/AmeliproAccordion.spec.ts +20 -0
  120. package/src/components/Amelipro/AmeliproAccordion/__tests__/__snapshots__/AmeliproAccordion.spec.ts.snap +124 -0
  121. package/src/components/Amelipro/AmeliproAccordionGroup/AmeliproAccordionGroup.mdx +20 -0
  122. package/src/components/Amelipro/AmeliproAccordionGroup/AmeliproAccordionGroup.stories.ts +135 -0
  123. package/src/components/Amelipro/AmeliproAccordionGroup/AmeliproAccordionGroup.vue +107 -0
  124. package/src/components/Amelipro/AmeliproAccordionGroup/__tests__/AmeliproAccordionGroup.spec.ts +37 -0
  125. package/src/components/Amelipro/AmeliproAccordionGroup/__tests__/__snapshots__/AmeliproAccordionGroup.spec.ts.snap +513 -0
  126. package/src/components/Amelipro/AmeliproAccordionGroup/types.d.ts +4 -0
  127. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.mdx +16 -0
  128. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.stories.ts +300 -0
  129. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +288 -0
  130. package/src/components/Amelipro/AmeliproAccordionList/__tests__/AmeliproAccordionList.spec.ts +38 -0
  131. package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +1712 -0
  132. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.mdx +19 -0
  133. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.stories.ts +68 -0
  134. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.vue +66 -0
  135. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/AmeliproAccordionResultTemplate.vue +145 -0
  136. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/__tests__/AmeliproAccordionResultTemplate.spec.ts +24 -0
  137. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/__tests__/__snapshots__/AmeliproAccordionResultTemplate.spec.ts.snap +127 -0
  138. package/src/components/Amelipro/AmeliproAccordionResult/__tests__/AmeliproAccordionResult.spec.ts +24 -0
  139. package/src/components/Amelipro/AmeliproAccordionResult/__tests__/__snapshots__/AmeliproAccordionResult.spec.ts.snap +123 -0
  140. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.mdx +20 -0
  141. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.stories.ts +273 -0
  142. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +275 -0
  143. package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/AmeliproAccordionResultList.spec.ts +38 -0
  144. package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +1593 -0
  145. package/src/components/Amelipro/AmeliproBadge/AmeliproBadge.mdx +15 -0
  146. package/src/components/Amelipro/AmeliproBadge/AmeliproBadge.stories.ts +54 -0
  147. package/src/components/Amelipro/AmeliproBadge/AmeliproBadge.vue +76 -0
  148. package/src/components/Amelipro/AmeliproBadge/__tests__/AmeliproBadge.spec.ts +20 -0
  149. package/src/components/Amelipro/AmeliproBadge/__tests__/__snapshots__/AmeliproBadge.spec.ts.snap +19 -0
  150. package/src/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.mdx +15 -0
  151. package/src/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.stories.ts +87 -0
  152. package/src/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.vue +233 -0
  153. package/src/components/Amelipro/AmeliproCaptcha/__tests__/AmeliproCaptcha.spec.ts +24 -0
  154. package/src/components/Amelipro/AmeliproCaptcha/__tests__/__snapshots__/AmeliproCaptcha.spec.ts.snap +384 -0
  155. package/src/components/Amelipro/AmeliproCaptcha/types.d.ts +5 -0
  156. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarousel.mdx +15 -0
  157. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarousel.stories.ts +191 -0
  158. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarousel.vue +263 -0
  159. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/AmeliproCarouselItem.vue +93 -0
  160. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/__tests__/AmeliproCarouselItem.spec.ts +24 -0
  161. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/__tests__/__snapshots__/AmeliproCarouselItem.spec.ts.snap +43 -0
  162. package/src/components/Amelipro/AmeliproCarousel/__tests__/AmeliproCarousel.spec.ts +40 -0
  163. package/src/components/Amelipro/AmeliproCarousel/__tests__/__snapshots__/AmeliproCarousel.spec.ts.snap +342 -0
  164. package/src/components/Amelipro/AmeliproCarousel/types.d.ts +8 -0
  165. package/src/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.mdx +18 -0
  166. package/src/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.stories.ts +67 -0
  167. package/src/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.vue +233 -0
  168. package/src/components/Amelipro/AmeliproClickableTile/tests/AmeliproClickableTile.spec.ts +21 -0
  169. package/src/components/Amelipro/AmeliproClickableTile/tests/__snapshots__/AmeliproClickableTile.spec.ts.snap +140 -0
  170. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.mdx +15 -0
  171. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.stories.ts +143 -0
  172. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.vue +351 -0
  173. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/AmeliproCustomSelector.spec.ts +50 -0
  174. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/__snapshots__/AmeliproCustomSelector.spec.ts.snap +186 -0
  175. package/src/components/Amelipro/AmeliproCustomSelector/types.d.ts +6 -0
  176. package/src/components/Amelipro/AmeliproHeader/AmeliproHeader.vue +7 -1
  177. package/src/components/Amelipro/AmeliproHeader/tests/__snapshots__/AmeliproHeader.spec.ts.snap +5 -711
  178. package/src/components/Amelipro/AmeliproIcon/iconList.ts +6 -0
  179. package/src/components/Amelipro/AmeliproPageLayout/tests/__snapshots__/AmeliproPageLayout.spec.ts.snap +5 -711
  180. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.mdx +15 -0
  181. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.stories.ts +264 -0
  182. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.vue +231 -0
  183. package/src/components/Amelipro/AmeliproResultList/__tests__/AmeliproResultList.spec.ts +37 -0
  184. package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +434 -0
  185. package/src/components/Amelipro/AmeliproTable/AmeliproTable.mdx +22 -0
  186. package/src/components/Amelipro/AmeliproTable/AmeliproTable.stories.ts +550 -0
  187. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +422 -0
  188. package/src/components/Amelipro/AmeliproTable/__tests__/AmeliproTable.spec.ts +72 -0
  189. package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +424 -0
  190. package/src/components/Amelipro/AmeliproTable/types.d.ts +34 -0
  191. package/src/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.stories.ts +2 -2
  192. package/src/components/Amelipro/ServiceMenu/ServiceMenu.vue +12 -1
  193. package/src/components/Amelipro/ServiceMenu/tests/__snapshots__/ServiceMenu.spec.ts.snap +0 -820
  194. package/src/components/Amelipro/types.ts +8 -0
  195. package/src/components/ChipList/Accessibilite.stories.ts +4 -0
  196. package/src/components/ChipList/ChipList.vue +185 -42
  197. package/src/components/ChipList/locales.ts +4 -2
  198. package/src/components/ChipList/tests/chipList.spec.ts +7 -4
  199. package/src/components/CollapsibleList/CollapsibleList.vue +0 -2
  200. package/src/components/CookieBanner/CookieBanner.vue +1 -3
  201. package/src/components/CopyBtn/CopyBtn.vue +9 -2
  202. package/src/components/CopyBtn/tests/CopyBtn.spec.ts +3 -1
  203. package/src/components/Customs/Selects/SelectOverview.mdx +18 -15
  204. package/src/components/Customs/Selects/SyBtnSelect/SyBtnSelect.stories.ts +10 -10
  205. package/src/components/Customs/Selects/SySelect/Accessibilite.mdx +7 -0
  206. package/src/components/Customs/Selects/SySelect/Accessibilite.stories.ts +4 -1
  207. package/src/components/Customs/Selects/SySelect/SySelect.stories.ts +92 -4
  208. package/src/components/Customs/Selects/SySelect/SySelect.vue +373 -56
  209. package/src/components/Customs/Selects/SySelect/composables/tests/useSySelectKeyboard.spec.ts +14 -5
  210. package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +129 -12
  211. package/src/components/Customs/SyCheckbox/SyCheckbox.mdx +3 -1
  212. package/src/components/Customs/SyCheckbox/SyCheckbox.stories.ts +165 -0
  213. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +28 -9
  214. package/src/components/Customs/SyIcon/SyIcon.spec.ts +3 -0
  215. package/src/components/Customs/SyTabs/Accessibilite.mdx +309 -0
  216. package/src/components/Customs/SyTabs/SyTabs.mdx +117 -0
  217. package/src/components/Customs/SyTabs/SyTabs.stories.ts +354 -0
  218. package/src/components/Customs/SyTabs/SyTabs.vue +350 -0
  219. package/src/components/Customs/SyTabs/config.ts +17 -0
  220. package/src/components/Customs/SyTabs/tests/SyTabs.spec.ts +425 -0
  221. package/src/components/Customs/SyTabs/types.ts +12 -0
  222. package/src/components/Customs/SyTextField/Accessibilite.stories.ts +3 -1
  223. package/src/components/Customs/SyTextField/SyTextField.mdx +3 -0
  224. package/src/components/Customs/SyTextField/SyTextField.stories.ts +221 -7
  225. package/src/components/Customs/SyTextField/SyTextField.vue +226 -29
  226. package/src/components/DataList/Accessibilite.stories.ts +4 -0
  227. package/src/components/DataList/DataList.vue +52 -47
  228. package/src/components/DataListGroup/Accessibilite.stories.ts +4 -0
  229. package/src/components/DataListGroup/DataListGroup.vue +32 -15
  230. package/src/components/DataListItem/DataListItem.vue +72 -65
  231. package/src/components/DataListItem/config.ts +1 -1
  232. package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +3 -3
  233. package/src/components/DatePicker/CalendarMode/DatePicker.vue +59 -18
  234. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +174 -0
  235. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +421 -636
  236. package/src/components/DatePicker/DatePickerValidationExample/CalendarMode.stories.ts +215 -0
  237. package/src/components/DatePicker/DatePickerValidationExample/ComplexDatePicker.stories.ts +218 -0
  238. package/src/components/DatePicker/DatePickerValidationExample/DatePickerValidation.mdx +2 -0
  239. package/src/components/DatePicker/DatePickerValidationExample/DatePickerValidation.stories.ts +287 -1
  240. package/src/components/DatePicker/DatePickerValidationExample/DateTextInput.stories.ts +218 -0
  241. package/src/components/DatePicker/DatePickerValidationExample/MultiMode.stories.ts +281 -0
  242. package/src/components/DatePicker/DateTextInput/DateRange.stories.ts +1 -1
  243. package/src/components/DatePicker/DateTextInput/DateTextInput.events.spec.ts +17 -4
  244. package/src/components/DatePicker/DateTextInput/DateTextInput.range.spec.ts +111 -18
  245. package/src/components/DatePicker/DateTextInput/DateTextInput.spec.ts +238 -6
  246. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +716 -759
  247. package/src/components/DatePicker/composables/tests/useDateInputEditing.spec.ts +4 -4
  248. package/src/components/DatePicker/composables/tests/useDisplayedDateString.spec.ts +17 -10
  249. package/src/components/DatePicker/composables/tests/useManualDateValidation.spec.ts +11 -3
  250. package/src/components/DatePicker/composables/useDateInputEditing.ts +119 -225
  251. package/src/components/DatePicker/composables/useDisplayedDateString.ts +18 -4
  252. package/src/components/DatePicker/composables/useKeyboardEvents.ts +149 -0
  253. package/src/components/DatePicker/composables/useManualDateValidation.ts +27 -68
  254. package/src/components/DatePicker/composables/useTodayButton.ts +13 -1
  255. package/src/components/DatePicker/utils/dateFormattingUtils.ts +293 -0
  256. package/src/components/DatePicker/utils/validationUtils.ts +90 -0
  257. package/src/components/DialogBox/Accessibilite.stories.ts +4 -0
  258. package/src/components/DialogBox/DialogBox.stories.ts +22 -10
  259. package/src/components/DialogBox/DialogBox.vue +89 -22
  260. package/src/components/DialogBox/tests/DialogBox.spec.ts +22 -0
  261. package/src/components/DialogBox/tests/__snapshots__/DialogBox.spec.ts.snap +12 -6
  262. package/src/components/FileUpload/tests/FileUpload.spec.ts +3 -0
  263. package/src/components/FooterBar/FooterBar.vue +1 -0
  264. package/src/components/HeaderBar/Accessibilite.stories.ts +4 -0
  265. package/src/components/HeaderBar/HeaderBar.mdx +47 -22
  266. package/src/components/HeaderBar/HeaderBar.stories.ts +54 -13
  267. package/src/components/HeaderBar/HeaderBar.vue +2 -1
  268. package/src/components/HeaderBar/HeaderBurgerMenu/Accessibilite.stories.ts +4 -0
  269. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.stories.ts +160 -82
  270. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.vue +41 -56
  271. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.vue +10 -3
  272. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.vue +41 -18
  273. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/tests/HeaderMenuSection.spec.ts +7 -2
  274. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.stories.ts +36 -9
  275. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.vue +41 -9
  276. package/src/components/HeaderBar/HeaderBurgerMenu/locals.ts +2 -0
  277. package/src/components/HeaderBar/HeaderBurgerMenu/tests/HeaderBurgerMenu.spec.ts +1 -1
  278. package/src/components/HeaderBar/HeaderBurgerMenu/tests/__snapshots__/HeaderBurgerMenu.spec.ts.snap +8 -3
  279. package/src/components/HeaderBar/HeaderBurgerMenu/useMenuPosition.ts +50 -0
  280. package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +5 -5
  281. package/src/components/HeaderBar/HeaderMenuBtn/HeaderMenuBtn.vue +7 -4
  282. package/src/components/HeaderBar/locales.ts +1 -1
  283. package/src/components/HeaderBar/tests/__snapshots__/HeaderBar.spec.ts.snap +2 -1
  284. package/src/components/HeaderLoading/Accessibilite.mdx +429 -8
  285. package/src/components/HeaderLoading/Accessibilite.stories.ts +4 -0
  286. package/src/components/HeaderLoading/HeaderLoading.vue +59 -1
  287. package/src/components/HeaderNavigationBar/HeaderNavigationBar.mdx +17 -2
  288. package/src/components/HeaderNavigationBar/HeaderNavigationBar.stories.ts +91 -2
  289. package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +37 -1
  290. package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +276 -21
  291. package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.ts +4 -2
  292. package/src/components/LangBtn/LangBtn.vue +0 -3
  293. package/src/components/LogoBrandSection/Accessibilite.stories.ts +4 -1
  294. package/src/components/LogoBrandSection/LogoBrandSection.stories.ts +2 -2
  295. package/src/components/LogoBrandSection/LogoBrandSection.vue +13 -8
  296. package/src/components/LogoBrandSection/locales.ts +1 -1
  297. package/src/components/LogoBrandSection/tests/LogoBrandSection.spec.ts +1 -1
  298. package/src/components/LogoBrandSection/tests/__snapshots__/LogoBrandSection.spec.ts.snap +6 -4
  299. package/src/components/NirField/NirField.mdx +3 -0
  300. package/src/components/NirField/NirField.vue +15 -6
  301. package/src/components/NirField/tests/NirField.spec.ts +159 -12
  302. package/src/components/PasswordField/PasswordField.mdx +3 -0
  303. package/src/components/PeriodField/PeriodField.mdx +2 -0
  304. package/src/components/PeriodField/PeriodField.stories.ts +195 -0
  305. package/src/components/PhoneField/Accessibilite.stories.ts +4 -0
  306. package/src/components/PhoneField/PhoneField.mdx +3 -1
  307. package/src/components/PhoneField/PhoneField.stories.ts +285 -1
  308. package/src/components/PhoneField/PhoneField.vue +228 -95
  309. package/src/components/PhoneField/indicatifs.ts +102 -102
  310. package/src/components/PhoneField/locales.ts +1 -0
  311. package/src/components/PhoneField/tests/PhoneField.spec.ts +429 -2
  312. package/src/components/SkipLink/SkipLink.vue +3 -31
  313. package/src/components/SkipLink/tests/skipLink.spec.ts +0 -21
  314. package/src/components/SubHeader/Accessibilite.stories.ts +8 -0
  315. package/src/components/SubHeader/SubHeader.mdx +1 -0
  316. package/src/components/SubHeader/SubHeader.stories.ts +179 -60
  317. package/src/components/SubHeader/SubHeader.vue +45 -15
  318. package/src/components/SubHeader/locales.ts +1 -0
  319. package/src/components/SyAlert/SyAlert.vue +6 -0
  320. package/src/components/Tables/SyServerTable/SyServerTable.mdx +3 -10
  321. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +242 -0
  322. package/src/components/Tables/SyServerTable/SyServerTable.vue +29 -10
  323. package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +104 -6
  324. package/src/components/Tables/SyTable/SyTable.mdx +3 -10
  325. package/src/components/Tables/SyTable/SyTable.stories.ts +242 -0
  326. package/src/components/Tables/SyTable/SyTable.vue +2 -0
  327. package/src/components/Tables/common/SyTablePagination.vue +13 -6
  328. package/src/components/Tables/common/TableHeader.vue +10 -7
  329. package/src/components/Tables/common/tableAccessibilityUtils.ts +13 -2
  330. package/src/components/Tables/common/tests/SyTablePagination.spec.ts +157 -0
  331. package/src/components/Tables/common/types.ts +2 -0
  332. package/src/components/Tables/common/useTableAria.ts +17 -1
  333. package/src/components/UserMenuBtn/tests/UserMenuBtn.spec.ts +2 -1
  334. package/src/components/index.ts +13 -0
  335. package/src/composables/date/tests/useDatePickerAccessibility.spec.ts +34 -5
  336. package/src/composables/index.ts +3 -0
  337. package/src/composables/useFilterable/useFilterable.ts +23 -1
  338. package/src/composables/usePagination.ts +103 -0
  339. package/src/designTokens/tokens/amelipro/apColors.ts +1 -1
  340. package/src/designTokens/tokens/cnam/cnamSemantic.ts +3 -3
  341. package/src/directives/lockFocus.ts +48 -0
  342. package/src/main.ts +1 -2
  343. package/src/stories/Accessibilite/Aculturation/SensibilisationAccessibilite.mdx +1 -8
  344. package/src/stories/Accessibilite/{Aculturation/AuditDesignSystem.mdx → AuditDesignSystem.mdx} +1 -1
  345. package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru/FauxPositifs.mdx +102 -0
  346. package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru/FauxPositifs.stories.ts +219 -0
  347. package/src/stories/Accessibilite/KitDePreAudit/Outils/{Tanaguru.mdx → Tanaguru/Utilisation.mdx} +1 -1
  348. package/src/stories/Components/Components.stories.ts +1 -1
  349. package/src/stories/DesignTokens/ColorIntegrationExample.vue +43 -0
  350. package/src/stories/DesignTokens/Colors.mdx +2 -0
  351. package/src/stories/DesignTokens/colors.stories.ts +9 -0
  352. package/src/stories/GuideDuDev/FormValidationGuide.mdx +342 -0
  353. package/src/stories/Templates/Templates.stories.ts +1 -1
  354. package/src/utils/functions/ameliproColors/ameliproColors.ts +1 -1
  355. package/src/vuetifyConfig.ts +3 -3
  356. package/dist/components/DataList/locales.d.ts +0 -3
  357. package/dist/directives/letterSpacing.d.ts +0 -27
  358. package/src/assets/_fonts.scss +0 -6
  359. package/src/assets/_typography.scss +0 -157
  360. package/src/components/DataList/locales.ts +0 -3
  361. package/src/components/PhoneField/tests/PhoneField.additional.spec.ts +0 -266
  362. package/src/directives/letterSpacing.ts +0 -233
  363. /package/src/assets/{_elevations.scss → overrides/_elevations.scss} +0 -0
  364. /package/src/assets/{_radius.scss → overrides/_radius.scss} +0 -0
@@ -1,4 +1,4 @@
1
- import { type Meta, type StoryFn } from '@storybook/vue3'
1
+ import type { Meta, StoryFn } from '@storybook/vue3'
2
2
  import DatePickerValidationExamples from '../docExamples/DatePickerValidationExamples.vue'
3
3
  import DatePickerBidirectionalValidation from '../docExamples/DatePickerBidirectionalValidation.vue'
4
4
 
@@ -22,9 +22,295 @@ export const ValidationExamples: StoryFn = () => ({
22
22
  template: '<DatePickerValidationExamples />',
23
23
  })
24
24
 
25
+ ValidationExamples.parameters = {
26
+ sourceCode: [
27
+ {
28
+ name: 'Template',
29
+ code: `
30
+ <template>
31
+ <div class="date-picker-validation-examples">
32
+ <h1 class="text-h5 mb-6">
33
+ Exemples de validation du DatePicker
34
+ </h1>
35
+
36
+ <!-- Exemple 1: Validation de base (required) -->
37
+ <section class="mb-10">
38
+ <h2 class="text-h6 mb-3">
39
+ Validation de base (required)
40
+ </h2>
41
+ <div class="mb-2">
42
+ <DatePicker
43
+ v-model="date1"
44
+ placeholder="Date requise"
45
+ required
46
+ />
47
+ </div>
48
+ <v-btn
49
+ size="small"
50
+ color="primary"
51
+ @click="date1 = ''"
52
+ >
53
+ Vider le champ
54
+ </v-btn>
55
+ <v-btn
56
+ size="small"
57
+ class="ml-2"
58
+ @click="date1 = today"
59
+ >
60
+ Remplir le champ
61
+ </v-btn>
62
+ <div class="mt-2">
63
+ Valeur actuelle: {{ date1 }}
64
+ </div>
65
+ </section>
66
+
67
+ <!-- Autres exemples de validation -->
68
+ </div>
69
+ </template>
70
+ `,
71
+ },
72
+ {
73
+ name: 'Script',
74
+ code: `
75
+ <script setup>
76
+ import { ref } from 'vue'
77
+ import DatePicker from '@/components/DatePicker/CalendarMode/DatePicker.vue'
78
+
79
+ // Exemple 1: Validation de base (required)
80
+ const date1 = ref('')
81
+
82
+ // Exemple 2: notWeekend
83
+ const date2 = ref('')
84
+
85
+ // Exemple 3: notAfterToday
86
+ const date3 = ref('')
87
+
88
+ // Exemple 4: notBeforeToday
89
+ const date4 = ref('')
90
+
91
+ // Exemple 5: notBeforeDate
92
+ const date5 = ref('')
93
+
94
+ // Exemple 6: notAfterDate
95
+ const date6 = ref('')
96
+
97
+ // Exemple 7: dateExact
98
+ const date7 = ref('')
99
+
100
+ // Exemple 8: customRules (règle personnalisée)
101
+ const date8 = ref('')
102
+
103
+ // Exemple 9: customWarningRules
104
+ const date9 = ref('')
105
+
106
+ // Exemple 10: Combinaison de plusieurs règles
107
+ const date10 = ref('')
108
+
109
+ const today = new Date().toLocaleDateString('fr-FR', {
110
+ day: '2-digit',
111
+ month: '2-digit',
112
+ year: 'numeric',
113
+ })
114
+ const tomorrow = new Date(Date.now() + 86400000).toLocaleDateString('fr-FR', {
115
+ day: '2-digit',
116
+ month: '2-digit',
117
+ year: 'numeric',
118
+ })
119
+ const yesterday = new Date(Date.now() - 86400000).toLocaleDateString('fr-FR', {
120
+ day: '2-digit',
121
+ month: '2-digit',
122
+ year: 'numeric',
123
+ })
124
+ </script>
125
+ `,
126
+ },
127
+ ],
128
+ }
129
+
25
130
  export const BidirectionalValidation: StoryFn = () => ({
26
131
  components: {
27
132
  DatePickerBidirectionalValidation,
28
133
  },
29
134
  template: '<DatePickerBidirectionalValidation />',
30
135
  })
136
+
137
+ BidirectionalValidation.parameters = {
138
+ sourceCode: [
139
+ {
140
+ name: 'Template',
141
+ code: `
142
+ <template>
143
+ <div class="date-picker-bidirectional-validation">
144
+ <h1 class="text-h5 mb-6">
145
+ Validation bidirectionnelle entre deux DatePickers
146
+ </h1>
147
+
148
+ <div class="text-body-2 mb-4">
149
+ Ce composant démontre la validation bidirectionnelle entre deux DatePickers. Les règles de validation sont appliquées dans les deux sens :
150
+ <ul class="ml-4">
151
+ <li>La date de fin doit être postérieure ou égale à la date de début</li>
152
+ <li>La date de début doit être antérieure ou égale à la date de fin</li>
153
+ <li>Lorsque la date de début change, la validation de la date de fin est mise à jour</li>
154
+ <li>Lorsque la date de fin change, la validation de la date de début est mise à jour</li>
155
+ </ul>
156
+ </div>
157
+
158
+ <div class="date-range-container mb-6">
159
+ <div class="date-picker-wrapper">
160
+ <h3 class="text-subtitle-1 mb-2">
161
+ Date de début
162
+ </h3>
163
+ <DatePicker
164
+ ref="startDatePickerRef"
165
+ v-model="startDate"
166
+ placeholder="Date de début"
167
+ :custom-rules="startDateRules"
168
+ required
169
+ @update:model-value="validateEndDate"
170
+ />
171
+ </div>
172
+ <div class="date-picker-wrapper">
173
+ <h3 class="text-subtitle-1 mb-2">
174
+ Date de fin
175
+ </h3>
176
+ <DatePicker
177
+ ref="endDatePickerRef"
178
+ v-model="endDate"
179
+ placeholder="Date de fin"
180
+ :custom-rules="endDateRules"
181
+ required
182
+ @update:model-value="validateStartDate"
183
+ />
184
+ </div>
185
+ </div>
186
+
187
+ <div class="actions mb-4">
188
+ <v-btn
189
+ size="small"
190
+ color="primary"
191
+ class="mr-2"
192
+ @click="resetDates"
193
+ >
194
+ Réinitialiser
195
+ </v-btn>
196
+
197
+ <v-btn
198
+ size="small"
199
+ color="success"
200
+ class="mr-2"
201
+ @click="setTestDates"
202
+ >
203
+ Dates valides
204
+ </v-btn>
205
+
206
+ <v-btn
207
+ size="small"
208
+ color="error"
209
+ @click="setInvalidDates"
210
+ >
211
+ Dates invalides
212
+ </v-btn>
213
+ </div>
214
+
215
+ <div class="current-values mt-4">
216
+ <p><strong>Date de début :</strong> {{ startDate || 'Non sélectionnée' }}</p>
217
+ <p><strong>Date de fin :</strong> {{ endDate || 'Non sélectionnée' }}</p>
218
+ </div>
219
+ </div>
220
+ </template>
221
+ `,
222
+ },
223
+ {
224
+ name: 'Script',
225
+ code: `
226
+ <script lang="ts" setup>
227
+ import { ref, computed, watch } from 'vue'
228
+ import DatePicker from '@/components/DatePicker/CalendarMode/DatePicker.vue'
229
+ import { useDateFormat } from '@/composables/date/useDateFormat'
230
+
231
+ const { parseDate } = useDateFormat()
232
+
233
+ // État des dates
234
+ const startDate = ref<string | null>(null)
235
+ const endDate = ref<string | null>(null)
236
+
237
+ // Références aux composants CalendarMode pour accéder à leurs méthodes
238
+ const startDatePickerRef = ref<InstanceType<typeof DatePicker> | null>(null)
239
+ const endDatePickerRef = ref<InstanceType<typeof DatePicker> | null>(null)
240
+
241
+ // Règle de validation pour vérifier que la date de fin n'est pas avant la date de début
242
+ const createEndDateValidationRule = () => ({
243
+ type: 'custom',
244
+ options: {
245
+ validate: (value: string) => {
246
+ // Si pas de valeur pour la date de fin, pas besoin de validation
247
+ if (!value) return true
248
+
249
+ // Si pas de date de début mais une date de fin, afficher l'erreur
250
+ if (!startDate.value) return 'Veuillez d'abord sélectionner une date de début'
251
+
252
+ const start = parseDate(startDate.value, 'DD/MM/YYYY')
253
+ const end = parseDate(value, 'DD/MM/YYYY')
254
+
255
+ if (!start || !end) return true
256
+
257
+ return end >= start || 'La date de fin ne peut pas être antérieure à la date de début'
258
+ },
259
+ message: 'La date de fin ne peut pas être antérieure à la date de début',
260
+ },
261
+ }))
262
+
263
+ // Règles de validation et méthodes additionnelles
264
+ // ...
265
+
266
+ // Fonctions pour la démonstration
267
+ const setTestDates = () => {
268
+ // Définir dates valides (aujourd'hui et demain)
269
+ }
270
+
271
+ const setInvalidDates = () => {
272
+ // Définir dates invalides (aujourd'hui et hier)
273
+ }
274
+
275
+ const resetDates = () => {
276
+ startDate.value = null
277
+ endDate.value = null
278
+ }
279
+ </script>
280
+ `,
281
+ },
282
+ {
283
+ name: 'Style',
284
+ code: `
285
+ <style scoped>
286
+ .date-picker-bidirectional-validation {
287
+ padding: 20px;
288
+ max-width: 800px;
289
+ margin: 0 auto;
290
+ }
291
+
292
+ .date-range-container {
293
+ display: flex;
294
+ gap: 20px;
295
+ }
296
+
297
+ .date-picker-wrapper {
298
+ flex: 1;
299
+ }
300
+
301
+ .actions {
302
+ display: flex;
303
+ flex-wrap: wrap;
304
+ gap: 8px;
305
+ }
306
+
307
+ .current-values {
308
+ padding: 15px;
309
+ background-color: #f5f5f5;
310
+ border-radius: 4px;
311
+ }
312
+ </style>
313
+ `,
314
+ },
315
+ ],
316
+ }
@@ -0,0 +1,218 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3'
2
+ import { ref } from 'vue'
3
+ import DatePicker from '../../DatePicker/CalendarMode/DatePicker.vue'
4
+
5
+ export default {
6
+ title: 'Composants/Formulaires/DatePicker/Validation/Submit/DateTextInput',
7
+ component: DatePicker,
8
+ parameters: {
9
+ docs: {
10
+ description: {
11
+ component: 'Exemples de validation pour le composant DatePicker avec calendrier.',
12
+ },
13
+ },
14
+ },
15
+ } as Meta
16
+
17
+ export const Required: StoryObj = {
18
+ parameters: {
19
+ sourceCode: [
20
+ {
21
+ name: 'Template',
22
+ code: `
23
+ <template>
24
+ <v-form @submit.prevent="handleSubmit">
25
+ <div style="display: flex; flex-direction: column; gap: 16px;">
26
+ <div>
27
+ <h3 class="mb-4">Avec calendrier</h3>
28
+ <DatePicker
29
+ ref="datePicker1"
30
+ v-model="date1"
31
+ required
32
+ format="DD/MM/YYYY"
33
+ placeholder="Date requise"
34
+ noCalendar
35
+ />
36
+ </div>
37
+ </div>
38
+ <button type="submit" style="margin-top: 16px; padding: 8px 16px; background-color:#0c419a; color: white; border: none; border-radius: 4px; cursor: pointer;">
39
+ Soumettre
40
+ </button>
41
+ </v-form>
42
+ </template>
43
+ `,
44
+ },
45
+ {
46
+ name: 'Script',
47
+ code: `
48
+ <script setup lang="ts">
49
+ import { ref } from 'vue'
50
+ import { DatePicker } from '@cnamts/synapse'
51
+
52
+ const datePicker1 = ref()
53
+ const date1 = ref('')
54
+
55
+ const handleSubmit = () => {
56
+ const isValid1 = datePicker1.value?.validateOnSubmit()
57
+
58
+ if (!isValid1) {
59
+ alert('Corrigez les erreurs avant de soumettre !')
60
+ } else {
61
+ alert('Formulaire soumis avec succès !')
62
+ }
63
+ }
64
+ </script>
65
+ `,
66
+ },
67
+ ],
68
+ },
69
+ render: () => ({
70
+ components: { DatePicker },
71
+ setup() {
72
+ const datePicker1 = ref()
73
+ const date1 = ref('')
74
+
75
+ const handleSubmit = () => {
76
+ const isValid1 = datePicker1.value?.validateOnSubmit()
77
+ if (!isValid1) {
78
+ alert('Corrigez les erreurs avant de soumettre !')
79
+ }
80
+ else {
81
+ alert('Formulaire soumis avec succès !')
82
+ }
83
+ }
84
+
85
+ return {
86
+ datePicker1,
87
+ date1,
88
+ handleSubmit,
89
+ }
90
+ },
91
+ template: `
92
+ <div class="d-flex flex-wrap align-center pa-4">
93
+ <form @submit.prevent="handleSubmit" style="width: 100%;">
94
+ <div style="display: flex; flex-direction: column; gap: 16px;">
95
+ <div>
96
+ <DatePicker
97
+ ref="datePicker1"
98
+ v-model="date1"
99
+ required
100
+ noCalendar
101
+ format="DD/MM/YYYY"
102
+ placeholder="Date requise"
103
+ />
104
+ </div>
105
+ </div>
106
+ <button type="submit" style="margin-top: 16px; padding: 8px 16px; background-color:#0c419a; color: white; border: none; border-radius: 4px; cursor: pointer;">
107
+ Soumettre
108
+ </button>
109
+ </form>
110
+ </div>
111
+ `,
112
+ }),
113
+ }
114
+
115
+ export const WithCustomRulesAndRequired: StoryObj = {
116
+ parameters: {
117
+ sourceCode: [
118
+ {
119
+ name: 'Template',
120
+ code: `
121
+ <template>
122
+ <v-form @submit.prevent="handleSubmit">
123
+ <div style="display: flex; flex-direction: column; gap: 16px;">
124
+ <div>
125
+ <h3 class="mb-4">Avec calendrier</h3>
126
+ <DatePicker
127
+ ref="datePicker1"
128
+ v-model="date1"
129
+ required
130
+ format="DD/MM/YYYY"
131
+ placeholder="Date requise"
132
+ noCalendar
133
+ :customRules="[
134
+ { type: 'notAfterToday', options: { message: 'La date ne peut pas être après aujourd'hui' } },
135
+ ]"
136
+ />
137
+ </div>
138
+ </div>
139
+ <button type="submit" style="margin-top: 16px; padding: 8px 16px; background-color:#0c419a; color: white; border: none; border-radius: 4px; cursor: pointer;">
140
+ Soumettre
141
+ </button>
142
+ </v-form>
143
+ </template>
144
+ `,
145
+ },
146
+ {
147
+ name: 'Script',
148
+ code: `
149
+ <script setup lang="ts">
150
+ import { ref } from 'vue'
151
+ import { DatePicker } from '@cnamts/synapse'
152
+
153
+ const datePicker1 = ref()
154
+ const date1 = ref('01/01/2100')
155
+
156
+ const handleSubmit = () => {
157
+ const isValid1 = datePicker1.value?.validateOnSubmit()
158
+
159
+ if (!isValid1) {
160
+ alert('Corrigez les erreurs avant de soumettre !')
161
+ } else {
162
+ alert('Formulaire soumis avec succès !')
163
+ }
164
+ }
165
+ </script>
166
+ `,
167
+ },
168
+ ],
169
+ },
170
+ render: () => ({
171
+ components: { DatePicker },
172
+ setup() {
173
+ const datePicker1 = ref()
174
+ const date1 = ref('01/01/2100')
175
+
176
+ const handleSubmit = () => {
177
+ const isValid1 = datePicker1.value?.validateOnSubmit()
178
+
179
+ if (!isValid1) {
180
+ alert('Corrigez les erreurs avant de soumettre !')
181
+ }
182
+ else {
183
+ alert('Formulaire soumis avec succès !')
184
+ }
185
+ }
186
+
187
+ return {
188
+ datePicker1,
189
+ date1,
190
+ handleSubmit,
191
+ }
192
+ },
193
+ template: `
194
+ <div class="d-flex flex-wrap align-center pa-4">
195
+ <form @submit.prevent="handleSubmit" style="width: 100%;">
196
+ <div style="display: flex; flex-direction: column; gap: 16px;">
197
+ <div>
198
+ <DatePicker
199
+ ref="datePicker1"
200
+ v-model="date1"
201
+ required
202
+ format="DD/MM/YYYY"
203
+ placeholder="Date requise"
204
+ noCalendar
205
+ :custom-rules="[
206
+ { type: 'notAfterToday', options: { message: 'La date ne peut pas être après aujourdhui' } },
207
+ ]"
208
+ />
209
+ </div>
210
+ </div>
211
+ <button type="submit" style="margin-top: 16px; padding: 8px 16px; background-color:#0c419a; color: white; border: none; border-radius: 4px; cursor: pointer;">
212
+ Soumettre
213
+ </button>
214
+ </form>
215
+ </div>
216
+ `,
217
+ }),
218
+ }