ep-lib-ts 1.1.19 → 1.1.21

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 (62) hide show
  1. package/dist/components/educationals/EpBranchingScenario.vue2.js +2 -2
  2. package/dist/components/educationals/EpInstructions.vue.js +5 -3
  3. package/dist/components/educationals/EpInstructions.vue.js.map +1 -1
  4. package/dist/components/educationals/EpObjective.vue.js +5 -3
  5. package/dist/components/educationals/EpObjective.vue.js.map +1 -1
  6. package/dist/components/educationals/EpResource.vue.js +1 -1
  7. package/dist/components/educationals/EpResource.vue.js.map +1 -1
  8. package/dist/components/educationals/EpSegmentedBox.vue.js +1 -1
  9. package/dist/components/forms/EpRadioSummative.vue.js +1 -46
  10. package/dist/components/forms/EpRadioSummative.vue.js.map +1 -1
  11. package/dist/components/forms/EpRadioSummative.vue2.js +46 -1
  12. package/dist/components/forms/EpRadioSummative.vue2.js.map +1 -1
  13. package/dist/components/interactions/EpAccordeon.vue.js +1 -1
  14. package/dist/components/interactions/EpAccordeon.vue2.js +10 -7
  15. package/dist/components/interactions/EpAccordeon.vue2.js.map +1 -1
  16. package/dist/components/interactions/EpAssociation.vue.js +1 -1
  17. package/dist/components/interactions/EpContentSlider.vue.js +2 -1
  18. package/dist/components/interactions/EpContentSlider.vue.js.map +1 -1
  19. package/dist/components/interactions/EpQuestion.vue.js +1 -1
  20. package/dist/components/interactions/EpQuestion.vue.js.map +1 -1
  21. package/dist/components/interactions/EpSummativeTable.vue.js +1 -1
  22. package/dist/components/medias/EpAudio.vue.js +1 -1
  23. package/dist/components/medias/EpHierarchy.vue2.js +1 -0
  24. package/dist/components/medias/EpHierarchy.vue2.js.map +1 -1
  25. package/dist/components/medias/EpPlaylist.vue.js +80 -0
  26. package/dist/components/medias/EpPlaylist.vue.js.map +1 -0
  27. package/dist/components/medias/EpPlaylist.vue2.js +5 -0
  28. package/dist/components/medias/EpPlaylist.vue2.js.map +1 -0
  29. package/dist/components/tools/AssociationNode.vue.js +1 -82
  30. package/dist/components/tools/AssociationNode.vue.js.map +1 -1
  31. package/dist/components/tools/AssociationNode.vue2.js +82 -1
  32. package/dist/components/tools/AssociationNode.vue2.js.map +1 -1
  33. package/dist/components/tools/BgAudio.vue.js +1 -52
  34. package/dist/components/tools/BgAudio.vue.js.map +1 -1
  35. package/dist/components/tools/BgAudio.vue2.js +52 -1
  36. package/dist/components/tools/BgAudio.vue2.js.map +1 -1
  37. package/dist/components/tools/Details.vue.js +1 -56
  38. package/dist/components/tools/Details.vue.js.map +1 -1
  39. package/dist/components/tools/Details.vue2.js +56 -1
  40. package/dist/components/tools/Details.vue2.js.map +1 -1
  41. package/dist/components/tools/SegmentedBox.vue.js +1 -55
  42. package/dist/components/tools/SegmentedBox.vue.js.map +1 -1
  43. package/dist/components/tools/SegmentedBox.vue2.js +55 -1
  44. package/dist/components/tools/SegmentedBox.vue2.js.map +1 -1
  45. package/dist/components/tools/TextMedia.vue.js +1 -50
  46. package/dist/components/tools/TextMedia.vue.js.map +1 -1
  47. package/dist/components/tools/TextMedia.vue2.js +50 -1
  48. package/dist/components/tools/TextMedia.vue2.js.map +1 -1
  49. package/dist/components/tools/TwoColsMedia.vue2.js +2 -2
  50. package/dist/components/tools/TwoColsMedia.vue2.js.map +1 -1
  51. package/dist/entry/medias/EpPlaylist.d.ts +6 -0
  52. package/dist/entry/medias/EpPlaylist.js +7 -0
  53. package/dist/entry/medias/EpPlaylist.js.map +1 -0
  54. package/dist/index.d.ts +2 -1
  55. package/dist/index.js +162 -159
  56. package/dist/index.js.map +1 -1
  57. package/dist/style.css +70 -70
  58. package/dist/types/educationals/EpInstructions.d.ts +2 -1
  59. package/dist/types/educationals/EpObjective.d.ts +1 -1
  60. package/dist/types/interactions/EpAccordeon.d.ts +1 -0
  61. package/dist/types/medias/EpPlaylist.d.ts +9 -0
  62. package/package.json +2 -2
@@ -1,13 +1,13 @@
1
1
  import { defineComponent, ref, computed, createElementBlock, openBlock, createElementVNode, normalizeStyle, createCommentVNode, toDisplayString, createVNode, withCtx, unref, normalizeClass, createTextVNode, createBlock, Fragment, renderList } from "vue";
2
2
  import { useRenderText } from "../../composables/useRenderText.js";
3
3
  import _sfc_main$2 from "../basics/EpIcon.vue.js";
4
- import _sfc_main$4 from "../tools/Details.vue.js";
4
+ import _sfc_main$4 from "../tools/Details.vue2.js";
5
5
  import _sfc_main$5 from "../interactions/EpModal.vue.js";
6
6
  /* empty css */
7
7
  import Comp from "../medias/EpHierarchy.vue.js";
8
8
  import _sfc_main$1 from "../basics/EpBtn.vue.js";
9
9
  import { mdiArrowLeft } from "@mdi/js";
10
- import _sfc_main$3 from "../tools/TextMedia.vue.js";
10
+ import _sfc_main$3 from "../tools/TextMedia.vue2.js";
11
11
  const _hoisted_1 = { class: "mb-2" };
12
12
  const _hoisted_2 = { class: "font-bold text-3xl text-center" };
13
13
  const _hoisted_3 = {
@@ -14,7 +14,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14
14
  icon: {},
15
15
  title: { default: "Consignes" },
16
16
  subtitle: {},
17
- instructions: {}
17
+ instructions: {},
18
+ noDeployAtNoContent: { type: Boolean, default: false }
18
19
  },
19
20
  setup(__props) {
20
21
  const props = __props;
@@ -40,7 +41,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
40
41
  small: "",
41
42
  outlined: "",
42
43
  title: instruction.title,
43
- open: instruction.open
44
+ open: instruction.open,
45
+ "no-content": _ctx.noDeployAtNoContent && !instruction.content && !instruction.src
44
46
  }, {
45
47
  default: withCtx(() => [
46
48
  createVNode(_sfc_main$2, {
@@ -53,7 +55,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
53
55
  }, null, 8, ["src", "cols"])) : createCommentVNode("", true)
54
56
  ]),
55
57
  _: 2
56
- }, 1032, ["title", "open"]);
58
+ }, 1032, ["title", "open", "no-content"]);
57
59
  }), 128))
58
60
  ])
59
61
  ])
@@ -1 +1 @@
1
- {"version":3,"file":"EpInstructions.vue.js","sources":["../../../src/components/educationals/EpInstructions.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { toRefs, computed } from \"vue\";\nimport EpIcon from \"~/components/basics/EpIcon.vue\";\nimport EpAccordeon from \"~/components/interactions/EpAccordeon.vue\";\nimport type { EpInstructionsProps } from \"~/types/educationals/EpInstructions\";\nimport EpImg from \"../basics/EpImg.vue\";\nimport RenderTextNode from \"~/components/tools/RenderTextNode.vue\";\nconst props = withDefaults(defineProps<EpInstructionsProps>(), {\n title: \"Consignes\",\n});\n\nconst { title, icon, instructions } = toRefs(props);\n\n\n</script>\n<template>\n <div class=\"lg:grid lg:grid-cols-12 lg:gap-8\">\n <div class=\"lg:col-span-2\">\n <h2\n class=\"text-pretty text-3xl font-semibold tracking-tight sm:text-xl\"\n >\n <EpIcon v-if=\"icon\" :icon-path=\"icon\" size=\"28\" extraClass=\"mr-2\" />\n {{ title }}\n </h2>\n </div>\n <div class=\"lg:col-span-8 lg:mt-0 lg:border-l dark:border-gray-700 lg:pl-4\">\n <div class=\"py-2\">\n <template\n v-for=\"instruction in instructions\"\n :key=\"`instruction-${instruction.uid}`\"\n >\n <EpAccordeon\n small\n outlined\n :title=\"instruction.title\"\n :open=\"instruction.open\"\n >\n <RenderTextNode :content=\"instruction.content\"/>\n <EpImg v-if=\"instruction.src\" :src=\"instruction.src\" :cols=\"instruction.cols\" />\n </EpAccordeon>\n </template>\n </div>\n </div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_createElementVNode","_unref","_createBlock","EpIcon","_createTextVNode","_Fragment","_renderList","EpAccordeon","_createVNode","RenderTextNode","EpImg"],"mappings":";;;;;;;;;;;;;;;;;;;AAOA,UAAM,QAAQ;AAId,UAAM,EAAE,OAAO,MAAM,aAAA,IAAiB,OAAO,KAAK;;AAKhD,aAAAA,UAAA,GAAAC,mBA2BM,OA3BN,YA2BM;AAAA,QA1BJC,mBAOM,OAPN,YAOM;AAAA,UANJA,mBAKK,MALL,YAKK;AAAA,YAFWC,MAAA,IAAA,kBAAdC,YAAoEC,aAAA;AAAA;cAA/C,aAAWF,MAAA,IAAA;AAAA,cAAM,MAAK;AAAA,cAAK,YAAW;AAAA,YAAA;YAASG,gBAAA,sBACjEH,MAAA,KAAA,CAAK,GAAA,CAAA;AAAA,UAAA;;QAGZD,mBAiBM,OAjBN,YAiBM;AAAA,UAhBJA,mBAeM,OAfN,YAeM;AAAA,8BAdJD,mBAaWM,UAAA,MAAAC,WAZaL,MAAA,YAAA,GAAY,CAA3B,gBAAW;kCAGlBC,YAQcK,MAAA;AAAA,gBAVO,KAAA,eAAA,YAAY,GAAG;AAAA,gBAGlC,OAAA;AAAA,gBACA,UAAA;AAAA,gBACC,OAAO,YAAY;AAAA,gBACnB,MAAM,YAAY;AAAA,cAAA;iCAEnB,MAAgD;AAAA,kBAAhDC,YAAgDC,aAAA;AAAA,oBAA/B,SAAS,YAAY;AAAA,kBAAA;kBACzB,YAAY,oBAAzBP,YAAgFQ,aAAA;AAAA;oBAAjD,KAAK,YAAY;AAAA,oBAAM,MAAM,YAAY;AAAA,kBAAA;;;;;;;;;;;"}
1
+ {"version":3,"file":"EpInstructions.vue.js","sources":["../../../src/components/educationals/EpInstructions.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { toRefs, computed } from \"vue\";\nimport EpIcon from \"~/components/basics/EpIcon.vue\";\nimport EpAccordeon from \"~/components/interactions/EpAccordeon.vue\";\nimport type { EpInstructionsProps } from \"~/types/educationals/EpInstructions\";\nimport EpImg from \"../basics/EpImg.vue\";\nimport RenderTextNode from \"~/components/tools/RenderTextNode.vue\";\nconst props = withDefaults(defineProps<EpInstructionsProps>(), {\n title: \"Consignes\",\n noDeployAtNoContent: false\n});\n\nconst { title, icon, instructions } = toRefs(props);\n\n\n</script> \n<template>\n <div class=\"lg:grid lg:grid-cols-12 lg:gap-8\">\n <div class=\"lg:col-span-2\">\n <h2\n class=\"text-pretty text-3xl font-semibold tracking-tight sm:text-xl\"\n >\n <EpIcon v-if=\"icon\" :icon-path=\"icon\" size=\"28\" extraClass=\"mr-2\" />\n {{ title }}\n </h2>\n </div>\n <div class=\"lg:col-span-8 lg:mt-0 lg:border-l dark:border-gray-700 lg:pl-4\">\n <div class=\"py-2\">\n <template\n v-for=\"instruction in instructions\"\n :key=\"`instruction-${instruction.uid}`\"\n >\n <EpAccordeon\n small\n outlined\n :title=\"instruction.title\"\n :open=\"instruction.open\"\n :no-content=\"noDeployAtNoContent && !instruction.content && !instruction.src\"\n >\n <RenderTextNode :content=\"instruction.content\"/>\n <EpImg v-if=\"instruction.src\" :src=\"instruction.src\" :cols=\"instruction.cols\" />\n </EpAccordeon>\n </template>\n </div>\n </div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_createElementVNode","_unref","_createBlock","EpIcon","_createTextVNode","_Fragment","_renderList","EpAccordeon","noDeployAtNoContent","_createVNode","RenderTextNode","EpImg"],"mappings":";;;;;;;;;;;;;;;;;;;;AAOA,UAAM,QAAQ;AAKd,UAAM,EAAE,OAAO,MAAM,aAAA,IAAiB,OAAO,KAAK;;AAKhD,aAAAA,UAAA,GAAAC,mBA4BM,OA5BN,YA4BM;AAAA,QA3BJC,mBAOM,OAPN,YAOM;AAAA,UANJA,mBAKK,MALL,YAKK;AAAA,YAFWC,MAAA,IAAA,kBAAdC,YAAoEC,aAAA;AAAA;cAA/C,aAAWF,MAAA,IAAA;AAAA,cAAM,MAAK;AAAA,cAAK,YAAW;AAAA,YAAA;YAASG,gBAAA,sBACjEH,MAAA,KAAA,CAAK,GAAA,CAAA;AAAA,UAAA;;QAGZD,mBAkBM,OAlBN,YAkBM;AAAA,UAjBJA,mBAgBM,OAhBN,YAgBM;AAAA,8BAfJD,mBAcWM,UAAA,MAAAC,WAbaL,MAAA,YAAA,GAAY,CAA3B,gBAAW;kCAGlBC,YAScK,MAAA;AAAA,gBAXO,KAAA,eAAA,YAAY,GAAG;AAAA,gBAGlC,OAAA;AAAA,gBACA,UAAA;AAAA,gBACC,OAAO,YAAY;AAAA,gBACnB,MAAM,YAAY;AAAA,gBAClB,cAAYC,4BAAmB,CAAK,YAAY,WAAO,CAAK,YAAY;AAAA,cAAA;iCAEzE,MAAgD;AAAA,kBAAhDC,YAAgDC,aAAA;AAAA,oBAA/B,SAAS,YAAY;AAAA,kBAAA;kBACzB,YAAY,oBAAzBR,YAAgFS,aAAA;AAAA;oBAAjD,KAAK,YAAY;AAAA,oBAAM,MAAM,YAAY;AAAA,kBAAA;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, createElementBlock, openBlock, normalizeClass, createElementVNode, toDisplayString, renderSlot } from "vue";
1
+ import { defineComponent, createElementBlock, openBlock, normalizeClass, createElementVNode, toDisplayString, renderSlot, createTextVNode } from "vue";
2
2
  const _hoisted_1 = { class: "flex flex-col gap-y-2 lg:flex-row lg:divide-x lg:gap-x-4" };
3
3
  const _hoisted_2 = { class: "w-full lg:w-32 lg:flex-none" };
4
4
  const _hoisted_3 = { class: "flex-1 lg:pl-4" };
@@ -6,7 +6,7 @@ const _hoisted_4 = { class: "font-medium mb-1" };
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
7
7
  __name: "EpObjective",
8
8
  props: {
9
- nameApproach: {},
9
+ nameApproach: { default: "Objectif" },
10
10
  title: {},
11
11
  color: { default: "border-gray" }
12
12
  },
@@ -33,7 +33,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
33
33
  createElementVNode("div", _hoisted_2, toDisplayString(_ctx.nameApproach), 1),
34
34
  createElementVNode("div", _hoisted_3, [
35
35
  createElementVNode("h4", _hoisted_4, toDisplayString(_ctx.title), 1),
36
- renderSlot(_ctx.$slots, "default")
36
+ renderSlot(_ctx.$slots, "default", {}, () => [
37
+ _cache[0] || (_cache[0] = createTextVNode(" Veuillez choisir un objectif ", -1))
38
+ ])
37
39
  ])
38
40
  ])
