ep-lib-ts 1.0.49 → 1.0.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/dist/BgAudio-CfOyhY60.js +4 -0
  2. package/dist/Details-C2ibtnG1.js +4 -0
  3. package/dist/DisplayBox-842AxmPD.js +4 -0
  4. package/dist/EpAlert-D_1oS26j.js +4 -0
  5. package/dist/EpAudio-CkAmtlFP.js +4 -0
  6. package/dist/EpAvatar-C3aEQ8pb.js +4 -0
  7. package/dist/EpBadge-DTAqBHg0.js +4 -0
  8. package/dist/EpBarChart-B477k9Ot.js +4 -0
  9. package/dist/EpBtn-w2CaP7VV.js +4 -0
  10. package/dist/EpCard-BBn794w5.js +4 -0
  11. package/dist/EpCardLink-BXD2hNWN.js +4 -0
  12. package/dist/EpChip-D7yiZLYj.js +4 -0
  13. package/dist/EpCodeblock-Csmouv_q.js +4 -0
  14. package/dist/EpConclusion-B3uB1fwu.js +4 -0
  15. package/dist/EpContentSlider-DhQqokB-.js +4 -0
  16. package/dist/{EpDarkmode-BPniecbD.js → EpDarkmode-DjqBE3PK.js} +1 -1
  17. package/dist/EpDescription-DXFCekiB.js +4 -0
  18. package/dist/EpDivider-DuqIp04O.js +4 -0
  19. package/dist/EpDocument-kCCmYdZd.js +4 -0
  20. package/dist/{EpDraggable-Bz-XSfgs.js → EpDraggable-BdqCt0bX.js} +1 -1
  21. package/dist/EpEdu-Cmoe0FPr.js +4 -0
  22. package/dist/EpFlex-B5vaUPNy.js +4 -0
  23. package/dist/EpFunnelChart-CCY-RIHg.js +4 -0
  24. package/dist/EpHeader-hbN7H1zv.js +4 -0
  25. package/dist/EpHover-BEfGwtRy.js +4 -0
  26. package/dist/EpHoverCard-CLc-BteV.js +4 -0
  27. package/dist/EpIcon-DBG-wtLX.js +4 -0
  28. package/dist/EpIframe-B8sHwop-.js +4 -0
  29. package/dist/EpImg-CmzA6uO-.js +4 -0
  30. package/dist/EpImgCarousel-CV6GYKIV.js +4 -0
  31. package/dist/{EpInput-Bm2JshuU.js → EpInput-Dn3ZhCkT.js} +1 -1
  32. package/dist/EpInstructions-_ZpOEQkA.js +4 -0
  33. package/dist/EpIntroduction-LMhdJymO.js +4 -0
  34. package/dist/EpLineChart-BTfB4-nk.js +4 -0
  35. package/dist/EpLink-D_RoQCwk.js +4 -0
  36. package/dist/EpLinkVersion-CyJ5Zso3.js +4 -0
  37. package/dist/{EpList-BnNtdYvW.js → EpList-Yhz8LAhH.js} +1 -1
  38. package/dist/EpModal-D6002RFz.js +4 -0
  39. package/dist/{EpNothing-GmXIbWfZ.js → EpNothing-TCBDkSPe.js} +1 -1
  40. package/dist/EpObjective-me7OFFWn.js +4 -0
  41. package/dist/EpPieChart-C0myD-Lh.js +4 -0
  42. package/dist/EpQuestion-Dgd_r9Di.js +4 -0
  43. package/dist/EpQuote-CerpN43p.js +4 -0
  44. package/dist/EpRadio-D788J3ol.js +4 -0
  45. package/dist/EpRadioSummative-CpBwOYCi.js +4 -0
  46. package/dist/EpReading-wcrCpcQ-.js +4 -0
  47. package/dist/EpResource-Dh038rvl.js +4 -0
  48. package/dist/EpScope-N1_GpZry.js +4 -0
  49. package/dist/EpSection-BtV8HQLl.js +4 -0
  50. package/dist/EpSectionCols-CVaWBh4Z.js +4 -0
  51. package/dist/EpSkeleton-PLY2DMXj.js +4 -0
  52. package/dist/EpSoftware--IWOZC1R.js +4 -0
  53. package/dist/EpSpecificObjective-CH7jCrOb.js +4 -0
  54. package/dist/EpSpinner-BnJarh6N.js +4 -0
  55. package/dist/EpStackedList-CB9birW-.js +4 -0
  56. package/dist/EpSummativeTable-C5HW1Sk5.js +4 -0
  57. package/dist/EpSvg-F4ikbEKY.js +4 -0
  58. package/dist/EpSvgShow-CEdQpJyn.js +4 -0
  59. package/dist/EpTable-SSCSZK__.js +4 -0
  60. package/dist/EpTerm-_NGJgmG0.js +4 -0
  61. package/dist/EpText-CzSBl1zy.js +4 -0
  62. package/dist/EpTimeLine-BnK4Gl34.js +4 -0
  63. package/dist/EpVideo-DLYxwxnk.js +4 -0
  64. package/dist/EpVideoPanopto-BOx_s1Qa.js +4 -0
  65. package/dist/EpWordDef-CGSFlRbS.js +4 -0
  66. package/dist/TextMedia-ovcNIdCV.js +4 -0
  67. package/dist/components/educationals/EpBranchingScenario.vue.d.ts +2 -13
  68. package/dist/ep-lib-ts.js +1 -1
  69. package/dist/ep-lib-ts.umd.cjs +68 -68
  70. package/dist/{index-Cb4ZFiWj.js → index-BZh3ZH_r.js} +1536 -1491
  71. package/dist/{index-bqynSyW7.js → index-DVN62rPz.js} +1 -1
  72. package/dist/{prism-CeEvbe3m.js → prism-CnGAWjP8.js} +1 -1
  73. package/dist/style.css +1 -1
  74. package/dist/types/Component.d.ts +1 -1
  75. package/dist/types/Hierarchy.d.ts +1 -0
  76. package/package.json +2 -2
  77. package/src/components/educationals/EpBranchingScenario.vue +18 -24
  78. package/src/components/medias/EpHierarchy.vue +28 -5
  79. package/dist/BgAudio-CYb5KE4e.js +0 -4
  80. package/dist/Details-l0QohhKF.js +0 -4
  81. package/dist/DisplayBox-CvOsk1JY.js +0 -4
  82. package/dist/EpAlert-DeqgXnQO.js +0 -4
  83. package/dist/EpAudio-DoISeqN2.js +0 -4
  84. package/dist/EpAvatar-BXRUSwI6.js +0 -4
  85. package/dist/EpBadge-Bddwjyp7.js +0 -4
  86. package/dist/EpBarChart-CKlw78WS.js +0 -4
  87. package/dist/EpBtn-zaFgtcS3.js +0 -4
  88. package/dist/EpCard-BjC1KgGN.js +0 -4
  89. package/dist/EpCardLink-C3jcT4P7.js +0 -4
  90. package/dist/EpChip-XHI5vZ2C.js +0 -4
  91. package/dist/EpCodeblock-C6pJlyC1.js +0 -4
  92. package/dist/EpConclusion-DujmCuG5.js +0 -4
  93. package/dist/EpContentSlider-D6O-G2BS.js +0 -4
  94. package/dist/EpDescription-DLVHr4_W.js +0 -4
  95. package/dist/EpDivider-hbHIHTdr.js +0 -4
  96. package/dist/EpDocument-D5ES1bRu.js +0 -4
  97. package/dist/EpEdu-CuPLvCe6.js +0 -4
  98. package/dist/EpFlex-Bx_eqlzL.js +0 -4
  99. package/dist/EpFunnelChart-CgsIcyps.js +0 -4
  100. package/dist/EpHeader-C8sYMEC0.js +0 -4
  101. package/dist/EpHover-cnkHN1M-.js +0 -4
  102. package/dist/EpHoverCard-DppNEf64.js +0 -4
  103. package/dist/EpIcon-BCqr5Ot1.js +0 -4
  104. package/dist/EpIframe-DUxN35fn.js +0 -4
  105. package/dist/EpImg-ClNWe5kJ.js +0 -4
  106. package/dist/EpImgCarousel-D-iXPu4z.js +0 -4
  107. package/dist/EpInstructions-Dc4q_QjZ.js +0 -4
  108. package/dist/EpIntroduction-DM0Q0E0T.js +0 -4
  109. package/dist/EpLineChart-CIvYN1Yp.js +0 -4
  110. package/dist/EpLink-IHkB-w_Q.js +0 -4
  111. package/dist/EpLinkVersion-BqUZONE9.js +0 -4
  112. package/dist/EpModal-gQSRYF2n.js +0 -4
  113. package/dist/EpObjective-Csros8eb.js +0 -4
  114. package/dist/EpPieChart-BXx3RcRW.js +0 -4
  115. package/dist/EpQuestion-BiJQuKyu.js +0 -4
  116. package/dist/EpQuote-Ch1GZ1ji.js +0 -4
  117. package/dist/EpRadio-BjtStIXT.js +0 -4
  118. package/dist/EpRadioSummative-BVZGSygu.js +0 -4
  119. package/dist/EpReading-x-r9mYNT.js +0 -4
  120. package/dist/EpResource-BMMvkWBG.js +0 -4
  121. package/dist/EpScope-CsBXs1FV.js +0 -4
  122. package/dist/EpSection-CyMCPG5c.js +0 -4
  123. package/dist/EpSectionCols-Du1wc6V4.js +0 -4
  124. package/dist/EpSkeleton-ZkC-P6qW.js +0 -4
  125. package/dist/EpSoftware-TbJthBnR.js +0 -4
  126. package/dist/EpSpecificObjective-gmLoa00z.js +0 -4
  127. package/dist/EpSpinner-PlbKZST4.js +0 -4
  128. package/dist/EpStackedList-CC6NU2sF.js +0 -4
  129. package/dist/EpSummativeTable-DiiLAX4L.js +0 -4
  130. package/dist/EpSvg-CsJKW3j6.js +0 -4
  131. package/dist/EpSvgShow-BM6RFmzm.js +0 -4
  132. package/dist/EpTable-BhrO8hKV.js +0 -4
  133. package/dist/EpTerm-Deo_xUAB.js +0 -4
  134. package/dist/EpText-CkXF6fqe.js +0 -4
  135. package/dist/EpTimeLine-D6xKVMfz.js +0 -4
  136. package/dist/EpVideo-BlTilyoX.js +0 -4
  137. package/dist/EpVideoPanopto-CZjYmJKA.js +0 -4
  138. package/dist/EpWordDef-gjtO1h3X.js +0 -4
  139. package/dist/TextMedia-BEyaaSK_.js +0 -4
