ep-lib-ts 1.1.5 → 1.1.6

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 (30) hide show
  1. package/dist/components/basics/EpAvatar.vue.js +1 -55
  2. package/dist/components/basics/EpAvatar.vue.js.map +1 -1
  3. package/dist/components/basics/EpAvatar.vue2.js +55 -1
  4. package/dist/components/basics/EpAvatar.vue2.js.map +1 -1
  5. package/dist/components/basics/EpSection.vue.js +90 -41
  6. package/dist/components/basics/EpSection.vue.js.map +1 -1
  7. package/dist/components/basics/EpSectionCols.vue.js +113 -51
  8. package/dist/components/basics/EpSectionCols.vue.js.map +1 -1
  9. package/dist/components/basics/EpStackedList.vue.js +1 -1
  10. package/dist/components/educationals/EpResource.vue.js +1 -1
  11. package/dist/components/educationals/EpResource.vue.js.map +1 -1
  12. package/dist/components/educationals/EpSegmentedBox.vue.js +1 -1
  13. package/dist/components/interactions/EpContentSlider.vue.js +1 -1
  14. package/dist/components/interactions/EpContentSlider.vue.js.map +1 -1
  15. package/dist/components/interactions/EpQuestion.vue.js +1 -1
  16. package/dist/components/interactions/EpQuestion.vue.js.map +1 -1
  17. package/dist/components/medias/EpHierarchy.vue2.js +1 -1
  18. package/dist/components/medias/EpHierarchy.vue2.js.map +1 -1
  19. package/dist/components/tools/SegmentedBox.vue.js +55 -1
  20. package/dist/components/tools/SegmentedBox.vue.js.map +1 -1
  21. package/dist/components/tools/SegmentedBox.vue2.js +1 -55
  22. package/dist/components/tools/SegmentedBox.vue2.js.map +1 -1
  23. package/dist/components/tools/TextMedia.vue2.js +1 -1
  24. package/dist/components/tools/TextMedia.vue2.js.map +1 -1
  25. package/dist/components/tools/TwoColsMedia.vue2.js +2 -2
  26. package/dist/components/tools/TwoColsMedia.vue2.js.map +1 -1
  27. package/dist/style.css +88 -88
  28. package/dist/types/basics/EpSection.d.ts +3 -1
  29. package/dist/types/basics/EpSectionCols.d.ts +2 -0
  30. package/package.json +1 -1
