ep-lib-ts 1.0.6 → 1.0.7

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 (121) hide show
  1. package/dist/BgAudio-D0BwVnii.js +4 -0
  2. package/dist/DisplayBox-B3jLORDu.js +4 -0
  3. package/dist/EpAlert-D5AOZDyu.js +4 -0
  4. package/dist/EpAudio-BAVn7Gy8.js +4 -0
  5. package/dist/EpBadge-CN9Fg8sD.js +4 -0
  6. package/dist/EpBarChart-C52e3Mbz.js +4 -0
  7. package/dist/EpBtn-DxrWf_6y.js +4 -0
  8. package/dist/EpCard-XTDLhqEF.js +4 -0
  9. package/dist/EpChip-BUrLsOFK.js +4 -0
  10. package/dist/{EpCodeblock-DX7H-PE3.js → EpCodeblock-C4BqtKtL.js} +2 -2
  11. package/dist/EpContentSlider-FwYItAWJ.js +4 -0
  12. package/dist/EpDarkmode-D1jXUoSC.js +26 -0
  13. package/dist/EpDivider-o4AVzJRd.js +4 -0
  14. package/dist/EpEdu-BsEWOTfl.js +4 -0
  15. package/dist/EpFlex-D3XiP-Ra.js +4 -0
  16. package/dist/EpFunnelChart-kJQY8nsy.js +4 -0
  17. package/dist/EpHeader-CcVcrJVb.js +4 -0
  18. package/dist/{EpHover-kZgJ2f1P.js → EpHover-nZS2pYFG.js} +1 -1
  19. package/dist/EpIcon-DSM8BNpa.js +4 -0
  20. package/dist/EpIframe-cjC7BBGu.js +4 -0
  21. package/dist/EpImg-Ccjnd-bG.js +4 -0
  22. package/dist/{EpInput-BEcNn9JQ.js → EpInput-B27QoOBx.js} +2 -3
  23. package/dist/EpLineChart-Di24eSaw.js +4 -0
  24. package/dist/EpLink-C5hN_hjD.js +4 -0
  25. package/dist/EpLinkVersion-CuI6JzA0.js +4 -0
  26. package/dist/{EpList-VmeDfvpc.js → EpList-DIO_ZIFr.js} +1 -1
  27. package/dist/EpModal-BM979tQ-.js +4 -0
  28. package/dist/{EpNothing-DG4uHrcR.js → EpNothing-Cr3m7JTf.js} +1 -1
  29. package/dist/EpPieChart-CV4A5nSn.js +4 -0
  30. package/dist/EpQuestion-FC0tDPMy.js +4 -0
  31. package/dist/EpQuote-Ce2SMrW3.js +4 -0
  32. package/dist/EpRadio-BIJU0eLQ.js +4 -0
  33. package/dist/EpRadioSummative-B04LRKD6.js +4 -0
  34. package/dist/EpReading-DWrILG_f.js +4 -0
  35. package/dist/EpResource-Bmkn_JKt.js +4 -0
  36. package/dist/EpScope-CGUMWNrb.js +4 -0
  37. package/dist/EpSection-DM9t-9CY.js +4 -0
  38. package/dist/{EpSelect-Cm8AVg72.js → EpSelect-CTskxx5V.js} +1 -1
  39. package/dist/EpSkeleton-DVyxuzQ8.js +4 -0
  40. package/dist/EpSoftware-BVu58Hnm.js +4 -0
  41. package/dist/EpSpinner-FS5o8YG9.js +4 -0
  42. package/dist/EpSummativeTable-ByMD9LrS.js +4 -0
  43. package/dist/EpSvg-DNGYQ1Pd.js +4 -0
  44. package/dist/EpTable-Bq2_17qt.js +4 -0
  45. package/dist/EpTerm-CubK5Of7.js +4 -0
  46. package/dist/EpText-2tBQKmQ-.js +4 -0
  47. package/dist/EpTimeLine-DPxKR6hE.js +4 -0
  48. package/dist/EpVideo-BdWZutia.js +4 -0
  49. package/dist/EpVideoPanopto-BZ4JWjbT.js +4 -0
  50. package/dist/EpWordDef-BhzmB00q.js +4 -0
  51. package/dist/ep-lib-ts.js +11 -11
  52. package/dist/ep-lib-ts.umd.cjs +51 -51
  53. package/dist/{index-DNwUz3uD.js → index-BIMaadN6.js} +204 -407
  54. package/dist/{index-CWNyTRsL.js → index-BZaMooWT.js} +4513 -4234
  55. package/dist/index.d.ts +1 -42
  56. package/dist/{prism-DENTMpmV.js → prism-Bh7wZVTO.js} +1 -1
  57. package/dist/style.css +1 -1
  58. package/package.json +2 -2
  59. package/src/components/basics/EpCard.vue +1 -1
  60. package/src/components/basics/EpImg.vue +8 -8
  61. package/src/components/basics/EpTable.vue +3 -3
  62. package/src/components/charts/EpBarChart.vue +24 -16
  63. package/src/components/charts/EpFunnelChart.vue +98 -91
  64. package/src/components/charts/EpLineChart.vue +18 -13
  65. package/src/components/charts/EpPieChart.vue +17 -2
  66. package/src/components/educationals/EpEdu.vue +2 -2
  67. package/src/components/educationals/EpReading.vue +7 -7
  68. package/src/components/interactions/EpAccordeon.vue +1 -1
  69. package/src/components/interactions/EpContentSlider.vue +4 -4
  70. package/src/components/interactions/EpDarkmode.vue +6 -3
  71. package/src/components/interactions/EpSummativeTable.vue +2 -2
  72. package/src/components/medias/EpCarousel.vue +2 -2
  73. package/src/components/medias/EpLink.vue +1 -2
  74. package/src/components/medias/EpSoftware.vue +2 -2
  75. package/src/components/medias/EpWordDef.vue +6 -6
  76. package/src/components/signages/EpHeader.vue +2 -2
  77. package/src/components/signages/EpQuote.vue +2 -2
  78. package/dist/BgAudio-D0bYt2vk.js +0 -4
  79. package/dist/DisplayBox-B_BDtSRL.js +0 -4
  80. package/dist/EpAlert-DLdxfnbh.js +0 -4
  81. package/dist/EpAudio-CIh7P96j.js +0 -4
  82. package/dist/EpBadge-RSrPtork.js +0 -4
  83. package/dist/EpBarChart-BYviso9y.js +0 -4
  84. package/dist/EpBtn-CI08Fkc-.js +0 -4
  85. package/dist/EpCard-BmYWCNC6.js +0 -4
  86. package/dist/EpChip-DYxrBk_j.js +0 -4
  87. package/dist/EpContentSlider-3W5NRtqY.js +0 -4
  88. package/dist/EpDarkmode-CVX7I7Oh.js +0 -22
  89. package/dist/EpDivider-C8eu7oo-.js +0 -4
  90. package/dist/EpEdu-D3s7wgId.js +0 -4
  91. package/dist/EpFlex-D3slIMIF.js +0 -4
  92. package/dist/EpFunnelChart-Bd6DcHXv.js +0 -4
  93. package/dist/EpHeader-LmfheLve.js +0 -4
  94. package/dist/EpIcon-CTPp2iAz.js +0 -4
  95. package/dist/EpIframe-Bu6Shp40.js +0 -4
  96. package/dist/EpImg-PgXn_5PG.js +0 -4
  97. package/dist/EpLineChart-CuvzboxC.js +0 -4
  98. package/dist/EpLink-t90xMdUk.js +0 -4
  99. package/dist/EpLinkVersion-DcLaAKcb.js +0 -4
  100. package/dist/EpModal-DTKzIbiU.js +0 -4
  101. package/dist/EpPieChart-CDbVXeA9.js +0 -4
  102. package/dist/EpQuestion-zXilF4UO.js +0 -4
  103. package/dist/EpQuote-BRWz5Gax.js +0 -4
  104. package/dist/EpRadio-C4i-6XLB.js +0 -4
  105. package/dist/EpRadioSummative-DcZ_SSed.js +0 -4
  106. package/dist/EpReading-CE2gINrm.js +0 -4
  107. package/dist/EpResource-Co7Y4NBv.js +0 -4
  108. package/dist/EpScope-BgReTGM3.js +0 -4
  109. package/dist/EpSection-DAc7gApp.js +0 -4
  110. package/dist/EpSkeleton-DTrfxnMN.js +0 -4
  111. package/dist/EpSoftware-BRheqKDl.js +0 -4
  112. package/dist/EpSpinner-Bs6k4L2I.js +0 -4
  113. package/dist/EpSummativeTable-R-a__jzb.js +0 -4
  114. package/dist/EpSvg-8H1LG5x_.js +0 -4
  115. package/dist/EpTable-CcPpxyTI.js +0 -4
  116. package/dist/EpTerm-CHal6ICj.js +0 -4
  117. package/dist/EpText-Div60TMB.js +0 -4
  118. package/dist/EpTimeLine-CcUqFqgj.js +0 -4
  119. package/dist/EpVideo-Bk2ovJyj.js +0 -4
  120. package/dist/EpVideoPanopto-gQgwEvaf.js +0 -4
  121. package/dist/EpWordDef-D81-AGFK.js +0 -4
