ep-lib-ts 1.1.13 → 1.1.15

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 (145) hide show
  1. package/dist/components/basics/EpAvatar.vue.js +55 -1
  2. package/dist/components/basics/EpAvatar.vue.js.map +1 -1
  3. package/dist/components/basics/EpAvatar.vue2.js +1 -55
  4. package/dist/components/basics/EpAvatar.vue2.js.map +1 -1
  5. package/dist/components/basics/EpBtn.vue.js +2 -2
  6. package/dist/components/basics/EpBtn.vue.js.map +1 -1
  7. package/dist/components/basics/EpChip.vue.js +2 -2
  8. package/dist/components/basics/EpChip.vue.js.map +1 -1
  9. package/dist/components/basics/EpHover.vue.js +1 -1
  10. package/dist/components/basics/EpHover.vue.js.map +1 -1
  11. package/dist/components/basics/EpHoverCard.vue.js +6 -6
  12. package/dist/components/basics/EpHoverCard.vue.js.map +1 -1
  13. package/dist/components/basics/EpImg.vue.js +8 -8
  14. package/dist/components/basics/EpImg.vue.js.map +1 -1
  15. package/dist/components/basics/EpImgCarousel.vue.js +8 -8
  16. package/dist/components/basics/EpImgCarousel.vue.js.map +1 -1
  17. package/dist/components/basics/EpSection.vue.js +25 -25
  18. package/dist/components/basics/EpSection.vue.js.map +1 -1
  19. package/dist/components/basics/EpSectionCols.vue.js +29 -29
  20. package/dist/components/basics/EpSectionCols.vue.js.map +1 -1
  21. package/dist/components/basics/EpSpinner.vue.js +5 -5
  22. package/dist/components/basics/EpSpinner.vue.js.map +1 -1
  23. package/dist/components/basics/EpStackedList.vue.js +5 -5
  24. package/dist/components/basics/EpStackedList.vue.js.map +1 -1
  25. package/dist/components/basics/EpText.vue.js +77 -79
  26. package/dist/components/basics/EpText.vue.js.map +1 -1
  27. package/dist/components/charts/EpBarChart.vue.js +3 -3
  28. package/dist/components/charts/EpBarChart.vue.js.map +1 -1
  29. package/dist/components/charts/EpFunnelChart.vue.js +4 -4
  30. package/dist/components/charts/EpFunnelChart.vue.js.map +1 -1
  31. package/dist/components/charts/EpLineChart.vue.js +3 -3
  32. package/dist/components/charts/EpLineChart.vue.js.map +1 -1
  33. package/dist/components/charts/EpPieChart.vue.js +4 -4
  34. package/dist/components/charts/EpPieChart.vue.js.map +1 -1
  35. package/dist/components/educationals/EpBranchingScenario.vue2.js +17 -17
  36. package/dist/components/educationals/EpBranchingScenario.vue2.js.map +1 -1
  37. package/dist/components/educationals/EpCodeblock.vue.js +1 -1
  38. package/dist/components/educationals/EpCodeblock.vue.js.map +1 -1
  39. package/dist/components/educationals/EpConclusion.vue.js +2 -2
  40. package/dist/components/educationals/EpConclusion.vue.js.map +1 -1
  41. package/dist/components/educationals/EpDocument.vue.js +4 -4
  42. package/dist/components/educationals/EpDocument.vue.js.map +1 -1
  43. package/dist/components/educationals/EpEdu.vue.js +4 -4
  44. package/dist/components/educationals/EpEdu.vue.js.map +1 -1
  45. package/dist/components/educationals/EpFillBlanks.vue.js +1 -1
  46. package/dist/components/educationals/EpFillBlanks.vue.js.map +1 -1
  47. package/dist/components/educationals/EpIntroduction.vue.js +5 -5
  48. package/dist/components/educationals/EpIntroduction.vue.js.map +1 -1
  49. package/dist/components/educationals/EpObjective.vue.js +3 -3
  50. package/dist/components/educationals/EpObjective.vue.js.map +1 -1
  51. package/dist/components/educationals/EpReading.vue.js +3 -3
  52. package/dist/components/educationals/EpReading.vue.js.map +1 -1
  53. package/dist/components/educationals/EpResource.vue.js +3 -3
  54. package/dist/components/educationals/EpResource.vue.js.map +1 -1
  55. package/dist/components/educationals/EpScope.vue.js +2 -2
  56. package/dist/components/educationals/EpScope.vue.js.map +1 -1
  57. package/dist/components/educationals/EpSegmentedBox.vue.js +1 -1
  58. package/dist/components/educationals/EpSegmentedBox.vue.js.map +1 -1
  59. package/dist/components/educationals/EpSpecificObjective.vue.js +9 -9
  60. package/dist/components/educationals/EpSpecificObjective.vue.js.map +1 -1
  61. package/dist/components/forms/EpRadioSummative.vue.js +46 -1
  62. package/dist/components/forms/EpRadioSummative.vue.js.map +1 -1
  63. package/dist/components/forms/EpRadioSummative.vue2.js +1 -46
  64. package/dist/components/forms/EpRadioSummative.vue2.js.map +1 -1
  65. package/dist/components/forms/EpSelect.vue.js +3 -3
  66. package/dist/components/forms/EpSelect.vue.js.map +1 -1
  67. package/dist/components/forms/EpTextarea.vue2.js +1 -1
  68. package/dist/components/forms/EpTextarea.vue2.js.map +1 -1
  69. package/dist/components/forms/EpToggle.vue2.js +1 -1
  70. package/dist/components/forms/EpToggle.vue2.js.map +1 -1
  71. package/dist/components/interactions/EpAccordeon.vue2.js +1 -1
  72. package/dist/components/interactions/EpAccordeon.vue2.js.map +1 -1
  73. package/dist/components/interactions/EpAssociation.vue.js +14 -15
  74. package/dist/components/interactions/EpAssociation.vue.js.map +1 -1
  75. package/dist/components/interactions/EpContentSlider.vue.js +3 -3
  76. package/dist/components/interactions/EpContentSlider.vue.js.map +1 -1
  77. package/dist/components/interactions/EpFlipCard.vue2.js +17 -17
  78. package/dist/components/interactions/EpFlipCard.vue2.js.map +1 -1
  79. package/dist/components/interactions/EpHotSpot.vue.js +1 -1
  80. package/dist/components/interactions/EpHotSpot.vue.js.map +1 -1
  81. package/dist/components/interactions/EpImageCompare.vue.js +6 -6
  82. package/dist/components/interactions/EpImageCompare.vue.js.map +1 -1
  83. package/dist/components/interactions/EpModal.vue.js +4 -4
  84. package/dist/components/interactions/EpModal.vue.js.map +1 -1
  85. package/dist/components/interactions/EpQuestion.vue.js +8 -8
  86. package/dist/components/interactions/EpQuestion.vue.js.map +1 -1
  87. package/dist/components/interactions/EpSummativeTable.vue.js +4 -4
  88. package/dist/components/interactions/EpSummativeTable.vue.js.map +1 -1
  89. package/dist/components/interactions/EpTooltip.vue.js +1 -1
  90. package/dist/components/interactions/EpTooltip.vue.js.map +1 -1
  91. package/dist/components/medias/EpAudio.vue.js +4 -4
  92. package/dist/components/medias/EpAudio.vue.js.map +1 -1
  93. package/dist/components/medias/EpCardLink.vue.js +16 -16
  94. package/dist/components/medias/EpCardLink.vue.js.map +1 -1
  95. package/dist/components/medias/EpCarousel.vue.js +10 -10
  96. package/dist/components/medias/EpCarousel.vue.js.map +1 -1
  97. package/dist/components/medias/EpHierarchy.vue2.js +2 -2
  98. package/dist/components/medias/EpHierarchy.vue2.js.map +1 -1
  99. package/dist/components/medias/EpIframe.vue.js +3 -3
  100. package/dist/components/medias/EpIframe.vue.js.map +1 -1
  101. package/dist/components/medias/EpKatex.vue2.js +4 -4
  102. package/dist/components/medias/EpKatex.vue2.js.map +1 -1
  103. package/dist/components/medias/EpLink.vue.js +2 -2
  104. package/dist/components/medias/EpLink.vue.js.map +1 -1
  105. package/dist/components/medias/EpLinkVersion.vue.js +1 -1
  106. package/dist/components/medias/EpLinkVersion.vue.js.map +1 -1
  107. package/dist/components/medias/EpLottieSvg.vue.js +8 -8
  108. package/dist/components/medias/EpLottieSvg.vue.js.map +1 -1
  109. package/dist/components/medias/EpSensibleImage.vue2.js +18 -18
  110. package/dist/components/medias/EpSensibleImage.vue2.js.map +1 -1
  111. package/dist/components/medias/EpSoftware.vue.js +3 -3
  112. package/dist/components/medias/EpSoftware.vue.js.map +1 -1
  113. package/dist/components/medias/EpSvg.vue.js +4 -4
  114. package/dist/components/medias/EpSvg.vue.js.map +1 -1
  115. package/dist/components/medias/EpTerm.vue.js +6 -6
  116. package/dist/components/medias/EpTerm.vue.js.map +1 -1
  117. package/dist/components/medias/EpVideo.vue.js +2 -2
  118. package/dist/components/medias/EpVideo.vue.js.map +1 -1
  119. package/dist/components/medias/EpVideoPanopto.vue.js +3 -3
  120. package/dist/components/medias/EpVideoPanopto.vue.js.map +1 -1
  121. package/dist/components/medias/EpWordDef.vue.js +39 -39
  122. package/dist/components/medias/EpWordDef.vue.js.map +1 -1
  123. package/dist/components/signages/EpHeader.vue.js +22 -22
  124. package/dist/components/signages/EpHeader.vue.js.map +1 -1
  125. package/dist/components/signages/EpSkeleton.vue2.js +1 -1
  126. package/dist/components/tools/AssociationNode.vue.js +82 -1
  127. package/dist/components/tools/AssociationNode.vue.js.map +1 -1
  128. package/dist/components/tools/AssociationNode.vue2.js +1 -82
  129. package/dist/components/tools/AssociationNode.vue2.js.map +1 -1
  130. package/dist/components/tools/AsyncKatexRender.vue2.js +1 -1
  131. package/dist/components/tools/AsyncKatexRender.vue2.js.map +1 -1
  132. package/dist/components/tools/BgAudio.vue.js +52 -1
  133. package/dist/components/tools/BgAudio.vue.js.map +1 -1
  134. package/dist/components/tools/BgAudio.vue2.js +1 -52
  135. package/dist/components/tools/BgAudio.vue2.js.map +1 -1
  136. package/dist/components/tools/Details.vue.js +5 -5
  137. package/dist/components/tools/Details.vue.js.map +1 -1
  138. package/dist/components/tools/SegmentedBox.vue2.js +2 -2
  139. package/dist/components/tools/SegmentedBox.vue2.js.map +1 -1
  140. package/dist/components/tools/TextMedia.vue.js +5 -5
  141. package/dist/components/tools/TextMedia.vue.js.map +1 -1
  142. package/dist/components/tools/TwoColsMedia.vue2.js +4 -4
  143. package/dist/components/tools/TwoColsMedia.vue2.js.map +1 -1
  144. package/dist/style.css +41 -41
  145. package/package.json +40 -43
