@cnamts/synapse 1.0.11 → 1.0.13

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 (200) hide show
  1. package/dist/{DateFilter-QEfKOz0P.js → DateFilter-_EFzsvvM.js} +1 -1
  2. package/dist/{NumberFilter-C0h7gVzp.js → NumberFilter-CUxEbKJh.js} +1 -1
  3. package/dist/{PeriodFilter-8dVrKjju.js → PeriodFilter-D5ueqtKy.js} +1 -1
  4. package/dist/{SelectFilter-BI3QGbqb.js → SelectFilter-BciBNydy.js} +1 -1
  5. package/dist/{TextFilter-UOp1hcPp.js → TextFilter-DMN_WAQB.js} +1 -1
  6. package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordion.d.ts +7 -3
  7. package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.d.ts +1 -1
  8. package/dist/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.d.ts +2 -0
  9. package/dist/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.d.ts +7 -3
  10. package/dist/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/AmeliproAccordionResultTemplate.d.ts +1 -1
  11. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +50 -68
  12. package/dist/components/Amelipro/AmeliproCard/AmeliproCard.d.ts +1 -1
  13. package/dist/components/Amelipro/AmeliproIcon/AmeliproIcon.d.ts +1 -1
  14. package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +5 -5
  15. package/dist/components/Amelipro/AmeliproMultipleFoldingCard/AmeliproMultipleFoldingCard.d.ts +1 -1
  16. package/dist/components/Amelipro/AmeliproNumberedCard/AmeliproNumberedCard.d.ts +1 -1
  17. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.d.ts +24 -32
  18. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.d.ts +36 -48
  19. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +50 -68
  20. package/dist/components/Amelipro/AmeliproTable/AmeliproTable.d.ts +4 -0
  21. package/dist/components/Amelipro/AmeliproTable/types.d.ts +11 -0
  22. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +50 -68
  23. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +0 -4
  24. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +12 -16
  25. package/dist/components/Captcha/Captcha.d.ts +68 -0
  26. package/dist/components/Captcha/CaptchaAlert.d.ts +13 -0
  27. package/dist/components/Captcha/CaptchaBase.d.ts +55 -0
  28. package/dist/components/Captcha/CaptchaBtn.d.ts +12 -0
  29. package/dist/components/Captcha/CaptchaForm.d.ts +16 -0
  30. package/dist/components/Captcha/CaptchaImg.d.ts +12 -0
  31. package/dist/components/Captcha/CaptchaInformation.d.ts +20 -0
  32. package/dist/components/Captcha/captchaApi.d.ts +41 -0
  33. package/dist/components/Captcha/icons/volumeUp.d.ts +2 -0
  34. package/dist/components/Captcha/locales.d.ts +35 -0
  35. package/dist/components/Captcha/types.d.ts +2 -0
  36. package/dist/components/ChipList/ChipList.d.ts +2 -2
  37. package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +14 -14
  38. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +5 -5
  39. package/dist/components/Customs/SyForm/SyForm.d.ts +6 -3
  40. package/dist/components/Customs/SyTextField/SyTextField.d.ts +12 -16
  41. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +96 -68
  42. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +63 -38
  43. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +23 -27
  44. package/dist/components/DatePicker/composables/useDatePickerViewMode.d.ts +2 -1
  45. package/dist/components/DatePicker/tests/setup.d.ts +816 -520
  46. package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +10 -10
  47. package/dist/components/NirField/NirField.d.ts +31 -34
  48. package/dist/components/NirField/locales.d.ts +1 -3
  49. package/dist/components/PasswordField/PasswordField.d.ts +2 -0
  50. package/dist/components/PeriodField/PeriodField.d.ts +192 -128
  51. package/dist/components/PhoneField/PhoneField.d.ts +13 -17
  52. package/dist/components/SearchListField/SearchListField.d.ts +5 -5
  53. package/dist/components/SyTextArea/SyTextArea.d.ts +0 -4
  54. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +5 -8
  55. package/dist/components/Tables/SyTable/SyTable.d.ts +5 -8
  56. package/dist/components/Tables/common/SyTablePagination.d.ts +5 -5
  57. package/dist/components/Tables/common/types.d.ts +4 -0
  58. package/dist/components/Tables/common/usePagination.d.ts +3 -4
  59. package/dist/components/Tables/common/useTableCheckbox.d.ts +10 -6
  60. package/dist/components/index.d.ts +1 -0
  61. package/dist/composables/validation/useFormValidation.d.ts +10 -0
  62. package/dist/composables/validation/useValidatable.d.ts +10 -2
  63. package/dist/design-system-v3.js +126 -125
  64. package/dist/design-system-v3.umd.cjs +265 -265
  65. package/dist/main-DISHlqcd.js +34217 -0
  66. package/dist/style.css +1 -1
  67. package/package.json +1 -1
  68. package/src/assets/overrides/_forms.scss +2 -0
  69. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.stories.ts +7 -4
  70. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.vue +2 -0
  71. package/src/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.vue +1 -0
  72. package/src/components/Amelipro/AmeliproAccordionFrieze/__tests__/__snapshots__/AmeliproAccordionFrieze.spec.ts.snap +574 -112
  73. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.stories.ts +5 -2
  74. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +2 -1
  75. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.stories.ts +6 -3
  76. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.vue +2 -0
  77. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.stories.ts +5 -2
  78. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +2 -1
  79. package/src/components/Amelipro/AmeliproCheckbox/__tests__/AmeliproCheckbox.spec.ts +175 -0
  80. package/src/components/Amelipro/AmeliproCheckbox/__tests__/__snapshots__/AmeliproCheckbox.spec.ts.snap +88 -0
  81. package/src/components/Amelipro/AmeliproCheckboxGroup/__tests__/AmeliproCheckboxGroup.spec.ts +423 -0
  82. package/src/components/Amelipro/AmeliproCheckboxGroup/{tests → __tests__}/__snapshots__/AmeliproCheckboxGroup.spec.ts.snap +112 -78
  83. package/src/components/Amelipro/AmeliproChips/__tests__/AmeliproChips.spec.ts +92 -0
  84. package/src/components/Amelipro/AmeliproChips/__tests__/__snapshots__/AmeliproChips.spec.ts.snap +81 -0
  85. package/src/components/Amelipro/AmeliproDialog/__tests__/AmeliproDialog.spec.ts +257 -0
  86. package/src/components/Amelipro/AmeliproDialog/__tests__/__snapshots__/AmeliproDialog.spec.ts.snap +61 -0
  87. package/src/components/Amelipro/AmeliproDisclosure/__tests__/AmeliproDisclosure.spec.ts +79 -0
  88. package/src/components/Amelipro/AmeliproDisclosure/__tests__/__snapshots__/AmeliproDisclosure.spec.ts.snap +89 -0
  89. package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.vue +6 -7
  90. package/src/components/Amelipro/AmeliproFooter/__tests__/AmeliproFooter.spec.ts +787 -0
  91. package/src/components/Amelipro/AmeliproFooter/__tests__/__snapshots__/AmeliproFooter.spec.ts.snap +318 -0
  92. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/__tests__/AmeliproHeaderBrandSection.spec.ts +167 -0
  93. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/__tests__/__snapshots__/AmeliproHeaderBrandSection.spec.ts.snap +100 -0
  94. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/__tests__/AmeliproHeaderBar.spec.ts +312 -0
  95. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/__tests__/__snapshots__/AmeliproHeaderBar.spec.ts.snap +98 -0
  96. package/src/components/Amelipro/AmeliproHeader/__tests__/AmeliproHeader.spec.ts +361 -0
  97. package/src/components/Amelipro/AmeliproHeader/__tests__/__snapshots__/AmeliproHeader.spec.ts.snap +22 -0
  98. package/src/components/Amelipro/AmeliproMenu/__tests__/AmeliproMenu.spec.ts +168 -0
  99. package/src/components/Amelipro/AmeliproMenu/__tests__/__snapshots__/AmeliproMenu.spec.ts.snap +295 -0
  100. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/__tests__/AmeliproDropdownMenuBtn.spec.ts +128 -0
  101. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/__tests__/__snapshots__/AmeliproDropdownMenuBtn.spec.ts.snap +67 -0
  102. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/__tests__/AmeliproDropdownMenu.spec.ts +266 -0
  103. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/__tests__/__snapshots__/AmeliproDropdownMenu.spec.ts.snap +134 -0
  104. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/__tests__/AmeliproMessagingMenuBtn.spec.ts +72 -0
  105. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/__tests__/__snapshots__/AmeliproMessagingMenuBtn.spec.ts.snap +71 -0
  106. package/src/components/Amelipro/AmeliproPageLayout/tests/__snapshots__/AmeliproPageLayout.spec.ts.snap +12 -0
  107. package/src/components/Amelipro/AmeliproTable/AmeliproTable.stories.ts +81 -9
  108. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +139 -61
  109. package/src/components/Amelipro/AmeliproTable/__tests__/AmeliproTable.spec.ts +10 -0
  110. package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +361 -187
  111. package/src/components/Amelipro/AmeliproTable/types.d.ts +11 -0
  112. package/src/components/Captcha/Captcha.mdx +72 -0
  113. package/src/components/Captcha/Captcha.stories.ts +276 -0
  114. package/src/components/Captcha/Captcha.vue +325 -0
  115. package/src/components/Captcha/CaptchaAlert.vue +60 -0
  116. package/src/components/Captcha/CaptchaBase.vue +219 -0
  117. package/src/components/Captcha/CaptchaBtn.vue +35 -0
  118. package/src/components/Captcha/CaptchaForm.vue +58 -0
  119. package/src/components/Captcha/CaptchaImg.vue +41 -0
  120. package/src/components/Captcha/CaptchaInformation.vue +64 -0
  121. package/src/components/Captcha/captchaApi.ts +111 -0
  122. package/src/components/Captcha/icons/volumeUp.vue +11 -0
  123. package/src/components/Captcha/locales.ts +35 -0
  124. package/src/components/Captcha/readme.md +5 -0
  125. package/src/components/Captcha/tests/Captcha.spec.ts +298 -0
  126. package/src/components/Captcha/tests/__snapshots__/Captcha.spec.ts.snap +716 -0
  127. package/src/components/Captcha/types.ts +2 -0
  128. package/src/components/Customs/Selects/SySelect/SySelect.vue +2 -2
  129. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +4 -0
  130. package/src/components/Customs/SyForm/SyForm.stories.ts +133 -23
  131. package/src/components/Customs/SyForm/SyForm.vue +17 -1
  132. package/src/components/Customs/SyTextField/SyTextField.vue +29 -7
  133. package/src/components/DatePicker/CalendarMode/DatePicker.vue +32 -9
  134. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +154 -18
  135. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.spec.ts +2 -2
  136. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +35 -4
  137. package/src/components/DatePicker/composables/tests/useDatePickerViewMode.spec.ts +107 -72
  138. package/src/components/DatePicker/composables/tests/useMonthButtonCustomization.spec.ts +6 -6
  139. package/src/components/DatePicker/composables/useDatePickerViewMode.ts +57 -7
  140. package/src/components/DatePicker/composables/useMonthButtonCustomization.ts +14 -14
  141. package/src/components/DatePicker/tests/navigation.regression.spec.ts +74 -0
  142. package/src/components/DatePicker/tests/navigation.simple.spec.ts +137 -0
  143. package/src/components/NirField/NirField.stories.ts +85 -2
  144. package/src/components/NirField/NirField.vue +55 -18
  145. package/src/components/NirField/locales.ts +1 -3
  146. package/src/components/PasswordField/PasswordField.vue +39 -7
  147. package/src/components/PhoneField/PhoneField.vue +43 -10
  148. package/src/components/RangeField/tests/RangeField.spec.ts +0 -3
  149. package/src/components/Tables/SyServerTable/SyServerTable.mdx +15 -0
  150. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +309 -0
  151. package/src/components/Tables/SyServerTable/SyServerTable.vue +18 -3
  152. package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +67 -0
  153. package/src/components/Tables/SyTable/SyTable.mdx +15 -0
  154. package/src/components/Tables/SyTable/SyTable.stories.ts +228 -0
  155. package/src/components/Tables/SyTable/SyTable.vue +18 -3
  156. package/src/components/Tables/SyTable/tests/SyTable.spec.ts +63 -0
  157. package/src/components/Tables/common/SyTablePagination.vue +10 -8
  158. package/src/components/Tables/common/types.ts +4 -0
  159. package/src/components/Tables/common/usePagination.ts +11 -20
  160. package/src/components/Tables/common/useTableCheckbox.ts +23 -11
  161. package/src/components/index.ts +1 -0
  162. package/src/composables/validation/AvecVosComposants.mdx.old +1 -1
  163. package/src/composables/validation/FormValidation.stories.ts.old +5 -5
  164. package/src/composables/validation/useFormValidation.ts +46 -8
  165. package/src/composables/validation/useValidatable.ts +19 -8
  166. package/src/stories/Accessibilite/Introduction.mdx +1 -1
  167. package/src/stories/Demarrer/EnrichirLeDesignSystem.mdx +43 -0
  168. package/src/stories/Demarrer/EnrichirLeDesignSystem.stories.ts +239 -0
  169. package/src/stories/Demarrer/SignalerUneAnomalie.mdx +39 -0
  170. package/src/stories/Demarrer/SignalerUneAnomalie.stories.ts +261 -0
  171. package/dist/main-DyEOPqqn.js +0 -33329
  172. package/src/components/Amelipro/AmeliproCheckbox/tests/AmeliproCheckbox.spec.ts +0 -19
  173. package/src/components/Amelipro/AmeliproCheckbox/tests/__snapshots__/AmeliproCheckbox.spec.ts.snap +0 -40
  174. package/src/components/Amelipro/AmeliproCheckboxGroup/tests/AmeliproCheckboxGroup.spec.ts +0 -46
  175. package/src/components/Amelipro/AmeliproChips/tests/AmeliproChips.spec.ts +0 -16
  176. package/src/components/Amelipro/AmeliproChips/tests/__snapshots__/AmeliproChips.spec.ts.snap +0 -97
  177. package/src/components/Amelipro/AmeliproDialog/tests/AmeliproDialog.spec.ts +0 -24
  178. package/src/components/Amelipro/AmeliproDialog/tests/__snapshots__/AmeliproDialog.spec.ts.snap +0 -134
  179. package/src/components/Amelipro/AmeliproDisclosure/tests/AmeliproDisclosure.spec.ts +0 -19
  180. package/src/components/Amelipro/AmeliproDisclosure/tests/__snapshots__/AmeliproDisclosure.spec.ts.snap +0 -104
  181. package/src/components/Amelipro/AmeliproFooter/tests/AmeliproFooter.spec.ts +0 -15
  182. package/src/components/Amelipro/AmeliproFooter/tests/__snapshots__/AmeliproFooter.spec.ts.snap +0 -432
  183. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/tests/AmeliproHeaderBrandSection.spec.ts +0 -15
  184. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/tests/__snapshots__/AmeliproHeaderBrandSection.spec.ts.snap +0 -131
  185. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/tests/AmeliproHeaderBar.spec.ts +0 -15
  186. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/tests/__snapshots__/AmeliproHeaderBar.spec.ts.snap +0 -172
  187. package/src/components/Amelipro/AmeliproHeader/tests/AmeliproHeader.spec.ts +0 -159
  188. package/src/components/Amelipro/AmeliproHeader/tests/__snapshots__/AmeliproHeader.spec.ts.snap +0 -841
  189. package/src/components/Amelipro/AmeliproMenu/tests/AmeliproMenu.spec.ts +0 -85
  190. package/src/components/Amelipro/AmeliproMenu/tests/__snapshots__/AmeliproMenu.spec.ts.snap +0 -537
  191. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/tests/AmeliproDropdownMenuBtn.spec.ts +0 -16
  192. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/tests/__snapshots__/AmeliproDropdownMenuBtn.spec.ts.snap +0 -56
  193. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/tests/AmeliproDropdownMenu.spec.ts +0 -28
  194. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/tests/__snapshots__/AmeliproDropdownMenu.spec.ts.snap +0 -300
  195. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/tests/AmeliproMessagingMenuBtn.spec.ts +0 -16
  196. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/tests/__snapshots__/AmeliproMessagingMenuBtn.spec.ts.snap +0 -89
  197. package/src/components/BackBtn/tests/__snapshots__/BackBtn.spec.ts.snap +0 -45
  198. package/src/components/RangeField/tests/__snapshots__/RangeField.spec.ts.snap +0 -1270
  199. package/src/stories/Demarrer/CreerUneIssue.mdx +0 -67
  200. package/src/stories/Demarrer/components.stories.ts +0 -25
