ep-lib-ts 1.0.92 → 1.0.96

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.
@@ -1,4 +1,58 @@
1
- import _sfc_main from "./EpAvatar.vue2.js";
1
+ import { defineComponent, computed, createElementBlock, openBlock, createCommentVNode, createElementVNode, normalizeClass, toDisplayString } from "vue";
2
+ import { typeAvatar } from "../../types/Avatar.js";
3
+ import useColors from "../../composables/useColors.js";
4
+ const _hoisted_1 = { key: 0 };
5
+ const _hoisted_2 = ["src", "alt"];
6
+ const _hoisted_3 = { key: 1 };
7
+ const _sfc_main = /* @__PURE__ */ defineComponent({
8
+ __name: "EpAvatar",
9
+ props: {
10
+ src: { default: "" },
11
+ alt: { default: "" },
12
+ color: { default: "primary" },
13
+ size: { default: "small" },
14
+ variant: { default: "circle" },
15
+ name: { default: "" }
16
+ },
17
+ setup(__props) {
18
+ const props = __props;
19
+ const style = computed(() => {
20
+ return props.variant;
21
+ });
22
+ const size = computed(() => {
23
+ return props.size;
24
+ });
25
+ const final_style = computed(() => {
26
+ var _a;
27
+ return `${(_a = typeAvatar[style.value]) == null ? void 0 : _a[size.value]}`;
28
+ });
29
+ const bgcolor = computed(() => {
30
+ return useColors(props.color);
31
+ });
32
+ const final_name = computed(() => {
33
+ if (props.name.length > 2) {
34
+ return props.name.slice(0, 2);
35
+ } else {
36
+ return props.name;
37
+ }
38
+ });
39
+ return (_ctx, _cache) => {
40
+ return openBlock(), createElementBlock("div", null, [
41
+ props.src != "" ? (openBlock(), createElementBlock("div", _hoisted_1, [
42
+ createElementVNode("img", {
43
+ src: props.src,
44
+ alt: props.alt,
45
+ class: normalizeClass(`${final_style.value} `)
46
+ }, null, 10, _hoisted_2)
47
+ ])) : props.src == "" ? (openBlock(), createElementBlock("div", _hoisted_3, [
48
+ createElementVNode("div", {
49
+ class: normalizeClass(`${final_style.value} ${bgcolor.value} justify-center font-bold text-white flex items-center`)
50
+ }, toDisplayString(final_name.value), 3)
51
+ ])) : createCommentVNode("", true)
52
+ ]);
53
+ };
54
+ }
55
+ });
2
56
  export {
3
57
  _sfc_main as default
4
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"EpAvatar.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"EpAvatar.vue.js","sources":["../../../src/components/basics/EpAvatar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { typeAvatar } from \"../../types/Avatar\";\nimport type { EpAvatarProps } from \"../../types/basics/EpAvatar\";\nimport useColors from \"../../composables/useColors\";\n\n// define parameter and default valule\nconst props = withDefaults(defineProps<EpAvatarProps>(), {\n src: \"\",\n alt: \"\",\n color: \"primary\",\n size: \"small\",\n variant: \"circle\",\n name: \"\",\n});\n\nconst style = computed(() => {\n return props.variant;\n});\n\nconst size = computed(() => {\n return props.size;\n});\n\nconst final_style = computed(() => {\n return `${typeAvatar[style.value]?.[size.value]}`;\n});\n\nconst bgcolor = computed(() => {\n return useColors(props.color);\n});\n\nconst final_name = computed(() => {\n if (props.name.length > 2) {\n return props.name.slice(0, 2);\n } else {\n return props.name;\n }\n});\n</script>\n<template>\n <div>\n <div v-if=\"props.src != ''\">\n <img :src=\"props.src\" :alt=\"props.alt\" :class=\"`${final_style} `\" />\n </div>\n <div v-else-if=\"props.src == ''\">\n <div\n :class=\"`${final_style} ${bgcolor} justify-center font-bold text-white flex items-center`\"\n >\n {{ final_name }}\n </div>\n </div>\n </div>\n</template>\n"],"names":["_createElementBlock","_createElementVNode","_normalizeClass"],"mappings":";;;;;;;;;;;;;;;;;AAOA,UAAM,QAAQ;AASd,UAAM,QAAQ,SAAS,MAAM;AACzB,aAAO,MAAM;AAAA,IACjB,CAAC;AAED,UAAM,OAAO,SAAS,MAAM;AACxB,aAAO,MAAM;AAAA,IACjB,CAAC;AAED,UAAM,cAAc,SAAS,MAAM;;AAC/B,aAAO,IAAG,gBAAW,MAAM,KAAK,MAAtB,mBAA0B,KAAK,MAAM;AAAA,IACnD,CAAC;AAED,UAAM,UAAU,SAAS,MAAM;AAC3B,aAAO,UAAU,MAAM,KAAK;AAAA,IAChC,CAAC;AAED,UAAM,aAAa,SAAS,MAAM;AAC9B,UAAI,MAAM,KAAK,SAAS,GAAG;AACvB,eAAO,MAAM,KAAK,MAAM,GAAG,CAAC;AAAA,MAChC,OAAO;AACH,eAAO,MAAM;AAAA,MACjB;AAAA,IACJ,CAAC;;0BAGGA,mBAWM,OAAA,MAAA;AAAA,QAVS,MAAM,OAAG,mBAApBA,mBAEM,OAAA,YAAA;AAAA,UADFC,mBAAoE,OAAA;AAAA,YAA9D,KAAK,MAAM;AAAA,YAAM,KAAK,MAAM;AAAA,YAAM,yBAAU,YAAA,KAAW,GAAA;AAAA,UAAA;cAEjD,MAAM,OAAG,mBAAzBD,mBAMM,OAAA,YAAA;AAAA,UALFC,mBAIM,OAAA;AAAA,YAHD,OAAKC,eAAA,GAAK,YAAA,KAAW,KAAK,QAAA,KAAO,yDAAA;AAAA,UAAA,mBAE/B,WAAA,KAAU,GAAA,CAAA;AAAA,QAAA;;;;;"}
@@ -1,58 +1,4 @@
1
- import { defineComponent, computed, createElementBlock, openBlock, createCommentVNode, createElementVNode, normalizeClass, toDisplayString } from "vue";
2
- import { typeAvatar } from "../../types/Avatar.js";
3
- import useColors from "../../composables/useColors.js";
4
- const _hoisted_1 = { key: 0 };
5
- const _hoisted_2 = ["src", "alt"];
6
- const _hoisted_3 = { key: 1 };
7
- const _sfc_main = /* @__PURE__ */ defineComponent({
8
- __name: "EpAvatar",
9
- props: {
10
- src: { default: "" },
11
- alt: { default: "" },
12
- color: { default: "primary" },
13
- size: { default: "small" },
14
- variant: { default: "circle" },
15
- name: { default: "" }
16
- },
17
- setup(__props) {
18
- const props = __props;
19
- const style = computed(() => {
20
- return props.variant;
21
- });
22
- const size = computed(() => {
23
- return props.size;
24
- });
25
- const final_style = computed(() => {
26
- var _a;
27
- return `${(_a = typeAvatar[style.value]) == null ? void 0 : _a[size.value]}`;
28
- });
29
- const bgcolor = computed(() => {
30
- return useColors(props.color);
31
- });
32
- const final_name = computed(() => {
33
- if (props.name.length > 2) {
34
- return props.name.slice(0, 2);
35
- } else {
36
- return props.name;
37
- }
38
- });
39
- return (_ctx, _cache) => {
40
- return openBlock(), createElementBlock("div", null, [
41
- props.src != "" ? (openBlock(), createElementBlock("div", _hoisted_1, [
42
- createElementVNode("img", {
43
- src: props.src,
44
- alt: props.alt,
45
- class: normalizeClass(`${final_style.value} `)
46
- }, null, 10, _hoisted_2)
47
- ])) : props.src == "" ? (openBlock(), createElementBlock("div", _hoisted_3, [
48
- createElementVNode("div", {
49
- class: normalizeClass(`${final_style.value} ${bgcolor.value} justify-center font-bold text-white flex items-center`)
50
- }, toDisplayString(final_name.value), 3)
51
- ])) : createCommentVNode("", true)
52
- ]);
53
- };
54
- }
55
- });
1
+ import _sfc_main from "./EpAvatar.vue.js";
56
2
  export {
57
3
  _sfc_main as default
58
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"EpAvatar.vue2.js","sources":["../../../src/components/basics/EpAvatar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { typeAvatar } from \"~/types/Avatar\";\nimport type { EpAvatarProps } from \"~/types/basics/EpAvatar\";\nimport useColors from \"~/composables/useColors\";\n\n// define parameter and default valule\nconst props = withDefaults(defineProps<EpAvatarProps>(), {\n src: \"\",\n alt: \"\",\n color: \"primary\",\n size: \"small\",\n variant: \"circle\",\n name: \"\",\n});\n\nconst style = computed(() => {\n return props.variant;\n});\n\nconst size = computed(() => {\n return props.size;\n});\n\nconst final_style = computed(() => {\n return `${typeAvatar[style.value]?.[size.value]}`;\n});\n\nconst bgcolor = computed(() => {\n return useColors(props.color);\n});\n\nconst final_name = computed(() => {\n if (props.name.length > 2) {\n return props.name.slice(0, 2);\n } else {\n return props.name;\n }\n});\n</script>\n<template>\n <div>\n <div v-if=\"props.src != ''\">\n <img :src=\"props.src\" :alt=\"props.alt\" :class=\"`${final_style} `\" />\n </div>\n <div v-else-if=\"props.src == ''\">\n <div\n :class=\"`${final_style} ${bgcolor} justify-center font-bold text-white flex items-center`\"\n >\n {{ final_name }}\n </div>\n </div>\n </div>\n</template>\n"],"names":["_createElementBlock","_createElementVNode","_normalizeClass"],"mappings":";;;;;;;;;;;;;;;;;AAOA,UAAM,QAAQ;AASd,UAAM,QAAQ,SAAS,MAAM;AAC3B,aAAO,MAAM;AAAA,IACf,CAAC;AAED,UAAM,OAAO,SAAS,MAAM;AAC1B,aAAO,MAAM;AAAA,IACf,CAAC;AAED,UAAM,cAAc,SAAS,MAAM;;AACjC,aAAO,IAAG,gBAAW,MAAM,KAAK,MAAtB,mBAA0B,KAAK,MAAM;AAAA,IACjD,CAAC;AAED,UAAM,UAAU,SAAS,MAAM;AAC7B,aAAO,UAAU,MAAM,KAAK;AAAA,IAC9B,CAAC;AAED,UAAM,aAAa,SAAS,MAAM;AAChC,UAAI,MAAM,KAAK,SAAS,GAAG;AACzB,eAAO,MAAM,KAAK,MAAM,GAAG,CAAC;AAAA,MAC9B,OAAO;AACL,eAAO,MAAM;AAAA,MACf;AAAA,IACF,CAAC;;0BAGCA,mBAWM,OAAA,MAAA;AAAA,QAVO,MAAM,OAAG,mBAApBA,mBAEM,OAAA,YAAA;AAAA,UADJC,mBAAoE,OAAA;AAAA,YAA9D,KAAK,MAAM;AAAA,YAAM,KAAK,MAAM;AAAA,YAAM,yBAAU,YAAA,KAAW,GAAA;AAAA,UAAA;cAE/C,MAAM,OAAG,mBAAzBD,mBAMM,OAAA,YAAA;AAAA,UALJC,mBAIM,OAAA;AAAA,YAHH,OAAKC,eAAA,GAAK,YAAA,KAAW,KAAK,QAAA,KAAO,yDAAA;AAAA,UAAA,mBAE/B,WAAA,KAAU,GAAA,CAAA;AAAA,QAAA;;;;;"}
1
+ {"version":3,"file":"EpAvatar.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,14 +1,14 @@
1
1
  import { defineComponent, computed, createElementBlock, openBlock, normalizeClass, Fragment, renderList, createBlock, resolveDynamicComponent, mergeProps, withCtx, createElementVNode, createCommentVNode, toDisplayString, unref, createVNode } from "vue";
2
- import _sfc_main$1 from "./EpAvatar.vue2.js";
2
+ import _sfc_main$1 from "./EpAvatar.vue.js";
3
3
  import _sfc_main$2 from "./EpIcon.vue.js";
4
4
  import { useRenderText } from "../../composables/useRenderText.js";
5
5
  import { roundedType } from "../../types/StackedList.js";
6
- const _hoisted_1 = { class: "col-span-5 justify-self-start" };
6
+ const _hoisted_1 = { class: "col-span-1 sm:col-span-5 justify-self-start" };
7
7
  const _hoisted_2 = { class: "font-semibold" };
8
8
  const _hoisted_3 = ["innerHTML"];
9
9
  const _hoisted_4 = {
10
10
  key: 1,
11
- class: "flex gap-2 items-center col-span-4 justify-self-auto"
11
+ class: "flex items-center justify-center sm:justify-start col-span-1 sm:col-span-4"
12
12
  };
13
13
  const _sfc_main = /* @__PURE__ */ defineComponent({
14
14
  __name: "EpStackedList",
@@ -36,26 +36,36 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
36
36
  const elementSpacing = computed(() => props.restricted ? "p-3" : "mx-6 py-4");
37
37
  return (_ctx, _cache) => {
38
38
  return openBlock(), createElementBlock("ul", {
39
- class: normalizeClass(`${className.value} flex flex-col bg-surface-2 dark:bg-surface-2-dark lg:mx-28`)
39
+ class: normalizeClass(`${className.value} border-gray-200 flex flex-col dark:border-slate-700 dark:bg-slate-900 lg:mx-28`)
40
40
  }, [
41
41
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.elements, (elem) => {
42
42
  return openBlock(), createElementBlock("li", {
43
43
  key: _ctx.elements.indexOf(elem),
44
- class: normalizeClass(`${_ctx.elements.indexOf(elem) !== 0 ? "border-t" : ""} list-none`)
44
+ class: normalizeClass(`${_ctx.elements.indexOf(elem) !== 0 ? "border-t" : ""} list-none py-4 sm:py-2`)
45
45
  }, [
46
46
  (openBlock(), createBlock(resolveDynamicComponent(elem.url ? "a" : "div"), mergeProps(
47
47
  { ref_for: true },
48
- elem.url ? { href: elem.url, target: "_blank", rel: "noopener noreferrer" } : {},
48
+ elem.url ? {
49
+ href: elem.url,
50
+ target: "_blank",
51
+ rel: "noopener noreferrer"
52
+ } : {},
49
53
  { class: `contents` }
50
54
  ), {
51
55
  default: withCtx(() => [
52
56
  createElementVNode("div", {
53
- class: normalizeClass(`${elementSpacing.value} ${elem.url ? "hover:bg-gray-200 dark:hover:bg-black" : ""} grid grid-cols-11 justify-items-center items-center border-neutral`)
57
+ class: normalizeClass(`
58
+ ${elementSpacing.value}
59
+ ${elem.url ? "hover:bg-gray-50 dark:hover:bg-slate-800" : ""}
60
+ grid grid-cols-1 sm:grid-cols-11 gap-2
61
+ justify-items-start items-center
62
+ border-gray-200 dark:border-slate-700
63
+ `)
54
64
  }, [
55
65
  elem.avatar ? (openBlock(), createBlock(_sfc_main$1, mergeProps({
56
66
  key: 0,
57
67
  src: elem.avatar
58
- }, { ref_for: true }, _ctx.avatarStyle, { class: "col-span-2" }), null, 16, ["src"])) : createCommentVNode("", true),
68
+ }, { ref_for: true }, _ctx.avatarStyle, { class: "col-span-1 sm:col-span-2 self-center justify-self-center sm:justify-self-start" }), null, 16, ["src"])) : createCommentVNode("", true),
59
69
  createElementVNode("div", _hoisted_1, [
60
70
  createElementVNode("h3", _hoisted_2, toDisplayString(elem.title), 1),
61
71
  createElementVNode("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"EpStackedList.vue.js","sources":["../../../src/components/basics/EpStackedList.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, defineAsyncComponent } from \"vue\";\nimport EpAvatar from \"~/components/basics/EpAvatar.vue\";\nimport EpIcon from \"~/components/basics/EpIcon.vue\";\nimport { useRenderText } from \"~/composables/useRenderText\";\n\n// Importing the necessary interfaces for the code\nimport { roundedType } from \"~/types/StackedList\";\nimport type { EpStackedListProps } from \"~/types/basics/EpStackedList\";\n\nconst props = withDefaults(defineProps<EpStackedListProps>(), {\n elements: () => [],\n avatarStyle: () => {\n return {\n size: \"middle\",\n };\n },\n border: true,\n rounded: \"small\",\n restricted: false,\n cropped: false,\n iconSize: 36,\n});\n\n// The style of the wrapper div\nconst className = computed(() => {\n const border = props.border === false ? \"border-0\" : \"border\";\n const rounded = roundedType[props.rounded ? props.rounded : \"small\"];\n const padding = props.restricted ? \"p-0\" : \"p-2\";\n return `${border} ${rounded} ${padding}`;\n});\n\n// The style of the list elements\nconst elementSpacing = computed(() => (props.restricted ? \"p-3\" : \"mx-6 py-4\"));\n\nconst elementGrid = (element: Record<string, any> | undefined) => {\n return element ? \"grid-cols-11\" : \"grid-cols-7\";\n};\n</script>\n\n<template>\n <ul\n :class=\"`${className} flex flex-col bg-surface-2 dark:bg-surface-2-dark lg:mx-28`\"\n >\n <template v-for=\"elem in elements\" :key=\"elements.indexOf(elem)\">\n <li\n :class=\"`${elements.indexOf(elem) !== 0 ? 'border-t' : ''} list-none`\"\n >\n <component\n :is=\"elem.url ? 'a' : 'div'\"\n v-bind=\"\n elem.url\n ? { href: elem.url, target: '_blank', rel: 'noopener noreferrer' }\n : {}\n \"\n :class=\"`contents`\"\n >\n <div\n :class=\"`${elementSpacing} ${\n elem.url ? 'hover:bg-gray-200 dark:hover:bg-black' : ''\n } grid grid-cols-11 justify-items-center items-center border-neutral`\"\n >\n <EpAvatar\n v-if=\"elem.avatar\"\n :src=\"elem.avatar\"\n v-bind=\"avatarStyle\"\n class=\"col-span-2\"\n />\n <div class=\"col-span-5 justify-self-start\">\n <h3 class=\"font-semibold\">{{ elem.title }}</h3>\n <div\n :class=\"`${cropped ? 'line-clamp-3' : ''}`\"\n v-html=\"useRenderText(elem.description)\"\n />\n </div>\n <!--element icon-->\n <div\n v-if=\"elem.icon\"\n class=\"flex gap-2 items-center col-span-4 justify-self-auto\"\n >\n <EpIcon :icon-path=\"elem.icon\" :size=\"iconSize\" />\n </div>\n </div>\n </component>\n </li>\n </template>\n </ul>\n</template>\n"],"names":["_createElementBlock","_Fragment","_renderList","elements","_normalizeClass","_openBlock","_createBlock","_resolveDynamicComponent","_mergeProps","_createElementVNode","EpAvatar","avatarStyle","_toDisplayString","cropped","_unref","_createVNode","EpIcon","iconSize"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,UAAM,QAAQ;AAed,UAAM,YAAY,SAAS,MAAM;AAC/B,YAAM,SAAS,MAAM,WAAW,QAAQ,aAAa;AACrD,YAAM,UAAU,YAAY,MAAM,UAAU,MAAM,UAAU,OAAO;AACnE,YAAM,UAAU,MAAM,aAAa,QAAQ;AAC3C,aAAO,GAAG,MAAM,IAAI,OAAO,IAAI,OAAO;AAAA,IACxC,CAAC;AAGD,UAAM,iBAAiB,SAAS,MAAO,MAAM,aAAa,QAAQ,WAAY;;0BAQ5EA,mBA6CK,MAAA;AAAA,QA5CF,yBAAU,UAAA,KAAS,8DAAA;AAAA,MAAA;0BAEpBA,mBAyCWC,UAAA,MAAAC,WAzCcC,KAAAA,UAAQ,CAAhB,SAAI;8BACnBH,mBAuCK,MAAA;AAAA,iBAxCkCG,KAAAA,SAAS,QAAQ,IAAI;AAAA,YAEzD,OAAKC,eAAA,GAAKD,KAAAA,SAAS,QAAQ,IAAI,MAAA,IAAA,aAAA,EAAA,YAAA;AAAA,UAAA;aAEhCE,UAAA,GAAAC,YAmCYC,wBAlCL,KAAK,oBADZC;AAAAA,cAmCY,EAAA,SAAA,KAAA;AAAA,cAjCW,KAAK,MAA4B,EAAA,MAAA,KAAK,KAAG,QAAA,UAAA,KAAA,sBAAA;cAK7D,EAAA,OAAO,WAAA;AAAA,YAAU,GAAA;AAAA,+BAElB,MAyBM;AAAA,gBAzBNC,mBAyBM,OAAA;AAAA,kBAxBH,yBAAU,eAAA,KAAc,IAAmB,KAAK,MAAG,0CAAA;;kBAK5C,KAAK,UADbJ,UAAA,GAAAC,YAKEI,aALFF,WAKE;AAAA;oBAHC,KAAK,KAAK;AAAA,kBAAA,sBACHG,KAAAA,aAAW,EACnB,OAAM,aAAA,CAAY,GAAA,MAAA,IAAA,CAAA,KAAA,CAAA;kBAEpBF,mBAMM,OANN,YAMM;AAAA,oBALJA,mBAA+C,MAA/C,YAA+CG,gBAAlB,KAAK,KAAK,GAAA,CAAA;AAAA,oBACvCH,mBAGE,OAAA;AAAA,sBAFC,yBAAUI,KAAAA,UAAO,iBAAA,EAAA,EAAA;AAAA,sBAClB,WAAQC,MAAA,aAAA,EAAc,KAAK,WAAW;AAAA,oBAAA;;kBAKlC,KAAK,QADbT,UAAA,GAAAL,mBAKM,OALN,YAKM;AAAA,oBADJe,YAAkDC,aAAA;AAAA,sBAAzC,aAAW,KAAK;AAAA,sBAAO,MAAMC,KAAAA;AAAAA,oBAAAA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"EpStackedList.vue.js","sources":["../../../src/components/basics/EpStackedList.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, defineAsyncComponent } from \"vue\";\nimport EpAvatar from \"./EpAvatar.vue\";\nimport EpIcon from \"./EpIcon.vue\";\nimport { useRenderText } from \"../../composables/useRenderText\";\n\n// Importing the necessary interfaces for the code\nimport {\n type ListItem,\n type AvatarStyle,\n type RoundedStyle,\n roundedType,\n} from \"../../types/StackedList\";\n\n// Managing the props\ninterface Props {\n elements: ListItem[];\n border?: boolean;\n rounded?: RoundedStyle;\n restricted?: boolean;\n cropped?: boolean;\n avatarStyle?: AvatarStyle;\n iconSize?: number | string;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n elements: () => [],\n avatarStyle: () => {\n return {\n size: \"middle\",\n };\n },\n border: true,\n rounded: \"small\",\n restricted: false,\n cropped: false,\n iconSize: 36,\n});\n\n// The style of the wrapper div\nconst className = computed(() => {\n const border = props.border === false ? \"border-0\" : \"border\";\n const rounded = roundedType[props.rounded ? props.rounded : \"small\"];\n const padding = props.restricted ? \"p-0\" : \"p-2\";\n return `${border} ${rounded} ${padding}`;\n});\n\n// The style of the list elements\nconst elementSpacing = computed(() => (props.restricted ? \"p-3\" : \"mx-6 py-4\"));\n\nconst elementGrid = (element: Record<string, any> | undefined) => {\n return element ? \"grid-cols-11\" : \"grid-cols-7\";\n};\n</script>\n\n<template>\n <ul\n :class=\"`${className} border-gray-200 flex flex-col dark:border-slate-700 dark:bg-slate-900 lg:mx-28`\"\n >\n <template v-for=\"elem in elements\" :key=\"elements.indexOf(elem)\">\n <li\n :class=\"`${\n elements.indexOf(elem) !== 0 ? 'border-t' : ''\n } list-none py-4 sm:py-2`\"\n >\n <component\n :is=\"elem.url ? 'a' : 'div'\"\n v-bind=\"\n elem.url\n ? {\n href: elem.url,\n target: '_blank',\n rel: 'noopener noreferrer',\n }\n : {}\n \"\n :class=\"`contents`\"\n >\n <div\n :class=\"`\n ${elementSpacing}\n ${\n elem.url\n ? 'hover:bg-gray-50 dark:hover:bg-slate-800'\n : ''\n }\n grid grid-cols-1 sm:grid-cols-11 gap-2\n justify-items-start items-center\n border-gray-200 dark:border-slate-700\n `\"\n >\n <EpAvatar\n v-if=\"elem.avatar\"\n :src=\"elem.avatar\"\n v-bind=\"avatarStyle\"\n class=\"col-span-1 sm:col-span-2 self-center justify-self-center sm:justify-self-start\"\n />\n\n <div\n class=\"col-span-1 sm:col-span-5 justify-self-start\"\n >\n <h3 class=\"font-semibold\">{{ elem.title }}</h3>\n <div\n :class=\"`${cropped ? 'line-clamp-3' : ''}`\"\n v-html=\"useRenderText(elem.description)\"\n ></div>\n </div>\n <div\n v-if=\"elem.icon\"\n class=\"flex items-center justify-center sm:justify-start col-span-1 sm:col-span-4\"\n >\n <EpIcon :icon-path=\"elem.icon\" :size=\"iconSize\" />\n </div>\n </div>\n </component>\n </li>\n </template>\n </ul>\n</template>\n"],"names":["_createElementBlock","_Fragment","_renderList","elements","_normalizeClass","_openBlock","_createBlock","_resolveDynamicComponent","_mergeProps","_createElementVNode","EpAvatar","avatarStyle","_toDisplayString","cropped","_unref","_createVNode","EpIcon","iconSize"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,UAAM,QAAQ;AAed,UAAM,YAAY,SAAS,MAAM;AAC7B,YAAM,SAAS,MAAM,WAAW,QAAQ,aAAa;AACrD,YAAM,UAAU,YAAY,MAAM,UAAU,MAAM,UAAU,OAAO;AACnE,YAAM,UAAU,MAAM,aAAa,QAAQ;AAC3C,aAAO,GAAG,MAAM,IAAI,OAAO,IAAI,OAAO;AAAA,IAC1C,CAAC;AAGD,UAAM,iBAAiB,SAAS,MAAO,MAAM,aAAa,QAAQ,WAAY;;0BAQ1EA,mBA6DK,MAAA;AAAA,QA5DA,yBAAU,UAAA,KAAS,iFAAA;AAAA,MAAA;0BAEpBA,mBAyDWC,UAAA,MAAAC,WAzDcC,KAAAA,UAAQ,CAAhB,SAAI;8BACjBH,mBAuDK,MAAA;AAAA,iBAxDgCG,KAAAA,SAAS,QAAQ,IAAI;AAAA,YAErD,OAAKC,eAAA,GAA0BD,KAAAA,SAAS,QAAQ,IAAI,MAAA,IAAA,aAAA;;aAIrDE,UAAA,GAAAC,YAiDYC,wBAhDH,KAAK,oBADdC;AAAAA,cAiDY,EAAA,SAAA,KAAA;AAAA,cA/CyB,KAAK;gBAA4E,MAAA,KAAK;AAAA;;;cAStH,EAAA,OAAO,WAAA;AAAA,YAAU,GAAA;AAAA,+BAElB,MAmCM;AAAA,gBAnCNC,mBAmCM,OAAA;AAAA,kBAlCD,OAAKL,eAAA;AAAA,8BAAkC,eAAA,KAAc;AAAA,8BAAiE,KAAK;;;;;;kBAalH,KAAK,UADfC,UAAA,GAAAC,YAKEI,aALFF,WAKE;AAAA;oBAHG,KAAK,KAAK;AAAA,kBAAA,sBACHG,KAAAA,aAAW,EACnB,OAAM,iFAAA,CAAgF,GAAA,MAAA,IAAA,CAAA,KAAA,CAAA;kBAG1FF,mBAQM,OARN,YAQM;AAAA,oBALFA,mBAA+C,MAA/C,YAA+CG,gBAAlB,KAAK,KAAK,GAAA,CAAA;AAAA,oBACvCH,mBAGO,OAAA;AAAA,sBAFF,yBAAUI,KAAAA,UAAO,iBAAA,EAAA,EAAA;AAAA,sBAClB,WAAQC,MAAA,aAAA,EAAc,KAAK,WAAW;AAAA,oBAAA;;kBAIpC,KAAK,QADfT,UAAA,GAAAL,mBAKM,OALN,YAKM;AAAA,oBADFe,YAAkDC,aAAA;AAAA,sBAAzC,aAAW,KAAK;AAAA,sBAAO,MAAMC,KAAAA;AAAAA,oBAAAA;;;;;;;;;;;;"}
@@ -101,7 +101,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
101
101
  nodes.push(
102
102
  h(
103
103
  el.tagName.toLowerCase(),
104
- {},
104
+ getElementAttrs(el),
105
105
  parseHtmlToVNodes(el.innerHTML)
106
106
  )
107
107
  );
@@ -117,6 +117,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
117
117
  const formatted = useRenderText(props.content);
118
118
  return parseHtmlToVNodes(formatted);
119
119
  });
120
+ function getElementAttrs(el) {
121
+ const attrs = {};
122
+ for (const attr of Array.from(el.attributes)) {
123
+ attrs[attr.name] = attr.value;
124
+ }
125
+ if (el.tagName.toLowerCase() === "a") {
126
+ attrs.target = "_blank";
127
+ attrs.rel = "noopener noreferrer";
128
+ }
129
+ return attrs;
130
+ }
120
131
  return (_ctx, _cache) => {
121
132
  return openBlock(), createElementBlock("div", _hoisted_1, [
122
133
  unref(compact) ? (openBlock(), createBlock(Comp, {
@@ -1 +1 @@
1
- {"version":3,"file":"EpText.vue.js","sources":["../../../src/components/basics/EpText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, toRefs, h, type VNode, defineAsyncComponent } from \"vue\";\nimport type { Glossary } from \"~/types/Glossary\"\nimport { isHtml } from \"~/composables/isHtml\";\nimport { useRenderText } from \"~/composables/useRenderText\";\nimport EpAccordeon from \"~/components/interactions/EpAccordeon.vue\";\nimport EpTerm from \"~/components/medias/EpTerm.vue\";\nimport type { EpTextProps } from \"~/types/basics/EpText\";\n\n\nconst props = withDefaults(defineProps<EpTextProps>(), {\n compact: false,\n labelDefinition: \"Définition\",\n labelDomain: \"Domaine\",\n labelVariations: \"Variations\",\n labelRelations: \"Relations\",\n labelClose: \"Fermer\",\n});\n\nconst { compact } = toRefs(props);\n\n//async render katext\nconst AsyncKatexRenderer = defineAsyncComponent(() => \n import(\"~/components/tools/AsyncKatexRender.vue\")\n);\n\nconst renderTitle = computed(() => props.title || \"En savoir plus\");\n\nfunction parseHtmlToVNodes(html: string): (VNode | string)[] {\n const container = document.createElement(\"div\");\n container.innerHTML = html;\n\n const nodes: (VNode | string)[] = [];\n\n container.childNodes.forEach((node) => {\n if (node.nodeType === 3) {\n // Text node\n const text = node.textContent;\n \n if (text && text.replace(/\\s/g, '').length > 0) nodes.push(text);\n } else if (node.nodeType === 1) {\n const el = node as HTMLElement;\n\n //katex part\n if(el.classList.contains(\"ep-katex-formula\")){\n const formula = el.textContent || \"\";\n const block = el.classList.contains(\"katex-display\")\n nodes.push(\n h(AsyncKatexRenderer, { formula: formula, block:block })\n );\n return;\n }\n //glossary part\n if (el.classList.contains(\"ep_glossary_item\")) {\n const id = el.getAttribute(\"data-id\");\n const render_word = el.innerHTML;\n\n let _glossary: Glossary[] = [];\n if (props.glossary) {\n _glossary = props.glossary.map((item) => ({\n ...item,\n id: item.documentId ?? item.id\n }));\n }\n\n const term = _glossary.find((word) => word.id === id);\n\n if (term) {\n const foundedRelations = _glossary.filter((x) =>\n x.relation.some((r: string) => r === id)\n );\n const termsRelation = foundedRelations.map((x) => x.term);\n const stringRelations = termsRelation.join(', ')\n const stringVariations = term.variation.join(', ')\n\n nodes.push(\n h(\n \"div\",\n { style: \"display:inline\" },\n h(\n EpTerm,\n {\n term: term.term,\n word: render_word,\n variations: stringVariations,\n graminfo: term.graminfo,\n src: term.img ?? \"\",\n domain: term.domain,\n relations: stringRelations,\n labelDefinition: props.labelDefinition,\n labelDomain: props.labelDomain,\n labelVariations: props.labelVariations,\n labelRelations: props.labelRelations,\n labelClose: props.labelClose,\n },\n () => {\n const def = useRenderText(term.definition);\n if (!isHtml(def)) {\n return h(\"div\", { innerHTML: def });\n }\n return parseHtmlToVNodes(def);\n }\n )\n )\n );\n return;\n }\n }\n\n\n nodes.push(\n h(\n el.tagName.toLowerCase(),\n {},\n parseHtmlToVNodes(el.innerHTML) \n )\n );\n }\n });\n\n return nodes;\n}\n\nconst renderText = computed(() => {\n if (!props.content) return [h(\"div\")];\n if (!isHtml(props.content)) {\n return [h(\"div\", { innerHTML: useRenderText(props.content) })];\n }\n\n const formatted = useRenderText(props.content)\n\n return parseHtmlToVNodes(formatted);\n});\n</script>\n\n<template>\n <div class=\"px-2\">\n <EpAccordeon v-if=\"compact\" outlined :title=\"renderTitle\">\n <div>\n <component :is=\"node\" v-for=\"(node, i) in renderText\" :key=\"i\" />\n </div>\n </EpAccordeon>\n <div v-else>\n <component :is=\"node\" v-for=\"(node, i) in renderText\" :key=\"i\" />\n </div>\n </div>\n</template>\n"],"names":["_a","EpTerm","_openBlock","_createElementBlock","_unref","_createBlock","EpAccordeon","_createElementVNode","_Fragment","_renderList","_resolveDynamicComponent"],"mappings":"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"}
1
+ {"version":3,"file":"EpText.vue.js","sources":["../../../src/components/basics/EpText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, toRefs, h, type VNode, defineAsyncComponent } from \"vue\";\nimport type { Glossary } from \"~/types/Glossary\"\nimport { isHtml } from \"~/composables/isHtml\";\nimport { useRenderText } from \"~/composables/useRenderText\";\nimport EpAccordeon from \"~/components/interactions/EpAccordeon.vue\";\nimport EpTerm from \"~/components/medias/EpTerm.vue\";\nimport type { EpTextProps } from \"~/types/basics/EpText\";\n\n\nconst props = withDefaults(defineProps<EpTextProps>(), {\n compact: false,\n labelDefinition: \"Définition\",\n labelDomain: \"Domaine\",\n labelVariations: \"Variations\",\n labelRelations: \"Relations\",\n labelClose: \"Fermer\",\n});\n\nconst { compact } = toRefs(props);\n\n//async render katext\nconst AsyncKatexRenderer = defineAsyncComponent(() => \n import(\"~/components/tools/AsyncKatexRender.vue\")\n);\n\nconst renderTitle = computed(() => props.title || \"En savoir plus\");\n\nfunction parseHtmlToVNodes(html: string): (VNode | string)[] {\n const container = document.createElement(\"div\");\n container.innerHTML = html;\n\n const nodes: (VNode | string)[] = [];\n\n container.childNodes.forEach((node) => {\n if (node.nodeType === 3) {\n // Text node\n const text = node.textContent;\n \n if (text && text.replace(/\\s/g, '').length > 0) nodes.push(text);\n } else if (node.nodeType === 1) {\n const el = node as HTMLElement;\n\n //katex part\n if(el.classList.contains(\"ep-katex-formula\")){\n const formula = el.textContent || \"\";\n const block = el.classList.contains(\"katex-display\")\n nodes.push(\n h(AsyncKatexRenderer, { formula: formula, block:block })\n );\n return;\n }\n //glossary part\n if (el.classList.contains(\"ep_glossary_item\")) {\n const id = el.getAttribute(\"data-id\");\n const render_word = el.innerHTML;\n\n let _glossary: Glossary[] = [];\n if (props.glossary) {\n _glossary = props.glossary.map((item) => ({\n ...item,\n id: item.documentId ?? item.id\n }));\n }\n\n const term = _glossary.find((word) => word.id === id);\n\n if (term) {\n const foundedRelations = _glossary.filter((x) =>\n x.relation.some((r: string) => r === id)\n );\n const termsRelation = foundedRelations.map((x) => x.term);\n const stringRelations = termsRelation.join(', ')\n const stringVariations = term.variation.join(', ')\n\n nodes.push(\n h(\n \"div\",\n { style: \"display:inline\" },\n h(\n EpTerm,\n {\n term: term.term,\n word: render_word,\n variations: stringVariations,\n graminfo: term.graminfo,\n src: term.img ?? \"\",\n domain: term.domain,\n relations: stringRelations,\n labelDefinition: props.labelDefinition,\n labelDomain: props.labelDomain,\n labelVariations: props.labelVariations,\n labelRelations: props.labelRelations,\n labelClose: props.labelClose,\n },\n () => {\n const def = useRenderText(term.definition);\n if (!isHtml(def)) {\n return h(\"div\", { innerHTML: def });\n }\n return parseHtmlToVNodes(def);\n }\n )\n )\n );\n return;\n }\n }\n\n\n nodes.push(\n h(\n el.tagName.toLowerCase(),\n getElementAttrs(el),\n parseHtmlToVNodes(el.innerHTML) \n )\n );\n }\n });\n\n return nodes;\n}\n\nconst renderText = computed(() => {\n if (!props.content) return [h(\"div\")];\n if (!isHtml(props.content)) {\n return [h(\"div\", { innerHTML: useRenderText(props.content) })];\n }\n\n const formatted = useRenderText(props.content)\n\n return parseHtmlToVNodes(formatted);\n});\n\n\n//get attributes from element html \nfunction getElementAttrs(el: HTMLElement): Record<string, any> {\n const attrs: Record<string, any> = {};\n\n for (const attr of Array.from(el.attributes)) {\n attrs[attr.name] = attr.value;\n }\n\n if (el.tagName.toLowerCase() === \"a\") {\n attrs.target = \"_blank\";\n attrs.rel = \"noopener noreferrer\";\n }\n\n return attrs;\n}\n</script>\n\n<template>\n <div class=\"px-2\">\n <EpAccordeon v-if=\"compact\" outlined :title=\"renderTitle\">\n <div>\n <component :is=\"node\" v-for=\"(node, i) in renderText\" :key=\"i\" />\n </div>\n </EpAccordeon>\n <div v-else>\n <component :is=\"node\" v-for=\"(node, i) in renderText\" :key=\"i\" />\n </div>\n </div>\n</template>\n"],"names":["_a","EpTerm","_openBlock","_createElementBlock","_unref","_createBlock","EpAccordeon","_createElementVNode","_Fragment","_renderList","_resolveDynamicComponent"],"mappings":"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"}
@@ -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"), "./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"), "./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.vue.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/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/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/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/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)
46
+ () => __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../basics/EpAvatar.vue": () => import("../basics/EpAvatar.vue2.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"), "./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"), "./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.vue.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/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/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/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/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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"}
@@ -49,7 +49,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
49
49
  setup(__props) {
50
50
  const props = __props;
51
51
  const dynamicComponents = /* @__PURE__ */ Object.assign({
52
- "../basics/EpAvatar.vue": () => import("../basics/EpAvatar.vue.js"),
52
+ "../basics/EpAvatar.vue": () => import("../basics/EpAvatar.vue2.js"),
53
53
  "../basics/EpBadge.vue": () => import("../basics/EpBadge.vue.js"),
54
54
  "../basics/EpBtn.vue": () => import("../basics/EpBtn.vue2.js"),
55
55
  "../basics/EpCard.vue": () => import("../basics/EpCard.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 type ComponentPublicInstance,\n} from \"vue\";\nimport { useComponent } from \"~/composables/useComponent\";\nimport { useRenderText } from \"~/composables/useRenderText\";\nimport { mdiArrowLeft, mdiArrowRight } from \"@mdi/js\";\nimport EpIcon from \"~/components/basics/EpIcon.vue\";\nimport EpSkeleton from \"~/components/signages/EpSkeleton.vue\";\nimport type { EpContentSliderProps } from \"~/types/interactions/EpContentSlider\";\n\nconst props = withDefaults(defineProps<EpContentSliderProps>(), {\n loading: \"...loading\",\n noData: \"No data available\",\n mediaPosition: \"left\",\n titleSize: \"md\"\n});\n\nconst dynamicComponents = import.meta.glob(\n '../{basics,educationals,forms,interactions,signages}/**/*.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 currentIndex = ref(0);\nconst isLoading = ref(false);\nconst slideRefs = ref<(HTMLElement | null)[]>([]);\n\nconst currentSlide = computed(() => {\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 twoColumns: false,\n layoutRatio: \"50/50\"\n };\n }\n return props.slides[currentIndex.value];\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// Two-column layout helpers\nconst getGridClasses = computed(() => {\n if (!currentSlide.value.twoColumns) return ''\n\n switch (currentSlide.value.layoutRatio) {\n case '20/80': return 'grid grid-cols-5 gap-6'\n case '40/60': return 'grid grid-cols-5 gap-6'\n case '60/40': return 'grid grid-cols-5 gap-6'\n case '80/20': return 'grid grid-cols-5 gap-6'\n case '50/50':\n default: return 'grid grid-cols-2 gap-6'\n }\n});\n\nconst getMediaColSpan = computed(() => {\n if (!currentSlide.value.twoColumns) return ''\n\n switch (currentSlide.value.layoutRatio) {\n case '20/80': return 'col-span-1'\n case '40/60': return 'col-span-2'\n case '60/40': return 'col-span-3'\n case '80/20': return 'col-span-4'\n case '50/50':\n default: return 'col-span-1'\n }\n});\n\nconst getContentColSpan = computed(() => {\n if (!currentSlide.value.twoColumns) return ''\n\n switch (currentSlide.value.layoutRatio) {\n case '20/80': return 'col-span-4'\n case '40/60': return 'col-span-3'\n case '60/40': return 'col-span-2'\n case '80/20': return 'col-span-1'\n case '50/50':\n default: return 'col-span-1'\n }\n});\n\nconst hasTextContent = computed(() => {\n const content = currentSlide.value.content;\n return content && content.trim().length > 0;\n});\n\nconst currentSlideMediaContent = computed(() => {\n if (currentSlide.value.img) {\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\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\nconst updateSlideRefs = (\n el: Element | ComponentPublicInstance | null,\n index: number\n) => {\n if (el instanceof HTMLElement) {\n slideRefs.value[index] = el;\n } else {\n slideRefs.value[index] = null;\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 >\n <!-- Header section with navigation -->\n <div\n class=\"flex justify-between items-center pb-3 mb-3 border-b-2 border-gray-600 dark:border-gray-300\"\n >\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\n v-for=\"(_, i) in props.slides.length\"\n :key=\"`slide-index-${i}`\"\n @click=\"goTo(i)\"\n :class=\"[\n 'w-2 h-2 rounded-full cursor-pointer',\n i === currentIndex ? 'bg-primary' : 'bg-neutral',\n ]\"\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\"\n >{{ currentIndex + 1 }} / {{ props.slides.length }}</span\n >\n </div>\n </div>\n\n <!-- Slider content -->\n <div\n class=\"flex flex-grow items-center justify-center overflow-hidden mb-4\"\n >\n <transition name=\"slide-fade\" mode=\"out-in\">\n <div\n v-if=\"props.slides.length > 0\"\n :key=\"currentSlide.uid\"\n :ref=\"(el) => updateSlideRefs(el, currentIndex)\"\n :class=\"[\n 'flex w-full h-full',\n currentSlide.twoColumns ? getGridClasses : 'gap-2',\n !currentSlide.twoColumns && hasTextContent\n ? props.mediaPosition === 'left'\n ? 'flex-row'\n : 'flex-row-reverse'\n : !currentSlide.twoColumns ? 'justify-center' : ''\n ]\"\n >\n <div\n v-if=\"isLoading\"\n class=\"flex items-center justify-center w-full h-full\"\n >\n <EpSkeleton\n :type=\"'rectangle'\"\n :height=\"100\"\n :width=\"100\"\n :loading=\"true\"\n />\n </div>\n\n <div\n v-else-if=\"!hasTextContent && !currentSlideMediaContent\"\n class=\"flex items-center justify-center w-full h-full\"\n >\n <EpSkeleton\n class=\"p-4\"\n :type=\"'rectangle'\"\n :height=\"150\"\n :width=\"150\"\n :loading=\"true\"\n />\n </div>\n\n <!-- 2 column layout -->\n <template v-if=\"currentSlide.twoColumns\">\n <!-- Media column -->\n <div\n v-if=\"currentSlideMediaContent\"\n :class=\"getMediaColSpan\"\n class=\"flex items-center justify-center p-2\"\n style=\"max-height: 100%\"\n >\n <template v-if=\"currentSlide.img\">\n <component\n :is=\"currentSlideMediaContent\"\n :src=\"currentSlide.img\"\n cols=\"11\"\n class=\"max-h-full max-w-full object-contain\"\n :style=\"{\n height: 'auto',\n maxHeight: '100%',\n objectFit: 'contain',\n margin: 'auto',\n }\"\n />\n </template>\n <template v-else-if=\"currentSlide.component\">\n <Suspense>\n <component\n :is=\"currentSlideMediaContent\"\n v-bind=\"{ ...currentSlide.component.data }\"\n cols=\"11\"\n class=\"max-h-full max-w-full object-contain\"\n />\n <template #fallback>{{ loading }}</template>\n </Suspense>\n </template>\n </div>\n\n <!-- Text column -->\n <div\n v-if=\"hasTextContent\"\n :class=\"getContentColSpan\"\n class=\"p-2 overflow-y-auto\"\n >\n <div\n v-html=\"useRenderText(currentSlide.content)\"\n class=\"text-base leading-relaxed\"\n />\n </div>\n </template>\n\n <!-- single column -->\n <template v-else>\n <!-- Media content -->\n <div\n v-if=\"currentSlideMediaContent\"\n class=\"flex items-center justify-center p-2 md:w-1/2 w-full\"\n style=\"max-height: 100%\"\n >\n <template v-if=\"currentSlide.img\">\n <component\n :is=\"currentSlideMediaContent\"\n :src=\"currentSlide.img\"\n cols=\"11\"\n class=\"max-h-full max-w-full object-contain\"\n :style=\"{\n height: 'auto',\n maxHeight: '100%',\n objectFit: 'contain',\n margin: 'auto',\n }\"\n />\n </template>\n <template v-else-if=\"currentSlide.component\">\n <Suspense>\n <component\n :is=\"currentSlideMediaContent\"\n v-bind=\"{ ...currentSlide.component.data }\"\n cols=\"11\"\n class=\"max-h-full max-w-full object-contain\"\n :style=\"{\n height: 'auto',\n maxHeight: '100%',\n objectFit: 'contain',\n margin: 'auto',\n }\"\n />\n <template #fallback>{{ loading }}</template>\n </Suspense>\n </template>\n </div>\n\n <!-- Text content -->\n <div\n v-if=\"hasTextContent\"\n class=\"flex-1 p-2 overflow-y-auto md:w-1/2 w-full\"\n >\n <div\n v-html=\"useRenderText(currentSlide.content)\"\n class=\"text-base leading-relaxed\"\n />\n </div>\n </template>\n </div>\n </transition>\n </div>\n\n <!-- Progress bar -->\n <div class=\"mt-2 h-2 w-full bg-gray-300 rounded-full\">\n <div\n class=\"bg-primary h-full rounded-full transition-all duration-300\"\n :style=\"{\n width: ((currentIndex + 1) / props.slides.length) * 100 + '%',\n }\"\n />\n </div>\n </div>\n</template>"],"names":["_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_Fragment","_renderList","_normalizeClass","_createVNode","EpIcon","_unref","_Transition","EpSkeleton","_createBlock","_resolveDynamicComponent","_Suspense","loading","_mergeProps","_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 type ComponentPublicInstance,\n} from \"vue\";\nimport { useComponent } from \"~/composables/useComponent\";\nimport { useRenderText } from \"~/composables/useRenderText\";\nimport { mdiArrowLeft, mdiArrowRight } from \"@mdi/js\";\nimport EpIcon from \"~/components/basics/EpIcon.vue\";\nimport EpSkeleton from \"~/components/signages/EpSkeleton.vue\";\nimport type { EpContentSliderProps } from \"~/types/interactions/EpContentSlider\";\n\nconst props = withDefaults(defineProps<EpContentSliderProps>(), {\n loading: \"...loading\",\n noData: \"No data available\",\n mediaPosition: \"left\",\n titleSize: \"md\"\n});\n\nconst dynamicComponents = import.meta.glob(\n '../{basics,educationals,forms,interactions,signages}/**/*.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 currentIndex = ref(0);\nconst isLoading = ref(false);\nconst slideRefs = ref<(HTMLElement | null)[]>([]);\n\nconst currentSlide = computed(() => {\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 twoColumns: false,\n layoutRatio: \"50/50\"\n };\n }\n return props.slides[currentIndex.value];\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// Two-column layout helpers\nconst getGridClasses = computed(() => {\n if (!currentSlide.value.twoColumns) return ''\n\n switch (currentSlide.value.layoutRatio) {\n case '20/80': return 'grid grid-cols-5 gap-6'\n case '40/60': return 'grid grid-cols-5 gap-6'\n case '60/40': return 'grid grid-cols-5 gap-6'\n case '80/20': return 'grid grid-cols-5 gap-6'\n case '50/50':\n default: return 'grid grid-cols-2 gap-6'\n }\n});\n\nconst getMediaColSpan = computed(() => {\n if (!currentSlide.value.twoColumns) return ''\n\n switch (currentSlide.value.layoutRatio) {\n case '20/80': return 'col-span-1'\n case '40/60': return 'col-span-2'\n case '60/40': return 'col-span-3'\n case '80/20': return 'col-span-4'\n case '50/50':\n default: return 'col-span-1'\n }\n});\n\nconst getContentColSpan = computed(() => {\n if (!currentSlide.value.twoColumns) return ''\n\n switch (currentSlide.value.layoutRatio) {\n case '20/80': return 'col-span-4'\n case '40/60': return 'col-span-3'\n case '60/40': return 'col-span-2'\n case '80/20': return 'col-span-1'\n case '50/50':\n default: return 'col-span-1'\n }\n});\n\nconst hasTextContent = computed(() => {\n const content = currentSlide.value.content;\n return content && content.trim().length > 0;\n});\n\nconst currentSlideMediaContent = computed(() => {\n if (currentSlide.value.img) {\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\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\nconst updateSlideRefs = (\n el: Element | ComponentPublicInstance | null,\n index: number\n) => {\n if (el instanceof HTMLElement) {\n slideRefs.value[index] = el;\n } else {\n slideRefs.value[index] = null;\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 >\n <!-- Header section with navigation -->\n <div\n class=\"flex justify-between items-center pb-3 mb-3 border-b-2 border-gray-600 dark:border-gray-300\"\n >\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\n v-for=\"(_, i) in props.slides.length\"\n :key=\"`slide-index-${i}`\"\n @click=\"goTo(i)\"\n :class=\"[\n 'w-2 h-2 rounded-full cursor-pointer',\n i === currentIndex ? 'bg-primary' : 'bg-neutral',\n ]\"\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\"\n >{{ currentIndex + 1 }} / {{ props.slides.length }}</span\n >\n </div>\n </div>\n\n <!-- Slider content -->\n <div\n class=\"flex flex-grow items-center justify-center overflow-hidden mb-4\"\n >\n <transition name=\"slide-fade\" mode=\"out-in\">\n <div\n v-if=\"props.slides.length > 0\"\n :key=\"currentSlide.uid\"\n :ref=\"(el) => updateSlideRefs(el, currentIndex)\"\n :class=\"[\n 'flex w-full h-full',\n currentSlide.twoColumns ? getGridClasses : 'gap-2',\n !currentSlide.twoColumns && hasTextContent\n ? props.mediaPosition === 'left'\n ? 'flex-row'\n : 'flex-row-reverse'\n : !currentSlide.twoColumns ? 'justify-center' : ''\n ]\"\n >\n <div\n v-if=\"isLoading\"\n class=\"flex items-center justify-center w-full h-full\"\n >\n <EpSkeleton\n :type=\"'rectangle'\"\n :height=\"100\"\n :width=\"100\"\n :loading=\"true\"\n />\n </div>\n\n <div\n v-else-if=\"!hasTextContent && !currentSlideMediaContent\"\n class=\"flex items-center justify-center w-full h-full\"\n >\n <EpSkeleton\n class=\"p-4\"\n :type=\"'rectangle'\"\n :height=\"150\"\n :width=\"150\"\n :loading=\"true\"\n />\n </div>\n\n <!-- 2 column layout -->\n <template v-if=\"currentSlide.twoColumns\">\n <!-- Media column -->\n <div\n v-if=\"currentSlideMediaContent\"\n :class=\"getMediaColSpan\"\n class=\"flex items-center justify-center p-2\"\n style=\"max-height: 100%\"\n >\n <template v-if=\"currentSlide.img\">\n <component\n :is=\"currentSlideMediaContent\"\n :src=\"currentSlide.img\"\n cols=\"11\"\n class=\"max-h-full max-w-full object-contain\"\n :style=\"{\n height: 'auto',\n maxHeight: '100%',\n objectFit: 'contain',\n margin: 'auto',\n }\"\n />\n </template>\n <template v-else-if=\"currentSlide.component\">\n <Suspense>\n <component\n :is=\"currentSlideMediaContent\"\n v-bind=\"{ ...currentSlide.component.data }\"\n cols=\"11\"\n class=\"max-h-full max-w-full object-contain\"\n />\n <template #fallback>{{ loading }}</template>\n </Suspense>\n </template>\n </div>\n\n <!-- Text column -->\n <div\n v-if=\"hasTextContent\"\n :class=\"getContentColSpan\"\n class=\"p-2 overflow-y-auto\"\n >\n <div\n v-html=\"useRenderText(currentSlide.content)\"\n class=\"text-base leading-relaxed\"\n />\n </div>\n </template>\n\n <!-- single column -->\n <template v-else>\n <!-- Media content -->\n <div\n v-if=\"currentSlideMediaContent\"\n class=\"flex items-center justify-center p-2 md:w-1/2 w-full\"\n style=\"max-height: 100%\"\n >\n <template v-if=\"currentSlide.img\">\n <component\n :is=\"currentSlideMediaContent\"\n :src=\"currentSlide.img\"\n cols=\"11\"\n class=\"max-h-full max-w-full object-contain\"\n :style=\"{\n height: 'auto',\n maxHeight: '100%',\n objectFit: 'contain',\n margin: 'auto',\n }\"\n />\n </template>\n <template v-else-if=\"currentSlide.component\">\n <Suspense>\n <component\n :is=\"currentSlideMediaContent\"\n v-bind=\"{ ...currentSlide.component.data }\"\n cols=\"11\"\n class=\"max-h-full max-w-full object-contain\"\n :style=\"{\n height: 'auto',\n maxHeight: '100%',\n objectFit: 'contain',\n margin: 'auto',\n }\"\n />\n <template #fallback>{{ loading }}</template>\n </Suspense>\n </template>\n </div>\n\n <!-- Text content -->\n <div\n v-if=\"hasTextContent\"\n class=\"flex-1 p-2 overflow-y-auto md:w-1/2 w-full\"\n >\n <div\n v-html=\"useRenderText(currentSlide.content)\"\n class=\"text-base leading-relaxed\"\n />\n </div>\n </template>\n </div>\n </transition>\n </div>\n\n <!-- Progress bar -->\n <div class=\"mt-2 h-2 w-full bg-gray-300 rounded-full\">\n <div\n class=\"bg-primary h-full rounded-full transition-all duration-300\"\n :style=\"{\n width: ((currentIndex + 1) / props.slides.length) * 100 + '%',\n }\"\n />\n </div>\n </div>\n</template>"],"names":["_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_Fragment","_renderList","_normalizeClass","_createVNode","EpIcon","_unref","_Transition","EpSkeleton","_createBlock","_resolveDynamicComponent","_Suspense","loading","_mergeProps","_normalizeStyle"],"mappings":"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"}
@@ -103,7 +103,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
103
103
  return defineAsyncComponent(() => import("../signages/EpNothing.vue.js"));
104
104
  }
105
105
  return defineAsyncComponent(
106
- () => __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/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/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.vue.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"), "./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"), "./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/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/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
+ () => __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../basics/EpAvatar.vue": () => import("../basics/EpAvatar.vue2.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/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/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.vue.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"), "./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"), "./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/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/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)
107
107
  );
108
108
  };
109
109
  const { title, hideIcon, question, src } = toRefs(props);
@@ -1 +1 @@
1
- {"version":3,"file":"EpQuestion.vue.js","sources":["../../../src/components/interactions/EpQuestion.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { watch, ref, toRefs, computed, defineAsyncComponent } from \"vue\";\nimport EpEdu from \"~/components/educationals/EpEdu.vue\";\nimport { type Answer } from \"~/types/Answer\";\nimport { useRenderText } from \"~/composables/useRenderText\";\nimport { useComponent } from \"~/composables/useComponent\";\nimport { mdiHelpCircle } from \"@mdi/js\";\nimport EpImg from \"~/components/basics/EpImg.vue\";\nimport EpRadio from \"~/components/forms/EpRadio.vue\";\nimport EpBtn from \"~/components/basics/EpBtn.vue\";\nimport EpAlert from \"~/components/signages/EpAlert.vue\";\nimport type { EpQuestionProps } from \"~/types/interactions/EpQuestion\";\n\nconst props = withDefaults(defineProps<EpQuestionProps>(), {\n type: \"neutral\",\n hideIcon: false,\n shuffle: false,\n before: false,\n numeration: false,\n labelNoAnswer: \"Veuillez choisir une réponse\",\n labelAnswerBtn: \"Valider\",\n labelTryAgainBtn: \"Réessayer\",\n});\n\nconst renderText = computed(() => {\n if (!props.intentions) {\n return null;\n }\n return useRenderText(props.intentions);\n});\n\n//shuffle and list\nconst shuffleAnswers = computed(() => {\n const array = props.answers;\n if (props.shuffle) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n const temp = array[i];\n array[i] = array[j];\n array[j] = temp;\n }\n }\n return array;\n});\n\nconst alphabet = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\"];\nconst typeList = (index: number) => {\n if (props.numeration) {\n return alphabet[index];\n }\n return index + 1;\n};\n\n///user answer\nconst userAnswer = ref(\"\");\nconst answered = ref(false);\nconst valid = ref(true);\nconst response = ref<Answer>({\n type: \"warning\",\n text: \"no found\",\n component: null,\n feedback: \"\",\n});\nconst checkAnswer = () => {\n if (userAnswer.value === \"\") {\n valid.value = false;\n return;\n }\n const valuesAnswer = props.answers.find((x) => x.uid === userAnswer.value);\n if (!valuesAnswer) {\n return;\n }\n response.value = valuesAnswer!;\n answered.value = true;\n};\n\nconst reset = () => {\n answered.value = false;\n userAnswer.value = \"\";\n};\n\nwatch(userAnswer, (val) => {\n if (val !== \"\") {\n valid.value = true;\n }\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 return defineAsyncComponent(\n () => import(`../${componentToLoad.path}/${componentToLoad.name}.vue`)\n );\n};\n\n//returned values from props\nconst { title, intentions, hideIcon, question, src } = toRefs(props);\n</script>\n\n<template>\n <EpEdu\n :title=\"title\"\n :type=\"type\"\n :hideIcon=\"hideIcon\"\n :icon=\"mdiHelpCircle\"\n :label-intentions=\"labelIntentions\"\n card\n >\n <template #intentions v-if=\"renderText\">\n <div v-html=\"renderText\" />\n </template>\n <template #content>\n <div class=\"mt-5\">\n <EpImg\n v-if=\"src && before\"\n :src=\"src\"\n :alt=\"`Image soutien à la question`\"\n cols=\"5\"\n />\n <div v-html=\"useRenderText(question)\" class=\"my-6\" />\n <EpImg\n v-if=\"src && !before\"\n :src=\"src\"\n :alt=\"`Image soutien à la question`\"\n cols=\"5\"\n />\n\n <div class=\"mb-6\">\n <ol class=\"no-list\">\n <li v-for=\"(answer, i) in shuffleAnswers\" :key=\"answer.uid\">\n <EpRadio\n :label=\"`${typeList(i)}. ${answer.text}`\"\n v-model=\"userAnswer\"\n :value=\"answer.uid\"\n :disabled=\"answered\"\n type=\"primary\"\n ></EpRadio>\n </li>\n </ol>\n <EpAlert type=\"error\" outlined noIcon v-if=\"!valid\">\n {{ labelNoAnswer }}\n </EpAlert>\n </div>\n\n <div v-if=\"answered\" class=\"mb-2\">\n <EpAlert :type=\"response.type\" outlined>\n <div v-html=\"useRenderText(response.feedback)\" />\n </EpAlert>\n\n <div v-if=\"response.component\" class=\"my-2\">\n <component\n :is=\"getCompontent(response.component.type)\"\n v-bind=\"{ ...response.component.data }\"\n ></component>\n </div>\n </div>\n\n <EpBtn\n type=\"primary\"\n @click=\"checkAnswer\"\n :disabled=\"answered\"\n outlined\n extraClass=\"mr-2\"\n >{{ labelAnswerBtn }}</EpBtn\n >\n <EpBtn type=\"primary\" v-if=\"answered\" @click=\"reset\" outlined>{{\n labelTryAgainBtn\n }}</EpBtn>\n </div>\n </template>\n <!-- <template #actions>\n <EpBtn :color=\"type=='base'?'text-gray-700':'text-white'\" :type=\"type\">[Repair btn style... to change]</EpBtn>\n </template> -->\n </EpEdu>\n</template>\n"],"names":["_createBlock","EpEdu","_unref","type","labelIntentions","_createElementVNode","before","EpImg","_openBlock","_createElementBlock","_Fragment","_renderList","_createVNode","EpRadio","EpAlert","labelNoAnswer","_resolveDynamicComponent","_normalizeProps","_guardReactiveProps","EpBtn","labelAnswerBtn","labelTryAgainBtn"],"mappings":"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"}
1
+ {"version":3,"file":"EpQuestion.vue.js","sources":["../../../src/components/interactions/EpQuestion.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { watch, ref, toRefs, computed, defineAsyncComponent } from \"vue\";\nimport EpEdu from \"~/components/educationals/EpEdu.vue\";\nimport { type Answer } from \"~/types/Answer\";\nimport { useRenderText } from \"~/composables/useRenderText\";\nimport { useComponent } from \"~/composables/useComponent\";\nimport { mdiHelpCircle } from \"@mdi/js\";\nimport EpImg from \"~/components/basics/EpImg.vue\";\nimport EpRadio from \"~/components/forms/EpRadio.vue\";\nimport EpBtn from \"~/components/basics/EpBtn.vue\";\nimport EpAlert from \"~/components/signages/EpAlert.vue\";\nimport type { EpQuestionProps } from \"~/types/interactions/EpQuestion\";\n\nconst props = withDefaults(defineProps<EpQuestionProps>(), {\n type: \"neutral\",\n hideIcon: false,\n shuffle: false,\n before: false,\n numeration: false,\n labelNoAnswer: \"Veuillez choisir une réponse\",\n labelAnswerBtn: \"Valider\",\n labelTryAgainBtn: \"Réessayer\",\n});\n\nconst renderText = computed(() => {\n if (!props.intentions) {\n return null;\n }\n return useRenderText(props.intentions);\n});\n\n//shuffle and list\nconst shuffleAnswers = computed(() => {\n const array = props.answers;\n if (props.shuffle) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n const temp = array[i];\n array[i] = array[j];\n array[j] = temp;\n }\n }\n return array;\n});\n\nconst alphabet = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\"];\nconst typeList = (index: number) => {\n if (props.numeration) {\n return alphabet[index];\n }\n return index + 1;\n};\n\n///user answer\nconst userAnswer = ref(\"\");\nconst answered = ref(false);\nconst valid = ref(true);\nconst response = ref<Answer>({\n type: \"warning\",\n text: \"no found\",\n component: null,\n feedback: \"\",\n});\nconst checkAnswer = () => {\n if (userAnswer.value === \"\") {\n valid.value = false;\n return;\n }\n const valuesAnswer = props.answers.find((x) => x.uid === userAnswer.value);\n if (!valuesAnswer) {\n return;\n }\n response.value = valuesAnswer!;\n answered.value = true;\n};\n\nconst reset = () => {\n answered.value = false;\n userAnswer.value = \"\";\n};\n\nwatch(userAnswer, (val) => {\n if (val !== \"\") {\n valid.value = true;\n }\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 return defineAsyncComponent(\n () => import(`../${componentToLoad.path}/${componentToLoad.name}.vue`)\n );\n};\n\n//returned values from props\nconst { title, intentions, hideIcon, question, src } = toRefs(props);\n</script>\n\n<template>\n <EpEdu\n :title=\"title\"\n :type=\"type\"\n :hideIcon=\"hideIcon\"\n :icon=\"mdiHelpCircle\"\n :label-intentions=\"labelIntentions\"\n card\n >\n <template #intentions v-if=\"renderText\">\n <div v-html=\"renderText\" />\n </template>\n <template #content>\n <div class=\"mt-5\">\n <EpImg\n v-if=\"src && before\"\n :src=\"src\"\n :alt=\"`Image soutien à la question`\"\n cols=\"5\"\n />\n <div v-html=\"useRenderText(question)\" class=\"my-6\" />\n <EpImg\n v-if=\"src && !before\"\n :src=\"src\"\n :alt=\"`Image soutien à la question`\"\n cols=\"5\"\n />\n\n <div class=\"mb-6\">\n <ol class=\"no-list\">\n <li v-for=\"(answer, i) in shuffleAnswers\" :key=\"answer.uid\">\n <EpRadio\n :label=\"`${typeList(i)}. ${answer.text}`\"\n v-model=\"userAnswer\"\n :value=\"answer.uid\"\n :disabled=\"answered\"\n type=\"primary\"\n ></EpRadio>\n </li>\n </ol>\n <EpAlert type=\"error\" outlined noIcon v-if=\"!valid\">\n {{ labelNoAnswer }}\n </EpAlert>\n </div>\n\n <div v-if=\"answered\" class=\"mb-2\">\n <EpAlert :type=\"response.type\" outlined>\n <div v-html=\"useRenderText(response.feedback)\" />\n </EpAlert>\n\n <div v-if=\"response.component\" class=\"my-2\">\n <component\n :is=\"getCompontent(response.component.type)\"\n v-bind=\"{ ...response.component.data }\"\n ></component>\n </div>\n </div>\n\n <EpBtn\n type=\"primary\"\n @click=\"checkAnswer\"\n :disabled=\"answered\"\n outlined\n extraClass=\"mr-2\"\n >{{ labelAnswerBtn }}</EpBtn\n >\n <EpBtn type=\"primary\" v-if=\"answered\" @click=\"reset\" outlined>{{\n labelTryAgainBtn\n }}</EpBtn>\n </div>\n </template>\n <!-- <template #actions>\n <EpBtn :color=\"type=='base'?'text-gray-700':'text-white'\" :type=\"type\">[Repair btn style... to change]</EpBtn>\n </template> -->\n </EpEdu>\n</template>\n"],"names":["_createBlock","EpEdu","_unref","type","labelIntentions","_createElementVNode","before","EpImg","_openBlock","_createElementBlock","_Fragment","_renderList","_createVNode","EpRadio","EpAlert","labelNoAnswer","_resolveDynamicComponent","_normalizeProps","_guardReactiveProps","EpBtn","labelAnswerBtn","labelTryAgainBtn"],"mappings":"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"}
@@ -40,7 +40,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
40
40
  currentNode.value = null;
41
41
  };
42
42
  const components = /* @__PURE__ */ Object.assign({
43
- "../basics/EpAvatar.vue": () => import("../basics/EpAvatar.vue.js"),
43
+ "../basics/EpAvatar.vue": () => import("../basics/EpAvatar.vue2.js"),
44
44
  "../basics/EpBadge.vue": () => import("../basics/EpBadge.vue.js"),
45
45
  "../basics/EpBtn.vue": () => import("../basics/EpBtn.vue2.js"),
46
46
  "../basics/EpCard.vue": () => import("../basics/EpCard.vue2.js"),
@@ -1 +1 @@
1
- {"version":3,"file":"EpHierarchy.vue2.js","sources":["../../../src/components/medias/EpHierarchy.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, onMounted, computed, defineAsyncComponent } from \"vue\";\nimport {\n hierarchy,\n tree,\n cluster,\n type HierarchyPointLink,\n type HierarchyPointNode,\n} from \"d3-hierarchy\";\nimport * as d3 from \"d3-selection\";\nimport { linkVertical, linkHorizontal } from \"d3-shape\";\nimport * as d3Zoom from \"d3-zoom\";\nimport type { TreeNode } from \"~/types/Hierarchy\";\nimport type { NestedComponents } from \"~/types/Component\";\nimport { useComponent } from \"~/composables/useComponent\";\nimport EpModal from \"~/components/interactions/EpModal.vue\";\nimport EpBtn from \"~/components/basics/EpBtn.vue\";\nimport { useRenderText } from \"~/composables/useRenderText\";\nimport type { EpHierarchyProps } from \"~/types/medias/EpHierarchy\";\n\nconst props = withDefaults(defineProps<EpHierarchyProps>(), {\n labelClose: \"fermer\",\n maxWidth: 800,\n maxHeight: 600,\n isCluster: false,\n colorRect: \"fill-red-400\",\n colorPath: \"stroke-yellow-400\",\n});\n\nconst treeContainer = ref<HTMLDivElement | null>(null);\nconst treeWrapper = ref<HTMLDivElement | null>(null);\n\n/* control modal */\ntype ShowNode = {\n title: string;\n text?: string;\n component?: NestedComponents;\n};\n\nconst currentNode = ref<ShowNode | null>(null);\nconst showModal = ref(false);\n\nconst handleNodeClick = (node: TreeNode) => {\n currentNode.value = {\n title: node.name,\n text: node.text,\n component: node.component,\n };\n showModal.value = true;\n};\n\nconst closeModal = () => {\n showModal.value = false;\n currentNode.value = null;\n};\n//nested component\n\nconst components = import.meta.glob([\n \"./*.vue\", // all components in medias (same folder)\n \"../basics/*.vue\", // components/charts/\n \"../signages/*.vue\", // components/signages/\n]);\n\nconst currentRenderComponent = computed(() => {\n if (!currentNode.value || !currentNode.value.component) {\n return null;\n }\n\n const { path, name } = useComponent(currentNode.value.component.type);\n //console.log(path, name)\n let fullPath = \"\";\n if (path === \"medias\") {\n fullPath = `./${name}.vue`;\n } else {\n fullPath = `../${path}/${name}.vue`;\n }\n //console.log(fullPath)\n const loader = components[fullPath] as\n | (() => Promise<{ default: NestedComponents }>)\n | undefined;\n\n if (!loader) {\n console.warn(`Component not found: ${fullPath}`);\n return null; // or defineAsyncComponent(() => import('../fallbacks/EpNothing.vue'))\n }\n\n return defineAsyncComponent(loader);\n});\n\nonMounted(() => {\n if (!treeContainer.value) return;\n\n if (props.isCluster) {\n clusterView();\n } else {\n treeView();\n }\n});\n\nconst treeView = () => {\n const rectW = 130;\n const rectH = 40;\n const margin = { top: 40, right: 40, bottom: 40, left: 40 };\n\n const root = hierarchy<TreeNode>(props.nodes);\n //const totalLeafCount = root.leaves().length\n const width = Math.max(props.maxWidth);\n const height = props.maxHeight;\n\n const treeLayout = tree<TreeNode>().nodeSize([200, 100]); // [x spacing, y spacing]\n\n const treeData = treeLayout(root);\n\n const svg = d3\n .select(treeContainer.value)\n .append(\"svg\")\n .attr(\"width\", width)\n .attr(\"height\", height);\n\n const g = svg\n .append(\"g\")\n .attr(\"transform\", `translate(${margin.left}, ${margin.top})`);\n\n const zoom = d3Zoom\n .zoom<SVGSVGElement, unknown>()\n .scaleExtent([0.1, 2])\n .on(\"zoom\", (event) => {\n g.attr(\"transform\", event.transform);\n });\n\n svg.call(zoom);\n\n const centerX = width / 2 - treeData.x;\n const centerY = 30; //height / 2 - treeData.y\n const identity = (d3Zoom as any).zoomIdentity;\n svg.call(zoom.transform, identity.translate(centerX, centerY));\n\n // Links\n const linkPath = linkVertical<\n HierarchyPointLink<TreeNode>,\n HierarchyPointNode<TreeNode>\n >()\n .x((d) => d.x)\n .y((d) => d.y);\n\n g.selectAll(\"path.link\")\n .data(treeData.links())\n .enter()\n .append(\"path\")\n .attr(\"d\", (d) => linkPath(d))\n .attr(\"class\", (d) => {\n const link = d.target.data.active\n ? `${props.colorPath} stroke-2`\n : \"stroke-black dark:stroke-white\";\n return `${link} link fill-none`;\n });\n\n // Nodes\n const node = g\n .selectAll(\"g.node\")\n .data(treeData.descendants())\n .enter()\n .append(\"g\")\n .attr(\"class\", \"node\")\n .attr(\"transform\", (d) => `translate(${d.x}, ${d.y})`)\n .style(\"cursor\", (d) =>\n d.data.component || d.data.text ? \"pointer\" : \"default\"\n )\n .each(function (d) {\n if (d.data.component || d.data.text) {\n d3.select(this).on(\"click\", (_event) => handleNodeClick(d.data));\n }\n });\n //.style('cursor', 'pointer')\n //.on('click', (_event, d) => handleNodeClick(d.data))\n\n node.each(function (d) {\n const group = d3.select(this);\n\n // Append text temporarily\n const text = group\n .append(\"text\")\n .attr(\"class\", \"text-sm font-semibold fill-black dark:fill-white\")\n .attr(\"text-anchor\", \"middle\")\n .attr(\"x\", 0)\n .attr(\"y\", 0)\n .attr(\"dy\", \".35em\")\n .text((d.data.label) ? d.data.label : d.data.name);\n\n // Get bounding box to determine text size\n const bbox = (text.node() as SVGTextElement).getBBox();\n const paddingX = 10;\n const paddingY = 10;\n\n const width = bbox.width + paddingX * 2;\n const height = bbox.height + paddingY * 2;\n\n // Draw rect using text size\n group\n .insert(\"rect\", \"text\")\n .attr(\"class\", props.colorRect)\n .attr(\"x\", -width / 2)\n .attr(\"y\", -height / 2)\n .attr(\"width\", width)\n .attr(\"height\", height)\n .attr(\"rx\", 4)\n .attr(\"ry\", 4);\n });\n\n node\n .append(\"text\")\n .attr(\"x\", 0)\n .attr(\"y\", 0)\n .attr(\"dy\", \".35em\")\n .attr(\"class\", \"text-sm font-semibold fill-white dark:fill-black\")\n .attr(\"text-anchor\", \"middle\")\n .text((d) => {return (d.data.label) ? d.data.label : d.data.name})\n .style(\"pointer-events\", \"none\");\n};\n\nconst clusterView = () => {\n const rectW = 130;\n const rectH = 40;\n const margin = { top: 40, right: 40, bottom: 40, left: 40 };\n\n const root = hierarchy<TreeNode>(props.nodes);\n //const totalLeafCount = root.leaves().length\n const width = Math.max(props.maxWidth);\n const height = props.maxHeight;\n\n const treeLayout = cluster<TreeNode>().nodeSize([130, 200]); // [x spacing, y spacing]\n\n const treeData = treeLayout(root);\n\n const svg = d3\n .select(treeContainer.value)\n .append(\"svg\")\n .attr(\"width\", width)\n .attr(\"height\", height);\n\n const g = svg\n .append(\"g\")\n .attr(\"transform\", `translate(${margin.left}, ${margin.top})`);\n\n const zoom = d3Zoom\n .zoom<SVGSVGElement, unknown>()\n .scaleExtent([0.1, 4])\n .on(\"zoom\", (event) => {\n g.attr(\"transform\", event.transform);\n });\n\n svg.call(zoom);\n\n const centerX = 30;\n const centerY = height / 2 - treeData.x;\n const identity = (d3Zoom as any).zoomIdentity;\n svg.call(zoom.transform, identity.translate(centerX, centerY));\n\n // Links\n const linkPath = linkHorizontal<\n HierarchyPointLink<TreeNode>,\n HierarchyPointNode<TreeNode>\n >()\n .x((d) => d.y)\n .y((d) => d.x);\n\n g.selectAll(\"path.link\")\n .data(treeData.links())\n .enter()\n .append(\"path\")\n .attr(\"d\", (d) => linkPath(d))\n .attr(\"class\", (d) => {\n const link = d.target.data.active\n ? `${props.colorPath} stroke-2`\n : \"stroke-black dark:stroke-white\";\n return `${link} link fill-none`;\n });\n\n // Nodes\n const node = g\n .selectAll(\"g.node\")\n .data(treeData.descendants())\n .enter()\n .append(\"g\")\n .attr(\"class\", \"node\")\n .attr(\"transform\", (d) => `translate(${d.y}, ${d.x})`)\n .style(\"cursor\", (d) =>\n d.data.component || d.data.text ? \"pointer\" : \"default\"\n )\n .each(function (d) {\n if (d.data.component || d.data.text) {\n d3.select(this).on(\"click\", (_event) => handleNodeClick(d.data));\n }\n });\n //.style('cursor', 'pointer')\n //.on('click', (_event, d) => handleNodeClick(d.data))\n\n node.each(function (d) {\n const group = d3.select(this);\n\n // Append text temporarily\n const text = group\n .append(\"text\")\n .attr(\"class\", \"text-sm font-semibold fill-black dark:fill-white\")\n .attr(\"text-anchor\", \"middle\")\n .attr(\"x\", 0)\n .attr(\"y\", 0)\n .attr(\"dy\", \".35em\")\n .text((d.data.label) ? d.data.label : d.data.name);\n\n // Get bounding box to determine text size\n const bbox = (text.node() as SVGTextElement).getBBox();\n const paddingX = 10;\n const paddingY = 10;\n\n const width = bbox.width + paddingX * 2;\n const height = bbox.height + paddingY * 2;\n\n // Draw rect using text size\n group\n .insert(\"rect\", \"text\")\n .attr(\"class\", props.colorRect)\n .attr(\"x\", -width / 2)\n .attr(\"y\", -height / 2)\n .attr(\"width\", width)\n .attr(\"height\", height)\n .attr(\"rx\", 4)\n .attr(\"ry\", 4);\n });\n\n node\n .append(\"text\")\n .attr(\"x\", 0)\n .attr(\"y\", 0)\n .attr(\"dy\", \".35em\")\n .attr(\"class\", \"text-sm font-semibold fill-white dark:fill-black\")\n .attr(\"text-anchor\", \"middle\")\n .text((d) => {return (d.data.label) ? d.data.label : d.data.name})\n .style(\"pointer-events\", \"none\");\n};\n\nconst maxW = computed(() => {\n return `${props.maxWidth.toString()}px`;\n});\n\nconst maxH = computed(() => {\n return `${props.maxWidth.toString()}px`;\n});\n</script>\n\n<template>\n <div>\n <div\n ref=\"treeWrapper\"\n class=\"ep-tree-wrapper mx-auto\"\n :style=\"{ maxHeight: maxH, maxWidth: maxW }\"\n >\n <div ref=\"treeContainer\" class=\"ep-tree-container\" />\n </div>\n <EpModal v-model=\"showModal\" :title=\"currentNode.title\" v-if=\"currentNode\">\n <div v-if=\"currentNode.text\" v-html=\"useRenderText(currentNode.text)\" />\n <template v-if=\"currentRenderComponent && currentNode.component\">\n <component\n :is=\"currentRenderComponent\"\n v-bind=\"{ ...currentNode.component.data }\"\n />\n </template>\n <div class=\"flex justify-end\">\n <EpBtn @click=\"closeModal\" type=\"error\" outlined rounded>{{\n labelClose\n }}</EpBtn>\n </div>\n </EpModal>\n </div>\n</template>\n\n<style scoped>\n.ep-tree-wrapper {\n overflow: auto;\n border: 1px solid #ddd;\n}\n\n.ep-tree-container {\n width: 100%;\n overflow-x: auto;\n}\n</style>\n"],"names":["width","height","_createElementBlock","_createElementVNode","_normalizeStyle","_createBlock","EpModal","_unref","_openBlock","_resolveDynamicComponent","_normalizeProps","_mergeProps","_createVNode","EpBtn","labelClose"],"mappings":"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"}
1
+ {"version":3,"file":"EpHierarchy.vue2.js","sources":["../../../src/components/medias/EpHierarchy.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, onMounted, computed, defineAsyncComponent } from \"vue\";\nimport {\n hierarchy,\n tree,\n cluster,\n type HierarchyPointLink,\n type HierarchyPointNode,\n} from \"d3-hierarchy\";\nimport * as d3 from \"d3-selection\";\nimport { linkVertical, linkHorizontal } from \"d3-shape\";\nimport * as d3Zoom from \"d3-zoom\";\nimport type { TreeNode } from \"~/types/Hierarchy\";\nimport type { NestedComponents } from \"~/types/Component\";\nimport { useComponent } from \"~/composables/useComponent\";\nimport EpModal from \"~/components/interactions/EpModal.vue\";\nimport EpBtn from \"~/components/basics/EpBtn.vue\";\nimport { useRenderText } from \"~/composables/useRenderText\";\nimport type { EpHierarchyProps } from \"~/types/medias/EpHierarchy\";\n\nconst props = withDefaults(defineProps<EpHierarchyProps>(), {\n labelClose: \"fermer\",\n maxWidth: 800,\n maxHeight: 600,\n isCluster: false,\n colorRect: \"fill-red-400\",\n colorPath: \"stroke-yellow-400\",\n});\n\nconst treeContainer = ref<HTMLDivElement | null>(null);\nconst treeWrapper = ref<HTMLDivElement | null>(null);\n\n/* control modal */\ntype ShowNode = {\n title: string;\n text?: string;\n component?: NestedComponents;\n};\n\nconst currentNode = ref<ShowNode | null>(null);\nconst showModal = ref(false);\n\nconst handleNodeClick = (node: TreeNode) => {\n currentNode.value = {\n title: node.name,\n text: node.text,\n component: node.component,\n };\n showModal.value = true;\n};\n\nconst closeModal = () => {\n showModal.value = false;\n currentNode.value = null;\n};\n//nested component\n\nconst components = import.meta.glob([\n \"./*.vue\", // all components in medias (same folder)\n \"../basics/*.vue\", // components/charts/\n \"../signages/*.vue\", // components/signages/\n]);\n\nconst currentRenderComponent = computed(() => {\n if (!currentNode.value || !currentNode.value.component) {\n return null;\n }\n\n const { path, name } = useComponent(currentNode.value.component.type);\n //console.log(path, name)\n let fullPath = \"\";\n if (path === \"medias\") {\n fullPath = `./${name}.vue`;\n } else {\n fullPath = `../${path}/${name}.vue`;\n }\n //console.log(fullPath)\n const loader = components[fullPath] as\n | (() => Promise<{ default: NestedComponents }>)\n | undefined;\n\n if (!loader) {\n console.warn(`Component not found: ${fullPath}`);\n return null; // or defineAsyncComponent(() => import('../fallbacks/EpNothing.vue'))\n }\n\n return defineAsyncComponent(loader);\n});\n\nonMounted(() => {\n if (!treeContainer.value) return;\n\n if (props.isCluster) {\n clusterView();\n } else {\n treeView();\n }\n});\n\nconst treeView = () => {\n const rectW = 130;\n const rectH = 40;\n const margin = { top: 40, right: 40, bottom: 40, left: 40 };\n\n const root = hierarchy<TreeNode>(props.nodes);\n //const totalLeafCount = root.leaves().length\n const width = Math.max(props.maxWidth);\n const height = props.maxHeight;\n\n const treeLayout = tree<TreeNode>().nodeSize([200, 100]); // [x spacing, y spacing]\n\n const treeData = treeLayout(root);\n\n const svg = d3\n .select(treeContainer.value)\n .append(\"svg\")\n .attr(\"width\", width)\n .attr(\"height\", height);\n\n const g = svg\n .append(\"g\")\n .attr(\"transform\", `translate(${margin.left}, ${margin.top})`);\n\n const zoom = d3Zoom\n .zoom<SVGSVGElement, unknown>()\n .scaleExtent([0.1, 2])\n .on(\"zoom\", (event) => {\n g.attr(\"transform\", event.transform);\n });\n\n svg.call(zoom);\n\n const centerX = width / 2 - treeData.x;\n const centerY = 30; //height / 2 - treeData.y\n const identity = (d3Zoom as any).zoomIdentity;\n svg.call(zoom.transform, identity.translate(centerX, centerY));\n\n // Links\n const linkPath = linkVertical<\n HierarchyPointLink<TreeNode>,\n HierarchyPointNode<TreeNode>\n >()\n .x((d) => d.x)\n .y((d) => d.y);\n\n g.selectAll(\"path.link\")\n .data(treeData.links())\n .enter()\n .append(\"path\")\n .attr(\"d\", (d) => linkPath(d))\n .attr(\"class\", (d) => {\n const link = d.target.data.active\n ? `${props.colorPath} stroke-2`\n : \"stroke-black dark:stroke-white\";\n return `${link} link fill-none`;\n });\n\n // Nodes\n const node = g\n .selectAll(\"g.node\")\n .data(treeData.descendants())\n .enter()\n .append(\"g\")\n .attr(\"class\", \"node\")\n .attr(\"transform\", (d) => `translate(${d.x}, ${d.y})`)\n .style(\"cursor\", (d) =>\n d.data.component || d.data.text ? \"pointer\" : \"default\"\n )\n .each(function (d) {\n if (d.data.component || d.data.text) {\n d3.select(this).on(\"click\", (_event) => handleNodeClick(d.data));\n }\n });\n //.style('cursor', 'pointer')\n //.on('click', (_event, d) => handleNodeClick(d.data))\n\n node.each(function (d) {\n const group = d3.select(this);\n\n // Append text temporarily\n const text = group\n .append(\"text\")\n .attr(\"class\", \"text-sm font-semibold fill-black dark:fill-white\")\n .attr(\"text-anchor\", \"middle\")\n .attr(\"x\", 0)\n .attr(\"y\", 0)\n .attr(\"dy\", \".35em\")\n .text((d.data.label) ? d.data.label : d.data.name);\n\n // Get bounding box to determine text size\n const bbox = (text.node() as SVGTextElement).getBBox();\n const paddingX = 10;\n const paddingY = 10;\n\n const width = bbox.width + paddingX * 2;\n const height = bbox.height + paddingY * 2;\n\n // Draw rect using text size\n group\n .insert(\"rect\", \"text\")\n .attr(\"class\", props.colorRect)\n .attr(\"x\", -width / 2)\n .attr(\"y\", -height / 2)\n .attr(\"width\", width)\n .attr(\"height\", height)\n .attr(\"rx\", 4)\n .attr(\"ry\", 4);\n });\n\n node\n .append(\"text\")\n .attr(\"x\", 0)\n .attr(\"y\", 0)\n .attr(\"dy\", \".35em\")\n .attr(\"class\", \"text-sm font-semibold fill-white dark:fill-black\")\n .attr(\"text-anchor\", \"middle\")\n .text((d) => {return (d.data.label) ? d.data.label : d.data.name})\n .style(\"pointer-events\", \"none\");\n};\n\nconst clusterView = () => {\n const rectW = 130;\n const rectH = 40;\n const margin = { top: 40, right: 40, bottom: 40, left: 40 };\n\n const root = hierarchy<TreeNode>(props.nodes);\n //const totalLeafCount = root.leaves().length\n const width = Math.max(props.maxWidth);\n const height = props.maxHeight;\n\n const treeLayout = cluster<TreeNode>().nodeSize([130, 200]); // [x spacing, y spacing]\n\n const treeData = treeLayout(root);\n\n const svg = d3\n .select(treeContainer.value)\n .append(\"svg\")\n .attr(\"width\", width)\n .attr(\"height\", height);\n\n const g = svg\n .append(\"g\")\n .attr(\"transform\", `translate(${margin.left}, ${margin.top})`);\n\n const zoom = d3Zoom\n .zoom<SVGSVGElement, unknown>()\n .scaleExtent([0.1, 4])\n .on(\"zoom\", (event) => {\n g.attr(\"transform\", event.transform);\n });\n\n svg.call(zoom);\n\n const centerX = 30;\n const centerY = height / 2 - treeData.x;\n const identity = (d3Zoom as any).zoomIdentity;\n svg.call(zoom.transform, identity.translate(centerX, centerY));\n\n // Links\n const linkPath = linkHorizontal<\n HierarchyPointLink<TreeNode>,\n HierarchyPointNode<TreeNode>\n >()\n .x((d) => d.y)\n .y((d) => d.x);\n\n g.selectAll(\"path.link\")\n .data(treeData.links())\n .enter()\n .append(\"path\")\n .attr(\"d\", (d) => linkPath(d))\n .attr(\"class\", (d) => {\n const link = d.target.data.active\n ? `${props.colorPath} stroke-2`\n : \"stroke-black dark:stroke-white\";\n return `${link} link fill-none`;\n });\n\n // Nodes\n const node = g\n .selectAll(\"g.node\")\n .data(treeData.descendants())\n .enter()\n .append(\"g\")\n .attr(\"class\", \"node\")\n .attr(\"transform\", (d) => `translate(${d.y}, ${d.x})`)\n .style(\"cursor\", (d) =>\n d.data.component || d.data.text ? \"pointer\" : \"default\"\n )\n .each(function (d) {\n if (d.data.component || d.data.text) {\n d3.select(this).on(\"click\", (_event) => handleNodeClick(d.data));\n }\n });\n //.style('cursor', 'pointer')\n //.on('click', (_event, d) => handleNodeClick(d.data))\n\n node.each(function (d) {\n const group = d3.select(this);\n\n // Append text temporarily\n const text = group\n .append(\"text\")\n .attr(\"class\", \"text-sm font-semibold fill-black dark:fill-white\")\n .attr(\"text-anchor\", \"middle\")\n .attr(\"x\", 0)\n .attr(\"y\", 0)\n .attr(\"dy\", \".35em\")\n .text((d.data.label) ? d.data.label : d.data.name);\n\n // Get bounding box to determine text size\n const bbox = (text.node() as SVGTextElement).getBBox();\n const paddingX = 10;\n const paddingY = 10;\n\n const width = bbox.width + paddingX * 2;\n const height = bbox.height + paddingY * 2;\n\n // Draw rect using text size\n group\n .insert(\"rect\", \"text\")\n .attr(\"class\", props.colorRect)\n .attr(\"x\", -width / 2)\n .attr(\"y\", -height / 2)\n .attr(\"width\", width)\n .attr(\"height\", height)\n .attr(\"rx\", 4)\n .attr(\"ry\", 4);\n });\n\n node\n .append(\"text\")\n .attr(\"x\", 0)\n .attr(\"y\", 0)\n .attr(\"dy\", \".35em\")\n .attr(\"class\", \"text-sm font-semibold fill-white dark:fill-black\")\n .attr(\"text-anchor\", \"middle\")\n .text((d) => {return (d.data.label) ? d.data.label : d.data.name})\n .style(\"pointer-events\", \"none\");\n};\n\nconst maxW = computed(() => {\n return `${props.maxWidth.toString()}px`;\n});\n\nconst maxH = computed(() => {\n return `${props.maxWidth.toString()}px`;\n});\n</script>\n\n<template>\n <div>\n <div\n ref=\"treeWrapper\"\n class=\"ep-tree-wrapper mx-auto\"\n :style=\"{ maxHeight: maxH, maxWidth: maxW }\"\n >\n <div ref=\"treeContainer\" class=\"ep-tree-container\" />\n </div>\n <EpModal v-model=\"showModal\" :title=\"currentNode.title\" v-if=\"currentNode\">\n <div v-if=\"currentNode.text\" v-html=\"useRenderText(currentNode.text)\" />\n <template v-if=\"currentRenderComponent && currentNode.component\">\n <component\n :is=\"currentRenderComponent\"\n v-bind=\"{ ...currentNode.component.data }\"\n />\n </template>\n <div class=\"flex justify-end\">\n <EpBtn @click=\"closeModal\" type=\"error\" outlined rounded>{{\n labelClose\n }}</EpBtn>\n </div>\n </EpModal>\n </div>\n</template>\n\n<style scoped>\n.ep-tree-wrapper {\n overflow: auto;\n border: 1px solid #ddd;\n}\n\n.ep-tree-container {\n width: 100%;\n overflow-x: auto;\n}\n</style>\n"],"names":["width","height","_createElementBlock","_createElementVNode","_normalizeStyle","_createBlock","EpModal","_unref","_openBlock","_resolveDynamicComponent","_normalizeProps","_mergeProps","_createVNode","EpBtn","labelClose"],"mappings":"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"}
@@ -22,7 +22,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
22
22
  if (props.media) {
23
23
  const componentToLoad = useComponent(props.media.type);
24
24
  return defineAsyncComponent(
25
- () => __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/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/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.vue.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/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/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"), "./AsyncKatexRender.vue": () => import("./AsyncKatexRender.vue.js"), "./BgAudio.vue": () => import("./BgAudio.vue.js"), "./Details.vue": () => import("./Details.vue.js"), "./DisplayBox.vue": () => import("./DisplayBox.vue.js"), "./SvgFilter.vue": () => import("./SvgFilter.vue.js"), "./TextMedia.vue": () => import("./TextMedia.vue.js"), "./TimelineItem.vue": () => import("./TimelineItem.vue.js"), "./TwoColsMedia.vue": () => import("./TwoColsMedia.vue.js") }), `../${componentToLoad.path}/${componentToLoad.name}.vue`, 3)
25
+ () => __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../basics/EpAvatar.vue": () => import("../basics/EpAvatar.vue2.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/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/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.vue.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/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/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"), "./AsyncKatexRender.vue": () => import("./AsyncKatexRender.vue.js"), "./BgAudio.vue": () => import("./BgAudio.vue.js"), "./Details.vue": () => import("./Details.vue.js"), "./DisplayBox.vue": () => import("./DisplayBox.vue.js"), "./SvgFilter.vue": () => import("./SvgFilter.vue.js"), "./TextMedia.vue": () => import("./TextMedia.vue.js"), "./TimelineItem.vue": () => import("./TimelineItem.vue.js"), "./TwoColsMedia.vue": () => import("./TwoColsMedia.vue.js") }), `../${componentToLoad.path}/${componentToLoad.name}.vue`, 3)
26
26
  );
27
27
  }
28
28
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"TextMedia.vue2.js","sources":["../../../src/components/tools/TextMedia.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, defineAsyncComponent } from \"vue\";\nimport { useRenderText } from \"~/composables/useRenderText\";\nimport { useComponent } from \"~/composables/useComponent\";\nimport type { NestedComponents } from \"~/types/Component\";\n\ninterface Props {\n media?: NestedComponents;\n flexCol?: boolean;\n text: string;\n cols?: boolean;\n textLeft?: boolean;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n flexCol: false\n});\n\nconst currentRenderComponent = computed(() => {\n if (props.media) {\n const componentToLoad = useComponent(props.media.type);\n return defineAsyncComponent(\n () => import(`../${componentToLoad.path}/${componentToLoad.name}.vue`)\n );\n }\n return null;\n});\n\nconst colsStyle = computed(() => {\n return props.cols ? \"flex items-center justify-center gap-1\" : \"\";\n});\n\nconst alignText = computed(() => {\n return props.textLeft ? \"text-red-900\" : \"text-red-700\";\n});\n</script>\n\n<template>\n <div :class=\"colsStyle\">\n <div :class=\"`w-full ${(flexCol ? 'flex flex-col' : '')}`\" v-html=\"useRenderText(text)\" />\n <div class=\"w-full\" v-if=\"currentRenderComponent && media\">\n <component :is=\"currentRenderComponent\" v-bind=\"{ ...media.data, card:true }\" />\n </div>\n </div>\n</template>\n"],"names":["_createElementBlock","_createElementVNode","flexCol","_unref","text","media","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeProps","_guardReactiveProps"],"mappings":"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"}
1
+ {"version":3,"file":"TextMedia.vue2.js","sources":["../../../src/components/tools/TextMedia.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, defineAsyncComponent } from \"vue\";\nimport { useRenderText } from \"~/composables/useRenderText\";\nimport { useComponent } from \"~/composables/useComponent\";\nimport type { NestedComponents } from \"~/types/Component\";\n\ninterface Props {\n media?: NestedComponents;\n flexCol?: boolean;\n text: string;\n cols?: boolean;\n textLeft?: boolean;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n flexCol: false\n});\n\nconst currentRenderComponent = computed(() => {\n if (props.media) {\n const componentToLoad = useComponent(props.media.type);\n return defineAsyncComponent(\n () => import(`../${componentToLoad.path}/${componentToLoad.name}.vue`)\n );\n }\n return null;\n});\n\nconst colsStyle = computed(() => {\n return props.cols ? \"flex items-center justify-center gap-1\" : \"\";\n});\n\nconst alignText = computed(() => {\n return props.textLeft ? \"text-red-900\" : \"text-red-700\";\n});\n</script>\n\n<template>\n <div :class=\"colsStyle\">\n <div :class=\"`w-full ${(flexCol ? 'flex flex-col' : '')}`\" v-html=\"useRenderText(text)\" />\n <div class=\"w-full\" v-if=\"currentRenderComponent && media\">\n <component :is=\"currentRenderComponent\" v-bind=\"{ ...media.data, card:true }\" />\n </div>\n </div>\n</template>\n"],"names":["_createElementBlock","_createElementVNode","flexCol","_unref","text","media","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeProps","_guardReactiveProps"],"mappings":"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"}
@@ -23,7 +23,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
23
23
  if (props.mediaLeft) {
24
24
  const componentToLoad = useComponent(props.mediaLeft.type);
25
25
  return defineAsyncComponent(
26
- () => __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/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/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.vue.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/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/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"), "./AsyncKatexRender.vue": () => import("./AsyncKatexRender.vue.js"), "./BgAudio.vue": () => import("./BgAudio.vue.js"), "./Details.vue": () => import("./Details.vue.js"), "./DisplayBox.vue": () => import("./DisplayBox.vue.js"), "./SvgFilter.vue": () => import("./SvgFilter.vue.js"), "./TextMedia.vue": () => import("./TextMedia.vue.js"), "./TimelineItem.vue": () => import("./TimelineItem.vue.js"), "./TwoColsMedia.vue": () => import("./TwoColsMedia.vue.js") }), `../${componentToLoad.path}/${componentToLoad.name}.vue`, 3)
26
+ () => __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../basics/EpAvatar.vue": () => import("../basics/EpAvatar.vue2.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/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/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.vue.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/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/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"), "./AsyncKatexRender.vue": () => import("./AsyncKatexRender.vue.js"), "./BgAudio.vue": () => import("./BgAudio.vue.js"), "./Details.vue": () => import("./Details.vue.js"), "./DisplayBox.vue": () => import("./DisplayBox.vue.js"), "./SvgFilter.vue": () => import("./SvgFilter.vue.js"), "./TextMedia.vue": () => import("./TextMedia.vue.js"), "./TimelineItem.vue": () => import("./TimelineItem.vue.js"), "./TwoColsMedia.vue": () => import("./TwoColsMedia.vue.js") }), `../${componentToLoad.path}/${componentToLoad.name}.vue`, 3)
27
27
  );
28
28
  }
29
29
  return null;
@@ -32,7 +32,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
32
32
  if (props.mediaRight) {
33
33
  const componentToLoad = useComponent(props.mediaRight.type);
34
34
  return defineAsyncComponent(
35
- () => __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/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/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.vue.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/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/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"), "./AsyncKatexRender.vue": () => import("./AsyncKatexRender.vue.js"), "./BgAudio.vue": () => import("./BgAudio.vue.js"), "./Details.vue": () => import("./Details.vue.js"), "./DisplayBox.vue": () => import("./DisplayBox.vue.js"), "./SvgFilter.vue": () => import("./SvgFilter.vue.js"), "./TextMedia.vue": () => import("./TextMedia.vue.js"), "./TimelineItem.vue": () => import("./TimelineItem.vue.js"), "./TwoColsMedia.vue": () => import("./TwoColsMedia.vue.js") }), `../${componentToLoad.path}/${componentToLoad.name}.vue`, 3)
35
+ () => __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../basics/EpAvatar.vue": () => import("../basics/EpAvatar.vue2.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/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/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.vue.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/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/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"), "./AsyncKatexRender.vue": () => import("./AsyncKatexRender.vue.js"), "./BgAudio.vue": () => import("./BgAudio.vue.js"), "./Details.vue": () => import("./Details.vue.js"), "./DisplayBox.vue": () => import("./DisplayBox.vue.js"), "./SvgFilter.vue": () => import("./SvgFilter.vue.js"), "./TextMedia.vue": () => import("./TextMedia.vue.js"), "./TimelineItem.vue": () => import("./TimelineItem.vue.js"), "./TwoColsMedia.vue": () => import("./TwoColsMedia.vue.js") }), `../${componentToLoad.path}/${componentToLoad.name}.vue`, 3)
36
36
  );
37
37
  }
38
38
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"TwoColsMedia.vue2.js","sources":["../../../src/components/tools/TwoColsMedia.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, defineAsyncComponent } from \"vue\";\nimport { useComponent } from \"~/composables/useComponent\";\nimport type { NestedComponents } from \"~/types/Component\";\n\ninterface Props {\n mediaLeft: NestedComponents;\n mediaRight: NestedComponents;\n cols?: boolean;\n textLeft?: boolean;\n}\n\nconst props = withDefaults(defineProps<Props>(), {});\n\nconst leftComponent = computed(() => {\n if (props.mediaLeft) {\n const componentToLoad = useComponent(props.mediaLeft.type);\n return defineAsyncComponent(\n () => import(`../${componentToLoad.path}/${componentToLoad.name}.vue`)\n );\n }\n return null;\n});\n\nconst rightComponent = computed(() => {\n if (props.mediaRight) {\n const componentToLoad = useComponent(props.mediaRight.type);\n return defineAsyncComponent(\n () => import(`../${componentToLoad.path}/${componentToLoad.name}.vue`)\n );\n }\n return null;\n});\n\nconst colsStyle = computed(() => {\n return props.cols ? \"flex items-center justify-center gap-1\" : \"\";\n});\n</script>\n\n<template>\n <div :class=\"colsStyle\">\n <div class=\"w-full\" v-if=\"leftComponent && mediaLeft\">\n <component :is=\"leftComponent\" v-bind=\"{ ...mediaLeft.data }\" />\n </div>\n <div class=\"w-full\" v-if=\"rightComponent && rightComponent\">\n <component :is=\"rightComponent\" v-bind=\"{ ...rightComponent.data }\" />\n </div>\n </div>\n</template>\n"],"names":["_createElementBlock","mediaLeft","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeProps","_guardReactiveProps"],"mappings":"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"}
1
+ {"version":3,"file":"TwoColsMedia.vue2.js","sources":["../../../src/components/tools/TwoColsMedia.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, defineAsyncComponent } from \"vue\";\nimport { useComponent } from \"~/composables/useComponent\";\nimport type { NestedComponents } from \"~/types/Component\";\n\ninterface Props {\n mediaLeft: NestedComponents;\n mediaRight: NestedComponents;\n cols?: boolean;\n textLeft?: boolean;\n}\n\nconst props = withDefaults(defineProps<Props>(), {});\n\nconst leftComponent = computed(() => {\n if (props.mediaLeft) {\n const componentToLoad = useComponent(props.mediaLeft.type);\n return defineAsyncComponent(\n () => import(`../${componentToLoad.path}/${componentToLoad.name}.vue`)\n );\n }\n return null;\n});\n\nconst rightComponent = computed(() => {\n if (props.mediaRight) {\n const componentToLoad = useComponent(props.mediaRight.type);\n return defineAsyncComponent(\n () => import(`../${componentToLoad.path}/${componentToLoad.name}.vue`)\n );\n }\n return null;\n});\n\nconst colsStyle = computed(() => {\n return props.cols ? \"flex items-center justify-center gap-1\" : \"\";\n});\n</script>\n\n<template>\n <div :class=\"colsStyle\">\n <div class=\"w-full\" v-if=\"leftComponent && mediaLeft\">\n <component :is=\"leftComponent\" v-bind=\"{ ...mediaLeft.data }\" />\n </div>\n <div class=\"w-full\" v-if=\"rightComponent && rightComponent\">\n <component :is=\"rightComponent\" v-bind=\"{ ...rightComponent.data }\" />\n </div>\n </div>\n</template>\n"],"names":["_createElementBlock","mediaLeft","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeProps","_guardReactiveProps"],"mappings":"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"}
package/dist/style.css CHANGED
@@ -1,9 +1,4 @@
1
1
 
2
- .katex[data-v-a9b6227c] {
3
- font-size: 1.6em;
4
- }
5
-
6
-
7
2
  .eptimeline-list-enter-active[data-v-6ad2fc60],
8
3
  .eptimeline-list-leave-active[data-v-6ad2fc60] {
9
4
  transition: all 0.5s ease;
@@ -13,6 +8,11 @@
13
8
  opacity: 0;
14
9
  transform: translateX(30px);
15
10
  }
11
+
12
+
13
+ .katex[data-v-a9b6227c] {
14
+ font-size: 1.6em;
15
+ }
16
16
  /*$vite$:1*/
17
17
 
18
18
  .perspective-1000[data-v-888bce6b] { perspective: 1000px
@@ -31,9 +31,29 @@
31
31
  }
32
32
  /*$vite$:1*/
33
33
 
34
- .ep-accordeon-content[data-v-9a4f2570] {
35
- transition: max-height 0.2s ease-out;
36
- overflow: hidden;
34
+ pre {
35
+ white-space: break-spaces;
36
+ }
37
+ /*$vite$:1*/
38
+
39
+ .ep-tree-wrapper[data-v-482cff9d] {
40
+ overflow: auto;
41
+ border: 1px solid #ddd;
42
+ }
43
+ .ep-tree-container[data-v-482cff9d] {
44
+ width: 100%;
45
+ overflow-x: auto;
46
+ }
47
+ /*$vite$:1*/
48
+
49
+ .shape[data-v-4a99873e] {
50
+ height: var(--e4ec2c0a);
51
+ width: var(--3f346a72);
52
+ }
53
+ /*$vite$:1*/
54
+
55
+ .ep-sensible-content[data-v-1ec08c6f] {
56
+ position: relative;
37
57
  }
38
58
  /*$vite$:1*/
39
59
 
@@ -76,26 +96,6 @@
76
96
  }
77
97
  /*$vite$:1*/
78
98
 
79
- .ep-sensible-content[data-v-1ec08c6f] {
80
- position: relative;
81
- }
82
- /*$vite$:1*/
83
-
84
- .ep-tree-wrapper[data-v-482cff9d] {
85
- overflow: auto;
86
- border: 1px solid #ddd;
87
- }
88
- .ep-tree-container[data-v-482cff9d] {
89
- width: 100%;
90
- overflow-x: auto;
91
- }
92
- /*$vite$:1*/
93
-
94
- pre {
95
- white-space: break-spaces;
96
- }
97
- /*$vite$:1*/
98
-
99
99
  @keyframes fade-6f6eb558 {
100
100
  0% {
101
101
  opacity: 0;
@@ -143,9 +143,9 @@ pre {
143
143
  }
144
144
  /*$vite$:1*/
145
145
 
146
- .shape[data-v-4a99873e] {
147
- height: var(--e4ec2c0a);
148
- width: var(--3f346a72);
146
+ .ep-accordeon-content[data-v-9a4f2570] {
147
+ transition: max-height 0.2s ease-out;
148
+ overflow: hidden;
149
149
  }
150
150
  /*$vite$:1*/
151
151
 
@@ -160,15 +160,15 @@ pre {
160
160
  }
161
161
  /*$vite$:1*/
162
162
 
163
+ .ep-content-timeline-item[data-v-5f6c3e06] {
164
+ max-height: 0;
165
+ overflow: hidden;
166
+ }
167
+ /*$vite$:1*/
168
+
163
169
  .ep-display-box[data-v-4e1d2bd1] {
164
170
  z-index: 9999;
165
171
  position: absolute;
166
172
  right: 12rem;
167
173
  }
168
- /*$vite$:1*/
169
-
170
- .ep-content-timeline-item[data-v-5f6c3e06] {
171
- max-height: 0;
172
- overflow: hidden;
173
- }
174
174
  /*$vite$:1*/
@@ -1,4 +1,4 @@
1
- import { Color } from '../Colors';
1
+ import { Color } from '../types/Colors';
2
2
  export interface EpAvatarProps {
3
3
  src?: string;
4
4
  alt?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ep-lib-ts",
3
- "version": "1.0.92",
3
+ "version": "1.0.96",
4
4
  "type": "module",
5
5
  "files": ["dist"],
6
6
  "main": "./dist/index.js",