@@ -1,4 +1,4 @@
1
- import { ac as xl } from "./index-Cb4ZFiWj.js";
1
+ import { ac as xl } from "./index-BZh3ZH_r.js";
2
2
  function ul(n) {
3
3
  return n instanceof Map ? n.clear = n.delete = n.set = function() {
4
4
  throw new Error("map is read-only");
@@ -1,4 +1,4 @@
1
- import { ac as V, ad as W } from "./index-Cb4ZFiWj.js";
1
+ import { ac as V, ad as W } from "./index-BZh3ZH_r.js";
2
2
  function ee(S, P) {
3
3
  for (var i = 0; i < P.length; i++) {
4
4
  const g = P[i];
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .content[data-v-3a321611]{max-height:0;overflow:hidden}.modal-mask{position:fixed;z-index:9998;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;transition:opacity .3s ease}.modal-container{margin:auto;max-height:95%;transition:all .3s ease;z-index:9999}.modal-header h3{margin-top:0;color:#42b983}.modal-body{margin:20px 0}.modal-default-button{float:right}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal-container,.modal-leave-to .modal-container{transform:scale(1.1)}.custom_index{z-index:9999;position:absolute;right:12rem}pre{white-space:break-spaces}.tree-wrapper[data-v-bc317bc6]{overflow:auto;border:1px solid #ddd}.tree-container[data-v-bc317bc6]{width:100%;overflow-x:auto}@keyframes fade-1e22db06{0%{opacity:0}to{opacity:1}}@keyframes scale-1e22db06{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slideY-1e22db06{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.fade[data-v-1e22db06]{animation:fade-1e22db06 1s}.scale[data-v-1e22db06]{animation:scale-1e22db06 1s}.slideY[data-v-1e22db06]{animation:slideY-1e22db06 1s}.shape{height:var(--57a4c52c);width:var(--32b5e5ba)}.v-enter-active[data-v-7e484601],.v-leave-active[data-v-7e484601]{transition:opacity .5s ease}.v-enter-from[data-v-7e484601],.v-leave-to[data-v-7e484601]{opacity:0}.katex[data-v-a5d595cd]{font-size:1.6em}.content[data-v-1ad88e28]{max-height:0;overflow:hidden}.list-enter-active,.list-leave-active{transition:all .5s ease}.list-enter-from,.list-leave-to{opacity:0;transform:translate(30px)}.arrow-light-top:before{content:" ";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:rgba(0,0,0,.2) transparent transparent transparent}.arrow-dark-top:before{content:" ";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:black transparent transparent transparent}.arrow-light-bottom:before{content:"";position:absolute;display:inline-block;left:50%;bottom:100%;border-right:7px solid transparent;border-bottom:7px solid #eee;border-left:7px solid transparent;border-bottom-color:#0003}.arrow-dark-bottom:before{content:"";position:absolute;display:inline-block;left:50%;bottom:100%;border-right:7px solid transparent;border-bottom:7px solid black;border-left:7px solid transparent;border-bottom-color:black transparent transparent transparent}.arrow-light-left:before{position:absolute;display:inline-block;left:100%;top:50%;content:"";margin-right:0;border-top:5px solid transparent;border-left:5px solid #eee;border-bottom:5px solid transparent;border-left-color:#0003}.arrow-dark-left:before{position:absolute;display:inline-block;left:100%;top:50%;content:"";margin-right:0;border-top:5px solid transparent;border-left:5px solid black;border-bottom:5px solid transparent;border-left-color:black transparent transparent transparent}.arrow-light-right:before{position:absolute;display:inline-block;right:100%;top:50%;content:"";margin-right:0;border-top:5px solid transparent;border-right:5px solid #eee;border-bottom:5px solid transparent;border-right-color:#0003}.arrow-dark-right:before{position:absolute;display:inline-block;right:100%;top:50%;content:"";margin-right:0;border-top:5px solid transparent;border-right:5px solid black;border-bottom:5px solid transparent;border-right-color:black transparent transparent transparent}
1
+ .content[data-v-3a321611]{max-height:0;overflow:hidden}.modal-mask{position:fixed;z-index:9998;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;transition:opacity .3s ease}.modal-container{margin:auto;max-height:95%;transition:all .3s ease;z-index:9999}.modal-header h3{margin-top:0;color:#42b983}.modal-body{margin:20px 0}.modal-default-button{float:right}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal-container,.modal-leave-to .modal-container{transform:scale(1.1)}.custom_index{z-index:9999;position:absolute;right:12rem}pre{white-space:break-spaces}.tree-wrapper[data-v-633f0b83]{overflow:auto;border:1px solid #ddd}.tree-container[data-v-633f0b83]{width:100%;overflow-x:auto}@keyframes fade-e6b482bf{0%{opacity:0}to{opacity:1}}@keyframes scale-e6b482bf{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slideY-e6b482bf{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.fade[data-v-e6b482bf]{animation:fade-e6b482bf 1s}.scale[data-v-e6b482bf]{animation:scale-e6b482bf 1s}.slideY[data-v-e6b482bf]{animation:slideY-e6b482bf 1s}.shape{height:var(--57a4c52c);width:var(--32b5e5ba)}.v-enter-active[data-v-7e484601],.v-leave-active[data-v-7e484601]{transition:opacity .5s ease}.v-enter-from[data-v-7e484601],.v-leave-to[data-v-7e484601]{opacity:0}.katex[data-v-a5d595cd]{font-size:1.6em}.content[data-v-1ad88e28]{max-height:0;overflow:hidden}.list-enter-active,.list-leave-active{transition:all .5s ease}.list-enter-from,.list-leave-to{opacity:0;transform:translate(30px)}.arrow-light-top:before{content:" ";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:rgba(0,0,0,.2) transparent transparent transparent}.arrow-dark-top:before{content:" ";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:black transparent transparent transparent}.arrow-light-bottom:before{content:"";position:absolute;display:inline-block;left:50%;bottom:100%;border-right:7px solid transparent;border-bottom:7px solid #eee;border-left:7px solid transparent;border-bottom-color:#0003}.arrow-dark-bottom:before{content:"";position:absolute;display:inline-block;left:50%;bottom:100%;border-right:7px solid transparent;border-bottom:7px solid black;border-left:7px solid transparent;border-bottom-color:black transparent transparent transparent}.arrow-light-left:before{position:absolute;display:inline-block;left:100%;top:50%;content:"";margin-right:0;border-top:5px solid transparent;border-left:5px solid #eee;border-bottom:5px solid transparent;border-left-color:#0003}.arrow-dark-left:before{position:absolute;display:inline-block;left:100%;top:50%;content:"";margin-right:0;border-top:5px solid transparent;border-left:5px solid black;border-bottom:5px solid transparent;border-left-color:black transparent transparent transparent}.arrow-light-right:before{position:absolute;display:inline-block;right:100%;top:50%;content:"";margin-right:0;border-top:5px solid transparent;border-right:5px solid #eee;border-bottom:5px solid transparent;border-right-color:#0003}.arrow-dark-right:before{position:absolute;display:inline-block;right:100%;top:50%;content:"";margin-right:0;border-top:5px solid transparent;border-right:5px solid black;border-bottom:5px solid transparent;border-right-color:black transparent transparent transparent}
@@ -8,7 +8,7 @@ export interface ContentComponents {
8
8
  [key: string]: any;
9
9
  };
10
10
  }
11
- export type NestedComponent = "EpSvg" | "EpImg";
11
+ export type NestedComponent = "EpSvg" | "EpImg" | "EpVideo" | "EpQuote";
12
12
  export interface NestedComponents {
13
13
  type: NestedComponent;
14
14
  data: {
@@ -1,6 +1,7 @@
1
1
  import { NestedComponents } from './Component';
2
2
 
3
3
  export interface TreeNode {
4
+ id?: string;
4
5
  name: string;
5
6
  children?: TreeNode[];
6
7
  active?: boolean;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ep-lib-ts",
3
3
  "private": false,
4
- "version": "1.0.49",
4
+ "version": "1.0.51",
5
5
  "files": [
6
6
  "dist",
7
7
  "src/components/"
@@ -67,7 +67,7 @@
67
67
  "typescript": "^5.6.2",
68
68
  "vite": "^5.4.5",
69
69
  "vite-plugin-dts": "^3.9.0",
70
- "vue-tsc": "^2.2.10"
70
+ "vue-tsc": "^2.2.12"
71
71
  },
72
72
  "peerDependencies": {
73
73
  "vue": "^3.2.45"
@@ -28,13 +28,7 @@ interface Props {
28
28
  initialInstruction?: string | null;
29
29
  generalFeedback?: string;
30
30
  bgColor?: string;
31
-
32
- decisionTree: {
33
- name: string;
34
- question:string;
35
- media?: NestedComponents;
36
- options?: Option[];
37
- };
31
+ decisionTree: TreeNode
38
32
  transitionAnimation?: "fade" | "scale" | "slideY";
39
33
  labelStart?:string;
40
34
  labelFinish?:string;
@@ -62,9 +56,9 @@ const props = withDefaults(defineProps<Props>(), {
62
56
 
63
57
 
64
58
  const showPath = ref(false)
65
- const path = ref<Option[]>([])
59
+ const path = ref<TreeNode[]>([])
66
60
  const userPath = ref<TreeNode|null>(null)
67
- const currentOption = ref<Option | null>(null);
61
+ const currentOption = ref<TreeNode | null>(null);
68
62
 
69
63
 
70
64
  // Manage the introductory part
@@ -107,10 +101,10 @@ const restart = () => {
107
101
 
108
102
 
109
103
 
110
- const nextSlide = (option:Option) => {
104
+ const nextSlide = (option:TreeNode) => {
111
105
  //currentSlide.value++
112
106
  path.value.push(option)
113
- if (option.options && option.options.length > 0) {
107
+ if (option.children && option.children.length > 0) {
114
108
  currentOption.value = option; // drill into next level
115
109
  } else {
116
110
  currentOption.value = null; // reached the end (leaf node)
@@ -120,15 +114,15 @@ const nextSlide = (option:Option) => {
120
114
 
121
115
 
122
116
  //helper function
123
- function convertOptionToTreeNode(option: Option, path: Option[]): TreeNode {
117
+ function convertOptionToTreeNode(option: TreeNode, path: TreeNode[]): TreeNode {
124
118
  const isActive = path.includes(option);
125
119
 
126
120
  return {
127
121
  name: option.name,
128
- text: option.question,
129
- component: option.media,
122
+ text: option.text,
123
+ component: option.component,
130
124
  active: isActive,
131
- children: option.options?.map(child => convertOptionToTreeNode(child, path))
125
+ children: option.children?.map(child => convertOptionToTreeNode(child, path))
132
126
  };
133
127
  }
134
128
 
@@ -137,16 +131,16 @@ function convertOptionToTreeNode(option: Option, path: Option[]): TreeNode {
137
131
 
138
132
  const gridStyle = computed(()=>{
139
133
  if(currentOption.value &&
140
- currentOption.value.options &&
141
- currentOption.value.options?.length <= 2) {
134
+ currentOption.value.children &&
135
+ currentOption.value.children?.length <= 2) {
142
136
  return 'grid-cols-2'
143
137
  }
144
138
  return 'grid-cols-3'
145
139
  })
146
140
 
147
141
  const currentLengthOptions = computed(()=> {
148
- if(currentOption.value && currentOption.value.options){
149
- return currentOption.value.options.length
142
+ if(currentOption.value && currentOption.value.children){
143
+ return currentOption.value.children.length
150
144
  }
151
145
  return 0
152
146
  })
@@ -199,15 +193,15 @@ const currentLengthOptions = computed(()=> {
199
193
  <div class="flex flex-col items-center justify-center w-full">
200
194
  <div :class="`flex flex-col items-center justify-center ${transitionAnimation}`">
201
195
  <TextMedia
202
- :text="currentOption.question"
203
- :media="currentOption.media"
196
+ :text="currentOption.text ?? ''"
197
+ :media="currentOption.component"
204
198
  />
205
199
 
206
200
  <div
207
201
  :class="`w-full my-4 mx-4 grid gap-4 ${gridStyle}`"
208
202
  :style="{ placeItems: currentLengthOptions <= 4 ? 'center' : 'initial' }"
209
203
  >
210
- <template v-for="(option, index) in currentOption.options" :key="`option-${index}`">
204
+ <template v-for="(option, index) in currentOption.children" :key="`option-${index}`">
211
205
  <EpBtn
212
206
  rounded
213
207
  type="primary"
@@ -236,9 +230,9 @@ const currentLengthOptions = computed(()=> {
236
230
  <template v-for="(item,i) in path" :key="`user-choice-${i}`">
237
231
  <div class="mb-2">
238
232
  <Details
239
- :content="item.question"
233
+ :content="item.text ?? ''"
240
234
  :title="item.name"
241
- :media="item.media"
235
+ :media="item.component"
242
236
  />
243
237
  </div>
244
238
  </template>
@@ -60,14 +60,37 @@ const closeModal = () => {
60
60
  showModal.value = false
61
61
  currentNode.value = null
62
62
  }
63
+ //nested component
64
+
65
+ const components = import.meta.glob([
66
+ './*.vue', // all components in medias (same folder)
67
+ '../basics/*.vue', // components/charts/
68
+ '../signages/*.vue' // components/signages/
69
+ ])
63
70
 
64
71
  const currentRenderComponent = computed(() => {
65
- if (currentNode.value && currentNode.value.component) {
66
- const componentToLoad = useComponent(currentNode.value.component.type);
67
- return defineAsyncComponent(() => import(`../${componentToLoad.path}/${componentToLoad.name}.vue`));
72
+ if (!currentNode.value || !currentNode.value.component) {
73
+ return null
74
+ }
75
+
76
+ const { path, name } = useComponent(currentNode.value.component.type)
77
+ //console.log(path, name)
78
+ let fullPath = ''
79
+ if(path === "medias"){
80
+ fullPath = `./${name}.vue`
81
+ }else{
82
+ fullPath = `../${path}/${name}.vue`
68
83
  }
69
- return null;
70
- });
84
+ //console.log(fullPath)
85
+ const loader = components[fullPath] as (() => Promise<{ default: NestedComponents }>) | undefined
86
+
87
+ if (!loader) {
88
+ console.warn(`Component not found: ${fullPath}`)
89
+ return null // or defineAsyncComponent(() => import('../fallbacks/EpNothing.vue'))
90
+ }
91
+
92
+ return defineAsyncComponent(loader)
93
+ })
71
94
 
72
95
  onMounted(() => {
73
96
  if (!treeContainer.value) return
@@ -1,4 +0,0 @@
1
- import { a8 as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { a9 as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { aa as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { a4 as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { U as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { c as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { d as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { u as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { e } from "./index-Cb4ZFiWj.js";
2
- export {
3
- e as default
4
- };
@@ -1,4 +0,0 @@
1
- import { f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { V as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { g as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { y as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { z as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { M as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { A as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { h as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { B as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { C as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { i as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { v as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { a5 as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { j as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { k as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { l as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { W as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { m } from "./index-Cb4ZFiWj.js";
2
- export {
3
- m as default
4
- };
@@ -1,4 +0,0 @@
1
- import { n as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { D as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { E as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { w as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { X as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { Y as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { Q as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { F as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { x as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { R as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { a6 as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { K as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { L as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { b as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { G as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { H as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { o } from "./index-Cb4ZFiWj.js";
2
- export {
3
- o as default
4
- };
@@ -1,4 +0,0 @@
1
- import { p as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { a7 as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { Z as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { I as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { q as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { r } from "./index-Cb4ZFiWj.js";
2
- export {
3
- r as default
4
- };
@@ -1,4 +0,0 @@
1
- import { S as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { $ as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { T as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { s } from "./index-Cb4ZFiWj.js";
2
- export {
3
- s as default
4
- };
@@ -1,4 +0,0 @@
1
- import { _ as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { t } from "./index-Cb4ZFiWj.js";
2
- export {
3
- t as default
4
- };
@@ -1,4 +0,0 @@
1
- import { a0 as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { a1 as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { a2 as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { a3 as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { ab as f } from "./index-Cb4ZFiWj.js";
2
- export {
3
- f as default
4
- };