@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
@@ -234,196 +234,370 @@ exports[`AmeliproTable > render correctly 1`] = `
234
234
  </div>
235
235
  </div>
236
236
  <div
237
- class="amelipro-table__wrapper--desktop"
238
237
  id="amelipro-table-id-desktop"
239
- style="
240
- overflow-x: auto;
241
- max-width: 100%;
242
- width: 100%;
243
- "
238
+ style="overflow-x: auto;"
244
239
  >
245
- <table
246
- aria-label="Titre du tableau"
247
- class="amelipro-table__table--desktop"
248
- id="amelipro-table-id-table"
240
+ <div
241
+ class="amelipro-table__wrapper--desktop"
242
+ style="
243
+ max-width: 100%;
244
+ width: 100%;
245
+ "
249
246
  >
250
- <thead>
251
- <tr id="amelipro-table-id-table-header">
252
- <th
253
- class="
254
- bg-ap-grey-lighten-4
255
- font-weight-semibold
256
- "
257
- id="amelipro-table-id-table-header-cell-0"
258
- scope="col"
259
- style="
260
- min-width: 20%;
261
- width: 25%;
262
- max-width: 25%;
263
- text-align: left;
264
- "
265
- >
266
- <p class="mb-0">
267
- Nom
268
- </p>
269
- </th>
270
- <th
271
- class="
272
- bg-ap-grey-lighten-4
273
- font-weight-semibold
274
- "
275
- id="amelipro-table-id-table-header-cell-1"
276
- scope="col"
277
- style="
278
- min-width: 20%;
279
- width: 25%;
280
- max-width: 25%;
281
- text-align: left;
282
- "
283
- >
284
- <p class="mb-0">
285
- Prénom
286
- </p>
287
- </th>
288
- <th
289
- class="
290
- bg-ap-grey-lighten-4
291
- font-weight-semibold
292
- "
293
- id="amelipro-table-id-table-header-cell-2"
294
- scope="col"
295
- style="
296
- min-width: 20%;
297
- width: 25%;
298
- max-width: 25%;
299
- text-align: left;
300
- "
301
- >
302
- <p class="mb-0">
303
- E-mail
304
- </p>
305
- </th>
306
- </tr>
307
- </thead>
308
- <tbody>
309
- <tr id="amelipro-table-id-table-row-0">
310
- <td
311
- class=""
312
- id="amelipro-table-id-table-row-0-cell-0"
313
- style="text-align: left;"
314
- >
315
- <p class="mb-0">
316
- Bernard
317
- </p>
318
- </td>
319
- <td
320
- class=""
321
- id="amelipro-table-id-table-row-0-cell-1"
322
- style="text-align: left;"
323
- >
324
- <p class="mb-0">
325
- Jean
326
- </p>
327
- </td>
328
- <td
329
- class=""
330
- id="amelipro-table-id-table-row-0-cell-2"
331
- style="text-align: left;"
332
- >
333
- <p class="mb-0">
334
- jean.bernard@gmail.com
335
- </p>
336
- </td>
337
- </tr>
338
- <tr id="amelipro-table-id-table-row-1">
339
- <td
340
- class=""
341
- id="amelipro-table-id-table-row-1-cell-0"
342
- style="text-align: left;"
343
- >
344
- <p class="mb-0">
345
- Pierre
346
- </p>
347
- </td>
348
- <td
349
- class=""
350
- id="amelipro-table-id-table-row-1-cell-1"
351
- style="text-align: left;"
352
- >
353
- <p class="mb-0">
354
- Simon
355
- </p>
356
- </td>
357
- <td
358
- class=""
359
- id="amelipro-table-id-table-row-1-cell-2"
360
- style="text-align: left;"
361
- >
362
- <p class="mb-0">
363
- simon.pierre@gmail.com
364
- </p>
365
- </td>
366
- </tr>
367
- <tr id="amelipro-table-id-table-row-2">
368
- <td
369
- class=""
370
- id="amelipro-table-id-table-row-2-cell-0"
371
- style="text-align: left;"
372
- >
373
- <p class="mb-0">
374
- Souris
375
- </p>
376
- </td>
377
- <td
378
- class=""
379
- id="amelipro-table-id-table-row-2-cell-1"
380
- style="text-align: left;"
381
- >
382
- <p class="mb-0">
383
- Michel
384
- </p>
385
- </td>
386
- <td
387
- class=""
388
- id="amelipro-table-id-table-row-2-cell-2"
389
- style="text-align: left;"
390
- >
391
- <p class="mb-0">
392
- michel.souris@gmail.com
393
- </p>
394
- </td>
395
- </tr>
396
- <tr id="amelipro-table-id-table-row-3">
397
- <td
398
- class=""
399
- id="amelipro-table-id-table-row-3-cell-0"
400
- style="text-align: left;"
401
- >
402
- <p class="mb-0">
403
- Jabot
404
- </p>
405
- </td>
406
- <td
407
- class=""
408
- id="amelipro-table-id-table-row-3-cell-1"
409
- style="text-align: left;"
410
- >
411
- <p class="mb-0">
412
- Amandine
413
- </p>
414
- </td>
415
- <td
416
- class=""
417
- id="amelipro-table-id-table-row-3-cell-2"
418
- style="text-align: left;"
419
- >
420
- <p class="mb-0">
421
- amandine.jabot@gmail.com
422
- </p>
423
- </td>
424
- </tr>
425
- </tbody>
426
- </table>
247
+ <table
248
+ aria-label="Titre du tableau"
249
+ class="amelipro-table__table--desktop"
250
+ id="amelipro-table-id-table"
251
+ >
252
+ <thead>
253
+ <tr id="amelipro-table-id-table-header">
254
+ <th
255
+ class="
256
+ bg-ap-grey-lighten-4
257
+ font-weight-semibold
258
+ "
259
+ id="amelipro-table-id-table-header-cell-0"
260
+ scope="col"
261
+ style="
262
+ min-width: 20%;
263
+ width: 25%;
264
+ max-width: 25%;
265
+ text-align: left;
266
+ "
267
+ >
268
+ <p class="
269
+ d-flex
270
+ mb-0
271
+ ">
272
+ Nom
273
+ <button
274
+ class="
275
+ btn--icon
276
+ elevation-0
277
+ ml-2
278
+ rounded-0
279
+ sort-btn
280
+ v-btn
281
+ v-btn--density-default
282
+ v-btn--elevated
283
+ v-btn--icon
284
+ v-btn--size-default
285
+ v-btn--variant-elevated
286
+ v-theme--light
287
+ "
288
+ id="amelipro-table-id-table-header-cell-0-asc-sort-btn"
289
+ plain=""
290
+ style="
291
+ height: auto;
292
+ width: auto;
293
+ "
294
+ title="tri asc"
295
+ type="button"
296
+ >
297
+ <span class="v-btn__overlay"></span>
298
+ <span class="v-btn__underlay"></span>
299
+ <!---->
300
+ <span
301
+ class="v-btn__content"
302
+ data-no-activator=""
303
+ >
304
+ <span
305
+ class="d-sr-only"
306
+ id="amelipro-table-id-table-header-cell-0-asc-sort-btn-btn-label"
307
+ >
308
+ tri asc
309
+ </span>
310
+ <span
311
+ class="
312
+ amelipro-icon
313
+ icon-custom
314
+ "
315
+ id="amelipro-table-id-table-header-cell-0-asc-sort-btn-icon"
316
+ >
317
+ <span
318
+ aria-hidden="true"
319
+ class="
320
+ amelipro-custom-icon
321
+ custom-color
322
+ "
323
+ focusable="false"
324
+ role="img"
325
+ style="
326
+ color: #1A1B1B;
327
+ height: 9px;
328
+ width: 9px;
329
+ "
330
+ >
331
+ <span>
332
+ <svg
333
+ aria-hidden="true"
334
+ style="enable-background:new 0 0 42 42;"
335
+ version="1.1"
336
+ viewBox="0 0 42 42"
337
+ x="0px"
338
+ xml:space="preserve"
339
+ xmlns="http://www.w3.org/2000/svg"
340
+ xmlns:xlink="http://www.w3.org/1999/xlink"
341
+ y="0px"
342
+ >
343
+ <polygon
344
+ class="shape-color"
345
+ points="21,2.8 0,39.2 42,39.2 "
346
+ />
347
+ </svg>
348
+ </span>
349
+ </span>
350
+ </span>
351
+ </span>
352
+ <!---->
353
+ <!---->
354
+ </button>
355
+ <button
356
+ class="
357
+ btn--icon
358
+ elevation-0
359
+ rounded-0
360
+ sort-btn
361
+ v-btn
362
+ v-btn--density-default
363
+ v-btn--disabled
364
+ v-btn--icon
365
+ v-btn--size-default
366
+ v-btn--variant-elevated
367
+ v-theme--light
368
+ "
369
+ disabled=""
370
+ id="amelipro-table-id-table-header-cell-0-desc-sort-btn"
371
+ plain=""
372
+ style="
373
+ height: auto;
374
+ width: auto;
375
+ "
376
+ title="tri desc"
377
+ type="button"
378
+ >
379
+ <span class="v-btn__overlay"></span>
380
+ <span class="v-btn__underlay"></span>
381
+ <!---->
382
+ <span
383
+ class="v-btn__content"
384
+ data-no-activator=""
385
+ >
386
+ <span
387
+ class="d-sr-only"
388
+ id="amelipro-table-id-table-header-cell-0-desc-sort-btn-btn-label"
389
+ >
390
+ tri desc
391
+ </span>
392
+ <span
393
+ class="
394
+ amelipro-icon
395
+ icon-custom
396
+ "
397
+ id="amelipro-table-id-table-header-cell-0-desc-sort-btn-icon"
398
+ >
399
+ <span
400
+ aria-hidden="true"
401
+ class="
402
+ amelipro-custom-icon
403
+ custom-color
404
+ "
405
+ focusable="false"
406
+ role="img"
407
+ style="
408
+ color: #DDDEDE;
409
+ height: 9px;
410
+ width: 9px;
411
+ "
412
+ >
413
+ <span>
414
+ <svg
415
+ aria-hidden="true"
416
+ style="enable-background:new 0 0 42 42;"
417
+ version="1.1"
418
+ viewBox="0 0 42 42"
419
+ x="0px"
420
+ xml:space="preserve"
421
+ xmlns="http://www.w3.org/2000/svg"
422
+ xmlns:xlink="http://www.w3.org/1999/xlink"
423
+ y="0px"
424
+ >
425
+ <polygon
426
+ class="shape-color"
427
+ points="21,39.2 42,2.8 0,2.8 "
428
+ />
429
+ </svg>
430
+ </span>
431
+ </span>
432
+ </span>
433
+ </span>
434
+ <!---->
435
+ <!---->
436
+ </button>
437
+ </p>
438
+ </th>
439
+ <th
440
+ class="
441
+ bg-ap-grey-lighten-4
442
+ font-weight-semibold
443
+ "
444
+ id="amelipro-table-id-table-header-cell-1"
445
+ scope="col"
446
+ style="
447
+ min-width: 20%;
448
+ width: 25%;
449
+ max-width: 25%;
450
+ text-align: left;
451
+ "
452
+ >
453
+ <p class="mb-0">
454
+ Prénom
455
+ <!-- v-if -->
456
+ <!-- v-if -->
457
+ </p>
458
+ </th>
459
+ <th
460
+ class="
461
+ bg-ap-grey-lighten-4
462
+ font-weight-semibold
463
+ "
464
+ id="amelipro-table-id-table-header-cell-2"
465
+ scope="col"
466
+ style="
467
+ min-width: 20%;
468
+ width: 25%;
469
+ max-width: 25%;
470
+ text-align: left;
471
+ "
472
+ >
473
+ <p class="mb-0">
474
+ E-mail
475
+ <!-- v-if -->
476
+ <!-- v-if -->
477
+ </p>
478
+ </th>
479
+ </tr>
480
+ </thead>
481
+ <tbody>
482
+ <tr id="amelipro-table-id-table-row-0">
483
+ <td
484
+ class=""
485
+ id="amelipro-table-id-table-row-0-cell-0"
486
+ style="text-align: left;"
487
+ >
488
+ <p class="mb-0">
489
+ Bernard
490
+ </p>
491
+ </td>
492
+ <td
493
+ class=""
494
+ id="amelipro-table-id-table-row-0-cell-1"
495
+ style="text-align: left;"
496
+ >
497
+ <p class="mb-0">
498
+ Jean
499
+ </p>
500
+ </td>
501
+ <td
502
+ class=""
503
+ id="amelipro-table-id-table-row-0-cell-2"
504
+ style="text-align: left;"
505
+ >
506
+ <p class="mb-0">
507
+ jean.bernard@gmail.com
508
+ </p>
509
+ </td>
510
+ </tr>
511
+ <tr id="amelipro-table-id-table-row-1">
512
+ <td
513
+ class=""
514
+ id="amelipro-table-id-table-row-1-cell-0"
515
+ style="text-align: left;"
516
+ >
517
+ <p class="mb-0">
518
+ Pierre
519
+ </p>
520
+ </td>
521
+ <td
522
+ class=""
523
+ id="amelipro-table-id-table-row-1-cell-1"
524
+ style="text-align: left;"
525
+ >
526
+ <p class="mb-0">
527
+ Simon
528
+ </p>
529
+ </td>
530
+ <td
531
+ class=""
532
+ id="amelipro-table-id-table-row-1-cell-2"
533
+ style="text-align: left;"
534
+ >
535
+ <p class="mb-0">
536
+ simon.pierre@gmail.com
537
+ </p>
538
+ </td>
539
+ </tr>
540
+ <tr id="amelipro-table-id-table-row-2">
541
+ <td
542
+ class=""
543
+ id="amelipro-table-id-table-row-2-cell-0"
544
+ style="text-align: left;"
545
+ >
546
+ <p class="mb-0">
547
+ Souris
548
+ </p>
549
+ </td>
550
+ <td
551
+ class=""
552
+ id="amelipro-table-id-table-row-2-cell-1"
553
+ style="text-align: left;"
554
+ >
555
+ <p class="mb-0">
556
+ Michel
557
+ </p>
558
+ </td>
559
+ <td
560
+ class=""
561
+ id="amelipro-table-id-table-row-2-cell-2"
562
+ style="text-align: left;"
563
+ >
564
+ <p class="mb-0">
565
+ michel.souris@gmail.com
566
+ </p>
567
+ </td>
568
+ </tr>
569
+ <tr id="amelipro-table-id-table-row-3">
570
+ <td
571
+ class=""
572
+ id="amelipro-table-id-table-row-3-cell-0"
573
+ style="text-align: left;"
574
+ >
575
+ <p class="mb-0">
576
+ Jabot
577
+ </p>
578
+ </td>
579
+ <td
580
+ class=""
581
+ id="amelipro-table-id-table-row-3-cell-1"
582
+ style="text-align: left;"
583
+ >
584
+ <p class="mb-0">
585
+ Amandine
586
+ </p>
587
+ </td>
588
+ <td
589
+ class=""
590
+ id="amelipro-table-id-table-row-3-cell-2"
591
+ style="text-align: left;"
592
+ >
593
+ <p class="mb-0">
594
+ amandine.jabot@gmail.com
595
+ </p>
596
+ </td>
597
+ </tr>
598
+ </tbody>
599
+ </table>
600
+ </div>
427
601
  </div>
428
602
  <!-- v-if -->
429
603
  <!-- v-if -->
@@ -14,6 +14,17 @@ export interface AmeliproTableHeader {
14
14
  width: string
15
15
  maxWidth: string
16
16
  descriptionId?: string
17
+ sort?: IHeaderSort
18
+ }
19
+
20
+ export interface ISortBtn {
21
+ label: string
22
+ disabled: boolean
23
+ }
24
+
25
+ export interface IHeaderSort {
26
+ ascendant?: ISortBtn
27
+ descendant?: ISortBtn
17
28
  }
18
29
 
19
30
  export interface AmeliproCurrentPage {
@@ -0,0 +1,72 @@
1
+ import {Controls, Canvas, Meta, Source, Story} from '@storybook/blocks';
2
+ import * as CaptchaStories from './Captcha.stories';
3
+
4
+ <Meta of={CaptchaStories} />
5
+
6
+ <div className="header">
7
+ <h1>Captcha</h1>
8
+ <p>Le composant `Captcha` est utilisé pour afficher un captcha à l’utilisateur. </p>
9
+ </div>
10
+
11
+ <Canvas
12
+ of={CaptchaStories.Default}
13
+ source={{
14
+ language: 'html',
15
+ format: 'dedent',
16
+ code: `
17
+ <script lang="ts" setup>
18
+ import { captcha } from '@cnamts/synapse'
19
+ </script>
20
+
21
+ <template>
22
+ <VCard class="pa-8" width="400">
23
+ <Captcha
24
+ url-create="..."
25
+ url-get-image="..."
26
+ url-get-audio="/..."
27
+ service="(e) => {
28
+ // call the API to verify the captcha and return the response
29
+ }"
30
+ @validation:success="(e) => { ... }"
31
+ @validation:error="(e) => { ... }"
32
+ />
33
+ </VCard>
34
+ </template>
35
+ `
36
+ }}
37
+ />
38
+
39
+ <Story
40
+ of={CaptchaStories.WarningDocProps}
41
+ />
42
+
43
+ ## API
44
+
45
+ <Controls of={CaptchaStories.Default} />
46
+
47
+ ## Context d'utilisation
48
+
49
+ Le composant Captcha permet d'intéragir avec l'api d'OBS [Live Identity Captcha](https://www.orange-business.com/fr/solutions/securite/live-identity-captcha) (directement ou indirectement).
50
+
51
+ Pour implementer le composant avec l'api OBS, se referer à la documentation suivante : [la documentation et le postman de l'api d'OBS version 1.16](https://gitlab.cnqd.cnamts.fr/captcha/capt_postman/-/tree/v1.16).
52
+
53
+ ### Détails d'implementation
54
+
55
+ Les api Captcha d'OBS sont exposées en https.
56
+
57
+ Pour les appels réalisés depuis un back-end, il est nécessaire d'ajouter le root CA (autorité de certifications racine) au niveau du truststore du serveur hébergeant ce back-end.
58
+ Pour la production et la pré-production, le root CA "DigiCert Global Root CA" est accessible (voir informations de sécurité) depuis le site : [https://captcha.liveidentity.com/documentation](https://captcha.liveidentity.com/documentation).
59
+
60
+ De plus, les api Captcha d'OBS sont externes / non hébergées par la CNAM.
61
+ Il est donc nécessaire :
62
+ - d'autoriser ces appels sortant dans la liste blanche du firewall Cnam pour la production et le hors prod
63
+ - de réaliser l'ouverture des flux depuis la plateforme d'hébergement (ex : csh-dijon.cnamts.fr)
64
+ Logiquement, ces deux points ont été déjà réalisés.
65
+
66
+ ## Précautions d'utilisation
67
+
68
+ Pour permettre une bonne expérience utilisateur et éviter de bloquer des utilisateurs légitimes potentiellement en situation de handicap, il est recommandé de suivre les bonnes pratiques suivantes :
69
+
70
+ - Ne pas utiliser de captcha lorsque l'utilisateur est déjà authentifié.
71
+ - Préférer l'utilisation de captcha invisible (API scoring) lorsque c'est possible.
72
+ - Préferer l'utilisation de captcha uniquement lorsqu'un comportement suspect est détecté (ex : trop de tentatives de connexion échouées).