@cnamts/synapse 1.0.7 → 1.0.9

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 (407) hide show
  1. package/dist/{DateFilter-CHDLz2EO.js → DateFilter-BylukfjR.js} +1 -1
  2. package/dist/{NumberFilter-DXNQ4Uls.js → NumberFilter-C_bUk9o1.js} +1 -1
  3. package/dist/{PeriodFilter-C8Qf3Jcn.js → PeriodFilter-dVOmcfmt.js} +1 -1
  4. package/dist/{SelectFilter-B2Ejs4Cb.js → SelectFilter-BW8KpXkQ.js} +1 -1
  5. package/dist/{TextFilter-CfR5_A1S.js → TextFilter-diwVzTz7.js} +1 -1
  6. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +2785 -2770
  7. package/dist/components/Amelipro/AmeliproCallback/AmeliproCallback.d.ts +3 -3
  8. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +7 -7
  9. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/AmeliproCarouselItem.d.ts +3 -3
  10. package/dist/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.d.ts +3 -3
  11. package/dist/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.d.ts +30 -0
  12. package/dist/components/Amelipro/AmeliproContentLayout/index.d.ts +2 -0
  13. package/dist/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.d.ts +24 -0
  14. package/dist/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.d.ts +128 -0
  15. package/dist/components/Amelipro/AmeliproErrorTemplate/errorTemplateTypes.d.ts +2 -0
  16. package/dist/components/Amelipro/AmeliproErrorTemplate/types.d.ts +7 -0
  17. package/dist/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.d.ts +91 -0
  18. package/dist/components/Amelipro/AmeliproFooter/AmeliproFooter.d.ts +18 -18
  19. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeader.d.ts +9 -9
  20. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.d.ts +3 -3
  21. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.d.ts +3 -3
  22. package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +3 -3
  23. package/dist/components/Amelipro/AmeliproMenu/AmeliproMenu.d.ts +3 -3
  24. package/dist/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/AmeliproPaginationBtn.d.ts +3 -3
  25. package/dist/components/Amelipro/AmeliproPatientBanner/AmeliproPatientBanner.d.ts +3 -3
  26. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +2766 -2751
  27. package/dist/components/Amelipro/AmeliproStateTile/AmeliproStateTile.d.ts +3 -3
  28. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +2766 -2751
  29. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +388 -386
  30. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +632 -630
  31. package/dist/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.d.ts +3 -3
  32. package/dist/components/Amelipro/AmeliproTransmission/AmeliproTransmission.d.ts +9 -9
  33. package/dist/components/CookieBanner/CookieBanner.d.ts +116 -114
  34. package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +465 -465
  35. package/dist/components/CookiesSelection/CookiesSelection.d.ts +103 -101
  36. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +106 -1510
  37. package/dist/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.d.ts +0 -1
  38. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +1 -1
  39. package/dist/components/Customs/SyTextField/SyTextField.d.ts +634 -632
  40. package/dist/components/DataList/DataList.d.ts +1 -1
  41. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +2875 -2843
  42. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +1446 -1430
  43. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +643 -641
  44. package/dist/components/DialogBox/DialogBox.d.ts +172 -169
  45. package/dist/components/DialogBox/config.d.ts +3 -3
  46. package/dist/components/DialogBox/locales.d.ts +2 -0
  47. package/dist/components/DialogBox/useDraggable.d.ts +8 -0
  48. package/dist/components/FilterSideBar/FilterSideBar.d.ts +159 -157
  49. package/dist/components/FooterBar/FooterBar.d.ts +5 -5
  50. package/dist/components/HeaderBar/HeaderBar.d.ts +2 -2
  51. package/dist/components/HeaderBar/HeaderLogo/HeaderLogo.d.ts +1 -1
  52. package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +1 -1
  53. package/dist/components/LangBtn/LangBtn.d.ts +169 -167
  54. package/dist/components/LogoBrandSection/LogoBrandSection.d.ts +1 -1
  55. package/dist/components/NirField/NirField.d.ts +1277 -1273
  56. package/dist/components/PeriodField/PeriodField.d.ts +5752 -5688
  57. package/dist/components/PhoneField/PhoneField.d.ts +647 -636
  58. package/dist/components/SearchListField/SearchListField.d.ts +105 -105
  59. package/dist/components/SyAlert/SyAlert.d.ts +29 -29
  60. package/dist/components/SyTextArea/SyTextArea.d.ts +389 -387
  61. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +207 -175
  62. package/dist/components/Tables/SyTable/SyTable.d.ts +208 -176
  63. package/dist/components/Tables/common/SyTableFilter.d.ts +1 -1
  64. package/dist/components/Tables/common/SyTablePagination.d.ts +106 -1510
  65. package/dist/components/Tables/common/filters/DateFilter.d.ts +1 -1
  66. package/dist/components/Tables/common/filters/NumberFilter.d.ts +1 -1
  67. package/dist/components/Tables/common/filters/PeriodFilter.d.ts +1 -1
  68. package/dist/components/Tables/common/filters/SelectFilter.d.ts +1 -1
  69. package/dist/components/Tables/common/filters/TextFilter.d.ts +1 -1
  70. package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +82 -82
  71. package/dist/components/Tables/common/tableProps.d.ts +11 -0
  72. package/dist/components/Tables/common/types.d.ts +8 -4
  73. package/dist/components/Tables/common/useStoredOptions.d.ts +14 -0
  74. package/dist/components/Tables/common/useTableHeaders.d.ts +3 -2
  75. package/dist/components/Tables/common/useTableItems.d.ts +0 -1
  76. package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +16 -16
  77. package/dist/components/index.d.ts +4 -0
  78. package/dist/design-system-v3.js +166 -162
  79. package/dist/design-system-v3.umd.cjs +269 -268
  80. package/dist/main-2eWGB7zZ.js +30203 -0
  81. package/dist/services/NotificationService.d.ts +1 -0
  82. package/dist/style.css +1 -1
  83. package/dist/vuetifyConfig.d.ts +6 -6
  84. package/package.json +1 -1
  85. package/src/assets/amelipro/img/ico_pdf.svg +15 -0
  86. package/src/assets/amelipro/img/navigateurs.png +0 -0
  87. package/src/assets/amelipro/img/visuel_deconnexion.svg +973 -0
  88. package/src/assets/amelipro/img/visuel_erreur_403.svg +3652 -0
  89. package/src/assets/amelipro/img/visuel_erreur_404.svg +1801 -0
  90. package/src/assets/amelipro/img/visuel_erreur_500.svg +989 -0
  91. package/src/assets/amelipro/img/visuel_erreur_503.svg +1005 -0
  92. package/src/assets/amelipro/img/visuel_navigateur_obsolete.svg +828 -0
  93. package/src/assets/amelipro/pdf/charte-pour-pdf.pdf +0 -0
  94. package/src/components/Accordion/Accessibilite/AccessibilityGuide.mdx +5 -2
  95. package/src/components/Accordion/Accordion.mdx +5 -3
  96. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.stories.ts +258 -0
  97. package/src/components/Amelipro/AmeliproAccordionGroup/AmeliproAccordionGroup.stories.ts +321 -0
  98. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.stories.ts +656 -0
  99. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.mdx +1 -3
  100. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.stories.ts +208 -0
  101. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.stories.ts +562 -0
  102. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.stories.ts +480 -0
  103. package/src/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.stories.ts +267 -0
  104. package/src/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.stories.ts +287 -6
  105. package/src/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.stories.ts +433 -0
  106. package/src/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.mdx +15 -0
  107. package/src/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.stories.ts +44 -0
  108. package/src/components/Amelipro/AmeliproContentLayout/AmeliproContentLayout.vue +55 -0
  109. package/src/components/Amelipro/AmeliproContentLayout/__tests__/AmeliproContentLayout.spec.ts +20 -0
  110. package/src/components/Amelipro/AmeliproContentLayout/__tests__/__snapshots__/AmeliproContentLayout.spec.ts.snap +24 -0
  111. package/src/components/Amelipro/AmeliproContentLayout/index.ts +3 -0
  112. package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.mdx +18 -0
  113. package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.stories.ts +68 -0
  114. package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.vue +73 -0
  115. package/src/components/Amelipro/AmeliproCopyBtn/__tests__/AmeliproCopyBtn.spec.ts +20 -0
  116. package/src/components/Amelipro/AmeliproCopyBtn/__tests__/__snapshots__/AmeliproCopyBtn.spec.ts.snap +84 -0
  117. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.stories.ts +422 -0
  118. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.vue +2 -2
  119. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/__snapshots__/AmeliproCustomSelector.spec.ts.snap +4 -6
  120. package/src/components/Amelipro/AmeliproDisclosure/AmeliproDisclosure.stories.ts +92 -0
  121. package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.mdx +23 -0
  122. package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.stories.ts +386 -0
  123. package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.vue +187 -0
  124. package/src/components/Amelipro/AmeliproErrorTemplate/__tests__/AmeliproErrorTemplate.spec.ts +31 -0
  125. package/src/components/Amelipro/AmeliproErrorTemplate/__tests__/__snapshots__/AmeliproErrorTemplate.spec.ts.snap +185 -0
  126. package/src/components/Amelipro/AmeliproErrorTemplate/errorTemplateTypes.ts +85 -0
  127. package/src/components/Amelipro/AmeliproErrorTemplate/types.d.ts +7 -0
  128. package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.mdx +15 -0
  129. package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.stories.ts +71 -0
  130. package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.vue +161 -0
  131. package/src/components/Amelipro/AmeliproFilePreview/__tests__/AmeliproFilePreview.spec.ts +28 -0
  132. package/src/components/Amelipro/AmeliproFilePreview/__tests__/__snapshots__/AmeliproFilePreview.spec.ts.snap +209 -0
  133. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.stories.ts +194 -0
  134. package/src/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.stories.ts +639 -0
  135. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.stories.ts +648 -0
  136. package/src/components/Amelipro/AmeliproSelect/AmeliproSelect.stories.ts +392 -0
  137. package/src/components/Amelipro/AmeliproTextArea/AmeliproTextArea.stories.ts +351 -0
  138. package/src/components/Amelipro/AmeliproTextField/AmeliproTextField.stories.ts +634 -38
  139. package/src/components/Amelipro/AmeliproTextField/AmeliproTextField.vue +1 -1
  140. package/src/components/Amelipro/ServiceMenu/ServiceMenu.mdx +5 -3
  141. package/src/components/Amelipro/StructureMenu/StructureMenu.mdx +5 -3
  142. package/src/components/Amelipro/UserMenu/UserMenu.mdx +5 -3
  143. package/src/components/BackBtn/Accessibilite.mdx +6 -2
  144. package/src/components/BackBtn/BackBtn.mdx +5 -3
  145. package/src/components/BackBtn/BackBtn.stories.ts +1 -0
  146. package/src/components/BackBtn/Usages.mdx +5 -3
  147. package/src/components/BackToTopBtn/Accessibilite.mdx +6 -2
  148. package/src/components/BackToTopBtn/BackToTopBtn.mdx +5 -4
  149. package/src/components/BackToTopBtn/Usages.mdx +5 -3
  150. package/src/components/ChipList/Accessibilite.mdx +6 -2
  151. package/src/components/ChipList/ChipList.mdx +5 -3
  152. package/src/components/CollapsibleList/Accessibilite.mdx +6 -2
  153. package/src/components/CollapsibleList/CollapsibleList.mdx +5 -3
  154. package/src/components/ContextualMenu/Accessibilite.mdx +6 -2
  155. package/src/components/ContextualMenu/ContextualMenu.mdx +7 -4
  156. package/src/components/ContextualMenu/Usages.mdx +5 -3
  157. package/src/components/CookieBanner/Accessibilite.mdx +6 -2
  158. package/src/components/CookieBanner/CookieBanner.mdx +5 -8
  159. package/src/components/CopyBtn/Accessibilite.mdx +6 -2
  160. package/src/components/CopyBtn/CopyBtn.mdx +5 -3
  161. package/src/components/CopyBtn/Usages.mdx +5 -3
  162. package/src/components/Customs/Selects/SelectBtnField/Accessibilite.mdx +6 -2
  163. package/src/components/Customs/Selects/SelectBtnField/SelectBtnField.mdx +7 -4
  164. package/src/components/Customs/Selects/SelectBtnField/Usages.mdx +5 -3
  165. package/src/components/Customs/Selects/SelectOverview.mdx +27 -60
  166. package/src/components/Customs/Selects/SyBtnSelect/Accessibilite.mdx +6 -2
  167. package/src/components/Customs/Selects/SyBtnSelect/SyBtnSelect.mdx +6 -4
  168. package/src/components/Customs/Selects/SyInputSelect/Accessibilite.mdx +6 -2
  169. package/src/components/Customs/Selects/SyInputSelect/SyInputSelect.mdx +9 -1
  170. package/src/components/Customs/Selects/SyInputSelect/SyInputSelect.stories.ts +14 -0
  171. package/src/components/Customs/Selects/SySelect/Accessibilite.mdx +7 -3
  172. package/src/components/Customs/Selects/SySelect/SySelect.mdx +6 -4
  173. package/src/components/Customs/Selects/SySelect/SySelect.stories.ts +2 -2
  174. package/src/components/Customs/Selects/SySelect/SySelect.vue +289 -375
  175. package/src/components/Customs/Selects/SySelect/Usages.mdx +5 -3
  176. package/src/components/Customs/Selects/SySelect/composables/tests/useSySelectKeyboard.spec.ts +0 -10
  177. package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +0 -5
  178. package/src/components/Customs/Selects/SySelect/tests/SySelect.spec.ts +184 -25
  179. package/src/components/Customs/SyCheckbox/Accessibilite.mdx +6 -3
  180. package/src/components/Customs/SyCheckbox/SyCheckbox.mdx +5 -3
  181. package/src/components/Customs/SyIcon/Accessibilite.mdx +5 -5
  182. package/src/components/Customs/SyIcon/SyIcon.mdx +5 -7
  183. package/src/components/Customs/SyPagination/SyPagination.mdx +7 -4
  184. package/src/components/Customs/SyTabs/Accessibilite.mdx +4 -1
  185. package/src/components/Customs/SyTabs/SyTabs.mdx +5 -3
  186. package/src/components/Customs/SyTabs/SyTabs.vue +87 -24
  187. package/src/components/Customs/SyTabs/tests/SyTabs.spec.ts +18 -0
  188. package/src/components/Customs/SyTextField/Accessibilite.mdx +6 -2
  189. package/src/components/Customs/SyTextField/SyTextField.mdx +5 -6
  190. package/src/components/Customs/SyTextField/SyTextField.vue +17 -4
  191. package/src/components/Customs/SyTextField/Usages.mdx +1 -0
  192. package/src/components/DataList/Accessibilite.mdx +6 -2
  193. package/src/components/DataList/DataList.mdx +5 -3
  194. package/src/components/DataListGroup/Accessibilite.mdx +6 -2
  195. package/src/components/DataListGroup/DataListGroup.mdx +5 -3
  196. package/src/components/DatePicker/Accessibilite.mdx +6 -2
  197. package/src/components/DatePicker/CalendarMode/DatePicker.mdx +5 -3
  198. package/src/components/DatePicker/CalendarMode/DatePicker.vue +6 -3
  199. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.mdx +5 -6
  200. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +14 -3
  201. package/src/components/DatePicker/DatePickerOverview.mdx +5 -3
  202. package/src/components/DatePicker/DatePickerValidationExample/DatePickerValidation.mdx +5 -3
  203. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +37 -32
  204. package/src/components/DatePicker/DateTextInput/NoCalendar.mdx +5 -3
  205. package/src/components/DatePicker/DateTextInput/NoCalendar.stories.ts +3 -0
  206. package/src/components/DatePicker/Usages.mdx +5 -3
  207. package/src/components/DiacriticPicker/DiacriticPicker.mdx +5 -3
  208. package/src/components/DialogBox/Accessibilite.mdx +6 -2
  209. package/src/components/DialogBox/DialogBox.mdx +5 -3
  210. package/src/components/DialogBox/DialogBox.stories.ts +83 -0
  211. package/src/components/DialogBox/DialogBox.vue +41 -6
  212. package/src/components/DialogBox/Usages.mdx +5 -3
  213. package/src/components/DialogBox/config.ts +3 -3
  214. package/src/components/DialogBox/locales.ts +2 -0
  215. package/src/components/DialogBox/tests/DialogBox.spec.ts +132 -3
  216. package/src/components/DialogBox/tests/__snapshots__/DialogBox.spec.ts.snap +14 -11
  217. package/src/components/DialogBox/useDraggable.ts +98 -0
  218. package/src/components/DownloadBtn/Accessibilite.mdx +6 -2
  219. package/src/components/DownloadBtn/DownloadBtn.mdx +7 -4
  220. package/src/components/DownloadBtn/DownloadBtn.vue +1 -1
  221. package/src/components/DownloadBtn/tests/DownloadBtn.spec.ts +2 -3
  222. package/src/components/ErrorPage/Accessibilite.mdx +6 -2
  223. package/src/components/ErrorPage/ErrorPage.mdx +5 -3
  224. package/src/components/ExternalLinks/Accessibilite.mdx +6 -2
  225. package/src/components/ExternalLinks/ExternalLinks.mdx +5 -8
  226. package/src/components/ExternalLinks/Usages.mdx +5 -3
  227. package/src/components/FileList/Accessibilite.mdx +6 -2
  228. package/src/components/FileList/FileList.mdx +5 -4
  229. package/src/components/FilePreview/Accessibilite.mdx +6 -2
  230. package/src/components/FilePreview/FilePreview.mdx +7 -7
  231. package/src/components/FileUpload/Accessibilite.mdx +6 -2
  232. package/src/components/FileUpload/FileUpload.mdx +7 -4
  233. package/src/components/FilterInline/Accessibilite.mdx +6 -2
  234. package/src/components/FilterInline/FilterInline.mdx +5 -5
  235. package/src/components/FilterSideBar/Accessibilite.mdx +6 -2
  236. package/src/components/FilterSideBar/FilterSideBar.mdx +5 -4
  237. package/src/components/FooterBar/Accessibilite.mdx +6 -2
  238. package/src/components/FooterBar/FooterBar.mdx +5 -3
  239. package/src/components/FranceConnectBtn/Accessibilite.mdx +6 -2
  240. package/src/components/FranceConnectBtn/FranceConnectBtn.mdx +5 -3
  241. package/src/components/HeaderBar/Accessibilite.mdx +6 -2
  242. package/src/components/HeaderBar/HeaderBar.mdx +4 -4
  243. package/src/components/HeaderBar/HeaderBurgerMenu/Accessibilite.mdx +6 -2
  244. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.mdx +9 -13
  245. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.mdx +1 -1
  246. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.mdx +5 -5
  247. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.mdx +1 -2
  248. package/src/components/HeaderBar/Usages.mdx +5 -3
  249. package/src/components/HeaderLoading/Accessibilite.mdx +2 -1
  250. package/src/components/HeaderLoading/HeaderLoading.mdx +5 -3
  251. package/src/components/HeaderNavigationBar/HeaderNavigationBar.mdx +1 -8
  252. package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +17 -9
  253. package/src/components/HeaderToolbar/Accessibilite.mdx +6 -2
  254. package/src/components/HeaderToolbar/HeaderToolbar.mdx +5 -3
  255. package/src/components/LangBtn/Accessibilite.mdx +6 -2
  256. package/src/components/LangBtn/LangBtn.mdx +5 -3
  257. package/src/components/Logo/Accessibilite.mdx +6 -2
  258. package/src/components/Logo/Logo.mdx +5 -3
  259. package/src/components/LogoBrandSection/Accessibilite.mdx +6 -2
  260. package/src/components/LogoBrandSection/LogoBrandSection.mdx +5 -3
  261. package/src/components/MaintenancePage/Accessibilite.mdx +6 -2
  262. package/src/components/MaintenancePage/MaintenancePage.mdx +6 -4
  263. package/src/components/NirField/Accessibilite.mdx +6 -2
  264. package/src/components/NirField/NirField.mdx +5 -7
  265. package/src/components/NirField/NirField.vue +13 -118
  266. package/src/components/NirField/Usages.mdx +5 -3
  267. package/src/components/NotFoundPage/Accessibilite.mdx +6 -2
  268. package/src/components/NotFoundPage/NotFoundPage.mdx +6 -4
  269. package/src/components/NotificationBar/Accessibilite.mdx +6 -2
  270. package/src/components/NotificationBar/NotificationBar.mdx +5 -1
  271. package/src/components/NotificationBar/NotificationBar.stories.ts +128 -2
  272. package/src/components/NotificationBar/NotificationBar.vue +16 -1
  273. package/src/components/NotificationBar/Usages.mdx +5 -3
  274. package/src/components/NotificationBar/tests/NotificationBar.spec.ts +65 -0
  275. package/src/components/PageContainer/Accessibilite.mdx +6 -2
  276. package/src/components/PageContainer/PageContainer.mdx +5 -3
  277. package/src/components/PaginatedTable/Accessibilite.mdx +6 -2
  278. package/src/components/PaginatedTable/PaginatedTable.mdx +5 -3
  279. package/src/components/PasswordField/Accessibilite.mdx +6 -2
  280. package/src/components/PasswordField/PasswordField.mdx +5 -3
  281. package/src/components/PeriodField/Accessibilite.mdx +6 -2
  282. package/src/components/PeriodField/PeriodField.mdx +5 -3
  283. package/src/components/PhoneField/Accessibilite.mdx +6 -2
  284. package/src/components/PhoneField/PhoneField.mdx +5 -3
  285. package/src/components/PhoneField/PhoneField.stories.ts +17 -218
  286. package/src/components/PhoneField/PhoneField.vue +17 -11
  287. package/src/components/PhoneField/Usages.mdx +5 -3
  288. package/src/components/PhoneField/tests/PhoneField.spec.ts +51 -15
  289. package/src/components/RangeField/Accessibilite.mdx +6 -2
  290. package/src/components/RangeField/RangeField.mdx +5 -7
  291. package/src/components/RatingPicker/Accessibilite.mdx +6 -2
  292. package/src/components/RatingPicker/RatingPicker.mdx +5 -4
  293. package/src/components/SearchListField/Accessibilite.mdx +6 -2
  294. package/src/components/SearchListField/SearchListField.mdx +7 -5
  295. package/src/components/SkipLink/Accessibilite.mdx +6 -2
  296. package/src/components/SkipLink/SkipLink.mdx +5 -3
  297. package/src/components/SkipLink/Usages.mdx +5 -3
  298. package/src/components/SocialMediaLinks/Accessibilite.mdx +6 -2
  299. package/src/components/SocialMediaLinks/SocialMediaLinks.mdx +5 -3
  300. package/src/components/SubHeader/Accessibilite.mdx +6 -2
  301. package/src/components/SubHeader/SubHeader.mdx +5 -3
  302. package/src/components/SyAlert/Accessibilite.mdx +6 -2
  303. package/src/components/SyAlert/SyAlert.mdx +7 -4
  304. package/src/components/SyAlert/Usages.mdx +5 -3
  305. package/src/components/SyTextArea/SyTextArea.mdx +5 -3
  306. package/src/components/TableToolbar/Accessibilite.mdx +6 -2
  307. package/src/components/TableToolbar/TableToolbar.mdx +6 -3
  308. package/src/components/Tables/SyServerTable/SyServerTable.mdx +5 -3
  309. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +4 -0
  310. package/src/components/Tables/SyServerTable/SyServerTable.vue +36 -74
  311. package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +46 -7
  312. package/src/components/Tables/SyTable/SyTable.mdx +5 -3
  313. package/src/components/Tables/SyTable/SyTable.stories.ts +5 -1
  314. package/src/components/Tables/SyTable/SyTable.vue +38 -60
  315. package/src/components/Tables/SyTable/tests/SyTable.spec.ts +9 -7
  316. package/src/components/Tables/common/filters/tests/SelectFilter.spec.ts +6 -1
  317. package/src/components/Tables/common/tableProps.ts +53 -0
  318. package/src/components/Tables/common/tableStyles.scss +4 -0
  319. package/src/components/Tables/common/tests/tableUtils.spec.ts +4 -151
  320. package/src/components/Tables/common/types.ts +12 -2
  321. package/src/components/Tables/common/useStoredOptions.ts +36 -0
  322. package/src/components/Tables/common/useTableHeaders.ts +10 -7
  323. package/src/components/Tables/common/useTableItems.ts +0 -20
  324. package/src/components/ToolbarContainer/ToolbarContainer.mdx +1 -0
  325. package/src/components/UploadWorkflow/Accessibilite.mdx +6 -2
  326. package/src/components/UploadWorkflow/UploadWorkflow.mdx +5 -7
  327. package/src/components/UserMenuBtn/Accessibilite.mdx +6 -2
  328. package/src/components/UserMenuBtn/UserMenuBtn.mdx +5 -3
  329. package/src/components/index.ts +4 -0
  330. package/src/services/NotificationService.ts +9 -0
  331. package/src/stories/Accessibilite/Aculturation/SensibilisationAccessibilite.mdx +2 -65
  332. package/src/stories/Accessibilite/Audit/RGAA.mdx +2 -20
  333. package/src/stories/Accessibilite/AuditDesignSystem.mdx +4 -47
  334. package/src/stories/Accessibilite/Avancement/Avancement.mdx +5 -68
  335. package/src/stories/Accessibilite/Avancement/Avancement.stories.ts +267 -198
  336. package/src/stories/Accessibilite/Introduction.mdx +2 -20
  337. package/src/stories/Accessibilite/KitDePreAudit/Echantillonnage.mdx +4 -21
  338. package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +3 -20
  339. package/src/stories/Accessibilite/KitDePreAudit/Outils/Introduction.mdx +5 -50
  340. package/src/stories/Accessibilite/KitDePreAudit/Outils/LecteursDEcran.mdx +3 -46
  341. package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru/FauxPositifs.mdx +3 -39
  342. package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru/Utilisation.mdx +4 -54
  343. package/src/stories/Accessibilite/KitDePreAudit/Preaudit.mdx +4 -51
  344. package/src/stories/Accessibilite/Vuetify/Vuetify.mdx +3 -11
  345. package/src/stories/Accessibilite/Vuetify/Vuetify.stories.ts +2 -2
  346. package/src/stories/Accessibilite/Vuetify/VuetifyItems.ts +6 -3
  347. package/src/stories/Components/Components.stories.ts +1 -1
  348. package/src/stories/Demarrer/CreerUneIssue.mdx +4 -1
  349. package/src/stories/Demarrer/PolitiqueDeConfidentialite.mdx +0 -2
  350. package/src/stories/Demarrer/PolitiqueDeConfidentialite.stories.ts +3 -0
  351. package/src/stories/Demarrer/Releases.mdx +0 -2
  352. package/src/stories/Demarrer/Releases.stories.ts +3 -0
  353. package/src/stories/DesignTokens/Arrondis.mdx +7 -1
  354. package/src/stories/DesignTokens/Colors.mdx +7 -1
  355. package/src/stories/DesignTokens/Conteneurs.mdx +6 -1
  356. package/src/stories/DesignTokens/Elevations.mdx +7 -1
  357. package/src/stories/DesignTokens/Espacements.mdx +7 -1
  358. package/src/stories/DesignTokens/Introduction.mdx +5 -3
  359. package/src/stories/DesignTokens/StylesTypographiques.mdx +6 -1
  360. package/src/stories/DesignTokens/Typographie.mdx +5 -1
  361. package/src/stories/Directives/SvgDirective.mdx +3 -22
  362. package/src/stories/EcoConception/EcoGuideComponent.vue +569 -0
  363. package/src/stories/EcoConception/Introduction.mdx +190 -13
  364. package/src/stories/EcoConception/Referentiel.mdx +13 -0
  365. package/src/stories/EcoConception/datas/back_rules.json +184 -0
  366. package/src/stories/EcoConception/datas/ux_ui_rules.json +1073 -0
  367. package/src/stories/EcoConception/ecoconception.stories.ts +30 -0
  368. package/src/stories/GuideDuDev/ClassesUtilitaires/DataUtilities.mdx +7 -3
  369. package/src/stories/GuideDuDev/ClassesUtilitaires/DomBrowserUtilities.mdx +9 -1
  370. package/src/stories/GuideDuDev/ClassesUtilitaires/FormattingUtilities.mdx +7 -3
  371. package/src/stories/GuideDuDev/ClassesUtilitaires/StorageUtilities.mdx +5 -1
  372. package/src/stories/GuideDuDev/ClassesUtilitaires/ValidationRules.mdx +7 -3
  373. package/src/stories/GuideDuDev/ClassesUtilitaires/ValidationUtilities.mdx +7 -3
  374. package/src/stories/GuideDuDev/ClassesUtilitaires/index.mdx +5 -2
  375. package/src/stories/GuideDuDev/FormValidationGuide.mdx +7 -3
  376. package/src/stories/GuideDuDev/LesBreackingChanges.mdx +6 -2
  377. package/src/stories/GuideDuDev/MigrationDepuisBridge.mdx +7 -2
  378. package/src/stories/GuideDuDev/MigrationDepuisVue2.mdx +7 -2
  379. package/src/stories/GuideDuDev/PortailAgent.mdx +6 -1
  380. package/src/stories/GuideDuDev/Theme.mdx +8 -2
  381. package/src/stories/GuideDuDev/UtiliserLesRules.mdx +7 -3
  382. package/src/stories/GuideDuDev/moduleDeNotification.mdx +8 -3
  383. package/src/stories/GuideDuDev/vuetifyOptions.mdx +5 -1
  384. package/src/stories/Templates/Templates.stories.ts +1 -1
  385. package/src/stories/styles/shared.css +16 -0
  386. package/src/utils/rules/Rules.mdx +26 -3
  387. package/src/utils/rules/doMatchPattern/DoMachPattern.mdx +27 -4
  388. package/src/utils/rules/isDateValid/IsDateValid.mdx +27 -4
  389. package/src/utils/rules/isExactLength/IsExactLenght.mdx +27 -4
  390. package/src/utils/rules/isHolidayDay/IsHolidayDay.mdx +27 -4
  391. package/src/utils/rules/isMaxLength/IsMaxLength.mdx +27 -4
  392. package/src/utils/rules/isMinLength/IsMinLength.mdx +27 -4
  393. package/src/utils/rules/isNotAfterDate/IsNotAfterDate.mdx +27 -4
  394. package/src/utils/rules/isNotAfterToday/IsNotAfterToday.mdx +27 -4
  395. package/src/utils/rules/isNotBeforeDate/IsNotBeforeDate.mdx +27 -4
  396. package/src/utils/rules/isNotBeforeToday/IsNotBeforeToday.mdx +27 -3
  397. package/src/utils/rules/isRequired/IsRequired.mdx +27 -4
  398. package/src/utils/rules/isValidEmail/IsValidEmail.mdx +27 -4
  399. package/dist/components/Tables/common/tableStorageUtils.d.ts +0 -69
  400. package/dist/components/Tables/common/tableUtils.d.ts +0 -79
  401. package/dist/main-C66C1BkG.js +0 -29878
  402. package/dist/stories/EcoConception/ecoDesignItems.d.ts +0 -4
  403. package/src/components/DownloadBtn/tests/__snapshots__/DownloadBtn.spec.ts.snap +0 -92
  404. package/src/components/Tables/common/tableStorageUtils.ts +0 -127
  405. package/src/components/Tables/common/tableUtils.ts +0 -102
  406. package/src/stories/EcoConception/ecoDesignItems.ts +0 -55
  407. package/src/stories/EcoConception/econception.stories.ts +0 -30
