ep-lib-ts 1.1.13 → 1.1.14
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/components/basics/EpBtn.vue.js +2 -2
- package/dist/components/basics/EpBtn.vue.js.map +1 -1
- package/dist/components/basics/EpChip.vue.js +2 -2
- package/dist/components/basics/EpChip.vue.js.map +1 -1
- package/dist/components/basics/EpHover.vue.js +1 -1
- package/dist/components/basics/EpHover.vue.js.map +1 -1
- package/dist/components/basics/EpHoverCard.vue.js +6 -6
- package/dist/components/basics/EpHoverCard.vue.js.map +1 -1
- package/dist/components/basics/EpImg.vue.js +8 -8
- package/dist/components/basics/EpImg.vue.js.map +1 -1
- package/dist/components/basics/EpImgCarousel.vue.js +8 -8
- package/dist/components/basics/EpImgCarousel.vue.js.map +1 -1
- package/dist/components/basics/EpSection.vue.js +25 -25
- package/dist/components/basics/EpSection.vue.js.map +1 -1
- package/dist/components/basics/EpSectionCols.vue.js +29 -29
- package/dist/components/basics/EpSectionCols.vue.js.map +1 -1
- package/dist/components/basics/EpSpinner.vue.js +5 -5
- package/dist/components/basics/EpSpinner.vue.js.map +1 -1
- package/dist/components/basics/EpStackedList.vue.js +4 -4
- package/dist/components/basics/EpStackedList.vue.js.map +1 -1
- package/dist/components/charts/EpBarChart.vue.js +3 -3
- package/dist/components/charts/EpBarChart.vue.js.map +1 -1
- package/dist/components/charts/EpFunnelChart.vue.js +4 -4
- package/dist/components/charts/EpFunnelChart.vue.js.map +1 -1
- package/dist/components/charts/EpLineChart.vue.js +3 -3
- package/dist/components/charts/EpLineChart.vue.js.map +1 -1
- package/dist/components/charts/EpPieChart.vue.js +4 -4
- package/dist/components/charts/EpPieChart.vue.js.map +1 -1
- package/dist/components/educationals/EpBranchingScenario.vue2.js +19 -19
- package/dist/components/educationals/EpBranchingScenario.vue2.js.map +1 -1
- package/dist/components/educationals/EpCodeblock.vue.js +1 -1
- package/dist/components/educationals/EpCodeblock.vue.js.map +1 -1
- package/dist/components/educationals/EpConclusion.vue.js +3 -3
- package/dist/components/educationals/EpConclusion.vue.js.map +1 -1
- package/dist/components/educationals/EpDescription.vue.js +1 -1
- package/dist/components/educationals/EpDocument.vue.js +4 -4
- package/dist/components/educationals/EpDocument.vue.js.map +1 -1
- package/dist/components/educationals/EpEdu.vue.js +4 -4
- package/dist/components/educationals/EpEdu.vue.js.map +1 -1
- package/dist/components/educationals/EpFillBlanks.vue.js +1 -1
- package/dist/components/educationals/EpFillBlanks.vue.js.map +1 -1
- package/dist/components/educationals/EpInstructions.vue.js +1 -1
- package/dist/components/educationals/EpIntroduction.vue.js +6 -6
- package/dist/components/educationals/EpIntroduction.vue.js.map +1 -1
- package/dist/components/educationals/EpObjective.vue.js +3 -3
- package/dist/components/educationals/EpObjective.vue.js.map +1 -1
- package/dist/components/educationals/EpReading.vue.js +3 -3
- package/dist/components/educationals/EpReading.vue.js.map +1 -1
- package/dist/components/educationals/EpResource.vue.js +3 -3
- package/dist/components/educationals/EpResource.vue.js.map +1 -1
- package/dist/components/educationals/EpScope.vue.js +2 -2
- package/dist/components/educationals/EpScope.vue.js.map +1 -1
- package/dist/components/educationals/EpSegmentedBox.vue.js +1 -1
- package/dist/components/educationals/EpSegmentedBox.vue.js.map +1 -1
- package/dist/components/educationals/EpSpecificObjective.vue.js +10 -10
- package/dist/components/educationals/EpSpecificObjective.vue.js.map +1 -1
- package/dist/components/forms/EpSelect.vue.js +3 -3
- package/dist/components/forms/EpSelect.vue.js.map +1 -1
- package/dist/components/forms/EpTextarea.vue2.js +1 -1
- package/dist/components/forms/EpTextarea.vue2.js.map +1 -1
- package/dist/components/forms/EpToggle.vue2.js +1 -1
- package/dist/components/forms/EpToggle.vue2.js.map +1 -1
- package/dist/components/interactions/EpAccordeon.vue2.js +1 -1
- package/dist/components/interactions/EpAccordeon.vue2.js.map +1 -1
- package/dist/components/interactions/EpAssociation.vue.js +13 -14
- package/dist/components/interactions/EpAssociation.vue.js.map +1 -1
- package/dist/components/interactions/EpContentSlider.vue.js +2 -2
- package/dist/components/interactions/EpContentSlider.vue.js.map +1 -1
- package/dist/components/interactions/EpFlipCard.vue2.js +17 -17
- package/dist/components/interactions/EpFlipCard.vue2.js.map +1 -1
- package/dist/components/interactions/EpHotSpot.vue.js +1 -1
- package/dist/components/interactions/EpHotSpot.vue.js.map +1 -1
- package/dist/components/interactions/EpImageCompare.vue.js +6 -6
- package/dist/components/interactions/EpImageCompare.vue.js.map +1 -1
- package/dist/components/interactions/EpModal.vue.js +4 -4
- package/dist/components/interactions/EpModal.vue.js.map +1 -1
- package/dist/components/interactions/EpQuestion.vue.js +8 -8
- package/dist/components/interactions/EpQuestion.vue.js.map +1 -1
- package/dist/components/interactions/EpSummativeTable.vue.js +3 -3
- package/dist/components/interactions/EpSummativeTable.vue.js.map +1 -1
- package/dist/components/interactions/EpTooltip.vue.js +1 -1
- package/dist/components/interactions/EpTooltip.vue.js.map +1 -1
- package/dist/components/medias/EpAudio.vue.js +3 -3
- package/dist/components/medias/EpAudio.vue.js.map +1 -1
- package/dist/components/medias/EpCardLink.vue.js +16 -16
- package/dist/components/medias/EpCardLink.vue.js.map +1 -1
- package/dist/components/medias/EpCarousel.vue.js +10 -10
- package/dist/components/medias/EpCarousel.vue.js.map +1 -1
- package/dist/components/medias/EpHierarchy.vue2.js +1 -1
- package/dist/components/medias/EpHierarchy.vue2.js.map +1 -1
- package/dist/components/medias/EpIframe.vue.js +3 -3
- package/dist/components/medias/EpIframe.vue.js.map +1 -1
- package/dist/components/medias/EpKatex.vue2.js +4 -4
- package/dist/components/medias/EpKatex.vue2.js.map +1 -1
- package/dist/components/medias/EpLink.vue.js +2 -2
- package/dist/components/medias/EpLink.vue.js.map +1 -1
- package/dist/components/medias/EpLinkVersion.vue.js +1 -1
- package/dist/components/medias/EpLinkVersion.vue.js.map +1 -1
- package/dist/components/medias/EpLottieSvg.vue.js +8 -8
- package/dist/components/medias/EpLottieSvg.vue.js.map +1 -1
- package/dist/components/medias/EpSensibleImage.vue2.js +18 -18
- package/dist/components/medias/EpSensibleImage.vue2.js.map +1 -1
- package/dist/components/medias/EpSoftware.vue.js +3 -3
- package/dist/components/medias/EpSoftware.vue.js.map +1 -1
- package/dist/components/medias/EpSvg.vue.js +4 -4
- package/dist/components/medias/EpSvg.vue.js.map +1 -1
- package/dist/components/medias/EpTerm.vue.js +6 -6
- package/dist/components/medias/EpTerm.vue.js.map +1 -1
- package/dist/components/medias/EpVideo.vue.js +2 -2
- package/dist/components/medias/EpVideo.vue.js.map +1 -1
- package/dist/components/medias/EpVideoPanopto.vue.js +3 -3
- package/dist/components/medias/EpVideoPanopto.vue.js.map +1 -1
- package/dist/components/medias/EpWordDef.vue.js +39 -39
- package/dist/components/medias/EpWordDef.vue.js.map +1 -1
- package/dist/components/signages/EpAlert.vue2.js +1 -1
- package/dist/components/signages/EpHeader.vue.js +22 -22
- package/dist/components/signages/EpHeader.vue.js.map +1 -1
- package/dist/components/signages/EpQuote.vue.js +1 -1
- package/dist/components/signages/EpSkeleton.vue2.js +1 -1
- package/dist/components/tools/AssociationNode.vue2.js +8 -8
- package/dist/components/tools/AssociationNode.vue2.js.map +1 -1
- package/dist/components/tools/AsyncKatexRender.vue2.js +1 -1
- package/dist/components/tools/AsyncKatexRender.vue2.js.map +1 -1
- package/dist/components/tools/Details.vue.js +1 -56
- package/dist/components/tools/Details.vue.js.map +1 -1
- package/dist/components/tools/Details.vue2.js +56 -1
- package/dist/components/tools/Details.vue2.js.map +1 -1
- package/dist/components/tools/RenderTextNode.vue.js +1 -19
- package/dist/components/tools/RenderTextNode.vue.js.map +1 -1
- package/dist/components/tools/RenderTextNode.vue2.js +19 -1
- package/dist/components/tools/RenderTextNode.vue2.js.map +1 -1
- package/dist/components/tools/SegmentedBox.vue2.js +3 -3
- package/dist/components/tools/SegmentedBox.vue2.js.map +1 -1
- package/dist/components/tools/TextMedia.vue.js +1 -50
- package/dist/components/tools/TextMedia.vue.js.map +1 -1
- package/dist/components/tools/TextMedia.vue2.js +50 -1
- package/dist/components/tools/TextMedia.vue2.js.map +1 -1
- package/dist/components/tools/TimelineItem.vue2.js +1 -1
- package/dist/components/tools/TwoColsMedia.vue2.js +4 -4
- package/dist/components/tools/TwoColsMedia.vue2.js.map +1 -1
- package/dist/style.css +81 -81
- package/package.json +40 -43
|
@@ -43,7 +43,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
43
43
|
return defineAsyncComponent(() => import("./EpReading.vue2.js"));
|
|
44
44
|
}
|
|
45
45
|
return defineAsyncComponent(
|
|
46
|
-
() => __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../basics/EpAvatar.vue": () => import("../basics/EpAvatar.vue.js"), "../basics/EpBadge.vue": () => import("../basics/EpBadge.vue.js"), "../basics/EpBtn.vue": () => import("../basics/EpBtn.vue2.js"), "../basics/EpCard.vue": () => import("../basics/EpCard.vue2.js"), "../basics/EpChip.vue": () => import("../basics/EpChip.vue2.js"), "../basics/EpDivider.vue": () => import("../basics/EpDivider.vue2.js"), "../basics/EpFlex.vue": () => import("../basics/EpFlex.vue2.js"), "../basics/EpHover.vue": () => import("../basics/EpHover.vue2.js"), "../basics/EpHoverCard.vue": () => import("../basics/EpHoverCard.vue2.js"), "../basics/EpIcon.vue": () => import("../basics/EpIcon.vue2.js"), "../basics/EpImg.vue": () => import("../basics/EpImg.vue2.js"), "../basics/EpImgCarousel.vue": () => import("../basics/EpImgCarousel.vue2.js"), "../basics/EpList.vue": () => import("../basics/EpList.vue.js"), "../basics/EpListItem.vue": () => import("../basics/EpListItem.vue2.js"), "../basics/EpSection.vue": () => import("../basics/EpSection.vue2.js"), "../basics/EpSectionCols.vue": () => import("../basics/EpSectionCols.vue2.js"), "../basics/EpSpinner.vue": () => import("../basics/EpSpinner.vue2.js"), "../basics/EpStackedList.vue": () => import("../basics/EpStackedList.vue2.js"), "../basics/EpTable.vue": () => import("../basics/EpTable.vue2.js"), "../basics/EpText.vue": () => import("../basics/EpText.vue2.js"), "../charts/EpBarChart.vue": () => import("../charts/EpBarChart.vue2.js"), "../charts/EpFunnelChart.vue": () => import("../charts/EpFunnelChart.vue2.js"), "../charts/EpLineChart.vue": () => import("../charts/EpLineChart.vue2.js"), "../charts/EpPieChart.vue": () => import("../charts/EpPieChart.vue2.js"), "./EpBranchingScenario.vue": () => import("./EpBranchingScenario.vue.js"), "./EpCodeblock.vue": () => import("./EpCodeblock.vue3.js"), "./EpConclusion.vue": () => import("./EpConclusion.vue2.js"), "./EpDescription.vue": () => import("./EpDescription.vue2.js"), "./EpDocument.vue": () => import("./EpDocument.vue2.js"), "./EpEdu.vue": () => import("./EpEdu.vue2.js"), "./EpFillBlanks.vue": () => import("./EpFillBlanks.vue2.js"), "./EpInstructions.vue": () => import("./EpInstructions.vue2.js"), "./EpIntroduction.vue": () => import("./EpIntroduction.vue2.js"), "./EpObjective.vue": () => import("./EpObjective.vue2.js"), "./EpReading.vue": () => import("./EpReading.vue2.js"), "./EpResource.vue": () => import("./EpResource.vue2.js"), "./EpScope.vue": () => import("./EpScope.vue2.js"), "./EpSegmentedBox.vue": () => import("./EpSegmentedBox.vue2.js"), "./EpSpecificObjective.vue": () => import("./EpSpecificObjective.vue2.js"), "../forms/EpCheckbox.vue": () => import("../forms/EpCheckbox.vue.js"), "../forms/EpInput.vue": () => import("../forms/EpInput.vue.js"), "../forms/EpRadio.vue": () => import("../forms/EpRadio.vue.js"), "../forms/EpRadioSummative.vue": () => import("../forms/EpRadioSummative.vue.js"), "../forms/EpSelect.vue": () => import("../forms/EpSelect.vue2.js"), "../forms/EpSwitch.vue": () => import("../forms/EpSwitch.vue.js"), "../forms/EpTextarea.vue": () => import("../forms/EpTextarea.vue.js"), "../forms/EpToggle.vue": () => import("../forms/EpToggle.vue.js"), "../interactions/Ep360Image.vue": () => import("../interactions/Ep360Image.vue.js"), "../interactions/Ep360Video.vue": () => import("../interactions/Ep360Video.vue.js"), "../interactions/EpAccordeon.vue": () => import("../interactions/EpAccordeon.vue.js"), "../interactions/EpAssociation.vue": () => import("../interactions/EpAssociation.vue2.js"), "../interactions/EpContentSlider.vue": () => import("../interactions/EpContentSlider.vue2.js"), "../interactions/EpDarkMode.vue": () => import("../interactions/EpDarkMode.vue2.js"), "../interactions/EpDraggable.vue": () => import("../interactions/EpDraggable.vue2.js"), "../interactions/EpFlipCard.vue": () => import("../interactions/EpFlipCard.vue.js"), "../interactions/EpHotSpot.vue": () => import("../interactions/EpHotSpot.vue2.js"), "../interactions/EpImageCompare.vue": () => import("../interactions/EpImageCompare.vue2.js"), "../interactions/EpModal.vue": () => import("../interactions/EpModal.vue3.js"), "../interactions/EpQuestion.vue": () => import("../interactions/EpQuestion.vue2.js"), "../interactions/EpSummativeTable.vue": () => import("../interactions/EpSummativeTable.vue2.js"), "../interactions/EpSvgShow.vue": () => import("../interactions/EpSvgShow.vue2.js"), "../interactions/EpTabs.vue": () => import("../interactions/EpTabs.vue.js"), "../interactions/EpTooltip.vue": () => import("../interactions/EpTooltip.vue2.js"), "../medias/EpAudio.vue": () => import("../medias/EpAudio.vue2.js"), "../medias/EpCardLink.vue": () => import("../medias/EpCardLink.vue2.js"), "../medias/EpCarousel.vue": () => import("../medias/EpCarousel.vue2.js"), "../medias/EpHierarchy.vue": () => import("../medias/EpHierarchy.vue.js"), "../medias/EpIframe.vue": () => import("../medias/EpIframe.vue2.js"), "../medias/EpKatex.vue": () => import("../medias/EpKatex.vue.js"), "../medias/EpLink.vue": () => import("../medias/EpLink.vue2.js"), "../medias/EpLinkVersion.vue": () => import("../medias/EpLinkVersion.vue2.js"), "../medias/EpLottieSvg.vue": () => import("../medias/EpLottieSvg.vue2.js"), "../medias/EpSensibleImage.vue": () => import("../medias/EpSensibleImage.vue.js"), "../medias/EpSoftware.vue": () => import("../medias/EpSoftware.vue2.js"), "../medias/EpSvg.vue": () => import("../medias/EpSvg.vue2.js"), "../medias/EpTerm.vue": () => import("../medias/EpTerm.vue2.js"), "../medias/EpTimeLine.vue": () => import("../medias/EpTimeLine.vue.js"), "../medias/EpVideo.vue": () => import("../medias/EpVideo.vue2.js"), "../medias/EpVideoPanopto.vue": () => import("../medias/EpVideoPanopto.vue2.js"), "../medias/EpWordDef.vue": () => import("../medias/EpWordDef.vue2.js"), "../signages/EpAlert.vue": () => import("../signages/EpAlert.vue.js"), "../signages/EpBadge.vue": () => import("../signages/EpBadge.vue2.js"), "../signages/EpHeader.vue": () => import("../signages/EpHeader.vue2.js"), "../signages/EpNothing.vue": () => import("../signages/EpNothing.vue.js"), "../signages/EpQuote.vue": () => import("../signages/EpQuote.vue2.js"), "../signages/EpSkeleton.vue": () => import("../signages/EpSkeleton.vue.js"), "../tools/AssociationNode.vue": () => import("../tools/AssociationNode.vue.js"), "../tools/AsyncKatexRender.vue": () => import("../tools/AsyncKatexRender.vue.js"), "../tools/BgAudio.vue": () => import("../tools/BgAudio.vue.js"), "../tools/Details.vue": () => import("../tools/Details.
|
|
46
|
+
() => __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../basics/EpAvatar.vue": () => import("../basics/EpAvatar.vue.js"), "../basics/EpBadge.vue": () => import("../basics/EpBadge.vue.js"), "../basics/EpBtn.vue": () => import("../basics/EpBtn.vue2.js"), "../basics/EpCard.vue": () => import("../basics/EpCard.vue2.js"), "../basics/EpChip.vue": () => import("../basics/EpChip.vue2.js"), "../basics/EpDivider.vue": () => import("../basics/EpDivider.vue2.js"), "../basics/EpFlex.vue": () => import("../basics/EpFlex.vue2.js"), "../basics/EpHover.vue": () => import("../basics/EpHover.vue2.js"), "../basics/EpHoverCard.vue": () => import("../basics/EpHoverCard.vue2.js"), "../basics/EpIcon.vue": () => import("../basics/EpIcon.vue2.js"), "../basics/EpImg.vue": () => import("../basics/EpImg.vue2.js"), "../basics/EpImgCarousel.vue": () => import("../basics/EpImgCarousel.vue2.js"), "../basics/EpList.vue": () => import("../basics/EpList.vue.js"), "../basics/EpListItem.vue": () => import("../basics/EpListItem.vue2.js"), "../basics/EpSection.vue": () => import("../basics/EpSection.vue2.js"), "../basics/EpSectionCols.vue": () => import("../basics/EpSectionCols.vue2.js"), "../basics/EpSpinner.vue": () => import("../basics/EpSpinner.vue2.js"), "../basics/EpStackedList.vue": () => import("../basics/EpStackedList.vue2.js"), "../basics/EpTable.vue": () => import("../basics/EpTable.vue2.js"), "../basics/EpText.vue": () => import("../basics/EpText.vue2.js"), "../charts/EpBarChart.vue": () => import("../charts/EpBarChart.vue2.js"), "../charts/EpFunnelChart.vue": () => import("../charts/EpFunnelChart.vue2.js"), "../charts/EpLineChart.vue": () => import("../charts/EpLineChart.vue2.js"), "../charts/EpPieChart.vue": () => import("../charts/EpPieChart.vue2.js"), "./EpBranchingScenario.vue": () => import("./EpBranchingScenario.vue.js"), "./EpCodeblock.vue": () => import("./EpCodeblock.vue3.js"), "./EpConclusion.vue": () => import("./EpConclusion.vue2.js"), "./EpDescription.vue": () => import("./EpDescription.vue2.js"), "./EpDocument.vue": () => import("./EpDocument.vue2.js"), "./EpEdu.vue": () => import("./EpEdu.vue2.js"), "./EpFillBlanks.vue": () => import("./EpFillBlanks.vue2.js"), "./EpInstructions.vue": () => import("./EpInstructions.vue2.js"), "./EpIntroduction.vue": () => import("./EpIntroduction.vue2.js"), "./EpObjective.vue": () => import("./EpObjective.vue2.js"), "./EpReading.vue": () => import("./EpReading.vue2.js"), "./EpResource.vue": () => import("./EpResource.vue2.js"), "./EpScope.vue": () => import("./EpScope.vue2.js"), "./EpSegmentedBox.vue": () => import("./EpSegmentedBox.vue2.js"), "./EpSpecificObjective.vue": () => import("./EpSpecificObjective.vue2.js"), "../forms/EpCheckbox.vue": () => import("../forms/EpCheckbox.vue.js"), "../forms/EpInput.vue": () => import("../forms/EpInput.vue.js"), "../forms/EpRadio.vue": () => import("../forms/EpRadio.vue.js"), "../forms/EpRadioSummative.vue": () => import("../forms/EpRadioSummative.vue.js"), "../forms/EpSelect.vue": () => import("../forms/EpSelect.vue2.js"), "../forms/EpSwitch.vue": () => import("../forms/EpSwitch.vue.js"), "../forms/EpTextarea.vue": () => import("../forms/EpTextarea.vue.js"), "../forms/EpToggle.vue": () => import("../forms/EpToggle.vue.js"), "../interactions/Ep360Image.vue": () => import("../interactions/Ep360Image.vue.js"), "../interactions/Ep360Video.vue": () => import("../interactions/Ep360Video.vue.js"), "../interactions/EpAccordeon.vue": () => import("../interactions/EpAccordeon.vue.js"), "../interactions/EpAssociation.vue": () => import("../interactions/EpAssociation.vue2.js"), "../interactions/EpContentSlider.vue": () => import("../interactions/EpContentSlider.vue2.js"), "../interactions/EpDarkMode.vue": () => import("../interactions/EpDarkMode.vue2.js"), "../interactions/EpDraggable.vue": () => import("../interactions/EpDraggable.vue2.js"), "../interactions/EpFlipCard.vue": () => import("../interactions/EpFlipCard.vue.js"), "../interactions/EpHotSpot.vue": () => import("../interactions/EpHotSpot.vue2.js"), "../interactions/EpImageCompare.vue": () => import("../interactions/EpImageCompare.vue2.js"), "../interactions/EpModal.vue": () => import("../interactions/EpModal.vue3.js"), "../interactions/EpQuestion.vue": () => import("../interactions/EpQuestion.vue2.js"), "../interactions/EpSummativeTable.vue": () => import("../interactions/EpSummativeTable.vue2.js"), "../interactions/EpSvgShow.vue": () => import("../interactions/EpSvgShow.vue2.js"), "../interactions/EpTabs.vue": () => import("../interactions/EpTabs.vue.js"), "../interactions/EpTooltip.vue": () => import("../interactions/EpTooltip.vue2.js"), "../medias/EpAudio.vue": () => import("../medias/EpAudio.vue2.js"), "../medias/EpCardLink.vue": () => import("../medias/EpCardLink.vue2.js"), "../medias/EpCarousel.vue": () => import("../medias/EpCarousel.vue2.js"), "../medias/EpHierarchy.vue": () => import("../medias/EpHierarchy.vue.js"), "../medias/EpIframe.vue": () => import("../medias/EpIframe.vue2.js"), "../medias/EpKatex.vue": () => import("../medias/EpKatex.vue.js"), "../medias/EpLink.vue": () => import("../medias/EpLink.vue2.js"), "../medias/EpLinkVersion.vue": () => import("../medias/EpLinkVersion.vue2.js"), "../medias/EpLottieSvg.vue": () => import("../medias/EpLottieSvg.vue2.js"), "../medias/EpSensibleImage.vue": () => import("../medias/EpSensibleImage.vue.js"), "../medias/EpSoftware.vue": () => import("../medias/EpSoftware.vue2.js"), "../medias/EpSvg.vue": () => import("../medias/EpSvg.vue2.js"), "../medias/EpTerm.vue": () => import("../medias/EpTerm.vue2.js"), "../medias/EpTimeLine.vue": () => import("../medias/EpTimeLine.vue.js"), "../medias/EpVideo.vue": () => import("../medias/EpVideo.vue2.js"), "../medias/EpVideoPanopto.vue": () => import("../medias/EpVideoPanopto.vue2.js"), "../medias/EpWordDef.vue": () => import("../medias/EpWordDef.vue2.js"), "../signages/EpAlert.vue": () => import("../signages/EpAlert.vue.js"), "../signages/EpBadge.vue": () => import("../signages/EpBadge.vue2.js"), "../signages/EpHeader.vue": () => import("../signages/EpHeader.vue2.js"), "../signages/EpNothing.vue": () => import("../signages/EpNothing.vue.js"), "../signages/EpQuote.vue": () => import("../signages/EpQuote.vue2.js"), "../signages/EpSkeleton.vue": () => import("../signages/EpSkeleton.vue.js"), "../tools/AssociationNode.vue": () => import("../tools/AssociationNode.vue.js"), "../tools/AsyncKatexRender.vue": () => import("../tools/AsyncKatexRender.vue.js"), "../tools/BgAudio.vue": () => import("../tools/BgAudio.vue.js"), "../tools/Details.vue": () => import("../tools/Details.vue.js"), "../tools/DisplayBox.vue": () => import("../tools/DisplayBox.vue.js"), "../tools/RenderTextNode.vue": () => import("../tools/RenderTextNode.vue.js"), "../tools/SegmentedBox.vue": () => import("../tools/SegmentedBox.vue.js"), "../tools/SvgFilter.vue": () => import("../tools/SvgFilter.vue.js"), "../tools/TextMedia.vue": () => import("../tools/TextMedia.vue.js"), "../tools/TimelineItem.vue": () => import("../tools/TimelineItem.vue.js"), "../tools/TwoColsMedia.vue": () => import("../tools/TwoColsMedia.vue.js") }), `../${componentToLoad.path}/${componentToLoad.name}.vue`, 3)
|
|
47
47
|
);
|
|
48
48
|
};
|
|
49
49
|
const typeRess = computed(() => {
|
|
@@ -56,8 +56,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
56
56
|
});
|
|
57
57
|
return (_ctx, _cache) => {
|
|
58
58
|
return openBlock(), createBlock(resolveDynamicComponent(getCompontent(resourceInfo.value.type)), mergeProps({ ...resourceInfo.value }, {
|
|
59
|
-
mandateLevel:
|
|
60
|
-
intentions:
|
|
59
|
+
mandateLevel: _ctx.mandateLevel,
|
|
60
|
+
intentions: _ctx.pages,
|
|
61
61
|
type: typeRess.value
|
|
62
62
|
}), null, 16, ["mandateLevel", "intentions", "type"]);
|
|
63
63
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EpResource.vue.js","sources":["../../../src/components/educationals/EpResource.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { defineAsyncComponent, computed, toRefs } from \"vue\";\nimport { useComponent } from \"~/composables/useComponent\";\nimport type { EpResourceProps } from \"~/types/educationals/EpResource\";\n\nconst { type = \"neutral\", resource, pages } = defineProps<EpResourceProps>();\n\nconst resourceInfo = computed(() => {\n if (!resource.hasOwnProperty(\"content\")) {\n return \"EpNothing\";\n }\n //console.log(resource)\n const typeRess = Object.keys(resource.content)[0];\n const ress = Object.assign({}, resource.content[typeRess]);\n\n ress.pages = pages;\n ress.type = typeRess;\n ress.intentions = pages;\n if (typeRess === \"clip\") {\n ress.src = ress.url;\n }\n if (typeRess === \"website\") {\n ress.href = ress.url;\n ress.label = ress.title;\n }\n if (typeRess === \"book\" && pages) {\n //ress.intentions = pages\n ress.pages = null;\n }\n if (ress.version_link) {\n ress.url = ress.version_link.url;\n }\n\n return ress;\n});\n\n//get Component asyncComponent\nconst getCompontent = (name: string | undefined) => {\n const componentToLoad = useComponent(name);\n //console.log(componentToLoad)\n if (componentToLoad.name === \"EpNothing\") {\n return defineAsyncComponent(() => import(\"../signages/EpNothing.vue\"));\n }\n if (componentToLoad.name === \"EpReading\") {\n return defineAsyncComponent(() => import(`./EpReading.vue`));\n }\n return defineAsyncComponent(\n () => import(`../${componentToLoad.path}/${componentToLoad.name}.vue`)\n );\n};\n\nconst typeRess = computed(() => {\n if (resourceInfo.value.type && resourceInfo.value.type === \"website\") {\n if (type === \"base\") {\n return \"primary\";\n }\n }\n return type;\n});\n</script>\n\n<template>\n <component\n :is=\"getCompontent(resourceInfo.type)\"\n v-bind=\"{ ...resourceInfo }\"\n :mandateLevel=\"mandateLevel\"\n :intentions=\"pages\"\n :type=\"typeRess\"\n ></component>\n</template>\n"],"names":["typeRess","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"EpResource.vue.js","sources":["../../../src/components/educationals/EpResource.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { defineAsyncComponent, computed, toRefs } from \"vue\";\nimport { useComponent } from \"~/composables/useComponent\";\nimport type { EpResourceProps } from \"~/types/educationals/EpResource\";\n\nconst { type = \"neutral\", resource, pages } = defineProps<EpResourceProps>();\n\nconst resourceInfo = computed(() => {\n if (!resource.hasOwnProperty(\"content\")) {\n return \"EpNothing\";\n }\n //console.log(resource)\n const typeRess = Object.keys(resource.content)[0];\n const ress = Object.assign({}, resource.content[typeRess]);\n\n ress.pages = pages;\n ress.type = typeRess;\n ress.intentions = pages;\n if (typeRess === \"clip\") {\n ress.src = ress.url;\n }\n if (typeRess === \"website\") {\n ress.href = ress.url;\n ress.label = ress.title;\n }\n if (typeRess === \"book\" && pages) {\n //ress.intentions = pages\n ress.pages = null;\n }\n if (ress.version_link) {\n ress.url = ress.version_link.url;\n }\n\n return ress;\n});\n\n//get Component asyncComponent\nconst getCompontent = (name: string | undefined) => {\n const componentToLoad = useComponent(name);\n //console.log(componentToLoad)\n if (componentToLoad.name === \"EpNothing\") {\n return defineAsyncComponent(() => import(\"../signages/EpNothing.vue\"));\n }\n if (componentToLoad.name === \"EpReading\") {\n return defineAsyncComponent(() => import(`./EpReading.vue`));\n }\n return defineAsyncComponent(\n () => import(`../${componentToLoad.path}/${componentToLoad.name}.vue`)\n );\n};\n\nconst typeRess = computed(() => {\n if (resourceInfo.value.type && resourceInfo.value.type === \"website\") {\n if (type === \"base\") {\n return \"primary\";\n }\n }\n return type;\n});\n</script>\n\n<template>\n <component\n :is=\"getCompontent(resourceInfo.type)\"\n v-bind=\"{ ...resourceInfo }\"\n :mandateLevel=\"mandateLevel\"\n :intentions=\"pages\"\n :type=\"typeRess\"\n ></component>\n</template>\n"],"names":["typeRess","_createBlock","_resolveDynamicComponent","_mergeProps","mandateLevel","pages"],"mappings":"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"}
|
|
@@ -15,13 +15,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
15
15
|
return renderMandate.value = "primary";
|
|
16
16
|
});
|
|
17
17
|
return (_ctx, _cache) => {
|
|
18
|
-
return
|
|
18
|
+
return _ctx.mandateLevel ? (openBlock(), createBlock(_sfc_main$1, {
|
|
19
19
|
key: 0,
|
|
20
20
|
size: "small",
|
|
21
21
|
type: typeMandate.value
|
|
22
22
|
}, {
|
|
23
23
|
default: withCtx(() => [
|
|
24
|
-
createTextVNode(toDisplayString(
|
|
24
|
+
createTextVNode(toDisplayString(_ctx.mandateLevel.title), 1)
|
|
25
25
|
]),
|
|
26
26
|
_: 1
|
|
27
27
|
}, 8, ["type"])) : createCommentVNode("", true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EpScope.vue.js","sources":["../../../src/components/educationals/EpScope.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, computed } from \"vue\";\nimport EpChip from \"~/components/basics/EpChip.vue\";\nimport { type ChipBgVariant } from \"~/types/Chip\";\nimport type { EpScopeProps } from \"~/types/educationals/EpScope\";\n\nconst { mandateLevel } = defineProps<EpScopeProps>();\n\nlet renderMandate = ref<ChipBgVariant>(\"primary\");\n\nconst typeMandate = computed(() => {\n if (mandateLevel?.value.trim() === \"0\") {\n return (renderMandate.value = \"warning\");\n }\n return (renderMandate.value = \"primary\");\n});\n</script>\n\n<template>\n <EpChip v-if=\"mandateLevel\" size=\"small\" :type=\"typeMandate\">\n {{ mandateLevel.title }}\n </EpChip>\n</template>\n"],"names":["
|
|
1
|
+
{"version":3,"file":"EpScope.vue.js","sources":["../../../src/components/educationals/EpScope.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, computed } from \"vue\";\nimport EpChip from \"~/components/basics/EpChip.vue\";\nimport { type ChipBgVariant } from \"~/types/Chip\";\nimport type { EpScopeProps } from \"~/types/educationals/EpScope\";\n\nconst { mandateLevel } = defineProps<EpScopeProps>();\n\nlet renderMandate = ref<ChipBgVariant>(\"primary\");\n\nconst typeMandate = computed(() => {\n if (mandateLevel?.value.trim() === \"0\") {\n return (renderMandate.value = \"warning\");\n }\n return (renderMandate.value = \"primary\");\n});\n</script>\n\n<template>\n <EpChip v-if=\"mandateLevel\" size=\"small\" :type=\"typeMandate\">\n {{ mandateLevel.title }}\n </EpChip>\n</template>\n"],"names":["mandateLevel","_createBlock","EpChip"],"mappings":";;;;;;;;AAQA,QAAI,gBAAgB,IAAmB,SAAS;AAEhD,UAAM,cAAc,SAAS,MAAM;;AACjC,YAAI,aAAA,iBAAA,mBAAc,MAAM,YAAW,KAAK;AACtC,eAAQ,cAAc,QAAQ;AAAA,MAChC;AACA,aAAQ,cAAc,QAAQ;AAAA,IAChC,CAAC;;aAIeA,KAAAA,6BAAdC,YAESC,aAAA;AAAA;QAFmB,MAAK;AAAA,QAAS,MAAM,YAAA;AAAA,MAAA;yBAC9C,MAAwB;AAAA,UAArBF,gBAAAA,gBAAAA,KAAAA,aAAa,KAAK,GAAA,CAAA;AAAA,QAAA;;;;;;"}
|
|
@@ -8,7 +8,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
8
8
|
setup(__props) {
|
|
9
9
|
return (_ctx, _cache) => {
|
|
10
10
|
return openBlock(), createElementBlock("div", null, [
|
|
11
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(
|
|
11
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.boxes, (box, i) => {
|
|
12
12
|
return openBlock(), createBlock(_sfc_main$1, mergeProps({
|
|
13
13
|
key: `box-${box.uid}-${i}`,
|
|
14
14
|
ref_for: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EpSegmentedBox.vue.js","sources":["../../../src/components/educationals/EpSegmentedBox.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { EpSegmentedBoxProps } from '~/types/educationals/EpSegmentedBox';\nimport SegmentedBox from '../tools/SegmentedBox.vue';\nconst props = withDefaults(defineProps<EpSegmentedBoxProps>(), {\n boxes: () => [],\n});\n\n\n\n</script>\n\n<template>\n <div>\n <template v-for=\"(box,i) in boxes\" :key=\"`box-${box.uid}-${i}`\">\n <SegmentedBox v-bind=\"box\"></SegmentedBox>\n </template>\n </div>\n</template>"],"names":["_createElementBlock","_openBlock","_Fragment","_renderList","_createBlock","SegmentedBox","_mergeProps"],"mappings":";;;;;;;;;0BAYGA,mBAIM,OAAA,MAAA;AAAA,SAHDC,UAAA,IAAA,GAAAD,mBAEWE,UAAA,MAAAC,
|
|
1
|
+
{"version":3,"file":"EpSegmentedBox.vue.js","sources":["../../../src/components/educationals/EpSegmentedBox.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { EpSegmentedBoxProps } from '~/types/educationals/EpSegmentedBox';\nimport SegmentedBox from '../tools/SegmentedBox.vue';\nconst props = withDefaults(defineProps<EpSegmentedBoxProps>(), {\n boxes: () => [],\n});\n\n\n\n</script>\n\n<template>\n <div>\n <template v-for=\"(box,i) in boxes\" :key=\"`box-${box.uid}-${i}`\">\n <SegmentedBox v-bind=\"box\"></SegmentedBox>\n </template>\n </div>\n</template>"],"names":["_createElementBlock","_openBlock","_Fragment","_renderList","boxes","_createBlock","SegmentedBox","_mergeProps"],"mappings":";;;;;;;;;0BAYGA,mBAIM,OAAA,MAAA;AAAA,SAHDC,UAAA,IAAA,GAAAD,mBAEWE,UAAA,MAAAC,WAFiBC,KAAAA,OAAK,CAAf,KAAI,MAAC;AACnB,iBAAAH,UAAA,GAAAI,YAA0CC,aAA1CC,WAA0C;AAAA,wBADE,IAAI,GAAG,IAAI,CAAC;AAAA;aAClC,GAAG,GAAA,MAAA,EAAA;AAAA;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, computed, createElementBlock, openBlock, createCommentVNode, createElementVNode, normalizeClass, Fragment, renderList, toDisplayString, createBlock } from "vue";
|
|
2
|
-
import _sfc_main$1 from "../tools/RenderTextNode.
|
|
2
|
+
import _sfc_main$1 from "../tools/RenderTextNode.vue2.js";
|
|
3
3
|
const _hoisted_1 = { class: "flex rounded-lg lg:ml-10 ml-0 border border-t-gray-100 border-r-gray-100 border-b-gray-100" };
|
|
4
4
|
const _hoisted_2 = {
|
|
5
5
|
key: 0,
|
|
@@ -29,15 +29,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
29
29
|
});
|
|
30
30
|
return (_ctx, _cache) => {
|
|
31
31
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
32
|
-
|
|
33
|
-
!Array.isArray(
|
|
32
|
+
_ctx.tab ? (openBlock(), createElementBlock("div", _hoisted_2, [
|
|
33
|
+
!Array.isArray(_ctx.color) ? (openBlock(), createElementBlock("span", {
|
|
34
34
|
key: 0,
|
|
35
|
-
class: normalizeClass(`border-l-8 ${
|
|
35
|
+
class: normalizeClass(`border-l-8 ${_ctx.color} h-full`)
|
|
36
36
|
}, null, 2)) : (openBlock(), createElementBlock("div", {
|
|
37
37
|
key: 1,
|
|
38
|
-
class: normalizeClass(`w-2 grid ${"grid-rows-" +
|
|
38
|
+
class: normalizeClass(`w-2 grid ${"grid-rows-" + _ctx.color.length}`)
|
|
39
39
|
}, [
|
|
40
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(
|
|
40
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.color, (col) => {
|
|
41
41
|
return openBlock(), createElementBlock("span", {
|
|
42
42
|
class: normalizeClass(`border-l-8 ${col} row-span-1`)
|
|
43
43
|
}, null, 2);
|
|
@@ -48,14 +48,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
48
48
|
class: normalizeClass(`${styles.value} p-4 w-full`)
|
|
49
49
|
}, [
|
|
50
50
|
createElementVNode("div", _hoisted_3, [
|
|
51
|
-
|
|
52
|
-
createElementVNode("div", _hoisted_5, toDisplayString(
|
|
51
|
+
_ctx.label ? (openBlock(), createElementBlock("div", _hoisted_4, [
|
|
52
|
+
createElementVNode("div", _hoisted_5, toDisplayString(_ctx.label), 1)
|
|
53
53
|
])) : createCommentVNode("", true),
|
|
54
54
|
createElementVNode("div", _hoisted_6, [
|
|
55
55
|
createElementVNode("dd", _hoisted_7, [
|
|
56
|
-
|
|
56
|
+
_ctx.content ? (openBlock(), createBlock(_sfc_main$1, {
|
|
57
57
|
key: 0,
|
|
58
|
-
content:
|
|
58
|
+
content: _ctx.content
|
|
59
59
|
}, null, 8, ["content"])) : createCommentVNode("", true)
|
|
60
60
|
])
|
|
61
61
|
])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EpSpecificObjective.vue.js","sources":["../../../src/components/educationals/EpSpecificObjective.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport type { EpSpecificObjectiveProps } from \"~/types/educationals/EpSpecificObjective\";\nimport RenderTextNode from \"~/components/tools/RenderTextNode.vue\";\nconst {\n color = \"border-gray-200\",\n tab = false,\n bg,\n} = defineProps<EpSpecificObjectiveProps>();\n\nconst styles = computed(() => {\n const bgStyle = bg ? \"bg-surface-2 dark:bg-surface-2-dark\" : \"\";\n return `${bgStyle}`;\n});\n</script>\n\n<template>\n <div class=\"flex rounded-lg lg:ml-10 ml-0 border border-t-gray-100 border-r-gray-100 border-b-gray-100\">\n <div v-if=\"tab\" class=\"rounded-s-lg overflow-hidden flex\">\n <span v-if=\"!Array.isArray(color)\" :class=\"`border-l-8 ${color} h-full`\"></span>\n <div v-else :class=\"`w-2 grid ${'grid-rows-' + color.length}`\">\n <span v-for=\"col in color\" :class=\"`border-l-8 ${col} row-span-1`\"></span>\n </div>\n </div>\n <div\n :class=\"`${styles} p-4 w-full`\"\n >\n <!-- mobile: column (stacked). lg and up: row (two columns) -->\n <div class=\"flex flex-col lg:flex-row lg:items-center gap-y-2 lg:gap-x-4 \">\n <div v-if=\"label\" class=\"flex-none self-start lg:self-center\">\n <div\n class=\"inline-flex items-center rounded-md px-2 py-1 text-xs font-medium ring-1 ring-inset ring-primary-600/20\"\n >\n {{ label }}\n </div>\n </div>\n <div class=\"flex-auto \">\n <dd class=\"mt-1\">\n <template v-if=\"content\">\n <RenderTextNode :content=\"content\" />\n </template>\n </dd>\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_Fragment","_renderList","_createElementVNode","_toDisplayString","_createBlock","RenderTextNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAUA,UAAM,SAAS,SAAS,MAAM;AAC5B,YAAM,UAAU,QAAA,KAAK,wCAAwC;AAC7D,aAAO,GAAG,OAAO;AAAA,IACnB,CAAC;;AAIC,aAAAA,UAAA,GAAAC,mBA4BM,OA5BN,YA4BM;AAAA,
|
|
1
|
+
{"version":3,"file":"EpSpecificObjective.vue.js","sources":["../../../src/components/educationals/EpSpecificObjective.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport type { EpSpecificObjectiveProps } from \"~/types/educationals/EpSpecificObjective\";\nimport RenderTextNode from \"~/components/tools/RenderTextNode.vue\";\nconst {\n color = \"border-gray-200\",\n tab = false,\n bg,\n} = defineProps<EpSpecificObjectiveProps>();\n\nconst styles = computed(() => {\n const bgStyle = bg ? \"bg-surface-2 dark:bg-surface-2-dark\" : \"\";\n return `${bgStyle}`;\n});\n</script>\n\n<template>\n <div class=\"flex rounded-lg lg:ml-10 ml-0 border border-t-gray-100 border-r-gray-100 border-b-gray-100\">\n <div v-if=\"tab\" class=\"rounded-s-lg overflow-hidden flex\">\n <span v-if=\"!Array.isArray(color)\" :class=\"`border-l-8 ${color} h-full`\"></span>\n <div v-else :class=\"`w-2 grid ${'grid-rows-' + color.length}`\">\n <span v-for=\"col in color\" :class=\"`border-l-8 ${col} row-span-1`\"></span>\n </div>\n </div>\n <div\n :class=\"`${styles} p-4 w-full`\"\n >\n <!-- mobile: column (stacked). lg and up: row (two columns) -->\n <div class=\"flex flex-col lg:flex-row lg:items-center gap-y-2 lg:gap-x-4 \">\n <div v-if=\"label\" class=\"flex-none self-start lg:self-center\">\n <div\n class=\"inline-flex items-center rounded-md px-2 py-1 text-xs font-medium ring-1 ring-inset ring-primary-600/20\"\n >\n {{ label }}\n </div>\n </div>\n <div class=\"flex-auto \">\n <dd class=\"mt-1\">\n <template v-if=\"content\">\n <RenderTextNode :content=\"content\" />\n </template>\n </dd>\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","tab","color","_normalizeClass","_Fragment","_renderList","_createElementVNode","label","_toDisplayString","content","_createBlock","RenderTextNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAUA,UAAM,SAAS,SAAS,MAAM;AAC5B,YAAM,UAAU,QAAA,KAAK,wCAAwC;AAC7D,aAAO,GAAG,OAAO;AAAA,IACnB,CAAC;;AAIC,aAAAA,UAAA,GAAAC,mBA4BM,OA5BN,YA4BM;AAAA,QA3BOC,KAAAA,OAAXF,UAAA,GAAAC,mBAKM,OALN,YAKM;AAAA,WAJS,MAAM,QAAQE,KAAAA,KAAK,kBAAhCF,mBAAgF,QAAA;AAAA;YAA5C,oCAAqBE,KAAAA,KAAK,SAAA;AAAA,UAAA,6BAC9DF,mBAEM,OAAA;AAAA;YAFO,OAAKG,eAAA,YAAA,eAA6BD,KAAAA,MAAM,MAAM,EAAA;AAAA,UAAA;8BACzDF,mBAA0EI,UAAA,MAAAC,WAAtDH,KAAAA,OAAK,CAAZ,QAAG;kCAAhBF,mBAA0E,QAAA;AAAA,gBAA9C,oCAAqB,GAAG,aAAA;AAAA,cAAA;;;;QAGxDM,mBAoBM,OAAA;AAAA,UAnBH,yBAAU,OAAA,KAAM,aAAA;AAAA,QAAA;UAGjBA,mBAeM,OAfN,YAeM;AAAA,YAdOC,KAAAA,SAAXR,UAAA,GAAAC,mBAMM,OANN,YAMM;AAAA,cALJM,mBAIM,OAJN,YAIME,gBADDD,KAAAA,KAAK,GAAA,CAAA;AAAA,YAAA;YAGZD,mBAMM,OANN,YAMM;AAAA,cALJA,mBAIK,MAJL,YAIK;AAAA,gBAHcG,KAAAA,wBACfC,YAAqCC,aAAA;AAAA;kBAApB,SAASF,KAAAA;AAAAA,gBAAAA;;;;;;;;;"}
|
|
@@ -25,13 +25,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
25
25
|
}
|
|
26
26
|
return (_ctx, _cache) => {
|
|
27
27
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
28
|
-
|
|
28
|
+
_ctx.label ? (openBlock(), createElementBlock("label", _hoisted_2, toDisplayString(_ctx.label), 1)) : createCommentVNode("", true),
|
|
29
29
|
withDirectives(createElementVNode("select", {
|
|
30
30
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
|
|
31
31
|
onChange,
|
|
32
|
-
class: normalizeClass(`${
|
|
32
|
+
class: normalizeClass(`${_ctx.block ? "block" : "inline"} w-full bg-white border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm`)
|
|
33
33
|
}, [
|
|
34
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(
|
|
34
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.options, (option) => {
|
|
35
35
|
return openBlock(), createElementBlock("option", {
|
|
36
36
|
key: option.value,
|
|
37
37
|
value: option.value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EpSelect.vue.js","sources":["../../../src/components/forms/EpSelect.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { EpSelectProps } from \"~/types/forms/EpSelect\";\n\nconst { label = \"\", options, block = true } = defineProps<EpSelectProps>();\n\nconst model = defineModel();\nconst emit = defineEmits(['update:modelValue']);\n\nfunction onChange(event: any) {\n emit('update:modelValue', event.target.value);\n}\n</script>\n\n<template>\n <div class=\"w-full max-w-xs\">\n <label v-if=\"label\" class=\"block text-sm font-medium text-gray-700 mb-1\">{{\n label\n }}</label>\n <select\n v-model=\"model\"\n @change=\"onChange\"\n :class=\"`${block? 'block' : 'inline'} w-full bg-white border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm`\"\n >\n <option\n v-for=\"option in options\"\n :key=\"option.value\"\n :value=\"option.value\"\n >\n {{ option.text }}\n </option>\n </select>\n </div>\n</template>\n"],"names":["_useModel","_openBlock","_createElementBlock","_toDisplayString","_createElementVNode","_Fragment","_renderList"],"mappings":";;;;;;;;;;;;;;;;;;;;AAKA,UAAM,QAAQA,8BAAY;AAC1B,UAAM,OAAO;AAEb,aAAS,SAAS,OAAY;AAC5B,WAAK,qBAAqB,MAAM,OAAO,KAAK;AAAA,IAC9C;;AAIE,aAAAC,UAAA,GAAAC,mBAiBM,OAjBN,YAiBM;AAAA,
|
|
1
|
+
{"version":3,"file":"EpSelect.vue.js","sources":["../../../src/components/forms/EpSelect.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { EpSelectProps } from \"~/types/forms/EpSelect\";\n\nconst { label = \"\", options, block = true } = defineProps<EpSelectProps>();\n\nconst model = defineModel();\nconst emit = defineEmits(['update:modelValue']);\n\nfunction onChange(event: any) {\n emit('update:modelValue', event.target.value);\n}\n</script>\n\n<template>\n <div class=\"w-full max-w-xs\">\n <label v-if=\"label\" class=\"block text-sm font-medium text-gray-700 mb-1\">{{\n label\n }}</label>\n <select\n v-model=\"model\"\n @change=\"onChange\"\n :class=\"`${block? 'block' : 'inline'} w-full bg-white border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm`\"\n >\n <option\n v-for=\"option in options\"\n :key=\"option.value\"\n :value=\"option.value\"\n >\n {{ option.text }}\n </option>\n </select>\n </div>\n</template>\n"],"names":["_useModel","_openBlock","_createElementBlock","label","_toDisplayString","_createElementVNode","block","_Fragment","_renderList","options"],"mappings":";;;;;;;;;;;;;;;;;;;;AAKA,UAAM,QAAQA,8BAAY;AAC1B,UAAM,OAAO;AAEb,aAAS,SAAS,OAAY;AAC5B,WAAK,qBAAqB,MAAM,OAAO,KAAK;AAAA,IAC9C;;AAIE,aAAAC,UAAA,GAAAC,mBAiBM,OAjBN,YAiBM;AAAA,QAhBSC,KAAAA,sBAAbD,mBAEU,SAFV,YAEUE,gBADRD,KAAAA,KAAK,GAAA,CAAA;uBAEPE,mBAYS,UAAA;AAAA,uEAXE,MAAK,QAAA;AAAA,UACb;AAAA,UACA,yBAAUC,KAAAA,QAAK,UAAA,QAAA,oJAAA;AAAA,QAAA;4BAEhBJ,mBAMSK,UAAA,MAAAC,WALUC,KAAAA,SAAO,CAAjB,WAAM;gCADfP,mBAMS,UAAA;AAAA,cAJN,KAAK,OAAO;AAAA,cACZ,OAAO,OAAO;AAAA,YAAA,GAEZE,gBAAA,OAAO,IAAI,GAAA,GAAA,UAAA;AAAA;;yBATP,MAAA,KAAK;AAAA,QAAA;;;;;"}
|
|
@@ -33,7 +33,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
33
33
|
class: "peer h-full min-h-[100px] w-full resize-none rounded-[7px] border border-neutral-300 bg-transparent px-3 py-2.5 font-sans text-sm font-normal text-neutral-700 outline outline-0 transition-all placeholder-shown:border placeholder-shown:border-neutral-300 placeholder-shown:border-t-neutral-200 focus:border-2 focus:border-blue-500 focus:border-t-transparent focus:outline-0 disabled:resize-none disabled:border-0 disabled:cursor-not-allowed disabled:bg-neutral-200 focus:ring-0",
|
|
34
34
|
placeholder: " "
|
|
35
35
|
}, null, 8, _hoisted_3),
|
|
36
|
-
createElementVNode("label", _hoisted_4, toDisplayString(
|
|
36
|
+
createElementVNode("label", _hoisted_4, toDisplayString(_ctx.labels.message), 1)
|
|
37
37
|
])
|
|
38
38
|
]);
|
|
39
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EpTextarea.vue2.js","sources":["../../../src/components/forms/EpTextarea.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { toRefs } from \"vue\";\nimport type { EpTextareaProps } from \"~/types/forms/EpTextarea\";\n\nconst props = withDefaults(defineProps<EpTextareaProps>(), {\n id: \"0\",\n label: \"label\",\n modelValue: \"\",\n type: \"text\",\n placeholder: \"\",\n iconPath: \"\",\n iconSize: \"\",\n disabled: false,\n readonly: false,\n labels: () => {\n return {\n message: \"Message\",\n };\n },\n});\n\ndefineEmits<{\n (e: \"update:modelValue\", modelValue: string): void;\n}>();\n\nconst { disabled } = toRefs(props);\n</script>\n\n<template>\n <div class=\"w-96\">\n <div class=\"relative w-full min-w-[200px]\">\n <textarea\n :disabled=\"disabled\"\n class=\"peer h-full min-h-[100px] w-full resize-none rounded-[7px] border border-neutral-300 bg-transparent px-3 py-2.5 font-sans text-sm font-normal text-neutral-700 outline outline-0 transition-all placeholder-shown:border placeholder-shown:border-neutral-300 placeholder-shown:border-t-neutral-200 focus:border-2 focus:border-blue-500 focus:border-t-transparent focus:outline-0 disabled:resize-none disabled:border-0 disabled:cursor-not-allowed disabled:bg-neutral-200 focus:ring-0\"\n placeholder=\" \"\n ></textarea>\n <label\n 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\"\n >\n {{ labels.message }}\n </label>\n </div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_createElementVNode","_unref","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,UAAM,QAAQ;AAqBd,UAAM,EAAE,SAAA,IAAa,OAAO,KAAK;;AAI/B,aAAAA,UAAA,GAAAC,mBAaM,OAbN,YAaM;AAAA,QAZJC,mBAWM,OAXN,YAWM;AAAA,UAVJA,mBAIY,YAAA;AAAA,YAHT,UAAUC,MAAA,QAAA;AAAA,YACX,OAAM;AAAA,YACN,aAAY;AAAA,UAAA;UAEdD,mBAIQ,SAJR,YAIQE,
|
|
1
|
+
{"version":3,"file":"EpTextarea.vue2.js","sources":["../../../src/components/forms/EpTextarea.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { toRefs } from \"vue\";\nimport type { EpTextareaProps } from \"~/types/forms/EpTextarea\";\n\nconst props = withDefaults(defineProps<EpTextareaProps>(), {\n id: \"0\",\n label: \"label\",\n modelValue: \"\",\n type: \"text\",\n placeholder: \"\",\n iconPath: \"\",\n iconSize: \"\",\n disabled: false,\n readonly: false,\n labels: () => {\n return {\n message: \"Message\",\n };\n },\n});\n\ndefineEmits<{\n (e: \"update:modelValue\", modelValue: string): void;\n}>();\n\nconst { disabled } = toRefs(props);\n</script>\n\n<template>\n <div class=\"w-96\">\n <div class=\"relative w-full min-w-[200px]\">\n <textarea\n :disabled=\"disabled\"\n class=\"peer h-full min-h-[100px] w-full resize-none rounded-[7px] border border-neutral-300 bg-transparent px-3 py-2.5 font-sans text-sm font-normal text-neutral-700 outline outline-0 transition-all placeholder-shown:border placeholder-shown:border-neutral-300 placeholder-shown:border-t-neutral-200 focus:border-2 focus:border-blue-500 focus:border-t-transparent focus:outline-0 disabled:resize-none disabled:border-0 disabled:cursor-not-allowed disabled:bg-neutral-200 focus:ring-0\"\n placeholder=\" \"\n ></textarea>\n <label\n 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\"\n >\n {{ labels.message }}\n </label>\n </div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_createElementVNode","_unref","_toDisplayString","labels"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,UAAM,QAAQ;AAqBd,UAAM,EAAE,SAAA,IAAa,OAAO,KAAK;;AAI/B,aAAAA,UAAA,GAAAC,mBAaM,OAbN,YAaM;AAAA,QAZJC,mBAWM,OAXN,YAWM;AAAA,UAVJA,mBAIY,YAAA;AAAA,YAHT,UAAUC,MAAA,QAAA;AAAA,YACX,OAAM;AAAA,YACN,aAAY;AAAA,UAAA;UAEdD,mBAIQ,SAJR,YAIQE,gBADHC,KAAAA,OAAO,OAAO,GAAA,CAAA;AAAA,QAAA;;;;;"}
|
|
@@ -35,7 +35,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
35
35
|
createElementVNode("label", {
|
|
36
36
|
class: "inline-block pl-[0.15rem] hover:cursor-pointer",
|
|
37
37
|
for: unref(id)
|
|
38
|
-
}, toDisplayString(
|
|
38
|
+
}, toDisplayString(_ctx.labels.defaultSwitch), 9, _hoisted_2)
|
|
39
39
|
]);
|
|
40
40
|
};
|
|
41
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EpToggle.vue2.js","sources":["../../../src/components/forms/EpToggle.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { toRefs } from \"vue\";\nimport type { EpToggleProps } from \"~/types/forms/EpToggle\";\n\nconst props = withDefaults(defineProps<EpToggleProps>(), {\n id: \"toggle\",\n label: \"label\",\n modelValue: \"\",\n type: \"checkbox\",\n placeholder: \"\",\n disabled: false,\n readonly: false,\n checked: false,\n labels: () => {\n return {\n defaultSwitch: \"Default switch checkbox input\",\n };\n },\n});\n\ndefineEmits<{\n (e: \"update:modelValue\", modelValue: string): void;\n}>();\n\nconst { id, type, disabled, checked } = toRefs(props);\n</script>\n\n<template>\n <div>\n <input\n :id=\"id\"\n :type=\"type\"\n :checked=\"checked\"\n class=\"form-checkbox mr-2 mt-[0rem] h-4 w-8 appearance-none rounded-full bg-neutral-200 border-neutral-300 before:pointer-events-none before:absolute before:h-3.5 before:w-3.5 before:rounded-full before:bg-transparent before:content-[''] after:absolute after:z-[2] after:-mt-[0rem] after:h-3.5 after:w-3.5 after:rounded-full after:border-none after:bg-neutral-50 after:shadow-[0_0px_3px_0_rgb(0_0_0_/_7%),_0_2px_2px_0_rgb(0_0_0_/_4%)] after:transition-[background-color_0.2s,transform_0.2s] after:content-[''] checked:bg-none checked:bg-blue-600 checked:after:absolute checked:after:z-[2] checked:after:-mt-[0px] checked:after:ml-[1.0625rem] checked:after:h-3.5 checked:after:w-3.5 checked:after:rounded-full checked:after:border-none checked:after:bg-neutral-100 checked:after:shadow-[0_3px_1px_-2px_rgba(0,0,0,0.2),_0_2px_2px_0_rgba(0,0,0,0.14),_0_1px_5px_0_rgba(0,0,0,0.12)] checked:after:transition-[background-color_0.2s,transform_0.2s] checked:after:content-[''] hover:cursor-pointer focus:outline-none focus:ring-0 focus:before:scale-75 focus:before:opacity-[0.12] focus:before:mt-[0.1rem] focus:before:shadow-[3px_-1px_0px_13px_rgba(0,0,0,0.6)] focus:before:transition-[box-shadow_0.2s,transform_0.2s] focus:after:absolute focus:after:z-[1] focus:after:block focus:after:h-3.5 focus:after:w-3.5 focus:after:-mt-[0rem] focus:after:rounded-full focus:after:content-[''] checked:focus:border-neutral-200 checked:focus:bg-blue-600 checked:focus:before:ml-[1rem] checked:focus:before:mt-[0.1rem] checked:focus:before:scale-75 checked:focus:before:shadow-[3px_-1px_0px_13px_#3b71ca] checked:focus:before:transition-[box-shadow_0.2s,transform_0.2s] 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\"\n role=\"switch\"\n :disabled=\"disabled\"\n />\n <label class=\"inline-block pl-[0.15rem] hover:cursor-pointer\" :for=\"id\">{{\n labels.defaultSwitch\n }}</label>\n </div>\n</template>\n"],"names":["_createElementBlock","_createElementVNode","_unref","
|
|
1
|
+
{"version":3,"file":"EpToggle.vue2.js","sources":["../../../src/components/forms/EpToggle.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { toRefs } from \"vue\";\nimport type { EpToggleProps } from \"~/types/forms/EpToggle\";\n\nconst props = withDefaults(defineProps<EpToggleProps>(), {\n id: \"toggle\",\n label: \"label\",\n modelValue: \"\",\n type: \"checkbox\",\n placeholder: \"\",\n disabled: false,\n readonly: false,\n checked: false,\n labels: () => {\n return {\n defaultSwitch: \"Default switch checkbox input\",\n };\n },\n});\n\ndefineEmits<{\n (e: \"update:modelValue\", modelValue: string): void;\n}>();\n\nconst { id, type, disabled, checked } = toRefs(props);\n</script>\n\n<template>\n <div>\n <input\n :id=\"id\"\n :type=\"type\"\n :checked=\"checked\"\n class=\"form-checkbox mr-2 mt-[0rem] h-4 w-8 appearance-none rounded-full bg-neutral-200 border-neutral-300 before:pointer-events-none before:absolute before:h-3.5 before:w-3.5 before:rounded-full before:bg-transparent before:content-[''] after:absolute after:z-[2] after:-mt-[0rem] after:h-3.5 after:w-3.5 after:rounded-full after:border-none after:bg-neutral-50 after:shadow-[0_0px_3px_0_rgb(0_0_0_/_7%),_0_2px_2px_0_rgb(0_0_0_/_4%)] after:transition-[background-color_0.2s,transform_0.2s] after:content-[''] checked:bg-none checked:bg-blue-600 checked:after:absolute checked:after:z-[2] checked:after:-mt-[0px] checked:after:ml-[1.0625rem] checked:after:h-3.5 checked:after:w-3.5 checked:after:rounded-full checked:after:border-none checked:after:bg-neutral-100 checked:after:shadow-[0_3px_1px_-2px_rgba(0,0,0,0.2),_0_2px_2px_0_rgba(0,0,0,0.14),_0_1px_5px_0_rgba(0,0,0,0.12)] checked:after:transition-[background-color_0.2s,transform_0.2s] checked:after:content-[''] hover:cursor-pointer focus:outline-none focus:ring-0 focus:before:scale-75 focus:before:opacity-[0.12] focus:before:mt-[0.1rem] focus:before:shadow-[3px_-1px_0px_13px_rgba(0,0,0,0.6)] focus:before:transition-[box-shadow_0.2s,transform_0.2s] focus:after:absolute focus:after:z-[1] focus:after:block focus:after:h-3.5 focus:after:w-3.5 focus:after:-mt-[0rem] focus:after:rounded-full focus:after:content-[''] checked:focus:border-neutral-200 checked:focus:bg-blue-600 checked:focus:before:ml-[1rem] checked:focus:before:mt-[0.1rem] checked:focus:before:scale-75 checked:focus:before:shadow-[3px_-1px_0px_13px_#3b71ca] checked:focus:before:transition-[box-shadow_0.2s,transform_0.2s] 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\"\n role=\"switch\"\n :disabled=\"disabled\"\n />\n <label class=\"inline-block pl-[0.15rem] hover:cursor-pointer\" :for=\"id\">{{\n labels.defaultSwitch\n }}</label>\n </div>\n</template>\n"],"names":["_createElementBlock","_createElementVNode","_unref","labels"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAIA,UAAM,QAAQ;AAoBd,UAAM,EAAE,IAAI,MAAM,UAAU,QAAA,IAAY,OAAO,KAAK;;0BAIlDA,mBAYM,OAAA,MAAA;AAAA,QAXJC,mBAOE,SAAA;AAAA,UANC,IAAIC,MAAA,EAAA;AAAA,UACJ,MAAMA,MAAA,IAAA;AAAA,UACN,SAASA,MAAA,OAAA;AAAA,UACV,OAAM;AAAA,UACN,MAAK;AAAA,UACJ,UAAUA,MAAA,QAAA;AAAA,QAAA;QAEbD,mBAEU,SAAA;AAAA,UAFH,OAAM;AAAA,UAAkD,KAAKC,MAAA,EAAA;AAAA,QAAA,GAClEC,gBAAAA,KAAAA,OAAO,aAAa,GAAA,GAAA,UAAA;AAAA,MAAA;;;;"}
|
|
@@ -77,7 +77,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
77
77
|
}, null, 8, ["icon-path"])) : createCommentVNode("", true),
|
|
78
78
|
createTextVNode(toDisplayString(unref(title)), 1)
|
|
79
79
|
], 2),
|
|
80
|
-
|
|
80
|
+
_ctx.subtitle ? (openBlock(), createElementBlock("p", _hoisted_2, toDisplayString(_ctx.subtitle), 1)) : createCommentVNode("", true)
|
|
81
81
|
]),
|
|
82
82
|
(openBlock(), createElementBlock("svg", {
|
|
83
83
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EpAccordeon.vue2.js","sources":["../../../src/components/interactions/EpAccordeon.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, toRefs, computed, onMounted, onUpdated } from \"vue\";\nimport EpIcon from \"~/components/basics/EpIcon.vue\";\nimport { typeAccordeon } from \"~/types/Accordeon\";\nimport type { EpAccordeonProps } from \"~/types/interactions/EpAccordeon\";\nimport useColors from \"~/composables/useColors\";\n\nconst props = withDefaults(defineProps<EpAccordeonProps>(), {\n open: false,\n type: \"base\",\n outlined: false,\n title: \"En savoir plus\",\n});\n\nconst showDiv = ref(props.open);\nconst collapsible = ref();\n\nconst isOutlined = computed(() => {\n if (props.outlined) {\n return \"outlined\";\n }\n return \"default\";\n});\n\nconst stylesHeader = computed(() => {\n return `flex justify-between items-center px-4 ${props.small ? 'py-1' : 'py-2'\n } cursor-pointer select-none ${typeAccordeon[props.type]?.[isOutlined.value]}`;\n});\n\nconst stylesHeaderOpen = computed(() => {\n return showDiv.value ? 'rounded-t' : 'rounded'\n})\n\nconst contentStyles = computed(() => {\n const colorBorder = useColors(props.type.toLocaleLowerCase(), 'border')\n return `px-4 bg-surface-2 dark:bg-surface-2-dark border border-t-0 rounded-b ${showDiv.value ? colorBorder : \"border-0\"\n }`;\n});\n\n\nconst updateHeight = () => {\n const content = collapsible.value;\n if (!content) return;\n\n if (!props.open) {\n content.style.maxHeight = 0;\n }\n};\n\nonMounted(updateHeight);\n\n\nfunction toggleDivVisibility() {\n showDiv.value = !showDiv.value;\n var content = collapsible.value;\n\n\n content.style.maxHeight = content.scrollHeight + \"px\";\n void content.offsetHeight;\n\n if (content.getBoundingClientRect().height) {\n content.style.maxHeight = 0;\n } else {\n content.style.maxHeight = content.scrollHeight + \"px\";\n }\n\n}\n\nconst { title, icon, small } = toRefs(props);\n</script>\n\n<template>\n <div>\n <div :class=\"`${stylesHeader} ${stylesHeaderOpen}`\" @click=\"toggleDivVisibility\">\n <div class=\"flex flex-col\">\n <h3 :class=\"`${small ? 'text' : 'text-lg'} flex items-center`\">\n <EpIcon v-if=\"icon\" :icon-path=\"icon\" size=\"28\" extraClass=\"mr-2\"></EpIcon>{{ title }}\n </h3>\n <p v-if=\"subtitle\" class=\"text-sm\">{{ subtitle }}</p>\n </div>\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"\n class=\"flex-shrink-0 h-6 w-6 mx-4 my-3 transition-transform duration-200 transform\"\n :class=\"{ 'rotate-45 scale-[1.15]': showDiv }\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 6v12m6-6H6\" />\n </svg>\n </div>\n <div ref=\"collapsible\" :class=\"`${contentStyles} ep-accordeon-content`\">\n <div class=\"py-3\">\n <slot />\n </div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.ep-accordeon-content {\n transition: max-height 0.2s ease-out;\n overflow: hidden;\n}\n</style>\n"],"names":["_createElementBlock","_createElementVNode","_normalizeClass","_unref","_createBlock","EpIcon","_toDisplayString","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAOA,UAAM,QAAQ;AAOd,UAAM,UAAU,IAAI,MAAM,IAAI;AAC9B,UAAM,cAAc,IAAA;AAEpB,UAAM,aAAa,SAAS,MAAM;AAChC,UAAI,MAAM,UAAU;AAClB,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,CAAC;AAED,UAAM,eAAe,SAAS,MAAM;;AAClC,aAAO,0CAA0C,MAAM,QAAQ,SAAS,MACtE,gCAA+B,mBAAc,MAAM,IAAI,MAAxB,mBAA4B,WAAW,MAAM;AAAA,IAChF,CAAC;AAED,UAAM,mBAAmB,SAAS,MAAM;AACtC,aAAO,QAAQ,QAAQ,cAAc;AAAA,IACvC,CAAC;AAED,UAAM,gBAAgB,SAAS,MAAM;AACnC,YAAM,cAAc,UAAU,MAAM,KAAK,kBAAA,GAAqB,QAAQ;AACtE,aAAO,wEAAwE,QAAQ,QAAQ,cAAc,UAC3G;AAAA,IACJ,CAAC;AAGD,UAAM,eAAe,MAAM;AACzB,YAAM,UAAU,YAAY;AAC5B,UAAI,CAAC,QAAS;AAEd,UAAI,CAAC,MAAM,MAAM;AACf,gBAAQ,MAAM,YAAY;AAAA,MAC5B;AAAA,IACF;AAEA,cAAU,YAAY;AAGtB,aAAS,sBAAsB;AAC7B,cAAQ,QAAQ,CAAC,QAAQ;AACzB,UAAI,UAAU,YAAY;AAG1B,cAAQ,MAAM,YAAY,QAAQ,eAAe;AAGjD,UAAI,QAAQ,sBAAA,EAAwB,QAAQ;AAC1C,gBAAQ,MAAM,YAAY;AAAA,MAC5B,OAAO;AACL,gBAAQ,MAAM,YAAY,QAAQ,eAAe;AAAA,MACnD;AAAA,IAEF;AAEA,UAAM,EAAE,OAAO,MAAM,MAAA,IAAU,OAAO,KAAK;;0BAIzCA,mBAmBM,OAAA,MAAA;AAAA,QAlBJC,mBAYM,OAAA;AAAA,UAZA,OAAKC,eAAA,GAAK,aAAA,KAAY,IAAI,iBAAA,KAAgB,EAAA;AAAA,UAAK,SAAO;AAAA,QAAA;UAC1DD,mBAKM,OALN,YAKM;AAAA,YAJJA,mBAEK,MAAA;AAAA,cAFA,yBAAUE,MAAA,KAAA,IAAK,SAAA,SAAA,oBAAA;AAAA,YAAA;cACJA,MAAA,IAAA,kBAAdC,YAA2EC,aAAA;AAAA;gBAAtD,aAAWF,MAAA,IAAA;AAAA,gBAAM,MAAK;AAAA,gBAAK,YAAW;AAAA,cAAA;8CAAmBA,MAAA,KAAA,CAAK,GAAA,CAAA;AAAA,YAAA;
|
|
1
|
+
{"version":3,"file":"EpAccordeon.vue2.js","sources":["../../../src/components/interactions/EpAccordeon.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, toRefs, computed, onMounted, onUpdated } from \"vue\";\nimport EpIcon from \"~/components/basics/EpIcon.vue\";\nimport { typeAccordeon } from \"~/types/Accordeon\";\nimport type { EpAccordeonProps } from \"~/types/interactions/EpAccordeon\";\nimport useColors from \"~/composables/useColors\";\n\nconst props = withDefaults(defineProps<EpAccordeonProps>(), {\n open: false,\n type: \"base\",\n outlined: false,\n title: \"En savoir plus\",\n});\n\nconst showDiv = ref(props.open);\nconst collapsible = ref();\n\nconst isOutlined = computed(() => {\n if (props.outlined) {\n return \"outlined\";\n }\n return \"default\";\n});\n\nconst stylesHeader = computed(() => {\n return `flex justify-between items-center px-4 ${props.small ? 'py-1' : 'py-2'\n } cursor-pointer select-none ${typeAccordeon[props.type]?.[isOutlined.value]}`;\n});\n\nconst stylesHeaderOpen = computed(() => {\n return showDiv.value ? 'rounded-t' : 'rounded'\n})\n\nconst contentStyles = computed(() => {\n const colorBorder = useColors(props.type.toLocaleLowerCase(), 'border')\n return `px-4 bg-surface-2 dark:bg-surface-2-dark border border-t-0 rounded-b ${showDiv.value ? colorBorder : \"border-0\"\n }`;\n});\n\n\nconst updateHeight = () => {\n const content = collapsible.value;\n if (!content) return;\n\n if (!props.open) {\n content.style.maxHeight = 0;\n }\n};\n\nonMounted(updateHeight);\n\n\nfunction toggleDivVisibility() {\n showDiv.value = !showDiv.value;\n var content = collapsible.value;\n\n\n content.style.maxHeight = content.scrollHeight + \"px\";\n void content.offsetHeight;\n\n if (content.getBoundingClientRect().height) {\n content.style.maxHeight = 0;\n } else {\n content.style.maxHeight = content.scrollHeight + \"px\";\n }\n\n}\n\nconst { title, icon, small } = toRefs(props);\n</script>\n\n<template>\n <div>\n <div :class=\"`${stylesHeader} ${stylesHeaderOpen}`\" @click=\"toggleDivVisibility\">\n <div class=\"flex flex-col\">\n <h3 :class=\"`${small ? 'text' : 'text-lg'} flex items-center`\">\n <EpIcon v-if=\"icon\" :icon-path=\"icon\" size=\"28\" extraClass=\"mr-2\"></EpIcon>{{ title }}\n </h3>\n <p v-if=\"subtitle\" class=\"text-sm\">{{ subtitle }}</p>\n </div>\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"\n class=\"flex-shrink-0 h-6 w-6 mx-4 my-3 transition-transform duration-200 transform\"\n :class=\"{ 'rotate-45 scale-[1.15]': showDiv }\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 6v12m6-6H6\" />\n </svg>\n </div>\n <div ref=\"collapsible\" :class=\"`${contentStyles} ep-accordeon-content`\">\n <div class=\"py-3\">\n <slot />\n </div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.ep-accordeon-content {\n transition: max-height 0.2s ease-out;\n overflow: hidden;\n}\n</style>\n"],"names":["_createElementBlock","_createElementVNode","_normalizeClass","_unref","_createBlock","EpIcon","subtitle","_toDisplayString","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAOA,UAAM,QAAQ;AAOd,UAAM,UAAU,IAAI,MAAM,IAAI;AAC9B,UAAM,cAAc,IAAA;AAEpB,UAAM,aAAa,SAAS,MAAM;AAChC,UAAI,MAAM,UAAU;AAClB,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,CAAC;AAED,UAAM,eAAe,SAAS,MAAM;;AAClC,aAAO,0CAA0C,MAAM,QAAQ,SAAS,MACtE,gCAA+B,mBAAc,MAAM,IAAI,MAAxB,mBAA4B,WAAW,MAAM;AAAA,IAChF,CAAC;AAED,UAAM,mBAAmB,SAAS,MAAM;AACtC,aAAO,QAAQ,QAAQ,cAAc;AAAA,IACvC,CAAC;AAED,UAAM,gBAAgB,SAAS,MAAM;AACnC,YAAM,cAAc,UAAU,MAAM,KAAK,kBAAA,GAAqB,QAAQ;AACtE,aAAO,wEAAwE,QAAQ,QAAQ,cAAc,UAC3G;AAAA,IACJ,CAAC;AAGD,UAAM,eAAe,MAAM;AACzB,YAAM,UAAU,YAAY;AAC5B,UAAI,CAAC,QAAS;AAEd,UAAI,CAAC,MAAM,MAAM;AACf,gBAAQ,MAAM,YAAY;AAAA,MAC5B;AAAA,IACF;AAEA,cAAU,YAAY;AAGtB,aAAS,sBAAsB;AAC7B,cAAQ,QAAQ,CAAC,QAAQ;AACzB,UAAI,UAAU,YAAY;AAG1B,cAAQ,MAAM,YAAY,QAAQ,eAAe;AAGjD,UAAI,QAAQ,sBAAA,EAAwB,QAAQ;AAC1C,gBAAQ,MAAM,YAAY;AAAA,MAC5B,OAAO;AACL,gBAAQ,MAAM,YAAY,QAAQ,eAAe;AAAA,MACnD;AAAA,IAEF;AAEA,UAAM,EAAE,OAAO,MAAM,MAAA,IAAU,OAAO,KAAK;;0BAIzCA,mBAmBM,OAAA,MAAA;AAAA,QAlBJC,mBAYM,OAAA;AAAA,UAZA,OAAKC,eAAA,GAAK,aAAA,KAAY,IAAI,iBAAA,KAAgB,EAAA;AAAA,UAAK,SAAO;AAAA,QAAA;UAC1DD,mBAKM,OALN,YAKM;AAAA,YAJJA,mBAEK,MAAA;AAAA,cAFA,yBAAUE,MAAA,KAAA,IAAK,SAAA,SAAA,oBAAA;AAAA,YAAA;cACJA,MAAA,IAAA,kBAAdC,YAA2EC,aAAA;AAAA;gBAAtD,aAAWF,MAAA,IAAA;AAAA,gBAAM,MAAK;AAAA,gBAAK,YAAW;AAAA,cAAA;8CAAmBA,MAAA,KAAA,CAAK,GAAA,CAAA;AAAA,YAAA;YAE5EG,KAAAA,yBAATN,mBAAqD,KAArD,YAAqDO,gBAAfD,KAAAA,QAAQ,GAAA,CAAA;;wBAEhDN,mBAIM,OAAA;AAAA,YAJD,OAAM;AAAA,YAA6B,MAAK;AAAA,YAAO,SAAQ;AAAA,YAAY,gBAAa;AAAA,YAAM,QAAO;AAAA,YAChG,OAAKE,eAAA,CAAC,+EAA6E,EAAA,0BAC/C,QAAA,OAAO,CAAA;AAAA,UAAA;YAC3CD,mBAA0E,QAAA;AAAA,cAApE,kBAAe;AAAA,cAAQ,mBAAgB;AAAA,cAAQ,GAAE;AAAA,YAAA;;;QAG3DA,mBAIM,OAAA;AAAA,mBAJG;AAAA,UAAJ,KAAI;AAAA,UAAe,yBAAU,cAAA,KAAa,uBAAA;AAAA,QAAA;UAC7CA,mBAEM,OAFN,YAEM;AAAA,YADJO,WAAQ,KAAA,QAAA,WAAA,CAAA,GAAA,QAAA,IAAA;AAAA,UAAA;;;;;;"}
|
|
@@ -102,9 +102,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
102
102
|
});
|
|
103
103
|
});
|
|
104
104
|
const edges = ref([]);
|
|
105
|
-
const displayedEdges = computed(
|
|
106
|
-
() => props.interactive ? edges.value : correctEdges.value
|
|
107
|
-
);
|
|
108
105
|
const trying = ref(true);
|
|
109
106
|
const solution = ref(false);
|
|
110
107
|
const validating = ref(false);
|
|
@@ -116,7 +113,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
116
113
|
edges.value = edges.value.map((edge) => {
|
|
117
114
|
let inside = false;
|
|
118
115
|
for (let correctEdge of correctEdges.value) {
|
|
119
|
-
if (edge.id == correctEdge.id)
|
|
116
|
+
if (edge.id == correctEdge.id)
|
|
117
|
+
inside = true;
|
|
120
118
|
}
|
|
121
119
|
if (!inside) {
|
|
122
120
|
incorrectNodes.add(edge.source);
|
|
@@ -133,7 +131,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
133
131
|
for (let correctEdge of correctEdges.value) {
|
|
134
132
|
let inside = false;
|
|
135
133
|
for (let edge of edges.value) {
|
|
136
|
-
if (edge.id == correctEdge.id)
|
|
134
|
+
if (edge.id == correctEdge.id)
|
|
135
|
+
inside = true;
|
|
137
136
|
}
|
|
138
137
|
if (!inside) {
|
|
139
138
|
incorrectNodes.add(correctEdge.source);
|
|
@@ -192,7 +191,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
192
191
|
});
|
|
193
192
|
};
|
|
194
193
|
const onConnect = (connection) => {
|
|
195
|
-
|
|
194
|
+
let newEdge = {
|
|
196
195
|
id: "e" + connection.source + "->" + connection.target,
|
|
197
196
|
type: "straight",
|
|
198
197
|
source: connection.source,
|
|
@@ -240,10 +239,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
240
239
|
onConnect,
|
|
241
240
|
id: unref(id),
|
|
242
241
|
nodes: nodes.value,
|
|
243
|
-
edges:
|
|
242
|
+
edges: _ctx.interactive ? edges.value : correctEdges.value,
|
|
244
243
|
"nodes-draggable": false,
|
|
245
244
|
"pan-on-drag": false,
|
|
246
|
-
"nodes-connectable":
|
|
245
|
+
"nodes-connectable": _ctx.interactive && trying.value,
|
|
247
246
|
"zoom-on-scroll": false,
|
|
248
247
|
"zoom-on-pinch": false,
|
|
249
248
|
"zoom-on-double-click": false
|
|
@@ -254,19 +253,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
254
253
|
_: 1
|
|
255
254
|
}, 8, ["id", "nodes", "edges", "nodes-connectable"])
|
|
256
255
|
], 4),
|
|
257
|
-
|
|
258
|
-
trying.value ? (openBlock(), createElementBlock("p", _hoisted_2, "
|
|
259
|
-
validating.value ? (openBlock(), createElementBlock("p", _hoisted_3, "
|
|
256
|
+
_ctx.interactive ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
257
|
+
trying.value ? (openBlock(), createElementBlock("p", _hoisted_2, "Vous pouvez double-clicker sur une arête pour la supprimer.")) : createCommentVNode("", true),
|
|
258
|
+
validating.value ? (openBlock(), createElementBlock("p", _hoisted_3, "Les éléments en verts sont corrects et ceux en rouge sont incorrects.")) : createCommentVNode("", true)
|
|
260
259
|
])) : createCommentVNode("", true),
|
|
261
|
-
|
|
260
|
+
_ctx.interactive ? (openBlock(), createElementBlock("div", _hoisted_4, [
|
|
262
261
|
createElementVNode("button", {
|
|
263
262
|
class: "bg-blue-500 text-white px-3 py-2 m-2 rounded-md text-center",
|
|
264
263
|
onClick: _cache[1] || (_cache[1] = ($event) => trying.value ? validate() : retry())
|
|
265
264
|
}, toDisplayString(trying.value ? "Valider" : "Réessayer"), 1),
|
|
266
265
|
createElementVNode("button", {
|
|
267
|
-
class: normalizeClass(`${
|
|
266
|
+
class: normalizeClass(`${_ctx.mustTry && trying.value ? "bg-blue-300" : "bg-blue-500"} text-white px-3 py-2 m-2 rounded-md text-center`),
|
|
268
267
|
onClick: _cache[2] || (_cache[2] = ($event) => showAnswer()),
|
|
269
|
-
disabled:
|
|
268
|
+
disabled: _ctx.mustTry && trying.value
|
|
270
269
|
}, " Voir la réponse ", 10, _hoisted_5)
|
|
271
270
|
])) : createCommentVNode("", true)
|
|
272
271
|
], 64);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EpAssociation.vue.js","sources":["../../../src/components/interactions/EpAssociation.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, computed } from \"vue\";\nimport type { Node, Connection, EdgeMouseEvent } from \"@vue-flow/core\";\nimport { VueFlow, useVueFlow } from \"@vue-flow/core\";\nimport type { EpAssociationProps } from \"~/types/interactions/EpAssociation\";\nimport { useCreateUid } from \"~/composables/useCreateUid\";\n\nimport AssociationNode from \"../tools/AssociationNode.vue\";\nimport type { LeftOption, RightOption } from \"~/types/Association\";\n\nconst props = withDefaults(defineProps<EpAssociationProps>(), {\n interactive: false,\n mustTry: false,\n random: false,\n});\n\ninterface AssociationEdge {\n id: string;\n source: string;\n target: string;\n type: string;\n animated: boolean;\n updatable: boolean;\n style?: {\n stroke?: string;\n strokeWidth?: number;\n [key: string]: string | number | undefined;\n };\n}\n\nconst id = useCreateUid();\n\nconst { fitView, onEdgeDoubleClick } = useVueFlow({ id: id });\n\nconst shuffle = (tab: any) => {\n for (let i = tab.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [tab[i], tab[j]] = [tab[j], tab[i]];\n }\n return tab;\n};\n\nconst leftNodes = computed<LeftOption[]>(() => {\n if (props.random) {\n return shuffle([...props.leftOptions]);\n }\n return props.leftOptions;\n});\n\nconst rightNodes = computed<RightOption[]>(() => {\n if (props.random) {\n return shuffle([...props.rightOptions]);\n }\n return props.rightOptions;\n});\n\n// these are our nodes\nconst initialNodes = computed<Node[]>(() => {\n let yLeft = 50;\n let yRight = 50;\n const GAP = 40;\n\n let left: Node[] = leftNodes.value.map((option, idx) => {\n const h = option.height ?? 100;\n let result = {\n id: option.uid,\n type: \"association\",\n position: { x: 50, y: yLeft },\n data: {\n label: option.text,\n index: idx,\n left: true,\n },\n } as Node;\n\n yLeft += h + GAP;\n return result;\n });\n\n let right: Node[] = rightNodes.value.map((option, idx) => {\n const h = option.height ?? 100;\n const result = {\n id: option.uid,\n type: \"association\",\n position: { x: 550, y: yRight },\n data: {\n label: option.text,\n index: idx,\n left: false,\n },\n } as Node;\n\n yRight += h + GAP;\n return result;\n });\n\n return [...left, ...right];\n});\n\nconst nodes = ref<Node[]>(initialNodes.value);\n\n// The correct edges\nconst correctEdges = computed<AssociationEdge[]>(() => {\n return leftNodes.value.flatMap((option) => {\n return option.answers.map((answer) => {\n return {\n id: \"e\" + option.uid + \"->\" + answer,\n type: \"straight\",\n source: option.uid,\n target: answer,\n animated: false,\n style: {\n strokeWidth: 3,\n },\n updatable: false,\n };\n });\n });\n});\n\nconst edges = ref<AssociationEdge[]>([]);\nconst displayedEdges = computed<AssociationEdge[]>(() =>\n props.interactive ? edges.value : correctEdges.value,\n);\n\nconst trying = ref(true);\nconst solution = ref(false);\nconst validating = ref(false);\n\nconst validate = () => {\n trying.value = false;\n solution.value = false;\n validating.value = true;\n\n // Put the right colors for the validation\n let incorrectNodes = new Set<string>();\n\n // Check edges\n edges.value = edges.value.map((edge) => {\n let inside = false;\n for (let correctEdge of correctEdges.value) {\n if (edge.id == correctEdge.id) inside = true;\n }\n if (!inside) {\n incorrectNodes.add(edge.source);\n incorrectNodes.add(edge.target);\n }\n return {\n ...edge,\n style: {\n ...edge.style,\n stroke: inside ? \"#16a34a\" : \"#dc2626\",\n },\n };\n });\n\n for (let correctEdge of correctEdges.value) {\n let inside = false;\n for (let edge of edges.value) {\n if (edge.id == correctEdge.id) inside = true;\n }\n if (!inside) {\n incorrectNodes.add(correctEdge.source);\n incorrectNodes.add(correctEdge.target);\n }\n }\n\n // Check Nodes\n nodes.value = nodes.value.map((node: Node) => {\n console.log(\"here\");\n if (incorrectNodes.has(node.id))\n return {\n ...node,\n data: {\n ...node.data,\n mode: \"wrong\",\n },\n };\n else\n return {\n ...node,\n data: {\n ...node.data,\n mode: \"correct\",\n },\n };\n });\n};\n\nconst retry = () => {\n trying.value = true;\n solution.value = false;\n validating.value = false;\n\n edges.value = [];\n nodes.value = nodes.value.map((node: Node) => {\n return {\n ...node,\n data: {\n ...node.data,\n mode: \"neutral\",\n },\n };\n });\n};\n\nconst showAnswer = () => {\n fitView();\n\n solution.value = true;\n trying.value = false;\n validating.value = false;\n\n edges.value = correctEdges.value;\n nodes.value = nodes.value.map((node: Node) => {\n return {\n ...node,\n data: {\n ...node.data,\n mode: \"neutral\",\n },\n };\n });\n};\n\nconst onConnect = (connection: Connection) => {\n const newEdge: AssociationEdge = {\n id: \"e\" + connection.source + \"->\" + connection.target,\n type: \"straight\",\n source: connection.source,\n target: connection.target,\n animated: false,\n updatable: false,\n style: {\n strokeWidth: 3,\n },\n };\n edges.value = [...edges.value, newEdge];\n};\n\nonEdgeDoubleClick((event: EdgeMouseEvent) => {\n if (trying.value) {\n edges.value = edges.value.filter((edge) => {\n return edge.id !== event.edge.id;\n });\n }\n console.log(\"edge double clicked\", event);\n});\n\nconst computedHeight = computed(() => {\n let GAP = 40;\n let heightLeft = GAP;\n let heightRight = GAP;\n\n leftNodes.value.forEach((option) => {\n heightLeft += (option.height ?? 100) + GAP;\n });\n\n rightNodes.value.forEach((option) => {\n heightRight += (option.height ?? 100) + GAP;\n });\n\n return Math.max(heightLeft, heightRight);\n});\n</script>\n\n<template>\n <div\n class=\"border-2 rounded\"\n :style=\"{ width: '90%', height: computedHeight + 'px', margin: 'auto' }\"\n >\n <VueFlow\n @pane-ready=\"\n () => {\n fitView();\n }\n \"\n @connect=\"onConnect\"\n :id=\"id\"\n :nodes=\"nodes\"\n :edges=\"displayedEdges\"\n :nodes-draggable=\"false\"\n :pan-on-drag=\"false\"\n :nodes-connectable=\"interactive && trying\"\n :zoom-on-scroll=\"false\"\n :zoom-on-pinch=\"false\"\n :zoom-on-double-click=\"false\"\n >\n <!-- bind the custom node type to the component -->\n <template #node-association=\"AssociationNodeProps\">\n <AssociationNode v-bind=\"AssociationNodeProps\" />\n </template>\n </VueFlow>\n </div>\n <div class=\"p-2 text-center text-sm text-neutral-300\" v-if=\"interactive\">\n <p v-if=\"trying\">\n Vous pouvez double-clicker sur une arête pour la supprimer.\n </p>\n <p v-if=\"validating\">\n Les éléments en verts sont corrects et ceux en rouge sont incorrects.\n </p>\n </div>\n <div class=\"flex items-center justify-around\" v-if=\"interactive\">\n <button\n class=\"bg-blue-500 text-white px-3 py-2 m-2 rounded-md text-center\"\n @click=\"trying ? validate() : retry()\"\n >\n {{ trying ? \"Valider\" : \"Réessayer\" }}\n </button>\n\n <button\n :class=\"`${mustTry && trying ? 'bg-blue-300' : 'bg-blue-500'} text-white px-3 py-2 m-2 rounded-md text-center`\"\n @click=\"showAnswer()\"\n :disabled=\"mustTry && trying\"\n >\n Voir la réponse\n </button>\n </div>\n</template>\n"],"names":["_createElementVNode","_createVNode","_unref","_withCtx","AssociationNode","_openBlock","_createElementBlock","_normalizeClass"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EpAssociation.vue.js","sources":["../../../src/components/interactions/EpAssociation.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, computed } from 'vue'\nimport type { Node, Edge, Connection, EdgeMouseEvent } from '@vue-flow/core' \nimport { VueFlow, useVueFlow } from '@vue-flow/core'\nimport type { EpAssociationProps } from \"~/types/interactions/EpAssociation\";\nimport { useCreateUid } from '~/composables/useCreateUid';\n\nimport AssociationNode from '../tools/AssociationNode.vue';\nimport type { LeftOption, RightOption } from '~/types/Association';\n\nconst props = withDefaults(defineProps<EpAssociationProps>(), {\n interactive: false,\n mustTry: false,\n random: false,\n});\n\nconst id = useCreateUid();\n\nconst { fitView, onEdgeDoubleClick } = useVueFlow({ id: id })\n\nconst shuffle = (tab: any) => {\n for (let i = tab.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [tab[i], tab[j]] = [tab[j], tab[i]];\n }\n return tab;\n}\n\n\nconst leftNodes = computed<LeftOption[]>(() => {\n if(props.random) {\n return shuffle([...props.leftOptions]);\n }\n return props.leftOptions;\n});\n\nconst rightNodes = computed<RightOption[]>(() => {\n if(props.random) {\n return shuffle([...props.rightOptions]);\n }\n return props.rightOptions;\n});\n\n// these are our nodes\nconst initialNodes = computed<Node[]>(() => {\n let yLeft = 50;\n let yRight = 50;\n const GAP = 40;\n\n let left: Node [] = leftNodes.value.map((option, idx) => {\n const h = option.height ?? 100;\n let result = {\n id: option.uid,\n type: 'association',\n position: { x: 50, y: yLeft },\n data: { \n label: option.text,\n index: idx,\n left: true\n }\n } as Node\n\n yLeft += h + GAP;\n return result;\n\n });\n\n let right: Node [] = rightNodes.value.map((option, idx) => {\n const h = option.height ?? 100;\n const result = {\n id: option.uid,\n type: 'association',\n position: { x: 550, y: yRight },\n data: { \n label: option.text,\n index: idx,\n left: false\n }\n } as Node\n\n yRight += h + GAP;\n return result;\n });\n\n return [...left, ...right];\n})\n\nconst nodes = ref<Node[]>(initialNodes.value)\n\n// The correct edges\nconst correctEdges = computed<Edge[]>(() => {\n return leftNodes.value.flatMap((option) => {\n return option.answers.map((answer) => {\n return {\n id: 'e' + option.uid + '->' + answer,\n type: 'straight',\n source: option.uid,\n target: answer,\n animated: false,\n style: {\n strokeWidth: 3,\n },\n updatable: false\n }\n });\n })\n});\n\nconst edges = ref<Edge[]>([]);\n\nconst trying = ref(true);\nconst solution = ref(false);\nconst validating = ref(false);\n\nconst validate = () => {\n trying.value = false;\n solution.value = false;\n validating.value = true;\n\n // Put the right colors for the validation\n let incorrectNodes = new Set<string>();\n\n // Check edges\n edges.value = edges.value.map((edge: Edge) => {\n let inside = false;\n for(let correctEdge of correctEdges.value) {\n if(edge.id == correctEdge.id)\n inside = true;\n }\n if(!inside) {\n incorrectNodes.add(edge.source);\n incorrectNodes.add(edge.target);\n }\n return {\n ...edge,\n style: {\n ...edge.style,\n stroke: inside ? '#16a34a' : '#dc2626'\n }\n }\n });\n\n for(let correctEdge of correctEdges.value) {\n let inside = false;\n for(let edge of edges.value) {\n if(edge.id == correctEdge.id)\n inside = true;\n }\n if(!inside) {\n incorrectNodes.add(correctEdge.source);\n incorrectNodes.add(correctEdge.target);\n }\n }\n\n // Check Nodes\n nodes.value = nodes.value.map((node: Node) => {\n console.log('here')\n if(incorrectNodes.has(node.id)) \n return {\n ...node,\n data: {\n ...node.data,\n mode: 'wrong'\n }\n }\n else\n return {\n ...node,\n data: {\n ...node.data,\n mode: 'correct'\n }\n }\n })\n}\n\nconst retry = () => {\n trying.value = true;\n solution.value = false;\n validating.value = false;\n\n edges.value = [];\n nodes.value = nodes.value.map((node: Node) => { \n return {\n ...node,\n data: {\n ...node.data,\n mode: 'neutral'\n }\n }\n });\n}\n\nconst showAnswer = () => {\n fitView();\n\n solution.value = true;\n trying.value = false;\n validating.value = false;\n\n edges.value = correctEdges.value;\n nodes.value = nodes.value.map((node: Node) => { \n return {\n ...node,\n data: {\n ...node.data,\n mode: 'neutral'\n }\n }\n });\n}\n\nconst onConnect = (connection: Connection) => {\n let newEdge: Edge = {\n id: 'e' + connection.source + '->' + connection.target,\n type: 'straight',\n source: connection.source,\n target: connection.target,\n animated: false,\n updatable: false,\n style: {\n strokeWidth: 3,\n },\n }\n edges.value = [...edges.value, newEdge]\n}\n\n\nonEdgeDoubleClick((event: EdgeMouseEvent) => {\n if(trying.value) {\n edges.value = edges.value.filter((edge: Edge) => {\n return edge.id !== event.edge.id\n })\n }\n console.log('edge double clicked', event)\n})\n\nconst computedHeight = computed(() => {\n let GAP = 40;\n let heightLeft = GAP;\n let heightRight = GAP;\n\n leftNodes.value.forEach((option) => {\n heightLeft += (option.height ?? 100) + GAP;\n });\n\n rightNodes.value.forEach((option) => {\n heightRight += (option.height ?? 100) + GAP;\n });\n\n return Math.max(heightLeft, heightRight);\n})\n\n</script>\n\n<template>\n <div class=\"border-2 rounded\" :style=\"{ width: '90%', height: computedHeight + 'px', margin: 'auto' }\">\n <VueFlow \n @pane-ready=\"() => { fitView() }\"\n @connect = \"onConnect\"\n\n :id=\"id\"\n :nodes=\"nodes\" \n :edges=\"(interactive)? edges : correctEdges\"\n :nodes-draggable=\"false\"\n :pan-on-drag=\"false\"\n :nodes-connectable=\"interactive && trying\"\n :zoom-on-scroll=\"false\"\n :zoom-on-pinch=\"false\"\n :zoom-on-double-click=\"false\"\n >\n <!-- bind the custom node type to the component -->\n <template #node-association=\"AssociationNodeProps\">\n <AssociationNode v-bind=\"AssociationNodeProps\" />\n </template>\n </VueFlow>\n </div>\n <div class=\"p-2 text-center text-sm text-neutral-300\" v-if=\"interactive\">\n <p v-if=\"trying\">Vous pouvez double-clicker sur une arête pour la supprimer.</p>\n <p v-if=\"validating\">Les éléments en verts sont corrects et ceux en rouge sont incorrects.</p>\n </div>\n <div class=\"flex items-center justify-around\" v-if=\"interactive\">\n <button\n class=\"bg-blue-500 text-white px-3 py-2 m-2 rounded-md text-center\"\n @click=\"(trying)? validate() : retry()\"\n >\n {{(trying)? 'Valider' : 'Réessayer'}}\n </button>\n\n <button\n :class=\"`${(mustTry && trying)? 'bg-blue-300' : 'bg-blue-500'} text-white px-3 py-2 m-2 rounded-md text-center`\"\n @click=\"showAnswer()\" \n :disabled=\"(mustTry && trying)\"\n >\n Voir la réponse\n </button>\n </div>\n</template>\n\n"],"names":["_createElementVNode","_createVNode","_unref","interactive","_withCtx","AssociationNode","_openBlock","_createElementBlock","_normalizeClass","mustTry"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { defineComponent, ref, computed, defineAsyncComponent, createElementBloc
|
|
|
2
2
|
import { useComponent } from "../../composables/useComponent.js";
|
|
3
3
|
import { mdiArrowLeft, mdiArrowRight } from "@mdi/js";
|
|
4
4
|
import _sfc_main$1 from "../basics/EpIcon.vue.js";
|
|
5
|
-
import _sfc_main$2 from "../tools/RenderTextNode.
|
|
5
|
+
import _sfc_main$2 from "../tools/RenderTextNode.vue2.js";
|
|
6
6
|
const _hoisted_1 = { class: "relative h-[600px] flex flex-col p-6 w-full overflow-hidden rounded-lg shadow-xl bg-surface-2 dark:bg-surface-2-dark" };
|
|
7
7
|
const _hoisted_2 = { class: "flex justify-between items-center pb-3 mb-3 border-b-2 border-gray-600 dark:border-gray-300" };
|
|
8
8
|
const _hoisted_3 = {
|
|
@@ -266,7 +266,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
266
266
|
}, [
|
|
267
267
|
currentSlide.value.component ? (openBlock(), createBlock(Suspense, { key: 0 }, {
|
|
268
268
|
fallback: withCtx(() => [
|
|
269
|
-
createTextVNode(toDisplayString(
|
|
269
|
+
createTextVNode(toDisplayString(_ctx.loading), 1)
|
|
270
270
|
]),
|
|
271
271
|
default: withCtx(() => [
|
|
272
272
|
(openBlock(), createBlock(resolveDynamicComponent(currentSlideMediaContent.value), mergeProps({ ...currentSlide.value.component.data }, { class: "max-h-full max-w-full object-contain" }), null, 16))
|