@1024pix/epreuves-components 4.0.1 → 4.1.0

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 (54) hide show
  1. package/dist/{Button.ce-CTKrSDrC.js → Button.ce-DZ8jDtW5.js} +2 -2
  2. package/dist/{ButtonTooltip.ce-CtHo2Dwx.js → ButtonTooltip.ce-BnJlaEqx.js} +8 -8
  3. package/dist/{Cross.ce.vue_vue_type_script_setup_true_lang-CVBFTfq5.js → Cross.ce.vue_vue_type_script_setup_true_lang-l4hAa4eW.js} +16 -14
  4. package/dist/FocusManager.ce-DHXwg6WZ.js +131 -0
  5. package/dist/{LLMMessage.ce-Bdmf0R1g.js → LLMMessage.ce-jLEqjxsl.js} +11 -11
  6. package/dist/{Loading.ce-Bh7-h48F.js → Loading.ce-DDtlSLlu.js} +2 -2
  7. package/dist/{NavigationButton.ce-CA1M8sgV.js → NavigationButton.ce-BnnVUwGr.js} +2 -2
  8. package/dist/PixMailMessage.ce-oCccQFGV.js +261 -0
  9. package/dist/Popin.ce-Co12R3C8.js +75 -0
  10. package/dist/{Retry-BZf7NJz9.js → Retry-C7C78Wpj.js} +2 -2
  11. package/dist/{Stepper.ce-B1yDelzC.js → Stepper.ce-Dttf3Dsf.js} +4 -4
  12. package/dist/{_plugin-vue_export-helper-D0N_62VD.js → _plugin-vue_export-helper-B-lVMTio.js} +1777 -1713
  13. package/dist/components/analyse-mails-phishing.ce.js.js +14 -14
  14. package/dist/components/calcul-impact.ce.js.js +20 -20
  15. package/dist/components/capacity-calculation.ce.js.js +22 -22
  16. package/dist/components/clickable-image.ce.js.js +30 -30
  17. package/dist/components/complete-phrase.ce.js.js +18 -18
  18. package/dist/components/flip-cards.ce.js.js +10 -10
  19. package/dist/components/image-quiz.ce.js.js +3 -3
  20. package/dist/components/image-quizzes.ce.js.js +3 -3
  21. package/dist/components/llm-compare-messages.ce.js.js +7 -7
  22. package/dist/components/llm-messages.ce.js.js +7 -7
  23. package/dist/components/llm-prompt-select.ce.js.js +5 -5
  24. package/dist/components/mdp-classement.ce.js.js +29 -29
  25. package/dist/components/message-conversation.ce.js.js +34 -34
  26. package/dist/components/mobile-shell.ce.js.js +8 -8
  27. package/dist/components/phishing-message.ce.js.js +128 -128
  28. package/dist/components/phishing-notification.ce.js.js +30 -30
  29. package/dist/components/pix-anonymisation.ce.js.js +27 -27
  30. package/dist/components/pix-article.ce.js.js +5 -5
  31. package/dist/components/pix-carousel.ce.js.js +38 -38
  32. package/dist/components/pix-combinaisons.ce.js.js +93 -92
  33. package/dist/components/pix-cursor.ce.js.js +26 -26
  34. package/dist/components/pix-mail-message.ce.js.js +3 -3
  35. package/dist/components/proteger-mail-spam.ce.js.js +66 -64
  36. package/dist/components/qcm-deepfake.ce.js.js +16 -16
  37. package/dist/components/quiz-stepper.ce.js.js +21 -21
  38. package/dist/components/select-conversation.ce.js.js +11 -11
  39. package/dist/components/template-mail.ce.js.js +4 -4
  40. package/dist/components/test-top-mdp.ce.js.js +86 -79
  41. package/dist/components/trouver-mdp-rs.ce.js.js +334 -418
  42. package/dist/{i18n-ekiZvzf6.js → i18n-CsT7k7zW.js} +329 -316
  43. package/dist/{i18n-lite-t2jNOu0C.js → i18n-lite-BIJ2LVs6.js} +19 -12
  44. package/dist/{image-quiz.ce-DqalWHKw.js → image-quiz.ce-BK6-8YF1.js} +9 -9
  45. package/dist/{index-BpqxFmwz.js → index-BaI3Qosp.js} +1 -1
  46. package/dist/index.js +1 -1
  47. package/dist/props.examples.js +13 -13
  48. package/dist/schema.js +77 -67
  49. package/dist/shadow-dom-Bouq869n.js +14 -0
  50. package/dist/{temporal.utils-7Uvm62ss.js → temporal.utils-DgmGPVba.js} +537 -536
  51. package/package.json +1 -1
  52. package/dist/PixMailMessage.ce-XPDbJiyC.js +0 -219
  53. package/dist/Popin.ce-DUQ7-GMT.js +0 -197
  54. package/dist/shadow-dom-C3AZuSZe.js +0 -9
