ep-lib-ts 1.1.13 → 1.1.14

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 (142) hide show
  1. package/dist/components/basics/EpBtn.vue.js +2 -2
  2. package/dist/components/basics/EpBtn.vue.js.map +1 -1
  3. package/dist/components/basics/EpChip.vue.js +2 -2
  4. package/dist/components/basics/EpChip.vue.js.map +1 -1
  5. package/dist/components/basics/EpHover.vue.js +1 -1
  6. package/dist/components/basics/EpHover.vue.js.map +1 -1
  7. package/dist/components/basics/EpHoverCard.vue.js +6 -6
  8. package/dist/components/basics/EpHoverCard.vue.js.map +1 -1
  9. package/dist/components/basics/EpImg.vue.js +8 -8
  10. package/dist/components/basics/EpImg.vue.js.map +1 -1
  11. package/dist/components/basics/EpImgCarousel.vue.js +8 -8
  12. package/dist/components/basics/EpImgCarousel.vue.js.map +1 -1
  13. package/dist/components/basics/EpSection.vue.js +25 -25
  14. package/dist/components/basics/EpSection.vue.js.map +1 -1
  15. package/dist/components/basics/EpSectionCols.vue.js +29 -29
  16. package/dist/components/basics/EpSectionCols.vue.js.map +1 -1
  17. package/dist/components/basics/EpSpinner.vue.js +5 -5
  18. package/dist/components/basics/EpSpinner.vue.js.map +1 -1
  19. package/dist/components/basics/EpStackedList.vue.js +4 -4
  20. package/dist/components/basics/EpStackedList.vue.js.map +1 -1
  21. package/dist/components/charts/EpBarChart.vue.js +3 -3
  22. package/dist/components/charts/EpBarChart.vue.js.map +1 -1
  23. package/dist/components/charts/EpFunnelChart.vue.js +4 -4
  24. package/dist/components/charts/EpFunnelChart.vue.js.map +1 -1
  25. package/dist/components/charts/EpLineChart.vue.js +3 -3
  26. package/dist/components/charts/EpLineChart.vue.js.map +1 -1
  27. package/dist/components/charts/EpPieChart.vue.js +4 -4
  28. package/dist/components/charts/EpPieChart.vue.js.map +1 -1
  29. package/dist/components/educationals/EpBranchingScenario.vue2.js +19 -19
  30. package/dist/components/educationals/EpBranchingScenario.vue2.js.map +1 -1
  31. package/dist/components/educationals/EpCodeblock.vue.js +1 -1
  32. package/dist/components/educationals/EpCodeblock.vue.js.map +1 -1
  33. package/dist/components/educationals/EpConclusion.vue.js +3 -3
  34. package/dist/components/educationals/EpConclusion.vue.js.map +1 -1
  35. package/dist/components/educationals/EpDescription.vue.js +1 -1
  36. package/dist/components/educationals/EpDocument.vue.js +4 -4
  37. package/dist/components/educationals/EpDocument.vue.js.map +1 -1
  38. package/dist/components/educationals/EpEdu.vue.js +4 -4
  39. package/dist/components/educationals/EpEdu.vue.js.map +1 -1
  40. package/dist/components/educationals/EpFillBlanks.vue.js +1 -1
  41. package/dist/components/educationals/EpFillBlanks.vue.js.map +1 -1
  42. package/dist/components/educationals/EpInstructions.vue.js +1 -1
  43. package/dist/components/educationals/EpIntroduction.vue.js +6 -6
  44. package/dist/components/educationals/EpIntroduction.vue.js.map +1 -1
  45. package/dist/components/educationals/EpObjective.vue.js +3 -3
  46. package/dist/components/educationals/EpObjective.vue.js.map +1 -1
  47. package/dist/components/educationals/EpReading.vue.js +3 -3
  48. package/dist/components/educationals/EpReading.vue.js.map +1 -1
  49. package/dist/components/educationals/EpResource.vue.js +3 -3
  50. package/dist/components/educationals/EpResource.vue.js.map +1 -1
  51. package/dist/components/educationals/EpScope.vue.js +2 -2
  52. package/dist/components/educationals/EpScope.vue.js.map +1 -1
  53. package/dist/components/educationals/EpSegmentedBox.vue.js +1 -1
  54. package/dist/components/educationals/EpSegmentedBox.vue.js.map +1 -1
  55. package/dist/components/educationals/EpSpecificObjective.vue.js +10 -10
  56. package/dist/components/educationals/EpSpecificObjective.vue.js.map +1 -1
  57. package/dist/components/forms/EpSelect.vue.js +3 -3
  58. package/dist/components/forms/EpSelect.vue.js.map +1 -1
  59. package/dist/components/forms/EpTextarea.vue2.js +1 -1
  60. package/dist/components/forms/EpTextarea.vue2.js.map +1 -1
  61. package/dist/components/forms/EpToggle.vue2.js +1 -1
  62. package/dist/components/forms/EpToggle.vue2.js.map +1 -1
  63. package/dist/components/interactions/EpAccordeon.vue2.js +1 -1
  64. package/dist/components/interactions/EpAccordeon.vue2.js.map +1 -1
  65. package/dist/components/interactions/EpAssociation.vue.js +13 -14
  66. package/dist/components/interactions/EpAssociation.vue.js.map +1 -1
  67. package/dist/components/interactions/EpContentSlider.vue.js +2 -2
  68. package/dist/components/interactions/EpContentSlider.vue.js.map +1 -1
  69. package/dist/components/interactions/EpFlipCard.vue2.js +17 -17
  70. package/dist/components/interactions/EpFlipCard.vue2.js.map +1 -1
  71. package/dist/components/interactions/EpHotSpot.vue.js +1 -1
  72. package/dist/components/interactions/EpHotSpot.vue.js.map +1 -1
  73. package/dist/components/interactions/EpImageCompare.vue.js +6 -6
  74. package/dist/components/interactions/EpImageCompare.vue.js.map +1 -1
  75. package/dist/components/interactions/EpModal.vue.js +4 -4
  76. package/dist/components/interactions/EpModal.vue.js.map +1 -1
  77. package/dist/components/interactions/EpQuestion.vue.js +8 -8
  78. package/dist/components/interactions/EpQuestion.vue.js.map +1 -1
  79. package/dist/components/interactions/EpSummativeTable.vue.js +3 -3
  80. package/dist/components/interactions/EpSummativeTable.vue.js.map +1 -1
  81. package/dist/components/interactions/EpTooltip.vue.js +1 -1
  82. package/dist/components/interactions/EpTooltip.vue.js.map +1 -1
  83. package/dist/components/medias/EpAudio.vue.js +3 -3
  84. package/dist/components/medias/EpAudio.vue.js.map +1 -1
  85. package/dist/components/medias/EpCardLink.vue.js +16 -16
  86. package/dist/components/medias/EpCardLink.vue.js.map +1 -1
  87. package/dist/components/medias/EpCarousel.vue.js +10 -10
  88. package/dist/components/medias/EpCarousel.vue.js.map +1 -1
  89. package/dist/components/medias/EpHierarchy.vue2.js +1 -1
  90. package/dist/components/medias/EpHierarchy.vue2.js.map +1 -1
  91. package/dist/components/medias/EpIframe.vue.js +3 -3
  92. package/dist/components/medias/EpIframe.vue.js.map +1 -1
  93. package/dist/components/medias/EpKatex.vue2.js +4 -4
  94. package/dist/components/medias/EpKatex.vue2.js.map +1 -1
  95. package/dist/components/medias/EpLink.vue.js +2 -2
  96. package/dist/components/medias/EpLink.vue.js.map +1 -1
  97. package/dist/components/medias/EpLinkVersion.vue.js +1 -1
  98. package/dist/components/medias/EpLinkVersion.vue.js.map +1 -1
  99. package/dist/components/medias/EpLottieSvg.vue.js +8 -8
  100. package/dist/components/medias/EpLottieSvg.vue.js.map +1 -1
  101. package/dist/components/medias/EpSensibleImage.vue2.js +18 -18
  102. package/dist/components/medias/EpSensibleImage.vue2.js.map +1 -1
  103. package/dist/components/medias/EpSoftware.vue.js +3 -3
  104. package/dist/components/medias/EpSoftware.vue.js.map +1 -1
  105. package/dist/components/medias/EpSvg.vue.js +4 -4
  106. package/dist/components/medias/EpSvg.vue.js.map +1 -1
  107. package/dist/components/medias/EpTerm.vue.js +6 -6
  108. package/dist/components/medias/EpTerm.vue.js.map +1 -1
  109. package/dist/components/medias/EpVideo.vue.js +2 -2
  110. package/dist/components/medias/EpVideo.vue.js.map +1 -1
  111. package/dist/components/medias/EpVideoPanopto.vue.js +3 -3
  112. package/dist/components/medias/EpVideoPanopto.vue.js.map +1 -1
  113. package/dist/components/medias/EpWordDef.vue.js +39 -39
  114. package/dist/components/medias/EpWordDef.vue.js.map +1 -1
  115. package/dist/components/signages/EpAlert.vue2.js +1 -1
  116. package/dist/components/signages/EpHeader.vue.js +22 -22
  117. package/dist/components/signages/EpHeader.vue.js.map +1 -1
  118. package/dist/components/signages/EpQuote.vue.js +1 -1
  119. package/dist/components/signages/EpSkeleton.vue2.js +1 -1
  120. package/dist/components/tools/AssociationNode.vue2.js +8 -8
  121. package/dist/components/tools/AssociationNode.vue2.js.map +1 -1
  122. package/dist/components/tools/AsyncKatexRender.vue2.js +1 -1
  123. package/dist/components/tools/AsyncKatexRender.vue2.js.map +1 -1
  124. package/dist/components/tools/Details.vue.js +1 -56
  125. package/dist/components/tools/Details.vue.js.map +1 -1
  126. package/dist/components/tools/Details.vue2.js +56 -1
  127. package/dist/components/tools/Details.vue2.js.map +1 -1
  128. package/dist/components/tools/RenderTextNode.vue.js +1 -19
  129. package/dist/components/tools/RenderTextNode.vue.js.map +1 -1
  130. package/dist/components/tools/RenderTextNode.vue2.js +19 -1
  131. package/dist/components/tools/RenderTextNode.vue2.js.map +1 -1
  132. package/dist/components/tools/SegmentedBox.vue2.js +3 -3
  133. package/dist/components/tools/SegmentedBox.vue2.js.map +1 -1
  134. package/dist/components/tools/TextMedia.vue.js +1 -50
  135. package/dist/components/tools/TextMedia.vue.js.map +1 -1
  136. package/dist/components/tools/TextMedia.vue2.js +50 -1
  137. package/dist/components/tools/TextMedia.vue2.js.map +1 -1
  138. package/dist/components/tools/TimelineItem.vue2.js +1 -1
  139. package/dist/components/tools/TwoColsMedia.vue2.js +4 -4
  140. package/dist/components/tools/TwoColsMedia.vue2.js.map +1 -1
  141. package/dist/style.css +81 -81
  142. package/package.json +40 -43
