@element-plus/nightly 0.0.20240602 → 0.0.20240604
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/index.css +1 -1
- package/dist/index.full.js +4 -4
- package/dist/index.full.min.js +4 -4
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +4 -4
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +4 -4
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar-eg.js +1 -1
- package/dist/locale/ar-eg.min.js +1 -1
- package/dist/locale/ar-eg.min.mjs +1 -1
- package/dist/locale/ar-eg.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/ckb.js +1 -1
- package/dist/locale/ckb.min.js +1 -1
- package/dist/locale/ckb.min.mjs +1 -1
- package/dist/locale/ckb.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/sw.js +1 -1
- package/dist/locale/sw.min.js +1 -1
- package/dist/locale/sw.min.mjs +1 -1
- package/dist/locale/sw.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/anchor/index.mjs +1 -1
- package/es/components/anchor/src/anchor-link.mjs +82 -6
- package/es/components/anchor/src/anchor-link.mjs.map +1 -1
- package/es/components/anchor/src/anchor-link2.mjs +6 -82
- package/es/components/anchor/src/anchor-link2.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
- package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
- package/es/components/dropdown/src/dropdown2.mjs +1 -1
- package/es/components/index.mjs +1 -1
- package/es/components/input/src/input2.mjs +1 -1
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/roving-focus-group/index.mjs +3 -3
- package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
- package/es/components/roving-focus-group/src/roving-focus-group.mjs +27 -29
- package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
- package/es/components/roving-focus-group/src/roving-focus-group2.mjs +29 -27
- package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
- package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
- package/es/components/tabs/index.mjs +2 -2
- package/es/components/tabs/src/tab-pane.mjs +72 -13
- package/es/components/tabs/src/tab-pane.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane2.mjs +13 -72
- package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
- package/es/components/watermark/src/watermark2.mjs +1 -1
- package/es/components/watermark/src/watermark2.mjs.map +1 -1
- package/es/index.mjs +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/anchor/index.js +1 -1
- package/lib/components/anchor/src/anchor-link.js +82 -6
- package/lib/components/anchor/src/anchor-link.js.map +1 -1
- package/lib/components/anchor/src/anchor-link2.js +6 -82
- package/lib/components/anchor/src/anchor-link2.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
- package/lib/components/dropdown/src/dropdown-menu.js +1 -1
- package/lib/components/dropdown/src/dropdown2.js +1 -1
- package/lib/components/index.js +1 -1
- package/lib/components/input/src/input2.js +1 -1
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/roving-focus-group/index.js +2 -2
- package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-group.js +27 -33
- package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-group2.js +33 -27
- package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
- package/lib/components/tabs/index.js +2 -2
- package/lib/components/tabs/src/tab-pane.js +72 -13
- package/lib/components/tabs/src/tab-pane.js.map +1 -1
- package/lib/components/tabs/src/tab-pane2.js +13 -72
- package/lib/components/tabs/src/tab-pane2.js.map +1 -1
- package/lib/components/watermark/src/watermark2.js +1 -1
- package/lib/components/watermark/src/watermark2.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/theme-chalk/el-table.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/table.scss +0 -1
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input2.js","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n v-bind=\"containerAttrs\"\n :class=\"containerKls\"\n :style=\"containerStyle\"\n :role=\"containerRole\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <!-- input -->\n <template v-if=\"type !== 'textarea'\">\n <!-- prepend slot -->\n <div v-if=\"$slots.prepend\" :class=\"nsInput.be('group', 'prepend')\">\n <slot name=\"prepend\" />\n </div>\n\n <div ref=\"wrapperRef\" :class=\"wrapperKls\">\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" :class=\"nsInput.e('prefix')\">\n <span :class=\"nsInput.e('prefix-inner')\">\n <slot name=\"prefix\" />\n <el-icon v-if=\"prefixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"prefixIcon\" />\n </el-icon>\n </span>\n </span>\n\n <input\n :id=\"inputId\"\n ref=\"input\"\n :class=\"nsInput.e('inner')\"\n v-bind=\"attrs\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label || ariaLabel\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n :form=\"form\"\n :autofocus=\"autofocus\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n\n <!-- suffix slot -->\n <span v-if=\"suffixVisible\" :class=\"nsInput.e('suffix')\">\n <span :class=\"nsInput.e('suffix-inner')\">\n <template\n v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\"\n >\n <slot name=\"suffix\" />\n <el-icon v-if=\"suffixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"suffixIcon\" />\n </el-icon>\n </template>\n <el-icon\n v-if=\"showClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"clear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('password')]\"\n @click=\"handlePasswordVisible\"\n >\n <component :is=\"passwordIcon\" />\n </el-icon>\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n <span :class=\"nsInput.e('count-inner')\">\n {{ textLength }} / {{ maxlength }}\n </span>\n </span>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </span>\n </div>\n\n <!-- append slot -->\n <div v-if=\"$slots.append\" :class=\"nsInput.be('group', 'append')\">\n <slot name=\"append\" />\n </div>\n </template>\n\n <!-- textarea -->\n <template v-else>\n <textarea\n :id=\"inputId\"\n ref=\"textarea\"\n :class=\"nsTextarea.e('inner')\"\n v-bind=\"attrs\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"label || ariaLabel\"\n :placeholder=\"placeholder\"\n :form=\"form\"\n :autofocus=\"autofocus\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n <span\n v-if=\"isWordLimitVisible\"\n :style=\"countStyle\"\n :class=\"nsInput.e('count')\"\n >\n {{ textLength }} / {{ maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n CircleClose,\n Hide as IconHide,\n View as IconView,\n} from '@element-plus/icons-vue'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport {\n NOOP,\n ValidateComponentsMap,\n debugWarn,\n isClient,\n isKorean,\n isObject,\n} from '@element-plus/utils'\nimport {\n useAttrs,\n useCursor,\n useDeprecated,\n useFocusController,\n useNamespace,\n} from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { calcTextareaHeight } from './utils'\nimport { inputEmits, inputProps } from './input'\nimport type { StyleValue } from 'vue'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\n\ndefineOptions({\n name: 'ElInput',\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst rawAttrs = useRawAttrs()\nconst slots = useSlots()\n\nconst containerAttrs = computed(() => {\n const comboBoxAttrs: Record<string, unknown> = {}\n if (props.containerRole === 'combobox') {\n comboBoxAttrs['aria-haspopup'] = rawAttrs['aria-haspopup']\n comboBoxAttrs['aria-owns'] = rawAttrs['aria-owns']\n comboBoxAttrs['aria-expanded'] = rawAttrs['aria-expanded']\n }\n return comboBoxAttrs\n})\n\nconst containerKls = computed(() => [\n props.type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize.value),\n nsInput.is('disabled', inputDisabled.value),\n nsInput.is('exceed', inputExceed.value),\n {\n [nsInput.b('group')]: slots.prepend || slots.append,\n [nsInput.bm('group', 'append')]: slots.append,\n [nsInput.bm('group', 'prepend')]: slots.prepend,\n [nsInput.m('prefix')]: slots.prefix || props.prefixIcon,\n [nsInput.m('suffix')]:\n slots.suffix || props.suffixIcon || props.clearable || props.showPassword,\n [nsInput.bm('suffix', 'password-clear')]:\n showClear.value && showPwdVisible.value,\n [nsInput.b('hidden')]: props.type === 'hidden',\n },\n rawAttrs.class,\n])\n\nconst wrapperKls = computed(() => [\n nsInput.e('wrapper'),\n nsInput.is('focus', isFocused.value),\n])\n\nconst attrs = useAttrs({\n excludeKeys: computed<string[]>(() => {\n return Object.keys(containerAttrs.value)\n }),\n})\nconst { form: elForm, formItem: elFormItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n})\nconst inputSize = useFormSize()\nconst inputDisabled = useFormDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst hovering = ref(false)\nconst isComposing = ref(false)\nconst passwordVisible = ref(false)\nconst countStyle = ref<StyleValue>()\nconst textareaCalcStyle = shallowRef(props.inputStyle)\n\nconst _ref = computed(() => input.value || textarea.value)\n\nconst { wrapperRef, isFocused, handleFocus, handleBlur } = useFocusController(\n _ref,\n {\n afterBlur() {\n if (props.validateEvent) {\n elFormItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n },\n }\n)\n\nconst needStatusIcon = computed(() => elForm?.statusIcon ?? false)\nconst validateState = computed(() => elFormItem?.validateState || '')\nconst validateIcon = computed(\n () => validateState.value && ValidateComponentsMap[validateState.value]\n)\nconst passwordIcon = computed(() =>\n passwordVisible.value ? IconView : IconHide\n)\nconst containerStyle = computed<StyleValue>(() => [\n rawAttrs.style as StyleValue,\n])\nconst textareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n textareaCalcStyle.value,\n { resize: props.resize },\n])\nconst nativeInputValue = computed(() =>\n isNil(props.modelValue) ? '' : String(props.modelValue)\n)\nconst showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (isFocused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (!!nativeInputValue.value || isFocused.value)\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!props.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => nativeInputValue.value.length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value && textLength.value > Number(props.maxlength)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n)\n\nconst [recordCursor, setCursor] = useCursor(input)\n\nuseResizeObserver(textarea, (entries) => {\n onceInitSizeTextarea()\n if (!isWordLimitVisible.value || props.resize !== 'both') return\n const entry = entries[0]\n const { width } = entry.contentRect\n countStyle.value = {\n /** right: 100% - width + padding(15) + right(6) */\n right: `calc(100% - ${width + 15 + 6}px)`,\n }\n})\n\nconst resizeTextarea = () => {\n const { type, autosize } = props\n\n if (!isClient || type !== 'textarea' || !textarea.value) return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n const textareaStyle = calcTextareaHeight(textarea.value, minRows, maxRows)\n\n // If the scrollbar is displayed, the height of the textarea needs more space than the calculated height.\n // If set textarea height in this case, the scrollbar will not hide.\n // So we need to hide scrollbar first, and reset it in next tick.\n // see https://github.com/element-plus/element-plus/issues/8825\n textareaCalcStyle.value = {\n overflowY: 'hidden',\n ...textareaStyle,\n }\n\n nextTick(() => {\n // NOTE: Force repaint to make sure the style set above is applied.\n textarea.value!.offsetHeight\n textareaCalcStyle.value = textareaStyle\n })\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value).minHeight,\n }\n }\n}\n\nconst createOnceInitResize = (resizeTextarea: () => void) => {\n let isInit = false\n return () => {\n if (isInit || !props.autosize) return\n const isElHidden = textarea.value?.offsetParent === null\n if (!isElHidden) {\n resizeTextarea()\n isInit = true\n }\n }\n}\n// fix: https://github.com/element-plus/element-plus/issues/12074\nconst onceInitSizeTextarea = createOnceInitResize(resizeTextarea)\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n const formatterValue = props.formatter\n ? props.formatter(nativeInputValue.value)\n : nativeInputValue.value\n if (!input || input.value === formatterValue) return\n input.value = formatterValue\n}\n\nconst handleInput = async (event: Event) => {\n recordCursor()\n\n let { value } = event.target as TargetElement\n\n if (props.formatter) {\n value = props.parser ? props.parser(value) : value\n }\n\n // should not emit input during composition\n // see: https://github.com/ElemeFE/element/issues/10516\n if (isComposing.value) return\n\n // hack for https://github.com/ElemeFE/element/issues/8548\n // should remove the following line when we don't support IE\n if (value === nativeInputValue.value) {\n setNativeInputValue()\n return\n }\n\n emit(UPDATE_MODEL_EVENT, value)\n emit('input', value)\n\n // ensure native input value is controlled\n // see: https://github.com/ElemeFE/element/issues/12850\n await nextTick()\n setNativeInputValue()\n setCursor()\n}\n\nconst handleChange = (event: Event) => {\n emit('change', (event.target as TargetElement).value)\n}\n\nconst handleCompositionStart = (event: CompositionEvent) => {\n emit('compositionstart', event)\n isComposing.value = true\n}\n\nconst handleCompositionUpdate = (event: CompositionEvent) => {\n emit('compositionupdate', event)\n const text = (event.target as HTMLInputElement)?.value\n const lastCharacter = text[text.length - 1] || ''\n isComposing.value = !isKorean(lastCharacter)\n}\n\nconst handleCompositionEnd = (event: CompositionEvent) => {\n emit('compositionend', event)\n if (isComposing.value) {\n isComposing.value = false\n handleInput(event)\n }\n}\n\nconst handlePasswordVisible = () => {\n passwordVisible.value = !passwordVisible.value\n focus()\n}\n\nconst focus = async () => {\n // see: https://github.com/ElemeFE/element/issues/18573\n await nextTick()\n _ref.value?.focus()\n}\n\nconst blur = () => _ref.value?.blur()\n\nconst handleMouseLeave = (evt: MouseEvent) => {\n hovering.value = false\n emit('mouseleave', evt)\n}\n\nconst handleMouseEnter = (evt: MouseEvent) => {\n hovering.value = true\n emit('mouseenter', evt)\n}\n\nconst handleKeydown = (evt: KeyboardEvent) => {\n emit('keydown', evt)\n}\n\nconst select = () => {\n _ref.value?.select()\n}\n\nconst clear = () => {\n emit(UPDATE_MODEL_EVENT, '')\n emit('change', '')\n emit('clear')\n emit('input', '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => resizeTextarea())\n if (props.validateEvent) {\n elFormItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n)\n\n// native input value is set explicitly\n// do not use v-model / :value in template\n// see: https://github.com/ElemeFE/element/issues/14521\nwatch(nativeInputValue, () => setNativeInputValue())\n\n// when change between <input> and <textarea>,\n// update DOM dependent value and styles\n// https://github.com/ElemeFE/element/issues/14857\nwatch(\n () => props.type,\n async () => {\n await nextTick()\n setNativeInputValue()\n resizeTextarea()\n }\n)\n\nonMounted(() => {\n if (!props.formatter && props.parser) {\n debugWarn(\n 'ElInput',\n 'If you set the parser, you also need to set the formatter.'\n )\n }\n setNativeInputValue()\n nextTick(resizeTextarea)\n})\n\nuseDeprecated(\n {\n from: 'label',\n replacement: 'aria-label',\n version: '2.8.0',\n scope: 'el-input',\n ref: 'https://element-plus.org/en-US/component/input.html',\n },\n computed(() => !!props.label)\n)\n\ndefineExpose({\n /** @description HTML input element */\n input,\n /** @description HTML textarea element */\n textarea,\n /** @description HTML element, input or textarea */\n ref: _ref,\n /** @description style of textarea. */\n textareaStyle,\n\n /** @description from props (used on unit test) */\n autosize: toRef(props, 'autosize'),\n\n /** @description HTML input element native method */\n focus,\n /** @description HTML input element native method */\n blur,\n /** @description HTML input element native method */\n select,\n /** @description clear input value */\n clear,\n /** @description resize textarea. */\n resizeTextarea,\n})\n</script>\n"],"names":["useRawAttrs","useSlots","computed","useAttrs","useFormItem","useFormItemInputId","useFormSize","useFormDisabled","useNamespace","shallowRef","ref","useFocusController","debugWarn","ValidateComponentsMap","IconView","IconHide","isNil","useCursor","useResizeObserver","isClient","isObject","calcTextareaHeight","nextTick","event","UPDATE_MODEL_EVENT","isKorean","watch","onMounted","useDeprecated"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"input2.js","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n v-bind=\"containerAttrs\"\n :class=\"containerKls\"\n :style=\"containerStyle\"\n :role=\"containerRole\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <!-- input -->\n <template v-if=\"type !== 'textarea'\">\n <!-- prepend slot -->\n <div v-if=\"$slots.prepend\" :class=\"nsInput.be('group', 'prepend')\">\n <slot name=\"prepend\" />\n </div>\n\n <div ref=\"wrapperRef\" :class=\"wrapperKls\">\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" :class=\"nsInput.e('prefix')\">\n <span :class=\"nsInput.e('prefix-inner')\">\n <slot name=\"prefix\" />\n <el-icon v-if=\"prefixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"prefixIcon\" />\n </el-icon>\n </span>\n </span>\n\n <input\n :id=\"inputId\"\n ref=\"input\"\n :class=\"nsInput.e('inner')\"\n v-bind=\"attrs\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label || ariaLabel\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n :form=\"form\"\n :autofocus=\"autofocus\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n\n <!-- suffix slot -->\n <span v-if=\"suffixVisible\" :class=\"nsInput.e('suffix')\">\n <span :class=\"nsInput.e('suffix-inner')\">\n <template\n v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\"\n >\n <slot name=\"suffix\" />\n <el-icon v-if=\"suffixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"suffixIcon\" />\n </el-icon>\n </template>\n <el-icon\n v-if=\"showClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"clear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('password')]\"\n @click=\"handlePasswordVisible\"\n >\n <component :is=\"passwordIcon\" />\n </el-icon>\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n <span :class=\"nsInput.e('count-inner')\">\n {{ textLength }} / {{ maxlength }}\n </span>\n </span>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </span>\n </div>\n\n <!-- append slot -->\n <div v-if=\"$slots.append\" :class=\"nsInput.be('group', 'append')\">\n <slot name=\"append\" />\n </div>\n </template>\n\n <!-- textarea -->\n <template v-else>\n <textarea\n :id=\"inputId\"\n ref=\"textarea\"\n :class=\"[nsTextarea.e('inner'), nsInput.is('focus', isFocused)]\"\n v-bind=\"attrs\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"label || ariaLabel\"\n :placeholder=\"placeholder\"\n :form=\"form\"\n :autofocus=\"autofocus\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n <span\n v-if=\"isWordLimitVisible\"\n :style=\"countStyle\"\n :class=\"nsInput.e('count')\"\n >\n {{ textLength }} / {{ maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n CircleClose,\n Hide as IconHide,\n View as IconView,\n} from '@element-plus/icons-vue'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport {\n NOOP,\n ValidateComponentsMap,\n debugWarn,\n isClient,\n isKorean,\n isObject,\n} from '@element-plus/utils'\nimport {\n useAttrs,\n useCursor,\n useDeprecated,\n useFocusController,\n useNamespace,\n} from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { calcTextareaHeight } from './utils'\nimport { inputEmits, inputProps } from './input'\nimport type { StyleValue } from 'vue'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\n\ndefineOptions({\n name: 'ElInput',\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst rawAttrs = useRawAttrs()\nconst slots = useSlots()\n\nconst containerAttrs = computed(() => {\n const comboBoxAttrs: Record<string, unknown> = {}\n if (props.containerRole === 'combobox') {\n comboBoxAttrs['aria-haspopup'] = rawAttrs['aria-haspopup']\n comboBoxAttrs['aria-owns'] = rawAttrs['aria-owns']\n comboBoxAttrs['aria-expanded'] = rawAttrs['aria-expanded']\n }\n return comboBoxAttrs\n})\n\nconst containerKls = computed(() => [\n props.type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize.value),\n nsInput.is('disabled', inputDisabled.value),\n nsInput.is('exceed', inputExceed.value),\n {\n [nsInput.b('group')]: slots.prepend || slots.append,\n [nsInput.bm('group', 'append')]: slots.append,\n [nsInput.bm('group', 'prepend')]: slots.prepend,\n [nsInput.m('prefix')]: slots.prefix || props.prefixIcon,\n [nsInput.m('suffix')]:\n slots.suffix || props.suffixIcon || props.clearable || props.showPassword,\n [nsInput.bm('suffix', 'password-clear')]:\n showClear.value && showPwdVisible.value,\n [nsInput.b('hidden')]: props.type === 'hidden',\n },\n rawAttrs.class,\n])\n\nconst wrapperKls = computed(() => [\n nsInput.e('wrapper'),\n nsInput.is('focus', isFocused.value),\n])\n\nconst attrs = useAttrs({\n excludeKeys: computed<string[]>(() => {\n return Object.keys(containerAttrs.value)\n }),\n})\nconst { form: elForm, formItem: elFormItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n})\nconst inputSize = useFormSize()\nconst inputDisabled = useFormDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst hovering = ref(false)\nconst isComposing = ref(false)\nconst passwordVisible = ref(false)\nconst countStyle = ref<StyleValue>()\nconst textareaCalcStyle = shallowRef(props.inputStyle)\n\nconst _ref = computed(() => input.value || textarea.value)\n\nconst { wrapperRef, isFocused, handleFocus, handleBlur } = useFocusController(\n _ref,\n {\n afterBlur() {\n if (props.validateEvent) {\n elFormItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n },\n }\n)\n\nconst needStatusIcon = computed(() => elForm?.statusIcon ?? false)\nconst validateState = computed(() => elFormItem?.validateState || '')\nconst validateIcon = computed(\n () => validateState.value && ValidateComponentsMap[validateState.value]\n)\nconst passwordIcon = computed(() =>\n passwordVisible.value ? IconView : IconHide\n)\nconst containerStyle = computed<StyleValue>(() => [\n rawAttrs.style as StyleValue,\n])\nconst textareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n textareaCalcStyle.value,\n { resize: props.resize },\n])\nconst nativeInputValue = computed(() =>\n isNil(props.modelValue) ? '' : String(props.modelValue)\n)\nconst showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (isFocused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (!!nativeInputValue.value || isFocused.value)\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!props.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => nativeInputValue.value.length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value && textLength.value > Number(props.maxlength)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n)\n\nconst [recordCursor, setCursor] = useCursor(input)\n\nuseResizeObserver(textarea, (entries) => {\n onceInitSizeTextarea()\n if (!isWordLimitVisible.value || props.resize !== 'both') return\n const entry = entries[0]\n const { width } = entry.contentRect\n countStyle.value = {\n /** right: 100% - width + padding(15) + right(6) */\n right: `calc(100% - ${width + 15 + 6}px)`,\n }\n})\n\nconst resizeTextarea = () => {\n const { type, autosize } = props\n\n if (!isClient || type !== 'textarea' || !textarea.value) return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n const textareaStyle = calcTextareaHeight(textarea.value, minRows, maxRows)\n\n // If the scrollbar is displayed, the height of the textarea needs more space than the calculated height.\n // If set textarea height in this case, the scrollbar will not hide.\n // So we need to hide scrollbar first, and reset it in next tick.\n // see https://github.com/element-plus/element-plus/issues/8825\n textareaCalcStyle.value = {\n overflowY: 'hidden',\n ...textareaStyle,\n }\n\n nextTick(() => {\n // NOTE: Force repaint to make sure the style set above is applied.\n textarea.value!.offsetHeight\n textareaCalcStyle.value = textareaStyle\n })\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value).minHeight,\n }\n }\n}\n\nconst createOnceInitResize = (resizeTextarea: () => void) => {\n let isInit = false\n return () => {\n if (isInit || !props.autosize) return\n const isElHidden = textarea.value?.offsetParent === null\n if (!isElHidden) {\n resizeTextarea()\n isInit = true\n }\n }\n}\n// fix: https://github.com/element-plus/element-plus/issues/12074\nconst onceInitSizeTextarea = createOnceInitResize(resizeTextarea)\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n const formatterValue = props.formatter\n ? props.formatter(nativeInputValue.value)\n : nativeInputValue.value\n if (!input || input.value === formatterValue) return\n input.value = formatterValue\n}\n\nconst handleInput = async (event: Event) => {\n recordCursor()\n\n let { value } = event.target as TargetElement\n\n if (props.formatter) {\n value = props.parser ? props.parser(value) : value\n }\n\n // should not emit input during composition\n // see: https://github.com/ElemeFE/element/issues/10516\n if (isComposing.value) return\n\n // hack for https://github.com/ElemeFE/element/issues/8548\n // should remove the following line when we don't support IE\n if (value === nativeInputValue.value) {\n setNativeInputValue()\n return\n }\n\n emit(UPDATE_MODEL_EVENT, value)\n emit('input', value)\n\n // ensure native input value is controlled\n // see: https://github.com/ElemeFE/element/issues/12850\n await nextTick()\n setNativeInputValue()\n setCursor()\n}\n\nconst handleChange = (event: Event) => {\n emit('change', (event.target as TargetElement).value)\n}\n\nconst handleCompositionStart = (event: CompositionEvent) => {\n emit('compositionstart', event)\n isComposing.value = true\n}\n\nconst handleCompositionUpdate = (event: CompositionEvent) => {\n emit('compositionupdate', event)\n const text = (event.target as HTMLInputElement)?.value\n const lastCharacter = text[text.length - 1] || ''\n isComposing.value = !isKorean(lastCharacter)\n}\n\nconst handleCompositionEnd = (event: CompositionEvent) => {\n emit('compositionend', event)\n if (isComposing.value) {\n isComposing.value = false\n handleInput(event)\n }\n}\n\nconst handlePasswordVisible = () => {\n passwordVisible.value = !passwordVisible.value\n focus()\n}\n\nconst focus = async () => {\n // see: https://github.com/ElemeFE/element/issues/18573\n await nextTick()\n _ref.value?.focus()\n}\n\nconst blur = () => _ref.value?.blur()\n\nconst handleMouseLeave = (evt: MouseEvent) => {\n hovering.value = false\n emit('mouseleave', evt)\n}\n\nconst handleMouseEnter = (evt: MouseEvent) => {\n hovering.value = true\n emit('mouseenter', evt)\n}\n\nconst handleKeydown = (evt: KeyboardEvent) => {\n emit('keydown', evt)\n}\n\nconst select = () => {\n _ref.value?.select()\n}\n\nconst clear = () => {\n emit(UPDATE_MODEL_EVENT, '')\n emit('change', '')\n emit('clear')\n emit('input', '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => resizeTextarea())\n if (props.validateEvent) {\n elFormItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n)\n\n// native input value is set explicitly\n// do not use v-model / :value in template\n// see: https://github.com/ElemeFE/element/issues/14521\nwatch(nativeInputValue, () => setNativeInputValue())\n\n// when change between <input> and <textarea>,\n// update DOM dependent value and styles\n// https://github.com/ElemeFE/element/issues/14857\nwatch(\n () => props.type,\n async () => {\n await nextTick()\n setNativeInputValue()\n resizeTextarea()\n }\n)\n\nonMounted(() => {\n if (!props.formatter && props.parser) {\n debugWarn(\n 'ElInput',\n 'If you set the parser, you also need to set the formatter.'\n )\n }\n setNativeInputValue()\n nextTick(resizeTextarea)\n})\n\nuseDeprecated(\n {\n from: 'label',\n replacement: 'aria-label',\n version: '2.8.0',\n scope: 'el-input',\n ref: 'https://element-plus.org/en-US/component/input.html',\n },\n computed(() => !!props.label)\n)\n\ndefineExpose({\n /** @description HTML input element */\n input,\n /** @description HTML textarea element */\n textarea,\n /** @description HTML element, input or textarea */\n ref: _ref,\n /** @description style of textarea. */\n textareaStyle,\n\n /** @description from props (used on unit test) */\n autosize: toRef(props, 'autosize'),\n\n /** @description HTML input element native method */\n focus,\n /** @description HTML input element native method */\n blur,\n /** @description HTML input element native method */\n select,\n /** @description clear input value */\n clear,\n /** @description resize textarea. */\n resizeTextarea,\n})\n</script>\n"],"names":["useRawAttrs","useSlots","computed","useAttrs","useFormItem","useFormItemInputId","useFormSize","useFormDisabled","useNamespace","shallowRef","ref","useFocusController","debugWarn","ValidateComponentsMap","IconView","IconHide","isNil","useCursor","useResizeObserver","isClient","isObject","calcTextareaHeight","nextTick","event","UPDATE_MODEL_EVENT","isKorean","watch","onMounted","useDeprecated"],"mappings":"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"}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var rovingFocusGroup = require('./src/roving-focus-
|
|
5
|
+
var rovingFocusGroup = require('./src/roving-focus-group.js');
|
|
6
6
|
var rovingFocusItem = require('./src/roving-focus-item.js');
|
|
7
7
|
var tokens = require('./src/tokens.js');
|
|
8
8
|
var utils = require('./src/utils.js');
|
|
9
|
-
var rovingFocusGroup$1 = require('./src/roving-focus-
|
|
9
|
+
var rovingFocusGroup$1 = require('./src/roving-focus-group2.js');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
var core = require('@vueuse/core');
|
|
7
7
|
require('../../../utils/index.js');
|
|
8
|
-
var rovingFocusGroup = require('./roving-focus-
|
|
8
|
+
var rovingFocusGroup = require('./roving-focus-group2.js');
|
|
9
9
|
var tokens = require('./tokens.js');
|
|
10
10
|
var utils = require('./utils.js');
|
|
11
11
|
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
@@ -2,40 +2,34 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('
|
|
6
|
-
require('
|
|
7
|
-
var
|
|
8
|
-
var
|
|
5
|
+
var vue = require('vue');
|
|
6
|
+
var rovingFocusGroupImpl = require('./roving-focus-group-impl.js');
|
|
7
|
+
var rovingFocusGroup = require('./roving-focus-group2.js');
|
|
8
|
+
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
9
9
|
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
loop: Boolean,
|
|
17
|
-
dir: {
|
|
18
|
-
type: String,
|
|
19
|
-
values: ["ltr", "rtl"],
|
|
20
|
-
default: "ltr"
|
|
21
|
-
},
|
|
22
|
-
orientation: {
|
|
23
|
-
type: runtime.definePropType(String)
|
|
24
|
-
},
|
|
25
|
-
onBlur: Function,
|
|
26
|
-
onFocus: Function,
|
|
27
|
-
onMousedown: Function
|
|
10
|
+
const _sfc_main = vue.defineComponent({
|
|
11
|
+
name: "ElRovingFocusGroup",
|
|
12
|
+
components: {
|
|
13
|
+
ElFocusGroupCollection: rovingFocusGroup.ElCollection,
|
|
14
|
+
ElRovingFocusGroupImpl: rovingFocusGroupImpl["default"]
|
|
15
|
+
}
|
|
28
16
|
});
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
17
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
18
|
+
const _component_el_roving_focus_group_impl = vue.resolveComponent("el-roving-focus-group-impl");
|
|
19
|
+
const _component_el_focus_group_collection = vue.resolveComponent("el-focus-group-collection");
|
|
20
|
+
return vue.openBlock(), vue.createBlock(_component_el_focus_group_collection, null, {
|
|
21
|
+
default: vue.withCtx(() => [
|
|
22
|
+
vue.createVNode(_component_el_roving_focus_group_impl, vue.normalizeProps(vue.guardReactiveProps(_ctx.$attrs)), {
|
|
23
|
+
default: vue.withCtx(() => [
|
|
24
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
25
|
+
]),
|
|
26
|
+
_: 3
|
|
27
|
+
}, 16)
|
|
28
|
+
]),
|
|
29
|
+
_: 3
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
var ElRovingFocusGroup = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "roving-focus-group.vue"]]);
|
|
35
33
|
|
|
36
|
-
exports
|
|
37
|
-
exports.ElCollectionItem = ElCollectionItem;
|
|
38
|
-
exports.ROVING_FOCUS_COLLECTION_INJECTION_KEY = COLLECTION_INJECTION_KEY;
|
|
39
|
-
exports.ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY = COLLECTION_ITEM_INJECTION_KEY;
|
|
40
|
-
exports.rovingFocusGroupProps = rovingFocusGroupProps;
|
|
34
|
+
exports["default"] = ElRovingFocusGroup;
|
|
41
35
|
//# sourceMappingURL=roving-focus-group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roving-focus-group.js","sources":["../../../../../../packages/components/roving-focus-group/src/roving-focus-group.
|
|
1
|
+
{"version":3,"file":"roving-focus-group.js","sources":["../../../../../../packages/components/roving-focus-group/src/roving-focus-group.vue"],"sourcesContent":["<template>\n <el-focus-group-collection>\n <el-roving-focus-group-impl v-bind=\"$attrs\">\n <slot />\n </el-roving-focus-group-impl>\n </el-focus-group-collection>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport ElRovingFocusGroupImpl from './roving-focus-group-impl.vue'\nimport { ElCollection as ElFocusGroupCollection } from './roving-focus-group'\n\nexport default defineComponent({\n name: 'ElRovingFocusGroup',\n components: {\n ElFocusGroupCollection,\n ElRovingFocusGroupImpl,\n },\n})\n</script>\n"],"names":["defineComponent","ElFocusGroupCollection","ElRovingFocusGroupImpl","_createBlock","_withCtx","_createVNode","_renderSlot"],"mappings":";;;;;;;;;AAaA,MAAK,YAAaA,mBAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,oBAAA;AAAA,EACN,UAAY,EAAA;AAAA,4BACVC,6BAAA;AAAA,4BACAC,+BAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;;;0BAlBCC,eAI4B,CAAA,oCAAA,EAAA,IAAA,EAAA;AAAA,IAAA,OAAA,EAAAC,WAAA,CAH1B,MAE6B;AAAA,MAF7BC,eAAA,CAE6B,iFAFO,IAAM,CAAA,MAAA,CAAA,CAAA,EAAA;AAAA,QAAA,OAAA,EAAAD,WAAA,CACxC,MAAQ;AAAA,UAARE,cAAQ,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,SAAA,CAAA;;;;;;;;;;;"}
|
|
@@ -2,34 +2,40 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var
|
|
8
|
-
var
|
|
5
|
+
require('../../../utils/index.js');
|
|
6
|
+
require('../../collection/index.js');
|
|
7
|
+
var runtime = require('../../../utils/vue/props/runtime.js');
|
|
8
|
+
var collection = require('../../collection/src/collection.js');
|
|
9
9
|
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
const rovingFocusGroupProps = runtime.buildProps({
|
|
11
|
+
style: { type: runtime.definePropType([String, Array, Object]) },
|
|
12
|
+
currentTabId: {
|
|
13
|
+
type: runtime.definePropType(String)
|
|
14
|
+
},
|
|
15
|
+
defaultCurrentTabId: String,
|
|
16
|
+
loop: Boolean,
|
|
17
|
+
dir: {
|
|
18
|
+
type: String,
|
|
19
|
+
values: ["ltr", "rtl"],
|
|
20
|
+
default: "ltr"
|
|
21
|
+
},
|
|
22
|
+
orientation: {
|
|
23
|
+
type: runtime.definePropType(String)
|
|
24
|
+
},
|
|
25
|
+
onBlur: Function,
|
|
26
|
+
onFocus: Function,
|
|
27
|
+
onMousedown: Function
|
|
16
28
|
});
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
default: vue.withCtx(() => [
|
|
24
|
-
vue.renderSlot(_ctx.$slots, "default")
|
|
25
|
-
]),
|
|
26
|
-
_: 3
|
|
27
|
-
}, 16)
|
|
28
|
-
]),
|
|
29
|
-
_: 3
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
var ElRovingFocusGroup = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "roving-focus-group.vue"]]);
|
|
29
|
+
const {
|
|
30
|
+
ElCollection,
|
|
31
|
+
ElCollectionItem,
|
|
32
|
+
COLLECTION_INJECTION_KEY,
|
|
33
|
+
COLLECTION_ITEM_INJECTION_KEY
|
|
34
|
+
} = collection.createCollectionWithScope("RovingFocusGroup");
|
|
33
35
|
|
|
34
|
-
exports
|
|
36
|
+
exports.ElCollection = ElCollection;
|
|
37
|
+
exports.ElCollectionItem = ElCollectionItem;
|
|
38
|
+
exports.ROVING_FOCUS_COLLECTION_INJECTION_KEY = COLLECTION_INJECTION_KEY;
|
|
39
|
+
exports.ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY = COLLECTION_ITEM_INJECTION_KEY;
|
|
40
|
+
exports.rovingFocusGroupProps = rovingFocusGroupProps;
|
|
35
41
|
//# sourceMappingURL=roving-focus-group2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roving-focus-group2.js","sources":["../../../../../../packages/components/roving-focus-group/src/roving-focus-group.
|
|
1
|
+
{"version":3,"file":"roving-focus-group2.js","sources":["../../../../../../packages/components/roving-focus-group/src/roving-focus-group.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { createCollectionWithScope } from '@element-plus/components/collection'\nimport type { ExtractPropTypes, HTMLAttributes, StyleValue } from 'vue'\n\nexport const rovingFocusGroupProps = buildProps({\n style: { type: definePropType<StyleValue>([String, Array, Object]) },\n currentTabId: {\n type: definePropType<string | null>(String),\n },\n defaultCurrentTabId: String,\n loop: Boolean,\n dir: {\n type: String, // left for direction support\n values: ['ltr', 'rtl'],\n default: 'ltr',\n },\n orientation: {\n // left for orientation support\n type: definePropType<HTMLAttributes['aria-orientation']>(String),\n },\n\n onBlur: Function,\n onFocus: Function,\n onMousedown: Function,\n})\n\nexport type ElRovingFocusGroupProps = ExtractPropTypes<\n typeof rovingFocusGroupProps\n>\n\nconst {\n ElCollection,\n ElCollectionItem,\n COLLECTION_INJECTION_KEY,\n COLLECTION_ITEM_INJECTION_KEY,\n} = createCollectionWithScope('RovingFocusGroup')\n\nexport {\n ElCollection,\n ElCollectionItem,\n COLLECTION_INJECTION_KEY as ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n COLLECTION_ITEM_INJECTION_KEY as ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY,\n}\n"],"names":["buildProps","definePropType","createCollectionWithScope"],"mappings":";;;;;;;;;AAEY,MAAC,qBAAqB,GAAGA,kBAAU,CAAC;AAChD,EAAE,KAAK,EAAE,EAAE,IAAI,EAAEC,sBAAc,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE;AAC1D,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAEA,sBAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,mBAAmB,EAAE,MAAM;AAC7B,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;AAC1B,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAEA,sBAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE,OAAO,EAAE,QAAQ;AACnB,EAAE,WAAW,EAAE,QAAQ;AACvB,CAAC,EAAE;AACE,MAAC;AACN,EAAE,YAAY;AACd,EAAE,gBAAgB;AAClB,EAAE,wBAAwB;AAC1B,EAAE,6BAA6B;AAC/B,CAAC,GAAGC,oCAAyB,CAAC,kBAAkB;;;;;;;;"}
|
|
@@ -6,7 +6,7 @@ var vue = require('vue');
|
|
|
6
6
|
require('../../../hooks/index.js');
|
|
7
7
|
require('../../../utils/index.js');
|
|
8
8
|
require('../../../constants/index.js');
|
|
9
|
-
var rovingFocusGroup = require('./roving-focus-
|
|
9
|
+
var rovingFocusGroup = require('./roving-focus-group2.js');
|
|
10
10
|
var tokens = require('./tokens.js');
|
|
11
11
|
var utils = require('./utils.js');
|
|
12
12
|
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
@@ -4,10 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
require('../../utils/index.js');
|
|
6
6
|
var tabs = require('./src/tabs.js');
|
|
7
|
-
var tabPane$1 = require('./src/tab-
|
|
7
|
+
var tabPane$1 = require('./src/tab-pane.js');
|
|
8
8
|
var tabBar = require('./src/tab-bar.js');
|
|
9
9
|
var tabNav = require('./src/tab-nav.js');
|
|
10
|
-
var tabPane = require('./src/tab-
|
|
10
|
+
var tabPane = require('./src/tab-pane2.js');
|
|
11
11
|
var constants = require('./src/constants.js');
|
|
12
12
|
var install = require('../../utils/vue/install.js');
|
|
13
13
|
|
|
@@ -2,21 +2,80 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var vue = require('vue');
|
|
6
|
+
var core = require('@vueuse/core');
|
|
5
7
|
require('../../../utils/index.js');
|
|
6
|
-
|
|
8
|
+
require('../../../hooks/index.js');
|
|
9
|
+
var constants = require('./constants.js');
|
|
10
|
+
var tabPane = require('./tab-pane2.js');
|
|
11
|
+
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
12
|
+
var error = require('../../../utils/error.js');
|
|
13
|
+
var index = require('../../../hooks/use-namespace/index.js');
|
|
7
14
|
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
},
|
|
13
|
-
name: {
|
|
14
|
-
type: [String, Number]
|
|
15
|
-
},
|
|
16
|
-
closable: Boolean,
|
|
17
|
-
disabled: Boolean,
|
|
18
|
-
lazy: Boolean
|
|
15
|
+
const _hoisted_1 = ["id", "aria-hidden", "aria-labelledby"];
|
|
16
|
+
const COMPONENT_NAME = "ElTabPane";
|
|
17
|
+
const __default__ = vue.defineComponent({
|
|
18
|
+
name: COMPONENT_NAME
|
|
19
19
|
});
|
|
20
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
21
|
+
...__default__,
|
|
22
|
+
props: tabPane.tabPaneProps,
|
|
23
|
+
setup(__props) {
|
|
24
|
+
const props = __props;
|
|
25
|
+
const instance = vue.getCurrentInstance();
|
|
26
|
+
const slots = vue.useSlots();
|
|
27
|
+
const tabsRoot = vue.inject(constants.tabsRootContextKey);
|
|
28
|
+
if (!tabsRoot)
|
|
29
|
+
error.throwError(COMPONENT_NAME, "usage: <el-tabs><el-tab-pane /></el-tabs/>");
|
|
30
|
+
const ns = index.useNamespace("tab-pane");
|
|
31
|
+
const index$1 = vue.ref();
|
|
32
|
+
const isClosable = vue.computed(() => props.closable || tabsRoot.props.closable);
|
|
33
|
+
const active = core.eagerComputed(() => {
|
|
34
|
+
var _a;
|
|
35
|
+
return tabsRoot.currentName.value === ((_a = props.name) != null ? _a : index$1.value);
|
|
36
|
+
});
|
|
37
|
+
const loaded = vue.ref(active.value);
|
|
38
|
+
const paneName = vue.computed(() => {
|
|
39
|
+
var _a;
|
|
40
|
+
return (_a = props.name) != null ? _a : index$1.value;
|
|
41
|
+
});
|
|
42
|
+
const shouldBeRender = core.eagerComputed(() => !props.lazy || loaded.value || active.value);
|
|
43
|
+
vue.watch(active, (val) => {
|
|
44
|
+
if (val)
|
|
45
|
+
loaded.value = true;
|
|
46
|
+
});
|
|
47
|
+
const pane = vue.reactive({
|
|
48
|
+
uid: instance.uid,
|
|
49
|
+
slots,
|
|
50
|
+
props,
|
|
51
|
+
paneName,
|
|
52
|
+
active,
|
|
53
|
+
index: index$1,
|
|
54
|
+
isClosable
|
|
55
|
+
});
|
|
56
|
+
vue.onMounted(() => {
|
|
57
|
+
tabsRoot.registerPane(pane);
|
|
58
|
+
});
|
|
59
|
+
vue.onUnmounted(() => {
|
|
60
|
+
tabsRoot.unregisterPane(pane.uid);
|
|
61
|
+
});
|
|
62
|
+
return (_ctx, _cache) => {
|
|
63
|
+
return vue.unref(shouldBeRender) ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
|
|
64
|
+
key: 0,
|
|
65
|
+
id: `pane-${vue.unref(paneName)}`,
|
|
66
|
+
class: vue.normalizeClass(vue.unref(ns).b()),
|
|
67
|
+
role: "tabpanel",
|
|
68
|
+
"aria-hidden": !vue.unref(active),
|
|
69
|
+
"aria-labelledby": `tab-${vue.unref(paneName)}`
|
|
70
|
+
}, [
|
|
71
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
72
|
+
], 10, _hoisted_1)), [
|
|
73
|
+
[vue.vShow, vue.unref(active)]
|
|
74
|
+
]) : vue.createCommentVNode("v-if", true);
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
var TabPane = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "tab-pane.vue"]]);
|
|
20
79
|
|
|
21
|
-
exports
|
|
80
|
+
exports["default"] = TabPane;
|
|
22
81
|
//# sourceMappingURL=tab-pane.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-pane.js","sources":["../../../../../../packages/components/tabs/src/tab-pane.
|
|
1
|
+
{"version":3,"file":"tab-pane.js","sources":["../../../../../../packages/components/tabs/src/tab-pane.vue"],"sourcesContent":["<template>\n <div\n v-if=\"shouldBeRender\"\n v-show=\"active\"\n :id=\"`pane-${paneName}`\"\n :class=\"ns.b()\"\n role=\"tabpanel\"\n :aria-hidden=\"!active\"\n :aria-labelledby=\"`tab-${paneName}`\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n onMounted,\n onUnmounted,\n reactive,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { tabsRootContextKey } from './constants'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'ElTabPane'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(tabPaneProps)\n\nconst instance = getCurrentInstance()!\nconst slots = useSlots()\n\nconst tabsRoot = inject(tabsRootContextKey)\nif (!tabsRoot)\n throwError(COMPONENT_NAME, 'usage: <el-tabs><el-tab-pane /></el-tabs/>')\n\nconst ns = useNamespace('tab-pane')\n\nconst index = ref<string>()\nconst isClosable = computed(() => props.closable || tabsRoot.props.closable)\nconst active = eagerComputed(\n () => tabsRoot.currentName.value === (props.name ?? index.value)\n)\nconst loaded = ref(active.value)\nconst paneName = computed(() => props.name ?? index.value)\nconst shouldBeRender = eagerComputed(\n () => !props.lazy || loaded.value || active.value\n)\n\nwatch(active, (val) => {\n if (val) loaded.value = true\n})\n\nconst pane = reactive({\n uid: instance.uid,\n slots,\n props,\n paneName,\n active,\n index,\n isClosable,\n})\n\nonMounted(() => {\n tabsRoot.registerPane(pane)\n})\n\nonUnmounted(() => {\n tabsRoot.unregisterPane(pane.uid)\n})\n</script>\n"],"names":["getCurrentInstance","useSlots","inject","tabsRootContextKey","throwError","useNamespace","index","ref","computed","eagerComputed","watch","reactive"],"mappings":";;;;;;;;;;;;;;;;uCAiCc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;AAGA,IAAA,MAAM,WAAWA,sBAAmB,EAAA,CAAA;AACpC,IAAA,MAAM,QAAQC,YAAS,EAAA,CAAA;AAEvB,IAAM,MAAA,QAAA,GAAWC,WAAOC,4BAAkB,CAAA,CAAA;AAC1C,IAAA,IAAI,CAAC,QAAA;AACH,MAAAC,gBAAA,CAAW,gBAAgB,4CAA4C,CAAA,CAAA;AAEzE,IAAM,MAAA,EAAA,GAAKC,mBAAa,UAAU,CAAA,CAAA;AAElC,IAAA,MAAMC,UAAQC,OAAY,EAAA,CAAA;AAC1B,IAAA,MAAM,aAAaC,YAAS,CAAA,MAAM,MAAM,QAAY,IAAA,QAAA,CAAS,MAAM,QAAQ,CAAA,CAAA;AAC3E,IAAM,MAAA,MAAA,GAASC,mBACb,MAAM;AAER,MAAM,IAAA,EAAA,CAAA;AACN,MAAA,eAAiB,CAAS,WAAA,CAAA,KAAY,MAAA,CAAA,EAAA,QAAc,CAAK,IAAA,KAAA,IAAA,GAAA,EAAA,GAAAH,OAAA,CAAA,KAAA,CAAA,CAAA;AACzD,KAAM,CAAA,CAAA;AAIN,IAAM,MAAA,MAAA,GAASC,OAAQ,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AACrB,IAAI,MAAA,QAAA,GAAAC,YAAA,CAAA,MAAA;AAAK,MAAA,IAAA,EAAA,CAAA;AAAe,MACzB,OAAA,CAAA,EAAA,GAAA,KAAA,CAAA,IAAA,KAAA,IAAA,GAAA,EAAA,GAAAF,OAAA,CAAA,KAAA,CAAA;AAED,KAAA,CAAA,CAAA;AAAsB,IAAA,oBACN,GAAAG,kBAAA,CAAA,MAAA,CAAA,KAAA,CAAA,IAAA,IAAA,MAAA,CAAA,KAAA,IAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAAA,IACdC,SAAA,CAAA,MAAA,EAAA,CAAA,GAAA,KAAA;AAAA,MACA,IAAA,GAAA;AAAA,QACA,MAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAAA,IACA,MAAA,IAAA,GAAAC,YAAA,CAAA;AAAA,MACA,GAAA,EAAA,QAAA,CAAA,GAAA;AAAA,MACD,KAAA;AAED,MAAA,KAAA;AACE,MAAA,QAAA;AAA0B,MAC3B,MAAA;AAED,aAAAL,OAAA;AACE,MAAS,UAAA;AAAuB,KACjC,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,80 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var vue = require('vue');
|
|
6
|
-
var core = require('@vueuse/core');
|
|
7
5
|
require('../../../utils/index.js');
|
|
8
|
-
require('../../../
|
|
9
|
-
var constants = require('./constants.js');
|
|
10
|
-
var tabPane = require('./tab-pane.js');
|
|
11
|
-
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
12
|
-
var error = require('../../../utils/error.js');
|
|
13
|
-
var index = require('../../../hooks/use-namespace/index.js');
|
|
6
|
+
var runtime = require('../../../utils/vue/props/runtime.js');
|
|
14
7
|
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
8
|
+
const tabPaneProps = runtime.buildProps({
|
|
9
|
+
label: {
|
|
10
|
+
type: String,
|
|
11
|
+
default: ""
|
|
12
|
+
},
|
|
13
|
+
name: {
|
|
14
|
+
type: [String, Number]
|
|
15
|
+
},
|
|
16
|
+
closable: Boolean,
|
|
17
|
+
disabled: Boolean,
|
|
18
|
+
lazy: Boolean
|
|
19
19
|
});
|
|
20
|
-
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
21
|
-
...__default__,
|
|
22
|
-
props: tabPane.tabPaneProps,
|
|
23
|
-
setup(__props) {
|
|
24
|
-
const props = __props;
|
|
25
|
-
const instance = vue.getCurrentInstance();
|
|
26
|
-
const slots = vue.useSlots();
|
|
27
|
-
const tabsRoot = vue.inject(constants.tabsRootContextKey);
|
|
28
|
-
if (!tabsRoot)
|
|
29
|
-
error.throwError(COMPONENT_NAME, "usage: <el-tabs><el-tab-pane /></el-tabs/>");
|
|
30
|
-
const ns = index.useNamespace("tab-pane");
|
|
31
|
-
const index$1 = vue.ref();
|
|
32
|
-
const isClosable = vue.computed(() => props.closable || tabsRoot.props.closable);
|
|
33
|
-
const active = core.eagerComputed(() => {
|
|
34
|
-
var _a;
|
|
35
|
-
return tabsRoot.currentName.value === ((_a = props.name) != null ? _a : index$1.value);
|
|
36
|
-
});
|
|
37
|
-
const loaded = vue.ref(active.value);
|
|
38
|
-
const paneName = vue.computed(() => {
|
|
39
|
-
var _a;
|
|
40
|
-
return (_a = props.name) != null ? _a : index$1.value;
|
|
41
|
-
});
|
|
42
|
-
const shouldBeRender = core.eagerComputed(() => !props.lazy || loaded.value || active.value);
|
|
43
|
-
vue.watch(active, (val) => {
|
|
44
|
-
if (val)
|
|
45
|
-
loaded.value = true;
|
|
46
|
-
});
|
|
47
|
-
const pane = vue.reactive({
|
|
48
|
-
uid: instance.uid,
|
|
49
|
-
slots,
|
|
50
|
-
props,
|
|
51
|
-
paneName,
|
|
52
|
-
active,
|
|
53
|
-
index: index$1,
|
|
54
|
-
isClosable
|
|
55
|
-
});
|
|
56
|
-
vue.onMounted(() => {
|
|
57
|
-
tabsRoot.registerPane(pane);
|
|
58
|
-
});
|
|
59
|
-
vue.onUnmounted(() => {
|
|
60
|
-
tabsRoot.unregisterPane(pane.uid);
|
|
61
|
-
});
|
|
62
|
-
return (_ctx, _cache) => {
|
|
63
|
-
return vue.unref(shouldBeRender) ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
|
|
64
|
-
key: 0,
|
|
65
|
-
id: `pane-${vue.unref(paneName)}`,
|
|
66
|
-
class: vue.normalizeClass(vue.unref(ns).b()),
|
|
67
|
-
role: "tabpanel",
|
|
68
|
-
"aria-hidden": !vue.unref(active),
|
|
69
|
-
"aria-labelledby": `tab-${vue.unref(paneName)}`
|
|
70
|
-
}, [
|
|
71
|
-
vue.renderSlot(_ctx.$slots, "default")
|
|
72
|
-
], 10, _hoisted_1)), [
|
|
73
|
-
[vue.vShow, vue.unref(active)]
|
|
74
|
-
]) : vue.createCommentVNode("v-if", true);
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
var TabPane = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "tab-pane.vue"]]);
|
|
79
20
|
|
|
80
|
-
exports
|
|
21
|
+
exports.tabPaneProps = tabPaneProps;
|
|
81
22
|
//# sourceMappingURL=tab-pane2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-pane2.js","sources":["../../../../../../packages/components/tabs/src/tab-pane.
|
|
1
|
+
{"version":3,"file":"tab-pane2.js","sources":["../../../../../../packages/components/tabs/src/tab-pane.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type TabPane from './tab-pane.vue'\n\nexport const tabPaneProps = buildProps({\n label: {\n type: String,\n default: '',\n },\n name: {\n type: [String, Number],\n },\n closable: Boolean,\n disabled: Boolean,\n lazy: Boolean,\n} as const)\n\nexport type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>\n\nexport type TabPaneInstance = InstanceType<typeof TabPane>\n"],"names":["buildProps"],"mappings":";;;;;;;AACY,MAAC,YAAY,GAAGA,kBAAU,CAAC;AACvC,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE,OAAO;AACf,CAAC;;;;"}
|
|
@@ -46,7 +46,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
46
46
|
});
|
|
47
47
|
const textBaseline = vue.computed(() => {
|
|
48
48
|
var _a, _b;
|
|
49
|
-
return (_b = (_a = props.font) == null ? void 0 : _a.textBaseline) != null ? _b : "
|
|
49
|
+
return (_b = (_a = props.font) == null ? void 0 : _a.textBaseline) != null ? _b : "hanging";
|
|
50
50
|
});
|
|
51
51
|
const gapX = vue.computed(() => props.gap[0]);
|
|
52
52
|
const gapY = vue.computed(() => props.gap[1]);
|