@@ -1 +1 @@
1
- {"version":3,"file":"EpSection.vue.js","sources":["../../../src/components/basics/EpSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { useCreateUid } from \"~/composables/useCreateUid\";\nimport { cols_img } from \"~/types/Image\";\nimport EpDivider from \"~/components/basics/EpDivider.vue\";\nimport EpIcon from \"~/components/basics/EpIcon.vue\";\nimport type { EpSectionProps } from \"~/types/basics/EpSection\";\nimport EpAccordeon from \"~/components/interactions/EpAccordeon.vue\";\n\nconst props = withDefaults(defineProps<EpSectionProps>(), {\n title: null,\n icon: null,\n colsMedia: \"6\",\n mediaAling: \"justify-center\",\n});\n\nconst id = props.uid || useCreateUid();\n\nconst iconSize = computed(() => {\n if (props.title && props.subtitle) return 40;\n return 25;\n});\n\nconst styleTitle = computed(() => {\n if (props.endIcon) {\n return \"justify-between\";\n }\n return \"\";\n});\n\nconst renderCols = computed(() => {\n return cols_img[+props.colsMedia];\n});\n\n</script>\n\n<template>\n <section class=\"EpSection\" :id=\"`section-${id}`\">\n <!--normal mode-->\n <template v-if=\"!compact\">\n <div :class=\"`flex items-center ${styleTitle}`\">\n <EpIcon :icon-path=\"icon\" :size=\"iconSize\" v-if=\"icon && !endIcon\" />\n <div :class=\"`${endIcon ? '' : 'ml-2'}`\">\n <h2 class=\"text-2xl font-semibold dark:text-white\">{{ title }}</h2>\n <h3 class=\"dark:text-white\">{{ subtitle }}</h3>\n </div>\n <EpIcon :icon-path=\"icon\" :size=\"iconSize\" v-if=\"icon && endIcon\" />\n </div>\n \n <div :class=\"`flex ${mediaAling}`\" v-if=\"media || src\">\n <div :class=\"`dark:text-white ${renderCols}`\">\n <!--svg s'importe sur l'image src-->\n <div v-html=\"media\" class=\"w-full\" v-if=\"media\" />\n <!-- img -->\n <div v-else class=\"w-full\">\n <img :src=\"src\" :alt=\"`image section ${title}`\" />\n </div>\n </div>\n </div>\n <EpDivider v-if=\"title || subtitle\" />\n <slot />\n </template>\n \n <!--compact mode-->\n <template v-else>\n <EpAccordeon :title=\"title\" :subtitle=\"subtitle\" :open=\"open\" :icon=\"icon\" outlined>\n <div :class=\"`flex ${mediaAling}`\" v-if=\"media || src\">\n <div :class=\"`dark:text-white ${renderCols}`\">\n <!--svg s'importe sur l'image src-->\n <div v-html=\"media\" class=\"w-full\" v-if=\"media\" />\n <!-- img -->\n <div v-else class=\"w-full\">\n <img :src=\"src\" :alt=\"`image section ${title}`\" />\n </div>\n </div>\n </div>\n <slot />\n </EpAccordeon>\n </template>\n </section>\n</template>\n"],"names":["_createElementBlock","_unref","_Fragment","_createElementVNode","_createBlock","EpIcon","_toDisplayString","_openBlock","EpDivider","_renderSlot","EpAccordeon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,UAAM,QAAQ;AAOd,UAAM,KAAM,MAAM,OAAO,aAAA;AAEzB,UAAM,WAAW,SAAS,MAAM;AAC9B,UAAI,MAAM,SAAS,MAAM,SAAU,QAAO;AAC1C,aAAO;AAAA,IACT,CAAC;AAED,UAAM,aAAa,SAAS,MAAM;AAChC,UAAI,MAAM,SAAS;AACjB,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,CAAC;AAED,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO,SAAS,CAAC,MAAM,SAAS;AAAA,IAClC,CAAC;;0BAKCA,mBA0CU,WAAA;AAAA,QA1CD,OAAM;AAAA,QAAa,eAAeC,MAAA,EAAA,CAAE;AAAA,MAAA;SAE1B,QAAA,wBAAjBD,mBAsBWE,UAAA,EAAA,KAAA,KAAA;AAAA,UArBTC,mBAOM,OAAA;AAAA,YAPA,2CAA4B,WAAA,KAAU,EAAA;AAAA,UAAA;YACO,QAAA,SAAS,QAAA,wBAA1DC,YAAqEC,aAAA;AAAA;cAA5D,aAAW,QAAA;AAAA,cAAO,MAAM,SAAA;AAAA,YAAA;YACjCF,mBAGM,OAAA;AAAA,cAHA,yBAAU,QAAA,UAAO,KAAA,MAAA,EAAA;AAAA,YAAA;cACrBA,mBAAmE,MAAnE,YAAmEG,gBAAb,QAAA,KAAK,GAAA,CAAA;AAAA,cAC3DH,mBAA+C,MAA/C,YAA+CG,gBAAhB,QAAA,QAAQ,GAAA,CAAA;AAAA,YAAA;YAEQ,QAAA,QAAQ,QAAA,wBAAzDF,YAAoEC,aAAA;AAAA;cAA3D,aAAW,QAAA;AAAA,cAAO,MAAM,SAAA;AAAA,YAAA;;UAGM,QAAA,SAAS,QAAA,oBAAlDL,mBASM,OAAA;AAAA;YATA,8BAAe,QAAA,UAAU,EAAA;AAAA,UAAA;YAC7BG,mBAOM,OAAA;AAAA,cAPA,yCAA0B,WAAA,KAAU,EAAA;AAAA,YAAA;cAEC,QAAA,sBAAzCH,mBAAkD,OAAA;AAAA;gBAA7C,WAAQ,QAAA;AAAA,gBAAO,OAAM;AAAA,cAAA,4BAE1BO,UAAA,GAAAP,mBAEM,OAFN,YAEM;AAAA,gBADJG,mBAAkD,OAAA;AAAA,kBAA5C,KAAK,QAAA;AAAA,kBAAM,sBAAsB,QAAA,KAAK;AAAA,gBAAA;;;;UAIjC,QAAA,SAAS,QAAA,yBAA1BC,YAAsCI,aAAA,EAAA,KAAA,EAAA,CAAA;UACtCC,WAAQ,KAAA,QAAA,SAAA;AAAA,QAAA,wBAKRL,YAYcM,MAAA;AAAA;UAZA,OAAO,QAAA;AAAA,UAAQ,UAAU,QAAA;AAAA,UAAW,MAAM,QAAA;AAAA,UAAO,MAAM,QAAA;AAAA,UAAM,UAAA;AAAA,QAAA;2BACzE,MASM;AAAA,YATmC,QAAA,SAAS,QAAA,oBAAlDV,mBASM,OAAA;AAAA;cATA,8BAAe,QAAA,UAAU,EAAA;AAAA,YAAA;cAC7BG,mBAOM,OAAA;AAAA,gBAPA,yCAA0B,WAAA,KAAU,EAAA;AAAA,cAAA;gBAEC,QAAA,sBAAzCH,mBAAkD,OAAA;AAAA;kBAA7C,WAAQ,QAAA;AAAA,kBAAO,OAAM;AAAA,gBAAA,4BAE1BO,UAAA,GAAAP,mBAEM,OAFN,YAEM;AAAA,kBADJG,mBAAkD,OAAA;AAAA,oBAA5C,KAAK,QAAA;AAAA,oBAAM,sBAAsB,QAAA,KAAK;AAAA,kBAAA;;;;YAIlDM,WAAQ,KAAA,QAAA,SAAA;AAAA,UAAA;;;;;;;"}
1
+ {"version":3,"file":"EpSection.vue.js","sources":["../../../src/components/basics/EpSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { useCreateUid } from \"~/composables/useCreateUid\";\nimport { cols_img } from \"~/types/Image\";\nimport EpDivider from \"~/components/basics/EpDivider.vue\";\nimport EpIcon from \"~/components/basics/EpIcon.vue\";\nimport type { EpSectionProps } from \"~/types/basics/EpSection\";\nimport EpAccordeon from \"~/components/interactions/EpAccordeon.vue\";\n\nconst props = withDefaults(defineProps<EpSectionProps>(), {\n title: null,\n icon: null,\n colsMedia: \"6\",\n mediaAling: \"justify-center\",\n});\n\nconst id = props.uid || useCreateUid();\n\nconst iconSize = computed(() => {\n if (props.title && props.subtitle) return 40;\n return 25;\n});\n\nconst styleTitle = computed(() => {\n if (props.endIcon) {\n return \"justify-between\";\n }\n return \"\";\n});\n\nconst renderCols = computed(() => {\n return cols_img[+props.colsMedia];\n});\n\n</script>\n\n<template>\n <section class=\"EpSection\" :id=\"`section-${id}`\">\n <!--normal mode-->\n <template v-if=\"!compact\">\n <div :class=\"`flex items-center ${styleTitle}`\">\n <EpIcon :icon-path=\"icon\" :size=\"iconSize\" v-if=\"icon && !endIcon\" />\n <div :class=\"`${endIcon ? '' : 'ml-2'}`\">\n <h2 class=\"text-2xl font-semibold dark:text-white\">{{ title }}</h2>\n <h3 class=\"dark:text-white\">{{ subtitle }}</h3>\n </div>\n <EpIcon :icon-path=\"icon\" :size=\"iconSize\" v-if=\"icon && endIcon\" />\n </div>\n \n <div :class=\"`flex ${mediaAling}`\" v-if=\"media || src\">\n <div :class=\"`dark:text-white ${renderCols}`\">\n <!--svg s'importe sur l'image src-->\n <div v-html=\"media\" class=\"w-full\" v-if=\"media\" />\n <!-- img -->\n <div v-else class=\"w-full\">\n <img :src=\"src\" :alt=\"`image section ${title}`\" />\n </div>\n </div>\n </div>\n <EpDivider v-if=\"title || subtitle\" />\n <slot />\n </template>\n \n <!--compact mode-->\n <template v-else>\n <EpAccordeon :title=\"title\" :subtitle=\"subtitle\" :open=\"open\" :icon=\"icon\" outlined>\n <div :class=\"`flex ${mediaAling}`\" v-if=\"media || src\">\n <div :class=\"`dark:text-white ${renderCols}`\">\n <!--svg s'importe sur l'image src-->\n <div v-html=\"media\" class=\"w-full\" v-if=\"media\" />\n <!-- img -->\n <div v-else class=\"w-full\">\n <img :src=\"src\" :alt=\"`image section ${title}`\" />\n </div>\n </div>\n </div>\n <slot />\n </EpAccordeon>\n </template>\n </section>\n</template>\n"],"names":["_createElementBlock","_unref","compact","_Fragment","_createElementVNode","icon","endIcon","_createBlock","EpIcon","_toDisplayString","title","subtitle","media","src","mediaAling","_openBlock","EpDivider","_renderSlot","EpAccordeon","open"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,UAAM,QAAQ;AAOd,UAAM,KAAM,MAAM,OAAO,aAAA;AAEzB,UAAM,WAAW,SAAS,MAAM;AAC9B,UAAI,MAAM,SAAS,MAAM,SAAU,QAAO;AAC1C,aAAO;AAAA,IACT,CAAC;AAED,UAAM,aAAa,SAAS,MAAM;AAChC,UAAI,MAAM,SAAS;AACjB,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,CAAC;AAED,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO,SAAS,CAAC,MAAM,SAAS;AAAA,IAClC,CAAC;;0BAKCA,mBA0CU,WAAA;AAAA,QA1CD,OAAM;AAAA,QAAa,eAAeC,MAAA,EAAA,CAAE;AAAA,MAAA;SAE1BC,KAAAA,wBAAjBF,mBAsBWG,UAAA,EAAA,KAAA,KAAA;AAAA,UArBTC,mBAOM,OAAA;AAAA,YAPA,2CAA4B,WAAA,KAAU,EAAA;AAAA,UAAA;YACOC,KAAAA,SAASC,KAAAA,wBAA1DC,YAAqEC,aAAA;AAAA;cAA5D,aAAWH,KAAAA;AAAAA,cAAO,MAAM,SAAA;AAAA,YAAA;YACjCD,mBAGM,OAAA;AAAA,cAHA,yBAAUE,KAAAA,UAAO,KAAA,MAAA,EAAA;AAAA,YAAA;cACrBF,mBAAmE,MAAnE,YAAmEK,gBAAbC,KAAAA,KAAK,GAAA,CAAA;AAAA,cAC3DN,mBAA+C,MAA/C,YAA+CK,gBAAhBE,KAAAA,QAAQ,GAAA,CAAA;AAAA,YAAA;YAEQN,KAAAA,QAAQC,KAAAA,wBAAzDC,YAAoEC,aAAA;AAAA;cAA3D,aAAWH,KAAAA;AAAAA,cAAO,MAAM,SAAA;AAAA,YAAA;;UAGMO,KAAAA,SAASC,KAAAA,oBAAlDb,mBASM,OAAA;AAAA;YATA,8BAAec,KAAAA,UAAU,EAAA;AAAA,UAAA;YAC7BV,mBAOM,OAAA;AAAA,cAPA,yCAA0B,WAAA,KAAU,EAAA;AAAA,YAAA;cAECQ,KAAAA,sBAAzCZ,mBAAkD,OAAA;AAAA;gBAA7C,WAAQY,KAAAA;AAAAA,gBAAO,OAAM;AAAA,cAAA,4BAE1BG,UAAA,GAAAf,mBAEM,OAFN,YAEM;AAAA,gBADJI,mBAAkD,OAAA;AAAA,kBAA5C,KAAKS,KAAAA;AAAAA,kBAAM,sBAAsBH,KAAAA,KAAK;AAAA,gBAAA;;;;UAIjCA,KAAAA,SAASC,KAAAA,yBAA1BJ,YAAsCS,aAAA,EAAA,KAAA,EAAA,CAAA;UACtCC,WAAQ,KAAA,QAAA,SAAA;AAAA,QAAA,wBAKRV,YAYcW,MAAA;AAAA;UAZA,OAAOR,KAAAA;AAAAA,UAAQ,UAAUC,KAAAA;AAAAA,UAAW,MAAMQ,KAAAA;AAAAA,UAAO,MAAMd,KAAAA;AAAAA,UAAM,UAAA;AAAA,QAAA;2BACzE,MASM;AAAA,YATmCO,KAAAA,SAASC,KAAAA,oBAAlDb,mBASM,OAAA;AAAA;cATA,8BAAec,KAAAA,UAAU,EAAA;AAAA,YAAA;cAC7BV,mBAOM,OAAA;AAAA,gBAPA,yCAA0B,WAAA,KAAU,EAAA;AAAA,cAAA;gBAECQ,KAAAA,sBAAzCZ,mBAAkD,OAAA;AAAA;kBAA7C,WAAQY,KAAAA;AAAAA,kBAAO,OAAM;AAAA,gBAAA,4BAE1BG,UAAA,GAAAf,mBAEM,OAFN,YAEM;AAAA,kBADJI,mBAAkD,OAAA;AAAA,oBAA5C,KAAKS,KAAAA;AAAAA,oBAAM,sBAAsBH,KAAAA,KAAK;AAAA,kBAAA;;;;YAIlDO,WAAQ,KAAA,QAAA,SAAA;AAAA,UAAA;;;;;;;"}
@@ -64,52 +64,52 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
64
64
  class: "EpSection",
65
65
  id: `section-${unref(id)}`
66
66
  }, [
67
- !__props.compact ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
67
+ !_ctx.compact ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
68
68
  createElementVNode("div", {
69
69
  class: normalizeClass(`flex items-center ${styleTitle.value}`)
70
70
  }, [
71
- __props.icon && !__props.endIcon ? (openBlock(), createBlock(_sfc_main$1, {
71
+ _ctx.icon && !_ctx.endIcon ? (openBlock(), createBlock(_sfc_main$1, {
72
72
  key: 0,
73
- "icon-path": __props.icon,
73
+ "icon-path": _ctx.icon,
74
74
  size: iconSize.value
75
75
  }, null, 8, ["icon-path", "size"])) : createCommentVNode("", true),
76
76
  createElementVNode("div", {
77
- class: normalizeClass(`${__props.endIcon ? "" : "ml-2"}`)
77
+ class: normalizeClass(`${_ctx.endIcon ? "" : "ml-2"}`)
78
78
  }, [
79
- createElementVNode("h2", _hoisted_2, toDisplayString(__props.title), 1),
80
- createElementVNode("h3", _hoisted_3, toDisplayString(__props.subtitle), 1)
79
+ createElementVNode("h2", _hoisted_2, toDisplayString(_ctx.title), 1),
80
+ createElementVNode("h3", _hoisted_3, toDisplayString(_ctx.subtitle), 1)
81
81
  ], 2),
82
- __props.icon && __props.endIcon ? (openBlock(), createBlock(_sfc_main$1, {
82
+ _ctx.icon && _ctx.endIcon ? (openBlock(), createBlock(_sfc_main$1, {
83
83
  key: 1,
84
- "icon-path": __props.icon,
84
+ "icon-path": _ctx.icon,
85
85
  size: iconSize.value
86
86
  }, null, 8, ["icon-path", "size"])) : createCommentVNode("", true)
87
87
  ], 2),
88
- __props.media || __props.src ? (openBlock(), createElementBlock("div", {
88
+ _ctx.media || _ctx.src ? (openBlock(), createElementBlock("div", {
89
89
  key: 0,
90
- class: normalizeClass(`flex ${__props.mediaAling}`)
90
+ class: normalizeClass(`flex ${_ctx.mediaAling}`)
91
91
  }, [
92
92
  createElementVNode("div", {
93
93
  class: normalizeClass(`dark:text-white ${renderCols.value}`)
94
94
  }, [
95
- __props.media ? (openBlock(), createElementBlock("div", {
95
+ _ctx.media ? (openBlock(), createElementBlock("div", {
96
96
  key: 0,
97
- innerHTML: __props.media,
97
+ innerHTML: _ctx.media,
98
98
  class: "w-full"
99
99
  }, null, 8, _hoisted_4)) : (openBlock(), createElementBlock("div", _hoisted_5, [
100
100
  createElementVNode("img", {
101
- src: __props.src,
102
- alt: `image section ${__props.title}`
101
+ src: _ctx.src,
102
+ alt: `image section ${_ctx.title}`
103
103
  }, null, 8, _hoisted_6)
104
104
  ]))
105
105
  ], 2)
106
106
  ], 2)) : createCommentVNode("", true),
107
- __props.title || __props.subtitle ? (openBlock(), createBlock(_sfc_main$2, { key: 1 })) : createCommentVNode("", true),
107
+ _ctx.title || _ctx.subtitle ? (openBlock(), createBlock(_sfc_main$2, { key: 1 })) : createCommentVNode("", true),
108
108
  createElementVNode("div", {
109
- class: normalizeClass(`flex ${__props.gap}`)
109
+ class: normalizeClass(`flex ${_ctx.gap}`)
110
110
  }, [
111
111
  createElementVNode("div", {
112
- class: normalizeClass(`${__props.leftCol}`)
112
+ class: normalizeClass(`${_ctx.leftCol}`)
113
113
  }, [
114
114
  renderSlot(_ctx.$slots, "left")
115
115
  ], 2),
@@ -121,37 +121,37 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
121
121
  ], 2)
122
122
  ], 64)) : (openBlock(), createBlock(Comp, {
123
123
  key: 1,
124
- title: __props.title,
125
- subtitle: __props.subtitle,
126
- open: __props.open,
127
- icon: __props.icon,
124
+ title: _ctx.title,
125
+ subtitle: _ctx.subtitle,
126
+ open: _ctx.open,
127
+ icon: _ctx.icon,
128
128
  outlined: ""
129
129
  }, {
130
130
  default: withCtx(() => [
131
- __props.media || __props.src ? (openBlock(), createElementBlock("div", {
131
+ _ctx.media || _ctx.src ? (openBlock(), createElementBlock("div", {
132
132
  key: 0,
133
- class: normalizeClass(`flex ${__props.mediaAling}`)
133
+ class: normalizeClass(`flex ${_ctx.mediaAling}`)
134
134
  }, [
135
135
  createElementVNode("div", {
136
136
  class: normalizeClass(`dark:text-white ${renderCols.value}`)
137
137
  }, [
138
- __props.media ? (openBlock(), createElementBlock("div", {
138
+ _ctx.media ? (openBlock(), createElementBlock("div", {
139
139
  key: 0,
140
- innerHTML: __props.media,
140
+ innerHTML: _ctx.media,
141
141
  class: "w-full"
142
142
  }, null, 8, _hoisted_7)) : (openBlock(), createElementBlock("div", _hoisted_8, [
143
143
  createElementVNode("img", {
144
- src: __props.src,
145
- alt: `image section ${__props.title}`
144
+ src: _ctx.src,
145
+ alt: `image section ${_ctx.title}`
146
146
  }, null, 8, _hoisted_9)
147
147
  ]))
148
148
  ], 2)
149
149
  ], 2)) : createCommentVNode("", true),
150
150
  createElementVNode("div", {
151
- class: normalizeClass(`flex ${__props.gap}`)
151
+ class: normalizeClass(`flex ${_ctx.gap}`)
152
152
  }, [
153
153
  createElementVNode("div", {
154
- class: normalizeClass(`${__props.leftCol}`)
154
+ class: normalizeClass(`${_ctx.leftCol}`)
155
155
  }, [
156
156
  renderSlot(_ctx.$slots, "left")
157
157
  ], 2),
@@ -1 +1 @@
1
- {"version":3,"file":"EpSectionCols.vue.js","sources":["../../../src/components/basics/EpSectionCols.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { useCreateUid } from \"~/composables/useCreateUid\";\nimport { cols_img } from \"~/types/Image\";\nimport { allowedColWidths } from \"~/types/Cols\";\nimport EpDivider from \"~/components/basics/EpDivider.vue\";\nimport EpIcon from \"~/components/basics/EpIcon.vue\";\nimport type { EpSectionColsProps } from \"~/types/basics/EpSectionCols\";\nimport EpAccordeon from \"~/components/interactions/EpAccordeon.vue\";\n\nconst props = withDefaults(defineProps<EpSectionColsProps>(), {\n title: null,\n icon: null,\n colsMedia: \"6\",\n mediaAling: \"justify-center\",\n gap: \"gap-1\",\n leftCol: \"w-full\",\n});\n\nconst id = props.uid || useCreateUid()\n\nconst iconSize = computed(() => {\n if (props.title && props.subtitle) return 40;\n return 25;\n});\n\nconst styleTitle = computed(() => {\n if (props.endIcon) {\n return \"justify-between\";\n }\n return \"\";\n});\n\nconst renderCols = computed(() => {\n return cols_img[+props.colsMedia];\n});\n\nconst rightCol = computed(() => {\n if (props.leftCol === \"w-full\") return \"w-full\";\n const leftIndex = allowedColWidths.indexOf(props.leftCol);\n const rightIndex = allowedColWidths.length - leftIndex - 2;\n return allowedColWidths[rightIndex] || \"w-full\";\n});\n</script>\n\n<template>\n <section class=\"EpSection\" :id=\"`section-${id}`\">\n <!--normal mode-->\n <template v-if=\"!compact\">\n <div :class=\"`flex items-center ${styleTitle}`\">\n <EpIcon :icon-path=\"icon\" :size=\"iconSize\" v-if=\"icon && !endIcon\" />\n <div :class=\"`${endIcon ? '' : 'ml-2'}`\">\n <h2 class=\"text-2xl font-semibold dark:text-white\">{{ title }}</h2>\n <h3 class=\"dark:text-white\">{{ subtitle }}</h3>\n </div>\n <EpIcon :icon-path=\"icon\" :size=\"iconSize\" v-if=\"icon && endIcon\" />\n </div>\n <div :class=\"`flex ${mediaAling}`\" v-if=\"media || src\">\n <div :class=\"`dark:text-white ${renderCols}`\">\n <!--svg s'importe sur l'image src-->\n <div v-html=\"media\" class=\"w-full\" v-if=\"media\" />\n <!-- img -->\n <div v-else class=\"w-full\">\n <img :src=\"src\" :alt=\"`image section ${title}`\" />\n </div>\n </div>\n </div>\n <EpDivider v-if=\"title || subtitle\" />\n <!-- Two-column layout -->\n <div :class=\"`flex ${gap}`\">\n <!-- First column slot -->\n <div :class=\"`${leftCol}`\">\n <slot name=\"left\" />\n </div>\n <!-- Second column slot -->\n <div :class=\"`${rightCol}`\">\n <slot name=\"right\" />\n </div>\n </div>\n <!--end layout-->\n\n </template>\n <!--compact mode-->\n <template v-else>\n <EpAccordeon :title=\"title\" :subtitle=\"subtitle\" :open=\"open\" :icon=\"icon\" outlined>\n <div :class=\"`flex ${mediaAling}`\" v-if=\"media || src\">\n <div :class=\"`dark:text-white ${renderCols}`\">\n <!--svg s'importe sur l'image src-->\n <div v-html=\"media\" class=\"w-full\" v-if=\"media\" />\n <!-- img -->\n <div v-else class=\"w-full\">\n <img :src=\"src\" :alt=\"`image section ${title}`\" />\n </div>\n </div>\n </div>\n <!-- Two-column layout -->\n <div :class=\"`flex ${gap}`\">\n <!-- First column slot -->\n <div :class=\"`${leftCol}`\">\n <slot name=\"left\" />\n </div>\n <!-- Second column slot -->\n <div :class=\"`${rightCol}`\">\n <slot name=\"right\" />\n </div>\n </div>\n <!--end layout-->\n </EpAccordeon>\n </template>\n\n </section>\n</template>\n"],"names":["_createElementBlock","_unref","_Fragment","_createElementVNode","_createBlock","EpIcon","_toDisplayString","_openBlock","EpDivider","_renderSlot","EpAccordeon"],"mappings":"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"}
1
+ {"version":3,"file":"EpSectionCols.vue.js","sources":["../../../src/components/basics/EpSectionCols.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { useCreateUid } from \"~/composables/useCreateUid\";\nimport { cols_img } from \"~/types/Image\";\nimport { allowedColWidths } from \"~/types/Cols\";\nimport EpDivider from \"~/components/basics/EpDivider.vue\";\nimport EpIcon from \"~/components/basics/EpIcon.vue\";\nimport type { EpSectionColsProps } from \"~/types/basics/EpSectionCols\";\nimport EpAccordeon from \"~/components/interactions/EpAccordeon.vue\";\n\nconst props = withDefaults(defineProps<EpSectionColsProps>(), {\n title: null,\n icon: null,\n colsMedia: \"6\",\n mediaAling: \"justify-center\",\n gap: \"gap-1\",\n leftCol: \"w-full\",\n});\n\nconst id = props.uid || useCreateUid()\n\nconst iconSize = computed(() => {\n if (props.title && props.subtitle) return 40;\n return 25;\n});\n\nconst styleTitle = computed(() => {\n if (props.endIcon) {\n return \"justify-between\";\n }\n return \"\";\n});\n\nconst renderCols = computed(() => {\n return cols_img[+props.colsMedia];\n});\n\nconst rightCol = computed(() => {\n if (props.leftCol === \"w-full\") return \"w-full\";\n const leftIndex = allowedColWidths.indexOf(props.leftCol);\n const rightIndex = allowedColWidths.length - leftIndex - 2;\n return allowedColWidths[rightIndex] || \"w-full\";\n});\n</script>\n\n<template>\n <section class=\"EpSection\" :id=\"`section-${id}`\">\n <!--normal mode-->\n <template v-if=\"!compact\">\n <div :class=\"`flex items-center ${styleTitle}`\">\n <EpIcon :icon-path=\"icon\" :size=\"iconSize\" v-if=\"icon && !endIcon\" />\n <div :class=\"`${endIcon ? '' : 'ml-2'}`\">\n <h2 class=\"text-2xl font-semibold dark:text-white\">{{ title }}</h2>\n <h3 class=\"dark:text-white\">{{ subtitle }}</h3>\n </div>\n <EpIcon :icon-path=\"icon\" :size=\"iconSize\" v-if=\"icon && endIcon\" />\n </div>\n <div :class=\"`flex ${mediaAling}`\" v-if=\"media || src\">\n <div :class=\"`dark:text-white ${renderCols}`\">\n <!--svg s'importe sur l'image src-->\n <div v-html=\"media\" class=\"w-full\" v-if=\"media\" />\n <!-- img -->\n <div v-else class=\"w-full\">\n <img :src=\"src\" :alt=\"`image section ${title}`\" />\n </div>\n </div>\n </div>\n <EpDivider v-if=\"title || subtitle\" />\n <!-- Two-column layout -->\n <div :class=\"`flex ${gap}`\">\n <!-- First column slot -->\n <div :class=\"`${leftCol}`\">\n <slot name=\"left\" />\n </div>\n <!-- Second column slot -->\n <div :class=\"`${rightCol}`\">\n <slot name=\"right\" />\n </div>\n </div>\n <!--end layout-->\n\n </template>\n <!--compact mode-->\n <template v-else>\n <EpAccordeon :title=\"title\" :subtitle=\"subtitle\" :open=\"open\" :icon=\"icon\" outlined>\n <div :class=\"`flex ${mediaAling}`\" v-if=\"media || src\">\n <div :class=\"`dark:text-white ${renderCols}`\">\n <!--svg s'importe sur l'image src-->\n <div v-html=\"media\" class=\"w-full\" v-if=\"media\" />\n <!-- img -->\n <div v-else class=\"w-full\">\n <img :src=\"src\" :alt=\"`image section ${title}`\" />\n </div>\n </div>\n </div>\n <!-- Two-column layout -->\n <div :class=\"`flex ${gap}`\">\n <!-- First column slot -->\n <div :class=\"`${leftCol}`\">\n <slot name=\"left\" />\n </div>\n <!-- Second column slot -->\n <div :class=\"`${rightCol}`\">\n <slot name=\"right\" />\n </div>\n </div>\n <!--end layout-->\n </EpAccordeon>\n </template>\n\n </section>\n</template>\n"],"names":["_createElementBlock","_unref","compact","_Fragment","_createElementVNode","icon","endIcon","_createBlock","EpIcon","_toDisplayString","title","subtitle","media","src","mediaAling","_openBlock","EpDivider","gap","leftCol","_renderSlot","EpAccordeon","open"],"mappings":"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"}
@@ -21,11 +21,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21
21
  return openBlock(), createElementBlock("div", {
22
22
  class: normalizeClass(styles.value)
23
23
  }, [
24
- !__props.dots ? (openBlock(), createElementBlock("svg", {
24
+ !_ctx.dots ? (openBlock(), createElementBlock("svg", {
25
25
  key: 0,
26
26
  xmlns: "http://www.w3.org/2000/svg",
27
- width: __props.size,
28
- height: __props.size,
27
+ width: _ctx.size,
28
+ height: _ctx.size,
29
29
  class: "inline",
30
30
  viewBox: "0 0 32 32"
31
31
  }, [
@@ -51,8 +51,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
51
51
  ], 8, _hoisted_1)) : (openBlock(), createElementBlock("svg", {
52
52
  key: 1,
53
53
  xmlns: "http://www.w3.org/2000/svg",
54
- width: __props.size,
55
- height: __props.size,
54
+ width: _ctx.size,
55
+ height: _ctx.size,
56
56
  class: "inline",
57
57
  viewBox: "0 0 32 32"
58
58
  }, [
@@ -1 +1 @@
1
- {"version":3,"file":"EpSpinner.vue.js","sources":["../../../src/components/basics/EpSpinner.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport type { EpSpinnerProps } from \"~/types/basics/EpSpinner\";\n\nconst props = withDefaults(defineProps<EpSpinnerProps>(), {\n color: \"primary\",\n dots: false,\n size: 46,\n inline: false,\n});\n\nconst currentColor = computed(() => {\n return props.color\n});\n\nconst styles = computed(() => {\n return props.inline\n ? \"\"\n : \"flex flex-row w-full h-screen items-center justify-center\";\n});\n</script>\n\n<template>\n <div :class=\"styles\">\n <svg\n v-if=\"!dots\"\n xmlns=\"http://www.w3.org/2000/svg\"\n :width=\"size\"\n :height=\"size\"\n class=\"inline\"\n viewBox=\"0 0 32 32\"\n >\n <path\n :class=\"currentColor\"\n fill=\"currentColor\"\n d=\"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z\"\n opacity=\".25\"\n ></path>\n <path\n :class=\"currentColor\"\n fill=\"currentColor\"\n d=\"M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z\"\n >\n <animateTransform\n attributeName=\"transform\"\n dur=\"0.75s\"\n repeatCount=\"indefinite\"\n type=\"rotate\"\n values=\"0 12 12;360 12 12\"\n ></animateTransform>\n </path>\n </svg>\n <svg\n v-else\n xmlns=\"http://www.w3.org/2000/svg\"\n :width=\"size\"\n :height=\"size\"\n class=\"inline\"\n viewBox=\"0 0 32 32\"\n >\n <g>\n <circle\n cx=\"12\"\n cy=\"2.5\"\n r=\"1.5\"\n :class=\"currentColor\"\n fill=\"currentColor\"\n opacity=\".14\"\n />\n <circle\n cx=\"16.75\"\n cy=\"3.77\"\n r=\"1.5\"\n :class=\"currentColor\"\n fill=\"currentColor\"\n opacity=\".29\"\n />\n <circle\n cx=\"20.23\"\n cy=\"7.25\"\n r=\"1.5\"\n :class=\"currentColor\"\n fill=\"currentColor\"\n opacity=\".43\"\n />\n <circle\n cx=\"21.5\"\n cy=\"12\"\n r=\"1.5\"\n :class=\"currentColor\"\n fill=\"currentColor\"\n opacity=\".57\"\n />\n <circle\n cx=\"20.23\"\n cy=\"16.75\"\n r=\"1.5\"\n :class=\"currentColor\"\n fill=\"currentColor\"\n opacity=\".71\"\n />\n <circle\n cx=\"16.75\"\n cy=\"20.23\"\n r=\"1.5\"\n :class=\"currentColor\"\n fill=\"currentColor\"\n opacity=\".86\"\n />\n <circle\n cx=\"12\"\n cy=\"21.5\"\n r=\"1.5\"\n :class=\"currentColor\"\n fill=\"currentColor\"\n />\n <animateTransform\n attributeName=\"transform\"\n calcMode=\"discrete\"\n dur=\"0.75s\"\n repeatCount=\"indefinite\"\n type=\"rotate\"\n values=\"0 12 12;30 12 12;60 12 12;90 12 12;120 12 12;150 12 12;180 12 12;210 12 12;240 12 12;270 12 12;300 12 12;330 12 12;360 12 12\"\n />\n </g>\n </svg>\n </div>\n</template>\n"],"names":["_createElementBlock","_createElementVNode"],"mappings":";;;;;;;;;;;;AAIA,UAAM,QAAQ;AAOd,UAAM,eAAe,SAAS,MAAM;AAClC,aAAO,MAAM;AAAA,IACf,CAAC;AAED,UAAM,SAAS,SAAS,MAAM;AAC5B,aAAO,MAAM,SACT,KACA;AAAA,IACN,CAAC;;0BAICA,mBAuGM,OAAA;AAAA,QAvGA,sBAAO,OAAA,KAAM;AAAA,MAAA;SAER,QAAA,qBADTA,mBA2BM,OAAA;AAAA;UAzBJ,OAAM;AAAA,UACL,OAAO,QAAA;AAAA,UACP,QAAQ,QAAA;AAAA,UACT,OAAM;AAAA,UACN,SAAQ;AAAA,QAAA;UAERC,mBAKQ,QAAA;AAAA,YAJL,sBAAO,aAAA,KAAY;AAAA,YACpB,MAAK;AAAA,YACL,GAAE;AAAA,YACF,SAAQ;AAAA,UAAA;UAEVA,mBAYO,QAAA;AAAA,YAXJ,sBAAO,aAAA,KAAY;AAAA,YACpB,MAAK;AAAA,YACL,GAAE;AAAA,UAAA;YAEFA,mBAMoB,oBAAA;AAAA,cALlB,eAAc;AAAA,cACd,KAAI;AAAA,cACJ,aAAY;AAAA,cACZ,MAAK;AAAA,cACL,QAAO;AAAA,YAAA;;2CAIbD,mBAyEM,OAAA;AAAA;UAvEJ,OAAM;AAAA,UACL,OAAO,QAAA;AAAA,UACP,QAAQ,QAAA;AAAA,UACT,OAAM;AAAA,UACN,SAAQ;AAAA,QAAA;UAERC,mBAgEI,KAAA,MAAA;AAAA,YA/DFA,mBAOE,UAAA;AAAA,cANA,IAAG;AAAA,cACH,IAAG;AAAA,cACH,GAAE;AAAA,cACD,sBAAO,aAAA,KAAY;AAAA,cACpB,MAAK;AAAA,cACL,SAAQ;AAAA,YAAA;YAEVA,mBAOE,UAAA;AAAA,cANA,IAAG;AAAA,cACH,IAAG;AAAA,cACH,GAAE;AAAA,cACD,sBAAO,aAAA,KAAY;AAAA,cACpB,MAAK;AAAA,cACL,SAAQ;AAAA,YAAA;YAEVA,mBAOE,UAAA;AAAA,cANA,IAAG;AAAA,cACH,IAAG;AAAA,cACH,GAAE;AAAA,cACD,sBAAO,aAAA,KAAY;AAAA,cACpB,MAAK;AAAA,cACL,SAAQ;AAAA,YAAA;YAEVA,mBAOE,UAAA;AAAA,cANA,IAAG;AAAA,cACH,IAAG;AAAA,cACH,GAAE;AAAA,cACD,sBAAO,aAAA,KAAY;AAAA,cACpB,MAAK;AAAA,cACL,SAAQ;AAAA,YAAA;YAEVA,mBAOE,UAAA;AAAA,cANA,IAAG;AAAA,cACH,IAAG;AAAA,cACH,GAAE;AAAA,cACD,sBAAO,aAAA,KAAY;AAAA,cACpB,MAAK;AAAA,cACL,SAAQ;AAAA,YAAA;YAEVA,mBAOE,UAAA;AAAA,cANA,IAAG;AAAA,cACH,IAAG;AAAA,cACH,GAAE;AAAA,cACD,sBAAO,aAAA,KAAY;AAAA,cACpB,MAAK;AAAA,cACL,SAAQ;AAAA,YAAA;YAEVA,mBAME,UAAA;AAAA,cALA,IAAG;AAAA,cACH,IAAG;AAAA,cACH,GAAE;AAAA,cACD,sBAAO,aAAA,KAAY;AAAA,cACpB,MAAK;AAAA,YAAA;sCAEPA,mBAOE,oBAAA;AAAA,cANA,eAAc;AAAA,cACd,UAAS;AAAA,cACT,KAAI;AAAA,cACJ,aAAY;AAAA,cACZ,MAAK;AAAA,cACL,QAAO;AAAA,YAAA;;;;;;;"}
1
+ {"version":3,"file":"EpSpinner.vue.js","sources":["../../../src/components/basics/EpSpinner.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport type { EpSpinnerProps } from \"~/types/basics/EpSpinner\";\n\nconst props = withDefaults(defineProps<EpSpinnerProps>(), {\n color: \"primary\",\n dots: false,\n size: 46,\n inline: false,\n});\n\nconst currentColor = computed(() => {\n return props.color\n});\n\nconst styles = computed(() => {\n return props.inline\n ? \"\"\n : \"flex flex-row w-full h-screen items-center justify-center\";\n});\n</script>\n\n<template>\n <div :class=\"styles\">\n <svg\n v-if=\"!dots\"\n xmlns=\"http://www.w3.org/2000/svg\"\n :width=\"size\"\n :height=\"size\"\n class=\"inline\"\n viewBox=\"0 0 32 32\"\n >\n <path\n :class=\"currentColor\"\n fill=\"currentColor\"\n d=\"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z\"\n opacity=\".25\"\n ></path>\n <path\n :class=\"currentColor\"\n fill=\"currentColor\"\n d=\"M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z\"\n >\n <animateTransform\n attributeName=\"transform\"\n dur=\"0.75s\"\n repeatCount=\"indefinite\"\n type=\"rotate\"\n values=\"0 12 12;360 12 12\"\n ></animateTransform>\n </path>\n </svg>\n <svg\n v-else\n xmlns=\"http://www.w3.org/2000/svg\"\n :width=\"size\"\n :height=\"size\"\n class=\"inline\"\n viewBox=\"0 0 32 32\"\n >\n <g>\n <circle\n cx=\"12\"\n cy=\"2.5\"\n r=\"1.5\"\n :class=\"currentColor\"\n fill=\"currentColor\"\n opacity=\".14\"\n />\n <circle\n cx=\"16.75\"\n cy=\"3.77\"\n r=\"1.5\"\n :class=\"currentColor\"\n fill=\"currentColor\"\n opacity=\".29\"\n />\n <circle\n cx=\"20.23\"\n cy=\"7.25\"\n r=\"1.5\"\n :class=\"currentColor\"\n fill=\"currentColor\"\n opacity=\".43\"\n />\n <circle\n cx=\"21.5\"\n cy=\"12\"\n r=\"1.5\"\n :class=\"currentColor\"\n fill=\"currentColor\"\n opacity=\".57\"\n />\n <circle\n cx=\"20.23\"\n cy=\"16.75\"\n r=\"1.5\"\n :class=\"currentColor\"\n fill=\"currentColor\"\n opacity=\".71\"\n />\n <circle\n cx=\"16.75\"\n cy=\"20.23\"\n r=\"1.5\"\n :class=\"currentColor\"\n fill=\"currentColor\"\n opacity=\".86\"\n />\n <circle\n cx=\"12\"\n cy=\"21.5\"\n r=\"1.5\"\n :class=\"currentColor\"\n fill=\"currentColor\"\n />\n <animateTransform\n attributeName=\"transform\"\n calcMode=\"discrete\"\n dur=\"0.75s\"\n repeatCount=\"indefinite\"\n type=\"rotate\"\n values=\"0 12 12;30 12 12;60 12 12;90 12 12;120 12 12;150 12 12;180 12 12;210 12 12;240 12 12;270 12 12;300 12 12;330 12 12;360 12 12\"\n />\n </g>\n </svg>\n </div>\n</template>\n"],"names":["_createElementBlock","dots","size","_createElementVNode"],"mappings":";;;;;;;;;;;;AAIA,UAAM,QAAQ;AAOd,UAAM,eAAe,SAAS,MAAM;AAClC,aAAO,MAAM;AAAA,IACf,CAAC;AAED,UAAM,SAAS,SAAS,MAAM;AAC5B,aAAO,MAAM,SACT,KACA;AAAA,IACN,CAAC;;0BAICA,mBAuGM,OAAA;AAAA,QAvGA,sBAAO,OAAA,KAAM;AAAA,MAAA;SAERC,KAAAA,qBADTD,mBA2BM,OAAA;AAAA;UAzBJ,OAAM;AAAA,UACL,OAAOE,KAAAA;AAAAA,UACP,QAAQA,KAAAA;AAAAA,UACT,OAAM;AAAA,UACN,SAAQ;AAAA,QAAA;UAERC,mBAKQ,QAAA;AAAA,YAJL,sBAAO,aAAA,KAAY;AAAA,YACpB,MAAK;AAAA,YACL,GAAE;AAAA,YACF,SAAQ;AAAA,UAAA;UAEVA,mBAYO,QAAA;AAAA,YAXJ,sBAAO,aAAA,KAAY;AAAA,YACpB,MAAK;AAAA,YACL,GAAE;AAAA,UAAA;YAEFA,mBAMoB,oBAAA;AAAA,cALlB,eAAc;AAAA,cACd,KAAI;AAAA,cACJ,aAAY;AAAA,cACZ,MAAK;AAAA,cACL,QAAO;AAAA,YAAA;;2CAIbH,mBAyEM,OAAA;AAAA;UAvEJ,OAAM;AAAA,UACL,OAAOE,KAAAA;AAAAA,UACP,QAAQA,KAAAA;AAAAA,UACT,OAAM;AAAA,UACN,SAAQ;AAAA,QAAA;UAERC,mBAgEI,KAAA,MAAA;AAAA,YA/DFA,mBAOE,UAAA;AAAA,cANA,IAAG;AAAA,cACH,IAAG;AAAA,cACH,GAAE;AAAA,cACD,sBAAO,aAAA,KAAY;AAAA,cACpB,MAAK;AAAA,cACL,SAAQ;AAAA,YAAA;YAEVA,mBAOE,UAAA;AAAA,cANA,IAAG;AAAA,cACH,IAAG;AAAA,cACH,GAAE;AAAA,cACD,sBAAO,aAAA,KAAY;AAAA,cACpB,MAAK;AAAA,cACL,SAAQ;AAAA,YAAA;YAEVA,mBAOE,UAAA;AAAA,cANA,IAAG;AAAA,cACH,IAAG;AAAA,cACH,GAAE;AAAA,cACD,sBAAO,aAAA,KAAY;AAAA,cACpB,MAAK;AAAA,cACL,SAAQ;AAAA,YAAA;YAEVA,mBAOE,UAAA;AAAA,cANA,IAAG;AAAA,cACH,IAAG;AAAA,cACH,GAAE;AAAA,cACD,sBAAO,aAAA,KAAY;AAAA,cACpB,MAAK;AAAA,cACL,SAAQ;AAAA,YAAA;YAEVA,mBAOE,UAAA;AAAA,cANA,IAAG;AAAA,cACH,IAAG;AAAA,cACH,GAAE;AAAA,cACD,sBAAO,aAAA,KAAY;AAAA,cACpB,MAAK;AAAA,cACL,SAAQ;AAAA,YAAA;YAEVA,mBAOE,UAAA;AAAA,cANA,IAAG;AAAA,cACH,IAAG;AAAA,cACH,GAAE;AAAA,cACD,sBAAO,aAAA,KAAY;AAAA,cACpB,MAAK;AAAA,cACL,SAAQ;AAAA,YAAA;YAEVA,mBAME,UAAA;AAAA,cALA,IAAG;AAAA,cACH,IAAG;AAAA,cACH,GAAE;AAAA,cACD,sBAAO,aAAA,KAAY;AAAA,cACpB,MAAK;AAAA,YAAA;sCAEPA,mBAOE,oBAAA;AAAA,cANA,eAAc;AAAA,cACd,UAAS;AAAA,cACT,KAAI;AAAA,cACJ,aAAY;AAAA,cACZ,MAAK;AAAA,cACL,QAAO;AAAA,YAAA;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, createElementBlock, openBlock, normalizeClass, Fragment, renderList, createElementVNode, createBlock, createCommentVNode, mergeProps, 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";
@@ -42,7 +42,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
42
42
  return openBlock(), createElementBlock("ul", {
43
43
  class: normalizeClass(`${className.value} dark:border-surface-2 border-surface-2-dark flex flex-col lg:mx-28`)
44
44
  }, [
45
- (openBlock(true), createElementBlock(Fragment, null, renderList(__props.elements, (elem, index) => {
45
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.elements, (elem, index) => {
46
46
  return openBlock(), createElementBlock("li", {
47
47
  key: index,
48
48
  class: "list-none py-4 sm:py-2 border-t border-surface-2-dark dark:border-surface-2 first:border-t-0"
@@ -58,18 +58,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
58
58
  elem.avatar ? (openBlock(), createBlock(_sfc_main$1, mergeProps({
59
59
  key: 0,
60
60
  src: elem.avatar
61
- }, { ref_for: true }, __props.avatarStyle, { class: "col-span-1 self-center justify-self-center" }), null, 16, ["src"])) : createCommentVNode("", true),
61
+ }, { ref_for: true }, _ctx.avatarStyle, { class: "col-span-1 self-center justify-self-center" }), null, 16, ["src"])) : createCommentVNode("", true),
62
62
  createElementVNode("div", _hoisted_2, [
63
63
  createElementVNode("h3", _hoisted_3, toDisplayString(elem.title), 1),
64
64
  createElementVNode("div", {
65
- class: normalizeClass(__props.cropped ? "line-clamp-3" : ""),
65
+ class: normalizeClass(_ctx.cropped ? "line-clamp-3" : ""),
66
66
  innerHTML: unref(useRenderText)(elem.description)
67
67
  }, null, 10, _hoisted_4)
68
68
  ]),
69
69
  elem.icon ? (openBlock(), createElementBlock("div", _hoisted_5, [
70
70
  createVNode(_sfc_main$2, {
71
71
  "icon-path": elem.icon,
72
- size: __props.iconSize
72
+ size: _ctx.iconSize
73
73
  }, null, 8, ["icon-path", "size"])
74
74
  ])) : createCommentVNode("", true)
75
75
  ], 10, _hoisted_1)
@@ -1 +1 @@
1
- {"version":3,"file":"EpStackedList.vue.js","sources":["../../../src/components/basics/EpStackedList.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EpAvatar from \"./EpAvatar.vue\";\nimport EpIcon from \"./EpIcon.vue\";\nimport { useRenderText } from \"../../composables/useRenderText\";\n\nimport {\n type ListItem,\n type AvatarStyle,\n type RoundedStyle,\n roundedType,\n} from \"../../types/StackedList\";\n\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 size: \"middle\",\n }),\n border: true,\n rounded: \"small\",\n restricted: false,\n cropped: false,\n iconSize: 36,\n});\n\nconst className = computed(() => {\n const border = props.border ? \"border\" : \"border-0\";\n const rounded = roundedType[props.rounded];\n const padding = props.restricted ? \"p-0\" : \"p-2\";\n return `${border} ${rounded} ${padding}`;\n});\n\nconst elementSpacing = computed(() => props.restricted ? \"p-3\" : \"mx-6 py-4\");\n\nconst handleClick = (elem: ListItem) => {\n if (elem.url) {\n window.open(elem.url, '_blank', 'noopener,noreferrer');\n }\n};\n</script>\n\n<template>\n <ul :class=\"`${className} dark:border-surface-2 border-surface-2-dark flex flex-col lg:mx-28`\">\n <li v-for=\"(elem, index) in elements\" :key=\"index\"\n class=\"list-none py-4 sm:py-2 border-t border-surface-2-dark dark:border-surface-2 first:border-t-0\">\n <div :class=\"[\n elementSpacing,\n 'grid grid-cols-[20%_60%_20%] gap-2 justify-items-start items-center p-2',\n elem.url ? 'hover:bg-neutral-200 dark:hover:bg-surface-2-dark cursor-pointer' : ''\n ]\" @click=\"handleClick(elem)\">\n <EpAvatar v-if=\"elem.avatar\" :src=\"elem.avatar\" v-bind=\"avatarStyle\"\n class=\"col-span-1 self-center justify-self-center\" />\n\n <div class=\"col-span-1 justify-self-start w-full\">\n <h3 class=\"font-semibold\">{{ elem.title }}</h3>\n <div :class=\"cropped ? 'line-clamp-3' : ''\" v-html=\"useRenderText(elem.description)\" />\n </div>\n\n <div v-if=\"elem.icon\"\n class=\"flex items-center justify-center col-span-1 w-full\">\n <EpIcon :icon-path=\"elem.icon\" :size=\"iconSize\" />\n </div>\n </div>\n </li>\n </ul>\n</template>"],"names":["_createElementBlock","_openBlock","_Fragment","_renderList","_createElementVNode","_normalizeClass","_createBlock","EpAvatar","_mergeProps","_toDisplayString","_unref","_createVNode","EpIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,UAAM,QAAQ;AAYd,UAAM,YAAY,SAAS,MAAM;AAC7B,YAAM,SAAS,MAAM,SAAS,WAAW;AACzC,YAAM,UAAU,YAAY,MAAM,OAAO;AACzC,YAAM,UAAU,MAAM,aAAa,QAAQ;AAC3C,aAAO,GAAG,MAAM,IAAI,OAAO,IAAI,OAAO;AAAA,IAC1C,CAAC;AAED,UAAM,iBAAiB,SAAS,MAAM,MAAM,aAAa,QAAQ,WAAW;AAE5E,UAAM,cAAc,CAAC,SAAmB;AACpC,UAAI,KAAK,KAAK;AACV,eAAO,KAAK,KAAK,KAAK,UAAU,qBAAqB;AAAA,MACzD;AAAA,IACJ;;0BAIIA,mBAsBK,MAAA;AAAA,QAtBA,yBAAU,UAAA,KAAS,qEAAA;AAAA,MAAA;SACpBC,UAAA,IAAA,GAAAD,mBAoBKE,UAAA,MAAAC,WApBuB,QAAA,UAAQ,CAAxB,MAAM,UAAK;8BAAvBH,mBAoBK,MAAA;AAAA,YApBkC,KAAK;AAAA,YACxC,OAAM;AAAA,UAAA;YACNI,mBAiBM,OAAA;AAAA,cAjBA,OAAKC,eAAA;AAAA,gBAAoB,eAAA;AAAA;gBAA2H,KAAK,MAAG,qEAAA;AAAA,cAAA;cAI9J,SAAK,CAAA,WAAE,YAAY,IAAI;AAAA,YAAA;cACP,KAAK,UAArBJ,UAAA,GAAAK,YACyDC,aADzDC,WACyD;AAAA;gBAD3B,KAAK,KAAK;AAAA,cAAA,sBAAgB,QAAA,aAAW,EAC/D,OAAM,6CAAA,CAA4C,GAAA,MAAA,IAAA,CAAA,KAAA,CAAA;cAEtDJ,mBAGM,OAHN,YAGM;AAAA,gBAFFA,mBAA+C,MAA/C,YAA+CK,gBAAlB,KAAK,KAAK,GAAA,CAAA;AAAA,gBACvCL,mBAAuF,OAAA;AAAA,kBAAjF,sBAAO,QAAA,UAAO,iBAAA,EAAA;AAAA,kBAAwB,WAAQM,MAAA,aAAA,EAAc,KAAK,WAAW;AAAA,gBAAA;;cAG3E,KAAK,QAAhBT,UAAA,GAAAD,mBAGM,OAHN,YAGM;AAAA,gBADFW,YAAkDC,aAAA;AAAA,kBAAzC,aAAW,KAAK;AAAA,kBAAO,MAAM,QAAA;AAAA,gBAAA;;;;;;;;;"}
1
+ {"version":3,"file":"EpStackedList.vue.js","sources":["../../../src/components/basics/EpStackedList.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EpAvatar from \"./EpAvatar.vue\";\nimport EpIcon from \"./EpIcon.vue\";\nimport { useRenderText } from \"../../composables/useRenderText\";\n\nimport {\n type ListItem,\n type AvatarStyle,\n type RoundedStyle,\n roundedType,\n} from \"../../types/StackedList\";\n\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 size: \"middle\",\n }),\n border: true,\n rounded: \"small\",\n restricted: false,\n cropped: false,\n iconSize: 36,\n});\n\nconst className = computed(() => {\n const border = props.border ? \"border\" : \"border-0\";\n const rounded = roundedType[props.rounded];\n const padding = props.restricted ? \"p-0\" : \"p-2\";\n return `${border} ${rounded} ${padding}`;\n});\n\nconst elementSpacing = computed(() => props.restricted ? \"p-3\" : \"mx-6 py-4\");\n\nconst handleClick = (elem: ListItem) => {\n if (elem.url) {\n window.open(elem.url, '_blank', 'noopener,noreferrer');\n }\n};\n</script>\n\n<template>\n <ul :class=\"`${className} dark:border-surface-2 border-surface-2-dark flex flex-col lg:mx-28`\">\n <li v-for=\"(elem, index) in elements\" :key=\"index\"\n class=\"list-none py-4 sm:py-2 border-t border-surface-2-dark dark:border-surface-2 first:border-t-0\">\n <div :class=\"[\n elementSpacing,\n 'grid grid-cols-[20%_60%_20%] gap-2 justify-items-start items-center p-2',\n elem.url ? 'hover:bg-neutral-200 dark:hover:bg-surface-2-dark cursor-pointer' : ''\n ]\" @click=\"handleClick(elem)\">\n <EpAvatar v-if=\"elem.avatar\" :src=\"elem.avatar\" v-bind=\"avatarStyle\"\n class=\"col-span-1 self-center justify-self-center\" />\n\n <div class=\"col-span-1 justify-self-start w-full\">\n <h3 class=\"font-semibold\">{{ elem.title }}</h3>\n <div :class=\"cropped ? 'line-clamp-3' : ''\" v-html=\"useRenderText(elem.description)\" />\n </div>\n\n <div v-if=\"elem.icon\"\n class=\"flex items-center justify-center col-span-1 w-full\">\n <EpIcon :icon-path=\"elem.icon\" :size=\"iconSize\" />\n </div>\n </div>\n </li>\n </ul>\n</template>"],"names":["_createElementBlock","_openBlock","_Fragment","_renderList","elements","_createElementVNode","_normalizeClass","_createBlock","EpAvatar","_mergeProps","avatarStyle","_toDisplayString","cropped","_unref","_createVNode","EpIcon","iconSize"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,UAAM,QAAQ;AAYd,UAAM,YAAY,SAAS,MAAM;AAC7B,YAAM,SAAS,MAAM,SAAS,WAAW;AACzC,YAAM,UAAU,YAAY,MAAM,OAAO;AACzC,YAAM,UAAU,MAAM,aAAa,QAAQ;AAC3C,aAAO,GAAG,MAAM,IAAI,OAAO,IAAI,OAAO;AAAA,IAC1C,CAAC;AAED,UAAM,iBAAiB,SAAS,MAAM,MAAM,aAAa,QAAQ,WAAW;AAE5E,UAAM,cAAc,CAAC,SAAmB;AACpC,UAAI,KAAK,KAAK;AACV,eAAO,KAAK,KAAK,KAAK,UAAU,qBAAqB;AAAA,MACzD;AAAA,IACJ;;0BAIIA,mBAsBK,MAAA;AAAA,QAtBA,yBAAU,UAAA,KAAS,qEAAA;AAAA,MAAA;SACpBC,UAAA,IAAA,GAAAD,mBAoBKE,UAAA,MAAAC,WApBuBC,KAAAA,UAAQ,CAAxB,MAAM,UAAK;8BAAvBJ,mBAoBK,MAAA;AAAA,YApBkC,KAAK;AAAA,YACxC,OAAM;AAAA,UAAA;YACNK,mBAiBM,OAAA;AAAA,cAjBA,OAAKC,eAAA;AAAA,gBAAoB,eAAA;AAAA;gBAA2H,KAAK,MAAG,qEAAA;AAAA,cAAA;cAI9J,SAAK,CAAA,WAAE,YAAY,IAAI;AAAA,YAAA;cACP,KAAK,UAArBL,UAAA,GAAAM,YACyDC,aADzDC,WACyD;AAAA;gBAD3B,KAAK,KAAK;AAAA,cAAA,sBAAgBC,KAAAA,aAAW,EAC/D,OAAM,6CAAA,CAA4C,GAAA,MAAA,IAAA,CAAA,KAAA,CAAA;cAEtDL,mBAGM,OAHN,YAGM;AAAA,gBAFFA,mBAA+C,MAA/C,YAA+CM,gBAAlB,KAAK,KAAK,GAAA,CAAA;AAAA,gBACvCN,mBAAuF,OAAA;AAAA,kBAAjF,sBAAOO,KAAAA,UAAO,iBAAA,EAAA;AAAA,kBAAwB,WAAQC,MAAA,aAAA,EAAc,KAAK,WAAW;AAAA,gBAAA;;cAG3E,KAAK,QAAhBZ,UAAA,GAAAD,mBAGM,OAHN,YAGM;AAAA,gBADFc,YAAkDC,aAAA;AAAA,kBAAzC,aAAW,KAAK;AAAA,kBAAO,MAAMC,KAAAA;AAAAA,gBAAAA;;;;;;;;;"}
@@ -25,89 +25,87 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
25
25
  () => import("../tools/AsyncKatexRender.vue.js")
26
26
  );
27
27
  const renderTitle = computed(() => props.title || "En savoir plus");
28
- function parseHtmlToVNodes(html) {
29
- const container = document.createElement("div");
30
- container.innerHTML = html;
31
- const nodes = [];
32
- container.childNodes.forEach((node) => {
33
- var _a;
34
- if (node.nodeType === 3) {
35
- const text = node.textContent;
36
- if (text && text.replace(/\s/g, "").length > 0) nodes.push(text);
37
- } else if (node.nodeType === 1) {
38
- const el = node;
39
- if (el.classList.contains("ep-katex-formula")) {
40
- const formula = el.textContent || "";
41
- const block = el.classList.contains("katex-display");
42
- nodes.push(
43
- h(AsyncKatexRenderer, { formula, block })
44
- );
45
- return;
46
- }
47
- if (el.classList.contains("ep_glossary_item")) {
48
- const id = el.getAttribute("data-id");
49
- const render_word = el.innerHTML;
50
- let _glossary = [];
51
- if (props.glossary) {
52
- _glossary = props.glossary.map((item) => {
53
- var _a2;
54
- return {
55
- ...item,
56
- id: (_a2 = item.documentId) != null ? _a2 : item.id
57
- };
58
- });
59
- }
60
- const term = _glossary.find((word) => word.id === id);
61
- if (term) {
62
- const foundedRelations = _glossary.filter(
63
- (x) => x.relation.some((r) => r === id)
64
- );
65
- const termsRelation = foundedRelations.map((x) => x.term);
66
- const stringRelations = termsRelation.join(", ");
67
- const stringVariations = term.variation.join(", ");
68
- nodes.push(
69
- h(
70
- "div",
71
- { style: "display:inline" },
72
- h(
73
- _sfc_main$1,
74
- {
75
- term: term.term,
76
- word: render_word,
77
- variations: stringVariations,
78
- graminfo: term.graminfo,
79
- src: (_a = term.img) != null ? _a : "",
80
- domain: term.domain,
81
- relations: stringRelations,
82
- labelDefinition: props.labelDefinition,
83
- labelDomain: props.labelDomain,
84
- labelVariations: props.labelVariations,
85
- labelRelations: props.labelRelations,
86
- labelClose: props.labelClose
87
- },
88
- () => {
89
- const def = useRenderText(term.definition);
90
- if (!isHtml(def)) {
91
- return h("div", { innerHTML: def });
92
- }
93
- return parseHtmlToVNodes(def);
94
- }
95
- )
96
- )
97
- );
98
- return;
99
- }
100
- }
101
- nodes.push(
28
+ function domNodeToVNode(node) {
29
+ var _a;
30
+ if (node.nodeType === 3) {
31
+ const text = node.textContent;
32
+ if (text && text.replace(/\s/g, "").length > 0) return text;
33
+ return null;
34
+ }
35
+ if (node.nodeType !== 1) return null;
36
+ const el = node;
37
+ const tag = el.tagName.toLowerCase();
38
+ if (el.classList.contains("ep-katex-formula")) {
39
+ const formula = el.textContent || "";
40
+ const block = el.classList.contains("katex-display");
41
+ return h(AsyncKatexRenderer, { formula, block });
42
+ }
43
+ if (el.classList.contains("ep_glossary_item")) {
44
+ const id = el.getAttribute("data-id");
45
+ const render_word = el.innerHTML;
46
+ let _glossary = [];
47
+ if (props.glossary) {
48
+ _glossary = props.glossary.map((item) => {
49
+ var _a2;
50
+ return {
51
+ ...item,
52
+ id: (_a2 = item.documentId) != null ? _a2 : item.id
53
+ };
54
+ });
55
+ }
56
+ const term = _glossary.find((word) => word.id === id);
57
+ if (term) {
58
+ const foundedRelations = _glossary.filter(
59
+ (x) => x.relation.some((r) => r === id)
60
+ );
61
+ const stringRelations = foundedRelations.map((x) => x.term).join(", ");
62
+ const stringVariations = term.variation.join(", ");
63
+ return h(
64
+ "div",
65
+ { style: "display:inline" },
102
66
  h(
103
- el.tagName.toLowerCase(),
104
- getElementAttrs(el),
105
- parseHtmlToVNodes(el.innerHTML)
67
+ _sfc_main$1,
68
+ {
69
+ term: term.term,
70
+ word: render_word,
71
+ variations: stringVariations,
72
+ graminfo: term.graminfo,
73
+ src: (_a = term.img) != null ? _a : "",
74
+ domain: term.domain,
75
+ relations: stringRelations,
76
+ labelDefinition: props.labelDefinition,
77
+ labelDomain: props.labelDomain,
78
+ labelVariations: props.labelVariations,
79
+ labelRelations: props.labelRelations,
80
+ labelClose: props.labelClose
81
+ },
82
+ () => {
83
+ const def = useRenderText(term.definition);
84
+ if (!isHtml(def)) return h("div", { innerHTML: def });
85
+ return childNodesToVNodes(parseFragment(def));
86
+ }
106
87
  )
107
88
  );
108
89
  }
90
+ }
91
+ const children = childNodesToVNodes(el.childNodes);
92
+ if (tag === "a") {
93
+ return h(tag, { ...getElementAttrs(el), target: "_blank", rel: "noopener noreferrer" }, children);
94
+ }
95
+ return h(tag, getElementAttrs(el), children);
96
+ }
97
+ function childNodesToVNodes(nodes) {
98
+ const result = [];
99
+ nodes.forEach((node) => {
100
+ const vnode = domNodeToVNode(node);
101
+ if (vnode !== null) result.push(vnode);
109
102
  });
110
- return nodes;
103
+ return result;
104
+ }
105
+ function parseFragment(html) {
106
+ const template = document.createElement("template");
107
+ template.innerHTML = html;
108
+ return template.content.childNodes;
111
109
  }
112
110
  const renderText = computed(() => {
113
111
  if (!props.content) return [h("div")];
@@ -115,7 +113,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
115
113
  return [h("div", { innerHTML: useRenderText(props.content) })];
116
114
  }
117
115
  const formatted = useRenderText(props.content);
118
- return parseHtmlToVNodes(`<div> ${formatted} </div>`);
116
+ return childNodesToVNodes(parseFragment(formatted));
119
117
  });
120
118
  function getElementAttrs(el) {
121
119
  const attrs = {};
@@ -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 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(`<div> ${formatted} </div>`);\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":";;;;;;;;;;;;;;;;;;;;;AAUA,UAAM,QAAQ;AASd,UAAM,EAAE,QAAA,IAAY,OAAO,KAAK;AAGhC,UAAM,qBAAqB;AAAA,MAAqB,MAC9C,OAAO,kCAAyC;AAAA,IAAA;AAGlD,UAAM,cAAc,SAAS,MAAM,MAAM,SAAS,gBAAgB;AAElE,aAAS,kBAAkB,MAAkC;AAC3D,YAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,gBAAU,YAAY;AAEtB,YAAM,QAA4B,CAAA;AAElC,gBAAU,WAAW,QAAQ,CAAC,SAAS;;AACrC,YAAI,KAAK,aAAa,GAAG;AAEtB,gBAAM,OAAO,KAAK;AAEnB,cAAI,QAAQ,KAAK,QAAQ,OAAO,EAAE,EAAE,SAAS,EAAG,OAAM,KAAK,IAAI;AAAA,QACjE,WAAW,KAAK,aAAa,GAAG;AAC9B,gBAAM,KAAK;AAGX,cAAG,GAAG,UAAU,SAAS,kBAAkB,GAAE;AAC3C,kBAAM,UAAU,GAAG,eAAe;AAClC,kBAAM,QAAQ,GAAG,UAAU,SAAS,eAAe;AACnD,kBAAM;AAAA,cACF,EAAE,oBAAoB,EAAE,SAAkB,OAAa;AAAA,YAAA;AAE3D;AAAA,UACF;AAEA,cAAI,GAAG,UAAU,SAAS,kBAAkB,GAAG;AAC7C,kBAAM,KAAK,GAAG,aAAa,SAAS;AACpC,kBAAM,cAAc,GAAG;AAEvB,gBAAI,YAAwB,CAAA;AAC5B,gBAAI,MAAM,UAAU;AAClB,0BAAY,MAAM,SAAS,IAAI,CAAC,SAAA;;AAAU;AAAA,kBACxC,GAAG;AAAA,kBACH,KAAIA,MAAA,KAAK,eAAL,OAAAA,MAAmB,KAAK;AAAA,gBAAA;AAAA,eAC5B;AAAA,YACJ;AAEA,kBAAM,OAAO,UAAU,KAAK,CAAC,SAAS,KAAK,OAAO,EAAE;AAEpD,gBAAI,MAAM;AACR,oBAAM,mBAAmB,UAAU;AAAA,gBAAO,CAAC,MACzC,EAAE,SAAS,KAAK,CAAC,MAAc,MAAM,EAAE;AAAA,cAAA;AAEzC,oBAAM,gBAAgB,iBAAiB,IAAI,CAAC,MAAM,EAAE,IAAI;AACxD,oBAAM,kBAAkB,cAAc,KAAK,IAAI;AAC/C,oBAAM,mBAAmB,KAAK,UAAU,KAAK,IAAI;AAEjD,oBAAM;AAAA,gBACJ;AAAA,kBACE;AAAA,kBACA,EAAE,OAAO,iBAAA;AAAA,kBACT;AAAA,oBACEC;AAAAA,oBACA;AAAA,sBACE,MAAM,KAAK;AAAA,sBACX,MAAM;AAAA,sBACN,YAAY;AAAA,sBACZ,UAAU,KAAK;AAAA,sBACf,MAAK,UAAK,QAAL,YAAY;AAAA,sBACjB,QAAQ,KAAK;AAAA,sBACb,WAAW;AAAA,sBACX,iBAAiB,MAAM;AAAA,sBACvB,aAAa,MAAM;AAAA,sBACnB,iBAAiB,MAAM;AAAA,sBACvB,gBAAgB,MAAM;AAAA,sBACtB,YAAY,MAAM;AAAA,oBAAA;AAAA,oBAEpB,MAAM;AACA,4BAAM,MAAM,cAAc,KAAK,UAAU;AACzC,0BAAI,CAAC,OAAO,GAAG,GAAG;AAChB,+BAAO,EAAE,OAAO,EAAE,WAAW,KAAK;AAAA,sBACpC;AACA,6BAAO,kBAAkB,GAAG;AAAA,oBAC9B;AAAA,kBAAA;AAAA,gBACN;AAAA,cACF;AAEF;AAAA,YACF;AAAA,UACF;AAGA,gBAAM;AAAA,YACJ;AAAA,cACE,GAAG,QAAQ,YAAA;AAAA,cACX,gBAAgB,EAAE;AAAA,cAClB,kBAAkB,GAAG,SAAS;AAAA,YAAA;AAAA,UAChC;AAAA,QAEJ;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAEA,UAAM,aAAa,SAAS,MAAM;AAChC,UAAI,CAAC,MAAM,gBAAgB,CAAC,EAAE,KAAK,CAAC;AACpC,UAAI,CAAC,OAAO,MAAM,OAAO,GAAG;AAC1B,eAAO,CAAC,EAAE,OAAO,EAAE,WAAW,cAAc,MAAM,OAAO,EAAA,CAAG,CAAC;AAAA,MAC/D;AAEA,YAAM,YAAY,cAAc,MAAM,OAAO;AAE7C,aAAO,kBAAkB,SAAS,SAAS,SAAS;AAAA,IACtD,CAAC;AAID,aAAS,gBAAgB,IAAsC;AAC7D,YAAM,QAA6B,CAAA;AAEnC,iBAAW,QAAQ,MAAM,KAAK,GAAG,UAAU,GAAG;AAC5C,cAAM,KAAK,IAAI,IAAI,KAAK;AAAA,MAC1B;AAEA,UAAI,GAAG,QAAQ,YAAA,MAAkB,KAAK;AACpC,cAAM,SAAS;AACf,cAAM,MAAM;AAAA,MACd;AAEA,aAAO;AAAA,IACT;;AAIE,aAAAC,UAAA,GAAAC,mBASM,OATN,YASM;AAAA,QAReC,MAAA,OAAA,kBAAnBC,YAIcC,MAAA;AAAA;UAJc,UAAA;AAAA,UAAU,OAAO,YAAA;AAAA,QAAA;2BAC3C,MAEM;AAAA,YAFNC,mBAEM,OAAA,MAAA;AAAA,eADJL,UAAA,IAAA,GAAAC,mBAAiEK,UAAA,MAAAC,WAAvB,WAAA,OAAU,CAAtB,MAAM,MAAC;AAArC,uBAAAP,UAAA,GAAAG,YAAiEK,wBAAjD,IAAI,GAAA,EAAmC,KAAK,GAAC;AAAA;;;;0CAGjEP,mBAEM,OAAA,YAAA;AAAA,WADJD,UAAA,IAAA,GAAAC,mBAAiEK,UAAA,MAAAC,WAAvB,WAAA,OAAU,CAAtB,MAAM,MAAC;AAArC,mBAAAP,UAAA,GAAAG,YAAiEK,wBAAjD,IAAI,GAAA,EAAmC,KAAK,GAAC;AAAA;;;;;;"}
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 { TABLE_WRAPPER } from \"~/composables/tableWrapper\";\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 domNodeToVNode(node: Node): VNode | string | null {\n // Nodo de texto\n if (node.nodeType === 3) {\n const text = node.textContent;\n if (text && text.replace(/\\s/g, '').length > 0) return text;\n return null;\n }\n\n if (node.nodeType !== 1) return null;\n\n const el = node as HTMLElement;\n const tag = el.tagName.toLowerCase();\n\n // KaTeX\n if (el.classList.contains(\"ep-katex-formula\")) {\n const formula = el.textContent || \"\";\n const block = el.classList.contains(\"katex-display\");\n return h(AsyncKatexRenderer, { formula, block });\n }\n\n // Glossary\n if (el.classList.contains(\"ep_glossary_item\")) {\n const id = el.getAttribute(\"data-id\");\n const render_word = el.innerHTML;\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 const term = _glossary.find((word) => word.id === id);\n if (term) {\n const foundedRelations = _glossary.filter((x) =>\n x.relation.some((r: string) => r === id)\n );\n const stringRelations = foundedRelations.map((x) => x.term).join(\", \");\n const stringVariations = term.variation.join(\", \");\n return 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)) return h(\"div\", { innerHTML: def });\n return childNodesToVNodes(parseFragment(def));\n }\n )\n );\n }\n }\n\n\nconst children = childNodesToVNodes(el.childNodes);\n\n if (tag === \"a\") {\n return h(tag, { ...getElementAttrs(el), target: \"_blank\", rel: \"noopener noreferrer\" }, children);\n }\n\n return h(tag, getElementAttrs(el), children);\n}\n\nfunction childNodesToVNodes(nodes: NodeList | Node[]): (VNode | string)[] {\n const result: (VNode | string)[] = [];\n nodes.forEach((node) => {\n const vnode = domNodeToVNode(node);\n if (vnode !== null) result.push(vnode);\n });\n return result;\n}\n\nfunction parseFragment(html: string): NodeList {\n const template = document.createElement(\"template\");\n template.innerHTML = html;\n return template.content.childNodes;\n}\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 const formatted = useRenderText(props.content);\n return childNodesToVNodes(parseFragment(formatted));\n});\n\n\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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"}
@@ -51,9 +51,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
51
51
  const { center, series, source, width, dataNoDisponible } = toRefs(props);
52
52
  return (_ctx, _cache) => {
53
53
  return openBlock(), createBlock(_sfc_main$1, {
54
- title: __props.title,
55
- type: __props.type,
56
- hideIcon: __props.hideIcon,
54
+ title: _ctx.title,
55
+ type: _ctx.type,
56
+ hideIcon: _ctx.hideIcon,
57
57
  icon: unref(mdiChartBar)
58
58
  }, createSlots({
59
59
  content: withCtx(() => [
@@ -1 +1 @@
1
- {"version":3,"file":"EpBarChart.vue.js","sources":["../../../src/components/charts/EpBarChart.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, toRefs } from \"vue\";\nimport EpEdu from \"~/components/educationals/EpEdu.vue\";\nimport { mdiChartBar } from \"@mdi/js\";\nimport { isHtml } from \"~/composables/isHtml\";\nimport { useMarkdown } from \"~/composables/useMarkdown\";\nimport { useColorMode } from \"@vueuse/core\";\nimport type { EpBarChartProps } from \"~/types/charts/EpBarChart\";\nimport VueApexCharts from \"vue3-apexcharts\";\nimport type { ApexOptions } from \"apexcharts\";\n\nconst props = withDefaults(defineProps<EpBarChartProps>(), {\n center: true,\n width: \"500\",\n dataNoDisponible: \"Data no disponible\",\n});\n\nconst renderText = computed(() => {\n if (!props.intentions) {\n return null;\n }\n if (!isHtml(props.intentions)) {\n return useMarkdown(props.intentions);\n }\n return props.intentions;\n});\n\nconst mode = useColorMode();\n\nconst globalOptions = computed<ApexOptions>(() => {\n return {\n ...props.options,\n theme: {\n mode: mode.value,\n },\n chart: {\n background: \"transparent\",\n },\n dataLabels: {\n enabled: false,\n },\n } as ApexOptions;\n});\n\nconst { center, series, source, width, dataNoDisponible } = toRefs(props);\n</script>\n\n<template>\n <EpEdu :title=\"title\" :type=\"type\" :hideIcon=\"hideIcon\" :icon=\"mdiChartBar\">\n <template #intentions v-if=\"renderText\">\n <div v-html=\"renderText\" />\n </template>\n <template #content>\n <div\n :class=\"`p-4 ${center ? 'flex justify-center' : ''}`\"\n v-if=\"globalOptions && series\"\n >\n <VueApexCharts\n :width=\"width\"\n type=\"bar\"\n :options=\"globalOptions\"\n :series=\"series\"\n />\n </div>\n <div v-else>\n <p>{{ dataNoDisponible }}</p>\n </div>\n </template>\n <template #actions v-if=\"source\">\n <p>{{ source }}</p>\n </template>\n </EpEdu>\n</template>\n"],"names":["_createBlock","EpEdu","_unref","_createElementBlock","_createVNode","_createElementVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAWA,UAAM,QAAQ;AAMd,UAAM,aAAa,SAAS,MAAM;AAChC,UAAI,CAAC,MAAM,YAAY;AACrB,eAAO;AAAA,MACT;AACA,UAAI,CAAC,OAAO,MAAM,UAAU,GAAG;AAC7B,eAAO,YAAY,MAAM,UAAU;AAAA,MACrC;AACA,aAAO,MAAM;AAAA,IACf,CAAC;AAED,UAAM,OAAO,aAAA;AAEb,UAAM,gBAAgB,SAAsB,MAAM;AAChD,aAAO;AAAA,QACL,GAAG,MAAM;AAAA,QACT,OAAO;AAAA,UACL,MAAM,KAAK;AAAA,QAAA;AAAA,QAEb,OAAO;AAAA,UACL,YAAY;AAAA,QAAA;AAAA,QAEd,YAAY;AAAA,UACV,SAAS;AAAA,QAAA;AAAA,MACX;AAAA,IAEJ,CAAC;AAED,UAAM,EAAE,QAAQ,QAAQ,QAAQ,OAAO,iBAAA,IAAqB,OAAO,KAAK;;0BAItEA,YAuBQC,aAAA;AAAA,QAvBA,OAAO,QAAA;AAAA,QAAQ,MAAM,QAAA;AAAA,QAAO,UAAU,QAAA;AAAA,QAAW,MAAMC,MAAA,WAAA;AAAA,MAAA;QAIlD,iBACT,MAUM;AAAA,UARE,cAAA,SAAiBA,MAAA,MAAA,kBAFzBC,mBAUM,OAAA;AAAA;YATH,6BAAcD,MAAA,MAAA,IAAM,wBAAA,EAAA,EAAA;AAAA,UAAA;YAGrBE,YAKEF,MAAA,aAAA,GAAA;AAAA,cAJC,OAAOA,MAAA,KAAA;AAAA,cACR,MAAK;AAAA,cACJ,SAAS,cAAA;AAAA,cACT,QAAQA,MAAA,MAAA;AAAA,YAAA;iCAGbC,mBAEM,OAAA,YAAA;AAAA,YADJE,mBAA6B,2BAAvBH,MAAA,gBAAA,CAAgB,GAAA,CAAA;AAAA,UAAA;;;;QAhBE,WAAA;gBAAjB;AAAA,sBACT,MAA2B;AAAA,YAA3BG,mBAA2B,OAAA,EAAtB,WAAQ,WAAA,SAAU,MAAA,GAAA,UAAA;AAAA,UAAA;;;QAkBAH,MAAA,MAAA;gBAAd;AAAA,sBACT,MAAmB;AAAA,YAAnBG,mBAAmB,2BAAbH,MAAA,MAAA,CAAM,GAAA,CAAA;AAAA,UAAA;;;;;;;"}
1
+ {"version":3,"file":"EpBarChart.vue.js","sources":["../../../src/components/charts/EpBarChart.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, toRefs } from \"vue\";\nimport EpEdu from \"~/components/educationals/EpEdu.vue\";\nimport { mdiChartBar } from \"@mdi/js\";\nimport { isHtml } from \"~/composables/isHtml\";\nimport { useMarkdown } from \"~/composables/useMarkdown\";\nimport { useColorMode } from \"@vueuse/core\";\nimport type { EpBarChartProps } from \"~/types/charts/EpBarChart\";\nimport VueApexCharts from \"vue3-apexcharts\";\n\nconst props = withDefaults(defineProps<EpBarChartProps>(), {\n center: true,\n width: \"500\",\n dataNoDisponible: \"Data no disponible\",\n});\n\nconst renderText = computed(() => {\n if (!props.intentions) {\n return null;\n }\n if (!isHtml(props.intentions)) {\n return useMarkdown(props.intentions);\n }\n return props.intentions;\n});\n\nconst mode = useColorMode();\n\nconst globalOptions = computed(() => {\n return {\n ...props.options,\n theme: {\n mode: mode.value,\n },\n chart: {\n background: \"transparent\",\n },\n dataLabels: {\n enabled: false,\n },\n };\n});\n\nconst { center, series, source, width, dataNoDisponible } = toRefs(props);\n</script>\n\n<template>\n <EpEdu :title=\"title\" :type=\"type\" :hideIcon=\"hideIcon\" :icon=\"mdiChartBar\">\n <template #intentions v-if=\"renderText\">\n <div v-html=\"renderText\" />\n </template>\n <template #content>\n <div\n :class=\"`p-4 ${center ? 'flex justify-center' : ''}`\"\n v-if=\"globalOptions && series\"\n >\n <VueApexCharts\n :width=\"width\"\n type=\"bar\"\n :options=\"globalOptions\"\n :series=\"series\"\n />\n </div>\n <div v-else>\n <p>{{ dataNoDisponible }}</p>\n </div>\n </template>\n <template #actions v-if=\"source\">\n <p>{{ source }}</p>\n </template>\n </EpEdu>\n</template>\n"],"names":["_createBlock","EpEdu","title","type","hideIcon","_unref","_createElementBlock","_createVNode","_createElementVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAUA,UAAM,QAAQ;AAMd,UAAM,aAAa,SAAS,MAAM;AAChC,UAAI,CAAC,MAAM,YAAY;AACrB,eAAO;AAAA,MACT;AACA,UAAI,CAAC,OAAO,MAAM,UAAU,GAAG;AAC7B,eAAO,YAAY,MAAM,UAAU;AAAA,MACrC;AACA,aAAO,MAAM;AAAA,IACf,CAAC;AAED,UAAM,OAAO,aAAA;AAEb,UAAM,gBAAgB,SAAS,MAAM;AACnC,aAAO;AAAA,QACL,GAAG,MAAM;AAAA,QACT,OAAO;AAAA,UACL,MAAM,KAAK;AAAA,QAAA;AAAA,QAEb,OAAO;AAAA,UACL,YAAY;AAAA,QAAA;AAAA,QAEd,YAAY;AAAA,UACV,SAAS;AAAA,QAAA;AAAA,MACX;AAAA,IAEJ,CAAC;AAED,UAAM,EAAE,QAAQ,QAAQ,QAAQ,OAAO,iBAAA,IAAqB,OAAO,KAAK;;0BAItEA,YAuBQC,aAAA;AAAA,QAvBA,OAAOC,KAAAA;AAAAA,QAAQ,MAAMC,KAAAA;AAAAA,QAAO,UAAUC,KAAAA;AAAAA,QAAW,MAAMC,MAAA,WAAA;AAAA,MAAA;QAIlD,iBACT,MAUM;AAAA,UARE,cAAA,SAAiBA,MAAA,MAAA,kBAFzBC,mBAUM,OAAA;AAAA;YATH,6BAAcD,MAAA,MAAA,IAAM,wBAAA,EAAA,EAAA;AAAA,UAAA;YAGrBE,YAKEF,MAAA,aAAA,GAAA;AAAA,cAJC,OAAOA,MAAA,KAAA;AAAA,cACR,MAAK;AAAA,cACJ,SAAS,cAAA;AAAA,cACT,QAAQA,MAAA,MAAA;AAAA,YAAA;iCAGbC,mBAEM,OAAA,YAAA;AAAA,YADJE,mBAA6B,2BAAvBH,MAAA,gBAAA,CAAgB,GAAA,CAAA;AAAA,UAAA;;;;QAhBE,WAAA;gBAAjB;AAAA,sBACT,MAA2B;AAAA,YAA3BG,mBAA2B,OAAA,EAAtB,WAAQ,WAAA,SAAU,MAAA,GAAA,UAAA;AAAA,UAAA;;;QAkBAH,MAAA,MAAA;gBAAd;AAAA,sBACT,MAAmB;AAAA,YAAnBG,mBAAmB,2BAAbH,MAAA,MAAA,CAAM,GAAA,CAAA;AAAA,UAAA;;;;;;;"}
@@ -88,9 +88,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
88
88
  const { center, series, source, labels, width } = toRefs(props);
89
89
  return (_ctx, _cache) => {
90
90
  return openBlock(), createBlock(_sfc_main$1, {
91
- title: __props.title,
92
- type: __props.type,
93
- hideIcon: __props.hideIcon,
91
+ title: _ctx.title,
92
+ type: _ctx.type,
93
+ hideIcon: _ctx.hideIcon,
94
94
  icon: unref(mdiTriangle)
95
95
  }, createSlots({
96
96
  content: withCtx(() => [
@@ -101,7 +101,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
101
101
  createVNode(unref(VueApexCharts), {
102
102
  type: "bar",
103
103
  width: unref(width),
104
- height: __props.height,
104
+ height: _ctx.height,
105
105
  options: optionsFunnel.value,
106
106
  series: unref(series)
107
107
  }, null, 8, ["width", "height", "options", "series"])