@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,295 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`AmeliproMenu > Snapshots > renders the component with all properties filled in 1`] = `
4
+ <div
5
+ class="
6
+ amelipro-menu
7
+ d-flex
8
+ justify-center
9
+ "
10
+ id="modified-unique-id-container"
11
+ >
12
+ <amelipro-icon-btn-stub
13
+ badge="false"
14
+ bordered="false"
15
+ btnlabel="Menu du service"
16
+ class="amelipro-menu__btn--open"
17
+ icon="menuSquare"
18
+ iconbgcolor="transparent"
19
+ iconcolor="ap-white"
20
+ iconhoverbgcolor="transparent"
21
+ iconhovercolor="ap-grey-lighten-5"
22
+ large="true"
23
+ medium="false"
24
+ small="false"
25
+ uniqueid="modified-unique-id-open-btn"
26
+ xlarge="false"
27
+ ></amelipro-icon-btn-stub>
28
+ <div
29
+ aria-label="Menu du service"
30
+ aria-modal="true"
31
+ color="ap-blue-darken-2"
32
+ hide-overlay=""
33
+ id="modified-unique-id-drawer"
34
+ model-value="false"
35
+ role="dialog"
36
+ temporary=""
37
+ width="300"
38
+ >
39
+ <div
40
+ class="
41
+ align-center
42
+ amelipro-menu__container
43
+ d-flex
44
+ justify-space-between
45
+ "
46
+ id="modified-unique-id-drawer-content"
47
+ >
48
+ <h2
49
+ class="
50
+ amelipro-menu__title
51
+ mb-0
52
+ pa-1
53
+ text-ap-white
54
+ text-uppercase
55
+ "
56
+ id="modified-unique-id-drawer-title"
57
+ >
58
+ Modified menu header
59
+ </h2>
60
+ <amelipro-icon-btn-stub
61
+ badge="false"
62
+ bordered="false"
63
+ btnlabel="Fermer le menu"
64
+ class="menu-btn-close"
65
+ iconbgcolor="transparent"
66
+ iconcolor="ap-white"
67
+ iconhoverbgcolor="transparent"
68
+ iconhovercolor="ap-white"
69
+ large="false"
70
+ medium="false"
71
+ small="false"
72
+ uniqueid="modified-unique-id-close-menu-btn"
73
+ xlarge="false"
74
+ ></amelipro-icon-btn-stub>
75
+ </div>
76
+ <v-divider-stub
77
+ class="my-2"
78
+ color="ap-white"
79
+ inset="false"
80
+ style="opacity: 1 !important;"
81
+ thickness="1px"
82
+ vertical="false"
83
+ ></v-divider-stub>
84
+ <ul
85
+ class="
86
+ amelipro-menu__list
87
+ list-style-none
88
+ "
89
+ id="modified-unique-id-list"
90
+ >
91
+ <li class="amelipro-menu__item">
92
+ <div>
93
+ <amelipro-btn-stub
94
+ aria-controls="modified-unique-id-niveau-2-0"
95
+ aria-expanded="false"
96
+ badge="false"
97
+ badgebgcolor="ap-pink"
98
+ badgecolor="ap-white"
99
+ bordered="false"
100
+ classes="d-flex justify-space-between w-100 menu-btn"
101
+ color="ap-blue-darken-2"
102
+ disabled="false"
103
+ elevation="0"
104
+ hovercolor="ap-blue-lighten-3"
105
+ hoverunderline="false"
106
+ iconbgcolor="transparent"
107
+ iconbordered="false"
108
+ iconfocuscolor="ap-blue-darken-2"
109
+ iconhovercolor="ap-blue-darken-2"
110
+ iconleft="false"
111
+ infoblock="false"
112
+ minheight="2.5rem"
113
+ size="60px"
114
+ text="false"
115
+ textcolor="ap-white"
116
+ textfocuscolor="ap-blue-darken-2"
117
+ texthovercolor="ap-blue-darken-2"
118
+ tile=""
119
+ type="button"
120
+ underline="false"
121
+ uniqueid="menu-btn__modified-menu-1"
122
+ ></amelipro-btn-stub>
123
+ <!-- v-if -->
124
+ </div>
125
+ </li>
126
+ </ul>
127
+ <v-divider-stub
128
+ class="my-2"
129
+ color="ap-white"
130
+ inset="false"
131
+ style="opacity: 1 !important;"
132
+ thickness="1px"
133
+ vertical="false"
134
+ ></v-divider-stub>
135
+ <div>
136
+ <amelipro-btn-stub
137
+ badge="false"
138
+ badgebgcolor="ap-pink"
139
+ badgecolor="ap-white"
140
+ bordered="false"
141
+ classes="w-100 pa-0 home-menu-btn"
142
+ color="ap-blue-darken-2"
143
+ disabled="false"
144
+ elevation="0"
145
+ hovercolor="ap-blue-darken-2"
146
+ hoverunderline="false"
147
+ href="modified-home-href"
148
+ iconbgcolor="transparent"
149
+ iconbordered="false"
150
+ iconleft="false"
151
+ infoblock="false"
152
+ minheight="2.5rem"
153
+ size="60px"
154
+ text="false"
155
+ textcolor="ap-white"
156
+ textfocuscolor="ap-blue-darken-2"
157
+ texthovercolor="ap-blue-darken-2"
158
+ tile=""
159
+ to="modified-home-to"
160
+ type="button"
161
+ underline="false"
162
+ uniqueid="modified-unique-id-return-home-menu-btn"
163
+ ></amelipro-btn-stub>
164
+ </div>
165
+ </div>
166
+ </div>
167
+ `;
168
+
169
+ exports[`AmeliproMenu > Snapshots > renders the component with only required properties filled in 1`] = `
170
+ <div
171
+ class="
172
+ amelipro-menu
173
+ d-flex
174
+ justify-center
175
+ "
176
+ id="required-unique-id-container"
177
+ >
178
+ <amelipro-icon-btn-stub
179
+ badge="false"
180
+ bordered="false"
181
+ btnlabel="Menu du service"
182
+ class="amelipro-menu__btn--open"
183
+ icon="menuSquare"
184
+ iconbgcolor="transparent"
185
+ iconcolor="ap-white"
186
+ iconhoverbgcolor="transparent"
187
+ iconhovercolor="ap-grey-lighten-5"
188
+ large="true"
189
+ medium="false"
190
+ small="false"
191
+ uniqueid="required-unique-id-open-btn"
192
+ xlarge="false"
193
+ ></amelipro-icon-btn-stub>
194
+ <div
195
+ aria-label="Menu du service"
196
+ aria-modal="true"
197
+ color="ap-blue-darken-2"
198
+ hide-overlay=""
199
+ id="required-unique-id-drawer"
200
+ model-value="false"
201
+ role="dialog"
202
+ temporary=""
203
+ width="300"
204
+ >
205
+ <div
206
+ class="
207
+ align-center
208
+ amelipro-menu__container
209
+ d-flex
210
+ justify-space-between
211
+ "
212
+ id="required-unique-id-drawer-content"
213
+ >
214
+ <h2
215
+ class="
216
+ amelipro-menu__title
217
+ mb-0
218
+ pa-1
219
+ text-ap-white
220
+ text-uppercase
221
+ "
222
+ id="required-unique-id-drawer-title"
223
+ >
224
+ Titre du service
225
+ </h2>
226
+ <amelipro-icon-btn-stub
227
+ badge="false"
228
+ bordered="false"
229
+ btnlabel="Fermer le menu"
230
+ class="menu-btn-close"
231
+ iconbgcolor="transparent"
232
+ iconcolor="ap-white"
233
+ iconhoverbgcolor="transparent"
234
+ iconhovercolor="ap-white"
235
+ large="false"
236
+ medium="false"
237
+ small="false"
238
+ uniqueid="required-unique-id-close-menu-btn"
239
+ xlarge="false"
240
+ ></amelipro-icon-btn-stub>
241
+ </div>
242
+ <v-divider-stub
243
+ class="my-2"
244
+ color="ap-white"
245
+ inset="false"
246
+ style="opacity: 1 !important;"
247
+ thickness="1px"
248
+ vertical="false"
249
+ ></v-divider-stub>
250
+ <ul
251
+ class="
252
+ amelipro-menu__list
253
+ list-style-none
254
+ "
255
+ id="required-unique-id-list"
256
+ ></ul>
257
+ <v-divider-stub
258
+ class="my-2"
259
+ color="ap-white"
260
+ inset="false"
261
+ style="opacity: 1 !important;"
262
+ thickness="1px"
263
+ vertical="false"
264
+ ></v-divider-stub>
265
+ <div>
266
+ <amelipro-btn-stub
267
+ badge="false"
268
+ badgebgcolor="ap-pink"
269
+ badgecolor="ap-white"
270
+ bordered="false"
271
+ classes="w-100 pa-0 home-menu-btn"
272
+ color="ap-blue-darken-2"
273
+ disabled="false"
274
+ elevation="0"
275
+ hovercolor="ap-blue-darken-2"
276
+ hoverunderline="false"
277
+ iconbgcolor="transparent"
278
+ iconbordered="false"
279
+ iconleft="false"
280
+ infoblock="false"
281
+ minheight="2.5rem"
282
+ size="60px"
283
+ text="false"
284
+ textcolor="ap-white"
285
+ textfocuscolor="ap-blue-darken-2"
286
+ texthovercolor="ap-blue-darken-2"
287
+ tile=""
288
+ type="button"
289
+ underline="false"
290
+ uniqueid="required-unique-id-return-home-menu-btn"
291
+ ></amelipro-btn-stub>
292
+ </div>
293
+ </div>
294
+ </div>
295
+ `;
@@ -0,0 +1,128 @@
1
+ import { VueWrapper, mount, shallowMount } from '@vue/test-utils'
2
+ import { beforeEach, describe, expect, it } from 'vitest'
3
+ import { AmeliproBtn } from '@/components'
4
+ import AmeliproDropdownMenuBtn from '../AmeliproDropdownMenuBtn.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 type { RouteLocationRaw } from 'vue-router'
9
+ import TestHelper from '@tests/helpers/TestHelper'
10
+
11
+ const expectedPropOptions: ExpectedPropOptions<typeof AmeliproDropdownMenuBtn> = {
12
+ href: {
13
+ type: String,
14
+ default: undefined,
15
+ },
16
+ label: {
17
+ type: String,
18
+ required: true,
19
+ },
20
+ to: {
21
+ type: [Array, Object, String] as PropType<RouteLocationRaw>,
22
+ default: undefined,
23
+ },
24
+ uniqueId: {
25
+ type: String,
26
+ required: true,
27
+ },
28
+ }
29
+
30
+ // Values pour les props "required"
31
+ const requiredPropValues = (): ComponentProps<typeof AmeliproDropdownMenuBtn> => ({
32
+ label: 'Required label',
33
+ uniqueId: 'required-unique-id',
34
+ })
35
+
36
+ // Valeurs pour les props "modified"
37
+ const modifiedPropValues = (): ComponentProps<typeof AmeliproDropdownMenuBtn> => ({
38
+ href: 'modified-href',
39
+ label: 'modified label',
40
+ to: 'modified-to',
41
+ uniqueId: 'modified-unique-id',
42
+ })
43
+
44
+ const testHelper = new TestHelper(AmeliproDropdownMenuBtn)
45
+ testHelper.setExpectedPropOptions(expectedPropOptions)
46
+ .setRequiredPropValues(requiredPropValues)
47
+ .setModifiedPropValues(modifiedPropValues)
48
+
49
+ describe('AmeliproDropdownMenuBtn', () => {
50
+ describe('Snapshots', () => {
51
+ testHelper.snapshots()
52
+ })
53
+
54
+ describe('Properties', () => {
55
+ testHelper.properties()
56
+ })
57
+
58
+ describe('Setting props should update props & attributes of inner components', () => {
59
+ let vueWrapper: VueWrapper<InstanceType<typeof AmeliproDropdownMenuBtn>>
60
+
61
+ describe('AmeliproBtn', () => {
62
+ beforeEach(() => {
63
+ vueWrapper = shallowMount(AmeliproDropdownMenuBtn, { props: requiredPropValues() })
64
+ })
65
+
66
+ it('prop uniqueId sets prop uniqueId', async () => {
67
+ expect(vueWrapper.findComponent(AmeliproBtn).props('uniqueId')).toBe(testHelper.default('uniqueId'))
68
+
69
+ const { uniqueId } = modifiedPropValues()
70
+ await vueWrapper.setProps({ uniqueId })
71
+ expect(vueWrapper.findComponent(AmeliproBtn).props('uniqueId')).toBe(testHelper.modified('uniqueId'))
72
+ })
73
+
74
+ it('prop href sets attribute href', async () => {
75
+ expect(vueWrapper.findComponent(AmeliproBtn).attributes('href')).toBe(testHelper.default('href'))
76
+
77
+ const { href } = modifiedPropValues()
78
+ await vueWrapper.setProps({ href })
79
+ expect(vueWrapper.findComponent(AmeliproBtn).attributes('href')).toBe(testHelper.modified('href'))
80
+ })
81
+
82
+ it('prop to sets attribute to', async () => {
83
+ expect(vueWrapper.findComponent(AmeliproBtn).attributes('to')).toBe(testHelper.default('to'))
84
+
85
+ const { to } = modifiedPropValues()
86
+ await vueWrapper.setProps({ to })
87
+ expect(vueWrapper.findComponent(AmeliproBtn).attributes('to')).toBe(testHelper.modified('to'))
88
+ })
89
+ })
90
+ })
91
+
92
+ describe('Events', () => {
93
+ let wrapper: VueWrapper<InstanceType<typeof AmeliproDropdownMenuBtn>>
94
+ const buttonFinder = () => wrapper.findComponent(AmeliproBtn)
95
+ beforeEach(() => {
96
+ wrapper = mount(AmeliproDropdownMenuBtn, { props: modifiedPropValues() })
97
+ })
98
+ it('test emitEvent', async () => {
99
+ expect(wrapper.exists()).toBeTruthy()
100
+ expect(buttonFinder().exists()).toBeTruthy()
101
+ const emitValues = ['down', 'up', 'end', 'home', 'esc']
102
+ await emitValues.forEach(async (element) => {
103
+ expect(wrapper.emitted(element)).toBeUndefined()
104
+ await buttonFinder().trigger(`keyup.${element}`)
105
+ expect(wrapper.emitted(element)).toStrictEqual([[]])
106
+ expect(wrapper.emitted('letters')).toStrictEqual(undefined)
107
+ })
108
+ })
109
+
110
+ it('test emitLettersEvent', async () => {
111
+ expect(wrapper.exists()).toBeTruthy()
112
+ expect(buttonFinder().exists()).toBeTruthy()
113
+ await buttonFinder().trigger('keyup', { key: 'a' })
114
+ expect(wrapper.emitted('letters')).toStrictEqual([['a']])
115
+ await buttonFinder().trigger('keyup', { key: 'B' })
116
+ expect(wrapper.emitted('letters')).toStrictEqual([['a'], ['b']])
117
+ await buttonFinder().trigger('keyup', { key: '+' })
118
+ expect(wrapper.emitted('letters')).toStrictEqual([['a'], ['b']])
119
+ })
120
+ })
121
+
122
+ // describe('Other', () => {
123
+ // describe('AmeliproBtn', () => {
124
+ // it.todo('focus ? sets attribute color')
125
+ // it.todo('focus ? sets attribute tabindex')
126
+ // })
127
+ // })
128
+ })
@@ -0,0 +1,67 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`AmeliproDropdownMenuBtn > Snapshots > renders the component with all properties filled in 1`] = `
4
+ <amelipro-btn-stub
5
+ badge="false"
6
+ badgebgcolor="ap-pink"
7
+ badgecolor="ap-white"
8
+ bordered="false"
9
+ class="
10
+ dropdown-menu__btn
11
+ text-left
12
+ text-none
13
+ w-100
14
+ "
15
+ color="ap-white"
16
+ disabled="false"
17
+ hovercolor="ap-grey-lighten-4"
18
+ hoverunderline="false"
19
+ href="modified-href"
20
+ iconbgcolor="transparent"
21
+ iconbordered="false"
22
+ iconleft="false"
23
+ infoblock="false"
24
+ minheight="2.5rem"
25
+ role="menuitem"
26
+ size="60px"
27
+ tabindex="-1"
28
+ text="false"
29
+ textcolor="ap-grey-darken-1"
30
+ to="modified-to"
31
+ type="button"
32
+ underline="false"
33
+ uniqueid="modified-unique-id"
34
+ ></amelipro-btn-stub>
35
+ `;
36
+
37
+ exports[`AmeliproDropdownMenuBtn > Snapshots > renders the component with only required properties filled in 1`] = `
38
+ <amelipro-btn-stub
39
+ badge="false"
40
+ badgebgcolor="ap-pink"
41
+ badgecolor="ap-white"
42
+ bordered="false"
43
+ class="
44
+ dropdown-menu__btn
45
+ text-left
46
+ text-none
47
+ w-100
48
+ "
49
+ color="ap-white"
50
+ disabled="false"
51
+ hovercolor="ap-grey-lighten-4"
52
+ hoverunderline="false"
53
+ iconbgcolor="transparent"
54
+ iconbordered="false"
55
+ iconleft="false"
56
+ infoblock="false"
57
+ minheight="2.5rem"
58
+ role="menuitem"
59
+ size="60px"
60
+ tabindex="-1"
61
+ text="false"
62
+ textcolor="ap-grey-darken-1"
63
+ type="button"
64
+ underline="false"
65
+ uniqueid="required-unique-id"
66
+ ></amelipro-btn-stub>
67
+ `;