@cnamts/synapse 1.0.15 → 1.0.16

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 (394) hide show
  1. package/dist/{DateFilter-isr8mXVb.js → DateFilter-DSwJUvBu.js} +12 -12
  2. package/dist/{NumberFilter-BOe7DqWX.js → NumberFilter-CwsbYyz4.js} +1 -1
  3. package/dist/{PeriodFilter-WTprpO40.js → PeriodFilter-csnEZU30.js} +1 -1
  4. package/dist/{SelectFilter-CqlG5dmI.js → SelectFilter-Bd5fndzR.js} +1 -1
  5. package/dist/{TextFilter-fVW5bsRw.js → TextFilter-B6gxzq2a.js} +1 -1
  6. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +2836 -2845
  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/AmeliproCheckbox/AmeliproCheckbox.d.ts +3 -3
  11. package/dist/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.d.ts +3 -3
  12. package/dist/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.d.ts +3 -3
  13. package/dist/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.d.ts +3 -3
  14. package/dist/components/Amelipro/AmeliproErrorTemplate/AmeliproErrorTemplate.d.ts +3 -3
  15. package/dist/components/Amelipro/AmeliproFirstLogin/AmeliproFirstLogin.d.ts +3 -3
  16. package/dist/components/Amelipro/AmeliproFooter/AmeliproFooter.d.ts +18 -18
  17. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeader.d.ts +9 -9
  18. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBar.d.ts +3 -3
  19. package/dist/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.d.ts +3 -3
  20. package/dist/components/Amelipro/AmeliproIcon/AmeliproIcon.d.ts +3 -1
  21. package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +5 -3
  22. package/dist/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.d.ts +3 -3
  23. package/dist/components/Amelipro/AmeliproMenu/AmeliproMenu.d.ts +3 -3
  24. package/dist/components/Amelipro/AmeliproMultipleFoldingCard/AmeliproMultipleFoldingCard.d.ts +1 -1
  25. package/dist/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/AmeliproPaginationBtn.d.ts +3 -3
  26. package/dist/components/Amelipro/AmeliproPatientBanner/AmeliproPatientBanner.d.ts +3 -3
  27. package/dist/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.d.ts +9 -0
  28. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.d.ts +1288 -1284
  29. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.d.ts +1936 -1930
  30. package/dist/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.d.ts +3 -3
  31. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +2838 -2865
  32. package/dist/components/Amelipro/AmeliproStateTile/AmeliproStateTile.d.ts +3 -3
  33. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +2843 -2870
  34. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +397 -397
  35. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +642 -640
  36. package/dist/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.d.ts +233 -5
  37. package/dist/components/Amelipro/AmeliproTransmission/AmeliproTransmission.d.ts +9 -9
  38. package/dist/components/Captcha/CaptchaHelpdesk.d.ts +6 -0
  39. package/dist/components/CookieBanner/CookieBanner.d.ts +117 -119
  40. package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +484 -484
  41. package/dist/components/CookiesSelection/CookiesSelection.d.ts +104 -106
  42. package/dist/components/Customs/Selects/SelectBtnField/SelectBtnField.d.ts +14 -10
  43. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +118 -129
  44. package/dist/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.d.ts +1 -3
  45. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +1 -1
  46. package/dist/components/Customs/SyForm/SyForm.d.ts +60 -53
  47. package/dist/components/Customs/SyRadioGroup/SyRadioGroup.d.ts +88 -0
  48. package/dist/components/Customs/SyRadioGroup/locales.d.ts +3 -0
  49. package/dist/components/Customs/SyTextField/SyTextField.d.ts +644 -642
  50. package/dist/components/DataList/DataList.d.ts +6 -1
  51. package/dist/components/DataListGroup/DataListGroup.d.ts +14 -2
  52. package/dist/components/DataListItem/DataListItem.d.ts +3 -0
  53. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +2988 -3100
  54. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +1458 -1558
  55. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +655 -651
  56. package/dist/components/DatePicker/composables/index.d.ts +4 -0
  57. package/dist/components/DatePicker/composables/useAsteriskDisplay.d.ts +1 -1
  58. package/dist/components/DatePicker/composables/useCalendarKeyboardNavigation.d.ts +11 -0
  59. package/dist/components/DatePicker/composables/useDatePickerState.d.ts +25 -0
  60. package/dist/components/DatePicker/composables/useDateTextField.d.ts +61 -0
  61. package/dist/components/DatePicker/composables/useHolidayHighlighting.d.ts +15 -0
  62. package/dist/components/DatePicker/constants/messages.d.ts +0 -1
  63. package/dist/components/DialogBox/DialogBox.d.ts +175 -177
  64. package/dist/components/FilterSideBar/FilterSideBar.d.ts +161 -171
  65. package/dist/components/FooterBar/FooterBar.d.ts +5 -5
  66. package/dist/components/HeaderBar/HeaderBar.d.ts +2 -2
  67. package/dist/components/HeaderBar/HeaderLogo/HeaderLogo.d.ts +1 -1
  68. package/dist/components/HeaderNavigationBar/HeaderNavigationBar.d.ts +1 -1
  69. package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +234 -258
  70. package/dist/components/LangBtn/LangBtn.d.ts +173 -179
  71. package/dist/components/LogoBrandSection/LogoBrandSection.d.ts +1 -1
  72. package/dist/components/LunarCalendar/LunarCalendar.d.ts +29 -0
  73. package/dist/components/LunarCalendar/useLunarCalendarRules.d.ts +5 -0
  74. package/dist/components/LunarCalendar/useLunarCalendarValidation.d.ts +13 -0
  75. package/dist/components/NirField/NirField.d.ts +1296 -1292
  76. package/dist/components/PaginatedTable/PaginatedTable.d.ts +1 -1
  77. package/dist/components/PeriodField/PeriodField.d.ts +5844 -6068
  78. package/dist/components/PhoneField/PhoneField.d.ts +645 -643
  79. package/dist/components/SyAlert/SyAlert.d.ts +31 -31
  80. package/dist/components/SyTextArea/SyTextArea.d.ts +395 -395
  81. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +193 -227
  82. package/dist/components/Tables/SyTable/SyTable.d.ts +192 -226
  83. package/dist/components/Tables/common/SyTableFilter.d.ts +1 -1
  84. package/dist/components/Tables/common/SyTablePagination.d.ts +118 -129
  85. package/dist/components/Tables/common/TableHeader.d.ts +52 -2
  86. package/dist/components/Tables/common/filters/DateFilter.d.ts +1 -1
  87. package/dist/components/Tables/common/filters/NumberFilter.d.ts +1 -1
  88. package/dist/components/Tables/common/filters/PeriodFilter.d.ts +1 -1
  89. package/dist/components/Tables/common/filters/SelectFilter.d.ts +1 -1
  90. package/dist/components/Tables/common/filters/TextFilter.d.ts +1 -1
  91. package/dist/components/Tables/common/locales.d.ts +1 -0
  92. package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +86 -90
  93. package/dist/components/Tables/common/tableFilterUtils.d.ts +2 -2
  94. package/dist/components/Tables/common/types.d.ts +3 -2
  95. package/dist/components/Tables/common/useTableCheckbox.d.ts +3 -2
  96. package/dist/components/Tables/common/useTableFilter.d.ts +1 -1
  97. package/dist/components/Tables/common/useTableItems.d.ts +6 -8
  98. package/dist/components/UploadWorkflow/UploadWorkflow.d.ts +18 -18
  99. package/dist/components/index.d.ts +2 -0
  100. package/dist/design-system-v3.js +101 -98
  101. package/dist/design-system-v3.umd.cjs +25 -33
  102. package/dist/main-DkZZpa3S.js +35197 -0
  103. package/dist/style.css +1 -1
  104. package/dist/utils/formatNir/formatNir.d.ts +2 -0
  105. package/dist/utils/index.d.ts +1 -0
  106. package/dist/utils/insertAt.d.ts +1 -0
  107. package/dist/utils/rules/validateDateValue.d.ts +14 -0
  108. package/dist/vuetifyConfig.d.ts +6 -6
  109. package/package.json +4 -4
  110. package/src/assets/tokens.scss +2 -0
  111. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/__snapshots__/AmeliproAccordionTemplate.spec.ts.snap +1 -18
  112. package/src/components/Amelipro/AmeliproAccordion/__tests__/AmeliproAccordion.spec.ts +178 -9
  113. package/src/components/Amelipro/AmeliproAccordion/__tests__/__snapshots__/AmeliproAccordion.spec.ts.snap +28 -121
  114. package/src/components/Amelipro/AmeliproAccordionFrieze/__tests__/__snapshots__/AmeliproAccordionFrieze.spec.ts.snap +15 -270
  115. package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +12 -194
  116. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/__tests__/__snapshots__/AmeliproAccordionResultTemplate.spec.ts.snap +1 -18
  117. package/src/components/Amelipro/AmeliproAccordionResult/__tests__/__snapshots__/AmeliproAccordionResult.spec.ts.snap +1 -18
  118. package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +12 -194
  119. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.stories.ts +9 -9
  120. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.vue +5 -4
  121. package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/AmeliproAutoCompleteField.spec.ts +6 -6
  122. package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/__snapshots__/AmeliproAutoCompleteField.spec.ts.snap +2 -0
  123. package/src/components/Amelipro/AmeliproBadge/__tests__/AmeliproBadge.spec.ts +135 -9
  124. package/src/components/Amelipro/AmeliproBadge/__tests__/__snapshots__/AmeliproBadge.spec.ts.snap +20 -5
  125. package/src/components/Amelipro/AmeliproBreadcrumb/__tests__/AmeliproBreadcrumb.spec.ts +195 -28
  126. package/src/components/Amelipro/AmeliproBreadcrumb/__tests__/__snapshots__/AmeliproBreadcrumb.spec.ts.snap +193 -124
  127. package/src/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.vue +1 -1
  128. package/src/components/Amelipro/AmeliproCaptcha/__tests__/AmeliproCaptcha.spec.ts +364 -12
  129. package/src/components/Amelipro/AmeliproCaptcha/__tests__/__snapshots__/AmeliproCaptcha.spec.ts.snap +30 -390
  130. package/src/components/Amelipro/AmeliproCarousel/__tests__/__snapshots__/AmeliproCarousel.spec.ts.snap +4 -36
  131. package/src/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.stories.ts +10 -10
  132. package/src/components/Amelipro/AmeliproCheckbox/AmeliproCheckbox.vue +7 -7
  133. package/src/components/Amelipro/AmeliproCheckbox/__tests__/AmeliproCheckbox.spec.ts +5 -5
  134. package/src/components/Amelipro/AmeliproCheckbox/__tests__/__snapshots__/AmeliproCheckbox.spec.ts.snap +1 -1
  135. package/src/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.stories.ts +7 -6
  136. package/src/components/Amelipro/AmeliproCheckboxGroup/AmeliproCheckboxGroup.vue +6 -6
  137. package/src/components/Amelipro/AmeliproCheckboxGroup/__tests__/AmeliproCheckboxGroup.spec.ts +6 -6
  138. package/src/components/Amelipro/AmeliproCheckboxGroup/__tests__/__snapshots__/AmeliproCheckboxGroup.spec.ts.snap +2 -2
  139. package/src/components/Amelipro/AmeliproClickableTile/tests/__snapshots__/AmeliproClickableTile.spec.ts.snap +2 -43
  140. package/src/components/Amelipro/AmeliproContentLayout/__tests__/AmeliproContentLayout.spec.ts +80 -9
  141. package/src/components/Amelipro/AmeliproContentLayout/__tests__/__snapshots__/AmeliproContentLayout.spec.ts.snap +25 -4
  142. package/src/components/Amelipro/AmeliproCopyBtn/__tests__/__snapshots__/AmeliproCopyBtn.spec.ts.snap +1 -13
  143. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.stories.ts +7 -6
  144. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.vue +5 -5
  145. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/AmeliproCustomSelector.spec.ts +187 -39
  146. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/__snapshots__/AmeliproCustomSelector.spec.ts.snap +147 -147
  147. package/src/components/Amelipro/AmeliproDentalChart/tests/__snapshots__/AmeliproDentalChart.spec.ts.snap +1 -1
  148. package/src/components/Amelipro/AmeliproDialog/__tests__/__snapshots__/AmeliproDialog.spec.ts.snap +0 -2
  149. package/src/components/Amelipro/AmeliproErrorTemplate/__tests__/AmeliproErrorTemplate.spec.ts +160 -20
  150. package/src/components/Amelipro/AmeliproErrorTemplate/__tests__/__snapshots__/AmeliproErrorTemplate.spec.ts.snap +34 -177
  151. package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.vue +1 -0
  152. package/src/components/Amelipro/AmeliproFilePreview/__tests__/AmeliproFilePreview.spec.ts +248 -19
  153. package/src/components/Amelipro/AmeliproFilePreview/__tests__/__snapshots__/AmeliproFilePreview.spec.ts.snap +34 -203
  154. package/src/components/Amelipro/AmeliproFirstLogin/__tests__/__snapshots__/AmeliproFirstLogin.spec.ts.snap +6 -144
  155. package/src/components/Amelipro/AmeliproIcon/AmeliproIcon.vue +20 -2
  156. package/src/components/Amelipro/AmeliproIcon/__tests__/__snapshots__/AmeliproIcon.spec.ts.snap +1 -25
  157. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.stories.ts +5 -5
  158. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.vue +6 -6
  159. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/__tests__/AmeliproIllustratedRadioGroup.spec.ts +22 -22
  160. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/__tests__/__snapshots__/AmeliproIllustratedRadioGroup.spec.ts.snap +2 -2
  161. package/src/components/Amelipro/AmeliproMultipleFoldingCard/__tests__/AmeliproMultipleFoldingCard.spec.ts +304 -0
  162. package/src/components/Amelipro/AmeliproMultipleFoldingCard/__tests__/__snapshots__/AmeliproMultipleFoldingCard.spec.ts.snap +373 -0
  163. package/src/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.stories.ts +2 -0
  164. package/src/components/Amelipro/AmeliproPatientLogged/AmeliproPatientLogged.vue +28 -2
  165. package/src/components/Amelipro/AmeliproPatientLogged/__tests__/__snapshots__/AmeliproPatientLogged.spec.ts.snap +9 -173
  166. package/src/components/Amelipro/AmeliproPatientLogin/AmeliproPatientLoginForm/AmeliproPatientLoginForm.vue +1 -1
  167. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.vue +162 -72
  168. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/AmeliproPostalAddressCityRow.spec.ts +2 -2
  169. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/__snapshots__/AmeliproPostalAddressCityRow.spec.ts.snap +6 -39
  170. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.stories.ts +3 -3
  171. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.vue +8 -8
  172. package/src/components/Amelipro/AmeliproPostalAddressField/{tests → __tests__}/AmeliproPostalAddressField.spec.ts +2 -2
  173. package/src/components/Amelipro/AmeliproPostalAddressField/{tests → __tests__}/__snapshots__/AmeliproPostalAddressField.spec.ts.snap +11 -52
  174. package/src/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.stories.ts +7 -7
  175. package/src/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.vue +8 -8
  176. package/src/components/Amelipro/AmeliproRadioGroup/__tests__/AmeliproRadioGroup.spec.ts +6 -6
  177. package/src/components/Amelipro/AmeliproRadioGroup/__tests__/__snapshots__/AmeliproRadioGroup.spec.ts.snap +2 -2
  178. package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +2 -14
  179. package/src/components/Amelipro/AmeliproSelect/AmeliproSelect.stories.ts +7 -7
  180. package/src/components/Amelipro/AmeliproSelect/AmeliproSelect.vue +4 -4
  181. package/src/components/Amelipro/AmeliproSelect/__tests__/AmeliproSelect.spec.ts +12 -12
  182. package/src/components/Amelipro/AmeliproStepper/AmeliproStepper.vue +2 -2
  183. package/src/components/Amelipro/AmeliproStepper/__tests__/__snapshots__/AmeliproStepper.spec.ts.snap +2 -2
  184. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +2 -2
  185. package/src/components/Amelipro/AmeliproTable/__tests__/AmeliproTable.spec.ts +463 -68
  186. package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +176 -511
  187. package/src/components/Amelipro/AmeliproTextArea/AmeliproTextArea.stories.ts +6 -6
  188. package/src/components/Amelipro/AmeliproTextArea/AmeliproTextArea.vue +4 -4
  189. package/src/components/Amelipro/AmeliproTextArea/__tests__/AmeliproTextArea.spec.ts +3 -3
  190. package/src/components/Amelipro/AmeliproTextArea/__tests__/__snapshots__/AmeliproTextArea.spec.ts.snap +1 -2
  191. package/src/components/Amelipro/AmeliproTextField/AmeliproTextField.stories.ts +10 -10
  192. package/src/components/Amelipro/AmeliproTextField/AmeliproTextField.vue +4 -4
  193. package/src/components/Amelipro/AmeliproTextField/__tests__/AmeliproTextField.spec.ts +5 -5
  194. package/src/components/Amelipro/AmeliproTextField/tests/__snapshots__/AmeliproTextField.spec.ts.snap +162 -0
  195. package/src/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.stories.ts +44 -0
  196. package/src/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.vue +79 -1
  197. package/src/components/Amelipro/AmeliproTooltips/__tests__/__snapshots__/AmeliproTooltips.spec.ts.snap +0 -2
  198. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.stories.ts +2 -2
  199. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.vue +21 -7
  200. package/src/components/Amelipro/AmeliproUpload/__tests__/AmeliproUpload.spec.ts +252 -44
  201. package/src/components/Amelipro/AmeliproUpload/__tests__/__snapshots__/AmeliproUpload.spec.ts.snap +166 -0
  202. package/src/components/Amelipro/ServiceMenu/ServiceBtn/__tests__/ServiceBtn.spec.ts +137 -0
  203. package/src/components/Amelipro/ServiceMenu/ServiceBtn/__tests__/__snapshots__/ServiceBtn.spec.ts.snap +56 -0
  204. package/src/components/Amelipro/ServiceMenu/ServiceList/__tests__/ServiceList.spec.ts +116 -0
  205. package/src/components/Amelipro/ServiceMenu/ServiceList/__tests__/__snapshots__/ServiceList.spec.ts.snap +58 -0
  206. package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/__tests__/ServiceMenuContent.spec.ts +118 -0
  207. package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/__tests__/__snapshots__/ServiceMenuContent.spec.ts.snap +151 -0
  208. package/src/components/Amelipro/ServiceMenu/__tests__/ServiceMenu.spec.ts +259 -0
  209. package/src/components/Amelipro/ServiceMenu/__tests__/__snapshots__/ServiceMenu.spec.ts.snap +102 -0
  210. package/src/components/Amelipro/StructureMenu/StructureBtn/__tests__/StructureBtn.spec.ts +90 -0
  211. package/src/components/Amelipro/StructureMenu/StructureBtn/__tests__/__snapshots__/StructureBtn.spec.ts.snap +63 -0
  212. package/src/components/Amelipro/StructureMenu/StructureItem/__tests__/StructureItem.spec.ts +133 -0
  213. package/src/components/Amelipro/StructureMenu/StructureItem/__tests__/__snapshots__/StructureItem.spec.ts.snap +143 -0
  214. package/src/components/Amelipro/StructureMenu/StructureList/__tests__/StructureList.spec.ts +190 -0
  215. package/src/components/Amelipro/StructureMenu/StructureList/__tests__/__snapshots__/StructureList.spec.ts.snap +109 -0
  216. package/src/components/Amelipro/StructureMenu/StructureTabs/__tests__/StructureTabs.spec.ts +159 -0
  217. package/src/components/Amelipro/StructureMenu/StructureTabs/__tests__/__snapshots__/StructureTabs.spec.ts.snap +103 -0
  218. package/src/components/Amelipro/StructureMenu/__tests__/StructureMenu.spec.ts +165 -0
  219. package/src/components/Amelipro/StructureMenu/__tests__/__snapshots__/StructureMenu.spec.ts.snap +39 -0
  220. package/src/components/Amelipro/UserInformationSummary/__tests__/UserInformationSummary.spec.ts +140 -0
  221. package/src/components/Amelipro/UserInformationSummary/{tests → __tests__}/__snapshots__/UserInformationSummary.spec.ts.snap +17 -24
  222. package/src/components/Amelipro/UserMenu/UserMenu.stories.ts +3 -3
  223. package/src/components/Amelipro/UserMenu/UserMenu.vue +2 -2
  224. package/src/components/Amelipro/UserMenu/UserMenuDetails/__tests__/UserMenuDetails.spec.ts +150 -0
  225. package/src/components/Amelipro/UserMenu/UserMenuDetails/__tests__/__snapshots__/UserMenuDetails.spec.ts.snap +117 -0
  226. package/src/components/Amelipro/UserMenu/__tests__/UserMenu.spec.ts +141 -0
  227. package/src/components/Amelipro/UserMenu/__tests__/__snapshots__/UserMenu.spec.ts.snap +103 -0
  228. package/src/components/Captcha/Captcha.vue +9 -24
  229. package/src/components/Captcha/CaptchaHelpdesk.vue +42 -0
  230. package/src/components/Captcha/tests/__snapshots__/Captcha.spec.ts.snap +256 -268
  231. package/src/components/CopyBtn/tests/__snapshots__/CopyBtn.spec.ts.snap +0 -1
  232. package/src/components/Customs/Selects/SelectBtnField/Accessibilite.stories.ts +4 -0
  233. package/src/components/Customs/Selects/SelectBtnField/SelectBtnField.stories.ts +154 -82
  234. package/src/components/Customs/Selects/SelectBtnField/SelectBtnField.vue +229 -125
  235. package/src/components/Customs/Selects/SelectBtnField/tests/SelectBtnField.spec.ts +12 -12
  236. package/src/components/Customs/Selects/SelectBtnField/tests/__snapshots__/SelectBtnField.spec.ts.snap +344 -826
  237. package/src/components/Customs/Selects/SySelect/SySelect.vue +215 -169
  238. package/src/components/Customs/Selects/SySelect/composables/tests/useSySelectKeyboard.spec.ts +4 -2
  239. package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +7 -9
  240. package/src/components/Customs/SyForm/SyForm.mdx +47 -7
  241. package/src/components/Customs/SyForm/SyForm.stories.ts +38 -34
  242. package/src/components/Customs/SyForm/SyForm.vue +27 -6
  243. package/src/components/Customs/SyRadioGroup/Accessibilite.mdx +263 -0
  244. package/src/components/Customs/SyRadioGroup/SyRadioGroup.mdx +37 -0
  245. package/src/components/Customs/SyRadioGroup/SyRadioGroup.stories.ts +665 -0
  246. package/src/components/Customs/SyRadioGroup/SyRadioGroup.vue +324 -0
  247. package/src/components/Customs/SyRadioGroup/locales.ts +3 -0
  248. package/src/components/Customs/SyRadioGroup/tests/SyRadioGroup.spec.ts +135 -0
  249. package/src/components/Customs/SyTabs/SyTabs.vue +1 -1
  250. package/src/components/Customs/SyTextField/SyTextField.vue +225 -194
  251. package/src/components/Customs/SyTextField/tests/SyTextField.spec.ts +32 -2
  252. package/src/components/DataList/DataList.mdx +3 -1
  253. package/src/components/DataList/DataList.stories.ts +67 -17
  254. package/src/components/DataList/DataList.vue +13 -1
  255. package/src/components/DataListGroup/DataListGroup.stories.ts +42 -12
  256. package/src/components/DataListGroup/DataListGroup.vue +14 -1
  257. package/src/components/DataListItem/DataListItem.vue +10 -2
  258. package/src/components/DataListItem/tests/DataListItem.spec.ts +1 -1
  259. package/src/components/DatePicker/CalendarMode/DatePicker.vue +157 -178
  260. package/src/components/DatePicker/CalendarMode/tests/DatePicker.events.spec.ts +5 -0
  261. package/src/components/DatePicker/CalendarMode/tests/DatePicker.spec.ts +179 -179
  262. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +261 -258
  263. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.spec.ts +234 -827
  264. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +46 -73
  265. package/src/components/DatePicker/DateTextInput/tests/DateTextInput.spec.ts +350 -0
  266. package/src/components/DatePicker/composables/index.ts +4 -0
  267. package/src/components/DatePicker/composables/tests/useCalendarKeyboardNavigation.spec.ts +270 -0
  268. package/src/components/DatePicker/composables/tests/useDatePickerViewMode.spec.ts +61 -3
  269. package/src/components/DatePicker/composables/tests/useDateRangeInput.spec.ts +198 -0
  270. package/src/components/DatePicker/composables/tests/useDisplayedDateString.spec.ts +36 -2
  271. package/src/components/DatePicker/composables/tests/useInputHandler.spec.ts +755 -0
  272. package/src/components/DatePicker/composables/tests/useKeyboardEvents.spec.ts +168 -0
  273. package/src/components/DatePicker/composables/tests/useMonthButtonCustomization.spec.ts +40 -34
  274. package/src/components/DatePicker/composables/useAsteriskDisplay.ts +1 -2
  275. package/src/components/DatePicker/composables/useCalendarKeyboardNavigation.ts +155 -0
  276. package/src/components/DatePicker/composables/useDatePickerState.ts +163 -0
  277. package/src/components/DatePicker/composables/useDateRangeInput.ts +4 -8
  278. package/src/components/DatePicker/composables/useDateTextField.ts +156 -0
  279. package/src/components/DatePicker/composables/useHolidayHighlighting.ts +64 -0
  280. package/src/components/DatePicker/composables/useInputHandler.ts +25 -19
  281. package/src/components/DatePicker/composables/useMonthButtonCustomization.ts +52 -26
  282. package/src/components/DatePicker/constants/messages.ts +0 -1
  283. package/src/components/DatePicker/docExamples/DatePickerBidirectionalValidation.vue +2 -2
  284. package/src/components/DatePicker/playground/ComplexDatePickerPlayground.vue +16 -8
  285. package/src/components/ErrorPage/ErrorPage.vue +1 -1
  286. package/src/components/ErrorPage/tests/ErrorPage.spec.ts +17 -0
  287. package/src/components/ExternalLinks/tests/__snapshots__/ExternalLinks.spec.ts.snap +0 -1
  288. package/src/components/LunarCalendar/LunarCalendar.mdx +33 -0
  289. package/src/components/LunarCalendar/LunarCalendar.stories.ts +232 -0
  290. package/src/components/LunarCalendar/LunarCalendar.vue +57 -0
  291. package/src/components/LunarCalendar/tests/LunarCalendar.spec.ts +79 -0
  292. package/src/components/LunarCalendar/useLunarCalendarRules.ts +96 -0
  293. package/src/components/LunarCalendar/useLunarCalendarValidation.ts +47 -0
  294. package/src/components/NotificationBar/NotificationBar.vue +2 -2
  295. package/src/components/PaginatedTable/PaginatedTable.stories.ts +15 -10
  296. package/src/components/PaginatedTable/PaginatedTable.vue +24 -35
  297. package/src/components/PhoneField/PhoneField.vue +102 -83
  298. package/src/components/SearchListField/tests/SearchListField.spec.ts +7 -53
  299. package/src/components/SyAlert/SyAlert.vue +5 -2
  300. package/src/components/TableToolbar/tests/__snapshots__/TableToolbar.spec.ts.snap +24 -72
  301. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +521 -23
  302. package/src/components/Tables/SyServerTable/SyServerTable.vue +19 -13
  303. package/src/components/Tables/SyTable/SyTable.stories.ts +391 -18
  304. package/src/components/Tables/SyTable/SyTable.vue +16 -11
  305. package/src/components/Tables/common/TableHeader.vue +16 -7
  306. package/src/components/Tables/common/filters/DateFilter.vue +1 -1
  307. package/src/components/Tables/common/locales.ts +1 -0
  308. package/src/components/Tables/common/tableFilterUtils.ts +3 -3
  309. package/src/components/Tables/common/types.ts +4 -2
  310. package/src/components/Tables/common/useTableCheckbox.ts +4 -3
  311. package/src/components/Tables/common/useTableFilter.ts +2 -2
  312. package/src/components/Tables/common/useTableItems.ts +4 -19
  313. package/src/components/index.ts +2 -0
  314. package/src/composables/validation/tests/useFormValidation.spec.ts +251 -0
  315. package/src/composables/validation/tests/useValidatable.spec.ts +90 -0
  316. package/src/stories/Accessibilite/Audit/Exemptions-derogations.mdx +241 -0
  317. package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +17 -10
  318. package/src/stories/Accessibilite/KitDePreAudit/Outils/Introduction.mdx +16 -0
  319. package/src/stories/Accessibilite/KitDePreAudit/Preaudit.mdx +160 -106
  320. package/src/stories/Accessibilite/Vuetify/VuetifyItems.ts +2 -1
  321. package/src/stories/GuideDuDev/ClassesUtilitaires/FormattingUtilities.mdx +20 -0
  322. package/src/stories/GuideDuDev/ClassesUtilitaires/index.mdx +10 -0
  323. package/src/utils/formatNir/formatNir.ts +15 -0
  324. package/src/utils/index.ts +1 -0
  325. package/src/utils/insertAt.ts +11 -0
  326. package/src/utils/rules/isDateValid/IsDateValid.mdx +2 -2
  327. package/src/utils/rules/isDateValid/IsDateValid.stories.ts +6 -4
  328. package/src/utils/rules/isDateValid/index.ts +23 -8
  329. package/src/utils/rules/isDateValid/tests/isDateValid.spec.ts +9 -0
  330. package/src/utils/rules/isExactLength/IsExactLenght.mdx +1 -1
  331. package/src/utils/rules/isHolidayDay/IsHolidayDay.mdx +19 -7
  332. package/src/utils/rules/isHolidayDay/index.ts +6 -8
  333. package/src/utils/rules/isHolidayDay/tests/isHolidayDay.spec.ts +13 -1
  334. package/src/utils/rules/isNotAfterDate/IsNotAfterDate.mdx +2 -2
  335. package/src/utils/rules/isNotAfterDate/IsNotAfterDate.stories.ts +9 -2
  336. package/src/utils/rules/isNotAfterDate/index.ts +5 -12
  337. package/src/utils/rules/isNotAfterDate/tests/isNotAfterDate.spec.ts +20 -0
  338. package/src/utils/rules/isNotAfterToday/IsNotAfterToday.mdx +2 -2
  339. package/src/utils/rules/isNotAfterToday/IsNotAfterToday.stories.ts +8 -2
  340. package/src/utils/rules/isNotAfterToday/index.ts +6 -6
  341. package/src/utils/rules/isNotAfterToday/tests/isNotAfterToday.spec.ts +20 -0
  342. package/src/utils/rules/isNotBeforeDate/IsNotBeforeDate.mdx +2 -2
  343. package/src/utils/rules/isNotBeforeDate/index.ts +5 -12
  344. package/src/utils/rules/isNotBeforeDate/tests/IsNotBeforeDate.spec.ts +20 -0
  345. package/src/utils/rules/isNotBeforeToday/IsNotBeforeToday.mdx +2 -2
  346. package/src/utils/rules/isNotBeforeToday/IsNotBeforeToday.stories.ts +8 -2
  347. package/src/utils/rules/isNotBeforeToday/index.ts +6 -6
  348. package/src/utils/rules/isNotBeforeToday/tests/notBeforeToday.spec.ts +19 -0
  349. package/src/utils/rules/validateDateValue.ts +37 -0
  350. package/src/vuetifyConfig.ts +6 -2
  351. package/dist/components/Customs/Selects/SelectBtnField/config.d.ts +0 -11
  352. package/dist/components/DatePicker/tests/setup.d.ts +0 -75370
  353. package/dist/components/Tables/common/formatters.d.ts +0 -17
  354. package/dist/main-CbBVJ_le.js +0 -34377
  355. package/dist/stories/Accessibilite/Vuetify/VuetifyItems.d.ts +0 -70
  356. package/dist/stories/DesignTokens/StylesTypographiques.stories.new.d.ts +0 -8
  357. package/dist/stories/DesignTokens/TypographyDisplay.d.ts +0 -28
  358. package/dist/stories/DesignTokens/vue-shims.d.ts +0 -6
  359. package/src/components/Amelipro/AmeliproMultipleFoldingCard/tests/AmeliproMultipleFoldingCard.spec.ts +0 -40
  360. package/src/components/Amelipro/AmeliproMultipleFoldingCard/tests/__snapshots__/AmeliproMultipleFoldingCard.spec.ts.snap +0 -369
  361. package/src/components/Amelipro/ServiceMenu/ServiceBtn/tests/ServiceBtn.spec.ts +0 -21
  362. package/src/components/Amelipro/ServiceMenu/ServiceBtn/tests/__snapshots__/ServiceBtn.spec.ts.snap +0 -100
  363. package/src/components/Amelipro/ServiceMenu/ServiceList/tests/ServiceList.spec.ts +0 -25
  364. package/src/components/Amelipro/ServiceMenu/ServiceList/tests/__snapshots__/ServiceList.spec.ts.snap +0 -245
  365. package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/tests/ServiceMenuContent.spec.ts +0 -45
  366. package/src/components/Amelipro/ServiceMenu/ServiceMenuContent/tests/__snapshots__/ServiceMenuContent.spec.ts.snap +0 -787
  367. package/src/components/Amelipro/ServiceMenu/tests/ServiceMenu.spec.ts +0 -46
  368. package/src/components/Amelipro/ServiceMenu/tests/__snapshots__/ServiceMenu.spec.ts.snap +0 -111
  369. package/src/components/Amelipro/StructureMenu/StructureBtn/tests/StructureBtn.spec.ts +0 -17
  370. package/src/components/Amelipro/StructureMenu/StructureBtn/tests/__snapshots__/StructureBtn.spec.ts.snap +0 -34
  371. package/src/components/Amelipro/StructureMenu/StructureItem/tests/StructureItem.spec.ts +0 -21
  372. package/src/components/Amelipro/StructureMenu/StructureItem/tests/__snapshots__/StructureItem.spec.ts.snap +0 -106
  373. package/src/components/Amelipro/StructureMenu/StructureList/tests/StructureList.spec.ts +0 -33
  374. package/src/components/Amelipro/StructureMenu/StructureList/tests/__snapshots__/StructureList.spec.ts.snap +0 -353
  375. package/src/components/Amelipro/StructureMenu/StructureTabs/tests/StructureTabs.spec.ts +0 -60
  376. package/src/components/Amelipro/StructureMenu/StructureTabs/tests/__snapshots__/StructureTabs.spec.ts.snap +0 -824
  377. package/src/components/Amelipro/StructureMenu/tests/StructureMenu.spec.ts +0 -69
  378. package/src/components/Amelipro/StructureMenu/tests/__snapshots__/StructureMenu.spec.ts.snap +0 -1383
  379. package/src/components/Amelipro/UserInformationSummary/tests/UserInformationSummary.spec.ts +0 -24
  380. package/src/components/Amelipro/UserMenu/UserMenuDetails/tests/UserMenuDetails.spec.ts +0 -33
  381. package/src/components/Amelipro/UserMenu/UserMenuDetails/tests/__snapshots__/UserMenuDetails.spec.ts.snap +0 -3
  382. package/src/components/Amelipro/UserMenu/tests/UserMenu.spec.ts +0 -34
  383. package/src/components/Amelipro/UserMenu/tests/__snapshots__/UserMenu.spec.ts.snap +0 -101
  384. package/src/components/Customs/Selects/SelectBtnField/config.ts +0 -11
  385. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.events.spec.ts +0 -151
  386. package/src/components/DatePicker/DateTextInput/DateTextInput.events.spec.ts +0 -148
  387. package/src/components/DatePicker/DateTextInput/DateTextInput.range.spec.ts +0 -361
  388. package/src/components/DatePicker/DateTextInput/DateTextInput.spec.ts +0 -709
  389. package/src/components/DatePicker/tests/DatePicker.validation.spec.ts +0 -4111
  390. package/src/components/DatePicker/tests/archiTest.md +0 -33
  391. package/src/components/DatePicker/tests/navigation.regression.spec.ts +0 -74
  392. package/src/components/DatePicker/tests/navigation.simple.spec.ts +0 -137
  393. package/src/components/DatePicker/tests/setup.ts +0 -243
  394. package/src/components/Tables/common/formatters.ts +0 -72