@@ -3,9 +3,10 @@ import * as DatePickerStories from "./ComplexDatePicker.stories.ts";
3
3
 
4
4
  <Meta of={DatePickerStories}/>
5
5
 
6
- # DatePicker - Mode combiné
7
-
8
- Le DatePicker en mode combiné (`useCombinedMode: true`) permet d'utiliser à la fois le calendrier interactif et la saisie manuelle avec formatage automatique.
6
+ <div className="header">
7
+ <h1>DatePicker - Mode combiné</h1>
8
+ <p>Le DatePicker en mode combiné (`useCombinedMode: true`) permet d'utiliser à la fois le calendrier interactif et la saisie manuelle avec formatage automatique.</p>
9
+ </div>
9
10
 
10
11
  ## Description
11
12
 
@@ -24,7 +25,6 @@ Propriétés applicables pour le mode combiné :
24
25
 
25
26
  <Controls of={DatePickerStories.Default}/>
26
27
 
27
-
28
28
  # Fonctionnalités spécifiques
29
29
 
30
30
  ## Formatage automatique des dates
@@ -59,7 +59,6 @@ Le composant permet la sélection de plages de dates avec validation automatique
59
59
 
60
60
  ### DatePicker avec période personnalisée
61
61
 
62
-
63
62
  <div
