@1024pix/epreuves-components 2.7.0 → 2.8.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 (37) hide show
  1. package/dist/{ButtonTooltip.ce-DEM9f3-P.js → ButtonTooltip.ce-B-f0Ebfa.js} +1 -1
  2. package/dist/{LLMMessage.ce-DwOPdJ8T.js → LLMMessage.ce-DAA_BQYY.js} +2 -2
  3. package/dist/{Loading.ce-izx3gVg1.js → Loading.ce-BPbyGkTl.js} +1 -1
  4. package/dist/{NavigationButton.ce-D6OhsRmN.js → NavigationButton.ce-D7sjcUuO.js} +2 -2
  5. package/dist/{Retry-ByvFpG1J.js → Retry-CTdYYKx5.js} +1 -1
  6. package/dist/{_plugin-vue_export-helper-BcRm04ZH.js → _plugin-vue_export-helper-CGJjSxi7.js} +4 -4
  7. package/dist/components/calcul-impact.ce.js.js +2 -2
  8. package/dist/components/capacity-calculation.ce.js.js +3 -3
  9. package/dist/components/clickable-image.ce.js.js +4 -4
  10. package/dist/components/complete-phrase.ce.js.js +5 -5
  11. package/dist/components/flip-cards.ce.js.js +1 -1
  12. package/dist/components/image-quiz.ce.js.js +4 -3
  13. package/dist/components/image-quizzes.ce.js.js +8 -7
  14. package/dist/components/llm-compare-messages.ce.js.js +3 -3
  15. package/dist/components/llm-messages.ce.js.js +3 -3
  16. package/dist/components/llm-prompt-select.ce.js.js +1 -1
  17. package/dist/components/message-conversation.ce.js.js +2 -2
  18. package/dist/components/mobile-shell.ce.js.js +1 -1
  19. package/dist/components/phishing-message.ce.js.js +2 -2
  20. package/dist/components/phishing-notification.ce.js.js +3 -3
  21. package/dist/components/pix-anonymisation.ce.js.js +2 -2
  22. package/dist/components/pix-article.ce.js.js +2 -2
  23. package/dist/components/pix-carousel.ce.js.js +4 -4
  24. package/dist/components/pix-cursor.ce.js.js +3 -3
  25. package/dist/components/qcm-deepfake.ce.js.js +3 -3
  26. package/dist/components/quiz-stepper.ce.js.js +56 -56
  27. package/dist/components/select-conversation.ce.js.js +2 -2
  28. package/dist/components/template-mail.ce.js.js +165 -0
  29. package/dist/components/test-top-mdp.ce.js.js +146 -0
  30. package/dist/{i18n-DTnP_5xC.js → i18n-BkraEFZL.js} +1 -1
  31. package/dist/i18n-lite-J-aj5pZd.js +86 -0
  32. package/dist/{image-quiz.ce-DWyp9j81.js → image-quiz.ce-BFISPs8m.js} +102 -153
  33. package/dist/index.js +4 -2
  34. package/dist/metadata.js +21 -13
  35. package/dist/schema.js +38 -14
  36. package/dist/{shadow-dom-C8cgdiLH.js → shadow-dom-DN_6ctXp.js} +1 -1
  37. package/package.json +1 -1
