UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 11.2 kB
{"version":3,"file":"step2.mjs","sources":["../../../../../../packages/components/tour/src/step.vue"],"sourcesContent":["<template>\n <button\n v-if=\"mergedShowClose\"\n :aria-label=\"t('el.tour.close')\"\n :class=\"ns.e('closebtn')\"\n type=\"button\"\n @click=\"onClose\"\n >\n <el-icon :class=\"ns.e('close')\">\n <component :is=\"mergedCloseIcon\" />\n </el-icon>\n </button>\n <header :class=\"[ns.e('header'), { 'show-close': showClose }]\">\n <slot name=\"header\">\n <span role=\"heading\" :class=\"ns.e('title')\">\n {{ title }}\n </span>\n </slot>\n </header>\n <div :class=\"ns.e('body')\">\n <slot>\n <span>{{ description }}</span>\n </slot>\n </div>\n <footer :class=\"ns.e('footer')\">\n <div :class=\"ns.b('indicators')\">\n <component\n :is=\"tourSlots.indicators\"\n v-if=\"tourSlots.indicators\"\n :current=\"current\"\n :total=\"total\"\n />\n <template v-else>\n <span\n v-for=\"(item, index) in total\"\n :key=\"item\"\n :class=\"[ns.b('indicator'), ns.is('active', index === current)]\"\n />\n </template>\n </div>\n <div :class=\"ns.b('buttons')\">\n <el-button\n v-if=\"current > 0\"\n size=\"small\"\n :type=\"mergedType\"\n v-bind=\"filterButtonProps(prevButtonProps)\"\n @click=\"onPrev\"\n >\n {{ prevButtonProps?.children ?? t('el.tour.previous') }}\n </el-button>\n <el-button\n v-if=\"current <= total - 1\"\n size=\"small\"\n :type=\"mergedType === 'primary' ? 'default' : 'primary'\"\n v-bind=\"filterButtonProps(nextButtonProps)\"\n @click=\"onNext\"\n >\n {{\n nextButtonProps?.children ??\n (current === total - 1 ? t('el.tour.finish') : t('el.tour.next'))\n }}\n </el-button>\n </div>\n </footer>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, onBeforeUnmount, onMounted, watch } from 'vue'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { omit } from 'lodash-unified'\nimport { ElButton } from '@element-plus/components/button'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { CloseComponents, getEventCode } from '@element-plus/utils'\nimport { useLocale } from '@element-plus/hooks'\nimport { tourStepEmits, tourStepProps } from './step'\nimport { tourKey } from './helper'\n\nimport type { TourBtnProps } from './types'\n\ndefineOptions({\n name: 'ElTourStep',\n})\n\nconst props = defineProps(tourStepProps)\nconst emit = defineEmits(tourStepEmits)\n\nconst { Close } = CloseComponents\n\nconst { t } = useLocale()\n\nconst {\n currentStep,\n current,\n total,\n showClose,\n closeIcon,\n mergedType,\n ns,\n slots: tourSlots,\n updateModelValue,\n onClose: tourOnClose,\n onFinish: tourOnFinish,\n onChange,\n} = inject(tourKey)!\n\nwatch(\n props,\n (val) => {\n currentStep.value = val\n },\n {\n immediate: true,\n }\n)\n\nconst mergedShowClose = computed(() => props.showClose ?? showClose.value)\nconst mergedCloseIcon = computed(\n () => props.closeIcon ?? closeIcon.value ?? Close\n)\n\nconst filterButtonProps = (btnProps?: TourBtnProps) => {\n if (!btnProps) return\n return omit(btnProps, ['children', 'onClick'])\n}\n\nconst onPrev = () => {\n current.value -= 1\n if (props.prevButtonProps?.onClick) {\n props.prevButtonProps?.onClick()\n }\n onChange()\n}\n\nconst onNext = () => {\n if (current.value >= total.value - 1) {\n onFinish()\n } else {\n current.value += 1\n }\n if (props.nextButtonProps?.onClick) {\n props.nextButtonProps.onClick()\n }\n onChange()\n}\n\nconst onFinish = () => {\n onClose()\n tourOnFinish()\n}\n\nconst onClose = () => {\n updateModelValue(false)\n tourOnClose()\n emit('close')\n}\n\nconst handleKeydown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement | null\n if (target?.isContentEditable) return\n const code = getEventCode(e)\n\n switch (code) {\n case EVENT_CODE.left:\n e.preventDefault()\n current.value > 0 && onPrev()\n break\n case EVENT_CODE.right:\n e.preventDefault()\n onNext()\n break\n }\n}\n\nonMounted(() => {\n window.addEventListener('keydown', handleKeydown)\n})\n\nonBeforeUnmount(() => {\n window.removeEventListener('keydown', handleKeydown)\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_unref","_normalizeClass","_createVNode","_createBlock","_resolveDynamicComponent","_createElementVNode","_renderSlot","title","_toDisplayString","description","_Fragment","_renderList","_mergeProps","prevButtonProps","_withCtx","_createTextVNode","nextButtonProps"],"mappings":"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"}