@@ -1,58 +1,4 @@
1
- import { defineComponent, computed, createElementBlock, openBlock, createCommentVNode, createElementVNode, normalizeClass, toDisplayString } from "vue";
2
- import { typeAvatar } from "../../types/Avatar.js";
3
- import useColors from "../../composables/useColors.js";
4
- const _hoisted_1 = { key: 0 };
5
- const _hoisted_2 = ["src", "alt"];
6
- const _hoisted_3 = { key: 1 };
7
- const _sfc_main = /* @__PURE__ */ defineComponent({
8
- __name: "EpAvatar",
9
- props: {
10
- src: { default: "" },
11
- alt: { default: "" },
12
- color: { default: "primary" },
13
- size: { default: "small" },
14
- variant: { default: "circle" },
15
- name: { default: "" }
16
- },
17
- setup(__props) {
18
- const props = __props;
19
- const style = computed(() => {
20
- return props.variant;
21
- });
22
- const size = computed(() => {
23
- return props.size;
24
- });
25
- const final_style = computed(() => {
26
- var _a;
27
- return `${(_a = typeAvatar[style.value]) == null ? void 0 : _a[size.value]}`;
28
- });
29
- const bgcolor = computed(() => {
30
- return useColors(props.color);
31
- });
32
- const final_name = computed(() => {
33
- if (props.name.length > 2) {
34
- return props.name.slice(0, 2);
35
- } else {
36
- return props.name;
37
- }
38
- });
39
- return (_ctx, _cache) => {
40
- return openBlock(), createElementBlock("div", null, [
41
- props.src != "" ? (openBlock(), createElementBlock("div", _hoisted_1, [
42
- createElementVNode("img", {
43
- src: props.src,
44
- alt: props.alt,
45
- class: normalizeClass(`${final_style.value} `)
46
- }, null, 10, _hoisted_2)
47
- ])) : props.src == "" ? (openBlock(), createElementBlock("div", _hoisted_3, [
48
- createElementVNode("div", {
49
- class: normalizeClass(`${final_style.value} ${bgcolor.value} justify-center font-bold text-white flex items-center`)
50
- }, toDisplayString(final_name.value), 3)
51
- ])) : createCommentVNode("", true)
52
- ]);
53
- };
54
- }
55
- });
1
+ import _sfc_main from "./EpAvatar.vue2.js";
56
2
  export {
57
3
  _sfc_main as default
58
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"EpAvatar.vue.js","sources":["../../../src/components/basics/EpAvatar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { typeAvatar } from \"../../types/Avatar\";\nimport type { EpAvatarProps } from \"../../types/basics/EpAvatar\";\nimport useColors from \"../../composables/useColors\";\n\n// define parameter and default valule\nconst props = withDefaults(defineProps<EpAvatarProps>(), {\n src: \"\",\n alt: \"\",\n color: \"primary\",\n size: \"small\",\n variant: \"circle\",\n name: \"\",\n});\n\nconst style = computed(() => {\n return props.variant;\n});\n\nconst size = computed(() => {\n return props.size;\n});\n\nconst final_style = computed(() => {\n return `${typeAvatar[style.value]?.[size.value]}`;\n});\n\nconst bgcolor = computed(() => {\n return useColors(props.color);\n});\n\nconst final_name = computed(() => {\n if (props.name.length > 2) {\n return props.name.slice(0, 2);\n } else {\n return props.name;\n }\n});\n</script>\n<template>\n <div>\n <div v-if=\"props.src != ''\">\n <img :src=\"props.src\" :alt=\"props.alt\" :class=\"`${final_style} `\" />\n </div>\n <div v-else-if=\"props.src == ''\">\n <div\n :class=\"`${final_style} ${bgcolor} justify-center font-bold text-white flex items-center`\"\n >\n {{ final_name }}\n </div>\n </div>\n </div>\n</template>\n"],"names":["_createElementBlock","_createElementVNode","_normalizeClass"],"mappings":";;;;;;;;;;;;;;;;;AAOA,UAAM,QAAQ;AASd,UAAM,QAAQ,SAAS,MAAM;AACzB,aAAO,MAAM;AAAA,IACjB,CAAC;AAED,UAAM,OAAO,SAAS,MAAM;AACxB,aAAO,MAAM;AAAA,IACjB,CAAC;AAED,UAAM,cAAc,SAAS,MAAM;;AAC/B,aAAO,IAAG,gBAAW,MAAM,KAAK,MAAtB,mBAA0B,KAAK,MAAM;AAAA,IACnD,CAAC;AAED,UAAM,UAAU,SAAS,MAAM;AAC3B,aAAO,UAAU,MAAM,KAAK;AAAA,IAChC,CAAC;AAED,UAAM,aAAa,SAAS,MAAM;AAC9B,UAAI,MAAM,KAAK,SAAS,GAAG;AACvB,eAAO,MAAM,KAAK,MAAM,GAAG,CAAC;AAAA,MAChC,OAAO;AACH,eAAO,MAAM;AAAA,MACjB;AAAA,IACJ,CAAC;;0BAGGA,mBAWM,OAAA,MAAA;AAAA,QAVS,MAAM,OAAG,mBAApBA,mBAEM,OAAA,YAAA;AAAA,UADFC,mBAAoE,OAAA;AAAA,YAA9D,KAAK,MAAM;AAAA,YAAM,KAAK,MAAM;AAAA,YAAM,yBAAU,YAAA,KAAW,GAAA;AAAA,UAAA;cAEjD,MAAM,OAAG,mBAAzBD,mBAMM,OAAA,YAAA;AAAA,UALFC,mBAIM,OAAA;AAAA,YAHD,OAAKC,eAAA,GAAK,YAAA,KAAW,KAAK,QAAA,KAAO,yDAAA;AAAA,UAAA,mBAE/B,WAAA,KAAU,GAAA,CAAA;AAAA,QAAA;;;;;"}
1
+ {"version":3,"file":"EpAvatar.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,4 +1,58 @@
1
- import _sfc_main from "./EpAvatar.vue.js";
1
+ import { defineComponent, computed, createElementBlock, openBlock, createCommentVNode, createElementVNode, normalizeClass, toDisplayString } from "vue";
2
+ import { typeAvatar } from "../../types/Avatar.js";
3
+ import useColors from "../../composables/useColors.js";
4
+ const _hoisted_1 = { key: 0 };
5
+ const _hoisted_2 = ["src", "alt"];
6
+ const _hoisted_3 = { key: 1 };
7
+ const _sfc_main = /* @__PURE__ */ defineComponent({
8
+ __name: "EpAvatar",
9
+ props: {
10
+ src: { default: "" },
11
+ alt: { default: "" },
12
+ color: { default: "primary" },
13
+ size: { default: "small" },
14
+ variant: { default: "circle" },
15
+ name: { default: "" }
16
+ },
17
+ setup(__props) {
18
+ const props = __props;
19
+ const style = computed(() => {
20
+ return props.variant;
21
+ });
22
+ const size = computed(() => {
23
+ return props.size;
24
+ });
25
+ const final_style = computed(() => {
26
+ var _a;
27
+ return `${(_a = typeAvatar[style.value]) == null ? void 0 : _a[size.value]}`;
28
+ });
29
+ const bgcolor = computed(() => {
30
+ return useColors(props.color);
31
+ });
32
+ const final_name = computed(() => {
33
+ if (props.name.length > 2) {
34
+ return props.name.slice(0, 2);
35
+ } else {
36
+ return props.name;
37
+ }
38
+ });
39
+ return (_ctx, _cache) => {
40
+ return openBlock(), createElementBlock("div", null, [
41
+ props.src != "" ? (openBlock(), createElementBlock("div", _hoisted_1, [
42
+ createElementVNode("img", {
43
+ src: props.src,
44
+ alt: props.alt,
45
+ class: normalizeClass(`${final_style.value} `)
46
+ }, null, 10, _hoisted_2)
47
+ ])) : props.src == "" ? (openBlock(), createElementBlock("div", _hoisted_3, [
48
+ createElementVNode("div", {
49
+ class: normalizeClass(`${final_style.value} ${bgcolor.value} justify-center font-bold text-white flex items-center`)
50
+ }, toDisplayString(final_name.value), 3)
51
+ ])) : createCommentVNode("", true)
52
+ ]);
53
+ };
54
+ }
55
+ });
2
56
  export {
3
57
  _sfc_main as default
4
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"EpAvatar.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"EpAvatar.vue2.js","sources":["../../../src/components/basics/EpAvatar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { typeAvatar } from \"../../types/Avatar\";\nimport type { EpAvatarProps } from \"../../types/basics/EpAvatar\";\nimport useColors from \"../../composables/useColors\";\n\n// define parameter and default valule\nconst props = withDefaults(defineProps<EpAvatarProps>(), {\n src: \"\",\n alt: \"\",\n color: \"primary\",\n size: \"small\",\n variant: \"circle\",\n name: \"\",\n});\n\nconst style = computed(() => {\n return props.variant;\n});\n\nconst size = computed(() => {\n return props.size;\n});\n\nconst final_style = computed(() => {\n return `${typeAvatar[style.value]?.[size.value]}`;\n});\n\nconst bgcolor = computed(() => {\n return useColors(props.color);\n});\n\nconst final_name = computed(() => {\n if (props.name.length > 2) {\n return props.name.slice(0, 2);\n } else {\n return props.name;\n }\n});\n</script>\n<template>\n <div>\n <div v-if=\"props.src != ''\">\n <img :src=\"props.src\" :alt=\"props.alt\" :class=\"`${final_style} `\" />\n </div>\n <div v-else-if=\"props.src == ''\">\n <div\n :class=\"`${final_style} ${bgcolor} justify-center font-bold text-white flex items-center`\"\n >\n {{ final_name }}\n </div>\n </div>\n </div>\n</template>\n"],"names":["_createElementBlock","_createElementVNode","_normalizeClass"],"mappings":";;;;;;;;;;;;;;;;;AAOA,UAAM,QAAQ;AASd,UAAM,QAAQ,SAAS,MAAM;AACzB,aAAO,MAAM;AAAA,IACjB,CAAC;AAED,UAAM,OAAO,SAAS,MAAM;AACxB,aAAO,MAAM;AAAA,IACjB,CAAC;AAED,UAAM,cAAc,SAAS,MAAM;;AAC/B,aAAO,IAAG,gBAAW,MAAM,KAAK,MAAtB,mBAA0B,KAAK,MAAM;AAAA,IACnD,CAAC;AAED,UAAM,UAAU,SAAS,MAAM;AAC3B,aAAO,UAAU,MAAM,KAAK;AAAA,IAChC,CAAC;AAED,UAAM,aAAa,SAAS,MAAM;AAC9B,UAAI,MAAM,KAAK,SAAS,GAAG;AACvB,eAAO,MAAM,KAAK,MAAM,GAAG,CAAC;AAAA,MAChC,OAAO;AACH,eAAO,MAAM;AAAA,MACjB;AAAA,IACJ,CAAC;;0BAGGA,mBAWM,OAAA,MAAA;AAAA,QAVS,MAAM,OAAG,mBAApBA,mBAEM,OAAA,YAAA;AAAA,UADFC,mBAAoE,OAAA;AAAA,YAA9D,KAAK,MAAM;AAAA,YAAM,KAAK,MAAM;AAAA,YAAM,yBAAU,YAAA,KAAW,GAAA;AAAA,UAAA;cAEjD,MAAM,OAAG,mBAAzBD,mBAMM,OAAA,YAAA;AAAA,UALFC,mBAIM,OAAA;AAAA,YAHD,OAAKC,eAAA,GAAK,YAAA,KAAW,KAAK,QAAA,KAAO,yDAAA;AAAA,UAAA,mBAE/B,WAAA,KAAU,GAAA,CAAA;AAAA,QAAA;;;;;"}
@@ -1,8 +1,9 @@
1
- import { defineComponent, ref, computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, createBlock, renderSlot, normalizeClass, toDisplayString } from "vue";
1
+ import { defineComponent, computed, createElementBlock, openBlock, unref, createBlock, Fragment, createElementVNode, createCommentVNode, renderSlot, normalizeClass, toDisplayString, withCtx } from "vue";
2
2
  import { useCreateUid } from "../../composables/useCreateUid.js";
