@1024pix/epreuves-components 4.1.0 → 4.3.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 (59) hide show
  1. package/dist/Button.ce-Dvxeebpx.js +31 -0
  2. package/dist/{ButtonTooltip.ce-BnJlaEqx.js → ButtonTooltip.ce-WwOarMJq.js} +1 -1
  3. package/dist/Cross.ce.vue_vue_type_script_setup_true_lang-DVLRq2sO.js +53 -0
  4. package/dist/Feedback.ce-CnZRBGWf.js +26 -0
  5. package/dist/{FocusManager.ce-DHXwg6WZ.js → FocusManager.ce-Cv3wYF9s.js} +2 -2
  6. package/dist/{LLMMessage.ce-jLEqjxsl.js → LLMMessage.ce-B7EwoHy2.js} +4 -4
  7. package/dist/{Loading.ce-DDtlSLlu.js → Loading.ce-Dv2gEjXm.js} +1 -1
  8. package/dist/{NavigationButton.ce-BnnVUwGr.js → NavigationButton.ce-D8_YC96l.js} +2 -2
  9. package/dist/{PixMailMessage.ce-oCccQFGV.js → PixMailMessage.ce-TnjyOfiH.js} +141 -137
  10. package/dist/{Popin.ce-Co12R3C8.js → Popin.ce-BPnBZykQ.js} +3 -3
  11. package/dist/{Retry-C7C78Wpj.js → Retry-C3g7zhz8.js} +1 -1
  12. package/dist/{Stepper.ce-Dttf3Dsf.js → Stepper.ce-DEMN02yr.js} +1 -1
  13. package/dist/{_plugin-vue_export-helper-B-lVMTio.js → _plugin-vue_export-helper-Dz58mCLm.js} +4 -4
  14. package/dist/components/analyse-mails-phishing.ce.js.js +9 -8
  15. package/dist/components/button.ce.js.js +4 -0
  16. package/dist/components/calcul-impact.ce.js.js +8 -8
  17. package/dist/components/capacity-calculation.ce.js.js +124 -137
  18. package/dist/components/clickable-image.ce.js.js +1 -1
  19. package/dist/components/complete-phrase.ce.js.js +12 -12
  20. package/dist/components/feedback.ce.js.js +4 -0
  21. package/dist/components/flip-cards.ce.js.js +7 -7
  22. package/dist/components/image-quiz.ce.js.js +3 -3
  23. package/dist/components/image-quizzes.ce.js.js +3 -3
  24. package/dist/components/llm-compare-messages.ce.js.js +3 -3
  25. package/dist/components/llm-messages.ce.js.js +3 -3
  26. package/dist/components/llm-prompt-select.ce.js.js +6 -6
  27. package/dist/components/mdp-classement.ce.js.js +20 -19
  28. package/dist/components/message-conversation.ce.js.js +10 -10
  29. package/dist/components/mobile-shell.ce.js.js +1 -1
  30. package/dist/components/phishing-message.ce.js.js +60 -61
  31. package/dist/components/phishing-notification.ce.js.js +4 -4
  32. package/dist/components/pix-anonymisation.ce.js.js +79 -85
  33. package/dist/components/pix-article.ce.js.js +2 -2
  34. package/dist/components/pix-carousel.ce.js.js +4 -4
  35. package/dist/components/pix-combinaisons.ce.js.js +96 -96
  36. package/dist/components/pix-cursor.ce.js.js +10 -10
  37. package/dist/components/pix-mail-message.ce.js.js +4 -4
  38. package/dist/components/proteger-mail-spam.ce.js.js +15 -14
  39. package/dist/components/qcm-deepfake.ce.js.js +41 -41
  40. package/dist/components/quiz-stepper.ce.js.js +30 -29
  41. package/dist/components/select-conversation.ce.js.js +6 -6
  42. package/dist/components/template-mail.ce.js.js +4 -4
  43. package/dist/components/test-top-mdp.ce.js.js +11 -12
  44. package/dist/components/trouver-mdp-rs.ce.js.js +97 -96
  45. package/dist/components/usages-donnees.ce.js.js +183 -0
  46. package/dist/{i18n-CsT7k7zW.js → i18n-H4HokXDX.js} +1 -1
  47. package/dist/{i18n-lite-BIJ2LVs6.js → i18n-lite-CzqISEWm.js} +1 -1
  48. package/dist/{image-quiz.ce-BK6-8YF1.js → image-quiz.ce-C-iI27gD.js} +49 -44
  49. package/dist/{index-BaI3Qosp.js → index-BUPiE5WR.js} +1 -1
  50. package/dist/index.js +2 -1
  51. package/dist/metadata.js +11 -7
  52. package/dist/nl-euPrf5s3.js +21 -0
  53. package/dist/props.examples.js +36 -33
  54. package/dist/schema.js +38 -29
  55. package/dist/{shadow-dom-Bouq869n.js → shadow-dom-D54WF-WZ.js} +1 -1
  56. package/package.json +1 -1
  57. package/dist/Button.ce-DZ8jDtW5.js +0 -27
  58. package/dist/Cross.ce.vue_vue_type_script_setup_true_lang-l4hAa4eW.js +0 -75
  59. package/dist/nl-Bonww6Q2.js +0 -13