@@ -0,0 +1,318 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`AmeliproFooter > Snapshots > renders the component with all properties filled in 1`] = `
4
+ <footer
5
+ class="
6
+ amelipro-footer
7
+ bg-ap-blue-darken-2
8
+ d-block
9
+ justify-center
10
+ px-8
11
+ py-3
12
+ w-100
13
+ "
14
+ id="modified-unique-id-container"
15
+ role="contentinfo"
16
+ style="position: relative;"
17
+ >
18
+ <div
19
+ class="
20
+ align-center
21
+ amelipro-footer__content
22
+ d-flex
23
+ justify-center
24
+ "
25
+ id="modified-unique-id-content"
26
+ style="width: 100%;"
27
+ >
28
+ <!-- v-if -->
29
+ <!-- v-if -->
30
+ <!-- v-if -->
31
+ <p
32
+ class="
33
+ amelipro-footer__backoffice-text
34
+ font-weight-bold
35
+ mb-0
36
+ text-ap-white
37
+ text-center
38
+ "
39
+ id="modified-unique-id-backoffice-text"
40
+ >
41
+ CNAM - Modified back office text - Version Modified version
42
+ </p>
43
+ </div>
44
+ <!-- v-if -->
45
+ </footer>
46
+ `;
47
+
48
+ exports[`AmeliproFooter > Snapshots > renders the component with only required properties filled in 1`] = `
49
+ <footer
50
+ class="
51
+ amelipro-footer
52
+ bg-ap-blue-darken-2
53
+ d-block
54
+ justify-center
55
+ px-8
56
+ py-3
57
+ w-100
58
+ "
59
+ role="contentinfo"
60
+ style="position: relative;"
61
+ >
62
+ <div
63
+ class="
64
+ align-center
65
+ amelipro-footer__content
66
+ d-flex
67
+ flex-row
68
+ justify-space-between
69
+ "
70
+ style="width: 100%;"
71
+ >
72
+ <p class="
73
+ font-weight-bold
74
+ footer-version
75
+ mb-0
76
+ mr-4
77
+ text-ap-white
78
+ text-caption
79
+ ">
80
+ X.X.X
81
+ </p>
82
+ <div class="
83
+ amelipro-footer__contact
84
+ mr-4
85
+ mt-1
86
+ ">
87
+ <amelipro-btn-stub
88
+ badge="false"
89
+ badgebgcolor="ap-pink"
90
+ badgecolor="ap-white"
91
+ bordered="false"
92
+ class="
93
+ amelipro-footer__contact__link
94
+ text-ap-white
95
+ text-decoration-none
96
+ "
97
+ color="ap-blue-darken-1"
98
+ disabled="false"
99
+ hovercolor="ap-blue-darken-2"
100
+ hoverunderline="false"
101
+ href="tel:3608"
102
+ iconbgcolor="transparent"
103
+ iconbordered="false"
104
+ iconleft="false"
105
+ infoblock="false"
106
+ minheight="2.5rem"
107
+ size="60px"
108
+ text="true"
109
+ textcolor="ap-white"
110
+ type="button"
111
+ underline="false"
112
+ ></amelipro-btn-stub>
113
+ </div>
114
+ <ul class="
115
+ align-center
116
+ amelipro-footer__list
117
+ d-flex
118
+ flex-wrap
119
+ justify-end
120
+ list-style-none
121
+ mt-2
122
+ mt-sm-0
123
+ ">
124
+ <li class="
125
+ footer-list-item
126
+ pa-2
127
+ ">
128
+ <amelipro-btn-stub
129
+ badge="false"
130
+ badgebgcolor="ap-pink"
131
+ badgecolor="ap-white"
132
+ bordered="false"
133
+ class="
134
+ amelipro-footer__site-map-btn
135
+ text-none
136
+ "
137
+ color="ap-white"
138
+ disabled="false"
139
+ hovercolor="ap-white"
140
+ hoverunderline="true"
141
+ iconbgcolor="transparent"
142
+ iconbordered="false"
143
+ iconleft="false"
144
+ infoblock="false"
145
+ minheight="2.5rem"
146
+ size="60px"
147
+ text="true"
148
+ textcolor="ap-white"
149
+ type="button"
150
+ underline="false"
151
+ ></amelipro-btn-stub>
152
+ </li>
153
+ <li class="
154
+ footer-list-item
155
+ pa-2
156
+ ">
157
+ <amelipro-btn-stub
158
+ badge="false"
159
+ badgebgcolor="ap-pink"
160
+ badgecolor="ap-white"
161
+ bordered="false"
162
+ class="
163
+ amelipro-footer__about-btn
164
+ text-none
165
+ "
166
+ color="ap-white"
167
+ disabled="false"
168
+ hovercolor="ap-white"
169
+ hoverunderline="true"
170
+ iconbgcolor="transparent"
171
+ iconbordered="false"
172
+ iconleft="false"
173
+ infoblock="false"
174
+ minheight="2.5rem"
175
+ size="60px"
176
+ text="true"
177
+ textcolor="ap-white"
178
+ type="button"
179
+ underline="false"
180
+ ></amelipro-btn-stub>
181
+ </li>
182
+ <li class="
183
+ footer-list-item
184
+ pa-2
185
+ ">
186
+ <amelipro-btn-stub
187
+ badge="false"
188
+ badgebgcolor="ap-pink"
189
+ badgecolor="ap-white"
190
+ bordered="false"
191
+ class="
192
+ amelipro-footer__config-btn
193
+ text-none
194
+ "
195
+ color="ap-white"
196
+ disabled="false"
197
+ hovercolor="ap-white"
198
+ hoverunderline="true"
199
+ iconbgcolor="transparent"
200
+ iconbordered="false"
201
+ iconleft="false"
202
+ infoblock="false"
203
+ minheight="2.5rem"
204
+ size="60px"
205
+ text="true"
206
+ textcolor="ap-white"
207
+ type="button"
208
+ underline="false"
209
+ ></amelipro-btn-stub>
210
+ </li>
211
+ <li class="
212
+ footer-list-item
213
+ pa-2
214
+ ">
215
+ <amelipro-btn-stub
216
+ badge="false"
217
+ badgebgcolor="ap-pink"
218
+ badgecolor="ap-white"
219
+ bordered="false"
220
+ class="
221
+ amelipro-footer__legal-notice-btn
222
+ text-none
223
+ "
224
+ color="ap-white"
225
+ disabled="false"
226
+ hovercolor="ap-white"
227
+ hoverunderline="true"
228
+ iconbgcolor="transparent"
229
+ iconbordered="false"
230
+ iconleft="false"
231
+ infoblock="false"
232
+ minheight="2.5rem"
233
+ size="60px"
234
+ text="true"
235
+ textcolor="ap-white"
236
+ type="button"
237
+ underline="false"
238
+ ></amelipro-btn-stub>
239
+ </li>
240
+ <li class="
241
+ footer-list-item
242
+ pa-2
243
+ ">
244
+ <amelipro-btn-stub
245
+ badge="false"
246
+ badgebgcolor="ap-pink"
247
+ badgecolor="ap-white"
248
+ bordered="false"
249
+ class="
250
+ amelipro-footer__cgu-btn
251
+ text-none
252
+ "
253
+ color="ap-white"
254
+ disabled="false"
255
+ hovercolor="ap-white"
256
+ hoverunderline="true"
257
+ iconbgcolor="transparent"
258
+ iconbordered="false"
259
+ iconleft="false"
260
+ infoblock="false"
261
+ minheight="2.5rem"
262
+ size="60px"
263
+ text="true"
264
+ textcolor="ap-white"
265
+ type="button"
266
+ underline="false"
267
+ ></amelipro-btn-stub>
268
+ </li>
269
+ <li class="
270
+ footer-list-item
271
+ pa-2
272
+ ">
273
+ <amelipro-btn-stub
274
+ badge="false"
275
+ badgebgcolor="ap-pink"
276
+ badgecolor="ap-white"
277
+ bordered="false"
278
+ class="
279
+ amelipro-footer__a11y-btn
280
+ text-none
281
+ "
282
+ color="ap-white"
283
+ disabled="false"
284
+ hovercolor="ap-white"
285
+ hoverunderline="true"
286
+ iconbgcolor="transparent"
287
+ iconbordered="false"
288
+ iconleft="false"
289
+ infoblock="false"
290
+ minheight="2.5rem"
291
+ size="60px"
292
+ text="true"
293
+ textcolor="ap-white"
294
+ type="button"
295
+ underline="false"
296
+ ></amelipro-btn-stub>
297
+ </li>
298
+ </ul>
299
+ <!-- v-if -->
300
+ </div>
301
+ <div class="
302
+ align-center
303
+ d-none
304
+ flex-column
305
+ footer-version--mobile
306
+ ">
307
+ <p class="
308
+ font-weight-bold
309
+ mb-0
310
+ mt-2
311
+ text-ap-white
312
+ text-caption
313
+ ">
314
+ X.X.X
315
+ </p>
316
+ </div>
317
+ </footer>
318
+ `;
@@ -0,0 +1,167 @@
1
+ import { type RouteLocationRaw, RouterLink } from 'vue-router'
2
+ import { beforeEach, describe, expect, it } from 'vitest'
3
+ import { mount, shallowMount } from '@vue/test-utils'
4
+ import AmeliproHeaderBrandSection from '../AmeliproHeaderBrandSection.vue'
5
+ import type { ComponentProps } from 'vue-component-type-helpers'
6
+ import type { ExpectedPropOptions } from '@tests/types'
7
+ import type { PropType } from 'vue'
8
+ import TestHelper from '@tests/helpers/TestHelper'
9
+
10
+ const expectedPropOptions: ExpectedPropOptions<typeof AmeliproHeaderBrandSection> = {
11
+ homeHref: {
12
+ type: String,
13
+ default: undefined,
14
+ },
15
+ homeLink: {
16
+ type: [String, Boolean, Object] as PropType<RouteLocationRaw>,
17
+ default: undefined,
18
+ },
19
+ mobileVersion: {
20
+ type: Boolean,
21
+ default: false,
22
+ },
23
+ serviceSubTitle: {
24
+ type: String,
25
+ default: undefined,
26
+ },
27
+ serviceTitle: {
28
+ type: String,
29
+ default: undefined,
30
+ },
31
+ themeAmelipro: {
32
+ type: Boolean,
33
+ default: true,
34
+ },
35
+ uniqueId: {
36
+ type: String,
37
+ default: undefined,
38
+ },
39
+ }
40
+
41
+ // Props requises
42
+ const requiredPropValues = (): ComponentProps<typeof AmeliproHeaderBrandSection> => ({})
43
+
44
+ // Props modifiées
45
+ const modifiedPropValues = (): ComponentProps<typeof AmeliproHeaderBrandSection> => ({
46
+ homeHref: '/accueil',
47
+ homeLink: '/accueil-link',
48
+ mobileVersion: true,
49
+ serviceSubTitle: 'Modified sub title',
50
+ serviceTitle: 'Modified service title',
51
+ themeAmelipro: false,
52
+ uniqueId: 'modified-unique-id',
53
+ })
54
+
55
+ const testHelper = new TestHelper(AmeliproHeaderBrandSection)
56
+ testHelper.setExpectedPropOptions(expectedPropOptions)
57
+ .setRequiredPropValues(requiredPropValues)
58
+ .setModifiedPropValues(modifiedPropValues)
59
+
60
+ describe('AmeliproHeaderBrandSection', () => {
61
+ describe('Snapshots', () => {
62
+ testHelper.snapshots()
63
+ })
64
+
65
+ describe('Properties', () => {
66
+ testHelper.properties()
67
+ })
68
+
69
+ describe('Setting props should update attributes of inner tags', () => {
70
+ let vueWrapper: ReturnType<typeof shallowMount>
71
+
72
+ describe('root', () => {
73
+ beforeEach(() => {
74
+ vueWrapper = shallowMount(AmeliproHeaderBrandSection, { props: requiredPropValues() })
75
+ })
76
+
77
+ it('prop uniqueId sets attribute id', async () => {
78
+ expect(vueWrapper.attributes('id')).toBe(undefined)
79
+
80
+ const { uniqueId } = modifiedPropValues()
81
+ await vueWrapper.setProps({ uniqueId })
82
+ expect(vueWrapper.attributes('id')).toBe(`${testHelper.modified('uniqueId')}-container`)
83
+ })
84
+ })
85
+
86
+ describe('Component', () => {
87
+ beforeEach(() => {
88
+ vueWrapper = shallowMount(AmeliproHeaderBrandSection, { props: requiredPropValues() })
89
+ })
90
+ it('prop homeHref sets <a> as root link', async () => {
91
+ expect(vueWrapper.find('a.header-home-link').exists()).toBe(false)
92
+
93
+ const { homeHref } = modifiedPropValues()
94
+ await vueWrapper.setProps({ homeHref })
95
+ expect(vueWrapper.find('a.header-home-link').exists()).toBe(true)
96
+ })
97
+
98
+ // TODO: corriger le rendu du Component
99
+ it.skip('prop homeHref undefined uses RouterLink', () => {
100
+ expect(vueWrapper.findComponent(RouterLink).exists()).toBe(true)
101
+ })
102
+ })
103
+
104
+ // TODO: corriger le rendu du slot pour le titre
105
+ describe.skip('Titre', () => {
106
+ beforeEach(() => {
107
+ vueWrapper = shallowMount(AmeliproHeaderBrandSection, { props: requiredPropValues() })
108
+ })
109
+ it('prop serviceTitle sets service title', async () => {
110
+ expect(vueWrapper.find('h1.header-title').exists()).toBe(false)
111
+
112
+ const { serviceTitle } = modifiedPropValues()
113
+ await vueWrapper.setProps({ serviceTitle })
114
+ expect(vueWrapper.find('h1.header-title').text()).toBe(testHelper.modified('serviceTitle'))
115
+ })
116
+ })
117
+
118
+ // TODO: corriger le rendu du slot pour le sous-titre
119
+ describe.skip('Sous-titre', () => {
120
+ beforeEach(() => {
121
+ vueWrapper = shallowMount(AmeliproHeaderBrandSection, { props: requiredPropValues() })
122
+ })
123
+ it('prop uniqueId sets attribute id', async () => {
124
+ vueWrapper = mount(AmeliproHeaderBrandSection, {
125
+ props: {
126
+ ...requiredPropValues(),
127
+ serviceSubTitle: modifiedPropValues().serviceSubTitle,
128
+ serviceTitle: modifiedPropValues().serviceTitle,
129
+ },
130
+ })
131
+ expect(vueWrapper.find('h2.header-title').attributes('id')).toBe(undefined)
132
+
133
+ const { uniqueId } = modifiedPropValues()
134
+ await vueWrapper.setProps({ uniqueId })
135
+ expect(vueWrapper.find('h2.header-title').attributes('id')).toBe(`${testHelper.modified('uniqueId')}-container`)
136
+ })
137
+
138
+ it('prop serviceSubTitle sets subtitle', async () => {
139
+ expect(vueWrapper.find('h2.header-title').exists()).toBe(false)
140
+
141
+ const { serviceSubTitle, serviceTitle } = modifiedPropValues()
142
+ // Sous-titre seul ne s'affiche pas
143
+ await vueWrapper.setProps({ serviceSubTitle })
144
+ expect(vueWrapper.find('h2.header-title').exists()).toBe(false)
145
+
146
+ // Avec le titre, le sous-titre s'affiche
147
+ await vueWrapper.setProps({ serviceTitle })
148
+ expect(vueWrapper.find('h2.header-title').text()).toBe(testHelper.modified('serviceSubTitle'))
149
+ })
150
+ })
151
+
152
+ describe('Logo', () => {
153
+ beforeEach(() => {
154
+ vueWrapper = shallowMount(AmeliproHeaderBrandSection, { props: requiredPropValues() })
155
+ })
156
+ it('prop themeAmelipro true displays logo', () => {
157
+ vueWrapper = shallowMount(AmeliproHeaderBrandSection, { props: { ...requiredPropValues(), themeAmelipro: true } })
158
+ expect(vueWrapper.find('img.logo-amelipro').exists()).toBe(true)
159
+ })
160
+
161
+ it('prop themeAmelipro false hides logo', () => {
162
+ vueWrapper = shallowMount(AmeliproHeaderBrandSection, { props: { ...requiredPropValues(), serviceTitle: 'Titre', themeAmelipro: false } })
163
+ expect(vueWrapper.find('img.logo-amelipro').exists()).toBe(false)
164
+ })
165
+ })
166
+ })
167
+ })
@@ -0,0 +1,100 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`AmeliproHeaderBrandSection > Snapshots > renders the component with all properties filled in 1`] = `
4
+ <div
5
+ class="
6
+ d-flex
7
+ header-brand-section
8
+ "
9
+ id="modified-unique-id-container"
10
+ >
11
+ <a
12
+ aria-label="Retour à l’accueil, Modified service title Modified sub title"
13
+ class="
14
+ align-center
15
+ d-flex
16
+ header-home-link
17
+ w-100
18
+ "
19
+ href="/accueil"
20
+ id="modified-unique-id-logo-link"
21
+ title="Retour à l’accueil, Modified service title Modified sub title"
22
+ >
23
+ <amelipro-logo-am-stub
24
+ hidesignature="false"
25
+ size="small"
26
+ uniqueid="modified-unique-id-logo-am"
27
+ ></amelipro-logo-am-stub><svg
28
+ aria-hidden="true"
29
+ class="header-home-link__divider"
30
+ fill="#0C419A"
31
+ focusable="false"
32
+ height="40"
33
+ role="img"
34
+ viewBox="0 0 22 64"
35
+ width="14"
36
+ xmlns="http://www.w3.org/2000/svg"
37
+ >
38
+ <path d="M14.3 49.3c-.2 0-.4-.2-.4-.4V14.2c0-.2.2-.4.4-.4.3 0 .5.2.5.4v34.7c0 .2-.2.4-.5.4Z" />
39
+ </svg><span
40
+ class="
41
+ d-flex
42
+ flex-column
43
+ justify-center
44
+ text-ap-blue-darken-1
45
+ "
46
+ id="modified-unique-id-title-wrapper"
47
+ ><h1
48
+ class="
49
+ font-weight-bold
50
+ header-title
51
+ "
52
+ id="modified-unique-id-title"
53
+ >Modified service title</h1><h2
54
+ class="header-title"
55
+ id="modified-unique-id-subtitle"
56
+ >Modified sub title</h2></span>
57
+ </a>
58
+ </div>
59
+ `;
60
+
61
+ exports[`AmeliproHeaderBrandSection > Snapshots > renders the component with only required properties filled in 1`] = `
62
+ <div class="
63
+ d-flex
64
+ header-brand-section
65
+ ">
66
+ <button
67
+ aria-label="Retour à l’accueil"
68
+ class="
69
+ align-center
70
+ d-flex
71
+ header-home-link
72
+ w-100
73
+ "
74
+ title="Retour à l’accueil"
75
+ >
76
+ <amelipro-logo-am-stub
77
+ hidesignature="false"
78
+ size="normal"
79
+ ></amelipro-logo-am-stub>
80
+ <svg
81
+ aria-hidden="true"
82
+ class="header-home-link__divider"
83
+ fill="#006386"
84
+ focusable="false"
85
+ height="64"
86
+ role="img"
87
+ viewBox="0 0 22 64"
88
+ width="22"
89
+ xmlns="http://www.w3.org/2000/svg"
90
+ >
91
+ <path d="M14.3 49.3c-.2 0-.4-.2-.4-.4V14.2c0-.2.2-.4.4-.4.3 0 .5.2.5.4v34.7c0 .2-.2.4-.5.4Z" />
92
+ </svg>
93
+ <img
94
+ alt="AmeliPro"
95
+ class="logo-amelipro"
96
+ src="/src/assets/amelipro/img/amelipro.svg"
97
+ />
98
+ </button>
99
+ </div>
100
+ `;