@element-plus/nightly 0.0.20240820 → 0.0.20240822
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/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +57 -26
- package/dist/index.full.min.js +22 -22
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +22 -22
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +57 -27
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar-eg.js +1 -1
- package/dist/locale/ar-eg.min.js +1 -1
- package/dist/locale/ar-eg.min.mjs +1 -1
- package/dist/locale/ar-eg.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/ckb.js +1 -1
- package/dist/locale/ckb.min.js +1 -1
- package/dist/locale/ckb.min.mjs +1 -1
- package/dist/locale/ckb.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/my.js +1 -1
- package/dist/locale/my.min.js +1 -1
- package/dist/locale/my.min.mjs +1 -1
- package/dist/locale/my.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/sw.js +1 -1
- package/dist/locale/sw.min.js +1 -1
- package/dist/locale/sw.min.mjs +1 -1
- package/dist/locale/sw.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/carousel/index.mjs +1 -1
- package/es/components/carousel/src/carousel-item2.mjs +3 -3
- package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
- package/es/components/carousel/src/constants.d.ts +1 -0
- package/es/components/carousel/src/constants.mjs +2 -1
- package/es/components/carousel/src/constants.mjs.map +1 -1
- package/es/components/carousel/src/use-carousel-item.d.ts +1 -1
- package/es/components/carousel/src/use-carousel-item.mjs +4 -4
- package/es/components/carousel/src/use-carousel-item.mjs.map +1 -1
- package/es/components/carousel/src/use-carousel.mjs +3 -4
- package/es/components/carousel/src/use-carousel.mjs.map +1 -1
- package/es/components/descriptions/src/description-item.d.ts +4 -0
- package/es/components/descriptions/src/description-item.mjs +4 -0
- package/es/components/descriptions/src/description-item.mjs.map +1 -1
- package/es/components/descriptions/src/description2.mjs +16 -1
- package/es/components/descriptions/src/description2.mjs.map +1 -1
- package/es/components/descriptions/src/descriptions-cell.mjs +7 -3
- package/es/components/descriptions/src/descriptions-cell.mjs.map +1 -1
- package/es/components/descriptions/src/descriptions.type.d.ts +1 -0
- package/es/components/dialog/src/dialog-content.vue.d.ts +1 -1
- package/es/components/dialog/src/dialog-content2.mjs +2 -2
- package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
- package/es/components/dialog/src/dialog.vue.d.ts +1 -1
- package/es/components/dialog/src/dialog2.mjs +3 -3
- package/es/components/dialog/src/dialog2.mjs.map +1 -1
- package/es/components/index.mjs +2 -2
- package/es/components/pagination/src/components/jumper.mjs +59 -9
- package/es/components/pagination/src/components/jumper.mjs.map +1 -1
- package/es/components/pagination/src/components/jumper2.mjs +9 -59
- package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
- package/es/components/pagination/src/pagination.mjs +1 -1
- package/es/components/select/src/select2.mjs +5 -1
- package/es/components/select/src/select2.mjs.map +1 -1
- package/es/components/select-v2/src/select.mjs +5 -1
- package/es/components/select-v2/src/select.mjs.map +1 -1
- package/es/components/upload/index.mjs +1 -1
- package/es/components/upload/src/upload-content2.mjs +1 -1
- package/es/components/upload/src/upload-dragger.mjs +11 -49
- package/es/components/upload/src/upload-dragger.mjs.map +1 -1
- package/es/components/upload/src/upload-dragger2.mjs +49 -11
- package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
- package/es/components/virtual-list/src/builders/build-grid.mjs +4 -4
- package/es/components/virtual-list/src/builders/build-grid.mjs.map +1 -1
- package/es/components/virtual-list/src/builders/build-list.mjs +3 -4
- package/es/components/virtual-list/src/builders/build-list.mjs.map +1 -1
- package/es/hooks/use-draggable/index.d.ts +1 -1
- package/es/hooks/use-draggable/index.mjs +2 -2
- package/es/hooks/use-draggable/index.mjs.map +1 -1
- package/es/index.mjs +2 -2
- 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.js +1 -0
- package/lib/components/carousel/index.js.map +1 -1
- package/lib/components/carousel/src/carousel-item2.js +3 -3
- package/lib/components/carousel/src/carousel-item2.js.map +1 -1
- package/lib/components/carousel/src/constants.d.ts +1 -0
- package/lib/components/carousel/src/constants.js +2 -0
- package/lib/components/carousel/src/constants.js.map +1 -1
- package/lib/components/carousel/src/use-carousel-item.d.ts +1 -1
- package/lib/components/carousel/src/use-carousel-item.js +3 -3
- package/lib/components/carousel/src/use-carousel-item.js.map +1 -1
- package/lib/components/carousel/src/use-carousel.js +2 -3
- package/lib/components/carousel/src/use-carousel.js.map +1 -1
- package/lib/components/descriptions/src/description-item.d.ts +4 -0
- package/lib/components/descriptions/src/description-item.js +4 -0
- package/lib/components/descriptions/src/description-item.js.map +1 -1
- package/lib/components/descriptions/src/description2.js +16 -1
- package/lib/components/descriptions/src/description2.js.map +1 -1
- package/lib/components/descriptions/src/descriptions-cell.js +7 -3
- package/lib/components/descriptions/src/descriptions-cell.js.map +1 -1
- package/lib/components/descriptions/src/descriptions.type.d.ts +1 -0
- package/lib/components/dialog/src/dialog-content.vue.d.ts +1 -1
- package/lib/components/dialog/src/dialog-content2.js +2 -2
- package/lib/components/dialog/src/dialog-content2.js.map +1 -1
- package/lib/components/dialog/src/dialog.vue.d.ts +1 -1
- package/lib/components/dialog/src/dialog2.js +3 -3
- package/lib/components/dialog/src/dialog2.js.map +1 -1
- package/lib/components/index.js +2 -1
- package/lib/components/index.js.map +1 -1
- package/lib/components/pagination/src/components/jumper.js +59 -9
- package/lib/components/pagination/src/components/jumper.js.map +1 -1
- package/lib/components/pagination/src/components/jumper2.js +9 -59
- package/lib/components/pagination/src/components/jumper2.js.map +1 -1
- package/lib/components/pagination/src/pagination.js +1 -1
- package/lib/components/select/src/select2.js +5 -1
- package/lib/components/select/src/select2.js.map +1 -1
- package/lib/components/select-v2/src/select.js +5 -1
- package/lib/components/select-v2/src/select.js.map +1 -1
- package/lib/components/upload/index.js +1 -1
- package/lib/components/upload/src/upload-content2.js +1 -1
- package/lib/components/upload/src/upload-dragger.js +12 -49
- package/lib/components/upload/src/upload-dragger.js.map +1 -1
- package/lib/components/upload/src/upload-dragger2.js +49 -12
- package/lib/components/upload/src/upload-dragger2.js.map +1 -1
- package/lib/components/virtual-list/src/builders/build-grid.js +3 -3
- package/lib/components/virtual-list/src/builders/build-grid.js.map +1 -1
- package/lib/components/virtual-list/src/builders/build-list.js +2 -3
- package/lib/components/virtual-list/src/builders/build-list.js.map +1 -1
- package/lib/hooks/use-draggable/index.d.ts +1 -1
- package/lib/hooks/use-draggable/index.js +2 -2
- package/lib/hooks/use-draggable/index.js.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.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/tags.json +1 -1
- package/theme-chalk/el-dialog.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/common/var.scss +1 -1
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-carousel-item.js","sources":["../../../../../../packages/components/carousel/src/use-carousel-item.ts"],"sourcesContent":["import {\n getCurrentInstance,\n inject,\n onMounted,\n onUnmounted,\n reactive,\n ref,\n unref,\n} from 'vue'\nimport { debugWarn, isUndefined } from '@element-plus/utils'\nimport { carouselContextKey } from './constants'\n\nimport type { CarouselItemProps } from './carousel-item'\n\nexport const useCarouselItem = (
|
|
1
|
+
{"version":3,"file":"use-carousel-item.js","sources":["../../../../../../packages/components/carousel/src/use-carousel-item.ts"],"sourcesContent":["import {\n getCurrentInstance,\n inject,\n onMounted,\n onUnmounted,\n reactive,\n ref,\n unref,\n} from 'vue'\nimport { debugWarn, isUndefined } from '@element-plus/utils'\nimport { CAROUSEL_ITEM_NAME, carouselContextKey } from './constants'\n\nimport type { CarouselItemProps } from './carousel-item'\n\nexport const useCarouselItem = (props: CarouselItemProps) => {\n const carouselContext = inject(carouselContextKey)!\n // instance\n const instance = getCurrentInstance()!\n if (!carouselContext) {\n debugWarn(\n CAROUSEL_ITEM_NAME,\n 'usage: <el-carousel></el-carousel-item></el-carousel>'\n )\n }\n\n if (!instance) {\n debugWarn(\n CAROUSEL_ITEM_NAME,\n 'compositional hook can only be invoked inside setups'\n )\n }\n\n const carouselItemRef = ref<HTMLElement>()\n const hover = ref(false)\n const translate = ref(0)\n const scale = ref(1)\n const active = ref(false)\n const ready = ref(false)\n const inStage = ref(false)\n const animating = ref(false)\n\n // computed\n const { isCardType, isVertical, cardScale } = carouselContext\n\n // methods\n\n function processIndex(index: number, activeIndex: number, length: number) {\n const lastItemIndex = length - 1\n const prevItemIndex = activeIndex - 1\n const nextItemIndex = activeIndex + 1\n const halfItemIndex = length / 2\n\n if (activeIndex === 0 && index === lastItemIndex) {\n return -1\n } else if (activeIndex === lastItemIndex && index === 0) {\n return length\n } else if (index < prevItemIndex && activeIndex - index >= halfItemIndex) {\n return length + 1\n } else if (index > nextItemIndex && index - activeIndex >= halfItemIndex) {\n return -2\n }\n return index\n }\n\n function calcCardTranslate(index: number, activeIndex: number) {\n const parentWidth = unref(isVertical)\n ? carouselContext.root.value?.offsetHeight || 0\n : carouselContext.root.value?.offsetWidth || 0\n\n if (inStage.value) {\n return (parentWidth * ((2 - cardScale) * (index - activeIndex) + 1)) / 4\n } else if (index < activeIndex) {\n return (-(1 + cardScale) * parentWidth) / 4\n } else {\n return ((3 + cardScale) * parentWidth) / 4\n }\n }\n\n function calcTranslate(\n index: number,\n activeIndex: number,\n isVertical: boolean\n ) {\n const rootEl = carouselContext.root.value\n if (!rootEl) return 0\n\n const distance =\n (isVertical ? rootEl.offsetHeight : rootEl.offsetWidth) || 0\n return distance * (index - activeIndex)\n }\n\n const translateItem = (\n index: number,\n activeIndex: number,\n oldIndex?: number\n ) => {\n const _isCardType = unref(isCardType)\n const carouselItemLength = carouselContext.items.value.length ?? Number.NaN\n\n const isActive = index === activeIndex\n if (!_isCardType && !isUndefined(oldIndex)) {\n animating.value = isActive || index === oldIndex\n }\n\n if (!isActive && carouselItemLength > 2 && carouselContext.loop) {\n index = processIndex(index, activeIndex, carouselItemLength)\n }\n\n const _isVertical = unref(isVertical)\n active.value = isActive\n\n if (_isCardType) {\n inStage.value = Math.round(Math.abs(index - activeIndex)) <= 1\n translate.value = calcCardTranslate(index, activeIndex)\n scale.value = unref(active) ? 1 : cardScale\n } else {\n translate.value = calcTranslate(index, activeIndex, _isVertical)\n }\n\n ready.value = true\n\n if (isActive && carouselItemRef.value) {\n carouselContext.setContainerHeight(carouselItemRef.value.offsetHeight)\n }\n }\n\n function handleItemClick() {\n if (carouselContext && unref(isCardType)) {\n const index = carouselContext.items.value.findIndex(\n ({ uid }) => uid === instance.uid\n )\n carouselContext.setActiveItem(index)\n }\n }\n\n // lifecycle\n onMounted(() => {\n carouselContext.addItem({\n props,\n states: reactive({\n hover,\n translate,\n scale,\n active,\n ready,\n inStage,\n animating,\n }),\n uid: instance.uid,\n translateItem,\n })\n })\n\n onUnmounted(() => {\n carouselContext.removeItem(instance.uid)\n })\n\n return {\n carouselItemRef,\n active,\n animating,\n hover,\n inStage,\n isVertical,\n translate,\n isCardType,\n scale,\n ready,\n handleItemClick,\n }\n}\n"],"names":["inject","carouselContextKey","getCurrentInstance","debugWarn","CAROUSEL_ITEM_NAME","ref","unref","isUndefined","onMounted","reactive","onUnmounted"],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ const useCarousel = (props, emit, componentName) => {
|
|
|
19
19
|
children: items,
|
|
20
20
|
addChild: addItem,
|
|
21
21
|
removeChild: removeItem
|
|
22
|
-
} = index.useOrderedChildren(vue.getCurrentInstance(),
|
|
22
|
+
} = index.useOrderedChildren(vue.getCurrentInstance(), constants.CAROUSEL_ITEM_NAME);
|
|
23
23
|
const slots = vue.useSlots();
|
|
24
24
|
const activeIndex = vue.ref(-1);
|
|
25
25
|
const timer = vue.ref(null);
|
|
@@ -203,9 +203,8 @@ const useCarousel = (props, emit, componentName) => {
|
|
|
203
203
|
if (!defaultSlots)
|
|
204
204
|
return null;
|
|
205
205
|
const flatSlots = vnode.flattedChildren(defaultSlots);
|
|
206
|
-
const carouselItemsName = "ElCarouselItem";
|
|
207
206
|
const normalizeSlots = flatSlots.filter((slot) => {
|
|
208
|
-
return vue.isVNode(slot) && slot.type.name ===
|
|
207
|
+
return vue.isVNode(slot) && slot.type.name === constants.CAROUSEL_ITEM_NAME;
|
|
209
208
|
});
|
|
210
209
|
if ((normalizeSlots == null ? void 0 : normalizeSlots.length) === 2 && props.loop && !isCardType.value) {
|
|
211
210
|
isItemsTwoLength.value = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-carousel.js","sources":["../../../../../../packages/components/carousel/src/use-carousel.ts"],"sourcesContent":["import {\n computed,\n getCurrentInstance,\n isVNode,\n onBeforeUnmount,\n onMounted,\n provide,\n ref,\n shallowRef,\n unref,\n useSlots,\n watch,\n} from 'vue'\nimport { throttle } from 'lodash-unified'\nimport { useResizeObserver } from '@vueuse/core'\nimport { debugWarn, flattedChildren, isString } from '@element-plus/utils'\nimport { useOrderedChildren } from '@element-plus/hooks'\nimport { carouselContextKey } from './constants'\n\nimport type { SetupContext } from 'vue'\nimport type { CarouselItemContext } from './constants'\nimport type { CarouselEmits, CarouselProps } from './carousel'\n\nconst THROTTLE_TIME = 300\n\nexport const useCarousel = (\n props: CarouselProps,\n emit: SetupContext<CarouselEmits>['emit'],\n componentName: string\n) => {\n const {\n children: items,\n addChild: addItem,\n removeChild: removeItem,\n } = useOrderedChildren<CarouselItemContext>(\n getCurrentInstance()!,\n 'ElCarouselItem'\n )\n\n const slots = useSlots()\n\n // refs\n const activeIndex = ref(-1)\n const timer = ref<ReturnType<typeof setInterval> | null>(null)\n const hover = ref(false)\n const root = ref<HTMLDivElement>()\n const containerHeight = ref<number>(0)\n const isItemsTwoLength = ref(true)\n const isFirstCall = ref(true)\n const isTransitioning = ref(false)\n\n // computed\n const arrowDisplay = computed(\n () => props.arrow !== 'never' && !unref(isVertical)\n )\n\n const hasLabel = computed(() => {\n return items.value.some((item) => item.props.label.toString().length > 0)\n })\n\n const isCardType = computed(() => props.type === 'card')\n const isVertical = computed(() => props.direction === 'vertical')\n\n const containerStyle = computed(() => {\n if (props.height !== 'auto') {\n return {\n height: props.height,\n }\n }\n return {\n height: `${containerHeight.value}px`,\n overflow: 'hidden',\n }\n })\n\n // methods\n const throttledArrowClick = throttle(\n (index: number) => {\n setActiveItem(index)\n },\n THROTTLE_TIME,\n { trailing: true }\n )\n\n const throttledIndicatorHover = throttle((index: number) => {\n handleIndicatorHover(index)\n }, THROTTLE_TIME)\n\n const isTwoLengthShow = (index: number) => {\n if (!isItemsTwoLength.value) return true\n return activeIndex.value <= 1 ? index <= 1 : index > 1\n }\n\n function pauseTimer() {\n if (timer.value) {\n clearInterval(timer.value)\n timer.value = null\n }\n }\n\n function startTimer() {\n if (props.interval <= 0 || !props.autoplay || timer.value) return\n timer.value = setInterval(() => playSlides(), props.interval)\n }\n\n const playSlides = () => {\n if (!isFirstCall.value) {\n isTransitioning.value = true\n }\n isFirstCall.value = false\n\n if (activeIndex.value < items.value.length - 1) {\n activeIndex.value = activeIndex.value + 1\n } else if (props.loop) {\n activeIndex.value = 0\n } else {\n isTransitioning.value = false\n }\n }\n\n function setActiveItem(index: number | string) {\n if (!isFirstCall.value) {\n isTransitioning.value = true\n }\n isFirstCall.value = false\n\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(componentName, '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\n function resetItemPosition(oldIndex?: number) {\n items.value.forEach((item, index) => {\n item.translateItem(index, activeIndex.value, oldIndex)\n })\n }\n\n function 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\n function handleMouseEnter() {\n hover.value = true\n if (props.pauseOnHover) {\n pauseTimer()\n }\n }\n\n function handleMouseLeave() {\n hover.value = false\n startTimer()\n }\n\n function handleTransitionEnd() {\n isTransitioning.value = false\n }\n\n function 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\n function handleButtonLeave() {\n if (unref(isVertical)) return\n items.value.forEach((item) => {\n item.states.hover = false\n })\n }\n\n function handleIndicatorClick(index: number) {\n if (index !== activeIndex.value) {\n if (!isFirstCall.value) {\n isTransitioning.value = true\n }\n }\n activeIndex.value = index\n }\n\n function handleIndicatorHover(index: number) {\n if (props.trigger === 'hover' && index !== activeIndex.value) {\n activeIndex.value = index\n if (!isFirstCall.value) {\n isTransitioning.value = true\n }\n }\n }\n\n function prev() {\n setActiveItem(activeIndex.value - 1)\n }\n\n function next() {\n setActiveItem(activeIndex.value + 1)\n }\n\n function resetTimer() {\n pauseTimer()\n if (!props.pauseOnHover) startTimer()\n }\n\n function setContainerHeight(height: number) {\n if (props.height !== 'auto') return\n containerHeight.value = height\n }\n\n function PlaceholderItem() {\n // fix: https://github.com/element-plus/element-plus/issues/12139\n const defaultSlots = slots.default?.()\n if (!defaultSlots) return null\n\n const flatSlots = flattedChildren(defaultSlots)\n\n const carouselItemsName = 'ElCarouselItem'\n\n const normalizeSlots = flatSlots.filter((slot) => {\n return isVNode(slot) && (slot.type as any).name === carouselItemsName\n })\n\n if (normalizeSlots?.length === 2 && props.loop && !isCardType.value) {\n isItemsTwoLength.value = true\n return normalizeSlots\n }\n isItemsTwoLength.value = false\n return null\n }\n\n // watch\n watch(\n () => activeIndex.value,\n (current, prev) => {\n resetItemPosition(prev)\n if (isItemsTwoLength.value) {\n current = current % 2\n prev = prev % 2\n }\n if (prev > -1) {\n emit('change', current, prev)\n }\n }\n )\n watch(\n () => props.autoplay,\n (autoplay) => {\n autoplay ? startTimer() : pauseTimer()\n }\n )\n watch(\n () => props.loop,\n () => {\n setActiveItem(activeIndex.value)\n }\n )\n\n watch(\n () => props.interval,\n () => {\n resetTimer()\n }\n )\n\n const resizeObserver = shallowRef<ReturnType<typeof useResizeObserver>>()\n // lifecycle\n onMounted(() => {\n watch(\n () => items.value,\n () => {\n if (items.value.length > 0) setActiveItem(props.initialIndex)\n },\n {\n immediate: true,\n }\n )\n\n resizeObserver.value = useResizeObserver(root.value, () => {\n resetItemPosition()\n })\n startTimer()\n })\n\n onBeforeUnmount(() => {\n pauseTimer()\n if (root.value && resizeObserver.value) resizeObserver.value.stop()\n })\n\n // provide\n provide(carouselContextKey, {\n root,\n isCardType,\n isVertical,\n items,\n loop: props.loop,\n cardScale: props.cardScale,\n addItem,\n removeItem,\n setActiveItem,\n setContainerHeight,\n })\n\n return {\n root,\n activeIndex,\n arrowDisplay,\n hasLabel,\n hover,\n isCardType,\n isTransitioning,\n items,\n isVertical,\n containerStyle,\n isItemsTwoLength,\n handleButtonEnter,\n handleTransitionEnd,\n handleButtonLeave,\n handleIndicatorClick,\n handleMouseEnter,\n handleMouseLeave,\n setActiveItem,\n prev,\n next,\n PlaceholderItem,\n isTwoLengthShow,\n throttledArrowClick,\n throttledIndicatorHover,\n }\n}\n"],"names":["useOrderedChildren","getCurrentInstance","useSlots","ref","computed","unref","throttle","isString","debugWarn","flattedChildren","isVNode","watch","shallowRef","onMounted","useResizeObserver","onBeforeUnmount","provide","carouselContextKey"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-carousel.js","sources":["../../../../../../packages/components/carousel/src/use-carousel.ts"],"sourcesContent":["import {\n computed,\n getCurrentInstance,\n isVNode,\n onBeforeUnmount,\n onMounted,\n provide,\n ref,\n shallowRef,\n unref,\n useSlots,\n watch,\n} from 'vue'\nimport { throttle } from 'lodash-unified'\nimport { useResizeObserver } from '@vueuse/core'\nimport { debugWarn, flattedChildren, isString } from '@element-plus/utils'\nimport { useOrderedChildren } from '@element-plus/hooks'\nimport { CAROUSEL_ITEM_NAME, carouselContextKey } from './constants'\n\nimport type { SetupContext } from 'vue'\nimport type { CarouselItemContext } from './constants'\nimport type { CarouselEmits, CarouselProps } from './carousel'\n\nconst THROTTLE_TIME = 300\n\nexport const useCarousel = (\n props: CarouselProps,\n emit: SetupContext<CarouselEmits>['emit'],\n componentName: string\n) => {\n const {\n children: items,\n addChild: addItem,\n removeChild: removeItem,\n } = useOrderedChildren<CarouselItemContext>(\n getCurrentInstance()!,\n CAROUSEL_ITEM_NAME\n )\n\n const slots = useSlots()\n\n // refs\n const activeIndex = ref(-1)\n const timer = ref<ReturnType<typeof setInterval> | null>(null)\n const hover = ref(false)\n const root = ref<HTMLDivElement>()\n const containerHeight = ref<number>(0)\n const isItemsTwoLength = ref(true)\n const isFirstCall = ref(true)\n const isTransitioning = ref(false)\n\n // computed\n const arrowDisplay = computed(\n () => props.arrow !== 'never' && !unref(isVertical)\n )\n\n const hasLabel = computed(() => {\n return items.value.some((item) => item.props.label.toString().length > 0)\n })\n\n const isCardType = computed(() => props.type === 'card')\n const isVertical = computed(() => props.direction === 'vertical')\n\n const containerStyle = computed(() => {\n if (props.height !== 'auto') {\n return {\n height: props.height,\n }\n }\n return {\n height: `${containerHeight.value}px`,\n overflow: 'hidden',\n }\n })\n\n // methods\n const throttledArrowClick = throttle(\n (index: number) => {\n setActiveItem(index)\n },\n THROTTLE_TIME,\n { trailing: true }\n )\n\n const throttledIndicatorHover = throttle((index: number) => {\n handleIndicatorHover(index)\n }, THROTTLE_TIME)\n\n const isTwoLengthShow = (index: number) => {\n if (!isItemsTwoLength.value) return true\n return activeIndex.value <= 1 ? index <= 1 : index > 1\n }\n\n function pauseTimer() {\n if (timer.value) {\n clearInterval(timer.value)\n timer.value = null\n }\n }\n\n function startTimer() {\n if (props.interval <= 0 || !props.autoplay || timer.value) return\n timer.value = setInterval(() => playSlides(), props.interval)\n }\n\n const playSlides = () => {\n if (!isFirstCall.value) {\n isTransitioning.value = true\n }\n isFirstCall.value = false\n\n if (activeIndex.value < items.value.length - 1) {\n activeIndex.value = activeIndex.value + 1\n } else if (props.loop) {\n activeIndex.value = 0\n } else {\n isTransitioning.value = false\n }\n }\n\n function setActiveItem(index: number | string) {\n if (!isFirstCall.value) {\n isTransitioning.value = true\n }\n isFirstCall.value = false\n\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(componentName, '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\n function resetItemPosition(oldIndex?: number) {\n items.value.forEach((item, index) => {\n item.translateItem(index, activeIndex.value, oldIndex)\n })\n }\n\n function 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\n function handleMouseEnter() {\n hover.value = true\n if (props.pauseOnHover) {\n pauseTimer()\n }\n }\n\n function handleMouseLeave() {\n hover.value = false\n startTimer()\n }\n\n function handleTransitionEnd() {\n isTransitioning.value = false\n }\n\n function 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\n function handleButtonLeave() {\n if (unref(isVertical)) return\n items.value.forEach((item) => {\n item.states.hover = false\n })\n }\n\n function handleIndicatorClick(index: number) {\n if (index !== activeIndex.value) {\n if (!isFirstCall.value) {\n isTransitioning.value = true\n }\n }\n activeIndex.value = index\n }\n\n function handleIndicatorHover(index: number) {\n if (props.trigger === 'hover' && index !== activeIndex.value) {\n activeIndex.value = index\n if (!isFirstCall.value) {\n isTransitioning.value = true\n }\n }\n }\n\n function prev() {\n setActiveItem(activeIndex.value - 1)\n }\n\n function next() {\n setActiveItem(activeIndex.value + 1)\n }\n\n function resetTimer() {\n pauseTimer()\n if (!props.pauseOnHover) startTimer()\n }\n\n function setContainerHeight(height: number) {\n if (props.height !== 'auto') return\n containerHeight.value = height\n }\n\n function PlaceholderItem() {\n // fix: https://github.com/element-plus/element-plus/issues/12139\n const defaultSlots = slots.default?.()\n if (!defaultSlots) return null\n\n const flatSlots = flattedChildren(defaultSlots)\n\n const normalizeSlots = flatSlots.filter((slot) => {\n return isVNode(slot) && (slot.type as any).name === CAROUSEL_ITEM_NAME\n })\n\n if (normalizeSlots?.length === 2 && props.loop && !isCardType.value) {\n isItemsTwoLength.value = true\n return normalizeSlots\n }\n isItemsTwoLength.value = false\n return null\n }\n\n // watch\n watch(\n () => activeIndex.value,\n (current, prev) => {\n resetItemPosition(prev)\n if (isItemsTwoLength.value) {\n current = current % 2\n prev = prev % 2\n }\n if (prev > -1) {\n emit('change', current, prev)\n }\n }\n )\n watch(\n () => props.autoplay,\n (autoplay) => {\n autoplay ? startTimer() : pauseTimer()\n }\n )\n watch(\n () => props.loop,\n () => {\n setActiveItem(activeIndex.value)\n }\n )\n\n watch(\n () => props.interval,\n () => {\n resetTimer()\n }\n )\n\n const resizeObserver = shallowRef<ReturnType<typeof useResizeObserver>>()\n // lifecycle\n onMounted(() => {\n watch(\n () => items.value,\n () => {\n if (items.value.length > 0) setActiveItem(props.initialIndex)\n },\n {\n immediate: true,\n }\n )\n\n resizeObserver.value = useResizeObserver(root.value, () => {\n resetItemPosition()\n })\n startTimer()\n })\n\n onBeforeUnmount(() => {\n pauseTimer()\n if (root.value && resizeObserver.value) resizeObserver.value.stop()\n })\n\n // provide\n provide(carouselContextKey, {\n root,\n isCardType,\n isVertical,\n items,\n loop: props.loop,\n cardScale: props.cardScale,\n addItem,\n removeItem,\n setActiveItem,\n setContainerHeight,\n })\n\n return {\n root,\n activeIndex,\n arrowDisplay,\n hasLabel,\n hover,\n isCardType,\n isTransitioning,\n items,\n isVertical,\n containerStyle,\n isItemsTwoLength,\n handleButtonEnter,\n handleTransitionEnd,\n handleButtonLeave,\n handleIndicatorClick,\n handleMouseEnter,\n handleMouseLeave,\n setActiveItem,\n prev,\n next,\n PlaceholderItem,\n isTwoLengthShow,\n throttledArrowClick,\n throttledIndicatorHover,\n }\n}\n"],"names":["useOrderedChildren","getCurrentInstance","CAROUSEL_ITEM_NAME","useSlots","ref","computed","unref","throttle","isString","debugWarn","flattedChildren","isVNode","watch","shallowRef","onMounted","useResizeObserver","onBeforeUnmount","provide","carouselContextKey"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import type { ExtractPropTypes, Slot, VNode } from 'vue';
|
|
|
2
2
|
export declare const descriptionItemProps: {
|
|
3
3
|
label: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
|
|
4
4
|
span: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
|
|
5
|
+
rowspan: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
|
|
5
6
|
width: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
|
|
6
7
|
minWidth: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
|
|
7
8
|
align: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
|
|
@@ -12,6 +13,7 @@ export declare const descriptionItemProps: {
|
|
|
12
13
|
declare const DescriptionItem: import("vue").DefineComponent<{
|
|
13
14
|
label: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
|
|
14
15
|
span: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
|
|
16
|
+
rowspan: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
|
|
15
17
|
width: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
|
|
16
18
|
minWidth: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
|
|
17
19
|
align: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
|
|
@@ -21,6 +23,7 @@ declare const DescriptionItem: import("vue").DefineComponent<{
|
|
|
21
23
|
}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
|
|
22
24
|
label: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
|
|
23
25
|
span: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
|
|
26
|
+
rowspan: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
|
|
24
27
|
width: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
|
|
25
28
|
minWidth: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
|
|
26
29
|
align: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
|
|
@@ -34,6 +37,7 @@ declare const DescriptionItem: import("vue").DefineComponent<{
|
|
|
34
37
|
minWidth: import("@element-plus/nightly/es/utils").EpPropMergeType<(NumberConstructor | StringConstructor)[], unknown, unknown>;
|
|
35
38
|
className: string;
|
|
36
39
|
align: string;
|
|
40
|
+
rowspan: number;
|
|
37
41
|
labelAlign: string;
|
|
38
42
|
labelClassName: string;
|
|
39
43
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"description-item.js","sources":["../../../../../../packages/components/descriptions/src/description-item.ts"],"sourcesContent":["import { defineComponent } from 'vue'\nimport { buildProps } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, Slot, VNode } from 'vue'\n\nexport const descriptionItemProps = buildProps({\n /**\n * @description label text\n */\n label: {\n type: String,\n default: '',\n },\n /**\n * @description colspan of column\n */\n span: {\n type: Number,\n default: 1,\n },\n /**\n * @description column width, the width of the same column in different rows is set by the max value (If no `border`, width contains label and content)\n */\n width: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description column minimum width, columns with `width` has a fixed width, while columns with `min-width` has a width that is distributed in proportion (If no`border`, width contains label and content)\n */\n minWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description column content alignment (If no `border`, effective for both label and content)\n */\n align: {\n type: String,\n default: 'left',\n },\n /**\n * @description column label alignment, if omitted, the value of the above `align` attribute will be applied (If no `border`, please use `align` attribute)\n */\n labelAlign: {\n type: String,\n default: '',\n },\n /**\n * @description column content custom class name\n */\n className: {\n type: String,\n default: '',\n },\n /**\n * @description column label custom class name\n */\n labelClassName: {\n type: String,\n default: '',\n },\n})\nconst DescriptionItem = defineComponent({\n name: 'ElDescriptionsItem',\n props: descriptionItemProps,\n})\n\nexport default DescriptionItem\n\nexport type DescriptionItemProps = ExtractPropTypes<typeof descriptionItemProps>\nexport type DescriptionItemVNode = VNode & {\n children: { [name: string]: Slot } | null\n props: Partial<DescriptionItemProps> | null\n}\n"],"names":["buildProps","defineComponent"],"mappings":";;;;;;;;AAEY,MAAC,oBAAoB,GAAGA,kBAAU,CAAC;AAC/C,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC,EAAE;AACE,MAAC,eAAe,GAAGC,mBAAe,CAAC;AACxC,EAAE,IAAI,EAAE,oBAAoB;AAC5B,EAAE,KAAK,EAAE,oBAAoB;AAC7B,CAAC;;;;;"}
|
|
1
|
+
{"version":3,"file":"description-item.js","sources":["../../../../../../packages/components/descriptions/src/description-item.ts"],"sourcesContent":["import { defineComponent } from 'vue'\nimport { buildProps } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, Slot, VNode } from 'vue'\n\nexport const descriptionItemProps = buildProps({\n /**\n * @description label text\n */\n label: {\n type: String,\n default: '',\n },\n /**\n * @description colspan of column\n */\n span: {\n type: Number,\n default: 1,\n },\n /**\n * @description the number of rows a cell should span\n */\n rowspan: {\n type: Number,\n default: 1,\n },\n /**\n * @description column width, the width of the same column in different rows is set by the max value (If no `border`, width contains label and content)\n */\n width: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description column minimum width, columns with `width` has a fixed width, while columns with `min-width` has a width that is distributed in proportion (If no`border`, width contains label and content)\n */\n minWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description column content alignment (If no `border`, effective for both label and content)\n */\n align: {\n type: String,\n default: 'left',\n },\n /**\n * @description column label alignment, if omitted, the value of the above `align` attribute will be applied (If no `border`, please use `align` attribute)\n */\n labelAlign: {\n type: String,\n default: '',\n },\n /**\n * @description column content custom class name\n */\n className: {\n type: String,\n default: '',\n },\n /**\n * @description column label custom class name\n */\n labelClassName: {\n type: String,\n default: '',\n },\n})\nconst DescriptionItem = defineComponent({\n name: 'ElDescriptionsItem',\n props: descriptionItemProps,\n})\n\nexport default DescriptionItem\n\nexport type DescriptionItemProps = ExtractPropTypes<typeof descriptionItemProps>\nexport type DescriptionItemVNode = VNode & {\n children: { [name: string]: Slot } | null\n props: Partial<DescriptionItemProps> | null\n}\n"],"names":["buildProps","defineComponent"],"mappings":";;;;;;;;AAEY,MAAC,oBAAoB,GAAGA,kBAAU,CAAC;AAC/C,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC,EAAE;AACE,MAAC,eAAe,GAAGC,mBAAe,CAAC;AACxC,EAAE,IAAI,EAAE,oBAAoB;AAC5B,EAAE,KAAK,EAAE,oBAAoB;AAC7B,CAAC;;;;;"}
|
|
@@ -50,9 +50,24 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
50
50
|
let temp = [];
|
|
51
51
|
let count = props.column;
|
|
52
52
|
let totalSpan = 0;
|
|
53
|
+
const rowspanTemp = [];
|
|
53
54
|
children.forEach((node, index) => {
|
|
54
|
-
var _a;
|
|
55
|
+
var _a, _b, _c;
|
|
55
56
|
const span = ((_a = node.props) == null ? void 0 : _a.span) || 1;
|
|
57
|
+
const rowspan = ((_b = node.props) == null ? void 0 : _b.rowspan) || 1;
|
|
58
|
+
const rowNo = rows.length;
|
|
59
|
+
rowspanTemp[rowNo] || (rowspanTemp[rowNo] = 0);
|
|
60
|
+
if (rowspan > 1) {
|
|
61
|
+
for (let i = 1; i < rowspan; i++) {
|
|
62
|
+
rowspanTemp[_c = rowNo + i] || (rowspanTemp[_c] = 0);
|
|
63
|
+
rowspanTemp[rowNo + i]++;
|
|
64
|
+
totalSpan++;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (rowspanTemp[rowNo] > 0) {
|
|
68
|
+
count -= rowspanTemp[rowNo];
|
|
69
|
+
rowspanTemp[rowNo] = 0;
|
|
70
|
+
}
|
|
56
71
|
if (index < children.length - 1) {
|
|
57
72
|
totalSpan += span > count ? count : span;
|
|
58
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"description2.js","sources":["../../../../../../packages/components/descriptions/src/description.vue"],"sourcesContent":["<template>\n <div :class=\"descriptionKls\">\n <div\n v-if=\"title || extra || $slots.title || $slots.extra\"\n :class=\"ns.e('header')\"\n >\n <div :class=\"ns.e('title')\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div :class=\"ns.e('extra')\">\n <slot name=\"extra\">{{ extra }}</slot>\n </div>\n </div>\n\n <div :class=\"ns.e('body')\">\n <table :class=\"[ns.e('table'), ns.is('bordered', border)]\">\n <tbody>\n <template v-for=\"(row, _index) in getRows()\" :key=\"_index\">\n <el-descriptions-row :row=\"row\" />\n </template>\n </tbody>\n </table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, useSlots } from 'vue'\nimport { flattedChildren } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from '@element-plus/components/form'\nimport ElDescriptionsRow from './descriptions-row.vue'\nimport { descriptionsKey } from './token'\nimport { descriptionProps } from './description'\n\nimport type { IDescriptionsInject } from './descriptions.type'\nimport type { DescriptionItemVNode } from './description-item'\n\ndefineOptions({\n name: 'ElDescriptions',\n})\n\nconst props = defineProps(descriptionProps)\n\nconst ns = useNamespace('descriptions')\n\nconst descriptionsSize = useFormSize()\n\nconst slots = useSlots()\n\nprovide(descriptionsKey, props as IDescriptionsInject)\n\nconst descriptionKls = computed(() => [ns.b(), ns.m(descriptionsSize.value)])\n\nconst filledNode = (\n node: DescriptionItemVNode,\n span: number,\n count: number,\n isLast = false\n) => {\n if (!node.props) {\n node.props = {}\n }\n if (span > count) {\n node.props.span = count\n }\n if (isLast) {\n // set the last span\n node.props.span = span\n }\n return node\n}\n\nconst getRows = () => {\n if (!slots.default) return []\n\n const children = flattedChildren(slots.default()).filter(\n (node): node is DescriptionItemVNode =>\n (node as any)?.type?.name === 'ElDescriptionsItem'\n )\n const rows: DescriptionItemVNode[][] = []\n let temp: DescriptionItemVNode[] = []\n let count = props.column\n let totalSpan = 0 // all spans number of item\n\n children.forEach((node, index) => {\n const span = node.props?.span || 1\n\n if (index < children.length - 1) {\n totalSpan += span > count ? count : span\n }\n\n if (index === children.length - 1) {\n // calculate the last item span\n const lastSpan = props.column - (totalSpan % props.column)\n temp.push(filledNode(node, lastSpan, count, true))\n rows.push(temp)\n return\n }\n\n if (span < count) {\n count -= span\n temp.push(node)\n } else {\n temp.push(filledNode(node, span, count))\n rows.push(temp)\n count = props.column\n temp = []\n }\n })\n\n return rows\n}\n</script>\n"],"names":["useNamespace","useFormSize","useSlots","provide","descriptionsKey","computed","flattedChildren"],"mappings":";;;;;;;;;;;;;;;;uCAsCc,CAAA;AAAA,EACZ,IAAM,EAAA,gBAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAIA,IAAM,MAAA,EAAA,GAAKA,mBAAa,cAAc,CAAA,CAAA;AAEtC,IAAA,MAAM,mBAAmBC,8BAAY,EAAA,CAAA;AAErC,IAAA,MAAM,QAAQC,YAAS,EAAA,CAAA;AAEvB,IAAAC,WAAA,CAAQC,uBAAiB,KAA4B,CAAA,CAAA;AAErD,IAAA,MAAM,cAAiB,GAAAC,YAAA,CAAS,MAAM,CAAC,EAAG,CAAA,CAAA,EAAK,EAAA,EAAA,CAAG,CAAE,CAAA,gBAAA,CAAiB,KAAK,CAAC,CAAC,CAAA,CAAA;AAE5E,IAAA,MAAM,aAAa,CACjB,IAAA,EACA,IACA,EAAA,KAAA,EACA,SAAS,KACN,KAAA;AACH,MAAI,IAAA,CAAC,KAAK,KAAO,EAAA;AACf,QAAA,IAAA,CAAK,QAAQ,EAAC,CAAA;AAAA,OAChB;AACA,MAAA,IAAI,OAAO,KAAO,EAAA;AAChB,QAAA,IAAA,CAAK,MAAM,IAAO,GAAA,KAAA,CAAA;AAAA,OACpB;AACA,MAAA,IAAI,MAAQ,EAAA;AAEV,QAAA,IAAA,CAAK,MAAM,IAAO,GAAA,IAAA,CAAA;AAAA,OACpB;AACA,MAAO,OAAA,IAAA,CAAA;AAAA,KACT,CAAA;AAEA,IAAA,MAAM,UAAU,MAAM;AACpB,MAAA,IAAI,CAAC,KAAM,CAAA,OAAA;AAAS,QAAA,OAAO,EAAC,CAAA;AAE5B,MAAA,MAAM,QAAW,GAAAC,qBAAA,CAAgB,KAAM,CAAA,OAAA,EAAS,CAAA,CAAE,MAChD,CAAA,CAAC,IACE,KAAA;AAEL,QAAA,IAAM;AACN,QAAA,SAAmC,EAAC,GAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,IAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,MAAA,oBAAA,CAAA;AACpC,OAAA,CAAA,CAAA;AACA,MAAA,MAAgB,IAAA,GAAA,EAAA,CAAA;
|
|
1
|
+
{"version":3,"file":"description2.js","sources":["../../../../../../packages/components/descriptions/src/description.vue"],"sourcesContent":["<template>\n <div :class=\"descriptionKls\">\n <div\n v-if=\"title || extra || $slots.title || $slots.extra\"\n :class=\"ns.e('header')\"\n >\n <div :class=\"ns.e('title')\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div :class=\"ns.e('extra')\">\n <slot name=\"extra\">{{ extra }}</slot>\n </div>\n </div>\n\n <div :class=\"ns.e('body')\">\n <table :class=\"[ns.e('table'), ns.is('bordered', border)]\">\n <tbody>\n <template v-for=\"(row, _index) in getRows()\" :key=\"_index\">\n <el-descriptions-row :row=\"row\" />\n </template>\n </tbody>\n </table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, useSlots } from 'vue'\nimport { flattedChildren } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from '@element-plus/components/form'\nimport ElDescriptionsRow from './descriptions-row.vue'\nimport { descriptionsKey } from './token'\nimport { descriptionProps } from './description'\n\nimport type { IDescriptionsInject } from './descriptions.type'\nimport type { DescriptionItemVNode } from './description-item'\n\ndefineOptions({\n name: 'ElDescriptions',\n})\n\nconst props = defineProps(descriptionProps)\n\nconst ns = useNamespace('descriptions')\n\nconst descriptionsSize = useFormSize()\n\nconst slots = useSlots()\n\nprovide(descriptionsKey, props as IDescriptionsInject)\n\nconst descriptionKls = computed(() => [ns.b(), ns.m(descriptionsSize.value)])\n\nconst filledNode = (\n node: DescriptionItemVNode,\n span: number,\n count: number,\n isLast = false\n) => {\n if (!node.props) {\n node.props = {}\n }\n if (span > count) {\n node.props.span = count\n }\n if (isLast) {\n // set the last span\n node.props.span = span\n }\n return node\n}\n\nconst getRows = () => {\n if (!slots.default) return []\n\n const children = flattedChildren(slots.default()).filter(\n (node): node is DescriptionItemVNode =>\n (node as any)?.type?.name === 'ElDescriptionsItem'\n )\n const rows: DescriptionItemVNode[][] = []\n let temp: DescriptionItemVNode[] = []\n let count = props.column\n let totalSpan = 0 // all spans number of item\n const rowspanTemp: number[] = [] // the number of row spans\n\n children.forEach((node, index) => {\n const span = node.props?.span || 1\n const rowspan = node.props?.rowspan || 1\n const rowNo = rows.length\n rowspanTemp[rowNo] ||= 0\n\n if (rowspan > 1) {\n for (let i = 1; i < rowspan; i++) {\n rowspanTemp[rowNo + i] ||= 0\n rowspanTemp[rowNo + i]++\n totalSpan++\n }\n }\n if (rowspanTemp[rowNo] > 0) {\n count -= rowspanTemp[rowNo]\n rowspanTemp[rowNo] = 0\n }\n if (index < children.length - 1) {\n totalSpan += span > count ? count : span\n }\n\n if (index === children.length - 1) {\n // calculate the last item span\n const lastSpan = props.column - (totalSpan % props.column)\n temp.push(filledNode(node, lastSpan, count, true))\n rows.push(temp)\n return\n }\n\n if (span < count) {\n count -= span\n temp.push(node)\n } else {\n temp.push(filledNode(node, span, count))\n rows.push(temp)\n count = props.column\n temp = []\n }\n })\n\n return rows\n}\n</script>\n"],"names":["useNamespace","useFormSize","useSlots","provide","descriptionsKey","computed","flattedChildren"],"mappings":"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"}
|
|
@@ -43,6 +43,7 @@ var ElDescriptionsCell = vue.defineComponent({
|
|
|
43
43
|
const label = ((_d = (_c = (_b = this.cell) == null ? void 0 : _b.children) == null ? void 0 : _c.label) == null ? void 0 : _d.call(_c)) || item.label;
|
|
44
44
|
const content = (_g = (_f = (_e = this.cell) == null ? void 0 : _e.children) == null ? void 0 : _f.default) == null ? void 0 : _g.call(_f);
|
|
45
45
|
const span = item.span;
|
|
46
|
+
const rowspan = item.rowspan;
|
|
46
47
|
const align = item.align ? `is-${item.align}` : "";
|
|
47
48
|
const labelAlign = item.labelAlign ? `is-${item.labelAlign}` : align;
|
|
48
49
|
const className = item.className;
|
|
@@ -64,7 +65,8 @@ var ElDescriptionsCell = vue.defineComponent({
|
|
|
64
65
|
labelAlign,
|
|
65
66
|
labelClassName
|
|
66
67
|
],
|
|
67
|
-
colSpan: isVertical ? span : 1
|
|
68
|
+
colSpan: isVertical ? span : 1,
|
|
69
|
+
rowspan: isVertical ? 1 : rowspan
|
|
68
70
|
}, label), directives);
|
|
69
71
|
case "content":
|
|
70
72
|
return vue.withDirectives(vue.h(this.tag, {
|
|
@@ -77,13 +79,15 @@ var ElDescriptionsCell = vue.defineComponent({
|
|
|
77
79
|
align,
|
|
78
80
|
className
|
|
79
81
|
],
|
|
80
|
-
colSpan: isVertical ? span : span * 2 - 1
|
|
82
|
+
colSpan: isVertical ? span : span * 2 - 1,
|
|
83
|
+
rowspan: isVertical ? rowspan * 2 - 1 : rowspan
|
|
81
84
|
}, content), directives);
|
|
82
85
|
default:
|
|
83
86
|
return vue.withDirectives(vue.h("td", {
|
|
84
87
|
style: style$1,
|
|
85
88
|
class: [ns.e("cell"), align],
|
|
86
|
-
colSpan: span
|
|
89
|
+
colSpan: span,
|
|
90
|
+
rowspan
|
|
87
91
|
}, [
|
|
88
92
|
!lodashUnified.isNil(label) ? vue.h("span", {
|
|
89
93
|
class: [ns.e("label"), labelClassName]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptions-cell.js","sources":["../../../../../../packages/components/descriptions/src/descriptions-cell.ts"],"sourcesContent":["import { defineComponent, h, inject, withDirectives } from 'vue'\nimport { isNil } from 'lodash-unified'\nimport { addUnit, getNormalizedProps } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { descriptionsKey } from './token'\nimport type { DirectiveArguments, PropType, VNode } from 'vue'\n\nimport type {\n IDescriptionsInject,\n IDescriptionsItemInject,\n} from './descriptions.type'\nimport type { DescriptionItemVNode } from './description-item'\n\nexport default defineComponent({\n name: 'ElDescriptionsCell',\n props: {\n cell: {\n type: Object as PropType<DescriptionItemVNode>,\n },\n tag: {\n type: String,\n default: 'td',\n },\n type: {\n type: String,\n },\n },\n setup() {\n const descriptions = inject(descriptionsKey, {} as IDescriptionsInject)\n\n return {\n descriptions,\n }\n },\n render() {\n const item = getNormalizedProps(\n this.cell as VNode\n ) as IDescriptionsItemInject\n\n const directives = (this.cell?.dirs || []).map((dire) => {\n const { dir, arg, modifiers, value } = dire\n return [dir, value, arg, modifiers]\n }) as DirectiveArguments\n\n const { border, direction } = this.descriptions\n const isVertical = direction === 'vertical'\n const label = this.cell?.children?.label?.() || item.label\n const content = this.cell?.children?.default?.()\n const span = item.span\n const align = item.align ? `is-${item.align}` : ''\n const labelAlign = item.labelAlign ? `is-${item.labelAlign}` : '' || align\n const className = item.className\n const labelClassName = item.labelClassName\n const style = {\n width: addUnit(item.width),\n minWidth: addUnit(item.minWidth),\n }\n const ns = useNamespace('descriptions')\n\n switch (this.type) {\n case 'label':\n return withDirectives(\n h(\n this.tag,\n {\n style,\n class: [\n ns.e('cell'),\n ns.e('label'),\n ns.is('bordered-label', border),\n ns.is('vertical-label', isVertical),\n labelAlign,\n labelClassName,\n ],\n colSpan: isVertical ? span : 1,\n },\n label\n ),\n directives\n )\n case 'content':\n return withDirectives(\n h(\n this.tag,\n {\n style,\n class: [\n ns.e('cell'),\n ns.e('content'),\n ns.is('bordered-content', border),\n ns.is('vertical-content', isVertical),\n align,\n className,\n ],\n colSpan: isVertical ? span : span * 2 - 1,\n },\n content\n ),\n directives\n )\n default:\n return withDirectives(\n h(\n 'td',\n {\n style,\n class: [ns.e('cell'), align],\n colSpan: span,\n },\n [\n !isNil(label)\n ? h(\n 'span',\n {\n class: [ns.e('label'), labelClassName],\n },\n label\n )\n : undefined,\n h(\n 'span',\n {\n class: [ns.e('content'), className],\n },\n content\n ),\n ]\n ),\n directives\n )\n }\n },\n})\n"],"names":["defineComponent","inject","descriptionsKey","getNormalizedProps","style","addUnit","useNamespace","withDirectives","h","isNil"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"descriptions-cell.js","sources":["../../../../../../packages/components/descriptions/src/descriptions-cell.ts"],"sourcesContent":["import { defineComponent, h, inject, withDirectives } from 'vue'\nimport { isNil } from 'lodash-unified'\nimport { addUnit, getNormalizedProps } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { descriptionsKey } from './token'\nimport type { DirectiveArguments, PropType, VNode } from 'vue'\n\nimport type {\n IDescriptionsInject,\n IDescriptionsItemInject,\n} from './descriptions.type'\nimport type { DescriptionItemVNode } from './description-item'\n\nexport default defineComponent({\n name: 'ElDescriptionsCell',\n props: {\n cell: {\n type: Object as PropType<DescriptionItemVNode>,\n },\n tag: {\n type: String,\n default: 'td',\n },\n type: {\n type: String,\n },\n },\n setup() {\n const descriptions = inject(descriptionsKey, {} as IDescriptionsInject)\n\n return {\n descriptions,\n }\n },\n render() {\n const item = getNormalizedProps(\n this.cell as VNode\n ) as IDescriptionsItemInject\n\n const directives = (this.cell?.dirs || []).map((dire) => {\n const { dir, arg, modifiers, value } = dire\n return [dir, value, arg, modifiers]\n }) as DirectiveArguments\n\n const { border, direction } = this.descriptions\n const isVertical = direction === 'vertical'\n const label = this.cell?.children?.label?.() || item.label\n const content = this.cell?.children?.default?.()\n const span = item.span\n const rowspan = item.rowspan\n const align = item.align ? `is-${item.align}` : ''\n const labelAlign = item.labelAlign ? `is-${item.labelAlign}` : '' || align\n const className = item.className\n const labelClassName = item.labelClassName\n const style = {\n width: addUnit(item.width),\n minWidth: addUnit(item.minWidth),\n }\n const ns = useNamespace('descriptions')\n\n switch (this.type) {\n case 'label':\n return withDirectives(\n h(\n this.tag,\n {\n style,\n class: [\n ns.e('cell'),\n ns.e('label'),\n ns.is('bordered-label', border),\n ns.is('vertical-label', isVertical),\n labelAlign,\n labelClassName,\n ],\n colSpan: isVertical ? span : 1,\n rowspan: isVertical ? 1 : rowspan,\n },\n label\n ),\n directives\n )\n case 'content':\n return withDirectives(\n h(\n this.tag,\n {\n style,\n class: [\n ns.e('cell'),\n ns.e('content'),\n ns.is('bordered-content', border),\n ns.is('vertical-content', isVertical),\n align,\n className,\n ],\n colSpan: isVertical ? span : span * 2 - 1,\n rowspan: isVertical ? rowspan * 2 - 1 : rowspan,\n },\n content\n ),\n directives\n )\n default:\n return withDirectives(\n h(\n 'td',\n {\n style,\n class: [ns.e('cell'), align],\n colSpan: span,\n rowspan,\n },\n [\n !isNil(label)\n ? h(\n 'span',\n {\n class: [ns.e('label'), labelClassName],\n },\n label\n )\n : undefined,\n h(\n 'span',\n {\n class: [ns.e('content'), className],\n },\n content\n ),\n ]\n ),\n directives\n )\n }\n },\n})\n"],"names":["defineComponent","inject","descriptionsKey","getNormalizedProps","style","addUnit","useNamespace","withDirectives","h","isNil"],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
14
14
|
readonly title: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
15
15
|
readonly ariaLevel: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
|
|
16
16
|
}, {
|
|
17
|
-
|
|
17
|
+
resetPosition: () => void;
|
|
18
18
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
19
19
|
close: () => void;
|
|
20
20
|
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -37,9 +37,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
37
37
|
const composedDialogRef = refs.composeRefs(focusTrapRef, dialogRef);
|
|
38
38
|
const draggable = vue.computed(() => props.draggable);
|
|
39
39
|
const overflow = vue.computed(() => props.overflow);
|
|
40
|
-
const {
|
|
40
|
+
const { resetPosition } = index$1.useDraggable(dialogRef, headerRef, draggable, overflow);
|
|
41
41
|
expose({
|
|
42
|
-
|
|
42
|
+
resetPosition
|
|
43
43
|
});
|
|
44
44
|
return (_ctx, _cache) => {
|
|
45
45
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-content2.js","sources":["../../../../../../packages/components/dialog/src/dialog-content.vue"],"sourcesContent":["<template>\n <div :ref=\"composedDialogRef\" :class=\"dialogKls\" :style=\"style\" tabindex=\"-1\">\n <header\n ref=\"headerRef\"\n :class=\"[ns.e('header'), { 'show-close': showClose }]\"\n >\n <slot name=\"header\">\n <span role=\"heading\" :aria-level=\"ariaLevel\" :class=\"ns.e('title')\">\n {{ title }}\n </span>\n </slot>\n <button\n v-if=\"showClose\"\n :aria-label=\"t('el.dialog.close')\"\n :class=\"ns.e('headerbtn')\"\n type=\"button\"\n @click=\"$emit('close')\"\n >\n <el-icon :class=\"ns.e('close')\">\n <component :is=\"closeIcon || Close\" />\n </el-icon>\n </button>\n </header>\n <div :id=\"bodyId\" :class=\"ns.e('body')\">\n <slot />\n </div>\n <footer v-if=\"$slots.footer\" :class=\"ns.e('footer')\">\n <slot name=\"footer\" />\n </footer>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { FOCUS_TRAP_INJECTION_KEY } from '@element-plus/components/focus-trap'\nimport { useDraggable, useLocale } from '@element-plus/hooks'\nimport { CloseComponents, composeRefs } from '@element-plus/utils'\nimport { dialogInjectionKey } from './constants'\nimport { dialogContentEmits, dialogContentProps } from './dialog-content'\n\nconst { t } = useLocale()\nconst { Close } = CloseComponents\n\ndefineOptions({ name: 'ElDialogContent' })\nconst props = defineProps(dialogContentProps)\ndefineEmits(dialogContentEmits)\n\nconst { dialogRef, headerRef, bodyId, ns, style } = inject(dialogInjectionKey)!\nconst { focusTrapRef } = inject(FOCUS_TRAP_INJECTION_KEY)!\n\nconst dialogKls = computed(() => [\n ns.b(),\n ns.is('fullscreen', props.fullscreen),\n ns.is('draggable', props.draggable),\n ns.is('align-center', props.alignCenter),\n { [ns.m('center')]: props.center },\n])\n\nconst composedDialogRef = composeRefs(focusTrapRef, dialogRef)\n\nconst draggable = computed(() => props.draggable)\nconst overflow = computed(() => props.overflow)\nconst {
|
|
1
|
+
{"version":3,"file":"dialog-content2.js","sources":["../../../../../../packages/components/dialog/src/dialog-content.vue"],"sourcesContent":["<template>\n <div :ref=\"composedDialogRef\" :class=\"dialogKls\" :style=\"style\" tabindex=\"-1\">\n <header\n ref=\"headerRef\"\n :class=\"[ns.e('header'), { 'show-close': showClose }]\"\n >\n <slot name=\"header\">\n <span role=\"heading\" :aria-level=\"ariaLevel\" :class=\"ns.e('title')\">\n {{ title }}\n </span>\n </slot>\n <button\n v-if=\"showClose\"\n :aria-label=\"t('el.dialog.close')\"\n :class=\"ns.e('headerbtn')\"\n type=\"button\"\n @click=\"$emit('close')\"\n >\n <el-icon :class=\"ns.e('close')\">\n <component :is=\"closeIcon || Close\" />\n </el-icon>\n </button>\n </header>\n <div :id=\"bodyId\" :class=\"ns.e('body')\">\n <slot />\n </div>\n <footer v-if=\"$slots.footer\" :class=\"ns.e('footer')\">\n <slot name=\"footer\" />\n </footer>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { FOCUS_TRAP_INJECTION_KEY } from '@element-plus/components/focus-trap'\nimport { useDraggable, useLocale } from '@element-plus/hooks'\nimport { CloseComponents, composeRefs } from '@element-plus/utils'\nimport { dialogInjectionKey } from './constants'\nimport { dialogContentEmits, dialogContentProps } from './dialog-content'\n\nconst { t } = useLocale()\nconst { Close } = CloseComponents\n\ndefineOptions({ name: 'ElDialogContent' })\nconst props = defineProps(dialogContentProps)\ndefineEmits(dialogContentEmits)\n\nconst { dialogRef, headerRef, bodyId, ns, style } = inject(dialogInjectionKey)!\nconst { focusTrapRef } = inject(FOCUS_TRAP_INJECTION_KEY)!\n\nconst dialogKls = computed(() => [\n ns.b(),\n ns.is('fullscreen', props.fullscreen),\n ns.is('draggable', props.draggable),\n ns.is('align-center', props.alignCenter),\n { [ns.m('center')]: props.center },\n])\n\nconst composedDialogRef = composeRefs(focusTrapRef, dialogRef)\n\nconst draggable = computed(() => props.draggable)\nconst overflow = computed(() => props.overflow)\nconst { resetPosition } = useDraggable(\n dialogRef,\n headerRef,\n draggable,\n overflow\n)\n\ndefineExpose({\n resetPosition,\n})\n</script>\n"],"names":["useLocale","CloseComponents","inject","dialogInjectionKey","FOCUS_TRAP_INJECTION_KEY","computed","composeRefs","useDraggable"],"mappings":";;;;;;;;;;;;;;;;;;uCA4Cc,CAAA,EAAE,IAAM,EAAA,iBAAA,EAAkB,CAAA,CAAA;;;;;;;AAHxC,IAAM,MAAA,EAAE,MAAMA,eAAU,EAAA,CAAA;AACxB,IAAA,MAAM,EAAE,KAAU,EAAA,GAAAC,oBAAA,CAAA;AAMlB,IAAA,MAAM,EAAE,SAAW,EAAA,SAAA,EAAW,QAAQ,EAAI,EAAA,KAAA,EAAA,GAAUC,WAAOC,4BAAkB,CAAA,CAAA;AAC7E,IAAM,MAAA,EAAE,YAAiB,EAAA,GAAAD,UAAA,CAAOE,+BAAwB,CAAA,CAAA;AAExD,IAAM,MAAA,SAAA,GAAYC,aAAS,MAAM;AAAA,MAC/B,GAAG,CAAE,EAAA;AAAA,MACL,EAAG,CAAA,EAAA,CAAG,YAAc,EAAA,KAAA,CAAM,UAAU,CAAA;AAAA,MACpC,EAAG,CAAA,EAAA,CAAG,WAAa,EAAA,KAAA,CAAM,SAAS,CAAA;AAAA,MAClC,EAAG,CAAA,EAAA,CAAG,cAAgB,EAAA,KAAA,CAAM,WAAW,CAAA;AAAA,MACvC,EAAE,CAAC,EAAA,CAAG,EAAE,QAAQ,CAAA,GAAI,MAAM,MAAO,EAAA;AAAA,KAClC,CAAA,CAAA;AAED,IAAM,MAAA,iBAAA,GAAoBC,gBAAY,CAAA,YAAA,EAAc,SAAS,CAAA,CAAA;AAE7D,IAAA,MAAM,SAAY,GAAAD,YAAA,CAAS,MAAM,KAAA,CAAM,SAAS,CAAA,CAAA;AAChD,IAAA,MAAM,QAAW,GAAAA,YAAA,CAAS,MAAM,KAAA,CAAM,QAAQ,CAAA,CAAA;AAC9C,IAAA,MAAM,EAAE,aAAkB,EAAA,GAAAE,oBAAA,CACxB,SACA,EAAA,SAAA,EACA,WACA,QACF,CAAA,CAAA;AAEA,IAAa,MAAA,CAAA;AAAA,MACX,aAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -54,7 +54,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
54
54
|
/** @description whether the dialog is visible */
|
|
55
55
|
visible: import("vue").Ref<boolean>;
|
|
56
56
|
dialogContentRef: import("vue").Ref<any>;
|
|
57
|
-
|
|
57
|
+
resetPosition: () => void;
|
|
58
58
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
59
59
|
open: () => void;
|
|
60
60
|
"update:modelValue": (value: boolean) => void;
|
|
@@ -67,14 +67,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
67
67
|
});
|
|
68
68
|
const overlayEvent = index$2.useSameTarget(onModalClick);
|
|
69
69
|
const draggable = vue.computed(() => props.draggable && !props.fullscreen);
|
|
70
|
-
const
|
|
70
|
+
const resetPosition = () => {
|
|
71
71
|
var _a;
|
|
72
|
-
(_a = dialogContentRef.value) == null ? void 0 : _a.
|
|
72
|
+
(_a = dialogContentRef.value) == null ? void 0 : _a.resetPosition();
|
|
73
73
|
};
|
|
74
74
|
expose({
|
|
75
75
|
visible,
|
|
76
76
|
dialogContentRef,
|
|
77
|
-
|
|
77
|
+
resetPosition
|
|
78
78
|
});
|
|
79
79
|
return (_ctx, _cache) => {
|
|
80
80
|
return vue.openBlock(), vue.createBlock(vue.unref(index$3.ElTeleport), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog2.js","sources":["../../../../../../packages/components/dialog/src/dialog.vue"],"sourcesContent":["<template>\n <el-teleport\n :to=\"appendTo\"\n :disabled=\"appendTo !== 'body' ? false : !appendToBody\"\n >\n <transition\n name=\"dialog-fade\"\n @after-enter=\"afterEnter\"\n @after-leave=\"afterLeave\"\n @before-leave=\"beforeLeave\"\n >\n <el-overlay\n v-show=\"visible\"\n custom-mask-event\n :mask=\"modal\"\n :overlay-class=\"modalClass\"\n :z-index=\"zIndex\"\n >\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-label=\"title || undefined\"\n :aria-labelledby=\"!title ? titleId : undefined\"\n :aria-describedby=\"bodyId\"\n :class=\"`${ns.namespace.value}-overlay-dialog`\"\n :style=\"overlayDialogStyle\"\n @click=\"overlayEvent.onClick\"\n @mousedown=\"overlayEvent.onMousedown\"\n @mouseup=\"overlayEvent.onMouseup\"\n >\n <el-focus-trap\n loop\n :trapped=\"visible\"\n focus-start-el=\"container\"\n @focus-after-trapped=\"onOpenAutoFocus\"\n @focus-after-released=\"onCloseAutoFocus\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onCloseRequested\"\n >\n <el-dialog-content\n v-if=\"rendered\"\n ref=\"dialogContentRef\"\n v-bind=\"$attrs\"\n :center=\"center\"\n :align-center=\"alignCenter\"\n :close-icon=\"closeIcon\"\n :draggable=\"draggable\"\n :overflow=\"overflow\"\n :fullscreen=\"fullscreen\"\n :show-close=\"showClose\"\n :title=\"title\"\n :aria-level=\"headerAriaLevel\"\n @close=\"handleClose\"\n >\n <template #header>\n <slot\n v-if=\"!$slots.title\"\n name=\"header\"\n :close=\"handleClose\"\n :title-id=\"titleId\"\n :title-class=\"ns.e('title')\"\n />\n <slot v-else name=\"title\" />\n </template>\n <slot />\n <template v-if=\"$slots.footer\" #footer>\n <slot name=\"footer\" />\n </template>\n </el-dialog-content>\n </el-focus-trap>\n </div>\n </el-overlay>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, ref, useSlots } from 'vue'\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport { useDeprecated, useNamespace, useSameTarget } from '@element-plus/hooks'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElTeleport from '@element-plus/components/teleport'\nimport ElDialogContent from './dialog-content.vue'\nimport { dialogInjectionKey } from './constants'\nimport { dialogEmits, dialogProps } from './dialog'\nimport { useDialog } from './use-dialog'\n\ndefineOptions({\n name: 'ElDialog',\n inheritAttrs: false,\n})\n\nconst props = defineProps(dialogProps)\ndefineEmits(dialogEmits)\nconst slots = useSlots()\n\nuseDeprecated(\n {\n scope: 'el-dialog',\n from: 'the title slot',\n replacement: 'the header slot',\n version: '3.0.0',\n ref: 'https://element-plus.org/en-US/component/dialog.html#slots',\n },\n computed(() => !!slots.title)\n)\n\nconst ns = useNamespace('dialog')\nconst dialogRef = ref<HTMLElement>()\nconst headerRef = ref<HTMLElement>()\nconst dialogContentRef = ref()\n\nconst {\n visible,\n titleId,\n bodyId,\n style,\n overlayDialogStyle,\n rendered,\n zIndex,\n afterEnter,\n afterLeave,\n beforeLeave,\n handleClose,\n onModalClick,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onCloseRequested,\n onFocusoutPrevented,\n} = useDialog(props, dialogRef)\n\nprovide(dialogInjectionKey, {\n dialogRef,\n headerRef,\n bodyId,\n ns,\n rendered,\n style,\n})\n\nconst overlayEvent = useSameTarget(onModalClick)\n\nconst draggable = computed(() => props.draggable && !props.fullscreen)\n\nconst
|
|
1
|
+
{"version":3,"file":"dialog2.js","sources":["../../../../../../packages/components/dialog/src/dialog.vue"],"sourcesContent":["<template>\n <el-teleport\n :to=\"appendTo\"\n :disabled=\"appendTo !== 'body' ? false : !appendToBody\"\n >\n <transition\n name=\"dialog-fade\"\n @after-enter=\"afterEnter\"\n @after-leave=\"afterLeave\"\n @before-leave=\"beforeLeave\"\n >\n <el-overlay\n v-show=\"visible\"\n custom-mask-event\n :mask=\"modal\"\n :overlay-class=\"modalClass\"\n :z-index=\"zIndex\"\n >\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-label=\"title || undefined\"\n :aria-labelledby=\"!title ? titleId : undefined\"\n :aria-describedby=\"bodyId\"\n :class=\"`${ns.namespace.value}-overlay-dialog`\"\n :style=\"overlayDialogStyle\"\n @click=\"overlayEvent.onClick\"\n @mousedown=\"overlayEvent.onMousedown\"\n @mouseup=\"overlayEvent.onMouseup\"\n >\n <el-focus-trap\n loop\n :trapped=\"visible\"\n focus-start-el=\"container\"\n @focus-after-trapped=\"onOpenAutoFocus\"\n @focus-after-released=\"onCloseAutoFocus\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onCloseRequested\"\n >\n <el-dialog-content\n v-if=\"rendered\"\n ref=\"dialogContentRef\"\n v-bind=\"$attrs\"\n :center=\"center\"\n :align-center=\"alignCenter\"\n :close-icon=\"closeIcon\"\n :draggable=\"draggable\"\n :overflow=\"overflow\"\n :fullscreen=\"fullscreen\"\n :show-close=\"showClose\"\n :title=\"title\"\n :aria-level=\"headerAriaLevel\"\n @close=\"handleClose\"\n >\n <template #header>\n <slot\n v-if=\"!$slots.title\"\n name=\"header\"\n :close=\"handleClose\"\n :title-id=\"titleId\"\n :title-class=\"ns.e('title')\"\n />\n <slot v-else name=\"title\" />\n </template>\n <slot />\n <template v-if=\"$slots.footer\" #footer>\n <slot name=\"footer\" />\n </template>\n </el-dialog-content>\n </el-focus-trap>\n </div>\n </el-overlay>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, ref, useSlots } from 'vue'\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport { useDeprecated, useNamespace, useSameTarget } from '@element-plus/hooks'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElTeleport from '@element-plus/components/teleport'\nimport ElDialogContent from './dialog-content.vue'\nimport { dialogInjectionKey } from './constants'\nimport { dialogEmits, dialogProps } from './dialog'\nimport { useDialog } from './use-dialog'\n\ndefineOptions({\n name: 'ElDialog',\n inheritAttrs: false,\n})\n\nconst props = defineProps(dialogProps)\ndefineEmits(dialogEmits)\nconst slots = useSlots()\n\nuseDeprecated(\n {\n scope: 'el-dialog',\n from: 'the title slot',\n replacement: 'the header slot',\n version: '3.0.0',\n ref: 'https://element-plus.org/en-US/component/dialog.html#slots',\n },\n computed(() => !!slots.title)\n)\n\nconst ns = useNamespace('dialog')\nconst dialogRef = ref<HTMLElement>()\nconst headerRef = ref<HTMLElement>()\nconst dialogContentRef = ref()\n\nconst {\n visible,\n titleId,\n bodyId,\n style,\n overlayDialogStyle,\n rendered,\n zIndex,\n afterEnter,\n afterLeave,\n beforeLeave,\n handleClose,\n onModalClick,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onCloseRequested,\n onFocusoutPrevented,\n} = useDialog(props, dialogRef)\n\nprovide(dialogInjectionKey, {\n dialogRef,\n headerRef,\n bodyId,\n ns,\n rendered,\n style,\n})\n\nconst overlayEvent = useSameTarget(onModalClick)\n\nconst draggable = computed(() => props.draggable && !props.fullscreen)\n\nconst resetPosition = () => {\n dialogContentRef.value?.resetPosition()\n}\n\ndefineExpose({\n /** @description whether the dialog is visible */\n visible,\n dialogContentRef,\n resetPosition,\n})\n</script>\n"],"names":["useSlots","useDeprecated","computed","useNamespace","ref","useDialog","provide","dialogInjectionKey","useSameTarget"],"mappings":";;;;;;;;;;;;;;;;;;;uCAuFc,CAAA;AAAA,EACZ,IAAM,EAAA,UAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;;AAIA,IAAA,MAAM,QAAQA,YAAS,EAAA,CAAA;AAEvB,IACEC,mBAAA,CAAA;AAAA,MACE,KAAO,EAAA,WAAA;AAAA,MACP,IAAM,EAAA,gBAAA;AAAA,MACN,WAAa,EAAA,iBAAA;AAAA,MACb,OAAS,EAAA,OAAA;AAAA,MACT,GAAK,EAAA,4DAAA;AAAA,OAEPC,YAAS,CAAA,MAAM,CAAC,CAAC,KAAA,CAAM,KAAK,CAC9B,CAAA,CAAA;AAEA,IAAM,MAAA,EAAA,GAAKC,qBAAa,QAAQ,CAAA,CAAA;AAChC,IAAA,MAAM,YAAYC,OAAiB,EAAA,CAAA;AACnC,IAAA,MAAM,YAAYA,OAAiB,EAAA,CAAA;AACnC,IAAA,MAAM,mBAAmBA,OAAI,EAAA,CAAA;AAE7B,IAAM,MAAA;AAAA,MACJ,OAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,kBAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,MACA,eAAA;AAAA,MACA,gBAAA;AAAA,MACA,gBAAA;AAAA,MACA,mBAAA;AAAA,KACE,GAAAC,mBAAA,CAAU,OAAO,SAAS,CAAA,CAAA;AAE9B,IAAAC,WAAA,CAAQC,4BAAoB,EAAA;AAAA,MAC1B,SAAA;AAAA,MACA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,EAAA;AAAA,MACA,QAAA;AAAA,MACA,KAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,YAAA,GAAeC,sBAAc,YAAY,CAAA,CAAA;AAE/C,IAAA,MAAM,YAAYN,YAAS,CAAA,MAAM,MAAM,SAAa,IAAA,CAAC,MAAM,UAAU,CAAA,CAAA;AAErE,IAAA,MAAM,gBAAgB,MAAM;AAC1B,MAAA,IAAA,EAAA,CAAA;AAAsC,MACxC,CAAA,EAAA,GAAA,gBAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA;AAEA,KAAa,CAAA;AAAA,IAEX,MAAA,CAAA;AAAA,MACA,OAAA;AAAA,MACA,gBAAA;AAAA,MACD,aAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/lib/components/index.js
CHANGED
|
@@ -211,7 +211,7 @@ var transfer = require('./transfer/src/transfer.js');
|
|
|
211
211
|
var upload = require('./upload/src/upload.js');
|
|
212
212
|
var uploadContent = require('./upload/src/upload-content.js');
|
|
213
213
|
var uploadList = require('./upload/src/upload-list.js');
|
|
214
|
-
var uploadDragger = require('./upload/src/upload-
|
|
214
|
+
var uploadDragger = require('./upload/src/upload-dragger.js');
|
|
215
215
|
var constants$j = require('./upload/src/constants.js');
|
|
216
216
|
var fixedSizeList = require('./virtual-list/src/components/fixed-size-list.js');
|
|
217
217
|
var dynamicSizeList = require('./virtual-list/src/components/dynamic-size-list.js');
|
|
@@ -370,6 +370,7 @@ exports.cardProps = card.cardProps;
|
|
|
370
370
|
exports.carouselEmits = carousel.carouselEmits;
|
|
371
371
|
exports.carouselProps = carousel.carouselProps;
|
|
372
372
|
exports.carouselItemProps = carouselItem.carouselItemProps;
|
|
373
|
+
exports.CAROUSEL_ITEM_NAME = constants$2.CAROUSEL_ITEM_NAME;
|
|
373
374
|
exports.carouselContextKey = constants$2.carouselContextKey;
|
|
374
375
|
exports.cascaderEmits = cascader.cascaderEmits;
|
|
375
376
|
exports.cascaderProps = cascader.cascaderProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,17 +2,67 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('
|
|
6
|
-
require('../../../../
|
|
7
|
-
var
|
|
8
|
-
var
|
|
5
|
+
var vue = require('vue');
|
|
6
|
+
require('../../../../hooks/index.js');
|
|
7
|
+
var index$2 = require('../../../input/index.js');
|
|
8
|
+
var usePagination = require('../usePagination.js');
|
|
9
|
+
var jumper = require('./jumper2.js');
|
|
10
|
+
var pluginVue_exportHelper = require('../../../../_virtual/plugin-vue_export-helper.js');
|
|
11
|
+
var index = require('../../../../hooks/use-locale/index.js');
|
|
12
|
+
var index$1 = require('../../../../hooks/use-namespace/index.js');
|
|
9
13
|
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
const __default__ = vue.defineComponent({
|
|
15
|
+
name: "ElPaginationJumper"
|
|
16
|
+
});
|
|
17
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
18
|
+
...__default__,
|
|
19
|
+
props: jumper.paginationJumperProps,
|
|
20
|
+
setup(__props) {
|
|
21
|
+
const { t } = index.useLocale();
|
|
22
|
+
const ns = index$1.useNamespace("pagination");
|
|
23
|
+
const { pageCount, disabled, currentPage, changeEvent } = usePagination.usePagination();
|
|
24
|
+
const userInput = vue.ref();
|
|
25
|
+
const innerValue = vue.computed(() => {
|
|
26
|
+
var _a;
|
|
27
|
+
return (_a = userInput.value) != null ? _a : currentPage == null ? void 0 : currentPage.value;
|
|
28
|
+
});
|
|
29
|
+
function handleInput(val) {
|
|
30
|
+
userInput.value = val ? +val : "";
|
|
31
|
+
}
|
|
32
|
+
function handleChange(val) {
|
|
33
|
+
val = Math.trunc(+val);
|
|
34
|
+
changeEvent == null ? void 0 : changeEvent(val);
|
|
35
|
+
userInput.value = void 0;
|
|
36
|
+
}
|
|
37
|
+
return (_ctx, _cache) => {
|
|
38
|
+
return vue.openBlock(), vue.createElementBlock("span", {
|
|
39
|
+
class: vue.normalizeClass(vue.unref(ns).e("jump")),
|
|
40
|
+
disabled: vue.unref(disabled)
|
|
41
|
+
}, [
|
|
42
|
+
vue.createElementVNode("span", {
|
|
43
|
+
class: vue.normalizeClass([vue.unref(ns).e("goto")])
|
|
44
|
+
}, vue.toDisplayString(vue.unref(t)("el.pagination.goto")), 3),
|
|
45
|
+
vue.createVNode(vue.unref(index$2.ElInput), {
|
|
46
|
+
size: _ctx.size,
|
|
47
|
+
class: vue.normalizeClass([vue.unref(ns).e("editor"), vue.unref(ns).is("in-pagination")]),
|
|
48
|
+
min: 1,
|
|
49
|
+
max: vue.unref(pageCount),
|
|
50
|
+
disabled: vue.unref(disabled),
|
|
51
|
+
"model-value": vue.unref(innerValue),
|
|
52
|
+
"validate-event": false,
|
|
53
|
+
"aria-label": vue.unref(t)("el.pagination.page"),
|
|
54
|
+
type: "number",
|
|
55
|
+
"onUpdate:modelValue": handleInput,
|
|
56
|
+
onChange: handleChange
|
|
57
|
+
}, null, 8, ["size", "class", "max", "disabled", "model-value", "aria-label"]),
|
|
58
|
+
vue.createElementVNode("span", {
|
|
59
|
+
class: vue.normalizeClass([vue.unref(ns).e("classifier")])
|
|
60
|
+
}, vue.toDisplayString(vue.unref(t)("el.pagination.pageClassifier")), 3)
|
|
61
|
+
], 10, ["disabled"]);
|
|
62
|
+
};
|
|
14
63
|
}
|
|
15
64
|
});
|
|
65
|
+
var Jumper = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "jumper.vue"]]);
|
|
16
66
|
|
|
17
|
-
exports
|
|
67
|
+
exports["default"] = Jumper;
|
|
18
68
|
//# sourceMappingURL=jumper.js.map
|