@@ -95,7 +95,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
95
95
  });
96
96
  const { title, headerImgColor, big } = toRefs(props);
97
97
  return (_ctx, _cache) => {
98
- return __props.type === "imgBg" ? (openBlock(), createElementBlock("header", {
98
+ return _ctx.type === "imgBg" ? (openBlock(), createElementBlock("header", {
99
99
  key: 0,
100
100
  class: normalizeClass(`${unref(big) ? "h-screen " : "h-96"} items-center overflow-hidden relative `),
101
101
  ref: "el"
@@ -108,56 +108,56 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
108
108
  class: normalizeClass(`relative ${unref(big) ? "mb-36" : ""} h-full items-end`)
109
109
  }, [
110
110
  createElementVNode("div", _hoisted_1, [
111
- __props.synchrone ? (openBlock(), createBlock(_sfc_main$1, {
111
+ _ctx.synchrone ? (openBlock(), createBlock(_sfc_main$1, {
112
112
  key: 0,
113
113
  prependIcon: unref(mdiCast),
114
114
  size: "small"
115
115
  }, {
116
116
  default: withCtx(() => [
117
- createTextVNode(toDisplayString(__props.labels.synchrone), 1)
117
+ createTextVNode(toDisplayString(_ctx.labels.synchrone), 1)
118
118
  ]),
119
119
  _: 1
120
120
  }, 8, ["prependIcon"])) : createCommentVNode("", true),
121
- __props.duration ? (openBlock(), createBlock(_sfc_main$1, {
121
+ _ctx.duration ? (openBlock(), createBlock(_sfc_main$1, {
122
122
  key: 1,
123
123
  prependIcon: unref(mdiTimerOutline),
124
124
  size: "small"
125
125
  }, {
126
126
  default: withCtx(() => [
127
- createTextVNode(toDisplayString(__props.duration), 1)
127
+ createTextVNode(toDisplayString(_ctx.duration), 1)
128
128
  ]),
129
129
  _: 1
130
130
  }, 8, ["prependIcon"])) : createCommentVNode("", true),
131
- __props.assessment ? (openBlock(), createBlock(_sfc_main$1, {
131
+ _ctx.assessment ? (openBlock(), createBlock(_sfc_main$1, {
132
132
  key: 2,
133
133
  prependIcon: unref(mdiChairSchool),
134
134
  size: "small"
135
135
  }, {
136
136
  default: withCtx(() => [
137
- createTextVNode(toDisplayString(__props.labels.formatif), 1)
137
+ createTextVNode(toDisplayString(_ctx.labels.formatif), 1)
138
138
  ]),
139
139
  _: 1
140
140
  }, 8, ["prependIcon"])) : createCommentVNode("", true)
141
141
  ]),
142
142
  createElementVNode("div", {
143
- class: normalizeClass(`${__props.vAlign} ${__props.hAlign} flex w-full grow h-96 `)
143
+ class: normalizeClass(`${_ctx.vAlign} ${_ctx.hAlign} flex w-full grow h-96 `)
144
144
  }, [
145
145
  createElementVNode("div", {
146
146
  class: normalizeClass(`${bgTextFit}`)
147
147
  }, [
148
- unref(title) || __props.subtitle ? (openBlock(), createElementBlock("div", {
148
+ unref(title) || _ctx.subtitle ? (openBlock(), createElementBlock("div", {
149
149
  key: 0,
150
- class: normalizeClass(`${__props.textBg ? "inline-block backdrop-blur-lg backdrop-brightness-65 backdrop-opacity-95 rounded" : ""} p-4 md:items-center`)
150
+ class: normalizeClass(`${_ctx.textBg ? "inline-block backdrop-blur-lg backdrop-brightness-65 backdrop-opacity-95 rounded" : ""} p-4 md:items-center`)
151
151
  }, [
152
152
  createElementVNode("div", _hoisted_2, [
153
153
  unref(title) ? (openBlock(), createElementBlock("h1", {
154
154
  key: 0,
155
155
  class: normalizeClass(`text-3xl font-medium ${darkText.value} sm:text-3xl`)
156
156
  }, toDisplayString(unref(title)), 3)) : createCommentVNode("", true),
157
- __props.subtitle ? (openBlock(), createElementBlock("h2", {
157
+ _ctx.subtitle ? (openBlock(), createElementBlock("h2", {
158
158
  key: 1,
159
159
  class: normalizeClass(`max-w-xl mt-4 text-2xl ${darkText.value}`)
160
- }, toDisplayString(__props.subtitle), 3)) : createCommentVNode("", true)
160
+ }, toDisplayString(_ctx.subtitle), 3)) : createCommentVNode("", true)
161
161
  ])
162
162
  ], 2)) : createCommentVNode("", true)
163
163
  ], 2)
@@ -175,52 +175,52 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
175
175
  ])
176
176
  ])) : createCommentVNode("", true),
177
177
  createVNode(SvgFilter)
178
- ], 2)) : __props.type === "simple" ? (openBlock(), createElementBlock("header", _hoisted_4, [
178
+ ], 2)) : _ctx.type === "simple" ? (openBlock(), createElementBlock("header", _hoisted_4, [
179
179
  createElementVNode("div", _hoisted_5, [
180
180
  unref(title) ? (openBlock(), createElementBlock("h1", _hoisted_6, toDisplayString(unref(title)), 1)) : createCommentVNode("", true),
181
- __props.subtitle ? (openBlock(), createElementBlock("h2", _hoisted_7, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)
181
+ _ctx.subtitle ? (openBlock(), createElementBlock("h2", _hoisted_7, toDisplayString(_ctx.subtitle), 1)) : createCommentVNode("", true)
182
182
  ])
183
183
  ])) : (openBlock(), createElementBlock("header", _hoisted_8, [
184
184
  createElementVNode("div", _hoisted_9, [
185
185
  createElementVNode("div", _hoisted_10, [
186
186
  createElementVNode("div", _hoisted_11, [
187
- __props.synchrone ? (openBlock(), createBlock(_sfc_main$1, {
187
+ _ctx.synchrone ? (openBlock(), createBlock(_sfc_main$1, {
188
188
  key: 0,
189
189
  prependIcon: unref(mdiCast),
190
190
  size: "small"
191
191
  }, {
192
192
  default: withCtx(() => [
193
- createTextVNode(toDisplayString(__props.labels.synchrone), 1)
193
+ createTextVNode(toDisplayString(_ctx.labels.synchrone), 1)
194
194
  ]),
195
195
  _: 1
196
196
  }, 8, ["prependIcon"])) : createCommentVNode("", true),
197
- __props.duration ? (openBlock(), createBlock(_sfc_main$1, {
197
+ _ctx.duration ? (openBlock(), createBlock(_sfc_main$1, {
198
198
  key: 1,
199
199
  prependIcon: unref(mdiTimerOutline),
200
200
  size: "small"
201
201
  }, {
202
202
  default: withCtx(() => [
203
- createTextVNode(toDisplayString(__props.duration), 1)
203
+ createTextVNode(toDisplayString(_ctx.duration), 1)
204
204
  ]),
205
205
  _: 1
206
206
  }, 8, ["prependIcon"])) : createCommentVNode("", true),
207
- __props.assessment ? (openBlock(), createBlock(_sfc_main$1, {
207
+ _ctx.assessment ? (openBlock(), createBlock(_sfc_main$1, {
208
208
  key: 2,
209
209
  prependIcon: unref(mdiChairSchool),
210
210
  size: "small"
211
211
  }, {
212
212
  default: withCtx(() => [
213
- createTextVNode(toDisplayString(__props.labels.formatif), 1)
213
+ createTextVNode(toDisplayString(_ctx.labels.formatif), 1)
214
214
  ]),
215
215
  _: 1
216
216
  }, 8, ["prependIcon"])) : createCommentVNode("", true)
217
217
  ]),
218
218
  createElementVNode("div", {
219
- class: normalizeClass(`${__props.vAlign} flex h-full pb-8 pl-6 max-w-3xl`)
219
+ class: normalizeClass(`${_ctx.vAlign} flex h-full pb-8 pl-6 max-w-3xl`)
220
220
  }, [
221
221
  createElementVNode("div", null, [
222
222
  unref(title) ? (openBlock(), createElementBlock("h1", _hoisted_12, toDisplayString(unref(title)), 1)) : createCommentVNode("", true),
223
- __props.subtitle ? (openBlock(), createElementBlock("p", _hoisted_13, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true),
223
+ _ctx.subtitle ? (openBlock(), createElementBlock("p", _hoisted_13, toDisplayString(_ctx.subtitle), 1)) : createCommentVNode("", true),
224
224
  createElementVNode("div", _hoisted_14, [
225
225
  renderSlot(_ctx.$slots, "default")
226
226
  ])
@@ -1 +1 @@
1
- {"version":3,"file":"EpHeader.vue.js","sources":["../../../src/components/signages/EpHeader.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { toRefs, computed } from \"vue\";\nimport { mdiCast } from \"@mdi/js\";\nimport { mdiTimerOutline } from \"@mdi/js\";\nimport { mdiChairSchool } from \"@mdi/js\";\nimport { mdiChevronDown } from \"@mdi/js\";\nimport SvgFilter from \"~/components/tools/SvgFilter.vue\";\nimport EpIcon from \"~/components/basics/EpIcon.vue\";\nimport EpChip from \"~/components/basics/EpChip.vue\";\nimport type { EpHeaderProps } from \"~/types/signages/EpHeader\";\n\nconst props = withDefaults(defineProps<EpHeaderProps>(), {\n title: null,\n icon: null,\n src: null,\n big: false,\n synchrone: false,\n hideImg: false,\n duration: null,\n assessment: null,\n labels: () => {\n return {\n synchrone: \"Synchrone\",\n formatif: \"Formatif\",\n };\n },\n textBg: true,\n type: \"imgBg\",\n titlePosition: \"center\",\n vAlign: \"items-center\",\n hAlign: \"justify-center\",\n});\n\nconst bgTextFit = \"w-8/12\"; // ''\n\nconst styles = computed(() => {\n return ` \n\tflex\n\tflex-col\n\toverflow-hidden \n\tw-full \n\tabsolute\n\t${props.big ? \"min-h-screen\" : \"h-96\"}\n\tbg-cover\n\tbg-center`;\n});\n\nconst bgImg = computed(() => {\n if (props.src) {\n return props.src;\n }\n return `https://live.staticflickr.com/1757/42677241511_a350206ac2_b.jpg`;\n});\n\nconst emit = defineEmits<{\n (e: \"clicked\"): void;\n}>();\n\nconst clickScroll = (): void => {\n emit(\"clicked\");\n};\n\nconst darkText = computed(()=> {\n if(props.darkText){\n return 'text-black'\n }\n return 'text-white'\n})\n\nconst { title, headerImgColor, big } = toRefs(props);\n</script>\n\n<template>\n <header\n v-if=\"type === 'imgBg'\"\n :class=\"`${\n big ? 'h-screen ' : 'h-96'\n } items-center overflow-hidden relative `\"\n ref=\"el\"\n >\n <div\n :class=\"styles\"\n :style=\"`background-image:url('${bgImg}'); filter:url(#${headerImgColor});`\"\n />\n\n <div :class=\"`relative ${big ? 'mb-36' : ''} h-full items-end`\">\n <div class=\"flex md:justify-end justify-center pt-5\">\n <EpChip v-if=\"synchrone\" :prependIcon=\"mdiCast\" size=\"small\">{{\n labels.synchrone\n }}</EpChip>\n <EpChip v-if=\"duration\" :prependIcon=\"mdiTimerOutline\" size=\"small\">\n {{ duration }}</EpChip\n >\n <EpChip v-if=\"assessment\" :prependIcon=\"mdiChairSchool\" size=\"small\">{{\n labels.formatif\n }}</EpChip>\n </div>\n <div :class=\"`${vAlign} ${hAlign} flex w-full grow h-96 `\">\n <div :class=\"`${bgTextFit}`\">\n <div\n v-if=\"title || subtitle\"\n :class=\"`${\n textBg\n ? 'inline-block backdrop-blur-lg backdrop-brightness-65 backdrop-opacity-95 rounded'\n : ''\n } p-4 md:items-center`\"\n >\n <div class=\"text-center md:text-left\">\n <h1\n v-if=\"title\"\n :class=\"`text-3xl font-medium ${darkText} sm:text-3xl`\"\n >\n {{ title }}\n </h1>\n <h2\n v-if=\"subtitle\"\n :class=\"`max-w-xl mt-4 text-2xl ${darkText}`\"\n >\n {{ subtitle }}\n </h2>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div v-if=\"props.big\" class=\"animate-bounce absolute bottom-10 left-1/2\">\n <div\n class=\"mx-auto w-12 rounded-full p-2\"\n @click=\"clickScroll\"\n >\n <EpIcon :iconPath=\"mdiChevronDown\" size=\"32\" />\n </div>\n </div>\n <SvgFilter></SvgFilter>\n </header>\n\n <header v-else-if=\"type === 'simple'\">\n <div class=\"text-center md:text-left mt-16 mb-32\">\n <h1\n v-if=\"title\"\n class=\"text-4xl font-bold tracking-tight\"\n >\n {{ title }}\n </h1>\n <h2 v-if=\"subtitle\" class=\"w-1/2 mt-4\">\n {{ subtitle }}\n </h2>\n </div>\n </header>\n\n <header v-else=\"type === 'sideBy'\">\n <div class=\"flex flex-col-reverse lg:flex-row items-stretch\">\n <div class=\"basis-1/2 bg-surface-2 dark:bg-surface-2-dark lg:min-h-48 p-4\">\n <div class=\"flex justify-start pt-0 mb-4\">\n <EpChip v-if=\"synchrone\" :prependIcon=\"mdiCast\" size=\"small\">{{\n labels.synchrone\n }}</EpChip>\n <EpChip v-if=\"duration\" :prependIcon=\"mdiTimerOutline\" size=\"small\">\n {{ duration }}</EpChip\n >\n <EpChip\n v-if=\"assessment\"\n :prependIcon=\"mdiChairSchool\"\n size=\"small\"\n >{{ labels.formatif }}</EpChip\n >\n </div>\n <div :class=\"`${vAlign} flex h-full pb-8 pl-6 max-w-3xl`\">\n <div>\n <h1\n v-if=\"title\"\n class=\"text-3xl sm:text-4xl xl:text-5xl font-bold tracking-tight\"\n >\n {{ title }}\n </h1>\n <p\n v-if=\"subtitle\"\n class=\"mt-4 text-xl\"\n >\n {{ subtitle }}\n </p>\n <div class=\"mt-4\">\n <slot />\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"basis-1/2\">\n <img\n :src=\"bgImg\"\n alt=\"\"\n class=\"h-32 lg:h-full size-full object-cover\"\n :style=\"`filter:url(#${headerImgColor});`\"\n />\n </div>\n </div>\n </header>\n</template>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_createElementVNode","_normalizeStyle","_createBlock","EpChip","_createTextVNode","_toDisplayString","_openBlock","_createVNode","EpIcon","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"EpHeader.vue.js","sources":["../../../src/components/signages/EpHeader.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { toRefs, computed } from \"vue\";\nimport { mdiCast } from \"@mdi/js\";\nimport { mdiTimerOutline } from \"@mdi/js\";\nimport { mdiChairSchool } from \"@mdi/js\";\nimport { mdiChevronDown } from \"@mdi/js\";\nimport SvgFilter from \"~/components/tools/SvgFilter.vue\";\nimport EpIcon from \"~/components/basics/EpIcon.vue\";\nimport EpChip from \"~/components/basics/EpChip.vue\";\nimport type { EpHeaderProps } from \"~/types/signages/EpHeader\";\n\nconst props = withDefaults(defineProps<EpHeaderProps>(), {\n title: null,\n icon: null,\n src: null,\n big: false,\n synchrone: false,\n hideImg: false,\n duration: null,\n assessment: null,\n labels: () => {\n return {\n synchrone: \"Synchrone\",\n formatif: \"Formatif\",\n };\n },\n textBg: true,\n type: \"imgBg\",\n titlePosition: \"center\",\n vAlign: \"items-center\",\n hAlign: \"justify-center\",\n});\n\nconst bgTextFit = \"w-8/12\"; // ''\n\nconst styles = computed(() => {\n return ` \n\tflex\n\tflex-col\n\toverflow-hidden \n\tw-full \n\tabsolute\n\t${props.big ? \"min-h-screen\" : \"h-96\"}\n\tbg-cover\n\tbg-center`;\n});\n\nconst bgImg = computed(() => {\n if (props.src) {\n return props.src;\n }\n return `https://live.staticflickr.com/1757/42677241511_a350206ac2_b.jpg`;\n});\n\nconst emit = defineEmits<{\n (e: \"clicked\"): void;\n}>();\n\nconst clickScroll = (): void => {\n emit(\"clicked\");\n};\n\nconst darkText = computed(()=> {\n if(props.darkText){\n return 'text-black'\n }\n return 'text-white'\n})\n\nconst { title, headerImgColor, big } = toRefs(props);\n</script>\n\n<template>\n <header\n v-if=\"type === 'imgBg'\"\n :class=\"`${\n big ? 'h-screen ' : 'h-96'\n } items-center overflow-hidden relative `\"\n ref=\"el\"\n >\n <div\n :class=\"styles\"\n :style=\"`background-image:url('${bgImg}'); filter:url(#${headerImgColor});`\"\n />\n\n <div :class=\"`relative ${big ? 'mb-36' : ''} h-full items-end`\">\n <div class=\"flex md:justify-end justify-center pt-5\">\n <EpChip v-if=\"synchrone\" :prependIcon=\"mdiCast\" size=\"small\">{{\n labels.synchrone\n }}</EpChip>\n <EpChip v-if=\"duration\" :prependIcon=\"mdiTimerOutline\" size=\"small\">\n {{ duration }}</EpChip\n >\n <EpChip v-if=\"assessment\" :prependIcon=\"mdiChairSchool\" size=\"small\">{{\n labels.formatif\n }}</EpChip>\n </div>\n <div :class=\"`${vAlign} ${hAlign} flex w-full grow h-96 `\">\n <div :class=\"`${bgTextFit}`\">\n <div\n v-if=\"title || subtitle\"\n :class=\"`${\n textBg\n ? 'inline-block backdrop-blur-lg backdrop-brightness-65 backdrop-opacity-95 rounded'\n : ''\n } p-4 md:items-center`\"\n >\n <div class=\"text-center md:text-left\">\n <h1\n v-if=\"title\"\n :class=\"`text-3xl font-medium ${darkText} sm:text-3xl`\"\n >\n {{ title }}\n </h1>\n <h2\n v-if=\"subtitle\"\n :class=\"`max-w-xl mt-4 text-2xl ${darkText}`\"\n >\n {{ subtitle }}\n </h2>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div v-if=\"props.big\" class=\"animate-bounce absolute bottom-10 left-1/2\">\n <div\n class=\"mx-auto w-12 rounded-full p-2\"\n @click=\"clickScroll\"\n >\n <EpIcon :iconPath=\"mdiChevronDown\" size=\"32\" />\n </div>\n </div>\n <SvgFilter></SvgFilter>\n </header>\n\n <header v-else-if=\"type === 'simple'\">\n <div class=\"text-center md:text-left mt-16 mb-32\">\n <h1\n v-if=\"title\"\n class=\"text-4xl font-bold tracking-tight\"\n >\n {{ title }}\n </h1>\n <h2 v-if=\"subtitle\" class=\"w-1/2 mt-4\">\n {{ subtitle }}\n </h2>\n </div>\n </header>\n\n <header v-else=\"type === 'sideBy'\">\n <div class=\"flex flex-col-reverse lg:flex-row items-stretch\">\n <div class=\"basis-1/2 bg-surface-2 dark:bg-surface-2-dark lg:min-h-48 p-4\">\n <div class=\"flex justify-start pt-0 mb-4\">\n <EpChip v-if=\"synchrone\" :prependIcon=\"mdiCast\" size=\"small\">{{\n labels.synchrone\n }}</EpChip>\n <EpChip v-if=\"duration\" :prependIcon=\"mdiTimerOutline\" size=\"small\">\n {{ duration }}</EpChip\n >\n <EpChip\n v-if=\"assessment\"\n :prependIcon=\"mdiChairSchool\"\n size=\"small\"\n >{{ labels.formatif }}</EpChip\n >\n </div>\n <div :class=\"`${vAlign} flex h-full pb-8 pl-6 max-w-3xl`\">\n <div>\n <h1\n v-if=\"title\"\n class=\"text-3xl sm:text-4xl xl:text-5xl font-bold tracking-tight\"\n >\n {{ title }}\n </h1>\n <p\n v-if=\"subtitle\"\n class=\"mt-4 text-xl\"\n >\n {{ subtitle }}\n </p>\n <div class=\"mt-4\">\n <slot />\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"basis-1/2\">\n <img\n :src=\"bgImg\"\n alt=\"\"\n class=\"h-32 lg:h-full size-full object-cover\"\n :style=\"`filter:url(#${headerImgColor});`\"\n />\n </div>\n </div>\n </header>\n</template>\n"],"names":["type","_createElementBlock","_normalizeClass","_unref","_createElementVNode","_normalizeStyle","synchrone","_createBlock","EpChip","labels","duration","assessment","vAlign","hAlign","subtitle","textBg","_openBlock","_createVNode","EpIcon","_toDisplayString","_renderSlot"],"mappings":"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"}
@@ -3,7 +3,7 @@ import _sfc_main$1 from "../basics/EpCard.vue.js";
3
3
  import _sfc_main$4 from "../basics/EpDivider.vue.js";
4
4
  import _sfc_main$2 from "../basics/EpIcon.vue.js";
5
5
  import { mdiFormatQuoteOpen } from "@mdi/js";
6
- import _sfc_main$3 from "../tools/RenderTextNode.vue.js";
6
+ import _sfc_main$3 from "../tools/RenderTextNode.vue2.js";
7
7
  const _hoisted_1 = {
8
8
  class: /* @__PURE__ */ normalizeClass(`md:flex md:flex-wrap rounded-md`)
9
9
  };
@@ -14,7 +14,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14
14
  setup(__props) {
15
15
  useCssVars((_ctx) => ({
16
16
  "e4ec2c0a": height,
17
- "v3f346a72": width
17
+ "3f346a72": width
18
18
  }));
19
19
  const props = __props;
20
20
  const width = props.width / 4 + "rem";
@@ -46,14 +46,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
46
46
  }, [
47
47
  createElementVNode("div", {
48
48
  class: "px-4 py-2 break-words",
49
- innerHTML: unref(useRenderText)(__props.data.label)
49
+ innerHTML: unref(useRenderText)(_ctx.data.label)
50
50
  }, null, 8, _hoisted_1),
51
51
  createElementVNode("span", {
52
- class: normalizeClass(`rounded-full w-6 h-6 flex justify-center bg-white dark:bg-neutral-800 items-center absolute bottom-1/3 ${__props.data.left ? "-left-3" : "-right-3"} ${colorStyle.value}`)
53
- }, toDisplayString(__props.data.left ? String.fromCharCode(65 + __props.data.index) : __props.data.index), 3),
52
+ class: normalizeClass(`rounded-full w-6 h-6 flex justify-center bg-white dark:bg-neutral-800 items-center absolute bottom-1/3 ${_ctx.data.left ? "-left-3" : "-right-3"} ${colorStyle.value}`)
53
+ }, toDisplayString(_ctx.data.left ? String.fromCharCode(65 + _ctx.data.index) : _ctx.data.index), 3),
54
54
  createVNode(unref(Handle), {
55
- type: __props.data.left ? "source" : "target",
56
- position: __props.data.left ? unref(Position).Right : unref(Position).Left,
55
+ type: _ctx.data.left ? "source" : "target",
56
+ position: _ctx.data.left ? unref(Position).Right : unref(Position).Left,
57
57
  style: normalizeStyle({
58
58
  width: "20px",
59
59
  // handle invisible, pas d’espace
@@ -61,19 +61,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
61
61
  top: "50%",
62
62
  zIndex: "100",
63
63
  transform: "translateY(-50%)",
64
- left: __props.data.left ? "96%" : "-10px",
64
+ left: _ctx.data.left ? "96%" : "-10px",
65
65
  opacity: 0
66
66
  })
67
67
  }, null, 8, ["type", "position", "style"]),
68
68
  createVNode(_sfc_main$1, {
69
- "icon-path": __props.data.left ? plug : socket,
69
+ "icon-path": _ctx.data.left ? plug : socket,
70
70
  style: normalizeStyle({
71
71
  position: "absolute",
72
72
  width: "30px",
73
73
  height: "30px",
74
74
  top: "50%",
75
75
  transform: "translateY(-50%)",
76
- left: __props.data.left ? "97%" : "-20px"
76
+ left: _ctx.data.left ? "97%" : "-20px"
77
77
  })
78
78
  }, null, 8, ["icon-path", "style"])
79
79
  ], 2);
@@ -1 +1 @@
1
- {"version":3,"file":"AssociationNode.vue2.js","sources":["../../../src/components/tools/AssociationNode.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { Position, Handle } from '@vue-flow/core'\nimport type { NodeProps } from '@vue-flow/core'\nimport EpIcon from '../basics/EpIcon.vue'\nimport { useRenderText } from '~/composables/useRenderText';\n\n\nconst plug = 'M17,16H21V14H17V10H21V8H17V8C17,7 16,6 15,6H9.5L6,9.5H3V14.5H6L9.5,18H15C16,18 17,17 17,16Z';\nconst socket = 'M7,16C7,17 8,18 9,18H14.5L18,14.5H21V9.5H18L14.5,6H9C8,6 7,7 7,8Z M7 19 L7 5';\n\ninterface AssociationData {\n mode?: 'neutral' | 'correct' | 'wrong';\n left: boolean;\n index: number;\n label: string;\n}\n\nconst props = withDefaults(defineProps<NodeProps<AssociationData>>(), {});\n\nconst colorStyle = computed(() => {\n if(!props.data.mode || props.data.mode == 'neutral') {\n return 'border-2 border-black dark:border-white'\n }\n if(props.data.mode == 'correct') {\n return 'border-2 border-green-600'\n } else if(props.data.mode == 'wrong') {\n return 'border-2 border-red-600'\n }\n});\n\n</script>\n\n<template>\n <div :class=\"`shadow-lg rounded w-96 relative bg-surface-2 dark:bg-surface-2-dark ${colorStyle}`\">\n <div class=\"px-4 py-2 break-words\" v-html=\"useRenderText(data.label)\"></div>\n <span :class=\"`rounded-full w-6 h-6 flex justify-center bg-white dark:bg-neutral-800 items-center absolute bottom-1/3 ${(data.left)? '-left-3' : '-right-3'} ${colorStyle}`\">{{ (data.left)? String.fromCharCode(65 + data.index) : data.index }}</span>\n\n <Handle\n :type=\"data.left ? 'source' : 'target'\"\n :position=\"data.left ? Position.Right : Position.Left\"\n :style=\"{\n width: '20px', // handle invisible, pas d’espace\n height: '20px',\n top: '50%',\n zIndex: '100',\n transform: 'translateY(-50%)',\n left: data.left ? '96%' : '-10px',\n opacity: 0\n }\"\n />\n <EpIcon \n :icon-path=\"data.left ? plug : socket\"\n :style=\"{\n position: 'absolute',\n width: '30px',\n height: '30px',\n top: '50%',\n transform: 'translateY(-50%)',\n left: data.left ? '97%' : '-20px'\n }\" \n />\n </div>\n</template>\n"],"names":["_createElementBlock","_createElementVNode","_unref","_normalizeClass","_toDisplayString","_createVNode","_normalizeStyle","EpIcon"],"mappings":";;;;;AAQA,MAAM,OAAO;AACb,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;AASf,UAAM,QAAQ;AAEd,UAAM,aAAa,SAAS,MAAM;AAC9B,UAAG,CAAC,MAAM,KAAK,QAAQ,MAAM,KAAK,QAAQ,WAAW;AACjD,eAAO;AAAA,MACX;AACA,UAAG,MAAM,KAAK,QAAQ,WAAW;AAC7B,eAAO;AAAA,MACX,WAAU,MAAM,KAAK,QAAQ,SAAS;AAClC,eAAO;AAAA,MACX;AAAA,IACJ,CAAC;;0BAKGA,mBA4BM,OAAA;AAAA,QA5BA,6FAA8E,WAAA,KAAU,EAAA;AAAA,MAAA;QAC1FC,mBAA4E,OAAA;AAAA,UAAvE,OAAM;AAAA,UAAwB,WAAQC,MAAA,aAAA,EAAc,QAAA,KAAK,KAAK;AAAA,QAAA;QACnED,mBAAwP,QAAA;AAAA,UAAjP,OAAKE,eAAA,0GAA6G,QAAA,KAAK,iCAAiC,WAAA,KAAU,EAAA;AAAA,QAAA,GAAQC,gBAAA,QAAA,KAAK,OAAO,OAAO,aAAY,KAAM,QAAA,KAAK,KAAK,IAAI,QAAA,KAAK,KAAK,GAAA,CAAA;AAAA,QAE9OC,YAYEH,MAAA,MAAA,GAAA;AAAA,UAXG,MAAM,QAAA,KAAK,OAAI,WAAA;AAAA,UACf,UAAU,QAAA,KAAK,OAAOA,MAAA,QAAA,EAAS,QAAQA,MAAA,QAAA,EAAS;AAAA,UAChD,OAAKI,eAAA;AAAA;;;;;;YAAuO,MAAA,QAAA,KAAK,OAAI,QAAA;AAAA;;;QAU1PD,YAUEE,aAAA;AAAA,UATG,aAAW,QAAA,KAAK,OAAO,OAAO;AAAA,UAC9B,OAAKD,eAAA;AAAA;;;;;YAA0M,MAAA,QAAA,KAAK,OAAI,QAAA;AAAA,UAAA;;;;;;"}
1
+ {"version":3,"file":"AssociationNode.vue2.js","sources":["../../../src/components/tools/AssociationNode.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { Position, Handle } from '@vue-flow/core'\nimport type { NodeProps } from '@vue-flow/core'\nimport EpIcon from '../basics/EpIcon.vue'\nimport { useRenderText } from '~/composables/useRenderText';\n\n\nconst plug = 'M17,16H21V14H17V10H21V8H17V8C17,7 16,6 15,6H9.5L6,9.5H3V14.5H6L9.5,18H15C16,18 17,17 17,16Z';\nconst socket = 'M7,16C7,17 8,18 9,18H14.5L18,14.5H21V9.5H18L14.5,6H9C8,6 7,7 7,8Z M7 19 L7 5';\n\ninterface AssociationData {\n mode?: 'neutral' | 'correct' | 'wrong';\n left: boolean;\n index: number;\n label: string;\n}\n\nconst props = withDefaults(defineProps<NodeProps<AssociationData>>(), {});\n\nconst colorStyle = computed(() => {\n if(!props.data.mode || props.data.mode == 'neutral') {\n return 'border-2 border-black dark:border-white'\n }\n if(props.data.mode == 'correct') {\n return 'border-2 border-green-600'\n } else if(props.data.mode == 'wrong') {\n return 'border-2 border-red-600'\n }\n});\n\n</script>\n\n<template>\n <div :class=\"`shadow-lg rounded w-96 relative bg-surface-2 dark:bg-surface-2-dark ${colorStyle}`\">\n <div class=\"px-4 py-2 break-words\" v-html=\"useRenderText(data.label)\"></div>\n <span :class=\"`rounded-full w-6 h-6 flex justify-center bg-white dark:bg-neutral-800 items-center absolute bottom-1/3 ${(data.left)? '-left-3' : '-right-3'} ${colorStyle}`\">{{ (data.left)? String.fromCharCode(65 + data.index) : data.index }}</span>\n\n <Handle\n :type=\"data.left ? 'source' : 'target'\"\n :position=\"data.left ? Position.Right : Position.Left\"\n :style=\"{\n width: '20px', // handle invisible, pas d’espace\n height: '20px',\n top: '50%',\n zIndex: '100',\n transform: 'translateY(-50%)',\n left: data.left ? '96%' : '-10px',\n opacity: 0\n }\"\n />\n <EpIcon \n :icon-path=\"data.left ? plug : socket\"\n :style=\"{\n position: 'absolute',\n width: '30px',\n height: '30px',\n top: '50%',\n transform: 'translateY(-50%)',\n left: data.left ? '97%' : '-20px'\n }\" \n />\n </div>\n</template>\n"],"names":["_createElementBlock","_createElementVNode","_unref","data","_normalizeClass","_createVNode","_normalizeStyle","EpIcon"],"mappings":";;;;;AAQA,MAAM,OAAO;AACb,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;AASf,UAAM,QAAQ;AAEd,UAAM,aAAa,SAAS,MAAM;AAC9B,UAAG,CAAC,MAAM,KAAK,QAAQ,MAAM,KAAK,QAAQ,WAAW;AACjD,eAAO;AAAA,MACX;AACA,UAAG,MAAM,KAAK,QAAQ,WAAW;AAC7B,eAAO;AAAA,MACX,WAAU,MAAM,KAAK,QAAQ,SAAS;AAClC,eAAO;AAAA,MACX;AAAA,IACJ,CAAC;;0BAKGA,mBA4BM,OAAA;AAAA,QA5BA,6FAA8E,WAAA,KAAU,EAAA;AAAA,MAAA;QAC1FC,mBAA4E,OAAA;AAAA,UAAvE,OAAM;AAAA,UAAwB,WAAQC,MAAA,aAAA,EAAcC,KAAAA,KAAK,KAAK;AAAA,QAAA;QACnEF,mBAAwP,QAAA;AAAA,UAAjP,OAAKG,eAAA,0GAA6GD,KAAAA,KAAK,iCAAiC,WAAA,KAAU,EAAA;AAAA,QAAA,GAAQA,gBAAAA,KAAAA,KAAK,OAAO,OAAO,aAAY,KAAMA,KAAAA,KAAK,KAAK,IAAIA,KAAAA,KAAK,KAAK,GAAA,CAAA;AAAA,QAE9OE,YAYEH,MAAA,MAAA,GAAA;AAAA,UAXG,MAAMC,KAAAA,KAAK,OAAI,WAAA;AAAA,UACf,UAAUA,KAAAA,KAAK,OAAOD,MAAA,QAAA,EAAS,QAAQA,MAAA,QAAA,EAAS;AAAA,UAChD,OAAKI,eAAA;AAAA;;;;;;YAAuOH,MAAAA,KAAAA,KAAK,OAAI,QAAA;AAAA;;;QAU1PE,YAUEE,aAAA;AAAA,UATG,aAAWJ,KAAAA,KAAK,OAAO,OAAO;AAAA,UAC9B,OAAKG,eAAA;AAAA;;;;;YAA0MH,MAAAA,KAAAA,KAAK,OAAI,QAAA;AAAA,UAAA;;;;;;"}
@@ -20,7 +20,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
20
20
  renderedHtml.value = `<span style="color: red;">Il y a un error pour afficher la formule.</span>`;
21
21
  });
22
22
  return (_ctx, _cache) => {
23
- return !__props.block ? (openBlock(), createElementBlock("span", {
23
+ return !_ctx.block ? (openBlock(), createElementBlock("span", {
24
24
  key: 0,
25
25
  class: "katex-render",
26
26
  innerHTML: renderedHtml.value
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncKatexRender.vue2.js","sources":["../../../src/components/tools/AsyncKatexRender.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from 'vue';\n\nconst props = defineProps<{\n formula: string;\n block?:boolean;\n}>();\n\nconst renderedHtml = ref('...');\n\nimport('katex')\n .then((katexModule) => {\n renderedHtml.value = katexModule.default.renderToString(props.formula, {\n throwOnError: false,\n displayMode: false,\n });\n })\n .catch((error) => {\n console.error(\"Failed to load Katex library:\", error);\n renderedHtml.value = `<span style=\"color: red;\">Il y a un error pour afficher la formule.</span>`;\n });\n</script>\n\n<template>\n <span class=\"katex-render\" v-html=\"renderedHtml\" v-if=\"!block\"></span>\n <div v-else class=\"katex-block text-center\" v-html=\"renderedHtml\"></div>\n</template>\n\n<style scoped>\n/* Target the top-level KaTeX container and increase the font size */\n.katex-block :deep(.katex) {\n /* Increase the overall size of the math relative to the parent font size */\n font-size: 2em; \n}\n/* If you want inline math to be a specific size relative to surrounding text */\n.katex-render :deep(.katex-display) {\n font-size: 1.5em; \n}\n</style>"],"names":["_createElementBlock"],"mappings":";;;;;;;;;;AAGA,UAAM,QAAQ;AAKd,UAAM,eAAe,IAAI,KAAK;AAE9B,WAAO,OAAO,EACX,KAAK,CAAC,gBAAgB;AACrB,mBAAa,QAAQ,YAAY,QAAQ,eAAe,MAAM,SAAS;AAAA,QACrE,cAAc;AAAA,QACd,aAAa;AAAA,MAAA,CACd;AAAA,IACH,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,cAAQ,MAAM,iCAAiC,KAAK;AACpD,mBAAa,QAAQ;AAAA,IACvB,CAAC;;cAIuD,QAAA,sBAAxDA,mBAAsE,QAAA;AAAA;QAAhE,OAAM;AAAA,QAAe,WAAQ,aAAA;AAAA,MAAA,yCACnCA,mBAAwE,OAAA;AAAA;QAA5D,OAAM;AAAA,QAA0B,WAAQ,aAAA;AAAA,MAAA;;;;"}
1
+ {"version":3,"file":"AsyncKatexRender.vue2.js","sources":["../../../src/components/tools/AsyncKatexRender.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from 'vue';\n\nconst props = defineProps<{\n formula: string;\n block?:boolean;\n}>();\n\nconst renderedHtml = ref('...');\n\nimport('katex')\n .then((katexModule) => {\n renderedHtml.value = katexModule.default.renderToString(props.formula, {\n throwOnError: false,\n displayMode: false,\n });\n })\n .catch((error) => {\n console.error(\"Failed to load Katex library:\", error);\n renderedHtml.value = `<span style=\"color: red;\">Il y a un error pour afficher la formule.</span>`;\n });\n</script>\n\n<template>\n <span class=\"katex-render\" v-html=\"renderedHtml\" v-if=\"!block\"></span>\n <div v-else class=\"katex-block text-center\" v-html=\"renderedHtml\"></div>\n</template>\n\n<style scoped>\n/* Target the top-level KaTeX container and increase the font size */\n.katex-block :deep(.katex) {\n /* Increase the overall size of the math relative to the parent font size */\n font-size: 2em; \n}\n/* If you want inline math to be a specific size relative to surrounding text */\n.katex-render :deep(.katex-display) {\n font-size: 1.5em; \n}\n</style>"],"names":["block","_createElementBlock"],"mappings":";;;;;;;;;;AAGA,UAAM,QAAQ;AAKd,UAAM,eAAe,IAAI,KAAK;AAE9B,WAAO,OAAO,EACX,KAAK,CAAC,gBAAgB;AACrB,mBAAa,QAAQ,YAAY,QAAQ,eAAe,MAAM,SAAS;AAAA,QACrE,cAAc;AAAA,QACd,aAAa;AAAA,MAAA,CACd;AAAA,IACH,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,cAAQ,MAAM,iCAAiC,KAAK;AACpD,mBAAa,QAAQ;AAAA,IACvB,CAAC;;cAIuDA,KAAAA,sBAAxDC,mBAAsE,QAAA;AAAA;QAAhE,OAAM;AAAA,QAAe,WAAQ,aAAA;AAAA,MAAA,yCACnCA,mBAAwE,OAAA;AAAA;QAA5D,OAAM;AAAA,QAA0B,WAAQ,aAAA;AAAA,MAAA;;;;"}
@@ -1,59 +1,4 @@
1
- import { defineComponent, ref, createElementBlock, openBlock, createVNode, createElementVNode, withCtx, createTextVNode, toDisplayString } from "vue";
2
- import _sfc_main$1 from "../interactions/EpModal.vue.js";
3
- /* empty css */
4
- import _sfc_main$4 from "../basics/EpBtn.vue.js";
5
- import _sfc_main$3 from "../basics/EpDivider.vue.js";
6
- import _sfc_main$2 from "./TextMedia.vue.js";
7
- const _hoisted_1 = { class: "flex justify-end" };
8
- const _hoisted_2 = { class: "text-white dark:text-neutral-900" };
9
- const _sfc_main = /* @__PURE__ */ defineComponent({
10
- __name: "Details",
11
- props: {
12
- title: { default: "Voir détails" },
13
- content: {},
14
- labelClose: { default: "Fermer" },
15
- media: {}
16
- },
17
- setup(__props) {
18
- const showModal = ref(false);
19
- return (_ctx, _cache) => {
20
- return openBlock(), createElementBlock("div", {
21
- class: "cursor-pointer rounded bg-primary py-2 px-4 flex flex-col items-center",
22
- onClick: _cache[2] || (_cache[2] = ($event) => showModal.value = true)
23
- }, [
24
- createVNode(_sfc_main$1, {
25
- modelValue: showModal.value,
26
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => showModal.value = $event),
27
- title: __props.title
28
- }, {
29
- default: withCtx(() => [
30
- createVNode(_sfc_main$2, {
31
- text: __props.content,
32
- media: __props.media,
33
- "text-left": ""
34
- }, null, 8, ["text", "media"]),
35
- createVNode(_sfc_main$3),
36
- createElementVNode("div", _hoisted_1, [
37
- createVNode(_sfc_main$4, {
38
- type: "error",
39
- rounded: "",
40
- size: "small",
41
- onClick: _cache[0] || (_cache[0] = ($event) => showModal.value = false)
42
- }, {
43
- default: withCtx(() => [
44
- createTextVNode(toDisplayString(__props.labelClose), 1)
45
- ]),
46
- _: 1
47
- })
48
- ])
49
- ]),
50
- _: 1
51
- }, 8, ["modelValue", "title"]),
52
- createElementVNode("p", _hoisted_2, toDisplayString(__props.title), 1)
53
- ]);
54
- };
55
- }
56
- });
1
+ import _sfc_main from "./Details.vue2.js";
57
2
  export {
58
3
  _sfc_main as default
59
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Details.vue.js","sources":["../../../src/components/tools/Details.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport EpModal from \"~/components/interactions/EpModal.vue\";\nimport type { NestedComponents } from \"~/types/Component\";\nimport EpBtn from \"~/components/basics/EpBtn.vue\";\nimport EpDivider from \"~/components/basics/EpDivider.vue\";\nimport TextMedia from \"./TextMedia.vue\";\nconst showModal = ref(false);\n\ninterface Props {\n title?: string;\n content: string;\n labelClose?: string;\n media?: NestedComponents;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n title: \"Voir détails\",\n labelClose: \"Fermer\",\n});\n</script>\n\n<template>\n <div\n class=\"cursor-pointer rounded bg-primary py-2 px-4 flex flex-col items-center\"\n @click=\"showModal = true\"\n >\n <EpModal v-model=\"showModal\" :title=\"title\">\n <TextMedia :text=\"content\" :media=\"media\" text-left />\n <EpDivider />\n <div class=\"flex justify-end\">\n <EpBtn type=\"error\" rounded size=\"small\" @click=\"showModal = false\">\n {{ labelClose }}\n </EpBtn>\n </div>\n </EpModal>\n <p class=\"text-white dark:text-neutral-900\">{{ title }}</p>\n </div>\n</template>\n"],"names":["_createElementBlock","_createVNode","EpModal","TextMedia","EpDivider","_createElementVNode","EpBtn","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;AAOA,UAAM,YAAY,IAAI,KAAK;;0BAgBzBA,mBAcM,OAAA;AAAA,QAbJ,OAAM;AAAA,QACL,+CAAO,UAAA,QAAS;AAAA,MAAA;QAEjBC,YAQUC,aAAA;AAAA,sBARQ,UAAA;AAAA,uEAAA,UAAS,QAAA;AAAA,UAAG,OAAO,QAAA;AAAA,QAAA;2BACnC,MAAsD;AAAA,YAAtDD,YAAsDE,aAAA;AAAA,cAA1C,MAAM,QAAA;AAAA,cAAU,OAAO,QAAA;AAAA,cAAO,aAAA;AAAA,YAAA;YAC1CF,YAAaG,WAAA;AAAA,YACbC,mBAIM,OAJN,YAIM;AAAA,cAHJJ,YAEQK,aAAA;AAAA,gBAFD,MAAK;AAAA,gBAAQ,SAAA;AAAA,gBAAQ,MAAK;AAAA,gBAAS,+CAAO,UAAA,QAAS;AAAA,cAAA;iCACxD,MAAgB;AAAA,kDAAb,QAAA,UAAU,GAAA,CAAA;AAAA,gBAAA;;;;;;;QAInBD,mBAA2D,KAA3D,YAA2DE,gBAAZ,QAAA,KAAK,GAAA,CAAA;AAAA,MAAA;;;;"}
1
+ {"version":3,"file":"Details.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,4 +1,59 @@
1
- import _sfc_main from "./Details.vue.js";
1
+ import { defineComponent, ref, createElementBlock, openBlock, createVNode, createElementVNode, withCtx, createTextVNode, toDisplayString } from "vue";
2
+ import _sfc_main$1 from "../interactions/EpModal.vue.js";
3
+ /* empty css */
4
+ import _sfc_main$4 from "../basics/EpBtn.vue.js";
5
+ import _sfc_main$3 from "../basics/EpDivider.vue.js";
6
+ import _sfc_main$2 from "./TextMedia.vue2.js";
7
+ const _hoisted_1 = { class: "flex justify-end" };
8
+ const _hoisted_2 = { class: "text-white dark:text-neutral-900" };
9
+ const _sfc_main = /* @__PURE__ */ defineComponent({
10
+ __name: "Details",
11
+ props: {
12
+ title: { default: "Voir détails" },
13
+ content: {},
14
+ labelClose: { default: "Fermer" },
15
+ media: {}
16
+ },
17
+ setup(__props) {
18
+ const showModal = ref(false);
19
+ return (_ctx, _cache) => {
20
+ return openBlock(), createElementBlock("div", {
21
+ class: "cursor-pointer rounded bg-primary py-2 px-4 flex flex-col items-center",
22
+ onClick: _cache[2] || (_cache[2] = ($event) => showModal.value = true)
23
+ }, [
24
+ createVNode(_sfc_main$1, {
25
+ modelValue: showModal.value,
26
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => showModal.value = $event),
27
+ title: _ctx.title
28
+ }, {
29
+ default: withCtx(() => [
30
+ createVNode(_sfc_main$2, {
31
+ text: _ctx.content,
32
+ media: _ctx.media,
33
+ "text-left": ""
34
+ }, null, 8, ["text", "media"]),
35
+ createVNode(_sfc_main$3),
36
+ createElementVNode("div", _hoisted_1, [
37
+ createVNode(_sfc_main$4, {
38
+ type: "error",
39
+ rounded: "",
40
+ size: "small",
41
+ onClick: _cache[0] || (_cache[0] = ($event) => showModal.value = false)
42
+ }, {
43
+ default: withCtx(() => [
44
+ createTextVNode(toDisplayString(_ctx.labelClose), 1)
45
+ ]),
46
+ _: 1
47
+ })
48
+ ])
49
+ ]),
50
+ _: 1
51
+ }, 8, ["modelValue", "title"]),
52
+ createElementVNode("p", _hoisted_2, toDisplayString(_ctx.title), 1)
53
+ ]);
54
+ };
55
+ }
56
+ });
2
57
  export {
3
58
  _sfc_main as default
4
59
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Details.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"Details.vue2.js","sources":["../../../src/components/tools/Details.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport EpModal from \"~/components/interactions/EpModal.vue\";\nimport type { NestedComponents } from \"~/types/Component\";\nimport EpBtn from \"~/components/basics/EpBtn.vue\";\nimport EpDivider from \"~/components/basics/EpDivider.vue\";\nimport TextMedia from \"./TextMedia.vue\";\nconst showModal = ref(false);\n\ninterface Props {\n title?: string;\n content: string;\n labelClose?: string;\n media?: NestedComponents;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n title: \"Voir détails\",\n labelClose: \"Fermer\",\n});\n</script>\n\n<template>\n <div\n class=\"cursor-pointer rounded bg-primary py-2 px-4 flex flex-col items-center\"\n @click=\"showModal = true\"\n >\n <EpModal v-model=\"showModal\" :title=\"title\">\n <TextMedia :text=\"content\" :media=\"media\" text-left />\n <EpDivider />\n <div class=\"flex justify-end\">\n <EpBtn type=\"error\" rounded size=\"small\" @click=\"showModal = false\">\n {{ labelClose }}\n </EpBtn>\n </div>\n </EpModal>\n <p class=\"text-white dark:text-neutral-900\">{{ title }}</p>\n </div>\n</template>\n"],"names":["_createElementBlock","_createVNode","EpModal","title","TextMedia","content","media","EpDivider","_createElementVNode","EpBtn","labelClose","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;AAOA,UAAM,YAAY,IAAI,KAAK;;0BAgBzBA,mBAcM,OAAA;AAAA,QAbJ,OAAM;AAAA,QACL,+CAAO,UAAA,QAAS;AAAA,MAAA;QAEjBC,YAQUC,aAAA;AAAA,sBARQ,UAAA;AAAA,uEAAA,UAAS,QAAA;AAAA,UAAG,OAAOC,KAAAA;AAAAA,QAAAA;2BACnC,MAAsD;AAAA,YAAtDF,YAAsDG,aAAA;AAAA,cAA1C,MAAMC,KAAAA;AAAAA,cAAU,OAAOC,KAAAA;AAAAA,cAAO,aAAA;AAAA,YAAA;YAC1CL,YAAaM,WAAA;AAAA,YACbC,mBAIM,OAJN,YAIM;AAAA,cAHJP,YAEQQ,aAAA;AAAA,gBAFD,MAAK;AAAA,gBAAQ,SAAA;AAAA,gBAAQ,MAAK;AAAA,gBAAS,+CAAO,UAAA,QAAS;AAAA,cAAA;iCACxD,MAAgB;AAAA,kDAAbC,KAAAA,UAAU,GAAA,CAAA;AAAA,gBAAA;;;;;;;QAInBF,mBAA2D,KAA3D,YAA2DG,gBAAZR,KAAAA,KAAK,GAAA,CAAA;AAAA,MAAA;;;;"}
@@ -1,22 +1,4 @@
1
- import { defineComponent, createElementBlock, openBlock, Fragment, renderList, unref, createBlock, resolveDynamicComponent } from "vue";
2
- import { useTextParser } from "../../composables/useTextParser.js";
3
- const _sfc_main = /* @__PURE__ */ defineComponent({
4
- __name: "RenderTextNode",
5
- props: {
6
- content: {}
7
- },
8
- setup(__props) {
9
- const props = __props;
10
- const { renderText } = useTextParser(props.content);
11
- return (_ctx, _cache) => {
12
- return openBlock(), createElementBlock("div", null, [
13
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(renderText), (node, i) => {
14
- return openBlock(), createBlock(resolveDynamicComponent(node), { key: i });
15
- }), 128))
16
- ]);
17
- };
18
- }
19
- });
1
+ import _sfc_main from "./RenderTextNode.vue2.js";
20
2
  export {
21
3
  _sfc_main as default
22
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RenderTextNode.vue.js","sources":["../../../src/components/tools/RenderTextNode.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useTextParser } from \"~/composables/useTextParser\";\ninterface Props {\n content:string;\n}\nconst props = defineProps<Props>()\nconst { renderText } = useTextParser(props.content);\n</script>\n\n<template>\n <div>\n <component :is=\"node\" v-for=\"(node, i) in renderText\" :key=\"i\" />\n </div>\n</template>"],"names":["_createElementBlock","_openBlock","_Fragment","_renderList","_unref","_createBlock","_resolveDynamicComponent"],"mappings":";;;;;;;;AAKA,UAAM,QAAQ;AACd,UAAM,EAAE,WAAA,IAAe,cAAc,MAAM,OAAO;;0BAI9CA,mBAEM,OAAA,MAAA;AAAA,SADFC,UAAA,IAAA,GAAAD,mBAAiEE,UAAA,MAAAC,WAAvBC,MAAA,UAAA,GAAU,CAAtB,MAAM,MAAC;AAArC,iBAAAH,UAAA,GAAAI,YAAiEC,wBAAjD,IAAI,GAAA,EAAmC,KAAK,GAAC;AAAA;;;;;"}
1
+ {"version":3,"file":"RenderTextNode.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,4 +1,22 @@
1
- import _sfc_main from "./RenderTextNode.vue.js";
1
+ import { defineComponent, createElementBlock, openBlock, Fragment, renderList, unref, createBlock, resolveDynamicComponent } from "vue";
2
+ import { useTextParser } from "../../composables/useTextParser.js";
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "RenderTextNode",
5
+ props: {
6
+ content: {}
7
+ },
8
+ setup(__props) {
9
+ const props = __props;
10
+ const { renderText } = useTextParser(props.content);
11
+ return (_ctx, _cache) => {
12
+ return openBlock(), createElementBlock("div", null, [
13
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(renderText), (node, i) => {
14
+ return openBlock(), createBlock(resolveDynamicComponent(node), { key: i });
15
+ }), 128))
16
+ ]);
17
+ };
18
+ }
19
+ });
2
20
  export {
3
21
  _sfc_main as default
4
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RenderTextNode.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"RenderTextNode.vue2.js","sources":["../../../src/components/tools/RenderTextNode.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useTextParser } from \"~/composables/useTextParser\";\ninterface Props {\n content:string;\n}\nconst props = defineProps<Props>()\nconst { renderText } = useTextParser(props.content);\n</script>\n\n<template>\n <div>\n <component :is=\"node\" v-for=\"(node, i) in renderText\" :key=\"i\" />\n </div>\n</template>"],"names":["_createElementBlock","_openBlock","_Fragment","_renderList","_unref","_createBlock","_resolveDynamicComponent"],"mappings":";;;;;;;;AAKA,UAAM,QAAQ;AACd,UAAM,EAAE,WAAA,IAAe,cAAc,MAAM,OAAO;;0BAI9CA,mBAEM,OAAA,MAAA;AAAA,SADFC,UAAA,IAAA,GAAAD,mBAAiEE,UAAA,MAAAC,WAAvBC,MAAA,UAAA,GAAU,CAAtB,MAAM,MAAC;AAArC,iBAAAH,UAAA,GAAAI,YAAiEC,wBAAjD,IAAI,GAAA,EAAmC,KAAK,GAAC;AAAA;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, createElementBlock, openBlock, normalizeClass, createElementVNode, createVNode, toDisplayString } from "vue";
2
- import _sfc_main$1 from "./RenderTextNode.vue.js";
2
+ import _sfc_main$1 from "./RenderTextNode.vue2.js";
3
3
  const _hoisted_1 = { class: "text-xl font-semibold mb-1" };
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "SegmentedBox",
@@ -46,8 +46,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
46
46
  createElementVNode("div", {
47
47
  class: normalizeClass(innerClasses.value)
48
48
  }, [
49
- createElementVNode("h3", _hoisted_1, toDisplayString(__props.title), 1),
50
- createVNode(_sfc_main$1, { content: __props.content }, null, 8, ["content"])
49
+ createElementVNode("h3", _hoisted_1, toDisplayString(_ctx.title), 1),
50
+ createVNode(_sfc_main$1, { content: _ctx.content }, null, 8, ["content"])
51
51
  ], 2)
52
52
  ], 2);
53
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedBox.vue2.js","sources":["../../../src/components/tools/SegmentedBox.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport RenderTextNode from \"~/components/tools/RenderTextNode.vue\";\nimport type { Box } from '~/types/educationals/EpSegmentedBox';\n\n\nconst props = withDefaults(defineProps<Box>(), {\n widthFull: false, \n boxCenter: true,\n opacity:false,\n bgColor:'bg-transparent',\n textCenter:true,\n})\n\nconst containerClasses = computed(() => ({\n 'w-full': props.widthFull,\n 'w-3/6': !props.widthFull,\n 'mx-auto': props.boxCenter,\n 'opacity-50': props.opacity\n}))\n\n\nconst textColorClass = computed(() => {\n if (!props.bgColor || props.bgColor === 'bg-transparent' || props.bgColor === '') {\n return ''\n }\n // Check if it's a dark shade (700, 500, or black)\n if (props.bgColor.includes('-700')) {\n return 'text-white dark:text-neutral-900'\n }\n if (props.bgColor === 'bg-black') {\n return 'text-white dark:text-neutral-900'\n }\n return ''\n})\n\nconst innerClasses = computed(() => [\n 'border border-black dark:border-white p-4 rounded-md',\n props.textCenter ? 'text-center' : 'text-left',\n props.bgColor, textColorClass.value\n])\n</script>\n\n<template>\n <div :class=\"containerClasses\" class=\"mb-3\">\n <div :class=\"innerClasses\">\n <h3 class=\"text-xl font-semibold mb-1\">{{ title }}</h3>\n <RenderTextNode :content=\"content\" />\n </div>\n </div>\n</template>"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_toDisplayString","_createVNode","RenderTextNode"],"mappings":";;;;;;;;;;;;;;;;AAMA,UAAM,QAAQ;AAQd,UAAM,mBAAmB,SAAS,OAAO;AAAA,MACrC,UAAU,MAAM;AAAA,MAChB,SAAS,CAAC,MAAM;AAAA,MAChB,WAAW,MAAM;AAAA,MACjB,cAAc,MAAM;AAAA,IAAA,EACtB;AAGF,UAAM,iBAAiB,SAAS,MAAM;AAClC,UAAI,CAAC,MAAM,WAAW,MAAM,YAAY,oBAAoB,MAAM,YAAY,IAAI;AAC9E,eAAO;AAAA,MACX;AAEA,UAAI,MAAM,QAAQ,SAAS,MAAM,GAAG;AAChC,eAAO;AAAA,MACX;AACA,UAAI,MAAM,YAAY,YAAY;AAC9B,eAAO;AAAA,MACX;AACA,aAAO;AAAA,IACX,CAAC;AAED,UAAM,eAAe,SAAS,MAAM;AAAA,MACjC;AAAA,MACC,MAAM,aAAa,gBAAgB;AAAA,MACnC,MAAM;AAAA,MAAS,eAAe;AAAA,IAAA,CACjC;;0BAIEA,mBAKM,OAAA;AAAA,QALA,OAAKC,eAAA,CAAE,iBAAA,OAAwB,MAAM,CAAA;AAAA,MAAA;QACtCC,mBAGM,OAAA;AAAA,UAHA,sBAAO,aAAA,KAAY;AAAA,QAAA;UACrBA,mBAAuD,MAAvD,YAAuDC,gBAAb,QAAA,KAAK,GAAA,CAAA;AAAA,UAC/CC,YAAqCC,aAAA,EAApB,SAAS,QAAA,QAAA,GAAO,MAAA,GAAA,CAAA,SAAA,CAAA;AAAA,QAAA;;;;;"}
1
+ {"version":3,"file":"SegmentedBox.vue2.js","sources":["../../../src/components/tools/SegmentedBox.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport RenderTextNode from \"~/components/tools/RenderTextNode.vue\";\nimport type { Box } from '~/types/educationals/EpSegmentedBox';\n\n\nconst props = withDefaults(defineProps<Box>(), {\n widthFull: false, \n boxCenter: true,\n opacity:false,\n bgColor:'bg-transparent',\n textCenter:true,\n})\n\nconst containerClasses = computed(() => ({\n 'w-full': props.widthFull,\n 'w-3/6': !props.widthFull,\n 'mx-auto': props.boxCenter,\n 'opacity-50': props.opacity\n}))\n\n\nconst textColorClass = computed(() => {\n if (!props.bgColor || props.bgColor === 'bg-transparent' || props.bgColor === '') {\n return ''\n }\n // Check if it's a dark shade (700, 500, or black)\n if (props.bgColor.includes('-700')) {\n return 'text-white dark:text-neutral-900'\n }\n if (props.bgColor === 'bg-black') {\n return 'text-white dark:text-neutral-900'\n }\n return ''\n})\n\nconst innerClasses = computed(() => [\n 'border border-black dark:border-white p-4 rounded-md',\n props.textCenter ? 'text-center' : 'text-left',\n props.bgColor, textColorClass.value\n])\n</script>\n\n<template>\n <div :class=\"containerClasses\" class=\"mb-3\">\n <div :class=\"innerClasses\">\n <h3 class=\"text-xl font-semibold mb-1\">{{ title }}</h3>\n <RenderTextNode :content=\"content\" />\n </div>\n </div>\n</template>"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_toDisplayString","title","_createVNode","RenderTextNode","content"],"mappings":";;;;;;;;;;;;;;;;AAMA,UAAM,QAAQ;AAQd,UAAM,mBAAmB,SAAS,OAAO;AAAA,MACrC,UAAU,MAAM;AAAA,MAChB,SAAS,CAAC,MAAM;AAAA,MAChB,WAAW,MAAM;AAAA,MACjB,cAAc,MAAM;AAAA,IAAA,EACtB;AAGF,UAAM,iBAAiB,SAAS,MAAM;AAClC,UAAI,CAAC,MAAM,WAAW,MAAM,YAAY,oBAAoB,MAAM,YAAY,IAAI;AAC9E,eAAO;AAAA,MACX;AAEA,UAAI,MAAM,QAAQ,SAAS,MAAM,GAAG;AAChC,eAAO;AAAA,MACX;AACA,UAAI,MAAM,YAAY,YAAY;AAC9B,eAAO;AAAA,MACX;AACA,aAAO;AAAA,IACX,CAAC;AAED,UAAM,eAAe,SAAS,MAAM;AAAA,MACjC;AAAA,MACC,MAAM,aAAa,gBAAgB;AAAA,MACnC,MAAM;AAAA,MAAS,eAAe;AAAA,IAAA,CACjC;;0BAIEA,mBAKM,OAAA;AAAA,QALA,OAAKC,eAAA,CAAE,iBAAA,OAAwB,MAAM,CAAA;AAAA,MAAA;QACtCC,mBAGM,OAAA;AAAA,UAHA,sBAAO,aAAA,KAAY;AAAA,QAAA;UACrBA,mBAAuD,MAAvD,YAAuDC,gBAAbC,KAAAA,KAAK,GAAA,CAAA;AAAA,UAC/CC,YAAqCC,aAAA,EAApB,SAASC,KAAAA,QAAAA,GAAO,MAAA,GAAA,CAAA,SAAA,CAAA;AAAA,QAAA;;;;;"}