64
63
  style={{
65
64
  border: '2px solid #FF0000',
@@ -89,7 +88,6 @@ La propriété `textFieldActivator` permet d'ouvrir le calendrier en cliquant n'
89
88
 
90
89
  <Canvas of={DatePickerStories.WithTextFieldActivator}/>
91
90
 
92
-
93
91
  # Validation et règles personnalisées
94
92
 
95
93
  Le composant prend en charge des règles de validation personnalisées pour vérifier les dates saisies.
@@ -172,6 +170,7 @@ Le composant expose plusieurs méthodes qui peuvent être utilisées via une ré
172
170
  import { DatePicker } from '@cnamts/synapse'
173
171
 
174
172
  const date = ref('')
173
+ import '../../../stories/styles/shared.css';
175
174
  </script>
176
175
 
177
176
  <template>
@@ -535,10 +535,10 @@
535
535
  const datePickerRef = ref<null | ComponentPublicInstance<typeof VDatePicker>>()
536
536
 
537
537
  onMounted(() => {
538
+ setupMonthButtonObserver()
538
539
  document.addEventListener('click', handleClickOutside)
539
540
  if (displayFormattedDateComputed.value) displayFormattedDate.value = displayFormattedDateComputed.value
540
541
  validateDates()
541
- setupMonthButtonObserver()
542
542
  })
543
543
 
544
544
  onBeforeUnmount(() => {
@@ -710,6 +710,19 @@
710
710
  { immediate: true },
711
711
  )
712
712
 
713
+ // Observer pour personnaliser les boutons dès que le DatePicker devient visible
714
+ watch(
715
+ isDatePickerVisible,
716
+ (visible) => {
717
+ if (visible) {
718
+ nextTick(() => {
719
+ customizeMonthButton()
720
+ markHolidayDays()
721
+ })
722
+ }
723
+ },
724
+ )
725
+
713
726
  /**
714
727
  * Menu / visibility & keyboard
715
728
  */
@@ -1100,8 +1113,6 @@
1100
1113
 
1101
1114
  :deep(.v-field--dirty),
1102
1115
  :deep(.v-field--focused) {
1103
- opacity: 1 !important;
1104
-
1105
1116
  --v-medium-emphasis-opacity: 1;
1106
1117
  }
1107
1118
 
@@ -1,11 +1,13 @@
1
1
  import { Meta, Canvas, Controls, Source } from '@storybook/blocks';
2
2
  import { linkTo } from '@storybook/addon-links';
3
+ import '../../stories/styles/shared.css';
3
4
 
4
5
  <Meta title="Composants/Formulaires/DatePicker/Introduction" />
5
6
 
6
- # DatePicker - Vue d'ensemble
7
-
8
- Le composant `DatePicker` facilite la sélection d’une date et se décline en plusieurs modes selon vos besoins. Cette page détaille chaque variante disponible et vous guide pour choisir celle qui correspond le mieux à votre cas d’usage.
7
+ <div className="header">
8
+ <h1>DatePicker - Vue d'ensemble</h1>
9
+ <p>Le composant `DatePicker` facilite la sélection d’une date et se décline en plusieurs modes selon vos besoins. Cette page détaille chaque variante disponible et vous guide pour choisir celle qui correspond le mieux à votre cas d’usage.</p>
10
+ </div>
9
11
  ## Variantes disponibles
10
12
 
11
13
  Le DatePicker propose trois modes principaux, chacun adapté à des besoins spécifiques :
@@ -1,11 +1,13 @@
1
1
  import {Meta, Canvas, Controls, Source} from '@storybook/blocks';
2
2
  import * as ValidationStories from './DatePickerValidation.stories.ts';
3
+ import '../../../stories/styles/shared.css';
3
4
 
4
5
  <Meta of={ValidationStories}/>
5
6
 
6
- # Documentations des règles de validation du DatePicker
7
-
8
- Le composant DatePicker prend en charge plusieurs types de règles de validation qui permettent de contrôler les dates saisies par l'utilisateur. Cette documentation décrit toutes les règles disponibles et comment les utiliser.
7
+ <div className="header">
8
+ <h1>Documentations des règles de validation du DatePicker</h1>
9
+ <p>Le composant DatePicker prend en charge plusieurs types de règles de validation qui permettent de contrôler les dates saisies par l'utilisateur. Cette documentation décrit toutes les règles disponibles et comment les utiliser.</p>
10
+ </div>
9
11
 
10
12
  > Pour en savoir plus sur le système global de gestion de validation, consultez la page <a href="/?path=/docs/guide-du-dev-utiliser-le-syst%C3%A8me-de-validation--docs">Utiliser le système de validation</a>.
11
13
 
@@ -13,7 +13,6 @@
13
13
  import dayjs from 'dayjs'
14
14
  import customParseFormat from 'dayjs/plugin/customParseFormat'
15
15
  import { useValidation, type ValidationRule, type ValidationResult } from '@/composables/validation/useValidation'
16
- import { formatDateInput as formatDateInputUtil } from '../utils/dateFormattingUtils'
17
16
  import { useDateFormat } from '@/composables/date/useDateFormatDayjs'
18
17
  import { DATE_PICKER_MESSAGES } from '../constants/messages'
19
18
  import type { DateValue } from '@/composables/date/useDateInitializationDayjs'
@@ -192,7 +191,7 @@
192
191
  const updateDisplayValue = (dateDisplayText: string) => (inputValue.value = dateDisplayText)
193
192
  const updateAriaLabel = (ariaLabelText: string) => (ariaLabel.value = ariaLabelText)
194
193
 
195
- const { handlePaste: handlePasteSingle, isHandlingBackspace } = useDateInputEditing({
194
+ const { formatDateInput, handlePaste: handlePasteSingle, isHandlingBackspace } = useDateInputEditing({
196
195
  format: displayFormat.value,
197
196
  updateDisplayValue,
198
197
  updateAriaLabel,
@@ -285,20 +284,14 @@
285
284
  await nextTick()
286
285
  if (options.focus) inputElement.focus({ preventScroll: true })
287
286
 
288
- // Only set cursor position if we have content
289
- if (inputValue.value) {
290
- const cursorPosition = nextEditableIndex(displayFormat.value, 0)
291
- // double rAF pour laisser Vuetify finir ses mises à jour
287
+ const cursorPosition = nextEditableIndex(displayFormat.value, 0)
288
+ // double rAF pour laisser Vuetify finir ses mises à jour
289
+ requestAnimationFrame(() => {
292
290
  requestAnimationFrame(() => {
293
- requestAnimationFrame(() => {
294
- inputElement.setSelectionRange(cursorPosition, cursorPosition)
295
- isBootstrapping.value = false
296
- })
291
+ inputElement.setSelectionRange(cursorPosition, cursorPosition)
292
+ isBootstrapping.value = false
297
293
  })
298
- }
299
- else {
300
- isBootstrapping.value = false
301
- }
294
+ })
302
295
  }
303
296
 
304
297
  // Handlers overwrite (single)
@@ -735,15 +728,14 @@
735
728
 
736
729
  if (typeof nv !== 'string') return
737
730
  let formatted = ''
738
- const currentFormat = props.format || 'DD/MM/YYYY'
739
731
  if (nv.includes(' - ')) {
740
732
  const [startDateText, endDateText = ''] = nv.split(' - ')
741
- const formattedStartDate = startDateText ? formatDateInputUtil(startDateText, currentFormat).formatted : ''
742
- const formattedEndDate = endDateText ? formatDateInputUtil(endDateText, currentFormat).formatted : ''
733
+ const formattedStartDate = startDateText ? formatDateInput(startDateText).formatted : ''
734
+ const formattedEndDate = endDateText ? formatDateInput(endDateText).formatted : ''
743
735
  formatted = `${formattedStartDate} - ${formattedEndDate}`
744
736
  }
745
737
  else {
746
- formatted = formatDateInputUtil(nv, currentFormat).formatted
738
+ formatted = formatDateInput(nv).formatted
747
739
  }
748
740
 
749
741
  const result = !ov ? handleRangeInput('', formatted) : handleRangeInput(ov, formatted, cursor)
@@ -794,17 +786,35 @@
794
786
  }
795
787
  }
796
788
  else {
797
- // --- Branche SINGLE ---
798
- // Format the input for both complete and partial dates
799
- const { formatted, cursorPos } = formatDateInputUtil(nv, props.format || 'DD/MM/YYYY', { cursorPosition: cursor })
800
-
801
- // Always update the input value with formatted version
802
- // But don't format if it would result in just placeholders (let the HTML placeholder show instead)
803
- if (formatted !== nv && !formatted.match(/^[_/\-.\s]+$/)) {
789
+ if (isOverwriteEditing.value) {
790
+ const formatted = inputValue.value
791
+ const complete = formatted && !formatted.includes('_')
792
+ if (complete) {
793
+ const formatValidationResult = validateDateFormatForSingleOrRange(formatted)
794
+ if (formatValidationResult.isValid) {
795
+ const parsedDate = parseDate(formatted, displayFormat.value)
796
+ if (parsedDate) {
797
+ const formattedDateOutput = returnFormat.value !== displayFormat.value
798
+ ? formatDate(parsedDate, returnFormat.value)
799
+ : formatDate(parsedDate, displayFormat.value)
800
+ await nextTick()
801
+ emitModel(formattedDateOutput)
802
+ emit('date-selected', formattedDateOutput)
803
+ }
804
+ }
805
+ runRules(formatted)
806
+ }
807
+ else {
808
+ clearValidation()
809
+ }
810
+ return
811
+ }
812
+ const { formatted, cursorPos } = formatDateInput(nv, cursor)
813
+ if (formatted !== nv) {
804
814
  inputValue.value = formatted
805
- if (!isHandlingBackspace.value && inputEl) {
815
+ if (!isHandlingBackspace.value) {
806
816
  await nextTick()
807
- inputEl.setSelectionRange(cursorPos, cursorPos)
817
+ inputEl?.setSelectionRange(cursorPos, cursorPos)
808
818
  }
809
819
  }
810
820
 
@@ -908,11 +918,6 @@
908
918
  hasInteracted.value = true
909
919
  const ok = runRules(inputValue.value)
910
920
  if (!ok || hasError.value) return false
911
- if (props.showSuccessMessages && inputValue.value && !hasError.value && warningMessages.value.length === 0) {
912
- if (!successMessages.value.includes(DATE_PICKER_MESSAGES.SUCCESS_VALID_DATE)) {
913
- successMessages.value.push(DATE_PICKER_MESSAGES.SUCCESS_VALID_DATE)
914
- }
915
- }
916
921
  return !hasError.value
917
922
  }
918
923
 
@@ -1,12 +1,14 @@
1
1
  import { Meta, Controls, Canvas, Story } from '@storybook/blocks';
2
2
  import * as NoCalendarStories from './NoCalendar.stories';
3
3
  import { ref } from 'vue';
4
+ import '../../../stories/styles/shared.css';
4
5
 
5
6
  <Meta of={NoCalendarStories} />
6
7
 
7
- # DatePicker - Mode saisie manuelle uniquement
8
-
9
- Le DatePicker en mode saisie manuelle uniquement (`noCalendar: true`) permet d'utiliser le champ de saisie avec formatage automatique sans que le calendrier n'apparaisse au clic sur l'input ou sur l'icône.
8
+ <div className="header">
9
+ <h1>DatePicker - Mode saisie manuelle uniquement</h1>
10
+ <p>Le DatePicker en mode saisie manuelle uniquement (`noCalendar: true`) permet d'utiliser le champ de saisie avec formatage automatique sans que le calendrier n'apparaisse au clic sur l'input ou sur l'icône.</p>
11
+ </div>
10
12
 
11
13
  ## Description
12
14
 
@@ -568,6 +568,7 @@ export const AutoClampFeature: Story = {
568
568
  placeholder="Saisie avec auto clamp - séparateur -"
569
569
  format="DD-MM-YYYY"
570
570
  noCalendar
571
+ autoClamp
571
572
 
572
573
  />
573
574
 
@@ -577,6 +578,7 @@ export const AutoClampFeature: Story = {
577
578
  placeholder="Saisie avec auto clamp - séparateur ."
578
579
  format="YYYY.MM.DD"
579
580
  noCalendar
581
+ autoClamp
580
582
  />
581
583
 
582
584
  <h4 class="mt-4">Mode plage de dates (séparateur /)</h4>
@@ -649,6 +651,7 @@ export const AutoClampFeature: Story = {
649
651
  placeholder="Saisie avec auto clamp - séparateur ."
650
652
  format="YYYY.MM.DD"
651
653
  noCalendar
654
+ autoClamp
652
655
  />
653
656
  <div class="caption mb-4">Valeur actuelle: {{ dateDot || 'aucune date saisie' }}</div>
654
657
 
@@ -1,9 +1,11 @@
1
1
  import { Meta, Story} from "@storybook/blocks";
2
+ import '../../stories/styles/shared.css';
2
3
  import * as stories from "./Usages.stories.ts";
3
4
 
4
5
  <Meta of={stories} />
5
6
 
6
- # Usages
7
-
8
- <Story of={stories.UsagePage} />
7
+ <div className="header">
8
+ <h1>Usages</h1>
9
+
10
+ </div><Story of={stories.UsagePage} />
9
11
  <br />
@@ -4,9 +4,10 @@ import * as DiacriticPickerStories from './DiacriticPicker.stories';
4
4
 
5
5
  <Meta of={DiacriticPickerStories} />
6
6
 
7
- # DiacriticPicker
8
-
9
- Le composant `DiacriticPicker` permet d'ajouter facilement des caractères diacritiques (accents, cédilles, etc.) à un champ de texte ou un textarea. Il ajoute un bouton à côté du champ qui ouvre une boîte de dialogue avec des caractères diacritiques à insérer.
7
+ <div className="header">
8
+ <h1>DiacriticPicker</h1>
9
+ <p>Le composant `DiacriticPicker` permet d'ajouter facilement des caractères diacritiques (accents, cédilles, etc.) à un champ de texte ou un textarea. Il ajoute un bouton à côté du champ qui ouvre une boîte de dialogue avec des caractères diacritiques à insérer.</p>
10
+ </div>
10
11
 
11
12
  <Canvas of={DiacriticPickerStories.Default} />
12
13
 
@@ -89,6 +90,7 @@ Vous pouvez personnaliser la liste des caractères diacritiques affichés dans l
89
90
  import { ref } from 'vue'
90
91
 
91
92
  const text = ref('')
93
+ import '../../stories/styles/shared.css';
92
94
  const caracteres = ['é', 'è', 'ê', 'à', 'ç', 'ù']
93
95
  </script>
94
96
 
@@ -1,10 +1,14 @@
1
1
  import { Meta, Story } from '@storybook/addon-docs';
2
2
  import * as AccessStories from './Accessibilite.stories.ts';
3
+ import '../../stories/styles/shared.css';
3
4
 
4
5
  <Meta of={AccessStories} />
5
6
 
6
- Accessibilité
7
- =============
7
+ <div className="header">
8
+ <h1>Accessibilité</h1>
9
+ <p>Informations sur l'accessibilité du composant</p>
10
+ </div>
11
+
8
12
  <Story of={AccessStories.Legende} />
9
13
  <br />
10
14
 
@@ -3,9 +3,10 @@ import * as DialogBoxStories from './DialogBox.stories';
3
3
 
4
4
  <Meta of={DialogBoxStories} />
5
5
 
6
- # DialogBox
7
-
8
- L’élément `DialogBox` est utilisé pour afficher une boîte de dialogue avec des boutons d'action.
6
+ <div className="header">
7
+ <h1>DialogBox</h1>
8
+ <p>L’élément `DialogBox` est utilisé pour afficher une boîte de dialogue avec des boutons d'action.</p>
9
+ </div>
9
10
 
10
11
  <Canvas of={DialogBoxStories.Default} />
11
12
 
@@ -21,6 +22,7 @@ L’élément `DialogBox` est utilisé pour afficher une boîte de dialogue avec
21
22
  import { ref } from 'vue'
22
23
 
23
24
  const dialogOpen = ref(false)
25
+ import '../../stories/styles/shared.css';
24
26
  </script>
25
27
 
26
28
  <template>
@@ -113,6 +113,18 @@ const meta: Meta<typeof DialogBox> = {
113
113
  },
114
114
  },
115
115
  },
116
+ 'draggable': {
117
+ control: 'boolean',
118
+ description: 'Rendre la boîte de dialogue déplaçable avec la souris ou les flèches gauche/droite du clavier',
119
+ table: {
120
+ type: {
121
+ summary: 'boolean',
122
+ },
123
+ defaultValue: {
124
+ summary: 'false',
125
+ },
126
+ },
127
+ },
116
128
  'vuetifyOptions': {
117
129
  control: 'object',
118
130
  description: 'Personnalisation des composants Vuetify internes',
@@ -811,3 +823,74 @@ export const VuetifyOptions: Story = {
811
823
  ],
812
824
  },
813
825
  }
826
+
827
+ export const Draggable: Story = {
828
+ args: {
829
+ 'modelValue': false,
830
+ 'title': 'DialogBox title',
831
+ 'default': 'DialogBox content',
832
+ 'draggable': true,
833
+ 'onCancel': fn(),
834
+ 'onConfirm': fn(),
835
+ 'onUpdate:modelValue': fn(),
836
+ },
837
+ render: (args) => {
838
+ return {
839
+ components: { DialogBox, VBtn },
840
+ setup() {
841
+ return { args }
842
+ },
843
+ template: `
844
+ <div class="pa-4">
845
+ <VBtn
846
+ @click="args.modelValue = !args.modelValue"
847
+ color="primary"
848
+ >Toggle DialogBox</VBtn>
849
+ <DialogBox
850
+ v-bind="args"
851
+ @update:modelValue="args.modelValue = $event"
852
+ @confirm="args.modelValue = false"
853
+ @cancel="args.modelValue = false"
854
+ >
855
+ {{ args.default }}
856
+ </DialogBox>
857
+ </div>
858
+ `,
859
+ }
860
+ },
861
+ parameters: {
862
+ sourceCode: [
863
+ {
864
+ name: 'Template',
865
+ code: `
866
+ <template>
867
+ <VBtn
868
+ color="primary"
869
+ @click="dialogOpen = !dialogOpen"
870
+ >Toggle DialogBox</VBtn>
871
+ <DialogBox
872
+ v-model="dialogOpen"
873
+ title="DialogBox title"
874
+ draggable
875
+ @confirm="dialogOpen = false"
876
+ @cancel="dialogOpen = false"
877
+ >
878
+ DialogBox content
879
+ </DialogBox>
880
+ </template>
881
+ `,
882
+ },
883
+ {
884
+ name: 'Script',
885
+ code: `
886
+ <script setup lang="ts">
887
+ import { DialogBox } from '@cnamts/synapse'
888
+ import { ref } from 'vue'
889
+
890
+ const dialogOpen = ref(false)
891
+ </script>
892
+ `,
893
+ },
894
+ ],
895
+ },
896
+ }
@@ -1,12 +1,13 @@
1
1
  <script setup lang="ts">
2
2
  import useCustomizableOptions, { type CustomizableOptions } from '@/composables/useCustomizableOptions'
3
3
  import { mdiClose } from '@mdi/js'
4
- import { ref, useId, watch, nextTick } from 'vue'
4
+ import { nextTick, ref, toRef, useId, watch } from 'vue'
5
5
  import type { VBtn, VDialog } from 'vuetify/components'
6
- import { config } from './config'
7
- import { locales } from './locales'
8
6
  import { useDisplay } from 'vuetify/lib/framework.mjs'
9
7
  import SyIcon from '../Customs/SyIcon/SyIcon.vue'
8
+ import { config } from './config'
9
+ import { locales } from './locales'
10
+ import { useDraggable } from './useDraggable'
10
11
 
11
12
  const props = withDefaults(defineProps<{
12
13
  title?: string
@@ -16,6 +17,7 @@
16
17
  hideActions?: boolean
17
18
  persistent?: boolean
18
19
  autofocusValidateBtn?: boolean
20
+ draggable?: boolean
19
21
  } & CustomizableOptions>(), {
20
22
  title: undefined,
21
23
  width: '800px',
@@ -100,11 +102,18 @@
100
102
 
101
103
  const display = useDisplay()
102
104
 
105
+ const {
106
+ isGrabbing,
107
+ startDragging,
108
+ moveToLeft,
109
+ moveToRight,
110
+ } = useDraggable(toRef(props, 'draggable'), dialogContent)
103
111
  </script>
104
112
 
105
113
  <template>
106
114
  <VDialog
107
115
  v-model="dialog"
116
+ :scrim="props.draggable ? false : true"
108
117
  v-bind="$attrs"
109
118
  :width="props.width"
110
119
  :persistent="props.persistent"
@@ -113,13 +122,24 @@
113
122
  class="sy-dialog-box"
114
123
  :aria-labelledby="id"
115
124
  @keydown.tab="handleFocus"
125
+ @keydown.left="moveToLeft"
126
+ @keydown.right="moveToRight"
116
127
  >
117
128
  <VCard
118
129
  v-bind="options.card"
119
- id="dialog-content"
120
130
  ref="dialogContent"
131
+ :class="{
132
+ 'sy-dialog-box-draggable': props.draggable,
133
+ 'sy-dialog-box-draggable--active': props.draggable && isGrabbing,
134
+ }"
135
+ :aria-label="props.draggable ? locales.draggable : undefined"
121
136
  >
122
- <VCardTitle v-bind="options.cardTitle">
137
+ <VCardTitle
138
+ class="sy-dialog-box-title"
139
+ v-bind="options.cardTitle"
140
+ :title="props.draggable ? locales.dragInstruction : undefined"
141
+ @mousedown="startDragging"
142
+ >
123
143
  <slot name="title">
124
144
  <h2
125
145
  v-if="title"
@@ -146,7 +166,13 @@
146
166
  />
147
167
  </VBtn>
148
168
  </VCardTitle>
149
- <slot />
169
+
170
+ <div
171
+ class="px-6"
172
+ v-bind="options.cardText"
173
+ >
174
+ <slot />
175
+ </div>
150
176
 
151
177
  <div
152
178
  v-if="!props.hideActions"
@@ -239,6 +265,15 @@ h2 {
239
265
  gap: $spacing-small;
240
266
  }
241
267
 
268
+ .sy-dialog-box-draggable .sy-dialog-box-title {
269
+ cursor: grab;
270
+ }
271
+
272
+ .sy-dialog-box-draggable--active .sy-dialog-box-title {
273
+ cursor: grabbing;
274
+ user-select: none;
275
+ }
276
+
242
277
  @media screen and (min-width: $container-mobile-max-width) {
243
278
  .sy-dialog-box-actions-ctn {
244
279
  flex-direction: row;
@@ -1,9 +1,11 @@
1
1
  import { Meta, Story} from "@storybook/blocks";
2
+ import '../../stories/styles/shared.css';
2
3
  import * as stories from "./Usages.stories.ts";
3
4
 
4
5
  <Meta of={stories} />
5
6
 
6
- # Usages
7
-
8
- <Story of={stories.UsagePage} />
7
+ <div className="header">
8
+ <h1>Usages</h1>
9
+
10
+ </div><Story of={stories.UsagePage} />
9
11
  <br />
@@ -1,9 +1,9 @@
1
1
  export const config = {
2
2
  card: {
3
- class: 'pa-6',
3
+ class: 'pa-0 pb-6',
4
4
  },
5
5
  cardTitle: {
6
- class: 'd-flex align-start flex-nowrap pa-0 mb-6 mr-6',
6
+ class: 'd-flex align-start flex-nowrap pa-0 pt-6 mb-6 px-6',
7
7
  },
8
8
  closeBtn: {
9
9
  icon: true,
@@ -13,7 +13,7 @@ export const config = {
13
13
  class: 'mt-n2 mr-n2 ml-4',
14
14
  },
15
15
  cardActions: {
16
- class: 'd-flex flex-wrap mt-6',
16
+ class: 'd-flex flex-wrap mt-6 px-6',
17
17
  },
18
18
  cancelBtn: {
19
19
  color: 'primary',
@@ -2,4 +2,6 @@ export const locales = {
2
2
  closeBtn: 'Fermer la boîte de dialogue',
3
3
  cancelBtn: 'Annuler',
4
4
  confirmBtn: 'Valider',
5
+ draggable: 'Déplaçable',
6
+ dragInstruction: 'Déplacer la boîte de dialogue',
5
7
  }