3
3
  import { cols_img } from "../../types/Image.js";
4
4
  import _sfc_main$2 from "./EpDivider.vue.js";
5
5
  import _sfc_main$1 from "./EpIcon.vue.js";
6
+ import Comp from "../interactions/EpAccordeon.vue.js";
6
7
  const _hoisted_1 = ["id"];
7
8
  const _hoisted_2 = { class: "text-2xl font-semibold dark:text-white" };
8
9
  const _hoisted_3 = { class: "dark:text-white" };
@@ -12,6 +13,15 @@ const _hoisted_5 = {
12
13
  class: "w-full"
13
14
  };
14
15
  const _hoisted_6 = ["src", "alt"];
16
+ const _hoisted_7 = { key: 0 };
17
+ const _hoisted_8 = { class: "text-2xl font-semibold dark:text-white" };
18
+ const _hoisted_9 = { class: "dark:text-white" };
19
+ const _hoisted_10 = ["innerHTML"];
20
+ const _hoisted_11 = {
21
+ key: 1,
22
+ class: "w-full"
23
+ };
24
+ const _hoisted_12 = ["src", "alt"];
15
25
  const _sfc_main = /* @__PURE__ */ defineComponent({
16
26
  __name: "EpSection",
17
27
  props: {
@@ -23,11 +33,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
23
33
  media: {},
24
34
  colsMedia: { default: "6" },
25
35
  mediaAling: { default: "justify-center" },
26
- src: {}
36
+ src: {},
37
+ compact: { type: Boolean },
38
+ open: { type: Boolean }
27
39
  },
28
40
  setup(__props) {
29
41
  const props = __props;
30
- const id = ref(props.uid || useCreateUid());
42
+ const id = props.uid || useCreateUid();
31
43
  const iconSize = computed(() => {
32
44
  if (props.title && props.subtitle) return 40;
33
45
  return 25;
@@ -44,49 +56,86 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
44
56
  return (_ctx, _cache) => {
45
57
  return openBlock(), createElementBlock("section", {
46
58
  class: "EpSection",
47
- id: `section-${id.value}`
59
+ id: `section-${unref(id)}`
48
60
  }, [
49
- createElementVNode("div", {
50
- class: normalizeClass(`flex items-center ${styleTitle.value}`)
51
- }, [
52
- _ctx.icon && !_ctx.endIcon ? (openBlock(), createBlock(_sfc_main$1, {
53
- key: 0,
54
- "icon-path": _ctx.icon,
55
- size: iconSize.value
56
- }, null, 8, ["icon-path", "size"])) : createCommentVNode("", true),
61
+ !_ctx.compact ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
57
62
  createElementVNode("div", {
58
- class: normalizeClass(`${_ctx.endIcon ? "" : "ml-2"}`)
63
+ class: normalizeClass(`flex items-center ${styleTitle.value}`)
59
64
  }, [
60
- createElementVNode("h2", _hoisted_2, toDisplayString(_ctx.title), 1),
61
- createElementVNode("h3", _hoisted_3, toDisplayString(_ctx.subtitle), 1)
65
+ _ctx.icon && !_ctx.endIcon ? (openBlock(), createBlock(_sfc_main$1, {
66
+ key: 0,
67
+ "icon-path": _ctx.icon,
68
+ size: iconSize.value
69
+ }, null, 8, ["icon-path", "size"])) : createCommentVNode("", true),
70
+ createElementVNode("div", {
71
+ class: normalizeClass(`${_ctx.endIcon ? "" : "ml-2"}`)
72
+ }, [
73
+ createElementVNode("h2", _hoisted_2, toDisplayString(_ctx.title), 1),
74
+ createElementVNode("h3", _hoisted_3, toDisplayString(_ctx.subtitle), 1)
75
+ ], 2),
76
+ _ctx.icon && _ctx.endIcon ? (openBlock(), createBlock(_sfc_main$1, {
77
+ key: 1,
78
+ "icon-path": _ctx.icon,
79
+ size: iconSize.value
80
+ }, null, 8, ["icon-path", "size"])) : createCommentVNode("", true)
62
81
  ], 2),
63
- _ctx.icon && _ctx.endIcon ? (openBlock(), createBlock(_sfc_main$1, {
64
- key: 1,
65
- "icon-path": _ctx.icon,
66
- size: iconSize.value
67
- }, null, 8, ["icon-path", "size"])) : createCommentVNode("", true)
68
- ], 2),
69
- _ctx.media || _ctx.src ? (openBlock(), createElementBlock("div", {
70
- key: 0,
71
- class: normalizeClass(`flex ${_ctx.mediaAling}`)
72
- }, [
73
- createElementVNode("div", {
74
- class: normalizeClass(`dark:text-white ${renderCols.value}`)
82
+ _ctx.media || _ctx.src ? (openBlock(), createElementBlock("div", {
83
+ key: 0,
84
+ class: normalizeClass(`flex ${_ctx.mediaAling}`)
75
85
  }, [
76
- _ctx.media ? (openBlock(), createElementBlock("div", {
77
- key: 0,
78
- innerHTML: _ctx.media,
79
- class: "w-full"
80
- }, null, 8, _hoisted_4)) : (openBlock(), createElementBlock("div", _hoisted_5, [
81
- createElementVNode("img", {
82
- src: _ctx.src,
83
- alt: `image section ${_ctx.title}`
84
- }, null, 8, _hoisted_6)
85
- ]))
86
- ], 2)
87
- ], 2)) : createCommentVNode("", true),
88
- _ctx.title || _ctx.subtitle ? (openBlock(), createBlock(_sfc_main$2, { key: 1 })) : createCommentVNode("", true),
89
- renderSlot(_ctx.$slots, "default")
86
+ createElementVNode("div", {
87
+ class: normalizeClass(`dark:text-white ${renderCols.value}`)
88
+ }, [
89
+ _ctx.media ? (openBlock(), createElementBlock("div", {
90
+ key: 0,
91
+ innerHTML: _ctx.media,
92
+ class: "w-full"
93
+ }, null, 8, _hoisted_4)) : (openBlock(), createElementBlock("div", _hoisted_5, [
94
+ createElementVNode("img", {
95
+ src: _ctx.src,
96
+ alt: `image section ${_ctx.title}`
97
+ }, null, 8, _hoisted_6)
98
+ ]))
99
+ ], 2)
100
+ ], 2)) : createCommentVNode("", true),
101
+ _ctx.title || _ctx.subtitle ? (openBlock(), createBlock(_sfc_main$2, { key: 1 })) : createCommentVNode("", true),
102
+ renderSlot(_ctx.$slots, "default")
103
+ ], 64)) : (openBlock(), createBlock(Comp, {
104
+ key: 1,
105
+ title: _ctx.title,
106
+ open: _ctx.open,
107
+ icon: _ctx.icon,
108
+ outlined: ""
109
+ }, {
110
+ default: withCtx(() => [
111
+ _ctx.title || _ctx.subtitle ? (openBlock(), createElementBlock("div", _hoisted_7, [
112
+ createElementVNode("h2", _hoisted_8, toDisplayString(_ctx.title), 1),
113
+ createElementVNode("h3", _hoisted_9, toDisplayString(_ctx.subtitle), 1)
114
+ ])) : createCommentVNode("", true),
115
+ _ctx.media || _ctx.src ? (openBlock(), createElementBlock("div", {
116
+ key: 1,
117
+ class: normalizeClass(`flex ${_ctx.mediaAling}`)
118
+ }, [
119
+ createElementVNode("div", {
120
+ class: normalizeClass(`dark:text-white ${renderCols.value}`)
121
+ }, [
122
+ _ctx.media ? (openBlock(), createElementBlock("div", {
123
+ key: 0,
124
+ innerHTML: _ctx.media,
125
+ class: "w-full"
126
+ }, null, 8, _hoisted_10)) : (openBlock(), createElementBlock("div", _hoisted_11, [
127
+ createElementVNode("img", {
128
+ src: _ctx.src,
129
+ alt: `image section ${_ctx.title}`
130
+ }, null, 8, _hoisted_12)
131
+ ]))
132
+ ], 2)
133
+ ], 2)) : createCommentVNode("", true),
134
+ _ctx.title || _ctx.subtitle ? (openBlock(), createBlock(_sfc_main$2, { key: 2 })) : createCommentVNode("", true),
135
+ renderSlot(_ctx.$slots, "default")
136
+ ]),
137
+ _: 3
138
+ }, 8, ["title", "open", "icon"]))
90
139
  ], 8, _hoisted_1);
91
140
  };
92
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EpSection.vue.js","sources":["../../../src/components/basics/EpSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } 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\";\n\nconst props = withDefaults(defineProps<EpSectionProps>(), {\n title: null,\n icon: null,\n colsMedia: \"6\",\n mediaAling: \"justify-center\",\n});\n\nconst id = ref(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</script>\n\n<template>\n <section class=\"EpSection\" :id=\"`section-${id}`\">\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 <slot />\n </section>\n</template>\n"],"names":["_createElementBlock","_createElementVNode","icon","endIcon","_createBlock","EpIcon","_toDisplayString","title","subtitle","media","src","mediaAling","_openBlock","EpDivider","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,UAAM,QAAQ;AAOd,UAAM,KAAK,IAAI,MAAM,OAAO,cAAc;AAE1C,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;;0BAICA,mBAqBU,WAAA;AAAA,QArBD,OAAM;AAAA,QAAa,eAAe,GAAA,KAAE;AAAA,MAAA;QAC3CC,mBAOM,OAAA;AAAA,UAPA,2CAA4B,WAAA,KAAU,EAAA;AAAA,QAAA;UACOC,KAAAA,SAASC,KAAAA,wBAA1DC,YAAqEC,aAAA;AAAA;YAA5D,aAAWH,KAAAA;AAAAA,YAAO,MAAM,SAAA;AAAA,UAAA;UACjCD,mBAGM,OAAA;AAAA,YAHA,yBAAUE,KAAAA,UAAO,KAAA,MAAA,EAAA;AAAA,UAAA;YACrBF,mBAAmE,MAAnE,YAAmEK,gBAAbC,KAAAA,KAAK,GAAA,CAAA;AAAA,YAC3DN,mBAA+C,MAA/C,YAA+CK,gBAAhBE,KAAAA,QAAQ,GAAA,CAAA;AAAA,UAAA;UAEQN,KAAAA,QAAQC,KAAAA,wBAAzDC,YAAoEC,aAAA;AAAA;YAA3D,aAAWH,KAAAA;AAAAA,YAAO,MAAM,SAAA;AAAA,UAAA;;QAEMO,KAAAA,SAASC,KAAAA,oBAAlDV,mBASM,OAAA;AAAA;UATA,8BAAeW,KAAAA,UAAU,EAAA;AAAA,QAAA;UAC7BV,mBAOM,OAAA;AAAA,YAPA,yCAA0B,WAAA,KAAU,EAAA;AAAA,UAAA;YAECQ,KAAAA,sBAAzCT,mBAAkD,OAAA;AAAA;cAA7C,WAAQS,KAAAA;AAAAA,cAAO,OAAM;AAAA,YAAA,4BAE1BG,UAAA,GAAAZ,mBAEM,OAFN,YAEM;AAAA,cADJC,mBAAkD,OAAA;AAAA,gBAA5C,KAAKS,KAAAA;AAAAA,gBAAM,sBAAsBH,KAAAA,KAAK;AAAA,cAAA;;;;QAIjCA,KAAAA,SAASC,KAAAA,yBAA1BJ,YAAsCS,aAAA,EAAA,KAAA,EAAA,CAAA;QACtCC,WAAQ,KAAA,QAAA,SAAA;AAAA,MAAA;;;;"}
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\" :open=\"open\" :icon=\"icon\" outlined>\n <div v-if=\"title || subtitle\">\n <h2 class=\"text-2xl font-semibold dark:text-white\">{{ title }}</h2>\n <h3 class=\"dark:text-white\">{{ subtitle }}</h3>\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 <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":"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"}
@@ -1,9 +1,10 @@
1
- import { defineComponent, ref, computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, createBlock, normalizeClass, toDisplayString, renderSlot } from "vue";
1
+ import { defineComponent, computed, createElementBlock, openBlock, unref, createBlock, Fragment, createElementVNode, createCommentVNode, normalizeClass, toDisplayString, renderSlot, withCtx } from "vue";
2
2
  import { useCreateUid } from "../../composables/useCreateUid.js";
