@cnamts/synapse 1.0.9 → 1.0.11

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 (658) hide show
  1. package/dist/{DateFilter-BylukfjR.js → DateFilter-QEfKOz0P.js} +1 -1
  2. package/dist/{NumberFilter-C_bUk9o1.js → NumberFilter-C0h7gVzp.js} +1 -1
  3. package/dist/{PeriodFilter-dVOmcfmt.js → PeriodFilter-8dVrKjju.js} +1 -1
  4. package/dist/{SelectFilter-BW8KpXkQ.js → SelectFilter-BI3QGbqb.js} +1 -1
  5. package/dist/{TextFilter-diwVzTz7.js → TextFilter-UOp1hcPp.js} +1 -1
  6. package/dist/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.d.ts +110 -0
  7. package/dist/components/Amelipro/AmeliproAccordionFrieze/types.d.ts +6 -0
  8. package/dist/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.d.ts +9 -0
  9. package/dist/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.d.ts +9 -0
  10. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +123 -141
  11. package/dist/components/Amelipro/AmeliproBtn/AmeliproBtn.d.ts +2 -2
  12. package/dist/components/Amelipro/AmeliproCarousel/AmeliproCarousel.d.ts +21 -3
  13. package/dist/components/Amelipro/AmeliproDentalChart/AmeliproDentalChart.d.ts +47 -0
  14. package/dist/components/Amelipro/AmeliproDentalChart/AmeliproTooth/AmeliproTooth.d.ts +88 -0
  15. package/dist/components/Amelipro/AmeliproDentalChart/types.d.ts +13 -0
  16. package/dist/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.d.ts +70 -0
  17. package/dist/components/Amelipro/AmeliproFirstLogin/locales.d.ts +46 -0
  18. package/dist/components/Amelipro/AmeliproFooter/AmeliproFooter.d.ts +9 -0
  19. package/dist/components/Amelipro/AmeliproFooter/locales.d.ts +0 -1
  20. package/dist/components/Amelipro/AmeliproFooter/types.d.ts +1 -0
  21. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeader.d.ts +2 -0
  22. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.d.ts +6 -2
  23. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.d.ts +8 -4
  24. package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +1 -1
  25. package/dist/components/Amelipro/AmeliproPageLayout/AmeliproPageLayout.d.ts +2 -0
  26. package/dist/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.d.ts +149 -0
  27. package/dist/components/Amelipro/AmeliproPatientLogged/types.d.ts +48 -0
  28. package/dist/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLogin.d.ts +177 -0
  29. package/dist/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLoginForm/AmeliproPatientLoginForm.d.ts +169 -0
  30. package/dist/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLoginForm/types.d.ts +5 -0
  31. package/dist/components/Amelipro/AmeliproPatientLogin/types.d.ts +5 -0
  32. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.d.ts +2925 -0
  33. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/types.d.ts +11 -0
  34. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.d.ts +4489 -0
  35. package/dist/components/Amelipro/AmeliproPostalAddressField/types.d.ts +17 -0
  36. package/dist/components/Amelipro/AmeliproResultList/AmeliproResultList.d.ts +9 -0
  37. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +122 -122
  38. package/dist/components/Amelipro/AmeliproTable/AmeliproTable.d.ts +9 -0
  39. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +123 -123
  40. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +14 -14
  41. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +30 -30
  42. package/dist/components/Amelipro/AmeliproTooltips/AmeliproTooltips.d.ts +12 -2
  43. package/dist/components/Amelipro/AmeliproUpload/types.d.ts +10 -0
  44. package/dist/components/CookieBanner/CookieBanner.d.ts +7 -7
  45. package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +22 -22
  46. package/dist/components/CookiesSelection/CookiesSelection.d.ts +9 -9
  47. package/dist/components/Customs/Selects/SelectBtnField/SelectBtnField.d.ts +1 -1
  48. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +10 -9
  49. package/dist/components/Customs/SyForm/SyForm.d.ts +1820 -0
  50. package/dist/components/Customs/SyTabs/SyTabs.d.ts +3 -1
  51. package/dist/components/Customs/SyTabs/useTabTransition.d.ts +5 -0
  52. package/dist/components/Customs/SyTextField/SyTextField.d.ts +37 -32
  53. package/dist/components/Customs/SyTextField/types.d.ts +1 -1
  54. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +240 -142
  55. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +125 -75
  56. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +62 -39
  57. package/dist/components/DatePicker/composables/useDateValidation.d.ts +14 -2
  58. package/dist/components/DatePicker/composables/useManualDateValidation.d.ts +2 -2
  59. package/dist/components/DatePicker/tests/setup.d.ts +74354 -0
  60. package/dist/components/DialogBox/DialogBox.d.ts +10 -10
  61. package/dist/components/DialogBox/locales.d.ts +1 -0
  62. package/dist/components/DialogBox/useDraggable.d.ts +2 -0
  63. package/dist/components/FilterSideBar/FilterSideBar.d.ts +7 -7
  64. package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.d.ts +2 -0
  65. package/dist/components/HeaderNavigationBar/types.d.ts +1 -0
  66. package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +842 -9
  67. package/dist/components/HeaderToolbar/locales.d.ts +3 -0
  68. package/dist/components/HeaderToolbar/useMobileRightMenu.d.ts +10 -0
  69. package/dist/components/LangBtn/LangBtn.d.ts +10 -10
  70. package/dist/components/NirField/NirField.d.ts +94 -69
  71. package/dist/components/NirField/locales.d.ts +6 -4
  72. package/dist/components/PasswordField/PasswordField.d.ts +3 -1
  73. package/dist/components/PasswordField/locales.d.ts +2 -0
  74. package/dist/components/PeriodField/PeriodField.d.ts +476 -276
  75. package/dist/components/PhoneField/PhoneField.d.ts +47 -34
  76. package/dist/components/RangeField/RangeField.d.ts +11 -1
  77. package/dist/components/RangeField/RangeSlider/RangeSlider.d.ts +2 -2
  78. package/dist/components/RangeField/config.d.ts +3 -0
  79. package/dist/components/RatingPicker/EmotionPicker/EmotionPicker.d.ts +3 -1
  80. package/dist/components/RatingPicker/EmotionPicker/locales.d.ts +2 -0
  81. package/dist/components/RatingPicker/NumberPicker/NumberPicker.d.ts +3 -1
  82. package/dist/components/RatingPicker/StarsPicker/StarsPicker.d.ts +3 -1
  83. package/dist/components/RatingPicker/locales.d.ts +1 -0
  84. package/dist/components/SearchListField/SearchListField.d.ts +16 -7
  85. package/dist/components/SyAlert/SyAlert.d.ts +2 -2
  86. package/dist/components/SyTextArea/SyTextArea.d.ts +15 -15
  87. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +3 -5
  88. package/dist/components/Tables/SyTable/SyTable.d.ts +3 -5
  89. package/dist/components/Tables/common/SyTablePagination.d.ts +12 -10
  90. package/dist/components/Tables/common/TableHeader.d.ts +6 -0
  91. package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +6 -6
  92. package/dist/components/Tables/common/types.d.ts +7 -0
  93. package/dist/components/Tables/common/usePagination.d.ts +1 -3
  94. package/dist/components/Tables/common/useTableCheckbox.d.ts +1 -1
  95. package/dist/components/Tables/common/useTableHeaders.d.ts +10 -20
  96. package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +4 -4
  97. package/dist/components/index.d.ts +8 -0
  98. package/dist/composables/validation/useFormValidation.d.ts +24 -0
  99. package/dist/composables/validation/useValidatable.d.ts +17 -0
  100. package/dist/design-system-v3.js +181 -173
  101. package/dist/design-system-v3.umd.cjs +269 -267
  102. package/dist/main-DyEOPqqn.js +33329 -0
  103. package/dist/style.css +1 -1
  104. package/dist/tooth-11-B9fN9Ow_.js +4 -0
  105. package/dist/tooth-12-BOOjuDe9.js +4 -0
  106. package/dist/tooth-13-DVU7jhZ8.js +4 -0
  107. package/dist/tooth-14-CXNleTBu.js +4 -0
  108. package/dist/tooth-15-iq3z8dzZ.js +4 -0
  109. package/dist/tooth-16-BuNIHSQk.js +4 -0
  110. package/dist/tooth-17-DLb4ijsH.js +4 -0
  111. package/dist/tooth-18-huijQe68.js +4 -0
  112. package/dist/tooth-21-Bl7Q-o4y.js +4 -0
  113. package/dist/tooth-22-ChQKI3h5.js +4 -0
  114. package/dist/tooth-23-CkzbEvBa.js +4 -0
  115. package/dist/tooth-24-BpaPUSEp.js +4 -0
  116. package/dist/tooth-25-BaVfhAL6.js +4 -0
  117. package/dist/tooth-26-BnL03Jv5.js +4 -0
  118. package/dist/tooth-27-BaHyZfhH.js +4 -0
  119. package/dist/tooth-28-BrMBVEgX.js +4 -0
  120. package/dist/tooth-31-DEH3Btej.js +4 -0
  121. package/dist/tooth-32-Dqcy596v.js +4 -0
  122. package/dist/tooth-33-DLzQOVky.js +4 -0
  123. package/dist/tooth-34-36nkjUPW.js +4 -0
  124. package/dist/tooth-35-VfFhleWT.js +4 -0
  125. package/dist/tooth-36-BHwtGkLx.js +4 -0
  126. package/dist/tooth-37-CT47Rtk-.js +4 -0
  127. package/dist/tooth-38-D15JmYSD.js +4 -0
  128. package/dist/tooth-41--x9N_iSc.js +4 -0
  129. package/dist/tooth-42-DZ1D3qmP.js +4 -0
  130. package/dist/tooth-43-C9T3b5_0.js +4 -0
  131. package/dist/tooth-44-CsPRBSZV.js +4 -0
  132. package/dist/tooth-45-Dg3wQunm.js +4 -0
  133. package/dist/tooth-46-DAOEt4G5.js +4 -0
  134. package/dist/tooth-47-DcqUeVM0.js +4 -0
  135. package/dist/tooth-48-0MVzkYem.js +4 -0
  136. package/dist/tooth-51-DOTod22I.js +4 -0
  137. package/dist/tooth-52-DZB1Jabv.js +4 -0
  138. package/dist/tooth-53-nunm2BQr.js +4 -0
  139. package/dist/tooth-54-BwdYfBd-.js +4 -0
  140. package/dist/tooth-55-BUJdNwqL.js +4 -0
  141. package/dist/tooth-61-BwqR1B88.js +4 -0
  142. package/dist/tooth-62-BzaECsvF.js +4 -0
  143. package/dist/tooth-63-wjdIfSq2.js +4 -0
  144. package/dist/tooth-64-CGW4ZcUq.js +4 -0
  145. package/dist/tooth-65-DxH4GgAL.js +4 -0
  146. package/dist/tooth-71-CmjVz11G.js +4 -0
  147. package/dist/tooth-72-CCyNUD-W.js +4 -0
  148. package/dist/tooth-73-D6aJwVz4.js +4 -0
  149. package/dist/tooth-74-zNtDQ6ig.js +4 -0
  150. package/dist/tooth-75-DDEx6y4E.js +4 -0
  151. package/dist/tooth-81-xg8UVvz2.js +4 -0
  152. package/dist/tooth-82-CtNXwBtB.js +4 -0
  153. package/dist/tooth-83-C2ODw7VT.js +4 -0
  154. package/dist/tooth-84-BKIdO9HA.js +4 -0
  155. package/dist/tooth-85-3YmvfAsK.js +4 -0
  156. package/dist/utils/amelipro/rules/uploadFile/index.d.ts +6 -0
  157. package/dist/utils/amelipro/toKebabCase/toKebabCase.d.ts +1 -0
  158. package/dist/utils/rules/isRequired/index.d.ts +5 -2
  159. package/dist/utils/rules/types.d.ts +12 -3
  160. package/package.json +13 -4
  161. package/src/assets/amelipro/img/bg-pieces-jointe.svg +28 -0
  162. package/src/assets/amelipro/img/dental-chart-img/tooth-11.svg +16 -0
  163. package/src/assets/amelipro/img/dental-chart-img/tooth-12.svg +11 -0
  164. package/src/assets/amelipro/img/dental-chart-img/tooth-13.svg +11 -0
  165. package/src/assets/amelipro/img/dental-chart-img/tooth-14.svg +26 -0
  166. package/src/assets/amelipro/img/dental-chart-img/tooth-15.svg +21 -0
  167. package/src/assets/amelipro/img/dental-chart-img/tooth-16.svg +31 -0
  168. package/src/assets/amelipro/img/dental-chart-img/tooth-17.svg +26 -0
  169. package/src/assets/amelipro/img/dental-chart-img/tooth-18.svg +26 -0
  170. package/src/assets/amelipro/img/dental-chart-img/tooth-21.svg +16 -0
  171. package/src/assets/amelipro/img/dental-chart-img/tooth-22.svg +11 -0
  172. package/src/assets/amelipro/img/dental-chart-img/tooth-23.svg +11 -0
  173. package/src/assets/amelipro/img/dental-chart-img/tooth-24.svg +26 -0
  174. package/src/assets/amelipro/img/dental-chart-img/tooth-25.svg +21 -0
  175. package/src/assets/amelipro/img/dental-chart-img/tooth-26.svg +31 -0
  176. package/src/assets/amelipro/img/dental-chart-img/tooth-27.svg +26 -0
  177. package/src/assets/amelipro/img/dental-chart-img/tooth-28.svg +26 -0
  178. package/src/assets/amelipro/img/dental-chart-img/tooth-31.svg +11 -0
  179. package/src/assets/amelipro/img/dental-chart-img/tooth-32.svg +11 -0
  180. package/src/assets/amelipro/img/dental-chart-img/tooth-33.svg +11 -0
  181. package/src/assets/amelipro/img/dental-chart-img/tooth-34.svg +11 -0
  182. package/src/assets/amelipro/img/dental-chart-img/tooth-35.svg +22 -0
  183. package/src/assets/amelipro/img/dental-chart-img/tooth-36.svg +26 -0
  184. package/src/assets/amelipro/img/dental-chart-img/tooth-37.svg +26 -0
  185. package/src/assets/amelipro/img/dental-chart-img/tooth-38.svg +11 -0
  186. package/src/assets/amelipro/img/dental-chart-img/tooth-41.svg +11 -0
  187. package/src/assets/amelipro/img/dental-chart-img/tooth-42.svg +11 -0
  188. package/src/assets/amelipro/img/dental-chart-img/tooth-43.svg +11 -0
  189. package/src/assets/amelipro/img/dental-chart-img/tooth-44.svg +11 -0
  190. package/src/assets/amelipro/img/dental-chart-img/tooth-45.svg +22 -0
  191. package/src/assets/amelipro/img/dental-chart-img/tooth-46.svg +26 -0
  192. package/src/assets/amelipro/img/dental-chart-img/tooth-47.svg +26 -0
  193. package/src/assets/amelipro/img/dental-chart-img/tooth-48.svg +11 -0
  194. package/src/assets/amelipro/img/dental-chart-img/tooth-51.svg +11 -0
  195. package/src/assets/amelipro/img/dental-chart-img/tooth-52.svg +16 -0
  196. package/src/assets/amelipro/img/dental-chart-img/tooth-53.svg +16 -0
  197. package/src/assets/amelipro/img/dental-chart-img/tooth-54.svg +11 -0
  198. package/src/assets/amelipro/img/dental-chart-img/tooth-55.svg +16 -0
  199. package/src/assets/amelipro/img/dental-chart-img/tooth-61.svg +11 -0
  200. package/src/assets/amelipro/img/dental-chart-img/tooth-62.svg +16 -0
  201. package/src/assets/amelipro/img/dental-chart-img/tooth-63.svg +16 -0
  202. package/src/assets/amelipro/img/dental-chart-img/tooth-64.svg +11 -0
  203. package/src/assets/amelipro/img/dental-chart-img/tooth-65.svg +16 -0
  204. package/src/assets/amelipro/img/dental-chart-img/tooth-71.svg +11 -0
  205. package/src/assets/amelipro/img/dental-chart-img/tooth-72.svg +16 -0
  206. package/src/assets/amelipro/img/dental-chart-img/tooth-73.svg +16 -0
  207. package/src/assets/amelipro/img/dental-chart-img/tooth-74.svg +11 -0
  208. package/src/assets/amelipro/img/dental-chart-img/tooth-75.svg +16 -0
  209. package/src/assets/amelipro/img/dental-chart-img/tooth-81.svg +11 -0
  210. package/src/assets/amelipro/img/dental-chart-img/tooth-82.svg +16 -0
  211. package/src/assets/amelipro/img/dental-chart-img/tooth-83.svg +16 -0
  212. package/src/assets/amelipro/img/dental-chart-img/tooth-84.svg +11 -0
  213. package/src/assets/amelipro/img/dental-chart-img/tooth-85.svg +16 -0
  214. package/src/assets/amelipro/img/idpa/apcv_logo.svg +16 -0
  215. package/src/assets/amelipro/img/idpa/carte-vitale.svg +75 -0
  216. package/src/assets/overrides/_btns.scss +1 -0
  217. package/src/assets/overrides/_forms.scss +5 -0
  218. package/src/components/Accordion/tests/accordion.spec.ts +0 -55
  219. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/AmeliproAccordionTemplate.spec.ts +0 -4
  220. package/src/components/Amelipro/AmeliproAccordion/__tests__/AmeliproAccordion.spec.ts +0 -4
  221. package/src/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.mdx +15 -0
  222. package/src/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.stories.ts +261 -0
  223. package/src/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.vue +419 -0
  224. package/src/components/Amelipro/AmeliproAccordionFrieze/__tests__/AmeliproAccordionFrieze.spec.ts +94 -0
  225. package/src/components/Amelipro/AmeliproAccordionFrieze/__tests__/__snapshots__/AmeliproAccordionFrieze.spec.ts.snap +858 -0
  226. package/src/components/Amelipro/AmeliproAccordionFrieze/types.d.ts +6 -0
  227. package/src/components/Amelipro/AmeliproAccordionGroup/__tests__/AmeliproAccordionGroup.spec.ts +0 -4
  228. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.stories.ts +6 -0
  229. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +7 -3
  230. package/src/components/Amelipro/AmeliproAccordionList/__tests__/AmeliproAccordionList.spec.ts +0 -4
  231. package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +13 -6
  232. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/__tests__/AmeliproAccordionResultTemplate.spec.ts +0 -4
  233. package/src/components/Amelipro/AmeliproAccordionResult/__tests__/AmeliproAccordionResult.spec.ts +0 -4
  234. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.stories.ts +6 -0
  235. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +7 -3
  236. package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/AmeliproAccordionResultList.spec.ts +0 -4
  237. package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +13 -6
  238. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.stories.ts +1 -1
  239. package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/AmeliproAutoCompleteField.spec.ts +277 -55
  240. package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/__snapshots__/AmeliproAutoCompleteField.spec.ts.snap +113 -233
  241. package/src/components/Amelipro/AmeliproBadge/AmeliproBadge.stories.ts +97 -0
  242. package/src/components/Amelipro/AmeliproBadge/__tests__/AmeliproBadge.spec.ts +0 -4
  243. package/src/components/Amelipro/AmeliproBreadcrumb/__tests__/AmeliproBreadcrumb.spec.ts +0 -4
  244. package/src/components/Amelipro/AmeliproBtn/AmeliproBtn.stories.ts +190 -8
  245. package/src/components/Amelipro/AmeliproBtn/__tests__/AmeliproBtn.spec.ts +478 -0
  246. package/src/components/Amelipro/AmeliproBtn/__tests__/__snapshots__/AmeliproBtn.spec.ts.snap +74 -0
  247. package/src/components/Amelipro/AmeliproCallback/AmeliproCallback.stories.ts +321 -0
  248. package/src/components/Amelipro/AmeliproCallback/__tests__/AmeliproCallback.spec.ts +100 -0
  249. package/src/components/Amelipro/AmeliproCallback/__tests__/__snapshots__/AmeliproCallback.spec.ts.snap +50 -0
  250. package/src/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.vue +1 -1
  251. package/src/components/Amelipro/AmeliproCaptcha/__tests__/AmeliproCaptcha.spec.ts +0 -4
  252. package/src/components/Amelipro/AmeliproCaptcha/__tests__/__snapshots__/AmeliproCaptcha.spec.ts.snap +10 -2
  253. package/src/components/Amelipro/AmeliproCard/AmeliproCard.stories.ts +360 -0
  254. package/src/components/Amelipro/AmeliproCard/__tests__/AmeliproCard.spec.ts +402 -0
  255. package/src/components/Amelipro/AmeliproCard/__tests__/__snapshots__/AmeliproCard.spec.ts.snap +106 -0
  256. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarousel.stories.ts +2 -0
  257. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarousel.vue +11 -1
  258. package/src/components/Amelipro/AmeliproCarousel/AmeliproCarouselItem/__tests__/AmeliproCarouselItem.spec.ts +0 -4
  259. package/src/components/Amelipro/AmeliproCarousel/__tests__/AmeliproCarousel.spec.ts +0 -4
  260. package/src/components/Amelipro/AmeliproCarousel/__tests__/__snapshots__/AmeliproCarousel.spec.ts.snap +0 -2
  261. package/src/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.stories.ts +1 -1
  262. package/src/components/Amelipro/AmeliproCheckbox/tests/AmeliproCheckbox.spec.ts +0 -4
  263. package/src/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.stories.ts +2 -2
  264. package/src/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.vue +1 -1
  265. package/src/components/Amelipro/AmeliproCheckboxGroup/tests/AmeliproCheckboxGroup.spec.ts +0 -4
  266. package/src/components/Amelipro/AmeliproChips/AmeliproChips.stories.ts +46 -0
  267. package/src/components/Amelipro/AmeliproChips/tests/AmeliproChips.spec.ts +0 -4
  268. package/src/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.stories.ts +173 -0
  269. package/src/components/Amelipro/AmeliproClickableTile/tests/AmeliproClickableTile.spec.ts +0 -4
  270. package/src/components/Amelipro/AmeliproContentLayout/__tests__/AmeliproContentLayout.spec.ts +0 -4
  271. package/src/components/Amelipro/AmeliproCopyBtn/AmeliproCopyBtn.stories.ts +112 -26
  272. package/src/components/Amelipro/AmeliproCopyBtn/__tests__/AmeliproCopyBtn.spec.ts +0 -4
  273. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/AmeliproCustomSelector.spec.ts +0 -4
  274. package/src/components/Amelipro/AmeliproDentalChart/AmeliproDentalChart.mdx +15 -0
  275. package/src/components/Amelipro/AmeliproDentalChart/AmeliproDentalChart.stories.ts +1078 -0
  276. package/src/components/Amelipro/AmeliproDentalChart/AmeliproDentalChart.vue +163 -0
  277. package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/AmeliproTooth.vue +183 -0
  278. package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/tests/AmeliproTooth.spec.ts +16 -0
  279. package/src/components/Amelipro/AmeliproDentalChart/AmeliproTooth/tests/__snapshots__/AmeliproTooth.spec.ts.snap +39 -0
  280. package/src/components/Amelipro/AmeliproDentalChart/tests/AmeliproDentalChart.spec.ts +464 -0
  281. package/src/components/Amelipro/AmeliproDentalChart/tests/__snapshots__/AmeliproDentalChart.spec.ts.snap +2589 -0
  282. package/src/components/Amelipro/AmeliproDentalChart/types.d.ts +13 -0
  283. package/src/components/Amelipro/AmeliproDialog/AmeliproDialog.stories.ts +333 -0
  284. package/src/components/Amelipro/AmeliproDialog/AmeliproDialog.vue +7 -2
  285. package/src/components/Amelipro/AmeliproDialog/tests/AmeliproDialog.spec.ts +0 -2
  286. package/src/components/Amelipro/AmeliproDialog/tests/__snapshots__/AmeliproDialog.spec.ts.snap +1 -0
  287. package/src/components/Amelipro/AmeliproDisclosure/tests/AmeliproDisclosure.spec.ts +0 -4
  288. package/src/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.vue +1 -1
  289. package/src/components/Amelipro/AmeliproErrorTemplate/__tests__/AmeliproErrorTemplate.spec.ts +0 -4
  290. package/src/components/Amelipro/AmeliproErrorTemplate/__tests__/__snapshots__/AmeliproErrorTemplate.spec.ts.snap +1 -2
  291. package/src/components/Amelipro/AmeliproFilePreview/__tests__/AmeliproFilePreview.spec.ts +0 -4
  292. package/src/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.mdx +15 -0
  293. package/src/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.stories.ts +287 -0
  294. package/src/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.vue +331 -0
  295. package/src/components/Amelipro/AmeliproFirstLogin/__tests__/AmeliproFirstLogin.spec.ts +27 -0
  296. package/src/components/Amelipro/AmeliproFirstLogin/__tests__/__snapshots__/AmeliproFirstLogin.spec.ts.snap +1210 -0
  297. package/src/components/Amelipro/AmeliproFirstLogin/locales.ts +48 -0
  298. package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.stories.ts +1 -0
  299. package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.vue +5 -1
  300. package/src/components/Amelipro/AmeliproFooter/locales.ts +0 -1
  301. package/src/components/Amelipro/AmeliproFooter/tests/AmeliproFooter.spec.ts +0 -4
  302. package/src/components/Amelipro/AmeliproFooter/types.d.ts +1 -0
  303. package/src/components/Amelipro/AmeliproHeader/AmeliproHeader.stories.ts +18 -8
  304. package/src/components/Amelipro/AmeliproHeader/AmeliproHeader.vue +3 -1
  305. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.vue +3 -0
  306. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.vue +10 -2
  307. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/tests/AmeliproHeaderBrandSection.spec.ts +0 -4
  308. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/tests/__snapshots__/AmeliproHeaderBrandSection.spec.ts.snap +2 -3
  309. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproLogoAm/tests/AmeliproLogoAm.spec.ts +0 -4
  310. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/tests/AmeliproHeaderBar.spec.ts +0 -4
  311. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/tests/__snapshots__/AmeliproHeaderBar.spec.ts.snap +2 -3
  312. package/src/components/Amelipro/AmeliproHeader/tests/AmeliproHeader.spec.ts +0 -4
  313. package/src/components/Amelipro/AmeliproHeader/tests/__snapshots__/AmeliproHeader.spec.ts.snap +2 -3
  314. package/src/components/Amelipro/AmeliproIcon/AmeliproIcon.stories.ts +61 -1
  315. package/src/components/Amelipro/AmeliproIcon/tests/AmeliproIcon.spec.ts +0 -4
  316. package/src/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.stories.ts +174 -0
  317. package/src/components/Amelipro/AmeliproIconBtn/tests/AmeliproIconBtn.spec.ts +0 -4
  318. package/src/components/Amelipro/AmeliproIllustratedDataTile/AmeliproIllustratedDataTile.stories.ts +186 -0
  319. package/src/components/Amelipro/AmeliproIllustratedDataTile/tests/AmeliproIllustratedDataTile.spec.ts +0 -4
  320. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/tests/AmeliproIllustratedRadioGroup.spec.ts +0 -4
  321. package/src/components/Amelipro/AmeliproMailTile/AmeliproMailTile.stories.ts +237 -0
  322. package/src/components/Amelipro/AmeliproMailTile/tests/AmeliproMailTile.spec.ts +0 -4
  323. package/src/components/Amelipro/AmeliproMenu/tests/AmeliproMenu.spec.ts +0 -2
  324. package/src/components/Amelipro/AmeliproMessage/AmeliproMessage.stories.ts +111 -0
  325. package/src/components/Amelipro/AmeliproMessage/tests/AmeliproMessage.spec.ts +0 -4
  326. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/tests/AmeliproDropdownMenuBtn.spec.ts +0 -4
  327. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/tests/AmeliproDropdownMenu.spec.ts +0 -4
  328. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/tests/AmeliproMessagingMenuBtn.spec.ts +0 -4
  329. package/src/components/Amelipro/AmeliproMessagingLayout/tests/AmeliproMessagingLayout.spec.ts +0 -4
  330. package/src/components/Amelipro/AmeliproMultipleFoldingCard/AmeliproMultipleFoldingCard.stories.ts +199 -0
  331. package/src/components/Amelipro/AmeliproMultipleFoldingCard/tests/AmeliproMultipleFoldingCard.spec.ts +0 -4
  332. package/src/components/Amelipro/AmeliproNumberedCard/AmeliproNumberedCard.stories.ts +150 -0
  333. package/src/components/Amelipro/AmeliproNumberedCard/tests/AmeliproNumberedCard.spec.ts +0 -4
  334. package/src/components/Amelipro/AmeliproOnboarding/AmeliproOnboarding.stories.ts +281 -8
  335. package/src/components/Amelipro/AmeliproOnboarding/tests/AmeliproOnboarding.spec.ts +0 -4
  336. package/src/components/Amelipro/AmeliproPageLayout/AmeliproPageLayout.stories.ts +9 -2
  337. package/src/components/Amelipro/AmeliproPageLayout/AmeliproPageLayout.vue +4 -1
  338. package/src/components/Amelipro/AmeliproPageLayout/tests/AmeliproPageLayout.spec.ts +0 -4
  339. package/src/components/Amelipro/AmeliproPageLayout/tests/__snapshots__/AmeliproPageLayout.spec.ts.snap +2 -3
  340. package/src/components/Amelipro/AmeliproPagination/AmeliproPagination.stories.ts +123 -43
  341. package/src/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/tests/AmeliproPaginationBtn.spec.ts +0 -4
  342. package/src/components/Amelipro/AmeliproPagination/tests/AmeliproPagination.spec.ts +0 -4
  343. package/src/components/Amelipro/AmeliproPatientBanner/tests/AmeliproPatientBanner.spec.ts +0 -4
  344. package/src/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.mdx +18 -0
  345. package/src/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.stories.ts +250 -0
  346. package/src/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.vue +520 -0
  347. package/src/components/Amelipro/AmeliproPatientLogged/__tests__/AmeliproPatientLogged.spec.ts +75 -0
  348. package/src/components/Amelipro/AmeliproPatientLogged/__tests__/__snapshots__/AmeliproPatientLogged.spec.ts.snap +1151 -0
  349. package/src/components/Amelipro/AmeliproPatientLogged/types.d.ts +49 -0
  350. package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLogin.mdx +18 -0
  351. package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLogin.stories.ts +151 -0
  352. package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLogin.vue +231 -0
  353. package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLoginForm/AmeliproPatientLoginForm.vue +252 -0
  354. package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLoginForm/__tests__/AmeliproPatientLoginForm.spec.ts +42 -0
  355. package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLoginForm/__tests__/__snapshots__/AmeliproPatientLoginForm.spec.ts.snap +33 -0
  356. package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLoginForm/types.d.ts +6 -0
  357. package/src/components/Amelipro/AmeliproPatientLogin/__tests__/AmeliproPatientLogin.spec.ts +45 -0
  358. package/src/components/Amelipro/AmeliproPatientLogin/__tests__/__snapshots__/AmeliproPatientLogin.spec.ts.snap +60 -0
  359. package/src/components/Amelipro/AmeliproPatientLogin/types.d.ts +6 -0
  360. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.vue +464 -0
  361. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/AmeliproPostalAddressCityRow.spec.ts +37 -0
  362. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/__snapshots__/AmeliproPostalAddressCityRow.spec.ts.snap +568 -0
  363. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/types.d.ts +12 -0
  364. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.mdx +15 -0
  365. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.stories.ts +133 -0
  366. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.vue +360 -0
  367. package/src/components/Amelipro/AmeliproPostalAddressField/tests/AmeliproPostalAddressField.spec.ts +23 -0
  368. package/src/components/Amelipro/AmeliproPostalAddressField/tests/__snapshots__/AmeliproPostalAddressField.spec.ts.snap +580 -0
  369. package/src/components/Amelipro/AmeliproPostalAddressField/types.d.ts +18 -0
  370. package/src/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.vue +4 -3
  371. package/src/components/Amelipro/AmeliproRadioGroup/tests/AmeliproRadioGroup.spec.ts +0 -4
  372. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.stories.ts +6 -0
  373. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.vue +7 -3
  374. package/src/components/Amelipro/AmeliproResultList/__tests__/AmeliproResultList.spec.ts +0 -4
  375. package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +13 -6
  376. package/src/components/Amelipro/AmeliproSelect/tests/AmeliproSelect.spec.ts +0 -4
  377. package/src/components/Amelipro/AmeliproSelect/tests/__snapshots__/AmeliproSelect.spec.ts.snap +13 -2
  378. package/src/components/Amelipro/AmeliproStateTile/AmeliproStateTile.stories.ts +210 -0
  379. package/src/components/Amelipro/AmeliproStateTile/tests/AmeliproStateTile.spec.ts +0 -4
  380. package/src/components/Amelipro/AmeliproStatus/AmeliproStatus.stories.ts +326 -0
  381. package/src/components/Amelipro/AmeliproStatus/tests/AmeliproStatus.spec.ts +0 -4
  382. package/src/components/Amelipro/AmeliproStepper/AmeliproStepBtn/tests/AmeliproStepBtn.spec.ts +0 -4
  383. package/src/components/Amelipro/AmeliproStepper/tests/AmeliproStepper.spec.ts +0 -4
  384. package/src/components/Amelipro/AmeliproTable/AmeliproTable.stories.ts +238 -4
  385. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +8 -3
  386. package/src/components/Amelipro/AmeliproTable/__tests__/AmeliproTable.spec.ts +0 -4
  387. package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +13 -6
  388. package/src/components/Amelipro/AmeliproTabs/AmeliproTabBtn/tests/AmeliproTabBtn.spec.ts +0 -4
  389. package/src/components/Amelipro/AmeliproTabs/AmeliproTabs.vue +1 -1
  390. package/src/components/Amelipro/AmeliproTabs/tests/AmeliproTabs.spec.ts +0 -4
  391. package/src/components/Amelipro/AmeliproTextArea/AmeliproTextArea.stories.ts +1 -1
  392. package/src/components/Amelipro/AmeliproTextArea/__tests__/AmeliproTextArea.spec.ts +0 -4
  393. package/src/components/Amelipro/AmeliproTextArea/__tests__/__snapshots__/AmeliproTextArea.spec.ts.snap +10 -2
  394. package/src/components/Amelipro/AmeliproTextField/AmeliproTextField.stories.ts +2 -2
  395. package/src/components/Amelipro/AmeliproTextField/tests/AmeliproTextField.spec.ts +0 -4
  396. package/src/components/Amelipro/AmeliproTextField/tests/__snapshots__/AmeliproTextField.spec.ts.snap +10 -2
  397. package/src/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.stories.ts +222 -6
  398. package/src/components/Amelipro/AmeliproTileBtn/tests/AmeliproTileBtn.spec.ts +0 -4
  399. package/src/components/Amelipro/AmeliproTooltips/AmeliproTooltips.stories.ts +169 -0
  400. package/src/components/Amelipro/AmeliproTooltips/AmeliproTooltips.vue +6 -1
  401. package/src/components/Amelipro/AmeliproTooltips/tests/AmeliproTooltips.spec.ts +0 -4
  402. package/src/components/Amelipro/AmeliproTooltips/tests/__snapshots__/AmeliproTooltips.spec.ts.snap +1 -5
  403. package/src/components/Amelipro/AmeliproTransmission/AmeliproTransmission.stories.ts +160 -0
  404. package/src/components/Amelipro/AmeliproTransmission/tests/AmeliproTransmission.spec.ts +0 -4
  405. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.mdx +38 -0
  406. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.stories.ts +99 -0
  407. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.vue +714 -0
  408. package/src/components/Amelipro/AmeliproUpload/README.md +66 -0
  409. package/src/components/Amelipro/AmeliproUpload/__tests__/AmeliproUpload.spec.ts +74 -0
  410. package/src/components/Amelipro/AmeliproUpload/types.d.ts +10 -0
  411. package/src/components/Amelipro/ServiceMenu/ServiceBtn/tests/ServiceBtn.spec.ts +0 -4
  412. package/src/components/Amelipro/ServiceMenu/ServiceList/tests/ServiceList.spec.ts +0 -4
  413. package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/tests/ServiceMenuContent.spec.ts +0 -4
  414. package/src/components/Amelipro/ServiceMenu/tests/ServiceMenu.spec.ts +0 -4
  415. package/src/components/Amelipro/StructureMenu/StructureBtn/tests/StructureBtn.spec.ts +0 -4
  416. package/src/components/Amelipro/StructureMenu/StructureItem/tests/StructureItem.spec.ts +0 -4
  417. package/src/components/Amelipro/StructureMenu/StructureList/tests/StructureList.spec.ts +0 -4
  418. package/src/components/Amelipro/StructureMenu/StructureMenu.vue +1 -1
  419. package/src/components/Amelipro/StructureMenu/StructureTabs/tests/StructureTabs.spec.ts +0 -4
  420. package/src/components/Amelipro/StructureMenu/tests/StructureMenu.spec.ts +0 -2
  421. package/src/components/Amelipro/StructureMenu/tests/__snapshots__/StructureMenu.spec.ts.snap +1 -2
  422. package/src/components/Amelipro/UserInformationSummary/tests/UserInformationSummary.spec.ts +0 -4
  423. package/src/components/Amelipro/UserMenu/UserMenuDetails/tests/UserMenuDetails.spec.ts +0 -4
  424. package/src/components/Amelipro/UserMenu/tests/UserMenu.spec.ts +0 -4
  425. package/src/components/BackBtn/BackBtn.vue +2 -1
  426. package/src/components/BackBtn/tests/BackBtn.spec.ts +1 -23
  427. package/src/components/BackToTopBtn/tests/BackToTopBtn.spec.ts +3 -34
  428. package/src/components/ChipList/tests/chipList.spec.ts +0 -38
  429. package/src/components/CollapsibleList/tests/CollapsibleList.spec.ts +0 -8
  430. package/src/components/ContextualMenu/tests/ContextualMenu.spec.ts +0 -28
  431. package/src/components/CookieBanner/tests/CookieBanner.spec.ts +1 -11
  432. package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.ts +0 -16
  433. package/src/components/CookiesSelection/CookiesTable/tests/CookiesTable.spec.ts +0 -4
  434. package/src/components/CookiesSelection/tests/CookiesSelection.spec.ts +0 -16
  435. package/src/components/CopyBtn/tests/CopyBtn.spec.ts +0 -31
  436. package/src/components/CopyBtn/tests/__snapshots__/CopyBtn.spec.ts.snap +1 -0
  437. package/src/components/Customs/Selects/SelectBtnField/tests/SelectBtnField.spec.ts +3 -37
  438. package/src/components/Customs/Selects/SyBtnSelect/tests/SyBtnSelect.spec.ts +0 -28
  439. package/src/components/Customs/Selects/SyInputSelect/tests/SyInputSelect.spec.ts +8 -104
  440. package/src/components/Customs/Selects/SySelect/SySelect.vue +45 -3
  441. package/src/components/Customs/Selects/SySelect/tests/SySelect.spec.ts +0 -135
  442. package/src/components/Customs/SyCheckbox/SyCheckbox.stories.ts +1 -1
  443. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +5 -1
  444. package/src/components/Customs/SyCheckbox/tests/SyCheckbox.spec.ts +0 -20
  445. package/src/components/Customs/SyForm/Introduction.mdx +132 -0
  446. package/src/components/Customs/SyForm/SyForm.mdx +103 -0
  447. package/src/components/Customs/SyForm/SyForm.stories.ts +363 -0
  448. package/src/components/Customs/SyForm/SyForm.vue +80 -0
  449. package/src/components/Customs/SyTabs/SyTabs.stories.ts +31 -0
  450. package/src/components/Customs/SyTabs/SyTabs.vue +185 -27
  451. package/src/components/Customs/SyTabs/tests/SyTabs.spec.ts +0 -2
  452. package/src/components/Customs/SyTabs/useTabTransition.ts +42 -0
  453. package/src/components/Customs/SyTextField/SyTextField.vue +12 -3
  454. package/src/components/Customs/SyTextField/tests/SyTextField.spec.ts +1 -27
  455. package/src/components/Customs/SyTextField/types.d.ts +1 -1
  456. package/src/components/DataList/DataListLoading/tests/DataListLoading.spec.ts +0 -4
  457. package/src/components/DataList/tests/DataList.spec.ts +0 -26
  458. package/src/components/DataListGroup/tests/DataListGroup.spec.ts +0 -10
  459. package/src/components/DataListItem/DataListItem.vue +12 -13
  460. package/src/components/DataListItem/tests/DataListItem.spec.ts +0 -28
  461. package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +242 -41
  462. package/src/components/DatePicker/CalendarMode/DatePicker.vue +30 -12
  463. package/src/components/DatePicker/CalendarMode/tests/DatePicker.events.spec.ts +0 -16
  464. package/src/components/DatePicker/CalendarMode/tests/DatePicker.spec.ts +4 -34
  465. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +246 -59
  466. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +40 -10
  467. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.events.spec.ts +0 -10
  468. package/src/components/DatePicker/DatePickerOverview.mdx +5 -1
  469. package/src/components/DatePicker/DatePickerValidationExample/DatePickerValidation.mdx +21 -21
  470. package/src/components/DatePicker/DatePickerValidationExample/DatePickerValidation.stories.ts +240 -133
  471. package/src/components/DatePicker/DateTextInput/DateRange.stories.ts +29 -1
  472. package/src/components/DatePicker/DateTextInput/DateTextInput.events.spec.ts +0 -13
  473. package/src/components/DatePicker/DateTextInput/DateTextInput.range.spec.ts +0 -10
  474. package/src/components/DatePicker/DateTextInput/DateTextInput.spec.ts +0 -52
  475. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +32 -9
  476. package/src/components/DatePicker/DateTextInput/NoCalendar.stories.ts +166 -38
  477. package/src/components/DatePicker/composables/useDateValidation.ts +8 -5
  478. package/src/components/DatePicker/composables/useManualDateValidation.ts +23 -6
  479. package/src/components/DatePicker/datePickers.stories.ts +28 -0
  480. package/src/components/DatePicker/docExamples/DatePickerBidirectionalValidation.vue +47 -58
  481. package/src/components/DatePicker/docExamples/DatePickerValidationExamples.vue +2 -2
  482. package/src/components/DatePicker/tests/DatePicker.validation.spec.ts +4111 -0
  483. package/src/components/DatePicker/tests/archiTest.md +33 -0
  484. package/src/components/DatePicker/tests/setup.ts +243 -0
  485. package/src/components/DiacriticPicker/tests/DiatriticPicker.spec.ts +0 -6
  486. package/src/components/DialogBox/DialogBox.stories.ts +1 -1
  487. package/src/components/DialogBox/DialogBox.vue +25 -8
  488. package/src/components/DialogBox/locales.ts +1 -0
  489. package/src/components/DialogBox/tests/DialogBox.spec.ts +175 -66
  490. package/src/components/DialogBox/useDraggable.ts +92 -4
  491. package/src/components/DownloadBtn/tests/DownloadBtn.spec.ts +0 -7
  492. package/src/components/ErrorPage/tests/ErrorPage.spec.ts +0 -7
  493. package/src/components/ExternalLinks/tests/ExternalLinks.spec.ts +0 -16
  494. package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +1 -0
  495. package/src/components/FileList/tests/FileList.spec.ts +0 -13
  496. package/src/components/FilePreview/tests/FilePreview.spec.ts +1 -6
  497. package/src/components/FileUpload/tests/FileUpload.spec.ts +1 -48
  498. package/src/components/FilterInline/tests/FilterInline.spec.ts +0 -10
  499. package/src/components/FilterSideBar/FilterSideBar.stories.ts +2 -0
  500. package/src/components/FilterSideBar/tests/FilterSideBar.spec.ts +0 -10
  501. package/src/components/FooterBar/tests/FooterBar.spec.ts +7 -19
  502. package/src/components/FranceConnectBtn/tests/FranceConnectBtn.spec.ts +0 -11
  503. package/src/components/HeaderBar/HeaderBar.stories.ts +37 -38
  504. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.vue +4 -0
  505. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/tests/__snapshots__/HeaderMenuItem.spec.ts.snap +4 -1
  506. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/tests/HeaderSubMenu.spec.ts +0 -6
  507. package/src/components/HeaderBar/HeaderBurgerMenu/tests/HeaderBurgerMenu.spec.ts +0 -6
  508. package/src/components/HeaderBar/HeaderBurgerMenu/tests/useHandleSubMenus.spec.ts +0 -13
  509. package/src/components/HeaderBar/HeaderLogo/tests/HeaderLogo.spec.ts +1 -22
  510. package/src/components/HeaderBar/HeaderMenuBtn/tests/HeaderMenuBtn.spec.ts +0 -10
  511. package/src/components/HeaderBar/tests/HeaderBar.spec.ts +0 -16
  512. package/src/components/HeaderLoading/tests/HeaderLoading.spec.ts +0 -4
  513. package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +18 -2
  514. package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +35 -18
  515. package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.ts +0 -4
  516. package/src/components/HeaderNavigationBar/types.ts +1 -0
  517. package/src/components/HeaderToolbar/Accessibilite.stories.ts +8 -0
  518. package/src/components/HeaderToolbar/HeaderToolbar.mdx +0 -1
  519. package/src/components/HeaderToolbar/HeaderToolbar.stories.ts +65 -6
  520. package/src/components/HeaderToolbar/HeaderToolbar.vue +589 -162
  521. package/src/components/HeaderToolbar/locales.ts +3 -0
  522. package/src/components/HeaderToolbar/tests/HeaderToolBar.spec.ts +7 -51
  523. package/src/components/HeaderToolbar/useMobileRightMenu.ts +121 -0
  524. package/src/components/LangBtn/tests/LangBtn.spec.ts +0 -56
  525. package/src/components/LogoBrandSection/tests/LogoBrandSection.spec.ts +22 -67
  526. package/src/components/NirField/Accessibilite.stories.ts +4 -0
  527. package/src/components/NirField/NirField.stories.ts +2 -11
  528. package/src/components/NirField/NirField.vue +206 -72
  529. package/src/components/NirField/locales.ts +6 -4
  530. package/src/components/NirField/tests/NirField.cursor.spec.ts +315 -0
  531. package/src/components/NirField/tests/NirField.spec.ts +217 -19
  532. package/src/components/NotFoundPage/tests/NotFoundPage.spec.ts +2 -12
  533. package/src/components/NotificationBar/NotificationBar.mdx +1 -1
  534. package/src/components/NotificationBar/NotificationBar.stories.ts +1 -0
  535. package/src/components/NotificationBar/tests/NotificationBar.spec.ts +5 -44
  536. package/src/components/PageContainer/tests/PageContainer.spec.ts +1 -15
  537. package/src/components/PaginatedTable/tests/PaginatedTable.spec.ts +0 -23
  538. package/src/components/PasswordField/Accessibilite.stories.ts +96 -0
  539. package/src/components/PasswordField/PasswordField.stories.ts +8 -1
  540. package/src/components/PasswordField/PasswordField.vue +98 -19
  541. package/src/components/PasswordField/locales.ts +2 -0
  542. package/src/components/PasswordField/tests/PasswordField.spec.ts +5 -39
  543. package/src/components/PeriodField/tests/PeriodField.spec.ts +4 -74
  544. package/src/components/PhoneField/PhoneField.vue +4 -0
  545. package/src/components/PhoneField/tests/PhoneField.spec.ts +3 -154
  546. package/src/components/RangeField/Accessibilite.stories.ts +4 -0
  547. package/src/components/RangeField/RangeField.stories.ts +60 -0
  548. package/src/components/RangeField/RangeField.vue +37 -21
  549. package/src/components/RangeField/RangeSlider/RangeSlider.vue +30 -8
  550. package/src/components/RangeField/RangeSlider/Tooltip/Tooltip.vue +1 -0
  551. package/src/components/RangeField/RangeSlider/tests/__snapshots__/rangeSlider.spec.ts.snap +12 -4
  552. package/src/components/RangeField/RangeSlider/tests/rangeSlider.spec.ts +0 -13
  553. package/src/components/RangeField/RangeSlider/tests/useMouseSlide.spec.ts +9 -1
  554. package/src/components/RangeField/RangeSlider/tests/useThumbKeyboard.spec.ts +0 -34
  555. package/src/components/RangeField/RangeSlider/tests/useTrack.spec.ts +4 -24
  556. package/src/components/RangeField/RangeSlider/useMouseSlide.ts +23 -8
  557. package/src/components/RangeField/config.ts +3 -1
  558. package/src/components/RangeField/tests/RangeField.spec.ts +0 -31
  559. package/src/components/RangeField/tests/__snapshots__/RangeField.spec.ts.snap +210 -171
  560. package/src/components/RatingPicker/Accessibilite.stories.ts +4 -0
  561. package/src/components/RatingPicker/EmotionPicker/EmotionPicker.vue +119 -66
  562. package/src/components/RatingPicker/EmotionPicker/locales.ts +2 -0
  563. package/src/components/RatingPicker/EmotionPicker/tests/EmotionPicker.spec.ts +6 -27
  564. package/src/components/RatingPicker/EmotionPicker/tests/__snapshots__/EmotionPicker.spec.ts.snap +462 -678
  565. package/src/components/RatingPicker/NumberPicker/NumberPicker.vue +106 -42
  566. package/src/components/RatingPicker/NumberPicker/tests/NumberPicker.spec.ts +5 -20
  567. package/src/components/RatingPicker/NumberPicker/tests/__snapshots__/NumberPicker.spec.ts.snap +119 -515
  568. package/src/components/RatingPicker/Rating.ts +5 -1
  569. package/src/components/RatingPicker/RatingPicker.stories.ts +5 -6
  570. package/src/components/RatingPicker/RatingPicker.vue +7 -2
  571. package/src/components/RatingPicker/StarsPicker/StarsPicker.vue +78 -42
  572. package/src/components/RatingPicker/StarsPicker/tests/StarsPicker.spec.ts +10 -29
  573. package/src/components/RatingPicker/StarsPicker/tests/__snapshots__/StarsPicker.spec.ts.snap +163 -245
  574. package/src/components/RatingPicker/locales.ts +1 -0
  575. package/src/components/RatingPicker/tests/Rating.spec.ts +0 -10
  576. package/src/components/RatingPicker/tests/RatingPicker.spec.ts +0 -23
  577. package/src/components/RatingPicker/tests/__snapshots__/RatingPicker.spec.ts.snap +120 -516
  578. package/src/components/SearchListField/SearchListField.mdx +3 -4
  579. package/src/components/SearchListField/SearchListField.stories.ts +103 -3
  580. package/src/components/SearchListField/SearchListField.vue +34 -9
  581. package/src/components/SearchListField/tests/SearchListField.spec.ts +98 -44
  582. package/src/components/SocialMediaLinks/tests/SocialMediaLinks.spec.ts +0 -32
  583. package/src/components/SubHeader/tests/SubHeader.spec.ts +0 -18
  584. package/src/components/SyAlert/tests/SyAlert.spec.ts +0 -14
  585. package/src/components/SyTextArea/tests/SyTextArea.spec.ts +0 -31
  586. package/src/components/TableToolbar/tests/TableToolbar.spec.ts +0 -31
  587. package/src/components/TableToolbar/tests/__snapshots__/TableToolbar.spec.ts.snap +72 -24
  588. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +109 -84
  589. package/src/components/Tables/SyServerTable/SyServerTable.vue +66 -19
  590. package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +0 -58
  591. package/src/components/Tables/SyTable/SyTable.vue +31 -13
  592. package/src/components/Tables/SyTable/tests/SyTable.spec.ts +6 -55
  593. package/src/components/Tables/common/SyTablePagination.vue +1 -7
  594. package/src/components/Tables/common/TableHeader.vue +57 -2
  595. package/src/components/Tables/common/filters/tests/DateFilter.spec.ts +0 -11
  596. package/src/components/Tables/common/filters/tests/NumberFilter.spec.ts +0 -11
  597. package/src/components/Tables/common/filters/tests/PeriodFilter.spec.ts +0 -11
  598. package/src/components/Tables/common/filters/tests/SelectFilter.spec.ts +0 -11
  599. package/src/components/Tables/common/filters/tests/TextFilter.spec.ts +0 -11
  600. package/src/components/Tables/common/tableProps.ts +19 -1
  601. package/src/components/Tables/common/tests/SyTableFilter.spec.ts +0 -31
  602. package/src/components/Tables/common/tests/SyTablePagination.spec.ts +0 -49
  603. package/src/components/Tables/common/tests/TableHeader.spec.ts +0 -19
  604. package/src/components/Tables/common/tests/filterByRange.spec.ts +0 -13
  605. package/src/components/Tables/common/tests/resize.spec.ts +0 -13
  606. package/src/components/Tables/common/types.ts +7 -0
  607. package/src/components/Tables/common/usePagination.ts +0 -6
  608. package/src/components/Tables/common/useStoredOptions.ts +1 -1
  609. package/src/components/Tables/common/useTableCheckbox.ts +5 -5
  610. package/src/components/Tables/common/useTableHeaders.ts +73 -6
  611. package/src/components/ToolbarContainer/tests/ToolbarContainer.spec.ts +0 -19
  612. package/src/components/UploadWorkflow/tests/UploadWorkflow.spec.ts +0 -15
  613. package/src/components/Usages/tests/Usages.spec.ts +3 -31
  614. package/src/components/UserMenuBtn/tests/UserMenuBtn.spec.ts +0 -31
  615. package/src/components/index.ts +8 -0
  616. package/src/composables/rules/useFieldValidation.ts +21 -3
  617. package/src/composables/useFilterable/useFilterable.ts +33 -24
  618. package/src/composables/validation/AvecVosComposants.mdx.old +145 -0
  619. package/src/composables/validation/FormValidation.mdx.old +151 -0
  620. package/src/composables/validation/FormValidation.stories.ts.old +402 -0
  621. package/src/composables/validation/useFormValidation.ts +91 -0
  622. package/src/composables/validation/useValidatable.ts +41 -0
  623. package/src/stories/Accessibilite/Avancement/Avancement.stories.ts +2 -2
  624. package/src/stories/Accessibilite/KitDePreAudit/Outils/Introduction.mdx +2 -2
  625. package/src/stories/Accessibilite/KitDePreAudit/Preaudit.mdx +2 -2
  626. package/src/stories/Demarrer/Accueil.stories.ts +6 -6
  627. package/src/stories/GuideDuDev/FormValidationGuide.mdx +746 -114
  628. package/src/stories/GuideDuDev/Installation.mdx +13 -0
  629. package/src/stories/GuideDuDev/LesBreackingChanges.mdx +1 -1
  630. package/src/stories/GuideDuDev/MigrationDepuisBridge.mdx +1 -1
  631. package/src/stories/GuideDuDev/MigrationDepuisVue2.mdx +1 -1
  632. package/src/stories/GuideDuDev/UtiliserLesRules.mdx +138 -136
  633. package/src/utils/amelipro/rules/uploadFile/index.ts +119 -0
  634. package/src/utils/amelipro/rules/uploadFile/tests/uploadFile.spec.ts +55 -0
  635. package/src/utils/amelipro/toKebabCase/toKebabCase.ts +11 -0
  636. package/src/utils/rules/doMatchPattern/index.ts +1 -1
  637. package/src/utils/rules/isDateValid/index.ts +1 -1
  638. package/src/utils/rules/isExactLength/index.ts +4 -0
  639. package/src/utils/rules/isHolidayDay/index.ts +1 -1
  640. package/src/utils/rules/isHolidayDay/tests/isHolidayDay.spec.ts +24 -14
  641. package/src/utils/rules/isMaxLength/index.ts +4 -0
  642. package/src/utils/rules/isMinLength/index.ts +4 -0
  643. package/src/utils/rules/isNotAfterDate/index.ts +4 -0
  644. package/src/utils/rules/isNotAfterToday/index.ts +1 -1
  645. package/src/utils/rules/isNotBeforeDate/index.ts +4 -0
  646. package/src/utils/rules/isNotBeforeToday/index.ts +1 -1
  647. package/src/utils/rules/isRequired/index.ts +11 -5
  648. package/src/utils/rules/isRequired/tests/{isRequred.spec.ts → isRequired.spec.ts} +24 -0
  649. package/src/utils/rules/isValidEmail/index.ts +1 -1
  650. package/src/utils/rules/types.d.ts +12 -3
  651. package/dist/main-2eWGB7zZ.js +0 -30203
  652. package/src/components/Amelipro/AmeliproBtn/tests/AmeliproBtn.spec.ts +0 -22
  653. package/src/components/Amelipro/AmeliproBtn/tests/__snapshots__/AmeliproBtn.spec.ts.snap +0 -46
  654. package/src/components/Amelipro/AmeliproCallback/tests/AmeliproCallback.spec.ts +0 -21
  655. package/src/components/Amelipro/AmeliproCallback/tests/__snapshots__/AmeliproCallback.spec.ts.snap +0 -165
  656. package/src/components/Amelipro/AmeliproCard/tests/AmeliproCard.spec.ts +0 -23
  657. package/src/components/Amelipro/AmeliproCard/tests/__snapshots__/AmeliproCard.spec.ts.snap +0 -78
  658. package/src/components/DialogBox/tests/__snapshots__/DialogBox.spec.ts.snap +0 -204