39
41
  ], 2);
@@ -1 +1 @@
1
- {"version":3,"file":"EpObjective.vue.js","sources":["../../../src/components/educationals/EpObjective.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { EpObjectiveProps } from \"~/types/educationals/EpObjective\";\n\nconst {\n color = \"border-gray\",\n nameApproach,\n title,\n} = defineProps<EpObjectiveProps>();\n</script>\n\n<template>\n <div\n :class=\"`border-l-8\n ${color} \n p-4 \n my-3 \n transition \n duration-200 \n ease-in-out \n outline-primary \n focus-within:outline \n focus-within:outline-1 \n outline-offset-4 \n hover:outline \n hover:outline-1 \n hover:outline-gray-200 \n dark:hover:outline-gray-700`\"\n >\n <!-- mobile: stacked, lg+: row with divider -->\n <div class=\"flex flex-col gap-y-2 lg:flex-row lg:divide-x lg:gap-x-4\">\n <div class=\"w-full lg:w-32 lg:flex-none\">\n {{ nameApproach }}\n </div>\n <div class=\"flex-1 lg:pl-4\">\n <h4 class=\"font-medium mb-1\">{{ title }}</h4>\n <slot />\n </div>\n </div>\n </div>\n</template>\n"],"names":["_createElementBlock","_normalizeClass","color","_createElementVNode","_toDisplayString","nameApproach","title","_renderSlot"],"mappings":";;;;;;;;;;;;;;0BAWEA,mBA2BM,OAAA;AAAA,QA1BH,OAAKC,eAAA;AAAA,MAAoBC,KAAAA,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;QAiB/BC,mBAQM,OARN,YAQM;AAAA,UAPJA,mBAEM,OAFN,YAEMC,gBADDC,KAAAA,YAAY,GAAA,CAAA;AAAA,UAEjBF,mBAGM,OAHN,YAGM;AAAA,YAFJA,mBAA6C,MAA7C,YAA6CC,gBAAbE,KAAAA,KAAK,GAAA,CAAA;AAAA,YACrCC,WAAQ,KAAA,QAAA,SAAA;AAAA,UAAA;;;;;;"}
1
+ {"version":3,"file":"EpObjective.vue.js","sources":["../../../src/components/educationals/EpObjective.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { EpObjectiveProps } from \"~/types/educationals/EpObjective\";\n\nconst {\n color = \"border-gray\",\n nameApproach = \"Objectif\",\n title,\n} = defineProps<EpObjectiveProps>();\n</script>\n\n<template>\n <div\n :class=\"`border-l-8\n ${color} \n p-4 \n my-3 \n transition \n duration-200 \n ease-in-out \n outline-primary \n focus-within:outline \n focus-within:outline-1 \n outline-offset-4 \n hover:outline \n hover:outline-1 \n hover:outline-gray-200 \n dark:hover:outline-gray-700`\"\n >\n <!-- mobile: stacked, lg+: row with divider -->\n <div class=\"flex flex-col gap-y-2 lg:flex-row lg:divide-x lg:gap-x-4\">\n <div class=\"w-full lg:w-32 lg:flex-none\">\n {{ nameApproach }}\n </div>\n <div class=\"flex-1 lg:pl-4\">\n <h4 class=\"font-medium mb-1\">{{ title }}</h4>\n <slot>\n Veuillez choisir un objectif\n </slot>\n </div>\n </div>\n </div>\n</template>\n"],"names":["_createElementBlock","_normalizeClass","color","_createElementVNode","_toDisplayString","nameApproach","title","_renderSlot"],"mappings":";;;;;;;;;;;;;;0BAWEA,mBA6BM,OAAA;AAAA,QA5BH,OAAKC,eAAA;AAAA,MAAoBC,KAAAA,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;QAiB/BC,mBAUM,OAVN,YAUM;AAAA,UATJA,mBAEM,OAFN,YAEMC,gBADDC,KAAAA,YAAY,GAAA,CAAA;AAAA,UAEjBF,mBAKM,OALN,YAKM;AAAA,YAJJA,mBAA6C,MAA7C,YAA6CC,gBAAbE,KAAAA,KAAK,GAAA,CAAA;AAAA,YACrCC,WAEO,4BAFP,MAEO;AAAA,wDAFD,kCAEN,EAAA;AAAA,YAAA;;;;;;;"}
@@ -43,7 +43,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
43
43
  return defineAsyncComponent(() => import("./EpReading.vue2.js"));
44
44
  }