@@ -5,10 +5,10 @@ import AmeliproTextArea from './AmeliproTextArea.vue'
5
5
  const meta = {
6
6
  argTypes: {
7
7
  'append': { description: 'Permet d\'ajouter un élément juste après le champ' },
8
- 'ariaRequired': {
8
+ 'required': {
9
9
  default: false,
10
10
  description: 'Défini que le champ est obligatoire',
11
- name: 'aria-required',
11
+ name: 'required',
12
12
  type: 'boolean',
13
13
  },
14
14
  'classes': { description: 'Classes à appliquer à la racine du composant' },
@@ -193,19 +193,19 @@ export const Required: Story = {
193
193
  args: {
194
194
  label: 'Champ obligatoire',
195
195
  uniqueId: 'text-area-required',
196
- ariaRequired: true,
196
+ required: true,
197
197
  },
198
198
  parameters: {
199
199
  sourceCode: [
200
200
  {
201
201
  name: 'Template',
202
202
  code: `<template>
203
- <p>Le champ est obligatoire grâce à la prop <code>ariaRequired</code>.</p>
203
+ <p>Le champ est obligatoire grâce à la prop <code>required</code>.</p>
204
204
  <AmeliproTextArea
205
205
  v-model="model"
206
206
  label="Champ obligatoire"
207
207
  unique-id="text-area-required"
208
- aria-required
208
+ required
209
209
  />
210
210
  </template>`,
211
211
  },
@@ -230,7 +230,7 @@ export const Required: Story = {
230
230
  return { args, model }
231
231
  },
232
232
  template: `
233
- <p>Le champ est obligatoire grâce à la prop <code>ariaRequired</code>.</p>
233
+ <p>Le champ est obligatoire grâce à la prop <code>required</code>.</p>
234
234
  <AmeliproTextArea
235
235
  v-bind="args"
236
236
  v-model="model"
@@ -9,7 +9,7 @@
9
9
  import { isRequired } from '@/utils/rules/isRequired'
10
10
 
11
11
  const props = defineProps({
12
- ariaRequired: {
12
+ required: {
13
13
  type: Boolean,
14
14
  default: false,
15
15
  },
@@ -108,7 +108,7 @@
108
108
  ...props.rules,
109
109
  ]
110
110
 
111
- if (props.ariaRequired) {
111
+ if (props.required) {
112
112
  rules.push(isRequired)
113
113
  }
114
114
 
@@ -227,7 +227,7 @@
227
227
  >
228
228
  {{ label }}
229
229
 
230
- <span v-if="ariaRequired">
230
+ <span v-if="required">
231
231
  <span aria-hidden="true">
232
232
  &nbsp;*
233
233
  </span>
@@ -250,7 +250,7 @@
250
250
  v-model="inputValue"
251
251
  :aria-describedby="displayError ? undefined : errorId"
252
252
  :aria-invalid="displayError ? true : undefined"
253
- :aria-required="ariaRequired"
253
+ :required="required"
254
254
  auto-grow
255
255
  :bg-color="disabled ? 'ap-grey-lighten-2' : 'ap-white'"
256
256
  class="amelipro-textarea-input"
@@ -1,4 +1,4 @@
1
- import { VueWrapper, mount, shallowMount } from '@vue/test-utils'
1
+ import { mount, shallowMount, VueWrapper } from '@vue/test-utils'
2
2
  import { beforeEach, describe, expect, it } from 'vitest'
3
3
  import AmeliproTextArea from '../AmeliproTextArea.vue'
4
4
  import type { ComponentProps } from 'vue-component-type-helpers'
@@ -9,7 +9,7 @@ import type { ValidateOnType } from '../../types'
9
9
  import type { ValidationRule } from '@/utils/rules/types'
10
10
 
11
11
  const expectedPropOptions: ExpectedPropOptions<typeof AmeliproTextArea> = {
12
- ariaRequired: {
12
+ required: {
13
13
  type: Boolean,
14
14
  default: false,
15
15
  },
@@ -92,7 +92,7 @@ const requiredPropValues = (): ComponentProps<typeof AmeliproTextArea> => ({
92
92
  })
93
93
 
94
94
  const modifiedPropValues = (): ComponentProps<typeof AmeliproTextArea> => ({
95
- ariaRequired: true,
95
+ required: true,
96
96
  classes: 'modified-classes',
97
97
  counter: 100,
98
98
  disabled: true,
@@ -49,7 +49,6 @@ exports[`AmeliproTextArea > Snapshots > renders the component with all propertie
49
49
  </div>
50
50
  <textarea
51
51
  aria-describedby="modified-unique-id-error"
52
- aria-required="true"
53
52
  auto-grow=""
54
53
  bg-color="ap-grey-lighten-2"
55
54
  class="amelipro-textarea-input"
@@ -59,6 +58,7 @@ exports[`AmeliproTextArea > Snapshots > renders the component with all propertie
59
58
  id="modified-unique-id"
60
59
  modelvalue="Modified model value"
61
60
  readonly=""
61
+ required=""
62
62
  rules="() => true,(value) => {
63
63
  let valid;
64
64
  if (Array.isArray(value)) {
@@ -110,7 +110,6 @@ exports[`AmeliproTextArea > Snapshots > renders the component with only required
110
110
  </div>
111
111
  <textarea
112
112
  aria-describedby="required-unique-id-error"
113
- aria-required="false"
114
113
  auto-grow=""
115
114
  bg-color="ap-white"
116
115
  class="amelipro-textarea-input"
@@ -5,10 +5,10 @@ import AmeliproTextField from './AmeliproTextField.vue'
5
5
  const meta = {
6
6
  argTypes: {
7
7
  'append': { description: 'Permet d\'ajouter un élément juste après le champ' },
8
- 'ariaRequired': {
8
+ 'required': {
9
9
  default: false,
10
10
  description: 'Défini que le champ est obligatoire',
11
- name: 'aria-required',
11
+ name: 'required',
12
12
  type: 'boolean',
13
13
  },
14
14
  'classes': { description: 'Classes à appliquer à la racine du composant' },
@@ -101,7 +101,7 @@ export const Default: Story = {
101
101
 
102
102
  export const Date: Story = {
103
103
  args: {
104
- ariaRequired: true,
104
+ required: true,
105
105
  label: 'Mon label',
106
106
  maxDate: '2024-02-20',
107
107
  minDate: '2024-01-20',
@@ -117,7 +117,7 @@ export const Date: Story = {
117
117
  <template>
118
118
  <AmeliproTextField
119
119
  v-model="model"
120
- aria-required
120
+ required
121
121
  classes="mt-2"
122
122
  label="Mon label"
123
123
  max-date="2024-02-20"
@@ -160,7 +160,7 @@ export const Date: Story = {
160
160
 
161
161
  export const Number: Story = {
162
162
  args: {
163
- ariaRequired: true,
163
+ required: true,
164
164
  label: 'Mon label',
165
165
  maxNumber: '10',
166
166
  minNumber: '0',
@@ -176,7 +176,7 @@ export const Number: Story = {
176
176
  <template>
177
177
  <AmeliproTextField
178
178
  v-model="model"
179
- aria-required
179
+ required
180
180
  classes="mt-2"
181
181
  label="Mon label"
182
182
  max-number="10"
@@ -736,19 +736,19 @@ export const Required: Story = {
736
736
  label: 'Champ requis',
737
737
  modelValue: '',
738
738
  uniqueId: 'text-required',
739
- ariaRequired: true,
739
+ required: true,
740
740
  },
741
741
  parameters: {
742
742
  sourceCode: [
743
743
  {
744
744
  name: 'Template',
745
745
  code: `<template>
746
- <p>Le champ est requis grâce à la prop <code>ariaRequired</code>.</p>
746
+ <p>Le champ est requis grâce à la prop <code>required</code>.</p>
747
747
  <AmeliproTextField
748
748
  v-model="model"
749
749
  label="Champ requis"
750
750
  unique-id="text-required"
751
- aria-required
751
+ required
752
752
  />
753
753
  </template>`,
754
754
  },
@@ -773,7 +773,7 @@ export const Required: Story = {
773
773
  return { args, model }
774
774
  },
775
775
  template: `
776
- <p>Le champ est requis grâce à la prop <code>ariaRequired</code>.</p>
776
+ <p>Le champ est requis grâce à la prop <code>required</code>.</p>
777
777
  <AmeliproTextField
778
778
  v-bind="args"
779
779
  v-model="model"
@@ -13,7 +13,7 @@
13
13
  import { isRequired } from '@/utils/rules/isRequired'
14
14
 
15
15
  const props = defineProps({
16
- ariaRequired: {
16
+ required: {
17
17
  type: Boolean,
18
18
  default: false,
19
19
  },
@@ -152,7 +152,7 @@
152
152
  ...props.rules,
153
153
  ]
154
154
 
155
- if (props.ariaRequired) {
155
+ if (props.required) {
156
156
  rules.push(isRequired)
157
157
  }
158
158
 
@@ -278,7 +278,7 @@
278
278
  >
279
279
  {{ label }}
280
280
 
281
- <span v-if="ariaRequired">
281
+ <span v-if="required">
282
282
  <span aria-hidden="true">
283
283
  &nbsp;*
284
284
  </span>
@@ -301,7 +301,7 @@
301
301
  v-model="inputValue"
302
302
  :aria-describedby="displayError ? errorId : undefined"
303
303
  :aria-invalid="displayError ? true : undefined"
304
- :aria-required="ariaRequired"
304
+ :required="required"
305
305
  :bg-color="disabled ? 'ap-grey-lighten-2' : 'ap-white'"
306
306
  class="pt-0 amelipro-text-field"
307
307
  :clearable="clearable"
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { VueWrapper, config, mount, shallowMount } from '@vue/test-utils'
2
+ import { config, mount, shallowMount, VueWrapper } from '@vue/test-utils'
3
3
  import { beforeEach, describe, expect, it } from 'vitest'
4
4
  import AmeliproTextField from '../AmeliproTextField.vue'
5
5
  import type { ComponentProps } from 'vue-component-type-helpers'
@@ -36,7 +36,7 @@ const VTextFieldStub = defineComponent({
36
36
  type: String,
37
37
  default: undefined,
38
38
  },
39
- ariaRequired: {
39
+ required: {
40
40
  type: [Boolean, String],
41
41
  default: false,
42
42
  },
@@ -85,7 +85,7 @@ const VTextFieldStub = defineComponent({
85
85
  template: `
86
86
  <div
87
87
  class="v-text-field-stub"
88
- :aria-required="ariaRequired"
88
+ :aria-required="required"
89
89
  :style="style"
90
90
  >
91
91
  <slot />
@@ -99,7 +99,7 @@ config.global.stubs = config.global.stubs || {}
99
99
  config.global.stubs.VTextField = VTextFieldStub
100
100
 
101
101
  const expectedPropOptions: ExpectedPropOptions<typeof AmeliproTextField> = {
102
- ariaRequired: {
102
+ required: {
103
103
  type: Boolean,
104
104
  default: false,
105
105
  },
@@ -222,7 +222,7 @@ const requiredPropValues = (): ComponentProps<typeof AmeliproTextField> => ({
222
222
  })
223
223
 
224
224
  const modifiedPropValues = (): ComponentProps<typeof AmeliproTextField> => ({
225
- ariaRequired: true,
225
+ required: true,
226
226
  classes: 'modified-classes',
227
227
  clearable: true,
228
228
  counter: 5,
@@ -0,0 +1,162 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`AmeliproTextField > render correctly 1`] = `
4
+ <div
5
+ class=""
6
+ id="my-textfield-id-container"
7
+ style="margin-bottom: 12px;"
8
+ >
9
+ <div class="
10
+ amelipro-text-field__wrapper
11
+ d-flex
12
+ flex-column
13
+ w-100
14
+ ">
15
+ <div class="
16
+ align-baseline
17
+ d-inline-flex
18
+ mb-1
19
+ ">
20
+ <label
21
+ class="
22
+ amelipro-text-field__label
23
+ mr-2
24
+ "
25
+ for="my-textfield-id"
26
+ id="my-textfield-id-label"
27
+ >
28
+ Mon label
29
+ <!-- v-if -->
30
+ </label>
31
+ </div>
32
+ <div class="
33
+ amelipro-text-field
34
+ pt-0
35
+ v-input
36
+ v-input--center-affix
37
+ v-input--density-compact
38
+ v-input--horizontal
39
+ v-locale--is-ltr
40
+ v-text-field
41
+ v-theme--light
42
+ ">
43
+ <!---->
44
+ <div class="v-input__control">
45
+ <div class="
46
+ bg-ap-white
47
+ v-field
48
+ v-field--center-affix
49
+ v-field--has-background
50
+ v-field--no-label
51
+ v-field--variant-outlined
52
+ v-locale--is-ltr
53
+ v-theme--light
54
+ ">
55
+ <div class="v-field__overlay"></div>
56
+ <div class="v-field__loader">
57
+ <div
58
+ aria-hidden="true"
59
+ aria-valuemax="100"
60
+ aria-valuemin="0"
61
+ class="
62
+ v-locale--is-ltr
63
+ v-progress-linear
64
+ v-theme--light
65
+ "
66
+ role="progressbar"
67
+ style="
68
+ top: 0px;
69
+ height: 0px;
70
+ --v-progress-linear-height: 2px;
71
+ "
72
+ >
73
+ <!---->
74
+ <div
75
+ class="
76
+ bg-ap-blue-darken-1
77
+ v-progress-linear__background
78
+ "
79
+ style="opacity: NaN;"
80
+ ></div>
81
+ <div
82
+ class="
83
+ bg-ap-blue-darken-1
84
+ v-progress-linear__buffer
85
+ "
86
+ style="
87
+ opacity: NaN;
88
+ width: 0%;
89
+ "
90
+ ></div>
91
+ <transition-stub
92
+ appear="false"
93
+ css="true"
94
+ name="fade-transition"
95
+ persisted="false"
96
+ >
97
+ <div class="v-progress-linear__indeterminate">
98
+ <div class="
99
+ bg-ap-blue-darken-1
100
+ long
101
+ v-progress-linear__indeterminate
102
+ "></div>
103
+ <div class="
104
+ bg-ap-blue-darken-1
105
+ short
106
+ v-progress-linear__indeterminate
107
+ "></div>
108
+ </div>
109
+ </transition-stub>
110
+ <!---->
111
+ </div>
112
+ </div>
113
+ <!---->
114
+ <div
115
+ class="v-field__field"
116
+ data-no-activator=""
117
+ >
118
+ <!---->
119
+ <!---->
120
+ <!---->
121
+ <input
122
+ class="v-field__input"
123
+ id="my-textfield-id"
124
+ size="1"
125
+ type="text"
126
+ />
127
+ <!---->
128
+ </div>
129
+ <!---->
130
+ <!---->
131
+ <div class="v-field__outline">
132
+ <div class="v-field__outline__start"></div>
133
+ <!---->
134
+ <div class="v-field__outline__end"></div>
135
+ <!---->
136
+ </div>
137
+ </div>
138
+ </div>
139
+ <!---->
140
+ <div
141
+ aria-live="polite"
142
+ class="v-input__details"
143
+ id="my-textfield-id-messages"
144
+ role="alert"
145
+ >
146
+ <transition-group-stub
147
+ appear="false"
148
+ class="v-messages"
149
+ css="true"
150
+ name="slide-y-transition"
151
+ persisted="false"
152
+ tag="div"
153
+ >
154
+ <!---->
155
+ </transition-group-stub>
156
+ <!---->
157
+ </div>
158
+ </div>
159
+ </div>
160
+ <!-- v-if -->
161
+ </div>
162
+ `;
@@ -1,5 +1,6 @@
1
1
  import type { Meta, StoryObj } from '@storybook/vue3'
2
2
  import AmeliproTileBtn from './AmeliproTileBtn.vue'
3
+ import AmeliproTooltips from '../AmeliproTooltips/AmeliproTooltips.vue'
3
4
 
4
5
  const meta = {
5
6
  argTypes: {
@@ -169,6 +170,49 @@ export const Desactivee: Story = {
169
170
  }),
170
171
  }
171
172
 
173
+ // --- Tuile bouton avec tooltip ---
174
+ export const tooltip: Story = {
175
+ name: 'Avec tooltip',
176
+ args: {
177
+ imgSrc: '/amelipro/img/tile-example.svg',
178
+ label: 'Label du bouton',
179
+ tileMinHeight: '100%',
180
+ uniqueId: 'tile-btn-tooltip',
181
+ },
182
+ parameters: {
183
+ sourceCode: [
184
+ {
185
+ name: 'Template',
186
+ code: `
187
+ <AmeliproTileBtn
188
+ img-src="/amelipro/img/tile-example.svg"
189
+ label="Bouton désactivé"
190
+ tile-min-height="100%"
191
+ unique-id="tile-btn-disabled"
192
+ />`,
193
+ },
194
+ ],
195
+ },
196
+ render: args => ({
197
+ components: { AmeliproTileBtn, AmeliproTooltips },
198
+ setup() {
199
+ return { args }
200
+ },
201
+ template: `
202
+ <p>Le slot <code>labelInfo</code> permet d'ajouter une tooltip à droite du titre du bouton.</p>
203
+
204
+ <AmeliproTileBtn v-bind="args">
205
+ <template #labelInfo>
206
+ <AmeliproTooltips
207
+ tooltip-text="Contenu de mon infobulle"
208
+ unique-id="amelipro-tooltip-id"
209
+ />
210
+ </template>
211
+ </AmeliproTileBtn>
212
+ `,
213
+ }),
214
+ }
215
+
172
216
  // --- Tuile bouton avec message informatif ---
173
217
  export const AvecMessageInfo: Story = {
174
218
  name: 'Avec message informatif',
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { type PropType, computed, ref } from 'vue'
2
+ import { type PropType, type ComponentPublicInstance, computed, ref, nextTick, onMounted, watch, shallowRef } from 'vue'
3
3
  import AmeliproIcon from '../AmeliproIcon/AmeliproIcon.vue'
4
4
  import type { IndexedObject } from '../types'
5
5
  import type { RouteLocationRaw } from 'vue-router'
@@ -97,6 +97,10 @@
97
97
 
98
98
  const hover = ref(false)
99
99
  const focus = ref(false)
100
+ const button = shallowRef<ComponentPublicInstance | null>(null)
101
+ const labelText = ref<HTMLElement | null>(null)
102
+ const labelInfo = ref<HTMLElement | null>(null)
103
+ const labelStyle = ref({})
100
104
 
101
105
  const tileStyles = computed<IndexedObject>(() => {
102
106
  const btnStyles: IndexedObject = {
@@ -127,6 +131,35 @@
127
131
  return btnStyles
128
132
  })
129
133
 
134
+ const updateLabelPadding = () => {
135
+ nextTick(() => {
136
+ if (!labelText.value || !labelInfo.value) {
137
+ labelStyle.value = { paddingRight: '0px' }
138
+ return
139
+ }
140
+ const btn = button.value?.$?.subTree?.el as HTMLElement
141
+ const btnWidth = btn?.getBoundingClientRect().width ?? 0
142
+
143
+ const styles = getComputedStyle(btn)
144
+ const textWidth = labelText.value.offsetWidth
145
+
146
+ const paddingLeft = parseFloat(styles.paddingLeft)
147
+ const paddingRight = parseFloat(styles.paddingRight)
148
+ const horizontalPadding = paddingLeft + paddingRight
149
+
150
+ const minGap = 8
151
+ const labelPaddingRight = 36
152
+
153
+ const availableWidth = btnWidth - horizontalPadding - minGap
154
+
155
+ labelStyle.value = {
156
+ paddingRight: textWidth >= availableWidth
157
+ ? `${labelPaddingRight}px`
158
+ : '0px',
159
+ }
160
+ })
161
+ }
162
+
130
163
  const imgStyles = computed<IndexedObject>(() => {
131
164
  const styles: IndexedObject = { width: props.imgWidth }
132
165
  if (props.imgMaxWidth) {
@@ -162,11 +195,19 @@
162
195
 
163
196
  const emit = defineEmits(['click'])
164
197
  const emitClickEvent = () => emit('click', props.uniqueId)
198
+
199
+ onMounted(() => {
200
+ updateLabelPadding()
201
+ })
202
+
203
+ watch([labelText, labelInfo], () => updateLabelPadding())
204
+
165
205
  </script>
166
206
 
167
207
  <template>
168
208
  <VBtn
169
209
  :id="uniqueId"
210
+ ref="button"
170
211
  class="amelipro-tile-btn text-none"
171
212
  :disabled="disabled"
172
213
  :elevation="1"
@@ -186,9 +227,18 @@
186
227
  <span v-if="alignTopStyle || complementaryInfoLine1 || complementaryInfoLine2 || message">
187
228
  <span
188
229
  :id="uniqueId ? `${uniqueId}-text` : undefined"
230
+ ref="labelText"
189
231
  class="d-block text-h5 text-center font-weight-bold amelipro-tile-btn__content"
232
+ :style="labelStyle"
190
233
  >
191
234
  {{ label }}
235
+ <span
236
+ v-if="$slots.labelInfo"
237
+ ref="labelInfo"
238
+ class="amelipro-tile-btn__label-info"
239
+ >
240
+ <slot name="labelInfo" />
241
+ </span>
192
242
 
193
243
  <span
194
244
  v-if="labelBottom"
@@ -262,9 +312,18 @@
262
312
  <span
263
313
  v-if="!complementaryInfoLine1 && !complementaryInfoLine2 && !alignTopStyle && !message"
264
314
  :id="uniqueId ? `${uniqueId}-text` : undefined"
315
+ ref="labelText"
265
316
  class="d-block text-h5 text-center font-weight-bold amelipro-tile-btn__content"
317
+ :style="labelStyle"
266
318
  >
267
319
  {{ label }}
320
+ <span
321
+ v-if="$slots.labelInfo"
322
+ ref="labelInfo"
323
+ class="amelipro-tile-btn__label-info"
324
+ >
325
+ <slot name="labelInfo" />
326
+ </span>
268
327
 
269
328
  <span
270
329
  v-if="labelBottom"
@@ -357,4 +416,23 @@
357
416
  bottom: 0;
358
417
  right: 10px;
359
418
  }
419
+
420
+ .amelipro-tile-btn__content {
421
+ white-space: normal;
422
+ }
423
+
424
+ .amelipro-tile-btn__label {
425
+ display: inline-block;
426
+ word-break: break-word;
427
+ width: 100%;
428
+ box-sizing: border-box;
429
+ text-align: center;
430
+ }
431
+
432
+ .amelipro-tile-btn__label-info {
433
+ position: absolute;
434
+ top: 44px;
435
+ transform: translateY(-50%);
436
+ right: 22px;
437
+ }
360
438
  </style>
@@ -29,7 +29,6 @@ exports[`AmeliproTooltips > Snapshots > renders the component with all propertie
29
29
  right=""
30
30
  scrim="false"
31
31
  scrollstrategy="reposition"
32
- sticktotarget="false"
33
32
  zindex="2000"
34
33
  ></v-tooltip-stub>
35
34
  </div>
@@ -64,7 +63,6 @@ exports[`AmeliproTooltips > Snapshots > renders the component with only required
64
63
  right=""
65
64
  scrim="false"
66
65
  scrollstrategy="reposition"
67
- sticktotarget="false"
68
66
  zindex="2000"
69
67
  ></v-tooltip-stub>
70
68
  </div>
@@ -4,7 +4,7 @@ import { ref, watch } from 'vue'
4
4
 
5
5
  const meta = {
6
6
  argTypes: {
7
- 'ariaRequired': { description: 'Défini si le champ est obligatoire' },
7
+ 'required': { description: 'Défini si le champ est obligatoire' },
8
8
  'change': {
9
9
  table: { category: 'events' },
10
10
  description: 'Événement émis au changement de la liste de fichiers par utilisation du click sur le champs, renvoie la liste de fichiers',
@@ -16,7 +16,7 @@ const meta = {
16
16
  'fileTypeAccepted': { description: 'Tableau de string au format MIME pour le type de fichier accepté. Exemple : application/pdf (string au format MIME)' },
17
17
  'inputLabel': { description: 'Libellé du champ' },
18
18
  'maxFileNumber': { description: 'Nombre maximum de fichiers autorisés' },
19
- 'rules': { description: 'Liste des règles supplémentaires à respecter pour valider le champ, en plus des règles par défaut. Si une règle est refusée, l’envoi du formulaire est impossible. Par défaut seule la règle `required` est appliquée (si la prop `ariaRequired` vaut `true`). ' },
19
+ 'rules': { description: 'Liste des règles supplémentaires à respecter pour valider le champ, en plus des règles par défaut. Si une règle est refusée, l’envoi du formulaire est impossible. Par défaut seule la règle `required` est appliquée (si la prop `required` vaut `true`). ' },
20
20
  'uniqueId': { description: 'Identifiant unique pour le champ' },
21
21
  'value': { description: 'Liste des fichiers actuelle' },
22
22
  'warningRules': { description: '' },