@@ -1,83 +1,31 @@
1
- import { l as A, d as q, r as L, g as k, c as d, o as c, L as x, i as v, h as m, n as w, a as y, m as Q, t as z, _ as N, y as f, w as R, q as D, B as K, F as G, b as H, e as Z, f as B } from "./_plugin-vue_export-helper-BcRm04ZH.js";
2
- import { a as P, u as J, b as U } from "./normalize-props-DtfVI0Xg.js";
3
- const W = {
1
+ import { d as q, r as P, g as k, c as g, o as r, L as x, j as y, h as c, n as z, a as b, m as F, t as C, _ as L, y as d, w as M, q as Q, B as D, F as R, b as H, e as K, f as B } from "./_plugin-vue_export-helper-CGJjSxi7.js";
2
+ import { u as G, i as h } from "./i18n-lite-J-aj5pZd.js";
3
+ import { a as w, u as Z, b as J } from "./normalize-props-DtfVI0Xg.js";
4
+ const U = {
4
5
  "image-quiz": { multipleInstruction: "Select several answers.", multipleValidity: "To validate, select at least two answers. Otherwise, skip.", validity: "To validate, select an answer. Otherwise, skip." }
6
+ }, W = {
7
+ "image-quiz": { multipleInstruction: "Seleccione varias respuestas.", multipleValidity: "Para validar, seleccione al menos dos respuestas. Si no es así, sáltese.", validity: "Para confirmar, seleccione una respuesta. De lo contrario, salte." }
5
8
  }, X = {
6
9
  "image-quiz": { multipleInstruction: "Seleccione varias respuestas.", multipleValidity: "Para validar, seleccione al menos dos respuestas. Si no es así, sáltese.", validity: "Para confirmar, seleccione una respuesta. De lo contrario, salte." }
7
10
  }, Y = {
8
- "image-quiz": { multipleInstruction: "Seleccione varias respuestas.", multipleValidity: "Para validar, seleccione al menos dos respuestas. Si no es así, sáltese.", validity: "Para confirmar, seleccione una respuesta. De lo contrario, salte." }
9
- }, ee = {
10
11
  "image-quiz": { multipleInstruction: "Sélectionnez plusieurs réponses.", multipleValidity: "Pour valider, sélectionnez au moins deux réponses. Sinon, passez.", validity: "Pour valider, sélectionnez une réponse. Sinon, passez." }
11
- }, ie = {
12
+ }, ee = {
12
13
  "image-quiz": { multipleInstruction: "Selezionare diverse risposte.", multipleValidity: "Per convalidare, selezionare almeno due risposte. In caso contrario, saltare.", validity: "Per confermare, selezionare una risposta. Altrimenti, saltare." }
13
- }, te = {
14
+ }, ie = {
14
15
  "image-quiz": { multipleInstruction: "Selecteer meerdere antwoorden.", multipleValidity: "Selecteer ten minste twee antwoorden om te bevestigen. Zo niet, sla dan over.", validity: "Selecteer een antwoord om te bevestigen. Sla anders over." }
15
16
  };
16
- function ae(e, i = ne) {
17
- const t = [...e];
18
- for (let a = t.length - 1; a > 0; a--) {
19
- const s = i() % (a + 1);
20
- [t[a], t[s]] = [t[s], t[a]];
17
+ function te(e, s = ae) {
18
+ const n = [...e];
19
+ for (let o = n.length - 1; o > 0; o--) {
20
+ const l = s() % (o + 1);
21
+ [n[o], n[l]] = [n[l], n[o]];
21
22
  }
22
- return t;
23
+ return n;
23
24
  }
24
- function ne() {
25
+ function ae() {
25
26
  return Math.floor(Math.random() * 2 ** 32);
26
27
  }
27
- const O = /* @__PURE__ */ Symbol("i18n-lite");
28
- class C {
29
- static #t = "fr";
30
- #i = C.#t;
31
- /**
32
- * @type {Record<string, Record<string, object>>}
33
- */
34
- #e = {};
35
- /**
36
- * @param {Record<string, object>} globResults
37
- */
38
- addTranslationsFromGlobResults(i) {
39
- for (const [t, a] of Object.entries(i)) {
40
- const s = t.match(/\/([^/]+)\.json$/)[1];
41
- s in this.#e || (this.#e[s] = {}), Object.assign(this.#e[s], a);
42
- }
43
- }
44
- /**
45
- * @param {string} locale
46
- */
47
- changeLanguage(i) {
48
- const t = Object.keys(this.#e), a = t.find((o) => new Intl.Locale(o).baseName === i);
49
- if (a) {
50
- this.#i = a;
51
- return;
52
- }
53
- const s = t.find((o) => new Intl.Locale(o).language === i);
54
- if (s) {
55
- this.#i = s;
56
- return;
57
- }
58
- }
59
- get language() {
60
- return this.#i;
61
- }
62
- /**
63
- * @param {string} key
64
- */
65
- t(i) {
66
- return i.split(".").reduce((t, a) => t?.[a], this.#e[this.#i]) ?? i;
67
- }
68
- /**
69
- * @param {import('vue').App} app
70
- */
71
- install(i) {
72
- const t = (a) => this.t(a);
73
- i.config.globalProperties.$i18next = this, i.config.globalProperties.$t = t, i.provide(O, { i18next: this, t });
74
- }
75
- }
76
- const h = new C();
77
- function se() {
78
- return A(O);
79
- }
80
- const oe = ["aria-labelledby", "aria-selected", "tabindex"], le = { key: 0 }, re = ["id"], ce = ["id"], me = /* @__PURE__ */ q({
28
+ const ne = ["aria-labelledby", "aria-selected", "tabindex"], oe = { key: 0 }, se = ["id"], le = ["id"], re = /* @__PURE__ */ q({
81
29
  __name: "ImageOption.ce",
82
30
  props: {
83
31
  choice: { type: Object },
@@ -88,44 +36,44 @@ const oe = ["aria-labelledby", "aria-selected", "tabindex"], le = { key: 0 }, re
88
36
  tabFocusable: { type: Boolean }
89
37
  },
90
38
  emits: ["toggle", "next", "previous"],
91
- setup(e, { expose: i }) {
92
- const t = e, a = L();
93
- function s() {
94
- a.value.focus();
39
+ setup(e, { expose: s }) {
40
+ const n = e, o = P();
41
+ function l() {
42
+ o.value.focus();
95
43
  }
96
- i({ focus: s });
97
- const o = k();
98
- return (r, l) => (c(), d("div", {
44
+ s({ focus: l });
45
+ const p = k();
46
+ return (a, t) => (r(), g("div", {
99
47
  ref_key: "el",
100
- ref: a,
48
+ ref: o,
101
49
  role: "option",
102
- class: w(["image-option", `image-option--max${t.maxChoicesPerLine}`]),
103
- "aria-labelledby": m(o),
50
+ class: z(["image-option", `image-option--max${n.maxChoicesPerLine}`]),
51
+ "aria-labelledby": c(p),
104
52
  "aria-selected": e.selected,
105
53
  tabindex: e.tabFocusable ? 0 : -1,
106
- onClick: l[0] || (l[0] = v((g) => r.$emit("toggle"), ["stop"])),
54
+ onClick: t[0] || (t[0] = y((m) => a.$emit("toggle"), ["stop"])),
107
55
  onKeydown: [
108
- l[1] || (l[1] = x(v((g) => r.$emit("toggle"), ["stop", "prevent"]), ["space"])),
109
- l[2] || (l[2] = x(v((g) => r.$emit("previous"), ["stop", "prevent"]), ["up", "left"])),
110
- l[3] || (l[3] = x(v((g) => r.$emit("next"), ["stop", "prevent"]), ["down", "right"]))
56
+ t[1] || (t[1] = x(y((m) => a.$emit("toggle"), ["stop", "prevent"]), ["space"])),
57
+ t[2] || (t[2] = x(y((m) => a.$emit("previous"), ["stop", "prevent"]), ["up", "left"])),
58
+ t[3] || (t[3] = x(y((m) => a.$emit("next"), ["stop", "prevent"]), ["down", "right"]))
111
59
  ]
112
60
  }, [
113
- e.choice.image ? (c(), d("figure", le, [
114
- y("img", Q(e.choice.image, {
61
+ e.choice.image ? (r(), g("figure", oe, [
62
+ b("img", F(e.choice.image, {
115
63
  class: e.imageClass,
116
64
  alt: ""
117
65
  }), null, 16),
118
- y("figcaption", {
119
- class: w(e.nameClass),
120
- id: m(o)
121
- }, z(e.choice.name), 11, re)
122
- ])) : (c(), d("span", {
66
+ b("figcaption", {
67
+ class: z(e.nameClass),
68
+ id: c(p)
69
+ }, C(e.choice.name), 11, se)
70
+ ])) : (r(), g("span", {
123
71
  key: 1,
124
- id: m(o)
125
- }, z(e.choice.name), 9, ce))
126
- ], 42, oe));
72
+ id: c(p)
73
+ }, C(e.choice.name), 9, le))
74
+ ], 42, ne));
127
75
  }
128
- }), ue = '.image-option{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;margin:.5rem;border:solid 2px #c1c7d0;border-radius:10px;background:#fff;width:calc(20% - 2em);min-width:150px;padding:1rem}.image-option--max4{width:calc(25% - 2em);min-width:175px}.image-option--max3{width:calc(33% - 2em)}.image-option--max2{width:calc(50% - 2em);min-width:300px}.image-option--max1{width:calc(100% - 4em);min-width:300px}.image-option:hover{cursor:pointer;box-shadow:0 3px 10px #0000001a;transform:scale(1.04);transition:transform ease-in .1s}.image-option:focus{outline:none;box-shadow:5px 5px #ffbe00,-5px 5px #ffbe00,5px -5px #ffbe00,-5px -5px #ffbe00}.image-option[aria-selected=true]{border-color:#3d68ff}.image-option[aria-selected=true]:after{content:"";position:absolute;width:calc(100% + 2px);height:calc(100% + 2px);background:#3d68ff4d;border-radius:10px;z-index:3}.image-option figure{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;margin:0;text-align:center;width:100%}.image-option figure img{max-width:100%;height:auto}.image-option figure img.icon{max-height:100px;width:auto}.image-option figure img.medium{max-width:50%;height:auto}.image-option figure figcaption{margin:1ex}', de = /* @__PURE__ */ N(me, [["styles", [ue]]]), ge = { class: "image-quiz-container" }, pe = ["id", "innerHTML"], fe = ["id"], he = ["aria-multiselectable", "aria-labelledby", "aria-describedby"], be = /* @__PURE__ */ q({
76
+ }), ce = '.image-option{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;margin:.5rem;border:solid 2px #c1c7d0;border-radius:10px;background:#fff;width:calc(20% - 2em);min-width:150px;padding:1rem}.image-option--max4{width:calc(25% - 2em);min-width:175px}.image-option--max3{width:calc(33% - 2em)}.image-option--max2{width:calc(50% - 2em);min-width:300px}.image-option--max1{width:calc(100% - 4em);min-width:300px}.image-option:hover{cursor:pointer;box-shadow:0 3px 10px #0000001a;transform:scale(1.04);transition:transform ease-in .1s}.image-option:focus{outline:none;box-shadow:5px 5px #ffbe00,-5px 5px #ffbe00,5px -5px #ffbe00,-5px -5px #ffbe00}.image-option[aria-selected=true]{border-color:#3d68ff}.image-option[aria-selected=true]:after{content:"";position:absolute;width:calc(100% + 2px);height:calc(100% + 2px);background:#3d68ff4d;border-radius:10px;z-index:3}.image-option figure{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;margin:0;text-align:center;width:100%}.image-option figure img{max-width:100%;height:auto}.image-option figure img.icon{max-height:100px;width:auto}.image-option figure img.medium{max-width:50%;height:auto}.image-option figure figcaption{margin:1ex}', me = /* @__PURE__ */ L(re, [["styles", [ce]]]), ue = { class: "image-quiz-container" }, de = ["id", "innerHTML"], ge = ["id"], pe = ["aria-multiselectable", "aria-labelledby", "aria-describedby"], fe = /* @__PURE__ */ q({
129
77
  __name: "ImageQuiz.ce",
130
78
  props: {
131
79
  multiple: { type: Boolean, default: !1 },
@@ -135,108 +83,109 @@ const oe = ["aria-labelledby", "aria-selected", "tabindex"], le = { key: 0 }, re
135
83
  hideChoicesName: { type: Boolean },
136
84
  orderChoices: { type: Boolean },
137
85
  imageChoicesSize: { default: "icon", type: String },
138
- showName: { type: Boolean, default: !1 }
86
+ showName: { type: Boolean, default: !1 },
87
+ context: { type: String }
139
88
  },
140
89
  emits: ["answer"],
141
- setup(e, { emit: i }) {
142
- const t = i, a = f(() => e.hideChoicesName ? "sr-only" : ""), s = f(() => e.orderChoices ? e.choices : ae(e.choices)), o = L(new Array(e.choices.length).fill(!1)), r = f(() => s.value.filter((n, p) => o.value[p])), { t: l } = se(), g = f(() => {
90
+ setup(e, { emit: s }) {
91
+ const n = s, o = d(() => e.hideChoicesName ? "sr-only" : ""), l = d(() => e.orderChoices ? e.choices : te(e.choices)), p = d(() => e.multiple && e.context !== "pix-junior"), a = P(new Array(e.choices.length).fill(!1)), t = d(() => l.value.filter((i, f) => a.value[f])), { t: m } = G(), O = d(() => {
143
92
  if (e.multiple)
144
- return r.value.length < 2 ? { answer: "", validity: l("image-quiz.multipleValidity") } : {
145
- answer: r.value.map((p) => p.response ?? p.name).sort().join(","),
93
+ return t.value.length < 2 ? { answer: "", validity: m("image-quiz.multipleValidity") } : {
94
+ answer: t.value.map((f) => f.response ?? f.name).sort().join(","),
146
95
  validity: ""
147
96
  };
148
- const n = r.value[0];
149
- return n ? {
150
- answer: n?.response ?? n?.name ?? "",
97
+ const i = t.value[0];
98
+ return i ? {
99
+ answer: i?.response ?? i?.name ?? "",
151
100
  validity: ""
152
- } : { answer: "", validity: l("image-quiz.validity") };
153
- }), b = k();
154
- R(() => {
155
- t("answer", g.value);
101
+ } : { answer: "", validity: m("image-quiz.validity") };
102
+ }), v = k();
103
+ M(() => {
104
+ n("answer", O.value);
156
105
  });
157
- const M = f(() => {
158
- const n = o.value.indexOf(!0);
159
- return n === -1 ? 0 : n;
160
- }), S = D("options");
161
- function $(n) {
162
- e.multiple || o.value.fill(!1), o.value[n] = !o.value[n];
106
+ const E = d(() => {
107
+ const i = a.value.indexOf(!0);
108
+ return i === -1 ? 0 : i;
109
+ }), S = Q("options");
110
+ function $(i) {
111
+ e.multiple || a.value.fill(!1), a.value[i] = !a.value[i];
163
112
  }
164
- function I(n) {
165
- n = (n + e.choices.length) % e.choices.length, e.multiple || $(n), S.value[n].focus();
113
+ function I(i) {
114
+ i = (i + e.choices.length) % e.choices.length, e.multiple || $(i), S.value[i].focus();
166
115
  }
167
- return (n, p) => (c(), d("div", ge, [
168
- y("label", {
169
- id: m(b),
170
- class: w(["image-quiz-label", { "sr-only": !e.showName }]),
116
+ return (i, f) => (r(), g("div", ue, [
117
+ b("label", {
118
+ id: c(v),
119
+ class: z(["image-quiz-label", { "sr-only": !e.showName }]),
171
120
  innerHTML: e.name
172
- }, null, 10, pe),
173
- e.multiple ? (c(), d("p", {
121
+ }, null, 10, de),
122
+ p.value ? (r(), g("p", {
174
123
  key: 0,
175
124
  class: "image-quiz-multiple-instruction",
176
- id: `${m(b)}-instruction`
177
- }, z(n.$t("image-quiz.multipleInstruction")), 9, fe)) : K("", !0),
178
- y("div", {
125
+ id: `${c(v)}-instruction`
126
+ }, C(i.$t("image-quiz.multipleInstruction")), 9, ge)) : D("", !0),
127
+ b("div", {
179
128
  role: "listbox",
180
129
  class: "image-quiz",
181
130
  "aria-multiselectable": e.multiple,
182
- "aria-labelledby": m(b),
131
+ "aria-labelledby": c(v),
183
132
  "aria-orientation": "horizontal",
184
- "aria-describedby": `${m(b)}-instruction`
133
+ "aria-describedby": `${c(v)}-instruction`
185
134
  }, [
186
- (c(!0), d(G, null, H(s.value, (F, u) => (c(), Z(de, {
135
+ (r(!0), g(R, null, H(l.value, (A, u) => (r(), K(me, {
187
136
  ref_for: !0,
188
137
  ref_key: "options",
189
138
  ref: S,
190
- choice: F,
139
+ choice: A,
191
140
  "max-choices-per-line": e.maxChoicesPerLine,
192
141
  key: u,
193
- "name-class": a.value,
142
+ "name-class": o.value,
194
143
  "image-class": e.imageChoicesSize,
195
- selected: o.value[u],
196
- "tab-focusable": u === M.value,
144
+ selected: a.value[u],
145
+ "tab-focusable": u === E.value,
197
146
  onToggle: (j) => $(u),
198
147
  onNext: (j) => I(u + 1),
199
148
  onPrevious: (j) => I(u - 1)
200
149
  }, null, 8, ["choice", "max-choices-per-line", "name-class", "image-class", "selected", "tab-focusable", "onToggle", "onNext", "onPrevious"]))), 128))
201
- ], 8, he)
150
+ ], 8, pe)
202
151
  ]));
203
152
  }
204
- }), ve = "*{box-sizing:border-box}.image-quiz-label{font-size:1.25rem;margin:1rem 0;display:inline-block}.image-quiz-multiple-instruction{font-size:14px;margin:0 16px 5px}.image-quiz-container{padding:10px 0}.image-quiz{display:flex;flex-wrap:wrap;justify-content:space-around}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);border:0}", T = /* @__PURE__ */ N(be, [["styles", [ve]]]);
205
- h.addTranslationsFromGlobResults(/* @__PURE__ */ Object.assign({ "./locales/en.json": W, "./locales/es-419.json": X, "./locales/es.json": Y, "./locales/fr.json": ee, "./locales/it.json": ie, "./locales/nl.json": te }));
206
- function _(e) {
153
+ }), he = "*{box-sizing:border-box}.image-quiz-label{font-size:1.25rem;margin:1rem 0;display:inline-block}.image-quiz-multiple-instruction{font-size:14px;margin:0 16px 5px}.image-quiz-container{padding:10px 0}.image-quiz{display:flex;flex-wrap:wrap;justify-content:space-around}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);border:0}", N = /* @__PURE__ */ L(fe, [["styles", [he]]]);
154
+ h.addTranslationsFromGlobResults(/* @__PURE__ */ Object.assign({ "./locales/en.json": U, "./locales/es-419.json": W, "./locales/es.json": X, "./locales/fr.json": Y, "./locales/it.json": ee, "./locales/nl.json": ie }));
155
+ function T(e) {
207
156
  return {
208
157
  ...e,
209
- maxChoicesPerLine: J(e.maxChoicesPerLine),
210
- imageChoicesSize: P(e.imageChoicesSize),
211
- choices: e.choices.map((i) => ({
212
- ...i,
213
- image: U(i.image),
214
- response: P(i.response)
158
+ maxChoicesPerLine: Z(e.maxChoicesPerLine),
159
+ imageChoicesSize: w(e.imageChoicesSize),
160
+ context: w(e.context),
161
+ choices: e.choices.map((s) => ({
162
+ ...s,
163
+ image: J(s.image),
164
+ response: w(s.response)
215
165
  }))
216
166
  };
217
167
  }
218
- const V = B(T, {
168
+ const V = B(N, {
219
169
  configureApp(e) {
220
170
  h.changeLanguage(document?.documentElement?.lang || navigator.language), e.use(h);
221
171
  }
222
172
  });
223
- V.prototype.normalizeProps = _;
173
+ V.prototype.normalizeProps = T;
224
174
  window.customElements.define("image-quiz", V);
225
- const E = B(T, {
175
+ const _ = B(N, {
226
176
  configureApp(e) {
227
177
  h.changeLanguage(document?.documentElement?.lang || navigator.language), e.use(h);
228
178
  }
229
179
  });
230
- E.prototype.normalizeProps = _;
231
- window.customElements.define("qcu-image", E);
180
+ _.prototype.normalizeProps = T;
181
+ window.customElements.define("qcu-image", _);
232
182
  export {
233
- T as I,
234
- te as _,
235
- ie as a,
236
- ee as b,
237
- Y as c,
238
- X as d,
239
- W as e,
240
- h as i,
241
- _ as n
183
+ N as I,
184
+ ie as _,
185
+ ee as a,
186
+ Y as b,
187
+ X as c,
188
+ W as d,
189
+ U as e,
190
+ T as n
242
191
  };
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import "./components/capacity-calculation.ce.js.js";
3
3
  import "./components/clickable-image.ce.js.js";
4
4
  import "./components/complete-phrase.ce.js.js";
5
5
  import "./components/flip-cards.ce.js.js";
6
- import "./image-quiz.ce-DWyp9j81.js";
6
+ import "./image-quiz.ce-BFISPs8m.js";
7
7
  import "./components/image-quizzes.ce.js.js";
8
8
  import "./components/message-conversation.ce.js.js";
9
9
  import "./components/pix-article.ce.js.js";
@@ -13,8 +13,10 @@ import "./components/llm-messages.ce.js.js";
13
13
  import "./components/llm-compare-messages.ce.js.js";
14
14
  import "./components/llm-prompt-select.ce.js.js";
15
15
  import "./components/qcm-deepfake.ce.js.js";
16
+ import "./components/quiz-stepper.ce.js.js";
16
17
  import "./components/pix-anonymisation.ce.js.js";
17
18
  import "./components/phishing-message.ce.js.js";
18
19
  import "./components/phishing-notification.ce.js.js";
19
20
  import "./components/select-conversation.ce.js.js";
20
- import "./components/quiz-stepper.ce.js.js";
21
+ import "./components/template-mail.ce.js.js";
22
+ import "./components/test-top-mdp.ce.js.js";
package/dist/metadata.js CHANGED
@@ -15,18 +15,18 @@ const e = "usable", c = {
15
15
  accessibility: y,
16
16
  isInteractive: v,
17
17
  mobileUsability: $
18
- }, g = "accessible", I = !0, U = "usable", d = {
19
- accessibility: g,
20
- isInteractive: I,
18
+ }, I = "accessible", p = !0, U = "usable", d = {
19
+ accessibility: I,
20
+ isInteractive: p,
21
21
  mobileUsability: U
22
- }, p = "accessible", j = !0, f = "usable", h = {
23
- accessibility: p,
22
+ }, g = "accessible", j = !0, f = "usable", h = {
23
+ accessibility: g,
24
24
  isInteractive: j,
25
25
  mobileUsability: f
26
- }, x = "accessible", q = !0, z = "usable", k = {
26
+ }, x = "accessible", q = !0, k = "usable", z = {
27
27
  accessibility: x,
28
28
  isInteractive: q,
29
- mobileUsability: z
29
+ mobileUsability: k
30
30
  }, O = "accessible", E = !1, w = "usable", A = {
31
31
  accessibility: O,
32
32
  isInteractive: E,
@@ -67,22 +67,30 @@ const e = "usable", c = {
67
67
  accessibility: _i,
68
68
  isInteractive: ri,
69
69
  mobileUsability: yi
70
- }, $i = "accessible", ui = !0, gi = "not-recommended", Ii = {
70
+ }, $i = "accessible", ui = !0, Ii = "not-recommended", pi = {
71
71
  accessibility: $i,
72
72
  isInteractive: ui,
73
- mobileUsability: gi
74
- }, Ui = "accessible", di = !0, pi = "usable", ji = {
73
+ mobileUsability: Ii
74
+ }, Ui = "accessible", di = !0, gi = "usable", ji = {
75
75
  accessibility: Ui,
76
76
  isInteractive: di,
77
- mobileUsability: pi
77
+ mobileUsability: gi
78
78
  }, fi = "accessible", hi = !0, xi = "usable", qi = {
79
79
  accessibility: fi,
80
80
  isInteractive: hi,
81
81
  mobileUsability: xi
82
- }, zi = /* @__PURE__ */ Object.assign({ "./calcul-impact/calcul-impact.metadata.json": c, "./capacity-calculation/capacity-calculation.metadata.json": b, "./clickable-image/clickable-image.metadata.json": r, "./complete-phrase/complete-phrase.metadata.json": u, "./flip-cards/flip-cards.metadata.json": d, "./image-quiz/image-quiz.metadata.json": h, "./image-quiz/image-quizzes.metadata.json": k, "./message-conversation/message-conversation.metadata.json": A, "./phishing-message/phishing-message.metadata.json": F, "./phishing-notification/phishing-notification.metadata.json": K, "./pix-anonymisation/pix-anonymisation.metadata.json": P, "./pix-article/pix-article.metadata.json": T, "./pix-carousel/pix-carousel.metadata.json": Y, "./pix-cursor/pix-cursor.metadata.json": ti, "./pix-llm/llm-compare-messages.metadata.json": li, "./pix-llm/llm-messages.metadata.json": mi, "./pix-llm/llm-prompt-select.metadata.json": vi, "./qcm-deepfake/qcm-deepfake.metadata.json": Ii, "./quiz-stepper/quiz-stepper.metadata.json": ji, "./select-conversation/select-conversation.metadata.json": qi }), ki = Object.fromEntries(Object.entries(zi).map(([i, s]) => [
82
+ }, ki = "accessible", zi = !1, Oi = "usable", Ei = {
83
+ accessibility: ki,
84
+ isInteractive: zi,
85
+ mobileUsability: Oi
86
+ }, wi = "accessible", Ai = !0, Bi = "usable", Ci = {
87
+ accessibility: wi,
88
+ isInteractive: Ai,
89
+ mobileUsability: Bi
90
+ }, Di = /* @__PURE__ */ Object.assign({ "./calcul-impact/calcul-impact.metadata.json": c, "./capacity-calculation/capacity-calculation.metadata.json": b, "./clickable-image/clickable-image.metadata.json": r, "./complete-phrase/complete-phrase.metadata.json": u, "./flip-cards/flip-cards.metadata.json": d, "./image-quiz/image-quiz.metadata.json": h, "./image-quiz/image-quizzes.metadata.json": z, "./message-conversation/message-conversation.metadata.json": A, "./phishing-message/phishing-message.metadata.json": F, "./phishing-notification/phishing-notification.metadata.json": K, "./pix-anonymisation/pix-anonymisation.metadata.json": P, "./pix-article/pix-article.metadata.json": T, "./pix-carousel/pix-carousel.metadata.json": Y, "./pix-cursor/pix-cursor.metadata.json": ti, "./pix-llm/llm-compare-messages.metadata.json": li, "./pix-llm/llm-messages.metadata.json": mi, "./pix-llm/llm-prompt-select.metadata.json": vi, "./qcm-deepfake/qcm-deepfake.metadata.json": pi, "./quiz-stepper/quiz-stepper.metadata.json": ji, "./select-conversation/select-conversation.metadata.json": qi, "./template-mail/template-mail.metadata.json": Ei, "./test-top-mdp/test-top-mdp.metadata.json": Ci }), Fi = Object.fromEntries(Object.entries(Di).map(([i, s]) => [
83
91
  i.replace(/^.*\/([^/]+)\.metadata\.json$/, "$1"),
84
92
  s
85
93
  ]));
86
94
  export {
87
- ki as metadata
95
+ Fi as metadata
88
96
  };
package/dist/schema.js CHANGED
@@ -49,9 +49,10 @@ const l = e.object({
49
49
  image: e.string().required()
50
50
  })
51
51
  ).required()
52
- }), n = e.object({
52
+ }), o = e.object({
53
53
  name: e.string().required(),
54
54
  multiple: e.boolean().optional(),
55
+ context: e.string().optional(),
55
56
  maxChoicesPerLine: e.number().optional(),
56
57
  hideChoicesName: e.boolean().optional(),
57
58
  orderChoices: e.boolean().optional(),
@@ -65,15 +66,15 @@ const l = e.object({
65
66
  response: e.string().empty("").optional()
66
67
  }).required()
67
68
  ).required()
68
- }).required(), q = e.object({
69
- quizzes: e.array().items(n).required()
69
+ }).required(), b = e.object({
70
+ quizzes: e.array().items(o).required()
70
71
  }).required(), i = {
71
72
  userName: e.string().required(),
72
73
  direction: e.string().valid("incoming", "outgoing").required()
73
74
  }, r = e.object({
74
75
  src: e.string().required(),
75
76
  alt: e.string().required()
76
- }).unknown(!0), b = e.object({
77
+ }).unknown(!0), q = e.object({
77
78
  title: e.string().required(),
78
79
  messages: e.array().items(e.alternatives().conditional(".type", {
79
80
  switch: [
@@ -229,26 +230,26 @@ const l = e.object({
229
230
  }), O = e.object({
230
231
  success: e.string().required(),
231
232
  failed: e.string().required()
232
- }), o = e.object({
233
+ }), n = e.object({
233
234
  title: e.string().optional(),
234
235
  content: e.string().optional(),
235
236
  isGoodAnswer: e.boolean().optional()
236
- }), N = e.object({
237
+ }), P = e.object({
237
238
  question: e.string().required(),
238
239
  feedback: O.required(),
239
- choice1: o.required(),
240
- choice2: o.required()
241
- }), P = e.object({
240
+ choice1: n.required(),
241
+ choice2: n.required()
242
+ }), N = e.object({
242
243
  titleLevel: e.number().optional(),
243
- steps: e.array().items(N)
244
+ steps: e.array().items(P)
244
245
  }), $ = e.object({
245
246
  titleLevel: e.number().optional(),
246
247
  incomingMessage: e.object({
247
248
  username: e.string().required(),
248
249
  content: e.string().required(),
249
250
  time: e.object({
250
- days: e.number().optional(),
251
- minutes: e.number().optional()
251
+ days: e.number().negative().optional(),
252
+ minutes: e.number().negative().optional()
252
253
  }).required()
253
254
  }).required(),
254
255
  username: e.string().required(),
@@ -257,10 +258,33 @@ const l = e.object({
257
258
  goodIdea: e.boolean().required(),
258
259
  feedback: e.string().required()
259
260
  })).required()
260
- }), B = /* @__PURE__ */ Object.assign({ "./calcul-impact/calcul-impact.schema.js": l, "./capacity-calculation/capacity-calculation.schema.js": u, "./clickable-image/clickable-image.schema.js": d, "./complete-phrase/complete-phrase.schema.js": m, "./flip-cards/flip-cards.schema.js": g, "./image-quiz/image-quiz.schema.js": n, "./image-quiz/image-quizzes.schema.js": q, "./message-conversation/message-conversation.schema.js": b, "./phishing-message/phishing-message.schema.js": p, "./phishing-notification/phishing-notification.schema.js": _, "./pix-anonymisation/pix-anonymisation.schema.js": v, "./pix-article/pix-article.schema.js": y, "./pix-carousel/pix-carousel.schema.js": S, "./pix-cursor/pix-cursor.schema.js": I, "./pix-llm/llm-compare-messages.schema.js": M, "./pix-llm/llm-messages.schema.js": T, "./pix-llm/llm-prompt-select.schema.js": C, "./qcm-deepfake/qcm-deepfake.schema.js": A, "./quiz-stepper/quiz-stepper.schema.js": P, "./select-conversation/select-conversation.schema.js": $ }), E = Object.fromEntries(Object.entries(B).map(([a, c]) => [
261
+ }), B = e.object({
262
+ titleLevel: e.number().optional(),
263
+ subject: e.string().required(),
264
+ mailAddress: e.string().required(),
265
+ avatarColor: e.string().optional(),
266
+ expeditor: e.string().required(),
267
+ content: e.string().required(),
268
+ time: e.object({
269
+ days: e.number().negative().optional(),
270
+ minutes: e.number().negative().optional()
271
+ }).required(),
272
+ previousMail: e.object({
273
+ name: e.string().required(),
274
+ content: e.string().required(),
275
+ time: e.object({
276
+ days: e.number().negative().optional(),
277
+ minutes: e.number().negative().optional()
278
+ }).required()
279
+ }).optional()
280
+ }), D = e.object({
281
+ titleLevel: e.number().optional(),
282
+ passwords: e.array().items(e.string().required()).required(),
283
+ expectedPassword: e.string().required()
284
+ }), E = /* @__PURE__ */ Object.assign({ "./calcul-impact/calcul-impact.schema.js": l, "./capacity-calculation/capacity-calculation.schema.js": u, "./clickable-image/clickable-image.schema.js": d, "./complete-phrase/complete-phrase.schema.js": m, "./flip-cards/flip-cards.schema.js": g, "./image-quiz/image-quiz.schema.js": o, "./image-quiz/image-quizzes.schema.js": b, "./message-conversation/message-conversation.schema.js": q, "./phishing-message/phishing-message.schema.js": p, "./phishing-notification/phishing-notification.schema.js": _, "./pix-anonymisation/pix-anonymisation.schema.js": v, "./pix-article/pix-article.schema.js": y, "./pix-carousel/pix-carousel.schema.js": S, "./pix-cursor/pix-cursor.schema.js": I, "./pix-llm/llm-compare-messages.schema.js": M, "./pix-llm/llm-messages.schema.js": T, "./pix-llm/llm-prompt-select.schema.js": C, "./qcm-deepfake/qcm-deepfake.schema.js": A, "./quiz-stepper/quiz-stepper.schema.js": N, "./select-conversation/select-conversation.schema.js": $, "./template-mail/template-mail.schema.js": B, "./test-top-mdp/test-top-mdp.schema.js": D }), G = Object.fromEntries(Object.entries(E).map(([a, c]) => [
261
285
  a.replace(/^.*\/([^/]+)\.schema\.js$/, "$1"),
262
286
  c
263
287
  ]));
264
288
  export {
265
- E as schema
289
+ G as schema
266
290
  };
@@ -1,4 +1,4 @@
1
- import { u as t, p as s } from "./_plugin-vue_export-helper-BcRm04ZH.js";
1
+ import { u as t, p as s } from "./_plugin-vue_export-helper-CGJjSxi7.js";
2
2
  const a = /* @__PURE__ */ Symbol("shadowRoot");
3
3
  function r() {
4
4
  const o = t();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1024pix/epreuves-components",
3
- "version": "2.7.0",
3
+ "version": "2.8.0",
4
4
  "description": "A collection of interactive components to be used in Pix challenges or modules",
5
5
  "exports": {
6
6
  ".": "./dist/index.js",