ep-lib-ts 0.1.30 → 0.1.33
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-03ab87a2.js +6 -0
- package/dist/DisplayBox-2a24a5ba.js +6 -0
- package/dist/EpAlert-174fcb58.js +6 -0
- package/dist/EpAudio-3273480f.js +6 -0
- package/dist/EpAvatar-b8e6cc02.js +50 -0
- package/dist/EpBadge-1001b3f1.js +6 -0
- package/dist/EpBadge-f5faab43.js +55 -0
- package/dist/EpBarChart-9f7bfb0a.js +6 -0
- package/dist/EpBtn-d2ee85de.js +6 -0
- package/dist/EpCard-eb83211e.js +6 -0
- package/dist/EpChip-916932cb.js +6 -0
- package/dist/EpContentSlider-0cf1508d.js +6 -0
- package/dist/EpDivider-e7cb7f8a.js +6 -0
- package/dist/EpEdu-5a7baed7.js +6 -0
- package/dist/EpFlex-5a98c073.js +6 -0
- package/dist/EpHeader-6434c484.js +6 -0
- package/dist/EpIcon-ee0a43f7.js +6 -0
- package/dist/EpIframe-22b07140.js +6 -0
- package/dist/EpImg-a6041dc8.js +6 -0
- package/dist/{EpInput-81ae2a5e.js → EpInput-84694089.js} +4 -3
- package/dist/EpLineChart-2575d63d.js +6 -0
- package/dist/EpLink-973bc022.js +6 -0
- package/dist/EpLinkVersion-24002433.js +6 -0
- package/dist/EpModal-c85f0d51.js +6 -0
- package/dist/EpNothing-97d18b42.js +11 -0
- package/dist/EpPieChart-0eb59e41.js +6 -0
- package/dist/EpQuestion-9a2344da.js +6 -0
- package/dist/EpQuote-aaa938d0.js +6 -0
- package/dist/EpRadio-57e34517.js +6 -0
- package/dist/EpReading-e17c098f.js +6 -0
- package/dist/EpResource-2adf0ce4.js +6 -0
- package/dist/EpScope-2eceb2e9.js +6 -0
- package/dist/EpSection-d658f245.js +6 -0
- package/dist/{EpSelect-0bc80667.js → EpSelect-c508997b.js} +4 -3
- package/dist/EpSkeleton-fccbc6be.js +6 -0
- package/dist/EpSoftware-32ca0529.js +6 -0
- package/dist/EpSpinner-d8682586.js +6 -0
- package/dist/EpSvg-7d74c2b2.js +6 -0
- package/dist/EpTable-e5bd6c19.js +6 -0
- package/dist/EpTerm-427f5b86.js +6 -0
- package/dist/EpText-f96b3863.js +6 -0
- package/dist/EpTimeLine-54cbf65e.js +6 -0
- package/dist/EpTooltip-05e1d8fe.js +99 -0
- package/dist/EpVideo-9a9ce1e1.js +6 -0
- package/dist/EpVideoPanopto-f42c01cc.js +6 -0
- package/dist/components/basics/EpAvatar.vue.d.ts +51 -0
- package/dist/components/basics/EpBadge.vue.d.ts +33 -34
- package/dist/components/basics/EpBtn.vue.d.ts +54 -94
- package/dist/components/basics/EpCard.vue.d.ts +51 -76
- package/dist/components/basics/EpChip.vue.d.ts +44 -59
- package/dist/components/basics/EpDivider.vue.d.ts +38 -44
- package/dist/components/basics/EpIcon.vue.d.ts +30 -33
- package/dist/components/basics/EpImg.vue.d.ts +40 -73
- package/dist/components/basics/EpSection.vue.d.ts +39 -73
- package/dist/components/basics/EpSpinner.vue.d.ts +34 -35
- package/dist/components/basics/EpTable.vue.d.ts +22 -22
- package/dist/components/basics/EpText.vue.d.ts +28 -31
- package/dist/components/charts/EpBarChart.vue.d.ts +35 -69
- package/dist/components/charts/EpLineChart.vue.d.ts +35 -69
- package/dist/components/charts/EpPieChart.vue.d.ts +37 -66
- package/dist/components/educationals/EpEdu.vue.d.ts +41 -66
- package/dist/components/educationals/EpReading.vue.d.ts +65 -140
- package/dist/components/educationals/EpResource.vue.d.ts +30 -32
- package/dist/components/educationals/EpScope.vue.d.ts +28 -19
- package/dist/components/forms/EpCheckbox.vue.d.ts +44 -60
- package/dist/components/forms/EpInput.vue.d.ts +51 -84
- package/dist/components/forms/EpRadio.vue.d.ts +46 -59
- package/dist/components/forms/EpSelect.vue.d.ts +47 -73
- package/dist/components/forms/EpSwitch.vue.d.ts +47 -68
- package/dist/components/forms/EpTextarea.vue.d.ts +50 -76
- package/dist/components/forms/EpToggle.vue.d.ts +47 -68
- package/dist/components/interactions/EpAccordeon.vue.d.ts +37 -42
- package/dist/components/interactions/EpContentSlider.vue.d.ts +20 -10
- package/dist/components/interactions/EpModal.vue.d.ts +47 -52
- package/dist/components/interactions/EpQuestion.vue.d.ts +45 -84
- package/dist/components/interactions/EpTooltip.vue.d.ts +48 -0
- package/dist/components/medias/EpAudio.vue.d.ts +41 -68
- package/dist/components/medias/EpCarousel.vue.d.ts +32 -35
- package/dist/components/medias/EpIframe.vue.d.ts +37 -54
- package/dist/components/medias/EpKatex.vue.d.ts +32 -49
- package/dist/components/medias/EpLink.vue.d.ts +41 -68
- package/dist/components/medias/EpLinkVersion.vue.d.ts +27 -27
- package/dist/components/medias/EpSoftware.vue.d.ts +47 -82
- package/dist/components/medias/EpSvg.vue.d.ts +31 -41
- package/dist/components/medias/EpTerm.vue.d.ts +41 -69
- package/dist/components/medias/EpTimeLine.vue.d.ts +22 -24
- package/dist/components/medias/EpVideo.vue.d.ts +38 -60
- package/dist/components/medias/EpVideoPanopto.vue.d.ts +38 -60
- package/dist/components/signages/EpAlert.vue.d.ts +36 -42
- package/dist/components/signages/EpBadge.vue.d.ts +56 -0
- package/dist/components/signages/EpHeader.vue.d.ts +53 -94
- package/dist/components/signages/EpQuote.vue.d.ts +31 -27
- package/dist/components/signages/EpSkeleton.vue.d.ts +40 -1
- package/dist/components/tools/BgAudio.vue.d.ts +26 -11
- package/dist/components/tools/TimelineItem.vue.d.ts +32 -33
- package/dist/ep-lib-ts.js +35 -33
- package/dist/ep-lib-ts.umd.cjs +31 -35
- package/dist/{index-78ac7d74.js → index-a7b2a6d7.js} +3544 -3532
- package/dist/index.d.ts +2 -1
- package/dist/style.css +1 -1
- package/dist/types/Avatar.d.ts +18 -0
- package/dist/types/Badge.d.ts +23 -0
- package/dist/types/Tooltip.d.ts +75 -0
- package/package.json +2 -2
- package/src/components/basics/EpAvatar.vue +72 -0
- package/src/components/basics/EpText.vue +1 -1
- package/src/components/educationals/EpEdu.vue +1 -0
- package/src/components/educationals/EpReading.vue +2 -2
- package/src/components/interactions/EpQuestion.vue +1 -1
- package/src/components/interactions/EpTooltip.vue +164 -0
- package/src/components/medias/EpCarousel.vue +21 -18
- package/src/components/signages/EpBadge.vue +82 -0
- package/src/components/signages/EpQuote.vue +53 -37
- package/src/components/signages/EpSkeleton.vue +36 -9
- package/src/components/tools/TimelineItem.vue +1 -1
- package/dist/BgAudio-820c0a39.js +0 -5
- package/dist/DisplayBox-05ba8755.js +0 -5
- package/dist/EpAlert-f32ad986.js +0 -5
- package/dist/EpAudio-80dbaf40.js +0 -5
- package/dist/EpBadge-cb67d4b1.js +0 -5
- package/dist/EpBarChart-710b4ff4.js +0 -5
- package/dist/EpBtn-5c939189.js +0 -5
- package/dist/EpCard-3c75fd57.js +0 -5
- package/dist/EpChip-75b64fd5.js +0 -5
- package/dist/EpContentSlider-5f4ed454.js +0 -5
- package/dist/EpDivider-05f71886.js +0 -5
- package/dist/EpEdu-b7e92524.js +0 -5
- package/dist/EpFlex-f7103829.js +0 -5
- package/dist/EpHeader-564a55a0.js +0 -5
- package/dist/EpIcon-5c184634.js +0 -5
- package/dist/EpIframe-e47cdf06.js +0 -5
- package/dist/EpImg-4ac885e3.js +0 -5
- package/dist/EpLineChart-468b3ed7.js +0 -5
- package/dist/EpLink-9f599e06.js +0 -5
- package/dist/EpLinkVersion-9a5026a6.js +0 -5
- package/dist/EpModal-8208c45a.js +0 -5
- package/dist/EpNothing-2c04e40e.js +0 -10
- package/dist/EpPieChart-0b7f0752.js +0 -5
- package/dist/EpQuestion-f5c0082f.js +0 -5
- package/dist/EpQuote-c51e2778.js +0 -5
- package/dist/EpRadio-edd52b6b.js +0 -5
- package/dist/EpReading-19d5e14b.js +0 -5
- package/dist/EpResource-d05a5a4a.js +0 -5
- package/dist/EpScope-e4c2d014.js +0 -5
- package/dist/EpSection-97392b3b.js +0 -5
- package/dist/EpSkeleton-9542d360.js +0 -10
- package/dist/EpSoftware-3c6dce6e.js +0 -5
- package/dist/EpSpinner-d47f52b4.js +0 -5
- package/dist/EpSvg-c08f08c7.js +0 -5
- package/dist/EpTable-15f79011.js +0 -5
- package/dist/EpTerm-892a5db3.js +0 -5
- package/dist/EpText-466d34a5.js +0 -5
- package/dist/EpTimeLine-7c0f2078.js +0 -5
- package/dist/EpVideo-ddedb1ac.js +0 -5
- package/dist/EpVideoPanopto-2d7bdf5f.js +0 -5
package/dist/index.d.ts
CHANGED
|
@@ -37,4 +37,5 @@ import EpVideoPanopto from './components/medias/EpVideoPanopto.vue';
|
|
|
37
37
|
import EpAlert from './components/signages/EpAlert.vue';
|
|
38
38
|
import EpHeader from './components/signages/EpHeader.vue';
|
|
39
39
|
import EpQuote from './components/signages/EpQuote.vue';
|
|
40
|
-
|
|
40
|
+
import EpSkeleton from './components/signages/EpSkeleton.vue';
|
|
41
|
+
export { EpBadge, EpBtn, EpCard, EpChip, EpDivider, EpFlex, EpIcon, EpImg, EpSection, EpSpinner, EpTable, EpBarChart, EpLineChart, EpPieChart, 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 };
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.content[data-v-ab122c9c]{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-
|
|
1
|
+
.content[data-v-ab122c9c]{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-63d168f1],.v-leave-active[data-v-63d168f1]{transition:opacity .5s ease}.v-enter-from[data-v-63d168f1],.v-leave-to[data-v-63d168f1]{opacity:0}.katex[data-v-24ff8b28]{font-size:1.3em}.content[data-v-89d118fb]{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(--5ad0279f);width:var(--6f1de84e)}.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}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const typeAvatar: {
|
|
2
|
+
circle: {
|
|
3
|
+
small: string;
|
|
4
|
+
middle: string;
|
|
5
|
+
big: string;
|
|
6
|
+
};
|
|
7
|
+
square: {
|
|
8
|
+
small: string;
|
|
9
|
+
middle: string;
|
|
10
|
+
big: string;
|
|
11
|
+
};
|
|
12
|
+
rounded: {
|
|
13
|
+
small: string;
|
|
14
|
+
middle: string;
|
|
15
|
+
big: string;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export type TypeAvatar = keyof typeof typeAvatar;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const typeBadge: {
|
|
2
|
+
top_left: {
|
|
3
|
+
default: string;
|
|
4
|
+
dot: string;
|
|
5
|
+
hide: string;
|
|
6
|
+
};
|
|
7
|
+
top_right: {
|
|
8
|
+
default: string;
|
|
9
|
+
dot: string;
|
|
10
|
+
hide: string;
|
|
11
|
+
};
|
|
12
|
+
bottom_left: {
|
|
13
|
+
default: string;
|
|
14
|
+
dot: string;
|
|
15
|
+
hide: string;
|
|
16
|
+
};
|
|
17
|
+
bottom_right: {
|
|
18
|
+
default: string;
|
|
19
|
+
dot: string;
|
|
20
|
+
hide: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
export type TypeBadge = keyof typeof typeBadge;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
export declare const typeTooltip: {
|
|
2
|
+
top: {
|
|
3
|
+
default: string;
|
|
4
|
+
dark: string;
|
|
5
|
+
arrow: string;
|
|
6
|
+
arrowdark: string;
|
|
7
|
+
};
|
|
8
|
+
top_start: {
|
|
9
|
+
default: string;
|
|
10
|
+
dark: string;
|
|
11
|
+
arrow: string;
|
|
12
|
+
arrowdark: string;
|
|
13
|
+
};
|
|
14
|
+
top_end: {
|
|
15
|
+
default: string;
|
|
16
|
+
dark: string;
|
|
17
|
+
arrow: string;
|
|
18
|
+
arrowdark: string;
|
|
19
|
+
};
|
|
20
|
+
bottom: {
|
|
21
|
+
default: string;
|
|
22
|
+
dark: string;
|
|
23
|
+
arrow: string;
|
|
24
|
+
arrowdark: string;
|
|
25
|
+
};
|
|
26
|
+
bottom_start: {
|
|
27
|
+
default: string;
|
|
28
|
+
dark: string;
|
|
29
|
+
arrow: string;
|
|
30
|
+
arrowdark: string;
|
|
31
|
+
};
|
|
32
|
+
bottom_end: {
|
|
33
|
+
default: string;
|
|
34
|
+
dark: string;
|
|
35
|
+
arrow: string;
|
|
36
|
+
arrowdark: string;
|
|
37
|
+
};
|
|
38
|
+
left: {
|
|
39
|
+
default: string;
|
|
40
|
+
dark: string;
|
|
41
|
+
arrow: string;
|
|
42
|
+
arrowdark: string;
|
|
43
|
+
};
|
|
44
|
+
left_start: {
|
|
45
|
+
default: string;
|
|
46
|
+
dark: string;
|
|
47
|
+
arrow: string;
|
|
48
|
+
arrowdark: string;
|
|
49
|
+
};
|
|
50
|
+
left_end: {
|
|
51
|
+
default: string;
|
|
52
|
+
dark: string;
|
|
53
|
+
arrow: string;
|
|
54
|
+
arrowdark: string;
|
|
55
|
+
};
|
|
56
|
+
right: {
|
|
57
|
+
default: string;
|
|
58
|
+
dark: string;
|
|
59
|
+
arrow: string;
|
|
60
|
+
arrowdark: string;
|
|
61
|
+
};
|
|
62
|
+
right_start: {
|
|
63
|
+
default: string;
|
|
64
|
+
dark: string;
|
|
65
|
+
arrow: string;
|
|
66
|
+
arrowdark: string;
|
|
67
|
+
};
|
|
68
|
+
right_end: {
|
|
69
|
+
default: string;
|
|
70
|
+
dark: string;
|
|
71
|
+
arrow: string;
|
|
72
|
+
arrowdark: string;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
export type TypeTooltip = keyof typeof typeTooltip;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ep-lib-ts",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.33",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
7
7
|
"src/components/"
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"typescript": "^5.2.0-dev.20230801",
|
|
51
51
|
"vite": "^4.1.0",
|
|
52
52
|
"vite-plugin-dts": "^3.5.2",
|
|
53
|
-
"vue-tsc": "^1.8.
|
|
53
|
+
"vue-tsc": "^1.8.22"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
56
|
"vue": "^3.2.45"
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
|
|
2
|
+
<script setup lang="ts">
|
|
3
|
+
|
|
4
|
+
import { toRefs, computed } from "vue";
|
|
5
|
+
import { TypeAvatar, typeAvatar } from "../../types/Avatar"; //"../../types/Avatar";
|
|
6
|
+
|
|
7
|
+
type Color = "primary"|"secondary"|"accent"|"error"|"warning"|"success"|"info"|"question"|"tip";
|
|
8
|
+
type Variant = "circle"|"square"|"rounded";
|
|
9
|
+
type Size = "small"|"middle"|"big";
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
interface Props {
|
|
13
|
+
src?:string;
|
|
14
|
+
alt?:string;
|
|
15
|
+
color?:Color;
|
|
16
|
+
size?:Size;
|
|
17
|
+
variant?:Variant;
|
|
18
|
+
name?:string
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// define parameter and default valule
|
|
22
|
+
const props = withDefaults(defineProps<Props>(), {
|
|
23
|
+
src:"",
|
|
24
|
+
alt:"",
|
|
25
|
+
color:"primary",
|
|
26
|
+
size:"small",
|
|
27
|
+
variant:"circle" ,
|
|
28
|
+
name:""
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
const style = computed(()=>{
|
|
33
|
+
return props.variant
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
const size = computed(()=>{
|
|
37
|
+
return props.size
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
const final_style = computed(()=>{
|
|
41
|
+
return `${typeAvatar[style.value]?.[size.value]}`
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
const bgcolor = computed(()=>{
|
|
46
|
+
return " bg-"+ props.color
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
const final_name = computed(()=>{
|
|
50
|
+
if (props.name.length>2){
|
|
51
|
+
return props.name.slice(0,2)
|
|
52
|
+
}
|
|
53
|
+
else{
|
|
54
|
+
return props.name
|
|
55
|
+
}
|
|
56
|
+
})
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
</script>
|
|
60
|
+
<template>
|
|
61
|
+
<div >
|
|
62
|
+
<div v-if="props.src != ''">
|
|
63
|
+
<img :src=props.src :alt=props.alt :class="`${final_style} `" >
|
|
64
|
+
</div>
|
|
65
|
+
<div v-else-if="props.src == ''">
|
|
66
|
+
<div :class="`${final_style} ${bgcolor} justify-center font-bold text-white flex items-center` " >
|
|
67
|
+
{{final_name}}
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
</template>
|
|
72
|
+
|
|
@@ -78,7 +78,7 @@ const renderText = computed(() => {
|
|
|
78
78
|
//const idsRelation = foundedRelations.map((x) => x.id);
|
|
79
79
|
const termsRelation = foundedRelations.map((x) => x.term);
|
|
80
80
|
const variation = term.variation;
|
|
81
|
-
const hasImge = term.
|
|
81
|
+
const hasImge = term.img ? term.img : "";
|
|
82
82
|
const replaceWord = `<div style="display:inline"><EpTerm term="${term.term}" word="${render_word}" variations="${variation}" graminfo="${term.graminfo}" src="${hasImge}" domain="${term.domain}" relations="${termsRelation}"> ${term.definition}</EpTerm> </div>`;
|
|
83
83
|
//replace output string
|
|
84
84
|
newStr = newStr.replace(word, replaceWord);
|
|
@@ -194,14 +194,14 @@ const {
|
|
|
194
194
|
<div class="flex-1 py-2" v-if="hasDetails">
|
|
195
195
|
<p class="font-medium">
|
|
196
196
|
<span class="text-sm italic pr-1" v-if="author">par</span>
|
|
197
|
-
<span class="font-bold" v-if="author">{{ author }}</span>
|
|
197
|
+
<span class="font-bold mr-2" v-if="author">{{ author }}</span>
|
|
198
198
|
<span v-if="year">({{ year }})</span>
|
|
199
199
|
<span v-if="year && editor">, </span>
|
|
200
200
|
<span v-if="editor">{{ editor }}</span>
|
|
201
201
|
</p>
|
|
202
202
|
<p v-if="container">
|
|
203
203
|
<span class="text-sm italic pr-1">dans</span>
|
|
204
|
-
<span
|
|
204
|
+
<span>{{ container }}</span>
|
|
205
205
|
</p>
|
|
206
206
|
</div>
|
|
207
207
|
<div
|
|
@@ -137,7 +137,7 @@ const { title, intentions, hideIcon, question, src } = toRefs(props);
|
|
|
137
137
|
/>
|
|
138
138
|
|
|
139
139
|
<div class="mb-6">
|
|
140
|
-
<ol>
|
|
140
|
+
<ol class="list-none">
|
|
141
141
|
<li v-for="(answer, i) in answers" :key="answer.uid">
|
|
142
142
|
<EpRadio
|
|
143
143
|
:label="`${typeList(i)}. ${answer.text}`"
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
|
|
2
|
+
<script setup lang="ts">
|
|
3
|
+
|
|
4
|
+
import { computed } from "vue";
|
|
5
|
+
import { TypeTooltip, typeTooltip } from "../../types/Tooltip"; //"../../types/Tooltip";
|
|
6
|
+
|
|
7
|
+
type Place = "top_start"|"top"|"top_end"|"bottom_start"|"bottom"|"bottom_end"|"left_start"|"left"|"left_end"|"right_start" | "right"|"right_end";
|
|
8
|
+
type Mode = "light"|"dark";
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
interface Props {
|
|
12
|
+
text:string;
|
|
13
|
+
styles?:Mode;
|
|
14
|
+
placement?:Place
|
|
15
|
+
type: TypeTooltip;
|
|
16
|
+
arrow:string
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// define parameter and default valule
|
|
20
|
+
const props = withDefaults(defineProps<Props>(), {
|
|
21
|
+
styles:'light',
|
|
22
|
+
placement:'top',
|
|
23
|
+
arrow:'none',
|
|
24
|
+
})
|
|
25
|
+
//const { arrowstyle } =toRefs<TypeTooltip>(props)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
const finalType = computed(()=>{
|
|
29
|
+
return props.placement
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
const arrowStyle = computed(()=>{
|
|
33
|
+
if(props.arrow =="arrow"){
|
|
34
|
+
if(props.styles =='dark'){
|
|
35
|
+
return 'arrowdark'
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
return 'arrow'
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else{
|
|
42
|
+
if(props.styles =='light'){
|
|
43
|
+
return 'default'
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
return 'dark'
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
})
|
|
50
|
+
|
|
51
|
+
const finalStyles = computed(()=>{
|
|
52
|
+
return `${typeTooltip[finalType.value]?.[arrowStyle.value]}`
|
|
53
|
+
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
</script>
|
|
58
|
+
<template>
|
|
59
|
+
<div class="group relative w-max ">
|
|
60
|
+
<slot></slot>
|
|
61
|
+
<span :class="`pointer-events-none absolute w-max rounded px-2 py-1 text-sm font-medium opacity-0 shadow transition-opacity group-hover:opacity-100 ${ finalStyles} `" >{{ text }}</span>
|
|
62
|
+
</div>
|
|
63
|
+
</template>
|
|
64
|
+
|
|
65
|
+
<style >
|
|
66
|
+
.arrow-light-top::before {
|
|
67
|
+
content: " ";
|
|
68
|
+
position: absolute;
|
|
69
|
+
top: 100%; /* At the bottom of the tooltip */
|
|
70
|
+
left: 50%;
|
|
71
|
+
margin-left: -5px;
|
|
72
|
+
border-width: 5px;
|
|
73
|
+
border-style: solid;
|
|
74
|
+
border-color: rgba(0, 0, 0, 0.2) transparent transparent transparent ;
|
|
75
|
+
}
|
|
76
|
+
.arrow-dark-top::before {
|
|
77
|
+
content: " ";
|
|
78
|
+
position: absolute;
|
|
79
|
+
top: 100%; /* At the bottom of the tooltip */
|
|
80
|
+
left: 50%;
|
|
81
|
+
margin-left: -5px;
|
|
82
|
+
border-width: 5px;
|
|
83
|
+
border-style: solid;
|
|
84
|
+
border-color: black transparent transparent transparent ;
|
|
85
|
+
}
|
|
86
|
+
.arrow-light-bottom::before {
|
|
87
|
+
content: '';
|
|
88
|
+
position: absolute;
|
|
89
|
+
display: inline-block;
|
|
90
|
+
left: 50%;
|
|
91
|
+
bottom: 100%;
|
|
92
|
+
border-right: 7px solid transparent;
|
|
93
|
+
border-bottom: 7px solid #eee;
|
|
94
|
+
border-left: 7px solid transparent;
|
|
95
|
+
border-bottom-color: rgba(0, 0, 0, 0.2);
|
|
96
|
+
|
|
97
|
+
}
|
|
98
|
+
.arrow-dark-bottom::before {
|
|
99
|
+
content: '';
|
|
100
|
+
position: absolute;
|
|
101
|
+
display: inline-block;
|
|
102
|
+
left: 50%;
|
|
103
|
+
bottom: 100%;
|
|
104
|
+
border-right: 7px solid transparent;
|
|
105
|
+
border-bottom: 7px solid black;
|
|
106
|
+
border-left: 7px solid transparent;
|
|
107
|
+
border-bottom-color:black transparent transparent transparent ;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.arrow-light-left::before {
|
|
111
|
+
position: absolute;
|
|
112
|
+
display: inline-block;
|
|
113
|
+
left:100%;
|
|
114
|
+
top: 50%;
|
|
115
|
+
content: '';
|
|
116
|
+
margin-right: 0px;
|
|
117
|
+
border-top: 5px solid transparent;
|
|
118
|
+
border-left: 5px solid #eee;
|
|
119
|
+
border-bottom: 5px solid transparent;
|
|
120
|
+
border-left-color: rgba(0, 0, 0, 0.2);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.arrow-dark-left::before {
|
|
124
|
+
position: absolute;
|
|
125
|
+
display: inline-block;
|
|
126
|
+
left:100%;
|
|
127
|
+
top: 50%;
|
|
128
|
+
content: '';
|
|
129
|
+
margin-right: 0px;
|
|
130
|
+
border-top: 5px solid transparent;
|
|
131
|
+
border-left: 5px solid black;
|
|
132
|
+
border-bottom: 5px solid transparent;
|
|
133
|
+
border-left-color: black transparent transparent transparent ;
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.arrow-light-right::before {
|
|
139
|
+
position: absolute;
|
|
140
|
+
display: inline-block;
|
|
141
|
+
right:100%;
|
|
142
|
+
top: 50%;
|
|
143
|
+
content: '';
|
|
144
|
+
margin-right: 0px;
|
|
145
|
+
border-top: 5px solid transparent;
|
|
146
|
+
border-right: 5px solid #eee;
|
|
147
|
+
border-bottom: 5px solid transparent;
|
|
148
|
+
border-right-color: rgba(0, 0, 0, 0.2);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.arrow-dark-right::before {
|
|
152
|
+
position: absolute;
|
|
153
|
+
display: inline-block;
|
|
154
|
+
right:100%;
|
|
155
|
+
top: 50%;
|
|
156
|
+
content: '';
|
|
157
|
+
margin-right: 0px;
|
|
158
|
+
border-top: 5px solid transparent;
|
|
159
|
+
border-right: 5px solid black;
|
|
160
|
+
border-bottom: 5px solid transparent;
|
|
161
|
+
border-right-color:black transparent transparent transparent ;
|
|
162
|
+
|
|
163
|
+
}
|
|
164
|
+
</style>
|
|
@@ -9,16 +9,16 @@ import EpModal from "../interactions/EpModal.vue";
|
|
|
9
9
|
import EpImg from "../basics/EpImg.vue";
|
|
10
10
|
|
|
11
11
|
interface Props {
|
|
12
|
-
carrouselImg: MediaCarousel[];
|
|
13
|
-
gallery?:boolean;
|
|
14
|
-
labelRef?:string|null;
|
|
15
|
-
labelClose?:string|null
|
|
12
|
+
carrouselImg: MediaCarousel[];
|
|
13
|
+
gallery?: boolean;
|
|
14
|
+
labelRef?: string | null;
|
|
15
|
+
labelClose?: string | null;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
const props = withDefaults(defineProps<Props>(), {
|
|
19
|
-
labelClose:"Fermer",
|
|
20
|
-
labelRef:"Référence",
|
|
21
|
-
gallery:false
|
|
19
|
+
labelClose: "Fermer",
|
|
20
|
+
labelRef: "Référence",
|
|
21
|
+
gallery: false,
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
const currentIndex = ref<number>(0);
|
|
@@ -50,28 +50,31 @@ const { carrouselImg, labelClose, labelRef } = toRefs(props);
|
|
|
50
50
|
<EpIcon :icon-path="mdiChevronRightCircleOutline"></EpIcon>
|
|
51
51
|
</button>
|
|
52
52
|
</div>
|
|
53
|
-
<div class="bg-white shadow-xl p-4 max-w-[800px] mx-auto border-solid">
|
|
54
|
-
<div class="max-w-[800px] h-[550px] m-auto relative">
|
|
53
|
+
<div class="bg-white shadow-xl p-4 lg:max-w-[800px] mx-auto border-solid">
|
|
54
|
+
<!-- <div class="max-w-[800px] h-[550px] m-auto relative">
|
|
55
55
|
<div
|
|
56
|
-
class="w-full h-full bg-center
|
|
56
|
+
class="w-full h-full bg-center duration-500"
|
|
57
57
|
:style="`background-image:url('${carrouselImg[currentIndex].src}')`"
|
|
58
58
|
></div>
|
|
59
|
-
</div>
|
|
59
|
+
</div> -->
|
|
60
|
+
|
|
61
|
+
<img :src="carrouselImg[currentIndex].src" alt="image" class="rounded-sm" />
|
|
62
|
+
|
|
60
63
|
<div v-if="carrouselImg[currentIndex]?.caption" class="mt-2 text-sm text-gray-800">
|
|
61
64
|
{{ carrouselImg[currentIndex].caption }}
|
|
62
65
|
</div>
|
|
63
|
-
<div v-if="carrouselImg[currentIndex]?.bib" class="flex justify-end">
|
|
64
|
-
<EpBtn
|
|
66
|
+
<div v-if="carrouselImg[currentIndex]?.bib" class="flex justify-end mt-2">
|
|
67
|
+
<EpBtn type="primary" @click="dialog = true" dark>{{ labelRef }}</EpBtn>
|
|
65
68
|
</div>
|
|
66
69
|
</div>
|
|
67
70
|
<EpModal v-model="dialog" title="Référence">
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
<div v-html="carrouselImg[currentIndex].bib"></div>
|
|
72
|
+
<div class="flex justify-end">
|
|
73
|
+
<EpBtn @click="dialog = false" type="primary" dark>{{ labelClose }}</EpBtn>
|
|
74
|
+
</div>
|
|
72
75
|
</EpModal>
|
|
73
76
|
</div>
|
|
74
|
-
<div v-else class="flex">
|
|
77
|
+
<div v-else class="flex flex-wrap">
|
|
75
78
|
<template v-for="image in carrouselImg" :key="`image-${image?.uid}`">
|
|
76
79
|
<EpImg :src="image.src" :bib="image.bib" :caption="image.caption" thumbnail></EpImg>
|
|
77
80
|
</template>
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
|
|
2
|
+
<script setup lang="ts">
|
|
3
|
+
|
|
4
|
+
import { computed } from "vue";
|
|
5
|
+
import { TypeBadge, typeBadge } from "../../types/Badge"; //"../../types/Badge";
|
|
6
|
+
|
|
7
|
+
type Mode = "default"|"dot";
|
|
8
|
+
type Color = "primary"|"secondary"|"accent"|"error"|"warning"|"success"|"info"|"question"|"tip";
|
|
9
|
+
type Visibility = "true"|"false"
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
interface Props {
|
|
13
|
+
content:number;
|
|
14
|
+
mode?:Mode;
|
|
15
|
+
placement?:TypeBadge
|
|
16
|
+
visibility:Visibility
|
|
17
|
+
color:Color
|
|
18
|
+
maxValue:number
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// define parameter and default valule
|
|
22
|
+
const props = withDefaults(defineProps<Props>(), {
|
|
23
|
+
mode:'default',
|
|
24
|
+
placement:'top_right',
|
|
25
|
+
visibility:'true',
|
|
26
|
+
color:"primary",
|
|
27
|
+
maxValue : 0
|
|
28
|
+
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
// const { badgestyle } = toRefs(props)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
const finalType = computed(()=>{
|
|
35
|
+
return props.placement
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
const finalContent = computed(()=>{
|
|
39
|
+
if (props.mode =="dot" ){
|
|
40
|
+
return ""
|
|
41
|
+
}
|
|
42
|
+
else if (props.visibility == 'false'){
|
|
43
|
+
return ""
|
|
44
|
+
}
|
|
45
|
+
else if (props.content !=0) {
|
|
46
|
+
if (props.content > props.maxValue && props.maxValue !=0){
|
|
47
|
+
return props.maxValue +"+"
|
|
48
|
+
}
|
|
49
|
+
else{
|
|
50
|
+
return props.content
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
const badgeStyle = computed(()=>{
|
|
59
|
+
if (props.visibility == "true") {
|
|
60
|
+
return props.mode
|
|
61
|
+
} else{
|
|
62
|
+
return 'hide'
|
|
63
|
+
}
|
|
64
|
+
})
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
const bgcolor = computed(()=>{
|
|
68
|
+
return "bg-"+ props.color
|
|
69
|
+
})
|
|
70
|
+
|
|
71
|
+
const finalStyles = computed(()=>{
|
|
72
|
+
return `${typeBadge[finalType.value]?.[badgeStyle.value]}`
|
|
73
|
+
})
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
</script>
|
|
77
|
+
<template>
|
|
78
|
+
<div class="group relative w-max ">
|
|
79
|
+
<slot></slot>
|
|
80
|
+
<div :class="`${finalStyles} ${bgcolor}`">{{ finalContent }}</div>
|
|
81
|
+
</div>
|
|
82
|
+
</template>
|