45
45
  return defineAsyncComponent(
46
- () => __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../basics/EpAvatar.vue": () => import("../basics/EpAvatar.vue.js"), "../basics/EpBadge.vue": () => import("../basics/EpBadge.vue.js"), "../basics/EpBtn.vue": () => import("../basics/EpBtn.vue2.js"), "../basics/EpCard.vue": () => import("../basics/EpCard.vue2.js"), "../basics/EpChip.vue": () => import("../basics/EpChip.vue2.js"), "../basics/EpDivider.vue": () => import("../basics/EpDivider.vue2.js"), "../basics/EpFlex.vue": () => import("../basics/EpFlex.vue2.js"), "../basics/EpHover.vue": () => import("../basics/EpHover.vue2.js"), "../basics/EpHoverCard.vue": () => import("../basics/EpHoverCard.vue2.js"), "../basics/EpIcon.vue": () => import("../basics/EpIcon.vue2.js"), "../basics/EpImg.vue": () => import("../basics/EpImg.vue2.js"), "../basics/EpImgCarousel.vue": () => import("../basics/EpImgCarousel.vue2.js"), "../basics/EpList.vue": () => import("../basics/EpList.vue.js"), "../basics/EpListItem.vue": () => import("../basics/EpListItem.vue2.js"), "../basics/EpSection.vue": () => import("../basics/EpSection.vue2.js"), "../basics/EpSectionCols.vue": () => import("../basics/EpSectionCols.vue2.js"), "../basics/EpSpinner.vue": () => import("../basics/EpSpinner.vue2.js"), "../basics/EpStackedList.vue": () => import("../basics/EpStackedList.vue2.js"), "../basics/EpTable.vue": () => import("../basics/EpTable.vue2.js"), "../basics/EpText.vue": () => import("../basics/EpText.vue2.js"), "../charts/EpBarChart.vue": () => import("../charts/EpBarChart.vue2.js"), "../charts/EpFunnelChart.vue": () => import("../charts/EpFunnelChart.vue2.js"), "../charts/EpLineChart.vue": () => import("../charts/EpLineChart.vue2.js"), "../charts/EpPieChart.vue": () => import("../charts/EpPieChart.vue2.js"), "./EpBranchingScenario.vue": () => import("./EpBranchingScenario.vue.js"), "./EpCodeblock.vue": () => import("./EpCodeblock.vue3.js"), "./EpConclusion.vue": () => import("./EpConclusion.vue2.js"), "./EpDescription.vue": () => import("./EpDescription.vue2.js"), "./EpDocument.vue": () => import("./EpDocument.vue2.js"), "./EpEdu.vue": () => import("./EpEdu.vue2.js"), "./EpFillBlanks.vue": () => import("./EpFillBlanks.vue2.js"), "./EpInstructions.vue": () => import("./EpInstructions.vue2.js"), "./EpIntroduction.vue": () => import("./EpIntroduction.vue2.js"), "./EpObjective.vue": () => import("./EpObjective.vue2.js"), "./EpReading.vue": () => import("./EpReading.vue2.js"), "./EpResource.vue": () => import("./EpResource.vue2.js"), "./EpScope.vue": () => import("./EpScope.vue2.js"), "./EpSegmentedBox.vue": () => import("./EpSegmentedBox.vue2.js"), "./EpSpecificObjective.vue": () => import("./EpSpecificObjective.vue2.js"), "../forms/EpCheckbox.vue": () => import("../forms/EpCheckbox.vue.js"), "../forms/EpInput.vue": () => import("../forms/EpInput.vue.js"), "../forms/EpRadio.vue": () => import("../forms/EpRadio.vue.js"), "../forms/EpRadioSummative.vue": () => import("../forms/EpRadioSummative.vue2.js"), "../forms/EpSelect.vue": () => import("../forms/EpSelect.vue2.js"), "../forms/EpSwitch.vue": () => import("../forms/EpSwitch.vue.js"), "../forms/EpTextarea.vue": () => import("../forms/EpTextarea.vue.js"), "../forms/EpToggle.vue": () => import("../forms/EpToggle.vue.js"), "../interactions/Ep360Image.vue": () => import("../interactions/Ep360Image.vue.js"), "../interactions/Ep360Video.vue": () => import("../interactions/Ep360Video.vue.js"), "../interactions/EpAccordeon.vue": () => import("../interactions/EpAccordeon.vue.js"), "../interactions/EpAssociation.vue": () => import("../interactions/EpAssociation.vue2.js"), "../interactions/EpContentSlider.vue": () => import("../interactions/EpContentSlider.vue2.js"), "../interactions/EpDarkMode.vue": () => import("../interactions/EpDarkMode.vue2.js"), "../interactions/EpDraggable.vue": () => import("../interactions/EpDraggable.vue2.js"), "../interactions/EpFlipCard.vue": () => import("../interactions/EpFlipCard.vue.js"), "../interactions/EpHotSpot.vue": () => import("../interactions/EpHotSpot.vue2.js"), "../interactions/EpImageCompare.vue": () => import("../interactions/EpImageCompare.vue2.js"), "../interactions/EpModal.vue": () => import("../interactions/EpModal.vue3.js"), "../interactions/EpQuestion.vue": () => import("../interactions/EpQuestion.vue2.js"), "../interactions/EpSummativeTable.vue": () => import("../interactions/EpSummativeTable.vue2.js"), "../interactions/EpSvgShow.vue": () => import("../interactions/EpSvgShow.vue2.js"), "../interactions/EpTabs.vue": () => import("../interactions/EpTabs.vue.js"), "../interactions/EpTooltip.vue": () => import("../interactions/EpTooltip.vue2.js"), "../medias/EpAudio.vue": () => import("../medias/EpAudio.vue2.js"), "../medias/EpCardLink.vue": () => import("../medias/EpCardLink.vue2.js"), "../medias/EpCarousel.vue": () => import("../medias/EpCarousel.vue2.js"), "../medias/EpHierarchy.vue": () => import("../medias/EpHierarchy.vue.js"), "../medias/EpIframe.vue": () => import("../medias/EpIframe.vue2.js"), "../medias/EpKatex.vue": () => import("../medias/EpKatex.vue.js"), "../medias/EpLink.vue": () => import("../medias/EpLink.vue2.js"), "../medias/EpLinkVersion.vue": () => import("../medias/EpLinkVersion.vue2.js"), "../medias/EpLottieSvg.vue": () => import("../medias/EpLottieSvg.vue2.js"), "../medias/EpSensibleImage.vue": () => import("../medias/EpSensibleImage.vue.js"), "../medias/EpSoftware.vue": () => import("../medias/EpSoftware.vue2.js"), "../medias/EpSvg.vue": () => import("../medias/EpSvg.vue2.js"), "../medias/EpTerm.vue": () => import("../medias/EpTerm.vue2.js"), "../medias/EpTimeLine.vue": () => import("../medias/EpTimeLine.vue.js"), "../medias/EpVideo.vue": () => import("../medias/EpVideo.vue2.js"), "../medias/EpVideoPanopto.vue": () => import("../medias/EpVideoPanopto.vue2.js"), "../medias/EpWordDef.vue": () => import("../medias/EpWordDef.vue2.js"), "../signages/EpAlert.vue": () => import("../signages/EpAlert.vue.js"), "../signages/EpBadge.vue": () => import("../signages/EpBadge.vue2.js"), "../signages/EpHeader.vue": () => import("../signages/EpHeader.vue2.js"), "../signages/EpNothing.vue": () => import("../signages/EpNothing.vue.js"), "../signages/EpQuote.vue": () => import("../signages/EpQuote.vue2.js"), "../signages/EpSkeleton.vue": () => import("../signages/EpSkeleton.vue.js"), "../tools/AssociationNode.vue": () => import("../tools/AssociationNode.vue2.js"), "../tools/AsyncKatexRender.vue": () => import("../tools/AsyncKatexRender.vue.js"), "../tools/BgAudio.vue": () => import("../tools/BgAudio.vue2.js"), "../tools/Details.vue": () => import("../tools/Details.vue2.js"), "../tools/DisplayBox.vue": () => import("../tools/DisplayBox.vue.js"), "../tools/RenderTextNode.vue": () => import("../tools/RenderTextNode.vue2.js"), "../tools/SegmentedBox.vue": () => import("../tools/SegmentedBox.vue2.js"), "../tools/SvgFilter.vue": () => import("../tools/SvgFilter.vue.js"), "../tools/TextMedia.vue": () => import("../tools/TextMedia.vue2.js"), "../tools/TimelineItem.vue": () => import("../tools/TimelineItem.vue.js"), "../tools/TwoColsMedia.vue": () => import("../tools/TwoColsMedia.vue.js") }), `../${componentToLoad.path}/${componentToLoad.name}.vue`, 3)
46
+ () => __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../basics/EpAvatar.vue": () => import("../basics/EpAvatar.vue.js"), "../basics/EpBadge.vue": () => import("../basics/EpBadge.vue.js"), "../basics/EpBtn.vue": () => import("../basics/EpBtn.vue2.js"), "../basics/EpCard.vue": () => import("../basics/EpCard.vue2.js"), "../basics/EpChip.vue": () => import("../basics/EpChip.vue2.js"), "../basics/EpDivider.vue": () => import("../basics/EpDivider.vue2.js"), "../basics/EpFlex.vue": () => import("../basics/EpFlex.vue2.js"), "../basics/EpHover.vue": () => import("../basics/EpHover.vue2.js"), "../basics/EpHoverCard.vue": () => import("../basics/EpHoverCard.vue2.js"), "../basics/EpIcon.vue": () => import("../basics/EpIcon.vue2.js"), "../basics/EpImg.vue": () => import("../basics/EpImg.vue2.js"), "../basics/EpImgCarousel.vue": () => import("../basics/EpImgCarousel.vue2.js"), "../basics/EpList.vue": () => import("../basics/EpList.vue.js"), "../basics/EpListItem.vue": () => import("../basics/EpListItem.vue2.js"), "../basics/EpSection.vue": () => import("../basics/EpSection.vue2.js"), "../basics/EpSectionCols.vue": () => import("../basics/EpSectionCols.vue2.js"), "../basics/EpSpinner.vue": () => import("../basics/EpSpinner.vue2.js"), "../basics/EpStackedList.vue": () => import("../basics/EpStackedList.vue2.js"), "../basics/EpTable.vue": () => import("../basics/EpTable.vue2.js"), "../basics/EpText.vue": () => import("../basics/EpText.vue2.js"), "../charts/EpBarChart.vue": () => import("../charts/EpBarChart.vue2.js"), "../charts/EpFunnelChart.vue": () => import("../charts/EpFunnelChart.vue2.js"), "../charts/EpLineChart.vue": () => import("../charts/EpLineChart.vue2.js"), "../charts/EpPieChart.vue": () => import("../charts/EpPieChart.vue2.js"), "./EpBranchingScenario.vue": () => import("./EpBranchingScenario.vue.js"), "./EpCodeblock.vue": () => import("./EpCodeblock.vue3.js"), "./EpConclusion.vue": () => import("./EpConclusion.vue2.js"), "./EpDescription.vue": () => import("./EpDescription.vue2.js"), "./EpDocument.vue": () => import("./EpDocument.vue2.js"), "./EpEdu.vue": () => import("./EpEdu.vue2.js"), "./EpFillBlanks.vue": () => import("./EpFillBlanks.vue2.js"), "./EpInstructions.vue": () => import("./EpInstructions.vue2.js"), "./EpIntroduction.vue": () => import("./EpIntroduction.vue2.js"), "./EpObjective.vue": () => import("./EpObjective.vue2.js"), "./EpReading.vue": () => import("./EpReading.vue2.js"), "./EpResource.vue": () => import("./EpResource.vue2.js"), "./EpScope.vue": () => import("./EpScope.vue2.js"), "./EpSegmentedBox.vue": () => import("./EpSegmentedBox.vue2.js"), "./EpSpecificObjective.vue": () => import("./EpSpecificObjective.vue2.js"), "../forms/EpCheckbox.vue": () => import("../forms/EpCheckbox.vue.js"), "../forms/EpInput.vue": () => import("../forms/EpInput.vue.js"), "../forms/EpRadio.vue": () => import("../forms/EpRadio.vue.js"), "../forms/EpRadioSummative.vue": () => import("../forms/EpRadioSummative.vue.js"), "../forms/EpSelect.vue": () => import("../forms/EpSelect.vue2.js"), "../forms/EpSwitch.vue": () => import("../forms/EpSwitch.vue.js"), "../forms/EpTextarea.vue": () => import("../forms/EpTextarea.vue.js"), "../forms/EpToggle.vue": () => import("../forms/EpToggle.vue.js"), "../interactions/Ep360Image.vue": () => import("../interactions/Ep360Image.vue.js"), "../interactions/Ep360Video.vue": () => import("../interactions/Ep360Video.vue.js"), "../interactions/EpAccordeon.vue": () => import("../interactions/EpAccordeon.vue.js"), "../interactions/EpAssociation.vue": () => import("../interactions/EpAssociation.vue2.js"), "../interactions/EpContentSlider.vue": () => import("../interactions/EpContentSlider.vue2.js"), "../interactions/EpDarkMode.vue": () => import("../interactions/EpDarkMode.vue2.js"), "../interactions/EpDraggable.vue": () => import("../interactions/EpDraggable.vue2.js"), "../interactions/EpFlipCard.vue": () => import("../interactions/EpFlipCard.vue.js"), "../interactions/EpHotSpot.vue": () => import("../interactions/EpHotSpot.vue2.js"), "../interactions/EpImageCompare.vue": () => import("../interactions/EpImageCompare.vue2.js"), "../interactions/EpModal.vue": () => import("../interactions/EpModal.vue3.js"), "../interactions/EpQuestion.vue": () => import("../interactions/EpQuestion.vue2.js"), "../interactions/EpSummativeTable.vue": () => import("../interactions/EpSummativeTable.vue2.js"), "../interactions/EpSvgShow.vue": () => import("../interactions/EpSvgShow.vue2.js"), "../interactions/EpTabs.vue": () => import("../interactions/EpTabs.vue.js"), "../interactions/EpTooltip.vue": () => import("../interactions/EpTooltip.vue2.js"), "../medias/EpAudio.vue": () => import("../medias/EpAudio.vue2.js"), "../medias/EpCardLink.vue": () => import("../medias/EpCardLink.vue2.js"), "../medias/EpCarousel.vue": () => import("../medias/EpCarousel.vue2.js"), "../medias/EpHierarchy.vue": () => import("../medias/EpHierarchy.vue.js"), "../medias/EpIframe.vue": () => import("../medias/EpIframe.vue2.js"), "../medias/EpKatex.vue": () => import("../medias/EpKatex.vue.js"), "../medias/EpLink.vue": () => import("../medias/EpLink.vue2.js"), "../medias/EpLinkVersion.vue": () => import("../medias/EpLinkVersion.vue2.js"), "../medias/EpLottieSvg.vue": () => import("../medias/EpLottieSvg.vue2.js"), "../medias/EpPlaylist.vue": () => import("../medias/EpPlaylist.vue2.js"), "../medias/EpSensibleImage.vue": () => import("../medias/EpSensibleImage.vue.js"), "../medias/EpSoftware.vue": () => import("../medias/EpSoftware.vue2.js"), "../medias/EpSvg.vue": () => import("../medias/EpSvg.vue2.js"), "../medias/EpTerm.vue": () => import("../medias/EpTerm.vue2.js"), "../medias/EpTimeLine.vue": () => import("../medias/EpTimeLine.vue.js"), "../medias/EpVideo.vue": () => import("../medias/EpVideo.vue2.js"), "../medias/EpVideoPanopto.vue": () => import("../medias/EpVideoPanopto.vue2.js"), "../medias/EpWordDef.vue": () => import("../medias/EpWordDef.vue2.js"), "../signages/EpAlert.vue": () => import("../signages/EpAlert.vue.js"), "../signages/EpBadge.vue": () => import("../signages/EpBadge.vue2.js"), "../signages/EpHeader.vue": () => import("../signages/EpHeader.vue2.js"), "../signages/EpNothing.vue": () => import("../signages/EpNothing.vue.js"), "../signages/EpQuote.vue": () => import("../signages/EpQuote.vue2.js"), "../signages/EpSkeleton.vue": () => import("../signages/EpSkeleton.vue.js"), "../tools/AssociationNode.vue": () => import("../tools/AssociationNode.vue.js"), "../tools/AsyncKatexRender.vue": () => import("../tools/AsyncKatexRender.vue.js"), "../tools/BgAudio.vue": () => import("../tools/BgAudio.vue.js"), "../tools/Details.vue": () => import("../tools/Details.vue.js"), "../tools/DisplayBox.vue": () => import("../tools/DisplayBox.vue.js"), "../tools/RenderTextNode.vue": () => import("../tools/RenderTextNode.vue2.js"), "../tools/SegmentedBox.vue": () => import("../tools/SegmentedBox.vue.js"), "../tools/SvgFilter.vue": () => import("../tools/SvgFilter.vue.js"), "../tools/TextMedia.vue": () => import("../tools/TextMedia.vue.js"), "../tools/TimelineItem.vue": () => import("../tools/TimelineItem.vue.js"), "../tools/TwoColsMedia.vue": () => import("../tools/TwoColsMedia.vue.js") }), `../${componentToLoad.path}/${componentToLoad.name}.vue`, 3)
47
47
  );
48
48
  };
49
49
  const typeRess = computed(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"EpResource.vue.js","sources":["../../../src/components/educationals/EpResource.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { defineAsyncComponent, computed, toRefs } from \"vue\";\nimport { useComponent } from \"~/composables/useComponent\";\nimport type { EpResourceProps } from \"~/types/educationals/EpResource\";\n\nconst { type = \"neutral\", resource, pages } = defineProps<EpResourceProps>();\n\nconst resourceInfo = computed(() => {\n if (!resource.hasOwnProperty(\"content\")) {\n return \"EpNothing\";\n }\n //console.log(resource)\n const typeRess = Object.keys(resource.content)[0];\n const ress = Object.assign({}, resource.content[typeRess]);\n\n ress.pages = pages;\n ress.type = typeRess;\n ress.intentions = pages;\n if (typeRess === \"clip\") {\n ress.src = ress.url;\n }\n if (typeRess === \"website\") {\n ress.href = ress.url;\n ress.label = ress.title;\n }\n if (typeRess === \"book\" && pages) {\n //ress.intentions = pages\n ress.pages = null;\n }\n if (ress.version_link) {\n ress.url = ress.version_link.url;\n }\n\n return ress;\n});\n\n//get Component asyncComponent\nconst getCompontent = (name: string | undefined) => {\n const componentToLoad = useComponent(name);\n //console.log(componentToLoad)\n if (componentToLoad.name === \"EpNothing\") {\n return defineAsyncComponent(() => import(\"../signages/EpNothing.vue\"));\n }\n if (componentToLoad.name === \"EpReading\") {\n return defineAsyncComponent(() => import(`./EpReading.vue`));\n }\n return defineAsyncComponent(\n () => import(`../${componentToLoad.path}/${componentToLoad.name}.vue`)\n );\n};\n\nconst typeRess = computed(() => {\n if (resourceInfo.value.type && resourceInfo.value.type === \"website\") {\n if (type === \"base\") {\n return \"primary\";\n }\n }\n return type;\n});\n</script>\n\n<template>\n <component\n :is=\"getCompontent(resourceInfo.type)\"\n v-bind=\"{ ...resourceInfo }\"\n :mandateLevel=\"mandateLevel\"\n :intentions=\"pages\"\n :type=\"typeRess\"\n ></component>\n</template>\n"],"names":["typeRess","_createBlock","_resolveDynamicComponent","_mergeProps","mandateLevel","pages"],"mappings":"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"}