@@ -1,13 +1,13 @@
1
- const s = [{ subject: "Votre nouvel avis d’imposition est disponible", from: { name: "Impost.g0uv", address: "no-reply@impost.g0uv.fr" }, body: [{ type: "paragraph", content: ["Bonjour,"] }, { type: "paragraph", content: ["Votre avis d’imposition est désormais en ligne.", "Pour consulter rapidement,", "merci de vous connecter à votre espace particulier via le lien ci-dessous."] }, { type: "button", name: "Accéder à mon espace particulier" }, { type: "paragraph", content: ["Cordialement,"] }, { type: "paragraph", content: ["Service des impôts"] }], answers: ["from.name", "from.address"], correctFeedback: "Le nom de l’expéditeur est orthographié ‘impost.g0uv’ au lieu de ‘impots.gouv’. Les erreurs dans les noms ou dans les adresses mail sont de bons indicateurs d’arnaques.", incorrectFeedback: "Observez bien l’orthographe du nom et de l’adresse d’expéditeur. Retentez votre chance !" }, { subject: "Notification de facture impayée — EDF", from: { name: "EDF Service Client", address: "support.edf-client@yxztbnc85de.ru" }, body: [{ type: "paragraph", content: ["Bonjour,"] }, { type: "paragraph", content: ["Nous n’avons pas reçu le règlement de votre dernière facture.", "Veuillez consulter le détail et effectuer le paiement sécurisé", "dans les 48h pour éviter la suspension de votre abonnement."] }, { type: "button", name: "Voir ma facture" }, { type: "paragraph", content: ["Merci,"] }, { type: "paragraph", content: ["EDF — Service Client"] }], answers: ["from.address"], correctFeedback: "La partie après l’arobase de l’adresse mail ‘yxztbnc85de.ru’ n’a aucun lien avec EDF ou la demande, et n’est même pas compréhensible. C’est un indicateur de hameçonnage.", incorrectFeedback: "Concentrez-vous sur l’adresse mail de l’expediteur. Retentez votre chance !" }, { subject: "Amende impayée - Service des infractions", from: { name: "Service des infractions", address: "infractions@amendes-en-retard.com" }, body: [{ type: "paragraph", content: ["Bonjour,"] }, { type: "paragraph", content: ["Nous vous informons que vous avez un retard de paiement d’une amende de 85€ auprès de l’Agence de Traitement Automatisé des Infractions (ANTAI).", "Référence de dossier : ML854YD9.", "Veuillez noter que si vous ne payez pas cette amende dans les prochaines 24 h,", "vous devrez payer une majoration à hauteur de 250€.", "Veuillez régulariser votre situation dans les plus brefs délais."] }, { type: "button", name: "Payr mon amende" }, { type: "paragraph", content: ["Cordialement,"] }, { type: "paragraph", content: ["Service des infractions de l’ANTAI"] }], answers: ["from.address"], correctFeedback: "L’adresse de l’expéditeur ne correspond à aucun organisme officiel. Les incohérences dans les noms et les adresses mails sont de bons indicateurs d’arnaques.", incorrectFeedback: "Observez bien le nom et l’adresse de l’expéditeur. Retentez votre chance ! " }], n = {
2
- mails: s
1
+ const t = [{ subject: "Votre nouvel avis d’imposition est disponible", from: { name: "Impost.g0uv", address: "no-reply@impost.g0uv.fr" }, body: [{ type: "paragraph", content: ["Bonjour,"] }, { type: "paragraph", content: ["Votre avis d’imposition est désormais en ligne.", "Pour consulter rapidement,", "merci de vous connecter à votre espace particulier via le lien ci-dessous."] }, { type: "button", name: "Accéder à mon espace particulier" }, { type: "paragraph", content: ["Cordialement,"] }, { type: "paragraph", content: ["Service des impôts"] }], answers: ["from.name", "from.address"], correctFeedback: "Le nom de l’expéditeur est orthographié ‘impost.g0uv’ au lieu de ‘impots.gouv’. Les erreurs dans les noms ou dans les adresses mail sont de bons indicateurs d’arnaques.", incorrectFeedback: "Observez bien l’orthographe du nom et de l’adresse d’expéditeur. Retentez votre chance !" }, { subject: "Notification de facture impayée — EDF", from: { name: "EDF Service Client", address: "support.edf-client@yxztbnc85de.ru" }, body: [{ type: "paragraph", content: ["Bonjour,"] }, { type: "paragraph", content: ["Nous n’avons pas reçu le règlement de votre dernière facture.", "Veuillez consulter le détail et effectuer le paiement sécurisé", "dans les 48h pour éviter la suspension de votre abonnement."] }, { type: "button", name: "Voir ma facture" }, { type: "paragraph", content: ["Merci,"] }, { type: "paragraph", content: ["EDF — Service Client"] }], answers: ["from.address"], correctFeedback: "La partie après l’arobase de l’adresse mail ‘yxztbnc85de.ru’ n’a aucun lien avec EDF ou la demande, et n’est même pas compréhensible. C’est un indicateur de hameçonnage.", incorrectFeedback: "Concentrez-vous sur l’adresse mail de l’expediteur. Retentez votre chance !" }, { subject: "Amende impayée - Service des infractions", from: { name: "Service des infractions", address: "infractions@amendes-en-retard.com" }, body: [{ type: "paragraph", content: ["Bonjour,"] }, { type: "paragraph", content: ["Nous vous informons que vous avez un retard de paiement d’une amende de 85€ auprès de l’Agence de Traitement Automatisé des Infractions (ANTAI).", "Référence de dossier : ML854YD9.", "Veuillez noter que si vous ne payez pas cette amende dans les prochaines 24 h,", "vous devrez payer une majoration à hauteur de 250€.", "Veuillez régulariser votre situation dans les plus brefs délais."] }, { type: "button", name: "Payr mon amende" }, { type: "paragraph", content: ["Cordialement,"] }, { type: "paragraph", content: ["Service des infractions de l’ANTAI"] }], answers: ["from.address"], correctFeedback: "L’adresse de l’expéditeur ne correspond à aucun organisme officiel. Les incohérences dans les noms et les adresses mails sont de bons indicateurs d’arnaques.", incorrectFeedback: "Observez bien le nom et l’adresse de l’expéditeur. Retentez votre chance ! " }], n = {
2
+ mails: t
3
3
  }, o = 2, i = {
4
4
  titleLevel: o
5
- }, r = 2, a = "https://assets.pix.org/modules/capacity-calculation/capacity-initial.svg", c = {
6
- titleLevel: r,
7
- capacityImage: a
8
- }, u = { src: "https://assets.pix.org/modules/salon-connecte.webp", alt: "Salon connecté", width: 1536, height: 1024 }, p = [{ coords: { x1: 390, y1: 120, x2: 842, y2: 400 }, info: "Pixvidéo : Vous avez aimé « Les chroniques de Flundertown », vous aimerez sûrement « Autant en emporte les fleurs »." }, { coords: { x1: 510, y1: 588, x2: 702, y2: 635 }, info: "Jeu vidéo : Kart Party, le jeu s’adapte en fonction du niveau du joueur" }, { coords: { x1: 248, y1: 398, x2: 325, y2: 492 }, info: "Enceinte connectée : Paramètre activé « Reconnaissance vocale »" }, { coords: { x1: 828, y1: 560, x2: 1042, y2: 725 }, info: "ChatPix : « Que puis-je faire pour toi aujourd’hui ? »", tooltipPosition: "bottom" }, { coords: { x1: 122, y1: 796, x2: 318, y2: 916 }, info: "Robot aspirateur : Paramètre activé « Détection automatique des obstacles et adaptation du parcours »" }, { coords: { x1: 986, y1: 148, x2: 1100, y2: 230 }, info: "Thermostat mural : Paramètre activé « Température idéale et économie d’énergie »", tooltipPosition: "bottom" }], l = {
5
+ }, a = 2, r = "https://assets.pix.org/modules/capacity-calculation/capacity-initial.svg", c = {
6
+ titleLevel: a,
7
+ capacityImage: r
8
+ }, u = { src: "https://assets.pix.org/modules/salon-connecte.webp", alt: "Salon connecté", width: 1536, height: 1024 }, l = [{ coords: { x1: 390, y1: 120, x2: 842, y2: 400 }, info: "Pixvidéo : Vous avez aimé « Les chroniques de Flundertown », vous aimerez sûrement « Autant en emporte les fleurs »." }, { coords: { x1: 510, y1: 588, x2: 702, y2: 635 }, info: "Jeu vidéo : Kart Party, le jeu s’adapte en fonction du niveau du joueur" }, { coords: { x1: 248, y1: 398, x2: 325, y2: 492 }, info: "Enceinte connectée : Paramètre activé « Reconnaissance vocale »" }, { coords: { x1: 828, y1: 560, x2: 1042, y2: 725 }, info: "ChatPix : « Que puis-je faire pour toi aujourd’hui ? »", tooltipPosition: "bottom" }, { coords: { x1: 122, y1: 796, x2: 318, y2: 916 }, info: "Robot aspirateur : Paramètre activé « Détection automatique des obstacles et adaptation du parcours »" }, { coords: { x1: 986, y1: 148, x2: 1100, y2: 230 }, info: "Thermostat mural : Paramètre activé « Température idéale et économie d’énergie »", tooltipPosition: "bottom" }], p = {
9
9
  image: u,
10
- areas: p
10
+ areas: l
11
11
  }, m = { src: "https://assets.pix.org/modules/salon-connecte.webp", alt: "Salon connecté", width: 1536, height: 1024 }, d = [{ coords: { x1: 390, y1: 120, x2: 842, y2: 400 }, spot: { y: 130 }, info: "Pixvidéo : Vous avez aimé « Les chroniques de Flundertown », vous aimerez sûrement « Autant en emporte les fleurs »." }, { coords: { x1: 510, y1: 588, x2: 702, y2: 635 }, info: "Jeu vidéo : Kart Party, le jeu s’adapte en fonction du niveau du joueur" }, { coords: { x1: 248, y1: 398, x2: 325, y2: 492 }, spot: { x: 34 }, info: "Enceinte connectée : Paramètre activé « Reconnaissance vocale »" }, { coords: { x1: 828, y1: 560, x2: 1042, y2: 725 }, info: "ChatPix : « Que puis-je faire pour toi aujourd’hui ? »", tooltipPosition: "bottom" }, { coords: { x1: 122, y1: 796, x2: 318, y2: 916 }, spot: { x: 34, y: -24 }, info: "Robot aspirateur : Paramètre activé « Détection automatique des obstacles et adaptation du parcours »" }, { coords: { x1: 986, y1: 148, x2: 1100, y2: 230 }, spot: { x: 34, y: -24 }, info: "Thermostat mural : Paramètre activé « Température idéale et économie d’énergie »", tooltipPosition: "bottom" }], v = {
12
12
  image: m,
13
13
  areas: d
@@ -31,13 +31,13 @@ const s = [{ subject: "Votre nouvel avis d’imposition est disponible", from: {
31
31
  quizzes: k
32
32
  }, M = ["r7&Kp9!qZ4#tV2", "MonCh@t!23", "Bonjour1", "1234567"], I = {
33
33
  passwords: M
34
- }, E = "Conversation entre Emma et Gustave à propos d’un prompt", D = 20, V = [{ userName: "Gustave", direction: "incoming", type: "Texte", content: "Je ne comprends pas... Toi, t’arrives à faire plein de choses avec l’IA, avec moi ça ne marche pas !😒" }, { userName: "Emma", direction: "outgoing", type: "Texte", content: "Ah bon ? 🤖" }, { userName: "Emma", direction: "outgoing", type: "Texte + Image", content: "Quel prompt as-tu utilisé ?", image: { src: "https://epreuves.pix.fr/images/onu4.jpg", alt: "Martin pêcheur en fait" } }, { userName: "Gustave", direction: "incoming", type: "Texte", content: 'Je veux informer les joueurs donc mon prompt c’était "Invite tous les joueurs aux tournois".' }, { userName: "Emma", direction: "outgoing", type: "Texte", content: `C’est normal, ton prompt est trop flou ! L’IA ne peut pas deviner ce que tu veux. 😉
35
- Il y a des techniques pour améliorer les résultats. 💡` }], B = {
34
+ }, E = "Conversation entre Emma et Gustave à propos d’un prompt", V = 20, D = [{ userName: "Gustave", direction: "incoming", type: "Texte", content: "Je ne comprends pas... Toi, t’arrives à faire plein de choses avec l’IA, avec moi ça ne marche pas !😒" }, { userName: "Emma", direction: "outgoing", type: "Texte", content: "Ah bon ? 🤖" }, { userName: "Emma", direction: "outgoing", type: "Texte + Image", content: "Quel prompt as-tu utilisé ?", image: { src: "https://epreuves.pix.fr/images/onu4.jpg", alt: "Martin pêcheur en fait" } }, { userName: "Gustave", direction: "incoming", type: "Texte", content: 'Je veux informer les joueurs donc mon prompt c’était "Invite tous les joueurs aux tournois".' }, { userName: "Emma", direction: "outgoing", type: "Texte", content: `C’est normal, ton prompt est trop flou ! L’IA ne peut pas deviner ce que tu veux. 😉
35
+ Il y a des techniques pour améliorer les résultats. 💡` }], R = {
36
36
  conversationTitle: E,
37
- animationSpeed: D,
38
- messages: V
39
- }, O = 2, R = {
40
- titleLevel: O
37
+ animationSpeed: V,
38
+ messages: D
39
+ }, B = 2, O = {
40
+ titleLevel: B
41
41
  }, w = [{ name: "Célébrité", icon: "celebrity" }, { name: "Commerce", icon: "business" }, { name: "Particulier", icon: "person" }, { name: "Service public", icon: "publicService" }, { name: "Entreprise", icon: "company" }], $ = [{ icon: "bubble", sender: "IMPOTS-GOUV", content: "Remboursement fiscal de 500e", category: "Service public", time: { minutes: -3 } }, { icon: "letter", sender: "service@enegie.com", content: "Non paiement !!", category: "Entreprise", time: { minutes: -9 } }, { icon: "arobase", sender: "Squizee", content: "Viens à ma soirée d'influenceur", category: "Célébrité", time: { minutes: -34 } }, { icon: "bubble", sender: "ANTAI", content: "Amende plus chère", category: "Service public", time: { minutes: -42 } }, { icon: "letter", sender: "service@fnac.com", content: "Trop chère", category: "Entreprise", time: { minutes: -128 } }], F = "Souvent, les escrocs envoient de faux messages qui semblent venir d’un proche, d’une célébrité ou d’un service connu pour gagner votre confiance.", U = {
42
42
  categories: w,
43
43
  notifications: $,
@@ -45,7 +45,7 @@ Il y a des techniques pour améliorer les résultats. 💡` }], B = {
45
45
  }, G = 2, J = [{ fullSentence: [{ content: "J'habite au 12 rue des Lilas, Joliville,", isAnonymizable: !0 }, { content: "je m'appelle Cédric Fostabley,", isAnonymizable: !0 }, { content: "je suis maçon" }, { content: "mon numéro est le 06 12 34 56 78.", isAnonymizable: !0 }, { content: "Peux-tu me faire une carte de visite professionnelle et originale?" }], rephrase: "Je suis maçon et j’aimerai une idée de carte de visite professionnelle et originale. Peux tu me proposer un modèle que je pourrais compléter avec mes informations ?", feedback: "On reformule ici afin d’éviter de donner des informations perso à une IA, c’est pas bieng faut pas le faire" }, { fullSentence: [{ content: "Peux-tu écrire une lettre" }, { content: "pour le docteur Vanderbrooke", isAnonymizable: !0 }, { content: "lui demandant de soigner" }, { content: "Madame Sarfati", isAnonymizable: !0 }, { content: "suivie pour son diabète" }, { content: "depuis 5 ans ?" }], rephrase: "Peux-tu écrire une lettre pour un collègue médecin lui demandant de prendre en charge une patiente que je suis pour son diabète depuis 5 ans déjà ?", feedback: "On reformule ici afin d’éviter de donner des informations perso à une IA, c’est pas bieng faut pas le faire" }, { fullSentence: [{ content: "Peux-tu rédiger un mail pour mon équipe" }, { content: "afin de lui rappeler que le mot de passe du wifi est AzErTy2024!", isAnonymizable: !0 }, { content: "et qu’ils doivent suivre le mode d’emploi suivant :" }, { content: " http://intranet.example.invalid/procedure-connexion", isAnonymizable: !0 }, { content: "pour s’y connecter ?" }], rephrase: "Peux-tu me proposer un exemple de mail expliquant à une équipe comment se connecter au WiFi d’une organisation ?Je compléterai moi-même ensuite les informations sensibles (mot de passe, lien interne, instructions).", feedback: "On reformule ici afin d’éviter de donner des informations perso à une IA, c’est pas bieng faut pas le faire" }], Q = {
46
46
  titleLevel: G,
47
47
  steps: J
48
- }, H = 2, W = "🔴 Une vidéo de la maire de la capitale crée la polémique", Y = "Rédaction Locale", K = "14 mai 2025", Z = ["Une vidéo diffusée ce matin montre la maire de la capitale, Claire Durand, déclarant : « Il faut faire de la place aux jeunes. À partir de l’an prochain, les personnes âgées n’auront plus accès aux parcs municipaux ».", "Relayée massivement sur les réseaux, la séquence suscite de vives réactions, dénonçant des propos « discriminatoires ». Certains demandent la démission immédiate de la maire. Mais l’après-midi même, la mairie réagit : {{highlightedSentence}}, affirme le service communication. La vidéo a été retirée des réseaux sociaux, à la demande de la mairie. Une plainte a été déposée."], X = "« Il s’agit d’un deepfake »", ee = "#bb0101", te = {
48
+ }, H = 2, W = "🔴 Une vidéo de la maire de la capitale crée la polémique", Y = "Rédaction Locale", K = "14 mai 2025", Z = ["Une vidéo diffusée ce matin montre la maire de la capitale, Claire Durand, déclarant : « Il faut faire de la place aux jeunes. À partir de l’an prochain, les personnes âgées n’auront plus accès aux parcs municipaux ».", "Relayée massivement sur les réseaux, la séquence suscite de vives réactions, dénonçant des propos « discriminatoires ». Certains demandent la démission immédiate de la maire. Mais l’après-midi même, la mairie réagit : {{highlightedSentence}}, affirme le service communication. La vidéo a été retirée des réseaux sociaux, à la demande de la mairie. Une plainte a été déposée."], X = "« Il s’agit d’un deepfake »", ee = "#bb0101", se = {
49
49
  titleLevel: H,
50
50
  articleTitle: W,
51
51
  author: Y,
@@ -53,7 +53,7 @@ Il y a des techniques pour améliorer les résultats. 💡` }], B = {
53
53
  paragraphs: Z,
54
54
  highlightedSentence: X,
55
55
  colorOfHighlightSentence: ee
56
- }, se = 2, ne = "image", oe = !1, ie = [{ title: "Situation A", description: "Super description!", image: { src: "https://epreuves.pix.fr/_astro/connaitre_va1_profil2.DsTLuIpH.jpg", alt: 'une alternative A avec des "double quotes"' } }, { title: "Situation B", description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc at imperdiet libero, eget suscipit enim. Proin in nibh id ligula tempus suscipit eu at dolor. Fusce tincidunt gravida turpis, a sagittis ex bibendum nec. Morbi hendrerit lectus sed libero tristique, non luctus diam ultricies. Cras in quam consectetur, tempor quam id, euismod turpis. Duis faucibus erat lectus, blandit mattis lectus euismod quis. Duis imperdiet volutpat metus at varius. Nunc vitae mattis leo, ac vehicula urna. Mauris euismod eleifend lorem quis porta. Quisque ac diam sollicitudin nisl convallis ullamcorper. Donec ut suscipit arcu.", image: { src: "https://epreuves.pix.fr/_astro/connaitre_va1_profil2.DsTLuIpH.jpg", alt: "une alternative B" } }, { title: "Liste non ordonnée", description: `
56
+ }, te = 2, ne = "image", oe = !1, ie = [{ title: "Situation A", description: "Super description!", image: { src: "https://epreuves.pix.fr/_astro/connaitre_va1_profil2.DsTLuIpH.jpg", alt: 'une alternative A avec des "double quotes"' } }, { title: "Situation B", description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc at imperdiet libero, eget suscipit enim. Proin in nibh id ligula tempus suscipit eu at dolor. Fusce tincidunt gravida turpis, a sagittis ex bibendum nec. Morbi hendrerit lectus sed libero tristique, non luctus diam ultricies. Cras in quam consectetur, tempor quam id, euismod turpis. Duis faucibus erat lectus, blandit mattis lectus euismod quis. Duis imperdiet volutpat metus at varius. Nunc vitae mattis leo, ac vehicula urna. Mauris euismod eleifend lorem quis porta. Quisque ac diam sollicitudin nisl convallis ullamcorper. Donec ut suscipit arcu.", image: { src: "https://epreuves.pix.fr/_astro/connaitre_va1_profil2.DsTLuIpH.jpg", alt: "une alternative B" } }, { title: "Liste non ordonnée", description: `
57
57
  <ul>
58
58
  <li>Ruben</li>
59
59
  <li>Chase</li>
@@ -66,17 +66,17 @@ Il y a des techniques pour améliorer les résultats. 💡` }], B = {
66
66
  <li>Zuma</li>
67
67
  <li>Stella</li>
68
68
  </ol>
69
- `, image: { src: "https://epreuves.pix.fr/_astro/connaitre_va1_profil2.DsTLuIpH.jpg", alt: "" } }], re = {
70
- titleLevel: se,
69
+ `, image: { src: "https://epreuves.pix.fr/_astro/connaitre_va1_profil2.DsTLuIpH.jpg", alt: "" } }], ae = {
70
+ titleLevel: te,
71
71
  type: ne,
72
72
  disableAnimation: oe,
73
73
  slides: ie
74
- }, ae = 2, ce = {
75
- titleLevel: ae
76
- }, ue = [{ label: "Bon", feedback: { type: "good", text: "OUI, ÇA SENT LA PATATE ! 🎉" } }, { label: "Presque", feedback: { type: "close", text: "PATATE 🥔" } }, { label: "Neutre", feedback: { type: "neutral", text: "POUET 💨" } }, { label: "Incorrect", feedback: { type: "bad", text: "❌ C'EST NON! Et voici pourquoi : <br>Quis elit cupidatat commodo adipisicing aliqua qui commodo proident ipsum dolore culpa in. Mollit eiusmod elit sint in aute nulla enim. Sit sint in sunt esse excepteur cupidatat et adipisicing nulla excepteur consectetur reprehenderit est ipsum. Cupidatat proident est pariatur minim labore excepteur culpa aliqua consectetur laboris voluptate consectetur enim nulla laboris. Aliquip occaecat irure sunt. Laboris eiusmod eu dolor veniam minim proident. Elit consequat est occaecat." } }], pe = {
74
+ }, re = 2, ce = {
75
+ titleLevel: re
76
+ }, ue = [{ label: "Bon", feedback: { type: "good", text: "OUI, ÇA SENT LA PATATE ! 🎉" } }, { label: "Presque", feedback: { type: "close", text: "PATATE 🥔" } }, { label: "Neutre", feedback: { type: "neutral", text: "POUET 💨" } }, { label: "Incorrect", feedback: { type: "bad", text: "❌ C'EST NON! Et voici pourquoi : <br>Quis elit cupidatat commodo adipisicing aliqua qui commodo proident ipsum dolore culpa in. Mollit eiusmod elit sint in aute nulla enim. Sit sint in sunt esse excepteur cupidatat et adipisicing nulla excepteur consectetur reprehenderit est ipsum. Cupidatat proident est pariatur minim labore excepteur culpa aliqua consectetur laboris voluptate consectetur enim nulla laboris. Aliquip occaecat irure sunt. Laboris eiusmod eu dolor veniam minim proident. Elit consequat est occaecat." } }], le = {
77
77
  options: ue
78
- }, le = { title: "Titre 1", llmName: "Nono" }, me = { title: "Autre Titre de ouf la dinguerie c'est long", llmName: "Jaja" }, de = "Bob", ve = [{ direction: "outbound", content: "<p>Comment aller facilement de Rennes à Brest en train demain ?</p>" }, [{ direction: "inbound", content: "<p>Voici les itinéraires de demain :<br>Train OUIGO, durée 2h15 08h22 --> 10h37<br>TGV INOUI, durée 2h13 09h33 --> 11h46</p>" }, { direction: "inbound", content: "<p>Pour aller facilement de Rennes à Brest en train demain, plusieurs options directes sont disponibles :<br>08h22 - 10h37 : OUIGO, direct, environ 2h15 ;<br>09h33 - 11h46 : TGV INOUI, direct, environ 2h13.</p>" }], { direction: "outbound", content: "<p>Et qu'est-ce que je peux visiter à Brest ?</p>" }, [{ direction: "inbound", content: "<p>Je ne peux pas vous aider désolé. Votre demande ne correspond pas aux services que je propose. Est-ce que vous voulez de l’aide pour réserver un billet de train ?</p>" }, { direction: "inbound", content: "<p>Voici 3 endroits incontournables à Brest :<br>Océanopolis : grand aquarium dédié aux écosystèmes marins.<br>Château de Brest : forteresse avec musée maritime.<br>Ateliers des Capucins : espace culturel moderne accessible en téléphérique.</p>" }]], ge = {
79
- conversation1: le,
78
+ }, pe = { title: "Titre 1", llmName: "Nono" }, me = { title: "Autre Titre de ouf la dinguerie c'est long", llmName: "Jaja" }, de = "Bob", ve = [{ direction: "outbound", content: "<p>Comment aller facilement de Rennes à Brest en train demain ?</p>" }, [{ direction: "inbound", content: "<p>Voici les itinéraires de demain :<br>Train OUIGO, durée 2h15 08h22 --> 10h37<br>TGV INOUI, durée 2h13 09h33 --> 11h46</p>" }, { direction: "inbound", content: "<p>Pour aller facilement de Rennes à Brest en train demain, plusieurs options directes sont disponibles :<br>08h22 - 10h37 : OUIGO, direct, environ 2h15 ;<br>09h33 - 11h46 : TGV INOUI, direct, environ 2h13.</p>" }], { direction: "outbound", content: "<p>Et qu'est-ce que je peux visiter à Brest ?</p>" }, [{ direction: "inbound", content: "<p>Je ne peux pas vous aider désolé. Votre demande ne correspond pas aux services que je propose. Est-ce que vous voulez de l’aide pour réserver un billet de train ?</p>" }, { direction: "inbound", content: "<p>Voici 3 endroits incontournables à Brest :<br>Océanopolis : grand aquarium dédié aux écosystèmes marins.<br>Château de Brest : forteresse avec musée maritime.<br>Ateliers des Capucins : espace culturel moderne accessible en téléphérique.</p>" }]], ge = {
79
+ conversation1: pe,
80
80
  conversation2: me,
81
81
  userName: de,
82
82
  messages: ve
@@ -101,12 +101,12 @@ Il y a des techniques pour améliorer les résultats. 💡` }], B = {
101
101
  une facture est arrivée à échéance. Merci de la régler dans les plus brefs délais.` }, choice2: { title: "Message 2", content: "⚠ URGENT : Si vous ne réglez pas cette facture sous 24h, votre compte sera suspendu et des pénalités financières s’appliqueront.", isGoodAnswer: !0 } }, { question: "Quelle belle deuxième question que voila ?", feedback: { success: "Bravo !", failed: "Dommage :(" }, choice1: { content: "CONTENT: Réponse 1 sans titre!" }, choice2: { content: "CONTENT: Réponse 2 sans titre!", isGoodAnswer: !0 } }, { question: "Quelle belle troisième non-question !", feedback: { success: "Bravo2 !", failed: "Dommage2 :(" }, choice1: { title: "TITLE : Bonne réponse", isGoodAnswer: !0 }, choice2: { title: "TITLE: Mauvaise réponse" } }], Ee = {
102
102
  titleLevel: Me,
103
103
  steps: Ie
104
- }, De = { username: "Yvette", content: "Ok, mais en cas de doute, je fais quoi ? La banque ça peut être urgent !", time: { minutes: -5 } }, Ve = "Xavier", Be = [{ content: "Répond STOP au SMS, ça va le bloquer.", goodIdea: !1, feedback: "Répondre STOP à un SMS d’arnaque ne permet pas de vérifier sa véracité ni de bloquer l’expéditeur.<br>Dans le doute vérifiez l’information en contactant la personne ou le service qui aurait écrit le message par un autre moyen. Par exemple ici, contacter sa banque au numéro de téléphone habituel après avoir reçu un sms suspect d’un conseiller bancaire." }, { content: "Contacte ta banque au numéro habituel ou via ton application bancaire.", goodIdea: !0, feedback: "Dans le doute vérifiez l’information en contactant la personne ou le service qui aurait écrit le message par un autre moyen. Par exemple ici, contacter sa banque au numéro de téléphone habituel après avoir reçu un sms suspect d’un conseiller bancaire." }, { content: "Rappelle directement le numéro qui t’a envoyé le message.", goodIdea: !1, feedback: "Rappeler le numéro, c’est prendre le risque de tomber sur un escroc qui vous manipulera.<br>Dans le doute vérifiez l’information en contactant la personne ou le service qui aurait écrit le message par un autre moyen. Par exemple ici, contacter sa banque au numéro de téléphone habituel après avoir reçu un sms suspect d’un conseiller bancaire." }], Oe = {
105
- incomingMessage: De,
106
- username: Ve,
107
- responseChoices: Be
108
- }, Re = "Votre facture #A‑91382", we = "billing@micros0ft.com", $e = "#f24645", Fe = "Micr0sofot", Ue = { days: -2, minutes: -5 }, Ge = "salut [monsieur/madame]<br> ceci est un lien <a href='http://www.test.com'>link Fake</a><br> cho'", Je = { time: { days: -5, minutes: -10 }, content: "[Madame, / Monsieur,]<br><br>Nous vous remercions sincèrement pour votre message et l’intérêt que vous portez à [Nom de votre entreprise] ainsi qu’à nos services.Nous répondrons à votre message dans les plus brefs délais et restons à votre disposition pour toute demande supplémentaire, y compris une rencontre personnelle si vous le souhaitez. D’ici là, vous pouvez obtenir des informations complémentaires sur nos [Produits/Services] en consultant, par exemple, nos réseaux sociaux sur [Lien vers les réseaux sociaux, par exemple, YouTube] ou en téléchargeant notre [Lien de téléchargement, tel qu’une présentation d’entreprise ou un document technique].<br>Chaleureusement,<br>L’équipe de [Nom de votre entreprise]", name: "Alex" }, Qe = {
109
- subject: Re,
104
+ }, Ve = { username: "Yvette", content: "Ok, mais en cas de doute, je fais quoi ? La banque ça peut être urgent !", time: { minutes: -5 } }, De = "Xavier", Re = [{ content: "Répond STOP au SMS, ça va le bloquer.", goodIdea: !1, feedback: "Répondre STOP à un SMS d’arnaque ne permet pas de vérifier sa véracité ni de bloquer l’expéditeur.<br>Dans le doute vérifiez l’information en contactant la personne ou le service qui aurait écrit le message par un autre moyen. Par exemple ici, contacter sa banque au numéro de téléphone habituel après avoir reçu un sms suspect d’un conseiller bancaire." }, { content: "Contacte ta banque au numéro habituel ou via ton application bancaire.", goodIdea: !0, feedback: "Dans le doute vérifiez l’information en contactant la personne ou le service qui aurait écrit le message par un autre moyen. Par exemple ici, contacter sa banque au numéro de téléphone habituel après avoir reçu un sms suspect d’un conseiller bancaire." }, { content: "Rappelle directement le numéro qui t’a envoyé le message.", goodIdea: !1, feedback: "Rappeler le numéro, c’est prendre le risque de tomber sur un escroc qui vous manipulera.<br>Dans le doute vérifiez l’information en contactant la personne ou le service qui aurait écrit le message par un autre moyen. Par exemple ici, contacter sa banque au numéro de téléphone habituel après avoir reçu un sms suspect d’un conseiller bancaire." }], Be = {
105
+ incomingMessage: Ve,
106
+ username: De,
107
+ responseChoices: Re
108
+ }, Oe = "Votre facture #A‑91382", we = "billing@micros0ft.com", $e = "#f24645", Fe = "Micr0sofot", Ue = { days: -2, minutes: -5 }, Ge = "salut [monsieur/madame]<br> ceci est un lien <a href='http://www.test.com'>link Fake</a><br> cho'", Je = { time: { days: -5, minutes: -10 }, content: "[Madame, / Monsieur,]<br><br>Nous vous remercions sincèrement pour votre message et l’intérêt que vous portez à [Nom de votre entreprise] ainsi qu’à nos services.Nous répondrons à votre message dans les plus brefs délais et restons à votre disposition pour toute demande supplémentaire, y compris une rencontre personnelle si vous le souhaitez. D’ici là, vous pouvez obtenir des informations complémentaires sur nos [Produits/Services] en consultant, par exemple, nos réseaux sociaux sur [Lien vers les réseaux sociaux, par exemple, YouTube] ou en téléchargeant notre [Lien de téléchargement, tel qu’une présentation d’entreprise ou un document technique].<br>Chaleureusement,<br>L’équipe de [Nom de votre entreprise]", name: "Alex" }, Qe = {
109
+ subject: Oe,
110
110
  mailAddress: we,
111
111
  avatarColor: $e,
112
112
  expeditor: Fe,
@@ -117,14 +117,17 @@ Il y a des techniques pour améliorer les résultats. 💡` }], B = {
117
117
  passwords: He,
118
118
  expectedPassword: We,
119
119
  feedback: Ye
120
- }, Ze = { password: "Timeo2014", user: "emma_vtr" }, Xe = { success: { title: "Connexion réussie", content: "Quelqu’un qui vous connaît ou un <b>pirate informatique</b> qui cherche des informations personnelles à votre sujet peut facilement deviner ce type de mot de passe." }, failed: { title: "Mauvaise réponse", content: "Astuce : Comme Emma l’a dit à <i>Jennifer</i>, son mot de passe est composé du prénom de son fils et l’année de naissance de son chat. Réessayer en saisissant le bon mot de passe à l’aide de ces informations en complétant le champ adéquat." } }, et = { userName: "Emma_VTR", tag: "@emma_vtr", bio: "Bio : Fan de chats 🐱 · Voyage à Lisbonne 2023 🇵🇹 · Maman de Timéo 💕", location: "Paris, FR", publications: [{ date: "2024-12-09", content: "Déjà 10 ans que j'ai sauvé Misty ! 🐾💖 De petit chaton abandonné, il s'est transformé en panthère d'appartement !" }, { date: "2024-12-08", content: "Lisbonne, souvenirs d’été" }] }, tt = {
120
+ }, Ze = { password: "Timeo2014", user: "emma_vtr" }, Xe = { success: { title: "Connexion réussie", content: "Quelqu’un qui vous connaît ou un <b>pirate informatique</b> qui cherche des informations personnelles à votre sujet peut facilement deviner ce type de mot de passe." }, failed: { title: "Mauvaise réponse", content: "Astuce : Comme Emma l’a dit à <i>Jennifer</i>, son mot de passe est composé du prénom de son fils et l’année de naissance de son chat. Réessayer en saisissant le bon mot de passe à l’aide de ces informations en complétant le champ adéquat." } }, es = { userName: "Emma_VTR", tag: "@emma_vtr", bio: "Bio : Fan de chats 🐱 · Voyage à Lisbonne 2023 🇵🇹 · Maman de Timéo 💕", location: "Paris, FR", publications: [{ date: "2024-12-09", content: "Déjà 10 ans que j'ai sauvé Misty ! 🐾💖 De petit chaton abandonné, il s'est transformé en panthère d'appartement !" }, { date: "2024-12-08", content: "Lisbonne, souvenirs d’été" }] }, ss = {
121
121
  validations: Ze,
122
122
  feedback: Xe,
123
- userProfile: et
124
- }, st = /* @__PURE__ */ Object.assign({ "./analyse-mails-phishing/analyse-mails-phishing.example.props.json": n, "./calcul-impact/calcul-impact.example.props.json": i, "./capacity-calculation/capacity-calculation.example.props.json": c, "./clickable-image/clickable-image-without-spot.example.props.json": l, "./clickable-image/clickable-image.example.props.json": v, "./complete-phrase/complete-phrase.example.props.json": _, "./flip-cards/flip-cards.example.props.json": j, "./image-quiz/image-quiz.example.props.json": T, "./image-quiz/image-quizzes.example.props.json": N, "./mdp-classement/mdp-classement.example.props.json": I, "./message-conversation/message-conversation.example.props.json": B, "./phishing-message/phishing-message.example.props.json": R, "./phishing-notification/phishing-notification.example.props.json": U, "./pix-anonymisation/pix-anonymisation.example.props.json": Q, "./pix-article/pix-article.example.props.json": te, "./pix-carousel/pix-carousel.example.props.json": re, "./pix-combinaisons/pix-combinaisons.example.props.json": ce, "./pix-cursor/pix-cursor.example.props.json": pe, "./pix-llm/llm-compare-messages.example.props.json": ge, "./pix-llm/llm-messages.example.props.json": fe, "./pix-llm/llm-prompt-select.example.props.json": _e, "./pix-mail-message/pix-mail-message.example.props.json": je, "./proteger-mail-spam/proteger-mail-spam.example.props.json": ze, "./qcm-deepfake/qcm-deepfake.example.props.json": Ne, "./quiz-stepper/quiz-stepper.example.props.json": Ee, "./select-conversation/select-conversation.example.props.json": Oe, "./template-mail/template-mail.example.props.json": Qe, "./test-top-mdp/test-top-mdp.example.props.json": Ke, "./trouver-mdp-rs/trouver-mdp-rs.example.props.json": tt }), nt = Object.fromEntries(Object.entries(st).map(([e, t]) => [
123
+ userProfile: es
124
+ }, ts = [{ label: "Fichiers administratifs (carte d’identité…)", hasValue: !0 }, { label: "Photos personnelles", hasValue: !0 }, { label: "Vidéos personnelles", hasValue: !0 }, { label: "Musiques téléchargées" }, { label: "Documents de travail (devoirs, projets…)", hasValue: !0 }, { label: "Identifiants et mots de passe enregistrés", hasValue: !0 }], ns = [{ label: "Consulter ses mails", hasValue: !0 }, { label: "Effectuer des achats", hasValue: !0 }, { label: "Lire des actualités" }, { label: "Publier sur les réseaux sociaux", hasValue: !0 }, { label: "Regarder des vidéos" }, { label: "Jouer" }], os = {
125
+ localeChoices: ts,
126
+ cloudChoices: ns
127
+ }, is = /* @__PURE__ */ Object.assign({ "./analyse-mails-phishing/analyse-mails-phishing.example.props.json": n, "./calcul-impact/calcul-impact.example.props.json": i, "./capacity-calculation/capacity-calculation.example.props.json": c, "./clickable-image/clickable-image-without-spot.example.props.json": p, "./clickable-image/clickable-image.example.props.json": v, "./complete-phrase/complete-phrase.example.props.json": _, "./flip-cards/flip-cards.example.props.json": j, "./image-quiz/image-quiz.example.props.json": T, "./image-quiz/image-quizzes.example.props.json": N, "./mdp-classement/mdp-classement.example.props.json": I, "./message-conversation/message-conversation.example.props.json": R, "./phishing-message/phishing-message.example.props.json": O, "./phishing-notification/phishing-notification.example.props.json": U, "./pix-anonymisation/pix-anonymisation.example.props.json": Q, "./pix-article/pix-article.example.props.json": se, "./pix-carousel/pix-carousel.example.props.json": ae, "./pix-combinaisons/pix-combinaisons.example.props.json": ce, "./pix-cursor/pix-cursor.example.props.json": le, "./pix-llm/llm-compare-messages.example.props.json": ge, "./pix-llm/llm-messages.example.props.json": fe, "./pix-llm/llm-prompt-select.example.props.json": _e, "./pix-mail-message/pix-mail-message.example.props.json": je, "./proteger-mail-spam/proteger-mail-spam.example.props.json": ze, "./qcm-deepfake/qcm-deepfake.example.props.json": Ne, "./quiz-stepper/quiz-stepper.example.props.json": Ee, "./select-conversation/select-conversation.example.props.json": Be, "./template-mail/template-mail.example.props.json": Qe, "./test-top-mdp/test-top-mdp.example.props.json": Ke, "./trouver-mdp-rs/trouver-mdp-rs.example.props.json": ss, "./usages-donnees/usages-donnees.example.props.json": os }), as = Object.fromEntries(Object.entries(is).map(([e, s]) => [
125
128
  e.replace(/^.*\/([^/]+)\.example\.props\.json$/, "$1"),
126
- t
129
+ s
127
130
  ]));
128
131
  export {
129
- nt as propsExamples
132
+ as as propsExamples
130
133
  };
package/dist/schema.js CHANGED
@@ -200,7 +200,7 @@ const m = e.object({
200
200
  src: e.string().required(),
201
201
  alt: e.string().allow("").required()
202
202
  }).required()
203
- }), T = e.object({
203
+ }), C = e.object({
204
204
  type: e.string().valid("image", "image-text", "text").required(),
205
205
  slides: e.alternatives().conditional("type", {
206
206
  switch: [
@@ -215,9 +215,9 @@ const m = e.object({
215
215
  disableStyleAroundImage: e.boolean().optional(),
216
216
  enableLoop: e.boolean().optional(),
217
217
  imageTextDisplay: e.string().empty("").optional()
218
- }).meta({ title: "pix-carousel" }).required(), M = e.object({
218
+ }).meta({ title: "pix-carousel" }).required(), T = e.object({
219
219
  titleLevel: e.number().optional()
220
- }), C = e.object({
220
+ }), M = e.object({
221
221
  options: e.array().items(e.object({
222
222
  label: e.string().required(),
223
223
  feedback: e.object({
@@ -225,7 +225,7 @@ const m = e.object({
225
225
  text: e.string().required()
226
226
  }).required()
227
227
  }).required()).required()
228
- }), n = e.object({
228
+ }), o = e.object({
229
229
  title: e.string().required(),
230
230
  llmName: e.string().required()
231
231
  }).required(), P = e.object({
@@ -235,8 +235,8 @@ const m = e.object({
235
235
  direction: e.string().valid("outbound").required(),
236
236
  content: e.string().required()
237
237
  }).required(), O = e.object({
238
- conversation1: n,
239
- conversation2: n,
238
+ conversation1: o,
239
+ conversation2: o,
240
240
  userName: e.string().required(),
241
241
  messages: e.array().items(
242
242
  e.alternatives(N, e.array().items(P).min(2).max(2).required())
@@ -286,31 +286,31 @@ const m = e.object({
286
286
  minutes: e.number().negative().optional()
287
287
  }).required()
288
288
  }).required()
289
- }), B = e.object({
289
+ }), V = e.object({
290
290
  titleLevel: e.number().optional(),
291
291
  steps: e.array().items(D).required()
292
- }), E = e.object({
292
+ }), B = e.object({
293
293
  titleLevel: e.number().optional(),
294
294
  successImage: e.string().required(),
295
295
  failImage: e.string().required(),
296
296
  infoImage: e.string().required(),
297
297
  searchImage: e.string().required()
298
- }), G = e.object({
298
+ }), E = e.object({
299
299
  success: e.string().required(),
300
300
  failed: e.string().required()
301
- }), o = e.object({
301
+ }), n = e.object({
302
302
  title: e.string().optional(),
303
303
  content: e.string().optional(),
304
304
  isGoodAnswer: e.boolean().optional()
305
- }), H = e.object({
305
+ }), G = e.object({
306
306
  question: e.string().required(),
307
- feedback: G.required(),
308
- choice1: o.required(),
309
- choice2: o.required()
310
- }), J = e.object({
307
+ feedback: E.required(),
308
+ choice1: n.required(),
309
+ choice2: n.required()
310
+ }), H = e.object({
311
311
  titleLevel: e.number().optional(),
312
- steps: e.array().items(H)
313
- }), U = e.object({
312
+ steps: e.array().items(G)
313
+ }), J = e.object({
314
314
  titleLevel: e.number().optional(),
315
315
  incomingMessage: e.object({
316
316
  username: e.string().required(),
@@ -326,7 +326,7 @@ const m = e.object({
326
326
  goodIdea: e.boolean().required(),
327
327
  feedback: e.string().required()
328
328
  })).required()
329
- }), W = e.object({
329
+ }), U = e.object({
330
330
  titleLevel: e.number().optional(),
331
331
  subject: e.string().required(),
332
332
  mailAddress: e.string().required(),
@@ -348,7 +348,7 @@ const m = e.object({
348
348
  }), s = e.object({
349
349
  title: e.string().required(),
350
350
  content: e.string().required()
351
- }), K = e.object({
351
+ }), W = e.object({
352
352
  titleLevel: e.number().optional(),
353
353
  passwords: e.array().items(e.string().required()).required(),
354
354
  expectedPassword: e.string().required(),
@@ -356,33 +356,42 @@ const m = e.object({
356
356
  success: s.required(),
357
357
  failed: s.required()
358
358
  }).required()
359
- }), Q = e.object({
359
+ }), K = e.object({
360
360
  date: e.string().isoDate().required(),
361
361
  content: e.string().required()
362
- }), R = e.object({
362
+ }), Q = e.object({
363
363
  userName: e.string().required(),
364
364
  tag: e.string().required(),
365
365
  bio: e.string().required(),
366
366
  location: e.string().required(),
367
- publications: e.array().items(Q).required()
367
+ publications: e.array().items(K).required()
368
368
  }), a = e.object({
369
369
  title: e.string().required(),
370
370
  content: e.string().required()
371
- }), V = e.object({
371
+ }), R = e.object({
372
372
  password: e.string().required(),
373
373
  user: e.string().required()
374
374
  }), X = e.object({
375
375
  titleLevel: e.number().optional(),
376
- validations: V.required(),
376
+ validations: R.required(),
377
377
  feedback: e.object({
378
378
  success: a.required(),
379
379
  failed: a.required()
380
380
  }).required(),
381
- userProfile: R.required()
382
- }), Y = /* @__PURE__ */ Object.assign({ "./analyse-mails-phishing/analyse-mails-phishing.schema.js": m, "./calcul-impact/calcul-impact.schema.js": g, "./capacity-calculation/capacity-calculation.schema.js": b, "./clickable-image/clickable-image.schema.js": q, "./complete-phrase/complete-phrase.schema.js": p, "./flip-cards/flip-cards.schema.js": _, "./image-quiz/image-quiz.schema.js": c, "./image-quiz/image-quizzes.schema.js": j, "./mdp-classement/mdp-classement.schema.js": h, "./message-conversation/message-conversation.schema.js": v, "./phishing-message/phishing-message.schema.js": y, "./phishing-notification/phishing-notification.schema.js": x, "./pix-anonymisation/pix-anonymisation.schema.js": L, "./pix-article/pix-article.schema.js": k, "./pix-carousel/pix-carousel.schema.js": T, "./pix-combinaisons/pix-combinaisons.schema.js": M, "./pix-cursor/pix-cursor.schema.js": C, "./pix-llm/llm-compare-messages.schema.js": O, "./pix-llm/llm-messages.schema.js": $, "./pix-llm/llm-prompt-select.schema.js": F, "./proteger-mail-spam/proteger-mail-spam.schema.js": B, "./qcm-deepfake/qcm-deepfake.schema.js": E, "./quiz-stepper/quiz-stepper.schema.js": J, "./select-conversation/select-conversation.schema.js": U, "./template-mail/template-mail.schema.js": W, "./test-top-mdp/test-top-mdp.schema.js": K, "./trouver-mdp-rs/trouver-mdp-rs.schema.js": X }), ee = Object.fromEntries(Object.entries(Y).map(([u, l]) => [
383
- u.replace(/^.*\/([^/]+)\.schema\.js$/, "$1"),
384
- l
381
+ userProfile: Q.required()
382
+ }), Y = e.object({
383
+ localeChoices: e.array().items(e.object({
384
+ label: e.string().required(),
385
+ hasValue: e.boolean().optional()
386
+ })),
387
+ cloudChoices: e.array().items(e.object({
388
+ label: e.string().required(),
389
+ hasValue: e.boolean().optional()
390
+ }))
391
+ }), Z = /* @__PURE__ */ Object.assign({ "./analyse-mails-phishing/analyse-mails-phishing.schema.js": m, "./calcul-impact/calcul-impact.schema.js": g, "./capacity-calculation/capacity-calculation.schema.js": b, "./clickable-image/clickable-image.schema.js": q, "./complete-phrase/complete-phrase.schema.js": p, "./flip-cards/flip-cards.schema.js": _, "./image-quiz/image-quiz.schema.js": c, "./image-quiz/image-quizzes.schema.js": j, "./mdp-classement/mdp-classement.schema.js": h, "./message-conversation/message-conversation.schema.js": v, "./phishing-message/phishing-message.schema.js": y, "./phishing-notification/phishing-notification.schema.js": x, "./pix-anonymisation/pix-anonymisation.schema.js": L, "./pix-article/pix-article.schema.js": k, "./pix-carousel/pix-carousel.schema.js": C, "./pix-combinaisons/pix-combinaisons.schema.js": T, "./pix-cursor/pix-cursor.schema.js": M, "./pix-llm/llm-compare-messages.schema.js": O, "./pix-llm/llm-messages.schema.js": $, "./pix-llm/llm-prompt-select.schema.js": F, "./proteger-mail-spam/proteger-mail-spam.schema.js": V, "./qcm-deepfake/qcm-deepfake.schema.js": B, "./quiz-stepper/quiz-stepper.schema.js": H, "./select-conversation/select-conversation.schema.js": J, "./template-mail/template-mail.schema.js": U, "./test-top-mdp/test-top-mdp.schema.js": W, "./trouver-mdp-rs/trouver-mdp-rs.schema.js": X, "./usages-donnees/usages-donnees.schema.js": Y }), re = Object.fromEntries(Object.entries(Z).map(([l, u]) => [
392
+ l.replace(/^.*\/([^/]+)\.schema\.js$/, "$1"),
393
+ u
385
394
  ]));
386
395
  export {
387
- ee as schema
396
+ re as schema
388
397
  };
@@ -1,4 +1,4 @@
1
- import { u as e, i as s, p as a } from "./_plugin-vue_export-helper-B-lVMTio.js";
1
+ import { u as e, i as s, p as a } from "./_plugin-vue_export-helper-Dz58mCLm.js";
2
2
  const t = /* @__PURE__ */ Symbol("shadowRoot");
3
3
  function r() {
4
4
  const o = e();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1024pix/epreuves-components",
3
- "version": "4.1.0",
3
+ "version": "4.3.0",
4
4
  "type": "module",
5
5
  "description": "A collection of interactive components to be used in Pix challenges or modules",
6
6
  "exports": {
@@ -1,27 +0,0 @@
1
- import { b as n, h as r, o as d, c as i, t as c, q as l, _ as u } from "./_plugin-vue_export-helper-B-lVMTio.js";
2
- const b = ["aria-disabled"], f = /* @__PURE__ */ n({
3
- __name: "Button.ce",
4
- props: {
5
- isDisabled: { type: Boolean }
6
- },
7
- setup(e, { expose: o }) {
8
- const a = r("button");
9
- function s(t) {
10
- e.isDisabled && t.stopPropagation();
11
- }
12
- return o({
13
- buttonElement: a
14
- }), (t, _) => (d(), i("button", {
15
- ref: "button",
16
- onClickCapture: s,
17
- "aria-disabled": e.isDisabled,
18
- class: c({ "is-disabled": e.isDisabled }),
19
- type: "button"
20
- }, [
21
- l(t.$slots, "default", {}, void 0, !0)
22
- ], 42, b));
23
- }
24
- }), p = "button[data-v-42cff57e]{padding:8px 24px;border-radius:8px;background:#253858;border:none;color:#fff}button[data-v-42cff57e]:hover{cursor:pointer;background:#334d77}button.is-disabled[data-v-42cff57e]{background:#25385880;cursor:not-allowed}", k = /* @__PURE__ */ u(f, [["styles", [p]], ["__scopeId", "data-v-42cff57e"]]);
25
- export {
26
- k as B
27
- };
@@ -1,75 +0,0 @@
1
- import { b as s, o as c, c as r, a as n, q as o, E as i, x as d, _ as l } from "./_plugin-vue_export-helper-B-lVMTio.js";
2
- const _ = {
3
- class: "feedback-container",
4
- "aria-live": "polite"
5
- }, p = { class: "feedback-container__title" }, f = { class: "feedback-container__content" }, k = /* @__PURE__ */ s({
6
- __name: "Feedback.ce",
7
- props: {
8
- title: { type: String }
9
- },
10
- setup(e) {
11
- return (t, a) => (c(), r("div", _, [
12
- n("p", p, [
13
- o(t.$slots, "icon", { class: "icon" }),
14
- o(t.$slots, "title", {}, () => [
15
- i(d(e.title), 1)
16
- ])
17
- ]),
18
- n("p", f, [
19
- o(t.$slots, "content")
20
- ])
21
- ]));
22
- }
23
- }), h = ".feedback-container{font-size:.875em;width:100%}.feedback-container .icon{width:16px;height:16px}.feedback-container__title{display:flex;width:fit-content;padding:4px 8px;justify-content:center;align-items:center;gap:8px;border-radius:8px 8px 0 0;background:#1f53b5;color:#fff;margin:0;font-weight:700}.feedback-container__content{padding:8px;border-radius:0 8px 8px;background:#eaf1ff;margin:0}", $ = /* @__PURE__ */ l(k, [["styles", [h]]]), u = {
24
- viewBox: "0 0 16 16",
25
- fill: "none"
26
- }, x = ["stroke"], w = /* @__PURE__ */ s({
27
- __name: "Check.ce",
28
- props: {
29
- color: { type: String }
30
- },
31
- setup(e) {
32
- return (t, a) => (c(), r("svg", u, [
33
- n("path", {
34
- d: `
35
- M 3, 8
36
- L 7, 12
37
- L 13, 4
38
- `,
39
- stroke: e.color ? e.color : "#fff",
40
- "stroke-width": "1.5",
41
- "stroke-linecap": "round",
42
- "stroke-linejoin": "round"
43
- }, null, 8, x)
44
- ]));
45
- }
46
- }), g = {
47
- viewBox: "0 0 16 16",
48
- fill: "none"
49
- }, b = ["stroke"], y = /* @__PURE__ */ s({
50
- __name: "Cross.ce",
51
- props: {
52
- color: { type: String }
53
- },
54
- setup(e) {
55
- return (t, a) => (c(), r("svg", g, [
56
- n("path", {
57
- d: `
58
- M 4, 4
59
- L 12, 12
60
- M 4, 12
61
- L 12, 4
62
- `,
63
- stroke: e.color ? e.color : "#fff",
64
- "stroke-width": "1.5",
65
- "stroke-linecap": "round",
66
- "stroke-linejoin": "round"
67
- }, null, 8, b)
68
- ]));
69
- }
70
- });
71
- export {
72
- $ as F,
73
- w as _,
74
- y as a
75
- };
@@ -1,13 +0,0 @@
1
- const e = {}, _ = {}, o = {}, t = {}, r = {}, s = {
2
- "pix-mail-message": { actions: { reply: "Répondre", forward: "Transférer", menu: "menu", delete: "Supprimer", blockSender: "Bloquer l’expéditeur", markAsUnread: "Marquer comme non lu", reportSpam: "Signaler comme indésirable", return: "Retour" }, toMe: "À moi", details: "Afficher les détails", previousHeader: "Le {{ date }} à {{time}}, {{ name }}" }
3
- }, a = {}, i = {};
4
- export {
5
- i as _,
6
- a,
7
- s as b,
8
- r as c,
9
- t as d,
10
- o as e,
11
- _ as f,
12
- e as g
13
- };