ep-lib-ts 1.0.1 → 1.0.4
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.
- package/dist/BgAudio-C9b05zDe.js +4 -0
- package/dist/DisplayBox-DwV5vdf4.js +4 -0
- package/dist/EpAlert-DEERqegj.js +4 -0
- package/dist/EpAudio-D1Pergv3.js +4 -0
- package/dist/EpBadge-CXG9CCs-.js +4 -0
- package/dist/EpBarChart-DqcfpObW.js +4 -0
- package/dist/EpBtn-CjpUqmnk.js +4 -0
- package/dist/EpCard-D2Yuf56Q.js +4 -0
- package/dist/EpChip-1BDl9148.js +4 -0
- package/dist/{EpCodeblock-DVX2XFFj.js → EpCodeblock-DX7H-PE3.js} +2 -2
- package/dist/EpContentSlider-G24sedKV.js +4 -0
- package/dist/EpDarkmode-CVX7I7Oh.js +22 -0
- package/dist/EpDivider-By54laP-.js +4 -0
- package/dist/EpEdu-D_vwhqgL.js +4 -0
- package/dist/EpFlex-C8FUteog.js +4 -0
- package/dist/EpFunnelChart-vUi3II3g.js +4 -0
- package/dist/EpHeader-IOUvF-no.js +4 -0
- package/dist/EpHotsPot-DFz_Du9o.js +59 -0
- package/dist/{EpHover-BL7JsbVZ.js → EpHover-D3o7-8F6.js} +1 -1
- package/dist/EpIcon-C5N1EmKo.js +4 -0
- package/dist/EpIframe-DlYnZzA2.js +4 -0
- package/dist/EpImg-DBdJTFxB.js +4 -0
- package/dist/{EpInput-DMIxjwBM.js → EpInput-DtqEfGYC.js} +429 -438
- package/dist/EpLineChart-DHRVciuH.js +4 -0
- package/dist/EpLink-BA65sB5T.js +4 -0
- package/dist/EpLinkVersion-DJWO90l3.js +4 -0
- package/dist/{EpList-BkH08ROd.js → EpList-gjrvWauh.js} +1 -1
- package/dist/EpModal-Bkn0UYrU.js +4 -0
- package/dist/{EpNothing-IEAPsIPI.js → EpNothing-Di7BP_gj.js} +1 -1
- package/dist/EpPieChart-ep1v3gNm.js +4 -0
- package/dist/EpQuestion-BIz290OE.js +4 -0
- package/dist/EpQuote-C7vFc3nU.js +4 -0
- package/dist/EpRadio-DZTarnBT.js +4 -0
- package/dist/EpRadioSummative-CorOWGOQ.js +4 -0
- package/dist/EpReading-DMtuDG_x.js +4 -0
- package/dist/EpResource-BYf45kWh.js +4 -0
- package/dist/EpScope-Ba2Q1Ff_.js +4 -0
- package/dist/EpSection-DscmvV47.js +4 -0
- package/dist/EpSelect-DRPIgo_k.js +43 -0
- package/dist/EpSkeleton-CI5AEDN9.js +4 -0
- package/dist/EpSoftware-DqR9_72s.js +4 -0
- package/dist/EpSpinner-BYYDdBAv.js +4 -0
- package/dist/EpSummativeTable-DYj6fOso.js +4 -0
- package/dist/EpSvg-qV8Jv7hA.js +4 -0
- package/dist/EpTable-CIXtqslP.js +4 -0
- package/dist/EpTerm-zVklM1Ty.js +4 -0
- package/dist/EpText-DlG9XQYl.js +4 -0
- package/dist/EpTextarea-D8UCQuga.js +44 -0
- package/dist/EpTimeLine-8okBy26f.js +4 -0
- package/dist/{EpToggle-CfXYpI1b.js → EpToggle-BDp54LpY.js} +26 -23
- package/dist/EpVideo-CMhul8b_.js +4 -0
- package/dist/EpVideoPanopto-CB7xf6qs.js +4 -0
- package/dist/EpWordDef-Ctx-w2Ll.js +4 -0
- package/dist/components/basics/EpAvatar.vue.d.ts +4 -4
- package/dist/components/basics/EpBadge.vue.d.ts +16 -4
- package/dist/components/basics/EpBtn.vue.d.ts +4 -11
- package/dist/components/basics/EpCard.vue.d.ts +4 -4
- package/dist/components/basics/EpChip.vue.d.ts +4 -4
- package/dist/components/basics/EpDivider.vue.d.ts +4 -4
- package/dist/components/basics/EpFlex.vue.d.ts +1 -1
- package/dist/components/basics/EpHover.vue.d.ts +4 -4
- package/dist/components/basics/EpIcon.vue.d.ts +4 -4
- package/dist/components/basics/EpImg.vue.d.ts +24 -4
- package/dist/components/basics/EpList.vue.d.ts +1 -1
- package/dist/components/basics/EpListitem.vue.d.ts +4 -4
- package/dist/components/basics/EpSection.vue.d.ts +4 -4
- package/dist/components/basics/EpSpinner.vue.d.ts +4 -4
- package/dist/components/basics/EpTable.vue.d.ts +3 -3
- package/dist/components/basics/EpText.vue.d.ts +16 -4
- package/dist/components/charts/EpBarChart.vue.d.ts +16 -4
- package/dist/components/charts/EpFunnelChart.vue.d.ts +62 -0
- package/dist/components/charts/EpLineChart.vue.d.ts +16 -4
- package/dist/components/charts/EpPieChart.vue.d.ts +16 -4
- package/dist/components/educationals/EpCodeblock.vue.d.ts +5 -5
- package/dist/components/educationals/EpEdu.vue.d.ts +17 -5
- package/dist/components/educationals/EpReading.vue.d.ts +49 -17
- package/dist/components/educationals/EpResource.vue.d.ts +5 -5
- package/dist/components/educationals/EpScope.vue.d.ts +4 -4
- package/dist/components/forms/EpCheckbox.vue.d.ts +5 -5
- package/dist/components/forms/EpInput.vue.d.ts +5 -5
- package/dist/components/forms/EpRadio.vue.d.ts +5 -5
- package/dist/components/forms/EpRadioSummative.vue.d.ts +5 -5
- package/dist/components/forms/EpSelect.vue.d.ts +36 -4
- package/dist/components/forms/EpSwitch.vue.d.ts +5 -5
- package/dist/components/forms/EpTextarea.vue.d.ts +17 -5
- package/dist/components/forms/EpToggle.vue.d.ts +17 -5
- package/dist/components/interactions/EpAccordeon.vue.d.ts +16 -8
- package/dist/components/interactions/EpContentSlider.vue.d.ts +22 -3
- package/dist/components/interactions/EpDarkmode.vue.d.ts +6 -2
- package/dist/components/interactions/EpHotsPot.vue.d.ts +18 -3
- package/dist/components/interactions/EpModal.vue.d.ts +5 -5
- package/dist/components/interactions/EpQuestion.vue.d.ts +25 -5
- package/dist/components/interactions/EpSummativeTable.vue.d.ts +3 -3
- package/dist/components/interactions/EpTabs.vue.d.ts +1 -1
- package/dist/components/interactions/EpTooltip.vue.d.ts +4 -4
- package/dist/components/medias/EpAudio.vue.d.ts +21 -13
- package/dist/components/medias/EpCarousel.vue.d.ts +6 -6
- package/dist/components/medias/EpIframe.vue.d.ts +5 -4
- package/dist/components/medias/EpKatex.vue.d.ts +4 -4
- package/dist/components/medias/EpLink.vue.d.ts +5 -5
- package/dist/components/medias/EpLinkVersion.vue.d.ts +16 -4
- package/dist/components/medias/EpSoftware.vue.d.ts +17 -5
- package/dist/components/medias/EpSvg.vue.d.ts +5 -5
- package/dist/components/medias/EpTerm.vue.d.ts +32 -8
- package/dist/components/medias/EpTimeLine.vue.d.ts +3 -3
- package/dist/components/medias/EpVideo.vue.d.ts +17 -9
- package/dist/components/medias/EpVideoPanopto.vue.d.ts +5 -5
- package/dist/components/medias/EpWordDef.vue.d.ts +38 -3
- package/dist/components/signages/EpAlert.vue.d.ts +4 -4
- package/dist/components/signages/EpBadge.vue.d.ts +5 -5
- package/dist/components/signages/EpHeader.vue.d.ts +21 -5
- package/dist/components/signages/EpNothing.vue.d.ts +1 -1
- package/dist/components/signages/EpQuote.vue.d.ts +4 -4
- package/dist/components/signages/EpSkeleton.vue.d.ts +4 -4
- package/dist/components/tools/BgAudio.vue.d.ts +4 -4
- package/dist/components/tools/DisplayBox.vue.d.ts +1 -1
- package/dist/components/tools/SvgFilter.vue.d.ts +1 -1
- package/dist/components/tools/TimelineItem.vue.d.ts +4 -4
- package/dist/ep-lib-ts.js +18 -17
- package/dist/ep-lib-ts.umd.cjs +55 -48
- package/dist/{index-Dl6z_ITi.js → index-BPsMiFm1.js} +3985 -3789
- package/dist/{index-M54_P8uC.js → index-DNwUz3uD.js} +2 -2
- package/dist/index.d.ts +84 -42
- package/dist/{prism-B0q7vMaL.js → prism-DENTMpmV.js} +1 -1
- package/dist/style.css +1 -1
- package/dist/types/Btn.d.ts +8 -0
- package/package.json +2 -2
- package/src/components/basics/EpAvatar.vue +1 -1
- package/src/components/basics/EpBadge.vue +11 -2
- package/src/components/basics/EpBtn.vue +3 -15
- package/src/components/basics/EpCard.vue +21 -11
- package/src/components/basics/EpChip.vue +1 -2
- package/src/components/basics/EpImg.vue +18 -6
- package/src/components/basics/EpSection.vue +1 -1
- package/src/components/basics/EpTable.vue +5 -5
- package/src/components/basics/EpText.vue +10 -2
- package/src/components/charts/EpBarChart.vue +11 -3
- package/src/components/charts/EpFunnelChart.vue +129 -0
- package/src/components/charts/EpLineChart.vue +11 -3
- package/src/components/charts/EpPieChart.vue +12 -4
- package/src/components/educationals/EpCodeblock.vue +1 -1
- package/src/components/educationals/EpEdu.vue +17 -10
- package/src/components/educationals/EpReading.vue +45 -27
- package/src/components/educationals/EpResource.vue +2 -2
- package/src/components/educationals/EpScope.vue +1 -1
- package/src/components/forms/EpRadio.vue +1 -1
- package/src/components/forms/EpRadioSummative.vue +1 -1
- package/src/components/forms/EpSelect.vue +24 -6
- package/src/components/forms/EpSwitch.vue +1 -1
- package/src/components/forms/EpTextarea.vue +9 -1
- package/src/components/forms/EpToggle.vue +9 -1
- package/src/components/interactions/EpAccordeon.vue +13 -7
- package/src/components/interactions/EpContentSlider.vue +17 -6
- package/src/components/interactions/EpDarkmode.vue +25 -14
- package/src/components/interactions/EpHotsPot.vue +11 -2
- package/src/components/interactions/EpQuestion.vue +17 -5
- package/src/components/interactions/EpSummativeTable.vue +1 -1
- package/src/components/interactions/EpTabs.vue +1 -1
- package/src/components/interactions/EpTooltip.vue +1 -1
- package/src/components/medias/EpAudio.vue +17 -11
- package/src/components/medias/EpCarousel.vue +2 -2
- package/src/components/medias/EpIframe.vue +6 -2
- package/src/components/medias/EpKatex.vue +1 -1
- package/src/components/medias/EpLink.vue +2 -2
- package/src/components/medias/EpLinkVersion.vue +11 -3
- package/src/components/medias/EpSoftware.vue +12 -4
- package/src/components/medias/EpSvg.vue +2 -2
- package/src/components/medias/EpTerm.vue +24 -11
- package/src/components/medias/EpTimeLine.vue +2 -2
- package/src/components/medias/EpVideo.vue +13 -7
- package/src/components/medias/EpVideoPanopto.vue +2 -3
- package/src/components/medias/EpWordDef.vue +33 -11
- package/src/components/signages/EpAlert.vue +1 -1
- package/src/components/signages/EpBadge.vue +1 -1
- package/src/components/signages/EpHeader.vue +13 -3
- package/src/components/signages/EpSkeleton.vue +2 -2
- package/src/components/tools/TimelineItem.vue +1 -1
- package/dist/BgAudio-C8bS54bl.js +0 -4
- package/dist/DisplayBox-BTPVW9_v.js +0 -4
- package/dist/EpAlert-Daji8LsR.js +0 -4
- package/dist/EpAudio-Dq7twl4x.js +0 -4
- package/dist/EpBadge-DBfMe1r_.js +0 -4
- package/dist/EpBarChart-cAlm0rKf.js +0 -4
- package/dist/EpBtn-S2VJnt--.js +0 -4
- package/dist/EpCard-SvaBmdDK.js +0 -4
- package/dist/EpChip-Chn_9bRP.js +0 -4
- package/dist/EpContentSlider-Ds2GlrkO.js +0 -4
- package/dist/EpDarkmode--_9Qi6HH.js +0 -19
- package/dist/EpDivider-Bj4Zya_F.js +0 -4
- package/dist/EpEdu-Y7Lkf3Ew.js +0 -4
- package/dist/EpFlex-5yWhvYX7.js +0 -4
- package/dist/EpHeader-CEQBk1ah.js +0 -4
- package/dist/EpHotsPot-NGjKJCc8.js +0 -56
- package/dist/EpIcon-CuhZ90Zx.js +0 -4
- package/dist/EpIframe-DbPnkezB.js +0 -4
- package/dist/EpImg-DJ9gNwhJ.js +0 -4
- package/dist/EpLineChart-ALvSFQ-w.js +0 -4
- package/dist/EpLink-CQSfQHRj.js +0 -4
- package/dist/EpLinkVersion-VIxCHjDt.js +0 -4
- package/dist/EpModal-CYy1Iu1T.js +0 -4
- package/dist/EpPieChart-Cpxylmzw.js +0 -4
- package/dist/EpQuestion-gFjB_YVU.js +0 -4
- package/dist/EpQuote-C2WMKC8z.js +0 -4
- package/dist/EpRadio-CZu2BYd-.js +0 -4
- package/dist/EpRadioSummative-POEEv1YI.js +0 -4
- package/dist/EpReading-6LKvPJl5.js +0 -4
- package/dist/EpResource-Bqu38I44.js +0 -4
- package/dist/EpScope-B04S9t4O.js +0 -4
- package/dist/EpSection-B9obOS7v.js +0 -4
- package/dist/EpSelect-DLGx5g-U.js +0 -31
- package/dist/EpSkeleton-rkvPpE2y.js +0 -4
- package/dist/EpSoftware-DmH-rUDN.js +0 -4
- package/dist/EpSpinner-7XiNy9LV.js +0 -4
- package/dist/EpSummativeTable-JWOA25gE.js +0 -4
- package/dist/EpSvg-Dfvodejy.js +0 -4
- package/dist/EpTable-C0lD6aED.js +0 -4
- package/dist/EpTerm-XGV0Zf2w.js +0 -4
- package/dist/EpText-DhHXfEHv.js +0 -4
- package/dist/EpTextarea-DyMM95ER.js +0 -41
- package/dist/EpTimeLine-CDL7liGh.js +0 -4
- package/dist/EpVideo-em0qb_rk.js +0 -4
- package/dist/EpVideoPanopto-DAMRV6HD.js +0 -4
- package/dist/EpWordDef-bLyQzqx8.js +0 -4
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { computed, toRefs } from "vue";
|
|
3
|
+
import EpEdu from "../educationals/EpEdu.vue";
|
|
4
|
+
import { mdiTriangle } from '@mdi/js';
|
|
5
|
+
import { type MediaVariants } from "../../types/Medias";
|
|
6
|
+
import { isHtml } from "../../composables/isHtml";
|
|
7
|
+
import { useMarkdown } from "../../composables/useMarkdown";
|
|
8
|
+
|
|
9
|
+
interface OptionsFormmater{
|
|
10
|
+
dataPointIndex:number;
|
|
11
|
+
w:{globals:{
|
|
12
|
+
labels:string[]
|
|
13
|
+
}}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
interface seriesFunnel {
|
|
17
|
+
name: string,
|
|
18
|
+
data: number[]
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
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[];
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
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',]
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
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;
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
const optionsFunnel = computed(()=> {
|
|
68
|
+
return {
|
|
69
|
+
chart: {
|
|
70
|
+
type: 'bar',
|
|
71
|
+
height: props.height,
|
|
72
|
+
},
|
|
73
|
+
plotOptions: {
|
|
74
|
+
bar: {
|
|
75
|
+
borderRadius: 0,
|
|
76
|
+
horizontal: true,
|
|
77
|
+
distributed: true,
|
|
78
|
+
barHeight: '80%',
|
|
79
|
+
isFunnel: props.isFunnel,
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
colors: props.colors,
|
|
83
|
+
dataLabels: {
|
|
84
|
+
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
|
+
},
|
|
99
|
+
legend: {
|
|
100
|
+
show: false,
|
|
101
|
+
},
|
|
102
|
+
}
|
|
103
|
+
})
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
const { center, series, source, labels, width } = toRefs(props)
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
</script>
|
|
110
|
+
|
|
111
|
+
<template>
|
|
112
|
+
|
|
113
|
+
<EpEdu :title="title" :type="type" :hideIcon="hideIcon" :icon="mdiTriangle"
|
|
114
|
+
:mandateLevel="mandateLevel">
|
|
115
|
+
<template #intentions v-if="renderText">
|
|
116
|
+
|
|
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>
|
|
129
|
+
</template>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { computed, toRefs } from "vue";
|
|
3
3
|
import EpEdu from "../educationals/EpEdu.vue";
|
|
4
4
|
import { mdiChartLine } from "@mdi/js";
|
|
5
|
-
import { MediaVariants } from "../../types/Medias";
|
|
5
|
+
import { type MediaVariants } from "../../types/Medias";
|
|
6
6
|
import { isHtml } from "../../composables/isHtml";
|
|
7
7
|
import { useMarkdown } from "../../composables/useMarkdown";
|
|
8
8
|
|
|
@@ -31,11 +31,19 @@ interface Props {
|
|
|
31
31
|
mandateLevel?: string | null;
|
|
32
32
|
source?: string;
|
|
33
33
|
width?:string;
|
|
34
|
+
labels?:{
|
|
35
|
+
dataNoDisponible?:string;
|
|
36
|
+
}
|
|
34
37
|
}
|
|
35
38
|
|
|
36
39
|
const props = withDefaults(defineProps<Props>(), {
|
|
37
40
|
center: true,
|
|
38
|
-
width:"500"
|
|
41
|
+
width:"500",
|
|
42
|
+
labels:()=>{
|
|
43
|
+
return {
|
|
44
|
+
dataNoDisponible:"Data no disponible"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
39
47
|
});
|
|
40
48
|
|
|
41
49
|
const renderText = computed(() => {
|
|
@@ -81,7 +89,7 @@ const { center, series, source, width} = toRefs(props)
|
|
|
81
89
|
<apexchart :width="width" type="line" :options="globalOptions" :series="series"></apexchart>
|
|
82
90
|
</div>
|
|
83
91
|
<div v-else>
|
|
84
|
-
<p>
|
|
92
|
+
<p>{{labels.dataNoDisponible}}</p>
|
|
85
93
|
</div>
|
|
86
94
|
</template>
|
|
87
95
|
<template #actions v-if="source">
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { computed, toRefs } from "vue";
|
|
3
3
|
import EpEdu from "../educationals/EpEdu.vue";
|
|
4
4
|
import { mdiChartPie } from '@mdi/js';
|
|
5
|
-
import { MediaVariants } from "../../types/Medias";
|
|
5
|
+
import { type MediaVariants } from "../../types/Medias";
|
|
6
6
|
import { isHtml } from "../../composables/isHtml";
|
|
7
7
|
import { useMarkdown } from "../../composables/useMarkdown";
|
|
8
8
|
|
|
@@ -33,13 +33,21 @@ interface Props {
|
|
|
33
33
|
type?: MediaVariants;
|
|
34
34
|
mandateLevel?: string | null;
|
|
35
35
|
source?: string;
|
|
36
|
-
width?:string
|
|
36
|
+
width?:string;
|
|
37
|
+
labels?:{
|
|
38
|
+
dataNoDisponible?:string;
|
|
39
|
+
}
|
|
37
40
|
}
|
|
38
41
|
|
|
39
42
|
const props = withDefaults(defineProps<Props>(), {
|
|
40
43
|
center: true,
|
|
41
44
|
type:'base',
|
|
42
|
-
width:"450"
|
|
45
|
+
width:"450",
|
|
46
|
+
labels:()=>{
|
|
47
|
+
return {
|
|
48
|
+
dataNoDisponible:"Data no disponible"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
43
51
|
});
|
|
44
52
|
|
|
45
53
|
|
|
@@ -70,7 +78,7 @@ const { center, series, source, options, width } = toRefs(props)
|
|
|
70
78
|
<apexchart :width="width" type="pie" :options="options" :series="series"></apexchart>
|
|
71
79
|
</div>
|
|
72
80
|
<div v-else>
|
|
73
|
-
<p>
|
|
81
|
+
<p>{{labels.dataNoDisponible}}</p>
|
|
74
82
|
</div>
|
|
75
83
|
</template>
|
|
76
84
|
<template #actions v-if="source">
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import VCodeBlock from '@wdns/vue-code-block';
|
|
3
3
|
import {defaultOption} from "../../types/Codeblock";
|
|
4
|
-
import Theme from "../../types/Codeblock";
|
|
4
|
+
import type Theme from "../../types/Codeblock";
|
|
5
5
|
import { computed} from "vue";
|
|
6
6
|
import { ref } from "vue";
|
|
7
7
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { toRefs, computed, useSlots } from "vue";
|
|
3
3
|
//types with capital letter, object styles in lowercase
|
|
4
|
-
import { MediaVariants, mediaVariants } from "../../types/Medias";
|
|
5
|
-
import { MandateLevel } from "../../types/MandateLevel";
|
|
4
|
+
import { type MediaVariants, mediaVariants } from "../../types/Medias";
|
|
5
|
+
import { type MandateLevel } from "../../types/MandateLevel";
|
|
6
6
|
import EpIcon from "../basics/EpIcon.vue";
|
|
7
7
|
import EpDivider from "../basics/EpDivider.vue";
|
|
8
8
|
import EpChip from "../basics/EpChip.vue";
|
|
@@ -19,7 +19,10 @@ interface Props {
|
|
|
19
19
|
type?: MediaVariants;
|
|
20
20
|
intentions?: string;
|
|
21
21
|
hideIcon?:boolean;
|
|
22
|
-
flat?:boolean
|
|
22
|
+
flat?:boolean;
|
|
23
|
+
labels?:{
|
|
24
|
+
intentions?:string;
|
|
25
|
+
}
|
|
23
26
|
}
|
|
24
27
|
|
|
25
28
|
const props = withDefaults(defineProps<Props>(), {
|
|
@@ -27,6 +30,11 @@ const props = withDefaults(defineProps<Props>(), {
|
|
|
27
30
|
type: "base",
|
|
28
31
|
hideIcon:false,
|
|
29
32
|
flat:false,
|
|
33
|
+
labels:()=>{
|
|
34
|
+
return {
|
|
35
|
+
intentions:"[Intentions]"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
30
38
|
});
|
|
31
39
|
|
|
32
40
|
//get slots
|
|
@@ -76,16 +84,16 @@ const { title, hideIcon } = toRefs(props);
|
|
|
76
84
|
|
|
77
85
|
<template>
|
|
78
86
|
<div :class="containerStyle">
|
|
79
|
-
<div :class="`${topBarStyle}`" v-if="title || mandateLevel">
|
|
87
|
+
<div :class="`${topBarStyle}`" class="dark:bg-gray-300" v-if="title || mandateLevel">
|
|
80
88
|
<!-- <EpIcon :size="24" :icon-path="mdiBookOpenVariant"></EpIcon> -->
|
|
81
89
|
<h3><EpIcon v-if="!hideIcon" :iconPath="renderIcon" size="24"></EpIcon> <span class="font-bold align-middle">{{ title }}</span></h3>
|
|
82
90
|
<EpScope v-if="mandateLevel" :title="renderMandateLevel"></EpScope>
|
|
83
91
|
</div>
|
|
84
|
-
<div class="px-5">
|
|
92
|
+
<div class="px-5 dark:bg-gray-300">
|
|
85
93
|
<div class="py-2" v-if="hasIntentions">
|
|
86
94
|
<!-- <EpIcon :size="24" :icon-path="mdiInformationOutline"></EpIcon> -->
|
|
87
95
|
<h4 class="font-semibold mb-2 text-sm uppercase tracking-wide text-gray-500">
|
|
88
|
-
|
|
96
|
+
{{labels.intentions}}
|
|
89
97
|
</h4>
|
|
90
98
|
<slot name="intentions"></slot>
|
|
91
99
|
<EpDivider/>
|
|
@@ -94,9 +102,8 @@ const { title, hideIcon } = toRefs(props);
|
|
|
94
102
|
<slot name="content"></slot>
|
|
95
103
|
</div>
|
|
96
104
|
</div>
|
|
97
|
-
<div :class="bottomBarStyle"
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
</div>
|
|
105
|
+
<div :class="bottomBarStyle" class="dark:bg-gray-300" v-if="hasActions">
|
|
106
|
+
<slot name="actions"></slot>
|
|
107
|
+
</div>
|
|
101
108
|
</div>
|
|
102
109
|
</template>
|
|
@@ -4,8 +4,8 @@ import EpIcon from "../basics/EpIcon.vue";
|
|
|
4
4
|
import EpBtn from "../basics/EpBtn.vue";
|
|
5
5
|
import DisplayBox from "../tools/DisplayBox.vue";
|
|
6
6
|
import EpEdu from "./EpEdu.vue";
|
|
7
|
-
import { MediaVariants } from "../../types/Medias";
|
|
8
|
-
import { MandateLevel } from '../../types/MandateLevel';
|
|
7
|
+
import { type MediaVariants } from "../../types/Medias";
|
|
8
|
+
import { type MandateLevel } from '../../types/MandateLevel';
|
|
9
9
|
import { useRenderText } from "../../composables/useRenderText";
|
|
10
10
|
import { mdiBookmarkBox } from "@mdi/js";
|
|
11
11
|
import { mdiBookOpenVariant } from "@mdi/js";
|
|
@@ -27,11 +27,19 @@ interface Props {
|
|
|
27
27
|
more?: boolean;
|
|
28
28
|
version_link?: null;
|
|
29
29
|
hideCover?: boolean;
|
|
30
|
-
labelcard?: string;
|
|
31
|
-
labelBtb?: string;
|
|
32
|
-
labelIntentions?: string;
|
|
33
30
|
type?:MediaVariants;
|
|
34
31
|
hideIcon?:boolean;
|
|
32
|
+
labels?:{
|
|
33
|
+
par?:string;
|
|
34
|
+
dans?:string;
|
|
35
|
+
lire?:string;
|
|
36
|
+
fermer?:string;
|
|
37
|
+
details?:string;
|
|
38
|
+
lecture?:string;
|
|
39
|
+
card?: string;
|
|
40
|
+
Btb?: string;
|
|
41
|
+
Intentions?: string;
|
|
42
|
+
}
|
|
35
43
|
}
|
|
36
44
|
|
|
37
45
|
// type, taxonomyLevel, courseCode, courseTitle, title, subtitle, height, src, color, synchrone
|
|
@@ -41,13 +49,23 @@ const props = withDefaults(defineProps<Props>(), {
|
|
|
41
49
|
cover: "",
|
|
42
50
|
icon: "mdiBookmarkBox",
|
|
43
51
|
hideCover: false,
|
|
44
|
-
labelcard: "lecture",
|
|
45
|
-
labelBtb: "lire",
|
|
46
|
-
labelIntentions: "Intentions de lecture",
|
|
47
52
|
intentions: "",
|
|
48
53
|
compact: false,
|
|
49
54
|
type:"base",
|
|
50
|
-
hideIcon:false
|
|
55
|
+
hideIcon:false,
|
|
56
|
+
labels:()=>{
|
|
57
|
+
return {
|
|
58
|
+
par:"par",
|
|
59
|
+
dans:"dans",
|
|
60
|
+
lire:"Lire",
|
|
61
|
+
fermer:"Fermer",
|
|
62
|
+
details:"détails",
|
|
63
|
+
lecture:"Lecture",
|
|
64
|
+
card: "lecture",
|
|
65
|
+
Btb: "lire",
|
|
66
|
+
intentions: "Intentions de lecture",
|
|
67
|
+
}
|
|
68
|
+
}
|
|
51
69
|
});
|
|
52
70
|
|
|
53
71
|
const old_image = "https://live.staticflickr.com/4868/45940268562_c5f7fdd06b_q.jpg";
|
|
@@ -72,7 +90,6 @@ const {
|
|
|
72
90
|
intentions,
|
|
73
91
|
cover,
|
|
74
92
|
hideCover,
|
|
75
|
-
labelcard,
|
|
76
93
|
year,
|
|
77
94
|
author,
|
|
78
95
|
container,
|
|
@@ -80,7 +97,8 @@ const {
|
|
|
80
97
|
pages,
|
|
81
98
|
type,
|
|
82
99
|
mandateLevel,
|
|
83
|
-
url
|
|
100
|
+
url,
|
|
101
|
+
labels,
|
|
84
102
|
} = toRefs(props);
|
|
85
103
|
|
|
86
104
|
const errorImg = (event:Event)=>{
|
|
@@ -92,7 +110,7 @@ const errorImg = (event:Event)=>{
|
|
|
92
110
|
</script>
|
|
93
111
|
|
|
94
112
|
<template>
|
|
95
|
-
<div class="flex rounded-lg overflow-hidden bg-white md:flex-row" v-if="!compact">
|
|
113
|
+
<div class="flex rounded-lg overflow-hidden bg-white md:flex-row " v-if="!compact">
|
|
96
114
|
<template v-if="!hideCover">
|
|
97
115
|
<div
|
|
98
116
|
v-if="hasCover"
|
|
@@ -103,13 +121,13 @@ const errorImg = (event:Event)=>{
|
|
|
103
121
|
|
|
104
122
|
<div
|
|
105
123
|
v-else
|
|
106
|
-
class="h-96 w-full rounded-t-lg md:h-auto md:w-56 md:rounded-none md:rounded-l-lg flex justify-center items-center text-gray-300"
|
|
124
|
+
class="h-96 w-full rounded-t-lg md:h-auto md:w-56 md:rounded-none md:rounded-l-lg flex justify-center items-center text-gray-300 dark:bg-gray- "
|
|
107
125
|
>
|
|
108
126
|
<EpIcon :icon-path="mdiBookOpenPageVariant" size="95"></EpIcon>
|
|
109
127
|
</div>
|
|
110
128
|
</template>
|
|
111
129
|
<div class="flex flex-col w-full">
|
|
112
|
-
<EpEdu :title="
|
|
130
|
+
<EpEdu :title="labels.card" :icon="mdiBookOpenVariant" flat :type="type" :hideIcon="hideIcon" :mandateLevel="mandateLevel">
|
|
113
131
|
<template #intentions v-if="useRenderText(intentions)">
|
|
114
132
|
<div v-html="useRenderText(intentions)"></div>
|
|
115
133
|
</template>
|
|
@@ -121,14 +139,14 @@ const errorImg = (event:Event)=>{
|
|
|
121
139
|
<div class="flex">
|
|
122
140
|
<div class="flex-1 py-2" v-if="hasDetails">
|
|
123
141
|
<p class="font-medium">
|
|
124
|
-
<span class="text-sm italic pr-1" v-if="author">par</span>
|
|
142
|
+
<span class="text-sm italic pr-1" v-if="author">{{labels.par}}</span>
|
|
125
143
|
<span class="font-bold mr-1" v-if="author">{{ author }}</span>
|
|
126
144
|
<span v-if="year">({{ year }})</span>
|
|
127
145
|
<span v-if="year && editor">, </span>
|
|
128
146
|
<span v-if="editor">{{ editor }}</span>
|
|
129
147
|
</p>
|
|
130
148
|
<p v-if="container">
|
|
131
|
-
<span class="text-sm italic pr-1">dans</span>
|
|
149
|
+
<span class="text-sm italic pr-1">{{labels.dans}}</span>
|
|
132
150
|
<span class="">{{ container }}</span>
|
|
133
151
|
</p>
|
|
134
152
|
</div>
|
|
@@ -143,13 +161,13 @@ const errorImg = (event:Event)=>{
|
|
|
143
161
|
</div>
|
|
144
162
|
</template>
|
|
145
163
|
<template #actions>
|
|
146
|
-
<EpBtn :color="type=='base'?'text-gray-700':'text-white'" :type="type" :href="url" v-if="url">
|
|
164
|
+
<EpBtn :color="type=='base'?'text-gray-700':'text-white'" :type="type" :href="url" v-if="url">{{labels.lire}}</EpBtn>
|
|
147
165
|
</template>
|
|
148
166
|
</EpEdu>
|
|
149
167
|
</div>
|
|
150
168
|
</div>
|
|
151
169
|
<!--compact mode-->
|
|
152
|
-
<EpEdu :title="
|
|
170
|
+
<EpEdu :title="labels.card" :icon="mdiBookOpenVariant" flat :type="type" :hideIcon="hideIcon" v-else>
|
|
153
171
|
<template #intentions v-if="useRenderText(intentions)">
|
|
154
172
|
<div v-html="useRenderText(intentions)"></div>
|
|
155
173
|
</template>
|
|
@@ -165,15 +183,15 @@ const errorImg = (event:Event)=>{
|
|
|
165
183
|
<div class="p-5">
|
|
166
184
|
<DisplayBox>
|
|
167
185
|
<template #default="{ open }">
|
|
168
|
-
<EpBtn text @click.stop="open">
|
|
186
|
+
<EpBtn text @click.stop="open"> {{labels.details}} </EpBtn>
|
|
169
187
|
</template>
|
|
170
188
|
<template #menu="{ close }">
|
|
171
189
|
<div class="w-[32rem]">
|
|
172
|
-
<div class="flex flex-col rounded-lg bg-white md:flex-row">
|
|
190
|
+
<div class="flex flex-col rounded-lg bg-white md:flex-row ">
|
|
173
191
|
<template v-if="!hideCover">
|
|
174
192
|
<img
|
|
175
193
|
v-if="hasCover"
|
|
176
|
-
class="object-cover h-96 w-full rounded-t-lg object-cover md:h-auto md:w-56 md:rounded-none md:rounded-l-lg"
|
|
194
|
+
class="object-cover h-96 w-full rounded-t-lg object-cover md:h-auto md:w-56 md:rounded-none md:rounded-l-lg "
|
|
177
195
|
:src="cover"
|
|
178
196
|
:alt="`image de la lecture ${title}`"
|
|
179
197
|
@error="errorImg"
|
|
@@ -186,9 +204,9 @@ const errorImg = (event:Event)=>{
|
|
|
186
204
|
</div>
|
|
187
205
|
</template>
|
|
188
206
|
<div class="flex flex-col justify-between w-full">
|
|
189
|
-
<div class="bg-neutral-100 text-left px-5 py-2">
|
|
207
|
+
<div class="bg-neutral-100 text-left px-5 py-2 dark:bg-neutral-300 ">
|
|
190
208
|
<EpIcon :size="24" :icon-path="mdiBookOpenVariant"></EpIcon>
|
|
191
|
-
<span class="pl-2 align-middle">
|
|
209
|
+
<span class="pl-2 align-middle">{{labels.lecture}}</span>
|
|
192
210
|
</div>
|
|
193
211
|
<div class="w-full px-5">
|
|
194
212
|
<h4
|
|
@@ -201,14 +219,14 @@ const errorImg = (event:Event)=>{
|
|
|
201
219
|
<div class="flex">
|
|
202
220
|
<div class="flex-1 py-2" v-if="hasDetails">
|
|
203
221
|
<p class="font-medium">
|
|
204
|
-
<span class="text-sm italic pr-1" v-if="author">par</span>
|
|
222
|
+
<span class="text-sm italic pr-1" v-if="author">{{labels.par}}</span>
|
|
205
223
|
<span class="font-bold mr-2" v-if="author">{{ author }}</span>
|
|
206
224
|
<span v-if="year"> ({{ year }})</span>
|
|
207
225
|
<span v-if="year && editor">, </span>
|
|
208
226
|
<span v-if="editor">{{ editor }}</span>
|
|
209
227
|
</p>
|
|
210
228
|
<p v-if="container">
|
|
211
|
-
<span class="text-sm italic pr-1">dans</span>
|
|
229
|
+
<span class="text-sm italic pr-1">{{labels.dans}}</span>
|
|
212
230
|
<span>{{ container }}</span>
|
|
213
231
|
</p>
|
|
214
232
|
</div>
|
|
@@ -224,7 +242,7 @@ const errorImg = (event:Event)=>{
|
|
|
224
242
|
</div>
|
|
225
243
|
</div>
|
|
226
244
|
<div class="bg-neutral-100 text-right pr-5">
|
|
227
|
-
<EpBtn text @click.stop="close">
|
|
245
|
+
<EpBtn text @click.stop="close"> {{labels.fermer}} </EpBtn>
|
|
228
246
|
</div>
|
|
229
247
|
</div>
|
|
230
248
|
</div>
|
|
@@ -235,7 +253,7 @@ const errorImg = (event:Event)=>{
|
|
|
235
253
|
|
|
236
254
|
<div class="border-l p-5">
|
|
237
255
|
<EpBtn text :href="url" v-if="url">
|
|
238
|
-
<EpIcon :size="20" :icon-path="mdiOpenInNew"></EpIcon>
|
|
256
|
+
<EpIcon :size="20" :icon-path="mdiOpenInNew"></EpIcon> {{labels.lire}}
|
|
239
257
|
</EpBtn>
|
|
240
258
|
</div>
|
|
241
259
|
</div>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { defineAsyncComponent, computed, toRefs } from 'vue';
|
|
3
|
-
import { MandateLevel } from '../../types/MandateLevel';
|
|
3
|
+
import { type MandateLevel } from '../../types/MandateLevel';
|
|
4
4
|
import { useComponent } from '../../composables/useComponent';
|
|
5
|
-
import { MediaVariants } from "../../types/Medias";
|
|
5
|
+
import { type MediaVariants } from "../../types/Medias";
|
|
6
6
|
interface Props {
|
|
7
7
|
pages?:string;
|
|
8
8
|
resource:any;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { ref, toRefs, computed } from "vue";
|
|
3
3
|
//types with capital letter, object styles in lowercase
|
|
4
4
|
import EpChip from "../basics/EpChip.vue";
|
|
5
|
-
import { ChipBgVariant } from "../../types/Chip";
|
|
5
|
+
import { type ChipBgVariant } from "../../types/Chip";
|
|
6
6
|
|
|
7
7
|
interface Props {
|
|
8
8
|
title?: string;
|
|
@@ -22,6 +22,14 @@ interface Props {
|
|
|
22
22
|
iconSize?: string;
|
|
23
23
|
disabled?: boolean;
|
|
24
24
|
readonly?: boolean;
|
|
25
|
+
labels?:{
|
|
26
|
+
option?:string;
|
|
27
|
+
vanderpoel?:string;
|
|
28
|
+
vanaert?:string;
|
|
29
|
+
pogacar?:string;
|
|
30
|
+
evenepoel?:string;
|
|
31
|
+
meilleur?:string;
|
|
32
|
+
}
|
|
25
33
|
}
|
|
26
34
|
|
|
27
35
|
const props = withDefaults(defineProps<Props>(), {
|
|
@@ -33,6 +41,16 @@ const props = withDefaults(defineProps<Props>(), {
|
|
|
33
41
|
iconPath: "",
|
|
34
42
|
iconSize: "",
|
|
35
43
|
disabled: false,
|
|
44
|
+
labels:()=>{
|
|
45
|
+
return {
|
|
46
|
+
option:"Choisissez une option",
|
|
47
|
+
vanderpoel:"Van Der Poel",
|
|
48
|
+
vanaert:"Van Aert",
|
|
49
|
+
pogacar:"Pogacar",
|
|
50
|
+
evenepoel:"Evenepoel",
|
|
51
|
+
meilleur:"Quel est le meilleur cycliste"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
36
54
|
});
|
|
37
55
|
|
|
38
56
|
|
|
@@ -72,11 +90,11 @@ const props = withDefaults(defineProps<Props>(), {
|
|
|
72
90
|
disabled:bg-neutral-200
|
|
73
91
|
focus:ring-0
|
|
74
92
|
">
|
|
75
|
-
<option value="option">
|
|
76
|
-
<option value="vanderpoel">
|
|
77
|
-
<option value="vanaert">
|
|
78
|
-
<option value="pogacar">
|
|
79
|
-
<option value="evenepoel">
|
|
93
|
+
<option value="option">{{labels.option}}</option>
|
|
94
|
+
<option value="vanderpoel">{{labels.vanderpoel}}</option>
|
|
95
|
+
<option value="vanaert">{{labels.vanaert}}</option>
|
|
96
|
+
<option value="pogacar">{{labels.pogacar}}</option>
|
|
97
|
+
<option value="evenepoel">{{labels.evenepoel}}</option>
|
|
80
98
|
</select>
|
|
81
99
|
<label class="before:content[' ']
|
|
82
100
|
after:content[' ']
|
|
@@ -138,7 +156,7 @@ const props = withDefaults(defineProps<Props>(), {
|
|
|
138
156
|
peer-disabled:after:border-transparent
|
|
139
157
|
peer-disabled:peer-placeholder-shown:text-blue-gray-500
|
|
140
158
|
">
|
|
141
|
-
|
|
159
|
+
{{labels.meilleur}}
|
|
142
160
|
</label>
|
|
143
161
|
<EpBadge :iconPath="mdiLockOutline" />
|
|
144
162
|
</div>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { toRefs,computed } from "vue";
|
|
3
3
|
import { defineEmits } from 'vue'
|
|
4
|
-
import { SwitchColorVariant
|
|
4
|
+
import { type SwitchColorVariant, ColorVariants} from "../../types/Switch";
|
|
5
5
|
|
|
6
6
|
interface Props {
|
|
7
7
|
id?: string;
|
|
@@ -24,6 +24,9 @@ interface Props {
|
|
|
24
24
|
iconSize?: string;
|
|
25
25
|
disabled?: boolean;
|
|
26
26
|
readonly?: boolean;
|
|
27
|
+
labels?:{
|
|
28
|
+
message?:string;
|
|
29
|
+
}
|
|
27
30
|
}
|
|
28
31
|
|
|
29
32
|
// text: mdiText
|
|
@@ -46,6 +49,11 @@ const props = withDefaults(defineProps<Props>(), {
|
|
|
46
49
|
iconSize: "",
|
|
47
50
|
disabled: false,
|
|
48
51
|
readonly: false,
|
|
52
|
+
labels:()=>{
|
|
53
|
+
return {
|
|
54
|
+
message:"Message"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
49
57
|
});
|
|
50
58
|
|
|
51
59
|
const emit = defineEmits<{
|
|
@@ -72,7 +80,7 @@ const {
|
|
|
72
80
|
placeholder=" "></textarea>
|
|
73
81
|
<label
|
|
74
82
|
class="before:content[' '] after:content[' '] pointer-events-none absolute left-0 -top-1.5 flex h-full w-full select-none text-[11px] font-normal leading-tight text-blue-400 transition-all before:pointer-events-none before:mt-[6.5px] before:mr-1 before:box-border before:block before:h-1.5 before:w-2.5 before:rounded-tl-md before:border-t before:border-l before:border-neutral-300 before:transition-all after:pointer-events-none after:mt-[6.5px] after:ml-1 after:box-border after:block after:h-1.5 after:w-2.5 after:flex-grow after:rounded-tr-md after:border-t after:border-r after:border-neutral-300 after:transition-all peer-placeholder-shown:text-sm peer-placeholder-shown:leading-[3.75] peer-placeholder-shown:text-blue-500 peer-placeholder-shown:before:border-transparent peer-placeholder-shown:after:border-transparent peer-focus:text-[11px] peer-focus:leading-tight peer-focus:text-blue-500 peer-focus:before:border-t-2 peer-focus:before:border-l-2 peer-focus:before:border-blue-500 peer-focus:after:border-t-2 peer-focus:after:border-r-2 peer-focus:after:border-blue-500 peer-disabled:text-transparent peer-disabled:before:border-transparent peer-disabled:after:border-transparent peer-disabled:peer-placeholder-shown:text-blue-500">
|
|
75
|
-
|
|
83
|
+
{{labels.message}}
|
|
76
84
|
</label>
|
|
77
85
|
</div>
|
|
78
86
|
</div>
|
|
@@ -10,6 +10,9 @@ interface Props {
|
|
|
10
10
|
disabled?: boolean;
|
|
11
11
|
readonly?: boolean;
|
|
12
12
|
checked?: boolean;
|
|
13
|
+
labels?:{
|
|
14
|
+
defaultSwitch?:string; //Default switch checkbox input
|
|
15
|
+
}
|
|
13
16
|
}
|
|
14
17
|
|
|
15
18
|
const props = withDefaults(defineProps<Props>(), {
|
|
@@ -21,6 +24,11 @@ const props = withDefaults(defineProps<Props>(), {
|
|
|
21
24
|
disabled: false,
|
|
22
25
|
readonly: false,
|
|
23
26
|
checked: false,
|
|
27
|
+
labels:()=>{
|
|
28
|
+
return {
|
|
29
|
+
defaultSwitch:"Default switch checkbox input"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
24
32
|
});
|
|
25
33
|
|
|
26
34
|
const emit = defineEmits<{
|
|
@@ -83,6 +91,6 @@ const {
|
|
|
83
91
|
|
|
84
92
|
dark:bg-neutral-600 dark:after:bg-neutral-400 dark:checked:bg-blue-600 dark:checked:after:bg-blue-600 dark:focus:before:shadow-[3px_-1px_0px_13px_rgba(255,255,255,0.4)] dark:checked:focus:before:shadow-[3px_-1px_0px_13px_#3b71ca] disabled:opacity-40 disabled:cursor-not-allowed"
|
|
85
93
|
role="switch" :disabled="disabled" />
|
|
86
|
-
<label class="inline-block pl-[0.15rem] hover:cursor-pointer" :for="id">
|
|
94
|
+
<label class="inline-block pl-[0.15rem] hover:cursor-pointer" :for="id">{{labels.defaultSwitch}}</label>
|
|
87
95
|
</div>
|
|
88
96
|
</template>
|