package/dist/index.d.ts CHANGED
@@ -42,45 +42,4 @@ import { default as EpHeader } from './components/signages/EpHeader.vue';
42
42
  import { default as EpQuote } from './components/signages/EpQuote.vue';
43
43
  import { default as EpSkeleton } from './components/signages/EpSkeleton.vue';
44
44
 
45
- export { EpBadge, //done
46
- EpBtn, //done
47
- EpCard, //done
48
- EpChip, //done
49
- EpDivider, //-------don't need
50
- EpFlex, //-------don't need
51
- EpIcon, //-------don't need
52
- EpImg, //-------don't need
53
- EpSection, //-------don't need
54
- EpSpinner, //-------don't need
55
- EpTable, //done
56
- EpBarChart, //done
57
- EpLineChart, //done
58
- EpPieChart, //done
59
- EpFunnelChart, EpText, // done
60
- EpEdu, // done
61
- EpReading, // not finish
62
- EpResource, //-------don't need?
63
- EpScope, //done
64
- EpAccordeon, //done
65
- EpContentSlider, //done
66
- EpModal, //done
67
- EpQuestion, //done -- need to confirm
68
- EpTabs, //done
69
- EpAudio, //done
70
- EpCarousel, //-------- don't need
71
- EpIframe, // done
72
- EpKatex, // done
73
- EpLink, // ---------don't need
74
- EpLinkVersion, // done
75
- EpSoftware, // done
76
- EpSvg, // done
77
- EpTerm, // done
78
- EpTimeLine, // done
79
- EpVideo, // done
80
- EpVideoPanopto, // done
81
- EpAlert, // done
82
- EpHeader, //-------- don't need
83
- EpQuote, // done
84
- EpSkeleton, // done
85
- EpWordDef, // done
86
- EpSummativeTable };
45
+ export { EpBadge, EpBtn, EpCard, EpChip, EpDivider, EpFlex, EpIcon, EpImg, EpSection, EpSpinner, EpTable, EpBarChart, EpLineChart, EpPieChart, EpFunnelChart, EpText, EpEdu, EpReading, EpResource, EpScope, EpAccordeon, EpContentSlider, EpModal, EpQuestion, EpTabs, EpAudio, EpCarousel, EpIframe, EpKatex, EpLink, EpLinkVersion, EpSoftware, EpSvg, EpTerm, EpTimeLine, EpVideo, EpVideoPanopto, EpAlert, EpHeader, EpQuote, EpSkeleton, EpWordDef, EpSummativeTable };
@@ -1,4 +1,4 @@
1
- import { g as V, c as W } from "./EpCodeblock-DX7H-PE3.js";
1
+ import { g as V, c as W } from "./EpCodeblock-C4BqtKtL.js";
2
2
  function ee(S, P) {
3
3
  for (var i = 0; i < P.length; i++) {
4
4
  const g = P[i];
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .content[data-v-2e3db938]{max-height:0;overflow:hidden}.modal-mask{position:fixed;z-index:9998;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;transition:opacity .3s ease}.modal-container{margin:auto;max-height:95%;transition:all .3s ease;z-index:9999}.modal-header h3{margin-top:0;color:#42b983}.modal-body{margin:20px 0}.modal-default-button{float:right}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal-container,.modal-leave-to .modal-container{transform:scale(1.1)}.custom_index{z-index:9999;position:absolute;right:12rem}.h-custom{height:30rem}.p-custom p{margin-bottom:1em}.v-enter-active[data-v-f93a239b],.v-leave-active[data-v-f93a239b]{transition:opacity .5s ease}.v-enter-from[data-v-f93a239b],.v-leave-to[data-v-f93a239b]{opacity:0}.katex[data-v-f9e5d352]{font-size:1.6em}.content[data-v-fba69535]{max-height:0;overflow:hidden}.list-enter-active,.list-leave-active{transition:all .5s ease}.list-enter-from,.list-leave-to{opacity:0;transform:translate(30px)}.shape{height:var(--3e2ed539);width:var(--7e73c118)}.arrow-light-top:before{content:" ";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:rgba(0,0,0,.2) transparent transparent transparent}.arrow-dark-top:before{content:" ";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:black transparent transparent transparent}.arrow-light-bottom:before{content:"";position:absolute;display:inline-block;left:50%;bottom:100%;border-right:7px solid transparent;border-bottom:7px solid #eee;border-left:7px solid transparent;border-bottom-color:#0003}.arrow-dark-bottom:before{content:"";position:absolute;display:inline-block;left:50%;bottom:100%;border-right:7px solid transparent;border-bottom:7px solid black;border-left:7px solid transparent;border-bottom-color:black transparent transparent transparent}.arrow-light-left:before{position:absolute;display:inline-block;left:100%;top:50%;content:"";margin-right:0;border-top:5px solid transparent;border-left:5px solid #eee;border-bottom:5px solid transparent;border-left-color:#0003}.arrow-dark-left:before{position:absolute;display:inline-block;left:100%;top:50%;content:"";margin-right:0;border-top:5px solid transparent;border-left:5px solid black;border-bottom:5px solid transparent;border-left-color:black transparent transparent transparent}.arrow-light-right:before{position:absolute;display:inline-block;right:100%;top:50%;content:"";margin-right:0;border-top:5px solid transparent;border-right:5px solid #eee;border-bottom:5px solid transparent;border-right-color:#0003}.arrow-dark-right:before{position:absolute;display:inline-block;right:100%;top:50%;content:"";margin-right:0;border-top:5px solid transparent;border-right:5px solid black;border-bottom:5px solid transparent;border-right-color:black transparent transparent transparent}
1
+ .content[data-v-fd7a0787]{max-height:0;overflow:hidden}.modal-mask{position:fixed;z-index:9998;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;transition:opacity .3s ease}.modal-container{margin:auto;max-height:95%;transition:all .3s ease;z-index:9999}.modal-header h3{margin-top:0;color:#42b983}.modal-body{margin:20px 0}.modal-default-button{float:right}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal-container,.modal-leave-to .modal-container{transform:scale(1.1)}.custom_index{z-index:9999;position:absolute;right:12rem}.h-custom{height:30rem}.p-custom p{margin-bottom:1em}.v-enter-active[data-v-b3568685],.v-leave-active[data-v-b3568685]{transition:opacity .5s ease}.v-enter-from[data-v-b3568685],.v-leave-to[data-v-b3568685]{opacity:0}.katex[data-v-f9e5d352]{font-size:1.6em}.content[data-v-fba69535]{max-height:0;overflow:hidden}.list-enter-active,.list-leave-active{transition:all .5s ease}.list-enter-from,.list-leave-to{opacity:0;transform:translate(30px)}.shape{height:var(--3e2ed539);width:var(--7e73c118)}.arrow-light-top:before{content:" ";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:rgba(0,0,0,.2) transparent transparent transparent}.arrow-dark-top:before{content:" ";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:black transparent transparent transparent}.arrow-light-bottom:before{content:"";position:absolute;display:inline-block;left:50%;bottom:100%;border-right:7px solid transparent;border-bottom:7px solid #eee;border-left:7px solid transparent;border-bottom-color:#0003}.arrow-dark-bottom:before{content:"";position:absolute;display:inline-block;left:50%;bottom:100%;border-right:7px solid transparent;border-bottom:7px solid black;border-left:7px solid transparent;border-bottom-color:black transparent transparent transparent}.arrow-light-left:before{position:absolute;display:inline-block;left:100%;top:50%;content:"";margin-right:0;border-top:5px solid transparent;border-left:5px solid #eee;border-bottom:5px solid transparent;border-left-color:#0003}.arrow-dark-left:before{position:absolute;display:inline-block;left:100%;top:50%;content:"";margin-right:0;border-top:5px solid transparent;border-left:5px solid black;border-bottom:5px solid transparent;border-left-color:black transparent transparent transparent}.arrow-light-right:before{position:absolute;display:inline-block;right:100%;top:50%;content:"";margin-right:0;border-top:5px solid transparent;border-right:5px solid #eee;border-bottom:5px solid transparent;border-right-color:#0003}.arrow-dark-right:before{position:absolute;display:inline-block;right:100%;top:50%;content:"";margin-right:0;border-top:5px solid transparent;border-right:5px solid black;border-bottom:5px solid transparent;border-right-color:black transparent transparent transparent}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ep-lib-ts",
3
3
  "private": false,
4
- "version": "1.0.6",
4
+ "version": "1.0.7",
5
5
  "files": [
6
6
  "dist",
7
7
  "src/components/"
@@ -51,7 +51,7 @@
51
51
  "typescript": "^5.4.5",
52
52
  "vite": "^5.2.10",
53
53
  "vite-plugin-dts": "^3.9.0",
54
- "vue-tsc": "^2.0.19"
54
+ "vue-tsc": "^2.0.21"
55
55
  },
56
56
  "peerDependencies": {
57
57
  "vue": "^3.2.45"
@@ -72,7 +72,7 @@ const stylesCard = computed(()=> {
72
72
  ${bgColor.value}
73
73
  ${props.maxWidth}
74
74
  rounded-md
75
- dark:bg-base-dark
75
+ dark:bg-dark
76
76
  datk:text-white
77
77
  my-4 `
78
78
  })
@@ -98,7 +98,7 @@ const { src, alt, title, caption, thumbnail, bib, sizeThumbnail } = toRefs(props
98
98
  <template>
99
99
  <div :class="thumbnail?'inline-block':''">
100
100
  <div v-if="!thumbnail" class="flex m-2">
101
- <div :class="`mx-auto bg-white rounded-md overflow-hidden shadow-md ${renderCols}`">
101
+ <div :class="`mx-auto bg-white dark:bg-dark rounded-md overflow-hidden shadow-md ${renderCols}`">
102
102
  <template v-if="isLoading">
103
103
  <span class="text-gray-200"><EpIcon :icon-path="mdiImage" size="250"></EpIcon></span>
104
104
  </template>
@@ -108,9 +108,9 @@ const { src, alt, title, caption, thumbnail, bib, sizeThumbnail } = toRefs(props
108
108
  <template v-else>
109
109
  <img class="object-cover object-center w-full" :src="src" :alt="alt" @click="toggleModal">
110
110
  </template>
111
- <div class="px-4 py-2" v-if="title || caption || bib">
112
- <h2 class="text-2xl font-bold">{{ title }}</h2>
113
- <p class="text-gray-500 text-sm mt-4">{{ caption }}</p>
111
+ <div class="px-4 py-2 dark:border-l dark:border-b dark:border-r dark:border-white dark:rounded-b-md " v-if="title || caption || bib">
112
+ <h2 class="text-2xl dark:text-white font-bold">{{ title }}</h2>
113
+ <p class="text-gray-500 dark:text-white text-sm mt-4">{{ caption }}</p>
114
114
  <div class="text-right"><EpBtn @click="toggleBib" size="small">{{labels.reference}}</EpBtn></div>
115
115
  </div>
116
116
  </div>
@@ -128,15 +128,15 @@ const { src, alt, title, caption, thumbnail, bib, sizeThumbnail } = toRefs(props
128
128
  <EpModal v-model="showModal">
129
129
  <img class="object-cover object-center h-5/6 w-5/6 mx-auto" :src="src" :alt="alt" @click="toggleModal"/>
130
130
  <div class="px-4 py-2" v-if="thumbnail">
131
- <h2 class="text-2xl font-bold">{{ title }}</h2>
132
- <p class="text-gray-500 text-sm mt-4">{{ caption }}</p>
133
- <div class="text-gray-700 mt-4" v-html="renderBib"></div>
131
+ <h2 class="text-2xl dark:text-white font-bold">{{ title }}</h2>
132
+ <p class="text-gray-500 dark:text-white text-sm mt-4">{{ caption }}</p>
133
+ <div class="text-gray-700 dark:text-white mt-4" v-html="renderBib"></div>
134
134
  </div>
135
135
  <!-- <div class="flex justify-end"><EpBtn @click="toggleModal" size="small" type="error" outlined>Fermer</EpBtn></div> -->
136
136
  </EpModal>
137
137
  <EpModal v-model="showBib" :title="labels.referenceLibrary">
138
138
 
139
- <div class="text-gray-700 mt-4" v-html="renderBib"></div>
139
+ <div class="text-gray-700 dark:text-white mt-4" v-html="renderBib"></div>
140
140
  <div class="flex justify-end"><EpBtn @click="toggleBib" size="small" type="error" outlined>{{labels.fermer}}</EpBtn></div>
141
141
  </EpModal>
142
142
  </div>
@@ -17,13 +17,13 @@ const styleTh ="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase
17
17
  </script>
18
18
  <template>
19
19
  <EpCard flat :title="title">
20
- <table class="min-w-full divide-y shadow dark:bg-base-dark">
21
- <thead class="bg-gray-50 dark:bg-base-dark" v-if="headers">
20
+ <table class="min-w-full divide-y shadow dark:bg-dark">
21
+ <thead class="bg-gray-50 dark:bg-dark" v-if="headers">
22
22
  <tr>
23
23
  <th v-for="(title, i) in headers" :key="`th-${i}`" scope="col" :class="styleTh">{{title}}</th>
24
24
  </tr>
25
25
  </thead>
26
- <tbody class="bg-white divide-y dark:bg-base-dark">
26
+ <tbody class="bg-white divide-y dark:bg-dark">
27
27
  <tr v-for="(tr, i) in arrayContent" :key="`tr-${i}`" class="hover:bg-gray-50 dark:hover:bg-black">
28
28
  <td v-for="(value, j) in tr" :key="`td-${i}-${j}`" class="px-6 py-4">{{value}}</td>
29
29
  </tr>
@@ -6,6 +6,7 @@ import { mdiChartBar } from "@mdi/js";
6
6
  import { type MediaVariants } from "../../types/Medias";
7
7
  import { isHtml } from "../../composables/isHtml";
8
8
  import { useMarkdown } from "../../composables/useMarkdown";
9
+ import { useColorMode } from '@vueuse/core'
9
10
 
10
11
  interface Serie {
11
12
  name: string;
@@ -16,8 +17,8 @@ interface Options {
16
17
  xaxis: {
17
18
  categories: (number | string)[];
18
19
  convertedCatToNumeric?: boolean;
19
- }
20
- colors?:string[];
20
+ }
21
+ colors?: string[];
21
22
  }
22
23
 
23
24
  interface Props {
@@ -30,21 +31,21 @@ interface Props {
30
31
  hideIcon?: boolean;
31
32
  type?: MediaVariants;
32
33
  mandateLevel?: string | null;
33
- source?:string;
34
- width?:string;
35
- labels?:{
36
- dataNoDisponible?:string;
34
+ source?: string;
35
+ width?: string;
36
+ labels?: {
37
+ dataNoDisponible?: string;
37
38
  }
38
39
  }
39
40
 
40
41
  const props = withDefaults(defineProps<Props>(), {
41
42
  center: true,
42
- width:"500",
43
- labels:()=>{
44
- return {
45
- dataNoDisponible:"Data no disponible"
46
- }
43
+ width: "500",
44
+ labels: () => {
45
+ return {
46
+ dataNoDisponible: "Data no disponible"
47
47
  }
48
+ }
48
49
  });
49
50
 
50
51
  const renderText = computed(() => {
@@ -57,9 +58,17 @@ const renderText = computed(() => {
57
58
  return props.intentions;
58
59
  });
59
60
 
61
+ const mode = useColorMode()
62
+
60
63
  const globalOptions = computed(() => {
61
64
  return {
62
65
  ...props.options,
66
+ theme: {
67
+ mode: mode.value
68
+ },
69
+ chart: {
70
+ background: 'transparent'
71
+ },
63
72
  dataLabels: {
64
73
  enabled: false
65
74
  }
@@ -72,6 +81,7 @@ const { center, series, source, width } = toRefs(props)
72
81
 
73
82
  <template>
74
83
  <EpEdu :title="title" :type="type" :hideIcon="hideIcon" :icon="mdiChartBar" :mandateLevel="mandateLevel">
84
+
75
85
  <template #intentions v-if="renderText">
76
86
  <div v-html="renderText"></div>
77
87
  </template>
@@ -80,13 +90,11 @@ const { center, series, source, width } = toRefs(props)
80
90
  <apexchart :width="width" type="bar" :options="globalOptions" :series="series"></apexchart>
81
91
  </div>
82
92
  <div v-else>
83
- <p>{{labels.dataNoDisponible}}</p>
93
+ <p>{{ labels.dataNoDisponible }}</p>
84
94
  </div>
85
95
  </template>
86
96
  <template #actions v-if="source">
87
- <p>{{source}}</p>
88
- </template>
97
+ <p>{{ source }}</p>
98
+ </template>
89
99
  </EpEdu>
90
100
  </template>
91
-
92
-
@@ -5,101 +5,110 @@ import { mdiTriangle } from '@mdi/js';
5
5
  import { type MediaVariants } from "../../types/Medias";
6
6
  import { isHtml } from "../../composables/isHtml";
7
7
  import { useMarkdown } from "../../composables/useMarkdown";
8
-
9
- interface OptionsFormmater{
10
- dataPointIndex:number;
11
- w:{globals:{
12
- labels:string[]
13
- }}
8
+ import { useColorMode } from '@vueuse/core'
9
+ interface OptionsFormmater {
10
+ dataPointIndex: number;
11
+ w: {
12
+ globals: {
13
+ labels: string[]
14
+ }
15
+ }
14
16
  }
15
17
 
16
18
  interface seriesFunnel {
17
- name: string,
18
- data: number[]
19
+ name: string,
20
+ data: number[]
19
21
  }
20
22
 
21
23
  interface Props {
22
- series: seriesFunnel[];
23
- labels: string[];
24
- //options: OptionsFunnelChart;
25
- id?: string;
26
- title?:string;
27
- center?: boolean;
28
- intentions?: string;
29
- hideIcon?: boolean;
30
- type?: MediaVariants;
31
- mandateLevel?: string | null;
32
- source?: string;
33
- width?: string;
34
- height?: number;
35
- isFunnel?:boolean;
36
- colors?:string[];
24
+ series: seriesFunnel[];
25
+ labels: string[];
26
+ //options: OptionsFunnelChart;
27
+ id?: string;
28
+ title?: string;
29
+ center?: boolean;
30
+ intentions?: string;
31
+ hideIcon?: boolean;
32
+ type?: MediaVariants;
33
+ mandateLevel?: string | null;
34
+ source?: string;
35
+ width?: string;
36
+ height?: number;
37
+ isFunnel?: boolean;
38
+ colors?: string[];
37
39
  }
38
40
 
39
41
  const props = withDefaults(defineProps<Props>(), {
40
- center: true,
41
- type: 'base',
42
- width: "800",
43
- height: 350,
44
- isFunnel:true,
45
- colors:()=>[
46
- '#283243',
47
- '#3b4f6d',
48
- '#465e87',
49
- '#5072a5',
50
- '#648bb9',
51
- '#6e9ac3',
52
- '#8ab3d0',
53
- '#b0cee0',]
42
+ center: true,
43
+ type: 'base',
44
+ width: "800",
45
+ height: 350,
46
+ isFunnel: true,
47
+ colors: () => [
48
+ '#283243',
49
+ '#3b4f6d',
50
+ '#465e87',
51
+ '#5072a5',
52
+ '#648bb9',
53
+ '#6e9ac3',
54
+ '#8ab3d0',
55
+ '#b0cee0',]
54
56
  });
55
57
 
56
58
 
57
59
  const renderText = computed(() => {
58
- if (!props.intentions) {
59
- return null;
60
- }
61
- if (!isHtml(props.intentions)) {
62
- return useMarkdown(props.intentions);
63
- }
64
- return props.intentions;
60
+ if (!props.intentions) {
61
+ return null;
62
+ }
63
+ if (!isHtml(props.intentions)) {
64
+ return useMarkdown(props.intentions);
65
+ }
66
+ return props.intentions;
65
67
  });
66
68
 
67
- const optionsFunnel = computed(()=> {
68
- return {
69
- chart: {
70
- type: 'bar',
71
- height: props.height,
69
+ const mode = useColorMode()
70
+
71
+
72
+ const optionsFunnel = computed(() => {
73
+ return {
74
+ chart: {
75
+ type: 'bar',
76
+ background: 'transparent',
77
+ height: props.height,
78
+ },
79
+ plotOptions: {
80
+ bar: {
81
+ borderRadius: 0,
82
+ horizontal: true,
83
+ distributed: true,
84
+ barHeight: '80%',
85
+ isFunnel: props.isFunnel,
72
86
  },
73
- plotOptions: {
74
- bar: {
75
- borderRadius: 0,
76
- horizontal: true,
77
- distributed: true,
78
- barHeight: '80%',
79
- isFunnel: props.isFunnel,
80
- },
87
+ },
88
+ theme: {
89
+ mode: mode.value
90
+ },
91
+ colors: props.colors,
92
+ dataLabels: {
93
+ enabled: true,
94
+ formatter: function (val: string, opt: OptionsFormmater) {
95
+ let label = ''
96
+ if (opt.w.globals.labels[opt.dataPointIndex]) {
97
+ label = opt.w.globals.labels[opt.dataPointIndex] + ' '
98
+ }
99
+ return label + val
81
100
  },
82
- colors: props.colors,
83
- dataLabels: {
101
+ dropShadow: {
84
102
  enabled: true,
85
- formatter: function (val:string, opt:OptionsFormmater) {
86
- let label = ''
87
- if(opt.w.globals.labels[opt.dataPointIndex]){
88
- label = opt.w.globals.labels[opt.dataPointIndex] + ' '
89
- }
90
- return label + val
91
- },
92
- dropShadow: {
93
- enabled: true,
94
- },
95
- },
96
- xaxis: {
97
- categories: props.labels
98
103
  },
99
- legend: {
100
- show: false,
101
- },
102
- }
104
+ },
105
+ xaxis: {
106
+ categories: props.labels
107
+ },
108
+ legend: {
109
+ show: false,
110
+ },
111
+ }
103
112
  })
104
113
 
105
114
 
@@ -110,20 +119,18 @@ const { center, series, source, labels, width } = toRefs(props)
110
119
 
111
120
  <template>
112
121
 
113
- <EpEdu :title="title" :type="type" :hideIcon="hideIcon" :icon="mdiTriangle"
114
- :mandateLevel="mandateLevel">
115
- <template #intentions v-if="renderText">
122
+ <EpEdu :title="title" :type="type" :hideIcon="hideIcon" :icon="mdiTriangle" :mandateLevel="mandateLevel">
123
+ <template #intentions v-if="renderText">
116
124
 
117
- <div v-html="renderText"></div>
118
- </template>
119
- <template #content>
120
- <div :class="`p-4 ${center ? 'flex justify-center' : ''}`" v-if="labels && series">
121
- <apexchart type="bar" :width="width" :height="height" :options="optionsFunnel"
122
- :series="series"></apexchart>
123
- </div>
124
- </template>
125
- <template #actions v-if="source">
126
- <p>{{ source }}</p>
127
- </template>
128
- </EpEdu>
125
+ <div v-html="renderText"></div>
126
+ </template>
127
+ <template #content>
128
+ <div :class="`p-4 ${center ? 'flex justify-center' : ''}`" v-if="labels && series">
129
+ <apexchart type="bar" :width="width" :height="height" :options="optionsFunnel" :series="series"></apexchart>
130
+ </div>
131
+ </template>
132
+ <template #actions v-if="source">
133
+ <p>{{ source }}</p>
134
+ </template>
135
+ </EpEdu>
129
136
  </template>
@@ -5,6 +5,7 @@ import { mdiChartLine } from "@mdi/js";
5
5
  import { type MediaVariants } from "../../types/Medias";
6
6
  import { isHtml } from "../../composables/isHtml";
7
7
  import { useMarkdown } from "../../composables/useMarkdown";
8
+ import { useColorMode } from '@vueuse/core'
8
9
 
9
10
  interface Serie {
10
11
  name: string;
@@ -16,7 +17,7 @@ interface Options {
16
17
  categories: (number | string)[];
17
18
  convertedCatToNumeric?: boolean;
18
19
  },
19
- colors?:string[]
20
+ colors?: string[]
20
21
  }
21
22
 
22
23
  interface Props {
@@ -30,20 +31,20 @@ interface Props {
30
31
  type?: MediaVariants;
31
32
  mandateLevel?: string | null;
32
33
  source?: string;
33
- width?:string;
34
- labels?:{
35
- dataNoDisponible?:string;
34
+ width?: string;
35
+ labels?: {
36
+ dataNoDisponible?: string;
36
37
  }
37
38
  }
38
39
 
39
40
  const props = withDefaults(defineProps<Props>(), {
40
41
  center: true,
41
- width:"500",
42
- labels:()=>{
42
+ width: "500",
43
+ labels: () => {
43
44
  return {
44
- dataNoDisponible:"Data no disponible"
45
- }
45
+ dataNoDisponible: "Data no disponible"
46
46
  }
47
+ }
47
48
  });
48
49
 
49
50
  const renderText = computed(() => {
@@ -56,9 +57,15 @@ const renderText = computed(() => {
56
57
  return props.intentions;
57
58
  });
58
59
 
60
+
61
+ const mode = useColorMode()
62
+
59
63
  const globalOptions = computed(() => {
60
64
  return {
61
65
  ...props.options,
66
+ theme: {
67
+ mode: mode.value
68
+ },
62
69
  dataLabels: {
63
70
  enabled: false
64
71
  },
@@ -66,7 +73,7 @@ const globalOptions = computed(() => {
66
73
  curve: "straight"
67
74
  },
68
75
  chart: {
69
- width: 550,
76
+ background: 'transparent',
70
77
  type: "line",
71
78
  zoom: {
72
79
  enabled: false,
@@ -75,7 +82,7 @@ const globalOptions = computed(() => {
75
82
  }
76
83
  })
77
84
 
78
- const { center, series, source, width} = toRefs(props)
85
+ const { center, series, source, width } = toRefs(props)
79
86
 
80
87
  </script>
81
88
 
@@ -89,7 +96,7 @@ const { center, series, source, width} = toRefs(props)
89
96
  <apexchart :width="width" type="line" :options="globalOptions" :series="series"></apexchart>
90
97
  </div>
91
98
  <div v-else>
92
- <p>{{labels.dataNoDisponible}}</p>
99
+ <p>{{ labels.dataNoDisponible }}</p>
93
100
  </div>
94
101
  </template>
95
102
  <template #actions v-if="source">
@@ -97,5 +104,3 @@ const { center, series, source, width} = toRefs(props)
97
104
  </template>
98
105
  </EpEdu>
99
106
  </template>
100
-
101
-
@@ -5,6 +5,7 @@ import { mdiChartPie } from '@mdi/js';
5
5
  import { type MediaVariants } from "../../types/Medias";
6
6
  import { isHtml } from "../../composables/isHtml";
7
7
  import { useMarkdown } from "../../composables/useMarkdown";
8
+ import { useColorMode } from '@vueuse/core'
8
9
 
9
10
  interface TitlePie {
10
11
  text: string;
@@ -62,9 +63,23 @@ const renderText = computed(() => {
62
63
  return props.intentions;
63
64
  });
64
65
 
66
+ const mode = useColorMode()
67
+
68
+ const globalOptions = computed(() => {
69
+ return {
70
+ ...props.options,
71
+ theme: {
72
+ mode: mode.value
73
+ },
74
+ chart: {
75
+ background: 'transparent'
76
+ },
77
+ }
78
+ })
79
+
65
80
 
66
81
 
67
- const { center, series, source, options, width } = toRefs(props)
82
+ const { center, series, source, width } = toRefs(props)
68
83
 
69
84
  </script>
70
85
 
@@ -77,7 +92,7 @@ const { center, series, source, options, width } = toRefs(props)
77
92
  </template>
78
93
  <template #content>
79
94
  <div :class="`p-4 ${center ? 'flex justify-center' : ''}`" v-if="options && series">
80
- <apexchart :width="width" type="pie" :options="options" :series="series"></apexchart>
95
+ <apexchart :width="width" type="pie" :options="globalOptions" :series="series"></apexchart>
81
96
  </div>
82
97
  <div v-else>
83
98
  <p>{{labels.dataNoDisponible}}</p>
@@ -89,10 +89,10 @@ const { title, hideIcon } = toRefs(props);
89
89
  <h3><EpIcon v-if="!hideIcon" :iconPath="renderIcon" size="24"></EpIcon> <span class="font-bold align-middle">{{ title }}</span></h3>
90
90
  <EpScope v-if="mandateLevel" :title="renderMandateLevel"></EpScope>
91
91
  </div>
92
- <div class="px-5 dark:base-dark">
92
+ <div class="px-5 dark:base-dark dark:text-white">
93
93
  <div class="py-2" v-if="hasIntentions">
94
94
  <!-- <EpIcon :size="24" :icon-path="mdiInformationOutline"></EpIcon> -->
95
- <h4 class="font-semibold mb-2 text-sm uppercase tracking-wide text-gray-500">
95
+ <h4 class="font-semibold mb-2 text-sm uppercase tracking-wide text-gray-500 dark:text-white">
96
96
  {{labels.intentions}}
97
97
  </h4>
98
98
  <slot name="intentions"></slot>