3
3
  import { cols_img } from "../../types/Image.js";
4
4
  import { allowedColWidths } from "../../types/Cols.js";
5
5
  import _sfc_main$2 from "./EpDivider.vue.js";
6
6
  import _sfc_main$1 from "./EpIcon.vue.js";
7
+ import Comp from "../interactions/EpAccordeon.vue.js";
7
8
  const _hoisted_1 = ["id"];
8
9
  const _hoisted_2 = { class: "text-2xl font-semibold dark:text-white" };
9
10
  const _hoisted_3 = { class: "dark:text-white" };
@@ -13,6 +14,15 @@ const _hoisted_5 = {
13
14
  class: "w-full"
14
15
  };
15
16
  const _hoisted_6 = ["src", "alt"];
17
+ const _hoisted_7 = { key: 0 };
18
+ const _hoisted_8 = { class: "text-2xl font-semibold dark:text-white" };
19
+ const _hoisted_9 = { class: "dark:text-white" };
20
+ const _hoisted_10 = ["innerHTML"];
21
+ const _hoisted_11 = {
22
+ key: 1,
23
+ class: "w-full"
24
+ };
25
+ const _hoisted_12 = ["src", "alt"];
16
26
  const _sfc_main = /* @__PURE__ */ defineComponent({
17
27
  __name: "EpSectionCols",
18
28
  props: {
@@ -26,11 +36,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
26
36
  mediaAling: { default: "justify-center" },
27
37
  src: {},
28
38
  gap: { default: "gap-1" },
29
- leftCol: { default: "w-full" }
39
+ leftCol: { default: "w-full" },
40
+ compact: { type: Boolean },
41
+ open: { type: Boolean }
30
42
  },
31
43
  setup(__props) {
32
44
  const props = __props;
33
- const id = ref(props.uid || useCreateUid());
45
+ const id = props.uid || useCreateUid();
34
46
  const iconSize = computed(() => {
35
47
  if (props.title && props.subtitle) return 40;
36
48
  return 25;
@@ -53,62 +65,112 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
53
65
  return (_ctx, _cache) => {
54
66
  return openBlock(), createElementBlock("section", {
55
67
  class: "EpSection",
56
- id: `section-${id.value}`
68
+ id: `section-${unref(id)}`
57
69
  }, [
58
- createElementVNode("div", {
59
- class: normalizeClass(`flex items-center ${styleTitle.value}`)
60
- }, [
61
- _ctx.icon && !_ctx.endIcon ? (openBlock(), createBlock(_sfc_main$1, {
62
- key: 0,
63
- "icon-path": _ctx.icon,
64
- size: iconSize.value
65
- }, null, 8, ["icon-path", "size"])) : createCommentVNode("", true),
66
- createElementVNode("div", {
67
- class: normalizeClass(`${_ctx.endIcon ? "" : "ml-2"}`)
68
- }, [
69
- createElementVNode("h2", _hoisted_2, toDisplayString(_ctx.title), 1),
70
- createElementVNode("h3", _hoisted_3, toDisplayString(_ctx.subtitle), 1)
71
- ], 2),
72
- _ctx.icon && _ctx.endIcon ? (openBlock(), createBlock(_sfc_main$1, {
73
- key: 1,
74
- "icon-path": _ctx.icon,
75
- size: iconSize.value
76
- }, null, 8, ["icon-path", "size"])) : createCommentVNode("", true)
77
- ], 2),
78
- _ctx.media || _ctx.src ? (openBlock(), createElementBlock("div", {
79
- key: 0,
80
- class: normalizeClass(`flex ${_ctx.mediaAling}`)
81
- }, [
70
+ !_ctx.compact ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
82
71
  createElementVNode("div", {
83
- class: normalizeClass(`dark:text-white ${renderCols.value}`)
72
+ class: normalizeClass(`flex items-center ${styleTitle.value}`)
84
73
  }, [
85
- _ctx.media ? (openBlock(), createElementBlock("div", {
74
+ _ctx.icon && !_ctx.endIcon ? (openBlock(), createBlock(_sfc_main$1, {
86
75
  key: 0,
87
- innerHTML: _ctx.media,
88
- class: "w-full"
89
- }, null, 8, _hoisted_4)) : (openBlock(), createElementBlock("div", _hoisted_5, [
90
- createElementVNode("img", {
91
- src: _ctx.src,
92
- alt: `image section ${_ctx.title}`
93
- }, null, 8, _hoisted_6)
94
- ]))
95
- ], 2)
96
- ], 2)) : createCommentVNode("", true),
97
- _ctx.title || _ctx.subtitle ? (openBlock(), createBlock(_sfc_main$2, { key: 1 })) : createCommentVNode("", true),
98
- createElementVNode("div", {
99
- class: normalizeClass(`flex ${_ctx.gap}`)
100
- }, [
101
- createElementVNode("div", {
102
- class: normalizeClass(`${_ctx.leftCol}`)
103
- }, [
104
- renderSlot(_ctx.$slots, "left")
76
+ "icon-path": _ctx.icon,
77
+ size: iconSize.value
78
+ }, null, 8, ["icon-path", "size"])) : createCommentVNode("", true),
79
+ createElementVNode("div", {
80
+ class: normalizeClass(`${_ctx.endIcon ? "" : "ml-2"}`)
81
+ }, [
82
+ createElementVNode("h2", _hoisted_2, toDisplayString(_ctx.title), 1),
83
+ createElementVNode("h3", _hoisted_3, toDisplayString(_ctx.subtitle), 1)
84
+ ], 2),
85
+ _ctx.icon && _ctx.endIcon ? (openBlock(), createBlock(_sfc_main$1, {
86
+ key: 1,
87
+ "icon-path": _ctx.icon,
88
+ size: iconSize.value
89
+ }, null, 8, ["icon-path", "size"])) : createCommentVNode("", true)
105
90
  ], 2),
91
+ _ctx.media || _ctx.src ? (openBlock(), createElementBlock("div", {
92
+ key: 0,
93
+ class: normalizeClass(`flex ${_ctx.mediaAling}`)
94
+ }, [
95
+ createElementVNode("div", {
96
+ class: normalizeClass(`dark:text-white ${renderCols.value}`)
97
+ }, [
98
+ _ctx.media ? (openBlock(), createElementBlock("div", {
99
+ key: 0,
100
+ innerHTML: _ctx.media,
101
+ class: "w-full"
102
+ }, null, 8, _hoisted_4)) : (openBlock(), createElementBlock("div", _hoisted_5, [
103
+ createElementVNode("img", {
104
+ src: _ctx.src,
105
+ alt: `image section ${_ctx.title}`
106
+ }, null, 8, _hoisted_6)
107
+ ]))
108
+ ], 2)
109
+ ], 2)) : createCommentVNode("", true),
110
+ _ctx.title || _ctx.subtitle ? (openBlock(), createBlock(_sfc_main$2, { key: 1 })) : createCommentVNode("", true),
106
111
  createElementVNode("div", {
107
- class: normalizeClass(`${rightCol.value}`)
112
+ class: normalizeClass(`flex ${_ctx.gap}`)
108
113
  }, [
109
- renderSlot(_ctx.$slots, "right")
114
+ createElementVNode("div", {
115
+ class: normalizeClass(`${_ctx.leftCol}`)
116
+ }, [
117
+ renderSlot(_ctx.$slots, "left")
118
+ ], 2),
119
+ createElementVNode("div", {
120
+ class: normalizeClass(`${rightCol.value}`)
121
+ }, [
122
+ renderSlot(_ctx.$slots, "right")
123
+ ], 2)
110
124
  ], 2)
111
- ], 2)
125
+ ], 64)) : (openBlock(), createBlock(Comp, {
126
+ key: 1,
127
+ title: _ctx.title,
128
+ open: _ctx.open,
129
+ icon: _ctx.icon,
130
+ outlined: ""
131
+ }, {
132
+ default: withCtx(() => [
133
+ _ctx.title || _ctx.subtitle ? (openBlock(), createElementBlock("div", _hoisted_7, [
134
+ createElementVNode("h2", _hoisted_8, toDisplayString(_ctx.title), 1),
135
+ createElementVNode("h3", _hoisted_9, toDisplayString(_ctx.subtitle), 1)
136
+ ])) : createCommentVNode("", true),
137
+ _ctx.media || _ctx.src ? (openBlock(), createElementBlock("div", {
138
+ key: 1,
139
+ class: normalizeClass(`flex ${_ctx.mediaAling}`)
140
+ }, [
141
+ createElementVNode("div", {
142
+ class: normalizeClass(`dark:text-white ${renderCols.value}`)
143
+ }, [
144
+ _ctx.media ? (openBlock(), createElementBlock("div", {
145
+ key: 0,
146
+ innerHTML: _ctx.media,
147
+ class: "w-full"
148
+ }, null, 8, _hoisted_10)) : (openBlock(), createElementBlock("div", _hoisted_11, [
149
+ createElementVNode("img", {
150
+ src: _ctx.src,
151
+ alt: `image section ${_ctx.title}`
152
+ }, null, 8, _hoisted_12)
153
+ ]))
154
+ ], 2)
155
+ ], 2)) : createCommentVNode("", true),
156
+ _ctx.title || _ctx.subtitle ? (openBlock(), createBlock(_sfc_main$2, { key: 2 })) : createCommentVNode("", true),
157
+ createElementVNode("div", {
158
+ class: normalizeClass(`flex ${_ctx.gap}`)
159
+ }, [
160
+ createElementVNode("div", {
161
+ class: normalizeClass(`${_ctx.leftCol}`)
162
+ }, [
163
+ renderSlot(_ctx.$slots, "left")
164
+ ], 2),
165
+ createElementVNode("div", {
166
+ class: normalizeClass(`${rightCol.value}`)
167
+ }, [
168
+ renderSlot(_ctx.$slots, "right")
169
+ ], 2)
170
+ ], 2)
171
+ ]),
172
+ _: 3
173
+ }, 8, ["title", "open", "icon"]))
112
174
  ], 8, _hoisted_1);
113
175
  };
114
176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EpSectionCols.vue.js","sources":["../../../src/components/basics/EpSectionCols.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } 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\";\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 id: useCreateUid(),\n});\n\nconst id = ref(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 <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 </section>\n</template>\n"],"names":["_createElementBlock","_createElementVNode","icon","endIcon","_createBlock","EpIcon","_toDisplayString","title","subtitle","media","src","mediaAling","_openBlock","EpDivider","gap","leftCol","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,UAAM,QAAQ;AAUd,UAAM,KAAK,IAAI,MAAM,OAAO,cAAc;AAE1C,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;AAED,UAAM,WAAW,SAAS,MAAM;AAC9B,UAAI,MAAM,YAAY,SAAU,QAAO;AACvC,YAAM,YAAY,iBAAiB,QAAQ,MAAM,OAAO;AACxD,YAAM,aAAa,iBAAiB,SAAS,YAAY;AACzD,aAAO,iBAAiB,UAAU,KAAK;AAAA,IACzC,CAAC;;0BAICA,mBAgCU,WAAA;AAAA,QAhCD,OAAM;AAAA,QAAa,eAAe,GAAA,KAAE;AAAA,MAAA;QAC3CC,mBAOM,OAAA;AAAA,UAPA,2CAA4B,WAAA,KAAU,EAAA;AAAA,QAAA;UACOC,KAAAA,SAASC,KAAAA,wBAA1DC,YAAqEC,aAAA;AAAA;YAA5D,aAAWH,KAAAA;AAAAA,YAAO,MAAM,SAAA;AAAA,UAAA;UACjCD,mBAGM,OAAA;AAAA,YAHA,yBAAUE,KAAAA,UAAO,KAAA,MAAA,EAAA;AAAA,UAAA;YACrBF,mBAAmE,MAAnE,YAAmEK,gBAAbC,KAAAA,KAAK,GAAA,CAAA;AAAA,YAC3DN,mBAA+C,MAA/C,YAA+CK,gBAAhBE,KAAAA,QAAQ,GAAA,CAAA;AAAA,UAAA;UAEQN,KAAAA,QAAQC,KAAAA,wBAAzDC,YAAoEC,aAAA;AAAA;YAA3D,aAAWH,KAAAA;AAAAA,YAAO,MAAM,SAAA;AAAA,UAAA;;QAEMO,KAAAA,SAASC,KAAAA,oBAAlDV,mBASM,OAAA;AAAA;UATA,8BAAeW,KAAAA,UAAU,EAAA;AAAA,QAAA;UAC7BV,mBAOM,OAAA;AAAA,YAPA,yCAA0B,WAAA,KAAU,EAAA;AAAA,UAAA;YAECQ,KAAAA,sBAAzCT,mBAAkD,OAAA;AAAA;cAA7C,WAAQS,KAAAA;AAAAA,cAAO,OAAM;AAAA,YAAA,4BAE1BG,UAAA,GAAAZ,mBAEM,OAFN,YAEM;AAAA,cADJC,mBAAkD,OAAA;AAAA,gBAA5C,KAAKS,KAAAA;AAAAA,gBAAM,sBAAsBH,KAAAA,KAAK;AAAA,cAAA;;;;QAIjCA,KAAAA,SAASC,KAAAA,yBAA1BJ,YAAsCS,aAAA,EAAA,KAAA,EAAA,CAAA;QAEtCZ,mBASM,OAAA;AAAA,UATA,8BAAea,KAAAA,GAAG,EAAA;AAAA,QAAA;UAEtBb,mBAEM,OAAA;AAAA,YAFA,yBAAUc,KAAAA,OAAO,EAAA;AAAA,UAAA;YACrBC,WAAoB,KAAA,QAAA,MAAA;AAAA,UAAA;UAGtBf,mBAEM,OAAA;AAAA,YAFA,yBAAU,SAAA,KAAQ,EAAA;AAAA,UAAA;YACtBe,WAAqB,KAAA,QAAA,OAAA;AAAA,UAAA;;;;;;"}
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\" :open=\"open\" :icon=\"icon\" outlined>\n <div v-if=\"title || subtitle\">\n <h2 class=\"text-2xl font-semibold dark:text-white\">{{ title }}</h2>\n <h3 class=\"dark:text-white\">{{ subtitle }}</h3>\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 </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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"}
@@ -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.vue.js";
2
+ import _sfc_main$1 from "./EpAvatar.vue2.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";