@element-plus/nightly 0.0.20221001 → 0.0.20221003
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 +52 -27
- package/dist/index.full.min.js +13 -13
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +13 -13
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +52 -28
- 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.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/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/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/carousel/index.d.ts +3 -19
- package/es/components/carousel/src/carousel.vue.d.ts +3 -19
- package/es/components/carousel/src/carousel2.mjs +14 -20
- package/es/components/carousel/src/carousel2.mjs.map +1 -1
- package/es/components/form/src/utils.mjs +1 -1
- package/es/components/form/src/utils.mjs.map +1 -1
- package/es/components/input/src/input2.mjs +4 -6
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/select-v2/src/select-dropdown.mjs +6 -1
- package/es/components/select-v2/src/select-dropdown.mjs.map +1 -1
- package/es/components/select-v2/src/select.mjs +1 -0
- package/es/components/select-v2/src/select.mjs.map +1 -1
- package/es/components/select-v2/src/token.d.ts +3 -1
- package/es/components/select-v2/src/token.mjs.map +1 -1
- package/es/hooks/index.d.ts +1 -0
- package/es/hooks/index.mjs +1 -0
- package/es/hooks/index.mjs.map +1 -1
- package/es/hooks/use-ordered-children/index.d.ts +8 -0
- package/es/hooks/use-ordered-children/index.mjs +32 -0
- package/es/hooks/use-ordered-children/index.mjs.map +1 -0
- package/es/index.mjs +1 -0
- package/es/index.mjs.map +1 -1
- package/es/tokens/carousel.d.ts +2 -2
- package/es/tokens/carousel.mjs.map +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/carousel/index.d.ts +3 -19
- package/lib/components/carousel/src/carousel.vue.d.ts +3 -19
- package/lib/components/carousel/src/carousel2.js +16 -22
- package/lib/components/carousel/src/carousel2.js.map +1 -1
- package/lib/components/form/src/utils.js +1 -1
- package/lib/components/form/src/utils.js.map +1 -1
- package/lib/components/input/src/input2.js +4 -6
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/select-v2/src/select-dropdown.js +5 -0
- package/lib/components/select-v2/src/select-dropdown.js.map +1 -1
- package/lib/components/select-v2/src/select.js +1 -0
- package/lib/components/select-v2/src/select.js.map +1 -1
- package/lib/components/select-v2/src/token.d.ts +3 -1
- package/lib/components/select-v2/src/token.js.map +1 -1
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/index.js +2 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/use-ordered-children/index.d.ts +8 -0
- package/lib/hooks/use-ordered-children/index.js +36 -0
- package/lib/hooks/use-ordered-children/index.js.map +1 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/tokens/carousel.d.ts +2 -2
- package/lib/tokens/carousel.js.map +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-tabs.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/tabs.scss +2 -0
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel2.js","sources":["../../../../../../packages/components/carousel/src/carousel.vue"],"sourcesContent":["<template>\n <div\n ref=\"root\"\n :class=\"carouselClasses\"\n @mouseenter.stop=\"handleMouseEnter\"\n @mouseleave.stop=\"handleMouseLeave\"\n >\n <div :class=\"ns.e('container')\" :style=\"{ height: height }\">\n <transition v-if=\"arrowDisplay\" name=\"carousel-arrow-left\">\n <button\n v-show=\"\n (arrow === 'always' || hover) && (props.loop || activeIndex > 0)\n \"\n type=\"button\"\n :class=\"[ns.e('arrow'), ns.em('arrow', 'left')]\"\n @mouseenter=\"handleButtonEnter('left')\"\n @mouseleave=\"handleButtonLeave\"\n @click.stop=\"throttledArrowClick(activeIndex - 1)\"\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </button>\n </transition>\n <transition v-if=\"arrowDisplay\" name=\"carousel-arrow-right\">\n <button\n v-show=\"\n (arrow === 'always' || hover) &&\n (props.loop || activeIndex < items.length - 1)\n \"\n type=\"button\"\n :class=\"[ns.e('arrow'), ns.em('arrow', 'right')]\"\n @mouseenter=\"handleButtonEnter('right')\"\n @mouseleave=\"handleButtonLeave\"\n @click.stop=\"throttledArrowClick(activeIndex + 1)\"\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </button>\n </transition>\n <slot />\n </div>\n <ul v-if=\"indicatorPosition !== 'none'\" :class=\"indicatorsClasses\">\n <li\n v-for=\"(item, index) in items\"\n :key=\"index\"\n :class=\"[\n ns.e('indicator'),\n ns.em('indicator', direction),\n ns.is('active', index === activeIndex),\n ]\"\n @mouseenter=\"throttledIndicatorHover(index)\"\n @click.stop=\"handleIndicatorClick(index)\"\n >\n <button :class=\"ns.e('button')\">\n <span v-if=\"hasLabel\">{{ item.props.label }}</span>\n </button>\n </li>\n </ul>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n ref,\n shallowRef,\n unref,\n watch,\n} from 'vue'\nimport { throttle } from 'lodash-unified'\nimport { useResizeObserver } from '@vueuse/core'\nimport { debugWarn, isString } from '@element-plus/utils'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { carouselContextKey } from '@element-plus/tokens'\nimport { carouselEmits, carouselProps } from './carousel'\nimport type { CarouselItemContext } from '@element-plus/tokens'\n\ndefineOptions({\n name: 'ElCarousel',\n})\n\nconst props = defineProps(carouselProps)\nconst emit = defineEmits(carouselEmits)\nconst ns = useNamespace('carousel')\nconst COMPONENT_NAME = 'ElCarousel'\nconst THROTTLE_TIME = 300\n\n// refs\nconst activeIndex = ref(-1)\nconst timer = ref<ReturnType<typeof setInterval> | null>(null)\nconst hover = ref(false)\nconst root = ref<HTMLDivElement>()\nconst items = ref<Array<CarouselItemContext>>([])\n\n// computed\nconst arrowDisplay = computed(\n () => props.arrow !== 'never' && !unref(isVertical)\n)\n\nconst hasLabel = computed(() => {\n return items.value.some((item) => item.props.label.toString().length > 0)\n})\n\nconst carouselClasses = computed(() => {\n const classes = [ns.b(), ns.m(props.direction)]\n if (unref(isCardType)) {\n classes.push(ns.m('card'))\n }\n return classes\n})\n\nconst indicatorsClasses = computed(() => {\n const classes = [ns.e('indicators'), ns.em('indicators', props.direction)]\n if (hasLabel.value) {\n classes.push(ns.em('indicators', 'labels'))\n }\n if (props.indicatorPosition === 'outside' || unref(isCardType)) {\n classes.push(ns.em('indicators', 'outside'))\n }\n return classes\n})\n\nconst isCardType = computed(() => props.type === 'card')\nconst isVertical = computed(() => props.direction === 'vertical')\n\n// methods\nconst throttledArrowClick = throttle(\n (index: number) => {\n setActiveItem(index)\n },\n THROTTLE_TIME,\n { trailing: true }\n)\n\nconst throttledIndicatorHover = throttle((index: number) => {\n handleIndicatorHover(index)\n}, THROTTLE_TIME)\n\nfunction pauseTimer() {\n if (timer.value) {\n clearInterval(timer.value)\n timer.value = null\n }\n}\n\nfunction startTimer() {\n if (props.interval <= 0 || !props.autoplay || timer.value) return\n timer.value = setInterval(() => playSlides(), props.interval)\n}\n\nconst playSlides = () => {\n if (activeIndex.value < items.value.length - 1) {\n activeIndex.value = activeIndex.value + 1\n } else if (props.loop) {\n activeIndex.value = 0\n }\n}\n\nfunction setActiveItem(index: number | string) {\n if (isString(index)) {\n const filteredItems = items.value.filter(\n (item) => item.props.name === index\n )\n if (filteredItems.length > 0) {\n index = items.value.indexOf(filteredItems[0])\n }\n }\n index = Number(index)\n if (Number.isNaN(index) || index !== Math.floor(index)) {\n debugWarn(COMPONENT_NAME, 'index must be integer.')\n return\n }\n const itemCount = items.value.length\n const oldIndex = activeIndex.value\n if (index < 0) {\n activeIndex.value = props.loop ? itemCount - 1 : 0\n } else if (index >= itemCount) {\n activeIndex.value = props.loop ? 0 : itemCount - 1\n } else {\n activeIndex.value = index\n }\n if (oldIndex === activeIndex.value) {\n resetItemPosition(oldIndex)\n }\n resetTimer()\n}\n\nfunction resetItemPosition(oldIndex?: number) {\n items.value.forEach((item, index) => {\n item.translateItem(index, activeIndex.value, oldIndex)\n })\n}\n\nfunction addItem(item: CarouselItemContext) {\n items.value.push(item)\n}\n\nfunction removeItem(uid?: number) {\n const index = items.value.findIndex((item) => item.uid === uid)\n if (index !== -1) {\n items.value.splice(index, 1)\n if (activeIndex.value === index) next()\n }\n}\n\nfunction itemInStage(item: CarouselItemContext, index: number) {\n const _items = unref(items)\n const itemCount = _items.length\n if (itemCount === 0 || !item.states.inStage) return false\n const nextItemIndex = index + 1\n const prevItemIndex = index - 1\n const lastItemIndex = itemCount - 1\n const isLastItemActive = _items[lastItemIndex].states.active\n const isFirstItemActive = _items[0].states.active\n const isNextItemActive = _items[nextItemIndex]?.states?.active\n const isPrevItemActive = _items[prevItemIndex]?.states?.active\n\n if ((index === lastItemIndex && isFirstItemActive) || isNextItemActive) {\n return 'left'\n } else if ((index === 0 && isLastItemActive) || isPrevItemActive) {\n return 'right'\n }\n return false\n}\n\nfunction handleMouseEnter() {\n hover.value = true\n if (props.pauseOnHover) {\n pauseTimer()\n }\n}\n\nfunction handleMouseLeave() {\n hover.value = false\n startTimer()\n}\n\nfunction handleButtonEnter(arrow: 'left' | 'right') {\n if (unref(isVertical)) return\n items.value.forEach((item, index) => {\n if (arrow === itemInStage(item, index)) {\n item.states.hover = true\n }\n })\n}\n\nfunction handleButtonLeave() {\n if (unref(isVertical)) return\n items.value.forEach((item) => {\n item.states.hover = false\n })\n}\n\nfunction handleIndicatorClick(index: number) {\n activeIndex.value = index\n}\n\nfunction handleIndicatorHover(index: number) {\n if (props.trigger === 'hover' && index !== activeIndex.value) {\n activeIndex.value = index\n }\n}\n\nfunction prev() {\n setActiveItem(activeIndex.value - 1)\n}\n\nfunction next() {\n setActiveItem(activeIndex.value + 1)\n}\n\nfunction resetTimer() {\n pauseTimer()\n startTimer()\n}\n\n// watch\nwatch(\n () => activeIndex.value,\n (current, prev) => {\n resetItemPosition(prev)\n if (prev > -1) {\n emit('change', current, prev)\n }\n }\n)\nwatch(\n () => props.autoplay,\n (autoplay) => {\n autoplay ? startTimer() : pauseTimer()\n }\n)\nwatch(\n () => props.loop,\n () => {\n setActiveItem(activeIndex.value)\n }\n)\n\nwatch(\n () => props.interval,\n () => {\n resetTimer()\n }\n)\n\nconst resizeObserver = shallowRef<ReturnType<typeof useResizeObserver>>()\n// lifecycle\nonMounted(async () => {\n await nextTick()\n\n resizeObserver.value = useResizeObserver(root.value, () => {\n resetItemPosition()\n })\n if (props.initialIndex < items.value.length && props.initialIndex >= 0) {\n activeIndex.value = props.initialIndex\n }\n startTimer()\n})\n\nonBeforeUnmount(() => {\n pauseTimer()\n if (root.value && resizeObserver.value) resizeObserver.value.stop()\n})\n\n// provide\nprovide(carouselContextKey, {\n root,\n isCardType,\n isVertical,\n items,\n loop: props.loop,\n addItem,\n removeItem,\n setActiveItem,\n})\n\ndefineExpose({\n /** @description manually switch slide */\n setActiveItem,\n /** @description switch to the previous slide */\n prev,\n /** @description switch to the next slide */\n next,\n})\n</script>\n"],"names":["useNamespace","ref","computed","unref","throttle","isString","debugWarn","watch","shallowRef","onMounted","nextTick","useResizeObserver","onBeforeUnmount","provide","carouselContextKey"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"carousel2.js","sources":["../../../../../../packages/components/carousel/src/carousel.vue"],"sourcesContent":["<template>\n <div\n ref=\"root\"\n :class=\"carouselClasses\"\n @mouseenter.stop=\"handleMouseEnter\"\n @mouseleave.stop=\"handleMouseLeave\"\n >\n <div :class=\"ns.e('container')\" :style=\"{ height: height }\">\n <transition v-if=\"arrowDisplay\" name=\"carousel-arrow-left\">\n <button\n v-show=\"\n (arrow === 'always' || hover) && (props.loop || activeIndex > 0)\n \"\n type=\"button\"\n :class=\"[ns.e('arrow'), ns.em('arrow', 'left')]\"\n @mouseenter=\"handleButtonEnter('left')\"\n @mouseleave=\"handleButtonLeave\"\n @click.stop=\"throttledArrowClick(activeIndex - 1)\"\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </button>\n </transition>\n <transition v-if=\"arrowDisplay\" name=\"carousel-arrow-right\">\n <button\n v-show=\"\n (arrow === 'always' || hover) &&\n (props.loop || activeIndex < items.length - 1)\n \"\n type=\"button\"\n :class=\"[ns.e('arrow'), ns.em('arrow', 'right')]\"\n @mouseenter=\"handleButtonEnter('right')\"\n @mouseleave=\"handleButtonLeave\"\n @click.stop=\"throttledArrowClick(activeIndex + 1)\"\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </button>\n </transition>\n <slot />\n </div>\n <ul v-if=\"indicatorPosition !== 'none'\" :class=\"indicatorsClasses\">\n <li\n v-for=\"(item, index) in items\"\n :key=\"index\"\n :class=\"[\n ns.e('indicator'),\n ns.em('indicator', direction),\n ns.is('active', index === activeIndex),\n ]\"\n @mouseenter=\"throttledIndicatorHover(index)\"\n @click.stop=\"handleIndicatorClick(index)\"\n >\n <button :class=\"ns.e('button')\">\n <span v-if=\"hasLabel\">{{ item.props.label }}</span>\n </button>\n </li>\n </ul>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n onBeforeUnmount,\n onMounted,\n provide,\n ref,\n shallowRef,\n unref,\n watch,\n} from 'vue'\nimport { throttle } from 'lodash-unified'\nimport { useResizeObserver } from '@vueuse/core'\nimport { debugWarn, isString } from '@element-plus/utils'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport { useNamespace, useOrderedChildren } from '@element-plus/hooks'\nimport { carouselContextKey } from '@element-plus/tokens'\nimport { carouselEmits, carouselProps } from './carousel'\nimport type { CarouselItemContext } from '@element-plus/tokens'\n\ndefineOptions({\n name: 'ElCarousel',\n})\n\nconst props = defineProps(carouselProps)\nconst emit = defineEmits(carouselEmits)\nconst ns = useNamespace('carousel')\nconst COMPONENT_NAME = 'ElCarousel'\nconst THROTTLE_TIME = 300\n\nconst {\n children: items,\n addChild: addItem,\n removeChild: removeItem,\n} = useOrderedChildren<CarouselItemContext>(\n getCurrentInstance()!,\n 'ElCarouselItem'\n)\n\n// refs\nconst activeIndex = ref(-1)\nconst timer = ref<ReturnType<typeof setInterval> | null>(null)\nconst hover = ref(false)\nconst root = ref<HTMLDivElement>()\n\n// computed\nconst arrowDisplay = computed(\n () => props.arrow !== 'never' && !unref(isVertical)\n)\n\nconst hasLabel = computed(() => {\n return items.value.some((item) => item.props.label.toString().length > 0)\n})\n\nconst carouselClasses = computed(() => {\n const classes = [ns.b(), ns.m(props.direction)]\n if (unref(isCardType)) {\n classes.push(ns.m('card'))\n }\n return classes\n})\n\nconst indicatorsClasses = computed(() => {\n const classes = [ns.e('indicators'), ns.em('indicators', props.direction)]\n if (hasLabel.value) {\n classes.push(ns.em('indicators', 'labels'))\n }\n if (props.indicatorPosition === 'outside' || unref(isCardType)) {\n classes.push(ns.em('indicators', 'outside'))\n }\n return classes\n})\n\nconst isCardType = computed(() => props.type === 'card')\nconst isVertical = computed(() => props.direction === 'vertical')\n\n// methods\nconst throttledArrowClick = throttle(\n (index: number) => {\n setActiveItem(index)\n },\n THROTTLE_TIME,\n { trailing: true }\n)\n\nconst throttledIndicatorHover = throttle((index: number) => {\n handleIndicatorHover(index)\n}, THROTTLE_TIME)\n\nfunction pauseTimer() {\n if (timer.value) {\n clearInterval(timer.value)\n timer.value = null\n }\n}\n\nfunction startTimer() {\n if (props.interval <= 0 || !props.autoplay || timer.value) return\n timer.value = setInterval(() => playSlides(), props.interval)\n}\n\nconst playSlides = () => {\n if (activeIndex.value < items.value.length - 1) {\n activeIndex.value = activeIndex.value + 1\n } else if (props.loop) {\n activeIndex.value = 0\n }\n}\n\nfunction setActiveItem(index: number | string) {\n if (isString(index)) {\n const filteredItems = items.value.filter(\n (item) => item.props.name === index\n )\n if (filteredItems.length > 0) {\n index = items.value.indexOf(filteredItems[0])\n }\n }\n index = Number(index)\n if (Number.isNaN(index) || index !== Math.floor(index)) {\n debugWarn(COMPONENT_NAME, 'index must be integer.')\n return\n }\n const itemCount = items.value.length\n const oldIndex = activeIndex.value\n if (index < 0) {\n activeIndex.value = props.loop ? itemCount - 1 : 0\n } else if (index >= itemCount) {\n activeIndex.value = props.loop ? 0 : itemCount - 1\n } else {\n activeIndex.value = index\n }\n if (oldIndex === activeIndex.value) {\n resetItemPosition(oldIndex)\n }\n resetTimer()\n}\n\nfunction resetItemPosition(oldIndex?: number) {\n items.value.forEach((item, index) => {\n item.translateItem(index, activeIndex.value, oldIndex)\n })\n}\n\nfunction itemInStage(item: CarouselItemContext, index: number) {\n const _items = unref(items)\n const itemCount = _items.length\n if (itemCount === 0 || !item.states.inStage) return false\n const nextItemIndex = index + 1\n const prevItemIndex = index - 1\n const lastItemIndex = itemCount - 1\n const isLastItemActive = _items[lastItemIndex].states.active\n const isFirstItemActive = _items[0].states.active\n const isNextItemActive = _items[nextItemIndex]?.states?.active\n const isPrevItemActive = _items[prevItemIndex]?.states?.active\n\n if ((index === lastItemIndex && isFirstItemActive) || isNextItemActive) {\n return 'left'\n } else if ((index === 0 && isLastItemActive) || isPrevItemActive) {\n return 'right'\n }\n return false\n}\n\nfunction handleMouseEnter() {\n hover.value = true\n if (props.pauseOnHover) {\n pauseTimer()\n }\n}\n\nfunction handleMouseLeave() {\n hover.value = false\n startTimer()\n}\n\nfunction handleButtonEnter(arrow: 'left' | 'right') {\n if (unref(isVertical)) return\n items.value.forEach((item, index) => {\n if (arrow === itemInStage(item, index)) {\n item.states.hover = true\n }\n })\n}\n\nfunction handleButtonLeave() {\n if (unref(isVertical)) return\n items.value.forEach((item) => {\n item.states.hover = false\n })\n}\n\nfunction handleIndicatorClick(index: number) {\n activeIndex.value = index\n}\n\nfunction handleIndicatorHover(index: number) {\n if (props.trigger === 'hover' && index !== activeIndex.value) {\n activeIndex.value = index\n }\n}\n\nfunction prev() {\n setActiveItem(activeIndex.value - 1)\n}\n\nfunction next() {\n setActiveItem(activeIndex.value + 1)\n}\n\nfunction resetTimer() {\n pauseTimer()\n startTimer()\n}\n\n// watch\nwatch(\n () => activeIndex.value,\n (current, prev) => {\n resetItemPosition(prev)\n if (prev > -1) {\n emit('change', current, prev)\n }\n }\n)\nwatch(\n () => props.autoplay,\n (autoplay) => {\n autoplay ? startTimer() : pauseTimer()\n }\n)\nwatch(\n () => props.loop,\n () => {\n setActiveItem(activeIndex.value)\n }\n)\n\nwatch(\n () => props.interval,\n () => {\n resetTimer()\n }\n)\n\nwatch(\n () => items.value,\n () => {\n if (items.value.length > 0) setActiveItem(props.initialIndex)\n }\n)\n\nconst resizeObserver = shallowRef<ReturnType<typeof useResizeObserver>>()\n// lifecycle\nonMounted(() => {\n resizeObserver.value = useResizeObserver(root.value, () => {\n resetItemPosition()\n })\n startTimer()\n})\n\nonBeforeUnmount(() => {\n pauseTimer()\n if (root.value && resizeObserver.value) resizeObserver.value.stop()\n})\n\n// provide\nprovide(carouselContextKey, {\n root,\n isCardType,\n isVertical,\n items,\n loop: props.loop,\n addItem,\n removeItem,\n setActiveItem,\n})\n\ndefineExpose({\n /** @description manually switch slide */\n setActiveItem,\n /** @description switch to the previous slide */\n prev,\n /** @description switch to the next slide */\n next,\n})\n</script>\n"],"names":["useNamespace","useOrderedChildren","getCurrentInstance","ref","computed","unref","throttle","isString","debugWarn","watch","shallowRef","onMounted","useResizeObserver","onBeforeUnmount","provide","carouselContextKey"],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ function useFormLabelWidth() {
|
|
|
18
18
|
});
|
|
19
19
|
function getLabelWidthIndex(width) {
|
|
20
20
|
const index = potentialLabelWidthArr.value.indexOf(width);
|
|
21
|
-
if (index === -1) {
|
|
21
|
+
if (index === -1 && autoLabelWidth.value === "0") {
|
|
22
22
|
error.debugWarn(SCOPE, `unexpected width ${width}`);
|
|
23
23
|
}
|
|
24
24
|
return index;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../../packages/components/form/src/utils.ts"],"sourcesContent":["import { computed, ref } from 'vue'\nimport { debugWarn, ensureArray } from '@element-plus/utils'\nimport type { Arrayable } from '@element-plus/utils'\nimport type { FormItemContext } from '@element-plus/tokens'\nimport type { FormItemProp } from './form-item'\n\nconst SCOPE = 'ElForm'\n\nexport function useFormLabelWidth() {\n const potentialLabelWidthArr = ref<number[]>([])\n\n const autoLabelWidth = computed(() => {\n if (!potentialLabelWidthArr.value.length) return '0'\n const max = Math.max(...potentialLabelWidthArr.value)\n return max ? `${max}px` : ''\n })\n\n function getLabelWidthIndex(width: number) {\n const index = potentialLabelWidthArr.value.indexOf(width)\n if (index === -1) {\n debugWarn(SCOPE, `unexpected width ${width}`)\n }\n return index\n }\n\n function registerLabelWidth(val: number, oldVal: number) {\n if (val && oldVal) {\n const index = getLabelWidthIndex(oldVal)\n potentialLabelWidthArr.value.splice(index, 1, val)\n } else if (val) {\n potentialLabelWidthArr.value.push(val)\n }\n }\n\n function deregisterLabelWidth(val: number) {\n const index = getLabelWidthIndex(val)\n if (index > -1) {\n potentialLabelWidthArr.value.splice(index, 1)\n }\n }\n\n return {\n autoLabelWidth,\n registerLabelWidth,\n deregisterLabelWidth,\n }\n}\n\nexport const filterFields = (\n fields: FormItemContext[],\n props: Arrayable<FormItemProp>\n) => {\n const normalized = ensureArray(props)\n return normalized.length > 0\n ? fields.filter((field) => field.prop && normalized.includes(field.prop))\n : fields\n}\n"],"names":["ref","computed","debugWarn","ensureArray"],"mappings":";;;;;;;;;AAEA,MAAM,KAAK,GAAG,QAAQ,CAAC;AAChB,SAAS,iBAAiB,GAAG;AACpC,EAAE,MAAM,sBAAsB,GAAGA,OAAG,CAAC,EAAE,CAAC,CAAC;AACzC,EAAE,MAAM,cAAc,GAAGC,YAAQ,CAAC,MAAM;AACxC,IAAI,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,MAAM;AAC5C,MAAM,OAAO,GAAG,CAAC;AACjB,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAC1D,IAAI,OAAO,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;AACjC,GAAG,CAAC,CAAC;AACL,EAAE,SAAS,kBAAkB,CAAC,KAAK,EAAE;AACrC,IAAI,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9D,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../../packages/components/form/src/utils.ts"],"sourcesContent":["import { computed, ref } from 'vue'\nimport { debugWarn, ensureArray } from '@element-plus/utils'\nimport type { Arrayable } from '@element-plus/utils'\nimport type { FormItemContext } from '@element-plus/tokens'\nimport type { FormItemProp } from './form-item'\n\nconst SCOPE = 'ElForm'\n\nexport function useFormLabelWidth() {\n const potentialLabelWidthArr = ref<number[]>([])\n\n const autoLabelWidth = computed(() => {\n if (!potentialLabelWidthArr.value.length) return '0'\n const max = Math.max(...potentialLabelWidthArr.value)\n return max ? `${max}px` : ''\n })\n\n function getLabelWidthIndex(width: number) {\n const index = potentialLabelWidthArr.value.indexOf(width)\n if (index === -1 && autoLabelWidth.value === '0') {\n debugWarn(SCOPE, `unexpected width ${width}`)\n }\n return index\n }\n\n function registerLabelWidth(val: number, oldVal: number) {\n if (val && oldVal) {\n const index = getLabelWidthIndex(oldVal)\n potentialLabelWidthArr.value.splice(index, 1, val)\n } else if (val) {\n potentialLabelWidthArr.value.push(val)\n }\n }\n\n function deregisterLabelWidth(val: number) {\n const index = getLabelWidthIndex(val)\n if (index > -1) {\n potentialLabelWidthArr.value.splice(index, 1)\n }\n }\n\n return {\n autoLabelWidth,\n registerLabelWidth,\n deregisterLabelWidth,\n }\n}\n\nexport const filterFields = (\n fields: FormItemContext[],\n props: Arrayable<FormItemProp>\n) => {\n const normalized = ensureArray(props)\n return normalized.length > 0\n ? fields.filter((field) => field.prop && normalized.includes(field.prop))\n : fields\n}\n"],"names":["ref","computed","debugWarn","ensureArray"],"mappings":";;;;;;;;;AAEA,MAAM,KAAK,GAAG,QAAQ,CAAC;AAChB,SAAS,iBAAiB,GAAG;AACpC,EAAE,MAAM,sBAAsB,GAAGA,OAAG,CAAC,EAAE,CAAC,CAAC;AACzC,EAAE,MAAM,cAAc,GAAGC,YAAQ,CAAC,MAAM;AACxC,IAAI,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,MAAM;AAC5C,MAAM,OAAO,GAAG,CAAC;AACjB,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAC1D,IAAI,OAAO,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;AACjC,GAAG,CAAC,CAAC;AACL,EAAE,SAAS,kBAAkB,CAAC,KAAK,EAAE;AACrC,IAAI,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9D,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,cAAc,CAAC,KAAK,KAAK,GAAG,EAAE;AACtD,MAAMC,eAAS,CAAC,KAAK,EAAE,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,SAAS,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE;AAC3C,IAAI,IAAI,GAAG,IAAI,MAAM,EAAE;AACvB,MAAM,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC/C,MAAM,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AACzD,KAAK,MAAM,IAAI,GAAG,EAAE;AACpB,MAAM,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7C,KAAK;AACL,GAAG;AACH,EAAE,SAAS,oBAAoB,CAAC,GAAG,EAAE;AACrC,IAAI,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;AAC1C,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AACpB,MAAM,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACpD,KAAK;AACL,GAAG;AACH,EAAE,OAAO;AACT,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,IAAI,oBAAoB;AACxB,GAAG,CAAC;AACJ,CAAC;AACW,MAAC,YAAY,GAAG,CAAC,MAAM,EAAE,KAAK,KAAK;AAC/C,EAAE,MAAM,UAAU,GAAGC,uBAAW,CAAC,KAAK,CAAC,CAAC;AACxC,EAAE,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;AAClH;;;;;"}
|
|
@@ -249,18 +249,16 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
249
249
|
resizeTextarea();
|
|
250
250
|
updateIconOffset();
|
|
251
251
|
});
|
|
252
|
-
vue.onMounted(
|
|
252
|
+
vue.onMounted(() => {
|
|
253
253
|
if (!props.formatter && props.parser) {
|
|
254
254
|
error.debugWarn("ElInput", "If you set the parser, you also need to set the formatter.");
|
|
255
255
|
}
|
|
256
256
|
setNativeInputValue();
|
|
257
257
|
updateIconOffset();
|
|
258
|
-
|
|
259
|
-
resizeTextarea();
|
|
258
|
+
vue.nextTick(resizeTextarea);
|
|
260
259
|
});
|
|
261
|
-
vue.onUpdated(
|
|
262
|
-
|
|
263
|
-
updateIconOffset();
|
|
260
|
+
vue.onUpdated(() => {
|
|
261
|
+
vue.nextTick(updateIconOffset);
|
|
264
262
|
});
|
|
265
263
|
expose({
|
|
266
264
|
input,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input2.js","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n v-show=\"type !== 'hidden'\"\n v-bind=\"containerAttrs\"\n :class=\"[\n type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize),\n nsInput.is('disabled', inputDisabled),\n nsInput.is('exceed', inputExceed),\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 || prefixIcon,\n [nsInput.m('suffix')]:\n $slots.suffix || suffixIcon || clearable || showPassword,\n [nsInput.bm('suffix', 'password-clear')]: showClear && showPwdVisible,\n },\n $attrs.class,\n ]\"\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 :class=\"[nsInput.e('wrapper'), nsInput.is('focus', focused)]\">\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 :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :formatter=\"formatter\"\n :parser=\"parser\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\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 }} / {{ attrs.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 :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\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 }} / {{ attrs.maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport { isClient, 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 NOOP,\n ValidateComponentsMap,\n debugWarn,\n isKorean,\n isObject,\n} from '@element-plus/utils'\nimport {\n useAttrs,\n useCursor,\n useDisabled,\n useFormItem,\n useFormItemInputId,\n useNamespace,\n useSize,\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\nconst PENDANT_MAP = {\n suffix: 'append',\n prefix: 'prepend',\n} as const\n\ndefineOptions({\n name: 'ElInput',\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst instance = getCurrentInstance()!\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 attrs = useAttrs({\n excludeKeys: computed<string[]>(() => {\n return Object.keys(containerAttrs.value)\n }),\n})\nconst { form, formItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\nconst inputSize = useSize()\nconst inputDisabled = useDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst focused = ref(false)\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 needStatusIcon = computed(() => form?.statusIcon ?? false)\nconst validateState = computed(() => formItem?.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 props.inputStyle,\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 (focused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (!!nativeInputValue.value || focused.value)\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!attrs.value.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => Array.from(nativeInputValue.value).length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value &&\n textLength.value > Number(attrs.value.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 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') return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n textareaCalcStyle.value = {\n ...calcTextareaHeight(textarea.value!, minRows, maxRows),\n }\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value!).minHeight,\n }\n }\n}\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n if (!input || input.value === nativeInputValue.value) return\n input.value = nativeInputValue.value\n}\n\nconst calcIconOffset = (place: 'prefix' | 'suffix') => {\n const { el } = instance.vnode\n if (!el) return\n const elList = Array.from(\n (el as Element).querySelectorAll<HTMLSpanElement>(`.${nsInput.e(place)}`)\n )\n const target = elList.find((item) => item.parentNode === el)\n if (!target) return\n\n const pendant = PENDANT_MAP[place]\n\n if (slots[pendant]) {\n target.style.transform = `translateX(${place === 'suffix' ? '-' : ''}${\n el.querySelector(`.${nsInput.be('group', pendant)}`).offsetWidth\n }px)`\n } else {\n target.removeAttribute('style')\n }\n}\n\nconst updateIconOffset = () => {\n calcIconOffset('prefix')\n calcIconOffset('suffix')\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 value = props.formatter(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 handleFocus = (event: FocusEvent) => {\n focused.value = true\n emit('focus', event)\n}\n\nconst handleBlur = (event: FocusEvent) => {\n focused.value = false\n emit('blur', event)\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n}\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 formItem?.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 updateIconOffset()\n }\n)\n\nonMounted(async () => {\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 updateIconOffset()\n await nextTick()\n resizeTextarea()\n})\n\nonUpdated(async () => {\n await nextTick()\n updateIconOffset()\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":["getCurrentInstance","useRawAttrs","useSlots","computed","useAttrs","useFormItem","useFormItemInputId","useSize","useDisabled","useNamespace","shallowRef","ref","ValidateComponentsMap","IconView","IconHide","isNil","useCursor","useResizeObserver","isClient","isObject","calcTextareaHeight","event","UPDATE_MODEL_EVENT","nextTick","isKorean","debugWarn","watch","onMounted","onUpdated"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"input2.js","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n v-show=\"type !== 'hidden'\"\n v-bind=\"containerAttrs\"\n :class=\"[\n type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize),\n nsInput.is('disabled', inputDisabled),\n nsInput.is('exceed', inputExceed),\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 || prefixIcon,\n [nsInput.m('suffix')]:\n $slots.suffix || suffixIcon || clearable || showPassword,\n [nsInput.bm('suffix', 'password-clear')]: showClear && showPwdVisible,\n },\n $attrs.class,\n ]\"\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 :class=\"[nsInput.e('wrapper'), nsInput.is('focus', focused)]\">\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 :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :formatter=\"formatter\"\n :parser=\"parser\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\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 }} / {{ attrs.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 :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\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 }} / {{ attrs.maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport { isClient, 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 NOOP,\n ValidateComponentsMap,\n debugWarn,\n isKorean,\n isObject,\n} from '@element-plus/utils'\nimport {\n useAttrs,\n useCursor,\n useDisabled,\n useFormItem,\n useFormItemInputId,\n useNamespace,\n useSize,\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\nconst PENDANT_MAP = {\n suffix: 'append',\n prefix: 'prepend',\n} as const\n\ndefineOptions({\n name: 'ElInput',\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst instance = getCurrentInstance()!\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 attrs = useAttrs({\n excludeKeys: computed<string[]>(() => {\n return Object.keys(containerAttrs.value)\n }),\n})\nconst { form, formItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\nconst inputSize = useSize()\nconst inputDisabled = useDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst focused = ref(false)\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 needStatusIcon = computed(() => form?.statusIcon ?? false)\nconst validateState = computed(() => formItem?.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 props.inputStyle,\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 (focused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (!!nativeInputValue.value || focused.value)\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!attrs.value.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => Array.from(nativeInputValue.value).length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value &&\n textLength.value > Number(attrs.value.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 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') return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n textareaCalcStyle.value = {\n ...calcTextareaHeight(textarea.value!, minRows, maxRows),\n }\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value!).minHeight,\n }\n }\n}\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n if (!input || input.value === nativeInputValue.value) return\n input.value = nativeInputValue.value\n}\n\nconst calcIconOffset = (place: 'prefix' | 'suffix') => {\n const { el } = instance.vnode\n if (!el) return\n const elList = Array.from(\n (el as Element).querySelectorAll<HTMLSpanElement>(`.${nsInput.e(place)}`)\n )\n const target = elList.find((item) => item.parentNode === el)\n if (!target) return\n\n const pendant = PENDANT_MAP[place]\n\n if (slots[pendant]) {\n target.style.transform = `translateX(${place === 'suffix' ? '-' : ''}${\n el.querySelector(`.${nsInput.be('group', pendant)}`).offsetWidth\n }px)`\n } else {\n target.removeAttribute('style')\n }\n}\n\nconst updateIconOffset = () => {\n calcIconOffset('prefix')\n calcIconOffset('suffix')\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 value = props.formatter(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 handleFocus = (event: FocusEvent) => {\n focused.value = true\n emit('focus', event)\n}\n\nconst handleBlur = (event: FocusEvent) => {\n focused.value = false\n emit('blur', event)\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n}\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 formItem?.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 updateIconOffset()\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 updateIconOffset()\n nextTick(resizeTextarea)\n})\n\nonUpdated(() => {\n nextTick(updateIconOffset)\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":["getCurrentInstance","useRawAttrs","useSlots","computed","useAttrs","useFormItem","useFormItemInputId","useSize","useDisabled","useNamespace","shallowRef","ref","ValidateComponentsMap","IconView","IconHide","isNil","useCursor","useResizeObserver","isClient","isObject","calcTextareaHeight","event","UPDATE_MODEL_EVENT","nextTick","isKorean","debugWarn","watch","onMounted","onUpdated"],"mappings":"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"}
|
|
@@ -36,6 +36,11 @@ var ElSelectMenu = vue.defineComponent({
|
|
|
36
36
|
const ns = index.useNamespace("select");
|
|
37
37
|
const cachedHeights = vue.ref([]);
|
|
38
38
|
const listRef = vue.ref();
|
|
39
|
+
const size = vue.computed(() => props.data.length);
|
|
40
|
+
vue.watch(() => size.value, () => {
|
|
41
|
+
var _a, _b;
|
|
42
|
+
(_b = (_a = select.popper.value).updatePopper) == null ? void 0 : _b.call(_a);
|
|
43
|
+
});
|
|
39
44
|
const isSized = vue.computed(() => types.isUndefined(select.props.estimatedOptionHeight));
|
|
40
45
|
const listProps = vue.computed(() => {
|
|
41
46
|
if (isSized.value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-dropdown.js","sources":["../../../../../../packages/components/select-v2/src/select-dropdown.tsx"],"sourcesContent":["import { computed, defineComponent, inject, ref, unref } from 'vue'\nimport { get } from 'lodash-unified'\nimport { isObject, isUndefined } from '@element-plus/utils'\nimport {\n DynamicSizeList,\n FixedSizeList,\n} from '@element-plus/components/virtual-list'\nimport { useNamespace } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport GroupItem from './group-item.vue'\nimport OptionItem from './option-item.vue'\n\nimport { selectV2InjectionKey } from './token'\n\nimport type { ItemProps } from '@element-plus/components/virtual-list'\nimport type { Option, OptionItemProps } from './select.types'\n\nexport default defineComponent({\n name: 'ElSelectDropdown',\n\n props: {\n data: {\n type: Array,\n required: true,\n },\n hoveringIndex: Number,\n width: Number,\n },\n setup(props, { slots, expose }) {\n const select = inject(selectV2InjectionKey)!\n const ns = useNamespace('select')\n const cachedHeights = ref<Array<number>>([])\n\n const listRef = ref()\n\n const isSized = computed(() =>\n isUndefined(select.props.estimatedOptionHeight)\n )\n const listProps = computed(() => {\n if (isSized.value) {\n return {\n itemSize: select.props.itemHeight,\n }\n }\n\n return {\n estimatedSize: select.props.estimatedOptionHeight,\n itemSize: (idx: number) => cachedHeights.value[idx],\n }\n })\n\n const contains = (arr: Array<any> = [], target: any) => {\n const {\n props: { valueKey },\n } = select\n\n if (!isObject(target)) {\n return arr.includes(target)\n }\n\n return (\n arr &&\n arr.some((item) => {\n return get(item, valueKey) === get(target, valueKey)\n })\n )\n }\n const isEqual = (selected: unknown, target: unknown) => {\n if (!isObject(target)) {\n return selected === target\n } else {\n const { valueKey } = select.props\n return get(selected, valueKey) === get(target, valueKey)\n }\n }\n\n const isItemSelected = (modelValue: any[] | any, target: Option) => {\n const { valueKey } = select.props\n if (select.props.multiple) {\n return contains(modelValue, get(target, valueKey))\n }\n return isEqual(modelValue, get(target, valueKey))\n }\n\n const isItemDisabled = (modelValue: any[] | any, selected: boolean) => {\n const { disabled, multiple, multipleLimit } = select.props\n return (\n disabled ||\n (!selected &&\n (multiple\n ? multipleLimit > 0 && modelValue.length >= multipleLimit\n : false))\n )\n }\n\n const isItemHovering = (target: number) => props.hoveringIndex === target\n\n const scrollToItem = (index: number) => {\n const list = listRef.value as any\n if (list) {\n list.scrollToItem(index)\n }\n }\n\n const resetScrollTop = () => {\n const list = listRef.value as any\n if (list) {\n list.resetScrollTop()\n }\n }\n\n expose({\n listRef,\n isSized,\n\n isItemDisabled,\n isItemHovering,\n isItemSelected,\n scrollToItem,\n resetScrollTop,\n })\n\n const Item = (itemProps: ItemProps<any>) => {\n const { index, data, style } = itemProps\n const sized = unref(isSized)\n const { itemSize, estimatedSize } = unref(listProps)\n const { modelValue } = select.props\n const { onSelect, onHover } = select\n const item = data[index]\n if (item.type === 'Group') {\n return (\n <GroupItem\n item={item}\n style={style}\n height={(sized ? itemSize : estimatedSize) as number}\n />\n )\n }\n\n const isSelected = isItemSelected(modelValue, item)\n const isDisabled = isItemDisabled(modelValue, isSelected)\n const isHovering = isItemHovering(index)\n return (\n <OptionItem\n {...itemProps}\n selected={isSelected}\n disabled={item.disabled || isDisabled}\n created={!!item.created}\n hovering={isHovering}\n item={item}\n onSelect={onSelect}\n onHover={onHover}\n >\n {{\n default: (props: OptionItemProps) =>\n slots.default?.(props) || <span>{item.label}</span>,\n }}\n </OptionItem>\n )\n }\n\n // computed\n const { onKeyboardNavigate, onKeyboardSelect } = select\n\n const onForward = () => {\n onKeyboardNavigate('forward')\n }\n\n const onBackward = () => {\n onKeyboardNavigate('backward')\n }\n\n const onEscOrTab = () => {\n select.expanded = false\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n const { code } = e\n const { tab, esc, down, up, enter } = EVENT_CODE\n if (code !== tab) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n switch (code) {\n case tab:\n case esc: {\n onEscOrTab()\n break\n }\n case down: {\n onForward()\n break\n }\n case up: {\n onBackward()\n break\n }\n case enter: {\n onKeyboardSelect()\n break\n }\n }\n }\n\n return () => {\n const { data, width } = props\n const { height, multiple, scrollbarAlwaysOn } = select.props\n\n if (data.length === 0) {\n return (\n <div\n class={ns.b('dropdown')}\n style={{\n width: `${width}px`,\n }}\n >\n {slots.empty?.()}\n </div>\n )\n }\n\n const List = unref(isSized) ? FixedSizeList : DynamicSizeList\n\n return (\n <div class={[ns.b('dropdown'), ns.is('multiple', multiple)]}>\n <List\n ref={listRef}\n {...unref(listProps)}\n className={ns.be('dropdown', 'list')}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n data={data}\n height={height}\n width={width}\n total={data.length}\n // @ts-ignore - dts problem\n onKeydown={onKeydown}\n >\n {{\n default: (props: ItemProps<any>) => <Item {...props} />,\n }}\n </List>\n </div>\n )\n }\n },\n})\n"],"names":["defineComponent","name","props","data","type","Array","required","hoveringIndex","Number","width","slots","expose","inject","selectV2InjectionKey","select","useNamespace","ns","ref","cachedHeights","listRef","isUndefined","isSized","computed","listProps","itemSize","estimatedSize","contains","valueKey","isObject","target","get","arr","item","disabled","multipleLimit","selected","isItemHovering","scrollToItem","resetScrollTop","value","list","unref","Item","itemProps","_createVNode","GroupItem","style","modelValue","onSelect","onHover","isItemSelected","onKeyboardSelect","onForward","onKeyboardNavigate","onBackward","onEscOrTab","onKeydown","e","code","down","enter","stopPropagation","FixedSizeList","DynamicSizeList","_mergeProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select-dropdown.js","sources":["../../../../../../packages/components/select-v2/src/select-dropdown.tsx"],"sourcesContent":["import { computed, defineComponent, inject, ref, unref, watch } from 'vue'\nimport { get } from 'lodash-unified'\nimport { isObject, isUndefined } from '@element-plus/utils'\nimport {\n DynamicSizeList,\n FixedSizeList,\n} from '@element-plus/components/virtual-list'\nimport { useNamespace } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport GroupItem from './group-item.vue'\nimport OptionItem from './option-item.vue'\n\nimport { selectV2InjectionKey } from './token'\n\nimport type { ItemProps } from '@element-plus/components/virtual-list'\nimport type { Option, OptionItemProps } from './select.types'\n\nexport default defineComponent({\n name: 'ElSelectDropdown',\n\n props: {\n data: {\n type: Array,\n required: true,\n },\n hoveringIndex: Number,\n width: Number,\n },\n setup(props, { slots, expose }) {\n const select = inject(selectV2InjectionKey)!\n const ns = useNamespace('select')\n const cachedHeights = ref<Array<number>>([])\n\n const listRef = ref()\n\n const size = computed(() => props.data.length)\n watch(\n () => size.value,\n () => {\n select.popper.value.updatePopper?.()\n }\n )\n\n const isSized = computed(() =>\n isUndefined(select.props.estimatedOptionHeight)\n )\n const listProps = computed(() => {\n if (isSized.value) {\n return {\n itemSize: select.props.itemHeight,\n }\n }\n\n return {\n estimatedSize: select.props.estimatedOptionHeight,\n itemSize: (idx: number) => cachedHeights.value[idx],\n }\n })\n\n const contains = (arr: Array<any> = [], target: any) => {\n const {\n props: { valueKey },\n } = select\n\n if (!isObject(target)) {\n return arr.includes(target)\n }\n\n return (\n arr &&\n arr.some((item) => {\n return get(item, valueKey) === get(target, valueKey)\n })\n )\n }\n const isEqual = (selected: unknown, target: unknown) => {\n if (!isObject(target)) {\n return selected === target\n } else {\n const { valueKey } = select.props\n return get(selected, valueKey) === get(target, valueKey)\n }\n }\n\n const isItemSelected = (modelValue: any[] | any, target: Option) => {\n const { valueKey } = select.props\n if (select.props.multiple) {\n return contains(modelValue, get(target, valueKey))\n }\n return isEqual(modelValue, get(target, valueKey))\n }\n\n const isItemDisabled = (modelValue: any[] | any, selected: boolean) => {\n const { disabled, multiple, multipleLimit } = select.props\n return (\n disabled ||\n (!selected &&\n (multiple\n ? multipleLimit > 0 && modelValue.length >= multipleLimit\n : false))\n )\n }\n\n const isItemHovering = (target: number) => props.hoveringIndex === target\n\n const scrollToItem = (index: number) => {\n const list = listRef.value as any\n if (list) {\n list.scrollToItem(index)\n }\n }\n\n const resetScrollTop = () => {\n const list = listRef.value as any\n if (list) {\n list.resetScrollTop()\n }\n }\n\n expose({\n listRef,\n isSized,\n\n isItemDisabled,\n isItemHovering,\n isItemSelected,\n scrollToItem,\n resetScrollTop,\n })\n\n const Item = (itemProps: ItemProps<any>) => {\n const { index, data, style } = itemProps\n const sized = unref(isSized)\n const { itemSize, estimatedSize } = unref(listProps)\n const { modelValue } = select.props\n const { onSelect, onHover } = select\n const item = data[index]\n if (item.type === 'Group') {\n return (\n <GroupItem\n item={item}\n style={style}\n height={(sized ? itemSize : estimatedSize) as number}\n />\n )\n }\n\n const isSelected = isItemSelected(modelValue, item)\n const isDisabled = isItemDisabled(modelValue, isSelected)\n const isHovering = isItemHovering(index)\n return (\n <OptionItem\n {...itemProps}\n selected={isSelected}\n disabled={item.disabled || isDisabled}\n created={!!item.created}\n hovering={isHovering}\n item={item}\n onSelect={onSelect}\n onHover={onHover}\n >\n {{\n default: (props: OptionItemProps) =>\n slots.default?.(props) || <span>{item.label}</span>,\n }}\n </OptionItem>\n )\n }\n\n // computed\n const { onKeyboardNavigate, onKeyboardSelect } = select\n\n const onForward = () => {\n onKeyboardNavigate('forward')\n }\n\n const onBackward = () => {\n onKeyboardNavigate('backward')\n }\n\n const onEscOrTab = () => {\n select.expanded = false\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n const { code } = e\n const { tab, esc, down, up, enter } = EVENT_CODE\n if (code !== tab) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n switch (code) {\n case tab:\n case esc: {\n onEscOrTab()\n break\n }\n case down: {\n onForward()\n break\n }\n case up: {\n onBackward()\n break\n }\n case enter: {\n onKeyboardSelect()\n break\n }\n }\n }\n\n return () => {\n const { data, width } = props\n const { height, multiple, scrollbarAlwaysOn } = select.props\n\n if (data.length === 0) {\n return (\n <div\n class={ns.b('dropdown')}\n style={{\n width: `${width}px`,\n }}\n >\n {slots.empty?.()}\n </div>\n )\n }\n\n const List = unref(isSized) ? FixedSizeList : DynamicSizeList\n\n return (\n <div class={[ns.b('dropdown'), ns.is('multiple', multiple)]}>\n <List\n ref={listRef}\n {...unref(listProps)}\n className={ns.be('dropdown', 'list')}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n data={data}\n height={height}\n width={width}\n total={data.length}\n // @ts-ignore - dts problem\n onKeydown={onKeydown}\n >\n {{\n default: (props: ItemProps<any>) => <Item {...props} />,\n }}\n </List>\n </div>\n )\n }\n },\n})\n"],"names":["defineComponent","name","props","data","type","Array","required","hoveringIndex","Number","width","slots","expose","inject","selectV2InjectionKey","select","useNamespace","ns","ref","cachedHeights","listRef","computed","watch","size","popper","value","isSized","isUndefined","estimatedOptionHeight","listProps","itemSize","itemHeight","estimatedSize","contains","valueKey","isObject","target","arr","includes","get","item","isEqual","selected","modelValue","isItemDisabled","multiple","multipleLimit","isItemHovering","scrollToItem","resetScrollTop","list","unref","isItemSelected","Item","itemProps","style","OptionItem","_mergeProps","onSelect","onHover","sized","disabled","isHovering","onKeyboardSelect","onForward","EVENT_CODE","onBackward","onEscOrTab","onKeydown","code","up","enter","e","tab","_createVNode","FixedSizeList","DynamicSizeList"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sources":["../../../../../../packages/components/select-v2/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelectV2.b(), nsSelectV2.m(selectSize)]\"\n @click.stop=\"toggleMenu\"\n @mouseenter=\"states.comboBoxHovering = true\"\n @mouseleave=\"states.comboBoxHovering = false\"\n >\n <el-tooltip\n ref=\"popper\"\n :visible=\"dropdownMenuVisible\"\n :teleported=\"teleported\"\n :popper-class=\"[nsSelectV2.e('popper'), popperClass]\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"['bottom-start', 'top-start', 'right', 'left']\"\n :effect=\"effect\"\n :placement=\"placement\"\n pure\n :transition=\"`${nsSelectV2.namespace.value}-zoom-in-top`\"\n trigger=\"click\"\n :persistent=\"persistent\"\n @before-show=\"handleMenuEnter\"\n @hide=\"states.inputValue = states.displayInputValue\"\n >\n <template #default>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelectV2.e('wrapper'),\n nsSelectV2.is('focused', states.isComposing),\n nsSelectV2.is('hovering', states.comboBoxHovering),\n nsSelectV2.is('filterable', filterable),\n nsSelectV2.is('disabled', selectDisabled),\n ]\"\n >\n <div v-if=\"$slots.prefix\">\n <slot name=\"prefix\" />\n </div>\n <div v-if=\"multiple\" :class=\"nsSelectV2.e('selection')\">\n <template v-if=\"collapseTags && modelValue.length > 0\">\n <div :class=\"nsSelectV2.e('selected-item')\">\n <el-tag\n :closable=\"\n !selectDisabled && !states.cachedOptions[0]?.disable\n \"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, states.cachedOptions[0])\"\n >\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ states.cachedOptions[0]?.label }}</span\n >\n </el-tag>\n <el-tag\n v-if=\"modelValue.length > 1\"\n :closable=\"false\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n >\n <el-tooltip\n v-if=\"collapseTagsTooltip\"\n :disabled=\"dropdownMenuVisible\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :effect=\"effect\"\n placement=\"bottom\"\n :teleported=\"false\"\n >\n <template #default>\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >+ {{ modelValue.length - 1 }}</span\n >\n </template>\n <template #content>\n <div :class=\"nsSelectV2.e('selection')\">\n <div\n v-for=\"(selected, idx) in states.cachedOptions.slice(\n 1\n )\"\n :key=\"idx\"\n :class=\"nsSelectV2.e('selected-item')\"\n >\n <el-tag\n :key=\"getValueKey(selected)\"\n :closable=\"!selectDisabled && !selected.disabled\"\n :size=\"collapseTagSize\"\n class=\"in-tooltip\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, selected)\"\n >\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ getLabel(selected) }}</span\n >\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n <span\n v-else\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >+ {{ modelValue.length - 1 }}</span\n >\n </el-tag>\n </div>\n </template>\n\n <template v-else>\n <div\n v-for=\"(selected, idx) in states.cachedOptions\"\n :key=\"idx\"\n :class=\"nsSelectV2.e('selected-item')\"\n >\n <el-tag\n :key=\"getValueKey(selected)\"\n :closable=\"!selectDisabled && !selected.disabled\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, selected)\"\n >\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ getLabel(selected) }}</span\n >\n </el-tag>\n </div>\n </template>\n <div\n :class=\"[\n nsSelectV2.e('selected-item'),\n nsSelectV2.e('input-wrapper'),\n ]\"\n :style=\"inputWrapperStyle\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n :autocomplete=\"autocomplete\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n autocapitalize=\"off\"\n :aria-expanded=\"expanded\"\n :aria-labelledby=\"label\"\n :class=\"[\n nsSelectV2.is(selectSize),\n nsSelectV2.e('combobox-input'),\n ]\"\n :disabled=\"disabled\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :name=\"name\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @update:modelValue=\"onUpdateInputValue\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @input=\"onInput\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.delete.stop=\"handleDel\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelectV2.e('input-calculator')\"\n v-text=\"states.displayInputValue\"\n />\n </div>\n </div>\n <template v-else>\n <div\n :class=\"[\n nsSelectV2.e('selected-item'),\n nsSelectV2.e('input-wrapper'),\n ]\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n :aria-labelledby=\"label\"\n :aria-expanded=\"expanded\"\n autocapitalize=\"off\"\n :autocomplete=\"autocomplete\"\n :class=\"nsSelectV2.e('combobox-input')\"\n :disabled=\"disabled\"\n :name=\"name\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @input=\"onInput\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @update:modelValue=\"onUpdateInputValue\"\n />\n </div>\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"[\n nsSelectV2.e('selected-item'),\n nsSelectV2.e('input-calculator'),\n ]\"\n v-text=\"states.displayInputValue\"\n />\n </template>\n <span\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelectV2.e('placeholder'),\n nsSelectV2.is(\n 'transparent',\n states.isComposing ||\n (multiple ? modelValue.length === 0 : !hasModelValue)\n ),\n ]\"\n >\n {{ currentPlaceholder }}\n </span>\n <span :class=\"nsSelectV2.e('suffix')\">\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClearBtn\"\n :class=\"[nsSelectV2.e('caret'), nsInput.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n :class=\"[nsSelectV2.e('caret'), nsInput.e('icon')]\"\n @click.prevent.stop=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon\"\n :class=\"[nsInput.e('icon'), nsInput.e('validateIcon')]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </div>\n </template>\n <template #content>\n <el-select-menu\n ref=\"menuRef\"\n :data=\"filteredOptions\"\n :width=\"popperSize\"\n :hovering-index=\"states.hoveringIndex\"\n :scrollbar-always-on=\"scrollbarAlwaysOn\"\n >\n <template #default=\"scope\">\n <slot v-bind=\"scope\" />\n </template>\n <template #empty>\n <slot name=\"empty\">\n <p :class=\"nsSelectV2.e('empty')\">\n {{ emptyText ? emptyText : '' }}\n </p>\n </slot>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, reactive, toRefs, vModelText } from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport ElSelectMenu from './select-dropdown'\nimport useSelect from './useSelect'\nimport { selectV2InjectionKey } from './token'\nimport { SelectProps } from './defaults'\nexport default defineComponent({\n name: 'ElSelectV2',\n components: {\n ElSelectMenu,\n ElTag,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside, ModelText: vModelText },\n props: SelectProps,\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n ],\n\n setup(props, { emit }) {\n const API = useSelect(props, emit)\n // TODO, remove the any cast to align the actual API.\n provide(selectV2InjectionKey, {\n props: reactive({\n ...toRefs(props),\n height: API.popupHeight,\n }),\n onSelect: API.onSelect,\n onHover: API.onHover,\n onKeyboardNavigate: API.onKeyboardNavigate,\n onKeyboardSelect: API.onKeyboardSelect,\n } as any)\n\n return API\n },\n})\n</script>\n"],"names":["defineComponent","ElSelectMenu","ElTag","ElTooltip","ElIcon","ClickOutside","vModelText","SelectProps","UPDATE_MODEL_EVENT","CHANGE_EVENT","useSelect","provide","selectV2InjectionKey","reactive","toRefs","_createElementBlock","_normalizeClass","_createVNode","_withCtx","_createElementVNode","_openBlock","_renderSlot","_createCommentVNode","_normalizeStyle","_toDisplayString","_createBlock","_Fragment","_renderList","_withDirectives","_withKeys","_withModifiers","_resolveDynamicComponent","_vShow","_guardReactiveProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select.js","sources":["../../../../../../packages/components/select-v2/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelectV2.b(), nsSelectV2.m(selectSize)]\"\n @click.stop=\"toggleMenu\"\n @mouseenter=\"states.comboBoxHovering = true\"\n @mouseleave=\"states.comboBoxHovering = false\"\n >\n <el-tooltip\n ref=\"popper\"\n :visible=\"dropdownMenuVisible\"\n :teleported=\"teleported\"\n :popper-class=\"[nsSelectV2.e('popper'), popperClass]\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"['bottom-start', 'top-start', 'right', 'left']\"\n :effect=\"effect\"\n :placement=\"placement\"\n pure\n :transition=\"`${nsSelectV2.namespace.value}-zoom-in-top`\"\n trigger=\"click\"\n :persistent=\"persistent\"\n @before-show=\"handleMenuEnter\"\n @hide=\"states.inputValue = states.displayInputValue\"\n >\n <template #default>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelectV2.e('wrapper'),\n nsSelectV2.is('focused', states.isComposing),\n nsSelectV2.is('hovering', states.comboBoxHovering),\n nsSelectV2.is('filterable', filterable),\n nsSelectV2.is('disabled', selectDisabled),\n ]\"\n >\n <div v-if=\"$slots.prefix\">\n <slot name=\"prefix\" />\n </div>\n <div v-if=\"multiple\" :class=\"nsSelectV2.e('selection')\">\n <template v-if=\"collapseTags && modelValue.length > 0\">\n <div :class=\"nsSelectV2.e('selected-item')\">\n <el-tag\n :closable=\"\n !selectDisabled && !states.cachedOptions[0]?.disable\n \"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, states.cachedOptions[0])\"\n >\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ states.cachedOptions[0]?.label }}</span\n >\n </el-tag>\n <el-tag\n v-if=\"modelValue.length > 1\"\n :closable=\"false\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n >\n <el-tooltip\n v-if=\"collapseTagsTooltip\"\n :disabled=\"dropdownMenuVisible\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :effect=\"effect\"\n placement=\"bottom\"\n :teleported=\"false\"\n >\n <template #default>\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >+ {{ modelValue.length - 1 }}</span\n >\n </template>\n <template #content>\n <div :class=\"nsSelectV2.e('selection')\">\n <div\n v-for=\"(selected, idx) in states.cachedOptions.slice(\n 1\n )\"\n :key=\"idx\"\n :class=\"nsSelectV2.e('selected-item')\"\n >\n <el-tag\n :key=\"getValueKey(selected)\"\n :closable=\"!selectDisabled && !selected.disabled\"\n :size=\"collapseTagSize\"\n class=\"in-tooltip\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, selected)\"\n >\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ getLabel(selected) }}</span\n >\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n <span\n v-else\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >+ {{ modelValue.length - 1 }}</span\n >\n </el-tag>\n </div>\n </template>\n\n <template v-else>\n <div\n v-for=\"(selected, idx) in states.cachedOptions\"\n :key=\"idx\"\n :class=\"nsSelectV2.e('selected-item')\"\n >\n <el-tag\n :key=\"getValueKey(selected)\"\n :closable=\"!selectDisabled && !selected.disabled\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, selected)\"\n >\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ getLabel(selected) }}</span\n >\n </el-tag>\n </div>\n </template>\n <div\n :class=\"[\n nsSelectV2.e('selected-item'),\n nsSelectV2.e('input-wrapper'),\n ]\"\n :style=\"inputWrapperStyle\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n :autocomplete=\"autocomplete\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n autocapitalize=\"off\"\n :aria-expanded=\"expanded\"\n :aria-labelledby=\"label\"\n :class=\"[\n nsSelectV2.is(selectSize),\n nsSelectV2.e('combobox-input'),\n ]\"\n :disabled=\"disabled\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :name=\"name\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @update:modelValue=\"onUpdateInputValue\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @input=\"onInput\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.delete.stop=\"handleDel\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelectV2.e('input-calculator')\"\n v-text=\"states.displayInputValue\"\n />\n </div>\n </div>\n <template v-else>\n <div\n :class=\"[\n nsSelectV2.e('selected-item'),\n nsSelectV2.e('input-wrapper'),\n ]\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n :aria-labelledby=\"label\"\n :aria-expanded=\"expanded\"\n autocapitalize=\"off\"\n :autocomplete=\"autocomplete\"\n :class=\"nsSelectV2.e('combobox-input')\"\n :disabled=\"disabled\"\n :name=\"name\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @input=\"onInput\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @update:modelValue=\"onUpdateInputValue\"\n />\n </div>\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"[\n nsSelectV2.e('selected-item'),\n nsSelectV2.e('input-calculator'),\n ]\"\n v-text=\"states.displayInputValue\"\n />\n </template>\n <span\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelectV2.e('placeholder'),\n nsSelectV2.is(\n 'transparent',\n states.isComposing ||\n (multiple ? modelValue.length === 0 : !hasModelValue)\n ),\n ]\"\n >\n {{ currentPlaceholder }}\n </span>\n <span :class=\"nsSelectV2.e('suffix')\">\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClearBtn\"\n :class=\"[nsSelectV2.e('caret'), nsInput.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n :class=\"[nsSelectV2.e('caret'), nsInput.e('icon')]\"\n @click.prevent.stop=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon\"\n :class=\"[nsInput.e('icon'), nsInput.e('validateIcon')]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </div>\n </template>\n <template #content>\n <el-select-menu\n ref=\"menuRef\"\n :data=\"filteredOptions\"\n :width=\"popperSize\"\n :hovering-index=\"states.hoveringIndex\"\n :scrollbar-always-on=\"scrollbarAlwaysOn\"\n >\n <template #default=\"scope\">\n <slot v-bind=\"scope\" />\n </template>\n <template #empty>\n <slot name=\"empty\">\n <p :class=\"nsSelectV2.e('empty')\">\n {{ emptyText ? emptyText : '' }}\n </p>\n </slot>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, reactive, toRefs, vModelText } from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport ElSelectMenu from './select-dropdown'\nimport useSelect from './useSelect'\nimport { selectV2InjectionKey } from './token'\nimport { SelectProps } from './defaults'\nexport default defineComponent({\n name: 'ElSelectV2',\n components: {\n ElSelectMenu,\n ElTag,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside, ModelText: vModelText },\n props: SelectProps,\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n ],\n\n setup(props, { emit }) {\n const API = useSelect(props, emit)\n // TODO, remove the any cast to align the actual API.\n provide(selectV2InjectionKey, {\n props: reactive({\n ...toRefs(props),\n height: API.popupHeight,\n }),\n popper: API.popper,\n onSelect: API.onSelect,\n onHover: API.onHover,\n onKeyboardNavigate: API.onKeyboardNavigate,\n onKeyboardSelect: API.onKeyboardSelect,\n } as any)\n\n return API\n },\n})\n</script>\n"],"names":["defineComponent","ElSelectMenu","ElTag","ElTooltip","ElIcon","ClickOutside","vModelText","SelectProps","UPDATE_MODEL_EVENT","CHANGE_EVENT","useSelect","provide","selectV2InjectionKey","reactive","toRefs","_createElementBlock","_normalizeClass","_createVNode","_withCtx","_createElementVNode","_openBlock","_renderSlot","_createCommentVNode","_normalizeStyle","_toDisplayString","_createBlock","_Fragment","_renderList","_withDirectives","_withKeys","_withModifiers","_resolveDynamicComponent","_vShow","_guardReactiveProps"],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { OptionProps, SelectProps } from './defaults';
|
|
2
|
-
import type { ExtractPropTypes, InjectionKey } from 'vue';
|
|
2
|
+
import type { ExtractPropTypes, InjectionKey, Ref } from 'vue';
|
|
3
3
|
import type { Option } from './select.types';
|
|
4
|
+
import type { TooltipInstance } from 'element-plus/es/components/tooltip';
|
|
4
5
|
export interface SelectV2Context {
|
|
5
6
|
props: ExtractPropTypes<typeof SelectProps>;
|
|
6
7
|
expanded: boolean;
|
|
8
|
+
popper: Ref<TooltipInstance>;
|
|
7
9
|
onSelect: (option: Option<any>, index: number, byClick?: boolean) => void;
|
|
8
10
|
onHover: (idx: number) => void;
|
|
9
11
|
onKeyboardNavigate: (direction: 'forward' | 'backward') => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sources":["../../../../../../packages/components/select-v2/src/token.ts"],"sourcesContent":["import type { OptionProps, SelectProps } from './defaults'\nimport type { ExtractPropTypes, InjectionKey } from 'vue'\nimport type { Option } from './select.types'\n\nexport interface SelectV2Context {\n props: ExtractPropTypes<typeof SelectProps>\n expanded: boolean\n onSelect: (option: Option<any>, index: number, byClick?: boolean) => void\n onHover: (idx: number) => void\n onKeyboardNavigate: (direction: 'forward' | 'backward') => void\n onKeyboardSelect: () => void\n}\n\nexport const selectV2InjectionKey =\n 'ElSelectV2Injection' as any as InjectionKey<SelectV2Context>\nexport type IOptionProps = ExtractPropTypes<typeof OptionProps>\nexport type ISelectProps = ExtractPropTypes<typeof SelectProps>\n"],"names":[],"mappings":";;;;AAAY,MAAC,oBAAoB,GAAG;;;;"}
|
|
1
|
+
{"version":3,"file":"token.js","sources":["../../../../../../packages/components/select-v2/src/token.ts"],"sourcesContent":["import type { OptionProps, SelectProps } from './defaults'\nimport type { ExtractPropTypes, InjectionKey, Ref } from 'vue'\nimport type { Option } from './select.types'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\nexport interface SelectV2Context {\n props: ExtractPropTypes<typeof SelectProps>\n expanded: boolean\n popper: Ref<TooltipInstance>\n onSelect: (option: Option<any>, index: number, byClick?: boolean) => void\n onHover: (idx: number) => void\n onKeyboardNavigate: (direction: 'forward' | 'backward') => void\n onKeyboardSelect: () => void\n}\n\nexport const selectV2InjectionKey =\n 'ElSelectV2Injection' as any as InjectionKey<SelectV2Context>\nexport type IOptionProps = ExtractPropTypes<typeof OptionProps>\nexport type ISelectProps = ExtractPropTypes<typeof SelectProps>\n"],"names":[],"mappings":";;;;AAAY,MAAC,oBAAoB,GAAG;;;;"}
|
package/lib/hooks/index.d.ts
CHANGED
package/lib/hooks/index.js
CHANGED
|
@@ -31,6 +31,7 @@ var index$p = require('./use-namespace/index.js');
|
|
|
31
31
|
var index$q = require('./use-z-index/index.js');
|
|
32
32
|
var index$r = require('./use-floating/index.js');
|
|
33
33
|
var index$s = require('./use-cursor/index.js');
|
|
34
|
+
var index$t = require('./use-ordered-children/index.js');
|
|
34
35
|
|
|
35
36
|
|
|
36
37
|
|
|
@@ -84,4 +85,5 @@ exports.getPositionDataWithUnit = index$r.getPositionDataWithUnit;
|
|
|
84
85
|
exports.useFloating = index$r.useFloating;
|
|
85
86
|
exports.useFloatingProps = index$r.useFloatingProps;
|
|
86
87
|
exports.useCursor = index$s.useCursor;
|
|
88
|
+
exports.useOrderedChildren = index$t.useOrderedChildren;
|
|
87
89
|
//# sourceMappingURL=index.js.map
|
package/lib/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ComponentInternalInstance } from 'vue';
|
|
2
|
+
export declare const useOrderedChildren: <T extends {
|
|
3
|
+
uid: number;
|
|
4
|
+
}>(vm: ComponentInternalInstance, childComponentName: string) => {
|
|
5
|
+
children: import("vue").ShallowRef<T[]>;
|
|
6
|
+
addChild: (child: T) => void;
|
|
7
|
+
removeChild: (uid: number) => void;
|
|
8
|
+
};
|