@element-plus/nightly 0.0.20240725 → 0.0.20240726
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.full.js +26 -18
- package/dist/index.full.min.js +9 -9
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +14 -14
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +26 -18
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar-eg.js +1 -1
- package/dist/locale/ar-eg.min.js +1 -1
- package/dist/locale/ar-eg.min.mjs +1 -1
- package/dist/locale/ar-eg.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/ckb.js +1 -1
- package/dist/locale/ckb.min.js +1 -1
- package/dist/locale/ckb.min.mjs +1 -1
- package/dist/locale/ckb.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/sw.js +1 -1
- package/dist/locale/sw.min.js +1 -1
- package/dist/locale/sw.min.mjs +1 -1
- package/dist/locale/sw.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/calendar/src/calendar2.mjs +1 -1
- package/es/components/calendar/src/date-table.mjs +33 -87
- package/es/components/calendar/src/date-table.mjs.map +1 -1
- package/es/components/calendar/src/date-table2.mjs +87 -33
- package/es/components/calendar/src/date-table2.mjs.map +1 -1
- package/es/components/calendar/src/use-date-table.mjs +1 -1
- package/es/components/carousel/src/carousel2.mjs +1 -0
- package/es/components/carousel/src/carousel2.mjs.map +1 -1
- package/es/components/color-picker/src/utils/draggable.mjs +1 -1
- package/es/components/color-picker/src/utils/draggable.mjs.map +1 -1
- package/es/components/index.mjs +1 -1
- package/es/components/rate/index.mjs +2 -2
- package/es/components/rate/src/rate.mjs +269 -87
- package/es/components/rate/src/rate.mjs.map +1 -1
- package/es/components/rate/src/rate2.mjs +87 -269
- package/es/components/rate/src/rate2.mjs.map +1 -1
- package/es/components/segmented/src/segmented.mjs +3 -3
- package/es/components/segmented/src/segmented.mjs.map +1 -1
- package/es/components/slider/src/button2.mjs +3 -4
- package/es/components/slider/src/button2.mjs.map +1 -1
- package/es/components/slider/src/composables/use-slider-button.mjs +2 -0
- package/es/components/slider/src/composables/use-slider-button.mjs.map +1 -1
- package/es/components/slider/src/slider2.mjs +10 -5
- package/es/components/slider/src/slider2.mjs.map +1 -1
- package/es/components/virtual-list/src/builders/build-grid.mjs +4 -2
- package/es/components/virtual-list/src/builders/build-grid.mjs.map +1 -1
- package/es/components/virtual-list/src/builders/build-list.mjs +4 -3
- package/es/components/virtual-list/src/builders/build-list.mjs.map +1 -1
- package/es/components/virtual-list/src/components/scrollbar.mjs +1 -1
- package/es/components/virtual-list/src/components/scrollbar.mjs.map +1 -1
- package/es/index.mjs +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/calendar/src/calendar2.js +1 -1
- package/lib/components/calendar/src/date-table.js +37 -87
- package/lib/components/calendar/src/date-table.js.map +1 -1
- package/lib/components/calendar/src/date-table2.js +87 -37
- package/lib/components/calendar/src/date-table2.js.map +1 -1
- package/lib/components/calendar/src/use-date-table.js +1 -1
- package/lib/components/carousel/src/carousel2.js +1 -0
- package/lib/components/carousel/src/carousel2.js.map +1 -1
- package/lib/components/color-picker/src/utils/draggable.js +1 -1
- package/lib/components/color-picker/src/utils/draggable.js.map +1 -1
- package/lib/components/index.js +1 -1
- package/lib/components/rate/index.js +2 -2
- package/lib/components/rate/src/rate.js +268 -87
- package/lib/components/rate/src/rate.js.map +1 -1
- package/lib/components/rate/src/rate2.js +87 -268
- package/lib/components/rate/src/rate2.js.map +1 -1
- package/lib/components/segmented/src/segmented.js +2 -2
- package/lib/components/segmented/src/segmented.js.map +1 -1
- package/lib/components/slider/src/button2.js +3 -4
- package/lib/components/slider/src/button2.js.map +1 -1
- package/lib/components/slider/src/composables/use-slider-button.js +2 -0
- package/lib/components/slider/src/composables/use-slider-button.js.map +1 -1
- package/lib/components/slider/src/slider2.js +10 -5
- package/lib/components/slider/src/slider2.js.map +1 -1
- package/lib/components/virtual-list/src/builders/build-grid.js +4 -2
- package/lib/components/virtual-list/src/builders/build-grid.js.map +1 -1
- package/lib/components/virtual-list/src/builders/build-list.js +4 -3
- package/lib/components/virtual-list/src/builders/build-list.js.map +1 -1
- package/lib/components/virtual-list/src/components/scrollbar.js +1 -1
- package/lib/components/virtual-list/src/components/scrollbar.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider2.js","sources":["../../../../../../packages/components/slider/src/slider.vue"],"sourcesContent":["<template>\n <div\n :id=\"range ? inputId : undefined\"\n ref=\"sliderWrapper\"\n :class=\"sliderKls\"\n :role=\"range ? 'group' : undefined\"\n :aria-label=\"range && !isLabeledByFormItem ? groupLabel : undefined\"\n :aria-labelledby=\"\n range && isLabeledByFormItem ? elFormItem?.labelId : undefined\n \"\n @touchstart=\"onSliderWrapperPrevent\"\n @touchmove=\"onSliderWrapperPrevent\"\n >\n <div\n ref=\"slider\"\n :class=\"[\n ns.e('runway'),\n { 'show-input': showInput && !range },\n ns.is('disabled', sliderDisabled),\n ]\"\n :style=\"runwayStyle\"\n @mousedown=\"onSliderDown\"\n @touchstart=\"onSliderDown\"\n >\n <div :class=\"ns.e('bar')\" :style=\"barStyle\" />\n <slider-button\n :id=\"!range ? inputId : undefined\"\n ref=\"firstButton\"\n :model-value=\"firstValue\"\n :vertical=\"vertical\"\n :tooltip-class=\"tooltipClass\"\n :placement=\"placement\"\n role=\"slider\"\n :aria-label=\"\n range || !isLabeledByFormItem ? firstButtonLabel : undefined\n \"\n :aria-labelledby=\"\n !range && isLabeledByFormItem ? elFormItem?.labelId : undefined\n \"\n :aria-valuemin=\"min\"\n :aria-valuemax=\"range ? secondValue : max\"\n :aria-valuenow=\"firstValue\"\n :aria-valuetext=\"firstValueText\"\n :aria-orientation=\"vertical ? 'vertical' : 'horizontal'\"\n :aria-disabled=\"sliderDisabled\"\n @update:model-value=\"setFirstValue\"\n />\n <slider-button\n v-if=\"range\"\n ref=\"secondButton\"\n :model-value=\"secondValue\"\n :vertical=\"vertical\"\n :tooltip-class=\"tooltipClass\"\n :placement=\"placement\"\n role=\"slider\"\n :aria-label=\"secondButtonLabel\"\n :aria-valuemin=\"firstValue\"\n :aria-valuemax=\"max\"\n :aria-valuenow=\"secondValue\"\n :aria-valuetext=\"secondValueText\"\n :aria-orientation=\"vertical ? 'vertical' : 'horizontal'\"\n :aria-disabled=\"sliderDisabled\"\n @update:model-value=\"setSecondValue\"\n />\n <div v-if=\"showStops\">\n <div\n v-for=\"(item, key) in stops\"\n :key=\"key\"\n :class=\"ns.e('stop')\"\n :style=\"getStopStyle(item)\"\n />\n </div>\n <template v-if=\"markList.length > 0\">\n <div>\n <div\n v-for=\"(item, key) in markList\"\n :key=\"key\"\n :style=\"getStopStyle(item.position)\"\n :class=\"[ns.e('stop'), ns.e('marks-stop')]\"\n />\n </div>\n <div :class=\"ns.e('marks')\">\n <slider-marker\n v-for=\"(item, key) in markList\"\n :key=\"key\"\n :mark=\"item.mark\"\n :style=\"getStopStyle(item.position)\"\n />\n </div>\n </template>\n </div>\n <el-input-number\n v-if=\"showInput && !range\"\n ref=\"input\"\n :model-value=\"firstValue\"\n :class=\"ns.e('input')\"\n :step=\"step\"\n :disabled=\"sliderDisabled\"\n :controls=\"showInputControls\"\n :min=\"min\"\n :max=\"max\"\n :debounce=\"debounce\"\n :size=\"sliderInputSize\"\n @update:model-value=\"setFirstValue\"\n @change=\"emitChange\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, toRefs } from 'vue'\nimport ElInputNumber from '@element-plus/components/input-number'\nimport { useFormItemInputId, useFormSize } from '@element-plus/components/form'\nimport { useDeprecated, useLocale, useNamespace } from '@element-plus/hooks'\nimport { sliderContextKey } from './constants'\nimport { sliderEmits, sliderProps } from './slider'\nimport SliderButton from './button.vue'\nimport SliderMarker from './marker'\nimport {\n useLifecycle,\n useMarks,\n useSlide,\n useStops,\n useWatch,\n} from './composables'\nimport type { SliderInitData } from './slider'\n\ndefineOptions({\n name: 'ElSlider',\n})\n\nconst props = defineProps(sliderProps)\nconst emit = defineEmits(sliderEmits)\n\nconst ns = useNamespace('slider')\nconst { t } = useLocale()\n\nconst initData = reactive<SliderInitData>({\n firstValue: 0,\n secondValue: 0,\n oldValue: 0,\n dragging: false,\n sliderSize: 1,\n})\n\nconst {\n elFormItem,\n slider,\n firstButton,\n secondButton,\n sliderDisabled,\n minValue,\n maxValue,\n runwayStyle,\n barStyle,\n resetSize,\n emitChange,\n onSliderWrapperPrevent,\n onSliderClick,\n onSliderDown,\n setFirstValue,\n setSecondValue,\n} = useSlide(props, initData, emit)\n\nconst { stops, getStopStyle } = useStops(props, initData, minValue, maxValue)\n\nconst { inputId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n})\n\nconst sliderWrapperSize = useFormSize()\nconst sliderInputSize = computed(\n () => props.inputSize || sliderWrapperSize.value\n)\n\nconst groupLabel = computed<string>(() => {\n return (\n props.label ||\n props.ariaLabel ||\n t('el.slider.defaultLabel', {\n min: props.min,\n max: props.max,\n })\n )\n})\n\nconst firstButtonLabel = computed<string>(() => {\n if (props.range) {\n return props.rangeStartLabel || t('el.slider.defaultRangeStartLabel')\n } else {\n return groupLabel.value\n }\n})\n\nconst firstValueText = computed<string>(() => {\n return props.formatValueText\n ? props.formatValueText(firstValue.value)\n : `${firstValue.value}`\n})\n\nconst secondButtonLabel = computed<string>(() => {\n return props.rangeEndLabel || t('el.slider.defaultRangeEndLabel')\n})\n\nconst secondValueText = computed<string>(() => {\n return props.formatValueText\n ? props.formatValueText(secondValue.value)\n : `${secondValue.value}`\n})\n\nconst sliderKls = computed(() => [\n ns.b(),\n ns.m(sliderWrapperSize.value),\n ns.is('vertical', props.vertical),\n { [ns.m('with-input')]: props.showInput },\n])\n\nconst markList = useMarks(props)\n\nuseWatch(props, initData, minValue, maxValue, emit, elFormItem!)\n\nconst precision = computed(() => {\n const precisions = [props.min, props.max, props.step].map((item) => {\n const decimal = `${item}`.split('.')[1]\n return decimal ? decimal.length : 0\n })\n return Math.max.apply(null, precisions)\n})\n\nconst { sliderWrapper } = useLifecycle(props, initData, resetSize)\n\nconst { firstValue, secondValue, sliderSize } = toRefs(initData)\n\nconst updateDragging = (val: boolean) => {\n initData.dragging = val\n}\n\nprovide(sliderContextKey, {\n ...toRefs(props),\n sliderSize,\n disabled: sliderDisabled,\n precision,\n emitChange,\n resetSize,\n updateDragging,\n})\n\nuseDeprecated(\n {\n from: 'label',\n replacement: 'aria-label',\n version: '2.8.0',\n scope: 'el-slider',\n ref: 'https://element-plus.org/en-US/component/slider.html',\n },\n computed(() => !!props.label)\n)\n\ndefineExpose({\n onSliderClick,\n})\n</script>\n"],"names":["useNamespace","useLocale","reactive","useSlide","useStops","useFormItemInputId","useFormSize","computed","useMarks","useWatch","useLifecycle","toRefs","provide","sliderContextKey","useDeprecated"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slider2.js","sources":["../../../../../../packages/components/slider/src/slider.vue"],"sourcesContent":["<template>\n <div\n :id=\"range ? inputId : undefined\"\n ref=\"sliderWrapper\"\n :class=\"sliderKls\"\n :role=\"range ? 'group' : undefined\"\n :aria-label=\"range && !isLabeledByFormItem ? groupLabel : undefined\"\n :aria-labelledby=\"\n range && isLabeledByFormItem ? elFormItem?.labelId : undefined\n \"\n >\n <div\n ref=\"slider\"\n :class=\"[\n ns.e('runway'),\n { 'show-input': showInput && !range },\n ns.is('disabled', sliderDisabled),\n ]\"\n :style=\"runwayStyle\"\n @mousedown=\"onSliderDown\"\n @touchstart.passive=\"onSliderDown\"\n >\n <div :class=\"ns.e('bar')\" :style=\"barStyle\" />\n <slider-button\n :id=\"!range ? inputId : undefined\"\n ref=\"firstButton\"\n :model-value=\"firstValue\"\n :vertical=\"vertical\"\n :tooltip-class=\"tooltipClass\"\n :placement=\"placement\"\n role=\"slider\"\n :aria-label=\"\n range || !isLabeledByFormItem ? firstButtonLabel : undefined\n \"\n :aria-labelledby=\"\n !range && isLabeledByFormItem ? elFormItem?.labelId : undefined\n \"\n :aria-valuemin=\"min\"\n :aria-valuemax=\"range ? secondValue : max\"\n :aria-valuenow=\"firstValue\"\n :aria-valuetext=\"firstValueText\"\n :aria-orientation=\"vertical ? 'vertical' : 'horizontal'\"\n :aria-disabled=\"sliderDisabled\"\n @update:model-value=\"setFirstValue\"\n />\n <slider-button\n v-if=\"range\"\n ref=\"secondButton\"\n :model-value=\"secondValue\"\n :vertical=\"vertical\"\n :tooltip-class=\"tooltipClass\"\n :placement=\"placement\"\n role=\"slider\"\n :aria-label=\"secondButtonLabel\"\n :aria-valuemin=\"firstValue\"\n :aria-valuemax=\"max\"\n :aria-valuenow=\"secondValue\"\n :aria-valuetext=\"secondValueText\"\n :aria-orientation=\"vertical ? 'vertical' : 'horizontal'\"\n :aria-disabled=\"sliderDisabled\"\n @update:model-value=\"setSecondValue\"\n />\n <div v-if=\"showStops\">\n <div\n v-for=\"(item, key) in stops\"\n :key=\"key\"\n :class=\"ns.e('stop')\"\n :style=\"getStopStyle(item)\"\n />\n </div>\n <template v-if=\"markList.length > 0\">\n <div>\n <div\n v-for=\"(item, key) in markList\"\n :key=\"key\"\n :style=\"getStopStyle(item.position)\"\n :class=\"[ns.e('stop'), ns.e('marks-stop')]\"\n />\n </div>\n <div :class=\"ns.e('marks')\">\n <slider-marker\n v-for=\"(item, key) in markList\"\n :key=\"key\"\n :mark=\"item.mark\"\n :style=\"getStopStyle(item.position)\"\n />\n </div>\n </template>\n </div>\n <el-input-number\n v-if=\"showInput && !range\"\n ref=\"input\"\n :model-value=\"firstValue\"\n :class=\"ns.e('input')\"\n :step=\"step\"\n :disabled=\"sliderDisabled\"\n :controls=\"showInputControls\"\n :min=\"min\"\n :max=\"max\"\n :debounce=\"debounce\"\n :size=\"sliderInputSize\"\n @update:model-value=\"setFirstValue\"\n @change=\"emitChange\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, toRefs } from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport ElInputNumber from '@element-plus/components/input-number'\nimport { useFormItemInputId, useFormSize } from '@element-plus/components/form'\nimport { useDeprecated, useLocale, useNamespace } from '@element-plus/hooks'\nimport { sliderContextKey } from './constants'\nimport { sliderEmits, sliderProps } from './slider'\nimport SliderButton from './button.vue'\nimport SliderMarker from './marker'\nimport {\n useLifecycle,\n useMarks,\n useSlide,\n useStops,\n useWatch,\n} from './composables'\nimport type { SliderInitData } from './slider'\n\ndefineOptions({\n name: 'ElSlider',\n})\n\nconst props = defineProps(sliderProps)\nconst emit = defineEmits(sliderEmits)\n\nconst ns = useNamespace('slider')\nconst { t } = useLocale()\n\nconst initData = reactive<SliderInitData>({\n firstValue: 0,\n secondValue: 0,\n oldValue: 0,\n dragging: false,\n sliderSize: 1,\n})\n\nconst {\n elFormItem,\n slider,\n firstButton,\n secondButton,\n sliderDisabled,\n minValue,\n maxValue,\n runwayStyle,\n barStyle,\n resetSize,\n emitChange,\n onSliderWrapperPrevent,\n onSliderClick,\n onSliderDown,\n setFirstValue,\n setSecondValue,\n} = useSlide(props, initData, emit)\n\nconst { stops, getStopStyle } = useStops(props, initData, minValue, maxValue)\n\nconst { inputId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n})\n\nconst sliderWrapperSize = useFormSize()\nconst sliderInputSize = computed(\n () => props.inputSize || sliderWrapperSize.value\n)\n\nconst groupLabel = computed<string>(() => {\n return (\n props.label ||\n props.ariaLabel ||\n t('el.slider.defaultLabel', {\n min: props.min,\n max: props.max,\n })\n )\n})\n\nconst firstButtonLabel = computed<string>(() => {\n if (props.range) {\n return props.rangeStartLabel || t('el.slider.defaultRangeStartLabel')\n } else {\n return groupLabel.value\n }\n})\n\nconst firstValueText = computed<string>(() => {\n return props.formatValueText\n ? props.formatValueText(firstValue.value)\n : `${firstValue.value}`\n})\n\nconst secondButtonLabel = computed<string>(() => {\n return props.rangeEndLabel || t('el.slider.defaultRangeEndLabel')\n})\n\nconst secondValueText = computed<string>(() => {\n return props.formatValueText\n ? props.formatValueText(secondValue.value)\n : `${secondValue.value}`\n})\n\nconst sliderKls = computed(() => [\n ns.b(),\n ns.m(sliderWrapperSize.value),\n ns.is('vertical', props.vertical),\n { [ns.m('with-input')]: props.showInput },\n])\n\nconst markList = useMarks(props)\n\nuseWatch(props, initData, minValue, maxValue, emit, elFormItem!)\n\nconst precision = computed(() => {\n const precisions = [props.min, props.max, props.step].map((item) => {\n const decimal = `${item}`.split('.')[1]\n return decimal ? decimal.length : 0\n })\n return Math.max.apply(null, precisions)\n})\n\nconst { sliderWrapper } = useLifecycle(props, initData, resetSize)\n\nconst { firstValue, secondValue, sliderSize } = toRefs(initData)\n\nconst updateDragging = (val: boolean) => {\n initData.dragging = val\n}\n\nuseEventListener(sliderWrapper, 'touchstart', onSliderWrapperPrevent, {\n passive: false,\n})\nuseEventListener(sliderWrapper, 'touchmove', onSliderWrapperPrevent, {\n passive: false,\n})\n\nprovide(sliderContextKey, {\n ...toRefs(props),\n sliderSize,\n disabled: sliderDisabled,\n precision,\n emitChange,\n resetSize,\n updateDragging,\n})\n\nuseDeprecated(\n {\n from: 'label',\n replacement: 'aria-label',\n version: '2.8.0',\n scope: 'el-slider',\n ref: 'https://element-plus.org/en-US/component/slider.html',\n },\n computed(() => !!props.label)\n)\n\ndefineExpose({\n onSliderClick,\n})\n</script>\n"],"names":["useNamespace","useLocale","reactive","useSlide","useStops","useFormItemInputId","useFormSize","computed","useMarks","useWatch","useLifecycle","toRefs","useEventListener","provide","sliderContextKey","useDeprecated"],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
|
+
var core = require('@vueuse/core');
|
|
6
7
|
require('../../../../utils/index.js');
|
|
7
8
|
require('../../../../hooks/index.js');
|
|
8
9
|
var scrollbar = require('../components/scrollbar.js');
|
|
@@ -15,7 +16,6 @@ var index = require('../../../../hooks/use-namespace/index.js');
|
|
|
15
16
|
var types = require('../../../../utils/types.js');
|
|
16
17
|
var scroll = require('../../../../utils/dom/scroll.js');
|
|
17
18
|
var shared = require('@vue/shared');
|
|
18
|
-
var core = require('@vueuse/core');
|
|
19
19
|
|
|
20
20
|
const createGrid = ({
|
|
21
21
|
name,
|
|
@@ -224,6 +224,9 @@ const createGrid = ({
|
|
|
224
224
|
scrollTop: Math.min(states.value.scrollTop + y, estimatedTotalHeight.value - height)
|
|
225
225
|
});
|
|
226
226
|
});
|
|
227
|
+
core.useEventListener(windowRef, "wheel", onWheel, {
|
|
228
|
+
passive: false
|
|
229
|
+
});
|
|
227
230
|
const scrollTo = ({
|
|
228
231
|
scrollLeft = states.value.scrollLeft,
|
|
229
232
|
scrollTop = states.value.scrollTop
|
|
@@ -435,7 +438,6 @@ const createGrid = ({
|
|
|
435
438
|
class: props.className,
|
|
436
439
|
style: vue.unref(windowStyle),
|
|
437
440
|
onScroll,
|
|
438
|
-
onWheel,
|
|
439
441
|
ref: windowRef
|
|
440
442
|
}, !shared.isString(Container) ? { default: () => Inner } : Inner),
|
|
441
443
|
horizontalScrollbar,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-grid.js","sources":["../../../../../../../packages/components/virtual-list/src/builders/build-grid.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n nextTick,\n onMounted,\n ref,\n resolveDynamicComponent,\n unref,\n} from 'vue'\nimport {\n getScrollBarWidth,\n hasOwn,\n isClient,\n isNumber,\n isString,\n} from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport Scrollbar from '../components/scrollbar'\nimport { useGridWheel } from '../hooks/use-grid-wheel'\nimport { useCache } from '../hooks/use-cache'\nimport { virtualizedGridProps } from '../props'\nimport { getRTLOffsetType, getScrollDir, isRTL } from '../utils'\nimport {\n AUTO_ALIGNMENT,\n BACKWARD,\n FORWARD,\n ITEM_RENDER_EVT,\n RTL,\n RTL_OFFSET_NAG,\n RTL_OFFSET_POS_ASC,\n RTL_OFFSET_POS_DESC,\n SCROLL_EVT,\n} from '../defaults'\nimport type {\n CSSProperties,\n Ref,\n StyleValue,\n UnwrapRef,\n VNode,\n VNodeChild,\n} from 'vue'\nimport type {\n Alignment,\n GridConstructorProps,\n GridScrollOptions,\n ScrollbarExpose,\n} from '../types'\nimport type { VirtualizedGridProps } from '../props'\n\nconst createGrid = ({\n name,\n clearCache,\n getColumnPosition,\n getColumnStartIndexForOffset,\n getColumnStopIndexForStartIndex,\n getEstimatedTotalHeight,\n getEstimatedTotalWidth,\n getColumnOffset,\n getRowOffset,\n getRowPosition,\n getRowStartIndexForOffset,\n getRowStopIndexForStartIndex,\n\n initCache,\n injectToInstance,\n validateProps,\n}: GridConstructorProps<VirtualizedGridProps>) => {\n return defineComponent({\n name: name ?? 'ElVirtualList',\n props: virtualizedGridProps,\n emits: [ITEM_RENDER_EVT, SCROLL_EVT],\n setup(props, { emit, expose, slots }) {\n const ns = useNamespace('vl')\n\n validateProps(props)\n const instance = getCurrentInstance()!\n const cache = ref(initCache(props, instance))\n injectToInstance?.(instance, cache)\n // refs\n // here windowRef and innerRef can be type of HTMLElement\n // or user defined component type, depends on the type passed\n // by user\n const windowRef = ref<HTMLElement>()\n const hScrollbar = ref<ScrollbarExpose>()\n const vScrollbar = ref<ScrollbarExpose>()\n // innerRef is the actual container element which contains all the elements\n const innerRef = ref(null)\n const states = ref({\n isScrolling: false,\n scrollLeft: isNumber(props.initScrollLeft) ? props.initScrollLeft : 0,\n scrollTop: isNumber(props.initScrollTop) ? props.initScrollTop : 0,\n updateRequested: false,\n xAxisScrollDir: FORWARD,\n yAxisScrollDir: FORWARD,\n })\n\n const getItemStyleCache = useCache()\n\n // computed\n const parsedHeight = computed(() =>\n Number.parseInt(`${props.height}`, 10)\n )\n const parsedWidth = computed(() => Number.parseInt(`${props.width}`, 10))\n const columnsToRender = computed(() => {\n const { totalColumn, totalRow, columnCache } = props\n const { isScrolling, xAxisScrollDir, scrollLeft } = unref(states)\n\n if (totalColumn === 0 || totalRow === 0) {\n return [0, 0, 0, 0]\n }\n\n const startIndex = getColumnStartIndexForOffset(\n props,\n scrollLeft,\n unref(cache)\n )\n const stopIndex = getColumnStopIndexForStartIndex(\n props,\n startIndex,\n scrollLeft,\n unref(cache)\n )\n\n const cacheBackward =\n !isScrolling || xAxisScrollDir === BACKWARD\n ? Math.max(1, columnCache)\n : 1\n const cacheForward =\n !isScrolling || xAxisScrollDir === FORWARD\n ? Math.max(1, columnCache)\n : 1\n\n return [\n Math.max(0, startIndex - cacheBackward),\n Math.max(0, Math.min(totalColumn! - 1, stopIndex + cacheForward)),\n startIndex,\n stopIndex,\n ]\n })\n\n const rowsToRender = computed(() => {\n const { totalColumn, totalRow, rowCache } = props\n const { isScrolling, yAxisScrollDir, scrollTop } = unref(states)\n\n if (totalColumn === 0 || totalRow === 0) {\n return [0, 0, 0, 0]\n }\n\n const startIndex = getRowStartIndexForOffset(\n props,\n scrollTop,\n unref(cache)\n )\n const stopIndex = getRowStopIndexForStartIndex(\n props,\n startIndex,\n scrollTop,\n unref(cache)\n )\n\n const cacheBackward =\n !isScrolling || yAxisScrollDir === BACKWARD\n ? Math.max(1, rowCache)\n : 1\n const cacheForward =\n !isScrolling || yAxisScrollDir === FORWARD ? Math.max(1, rowCache) : 1\n\n return [\n Math.max(0, startIndex - cacheBackward),\n Math.max(0, Math.min(totalRow! - 1, stopIndex + cacheForward)),\n startIndex,\n stopIndex,\n ]\n })\n\n const estimatedTotalHeight = computed(() =>\n getEstimatedTotalHeight(props, unref(cache))\n )\n const estimatedTotalWidth = computed(() =>\n getEstimatedTotalWidth(props, unref(cache))\n )\n\n const windowStyle = computed<StyleValue>(() => [\n {\n position: 'relative',\n overflow: 'hidden',\n WebkitOverflowScrolling: 'touch',\n willChange: 'transform',\n },\n {\n direction: props.direction,\n height: isNumber(props.height) ? `${props.height}px` : props.height,\n width: isNumber(props.width) ? `${props.width}px` : props.width,\n },\n props.style ?? {},\n ])\n\n const innerStyle = computed(() => {\n const width = `${unref(estimatedTotalWidth)}px`\n const height = `${unref(estimatedTotalHeight)}px`\n\n return {\n height,\n pointerEvents: unref(states).isScrolling ? 'none' : undefined,\n width,\n }\n })\n\n // methods\n const emitEvents = () => {\n const { totalColumn, totalRow } = props\n\n if (totalColumn! > 0 && totalRow! > 0) {\n const [\n columnCacheStart,\n columnCacheEnd,\n columnVisibleStart,\n columnVisibleEnd,\n ] = unref(columnsToRender)\n const [rowCacheStart, rowCacheEnd, rowVisibleStart, rowVisibleEnd] =\n unref(rowsToRender)\n // emit the render item event with\n // [xAxisInvisibleStart, xAxisInvisibleEnd, xAxisVisibleStart, xAxisVisibleEnd]\n // [yAxisInvisibleStart, yAxisInvisibleEnd, yAxisVisibleStart, yAxisVisibleEnd]\n emit(ITEM_RENDER_EVT, {\n columnCacheStart,\n columnCacheEnd,\n rowCacheStart,\n rowCacheEnd,\n columnVisibleStart,\n columnVisibleEnd,\n rowVisibleStart,\n rowVisibleEnd,\n })\n }\n\n const {\n scrollLeft,\n scrollTop,\n updateRequested,\n xAxisScrollDir,\n yAxisScrollDir,\n } = unref(states)\n emit(SCROLL_EVT, {\n xAxisScrollDir,\n scrollLeft,\n yAxisScrollDir,\n scrollTop,\n updateRequested,\n })\n }\n\n const onScroll = (e: Event) => {\n const {\n clientHeight,\n clientWidth,\n scrollHeight,\n scrollLeft,\n scrollTop,\n scrollWidth,\n } = e.currentTarget as HTMLElement\n\n const _states = unref(states)\n\n if (\n _states.scrollTop === scrollTop &&\n _states.scrollLeft === scrollLeft\n ) {\n return\n }\n\n let _scrollLeft = scrollLeft\n\n if (isRTL(props.direction)) {\n switch (getRTLOffsetType()) {\n case RTL_OFFSET_NAG:\n _scrollLeft = -scrollLeft\n break\n case RTL_OFFSET_POS_DESC:\n _scrollLeft = scrollWidth - clientWidth - scrollLeft\n break\n }\n }\n\n states.value = {\n ..._states,\n isScrolling: true,\n scrollLeft: _scrollLeft,\n scrollTop: Math.max(\n 0,\n Math.min(scrollTop, scrollHeight - clientHeight)\n ),\n updateRequested: true,\n xAxisScrollDir: getScrollDir(_states.scrollLeft, _scrollLeft),\n yAxisScrollDir: getScrollDir(_states.scrollTop, scrollTop),\n }\n\n nextTick(() => resetIsScrolling())\n\n onUpdated()\n emitEvents()\n }\n\n const onVerticalScroll = (distance: number, totalSteps: number) => {\n const height = unref(parsedHeight)\n const offset =\n ((estimatedTotalHeight.value - height) / totalSteps) * distance\n scrollTo({\n scrollTop: Math.min(estimatedTotalHeight.value - height, offset),\n })\n }\n\n const onHorizontalScroll = (distance: number, totalSteps: number) => {\n const width = unref(parsedWidth)\n const offset =\n ((estimatedTotalWidth.value - width) / totalSteps) * distance\n scrollTo({\n scrollLeft: Math.min(estimatedTotalWidth.value - width, offset),\n })\n }\n\n const { onWheel } = useGridWheel(\n {\n atXStartEdge: computed(() => states.value.scrollLeft <= 0),\n atXEndEdge: computed(\n () =>\n states.value.scrollLeft >=\n estimatedTotalWidth.value - unref(parsedWidth)\n ),\n atYStartEdge: computed(() => states.value.scrollTop <= 0),\n atYEndEdge: computed(\n () =>\n states.value.scrollTop >=\n estimatedTotalHeight.value - unref(parsedHeight)\n ),\n },\n (x: number, y: number) => {\n hScrollbar.value?.onMouseUp?.()\n vScrollbar.value?.onMouseUp?.()\n const width = unref(parsedWidth)\n const height = unref(parsedHeight)\n scrollTo({\n scrollLeft: Math.min(\n states.value.scrollLeft + x,\n estimatedTotalWidth.value - width\n ),\n scrollTop: Math.min(\n states.value.scrollTop + y,\n estimatedTotalHeight.value - height\n ),\n })\n }\n )\n\n const scrollTo = ({\n scrollLeft = states.value.scrollLeft,\n scrollTop = states.value.scrollTop,\n }: GridScrollOptions) => {\n scrollLeft = Math.max(scrollLeft, 0)\n scrollTop = Math.max(scrollTop, 0)\n const _states = unref(states)\n if (\n scrollTop === _states.scrollTop &&\n scrollLeft === _states.scrollLeft\n ) {\n return\n }\n\n states.value = {\n ..._states,\n xAxisScrollDir: getScrollDir(_states.scrollLeft, scrollLeft),\n yAxisScrollDir: getScrollDir(_states.scrollTop, scrollTop),\n scrollLeft,\n scrollTop,\n updateRequested: true,\n }\n\n nextTick(() => resetIsScrolling())\n\n onUpdated()\n emitEvents()\n }\n\n const scrollToItem = (\n rowIndex = 0,\n columnIdx = 0,\n alignment: Alignment = AUTO_ALIGNMENT\n ) => {\n const _states = unref(states)\n columnIdx = Math.max(0, Math.min(columnIdx, props.totalColumn! - 1))\n rowIndex = Math.max(0, Math.min(rowIndex, props.totalRow! - 1))\n const scrollBarWidth = getScrollBarWidth(ns.namespace.value)\n\n const _cache = unref(cache)\n const estimatedHeight = getEstimatedTotalHeight(props, _cache)\n const estimatedWidth = getEstimatedTotalWidth(props, _cache)\n\n scrollTo({\n scrollLeft: getColumnOffset(\n props,\n columnIdx,\n alignment,\n _states.scrollLeft,\n _cache,\n estimatedWidth > props.width! ? scrollBarWidth : 0\n ),\n scrollTop: getRowOffset(\n props,\n rowIndex,\n alignment,\n _states.scrollTop,\n _cache,\n estimatedHeight > props.height! ? scrollBarWidth : 0\n ),\n })\n }\n\n const getItemStyle = (\n rowIndex: number,\n columnIndex: number\n ): CSSProperties => {\n const { columnWidth, direction, rowHeight } = props\n const itemStyleCache = getItemStyleCache.value(\n clearCache && columnWidth,\n clearCache && rowHeight,\n clearCache && direction\n )\n // since there was no need to introduce an nested array into cache object\n // we use row,column to construct the key for indexing the map.\n const key = `${rowIndex},${columnIndex}`\n\n if (hasOwn(itemStyleCache, key)) {\n return itemStyleCache[key]\n } else {\n const [, left] = getColumnPosition(props, columnIndex, unref(cache))\n const _cache = unref(cache)\n\n const rtl = isRTL(direction)\n const [height, top] = getRowPosition(props, rowIndex, _cache)\n const [width] = getColumnPosition(props, columnIndex, _cache)\n\n itemStyleCache[key] = {\n position: 'absolute',\n left: rtl ? undefined : `${left}px`,\n right: rtl ? `${left}px` : undefined,\n top: `${top}px`,\n height: `${height}px`,\n width: `${width}px`,\n }\n\n return itemStyleCache[key]\n }\n }\n\n // TODO: debounce setting is scrolling.\n\n const resetIsScrolling = () => {\n // timer = null\n\n states.value.isScrolling = false\n nextTick(() => {\n getItemStyleCache.value(-1, null, null)\n })\n }\n\n // life cycles\n onMounted(() => {\n // for SSR\n if (!isClient) return\n const { initScrollLeft, initScrollTop } = props\n const windowElement = unref(windowRef)\n if (windowElement) {\n if (isNumber(initScrollLeft)) {\n windowElement.scrollLeft = initScrollLeft\n }\n if (isNumber(initScrollTop)) {\n windowElement.scrollTop = initScrollTop\n }\n }\n emitEvents()\n })\n\n const onUpdated = () => {\n const { direction } = props\n const { scrollLeft, scrollTop, updateRequested } = unref(states)\n\n const windowElement = unref(windowRef)\n if (updateRequested && windowElement) {\n if (direction === RTL) {\n switch (getRTLOffsetType()) {\n case RTL_OFFSET_NAG: {\n windowElement.scrollLeft = -scrollLeft\n break\n }\n case RTL_OFFSET_POS_ASC: {\n windowElement.scrollLeft = scrollLeft\n break\n }\n default: {\n const { clientWidth, scrollWidth } = windowElement\n windowElement.scrollLeft =\n scrollWidth - clientWidth - scrollLeft\n break\n }\n }\n } else {\n windowElement.scrollLeft = Math.max(0, scrollLeft)\n }\n\n windowElement.scrollTop = Math.max(0, scrollTop)\n }\n }\n\n const { resetAfterColumnIndex, resetAfterRowIndex, resetAfter } =\n instance.proxy as any\n\n expose({\n windowRef,\n innerRef,\n getItemStyleCache,\n scrollTo,\n scrollToItem,\n states,\n resetAfterColumnIndex,\n resetAfterRowIndex,\n resetAfter,\n })\n\n // rendering part\n\n const renderScrollbars = () => {\n const {\n scrollbarAlwaysOn,\n scrollbarStartGap,\n scrollbarEndGap,\n totalColumn,\n totalRow,\n } = props\n\n const width = unref(parsedWidth)\n const height = unref(parsedHeight)\n const estimatedWidth = unref(estimatedTotalWidth)\n const estimatedHeight = unref(estimatedTotalHeight)\n const { scrollLeft, scrollTop } = unref(states)\n const horizontalScrollbar = h(Scrollbar, {\n ref: hScrollbar,\n alwaysOn: scrollbarAlwaysOn,\n startGap: scrollbarStartGap,\n endGap: scrollbarEndGap,\n class: ns.e('horizontal'),\n clientSize: width,\n layout: 'horizontal',\n onScroll: onHorizontalScroll,\n ratio: (width * 100) / estimatedWidth,\n scrollFrom: scrollLeft / (estimatedWidth - width),\n total: totalRow,\n visible: true,\n })\n\n const verticalScrollbar = h(Scrollbar, {\n ref: vScrollbar,\n alwaysOn: scrollbarAlwaysOn,\n startGap: scrollbarStartGap,\n endGap: scrollbarEndGap,\n class: ns.e('vertical'),\n clientSize: height,\n layout: 'vertical',\n onScroll: onVerticalScroll,\n ratio: (height * 100) / estimatedHeight,\n scrollFrom: scrollTop / (estimatedHeight - height),\n\n total: totalColumn,\n visible: true,\n })\n\n return {\n horizontalScrollbar,\n verticalScrollbar,\n }\n }\n\n const renderItems = () => {\n const [columnStart, columnEnd] = unref(columnsToRender)\n const [rowStart, rowEnd] = unref(rowsToRender)\n const { data, totalColumn, totalRow, useIsScrolling, itemKey } = props\n const children: VNodeChild[] = []\n if (totalRow > 0 && totalColumn > 0) {\n for (let row = rowStart; row <= rowEnd; row++) {\n for (let column = columnStart; column <= columnEnd; column++) {\n children.push(\n slots.default?.({\n columnIndex: column,\n data,\n key: itemKey({ columnIndex: column, data, rowIndex: row }),\n isScrolling: useIsScrolling\n ? unref(states).isScrolling\n : undefined,\n style: getItemStyle(row, column),\n rowIndex: row,\n })\n )\n }\n }\n }\n return children\n }\n\n const renderInner = () => {\n const Inner = resolveDynamicComponent(props.innerElement) as VNode\n const children = renderItems()\n return [\n h(\n Inner,\n {\n style: unref(innerStyle),\n ref: innerRef,\n },\n !isString(Inner)\n ? {\n default: () => children,\n }\n : children\n ),\n ]\n }\n\n const renderWindow = () => {\n const Container = resolveDynamicComponent(\n props.containerElement\n ) as VNode\n const { horizontalScrollbar, verticalScrollbar } = renderScrollbars()\n const Inner = renderInner()\n\n return h(\n 'div',\n {\n key: 0,\n class: ns.e('wrapper'),\n role: props.role,\n },\n [\n h(\n Container,\n {\n class: props.className,\n style: unref(windowStyle),\n onScroll,\n onWheel,\n ref: windowRef,\n },\n !isString(Container) ? { default: () => Inner } : Inner\n ),\n horizontalScrollbar,\n verticalScrollbar,\n ]\n )\n }\n\n return renderWindow\n },\n })\n}\n\nexport default createGrid\n\ntype Dir = typeof FORWARD | typeof BACKWARD\n\nexport type GridInstance = InstanceType<ReturnType<typeof createGrid>> &\n UnwrapRef<{\n windowRef: Ref<HTMLElement>\n innerRef: Ref<HTMLElement>\n getItemStyleCache: ReturnType<typeof useCache>\n scrollTo: (scrollOptions: GridScrollOptions) => void\n scrollToItem: (\n rowIndex: number,\n columnIndex: number,\n alignment: Alignment\n ) => void\n states: Ref<{\n isScrolling: boolean\n scrollLeft: number\n scrollTop: number\n updateRequested: boolean\n xAxisScrollDir: Dir\n yAxisScrollDir: Dir\n }>\n }>\n"],"names":["defineComponent","virtualizedGridProps","ITEM_RENDER_EVT","SCROLL_EVT","useNamespace","getCurrentInstance","ref","isNumber","FORWARD","useCache","computed","unref","BACKWARD","isRTL","getRTLOffsetType","RTL_OFFSET_NAG","RTL_OFFSET_POS_DESC","getScrollDir","nextTick","useGridWheel","AUTO_ALIGNMENT","getScrollBarWidth","hasOwn","onMounted","isClient","RTL","RTL_OFFSET_POS_ASC","h","Scrollbar","resolveDynamicComponent","isString"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build-grid.js","sources":["../../../../../../../packages/components/virtual-list/src/builders/build-grid.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n nextTick,\n onMounted,\n ref,\n resolveDynamicComponent,\n unref,\n} from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport {\n getScrollBarWidth,\n hasOwn,\n isClient,\n isNumber,\n isString,\n} from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport Scrollbar from '../components/scrollbar'\nimport { useGridWheel } from '../hooks/use-grid-wheel'\nimport { useCache } from '../hooks/use-cache'\nimport { virtualizedGridProps } from '../props'\nimport { getRTLOffsetType, getScrollDir, isRTL } from '../utils'\nimport {\n AUTO_ALIGNMENT,\n BACKWARD,\n FORWARD,\n ITEM_RENDER_EVT,\n RTL,\n RTL_OFFSET_NAG,\n RTL_OFFSET_POS_ASC,\n RTL_OFFSET_POS_DESC,\n SCROLL_EVT,\n} from '../defaults'\nimport type {\n CSSProperties,\n Ref,\n StyleValue,\n UnwrapRef,\n VNode,\n VNodeChild,\n} from 'vue'\nimport type {\n Alignment,\n GridConstructorProps,\n GridScrollOptions,\n ScrollbarExpose,\n} from '../types'\nimport type { VirtualizedGridProps } from '../props'\n\nconst createGrid = ({\n name,\n clearCache,\n getColumnPosition,\n getColumnStartIndexForOffset,\n getColumnStopIndexForStartIndex,\n getEstimatedTotalHeight,\n getEstimatedTotalWidth,\n getColumnOffset,\n getRowOffset,\n getRowPosition,\n getRowStartIndexForOffset,\n getRowStopIndexForStartIndex,\n\n initCache,\n injectToInstance,\n validateProps,\n}: GridConstructorProps<VirtualizedGridProps>) => {\n return defineComponent({\n name: name ?? 'ElVirtualList',\n props: virtualizedGridProps,\n emits: [ITEM_RENDER_EVT, SCROLL_EVT],\n setup(props, { emit, expose, slots }) {\n const ns = useNamespace('vl')\n\n validateProps(props)\n const instance = getCurrentInstance()!\n const cache = ref(initCache(props, instance))\n injectToInstance?.(instance, cache)\n // refs\n // here windowRef and innerRef can be type of HTMLElement\n // or user defined component type, depends on the type passed\n // by user\n const windowRef = ref<HTMLElement>()\n const hScrollbar = ref<ScrollbarExpose>()\n const vScrollbar = ref<ScrollbarExpose>()\n // innerRef is the actual container element which contains all the elements\n const innerRef = ref(null)\n const states = ref({\n isScrolling: false,\n scrollLeft: isNumber(props.initScrollLeft) ? props.initScrollLeft : 0,\n scrollTop: isNumber(props.initScrollTop) ? props.initScrollTop : 0,\n updateRequested: false,\n xAxisScrollDir: FORWARD,\n yAxisScrollDir: FORWARD,\n })\n\n const getItemStyleCache = useCache()\n\n // computed\n const parsedHeight = computed(() =>\n Number.parseInt(`${props.height}`, 10)\n )\n const parsedWidth = computed(() => Number.parseInt(`${props.width}`, 10))\n const columnsToRender = computed(() => {\n const { totalColumn, totalRow, columnCache } = props\n const { isScrolling, xAxisScrollDir, scrollLeft } = unref(states)\n\n if (totalColumn === 0 || totalRow === 0) {\n return [0, 0, 0, 0]\n }\n\n const startIndex = getColumnStartIndexForOffset(\n props,\n scrollLeft,\n unref(cache)\n )\n const stopIndex = getColumnStopIndexForStartIndex(\n props,\n startIndex,\n scrollLeft,\n unref(cache)\n )\n\n const cacheBackward =\n !isScrolling || xAxisScrollDir === BACKWARD\n ? Math.max(1, columnCache)\n : 1\n const cacheForward =\n !isScrolling || xAxisScrollDir === FORWARD\n ? Math.max(1, columnCache)\n : 1\n\n return [\n Math.max(0, startIndex - cacheBackward),\n Math.max(0, Math.min(totalColumn! - 1, stopIndex + cacheForward)),\n startIndex,\n stopIndex,\n ]\n })\n\n const rowsToRender = computed(() => {\n const { totalColumn, totalRow, rowCache } = props\n const { isScrolling, yAxisScrollDir, scrollTop } = unref(states)\n\n if (totalColumn === 0 || totalRow === 0) {\n return [0, 0, 0, 0]\n }\n\n const startIndex = getRowStartIndexForOffset(\n props,\n scrollTop,\n unref(cache)\n )\n const stopIndex = getRowStopIndexForStartIndex(\n props,\n startIndex,\n scrollTop,\n unref(cache)\n )\n\n const cacheBackward =\n !isScrolling || yAxisScrollDir === BACKWARD\n ? Math.max(1, rowCache)\n : 1\n const cacheForward =\n !isScrolling || yAxisScrollDir === FORWARD ? Math.max(1, rowCache) : 1\n\n return [\n Math.max(0, startIndex - cacheBackward),\n Math.max(0, Math.min(totalRow! - 1, stopIndex + cacheForward)),\n startIndex,\n stopIndex,\n ]\n })\n\n const estimatedTotalHeight = computed(() =>\n getEstimatedTotalHeight(props, unref(cache))\n )\n const estimatedTotalWidth = computed(() =>\n getEstimatedTotalWidth(props, unref(cache))\n )\n\n const windowStyle = computed<StyleValue>(() => [\n {\n position: 'relative',\n overflow: 'hidden',\n WebkitOverflowScrolling: 'touch',\n willChange: 'transform',\n },\n {\n direction: props.direction,\n height: isNumber(props.height) ? `${props.height}px` : props.height,\n width: isNumber(props.width) ? `${props.width}px` : props.width,\n },\n props.style ?? {},\n ])\n\n const innerStyle = computed(() => {\n const width = `${unref(estimatedTotalWidth)}px`\n const height = `${unref(estimatedTotalHeight)}px`\n\n return {\n height,\n pointerEvents: unref(states).isScrolling ? 'none' : undefined,\n width,\n }\n })\n\n // methods\n const emitEvents = () => {\n const { totalColumn, totalRow } = props\n\n if (totalColumn! > 0 && totalRow! > 0) {\n const [\n columnCacheStart,\n columnCacheEnd,\n columnVisibleStart,\n columnVisibleEnd,\n ] = unref(columnsToRender)\n const [rowCacheStart, rowCacheEnd, rowVisibleStart, rowVisibleEnd] =\n unref(rowsToRender)\n // emit the render item event with\n // [xAxisInvisibleStart, xAxisInvisibleEnd, xAxisVisibleStart, xAxisVisibleEnd]\n // [yAxisInvisibleStart, yAxisInvisibleEnd, yAxisVisibleStart, yAxisVisibleEnd]\n emit(ITEM_RENDER_EVT, {\n columnCacheStart,\n columnCacheEnd,\n rowCacheStart,\n rowCacheEnd,\n columnVisibleStart,\n columnVisibleEnd,\n rowVisibleStart,\n rowVisibleEnd,\n })\n }\n\n const {\n scrollLeft,\n scrollTop,\n updateRequested,\n xAxisScrollDir,\n yAxisScrollDir,\n } = unref(states)\n emit(SCROLL_EVT, {\n xAxisScrollDir,\n scrollLeft,\n yAxisScrollDir,\n scrollTop,\n updateRequested,\n })\n }\n\n const onScroll = (e: Event) => {\n const {\n clientHeight,\n clientWidth,\n scrollHeight,\n scrollLeft,\n scrollTop,\n scrollWidth,\n } = e.currentTarget as HTMLElement\n\n const _states = unref(states)\n\n if (\n _states.scrollTop === scrollTop &&\n _states.scrollLeft === scrollLeft\n ) {\n return\n }\n\n let _scrollLeft = scrollLeft\n\n if (isRTL(props.direction)) {\n switch (getRTLOffsetType()) {\n case RTL_OFFSET_NAG:\n _scrollLeft = -scrollLeft\n break\n case RTL_OFFSET_POS_DESC:\n _scrollLeft = scrollWidth - clientWidth - scrollLeft\n break\n }\n }\n\n states.value = {\n ..._states,\n isScrolling: true,\n scrollLeft: _scrollLeft,\n scrollTop: Math.max(\n 0,\n Math.min(scrollTop, scrollHeight - clientHeight)\n ),\n updateRequested: true,\n xAxisScrollDir: getScrollDir(_states.scrollLeft, _scrollLeft),\n yAxisScrollDir: getScrollDir(_states.scrollTop, scrollTop),\n }\n\n nextTick(() => resetIsScrolling())\n\n onUpdated()\n emitEvents()\n }\n\n const onVerticalScroll = (distance: number, totalSteps: number) => {\n const height = unref(parsedHeight)\n const offset =\n ((estimatedTotalHeight.value - height) / totalSteps) * distance\n scrollTo({\n scrollTop: Math.min(estimatedTotalHeight.value - height, offset),\n })\n }\n\n const onHorizontalScroll = (distance: number, totalSteps: number) => {\n const width = unref(parsedWidth)\n const offset =\n ((estimatedTotalWidth.value - width) / totalSteps) * distance\n scrollTo({\n scrollLeft: Math.min(estimatedTotalWidth.value - width, offset),\n })\n }\n\n const { onWheel } = useGridWheel(\n {\n atXStartEdge: computed(() => states.value.scrollLeft <= 0),\n atXEndEdge: computed(\n () =>\n states.value.scrollLeft >=\n estimatedTotalWidth.value - unref(parsedWidth)\n ),\n atYStartEdge: computed(() => states.value.scrollTop <= 0),\n atYEndEdge: computed(\n () =>\n states.value.scrollTop >=\n estimatedTotalHeight.value - unref(parsedHeight)\n ),\n },\n (x: number, y: number) => {\n hScrollbar.value?.onMouseUp?.()\n vScrollbar.value?.onMouseUp?.()\n const width = unref(parsedWidth)\n const height = unref(parsedHeight)\n scrollTo({\n scrollLeft: Math.min(\n states.value.scrollLeft + x,\n estimatedTotalWidth.value - width\n ),\n scrollTop: Math.min(\n states.value.scrollTop + y,\n estimatedTotalHeight.value - height\n ),\n })\n }\n )\n\n useEventListener(windowRef, 'wheel', onWheel, {\n passive: false,\n })\n\n const scrollTo = ({\n scrollLeft = states.value.scrollLeft,\n scrollTop = states.value.scrollTop,\n }: GridScrollOptions) => {\n scrollLeft = Math.max(scrollLeft, 0)\n scrollTop = Math.max(scrollTop, 0)\n const _states = unref(states)\n if (\n scrollTop === _states.scrollTop &&\n scrollLeft === _states.scrollLeft\n ) {\n return\n }\n\n states.value = {\n ..._states,\n xAxisScrollDir: getScrollDir(_states.scrollLeft, scrollLeft),\n yAxisScrollDir: getScrollDir(_states.scrollTop, scrollTop),\n scrollLeft,\n scrollTop,\n updateRequested: true,\n }\n\n nextTick(() => resetIsScrolling())\n\n onUpdated()\n emitEvents()\n }\n\n const scrollToItem = (\n rowIndex = 0,\n columnIdx = 0,\n alignment: Alignment = AUTO_ALIGNMENT\n ) => {\n const _states = unref(states)\n columnIdx = Math.max(0, Math.min(columnIdx, props.totalColumn! - 1))\n rowIndex = Math.max(0, Math.min(rowIndex, props.totalRow! - 1))\n const scrollBarWidth = getScrollBarWidth(ns.namespace.value)\n\n const _cache = unref(cache)\n const estimatedHeight = getEstimatedTotalHeight(props, _cache)\n const estimatedWidth = getEstimatedTotalWidth(props, _cache)\n\n scrollTo({\n scrollLeft: getColumnOffset(\n props,\n columnIdx,\n alignment,\n _states.scrollLeft,\n _cache,\n estimatedWidth > props.width! ? scrollBarWidth : 0\n ),\n scrollTop: getRowOffset(\n props,\n rowIndex,\n alignment,\n _states.scrollTop,\n _cache,\n estimatedHeight > props.height! ? scrollBarWidth : 0\n ),\n })\n }\n\n const getItemStyle = (\n rowIndex: number,\n columnIndex: number\n ): CSSProperties => {\n const { columnWidth, direction, rowHeight } = props\n const itemStyleCache = getItemStyleCache.value(\n clearCache && columnWidth,\n clearCache && rowHeight,\n clearCache && direction\n )\n // since there was no need to introduce an nested array into cache object\n // we use row,column to construct the key for indexing the map.\n const key = `${rowIndex},${columnIndex}`\n\n if (hasOwn(itemStyleCache, key)) {\n return itemStyleCache[key]\n } else {\n const [, left] = getColumnPosition(props, columnIndex, unref(cache))\n const _cache = unref(cache)\n\n const rtl = isRTL(direction)\n const [height, top] = getRowPosition(props, rowIndex, _cache)\n const [width] = getColumnPosition(props, columnIndex, _cache)\n\n itemStyleCache[key] = {\n position: 'absolute',\n left: rtl ? undefined : `${left}px`,\n right: rtl ? `${left}px` : undefined,\n top: `${top}px`,\n height: `${height}px`,\n width: `${width}px`,\n }\n\n return itemStyleCache[key]\n }\n }\n\n // TODO: debounce setting is scrolling.\n\n const resetIsScrolling = () => {\n // timer = null\n\n states.value.isScrolling = false\n nextTick(() => {\n getItemStyleCache.value(-1, null, null)\n })\n }\n\n // life cycles\n onMounted(() => {\n // for SSR\n if (!isClient) return\n const { initScrollLeft, initScrollTop } = props\n const windowElement = unref(windowRef)\n if (windowElement) {\n if (isNumber(initScrollLeft)) {\n windowElement.scrollLeft = initScrollLeft\n }\n if (isNumber(initScrollTop)) {\n windowElement.scrollTop = initScrollTop\n }\n }\n emitEvents()\n })\n\n const onUpdated = () => {\n const { direction } = props\n const { scrollLeft, scrollTop, updateRequested } = unref(states)\n\n const windowElement = unref(windowRef)\n if (updateRequested && windowElement) {\n if (direction === RTL) {\n switch (getRTLOffsetType()) {\n case RTL_OFFSET_NAG: {\n windowElement.scrollLeft = -scrollLeft\n break\n }\n case RTL_OFFSET_POS_ASC: {\n windowElement.scrollLeft = scrollLeft\n break\n }\n default: {\n const { clientWidth, scrollWidth } = windowElement\n windowElement.scrollLeft =\n scrollWidth - clientWidth - scrollLeft\n break\n }\n }\n } else {\n windowElement.scrollLeft = Math.max(0, scrollLeft)\n }\n\n windowElement.scrollTop = Math.max(0, scrollTop)\n }\n }\n\n const { resetAfterColumnIndex, resetAfterRowIndex, resetAfter } =\n instance.proxy as any\n\n expose({\n windowRef,\n innerRef,\n getItemStyleCache,\n scrollTo,\n scrollToItem,\n states,\n resetAfterColumnIndex,\n resetAfterRowIndex,\n resetAfter,\n })\n\n // rendering part\n\n const renderScrollbars = () => {\n const {\n scrollbarAlwaysOn,\n scrollbarStartGap,\n scrollbarEndGap,\n totalColumn,\n totalRow,\n } = props\n\n const width = unref(parsedWidth)\n const height = unref(parsedHeight)\n const estimatedWidth = unref(estimatedTotalWidth)\n const estimatedHeight = unref(estimatedTotalHeight)\n const { scrollLeft, scrollTop } = unref(states)\n const horizontalScrollbar = h(Scrollbar, {\n ref: hScrollbar,\n alwaysOn: scrollbarAlwaysOn,\n startGap: scrollbarStartGap,\n endGap: scrollbarEndGap,\n class: ns.e('horizontal'),\n clientSize: width,\n layout: 'horizontal',\n onScroll: onHorizontalScroll,\n ratio: (width * 100) / estimatedWidth,\n scrollFrom: scrollLeft / (estimatedWidth - width),\n total: totalRow,\n visible: true,\n })\n\n const verticalScrollbar = h(Scrollbar, {\n ref: vScrollbar,\n alwaysOn: scrollbarAlwaysOn,\n startGap: scrollbarStartGap,\n endGap: scrollbarEndGap,\n class: ns.e('vertical'),\n clientSize: height,\n layout: 'vertical',\n onScroll: onVerticalScroll,\n ratio: (height * 100) / estimatedHeight,\n scrollFrom: scrollTop / (estimatedHeight - height),\n\n total: totalColumn,\n visible: true,\n })\n\n return {\n horizontalScrollbar,\n verticalScrollbar,\n }\n }\n\n const renderItems = () => {\n const [columnStart, columnEnd] = unref(columnsToRender)\n const [rowStart, rowEnd] = unref(rowsToRender)\n const { data, totalColumn, totalRow, useIsScrolling, itemKey } = props\n const children: VNodeChild[] = []\n if (totalRow > 0 && totalColumn > 0) {\n for (let row = rowStart; row <= rowEnd; row++) {\n for (let column = columnStart; column <= columnEnd; column++) {\n children.push(\n slots.default?.({\n columnIndex: column,\n data,\n key: itemKey({ columnIndex: column, data, rowIndex: row }),\n isScrolling: useIsScrolling\n ? unref(states).isScrolling\n : undefined,\n style: getItemStyle(row, column),\n rowIndex: row,\n })\n )\n }\n }\n }\n return children\n }\n\n const renderInner = () => {\n const Inner = resolveDynamicComponent(props.innerElement) as VNode\n const children = renderItems()\n return [\n h(\n Inner,\n {\n style: unref(innerStyle),\n ref: innerRef,\n },\n !isString(Inner)\n ? {\n default: () => children,\n }\n : children\n ),\n ]\n }\n\n const renderWindow = () => {\n const Container = resolveDynamicComponent(\n props.containerElement\n ) as VNode\n const { horizontalScrollbar, verticalScrollbar } = renderScrollbars()\n const Inner = renderInner()\n\n return h(\n 'div',\n {\n key: 0,\n class: ns.e('wrapper'),\n role: props.role,\n },\n [\n h(\n Container,\n {\n class: props.className,\n style: unref(windowStyle),\n onScroll,\n ref: windowRef,\n },\n !isString(Container) ? { default: () => Inner } : Inner\n ),\n horizontalScrollbar,\n verticalScrollbar,\n ]\n )\n }\n\n return renderWindow\n },\n })\n}\n\nexport default createGrid\n\ntype Dir = typeof FORWARD | typeof BACKWARD\n\nexport type GridInstance = InstanceType<ReturnType<typeof createGrid>> &\n UnwrapRef<{\n windowRef: Ref<HTMLElement>\n innerRef: Ref<HTMLElement>\n getItemStyleCache: ReturnType<typeof useCache>\n scrollTo: (scrollOptions: GridScrollOptions) => void\n scrollToItem: (\n rowIndex: number,\n columnIndex: number,\n alignment: Alignment\n ) => void\n states: Ref<{\n isScrolling: boolean\n scrollLeft: number\n scrollTop: number\n updateRequested: boolean\n xAxisScrollDir: Dir\n yAxisScrollDir: Dir\n }>\n }>\n"],"names":["defineComponent","virtualizedGridProps","ITEM_RENDER_EVT","SCROLL_EVT","useNamespace","getCurrentInstance","ref","isNumber","FORWARD","useCache","computed","unref","BACKWARD","isRTL","getRTLOffsetType","RTL_OFFSET_NAG","RTL_OFFSET_POS_DESC","getScrollDir","nextTick","useGridWheel","useEventListener","AUTO_ALIGNMENT","getScrollBarWidth","hasOwn","onMounted","isClient","RTL","RTL_OFFSET_POS_ASC","h","Scrollbar","resolveDynamicComponent","isString"],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
|
+
var core = require('@vueuse/core');
|
|
6
7
|
require('../../../../utils/index.js');
|
|
7
8
|
require('../../../../hooks/index.js');
|
|
8
9
|
var useCache = require('../hooks/use-cache.js');
|
|
@@ -14,7 +15,6 @@ var defaults = require('../defaults.js');
|
|
|
14
15
|
var index = require('../../../../hooks/use-namespace/index.js');
|
|
15
16
|
var types = require('../../../../utils/types.js');
|
|
16
17
|
var shared = require('@vue/shared');
|
|
17
|
-
var core = require('@vueuse/core');
|
|
18
18
|
|
|
19
19
|
const createList = ({
|
|
20
20
|
name,
|
|
@@ -102,6 +102,9 @@ const createList = ({
|
|
|
102
102
|
(_b = (_a = scrollbarRef.value).onMouseUp) == null ? void 0 : _b.call(_a);
|
|
103
103
|
scrollTo(Math.min(states.value.scrollOffset + offset, estimatedTotalSize.value - clientSize.value));
|
|
104
104
|
});
|
|
105
|
+
core.useEventListener(windowRef, "wheel", onWheel, {
|
|
106
|
+
passive: false
|
|
107
|
+
});
|
|
105
108
|
const emitEvents = () => {
|
|
106
109
|
const { total } = props;
|
|
107
110
|
if (total > 0) {
|
|
@@ -311,7 +314,6 @@ const createList = ({
|
|
|
311
314
|
total,
|
|
312
315
|
onScroll,
|
|
313
316
|
onScrollbarScroll,
|
|
314
|
-
onWheel,
|
|
315
317
|
states,
|
|
316
318
|
useIsScrolling,
|
|
317
319
|
windowStyle,
|
|
@@ -353,7 +355,6 @@ const createList = ({
|
|
|
353
355
|
class: [ns.e("window"), className],
|
|
354
356
|
style: windowStyle,
|
|
355
357
|
onScroll,
|
|
356
|
-
onWheel,
|
|
357
358
|
ref: "windowRef",
|
|
358
359
|
key: 0
|
|
359
360
|
}, !shared.isString(Container) ? { default: () => [InnerNode] } : [InnerNode]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-list.js","sources":["../../../../../../../packages/components/virtual-list/src/builders/build-list.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n nextTick,\n onActivated,\n onMounted,\n onUpdated,\n ref,\n resolveDynamicComponent,\n unref,\n} from 'vue'\nimport { hasOwn, isClient, isNumber, isString } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useCache } from '../hooks/use-cache'\nimport useWheel from '../hooks/use-wheel'\nimport Scrollbar from '../components/scrollbar'\nimport { getRTLOffsetType, getScrollDir, isHorizontal } from '../utils'\nimport { virtualizedListProps } from '../props'\nimport {\n AUTO_ALIGNMENT,\n BACKWARD,\n FORWARD,\n HORIZONTAL,\n ITEM_RENDER_EVT,\n RTL,\n RTL_OFFSET_NAG,\n RTL_OFFSET_POS_ASC,\n RTL_OFFSET_POS_DESC,\n SCROLL_EVT,\n} from '../defaults'\n\nimport type { CSSProperties, Slot, VNode, VNodeChild } from 'vue'\nimport type { Alignment, ListConstructorProps } from '../types'\nimport type { VirtualizedListProps } from '../props'\n\nconst createList = ({\n name,\n getOffset,\n getItemSize,\n getItemOffset,\n getEstimatedTotalSize,\n getStartIndexForOffset,\n getStopIndexForStartIndex,\n initCache,\n clearCache,\n validateProps,\n}: ListConstructorProps<VirtualizedListProps>) => {\n return defineComponent({\n name: name ?? 'ElVirtualList',\n props: virtualizedListProps,\n emits: [ITEM_RENDER_EVT, SCROLL_EVT],\n setup(props, { emit, expose }) {\n validateProps(props)\n const instance = getCurrentInstance()!\n\n const ns = useNamespace('vl')\n\n const dynamicSizeCache = ref(initCache(props, instance))\n\n const getItemStyleCache = useCache()\n // refs\n // here windowRef and innerRef can be type of HTMLElement\n // or user defined component type, depends on the type passed\n // by user\n const windowRef = ref<HTMLElement>()\n const innerRef = ref<HTMLElement>()\n const scrollbarRef = ref()\n const states = ref({\n isScrolling: false,\n scrollDir: 'forward',\n scrollOffset: isNumber(props.initScrollOffset)\n ? props.initScrollOffset\n : 0,\n updateRequested: false,\n isScrollbarDragging: false,\n scrollbarAlwaysOn: props.scrollbarAlwaysOn,\n })\n\n // computed\n const itemsToRender = computed(() => {\n const { total, cache } = props\n const { isScrolling, scrollDir, scrollOffset } = unref(states)\n\n if (total === 0) {\n return [0, 0, 0, 0]\n }\n\n const startIndex = getStartIndexForOffset(\n props,\n scrollOffset,\n unref(dynamicSizeCache)\n )\n const stopIndex = getStopIndexForStartIndex(\n props,\n startIndex,\n scrollOffset,\n unref(dynamicSizeCache)\n )\n\n const cacheBackward =\n !isScrolling || scrollDir === BACKWARD ? Math.max(1, cache) : 1\n const cacheForward =\n !isScrolling || scrollDir === FORWARD ? Math.max(1, cache) : 1\n\n return [\n Math.max(0, startIndex - cacheBackward),\n Math.max(0, Math.min(total! - 1, stopIndex + cacheForward)),\n startIndex,\n stopIndex,\n ]\n })\n\n const estimatedTotalSize = computed(() =>\n getEstimatedTotalSize(props, unref(dynamicSizeCache))\n )\n\n const _isHorizontal = computed(() => isHorizontal(props.layout))\n\n const windowStyle = computed(() => [\n {\n position: 'relative',\n [`overflow-${_isHorizontal.value ? 'x' : 'y'}`]: 'scroll',\n WebkitOverflowScrolling: 'touch',\n willChange: 'transform',\n },\n {\n direction: props.direction,\n height: isNumber(props.height) ? `${props.height}px` : props.height,\n width: isNumber(props.width) ? `${props.width}px` : props.width,\n },\n props.style,\n ])\n\n const innerStyle = computed(() => {\n const size = unref(estimatedTotalSize)\n const horizontal = unref(_isHorizontal)\n return {\n height: horizontal ? '100%' : `${size}px`,\n pointerEvents: unref(states).isScrolling ? 'none' : undefined,\n width: horizontal ? `${size}px` : '100%',\n }\n })\n\n const clientSize = computed(() =>\n _isHorizontal.value ? props.width : props.height\n )\n\n // methods\n const { onWheel } = useWheel(\n {\n atStartEdge: computed(() => states.value.scrollOffset <= 0),\n atEndEdge: computed(\n () => states.value.scrollOffset >= estimatedTotalSize.value\n ),\n layout: computed(() => props.layout),\n },\n (offset) => {\n ;(\n scrollbarRef.value as any as {\n onMouseUp: () => void\n }\n ).onMouseUp?.()\n scrollTo(\n Math.min(\n states.value.scrollOffset + offset,\n estimatedTotalSize.value - (clientSize.value as number)\n )\n )\n }\n )\n\n const emitEvents = () => {\n const { total } = props\n\n if (total! > 0) {\n const [cacheStart, cacheEnd, visibleStart, visibleEnd] =\n unref(itemsToRender)\n emit(ITEM_RENDER_EVT, cacheStart, cacheEnd, visibleStart, visibleEnd)\n }\n\n const { scrollDir, scrollOffset, updateRequested } = unref(states)\n emit(SCROLL_EVT, scrollDir, scrollOffset, updateRequested)\n }\n\n const scrollVertically = (e: Event) => {\n const { clientHeight, scrollHeight, scrollTop } =\n e.currentTarget as HTMLElement\n const _states = unref(states)\n if (_states.scrollOffset === scrollTop) {\n return\n }\n\n const scrollOffset = Math.max(\n 0,\n Math.min(scrollTop, scrollHeight - clientHeight)\n )\n\n states.value = {\n ..._states,\n isScrolling: true,\n scrollDir: getScrollDir(_states.scrollOffset, scrollOffset),\n scrollOffset,\n updateRequested: false,\n }\n\n nextTick(resetIsScrolling)\n }\n\n const scrollHorizontally = (e: Event) => {\n const { clientWidth, scrollLeft, scrollWidth } =\n e.currentTarget as HTMLElement\n const _states = unref(states)\n\n if (_states.scrollOffset === scrollLeft) {\n return\n }\n\n const { direction } = props\n\n let scrollOffset = scrollLeft\n\n if (direction === RTL) {\n // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // It's also easier for this component if we convert offsets to the same format as they would be in for ltr.\n // So the simplest solution is to determine which browser behavior we're dealing with, and convert based on it.\n switch (getRTLOffsetType()) {\n case RTL_OFFSET_NAG: {\n scrollOffset = -scrollLeft\n break\n }\n case RTL_OFFSET_POS_DESC: {\n scrollOffset = scrollWidth - clientWidth - scrollLeft\n break\n }\n }\n }\n\n scrollOffset = Math.max(\n 0,\n Math.min(scrollOffset, scrollWidth - clientWidth)\n )\n\n states.value = {\n ..._states,\n isScrolling: true,\n scrollDir: getScrollDir(_states.scrollOffset, scrollOffset),\n scrollOffset,\n updateRequested: false,\n }\n\n nextTick(resetIsScrolling)\n }\n\n const onScroll = (e: Event) => {\n unref(_isHorizontal) ? scrollHorizontally(e) : scrollVertically(e)\n emitEvents()\n }\n\n const onScrollbarScroll = (distanceToGo: number, totalSteps: number) => {\n const offset =\n ((estimatedTotalSize.value - (clientSize.value as number)) /\n totalSteps) *\n distanceToGo\n scrollTo(\n Math.min(\n estimatedTotalSize.value - (clientSize.value as number),\n offset\n )\n )\n }\n\n const scrollTo = (offset: number) => {\n offset = Math.max(offset, 0)\n\n if (offset === unref(states).scrollOffset) {\n return\n }\n\n states.value = {\n ...unref(states),\n scrollOffset: offset,\n scrollDir: getScrollDir(unref(states).scrollOffset, offset),\n updateRequested: true,\n }\n\n nextTick(resetIsScrolling)\n }\n\n const scrollToItem = (\n idx: number,\n alignment: Alignment = AUTO_ALIGNMENT\n ) => {\n const { scrollOffset } = unref(states)\n\n idx = Math.max(0, Math.min(idx, props.total! - 1))\n scrollTo(\n getOffset(\n props,\n idx,\n alignment,\n scrollOffset,\n unref(dynamicSizeCache)\n )\n )\n }\n\n const getItemStyle = (idx: number) => {\n const { direction, itemSize, layout } = props\n\n const itemStyleCache = getItemStyleCache.value(\n clearCache && itemSize,\n clearCache && layout,\n clearCache && direction\n )\n\n let style: CSSProperties\n if (hasOwn(itemStyleCache, String(idx))) {\n style = itemStyleCache[idx]\n } else {\n const offset = getItemOffset(props, idx, unref(dynamicSizeCache))\n const size = getItemSize(props, idx, unref(dynamicSizeCache))\n const horizontal = unref(_isHorizontal)\n\n const isRtl = direction === RTL\n const offsetHorizontal = horizontal ? offset : 0\n itemStyleCache[idx] = style = {\n position: 'absolute',\n left: isRtl ? undefined : `${offsetHorizontal}px`,\n right: isRtl ? `${offsetHorizontal}px` : undefined,\n top: !horizontal ? `${offset}px` : 0,\n height: !horizontal ? `${size}px` : '100%',\n width: horizontal ? `${size}px` : '100%',\n }\n }\n\n return style\n }\n\n // TODO:\n // perf optimization here, reset isScrolling with debounce.\n\n const resetIsScrolling = () => {\n // timer = null\n\n states.value.isScrolling = false\n nextTick(() => {\n getItemStyleCache.value(-1, null, null)\n })\n }\n\n const resetScrollTop = () => {\n const window = windowRef.value\n if (window) {\n window.scrollTop = 0\n }\n }\n\n // life cycles\n onMounted(() => {\n if (!isClient) return\n const { initScrollOffset } = props\n const windowElement = unref(windowRef)\n if (isNumber(initScrollOffset) && windowElement) {\n if (unref(_isHorizontal)) {\n windowElement.scrollLeft = initScrollOffset\n } else {\n windowElement.scrollTop = initScrollOffset\n }\n }\n\n emitEvents()\n })\n\n onUpdated(() => {\n const { direction, layout } = props\n const { scrollOffset, updateRequested } = unref(states)\n const windowElement = unref(windowRef)\n\n if (updateRequested && windowElement) {\n if (layout === HORIZONTAL) {\n if (direction === RTL) {\n // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // So we need to determine which browser behavior we're dealing with, and mimic it.\n switch (getRTLOffsetType()) {\n case RTL_OFFSET_NAG: {\n windowElement.scrollLeft = -scrollOffset\n break\n }\n case RTL_OFFSET_POS_ASC: {\n windowElement.scrollLeft = scrollOffset\n break\n }\n default: {\n const { clientWidth, scrollWidth } = windowElement\n windowElement.scrollLeft =\n scrollWidth - clientWidth - scrollOffset\n break\n }\n }\n } else {\n windowElement.scrollLeft = scrollOffset\n }\n } else {\n windowElement.scrollTop = scrollOffset\n }\n }\n })\n\n onActivated(() => {\n unref(windowRef).scrollTop = unref(states).scrollOffset\n })\n\n const api = {\n ns,\n clientSize,\n estimatedTotalSize,\n windowStyle,\n windowRef,\n innerRef,\n innerStyle,\n itemsToRender,\n scrollbarRef,\n states,\n getItemStyle,\n onScroll,\n onScrollbarScroll,\n onWheel,\n scrollTo,\n scrollToItem,\n resetScrollTop,\n }\n\n expose({\n windowRef,\n innerRef,\n getItemStyleCache,\n scrollTo,\n scrollToItem,\n resetScrollTop,\n states,\n })\n\n return api\n },\n\n render(ctx: any) {\n const {\n $slots,\n className,\n clientSize,\n containerElement,\n data,\n getItemStyle,\n innerElement,\n itemsToRender,\n innerStyle,\n layout,\n total,\n onScroll,\n onScrollbarScroll,\n onWheel,\n states,\n useIsScrolling,\n windowStyle,\n ns,\n } = ctx\n\n const [start, end] = itemsToRender\n\n const Container = resolveDynamicComponent(containerElement)\n const Inner = resolveDynamicComponent(innerElement)\n\n const children = [] as VNodeChild[]\n\n if (total > 0) {\n for (let i = start; i <= end; i++) {\n children.push(\n ($slots.default as Slot)?.({\n data,\n key: i,\n index: i,\n isScrolling: useIsScrolling ? states.isScrolling : undefined,\n style: getItemStyle(i),\n })\n )\n }\n }\n\n const InnerNode = [\n h(\n Inner as VNode,\n {\n style: innerStyle,\n ref: 'innerRef',\n },\n !isString(Inner)\n ? {\n default: () => children,\n }\n : children\n ),\n ]\n\n const scrollbar = h(Scrollbar, {\n ref: 'scrollbarRef',\n clientSize,\n layout,\n onScroll: onScrollbarScroll,\n ratio: (clientSize * 100) / this.estimatedTotalSize,\n scrollFrom:\n states.scrollOffset / (this.estimatedTotalSize - clientSize),\n total,\n })\n\n const listContainer = h(\n Container as VNode,\n {\n class: [ns.e('window'), className],\n style: windowStyle,\n onScroll,\n onWheel,\n ref: 'windowRef',\n key: 0,\n },\n !isString(Container) ? { default: () => [InnerNode] } : [InnerNode]\n )\n\n return h(\n 'div',\n {\n key: 0,\n class: [ns.e('wrapper'), states.scrollbarAlwaysOn ? 'always-on' : ''],\n },\n [listContainer, scrollbar]\n )\n },\n })\n}\n\nexport default createList\n"],"names":["defineComponent","virtualizedListProps","ITEM_RENDER_EVT","SCROLL_EVT","getCurrentInstance","useNamespace","ref","useCache","isNumber","computed","unref","BACKWARD","FORWARD","isHorizontal","useWheel","getScrollDir","nextTick","RTL","getRTLOffsetType","RTL_OFFSET_NAG","RTL_OFFSET_POS_DESC","AUTO_ALIGNMENT","hasOwn","onMounted","isClient","onUpdated","HORIZONTAL","RTL_OFFSET_POS_ASC","onActivated","resolveDynamicComponent","h","isString","scrollbar","Scrollbar"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build-list.js","sources":["../../../../../../../packages/components/virtual-list/src/builders/build-list.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n nextTick,\n onActivated,\n onMounted,\n onUpdated,\n ref,\n resolveDynamicComponent,\n unref,\n} from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { hasOwn, isClient, isNumber, isString } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useCache } from '../hooks/use-cache'\nimport useWheel from '../hooks/use-wheel'\nimport Scrollbar from '../components/scrollbar'\nimport { getRTLOffsetType, getScrollDir, isHorizontal } from '../utils'\nimport { virtualizedListProps } from '../props'\nimport {\n AUTO_ALIGNMENT,\n BACKWARD,\n FORWARD,\n HORIZONTAL,\n ITEM_RENDER_EVT,\n RTL,\n RTL_OFFSET_NAG,\n RTL_OFFSET_POS_ASC,\n RTL_OFFSET_POS_DESC,\n SCROLL_EVT,\n} from '../defaults'\n\nimport type { CSSProperties, Slot, VNode, VNodeChild } from 'vue'\nimport type { Alignment, ListConstructorProps } from '../types'\nimport type { VirtualizedListProps } from '../props'\n\nconst createList = ({\n name,\n getOffset,\n getItemSize,\n getItemOffset,\n getEstimatedTotalSize,\n getStartIndexForOffset,\n getStopIndexForStartIndex,\n initCache,\n clearCache,\n validateProps,\n}: ListConstructorProps<VirtualizedListProps>) => {\n return defineComponent({\n name: name ?? 'ElVirtualList',\n props: virtualizedListProps,\n emits: [ITEM_RENDER_EVT, SCROLL_EVT],\n setup(props, { emit, expose }) {\n validateProps(props)\n const instance = getCurrentInstance()!\n\n const ns = useNamespace('vl')\n\n const dynamicSizeCache = ref(initCache(props, instance))\n\n const getItemStyleCache = useCache()\n // refs\n // here windowRef and innerRef can be type of HTMLElement\n // or user defined component type, depends on the type passed\n // by user\n const windowRef = ref<HTMLElement>()\n const innerRef = ref<HTMLElement>()\n const scrollbarRef = ref()\n const states = ref({\n isScrolling: false,\n scrollDir: 'forward',\n scrollOffset: isNumber(props.initScrollOffset)\n ? props.initScrollOffset\n : 0,\n updateRequested: false,\n isScrollbarDragging: false,\n scrollbarAlwaysOn: props.scrollbarAlwaysOn,\n })\n\n // computed\n const itemsToRender = computed(() => {\n const { total, cache } = props\n const { isScrolling, scrollDir, scrollOffset } = unref(states)\n\n if (total === 0) {\n return [0, 0, 0, 0]\n }\n\n const startIndex = getStartIndexForOffset(\n props,\n scrollOffset,\n unref(dynamicSizeCache)\n )\n const stopIndex = getStopIndexForStartIndex(\n props,\n startIndex,\n scrollOffset,\n unref(dynamicSizeCache)\n )\n\n const cacheBackward =\n !isScrolling || scrollDir === BACKWARD ? Math.max(1, cache) : 1\n const cacheForward =\n !isScrolling || scrollDir === FORWARD ? Math.max(1, cache) : 1\n\n return [\n Math.max(0, startIndex - cacheBackward),\n Math.max(0, Math.min(total! - 1, stopIndex + cacheForward)),\n startIndex,\n stopIndex,\n ]\n })\n\n const estimatedTotalSize = computed(() =>\n getEstimatedTotalSize(props, unref(dynamicSizeCache))\n )\n\n const _isHorizontal = computed(() => isHorizontal(props.layout))\n\n const windowStyle = computed(() => [\n {\n position: 'relative',\n [`overflow-${_isHorizontal.value ? 'x' : 'y'}`]: 'scroll',\n WebkitOverflowScrolling: 'touch',\n willChange: 'transform',\n },\n {\n direction: props.direction,\n height: isNumber(props.height) ? `${props.height}px` : props.height,\n width: isNumber(props.width) ? `${props.width}px` : props.width,\n },\n props.style,\n ])\n\n const innerStyle = computed(() => {\n const size = unref(estimatedTotalSize)\n const horizontal = unref(_isHorizontal)\n return {\n height: horizontal ? '100%' : `${size}px`,\n pointerEvents: unref(states).isScrolling ? 'none' : undefined,\n width: horizontal ? `${size}px` : '100%',\n }\n })\n\n const clientSize = computed(() =>\n _isHorizontal.value ? props.width : props.height\n )\n\n // methods\n const { onWheel } = useWheel(\n {\n atStartEdge: computed(() => states.value.scrollOffset <= 0),\n atEndEdge: computed(\n () => states.value.scrollOffset >= estimatedTotalSize.value\n ),\n layout: computed(() => props.layout),\n },\n (offset) => {\n ;(\n scrollbarRef.value as any as {\n onMouseUp: () => void\n }\n ).onMouseUp?.()\n scrollTo(\n Math.min(\n states.value.scrollOffset + offset,\n estimatedTotalSize.value - (clientSize.value as number)\n )\n )\n }\n )\n\n useEventListener(windowRef, 'wheel', onWheel, {\n passive: false,\n })\n\n const emitEvents = () => {\n const { total } = props\n\n if (total! > 0) {\n const [cacheStart, cacheEnd, visibleStart, visibleEnd] =\n unref(itemsToRender)\n emit(ITEM_RENDER_EVT, cacheStart, cacheEnd, visibleStart, visibleEnd)\n }\n\n const { scrollDir, scrollOffset, updateRequested } = unref(states)\n emit(SCROLL_EVT, scrollDir, scrollOffset, updateRequested)\n }\n\n const scrollVertically = (e: Event) => {\n const { clientHeight, scrollHeight, scrollTop } =\n e.currentTarget as HTMLElement\n const _states = unref(states)\n if (_states.scrollOffset === scrollTop) {\n return\n }\n\n const scrollOffset = Math.max(\n 0,\n Math.min(scrollTop, scrollHeight - clientHeight)\n )\n\n states.value = {\n ..._states,\n isScrolling: true,\n scrollDir: getScrollDir(_states.scrollOffset, scrollOffset),\n scrollOffset,\n updateRequested: false,\n }\n\n nextTick(resetIsScrolling)\n }\n\n const scrollHorizontally = (e: Event) => {\n const { clientWidth, scrollLeft, scrollWidth } =\n e.currentTarget as HTMLElement\n const _states = unref(states)\n\n if (_states.scrollOffset === scrollLeft) {\n return\n }\n\n const { direction } = props\n\n let scrollOffset = scrollLeft\n\n if (direction === RTL) {\n // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // It's also easier for this component if we convert offsets to the same format as they would be in for ltr.\n // So the simplest solution is to determine which browser behavior we're dealing with, and convert based on it.\n switch (getRTLOffsetType()) {\n case RTL_OFFSET_NAG: {\n scrollOffset = -scrollLeft\n break\n }\n case RTL_OFFSET_POS_DESC: {\n scrollOffset = scrollWidth - clientWidth - scrollLeft\n break\n }\n }\n }\n\n scrollOffset = Math.max(\n 0,\n Math.min(scrollOffset, scrollWidth - clientWidth)\n )\n\n states.value = {\n ..._states,\n isScrolling: true,\n scrollDir: getScrollDir(_states.scrollOffset, scrollOffset),\n scrollOffset,\n updateRequested: false,\n }\n\n nextTick(resetIsScrolling)\n }\n\n const onScroll = (e: Event) => {\n unref(_isHorizontal) ? scrollHorizontally(e) : scrollVertically(e)\n emitEvents()\n }\n\n const onScrollbarScroll = (distanceToGo: number, totalSteps: number) => {\n const offset =\n ((estimatedTotalSize.value - (clientSize.value as number)) /\n totalSteps) *\n distanceToGo\n scrollTo(\n Math.min(\n estimatedTotalSize.value - (clientSize.value as number),\n offset\n )\n )\n }\n\n const scrollTo = (offset: number) => {\n offset = Math.max(offset, 0)\n\n if (offset === unref(states).scrollOffset) {\n return\n }\n\n states.value = {\n ...unref(states),\n scrollOffset: offset,\n scrollDir: getScrollDir(unref(states).scrollOffset, offset),\n updateRequested: true,\n }\n\n nextTick(resetIsScrolling)\n }\n\n const scrollToItem = (\n idx: number,\n alignment: Alignment = AUTO_ALIGNMENT\n ) => {\n const { scrollOffset } = unref(states)\n\n idx = Math.max(0, Math.min(idx, props.total! - 1))\n scrollTo(\n getOffset(\n props,\n idx,\n alignment,\n scrollOffset,\n unref(dynamicSizeCache)\n )\n )\n }\n\n const getItemStyle = (idx: number) => {\n const { direction, itemSize, layout } = props\n\n const itemStyleCache = getItemStyleCache.value(\n clearCache && itemSize,\n clearCache && layout,\n clearCache && direction\n )\n\n let style: CSSProperties\n if (hasOwn(itemStyleCache, String(idx))) {\n style = itemStyleCache[idx]\n } else {\n const offset = getItemOffset(props, idx, unref(dynamicSizeCache))\n const size = getItemSize(props, idx, unref(dynamicSizeCache))\n const horizontal = unref(_isHorizontal)\n\n const isRtl = direction === RTL\n const offsetHorizontal = horizontal ? offset : 0\n itemStyleCache[idx] = style = {\n position: 'absolute',\n left: isRtl ? undefined : `${offsetHorizontal}px`,\n right: isRtl ? `${offsetHorizontal}px` : undefined,\n top: !horizontal ? `${offset}px` : 0,\n height: !horizontal ? `${size}px` : '100%',\n width: horizontal ? `${size}px` : '100%',\n }\n }\n\n return style\n }\n\n // TODO:\n // perf optimization here, reset isScrolling with debounce.\n\n const resetIsScrolling = () => {\n // timer = null\n\n states.value.isScrolling = false\n nextTick(() => {\n getItemStyleCache.value(-1, null, null)\n })\n }\n\n const resetScrollTop = () => {\n const window = windowRef.value\n if (window) {\n window.scrollTop = 0\n }\n }\n\n // life cycles\n onMounted(() => {\n if (!isClient) return\n const { initScrollOffset } = props\n const windowElement = unref(windowRef)\n if (isNumber(initScrollOffset) && windowElement) {\n if (unref(_isHorizontal)) {\n windowElement.scrollLeft = initScrollOffset\n } else {\n windowElement.scrollTop = initScrollOffset\n }\n }\n\n emitEvents()\n })\n\n onUpdated(() => {\n const { direction, layout } = props\n const { scrollOffset, updateRequested } = unref(states)\n const windowElement = unref(windowRef)\n\n if (updateRequested && windowElement) {\n if (layout === HORIZONTAL) {\n if (direction === RTL) {\n // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // So we need to determine which browser behavior we're dealing with, and mimic it.\n switch (getRTLOffsetType()) {\n case RTL_OFFSET_NAG: {\n windowElement.scrollLeft = -scrollOffset\n break\n }\n case RTL_OFFSET_POS_ASC: {\n windowElement.scrollLeft = scrollOffset\n break\n }\n default: {\n const { clientWidth, scrollWidth } = windowElement\n windowElement.scrollLeft =\n scrollWidth - clientWidth - scrollOffset\n break\n }\n }\n } else {\n windowElement.scrollLeft = scrollOffset\n }\n } else {\n windowElement.scrollTop = scrollOffset\n }\n }\n })\n\n onActivated(() => {\n unref(windowRef).scrollTop = unref(states).scrollOffset\n })\n\n const api = {\n ns,\n clientSize,\n estimatedTotalSize,\n windowStyle,\n windowRef,\n innerRef,\n innerStyle,\n itemsToRender,\n scrollbarRef,\n states,\n getItemStyle,\n onScroll,\n onScrollbarScroll,\n onWheel,\n scrollTo,\n scrollToItem,\n resetScrollTop,\n }\n\n expose({\n windowRef,\n innerRef,\n getItemStyleCache,\n scrollTo,\n scrollToItem,\n resetScrollTop,\n states,\n })\n\n return api\n },\n\n render(ctx: any) {\n const {\n $slots,\n className,\n clientSize,\n containerElement,\n data,\n getItemStyle,\n innerElement,\n itemsToRender,\n innerStyle,\n layout,\n total,\n onScroll,\n onScrollbarScroll,\n states,\n useIsScrolling,\n windowStyle,\n ns,\n } = ctx\n\n const [start, end] = itemsToRender\n\n const Container = resolveDynamicComponent(containerElement)\n const Inner = resolveDynamicComponent(innerElement)\n\n const children = [] as VNodeChild[]\n\n if (total > 0) {\n for (let i = start; i <= end; i++) {\n children.push(\n ($slots.default as Slot)?.({\n data,\n key: i,\n index: i,\n isScrolling: useIsScrolling ? states.isScrolling : undefined,\n style: getItemStyle(i),\n })\n )\n }\n }\n\n const InnerNode = [\n h(\n Inner as VNode,\n {\n style: innerStyle,\n ref: 'innerRef',\n },\n !isString(Inner)\n ? {\n default: () => children,\n }\n : children\n ),\n ]\n\n const scrollbar = h(Scrollbar, {\n ref: 'scrollbarRef',\n clientSize,\n layout,\n onScroll: onScrollbarScroll,\n ratio: (clientSize * 100) / this.estimatedTotalSize,\n scrollFrom:\n states.scrollOffset / (this.estimatedTotalSize - clientSize),\n total,\n })\n\n const listContainer = h(\n Container as VNode,\n {\n class: [ns.e('window'), className],\n style: windowStyle,\n onScroll,\n ref: 'windowRef',\n key: 0,\n },\n !isString(Container) ? { default: () => [InnerNode] } : [InnerNode]\n )\n\n return h(\n 'div',\n {\n key: 0,\n class: [ns.e('wrapper'), states.scrollbarAlwaysOn ? 'always-on' : ''],\n },\n [listContainer, scrollbar]\n )\n },\n })\n}\n\nexport default createList\n"],"names":["defineComponent","virtualizedListProps","ITEM_RENDER_EVT","SCROLL_EVT","getCurrentInstance","useNamespace","ref","useCache","isNumber","computed","unref","BACKWARD","FORWARD","isHorizontal","useWheel","useEventListener","getScrollDir","nextTick","RTL","getRTLOffsetType","RTL_OFFSET_NAG","RTL_OFFSET_POS_DESC","AUTO_ALIGNMENT","hasOwn","onMounted","isClient","onUpdated","HORIZONTAL","RTL_OFFSET_POS_ASC","onActivated","resolveDynamicComponent","h","isString","scrollbar","Scrollbar"],"mappings":"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"}
|
|
@@ -75,7 +75,7 @@ const ScrollBar = vue.defineComponent({
|
|
|
75
75
|
return;
|
|
76
76
|
onselectstartStore = document.onselectstart;
|
|
77
77
|
document.onselectstart = () => false;
|
|
78
|
-
thumbEl.addEventListener("touchmove", onMouseMove);
|
|
78
|
+
thumbEl.addEventListener("touchmove", onMouseMove, { passive: true });
|
|
79
79
|
thumbEl.addEventListener("touchend", onMouseUp);
|
|
80
80
|
};
|
|
81
81
|
const detachEvents = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrollbar.js","sources":["../../../../../../../packages/components/virtual-list/src/components/scrollbar.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n defineComponent,\n h,\n onBeforeUnmount,\n reactive,\n ref,\n unref,\n watch,\n withModifiers,\n} from 'vue'\nimport { BAR_MAP } from '@element-plus/components/scrollbar'\nimport { cAF, rAF } from '@element-plus/utils'\n\nimport { useNamespace } from '@element-plus/hooks'\nimport { HORIZONTAL, SCROLLBAR_MIN_SIZE, ScrollbarDirKey } from '../defaults'\nimport { virtualizedScrollbarProps } from '../props'\nimport { renderThumbStyle } from '../utils'\n\nimport type { CSSProperties } from 'vue'\n\nconst ScrollBar = defineComponent({\n name: 'ElVirtualScrollBar',\n props: virtualizedScrollbarProps,\n emits: ['scroll', 'start-move', 'stop-move'],\n setup(props, { emit }) {\n const GAP = computed(() => props.startGap + props.endGap) // top 2 + bottom 2 | left 2 + right 2\n\n const nsVirtualScrollbar = useNamespace('virtual-scrollbar')\n const nsScrollbar = useNamespace('scrollbar')\n // DOM refs\n const trackRef = ref<HTMLElement>()\n const thumbRef = ref<HTMLElement>()\n\n // local variables\n let frameHandle: null | number = null\n let onselectstartStore: null | typeof document.onselectstart = null\n\n // data\n const state = reactive({\n isDragging: false,\n traveled: 0,\n })\n\n const bar = computed(() => BAR_MAP[props.layout])\n\n const trackSize = computed(() => props.clientSize! - unref(GAP))\n\n const trackStyle = computed<CSSProperties>(() => ({\n position: 'absolute',\n width: `${\n HORIZONTAL === props.layout ? trackSize.value : props.scrollbarSize\n }px`,\n height: `${\n HORIZONTAL === props.layout ? props.scrollbarSize : trackSize.value\n }px`,\n [ScrollbarDirKey[props.layout]]: '2px',\n right: '2px',\n bottom: '2px',\n borderRadius: '4px',\n }))\n\n const thumbSize = computed(() => {\n const ratio = props.ratio!\n const clientSize = props.clientSize!\n if (ratio >= 100) {\n return Number.POSITIVE_INFINITY\n }\n\n if (ratio >= 50) {\n return (ratio * clientSize) / 100\n }\n\n const SCROLLBAR_MAX_SIZE = clientSize / 3\n return Math.floor(\n Math.min(\n Math.max(ratio * clientSize, SCROLLBAR_MIN_SIZE),\n SCROLLBAR_MAX_SIZE\n )\n )\n })\n\n // const sizeRange = computed(() => props.size - thumbSize.value)\n\n const thumbStyle = computed<CSSProperties>(() => {\n if (!Number.isFinite(thumbSize.value)) {\n return {\n display: 'none',\n }\n }\n\n const thumb = `${thumbSize.value}px`\n\n const style: CSSProperties = renderThumbStyle(\n {\n bar: bar.value,\n size: thumb,\n move: state.traveled,\n },\n props.layout\n )\n\n return style\n })\n\n const totalSteps = computed(() =>\n Math.floor(props.clientSize! - thumbSize.value - unref(GAP))\n )\n\n const attachEvents = () => {\n window.addEventListener('mousemove', onMouseMove)\n window.addEventListener('mouseup', onMouseUp)\n\n const thumbEl = unref(thumbRef)\n\n if (!thumbEl) return\n\n onselectstartStore = document.onselectstart\n document.onselectstart = () => false\n\n thumbEl.addEventListener('touchmove', onMouseMove)\n thumbEl.addEventListener('touchend', onMouseUp)\n }\n\n const detachEvents = () => {\n window.removeEventListener('mousemove', onMouseMove)\n window.removeEventListener('mouseup', onMouseUp)\n\n document.onselectstart = onselectstartStore\n onselectstartStore = null\n\n const thumbEl = unref(thumbRef)\n if (!thumbEl) return\n\n thumbEl.removeEventListener('touchmove', onMouseMove)\n thumbEl.removeEventListener('touchend', onMouseUp)\n }\n\n const onThumbMouseDown = (e: Event) => {\n e.stopImmediatePropagation()\n if (\n (e as KeyboardEvent).ctrlKey ||\n [1, 2].includes((e as MouseEvent).button)\n ) {\n return\n }\n\n state.isDragging = true\n state[bar.value.axis] =\n e.currentTarget![bar.value.offset] -\n (e[bar.value.client] -\n (e.currentTarget as HTMLElement).getBoundingClientRect()[\n bar.value.direction\n ])\n\n emit('start-move')\n attachEvents()\n }\n\n const onMouseUp = () => {\n state.isDragging = false\n state[bar.value.axis] = 0\n emit('stop-move')\n detachEvents()\n }\n\n const onMouseMove = (e: Event) => {\n const { isDragging } = state\n if (!isDragging) return\n if (!thumbRef.value || !trackRef.value) return\n\n const prevPage = state[bar.value.axis]\n if (!prevPage) return\n\n cAF(frameHandle!)\n // using the current track's offset top/left - the current pointer's clientY/clientX\n // to get the relative position of the pointer to the track.\n const offset =\n (trackRef.value.getBoundingClientRect()[bar.value.direction] -\n e[bar.value.client]) *\n -1\n\n // find where the thumb was clicked on.\n const thumbClickPosition = thumbRef.value[bar.value.offset] - prevPage\n /**\n * +--------------+ +--------------+\n * | - <--------- thumb.offsetTop | |\n * | |+| <--+ | |\n * | - | | |\n * | Content | | | |\n * | | | | |\n * | | | | |\n * | | | | -\n * | | +--> | |+|\n * | | | -\n * +--------------+ +--------------+\n */\n\n // using the current position - prev position to\n\n const distance = offset - thumbClickPosition\n // get how many steps in total.\n // gap of 2 on top, 2 on bottom, in total 4.\n // using totalSteps ÷ totalSize getting each step's size * distance to get the new\n // scroll offset to scrollTo\n frameHandle = rAF(() => {\n state.traveled = Math.max(\n props.startGap,\n Math.min(\n distance,\n totalSteps.value // 2 is the top value\n )\n )\n emit('scroll', distance, totalSteps.value)\n })\n }\n\n const clickTrackHandler = (e: MouseEvent) => {\n const offset = Math.abs(\n (e.target as HTMLElement).getBoundingClientRect()[bar.value.direction] -\n e[bar.value.client]\n )\n const thumbHalf = thumbRef.value![bar.value.offset] / 2\n const distance = offset - thumbHalf\n\n state.traveled = Math.max(0, Math.min(distance, totalSteps.value))\n emit('scroll', distance, totalSteps.value)\n }\n\n watch(\n () => props.scrollFrom,\n (v) => {\n if (state.isDragging) return\n /**\n * this is simply mapping the current scrollbar offset\n *\n * formula 1:\n * v = scrollOffset / (estimatedTotalSize - clientSize)\n * traveled = v * (clientSize - thumbSize - GAP) --> v * totalSteps\n *\n * formula 2:\n * traveled = (v * clientSize) / (clientSize / totalSteps) --> (v * clientSize) * (totalSteps / clientSize) --> v * totalSteps\n */\n state.traveled = Math.ceil(v! * totalSteps.value)\n }\n )\n\n onBeforeUnmount(() => {\n detachEvents()\n })\n\n return () => {\n return h(\n 'div',\n {\n role: 'presentation',\n ref: trackRef,\n class: [\n nsVirtualScrollbar.b(),\n props.class,\n (props.alwaysOn || state.isDragging) && 'always-on',\n ],\n style: trackStyle.value,\n onMousedown: withModifiers(clickTrackHandler, ['stop', 'prevent']),\n onTouchstartPrevent: onThumbMouseDown,\n },\n h(\n 'div',\n {\n ref: thumbRef,\n class: nsScrollbar.e('thumb'),\n style: thumbStyle.value,\n onMousedown: onThumbMouseDown,\n },\n []\n )\n )\n }\n },\n})\n\nexport default ScrollBar\n"],"names":["defineComponent","virtualizedScrollbarProps","computed","useNamespace","ref","reactive","BAR_MAP","unref","HORIZONTAL","ScrollbarDirKey","SCROLLBAR_MIN_SIZE","renderThumbStyle","cAF","rAF","watch","onBeforeUnmount","h","withModifiers"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scrollbar.js","sources":["../../../../../../../packages/components/virtual-list/src/components/scrollbar.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n defineComponent,\n h,\n onBeforeUnmount,\n reactive,\n ref,\n unref,\n watch,\n withModifiers,\n} from 'vue'\nimport { BAR_MAP } from '@element-plus/components/scrollbar'\nimport { cAF, rAF } from '@element-plus/utils'\n\nimport { useNamespace } from '@element-plus/hooks'\nimport { HORIZONTAL, SCROLLBAR_MIN_SIZE, ScrollbarDirKey } from '../defaults'\nimport { virtualizedScrollbarProps } from '../props'\nimport { renderThumbStyle } from '../utils'\n\nimport type { CSSProperties } from 'vue'\n\nconst ScrollBar = defineComponent({\n name: 'ElVirtualScrollBar',\n props: virtualizedScrollbarProps,\n emits: ['scroll', 'start-move', 'stop-move'],\n setup(props, { emit }) {\n const GAP = computed(() => props.startGap + props.endGap) // top 2 + bottom 2 | left 2 + right 2\n\n const nsVirtualScrollbar = useNamespace('virtual-scrollbar')\n const nsScrollbar = useNamespace('scrollbar')\n // DOM refs\n const trackRef = ref<HTMLElement>()\n const thumbRef = ref<HTMLElement>()\n\n // local variables\n let frameHandle: null | number = null\n let onselectstartStore: null | typeof document.onselectstart = null\n\n // data\n const state = reactive({\n isDragging: false,\n traveled: 0,\n })\n\n const bar = computed(() => BAR_MAP[props.layout])\n\n const trackSize = computed(() => props.clientSize! - unref(GAP))\n\n const trackStyle = computed<CSSProperties>(() => ({\n position: 'absolute',\n width: `${\n HORIZONTAL === props.layout ? trackSize.value : props.scrollbarSize\n }px`,\n height: `${\n HORIZONTAL === props.layout ? props.scrollbarSize : trackSize.value\n }px`,\n [ScrollbarDirKey[props.layout]]: '2px',\n right: '2px',\n bottom: '2px',\n borderRadius: '4px',\n }))\n\n const thumbSize = computed(() => {\n const ratio = props.ratio!\n const clientSize = props.clientSize!\n if (ratio >= 100) {\n return Number.POSITIVE_INFINITY\n }\n\n if (ratio >= 50) {\n return (ratio * clientSize) / 100\n }\n\n const SCROLLBAR_MAX_SIZE = clientSize / 3\n return Math.floor(\n Math.min(\n Math.max(ratio * clientSize, SCROLLBAR_MIN_SIZE),\n SCROLLBAR_MAX_SIZE\n )\n )\n })\n\n // const sizeRange = computed(() => props.size - thumbSize.value)\n\n const thumbStyle = computed<CSSProperties>(() => {\n if (!Number.isFinite(thumbSize.value)) {\n return {\n display: 'none',\n }\n }\n\n const thumb = `${thumbSize.value}px`\n\n const style: CSSProperties = renderThumbStyle(\n {\n bar: bar.value,\n size: thumb,\n move: state.traveled,\n },\n props.layout\n )\n\n return style\n })\n\n const totalSteps = computed(() =>\n Math.floor(props.clientSize! - thumbSize.value - unref(GAP))\n )\n\n const attachEvents = () => {\n window.addEventListener('mousemove', onMouseMove)\n window.addEventListener('mouseup', onMouseUp)\n\n const thumbEl = unref(thumbRef)\n\n if (!thumbEl) return\n\n onselectstartStore = document.onselectstart\n document.onselectstart = () => false\n\n thumbEl.addEventListener('touchmove', onMouseMove, { passive: true })\n thumbEl.addEventListener('touchend', onMouseUp)\n }\n\n const detachEvents = () => {\n window.removeEventListener('mousemove', onMouseMove)\n window.removeEventListener('mouseup', onMouseUp)\n\n document.onselectstart = onselectstartStore\n onselectstartStore = null\n\n const thumbEl = unref(thumbRef)\n if (!thumbEl) return\n\n thumbEl.removeEventListener('touchmove', onMouseMove)\n thumbEl.removeEventListener('touchend', onMouseUp)\n }\n\n const onThumbMouseDown = (e: Event) => {\n e.stopImmediatePropagation()\n if (\n (e as KeyboardEvent).ctrlKey ||\n [1, 2].includes((e as MouseEvent).button)\n ) {\n return\n }\n\n state.isDragging = true\n state[bar.value.axis] =\n e.currentTarget![bar.value.offset] -\n (e[bar.value.client] -\n (e.currentTarget as HTMLElement).getBoundingClientRect()[\n bar.value.direction\n ])\n\n emit('start-move')\n attachEvents()\n }\n\n const onMouseUp = () => {\n state.isDragging = false\n state[bar.value.axis] = 0\n emit('stop-move')\n detachEvents()\n }\n\n const onMouseMove = (e: Event) => {\n const { isDragging } = state\n if (!isDragging) return\n if (!thumbRef.value || !trackRef.value) return\n\n const prevPage = state[bar.value.axis]\n if (!prevPage) return\n\n cAF(frameHandle!)\n // using the current track's offset top/left - the current pointer's clientY/clientX\n // to get the relative position of the pointer to the track.\n const offset =\n (trackRef.value.getBoundingClientRect()[bar.value.direction] -\n e[bar.value.client]) *\n -1\n\n // find where the thumb was clicked on.\n const thumbClickPosition = thumbRef.value[bar.value.offset] - prevPage\n /**\n * +--------------+ +--------------+\n * | - <--------- thumb.offsetTop | |\n * | |+| <--+ | |\n * | - | | |\n * | Content | | | |\n * | | | | |\n * | | | | |\n * | | | | -\n * | | +--> | |+|\n * | | | -\n * +--------------+ +--------------+\n */\n\n // using the current position - prev position to\n\n const distance = offset - thumbClickPosition\n // get how many steps in total.\n // gap of 2 on top, 2 on bottom, in total 4.\n // using totalSteps ÷ totalSize getting each step's size * distance to get the new\n // scroll offset to scrollTo\n frameHandle = rAF(() => {\n state.traveled = Math.max(\n props.startGap,\n Math.min(\n distance,\n totalSteps.value // 2 is the top value\n )\n )\n emit('scroll', distance, totalSteps.value)\n })\n }\n\n const clickTrackHandler = (e: MouseEvent) => {\n const offset = Math.abs(\n (e.target as HTMLElement).getBoundingClientRect()[bar.value.direction] -\n e[bar.value.client]\n )\n const thumbHalf = thumbRef.value![bar.value.offset] / 2\n const distance = offset - thumbHalf\n\n state.traveled = Math.max(0, Math.min(distance, totalSteps.value))\n emit('scroll', distance, totalSteps.value)\n }\n\n watch(\n () => props.scrollFrom,\n (v) => {\n if (state.isDragging) return\n /**\n * this is simply mapping the current scrollbar offset\n *\n * formula 1:\n * v = scrollOffset / (estimatedTotalSize - clientSize)\n * traveled = v * (clientSize - thumbSize - GAP) --> v * totalSteps\n *\n * formula 2:\n * traveled = (v * clientSize) / (clientSize / totalSteps) --> (v * clientSize) * (totalSteps / clientSize) --> v * totalSteps\n */\n state.traveled = Math.ceil(v! * totalSteps.value)\n }\n )\n\n onBeforeUnmount(() => {\n detachEvents()\n })\n\n return () => {\n return h(\n 'div',\n {\n role: 'presentation',\n ref: trackRef,\n class: [\n nsVirtualScrollbar.b(),\n props.class,\n (props.alwaysOn || state.isDragging) && 'always-on',\n ],\n style: trackStyle.value,\n onMousedown: withModifiers(clickTrackHandler, ['stop', 'prevent']),\n onTouchstartPrevent: onThumbMouseDown,\n },\n h(\n 'div',\n {\n ref: thumbRef,\n class: nsScrollbar.e('thumb'),\n style: thumbStyle.value,\n onMousedown: onThumbMouseDown,\n },\n []\n )\n )\n }\n },\n})\n\nexport default ScrollBar\n"],"names":["defineComponent","virtualizedScrollbarProps","computed","useNamespace","ref","reactive","BAR_MAP","unref","HORIZONTAL","ScrollbarDirKey","SCROLLBAR_MIN_SIZE","renderThumbStyle","cAF","rAF","watch","onBeforeUnmount","h","withModifiers"],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -131,7 +131,7 @@ var radioGroup = require('./components/radio/src/radio-group.js');
|
|
|
131
131
|
var radioButton = require('./components/radio/src/radio-button.js');
|
|
132
132
|
var constants$b = require('./components/radio/src/constants.js');
|
|
133
133
|
var index$H = require('./components/radio/index.js');
|
|
134
|
-
var rate = require('./components/rate/src/
|
|
134
|
+
var rate = require('./components/rate/src/rate2.js');
|
|
135
135
|
var index$I = require('./components/rate/index.js');
|
|
136
136
|
var result = require('./components/result/src/result.js');
|
|
137
137
|
var index$J = require('./components/result/index.js');
|
package/lib/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "0.0.
|
|
1
|
+
export declare const version = "0.0.20240726";
|
package/lib/version.js
CHANGED
package/lib/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.
|
|
1
|
+
{"version":3,"file":"version.js","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20240726'\n"],"names":[],"mappings":";;;;AAAY,MAAC,OAAO,GAAG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@element-plus/nightly",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.20240726",
|
|
4
4
|
"description": "A Component Library for Vue 3",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"element-plus",
|
|
@@ -112,5 +112,5 @@
|
|
|
112
112
|
"not ie 11",
|
|
113
113
|
"not op_mini all"
|
|
114
114
|
],
|
|
115
|
-
"gitHead": "
|
|
115
|
+
"gitHead": "606ff06322a342231e30b7fcadfb53bc023e4816"
|
|
116
116
|
}
|