@@ -1,10 +1,10 @@
1
- import { b as w, r as g, g as p, c as n, o as i, a as e, t as a, k as l, n as z, H as k, F as u, e as M, B as T, _ as D, d as C } from "../_plugin-vue_export-helper-D0N_62VD.js";
2
- import { a as j, i as _, b as L } from "../i18n-ekiZvzf6.js";
1
+ import { b as w, r as g, o as n, c as i, a as e, x as a, v as l, t as z, E as k, F as p, e as M, l as T, g as u, _ as D, d as C } from "../_plugin-vue_export-helper-B-lVMTio.js";
2
+ import { a as j, i as _, b as L } from "../i18n-CsT7k7zW.js";
3
3
  import { b as S } from "../normalize-props-DH0oPBss.js";
4
- import { a as F, q as B, t as f } from "../temporal.utils-7Uvm62ss.js";
5
- const $ = {}, I = {}, N = {}, E = {}, q = {}, A = {
4
+ import { t as f, a as F, q as $ } from "../temporal.utils-DgmGPVba.js";
5
+ const B = {}, E = {}, I = {}, N = {}, q = {}, A = {
6
6
  "select-conversation": { "select-response-title": "Sélectionnez le message que {{username}} devrait envoyer :", "message-date": "{{messageDay, relativetime(numeric: auto)}} · {{messageTime, datetime(timeStyle: short)}}", "incoming-message-sr": "Message de {{username}} reçu {{messageDay, relativetime(numeric: auto)}} à {{messageTime, datetime(timeStyle: short)}}", "outgoing-message-sr": "Message envoyé par {{username}} {{messageDay, relativetime(numeric: auto)}} à {{messageTime, datetime(timeStyle: short)}}", "good-idea": "Bonne idée", "bad-idea": "Mauvaise idée" }
7
- }, R = {}, H = {}, O = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3e%3c!--!Font%20Awesome%20Free%20v7.1.0%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20d='M434.8%2070.1c14.3%2010.4%2017.5%2030.4%207.1%2044.7l-256%20352c-5.5%207.6-14%2012.3-23.4%2013.1s-18.5-2.7-25.1-9.3l-128-128c-12.5-12.5-12.5-32.8%200-45.3s32.8-12.5%2045.3%200l101.5%20101.5%20234-321.7c10.4-14.3%2030.4-17.5%2044.7-7.1z'/%3e%3c/svg%3e", V = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--!Font%20Awesome%20Free%20v7.1.0%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20d='M256%2048a208%20208%200%201%201%200%20416%20208%20208%200%201%201%200-416zm0%20464a256%20256%200%201%200%200-512%20256%20256%200%201%200%200%20512zM167%20167c-9.4%209.4-9.4%2024.6%200%2033.9l55%2055-55%2055c-9.4%209.4-9.4%2024.6%200%2033.9s24.6%209.4%2033.9%200l55-55%2055%2055c9.4%209.4%2024.6%209.4%2033.9%200s9.4-24.6%200-33.9l-55-55%2055-55c9.4-9.4%209.4-24.6%200-33.9s-24.6-9.4-33.9%200l-55%2055-55-55c-9.4-9.4-24.6-9.4-33.9%200z'/%3e%3c/svg%3e", G = { class: "messages" }, P = { class: "message" }, X = {
7
+ }, R = {}, O = {}, V = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3e%3c!--!Font%20Awesome%20Free%20v7.1.0%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20d='M434.8%2070.1c14.3%2010.4%2017.5%2030.4%207.1%2044.7l-256%20352c-5.5%207.6-14%2012.3-23.4%2013.1s-18.5-2.7-25.1-9.3l-128-128c-12.5-12.5-12.5-32.8%200-45.3s32.8-12.5%2045.3%200l101.5%20101.5%20234-321.7c10.4-14.3%2030.4-17.5%2044.7-7.1z'/%3e%3c/svg%3e", H = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--!Font%20Awesome%20Free%20v7.1.0%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20d='M256%2048a208%20208%200%201%201%200%20416%20208%20208%200%201%201%200-416zm0%20464a256%20256%200%201%200%200-512%20256%20256%200%201%200%200%20512zM167%20167c-9.4%209.4-9.4%2024.6%200%2033.9l55%2055-55%2055c-9.4%209.4-9.4%2024.6%200%2033.9s24.6%209.4%2033.9%200l55-55%2055%2055c9.4%209.4%2024.6%209.4%2033.9%200s9.4-24.6%200-33.9l-55-55%2055-55c9.4-9.4%209.4-24.6%200-33.9s-24.6-9.4-33.9%200l-55%2055-55-55c-9.4-9.4-24.6-9.4-33.9%200z'/%3e%3c/svg%3e", G = { class: "messages" }, P = { class: "message" }, X = {
8
8
  class: "message__username",
9
9
  "aria-hidden": "true"
10
10
  }, J = { class: "sr-only" }, K = { class: "message__content" }, Q = {
@@ -25,7 +25,7 @@ const $ = {}, I = {}, N = {}, E = {}, q = {}, A = {
25
25
  responseChoices: { type: Array }
26
26
  },
27
27
  setup(s, { expose: v }) {
28
- const d = g(s.responseChoices.map((t) => ({ ...t, selected: !1 }))), o = g(), c = p(() => F(s.incomingMessage.time)), m = p(() => c.value.day - B.Now.plainDateTimeISO().day);
28
+ const d = g(s.responseChoices.map((t) => ({ ...t, selected: !1 }))), o = g(), c = u(() => F(s.incomingMessage.time)), m = u(() => c.value.day - $.Now.plainDateTimeISO().day);
29
29
  function b(t) {
30
30
  t.selected || (t.selected = !0, o.value = t);
31
31
  }
@@ -36,7 +36,7 @@ const $ = {}, I = {}, N = {}, E = {}, q = {}, A = {
36
36
  }
37
37
  return v({
38
38
  reset: y
39
- }), (t, pe) => (i(), n(u, null, [
39
+ }), (t, pe) => (n(), i(p, null, [
40
40
  e("div", G, [
41
41
  e("div", P, [
42
42
  e("p", X, a(s.incomingMessage.username), 1),
@@ -54,7 +54,7 @@ const $ = {}, I = {}, N = {}, E = {}, q = {}, A = {
54
54
  e("div", Z, [
55
55
  e("p", ee, [
56
56
  e("img", {
57
- src: o.value?.goodIdea ? l(O) : l(V),
57
+ src: o.value?.goodIdea ? l(V) : l(H),
58
58
  alt: "",
59
59
  width: "16"
60
60
  }, null, 8, se),
@@ -72,7 +72,7 @@ const $ = {}, I = {}, N = {}, E = {}, q = {}, A = {
72
72
  class: "title"
73
73
  }, a(t.$t("select-conversation.select-response-title", { username: s.username })), 9, ne),
74
74
  e("div", ie, [
75
- (i(!0), n(u, null, M(d.value, (r, x) => (i(), n("button", {
75
+ (n(!0), i(p, null, M(d.value, (r, x) => (n(), i("button", {
76
76
  key: x,
77
77
  type: "button",
78
78
  class: "response-select__choice",
@@ -81,7 +81,7 @@ const $ = {}, I = {}, N = {}, E = {}, q = {}, A = {
81
81
  }, a(r.content), 9, le))), 128))
82
82
  ]),
83
83
  e("div", ce, [
84
- o.value ? (i(), n("p", {
84
+ o.value ? (n(), i("p", {
85
85
  key: 0,
86
86
  class: "response-select__feedback",
87
87
  innerHTML: o.value.feedback
@@ -91,7 +91,7 @@ const $ = {}, I = {}, N = {}, E = {}, q = {}, A = {
91
91
  ], 64));
92
92
  }
93
93
  }), me = "html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}.messages,.response-select{--primary-font-size: .875rem;--secondary-font-size: .75rem}*{font-family:Roboto,sans-serif;color:#122647;line-height:normal}.messages{display:flex;flex-direction:column;gap:8px;padding:16px}.message{display:flex;flex-direction:column;align-items:start;gap:8px;margin-left:0;margin-right:16px}.message__username,.message__date{color:#5e6c84;font-size:var(--secondary-font-size);font-weight:400}.message__content{padding:16px 8px;border-radius:8px;background:#e8e8e8;font-size:var(--primary-font-size);font-weight:400}.message--hidden{visibility:hidden}.message--outgoing{align-self:end;align-items:end;margin-left:16px;margin-right:0}.message--outgoing .message__content-container{display:flex;flex-direction:column}.message--outgoing .message__content-title{color:#fff;font-size:var(--secondary-font-size);font-weight:700;border-radius:8px 8px 0 0;background:#452d9d;padding:4px 8px;align-self:start;display:flex;gap:4px;align-items:center}.message--outgoing .message__content-title>img{filter:invert(100%);max-height:16px;max-width:16px}.message--outgoing .message__content{border-top-left-radius:0;background:#cec3f4}.response-select{border-radius:16px;border:1px solid #cdd1d9;background-color:#fff;display:flex;padding:24px 16px;flex-direction:column;gap:16px;margin-top:25px}.response-select__choices{display:flex;gap:8px}.response-select__choice{border-style:none;border-radius:8px;background-color:#253858;padding:8px 16px;color:#fff;text-align:center;font-size:var(--primary-font-size);font-weight:400;line-height:18px;flex:1;cursor:pointer}.response-select__choice[aria-disabled=true]{background-color:#f4f5f7;color:#5e6c84;cursor:not-allowed}.response-select__feedback{border-radius:8px;background:#eaf1ff;padding:8px;color:#122647;font-size:var(--secondary-font-size);font-weight:400;line-height:20px}.title{font-family:Nunito,Roboto,sans-serif;font-size:var(--primary-font-size);font-weight:700}@media(max-width:640px){.messages,.response-select{--primary-font-size: .75rem;--secondary-font-size: .688rem}.response-select__choices{flex-direction:column}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);border:0}", ge = /* @__PURE__ */ D(de, [["styles", [me]]]);
94
- j(/* @__PURE__ */ Object.assign({ "./locales/de-AT.json": $, "./locales/en.json": I, "./locales/es-419.json": N, "./locales/es.json": E, "./locales/fr-BE.json": q, "./locales/fr.json": A, "./locales/it.json": R, "./locales/nl.json": H })).catch((s) => console.error(s));
94
+ j(/* @__PURE__ */ Object.assign({ "./locales/de-AT.json": B, "./locales/en.json": E, "./locales/es-419.json": I, "./locales/es.json": N, "./locales/fr-BE.json": q, "./locales/fr.json": A, "./locales/it.json": R, "./locales/nl.json": O })).catch((s) => console.error(s));
95
95
  const h = C(ge, {
96
96
  configureApp(s) {
97
97
  _.changeLanguage(document?.documentElement?.lang || navigator.language), s.use(L, { i18next: _ });
@@ -1,8 +1,8 @@
1
1
  import { _ as r, a as m, b as _, c as p, d as c, e as u, f as d, g } from "../nl-Bonww6Q2.js";
2
2
  import { u as v, a as b, b as f } from "../normalize-props-DH0oPBss.js";
3
- import { b as j, g as s, f as M, o as x, d as y } from "../_plugin-vue_export-helper-D0N_62VD.js";
4
- import { i as t } from "../i18n-lite-t2jNOu0C.js";
5
- import { P as C } from "../PixMailMessage.ce-XPDbJiyC.js";
3
+ import { b as j, o as M, f as x, g as s, d as y } from "../_plugin-vue_export-helper-B-lVMTio.js";
4
+ import { i as t } from "../i18n-lite-BIJ2LVs6.js";
5
+ import { P as C } from "../PixMailMessage.ce-oCccQFGV.js";
6
6
  const S = /* @__PURE__ */ j({
7
7
  __name: "TemplateMail.ce",
8
8
  props: {
@@ -41,7 +41,7 @@ const S = /* @__PURE__ */ j({
41
41
  menu: "disabled",
42
42
  return: "hidden"
43
43
  };
44
- return (L, A) => (x(), M(C, {
44
+ return (L, A) => (M(), x(C, {
45
45
  "title-level": a.titleLevel,
46
46
  mail: o.value,
47
47
  actions: n
@@ -1,118 +1,127 @@
1
- import { b as E, g as a, r as j, G as I, c as l, o as i, a as e, B as x, t as s, s as N, F as m, e as z, n as F, H as h, k as w, E as P, K as A, _ as H, d as R } from "../_plugin-vue_export-helper-D0N_62VD.js";
2
- import { u as S, i as k } from "../i18n-lite-t2jNOu0C.js";
3
- const U = {}, G = {}, Z = {}, D = {}, K = {}, O = {
4
- "test-top-mdp": { passwords: { title: "Top {{count}} des mots de passe en France", cta: "Cliquez sur un mot de passe pour le tester" }, loginForm: { title: "Connexion", login: "Identifiant", loginValue: "Ulysse", password: "Mot de passe", passwordPlaceholder: "Séléctionnez un mot de passe...", submit: "Tester", attemptsCount: "Nombre d’essais : {{count}}" }, feedback: { negative: { title: "Eh non !", content: "Mot de passe incorrect. Réessayez avec un autre mot de passe." }, positive: { title_one: "Vous avez trouvé le mot de passe d’Ulysse en un essai.", title_other: "Vous avez trouvé le mot de passe d’Ulysse en {{count}} essais.", content: `Les pirates ont des listes contenant les mots de passe les plus fréquents, tous les mots du dictionnaire, des prénoms.
5
- Ils utilisent des programmes informatiques qui permettent de tester des millions de mots en quelques secondes : on appelle ça une attaque par dictionnaire.` } } }
6
- }, J = {}, Q = {}, W = "data:image/svg+xml,%3csvg%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9%2011.25V12.75M4.5%2015.75H13.5C13.8978%2015.75%2014.2794%2015.592%2014.5607%2015.3107C14.842%2015.0294%2015%2014.6478%2015%2014.25V9.75C15%209.35218%2014.842%208.97064%2014.5607%208.68934C14.2794%208.40804%2013.8978%208.25%2013.5%208.25H4.5C4.10218%208.25%203.72064%208.40804%203.43934%208.68934C3.15804%208.97064%203%209.35218%203%209.75V14.25C3%2014.6478%203.15804%2015.0294%203.43934%2015.3107C3.72064%2015.592%204.10218%2015.75%204.5%2015.75ZM12%208.25V5.25C12%204.45435%2011.6839%203.69129%2011.1213%203.12868C10.5587%202.56607%209.79565%202.25%209%202.25C8.20435%202.25%207.44129%202.56607%206.87868%203.12868C6.31607%203.69129%206%204.45435%206%205.25V8.25H12Z'%20stroke='white'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e", X = "data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M19.5%207L9.5%2017L4.5%2012'%20stroke='%23007740'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e", Y = "data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M16.875%207.125L7.125%2016.875M7.125%207.125L16.875%2016.875'%20stroke='%23A94B0C'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e", ee = { class: "container" }, te = { class: "card" }, oe = ["arial-level"], se = ["onClick", "aria-disabled", "aria-selected"], ne = { class: "password" }, ae = { class: "card" }, le = ["arial-level"], ie = { class: "lock-icon" }, re = ["src"], de = { class: "form" }, ce = { class: "form__field" }, pe = { for: "login" }, ue = ["value"], fe = { class: "form__field" }, me = { for: "password" }, ge = ["value", "placeholder"], _e = ["src"], ve = ["aria-disabled"], be = { class: "attempts-count" }, xe = { class: "attempts-count__count" }, he = {
1
+ import { b as $, K as B, o as c, c as p, a as e, x as n, z as H, F as h, e as N, t as w, E as k, v as m, l as y, C as P, D as E, g as r, r as C, _ as I, d as A } from "../_plugin-vue_export-helper-B-lVMTio.js";
2
+ import { u as S, i as v } from "../i18n-lite-BIJ2LVs6.js";
3
+ const R = {}, D = {}, O = {}, Z = {}, q = {}, G = {
4
+ "test-top-mdp": { passwords: { title: "Top {{count}} des mots de passe en France", cta: "Cliquez sur un mot de passe pour le tester" }, loginForm: { title: "Connexion", login: "Identifiant", loginValue: "Ulysse", password: "Mot de passe", passwordPlaceholder: "Séléctionnez un mot de passe...", submit: "Tester", attemptsCount: "Nombre d’essais : {{count}}" }, feedback: { positive: { title_one: "{{feedback}} en un essai.", title_other: "{{feedback}} en {{count}} essais." } } }
5
+ }, K = {}, U = {}, J = "data:image/svg+xml,%3csvg%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9%2011.25V12.75M4.5%2015.75H13.5C13.8978%2015.75%2014.2794%2015.592%2014.5607%2015.3107C14.842%2015.0294%2015%2014.6478%2015%2014.25V9.75C15%209.35218%2014.842%208.97064%2014.5607%208.68934C14.2794%208.40804%2013.8978%208.25%2013.5%208.25H4.5C4.10218%208.25%203.72064%208.40804%203.43934%208.68934C3.15804%208.97064%203%209.35218%203%209.75V14.25C3%2014.6478%203.15804%2015.0294%203.43934%2015.3107C3.72064%2015.592%204.10218%2015.75%204.5%2015.75ZM12%208.25V5.25C12%204.45435%2011.6839%203.69129%2011.1213%203.12868C10.5587%202.56607%209.79565%202.25%209%202.25C8.20435%202.25%207.44129%202.56607%206.87868%203.12868C6.31607%203.69129%206%204.45435%206%205.25V8.25H12Z'%20stroke='white'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e", Q = "data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M19.5%207L9.5%2017L4.5%2012'%20stroke='%23007740'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e", W = "data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M16.875%207.125L7.125%2016.875M7.125%207.125L16.875%2016.875'%20stroke='%23A94B0C'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e", X = { class: "container" }, Y = { class: "card" }, ee = ["arial-level"], te = ["onClick", "aria-disabled", "aria-selected"], oe = { class: "password" }, se = { class: "card" }, ne = ["arial-level"], le = { class: "lock-icon" }, ae = ["src"], ie = { class: "form" }, re = { class: "form__field" }, de = { for: "login" }, ce = ["value"], pe = { class: "form__field" }, ue = { for: "password" }, fe = ["value", "placeholder"], ge = ["src"], _e = ["aria-disabled"], me = { class: "attempts-count" }, ve = { class: "attempts-count__count" }, be = {
7
6
  key: 0,
8
7
  class: "feedback",
9
8
  "aria-live": "polite"
10
- }, we = ["arial-level"], ke = { class: "feedback__content" }, ye = { key: 0 }, Ce = /* @__PURE__ */ E({
9
+ }, xe = ["arial-level", "innerHTML"], he = ["innerHTML"], we = /* @__PURE__ */ $({
11
10
  __name: "TestTopMdp.ce",
12
11
  props: {
13
12
  titleLevel: { type: Number },
14
13
  passwords: { type: Array },
15
- expectedPassword: { type: String }
14
+ expectedPassword: { type: String },
15
+ feedback: { type: Object }
16
16
  },
17
- setup(g, { expose: V }) {
18
- const c = g, { t: p } = S(), _ = a(() => c.titleLevel ?? 2), n = j(), d = j([]), v = a(() => d.value.at(-1)), b = a(() => c.passwords.map((t) => ({
17
+ setup(u, { expose: j }) {
18
+ const l = u, { t: M } = S(), f = r(() => l.titleLevel ?? 2), s = C(), d = C([]), g = r(() => d.value.at(-1)), _ = r(() => l.passwords.map((t) => ({
19
19
  password: t,
20
- selected: t === n.value,
20
+ selected: t === s.value,
21
21
  attempted: d.value.includes(t),
22
- expected: t === c.expectedPassword
23
- }))), y = a(() => d.value.length), u = a(() => v.value !== void 0 && n.value === void 0), r = a(() => v.value === c.expectedPassword), M = a(() => r.value ? p("test-top-mdp.feedback.positive.title", { count: y.value }) : p("test-top-mdp.feedback.negative.title")), T = a(() => r.value ? p("test-top-mdp.feedback.positive.content") : p("test-top-mdp.feedback.negative.content"));
24
- function L(t) {
25
- r.value || t.attempted || (n.value = t.password);
22
+ expected: t === l.expectedPassword
23
+ }))), b = r(() => d.value.length), a = r(() => g.value === l.expectedPassword), i = r(() => {
24
+ if (!(g.value === void 0 || s.value !== void 0))
25
+ return a.value ? {
26
+ title: M("test-top-mdp.feedback.positive.title", {
27
+ feedback: l.feedback.success.title,
28
+ count: b.value
29
+ }),
30
+ content: l.feedback.success.content
31
+ } : l.feedback.failed;
32
+ });
33
+ function T(t) {
34
+ a.value || t.attempted || (s.value = t.password);
26
35
  }
27
- function $() {
28
- n.value && (d.value.push(n.value), n.value = void 0);
36
+ function L() {
37
+ s.value && (d.value.push(s.value), s.value = void 0);
29
38
  }
30
- function B() {
31
- n.value = void 0, d.value = [];
39
+ function F() {
40
+ s.value = void 0, d.value = [];
32
41
  }
33
- return V({
34
- reset: B
35
- }), (t, C) => {
36
- const q = I("i18n");
37
- return i(), l(m, null, [
38
- e("div", ee, [
39
- e("div", te, [
42
+ return j({
43
+ reset: F
44
+ }), (t, x) => {
45
+ const z = B("i18n");
46
+ return c(), p(h, null, [
47
+ e("div", X, [
48
+ e("div", Y, [
40
49
  e("div", {
41
50
  class: "title",
42
51
  role: "heading",
43
- "arial-level": _.value
44
- }, s(t.$t("test-top-mdp.passwords.title", { count: b.value.length })), 9, oe),
45
- e("p", null, s(t.$t("test-top-mdp.passwords.cta")), 1),
52
+ "arial-level": f.value
53
+ }, n(t.$t("test-top-mdp.passwords.title", { count: _.value.length })), 9, ee),
54
+ e("p", null, n(t.$t("test-top-mdp.passwords.cta")), 1),
46
55
  e("div", {
47
56
  class: "passwords",
48
- style: N({ "--count-per-column": Math.round(b.value.length / 2) })
57
+ style: H({ "--count-per-column": Math.round(_.value.length / 2) })
49
58
  }, [
50
- (i(!0), l(m, null, z(b.value, (o, f) => (i(), l("button", {
59
+ (c(!0), p(h, null, N(_.value, (o, V) => (c(), p("button", {
51
60
  key: o.password,
52
- onClick: (Fe) => L(o),
53
- class: F({
61
+ onClick: (Ce) => T(o),
62
+ class: w({
54
63
  selected: o.selected || o.attempted && o.expected,
55
64
  disabled: o.attempted && !o.expected
56
65
  }),
57
- "aria-disabled": r.value || o.attempted,
66
+ "aria-disabled": a.value || o.attempted,
58
67
  "aria-selected": o.selected
59
68
  }, [
60
- h(" #" + s(f + 1) + " ", 1),
61
- e("span", ne, s(o.password), 1)
62
- ], 10, se))), 128))
69
+ k(" #" + n(V + 1) + " ", 1),
70
+ e("span", oe, n(o.password), 1)
71
+ ], 10, te))), 128))
63
72
  ], 4)
64
73
  ]),
65
- e("div", ae, [
74
+ e("div", se, [
66
75
  e("div", {
67
76
  class: "title",
68
77
  role: "heading",
69
- "arial-level": _.value
78
+ "arial-level": f.value
70
79
  }, [
71
- e("div", ie, [
80
+ e("div", le, [
72
81
  e("img", {
73
- src: w(W),
82
+ src: m(J),
74
83
  alt: ""
75
- }, null, 8, re)
84
+ }, null, 8, ae)
76
85
  ]),
77
- h(" " + s(t.$t("test-top-mdp.loginForm.title")), 1)
78
- ], 8, le),
79
- e("div", de, [
80
- e("div", ce, [
81
- e("label", pe, s(t.$t("test-top-mdp.loginForm.login")), 1),
86
+ k(" " + n(t.$t("test-top-mdp.loginForm.title")), 1)
87
+ ], 8, ne),
88
+ e("div", ie, [
89
+ e("div", re, [
90
+ e("label", de, n(t.$t("test-top-mdp.loginForm.login")), 1),
82
91
  e("input", {
83
92
  id: "login",
84
93
  type: "text",
85
94
  value: t.$t("test-top-mdp.loginForm.loginValue"),
86
95
  readonly: "",
87
96
  tabIndex: "-1"
88
- }, null, 8, ue)
97
+ }, null, 8, ce)
89
98
  ]),
90
- e("div", fe, [
91
- e("label", me, s(t.$t("test-top-mdp.loginForm.password")), 1),
99
+ e("div", pe, [
100
+ e("label", ue, n(t.$t("test-top-mdp.loginForm.password")), 1),
92
101
  e("input", {
93
102
  id: "password",
94
103
  type: "text",
95
- value: n.value ?? v.value,
104
+ value: s.value ?? g.value,
96
105
  readonly: "",
97
106
  placeholder: t.$t("test-top-mdp.loginForm.passwordPlaceholder"),
98
107
  tabIndex: "-1",
99
- class: F({ right: u.value && r.value, wrong: u.value && !r.value })
100
- }, null, 10, ge),
101
- u.value ? (i(), l("img", {
108
+ class: w({ right: i.value !== void 0 && a.value, wrong: i.value !== void 0 && !a.value })
109
+ }, null, 10, fe),
110
+ i.value !== void 0 ? (c(), p("img", {
102
111
  key: 0,
103
- src: r.value ? w(X) : w(Y),
112
+ src: a.value ? m(Q) : m(W),
104
113
  alt: "",
105
114
  class: "form__field-icon"
106
- }, null, 8, _e)) : x("", !0)
115
+ }, null, 8, ge)) : y("", !0)
107
116
  ]),
108
117
  e("button", {
109
- "aria-disabled": !n.value,
110
- onClick: C[0] || (C[0] = (o) => $())
111
- }, s(t.$t("test-top-mdp.loginForm.submit")), 9, ve),
112
- e("p", be, [
113
- P(q, { t: "test-top-mdp.loginForm.attemptsCount" }, {
114
- count: A(() => [
115
- e("span", xe, s(y.value), 1)
118
+ "aria-disabled": !s.value,
119
+ onClick: x[0] || (x[0] = (o) => L())
120
+ }, n(t.$t("test-top-mdp.loginForm.submit")), 9, _e),
121
+ e("p", me, [
122
+ P(z, { t: "test-top-mdp.loginForm.attemptsCount" }, {
123
+ count: E(() => [
124
+ e("span", ve, n(b.value), 1)
116
125
  ]),
117
126
  _: 1
118
127
  })
@@ -120,27 +129,25 @@ Ils utilisent des programmes informatiques qui permettent de tester des millions
120
129
  ])
121
130
  ])
122
131
  ]),
123
- u.value ? (i(), l("div", he, [
132
+ i.value !== void 0 ? (c(), p("div", be, [
124
133
  e("div", {
125
134
  class: "feedback__title",
126
135
  role: "heading",
127
- "arial-level": _.value + 1
128
- }, s(M.value), 9, we),
129
- e("div", ke, [
130
- (i(!0), l(m, null, z(T.value.split(`
131
- `), (o, f) => (i(), l(m, { key: f }, [
132
- f !== 0 ? (i(), l("br", ye)) : x("", !0),
133
- h(" " + s(o), 1)
134
- ], 64))), 128))
135
- ])
136
- ])) : x("", !0)
136
+ "arial-level": f.value + 1,
137
+ innerHTML: i.value.title
138
+ }, null, 8, xe),
139
+ e("div", {
140
+ class: "feedback__content",
141
+ innerHTML: i.value.content
142
+ }, null, 8, he)
143
+ ])) : y("", !0)
137
144
  ], 64);
138
145
  };
139
146
  }
140
- }), je = "*{font-family:Roboto,sans-serif;color:#5e6c84;box-sizing:border-box;font-size:14px}p{margin:0}.container{display:flex;flex-direction:row;gap:16px}.card{background:#fff;border-radius:16px;box-shadow:0 2px 5px #4a3aff40,0 -2px 5px #4a3aff26 inset,0 1px 1px #ffffff1a inset,0 3px 4px #dfeeff1a inset;padding:24px;width:50%}.title{color:#122647;font-family:Nunito,Roboto,sans-serif;font-size:20px;font-weight:700;display:flex;align-items:center;gap:8px}.passwords{margin-top:16px;display:grid;grid-template-rows:repeat(var(--count-per-column, 5),1fr);grid-auto-flow:column;gap:8px}.passwords>button{display:flex;padding:8px 16px;gap:4px;border-radius:8px;background-color:#eaf1ff;border-style:none;cursor:pointer;height:44px;align-items:center;color:#122647}.passwords>button.selected{background-color:#3b82f6;color:#fff}.passwords>button.disabled{background-color:#f4f5f7;color:#5e6c84}.passwords>button[aria-disabled=true]{cursor:not-allowed}.lock-icon{border-radius:50%;background-color:#2c75ff;aspect-ratio:1;width:34px;display:flex;align-items:center;justify-content:center}.password{font-weight:700;line-height:20px;color:inherit}.form{margin-top:24px;display:flex;gap:16px;flex-direction:column}.form__field{display:flex;gap:8px;flex-direction:column;position:relative}.form__field-icon{aspect-ratio:1;width:24px;position:absolute;left:12px;bottom:12px}.form input{display:flex;height:50px;padding:12px 16px;align-items:center;border-radius:10px;border:1px solid #cdd1d9;background-color:#f4f5f7;font-size:16px;pointer-events:none;color:#122647}.form input.right{padding-left:40px;border-color:#00a85a;background-color:#e6f6ef;color:#007740}.form input.wrong{padding-left:40px;border-color:#d73328;background-color:#fbebea;color:#99241c}.form label{pointer-events:none}.form button{display:flex;height:50px;padding:12px 16px;align-items:center;border-radius:10px;background-color:#122647;font-size:16px;font-weight:700;color:#fff;justify-content:center;cursor:pointer;border-style:none}.form button[aria-disabled=true]{background-color:#cdd1d9;color:#5e6c84;cursor:not-allowed}.attempts-count{text-align:center}.attempts-count__count{color:#122647;font-weight:700}.feedback{margin-top:24px;display:flex;flex-direction:column}.feedback__title{color:#fff;padding:4px 8px;border-radius:8px 8px 0 0;background-color:#1f53b5;font-weight:700;align-self:start;font-size:12px}.feedback__content{border-radius:0 8px 8px;background-color:#eaf1ff;color:#122647;padding:8px}@media only screen and (max-width:680px){.container{flex-direction:column}.card{width:100%}}", ze = /* @__PURE__ */ H(Ce, [["styles", [je]]]);
141
- k.addTranslationsFromGlobResults(/* @__PURE__ */ Object.assign({ "./locales/de-AT.json": U, "./locales/en.json": G, "./locales/es-419.json": Z, "./locales/es.json": D, "./locales/fr-BE.json": K, "./locales/fr.json": O, "./locales/it.json": J, "./locales/nl.json": Q }));
142
- window.customElements.define("test-top-mdp", R(ze, {
143
- configureApp(g) {
144
- k.changeLanguage(document?.documentElement?.lang || navigator.language), g.use(k);
147
+ }), ke = "*{font-family:Roboto,sans-serif;color:#5e6c84;box-sizing:border-box;font-size:14px}p{margin:0}.container{display:flex;flex-direction:row;gap:16px}.card{background:#fff;border-radius:16px;box-shadow:0 2px 5px #4a3aff40,0 -2px 5px #4a3aff26 inset,0 1px 1px #ffffff1a inset,0 3px 4px #dfeeff1a inset;padding:24px;width:50%}.title{color:#122647;font-family:Nunito,Roboto,sans-serif;font-size:20px;font-weight:700;display:flex;align-items:center;gap:8px}.passwords{margin-top:16px;display:grid;grid-template-rows:repeat(var(--count-per-column, 5),1fr);grid-auto-flow:column;gap:8px}.passwords>button{display:flex;padding:8px 16px;gap:4px;border-radius:8px;background-color:#eaf1ff;border-style:none;cursor:pointer;height:44px;align-items:center;color:#122647}.passwords>button.selected{background-color:#3b82f6;color:#fff}.passwords>button.disabled{background-color:#f4f5f7;color:#5e6c84}.passwords>button[aria-disabled=true]{cursor:not-allowed}.lock-icon{border-radius:50%;background-color:#2c75ff;aspect-ratio:1;width:34px;display:flex;align-items:center;justify-content:center}.password{font-weight:700;line-height:20px;color:inherit}.form{margin-top:24px;display:flex;gap:16px;flex-direction:column}.form__field{display:flex;gap:8px;flex-direction:column;position:relative}.form__field-icon{aspect-ratio:1;width:24px;position:absolute;left:12px;bottom:12px}.form input{display:flex;height:50px;padding:12px 16px;align-items:center;border-radius:10px;border:1px solid #cdd1d9;background-color:#f4f5f7;font-size:16px;pointer-events:none;color:#122647}.form input.right{padding-left:40px;border-color:#00a85a;background-color:#e6f6ef;color:#007740}.form input.wrong{padding-left:40px;border-color:#d73328;background-color:#fbebea;color:#99241c}.form label{pointer-events:none}.form button{display:flex;height:50px;padding:12px 16px;align-items:center;border-radius:10px;background-color:#122647;font-size:16px;font-weight:700;color:#fff;justify-content:center;cursor:pointer;border-style:none}.form button[aria-disabled=true]{background-color:#cdd1d9;color:#5e6c84;cursor:not-allowed}.attempts-count{text-align:center}.attempts-count__count{color:#122647;font-weight:700}.feedback{margin-top:24px;display:flex;flex-direction:column}.feedback__title{color:#fff;padding:4px 8px;border-radius:8px 8px 0 0;background-color:#1f53b5;font-weight:700;align-self:start;font-size:12px}.feedback__title *{color:inherit}.feedback__content{border-radius:0 8px 8px;background-color:#eaf1ff;color:#122647;padding:8px}.feedback__content *{color:inherit}@media only screen and (max-width:680px){.container{flex-direction:column}.card{width:100%}}", ye = /* @__PURE__ */ I(we, [["styles", [ke]]]);
148
+ v.addTranslationsFromGlobResults(/* @__PURE__ */ Object.assign({ "./locales/de-AT.json": R, "./locales/en.json": D, "./locales/es-419.json": O, "./locales/es.json": Z, "./locales/fr-BE.json": q, "./locales/fr.json": G, "./locales/it.json": K, "./locales/nl.json": U }));
149
+ window.customElements.define("test-top-mdp", A(ye, {
150
+ configureApp(u) {
151
+ v.changeLanguage(document?.documentElement?.lang || navigator.language), u.use(v);
145
152
  }
146
153
  }));