@@ -0,0 +1,42 @@
1
+ import { mount } from '@vue/test-utils'
2
+ import { expect, describe, it } from 'vitest'
3
+ import AmeliproPatientLoginForm from '../AmeliproPatientLoginForm.vue'
4
+
5
+ describe('AmeliproPatientLoginForm', () => {
6
+ it('render correctly', async () => {
7
+ const wrapper = mount(AmeliproPatientLoginForm, {
8
+ props: {
9
+ autoCompleteCardItems: [
10
+ {
11
+ title: 'Carte 1',
12
+ value: '1',
13
+ },
14
+ {
15
+ title: 'Carte 2',
16
+ value: '2',
17
+ },
18
+ {
19
+ title: 'Carte 3',
20
+ value: '3',
21
+ },
22
+ ],
23
+ disablePatientLoginFormAppVitalCard: true,
24
+ disablePatientLoginFormNir: true,
25
+ disablePatientLoginFormVitalCard: true,
26
+ errorMessageAppVitalCard: true,
27
+ errorMessageNir: true,
28
+ errorMessageVitalCard: true,
29
+ loading: true,
30
+ modelValue: {
31
+ fieldValue: 'test',
32
+ autoCompleteValue: '2',
33
+ },
34
+ noAppVitalCard: false,
35
+ noNir: false,
36
+ noVitalCard: false,
37
+ uniqueId: 'test-id',
38
+ },
39
+ })
40
+ expect(wrapper.html()).toMatchSnapshot()
41
+ })
42
+ })
@@ -0,0 +1,33 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`AmeliproPatientLoginForm > render correctly 1`] = `
4
+ <div
5
+ aria-live="polite"
6
+ disablepatientloginformappvitalcard="true"
7
+ disablepatientloginformnir="true"
8
+ disablepatientloginformvitalcard="true"
9
+ >
10
+ <!-- v-if -->
11
+ <div
12
+ aria-busy="true"
13
+ class="
14
+ d-block
15
+ mt-8
16
+ "
17
+ >
18
+ <p class="text-center">
19
+ <span
20
+ aria-hidden="true"
21
+ class="
22
+ d-block
23
+ mx-auto
24
+ my-4
25
+ "
26
+ >
27
+ <span class="loader"></span>
28
+ </span>
29
+ Veuillez patienter pendant le chargement...
30
+ </p>
31
+ </div>
32
+ </div>
33
+ `;
@@ -0,0 +1,6 @@
1
+ import { AutoCompleteItem } from '../../AmeliproAutoCompleteField/types'
2
+
3
+ export interface IPatientLoginForm {
4
+ fieldValue?: string | number
5
+ autoCompleteValue?: AutoCompleteItem | string
6
+ }
@@ -0,0 +1,45 @@
1
+ import { mount } from '@vue/test-utils'
2
+ import { expect, describe, it } from 'vitest'
3
+ import AmeliproPatientLogin from '../AmeliproPatientLogin.vue'
4
+
5
+ describe('AmeliproPatientLogin', () => {
6
+ it('render correctly', async () => {
7
+ const wrapper = mount(AmeliproPatientLogin, {
8
+ props: {
9
+ autoCompleteCardItems: [
10
+ {
11
+ title: 'Carte 1',
12
+ value: '1',
13
+ },
14
+ {
15
+ title: 'Carte 2',
16
+ value: '2',
17
+ },
18
+ {
19
+ title: 'Carte 3',
20
+ value: '3',
21
+ },
22
+ ],
23
+ disableBtnAppVitalCard: true,
24
+ disableBtnNir: true,
25
+ disableBtnVitalCard: true,
26
+ errorMessageAppVitalCard: true,
27
+ errorMessageNir: true,
28
+ errorMessageVitalCard: true,
29
+ loading: true,
30
+ modelValue: {
31
+ dialog: false,
32
+ formValue: {
33
+ fieldValue: 'test',
34
+ autoCompleteValue: '2',
35
+ },
36
+ },
37
+ noAppVitalCard: false,
38
+ noNir: false,
39
+ noVitalCard: false,
40
+ uniqueId: 'test-id',
41
+ },
42
+ })
43
+ expect(wrapper.html()).toMatchSnapshot()
44
+ })
45
+ })
@@ -0,0 +1,60 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`AmeliproPatientLogin > render correctly 1`] = `
4
+ <div id="test-id">
5
+ <div
6
+ class="
7
+ amelipro-card
8
+ d-flex
9
+ flex-column
10
+ flex-md-row
11
+ w-100
12
+ "
13
+ style="
14
+ background-color: #FFFFFF;
15
+ border: 1px solid #DDDEDE;
16
+ "
17
+ >
18
+ <div
19
+ class="amelipro-card__left-part"
20
+ style="width: 100%;"
21
+ >
22
+ <!-- v-if -->
23
+ <div class="amelipro-card__content">
24
+ <h2
25
+ class="ident-title"
26
+ id="test-id-title"
27
+ >
28
+ Identification patient
29
+ </h2>
30
+ <div aria-live="polite">
31
+ <!-- v-if -->
32
+ <div
33
+ aria-busy="true"
34
+ class="
35
+ d-block
36
+ mt-8
37
+ "
38
+ >
39
+ <p class="text-center">
40
+ <span
41
+ aria-hidden="true"
42
+ class="
43
+ d-block
44
+ mx-auto
45
+ my-4
46
+ "
47
+ >
48
+ <span class="loader"></span>
49
+ </span>
50
+ Veuillez patienter pendant le chargement...
51
+ </p>
52
+ </div>
53
+ </div>
54
+ <!-- v-if -->
55
+ </div>
56
+ </div>
57
+ <!-- v-if -->
58
+ </div>
59
+ </div>
60
+ `;
@@ -0,0 +1,6 @@
1
+ import { IPatientLoginForm } from './AmeliproPatientLoginForm/types'
2
+
3
+ export interface IPatientLogin {
4
+ dialog: boolean
5
+ formValue?: IPatientLoginForm
6
+ }
@@ -0,0 +1,464 @@
1
+ <script setup lang="ts">
2
+ /* eslint-disable vuejs-accessibility/label-has-for */
3
+ import { type PropType, computed, onMounted, ref } from 'vue'
4
+ import AmeliproAutoCompleteField from '../../AmeliproAutoCompleteField/AmeliproAutoCompleteField.vue'
5
+ import AmeliproMessage from '../../AmeliproMessage/AmeliproMessage.vue'
6
+ import type { AutoCompleteItem } from '../../AmeliproAutoCompleteField/types'
7
+ import type { InputPostalAddressAutoCompleteItem } from './types'
8
+ import type { InputPostalAddressField } from '../types'
9
+ import type { ValidateOnType } from '../../types'
10
+ import type { ValidationRule } from '@/utils/rules/types'
11
+ import { convertToHex } from '@/utils/functions/convertToHex'
12
+ import { isRequired } from '@/utils/rules/isRequired'
13
+ import { useDisplay } from 'vuetify'
14
+
15
+ const props = defineProps({
16
+ ariaRequired: {
17
+ type: Boolean,
18
+ default: false,
19
+ },
20
+ autoCompleteList: {
21
+ type: Array as PropType<InputPostalAddressAutoCompleteItem[]>,
22
+ default: () => [],
23
+ },
24
+ city: {
25
+ type: [String, Object] as PropType<string | InputPostalAddressAutoCompleteItem>,
26
+ default: undefined,
27
+ },
28
+ cityRules: {
29
+ type: Array as PropType<ValidationRule[]>,
30
+ default: () => [],
31
+ },
32
+ disabled: {
33
+ type: Boolean,
34
+ default: false,
35
+ },
36
+ postalCode: {
37
+ type: [String, Object] as PropType<string | InputPostalAddressAutoCompleteItem>,
38
+ default: undefined,
39
+ },
40
+ postalCodeRules: {
41
+ type: Array as PropType<ValidationRule[]>,
42
+ default: () => [],
43
+ },
44
+ readonly: {
45
+ type: Boolean,
46
+ default: false,
47
+ },
48
+ uniqueId: {
49
+ type: String,
50
+ required: true,
51
+ },
52
+ validateOn: {
53
+ default: undefined,
54
+ type: String as PropType<ValidateOnType>,
55
+ validator(value: string): boolean {
56
+ return ['lazy', 'blur', 'input', 'submit', 'blur lazy', 'input lazy', 'submit lazy', 'lazy blur', 'lazy input', 'lazy submit'].includes(value.toLowerCase())
57
+ },
58
+ },
59
+ })
60
+
61
+ const { mdAndUp } = useDisplay()
62
+
63
+ // v-model
64
+ const cityValue = computed({
65
+ get: (): string | InputPostalAddressAutoCompleteItem => props.city || '',
66
+ set: (newValue: string | InputPostalAddressAutoCompleteItem): void => {
67
+ emit('update:city', newValue)
68
+ setInternalValue('postalCode', newValue, false)
69
+ },
70
+ })
71
+
72
+ const postalCodeValue = computed({
73
+ get: (): string | InputPostalAddressAutoCompleteItem => props.postalCode || '',
74
+ set: (newValue: string | InputPostalAddressAutoCompleteItem): void => {
75
+ emit('update:postalCode', newValue)
76
+ setInternalValue('city', newValue, false)
77
+ },
78
+ })
79
+
80
+ const compareFields = (oldValue: string | InputPostalAddressAutoCompleteItem, newValue: string | InputPostalAddressAutoCompleteItem) => {
81
+ if (typeof oldValue === 'string' && typeof newValue === 'string') {
82
+ return oldValue === newValue
83
+ }
84
+ else if (typeof oldValue === 'object' && typeof newValue === 'object') {
85
+ return oldValue.city === newValue.city && oldValue.postalCode === newValue.postalCode
86
+ }
87
+ return false
88
+ }
89
+
90
+ const setInternalValue = (autocomplete?: string, newValue?: string | InputPostalAddressAutoCompleteItem, handleBoth = true): void => {
91
+ if (props.autoCompleteList.length > 0) {
92
+ if (autocomplete === 'city' && !compareFields(cityValue.value, newValue || postalCodeValue.value)) {
93
+ if (handleBoth) {
94
+ cityValue.value = newValue || postalCodeValue.value
95
+ }
96
+ else {
97
+ emit('update:city', newValue || postalCodeValue.value)
98
+ }
99
+ }
100
+
101
+ if (autocomplete === 'postalCode' && !compareFields(postalCodeValue.value, newValue || cityValue.value)) {
102
+ if (handleBoth) {
103
+ postalCodeValue.value = newValue || cityValue.value
104
+ }
105
+ else {
106
+ emit('update:postalCode', newValue || cityValue.value)
107
+ }
108
+ }
109
+ }
110
+
111
+ if (postalCodeFocused.value) {
112
+ postalCodeFocused.value = false
113
+ }
114
+
115
+ if (cityFocused.value) {
116
+ cityFocused.value = false
117
+ }
118
+ }
119
+
120
+ type eventType = 'blur' | 'change' | 'update:error'
121
+ const emit = defineEmits(['blur', 'change', 'update:city', 'update:postalCode', 'update:error'])
122
+ const emitEvent = (eventName: eventType, autocomplete?: string): void => {
123
+ if (typeof event === 'object') {
124
+ setInternalValue(autocomplete)
125
+ }
126
+ emit(eventName, { city: cityValue.value, postalCode: postalCodeValue.value })
127
+ }
128
+
129
+ const inputRules = (ruleKey: 'cityRules' | 'postalCodeRules'): ValidationRule[] => {
130
+ const rules = [
131
+ ...props[ruleKey],
132
+ ]
133
+
134
+ if (props.ariaRequired) {
135
+ rules.push(isRequired)
136
+ }
137
+
138
+ return rules
139
+ }
140
+
141
+ /**
142
+ * <ref>inputPostalCodeField est tantôt :
143
+ * - un VTextField (si autoCompleteList est vide)
144
+ * - un AmeliproAutoCompleteField (si autoCompleteList n'est pas vide)
145
+ *
146
+ */
147
+ const inputPostalCodeField = ref<InputPostalAddressField>({
148
+ errorMessages: [],
149
+ isValid: true,
150
+ })
151
+
152
+ const postalCodeAutoCompleteList = (list: InputPostalAddressAutoCompleteItem[]): AutoCompleteItem[] => {
153
+ const autoCompleteItemList: AutoCompleteItem[] = []
154
+ list.forEach((element) => {
155
+ autoCompleteItemList.push({
156
+ disabled: element.disabled,
157
+ title: `${element.postalCode}`,
158
+ value: element,
159
+ })
160
+ })
161
+ return autoCompleteItemList
162
+ }
163
+ const postalCodeFocused = ref(false)
164
+ const displayPostalCodeError = computed(() => (inputPostalCodeField.value?.isValid !== null && !inputPostalCodeField.value?.isValid) && (inputPostalCodeField.value?.errorMessages && inputPostalCodeField.value?.errorMessages.length > 0))
165
+
166
+ /**
167
+ * <ref>inputCityField est tantôt :
168
+ * - un VTextField (si autoCompleteList est vide)
169
+ * - un AmeliproAutoCompleteField (si autoCompleteList n'est pas vide)
170
+ *
171
+ */
172
+ const inputCityField = ref<InputPostalAddressField>({
173
+ errorMessages: [],
174
+ isValid: true,
175
+ })
176
+ const cityAutoCompleteList = (list: InputPostalAddressAutoCompleteItem[]): AutoCompleteItem[] => {
177
+ const autoCompleteItemList: AutoCompleteItem[] = []
178
+ list.forEach((element) => {
179
+ autoCompleteItemList.push({
180
+ disabled: element.disabled,
181
+ title: `${element.city} (${element.postalCode})`,
182
+ value: element,
183
+ })
184
+ })
185
+ return autoCompleteItemList
186
+ }
187
+ const cityFocused = ref(false)
188
+ const displayCityError = computed(() => (inputCityField.value?.isValid !== null && !inputCityField.value?.isValid) && (inputCityField.value?.errorMessages && inputCityField.value?.errorMessages.length > 0))
189
+
190
+ const inputCityBorderStyle = computed<string>(() => {
191
+ let borderColor = convertToHex('ap-grey-darken-1')
192
+
193
+ if (cityFocused.value) {
194
+ borderColor = convertToHex('ap-blue-darken-1')
195
+ }
196
+
197
+ if (displayCityError.value) {
198
+ borderColor = convertToHex('ap-red')
199
+ }
200
+
201
+ if (props.disabled) {
202
+ borderColor = convertToHex('ap-grey-lighten-2')
203
+ }
204
+
205
+ return borderColor
206
+ })
207
+
208
+ const inputPostalCodeBorderStyle = computed<string>(() => {
209
+ let borderColor = convertToHex('ap-grey-darken-1')
210
+
211
+ if (postalCodeFocused.value) {
212
+ borderColor = convertToHex('ap-blue-darken-1')
213
+ }
214
+
215
+ if (displayPostalCodeError.value) {
216
+ borderColor = convertToHex('ap-red')
217
+ }
218
+
219
+ if (props.disabled) {
220
+ borderColor = convertToHex('ap-grey-lighten-2')
221
+ }
222
+
223
+ return borderColor
224
+ })
225
+
226
+ onMounted(() => {
227
+ // remove the native label of VTextField because we have our own one
228
+ document.querySelectorAll(`label[for="${props.uniqueId}-city"]`)[1]?.remove()
229
+ document.querySelectorAll(`label[for="${props.uniqueId}-postal-code"]`)[1]?.remove()
230
+ })
231
+ </script>
232
+
233
+ <template>
234
+ <div
235
+ :id="`${uniqueId}-city-row-container`"
236
+ class="mt-2 amelipro-postal-address__city-row"
237
+ >
238
+ <div class="d-flex flex-column flex-md-row align-md-center">
239
+ <div
240
+ v-if="autoCompleteList.length > 0"
241
+ class="mr-sm-3 postal-code-field"
242
+ >
243
+ <AmeliproAutoCompleteField
244
+ ref="inputPostalCodeField"
245
+ v-model="postalCodeValue"
246
+ :aria-describedby="displayPostalCodeError ? `${uniqueId}-postal-code-error` : undefined"
247
+ :aria-invalid="displayPostalCodeError ? true : undefined"
248
+ :aria-required="ariaRequired"
249
+ autocomplete="address-level2"
250
+ :disabled="disabled"
251
+ hide-error-message
252
+ :items="postalCodeAutoCompleteList(autoCompleteList)"
253
+ label="Code Postal"
254
+ :readonly="readonly"
255
+ :rules="inputRules('postalCodeRules')"
256
+ :unique-id="`${uniqueId}-postal-code`"
257
+ :validate-on="validateOn"
258
+ @blur="emitEvent('blur', 'city')"
259
+ @change="emitEvent('change', 'city')"
260
+ @focus="postalCodeFocused = true"
261
+ @update:error="emitEvent('update:error', 'city')"
262
+ />
263
+ </div>
264
+ <div
265
+ v-else
266
+ class="mr-sm-3 postal-code-field"
267
+ >
268
+ <label
269
+ :id="`${uniqueId}-postal-code-label`"
270
+ class="text-body-1"
271
+ :for="`${uniqueId}-postal-code`"
272
+ >
273
+ Code postal&nbsp;:&nbsp;
274
+ <span v-if="ariaRequired">
275
+ <span aria-hidden="true">
276
+ *
277
+ </span>
278
+ <span class="d-sr-only">
279
+ &nbsp;Champ obligatoire
280
+ </span>
281
+ </span>
282
+ </label>
283
+
284
+ <VTextField
285
+ :id="`${uniqueId}-postal-code`"
286
+ ref="inputPostalCodeField"
287
+ v-model="postalCodeValue"
288
+ :aria-describedby="displayPostalCodeError ? `${uniqueId}-postal-code-error` : undefined"
289
+ :aria-invalid="displayPostalCodeError ? true : undefined"
290
+ :aria-required="ariaRequired"
291
+ autocomplete="postal-code"
292
+ :bg-color="disabled ? 'ap-grey-lighten-2' : 'ap-white'"
293
+ class="pt-0"
294
+ color="ap-blue-darken-1"
295
+ density="compact"
296
+ :disabled="disabled"
297
+ hide-details
298
+ :readonly="readonly"
299
+ :rules="inputRules('postalCodeRules')"
300
+ :validate-on="validateOn"
301
+ variant="outlined"
302
+ @blur="emitEvent('blur')"
303
+ @change="emitEvent('change')"
304
+ @focus="postalCodeFocused = true"
305
+ @update:error="emitEvent('update:error')"
306
+ />
307
+ </div>
308
+ <AmeliproMessage
309
+ v-if="displayPostalCodeError && !mdAndUp"
310
+ class="mb-0"
311
+ no-icon
312
+ text
313
+ type="error"
314
+ :unique-id="`${uniqueId}-postal-code-error`"
315
+ >
316
+ <p class="mb-0">
317
+ {{ inputPostalCodeField.errorMessages[0] }}
318
+ </p>
319
+ </AmeliproMessage>
320
+ <div
321
+ v-if="autoCompleteList.length > 0"
322
+ class="city-field"
323
+ >
324
+ <AmeliproAutoCompleteField
325
+ ref="inputCityField"
326
+ v-model="cityValue"
327
+ :aria-describedby="displayCityError ? `${uniqueId}-city-error` : undefined"
328
+ :aria-invalid="displayCityError ? true : undefined"
329
+ :aria-required="ariaRequired"
330
+ autocomplete="address-level2"
331
+ :disabled="disabled"
332
+ hide-error-message
333
+ :items="cityAutoCompleteList(autoCompleteList)"
334
+ label="Commune"
335
+ :readonly="readonly"
336
+ :rules="inputRules('cityRules')"
337
+ :unique-id="`${uniqueId}-city`"
338
+ :validate-on="validateOn"
339
+ @blur="emitEvent('blur', 'postalCode')"
340
+ @change="emitEvent('change', 'postalCode')"
341
+ @focus="cityFocused = true"
342
+ @update:error="emitEvent('update:error', 'postalCode')"
343
+ />
344
+ </div>
345
+
346
+ <div
347
+ v-else
348
+ class="city-field"
349
+ >
350
+ <label
351
+ :id="`${uniqueId}-city-label`"
352
+ class="text-body-1"
353
+ :for="`${uniqueId}-city`"
354
+ >
355
+ Commune&nbsp;:&nbsp;
356
+ <span v-if="ariaRequired">
357
+ <span aria-hidden="true">
358
+ *
359
+ </span>
360
+ <span class="d-sr-only">
361
+ &nbsp;Champ obligatoire
362
+ </span>
363
+ </span>
364
+ </label>
365
+ <VTextField
366
+ :id="`${uniqueId}-city`"
367
+ ref="inputCityField"
368
+ v-model="cityValue"
369
+ :aria-describedby="displayCityError ? `${uniqueId}-city-error` : undefined"
370
+ :aria-invalid="displayCityError ? true : undefined"
371
+ :aria-required="ariaRequired"
372
+ autocomplete="address-level2"
373
+ :bg-color="disabled ? 'ap-grey-lighten-2' : 'ap-white'"
374
+ class="pt-0"
375
+ color="ap-blue-darken-1"
376
+ density="compact"
377
+ :disabled="disabled"
378
+ hide-details
379
+ :readonly="readonly"
380
+ :rules="inputRules('cityRules')"
381
+ :validate-on="validateOn"
382
+ variant="outlined"
383
+ @blur="emitEvent('blur')"
384
+ @change="emitEvent('change')"
385
+ @focus="cityFocused = true"
386
+ @update:error="emitEvent('update:error')"
387
+ />
388
+ </div>
389
+ </div>
390
+ <AmeliproMessage
391
+ v-if="displayPostalCodeError && mdAndUp"
392
+ class="mb-0"
393
+ no-icon
394
+ text
395
+ type="error"
396
+ :unique-id="`${uniqueId}-postal-code-error`"
397
+ >
398
+ <p class="mb-0">
399
+ {{ inputPostalCodeField.errorMessages[0] }}
400
+ </p>
401
+ </AmeliproMessage>
402
+ <AmeliproMessage
403
+ v-if="displayCityError"
404
+ class="mb-0"
405
+ no-icon
406
+ text
407
+ type="error"
408
+ :unique-id="`${uniqueId}-city-error`"
409
+ >
410
+ <p class="mb-0">
411
+ {{ inputCityField.errorMessages[0] }}
412
+ </p>
413
+ </AmeliproMessage>
414
+ </div>
415
+ </template>
416
+
417
+ <style lang="scss" scoped>
418
+ @use '@/assets/amelipro/apTokens';
419
+
420
+ .postal-code-field {
421
+ min-width: 120px;
422
+ width: 120px;
423
+
424
+ & :deep(.v-field__outline) {
425
+ border-color: v-bind(inputPostalCodeBorderStyle);
426
+ }
427
+ }
428
+
429
+ .city-field {
430
+ min-width: 200px;
431
+ width: 100%;
432
+
433
+ & :deep(.v-field__outline) {
434
+ border-color: v-bind(inputCityBorderStyle);
435
+ }
436
+ }
437
+
438
+ .city-field,
439
+ .postal-code-field {
440
+ & :deep(.v-field__outline) {
441
+ --v-field-border-opacity: 1 !important;
442
+ }
443
+
444
+ & :deep(.v-field.v-field--variant-outlined.v-field--focused .v-field__outline) {
445
+ --v-field-border-width: 1px !important;
446
+ }
447
+
448
+ label {
449
+ margin-bottom: 4px;
450
+ font-weight: apTokens.$label-font-weight;
451
+ }
452
+ }
453
+
454
+ .v-input {
455
+ & :deep(.v-field__input) {
456
+ padding-left: 12px;
457
+ padding-right: 12px;
458
+ }
459
+
460
+ & :deep(.v-field--disabled) {
461
+ opacity: 1 !important;
462
+ }
463
+ }
464
+ </style>
@@ -0,0 +1,37 @@
1
+ import { mount } from '@vue/test-utils'
2
+ import { expect, describe, it } from 'vitest'
3
+ import AmeliproPostalAddressCityRow from '../AmeliproPostalAddressCityRow.vue'
4
+
5
+ describe('AmeliproPostalAddressCityRow', () => {
6
+ it('render correctly', async () => {
7
+ const wrapper = mount(AmeliproPostalAddressCityRow, {
8
+ props: {
9
+ ariaRequired: true,
10
+ autoCompleteList: [
11
+ {
12
+ city: 'Nantes',
13
+ disabled: false,
14
+ postalCode: '44000',
15
+ },
16
+ {
17
+ city: 'Paris',
18
+ postalCode: '75000',
19
+ },
20
+ {
21
+ city: 'Marseille',
22
+ postalCode: '13000',
23
+ },
24
+ ],
25
+ disabled: true,
26
+ uniqueId: 'the-groupId',
27
+ readonly: true,
28
+ modelValue: {
29
+ postalCode: 'the-postalCode',
30
+ city: 'the-city',
31
+ },
32
+ },
33
+ })
34
+
35
+ expect(wrapper.html()).toMatchSnapshot()
36
+ })
37
+ })