1
+ {"version":3,"file":"EpResource.vue.js","sources":["../../../src/components/educationals/EpResource.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { defineAsyncComponent, computed, toRefs } from \"vue\";\nimport { useComponent } from \"~/composables/useComponent\";\nimport type { EpResourceProps } from \"~/types/educationals/EpResource\";\n\nconst { type = \"neutral\", resource, pages } = defineProps<EpResourceProps>();\n\nconst resourceInfo = computed(() => {\n if (!resource.hasOwnProperty(\"content\")) {\n return \"EpNothing\";\n }\n //console.log(resource)\n const typeRess = Object.keys(resource.content)[0];\n const ress = Object.assign({}, resource.content[typeRess]);\n\n ress.pages = pages;\n ress.type = typeRess;\n ress.intentions = pages;\n if (typeRess === \"clip\") {\n ress.src = ress.url;\n }\n if (typeRess === \"website\") {\n ress.href = ress.url;\n ress.label = ress.title;\n }\n if (typeRess === \"book\" && pages) {\n //ress.intentions = pages\n ress.pages = null;\n }\n if (ress.version_link) {\n ress.url = ress.version_link.url;\n }\n\n return ress;\n});\n\n//get Component asyncComponent\nconst getCompontent = (name: string | undefined) => {\n const componentToLoad = useComponent(name);\n //console.log(componentToLoad)\n if (componentToLoad.name === \"EpNothing\") {\n return defineAsyncComponent(() => import(\"../signages/EpNothing.vue\"));\n }\n if (componentToLoad.name === \"EpReading\") {\n return defineAsyncComponent(() => import(`./EpReading.vue`));\n }\n return defineAsyncComponent(\n () => import(`../${componentToLoad.path}/${componentToLoad.name}.vue`)\n );\n};\n\nconst typeRess = computed(() => {\n if (resourceInfo.value.type && resourceInfo.value.type === \"website\") {\n if (type === \"base\") {\n return \"primary\";\n }\n }\n return type;\n});\n</script>\n\n<template>\n <component\n :is=\"getCompontent(resourceInfo.type)\"\n v-bind=\"{ ...resourceInfo }\"\n :mandateLevel=\"mandateLevel\"\n :intentions=\"pages\"\n :type=\"typeRess\"\n ></component>\n</template>\n"],"names":["typeRess","_createBlock","_resolveDynamicComponent","_mergeProps","mandateLevel","pages"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, createElementBlock, openBlock, Fragment, renderList, createBlock, mergeProps } from "vue";
2
- import _sfc_main$1 from "../tools/SegmentedBox.vue.js";
2
+ import _sfc_main$1 from "../tools/SegmentedBox.vue2.js";
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "EpSegmentedBox",
5
5
  props: {
@@ -1,49 +1,4 @@
1
- import { defineComponent, computed, toRefs, createElementBlock, openBlock, createElementVNode, unref, toDisplayString } from "vue";
2
- const _hoisted_1 = { class: "cursor-pointer flex items-center rounded-md py-3 px-3 text-xs font-semibold uppercase sm:flex-1 hover:bg-base" };
3
- const _hoisted_2 = ["id", "name", "disabled", "readonly", "value", "checked"];
4
- const _hoisted_3 = { class: "ml-2" };
5
- const _sfc_main = /* @__PURE__ */ defineComponent({
6
- __name: "EpRadioSummative",
7
- props: {
8
- id: { default: "01" },
9
- label: {},
10
- disabled: { type: Boolean, default: false },
11
- readonly: { type: Boolean, default: false },
12
- type: { default: "base" },
13
- value: { default: void 0 },
14
- modelValue: { default: null }
15
- },
16
- emits: ["update:modelValue"],
17
- setup(__props, { emit: __emit }) {
18
- const props = __props;
19
- const isChecked = computed(() => {
20
- return props.modelValue === props.value;
21
- });
22
- const { label, disabled, readonly, value, id } = toRefs(props);
23
- const emit = __emit;
24
- const onChange = (event) => {
25
- const target = event.target;
26
- const value2 = +target.value || 0;
27
- emit("update:modelValue", value2);
28
- };
29
- return (_ctx, _cache) => {
30
- return openBlock(), createElementBlock("label", _hoisted_1, [
31
- createElementVNode("input", {
32
- type: "radio",
33
- id: unref(id),
34
- name: unref(id),
35
- disabled: unref(disabled),
36
- readonly: unref(readonly),
37
- value: unref(value),
38
- checked: isChecked.value,
39
- onChange,
40
- class: "rounded bg-base-dark border-gray-300 focus:border-transparent focus:bg-base text-primary focus:ring-1 focus:ring-offset-2 focus:ring-primary"
41
- }, null, 40, _hoisted_2),
42
- createElementVNode("span", _hoisted_3, toDisplayString(unref(label)), 1)
43
- ]);
44
- };
45
- }
46
- });
1
+ import _sfc_main from "./EpRadioSummative.vue2.js";
47
2
  export {
48
3
  _sfc_main as default
49
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"EpRadioSummative.vue.js","sources":["../../../src/components/forms/EpRadioSummative.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { toRefs, computed } from \"vue\";\nimport type { EpRadioSummativeProps } from \"~/types/forms/EpRadioSummative\";\n\nconst props = withDefaults(defineProps<EpRadioSummativeProps>(), {\n id: \"01\",\n disabled: false,\n readonly: false,\n checked: false,\n type: \"base\",\n value: undefined,\n modelValue: null,\n});\n\nconst isChecked = computed(() => {\n return props.modelValue === props.value;\n});\n\nconst { label, disabled, readonly, value, id } = toRefs(props);\n\nconst emit = defineEmits<{\n (e: \"update:modelValue\", modelValue: number): void;\n}>();\n\nconst onChange = (event: Event) => {\n const target = event.target as HTMLInputElement;\n const value = +target.value || 0;\n emit(\"update:modelValue\", value);\n};\n</script>\n\n<template>\n <label\n class=\"cursor-pointer flex items-center rounded-md py-3 px-3 text-xs font-semibold uppercase sm:flex-1 hover:bg-base\"\n >\n <input\n type=\"radio\"\n :id=\"id\"\n :name=\"id\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :value=\"value\"\n :checked=\"isChecked\"\n @change=\"onChange\"\n class=\"rounded bg-base-dark border-gray-300 focus:border-transparent focus:bg-base text-primary focus:ring-1 focus:ring-offset-2 focus:ring-primary\"\n />\n <span class=\"ml-2\">{{ label }}</span>\n </label>\n</template>\n"],"names":["value","_openBlock","_createElementBlock","_createElementVNode","_unref","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;AAIA,UAAM,QAAQ;AAUd,UAAM,YAAY,SAAS,MAAM;AAC/B,aAAO,MAAM,eAAe,MAAM;AAAA,IACpC,CAAC;AAED,UAAM,EAAE,OAAO,UAAU,UAAU,OAAO,GAAA,IAAO,OAAO,KAAK;AAE7D,UAAM,OAAO;AAIb,UAAM,WAAW,CAAC,UAAiB;AACjC,YAAM,SAAS,MAAM;AACrB,YAAMA,SAAQ,CAAC,OAAO,SAAS;AAC/B,WAAK,qBAAqBA,MAAK;AAAA,IACjC;;AAIE,aAAAC,UAAA,GAAAC,mBAeQ,SAfR,YAeQ;AAAA,QAZNC,mBAUE,SAAA;AAAA,UATA,MAAK;AAAA,UACJ,IAAIC,MAAA,EAAA;AAAA,UACJ,MAAMA,MAAA,EAAA;AAAA,UACN,UAAUA,MAAA,QAAA;AAAA,UACV,UAAUA,MAAA,QAAA;AAAA,UACV,OAAOA,MAAA,KAAA;AAAA,UACP,SAAS,UAAA;AAAA,UACT;AAAA,UACD,OAAM;AAAA,QAAA;QAERD,mBAAqC,QAArC,YAAqCE,gBAAfD,MAAA,KAAA,CAAK,GAAA,CAAA;AAAA,MAAA;;;;"}
1
+ {"version":3,"file":"EpRadioSummative.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,4 +1,49 @@
1
- import _sfc_main from "./EpRadioSummative.vue.js";
1
+ import { defineComponent, computed, toRefs, createElementBlock, openBlock, createElementVNode, unref, toDisplayString } from "vue";
2
+ const _hoisted_1 = { class: "cursor-pointer flex items-center rounded-md py-3 px-3 text-xs font-semibold uppercase sm:flex-1 hover:bg-base" };
3
+ const _hoisted_2 = ["id", "name", "disabled", "readonly", "value", "checked"];
4
+ const _hoisted_3 = { class: "ml-2" };
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ __name: "EpRadioSummative",
7
+ props: {
8
+ id: { default: "01" },
9
+ label: {},
10
+ disabled: { type: Boolean, default: false },
11
+ readonly: { type: Boolean, default: false },
12
+ type: { default: "base" },
13
+ value: { default: void 0 },
14
+ modelValue: { default: null }
15
+ },
16
+ emits: ["update:modelValue"],
17
+ setup(__props, { emit: __emit }) {
18
+ const props = __props;
19
+ const isChecked = computed(() => {
20
+ return props.modelValue === props.value;
21
+ });
22
+ const { label, disabled, readonly, value, id } = toRefs(props);
23
+ const emit = __emit;
24
+ const onChange = (event) => {
25
+ const target = event.target;
26
+ const value2 = +target.value || 0;
27
+ emit("update:modelValue", value2);
28
+ };
29
+ return (_ctx, _cache) => {
30
+ return openBlock(), createElementBlock("label", _hoisted_1, [
31
+ createElementVNode("input", {
32
+ type: "radio",
33
+ id: unref(id),
34
+ name: unref(id),
35
+ disabled: unref(disabled),
36
+ readonly: unref(readonly),
37
+ value: unref(value),
38
+ checked: isChecked.value,
39
+ onChange,
40
+ class: "rounded bg-base-dark border-gray-300 focus:border-transparent focus:bg-base text-primary focus:ring-1 focus:ring-offset-2 focus:ring-primary"
41
+ }, null, 40, _hoisted_2),
42
+ createElementVNode("span", _hoisted_3, toDisplayString(unref(label)), 1)
43
+ ]);
44
+ };
45
+ }
46
+ });
2
47
  export {
3
48
  _sfc_main as default
4
49
  };
@@ -1 +1 @@
1
- {"version":3,"file":"EpRadioSummative.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"EpRadioSummative.vue2.js","sources":["../../../src/components/forms/EpRadioSummative.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { toRefs, computed } from \"vue\";\nimport type { EpRadioSummativeProps } from \"~/types/forms/EpRadioSummative\";\n\nconst props = withDefaults(defineProps<EpRadioSummativeProps>(), {\n id: \"01\",\n disabled: false,\n readonly: false,\n checked: false,\n type: \"base\",\n value: undefined,\n modelValue: null,\n});\n\nconst isChecked = computed(() => {\n return props.modelValue === props.value;\n});\n\nconst { label, disabled, readonly, value, id } = toRefs(props);\n\nconst emit = defineEmits<{\n (e: \"update:modelValue\", modelValue: number): void;\n}>();\n\nconst onChange = (event: Event) => {\n const target = event.target as HTMLInputElement;\n const value = +target.value || 0;\n emit(\"update:modelValue\", value);\n};\n</script>\n\n<template>\n <label\n class=\"cursor-pointer flex items-center rounded-md py-3 px-3 text-xs font-semibold uppercase sm:flex-1 hover:bg-base\"\n >\n <input\n type=\"radio\"\n :id=\"id\"\n :name=\"id\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :value=\"value\"\n :checked=\"isChecked\"\n @change=\"onChange\"\n class=\"rounded bg-base-dark border-gray-300 focus:border-transparent focus:bg-base text-primary focus:ring-1 focus:ring-offset-2 focus:ring-primary\"\n />\n <span class=\"ml-2\">{{ label }}</span>\n </label>\n</template>\n"],"names":["value","_openBlock","_createElementBlock","_createElementVNode","_unref","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;AAIA,UAAM,QAAQ;AAUd,UAAM,YAAY,SAAS,MAAM;AAC/B,aAAO,MAAM,eAAe,MAAM;AAAA,IACpC,CAAC;AAED,UAAM,EAAE,OAAO,UAAU,UAAU,OAAO,GAAA,IAAO,OAAO,KAAK;AAE7D,UAAM,OAAO;AAIb,UAAM,WAAW,CAAC,UAAiB;AACjC,YAAM,SAAS,MAAM;AACrB,YAAMA,SAAQ,CAAC,OAAO,SAAS;AAC/B,WAAK,qBAAqBA,MAAK;AAAA,IACjC;;AAIE,aAAAC,UAAA,GAAAC,mBAeQ,SAfR,YAeQ;AAAA,QAZNC,mBAUE,SAAA;AAAA,UATA,MAAK;AAAA,UACJ,IAAIC,MAAA,EAAA;AAAA,UACJ,MAAMA,MAAA,EAAA;AAAA,UACN,UAAUA,MAAA,QAAA;AAAA,UACV,UAAUA,MAAA,QAAA;AAAA,UACV,OAAOA,MAAA,KAAA;AAAA,UACP,SAAS,UAAA;AAAA,UACT;AAAA,UACD,OAAM;AAAA,QAAA;QAERD,mBAAqC,QAArC,YAAqCE,gBAAfD,MAAA,KAAA,CAAK,GAAA,CAAA;AAAA,MAAA;;;;"}
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./EpAccordeon.vue2.js";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.js";
4
- const Comp = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e6a01f3c"]]);
4
+ const Comp = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e93025d7"]]);
5
5
  export {
6
6
  Comp as default
7
7
  };
@@ -1,8 +1,8 @@
1
- import { defineComponent, ref, computed, onMounted, toRefs, createElementBlock, openBlock, createElementVNode, normalizeClass, createCommentVNode, unref, createBlock, createTextVNode, toDisplayString, renderSlot } from "vue";
1
+ import { defineComponent, ref, computed, onMounted, toRefs, createElementBlock, openBlock, createElementVNode, createCommentVNode, normalizeClass, unref, createBlock, createTextVNode, toDisplayString, renderSlot } from "vue";
2
2
  import _sfc_main$1 from "../basics/EpIcon.vue.js";
3
3
  import { typeAccordeon } from "../../types/Accordeon.js";
4
4
  import useColors from "../../composables/useColors.js";
5
- const _hoisted_1 = { class: "flex flex-col" };
5
+ const _hoisted_1 = { class: "flex flex-col py-2" };
6
6
  const _hoisted_2 = {
7
7
  key: 0,
8
8
  class: "text-sm"
@@ -17,7 +17,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
17
17
  outlined: { type: Boolean, default: false },
18
18
  title: { default: "En savoir plus" },
19
19
  subtitle: {},
20
- small: { type: Boolean }
20
+ small: { type: Boolean },
21
+ noContent: { type: Boolean, default: false }
21
22
  },
22
23
  setup(__props) {
23
24
  const props = __props;
@@ -79,7 +80,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
79
80
  ], 2),
80
81
  _ctx.subtitle ? (openBlock(), createElementBlock("p", _hoisted_2, toDisplayString(_ctx.subtitle), 1)) : createCommentVNode("", true)
81
82
  ]),
