ep-lib-ts 1.0.36 → 1.0.37
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/App.vue.d.ts +2 -0
- package/dist/BgAudio-DezFnyKB.js +4 -0
- package/dist/DisplayBox-DYzeHzkr.js +4 -0
- package/dist/Ep360Image-BZpa7qLl.js +228 -0
- package/dist/Ep360Video-Wy_YWl7-.js +235 -0
- package/dist/EpAlert-DdtU5nno.js +4 -0
- package/dist/EpAudio-vt4JUOf2.js +4 -0
- package/dist/EpAvatar-DTfkDxUP.js +4 -0
- package/dist/{EpAvatar-Dmpg0PFj.js → EpAvatar.vue_vue_type_script_setup_true_lang-IeQ9W4tD.js} +11 -11
- package/dist/EpBadge-BSMtvAqC.js +4 -0
- package/dist/{EpBadge-DqmSNdbi.js → EpBadge-CWIq_C51.js} +2 -2
- package/dist/EpBarChart-BA3EqJ-Z.js +4 -0
- package/dist/EpBranchingScenario-5sbzBXZ0.js +151 -0
- package/dist/EpBtn-B1xGgn2Y.js +4 -0
- package/dist/EpCard-CEjoqwN4.js +4 -0
- package/dist/EpCheckbox-Da_2WoCs.js +4 -0
- package/dist/{EpCheckbox-_Nt9Bvq3.js → EpCheckbox.vue_vue_type_script_setup_true_lang-Dqi62vJ8.js} +13 -13
- package/dist/EpChip-d8r-FDqu.js +4 -0
- package/dist/EpCodeblock-Cu1MOvmi.js +4 -0
- package/dist/EpConclusion-Dk_FFixG.js +4 -0
- package/dist/EpContentSlider-dx8Hu4OS.js +4 -0
- package/dist/{EpDarkmode-fMMNJbJs.js → EpDarkmode-CuVlLi72.js} +5 -5
- package/dist/EpDescription-B00PjQg0.js +4 -0
- package/dist/EpDivider-CukqZw1a.js +4 -0
- package/dist/EpEdu-B5N7RG49.js +4 -0
- package/dist/EpFlex-DAtWa--7.js +4 -0
- package/dist/EpFunnelChart-jn5C9tAB.js +4 -0
- package/dist/EpHeader-Cwx5Qb6Q.js +4 -0
- package/dist/{EpHotsPot-DFz_Du9o.js → EpHotsPot-nT87sUMT.js} +6 -6
- package/dist/EpHover-Kp8XbqYO.js +4 -0
- package/dist/EpHover.vue_vue_type_script_setup_true_lang-BxiamS7-.js +36 -0
- package/dist/EpHoverCard-DRRYl4MK.js +84 -0
- package/dist/EpIcon-DitBbcuQ.js +4 -0
- package/dist/EpIframe-C5c1K8RE.js +4 -0
- package/dist/EpImg-YPH6mMcR.js +4 -0
- package/dist/EpInput-BKc_tU1_.js +1095 -0
- package/dist/EpInstructions-D8kw_rwC.js +4 -0
- package/dist/EpIntroduction-B2d2vChC.js +4 -0
- package/dist/EpLineChart-BjlCf9dW.js +4 -0
- package/dist/EpLink-CXIYlycG.js +4 -0
- package/dist/EpLinkVersion-Dn_Tid-r.js +4 -0
- package/dist/{EpList-B6Q3fXGj.js → EpList-B2x9zHps.js} +3 -3
- package/dist/{EpListitem-DzQrc-k2.js → EpListitem-DXh4Kniu.js} +4 -4
- package/dist/EpLottieSvg-NNSQLDpl.js +1971 -0
- package/dist/EpModal-CaPOVdQK.js +4 -0
- package/dist/EpNothing-D3fg3Krb.js +10 -0
- package/dist/EpObjective-czDKm1c4.js +4 -0
- package/dist/EpPieChart-DuW7EBmx.js +4 -0
- package/dist/EpQuestion-BuIkR2Ae.js +4 -0
- package/dist/EpQuote-5FQFWcfv.js +4 -0
- package/dist/EpRadio-BnPZeKpP.js +4 -0
- package/dist/EpRadioSummative-AtVwjeQ-.js +4 -0
- package/dist/EpReading-s2TQVAZ_.js +4 -0
- package/dist/EpResource-Cxx1lwrs.js +4 -0
- package/dist/EpScope-CG9n9QnC.js +4 -0
- package/dist/EpSection-cDQVtX9A.js +4 -0
- package/dist/EpSectionCols-DsH_iEem.js +4 -0
- package/dist/{EpSelect-FIb6SyJU.js → EpSelect-kjH_wTXb.js} +3 -3
- package/dist/EpSkeleton-BQG8jrs6.js +4 -0
- package/dist/EpSoftware-DR1d7ezZ.js +4 -0
- package/dist/EpSpecificObjective-BS1QMNrt.js +4 -0
- package/dist/EpSpinner-O3kZ_dUO.js +4 -0
- package/dist/EpStackedList-CTU_KKMZ.js +81 -0
- package/dist/EpSummativeTable-iudwhrUL.js +4 -0
- package/dist/EpSvg-Bnj4H9sA.js +4 -0
- package/dist/{EpSwitch-hdXyzuR1.js → EpSwitch-DtQon_hm.js} +2 -2
- package/dist/EpTable-Byza5VY-.js +4 -0
- package/dist/EpTerm-BkpUPK_G.js +4 -0
- package/dist/EpText-J0qcEorF.js +4 -0
- package/dist/{EpTextarea-D8UCQuga.js → EpTextarea-VJ4pdPV_.js} +2 -2
- package/dist/EpTimeLine-Czscwhgg.js +4 -0
- package/dist/{EpToggle-BDp54LpY.js → EpToggle-BTkTNVEz.js} +2 -2
- package/dist/{EpTooltip-B4s0_PvZ.js → EpTooltip-J6UMMP3d.js} +2 -2
- package/dist/EpVideo-0w267ZqV.js +4 -0
- package/dist/EpVideoPanopto-CDy_LUMi.js +4 -0
- package/dist/EpWordDef-qWt87mhg.js +4 -0
- package/dist/components/basics/EpAvatar.vue.d.ts +4 -35
- package/dist/components/basics/EpBadge.vue.d.ts +3 -28
- package/dist/components/basics/EpBtn.vue.d.ts +13 -38
- package/dist/components/basics/EpCard.vue.d.ts +14 -46
- package/dist/components/basics/EpChip.vue.d.ts +12 -38
- package/dist/components/basics/EpDivider.vue.d.ts +3 -33
- package/dist/components/basics/EpFlex.vue.d.ts +8 -2
- package/dist/components/basics/EpHover.vue.d.ts +17 -37
- package/dist/components/basics/EpHoverCard.vue.d.ts +50 -0
- package/dist/components/basics/EpIcon.vue.d.ts +3 -26
- package/dist/components/basics/EpImg.vue.d.ts +2 -38
- package/dist/components/basics/EpSection.vue.d.ts +10 -31
- package/dist/components/basics/EpSectionCols.vue.d.ts +11 -39
- package/dist/components/basics/EpSpinner.vue.d.ts +2 -29
- package/dist/components/basics/EpStackedList.vue.d.ts +12 -0
- package/dist/components/basics/EpTable.vue.d.ts +1 -18
- package/dist/components/basics/EpText.vue.d.ts +2 -33
- package/dist/components/charts/EpBarChart.vue.d.ts +2 -28
- package/dist/components/charts/EpFunnelChart.vue.d.ts +3 -35
- package/dist/components/charts/EpLineChart.vue.d.ts +2 -28
- package/dist/components/charts/EpPieChart.vue.d.ts +3 -31
- package/dist/components/educationals/EpBranchingScenario.vue.d.ts +22 -0
- package/dist/components/educationals/EpCodeblock.vue.d.ts +2 -32
- package/dist/components/educationals/EpConclusion.vue.d.ts +10 -25
- package/dist/components/educationals/EpDescription.vue.d.ts +10 -25
- package/dist/components/educationals/EpEdu.vue.d.ts +13 -37
- package/dist/components/educationals/EpInstructions.vue.d.ts +2 -23
- package/dist/components/educationals/EpIntroduction.vue.d.ts +10 -25
- package/dist/components/educationals/EpObjective.vue.d.ts +10 -25
- package/dist/components/educationals/EpReading.vue.d.ts +3 -49
- package/dist/components/educationals/EpResource.vue.d.ts +2 -24
- package/dist/components/educationals/EpScope.vue.d.ts +1 -19
- package/dist/components/educationals/EpSpecificObjective.vue.d.ts +2 -25
- package/dist/components/forms/EpCheckbox.vue.d.ts +5 -36
- package/dist/components/forms/EpInput.vue.d.ts +7 -44
- package/dist/components/forms/EpRadio.vue.d.ts +5 -39
- package/dist/components/forms/EpRadioSummative.vue.d.ts +5 -39
- package/dist/components/forms/EpSelect.vue.d.ts +12 -13
- package/dist/components/forms/EpTextarea.vue.d.ts +7 -50
- package/dist/components/forms/EpToggle.vue.d.ts +7 -48
- package/dist/components/interactions/EpAccordeon.vue.d.ts +16 -34
- package/dist/components/interactions/EpContentSlider.vue.d.ts +2 -28
- package/dist/components/interactions/EpDarkmode.vue.d.ts +3 -3
- package/dist/components/interactions/EpModal.vue.d.ts +14 -39
- package/dist/components/interactions/EpQuestion.vue.d.ts +2 -38
- package/dist/components/interactions/EpSummativeTable.vue.d.ts +2 -24
- package/dist/components/interactions/EpTabs.vue.d.ts +1 -1
- package/dist/components/medias/EpAudio.vue.d.ts +4 -30
- package/dist/components/medias/EpCarousel.vue.d.ts +2 -32
- package/dist/components/medias/EpIframe.vue.d.ts +2 -28
- package/dist/components/medias/EpKatex.vue.d.ts +4 -24
- package/dist/components/medias/EpLink.vue.d.ts +2 -26
- package/dist/components/medias/EpLinkVersion.vue.d.ts +2 -29
- package/dist/components/medias/EpLottieSvg.vue.d.ts +164 -0
- package/dist/components/medias/EpSoftware.vue.d.ts +2 -36
- package/dist/components/medias/EpSvg.vue.d.ts +2 -24
- package/dist/components/medias/EpTerm.vue.d.ts +10 -41
- package/dist/components/medias/EpTimeLine.vue.d.ts +1 -19
- package/dist/components/medias/EpVideo.vue.d.ts +4 -28
- package/dist/components/medias/EpVideoPanopto.vue.d.ts +2 -28
- package/dist/components/medias/EpWordDef.vue.d.ts +2 -33
- package/dist/components/signages/EpAlert.vue.d.ts +12 -31
- package/dist/components/signages/EpHeader.vue.d.ts +19 -62
- package/dist/components/signages/EpNothing.vue.d.ts +1 -1
- package/dist/components/signages/EpQuote.vue.d.ts +10 -31
- package/dist/components/signages/EpSkeleton.vue.d.ts +3 -32
- package/dist/components/tools/BgAudio.vue.d.ts +4 -26
- package/dist/components/tools/DisplayBox.vue.d.ts +19 -9
- package/dist/components/tools/SvgFilter.vue.d.ts +1 -1
- package/dist/components/tools/TimelineItem.vue.d.ts +4 -28
- package/dist/ep-lib-ts.css +1 -0
- package/dist/ep-lib-ts.js +23 -23
- package/dist/ep-lib-ts.umd.cjs +5157 -109
- package/dist/{index-D4ekzRdY.js → index-1vY3QtSb.js} +5412 -4713
- package/dist/{index-7_RFK7FL.js → index-BkHXngnv.js} +6540 -6317
- package/dist/index-IdtPmXeP.js +3483 -0
- package/dist/index.d.ts +0 -1
- package/dist/main.d.ts +0 -1
- package/dist/menu.vue.d.ts +2 -0
- package/dist/pages/Basics.vue.d.ts +2 -0
- package/dist/pages/CurrentDev.vue.d.ts +2 -0
- package/dist/pages/Educationals.vue.d.ts +2 -0
- package/dist/pages/Forms.vue.d.ts +2 -0
- package/dist/pages/Home.vue.d.ts +2 -0
- package/dist/pages/Interactions.vue.d.ts +2 -0
- package/dist/pages/Medias.vue.d.ts +2 -0
- package/dist/pages/NicDev.vue.d.ts +2 -0
- package/dist/pages/Signages.vue.d.ts +2 -0
- package/dist/pages/basics/EpBadgeView.vue.d.ts +2 -0
- package/dist/pages/basics/EpBtnView.vue.d.ts +2 -0
- package/dist/pages/basics/EpCardView.vue.d.ts +2 -0
- package/dist/pages/basics/EpChipView.vue.d.ts +2 -0
- package/dist/pages/basics/EpFlexView.vue.d.ts +2 -0
- package/dist/pages/basics/EpHoverCardView.vue.d.ts +2 -0
- package/dist/pages/basics/EpIconView.vue.d.ts +2 -0
- package/dist/pages/basics/EpImgView.vue.d.ts +2 -0
- package/dist/pages/basics/EpSectionColsView.vue.d.ts +2 -0
- package/dist/pages/basics/EpSectionView.vue.d.ts +2 -0
- package/dist/pages/basics/EpStackedListView.vue.d.ts +2 -0
- package/dist/pages/basics/EpTableView.vue.d.ts +2 -0
- package/dist/pages/basics/EpTextView.vue.d.ts +2 -0
- package/dist/pages/charts/EpBarChartView.vue.d.ts +2 -0
- package/dist/pages/charts/EpFunnelChartView.vue.d.ts +2 -0
- package/dist/pages/charts/EpLineChartView.vue.d.ts +2 -0
- package/dist/pages/charts/EpPieChartView.vue.d.ts +2 -0
- package/dist/pages/educationals/EpBranchingScenarioView.vue.d.ts +2 -0
- package/dist/pages/educationals/EpCodeBlockView.vue.d.ts +2 -0
- package/dist/pages/educationals/EpConclusionView.vue.d.ts +2 -0
- package/dist/pages/educationals/EpDescriptionView.vue.d.ts +2 -0
- package/dist/pages/educationals/EpEduView.vue.d.ts +2 -0
- package/dist/pages/educationals/EpInstructionsView.vue.d.ts +2 -0
- package/dist/pages/educationals/EpIntroductionView.vue.d.ts +2 -0
- package/dist/pages/educationals/EpObjectiveView.vue.d.ts +2 -0
- package/dist/pages/educationals/EpReadingView.vue.d.ts +2 -0
- package/dist/pages/educationals/EpResourceView.vue.d.ts +2 -0
- package/dist/pages/educationals/EpScopeView.vue.d.ts +2 -0
- package/dist/pages/educationals/EpSpecificObjectiveView.vue.d.ts +2 -0
- package/dist/pages/interactions/Ep360ImageView.vue.d.ts +2 -0
- package/dist/pages/interactions/Ep360VideoView.vue.d.ts +2 -0
- package/dist/pages/interactions/EpAccordeonView.vue.d.ts +2 -0
- package/dist/pages/interactions/EpContentSliderView.vue.d.ts +2 -0
- package/dist/pages/interactions/EpModalView.vue.d.ts +2 -0
- package/dist/pages/interactions/EpQuestionView.vue.d.ts +2 -0
- package/dist/pages/interactions/EpSummativeTableView.vue.d.ts +2 -0
- package/dist/pages/medias/EpAudioView.vue.d.ts +2 -0
- package/dist/pages/medias/EpCarouselView.vue.d.ts +2 -0
- package/dist/pages/medias/EpIframeView.vue.d.ts +2 -0
- package/dist/pages/medias/EpKatexView.vue.d.ts +2 -0
- package/dist/pages/medias/EpLinkVersionView.vue.d.ts +2 -0
- package/dist/pages/medias/EpLinkView.vue.d.ts +2 -0
- package/dist/pages/medias/EpLottieSvgView.vue.d.ts +2 -0
- package/dist/pages/medias/EpSoftwareView.vue.d.ts +2 -0
- package/dist/pages/medias/EpSvgView.vue.d.ts +2 -0
- package/dist/pages/medias/EpTermView.vue.d.ts +2 -0
- package/dist/pages/medias/EpTimeLineView.vue.d.ts +2 -0
- package/dist/pages/medias/EpVideoPanoptoView.vue.d.ts +2 -0
- package/dist/pages/medias/EpVideoView.vue.d.ts +2 -0
- package/dist/pages/medias/EpWordDefView.vue.d.ts +2 -0
- package/dist/pages/signages/EpAlertView.vue.d.ts +2 -0
- package/dist/pages/signages/EpHeaderView.vue.d.ts +2 -0
- package/dist/pages/signages/EpQuoteView.vue.d.ts +2 -0
- package/dist/pages/signages/EpSkeletonView.vue.d.ts +2 -0
- package/dist/prism-CvcYxWXz.js +1184 -0
- package/dist/testImg.jpg +0 -0
- package/dist/testMaria.jpg +0 -0
- package/dist/three.core-ChKHLxK7.js +48675 -0
- package/dist/types/Aframe.d.ts +1 -0
- package/dist/types/Answer.d.ts +0 -1
- package/dist/types/Hover.d.ts +3 -0
- package/dist/types/StackedList.d.ts +63 -0
- package/dist/types/Three.d.ts +1 -0
- package/dist/types/image360.d.ts +16 -0
- package/dist/types/video360.d.ts +16 -0
- package/package.json +33 -27
- package/src/components/basics/EpHover.vue +32 -28
- package/src/components/basics/EpHoverCard.vue +123 -0
- package/src/components/basics/EpImg.vue +1 -1
- package/src/components/basics/EpListitem.vue +41 -59
- package/src/components/basics/EpStackedList.vue +74 -0
- package/src/components/educationals/EpBranchingScenario.vue +239 -0
- package/src/components/educationals/EpEdu.vue +4 -4
- package/src/components/interactions/Ep360Image.vue +344 -0
- package/src/components/interactions/Ep360Video.vue +339 -0
- package/src/components/medias/EpLottieSvg.vue +79 -0
- package/dist/BgAudio-BpeNw9L4.js +0 -4
- package/dist/DisplayBox-aSVYrDHI.js +0 -4
- package/dist/EpAlert-x0STjaqD.js +0 -4
- package/dist/EpAudio-D7LIG4mf.js +0 -4
- package/dist/EpBadge-Du6v1vQL.js +0 -4
- package/dist/EpBarChart-BoINXvhV.js +0 -4
- package/dist/EpBtn-DE6qTHlW.js +0 -4
- package/dist/EpCard-CNcn4RbZ.js +0 -4
- package/dist/EpChip-DHgdqDEX.js +0 -4
- package/dist/EpCodeblock-CR2LGKR-.js +0 -4
- package/dist/EpConclusion-B9DhTuTc.js +0 -4
- package/dist/EpContentSlider-BdS_KctY.js +0 -4
- package/dist/EpDescription-D1TbwNrX.js +0 -4
- package/dist/EpDivider-DjTTwzGb.js +0 -4
- package/dist/EpEdu-CuI1_N9M.js +0 -4
- package/dist/EpFlex-Dx5C4Gc8.js +0 -4
- package/dist/EpFunnelChart-C6_M1nag.js +0 -4
- package/dist/EpHeader-B5jyGMDA.js +0 -4
- package/dist/EpHover-3fnZrdD6.js +0 -31
- package/dist/EpIcon-DDm9gGfm.js +0 -4
- package/dist/EpIframe-BNz3cawg.js +0 -4
- package/dist/EpImg-CxjLfziE.js +0 -4
- package/dist/EpInput-HmLHpLYh.js +0 -1168
- package/dist/EpInstructions-C0reDzIV.js +0 -4
- package/dist/EpIntroduction-C92mD-hu.js +0 -4
- package/dist/EpLineChart-Cm4W9z14.js +0 -4
- package/dist/EpLink-CGVS8yjO.js +0 -4
- package/dist/EpLinkVersion-CsGN9YS9.js +0 -4
- package/dist/EpModal-DuIZeI6V.js +0 -4
- package/dist/EpNothing-BDqIuSB9.js +0 -10
- package/dist/EpObjective-R1tWBwTe.js +0 -4
- package/dist/EpPieChart-CoTBcaaf.js +0 -4
- package/dist/EpQuestion-DmEcATq1.js +0 -4
- package/dist/EpQuote-BPCJBVbM.js +0 -4
- package/dist/EpRadio-TsUBsVoj.js +0 -4
- package/dist/EpRadioSummative-Cl9dVMJD.js +0 -4
- package/dist/EpReading-vOjzuYW7.js +0 -4
- package/dist/EpResource-Dbq_41hb.js +0 -4
- package/dist/EpScope-DIc4HvYy.js +0 -4
- package/dist/EpSection-Cb18CHq0.js +0 -4
- package/dist/EpSectionCols-B1P8ujg-.js +0 -4
- package/dist/EpSkeleton-vw7gDYoi.js +0 -4
- package/dist/EpSoftware-BAKbJhZg.js +0 -4
- package/dist/EpSpecificObjective-B5L6-OCN.js +0 -4
- package/dist/EpSpinner-rQzI6_Pe.js +0 -4
- package/dist/EpSummativeTable-Djg4DVSn.js +0 -4
- package/dist/EpSvg-DggY9PtW.js +0 -4
- package/dist/EpTable-CvhrvBOq.js +0 -4
- package/dist/EpTerm-C6HSHM0J.js +0 -4
- package/dist/EpText-CftDXaM-.js +0 -4
- package/dist/EpTimeLine-D7ks1LH_.js +0 -4
- package/dist/EpVideo-3MO0ao4H.js +0 -4
- package/dist/EpVideoPanopto-C-hIsXtV.js +0 -4
- package/dist/EpWordDef-BkwqmvfJ.js +0 -4
- package/dist/components/basics/EpList.vue.d.ts +0 -11
- package/dist/components/basics/EpListitem.vue.d.ts +0 -45
- package/dist/components/forms/EpSwitch.vue.d.ts +0 -58
- package/dist/components/interactions/EpHotsPot.vue.d.ts +0 -47
- package/dist/components/interactions/EpTooltip.vue.d.ts +0 -51
- package/dist/components/signages/EpBadge.vue.d.ts +0 -59
- package/dist/prism-CZvJL8HS.js +0 -1182
- package/dist/style.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
declare module "aframe";
|
package/dist/types/Answer.d.ts
CHANGED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export type Animation = "" | "scale" | "translateY" | "translateX";
|
|
2
|
+
export type Size = "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl";
|
|
3
|
+
export type Color = "" | "white" | "black" | "primary" | "secondary" | "accent" | "error" | "warning" | "success" | "info" | "question" | "tip" | "primarydark" | "secondarydark" | "accentdark" | "errordark" | "warningdark" | "successdark" | "infodark" | "questiondark" | "tipdark" | "primarylight" | "secondarylight" | "accentlight" | "errorlight" | "warninglight" | "successlight" | "infolight" | "questionlight" | "tiplight";
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
type Color = "primary" | "secondary" | "accent" | "error" | "warning" | "success" | "info" | "question" | "tip";
|
|
2
|
+
type Variant = "circle" | "square" | "rounded";
|
|
3
|
+
type Size = "small" | "middle" | "big";
|
|
4
|
+
type ButtonType = "base" | "primary" | "secondary" | "accent" | "error" | "warning" | "success" | "info";
|
|
5
|
+
interface Avatar {
|
|
6
|
+
src: string;
|
|
7
|
+
alt: string;
|
|
8
|
+
}
|
|
9
|
+
interface Button {
|
|
10
|
+
href: string;
|
|
11
|
+
label: string;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
}
|
|
14
|
+
interface CheckBox {
|
|
15
|
+
id?: string;
|
|
16
|
+
label?: string;
|
|
17
|
+
modelValue?: string | string[] | boolean;
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
readonly?: boolean;
|
|
20
|
+
value?: string;
|
|
21
|
+
}
|
|
22
|
+
interface Icon {
|
|
23
|
+
size?: string | number;
|
|
24
|
+
viewBox?: string;
|
|
25
|
+
iconPath: string;
|
|
26
|
+
extraClass?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface ListItem {
|
|
29
|
+
uid?: string;
|
|
30
|
+
avatar?: Avatar;
|
|
31
|
+
title: string;
|
|
32
|
+
description: string;
|
|
33
|
+
button?: Button;
|
|
34
|
+
checkbox?: CheckBox;
|
|
35
|
+
}
|
|
36
|
+
export interface ItemStyle {
|
|
37
|
+
avatar?: {
|
|
38
|
+
color?: Color;
|
|
39
|
+
size?: Size;
|
|
40
|
+
variant?: Variant;
|
|
41
|
+
name?: string;
|
|
42
|
+
};
|
|
43
|
+
cropped?: boolean;
|
|
44
|
+
button?: {
|
|
45
|
+
content: string;
|
|
46
|
+
type?: ButtonType;
|
|
47
|
+
};
|
|
48
|
+
checkbox?: boolean;
|
|
49
|
+
icon?: Icon;
|
|
50
|
+
}
|
|
51
|
+
export declare const roundedType: {
|
|
52
|
+
none: string;
|
|
53
|
+
small: string;
|
|
54
|
+
middle: string;
|
|
55
|
+
big: string;
|
|
56
|
+
};
|
|
57
|
+
type RoundedStyle = keyof typeof roundedType;
|
|
58
|
+
export interface CustomStyle {
|
|
59
|
+
border?: boolean;
|
|
60
|
+
rounded?: RoundedStyle;
|
|
61
|
+
restricted?: boolean;
|
|
62
|
+
}
|
|
63
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
declare module "three";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface Scene {
|
|
2
|
+
id: number;
|
|
3
|
+
skyImage: string;
|
|
4
|
+
pins: Pin[];
|
|
5
|
+
}
|
|
6
|
+
export interface Pin {
|
|
7
|
+
id: number;
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
title: string;
|
|
11
|
+
description: string;
|
|
12
|
+
type: "descriptive" | "action";
|
|
13
|
+
color: string;
|
|
14
|
+
event: "onClick" | "onHover";
|
|
15
|
+
scene: number | null;
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface Scene {
|
|
2
|
+
id: number;
|
|
3
|
+
skyVideo: string;
|
|
4
|
+
pins: Pin[];
|
|
5
|
+
}
|
|
6
|
+
export interface Pin {
|
|
7
|
+
id: number;
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
title: string;
|
|
11
|
+
description: string;
|
|
12
|
+
type: "descriptive" | "action";
|
|
13
|
+
color: string;
|
|
14
|
+
event: "onClick" | "onHover";
|
|
15
|
+
scene: number | null;
|
|
16
|
+
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ep-lib-ts",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.37",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
7
7
|
"src/components/"
|
|
@@ -26,38 +26,44 @@
|
|
|
26
26
|
"preview": "vite preview"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@
|
|
30
|
-
"@
|
|
31
|
-
"@
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
29
|
+
"@lottiefiles/dotlottie-vue": "0.5.6",
|
|
30
|
+
"@mdi/js": "7.4.47",
|
|
31
|
+
"@types/three": "0.173.0",
|
|
32
|
+
"@vueuse/core": "12.7.0",
|
|
33
|
+
"@wdns/vue-code-block": "2.3.5",
|
|
34
|
+
"aframe": "1.6.0",
|
|
35
|
+
"apexcharts": "4.4.0",
|
|
36
|
+
"katex": "0.16.21",
|
|
37
|
+
"markdown-it": "14.1.0",
|
|
38
|
+
"postcss-cli": "11.0.0",
|
|
39
|
+
"three": "0.173.0",
|
|
40
|
+
"vee-validate": "4.15.0",
|
|
41
|
+
"vue": "3.5.13",
|
|
42
|
+
"vue-router": "4.5.0",
|
|
43
|
+
"vue3-apexcharts": "1.8.0"
|
|
40
44
|
},
|
|
41
45
|
"devDependencies": {
|
|
42
|
-
"@tailwindcss/forms": "
|
|
43
|
-
"@
|
|
44
|
-
"@types/
|
|
45
|
-
"@types/
|
|
46
|
-
"@
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"vite
|
|
54
|
-
"
|
|
46
|
+
"@tailwindcss/forms": "0.5.10",
|
|
47
|
+
"@tailwindcss/postcss": "^4.0.7",
|
|
48
|
+
"@types/katex": "0.16.7",
|
|
49
|
+
"@types/markdown-it": "14.1.2",
|
|
50
|
+
"@types/node": "22.13.4",
|
|
51
|
+
"@vitejs/plugin-vue": "5.2.1",
|
|
52
|
+
"autoprefixer": "10.4.20",
|
|
53
|
+
"path": "0.12.7",
|
|
54
|
+
"postcss": "8.5.2",
|
|
55
|
+
"tailwindcss": "4.0.7",
|
|
56
|
+
"typescript": "5.7.3",
|
|
57
|
+
"vite": "6.1.0",
|
|
58
|
+
"vite-plugin-dts": "4.5.0",
|
|
59
|
+
"vue-tsc": "^2.2.2"
|
|
55
60
|
},
|
|
56
61
|
"peerDependencies": {
|
|
57
|
-
"vue": "
|
|
62
|
+
"vue": "3.5.13"
|
|
58
63
|
},
|
|
59
64
|
"engines": {
|
|
60
65
|
"node": "20.x.x"
|
|
61
66
|
},
|
|
62
|
-
"license": "MIT"
|
|
67
|
+
"license": "MIT",
|
|
68
|
+
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
|
63
69
|
}
|
|
@@ -1,56 +1,60 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { toRefs, computed, ref } from "vue";
|
|
3
3
|
import useColors from '../../composables/useColors'
|
|
4
|
+
import { useRenderText } from '../../composables/useRenderText';
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
type Color = ""|"white"|"black"|"primary"|"secondary"|"accent"|"error"|"warning"|"success"|"info"|"question"|"tip"
|
|
7
|
-
|"primarydark"|"secondarydark"|"accentdark"|"errordark"|"warningdark"|"successdark"|"infodark"|"questiondark"|"tipdark"
|
|
8
|
-
|"primarylight"|"secondarylight"|"accentlight"|"errorlight"|"warninglight"|"successlight"|"infolight"|"questionlight"|"tiplight";
|
|
6
|
+
import { Color, Animation, Size } from "../../types/Hover";
|
|
9
7
|
|
|
10
8
|
interface Props {
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
bgColor?: string;
|
|
10
|
+
textColor?:string;
|
|
13
11
|
text?: string;
|
|
14
|
-
animation?:Animation
|
|
12
|
+
animation?:Animation;
|
|
13
|
+
seeThrough?: boolean;
|
|
14
|
+
textSize?: Size;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
const props = withDefaults(defineProps<Props>(), {
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
bgColor: "beige",
|
|
19
|
+
textColor:"black",
|
|
20
20
|
text: "",
|
|
21
|
-
animation:""
|
|
21
|
+
animation:"translateX"
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
return `${useColors('bg', props.bg_color)}`
|
|
28
|
-
}
|
|
29
|
-
})
|
|
25
|
+
const hoverstyle = computed(()=>{
|
|
26
|
+
let css = "";
|
|
30
27
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
if (props.animation=="scale")
|
|
29
|
+
css = `group-hover:scale-105`
|
|
30
|
+
else if (props.animation == "translateY") {
|
|
31
|
+
css = `translate-y-96 group-hover:translate-y-0`
|
|
34
32
|
}
|
|
33
|
+
else if (props.animation == "translateX") {
|
|
34
|
+
css = `translate-x-96 group-hover:translate-x-0`
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
let opacity = (props.seeThrough)? "group-hover:opacity-90" : "group-hover:opacity-100";
|
|
38
|
+
let textSize = (props.textSize)? `text-${props.textSize}` : "text-md";
|
|
39
|
+
|
|
40
|
+
return css + ' ' + opacity + ' ' + textSize;
|
|
35
41
|
})
|
|
36
42
|
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
43
|
+
const styleObject = computed(() => {
|
|
44
|
+
return {
|
|
45
|
+
backgroundColor: props.bgColor,
|
|
46
|
+
color: props.textColor
|
|
47
|
+
}
|
|
42
48
|
})
|
|
43
49
|
|
|
44
50
|
|
|
45
51
|
</script>
|
|
46
52
|
|
|
47
53
|
<template>
|
|
48
|
-
<div class="relative
|
|
54
|
+
<div class="relative group overflow-hidden bg-cover bg-no-repeat">
|
|
49
55
|
<slot ></slot>
|
|
50
|
-
<div :class="`absolute
|
|
51
|
-
|
|
52
|
-
text-4xl ${hoverstyle} ${textcolor}`">
|
|
53
|
-
{{ props.text }}
|
|
56
|
+
<div :style="styleObject" :class="`rounded-t-md absolute bottom-0 left-0 right-0 top-0 max-h-full w-full p-10 dark:text-white box-border whitespace-normal overflow-x-auto overflow-y-auto
|
|
57
|
+
flex flex-col opacity-0 transition duration-1000 ease-in-out ${hoverstyle}`" v-html="useRenderText(text)">
|
|
54
58
|
</div>
|
|
55
59
|
</div>
|
|
56
60
|
</template>
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
<script lang="ts" setup>
|
|
2
|
+
import { computed, toRefs } from 'vue';
|
|
3
|
+
import EpHover from './EpHover.vue';
|
|
4
|
+
import EpIcon from './EpIcon.vue';
|
|
5
|
+
import useColors from '../../composables/useColors'
|
|
6
|
+
//types with capital letter, object styles in lowercase
|
|
7
|
+
import { type Density, density_style } from "../../types/Card";
|
|
8
|
+
|
|
9
|
+
import { Color, Animation, Size } from "../../types/Hover";
|
|
10
|
+
|
|
11
|
+
interface Props {
|
|
12
|
+
title?: string | null;
|
|
13
|
+
subtitle?: string | null;
|
|
14
|
+
outlined?: boolean;
|
|
15
|
+
flat?: boolean;
|
|
16
|
+
icon?: string | null;
|
|
17
|
+
color?: string | null;
|
|
18
|
+
src?: string | null;
|
|
19
|
+
maxWidth?:string;
|
|
20
|
+
density?:Density;
|
|
21
|
+
|
|
22
|
+
hoverContent: string;
|
|
23
|
+
hoverBg?: string;
|
|
24
|
+
hoverAnimation?: Animation;
|
|
25
|
+
seeThrough?: boolean;
|
|
26
|
+
textSize?: Size;
|
|
27
|
+
hoverColor?: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
const props = withDefaults(defineProps<Props>(), {
|
|
33
|
+
title: null,
|
|
34
|
+
subtitle: null,
|
|
35
|
+
outlined: false,
|
|
36
|
+
flat: false,
|
|
37
|
+
icon: null,
|
|
38
|
+
color: null,
|
|
39
|
+
src:null,
|
|
40
|
+
density:"default",
|
|
41
|
+
maxWidth:"max-w-4xl",
|
|
42
|
+
|
|
43
|
+
hoverBg: "",
|
|
44
|
+
hoverAnimation: "translateY"
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
//styles card
|
|
48
|
+
const shadowCard = computed(() => {
|
|
49
|
+
return !props.flat ? 'shadow-lg' : ''
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
const borderColor = computed(() => {
|
|
53
|
+
if (props.outlined && props.color) {
|
|
54
|
+
return `border solid ${useColors('border', props.color)}`
|
|
55
|
+
}
|
|
56
|
+
if (props.outlined) {
|
|
57
|
+
return 'border solid border-primary dark:border-primary'
|
|
58
|
+
}
|
|
59
|
+
return 'dark:border dark:solid dark:border-primary'
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
const bgColor = computed(() => {
|
|
63
|
+
if(props.color && !props.outlined){
|
|
64
|
+
return `${useColors('bg', props.color)}`
|
|
65
|
+
}
|
|
66
|
+
return `bg-white text-black`
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
const subTitleText = computed(()=>{
|
|
70
|
+
if(props.color && !props.outlined){
|
|
71
|
+
return 'text-white'
|
|
72
|
+
}
|
|
73
|
+
return 'text-gray-600'
|
|
74
|
+
})
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
const density_class = computed(()=> {
|
|
78
|
+
return density_style[props.density]
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
const stylesCard = computed(()=> {
|
|
82
|
+
return `
|
|
83
|
+
${shadowCard.value}
|
|
84
|
+
${borderColor.value}
|
|
85
|
+
${bgColor.value}
|
|
86
|
+
${props.maxWidth}
|
|
87
|
+
rounded-md
|
|
88
|
+
dark:bg-dark
|
|
89
|
+
dark:text-white
|
|
90
|
+
my-4 `
|
|
91
|
+
})
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
const { title, subtitle, icon, src, hoverContent } = toRefs(props)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
</script>
|
|
98
|
+
|
|
99
|
+
<template>
|
|
100
|
+
|
|
101
|
+
<div :class="`${stylesCard} mx-auto`">
|
|
102
|
+
<EpHover :textColor="hoverColor" :textSize="textSize" :seeThrough="seeThrough" :bgColor="hoverBg" :animation="hoverAnimation" :text="hoverContent" v-if="src && hoverContent">
|
|
103
|
+
<img :src="src" class="w-full rounded-t-md" alt="header card">
|
|
104
|
+
</EpHover>
|
|
105
|
+
<div :class="density_class">
|
|
106
|
+
<div v-if="title || subtitle" class="mb-2 flex items-center justify-between dark:text-white">
|
|
107
|
+
<div>
|
|
108
|
+
<h3 class="text-2xl dark:text-white font-bold">{{ title }}</h3>
|
|
109
|
+
<h4 :class="`text-xs dark:text-white ${subTitleText}`">{{ subtitle }}</h4>
|
|
110
|
+
</div>
|
|
111
|
+
<div v-if="icon">
|
|
112
|
+
<EpIcon :icon-path="icon"></EpIcon>
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
<slot name="card-header"></slot>
|
|
116
|
+
<div class="dark:text-white">
|
|
117
|
+
<slot></slot>
|
|
118
|
+
</div>
|
|
119
|
+
<div class="dark:text-white max-w-4xl"><slot name="card-actions"></slot></div>
|
|
120
|
+
</div>
|
|
121
|
+
</div>
|
|
122
|
+
|
|
123
|
+
</template>
|
|
@@ -108,7 +108,7 @@ const { src, alt, title, caption, thumbnail, bib, sizeThumbnail } =
|
|
|
108
108
|
<p class="text-gray-500 dark:text-white text-sm mt-4">
|
|
109
109
|
{{ caption }}
|
|
110
110
|
</p>
|
|
111
|
-
<div class="text-right">
|
|
111
|
+
<div class="text-right" v-if="renderBib">
|
|
112
112
|
<EpBtn @click="toggleBib" size="small" type="primary">{{
|
|
113
113
|
labelRef
|
|
114
114
|
}}</EpBtn>
|
|
@@ -1,70 +1,52 @@
|
|
|
1
|
-
|
|
2
1
|
<script setup lang="ts">
|
|
2
|
+
import { computed, SetupContext, useSlots } from "vue";
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
type Type = "default" | "nested"
|
|
7
|
-
type Disabled="false"|"true"
|
|
4
|
+
type Type = "default" | "nested";
|
|
5
|
+
type Disabled = "false" | "true";
|
|
8
6
|
|
|
9
7
|
interface Props {
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
type?: Type;
|
|
9
|
+
disabled?: Disabled;
|
|
12
10
|
}
|
|
13
11
|
|
|
14
12
|
const props = withDefaults(defineProps<Props>(), {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
})
|
|
18
|
-
|
|
19
|
-
const slots = useSlots()
|
|
20
|
-
console.log(slots)
|
|
21
|
-
const hasLeftContent = computed(()=>{
|
|
22
|
-
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
const hasRigthContent = computed(()=>{
|
|
26
|
-
|
|
27
|
-
})
|
|
28
|
-
const isNested = computed(()=>{
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return "opacity-75 text-slate-500 "
|
|
37
|
-
else
|
|
38
|
-
return "hover:bg-gray-200 active:bg-gray-300"
|
|
39
|
-
})
|
|
13
|
+
type: "default",
|
|
14
|
+
disabled: "false",
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
const slots: SetupContext["slots"] = useSlots();
|
|
18
|
+
console.log(slots);
|
|
19
|
+
const hasLeftContent = computed(() => {
|
|
20
|
+
return slots.leftContent ? true : false;
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
const hasRigthContent = computed(() => {
|
|
24
|
+
return slots.rightContent ? true : false;
|
|
25
|
+
});
|
|
26
|
+
const isNested = computed(() => {
|
|
27
|
+
if (props.type == "nested") return "px-10";
|
|
28
|
+
else return "";
|
|
29
|
+
});
|
|
30
|
+
const isDisabled = computed(() => {
|
|
31
|
+
if (props.disabled == "true") return "opacity-75 text-slate-500 ";
|
|
32
|
+
else return "hover:bg-gray-200 active:bg-gray-300";
|
|
33
|
+
});
|
|
40
34
|
</script>
|
|
41
35
|
|
|
42
36
|
<template>
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
37
|
+
<li
|
|
38
|
+
:class="`flex flex-row flex-nowrap justify-between font-medium items-center py-4 ${isNested} ${isDisabled}`"
|
|
39
|
+
>
|
|
40
|
+
<div class="flex items-center">
|
|
41
|
+
<div v-if="hasLeftContent" class="mr-2 min-w-fit px-2">
|
|
42
|
+
<slot name="leftContent"></slot>
|
|
43
|
+
</div>
|
|
44
|
+
<div>
|
|
45
|
+
<slot></slot>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
<div v-if="hasRigthContent" class="px-2">
|
|
49
|
+
<slot name="rightContent"></slot>
|
|
50
|
+
</div>
|
|
51
|
+
</li>
|
|
57
52
|
</template>
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { computed } from 'vue';
|
|
3
|
+
import EpAvatar from './EpAvatar.vue';
|
|
4
|
+
import { useRenderText } from '../../composables/useRenderText';
|
|
5
|
+
import EpBtn from './EpBtn.vue';
|
|
6
|
+
import EpCheckbox from '../forms/EpCheckbox.vue';
|
|
7
|
+
import EpIcon from './EpIcon.vue';
|
|
8
|
+
|
|
9
|
+
// Importing the necessary interfaces for the code
|
|
10
|
+
import { type ListItem, type ItemStyle, roundedType, type CustomStyle } from '../../types/StackedList';
|
|
11
|
+
|
|
12
|
+
// Managing the props
|
|
13
|
+
interface Props {
|
|
14
|
+
elements: ListItem[];
|
|
15
|
+
itemStyle?: ItemStyle;
|
|
16
|
+
customStyle?: CustomStyle;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const props = withDefaults(defineProps<Props>(),{
|
|
20
|
+
elements: () => [],
|
|
21
|
+
itemStyle: () => { return {
|
|
22
|
+
cropped: false,
|
|
23
|
+
checkbox: false,
|
|
24
|
+
} },
|
|
25
|
+
customStyle: () => {
|
|
26
|
+
return {
|
|
27
|
+
border: true,
|
|
28
|
+
rounded: "small",
|
|
29
|
+
restricted: false
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
// The style of the wrapper div
|
|
36
|
+
const className = computed(() => {
|
|
37
|
+
|
|
38
|
+
const border = (props.customStyle.border === false)? 'border-0' : 'border';
|
|
39
|
+
const rounded = roundedType[(props.customStyle.rounded)? props.customStyle.rounded : 'small'];
|
|
40
|
+
const padding = (props.customStyle.restricted)? 'p-0' : 'p-4';
|
|
41
|
+
|
|
42
|
+
return `${border} ${rounded} ${padding}`;
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
// The style of the list elements
|
|
47
|
+
const elementSpacing = computed(() => (props.customStyle.restricted)? 'p-6' : 'mx-6 py-6');
|
|
48
|
+
|
|
49
|
+
const elementGrid = computed(() => (props.itemStyle.button || props.itemStyle.checkbox || props.itemStyle.icon)? 'grid-cols-11' : 'grid-cols-7');
|
|
50
|
+
|
|
51
|
+
</script>
|
|
52
|
+
|
|
53
|
+
<template>
|
|
54
|
+
|
|
55
|
+
<div :class="`${className} border-gray-200 flex flex-col dark:border-slate-700 dark:bg-slate-900 lg:mx-28`">
|
|
56
|
+
<li v-for="elem in elements" :key="elements.indexOf(elem)" :class="`${(elements.indexOf(elem) !== 0)? 'border-t' : ''} list-none ${elementSpacing} grid ${elementGrid} justify-items-center items-center border-gray-200 dark:border-slate-700`">
|
|
57
|
+
<EpAvatar v-if="elem.avatar" :src="elem.avatar?.src" :alt="elem.avatar?.alt" v-bind="itemStyle.avatar" class="col-span-2" />
|
|
58
|
+
<div class="col-span-5 justify-self-start">
|
|
59
|
+
<h3 class="font-semibold">{{ elem.title }}</h3>
|
|
60
|
+
<div :class="`${(itemStyle.cropped)? 'line-clamp-3': ''}`" v-html="useRenderText(elem.description)"></div>
|
|
61
|
+
</div>
|
|
62
|
+
<div v-if="itemStyle.button || itemStyle.checkbox || itemStyle.icon" class="flex gap-2 items-center col-span-4 justify-self-auto">
|
|
63
|
+
|
|
64
|
+
<!--update component type-->
|
|
65
|
+
<EpBtn v-if="itemStyle.button" :type="`${(itemStyle.button.type)? itemStyle.button.type : 'base'}`" v-bind="elem.button" :rounded="true">{{ itemStyle.button.content }}</EpBtn>
|
|
66
|
+
<EpCheckbox v-if="itemStyle.checkbox" v-bind="elem.checkbox" />
|
|
67
|
+
<EpIcon v-if="itemStyle.icon" v-bind="itemStyle.icon" />
|
|
68
|
+
</div>
|
|
69
|
+
</li>
|
|
70
|
+
</div>
|
|
71
|
+
|
|
72
|
+
</template>
|
|
73
|
+
|
|
74
|
+
|