82
- (openBlock(), createElementBlock("svg", {
83
+ !_ctx.noContent ? (openBlock(), createElementBlock("svg", {
84
+ key: 0,
83
85
  xmlns: "http://www.w3.org/2000/svg",
84
86
  fill: "none",
85
87
  viewBox: "0 0 24 24",
@@ -92,9 +94,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
92
94
  "stroke-linejoin": "round",
93
95
  d: "M12 6v12m6-6H6"
94
96
  }, null, -1)
95
- ])], 2))
97
+ ])], 2)) : createCommentVNode("", true)
96
98
  ], 2),
97
- createElementVNode("div", {
99
+ !_ctx.noContent ? (openBlock(), createElementBlock("div", {
100
+ key: 0,
98
101
  ref_key: "collapsible",
99
102
  ref: collapsible,
100
103
  class: normalizeClass(`${contentStyles.value} ep-accordeon-content`)
@@ -102,7 +105,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
102
105
  createElementVNode("div", _hoisted_3, [
103
106
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
104
107
  ])
105
- ], 2)
108
+ ], 2)) : createCommentVNode("", true)
106
109
  ]);
107
110
  };
108
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EpAccordeon.vue2.js","sources":["../../../src/components/interactions/EpAccordeon.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, toRefs, computed, onMounted, onUpdated } from \"vue\";\nimport EpIcon from \"~/components/basics/EpIcon.vue\";\nimport { typeAccordeon } from \"~/types/Accordeon\";\nimport type { EpAccordeonProps } from \"~/types/interactions/EpAccordeon\";\nimport useColors from \"~/composables/useColors\";\n\nconst props = withDefaults(defineProps<EpAccordeonProps>(), {\n open: false,\n type: \"base\",\n outlined: false,\n title: \"En savoir plus\",\n});\n\nconst showDiv = ref(props.open);\nconst collapsible = ref();\n\nconst isOutlined = computed(() => {\n if (props.outlined) {\n return \"outlined\";\n }\n return \"default\";\n});\n\nconst stylesHeader = computed(() => {\n return `flex justify-between items-center px-4 ${props.small ? 'py-1' : 'py-2'\n } cursor-pointer select-none ${typeAccordeon[props.type]?.[isOutlined.value]}`;\n});\n\nconst stylesHeaderOpen = computed(() => {\n return showDiv.value ? 'rounded-t' : 'rounded'\n})\n\nconst contentStyles = computed(() => {\n const colorBorder = useColors(props.type.toLocaleLowerCase(), 'border')\n return `px-4 bg-surface-2 dark:bg-surface-2-dark border border-t-0 rounded-b ${showDiv.value ? colorBorder : \"border-0\"\n }`;\n});\n\n\nconst updateHeight = () => {\n const content = collapsible.value;\n if (!content) return;\n\n if (!props.open) {\n content.style.maxHeight = 0;\n }\n};\n\nonMounted(updateHeight);\n\n\nfunction toggleDivVisibility() {\n showDiv.value = !showDiv.value;\n var content = collapsible.value;\n\n\n content.style.maxHeight = content.scrollHeight + \"px\";\n void content.offsetHeight;\n\n if (content.getBoundingClientRect().height) {\n content.style.maxHeight = 0;\n } else {\n content.style.maxHeight = content.scrollHeight + \"px\";\n }\n\n}\n\nconst { title, icon, small } = toRefs(props);\n</script>\n\n<template>\n <div>\n <div :class=\"`${stylesHeader} ${stylesHeaderOpen}`\" @click=\"toggleDivVisibility\">\n <div class=\"flex flex-col\">\n <h3 :class=\"`${small ? 'text' : 'text-lg'} flex items-center`\">\n <EpIcon v-if=\"icon\" :icon-path=\"icon\" size=\"28\" extraClass=\"mr-2\"></EpIcon>{{ title }}\n </h3>\n <p v-if=\"subtitle\" class=\"text-sm\">{{ subtitle }}</p>\n </div>\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"\n class=\"flex-shrink-0 h-6 w-6 mx-4 my-3 transition-transform duration-200 transform\"\n :class=\"{ 'rotate-45 scale-[1.15]': showDiv }\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 6v12m6-6H6\" />\n </svg>\n </div>\n <div ref=\"collapsible\" :class=\"`${contentStyles} ep-accordeon-content`\">\n <div class=\"py-3\">\n <slot />\n </div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.ep-accordeon-content {\n transition: max-height 0.2s ease-out;\n overflow: hidden;\n}\n</style>\n"],"names":["_createElementBlock","_createElementVNode","_normalizeClass","_unref","_createBlock","EpIcon","subtitle","_toDisplayString","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAOA,UAAM,QAAQ;AAOd,UAAM,UAAU,IAAI,MAAM,IAAI;AAC9B,UAAM,cAAc,IAAA;AAEpB,UAAM,aAAa,SAAS,MAAM;AAChC,UAAI,MAAM,UAAU;AAClB,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,CAAC;AAED,UAAM,eAAe,SAAS,MAAM;;AAClC,aAAO,0CAA0C,MAAM,QAAQ,SAAS,MACtE,gCAA+B,mBAAc,MAAM,IAAI,MAAxB,mBAA4B,WAAW,MAAM;AAAA,IAChF,CAAC;AAED,UAAM,mBAAmB,SAAS,MAAM;AACtC,aAAO,QAAQ,QAAQ,cAAc;AAAA,IACvC,CAAC;AAED,UAAM,gBAAgB,SAAS,MAAM;AACnC,YAAM,cAAc,UAAU,MAAM,KAAK,kBAAA,GAAqB,QAAQ;AACtE,aAAO,wEAAwE,QAAQ,QAAQ,cAAc,UAC3G;AAAA,IACJ,CAAC;AAGD,UAAM,eAAe,MAAM;AACzB,YAAM,UAAU,YAAY;AAC5B,UAAI,CAAC,QAAS;AAEd,UAAI,CAAC,MAAM,MAAM;AACf,gBAAQ,MAAM,YAAY;AAAA,MAC5B;AAAA,IACF;AAEA,cAAU,YAAY;AAGtB,aAAS,sBAAsB;AAC7B,cAAQ,QAAQ,CAAC,QAAQ;AACzB,UAAI,UAAU,YAAY;AAG1B,cAAQ,MAAM,YAAY,QAAQ,eAAe;AAGjD,UAAI,QAAQ,sBAAA,EAAwB,QAAQ;AAC1C,gBAAQ,MAAM,YAAY;AAAA,MAC5B,OAAO;AACL,gBAAQ,MAAM,YAAY,QAAQ,eAAe;AAAA,MACnD;AAAA,IAEF;AAEA,UAAM,EAAE,OAAO,MAAM,MAAA,IAAU,OAAO,KAAK;;0BAIzCA,mBAmBM,OAAA,MAAA;AAAA,QAlBJC,mBAYM,OAAA;AAAA,UAZA,OAAKC,eAAA,GAAK,aAAA,KAAY,IAAI,iBAAA,KAAgB,EAAA;AAAA,UAAK,SAAO;AAAA,QAAA;UAC1DD,mBAKM,OALN,YAKM;AAAA,YAJJA,mBAEK,MAAA;AAAA,cAFA,yBAAUE,MAAA,KAAA,IAAK,SAAA,SAAA,oBAAA;AAAA,YAAA;cACJA,MAAA,IAAA,kBAAdC,YAA2EC,aAAA;AAAA;gBAAtD,aAAWF,MAAA,IAAA;AAAA,gBAAM,MAAK;AAAA,gBAAK,YAAW;AAAA,cAAA;8CAAmBA,MAAA,KAAA,CAAK,GAAA,CAAA;AAAA,YAAA;YAE5EG,KAAAA,yBAATN,mBAAqD,KAArD,YAAqDO,gBAAfD,KAAAA,QAAQ,GAAA,CAAA;;wBAEhDN,mBAIM,OAAA;AAAA,YAJD,OAAM;AAAA,YAA6B,MAAK;AAAA,YAAO,SAAQ;AAAA,YAAY,gBAAa;AAAA,YAAM,QAAO;AAAA,YAChG,OAAKE,eAAA,CAAC,+EAA6E,EAAA,0BAC/C,QAAA,OAAO,CAAA;AAAA,UAAA;YAC3CD,mBAA0E,QAAA;AAAA,cAApE,kBAAe;AAAA,cAAQ,mBAAgB;AAAA,cAAQ,GAAE;AAAA,YAAA;;;QAG3DA,mBAIM,OAAA;AAAA,mBAJG;AAAA,UAAJ,KAAI;AAAA,UAAe,yBAAU,cAAA,KAAa,uBAAA;AAAA,QAAA;UAC7CA,mBAEM,OAFN,YAEM;AAAA,YADJO,WAAQ,KAAA,QAAA,WAAA,CAAA,GAAA,QAAA,IAAA;AAAA,UAAA;;;;;;"}
1
+ {"version":3,"file":"EpAccordeon.vue2.js","sources":["../../../src/components/interactions/EpAccordeon.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, toRefs, computed, onMounted, onUpdated } from \"vue\";\nimport EpIcon from \"~/components/basics/EpIcon.vue\";\nimport { typeAccordeon } from \"~/types/Accordeon\";\nimport type { EpAccordeonProps } from \"~/types/interactions/EpAccordeon\";\nimport useColors from \"~/composables/useColors\";\n\nconst props = withDefaults(defineProps<EpAccordeonProps>(), {\n open: false,\n type: \"base\",\n outlined: false,\n title: \"En savoir plus\",\n noContent: false\n});\n\nconst showDiv = ref(props.open);\nconst collapsible = ref();\n\nconst isOutlined = computed(() => {\n if (props.outlined) {\n return \"outlined\";\n }\n return \"default\";\n});\n\nconst stylesHeader = computed(() => {\n return `flex justify-between items-center px-4 ${props.small ? 'py-1' : 'py-2'\n } cursor-pointer select-none ${typeAccordeon[props.type]?.[isOutlined.value]}`;\n});\n\nconst stylesHeaderOpen = computed(() => {\n return showDiv.value ? 'rounded-t' : 'rounded'\n})\n\nconst contentStyles = computed(() => {\n const colorBorder = useColors(props.type.toLocaleLowerCase(), 'border')\n return `px-4 bg-surface-2 dark:bg-surface-2-dark border border-t-0 rounded-b ${showDiv.value ? colorBorder : \"border-0\"\n }`;\n});\n\n\nconst updateHeight = () => {\n const content = collapsible.value;\n if (!content) return;\n\n if (!props.open) {\n content.style.maxHeight = 0;\n }\n};\n\nonMounted(updateHeight);\n\n\nfunction toggleDivVisibility() {\n showDiv.value = !showDiv.value;\n var content = collapsible.value;\n\n\n content.style.maxHeight = content.scrollHeight + \"px\";\n void content.offsetHeight;\n\n if (content.getBoundingClientRect().height) {\n content.style.maxHeight = 0;\n } else {\n content.style.maxHeight = content.scrollHeight + \"px\";\n }\n\n}\n\nconst { title, icon, small } = toRefs(props);\n</script>\n\n<template>\n <div>\n <div :class=\"`${stylesHeader} ${stylesHeaderOpen}`\" @click=\"toggleDivVisibility\">\n <div class=\"flex flex-col py-2\">\n <h3 :class=\"`${small ? 'text' : 'text-lg'} flex items-center`\">\n <EpIcon v-if=\"icon\" :icon-path=\"icon\" size=\"28\" extraClass=\"mr-2\"></EpIcon>{{ title }}\n </h3>\n <p v-if=\"subtitle\" class=\"text-sm\">{{ subtitle }}</p>\n </div>\n <template v-if=\"!noContent\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"\n class=\"flex-shrink-0 h-6 w-6 mx-4 my-3 transition-transform duration-200 transform\"\n :class=\"{ 'rotate-45 scale-[1.15]': showDiv }\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 6v12m6-6H6\" />\n </svg>\n </template>\n </div>\n <div v-if=\"!noContent\" ref=\"collapsible\" :class=\"`${contentStyles} ep-accordeon-content`\">\n <div class=\"py-3\">\n <slot />\n </div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.ep-accordeon-content {\n transition: max-height 0.2s ease-out;\n overflow: hidden;\n}\n</style>\n"],"names":["_createElementBlock","_createElementVNode","_normalizeClass","_unref","_createBlock","EpIcon","subtitle","_toDisplayString","noContent","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAOA,UAAM,QAAQ;AAQd,UAAM,UAAU,IAAI,MAAM,IAAI;AAC9B,UAAM,cAAc,IAAA;AAEpB,UAAM,aAAa,SAAS,MAAM;AAChC,UAAI,MAAM,UAAU;AAClB,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,CAAC;AAED,UAAM,eAAe,SAAS,MAAM;;AAClC,aAAO,0CAA0C,MAAM,QAAQ,SAAS,MACtE,gCAA+B,mBAAc,MAAM,IAAI,MAAxB,mBAA4B,WAAW,MAAM;AAAA,IAChF,CAAC;AAED,UAAM,mBAAmB,SAAS,MAAM;AACtC,aAAO,QAAQ,QAAQ,cAAc;AAAA,IACvC,CAAC;AAED,UAAM,gBAAgB,SAAS,MAAM;AACnC,YAAM,cAAc,UAAU,MAAM,KAAK,kBAAA,GAAqB,QAAQ;AACtE,aAAO,wEAAwE,QAAQ,QAAQ,cAAc,UAC3G;AAAA,IACJ,CAAC;AAGD,UAAM,eAAe,MAAM;AACzB,YAAM,UAAU,YAAY;AAC5B,UAAI,CAAC,QAAS;AAEd,UAAI,CAAC,MAAM,MAAM;AACf,gBAAQ,MAAM,YAAY;AAAA,MAC5B;AAAA,IACF;AAEA,cAAU,YAAY;AAGtB,aAAS,sBAAsB;AAC7B,cAAQ,QAAQ,CAAC,QAAQ;AACzB,UAAI,UAAU,YAAY;AAG1B,cAAQ,MAAM,YAAY,QAAQ,eAAe;AAGjD,UAAI,QAAQ,sBAAA,EAAwB,QAAQ;AAC1C,gBAAQ,MAAM,YAAY;AAAA,MAC5B,OAAO;AACL,gBAAQ,MAAM,YAAY,QAAQ,eAAe;AAAA,MACnD;AAAA,IAEF;AAEA,UAAM,EAAE,OAAO,MAAM,MAAA,IAAU,OAAO,KAAK;;0BAIzCA,mBAqBM,OAAA,MAAA;AAAA,QApBJC,mBAcM,OAAA;AAAA,UAdA,OAAKC,eAAA,GAAK,aAAA,KAAY,IAAI,iBAAA,KAAgB,EAAA;AAAA,UAAK,SAAO;AAAA,QAAA;UAC1DD,mBAKM,OALN,YAKM;AAAA,YAJJA,mBAEK,MAAA;AAAA,cAFA,yBAAUE,MAAA,KAAA,IAAK,SAAA,SAAA,oBAAA;AAAA,YAAA;cACJA,MAAA,IAAA,kBAAdC,YAA2EC,aAAA;AAAA;gBAAtD,aAAWF,MAAA,IAAA;AAAA,gBAAM,MAAK;AAAA,gBAAK,YAAW;AAAA,cAAA;8CAAmBA,MAAA,KAAA,CAAK,GAAA,CAAA;AAAA,YAAA;YAE5EG,KAAAA,yBAATN,mBAAqD,KAArD,YAAqDO,gBAAfD,KAAAA,QAAQ,GAAA,CAAA;;WAE/BE,KAAAA,0BACfR,mBAIM,OAAA;AAAA;YAJD,OAAM;AAAA,YAA6B,MAAK;AAAA,YAAO,SAAQ;AAAA,YAAY,gBAAa;AAAA,YAAM,QAAO;AAAA,YAChG,OAAKE,eAAA,CAAC,+EAA6E,EAAA,0BAC/C,QAAA,OAAO,CAAA;AAAA,UAAA;YAC3CD,mBAA0E,QAAA;AAAA,cAApE,kBAAe;AAAA,cAAQ,mBAAgB;AAAA,cAAQ,GAAE;AAAA,YAAA;;;SAIjDO,KAAAA,0BAAZR,mBAIM,OAAA;AAAA;mBAJqB;AAAA,UAAJ,KAAI;AAAA,UAAe,yBAAU,cAAA,KAAa,uBAAA;AAAA,QAAA;UAC/DC,mBAEM,OAFN,YAEM;AAAA,YADJQ,WAAQ,KAAA,QAAA,WAAA,CAAA,GAAA,QAAA,IAAA;AAAA,UAAA;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, computed, ref, createElementBlock, openBlock, Fragment, createElementVNode, createCommentVNode, normalizeStyle, createVNode, unref, withCtx, normalizeProps, guardReactiveProps, toDisplayString, normalizeClass } from "vue";
2
2
  import { useVueFlow, VueFlow } from "@vue-flow/core";
3
3
  import { useCreateUid } from "../../composables/useCreateUid.js";
4
- import _sfc_main$1 from "../tools/AssociationNode.vue.js";
4
+ import _sfc_main$1 from "../tools/AssociationNode.vue2.js";
5
5
  const _hoisted_1 = {
6
6
  key: 0,
7
7
  class: "p-2 text-center text-sm text-neutral-300"
@@ -84,7 +84,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
84
84
  "../forms/EpCheckbox.vue": () => import("../forms/EpCheckbox.vue.js"),
85
85
  "../forms/EpInput.vue": () => import("../forms/EpInput.vue.js"),
86
86
  "../forms/EpRadio.vue": () => import("../forms/EpRadio.vue.js"),
87
- "../forms/EpRadioSummative.vue": () => import("../forms/EpRadioSummative.vue2.js"),
87
+ "../forms/EpRadioSummative.vue": () => import("../forms/EpRadioSummative.vue.js"),
88
88
  "../forms/EpSelect.vue": () => import("../forms/EpSelect.vue2.js"),
89
89
  "../forms/EpSwitch.vue": () => import("../forms/EpSwitch.vue.js"),
90
90
  "../forms/EpTextarea.vue": () => import("../forms/EpTextarea.vue.js"),
@@ -114,6 +114,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
114
114
  "../medias/EpLink.vue": () => import("../medias/EpLink.vue2.js"),
115
115
  "../medias/EpLinkVersion.vue": () => import("../medias/EpLinkVersion.vue2.js"),
116
116
  "../medias/EpLottieSvg.vue": () => import("../medias/EpLottieSvg.vue2.js"),
117
+ "../medias/EpPlaylist.vue": () => import("../medias/EpPlaylist.vue2.js"),
117
118
  "../medias/EpSensibleImage.vue": () => import("../medias/EpSensibleImage.vue.js"),
118
119
  "../medias/EpSoftware.vue": () => import("../medias/EpSoftware.vue2.js"),
119
120
  "../medias/EpSvg.vue": () => import("../medias/EpSvg.vue2.js"),
@@ -1 +1 @@
1
- {"version":3,"file":"EpContentSlider.vue.js","sources":["../../../src/components/interactions/EpContentSlider.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n ref,\n computed,\n defineAsyncComponent,\n} from \"vue\";\nimport { useComponent } from \"~/composables/useComponent\";\nimport { mdiArrowLeft, mdiArrowRight } from \"@mdi/js\";\nimport EpIcon from \"~/components/basics/EpIcon.vue\";\nimport type { EpContentSliderProps } from \"~/types/interactions/EpContentSlider\";\nimport { type SlidesType, type SizeCols } from \"~/types/Slides\";\nimport RenderTextNode from \"~/components/tools/RenderTextNode.vue\";\nconst props = withDefaults(defineProps<EpContentSliderProps>(), {\n loading: \"...loading\",\n noData: \"No data available\",\n mediaPosition: \"left\",\n titleSize: \"md\"\n});\n\nconst isLoading = ref(false);\n\n//slide information\nconst currentSlide = computed<SlidesType>(() => {\n if (!props.slides || props.slides.length === 0) {\n return {\n title: props.noData,\n img: \"\",\n uid: 2,\n content: \"\",\n component: null,\n layoutRatio: \"50/50\"\n };\n }\n return props.slides[currentIndex.value];\n});\n\n//nested components \nconst dynamicComponents = import.meta.glob(\n '../{basics,educationals,charts,forms,interactions,signages,medias}/**/*.vue'\n) as Record<string, () => Promise<{ default: any }>>;\n\nfunction resolveAsyncByName(name: string) {\n for (const [path, loader] of Object.entries(dynamicComponents)) {\n if (path.endsWith(`/${name}.vue`)) {\n // ensure the loader returns the component itself (module.default)\n return defineAsyncComponent(() => loader().then((m) => m.default));\n }\n }\n return null\n}\n\nconst currentSlideMediaContent = computed(() => {\n if (currentSlide.value.img) {\n //EFFACER UNE FOIS TOUS LES COURS ONT ÉTÉ MIGRÉS \n return defineAsyncComponent(() => import(\"../basics/EpImg.vue\"));\n }\n if (currentSlide.value.component) {\n const { name } = useComponent(currentSlide.value.component.type)\n return resolveAsyncByName(name)\n }\n return null\n});\n\n//col system and render slide \nconst layoutMode = computed(() => {\n const slide = currentSlide.value;\n const hasMedia = !!(slide.img || slide.component);\n const hasContent = !!(slide.content && slide.content.trim());\n return {\n type: hasMedia && hasContent ? 'two-cols'\n : hasMedia ? 'media-only'\n : hasContent ? 'content-only'\n : 'empty',\n hasMedia,\n hasContent,\n switchCol: slide.switchCol || false,\n gap: slide.gap || 'gap-6', // default gap\n leftCol: slide.leftCol || 'w-1/2' // default 50/50\n };\n});\n\n\n//rigth col based on left \nconst getRightColWidth = computed(() => {\n const leftCol = layoutMode.value.leftCol as SizeCols;\n\n // Map left width to corresponding right width\n const widthMap: Record<SizeCols, string> = {\n 'w-1/5': 'w-4/5',\n 'w-2/5': 'w-3/5',\n 'w-3/5': 'w-2/5',\n 'w-4/5': 'w-1/5',\n 'w-full': 'w-1/2' // 50/50\n };\n\n return widthMap[leftCol];\n});\n\n// Title size classes\nconst getTitleClasses = computed(() => {\n const base = 'font-bold ep-text-primary mb-3'\n switch (props.titleSize) {\n case 'sm': return `${base} text-xl`\n case 'lg': return `${base} text-4xl`\n case 'md':\n default: return `${base} text-2xl`\n }\n});\n\n\n\n\n\n\n//control navigation \nconst currentIndex = ref(0);\nconst max = computed(() => currentIndex.value < props.slides.length - 1);\n\nconst next = async () => {\n isLoading.value = true;\n if (max.value) {\n currentIndex.value += 1;\n }\n isLoading.value = false;\n};\n\nconst prev = async () => {\n isLoading.value = true;\n if (currentIndex.value > 0) {\n currentIndex.value -= 1;\n }\n isLoading.value = false;\n};\n\nconst goTo = (index: number) => (currentIndex.value = index);\n\n\n</script>\n\n<template>\n <div\n class=\"relative h-[600px] flex flex-col p-6 w-full overflow-hidden rounded-lg shadow-xl bg-surface-2 dark:bg-surface-2-dark\">\n <!-- Header section with navigation -->\n <div class=\"flex justify-between items-center pb-3 mb-3 border-b-2 border-gray-600 dark:border-gray-300\">\n <h5 :class=\"getTitleClasses\">{{ currentSlide.title }}</h5>\n <div class=\"flex items-center space-x-3\" v-if=\"props.slides.length\">\n <!-- Bullets -->\n <div class=\"flex space-x-2\">\n <span v-for=\"(_, i) in props.slides.length\" :key=\"`slide-index-${i}`\" @click=\"goTo(i)\" :class=\"[\n 'w-2 h-2 rounded-full cursor-pointer',\n i === currentIndex ? 'bg-primary' : 'bg-surface-2-dark dark:bg-surface-2',\n ]\" />\n </div>\n\n <!-- Controls -->\n <div class=\"flex space-x-2\">\n <button class=\"nav-btn\" @click=\"prev\" :disabled=\"currentIndex === 0\">\n <EpIcon :icon-path=\"mdiArrowLeft\" size=\"24\" />\n </button>\n <button class=\"nav-btn\" @click=\"next\" :disabled=\"!max\">\n <EpIcon :icon-path=\"mdiArrowRight\" size=\"24\" />\n </button>\n </div>\n <span class=\"text-sm\">{{ currentIndex + 1 }} / {{ props.slides.length }}</span>\n </div>\n </div>\n\n <!-- Slider content -->\n <div class=\"flex flex-1 min-h-0 justify-center overflow-hidden\">\n <transition name=\"slide-fade\" mode=\"out-in\">\n <div class=\"flex w-full h-full\" :class=\"[\n layoutMode.type === 'two-cols' && !layoutMode.switchCol ? `flex-row ${layoutMode.gap}` : '',\n layoutMode.type === 'two-cols' && layoutMode.switchCol ? `flex-row-reverse ${layoutMode.gap}` : '',\n layoutMode.type !== 'two-cols' ? 'justify-center items-center' : ''\n ]\">\n <!-- Media column (left when normal, right when switched) -->\n <div v-if=\"layoutMode.hasMedia\" :class=\"layoutMode.type === 'two-cols'\n ? (layoutMode.switchCol ? getRightColWidth : layoutMode.leftCol)\n : 'w-full'\">\n <template v-if=\"currentSlide.component\">\n <Suspense>\n <component :is=\"currentSlideMediaContent\" v-bind=\"{ ...currentSlide.component.data }\"\n class=\"max-h-full max-w-full object-contain\" />\n <template #fallback>{{ loading }}</template>\n </Suspense>\n </template>\n </div>\n\n <!-- Content column (right when normal, left when switched) -->\n <div v-if=\"layoutMode.hasContent\" :class=\"[\n 'h-full',\n layoutMode.type === 'two-cols'\n ? (layoutMode.switchCol ? layoutMode.leftCol : getRightColWidth)\n : 'w-full'\n ]\">\n <div class=\"h-full overflow-y-auto overflow-x-hidden pr-2\" :key=\"currentSlide.uid\">\n <RenderTextNode :content=\"currentSlide.content\"/>\n </div>\n </div>\n </div>\n </transition>\n </div>\n\n <!-- Progress bar -->\n <div class=\"mt-4 h-2 w-full bg-gray-300 rounded-full flex-shrink-0\">\n <div class=\"bg-primary h-full rounded-full transition-all duration-300\" :style=\"{\n width: ((currentIndex + 1) / props.slides.length) * 100 + '%',\n }\" />\n </div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_Fragment","_renderList","_normalizeClass","_createVNode","EpIcon","_unref","_Transition","_createBlock","_Suspense","loading","_resolveDynamicComponent","_mergeProps","RenderTextNode","_normalizeStyle"],"mappings":"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"}
1
+ {"version":3,"file":"EpContentSlider.vue.js","sources":["../../../src/components/interactions/EpContentSlider.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n ref,\n computed,\n defineAsyncComponent,\n} from \"vue\";\nimport { useComponent } from \"~/composables/useComponent\";\nimport { mdiArrowLeft, mdiArrowRight } from \"@mdi/js\";\nimport EpIcon from \"~/components/basics/EpIcon.vue\";\nimport type { EpContentSliderProps } from \"~/types/interactions/EpContentSlider\";\nimport { type SlidesType, type SizeCols } from \"~/types/Slides\";\nimport RenderTextNode from \"~/components/tools/RenderTextNode.vue\";\nconst props = withDefaults(defineProps<EpContentSliderProps>(), {\n loading: \"...loading\",\n noData: \"No data available\",\n mediaPosition: \"left\",\n titleSize: \"md\"\n});\n\nconst isLoading = ref(false);\n\n//slide information\nconst currentSlide = computed<SlidesType>(() => {\n if (!props.slides || props.slides.length === 0) {\n return {\n title: props.noData,\n img: \"\",\n uid: 2,\n content: \"\",\n component: null,\n layoutRatio: \"50/50\"\n };\n }\n return props.slides[currentIndex.value];\n});\n\n//nested components \nconst dynamicComponents = import.meta.glob(\n '../{basics,educationals,charts,forms,interactions,signages,medias}/**/*.vue'\n) as Record<string, () => Promise<{ default: any }>>;\n\nfunction resolveAsyncByName(name: string) {\n for (const [path, loader] of Object.entries(dynamicComponents)) {\n if (path.endsWith(`/${name}.vue`)) {\n // ensure the loader returns the component itself (module.default)\n return defineAsyncComponent(() => loader().then((m) => m.default));\n }\n }\n return null\n}\n\nconst currentSlideMediaContent = computed(() => {\n if (currentSlide.value.img) {\n //EFFACER UNE FOIS TOUS LES COURS ONT ÉTÉ MIGRÉS \n return defineAsyncComponent(() => import(\"../basics/EpImg.vue\"));\n }\n if (currentSlide.value.component) {\n const { name } = useComponent(currentSlide.value.component.type)\n return resolveAsyncByName(name)\n }\n return null\n});\n\n//col system and render slide \nconst layoutMode = computed(() => {\n const slide = currentSlide.value;\n const hasMedia = !!(slide.img || slide.component);\n const hasContent = !!(slide.content && slide.content.trim());\n return {\n type: hasMedia && hasContent ? 'two-cols'\n : hasMedia ? 'media-only'\n : hasContent ? 'content-only'\n : 'empty',\n hasMedia,\n hasContent,\n switchCol: slide.switchCol || false,\n gap: slide.gap || 'gap-6', // default gap\n leftCol: slide.leftCol || 'w-1/2' // default 50/50\n };\n});\n\n\n//rigth col based on left \nconst getRightColWidth = computed(() => {\n const leftCol = layoutMode.value.leftCol as SizeCols;\n\n // Map left width to corresponding right width\n const widthMap: Record<SizeCols, string> = {\n 'w-1/5': 'w-4/5',\n 'w-2/5': 'w-3/5',\n 'w-3/5': 'w-2/5',\n 'w-4/5': 'w-1/5',\n 'w-full': 'w-1/2' // 50/50\n };\n\n return widthMap[leftCol];\n});\n\n// Title size classes\nconst getTitleClasses = computed(() => {\n const base = 'font-bold ep-text-primary mb-3'\n switch (props.titleSize) {\n case 'sm': return `${base} text-xl`\n case 'lg': return `${base} text-4xl`\n case 'md':\n default: return `${base} text-2xl`\n }\n});\n\n\n\n\n\n\n//control navigation \nconst currentIndex = ref(0);\nconst max = computed(() => currentIndex.value < props.slides.length - 1);\n\nconst next = async () => {\n isLoading.value = true;\n if (max.value) {\n currentIndex.value += 1;\n }\n isLoading.value = false;\n};\n\nconst prev = async () => {\n isLoading.value = true;\n if (currentIndex.value > 0) {\n currentIndex.value -= 1;\n }\n isLoading.value = false;\n};\n\nconst goTo = (index: number) => (currentIndex.value = index);\n\n\n</script>\n\n<template>\n <div\n class=\"relative h-[600px] flex flex-col p-6 w-full overflow-hidden rounded-lg shadow-xl bg-surface-2 dark:bg-surface-2-dark\">\n <!-- Header section with navigation -->\n <div class=\"flex justify-between items-center pb-3 mb-3 border-b-2 border-gray-600 dark:border-gray-300\">\n <h5 :class=\"getTitleClasses\">{{ currentSlide.title }}</h5>\n <div class=\"flex items-center space-x-3\" v-if=\"props.slides.length\">\n <!-- Bullets -->\n <div class=\"flex space-x-2\">\n <span v-for=\"(_, i) in props.slides.length\" :key=\"`slide-index-${i}`\" @click=\"goTo(i)\" :class=\"[\n 'w-2 h-2 rounded-full cursor-pointer',\n i === currentIndex ? 'bg-primary' : 'bg-surface-2-dark dark:bg-surface-2',\n ]\" />\n </div>\n\n <!-- Controls -->\n <div class=\"flex space-x-2\">\n <button class=\"nav-btn\" @click=\"prev\" :disabled=\"currentIndex === 0\">\n <EpIcon :icon-path=\"mdiArrowLeft\" size=\"24\" />\n </button>\n <button class=\"nav-btn\" @click=\"next\" :disabled=\"!max\">\n <EpIcon :icon-path=\"mdiArrowRight\" size=\"24\" />\n </button>\n </div>\n <span class=\"text-sm\">{{ currentIndex + 1 }} / {{ props.slides.length }}</span>\n </div>\n </div>\n\n <!-- Slider content -->\n <div class=\"flex flex-1 min-h-0 justify-center overflow-hidden\">\n <transition name=\"slide-fade\" mode=\"out-in\">\n <div class=\"flex w-full h-full\" :class=\"[\n layoutMode.type === 'two-cols' && !layoutMode.switchCol ? `flex-row ${layoutMode.gap}` : '',\n layoutMode.type === 'two-cols' && layoutMode.switchCol ? `flex-row-reverse ${layoutMode.gap}` : '',\n layoutMode.type !== 'two-cols' ? 'justify-center items-center' : ''\n ]\">\n <!-- Media column (left when normal, right when switched) -->\n <div v-if=\"layoutMode.hasMedia\" :class=\"layoutMode.type === 'two-cols'\n ? (layoutMode.switchCol ? getRightColWidth : layoutMode.leftCol)\n : 'w-full'\">\n <template v-if=\"currentSlide.component\">\n <Suspense>\n <component :is=\"currentSlideMediaContent\" v-bind=\"{ ...currentSlide.component.data }\"\n class=\"max-h-full max-w-full object-contain\" />\n <template #fallback>{{ loading }}</template>\n </Suspense>\n </template>\n </div>\n\n <!-- Content column (right when normal, left when switched) -->\n <div v-if=\"layoutMode.hasContent\" :class=\"[\n 'h-full',\n layoutMode.type === 'two-cols'\n ? (layoutMode.switchCol ? layoutMode.leftCol : getRightColWidth)\n : 'w-full'\n ]\">\n <div class=\"h-full overflow-y-auto overflow-x-hidden pr-2\" :key=\"currentSlide.uid\">\n <RenderTextNode :content=\"currentSlide.content\"/>\n </div>\n </div>\n </div>\n </transition>\n </div>\n\n <!-- Progress bar -->\n <div class=\"mt-4 h-2 w-full bg-gray-300 rounded-full flex-shrink-0\">\n <div class=\"bg-primary h-full rounded-full transition-all duration-300\" :style=\"{\n width: ((currentIndex + 1) / props.slides.length) * 100 + '%',\n }\" />\n </div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_Fragment","_renderList","_normalizeClass","_createVNode","EpIcon","_unref","_Transition","_createBlock","_Suspense","loading","_resolveDynamicComponent","_mergeProps","RenderTextNode","_normalizeStyle"],"mappings":"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"}
@@ -102,7 +102,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
102
102
  return defineAsyncComponent(() => import("../signages/EpNothing.vue.js"));
103
103
  }
104
104
  return defineAsyncComponent(
105
- () => __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../basics/EpAvatar.vue": () => import("../basics/EpAvatar.vue.js"), "../basics/EpBadge.vue": () => import("../basics/EpBadge.vue.js"), "../basics/EpBtn.vue": () => import("../basics/EpBtn.vue2.js"), "../basics/EpCard.vue": () => import("../basics/EpCard.vue2.js"), "../basics/EpChip.vue": () => import("../basics/EpChip.vue2.js"), "../basics/EpDivider.vue": () => import("../basics/EpDivider.vue2.js"), "../basics/EpFlex.vue": () => import("../basics/EpFlex.vue2.js"), "../basics/EpHover.vue": () => import("../basics/EpHover.vue2.js"), "../basics/EpHoverCard.vue": () => import("../basics/EpHoverCard.vue2.js"), "../basics/EpIcon.vue": () => import("../basics/EpIcon.vue2.js"), "../basics/EpImg.vue": () => import("../basics/EpImg.vue2.js"), "../basics/EpImgCarousel.vue": () => import("../basics/EpImgCarousel.vue2.js"), "../basics/EpList.vue": () => import("../basics/EpList.vue.js"), "../basics/EpListItem.vue": () => import("../basics/EpListItem.vue2.js"), "../basics/EpSection.vue": () => import("../basics/EpSection.vue2.js"), "../basics/EpSectionCols.vue": () => import("../basics/EpSectionCols.vue2.js"), "../basics/EpSpinner.vue": () => import("../basics/EpSpinner.vue2.js"), "../basics/EpStackedList.vue": () => import("../basics/EpStackedList.vue2.js"), "../basics/EpTable.vue": () => import("../basics/EpTable.vue2.js"), "../basics/EpText.vue": () => import("../basics/EpText.vue2.js"), "../charts/EpBarChart.vue": () => import("../charts/EpBarChart.vue2.js"), "../charts/EpFunnelChart.vue": () => import("../charts/EpFunnelChart.vue2.js"), "../charts/EpLineChart.vue": () => import("../charts/EpLineChart.vue2.js"), "../charts/EpPieChart.vue": () => import("../charts/EpPieChart.vue2.js"), "../educationals/EpBranchingScenario.vue": () => import("../educationals/EpBranchingScenario.vue.js"), "../educationals/EpCodeblock.vue": () => import("../educationals/EpCodeblock.vue3.js"), "../educationals/EpConclusion.vue": () => import("../educationals/EpConclusion.vue2.js"), "../educationals/EpDescription.vue": () => import("../educationals/EpDescription.vue2.js"), "../educationals/EpDocument.vue": () => import("../educationals/EpDocument.vue2.js"), "../educationals/EpEdu.vue": () => import("../educationals/EpEdu.vue2.js"), "../educationals/EpFillBlanks.vue": () => import("../educationals/EpFillBlanks.vue2.js"), "../educationals/EpInstructions.vue": () => import("../educationals/EpInstructions.vue2.js"), "../educationals/EpIntroduction.vue": () => import("../educationals/EpIntroduction.vue2.js"), "../educationals/EpObjective.vue": () => import("../educationals/EpObjective.vue2.js"), "../educationals/EpReading.vue": () => import("../educationals/EpReading.vue2.js"), "../educationals/EpResource.vue": () => import("../educationals/EpResource.vue2.js"), "../educationals/EpScope.vue": () => import("../educationals/EpScope.vue2.js"), "../educationals/EpSegmentedBox.vue": () => import("../educationals/EpSegmentedBox.vue2.js"), "../educationals/EpSpecificObjective.vue": () => import("../educationals/EpSpecificObjective.vue2.js"), "../forms/EpCheckbox.vue": () => import("../forms/EpCheckbox.vue.js"), "../forms/EpInput.vue": () => import("../forms/EpInput.vue.js"), "../forms/EpRadio.vue": () => import("../forms/EpRadio.vue.js"), "../forms/EpRadioSummative.vue": () => import("../forms/EpRadioSummative.vue2.js"), "../forms/EpSelect.vue": () => import("../forms/EpSelect.vue2.js"), "../forms/EpSwitch.vue": () => import("../forms/EpSwitch.vue.js"), "../forms/EpTextarea.vue": () => import("../forms/EpTextarea.vue.js"), "../forms/EpToggle.vue": () => import("../forms/EpToggle.vue.js"), "./Ep360Image.vue": () => import("./Ep360Image.vue.js"), "./Ep360Video.vue": () => import("./Ep360Video.vue.js"), "./EpAccordeon.vue": () => import("./EpAccordeon.vue.js"), "./EpAssociation.vue": () => import("./EpAssociation.vue2.js"), "./EpContentSlider.vue": () => import("./EpContentSlider.vue2.js"), "./EpDarkMode.vue": () => import("./EpDarkMode.vue2.js"), "./EpDraggable.vue": () => import("./EpDraggable.vue2.js"), "./EpFlipCard.vue": () => import("./EpFlipCard.vue.js"), "./EpHotSpot.vue": () => import("./EpHotSpot.vue2.js"), "./EpImageCompare.vue": () => import("./EpImageCompare.vue2.js"), "./EpModal.vue": () => import("./EpModal.vue3.js"), "./EpQuestion.vue": () => import("./EpQuestion.vue2.js"), "./EpSummativeTable.vue": () => import("./EpSummativeTable.vue2.js"), "./EpSvgShow.vue": () => import("./EpSvgShow.vue2.js"), "./EpTabs.vue": () => import("./EpTabs.vue.js"), "./EpTooltip.vue": () => import("./EpTooltip.vue2.js"), "../medias/EpAudio.vue": () => import("../medias/EpAudio.vue2.js"), "../medias/EpCardLink.vue": () => import("../medias/EpCardLink.vue2.js"), "../medias/EpCarousel.vue": () => import("../medias/EpCarousel.vue2.js"), "../medias/EpHierarchy.vue": () => import("../medias/EpHierarchy.vue.js"), "../medias/EpIframe.vue": () => import("../medias/EpIframe.vue2.js"), "../medias/EpKatex.vue": () => import("../medias/EpKatex.vue.js"), "../medias/EpLink.vue": () => import("../medias/EpLink.vue2.js"), "../medias/EpLinkVersion.vue": () => import("../medias/EpLinkVersion.vue2.js"), "../medias/EpLottieSvg.vue": () => import("../medias/EpLottieSvg.vue2.js"), "../medias/EpSensibleImage.vue": () => import("../medias/EpSensibleImage.vue.js"), "../medias/EpSoftware.vue": () => import("../medias/EpSoftware.vue2.js"), "../medias/EpSvg.vue": () => import("../medias/EpSvg.vue2.js"), "../medias/EpTerm.vue": () => import("../medias/EpTerm.vue2.js"), "../medias/EpTimeLine.vue": () => import("../medias/EpTimeLine.vue.js"), "../medias/EpVideo.vue": () => import("../medias/EpVideo.vue2.js"), "../medias/EpVideoPanopto.vue": () => import("../medias/EpVideoPanopto.vue2.js"), "../medias/EpWordDef.vue": () => import("../medias/EpWordDef.vue2.js"), "../signages/EpAlert.vue": () => import("../signages/EpAlert.vue.js"), "../signages/EpBadge.vue": () => import("../signages/EpBadge.vue2.js"), "../signages/EpHeader.vue": () => import("../signages/EpHeader.vue2.js"), "../signages/EpNothing.vue": () => import("../signages/EpNothing.vue.js"), "../signages/EpQuote.vue": () => import("../signages/EpQuote.vue2.js"), "../signages/EpSkeleton.vue": () => import("../signages/EpSkeleton.vue.js"), "../tools/AssociationNode.vue": () => import("../tools/AssociationNode.vue2.js"), "../tools/AsyncKatexRender.vue": () => import("../tools/AsyncKatexRender.vue.js"), "../tools/BgAudio.vue": () => import("../tools/BgAudio.vue2.js"), "../tools/Details.vue": () => import("../tools/Details.vue2.js"), "../tools/DisplayBox.vue": () => import("../tools/DisplayBox.vue.js"), "../tools/RenderTextNode.vue": () => import("../tools/RenderTextNode.vue2.js"), "../tools/SegmentedBox.vue": () => import("../tools/SegmentedBox.vue2.js"), "../tools/SvgFilter.vue": () => import("../tools/SvgFilter.vue.js"), "../tools/TextMedia.vue": () => import("../tools/TextMedia.vue2.js"), "../tools/TimelineItem.vue": () => import("../tools/TimelineItem.vue.js"), "../tools/TwoColsMedia.vue": () => import("../tools/TwoColsMedia.vue.js") }), `../${componentToLoad.path}/${componentToLoad.name}.vue`, 3)
105
+ () => __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../basics/EpAvatar.vue": () => import("../basics/EpAvatar.vue.js"), "../basics/EpBadge.vue": () => import("../basics/EpBadge.vue.js"), "../basics/EpBtn.vue": () => import("../basics/EpBtn.vue2.js"), "../basics/EpCard.vue": () => import("../basics/EpCard.vue2.js"), "../basics/EpChip.vue": () => import("../basics/EpChip.vue2.js"), "../basics/EpDivider.vue": () => import("../basics/EpDivider.vue2.js"), "../basics/EpFlex.vue": () => import("../basics/EpFlex.vue2.js"), "../basics/EpHover.vue": () => import("../basics/EpHover.vue2.js"), "../basics/EpHoverCard.vue": () => import("../basics/EpHoverCard.vue2.js"), "../basics/EpIcon.vue": () => import("../basics/EpIcon.vue2.js"), "../basics/EpImg.vue": () => import("../basics/EpImg.vue2.js"), "../basics/EpImgCarousel.vue": () => import("../basics/EpImgCarousel.vue2.js"), "../basics/EpList.vue": () => import("../basics/EpList.vue.js"), "../basics/EpListItem.vue": () => import("../basics/EpListItem.vue2.js"), "../basics/EpSection.vue": () => import("../basics/EpSection.vue2.js"), "../basics/EpSectionCols.vue": () => import("../basics/EpSectionCols.vue2.js"), "../basics/EpSpinner.vue": () => import("../basics/EpSpinner.vue2.js"), "../basics/EpStackedList.vue": () => import("../basics/EpStackedList.vue2.js"), "../basics/EpTable.vue": () => import("../basics/EpTable.vue2.js"), "../basics/EpText.vue": () => import("../basics/EpText.vue2.js"), "../charts/EpBarChart.vue": () => import("../charts/EpBarChart.vue2.js"), "../charts/EpFunnelChart.vue": () => import("../charts/EpFunnelChart.vue2.js"), "../charts/EpLineChart.vue": () => import("../charts/EpLineChart.vue2.js"), "../charts/EpPieChart.vue": () => import("../charts/EpPieChart.vue2.js"), "../educationals/EpBranchingScenario.vue": () => import("../educationals/EpBranchingScenario.vue.js"), "../educationals/EpCodeblock.vue": () => import("../educationals/EpCodeblock.vue3.js"), "../educationals/EpConclusion.vue": () => import("../educationals/EpConclusion.vue2.js"), "../educationals/EpDescription.vue": () => import("../educationals/EpDescription.vue2.js"), "../educationals/EpDocument.vue": () => import("../educationals/EpDocument.vue2.js"), "../educationals/EpEdu.vue": () => import("../educationals/EpEdu.vue2.js"), "../educationals/EpFillBlanks.vue": () => import("../educationals/EpFillBlanks.vue2.js"), "../educationals/EpInstructions.vue": () => import("../educationals/EpInstructions.vue2.js"), "../educationals/EpIntroduction.vue": () => import("../educationals/EpIntroduction.vue2.js"), "../educationals/EpObjective.vue": () => import("../educationals/EpObjective.vue2.js"), "../educationals/EpReading.vue": () => import("../educationals/EpReading.vue2.js"), "../educationals/EpResource.vue": () => import("../educationals/EpResource.vue2.js"), "../educationals/EpScope.vue": () => import("../educationals/EpScope.vue2.js"), "../educationals/EpSegmentedBox.vue": () => import("../educationals/EpSegmentedBox.vue2.js"), "../educationals/EpSpecificObjective.vue": () => import("../educationals/EpSpecificObjective.vue2.js"), "../forms/EpCheckbox.vue": () => import("../forms/EpCheckbox.vue.js"), "../forms/EpInput.vue": () => import("../forms/EpInput.vue.js"), "../forms/EpRadio.vue": () => import("../forms/EpRadio.vue.js"), "../forms/EpRadioSummative.vue": () => import("../forms/EpRadioSummative.vue.js"), "../forms/EpSelect.vue": () => import("../forms/EpSelect.vue2.js"), "../forms/EpSwitch.vue": () => import("../forms/EpSwitch.vue.js"), "../forms/EpTextarea.vue": () => import("../forms/EpTextarea.vue.js"), "../forms/EpToggle.vue": () => import("../forms/EpToggle.vue.js"), "./Ep360Image.vue": () => import("./Ep360Image.vue.js"), "./Ep360Video.vue": () => import("./Ep360Video.vue.js"), "./EpAccordeon.vue": () => import("./EpAccordeon.vue.js"), "./EpAssociation.vue": () => import("./EpAssociation.vue2.js"), "./EpContentSlider.vue": () => import("./EpContentSlider.vue2.js"), "./EpDarkMode.vue": () => import("./EpDarkMode.vue2.js"), "./EpDraggable.vue": () => import("./EpDraggable.vue2.js"), "./EpFlipCard.vue": () => import("./EpFlipCard.vue.js"), "./EpHotSpot.vue": () => import("./EpHotSpot.vue2.js"), "./EpImageCompare.vue": () => import("./EpImageCompare.vue2.js"), "./EpModal.vue": () => import("./EpModal.vue3.js"), "./EpQuestion.vue": () => import("./EpQuestion.vue2.js"), "./EpSummativeTable.vue": () => import("./EpSummativeTable.vue2.js"), "./EpSvgShow.vue": () => import("./EpSvgShow.vue2.js"), "./EpTabs.vue": () => import("./EpTabs.vue.js"), "./EpTooltip.vue": () => import("./EpTooltip.vue2.js"), "../medias/EpAudio.vue": () => import("../medias/EpAudio.vue2.js"), "../medias/EpCardLink.vue": () => import("../medias/EpCardLink.vue2.js"), "../medias/EpCarousel.vue": () => import("../medias/EpCarousel.vue2.js"), "../medias/EpHierarchy.vue": () => import("../medias/EpHierarchy.vue.js"), "../medias/EpIframe.vue": () => import("../medias/EpIframe.vue2.js"), "../medias/EpKatex.vue": () => import("../medias/EpKatex.vue.js"), "../medias/EpLink.vue": () => import("../medias/EpLink.vue2.js"), "../medias/EpLinkVersion.vue": () => import("../medias/EpLinkVersion.vue2.js"), "../medias/EpLottieSvg.vue": () => import("../medias/EpLottieSvg.vue2.js"), "../medias/EpPlaylist.vue": () => import("../medias/EpPlaylist.vue2.js"), "../medias/EpSensibleImage.vue": () => import("../medias/EpSensibleImage.vue.js"), "../medias/EpSoftware.vue": () => import("../medias/EpSoftware.vue2.js"), "../medias/EpSvg.vue": () => import("../medias/EpSvg.vue2.js"), "../medias/EpTerm.vue": () => import("../medias/EpTerm.vue2.js"), "../medias/EpTimeLine.vue": () => import("../medias/EpTimeLine.vue.js"), "../medias/EpVideo.vue": () => import("../medias/EpVideo.vue2.js"), "../medias/EpVideoPanopto.vue": () => import("../medias/EpVideoPanopto.vue2.js"), "../medias/EpWordDef.vue": () => import("../medias/EpWordDef.vue2.js"), "../signages/EpAlert.vue": () => import("../signages/EpAlert.vue.js"), "../signages/EpBadge.vue": () => import("../signages/EpBadge.vue2.js"), "../signages/EpHeader.vue": () => import("../signages/EpHeader.vue2.js"), "../signages/EpNothing.vue": () => import("../signages/EpNothing.vue.js"), "../signages/EpQuote.vue": () => import("../signages/EpQuote.vue2.js"), "../signages/EpSkeleton.vue": () => import("../signages/EpSkeleton.vue.js"), "../tools/AssociationNode.vue": () => import("../tools/AssociationNode.vue.js"), "../tools/AsyncKatexRender.vue": () => import("../tools/AsyncKatexRender.vue.js"), "../tools/BgAudio.vue": () => import("../tools/BgAudio.vue.js"), "../tools/Details.vue": () => import("../tools/Details.vue.js"), "../tools/DisplayBox.vue": () => import("../tools/DisplayBox.vue.js"), "../tools/RenderTextNode.vue": () => import("../tools/RenderTextNode.vue2.js"), "../tools/SegmentedBox.vue": () => import("../tools/SegmentedBox.vue.js"), "../tools/SvgFilter.vue": () => import("../tools/SvgFilter.vue.js"), "../tools/TextMedia.vue": () => import("../tools/TextMedia.vue.js"), "../tools/TimelineItem.vue": () => import("../tools/TimelineItem.vue.js"), "../tools/TwoColsMedia.vue": () => import("../tools/TwoColsMedia.vue.js") }), `../${componentToLoad.path}/${componentToLoad.name}.vue`, 3)
106
106
  );
107
107
  };
108
108
  const { title, hideIcon, question, src } = toRefs(props);