@element-plus/nightly 0.0.20260716 → 0.0.20260717
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/es/component.mjs +3 -3
- package/es/components/autocomplete/src/autocomplete.d.ts +1 -1
- package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/color-picker/src/color-picker.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/countdown/src/countdown.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/index.mjs +6 -6
- package/es/components/input/src/input.d.ts +1 -1
- package/es/components/input-number/src/input-number.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/mention/src/mention.d.ts +1 -1
- package/es/components/menu/src/menu.mjs +1 -1
- package/es/components/message-box/src/index.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/pagination/src/pagination.d.ts +1 -1
- package/es/components/select/src/select.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/select-v2/src/select.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/slider/src/button.vue.d.ts +1 -1
- package/es/components/slider/src/slider.vue.d.ts +1 -1
- package/es/components/table/src/table.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
- package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
- package/es/components/virtual-list/src/components/scrollbar.d.ts +1 -1
- package/es/index.mjs +11 -11
- package/es/plugin.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/component.js +109 -109
- package/lib/components/autocomplete/src/autocomplete.d.ts +1 -1
- package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js +26 -26
- package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/color-picker/src/color-picker.vue_vue_type_script_setup_true_lang.js +18 -18
- package/lib/components/color-picker/src/color-picker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/countdown/src/countdown.vue_vue_type_script_setup_true_lang.js +1 -1
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue_vue_type_script_setup_true_lang.js +18 -18
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue_vue_type_script_setup_true_lang.js +23 -23
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/index.js +125 -125
- package/lib/components/input/src/input.d.ts +1 -1
- package/lib/components/input-number/src/input-number.vue_vue_type_script_setup_true_lang.js +12 -12
- package/lib/components/input-number/src/input-number.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/mention/src/mention.d.ts +1 -1
- package/lib/components/menu/src/menu.js +7 -7
- package/lib/components/menu/src/menu.js.map +1 -1
- package/lib/components/message-box/src/index.vue_vue_type_script_lang.js +19 -19
- package/lib/components/message-box/src/index.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/pagination/src/pagination.d.ts +1 -1
- package/lib/components/select/src/select.vue_vue_type_script_lang.js +10 -10
- package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/select-v2/src/select.vue_vue_type_script_lang.js +10 -10
- package/lib/components/select-v2/src/select.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/slider/src/button.vue.d.ts +1 -1
- package/lib/components/slider/src/slider.vue.d.ts +1 -1
- package/lib/components/table/src/table.vue_vue_type_script_setup_true_lang.js +9 -9
- package/lib/components/table/src/table.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_setup_true_lang.js +10 -10
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
- package/lib/components/virtual-list/src/components/scrollbar.d.ts +1 -1
- package/lib/index.js +267 -267
- package/lib/plugin.js +12 -12
- package/lib/plugin.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +3 -3
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.vue_vue_type_script_lang.js","names":[],"sources":["../../../../../../packages/components/select-v2/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelect.b(), nsSelect.m(selectSize)]\"\n @mouseenter=\"states.inputHovering = true\"\n @mouseleave=\"states.inputHovering = false\"\n >\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"dropdownMenuVisible\"\n :teleported=\"teleported\"\n :popper-class=\"[nsSelect.e('popper'), popperClass!]\"\n :popper-style=\"popperStyle\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :effect=\"effect\"\n :placement=\"placement\"\n pure\n :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n trigger=\"click\"\n :persistent=\"persistent\"\n :append-to=\"appendTo\"\n :show-arrow=\"showArrow\"\n :offset=\"offset\"\n @before-show=\"handleMenuEnter\"\n @hide=\"states.isBeforeHide = false\"\n >\n <template #default>\n <div\n ref=\"wrapperRef\"\n :class=\"[\n nsSelect.e('wrapper'),\n nsSelect.is('focused', isFocused),\n nsSelect.is('hovering', states.inputHovering),\n nsSelect.is('filterable', filterable),\n nsSelect.is('disabled', selectDisabled),\n ]\"\n @click.prevent=\"toggleMenu\"\n >\n <div\n v-if=\"$slots.prefix\"\n ref=\"prefixRef\"\n :class=\"nsSelect.e('prefix')\"\n >\n <slot name=\"prefix\" />\n </div>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelect.e('selection'),\n nsSelect.is(\n 'near',\n multiple && !$slots.prefix && !!modelValue.length\n ),\n ]\"\n >\n <slot\n v-if=\"multiple\"\n name=\"tag\"\n :data=\"states.cachedOptions\"\n :delete-tag=\"deleteTag\"\n :select-disabled=\"selectDisabled\"\n >\n <div\n v-for=\"item in showTagList\"\n :key=\"getValueKey(getValue(item))\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"!selectDisabled && !getDisabled(item)\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n :style=\"tagStyle\"\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :index=\"getIndex(item)\"\n :label=\"getLabel(item)\"\n :value=\"getValue(item)\"\n >\n {{ getLabel(item) }}\n </slot>\n </span>\n </el-tag>\n </div>\n\n <el-tooltip\n v-if=\"\n collapseTags && states.cachedOptions.length > maxCollapseTags\n \"\n ref=\"tagTooltipRef\"\n :disabled=\"dropdownMenuVisible || !collapseTagsTooltip\"\n :fallback-placements=\"\n tagTooltip?.fallbackPlacements ?? [\n 'bottom',\n 'top',\n 'right',\n 'left',\n ]\n \"\n :effect=\"tagTooltip?.effect ?? effect\"\n :placement=\"tagTooltip?.placement ?? 'bottom'\"\n :popper-class=\"tagTooltip?.popperClass ?? popperClass\"\n :popper-style=\"tagTooltip?.popperStyle ?? popperStyle\"\n :teleported=\"tagTooltip?.teleported ?? teleported\"\n :append-to=\"tagTooltip?.appendTo ?? appendTo\"\n :popper-options=\"tagTooltip?.popperOptions ?? popperOptions\"\n :transition=\"tagTooltip?.transition\"\n :show-after=\"tagTooltip?.showAfter\"\n :hide-after=\"tagTooltip?.hideAfter\"\n :auto-close=\"tagTooltip?.autoClose\"\n :offset=\"tagTooltip?.offset\"\n >\n <template #default>\n <div\n ref=\"collapseItemRef\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"false\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n :style=\"collapseTagStyle\"\n disable-transitions\n >\n <span :class=\"nsSelect.e('tags-text')\">\n + {{ states.cachedOptions.length - maxCollapseTags }}\n </span>\n </el-tag>\n </div>\n </template>\n <template #content>\n <div ref=\"tagMenuRef\" :class=\"nsSelect.e('selection')\">\n <div\n v-for=\"selected in collapseTagList\"\n :key=\"getValueKey(getValue(selected))\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n class=\"in-tooltip\"\n :closable=\"!selectDisabled && !getDisabled(selected)\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"deleteTag($event, selected)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :index=\"getIndex(selected)\"\n :label=\"getLabel(selected)\"\n :value=\"getValue(selected)\"\n >\n {{ getLabel(selected) }}\n </slot>\n </span>\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n </slot>\n <div\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('input-wrapper'),\n nsSelect.is(\n 'hidden',\n !filterable ||\n selectDisabled ||\n (multiple && !states.inputValue && !isFocused)\n ),\n ]\"\n >\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n :value=\"states.inputValue\"\n :style=\"inputStyle\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n aria-autocomplete=\"none\"\n aria-haspopup=\"listbox\"\n autocapitalize=\"off\"\n :aria-expanded=\"expanded\"\n :aria-label=\"ariaLabel\"\n :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n :disabled=\"selectDisabled\"\n role=\"combobox\"\n :aria-controls=\"contentId\"\n :aria-activedescendant=\"\n states.hoveringIndex >= 0\n ? `${contentId}-${states.hoveringIndex}`\n : ''\n \"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :name=\"name\"\n @input=\"onInput\"\n @change.stop\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.delete.stop=\"handleDel\"\n @click.stop=\"toggleMenu\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelect.e('input-calculator')\"\n v-text=\"states.inputValue\"\n />\n </div>\n <div\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('placeholder'),\n nsSelect.is(\n 'transparent',\n !hasModelValue || (expanded && !states.inputValue)\n ),\n ]\"\n >\n <slot\n v-if=\"hasModelValue\"\n name=\"label\"\n :index=\"allOptionsValueMap.get(modelValue)?.index ?? -1\"\n :label=\"currentPlaceholder\"\n :value=\"modelValue\"\n >\n <span>{{ currentPlaceholder }}</span>\n </slot>\n <span v-else>{{ currentPlaceholder }}</span>\n </div>\n </div>\n <div ref=\"suffixRef\" :class=\"nsSelect.e('suffix')\">\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClearBtn\"\n :class=\"[nsSelect.e('caret'), nsInput.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n :class=\"[\n nsSelect.e('caret'),\n nsInput.e('icon'),\n nsSelect.e('clear'),\n ]\"\n @click.prevent.stop=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n </template>\n <template #content>\n <el-select-menu\n :id=\"contentId\"\n ref=\"menuRef\"\n :data=\"filteredOptions\"\n :width=\"popperSize - BORDER_HORIZONTAL_WIDTH\"\n :hovering-index=\"states.hoveringIndex\"\n :scrollbar-always-on=\"scrollbarAlwaysOn\"\n :aria-label=\"ariaLabel\"\n @end-reached=\"onEndReached\"\n >\n <template v-if=\"$slots.header\" #header>\n <div :class=\"nsSelect.be('dropdown', 'header')\" @click.stop>\n <slot name=\"header\" />\n </div>\n </template>\n <template #default=\"scope\">\n <slot v-bind=\"scope\" />\n </template>\n <template v-if=\"$slots.loading && loading\" #loading>\n <div :class=\"nsSelect.be('dropdown', 'loading')\">\n <slot name=\"loading\" />\n </div>\n </template>\n <template v-else-if=\"loading || filteredOptions.length === 0\" #empty>\n <div :class=\"nsSelect.be('dropdown', 'empty')\">\n <slot name=\"empty\">\n <span>{{ emptyText }}</span>\n </slot>\n </div>\n </template>\n <template v-if=\"$slots.footer\" #footer>\n <div :class=\"nsSelect.be('dropdown', 'footer')\" @click.stop>\n <slot name=\"footer\" />\n </div>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, provide, reactive, toRefs } from 'vue'\nimport { isArray } from '@element-plus/utils'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { useCalcInputWidth, useId } from '@element-plus/hooks'\nimport ElSelectMenu from './select-dropdown'\nimport useSelect from './useSelect'\nimport { selectV2Emits, selectV2Props } from './defaults'\nimport { selectV2InjectionKey } from './token'\nimport { BORDER_HORIZONTAL_WIDTH } from '@element-plus/constants'\n\nexport default defineComponent({\n name: 'ElSelectV2',\n components: {\n ElSelectMenu,\n ElTag,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside },\n props: selectV2Props,\n emits: selectV2Emits,\n setup(props, { emit }) {\n const modelValue = computed(() => {\n const { modelValue: rawModelValue, multiple } = props\n const fallback = multiple ? [] : undefined\n // When it is array, we check if this is multi-select.\n // Based on the result we get\n if (isArray(rawModelValue)) {\n return multiple ? rawModelValue : fallback\n }\n return multiple ? fallback : rawModelValue\n })\n\n const API = useSelect(\n reactive({\n ...toRefs(props),\n modelValue,\n }),\n emit\n )\n const { calculatorRef, inputStyle } = useCalcInputWidth()\n const contentId = useId()\n\n provide(selectV2InjectionKey, {\n props: reactive({\n ...toRefs(props),\n height: API.popupHeight,\n modelValue,\n }),\n expanded: API.expanded,\n tooltipRef: API.tooltipRef,\n contentId,\n onSelect: API.onSelect,\n onHover: API.onHover,\n onKeyboardNavigate: API.onKeyboardNavigate,\n onKeyboardSelect: API.onKeyboardSelect,\n })\n\n const selectedLabel = computed(() => {\n if (!props.multiple) {\n return API.states.selectedLabel\n }\n return API.states.cachedOptions.map((i) => API.getLabel(i) as string)\n })\n\n return {\n ...API,\n modelValue,\n selectedLabel,\n calculatorRef,\n inputStyle,\n contentId,\n BORDER_HORIZONTAL_WIDTH,\n }\n },\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;AAmVA,IAAA,2CAAA,GAAA,IAAA,iBAA+B;CAC7B,MAAM;CACN,YAAY;EACV,cAAA,wBAAA;EACA,OAAA,gBAAA;EACA,WAAA,gBAAA;EACA,QAAA,gBAAA;EACD;CACD,YAAY,EAAE,cAAA,gBAAA,SAAc;CAC5B,OAAO,iBAAA;CACP,OAAO,iBAAA;CACP,MAAM,OAAO,EAAE,QAAQ;EACrB,MAAM,cAAA,GAAA,IAAA,gBAA4B;GAChC,MAAM,EAAE,YAAY,eAAe,aAAa;GAChD,MAAM,WAAW,WAAW,EAAC,GAAI,KAAA;GAGjC,KAAA,GAAA,YAAA,SAAY,cAAc,EACxB,OAAO,WAAW,gBAAgB;GAEpC,OAAO,WAAW,WAAW;IAC9B;EAED,MAAM,MAAM,kBAAA,SAAA,GAAA,IAAA,UACD;GACP,IAAA,GAAA,IAAA,QAAU,MAAM;GAChB;GACD,CAAC,EACF,KACF;EACA,MAAM,EAAE,eAAe,eAAe,cAAA,mBAAkB;EACxD,MAAM,YAAY,gBAAA,OAAM;EAExB,CAAA,GAAA,IAAA,SAAQ,cAAA,sBAAsB;GAC5B,QAAA,GAAA,IAAA,UAAgB;IACd,IAAA,GAAA,IAAA,QAAU,MAAM;IAChB,QAAQ,IAAI;IACZ;IACD,CAAC;GACF,UAAU,IAAI;GACd,YAAY,IAAI;GAChB;GACA,UAAU,IAAI;GACd,SAAS,IAAI;GACb,oBAAoB,IAAI;GACxB,kBAAkB,IAAI;GACvB,CAAA;EAED,MAAM,iBAAA,GAAA,IAAA,gBAA+B;GACnC,IAAI,CAAC,MAAM,UACT,OAAO,IAAI,OAAO;GAEpB,OAAO,IAAI,OAAO,cAAc,KAAK,MAAM,IAAI,SAAS,EAAC,CAAW;IACrE;EAED,OAAO;GACL,GAAG;GACH;GACA;GACA;GACA;GACA;GACA,yBAAA;GACF;;CAEH,CAAA"}
|
|
1
|
+
{"version":3,"file":"select.vue_vue_type_script_lang.js","names":[],"sources":["../../../../../../packages/components/select-v2/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelect.b(), nsSelect.m(selectSize)]\"\n @mouseenter=\"states.inputHovering = true\"\n @mouseleave=\"states.inputHovering = false\"\n >\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"dropdownMenuVisible\"\n :teleported=\"teleported\"\n :popper-class=\"[nsSelect.e('popper'), popperClass!]\"\n :popper-style=\"popperStyle\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :effect=\"effect\"\n :placement=\"placement\"\n pure\n :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n trigger=\"click\"\n :persistent=\"persistent\"\n :append-to=\"appendTo\"\n :show-arrow=\"showArrow\"\n :offset=\"offset\"\n @before-show=\"handleMenuEnter\"\n @hide=\"states.isBeforeHide = false\"\n >\n <template #default>\n <div\n ref=\"wrapperRef\"\n :class=\"[\n nsSelect.e('wrapper'),\n nsSelect.is('focused', isFocused),\n nsSelect.is('hovering', states.inputHovering),\n nsSelect.is('filterable', filterable),\n nsSelect.is('disabled', selectDisabled),\n ]\"\n @click.prevent=\"toggleMenu\"\n >\n <div\n v-if=\"$slots.prefix\"\n ref=\"prefixRef\"\n :class=\"nsSelect.e('prefix')\"\n >\n <slot name=\"prefix\" />\n </div>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelect.e('selection'),\n nsSelect.is(\n 'near',\n multiple && !$slots.prefix && !!modelValue.length\n ),\n ]\"\n >\n <slot\n v-if=\"multiple\"\n name=\"tag\"\n :data=\"states.cachedOptions\"\n :delete-tag=\"deleteTag\"\n :select-disabled=\"selectDisabled\"\n >\n <div\n v-for=\"item in showTagList\"\n :key=\"getValueKey(getValue(item))\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"!selectDisabled && !getDisabled(item)\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n :style=\"tagStyle\"\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :index=\"getIndex(item)\"\n :label=\"getLabel(item)\"\n :value=\"getValue(item)\"\n >\n {{ getLabel(item) }}\n </slot>\n </span>\n </el-tag>\n </div>\n\n <el-tooltip\n v-if=\"\n collapseTags && states.cachedOptions.length > maxCollapseTags\n \"\n ref=\"tagTooltipRef\"\n :disabled=\"dropdownMenuVisible || !collapseTagsTooltip\"\n :fallback-placements=\"\n tagTooltip?.fallbackPlacements ?? [\n 'bottom',\n 'top',\n 'right',\n 'left',\n ]\n \"\n :effect=\"tagTooltip?.effect ?? effect\"\n :placement=\"tagTooltip?.placement ?? 'bottom'\"\n :popper-class=\"tagTooltip?.popperClass ?? popperClass\"\n :popper-style=\"tagTooltip?.popperStyle ?? popperStyle\"\n :teleported=\"tagTooltip?.teleported ?? teleported\"\n :append-to=\"tagTooltip?.appendTo ?? appendTo\"\n :popper-options=\"tagTooltip?.popperOptions ?? popperOptions\"\n :transition=\"tagTooltip?.transition\"\n :show-after=\"tagTooltip?.showAfter\"\n :hide-after=\"tagTooltip?.hideAfter\"\n :auto-close=\"tagTooltip?.autoClose\"\n :offset=\"tagTooltip?.offset\"\n >\n <template #default>\n <div\n ref=\"collapseItemRef\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"false\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n :style=\"collapseTagStyle\"\n disable-transitions\n >\n <span :class=\"nsSelect.e('tags-text')\">\n + {{ states.cachedOptions.length - maxCollapseTags }}\n </span>\n </el-tag>\n </div>\n </template>\n <template #content>\n <div ref=\"tagMenuRef\" :class=\"nsSelect.e('selection')\">\n <div\n v-for=\"selected in collapseTagList\"\n :key=\"getValueKey(getValue(selected))\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n class=\"in-tooltip\"\n :closable=\"!selectDisabled && !getDisabled(selected)\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"deleteTag($event, selected)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :index=\"getIndex(selected)\"\n :label=\"getLabel(selected)\"\n :value=\"getValue(selected)\"\n >\n {{ getLabel(selected) }}\n </slot>\n </span>\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n </slot>\n <div\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('input-wrapper'),\n nsSelect.is(\n 'hidden',\n !filterable ||\n selectDisabled ||\n (multiple && !states.inputValue && !isFocused)\n ),\n ]\"\n >\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n :value=\"states.inputValue\"\n :style=\"inputStyle\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n aria-autocomplete=\"none\"\n aria-haspopup=\"listbox\"\n autocapitalize=\"off\"\n :aria-expanded=\"expanded\"\n :aria-label=\"ariaLabel\"\n :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n :disabled=\"selectDisabled\"\n role=\"combobox\"\n :aria-controls=\"contentId\"\n :aria-activedescendant=\"\n states.hoveringIndex >= 0\n ? `${contentId}-${states.hoveringIndex}`\n : ''\n \"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :name=\"name\"\n @input=\"onInput\"\n @change.stop\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.delete.stop=\"handleDel\"\n @click.stop=\"toggleMenu\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelect.e('input-calculator')\"\n v-text=\"states.inputValue\"\n />\n </div>\n <div\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('placeholder'),\n nsSelect.is(\n 'transparent',\n !hasModelValue || (expanded && !states.inputValue)\n ),\n ]\"\n >\n <slot\n v-if=\"hasModelValue\"\n name=\"label\"\n :index=\"allOptionsValueMap.get(modelValue)?.index ?? -1\"\n :label=\"currentPlaceholder\"\n :value=\"modelValue\"\n >\n <span>{{ currentPlaceholder }}</span>\n </slot>\n <span v-else>{{ currentPlaceholder }}</span>\n </div>\n </div>\n <div ref=\"suffixRef\" :class=\"nsSelect.e('suffix')\">\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClearBtn\"\n :class=\"[nsSelect.e('caret'), nsInput.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n :class=\"[\n nsSelect.e('caret'),\n nsInput.e('icon'),\n nsSelect.e('clear'),\n ]\"\n @click.prevent.stop=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n </template>\n <template #content>\n <el-select-menu\n :id=\"contentId\"\n ref=\"menuRef\"\n :data=\"filteredOptions\"\n :width=\"popperSize - BORDER_HORIZONTAL_WIDTH\"\n :hovering-index=\"states.hoveringIndex\"\n :scrollbar-always-on=\"scrollbarAlwaysOn\"\n :aria-label=\"ariaLabel\"\n @end-reached=\"onEndReached\"\n >\n <template v-if=\"$slots.header\" #header>\n <div :class=\"nsSelect.be('dropdown', 'header')\" @click.stop>\n <slot name=\"header\" />\n </div>\n </template>\n <template #default=\"scope\">\n <slot v-bind=\"scope\" />\n </template>\n <template v-if=\"$slots.loading && loading\" #loading>\n <div :class=\"nsSelect.be('dropdown', 'loading')\">\n <slot name=\"loading\" />\n </div>\n </template>\n <template v-else-if=\"loading || filteredOptions.length === 0\" #empty>\n <div :class=\"nsSelect.be('dropdown', 'empty')\">\n <slot name=\"empty\">\n <span>{{ emptyText }}</span>\n </slot>\n </div>\n </template>\n <template v-if=\"$slots.footer\" #footer>\n <div :class=\"nsSelect.be('dropdown', 'footer')\" @click.stop>\n <slot name=\"footer\" />\n </div>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, provide, reactive, toRefs } from 'vue'\nimport { isArray } from '@element-plus/utils'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { useCalcInputWidth, useId } from '@element-plus/hooks'\nimport ElSelectMenu from './select-dropdown'\nimport useSelect from './useSelect'\nimport { selectV2Emits, selectV2Props } from './defaults'\nimport { selectV2InjectionKey } from './token'\nimport { BORDER_HORIZONTAL_WIDTH } from '@element-plus/constants'\n\nexport default defineComponent({\n name: 'ElSelectV2',\n components: {\n ElSelectMenu,\n ElTag,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside },\n props: selectV2Props,\n emits: selectV2Emits,\n setup(props, { emit }) {\n const modelValue = computed(() => {\n const { modelValue: rawModelValue, multiple } = props\n const fallback = multiple ? [] : undefined\n // When it is array, we check if this is multi-select.\n // Based on the result we get\n if (isArray(rawModelValue)) {\n return multiple ? rawModelValue : fallback\n }\n return multiple ? fallback : rawModelValue\n })\n\n const API = useSelect(\n reactive({\n ...toRefs(props),\n modelValue,\n }),\n emit\n )\n const { calculatorRef, inputStyle } = useCalcInputWidth()\n const contentId = useId()\n\n provide(selectV2InjectionKey, {\n props: reactive({\n ...toRefs(props),\n height: API.popupHeight,\n modelValue,\n }),\n expanded: API.expanded,\n tooltipRef: API.tooltipRef,\n contentId,\n onSelect: API.onSelect,\n onHover: API.onHover,\n onKeyboardNavigate: API.onKeyboardNavigate,\n onKeyboardSelect: API.onKeyboardSelect,\n })\n\n const selectedLabel = computed(() => {\n if (!props.multiple) {\n return API.states.selectedLabel\n }\n return API.states.cachedOptions.map((i) => API.getLabel(i) as string)\n })\n\n return {\n ...API,\n modelValue,\n selectedLabel,\n calculatorRef,\n inputStyle,\n contentId,\n BORDER_HORIZONTAL_WIDTH,\n }\n },\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;AAmVA,IAAA,2CAAA,GAAA,IAAA,iBAA+B;CAC7B,MAAM;CACN,YAAY;EACV,cAAA,wBAAA;EACA,OAAA,gBAAA;EACA,WAAA,gBAAA;EACA,QAAA,gBAAA;EACD;CACD,YAAY,EAAE,cAAA,cAAA,SAAc;CAC5B,OAAO,iBAAA;CACP,OAAO,iBAAA;CACP,MAAM,OAAO,EAAE,QAAQ;EACrB,MAAM,cAAA,GAAA,IAAA,gBAA4B;GAChC,MAAM,EAAE,YAAY,eAAe,aAAa;GAChD,MAAM,WAAW,WAAW,EAAC,GAAI,KAAA;GAGjC,KAAA,GAAA,YAAA,SAAY,cAAc,EACxB,OAAO,WAAW,gBAAgB;GAEpC,OAAO,WAAW,WAAW;IAC9B;EAED,MAAM,MAAM,kBAAA,SAAA,GAAA,IAAA,UACD;GACP,IAAA,GAAA,IAAA,QAAU,MAAM;GAChB;GACD,CAAC,EACF,KACF;EACA,MAAM,EAAE,eAAe,eAAe,gBAAA,mBAAkB;EACxD,MAAM,YAAY,gBAAA,OAAM;EAExB,CAAA,GAAA,IAAA,SAAQ,cAAA,sBAAsB;GAC5B,QAAA,GAAA,IAAA,UAAgB;IACd,IAAA,GAAA,IAAA,QAAU,MAAM;IAChB,QAAQ,IAAI;IACZ;IACD,CAAC;GACF,UAAU,IAAI;GACd,YAAY,IAAI;GAChB;GACA,UAAU,IAAI;GACd,SAAS,IAAI;GACb,oBAAoB,IAAI;GACxB,kBAAkB,IAAI;GACvB,CAAA;EAED,MAAM,iBAAA,GAAA,IAAA,gBAA+B;GACnC,IAAI,CAAC,MAAM,UACT,OAAO,IAAI,OAAO;GAEpB,OAAO,IAAI,OAAO,cAAc,KAAK,MAAM,IAAI,SAAS,EAAC,CAAW;IACrE;EAED,OAAO;GACL,GAAG;GACH;GACA;GACA;GACA;GACA;GACA,yBAAA;GACF;;CAEH,CAAA"}
|
|
@@ -24,8 +24,8 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
24
24
|
}>> & Readonly<{
|
|
25
25
|
"onUpdate:modelValue"?: ((value: number) => any) | undefined;
|
|
26
26
|
}>, {
|
|
27
|
-
readonly vertical: boolean;
|
|
28
27
|
readonly modelValue: number;
|
|
28
|
+
readonly vertical: boolean;
|
|
29
29
|
readonly placement: EpPropMergeType<StringConstructor, Placement, unknown>;
|
|
30
30
|
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
|
|
31
31
|
declare const _default: typeof __VLS_export;
|
|
@@ -157,11 +157,11 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
157
157
|
onChange?: ((value: Arrayable<number>) => any) | undefined;
|
|
158
158
|
onInput?: ((value: Arrayable<number>) => any) | undefined;
|
|
159
159
|
}>, {
|
|
160
|
-
readonly vertical: boolean;
|
|
161
160
|
readonly id: string;
|
|
162
161
|
readonly disabled: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
163
162
|
readonly modelValue: EpPropMergeType<(new (...args: any[]) => number | number[]) | (() => Arrayable<number>) | (((new (...args: any[]) => number | number[]) | (() => Arrayable<number>)) | null)[], unknown, unknown>;
|
|
164
163
|
readonly validateEvent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
164
|
+
readonly vertical: boolean;
|
|
165
165
|
readonly range: boolean;
|
|
166
166
|
readonly placement: EpPropMergeType<StringConstructor, Placement, unknown>;
|
|
167
167
|
readonly persistent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
require("../../../_virtual/_rolldown/runtime.js");
|
|
2
|
-
const require_index = require("../../../
|
|
3
|
-
const require_index$1 = require("../../../hooks/use-
|
|
4
|
-
const require_index$2 = require("
|
|
2
|
+
const require_index = require("../../../directives/mousewheel/index.js");
|
|
3
|
+
const require_index$1 = require("../../../hooks/use-locale/index.js");
|
|
4
|
+
const require_index$2 = require("../../../hooks/use-namespace/index.js");
|
|
5
|
+
const require_index$3 = require("../../scrollbar/index.js");
|
|
5
6
|
const require_use_global_config = require("../../config-provider/src/hooks/use-global-config.js");
|
|
6
|
-
const require_index$3 = require("../../../directives/mousewheel/index.js");
|
|
7
7
|
const require_defaults = require("./table/defaults.js");
|
|
8
8
|
const require_util = require("./util.js");
|
|
9
9
|
const require_helper = require("./store/helper.js");
|
|
@@ -53,8 +53,8 @@ var table_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, vue.
|
|
|
53
53
|
],
|
|
54
54
|
setup(__props, { expose: __expose }) {
|
|
55
55
|
const props = __props;
|
|
56
|
-
const { t } = require_index.useLocale();
|
|
57
|
-
const ns = require_index$
|
|
56
|
+
const { t } = require_index$1.useLocale();
|
|
57
|
+
const ns = require_index$2.useNamespace("table");
|
|
58
58
|
const globalConfig = require_use_global_config.useGlobalConfig("table");
|
|
59
59
|
const table = (0, vue.getCurrentInstance)();
|
|
60
60
|
(0, vue.provide)(require_tokens.TABLE_INJECTION_KEY, table);
|
|
@@ -251,11 +251,11 @@ var table_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, vue.
|
|
|
251
251
|
"append-filter-panel-to",
|
|
252
252
|
"allow-drag-last-column",
|
|
253
253
|
"onSetDragVisible"
|
|
254
|
-
])], 6)], 2)), [[(0, vue.unref)(require_index
|
|
254
|
+
])], 6)], 2)), [[(0, vue.unref)(require_index.default), (0, vue.unref)(handleHeaderFooterMousewheel)]]) : (0, vue.createCommentVNode)("v-if", true),
|
|
255
255
|
(0, vue.createElementVNode)("div", {
|
|
256
256
|
ref: "bodyWrapper",
|
|
257
257
|
class: (0, vue.normalizeClass)((0, vue.unref)(ns).e("body-wrapper"))
|
|
258
|
-
}, [(0, vue.createVNode)((0, vue.unref)(require_index$
|
|
258
|
+
}, [(0, vue.createVNode)((0, vue.unref)(require_index$3.ElScrollbar), {
|
|
259
259
|
ref_key: "scrollBarRef",
|
|
260
260
|
ref: scrollBarRef,
|
|
261
261
|
"view-style": (0, vue.unref)(scrollbarViewStyle),
|
|
@@ -379,7 +379,7 @@ var table_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, vue.
|
|
|
379
379
|
"store",
|
|
380
380
|
"sum-text",
|
|
381
381
|
"summary-method"
|
|
382
|
-
])], 6)], 2)), [[vue.vShow, !isEmpty.value], [(0, vue.unref)(require_index
|
|
382
|
+
])], 6)], 2)), [[vue.vShow, !isEmpty.value], [(0, vue.unref)(require_index.default), (0, vue.unref)(handleHeaderFooterMousewheel)]]) : (0, vue.createCommentVNode)("v-if", true),
|
|
383
383
|
__props.border || (0, vue.unref)(isGroup) ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
|
|
384
384
|
key: 2,
|
|
385
385
|
class: (0, vue.normalizeClass)((0, vue.unref)(ns).e("border-left-patch"))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.vue_vue_type_script_setup_true_lang.js","names":["$emit","$slots"],"sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n ref=\"tableWrapper\"\n :class=\"[\n {\n [ns.m('fit')]: fit,\n [ns.m('striped')]: stripe,\n [ns.m('border')]: border || isGroup,\n [ns.m('hidden')]: isHidden,\n [ns.m('group')]: isGroup,\n [ns.m('fluid-height')]: maxHeight,\n [ns.m('scrollable-x')]: layout.scrollX.value,\n [ns.m('scrollable-y')]: layout.scrollY.value,\n [ns.m('enable-row-hover')]: !store.states.isComplex.value,\n [ns.m('enable-row-transition')]:\n (store.states.data.value || []).length !== 0 &&\n (store.states.data.value || []).length < 100,\n 'has-footer': showSummary,\n },\n ns.m(tableSize),\n className,\n ns.b(),\n ns.m(`layout-${tableLayout}`),\n ]\"\n :style=\"style\"\n :data-prefix=\"ns.namespace.value\"\n @mouseleave=\"handleMouseLeave\"\n >\n <div ref=\"tableInnerWrapper\" :class=\"ns.e('inner-wrapper')\">\n <div ref=\"hiddenColumns\" class=\"hidden-columns\">\n <slot />\n </div>\n <div\n v-if=\"showHeader && tableLayout === 'fixed'\"\n ref=\"headerWrapper\"\n v-mousewheel=\"handleHeaderFooterMousewheel\"\n :class=\"ns.e('header-wrapper')\"\n >\n <table\n ref=\"tableHeader\"\n :class=\"ns.e('header')\"\n :style=\"tableBodyStyles\"\n border=\"0\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n />\n <table-header\n ref=\"tableHeaderRef\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :append-filter-panel-to=\"appendFilterPanelTo\"\n :allow-drag-last-column=\"allowDragLastColumn\"\n @set-drag-visible=\"setDragVisible\"\n />\n </table>\n </div>\n <div ref=\"bodyWrapper\" :class=\"ns.e('body-wrapper')\">\n <el-scrollbar\n ref=\"scrollBarRef\"\n :view-style=\"scrollbarViewStyle\"\n :wrap-style=\"scrollbarStyle\"\n :always=\"scrollbarAlwaysOn\"\n :tabindex=\"scrollbarTabindex\"\n :native=\"nativeScrollbar\"\n @scroll=\"$emit('scroll', $event)\"\n >\n <table\n ref=\"tableBody\"\n :class=\"ns.e('body')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n border=\"0\"\n :style=\"{\n width: bodyWidth,\n tableLayout,\n }\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n />\n <table-header\n v-if=\"showHeader && tableLayout === 'auto'\"\n ref=\"tableHeaderRef\"\n :class=\"ns.e('body-header')\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :append-filter-panel-to=\"appendFilterPanelTo\"\n @set-drag-visible=\"setDragVisible\"\n />\n <table-body\n :context=\"context\"\n :highlight=\"highlightCurrentRow\"\n :row-class-name=\"rowClassName\"\n :tooltip-effect=\"computedTooltipEffect\"\n :tooltip-options=\"computedTooltipOptions\"\n :row-style=\"rowStyle\"\n :store=\"store\"\n :stripe=\"stripe\"\n />\n <table-footer\n v-if=\"showSummary && tableLayout === 'auto'\"\n :class=\"ns.e('body-footer')\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :sum-text=\"computedSumText\"\n :summary-method=\"summaryMethod\"\n />\n </table>\n <div\n v-if=\"isEmpty\"\n ref=\"emptyBlock\"\n :style=\"emptyBlockStyle\"\n :class=\"ns.e('empty-block')\"\n >\n <span :class=\"ns.e('empty-text')\">\n <slot name=\"empty\">{{ computedEmptyText }}</slot>\n </span>\n </div>\n <div\n v-if=\"$slots.append\"\n ref=\"appendWrapper\"\n :class=\"ns.e('append-wrapper')\"\n >\n <slot name=\"append\" />\n </div>\n </el-scrollbar>\n </div>\n <div\n v-if=\"showSummary && tableLayout === 'fixed'\"\n v-show=\"!isEmpty\"\n ref=\"footerWrapper\"\n v-mousewheel=\"handleHeaderFooterMousewheel\"\n :class=\"ns.e('footer-wrapper')\"\n >\n <table\n :class=\"ns.e('footer')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n border=\"0\"\n :style=\"tableBodyStyles\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n />\n <table-footer\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :sum-text=\"computedSumText\"\n :summary-method=\"summaryMethod\"\n />\n </table>\n </div>\n <div v-if=\"border || isGroup\" :class=\"ns.e('border-left-patch')\" />\n </div>\n <div\n v-show=\"resizeProxyVisible\"\n ref=\"resizeProxy\"\n :class=\"ns.e('column-resize-proxy')\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup generic=\"T extends DefaultRow = DefaultRow\">\nimport { computed, getCurrentInstance, onBeforeUnmount, provide } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { Mousewheel as vMousewheel } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { useGlobalConfig } from '@element-plus/components/config-provider'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport { createStore } from './store/helper'\nimport TableLayout from './table-layout'\nimport TableHeader from './table-header'\nimport TableBody from './table-body'\nimport TableFooter from './table-footer'\nimport { createTableId } from './util'\nimport useUtils from './table/utils-helper'\nimport { convertToRows } from './table-header/utils-helper'\nimport useStyle from './table/style-helper'\nimport useKeyRender from './table/key-render-helper'\nimport { TABLE_INJECTION_KEY } from './tokens'\nimport { hColgroup } from './h-helper'\nimport { useScrollbar } from './composables/use-scrollbar'\n\nimport type {\n DefaultRow,\n Table,\n TableEmits,\n TableProps,\n} from './table/defaults'\n\ndefineOptions({\n name: 'ElTable',\n})\n\nconst props = withDefaults(defineProps<TableProps<T>>(), {\n data: () => [],\n fit: true,\n showHeader: true,\n selectOnIndeterminate: true,\n indent: 16,\n treeProps: () => ({\n hasChildren: 'hasChildren',\n children: 'children',\n checkStrictly: false,\n }),\n style: () => ({}),\n className: '',\n tableLayout: 'fixed',\n showOverflowTooltip: undefined,\n scrollbarTabindex: undefined,\n allowDragLastColumn: true,\n})\n\ndefineEmits<TableEmits<T>>()\n\nconst { t } = useLocale()\nconst ns = useNamespace('table')\nconst globalConfig = useGlobalConfig('table')\nconst table = getCurrentInstance() as Table<T>\nprovide(TABLE_INJECTION_KEY, table)\nconst store = createStore<T>(table, props)\ntable.store = store\nconst layout = new TableLayout<T>({\n store: table.store,\n table,\n fit: props.fit,\n showHeader: props.showHeader,\n})\ntable.layout = layout\n\nconst isEmpty = computed(() => (store.states.data.value || []).length === 0)\n\n/**\n * open functions\n */\nconst {\n setCurrentRow,\n getSelectionRows,\n getHalfSelectionRows,\n toggleRowSelection,\n clearSelection,\n clearFilter,\n toggleAllSelection,\n toggleRowExpansion,\n clearSort,\n sort,\n updateKeyChildren,\n} = useUtils<T>(store)\nconst {\n isHidden,\n renderExpanded,\n setDragVisible,\n isGroup,\n handleMouseLeave,\n handleHeaderFooterMousewheel,\n tableSize,\n emptyBlockStyle,\n resizeProxyVisible,\n bodyWidth,\n resizeState,\n doLayout,\n tableBodyStyles,\n tableLayout,\n scrollbarViewStyle,\n scrollbarStyle,\n} = useStyle<T>(props, layout, store, table)\n\nconst { scrollBarRef, scrollTo, setScrollLeft, setScrollTop } = useScrollbar()\n\nconst debouncedUpdateLayout = debounce(doLayout, 50)\n\nconst tableId = createTableId(ns.namespace.value)\nconst context = table\ntable.tableId = tableId\ntable.state = {\n isGroup,\n resizeState,\n doLayout,\n debouncedUpdateLayout,\n}\nconst computedSumText = computed(() => props.sumText ?? t('el.table.sumText'))\n\nconst computedEmptyText = computed(() => {\n return props.emptyText ?? t('el.table.emptyText')\n})\n\nconst computedTooltipEffect = computed(\n () => props.tooltipEffect ?? globalConfig.value?.tooltipEffect\n)\n\nconst computedTooltipOptions = computed(\n () => props.tooltipOptions ?? globalConfig.value?.tooltipOptions\n)\n\nconst columns = computed(() => {\n return convertToRows(store.states.originColumns.value)[0]\n})\n\nuseKeyRender(table)\n\nonBeforeUnmount(() => {\n debouncedUpdateLayout.cancel()\n})\n\ndefineExpose({\n ns,\n layout,\n store,\n columns,\n handleHeaderFooterMousewheel,\n handleMouseLeave,\n tableId,\n tableSize,\n isHidden,\n isEmpty,\n renderExpanded,\n resizeProxyVisible,\n resizeState,\n isGroup,\n bodyWidth,\n tableBodyStyles,\n emptyBlockStyle,\n debouncedUpdateLayout,\n /**\n * @description used in single selection Table, set a certain row selected. If called without any parameter, it will clear selection\n */\n setCurrentRow,\n /**\n * @description returns the currently selected rows\n */\n getSelectionRows,\n /**\n * @description returns the currently half-selected rows\n */\n getHalfSelectionRows,\n /**\n * @description used in multiple selection Table, toggle if a certain row is selected. With the second parameter, you can directly set if this row is selected\n */\n toggleRowSelection,\n /**\n * @description used in multiple selection Table, clear user selection\n */\n clearSelection,\n /**\n * @description clear filters of the columns whose `columnKey` are passed in. If no params, clear all filters\n */\n clearFilter,\n /**\n * @description used in multiple selection Table, toggle select all and deselect all\n */\n toggleAllSelection,\n /**\n * @description used in expandable Table or tree Table, toggle if a certain row is expanded. With the second parameter, you can directly set if this row is expanded or collapsed\n */\n toggleRowExpansion,\n /**\n * @description clear sorting, restore data to the original order\n */\n clearSort,\n /**\n * @description refresh the layout of Table. When the visibility of Table changes, you may need to call this method to get a correct layout\n */\n doLayout,\n /**\n * @description sort Table manually. Property `prop` is used to set sort column, property `order` is used to set sort order\n */\n sort,\n /**\n * @description used in lazy Table, must set `rowKey`, update key children\n */\n updateKeyChildren,\n t,\n setDragVisible,\n context,\n computedSumText,\n computedEmptyText,\n computedTooltipEffect,\n computedTooltipOptions,\n tableLayout,\n scrollbarViewStyle,\n scrollbarStyle,\n scrollBarRef,\n /**\n * @description scrolls to a particular set of coordinates\n */\n scrollTo,\n /**\n * @description set horizontal scroll position\n */\n setScrollLeft,\n /**\n * @description set vertical scroll position\n */\n setScrollTop,\n /**\n * @description whether to allow drag the last column\n */\n allowDragLastColumn: props.allowDragLastColumn,\n})\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table.vue_vue_type_script_setup_true_lang.js","names":["$emit","$slots"],"sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n ref=\"tableWrapper\"\n :class=\"[\n {\n [ns.m('fit')]: fit,\n [ns.m('striped')]: stripe,\n [ns.m('border')]: border || isGroup,\n [ns.m('hidden')]: isHidden,\n [ns.m('group')]: isGroup,\n [ns.m('fluid-height')]: maxHeight,\n [ns.m('scrollable-x')]: layout.scrollX.value,\n [ns.m('scrollable-y')]: layout.scrollY.value,\n [ns.m('enable-row-hover')]: !store.states.isComplex.value,\n [ns.m('enable-row-transition')]:\n (store.states.data.value || []).length !== 0 &&\n (store.states.data.value || []).length < 100,\n 'has-footer': showSummary,\n },\n ns.m(tableSize),\n className,\n ns.b(),\n ns.m(`layout-${tableLayout}`),\n ]\"\n :style=\"style\"\n :data-prefix=\"ns.namespace.value\"\n @mouseleave=\"handleMouseLeave\"\n >\n <div ref=\"tableInnerWrapper\" :class=\"ns.e('inner-wrapper')\">\n <div ref=\"hiddenColumns\" class=\"hidden-columns\">\n <slot />\n </div>\n <div\n v-if=\"showHeader && tableLayout === 'fixed'\"\n ref=\"headerWrapper\"\n v-mousewheel=\"handleHeaderFooterMousewheel\"\n :class=\"ns.e('header-wrapper')\"\n >\n <table\n ref=\"tableHeader\"\n :class=\"ns.e('header')\"\n :style=\"tableBodyStyles\"\n border=\"0\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n />\n <table-header\n ref=\"tableHeaderRef\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :append-filter-panel-to=\"appendFilterPanelTo\"\n :allow-drag-last-column=\"allowDragLastColumn\"\n @set-drag-visible=\"setDragVisible\"\n />\n </table>\n </div>\n <div ref=\"bodyWrapper\" :class=\"ns.e('body-wrapper')\">\n <el-scrollbar\n ref=\"scrollBarRef\"\n :view-style=\"scrollbarViewStyle\"\n :wrap-style=\"scrollbarStyle\"\n :always=\"scrollbarAlwaysOn\"\n :tabindex=\"scrollbarTabindex\"\n :native=\"nativeScrollbar\"\n @scroll=\"$emit('scroll', $event)\"\n >\n <table\n ref=\"tableBody\"\n :class=\"ns.e('body')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n border=\"0\"\n :style=\"{\n width: bodyWidth,\n tableLayout,\n }\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n />\n <table-header\n v-if=\"showHeader && tableLayout === 'auto'\"\n ref=\"tableHeaderRef\"\n :class=\"ns.e('body-header')\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :append-filter-panel-to=\"appendFilterPanelTo\"\n @set-drag-visible=\"setDragVisible\"\n />\n <table-body\n :context=\"context\"\n :highlight=\"highlightCurrentRow\"\n :row-class-name=\"rowClassName\"\n :tooltip-effect=\"computedTooltipEffect\"\n :tooltip-options=\"computedTooltipOptions\"\n :row-style=\"rowStyle\"\n :store=\"store\"\n :stripe=\"stripe\"\n />\n <table-footer\n v-if=\"showSummary && tableLayout === 'auto'\"\n :class=\"ns.e('body-footer')\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :sum-text=\"computedSumText\"\n :summary-method=\"summaryMethod\"\n />\n </table>\n <div\n v-if=\"isEmpty\"\n ref=\"emptyBlock\"\n :style=\"emptyBlockStyle\"\n :class=\"ns.e('empty-block')\"\n >\n <span :class=\"ns.e('empty-text')\">\n <slot name=\"empty\">{{ computedEmptyText }}</slot>\n </span>\n </div>\n <div\n v-if=\"$slots.append\"\n ref=\"appendWrapper\"\n :class=\"ns.e('append-wrapper')\"\n >\n <slot name=\"append\" />\n </div>\n </el-scrollbar>\n </div>\n <div\n v-if=\"showSummary && tableLayout === 'fixed'\"\n v-show=\"!isEmpty\"\n ref=\"footerWrapper\"\n v-mousewheel=\"handleHeaderFooterMousewheel\"\n :class=\"ns.e('footer-wrapper')\"\n >\n <table\n :class=\"ns.e('footer')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n border=\"0\"\n :style=\"tableBodyStyles\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n />\n <table-footer\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :sum-text=\"computedSumText\"\n :summary-method=\"summaryMethod\"\n />\n </table>\n </div>\n <div v-if=\"border || isGroup\" :class=\"ns.e('border-left-patch')\" />\n </div>\n <div\n v-show=\"resizeProxyVisible\"\n ref=\"resizeProxy\"\n :class=\"ns.e('column-resize-proxy')\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup generic=\"T extends DefaultRow = DefaultRow\">\nimport { computed, getCurrentInstance, onBeforeUnmount, provide } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { Mousewheel as vMousewheel } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { useGlobalConfig } from '@element-plus/components/config-provider'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport { createStore } from './store/helper'\nimport TableLayout from './table-layout'\nimport TableHeader from './table-header'\nimport TableBody from './table-body'\nimport TableFooter from './table-footer'\nimport { createTableId } from './util'\nimport useUtils from './table/utils-helper'\nimport { convertToRows } from './table-header/utils-helper'\nimport useStyle from './table/style-helper'\nimport useKeyRender from './table/key-render-helper'\nimport { TABLE_INJECTION_KEY } from './tokens'\nimport { hColgroup } from './h-helper'\nimport { useScrollbar } from './composables/use-scrollbar'\n\nimport type {\n DefaultRow,\n Table,\n TableEmits,\n TableProps,\n} from './table/defaults'\n\ndefineOptions({\n name: 'ElTable',\n})\n\nconst props = withDefaults(defineProps<TableProps<T>>(), {\n data: () => [],\n fit: true,\n showHeader: true,\n selectOnIndeterminate: true,\n indent: 16,\n treeProps: () => ({\n hasChildren: 'hasChildren',\n children: 'children',\n checkStrictly: false,\n }),\n style: () => ({}),\n className: '',\n tableLayout: 'fixed',\n showOverflowTooltip: undefined,\n scrollbarTabindex: undefined,\n allowDragLastColumn: true,\n})\n\ndefineEmits<TableEmits<T>>()\n\nconst { t } = useLocale()\nconst ns = useNamespace('table')\nconst globalConfig = useGlobalConfig('table')\nconst table = getCurrentInstance() as Table<T>\nprovide(TABLE_INJECTION_KEY, table)\nconst store = createStore<T>(table, props)\ntable.store = store\nconst layout = new TableLayout<T>({\n store: table.store,\n table,\n fit: props.fit,\n showHeader: props.showHeader,\n})\ntable.layout = layout\n\nconst isEmpty = computed(() => (store.states.data.value || []).length === 0)\n\n/**\n * open functions\n */\nconst {\n setCurrentRow,\n getSelectionRows,\n getHalfSelectionRows,\n toggleRowSelection,\n clearSelection,\n clearFilter,\n toggleAllSelection,\n toggleRowExpansion,\n clearSort,\n sort,\n updateKeyChildren,\n} = useUtils<T>(store)\nconst {\n isHidden,\n renderExpanded,\n setDragVisible,\n isGroup,\n handleMouseLeave,\n handleHeaderFooterMousewheel,\n tableSize,\n emptyBlockStyle,\n resizeProxyVisible,\n bodyWidth,\n resizeState,\n doLayout,\n tableBodyStyles,\n tableLayout,\n scrollbarViewStyle,\n scrollbarStyle,\n} = useStyle<T>(props, layout, store, table)\n\nconst { scrollBarRef, scrollTo, setScrollLeft, setScrollTop } = useScrollbar()\n\nconst debouncedUpdateLayout = debounce(doLayout, 50)\n\nconst tableId = createTableId(ns.namespace.value)\nconst context = table\ntable.tableId = tableId\ntable.state = {\n isGroup,\n resizeState,\n doLayout,\n debouncedUpdateLayout,\n}\nconst computedSumText = computed(() => props.sumText ?? t('el.table.sumText'))\n\nconst computedEmptyText = computed(() => {\n return props.emptyText ?? t('el.table.emptyText')\n})\n\nconst computedTooltipEffect = computed(\n () => props.tooltipEffect ?? globalConfig.value?.tooltipEffect\n)\n\nconst computedTooltipOptions = computed(\n () => props.tooltipOptions ?? globalConfig.value?.tooltipOptions\n)\n\nconst columns = computed(() => {\n return convertToRows(store.states.originColumns.value)[0]\n})\n\nuseKeyRender(table)\n\nonBeforeUnmount(() => {\n debouncedUpdateLayout.cancel()\n})\n\ndefineExpose({\n ns,\n layout,\n store,\n columns,\n handleHeaderFooterMousewheel,\n handleMouseLeave,\n tableId,\n tableSize,\n isHidden,\n isEmpty,\n renderExpanded,\n resizeProxyVisible,\n resizeState,\n isGroup,\n bodyWidth,\n tableBodyStyles,\n emptyBlockStyle,\n debouncedUpdateLayout,\n /**\n * @description used in single selection Table, set a certain row selected. If called without any parameter, it will clear selection\n */\n setCurrentRow,\n /**\n * @description returns the currently selected rows\n */\n getSelectionRows,\n /**\n * @description returns the currently half-selected rows\n */\n getHalfSelectionRows,\n /**\n * @description used in multiple selection Table, toggle if a certain row is selected. With the second parameter, you can directly set if this row is selected\n */\n toggleRowSelection,\n /**\n * @description used in multiple selection Table, clear user selection\n */\n clearSelection,\n /**\n * @description clear filters of the columns whose `columnKey` are passed in. If no params, clear all filters\n */\n clearFilter,\n /**\n * @description used in multiple selection Table, toggle select all and deselect all\n */\n toggleAllSelection,\n /**\n * @description used in expandable Table or tree Table, toggle if a certain row is expanded. With the second parameter, you can directly set if this row is expanded or collapsed\n */\n toggleRowExpansion,\n /**\n * @description clear sorting, restore data to the original order\n */\n clearSort,\n /**\n * @description refresh the layout of Table. When the visibility of Table changes, you may need to call this method to get a correct layout\n */\n doLayout,\n /**\n * @description sort Table manually. Property `prop` is used to set sort column, property `order` is used to set sort order\n */\n sort,\n /**\n * @description used in lazy Table, must set `rowKey`, update key children\n */\n updateKeyChildren,\n t,\n setDragVisible,\n context,\n computedSumText,\n computedEmptyText,\n computedTooltipEffect,\n computedTooltipOptions,\n tableLayout,\n scrollbarViewStyle,\n scrollbarStyle,\n scrollBarRef,\n /**\n * @description scrolls to a particular set of coordinates\n */\n scrollTo,\n /**\n * @description set horizontal scroll position\n */\n setScrollLeft,\n /**\n * @description set vertical scroll position\n */\n setScrollTop,\n /**\n * @description whether to allow drag the last column\n */\n allowDragLastColumn: props.allowDragLastColumn,\n})\n</script>\n"],"mappings":"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"}
|
|
@@ -3,13 +3,13 @@ const require_event = require("../../../../constants/event.js");
|
|
|
3
3
|
const require_types = require("../../../../utils/types.js");
|
|
4
4
|
const require_raf = require("../../../../utils/raf.js");
|
|
5
5
|
const require_style = require("../../../../utils/dom/style.js");
|
|
6
|
-
const require_index = require("../../../../
|
|
7
|
-
const require_index$1 = require("
|
|
8
|
-
const require_index$2 = require("../../../
|
|
6
|
+
const require_index = require("../../../../directives/repeat-click/index.js");
|
|
7
|
+
const require_index$1 = require("../../../../hooks/use-namespace/index.js");
|
|
8
|
+
const require_index$2 = require("../../../icon/index.js");
|
|
9
|
+
const require_index$3 = require("../../../scrollbar/index.js");
|
|
9
10
|
const require_constants = require("../constants.js");
|
|
10
11
|
const require_utils = require("../utils.js");
|
|
11
12
|
const require_use_time_picker = require("../composables/use-time-picker.js");
|
|
12
|
-
const require_index$3 = require("../../../../directives/repeat-click/index.js");
|
|
13
13
|
const require_basic_time_spinner = require("../props/basic-time-spinner.js");
|
|
14
14
|
let lodash_unified = require("lodash-unified");
|
|
15
15
|
let _element_plus_icons_vue = require("@element-plus/icons-vue");
|
|
@@ -29,7 +29,7 @@ var basic_time_spinner_vue_vue_type_script_setup_true_lang_default = /* @__PURE_
|
|
|
29
29
|
const props = __props;
|
|
30
30
|
const { isRange, format, saveOnBlur } = (0, vue.inject)(require_constants.PICKER_BASE_INJECTION_KEY).props;
|
|
31
31
|
const emit = __emit;
|
|
32
|
-
const ns = require_index.useNamespace("time");
|
|
32
|
+
const ns = require_index$1.useNamespace("time");
|
|
33
33
|
const { getHoursList, getMinutesList, getSecondsList } = require_use_time_picker.getTimeLists(props.disabledHours, props.disabledMinutes, props.disabledSeconds);
|
|
34
34
|
let isScrolling = false;
|
|
35
35
|
const ignoreScroll = {
|
|
@@ -216,7 +216,7 @@ var basic_time_spinner_vue_vue_type_script_setup_true_lang_default = /* @__PURE_
|
|
|
216
216
|
});
|
|
217
217
|
return (_ctx, _cache) => {
|
|
218
218
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", { class: (0, vue.normalizeClass)([(0, vue.unref)(ns).b("spinner"), { "has-seconds": _ctx.showSeconds }]) }, [!_ctx.arrowControl ? ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, { key: 0 }, (0, vue.renderList)(spinnerItems.value, (item) => {
|
|
219
|
-
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_index$
|
|
219
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_index$3.ElScrollbar), {
|
|
220
220
|
key: item,
|
|
221
221
|
ref_for: true,
|
|
222
222
|
ref: (scrollbar) => setRef(scrollbar, item),
|
|
@@ -255,14 +255,14 @@ var basic_time_spinner_vue_vue_type_script_setup_true_lang_default = /* @__PURE_
|
|
|
255
255
|
class: (0, vue.normalizeClass)([(0, vue.unref)(ns).be("spinner", "wrapper"), (0, vue.unref)(ns).is("arrow")]),
|
|
256
256
|
onMouseenter: ($event) => emitSelectRange(item)
|
|
257
257
|
}, [
|
|
258
|
-
(0, vue.withDirectives)(((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_index$
|
|
258
|
+
(0, vue.withDirectives)(((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_index$2.ElIcon), { class: (0, vue.normalizeClass)(["arrow-up", (0, vue.unref)(ns).be("spinner", "arrow")]) }, {
|
|
259
259
|
default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(_element_plus_icons_vue.ArrowUp))]),
|
|
260
260
|
_: 1
|
|
261
|
-
}, 8, ["class"])), [[(0, vue.unref)(require_index
|
|
262
|
-
(0, vue.withDirectives)(((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_index$
|
|
261
|
+
}, 8, ["class"])), [[(0, vue.unref)(require_index.vRepeatClick), onDecrement]]),
|
|
262
|
+
(0, vue.withDirectives)(((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_index$2.ElIcon), { class: (0, vue.normalizeClass)(["arrow-down", (0, vue.unref)(ns).be("spinner", "arrow")]) }, {
|
|
263
263
|
default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(_element_plus_icons_vue.ArrowDown))]),
|
|
264
264
|
_: 1
|
|
265
|
-
}, 8, ["class"])), [[(0, vue.unref)(require_index
|
|
265
|
+
}, 8, ["class"])), [[(0, vue.unref)(require_index.vRepeatClick), onIncrement]]),
|
|
266
266
|
(0, vue.createElementVNode)("ul", { class: (0, vue.normalizeClass)((0, vue.unref)(ns).be("spinner", "list")) }, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(arrowControlTimeList.value[item], (time, key) => {
|
|
267
267
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("li", {
|
|
268
268
|
key,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-time-spinner.vue_vue_type_script_setup_true_lang.js","names":["showSeconds","arrowControl","amPmMode"],"sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b('spinner'), { 'has-seconds': showSeconds }]\">\n <template v-if=\"!arrowControl\">\n <el-scrollbar\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :ref=\"(scrollbar: unknown) => setRef(scrollbar as any, item)\"\n :class=\"ns.be('spinner', 'wrapper')\"\n wrap-style=\"max-height: inherit;\"\n :view-class=\"ns.be('spinner', 'list')\"\n noresize\n tag=\"ul\"\n @mouseenter=\"emitSelectRange(item)\"\n @mousemove=\"adjustCurrentSpinner(item)\"\n >\n <li\n v-for=\"(disabled, key) in timeList[item]\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', key === timePartials[item]),\n ns.is('disabled', disabled),\n ]\"\n @click=\"handleClick(item, { value: key, disabled })\"\n >\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? key % 12 || 12 : key)).slice(-2)\n }}{{ getAmPmFlag(key) }}\n </template>\n <template v-else>\n {{ ('0' + key).slice(-2) }}\n </template>\n </li>\n </el-scrollbar>\n </template>\n <template v-if=\"arrowControl\">\n <div\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :class=\"[ns.be('spinner', 'wrapper'), ns.is('arrow')]\"\n @mouseenter=\"emitSelectRange(item)\"\n >\n <el-icon\n v-repeat-click=\"onDecrement\"\n :class=\"['arrow-up', ns.be('spinner', 'arrow')]\"\n >\n <arrow-up />\n </el-icon>\n <el-icon\n v-repeat-click=\"onIncrement\"\n :class=\"['arrow-down', ns.be('spinner', 'arrow')]\"\n >\n <arrow-down />\n </el-icon>\n <ul :class=\"ns.be('spinner', 'list')\">\n <li\n v-for=\"(time, key) in arrowControlTimeList[item]\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', time === timePartials[item]),\n ns.is('disabled', timeList[item][time!]),\n ]\"\n >\n <template v-if=\"isNumber(time)\">\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? time % 12 || 12 : time)).slice(-2)\n }}{{ getAmPmFlag(time) }}\n </template>\n <template v-else>\n {{ ('0' + time).slice(-2) }}\n </template>\n </template>\n </li>\n </ul>\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, nextTick, onMounted, ref, unref, watch } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { vRepeatClick } from '@element-plus/directives'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { getStyle, isNumber, rAF } from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport {\n DEFAULT_FORMATS_TIME,\n PICKER_BASE_INJECTION_KEY,\n timeUnits,\n} from '../constants'\nimport { buildTimeList } from '../utils'\nimport { basicTimeSpinnerProps } from '../props/basic-time-spinner'\nimport { getTimeLists } from '../composables/use-time-picker'\n\nimport type { Ref } from 'vue'\nimport type { ScrollbarInstance } from '@element-plus/components/scrollbar'\nimport type { TimeUnit } from '../constants'\nimport type { TimeList } from '../utils'\n\nconst props = defineProps(basicTimeSpinnerProps)\nconst pickerBase = inject(PICKER_BASE_INJECTION_KEY) as any\nconst { isRange, format, saveOnBlur } = pickerBase.props\nconst emit = defineEmits([CHANGE_EVENT, 'select-range', 'set-option'])\n\nconst ns = useNamespace('time')\n\nconst { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n props.disabledHours,\n props.disabledMinutes,\n props.disabledSeconds\n)\n\n// data\nlet isScrolling = false\nconst ignoreScroll = {\n hours: false,\n minutes: false,\n seconds: false,\n}\n\nconst currentScrollbar = ref<TimeUnit>()\nconst listHoursRef = ref<ScrollbarInstance>()\nconst listMinutesRef = ref<ScrollbarInstance>()\nconst listSecondsRef = ref<ScrollbarInstance>()\nconst listRefsMap: Record<TimeUnit, Ref<ScrollbarInstance | undefined>> = {\n hours: listHoursRef,\n minutes: listMinutesRef,\n seconds: listSecondsRef,\n}\n\n// computed\nconst spinnerItems = computed(() => {\n return props.showSeconds ? timeUnits : timeUnits.slice(0, 2)\n})\n\nconst timePartials = computed<Record<TimeUnit, number>>(() => {\n const { spinnerDate } = props\n const hours = spinnerDate.hour()\n const minutes = spinnerDate.minute()\n const seconds = spinnerDate.second()\n return { hours, minutes, seconds }\n})\n\nconst timeList = computed(() => {\n const { hours, minutes } = unref(timePartials)\n const { role, spinnerDate } = props\n const compare = !isRange ? spinnerDate : undefined\n return {\n hours: getHoursList(role, compare),\n minutes: getMinutesList(hours, role, compare),\n seconds: getSecondsList(hours, minutes, role, compare),\n }\n})\n\nconst arrowControlTimeList = computed<Record<TimeUnit, TimeList>>(() => {\n const { hours, minutes, seconds } = unref(timePartials)\n\n return {\n hours: buildTimeList(hours, 23),\n minutes: buildTimeList(minutes, 59),\n seconds: buildTimeList(seconds, 59),\n }\n})\n\nconst debouncedResetScroll = debounce((type) => {\n isScrolling = false\n adjustCurrentSpinner(type)\n}, 200)\n\nconst getAmPmFlag = (hour: number) => {\n const shouldShowAmPm = !!props.amPmMode\n if (!shouldShowAmPm) return ''\n const isCapital = props.amPmMode === 'A'\n // todo locale\n let content = hour < 12 ? ' am' : ' pm'\n if (isCapital) content = content.toUpperCase()\n return content\n}\n\nconst emitSelectRange = (type: TimeUnit) => {\n let range = [0, 0]\n const actualFormat = format || DEFAULT_FORMATS_TIME\n const hourIndex = actualFormat.indexOf('HH')\n const minuteIndex = actualFormat.indexOf('mm')\n const secondIndex = actualFormat.indexOf('ss')\n switch (type) {\n case 'hours':\n if (hourIndex !== -1) {\n range = [hourIndex, hourIndex + 2]\n }\n break\n case 'minutes':\n if (minuteIndex !== -1) {\n range = [minuteIndex, minuteIndex + 2]\n }\n break\n case 'seconds':\n if (secondIndex !== -1) {\n range = [secondIndex, secondIndex + 2]\n }\n break\n }\n const [left, right] = range\n\n emit('select-range', left, right)\n currentScrollbar.value = type\n}\n\nconst adjustCurrentSpinner = (type: TimeUnit) => {\n adjustSpinner(type, unref(timePartials)[type])\n}\n\nconst adjustSpinners = () => {\n adjustCurrentSpinner('hours')\n adjustCurrentSpinner('minutes')\n adjustCurrentSpinner('seconds')\n}\n\nconst getScrollbarElement = (el: HTMLElement) =>\n el.querySelector(`.${ns.namespace.value}-scrollbar__wrap`) as HTMLElement\n\nconst adjustSpinner = (type: TimeUnit, value: number) => {\n if (props.arrowControl) return\n const scrollbar = unref(listRefsMap[type])\n if (scrollbar && scrollbar.$el) {\n if (!saveOnBlur) {\n ignoreScroll[type] = true\n rAF(() => {\n ignoreScroll[type] = false\n })\n }\n getScrollbarElement(scrollbar.$el).scrollTop = Math.max(\n 0,\n value * typeItemHeight(type)\n )\n }\n}\n\nconst typeItemHeight = (type: TimeUnit): number => {\n const scrollbar = unref(listRefsMap[type])\n const listItem = scrollbar?.$el.querySelector('li')\n if (listItem) {\n return Number.parseFloat(getStyle(listItem, 'height')) || 0\n }\n return 0\n}\n\nconst onIncrement = () => {\n scrollDown(1)\n}\n\nconst onDecrement = () => {\n scrollDown(-1)\n}\n\nconst scrollDown = (step: number) => {\n if (!currentScrollbar.value) {\n emitSelectRange('hours')\n }\n\n const label = currentScrollbar.value!\n const now = unref(timePartials)[label]\n const total = currentScrollbar.value === 'hours' ? 24 : 60\n const next = findNextUnDisabled(label, now, step, total)\n\n modifyDateField(label, next)\n adjustSpinner(label, next)\n nextTick(() => emitSelectRange(label))\n}\n\nconst findNextUnDisabled = (\n type: TimeUnit,\n now: number,\n step: number,\n total: number\n) => {\n let next = (now + step + total) % total\n const list = unref(timeList)[type]\n while (list[next] && next !== now) {\n next = (next + step + total) % total\n }\n return next\n}\n\nconst modifyDateField = (type: TimeUnit, value: number) => {\n const list = unref(timeList)[type]\n const isDisabled = list[value]\n if (isDisabled) return\n\n const { hours, minutes, seconds } = unref(timePartials)\n\n let changeTo\n switch (type) {\n case 'hours':\n changeTo = props.spinnerDate.hour(value).minute(minutes).second(seconds)\n break\n case 'minutes':\n changeTo = props.spinnerDate.hour(hours).minute(value).second(seconds)\n break\n case 'seconds':\n changeTo = props.spinnerDate.hour(hours).minute(minutes).second(value)\n break\n }\n emit(CHANGE_EVENT, changeTo)\n}\n\nconst handleClick = (\n type: TimeUnit,\n { value, disabled }: { value: number; disabled: boolean }\n) => {\n if (!disabled) {\n modifyDateField(type, value)\n emitSelectRange(type)\n adjustSpinner(type, value)\n }\n}\n\nconst handleScroll = (type: TimeUnit) => {\n if (!saveOnBlur && ignoreScroll[type]) return\n const scrollbar = unref(listRefsMap[type])\n if (!scrollbar) return\n\n isScrolling = true\n debouncedResetScroll(type)\n const value = Math.min(\n Math.round(\n (getScrollbarElement(scrollbar.$el).scrollTop -\n (scrollBarHeight(type) * 0.5 - 10) / typeItemHeight(type) +\n 3) /\n typeItemHeight(type)\n ),\n type === 'hours' ? 23 : 59\n )\n modifyDateField(type, value)\n}\n\nconst scrollBarHeight = (type: TimeUnit) => {\n return unref(listRefsMap[type])!.$el.offsetHeight\n}\n\nconst bindScrollEvent = () => {\n const bindFunction = (type: TimeUnit) => {\n const scrollbar = unref(listRefsMap[type])\n if (scrollbar && scrollbar.$el) {\n getScrollbarElement(scrollbar.$el).onscroll = () => {\n // TODO: scroll is emitted when set scrollTop programmatically\n // should find better solutions in the future!\n handleScroll(type)\n }\n }\n }\n bindFunction('hours')\n bindFunction('minutes')\n bindFunction('seconds')\n}\n\nonMounted(() => {\n nextTick(() => {\n !props.arrowControl && bindScrollEvent()\n adjustSpinners()\n // set selection on the first hour part\n if (props.role === 'start') emitSelectRange('hours')\n })\n})\n\nconst setRef = (scrollbar: ScrollbarInstance | null, type: TimeUnit) => {\n listRefsMap[type].value = scrollbar ?? undefined\n}\n\nemit('set-option', [`${props.role}_scrollDown`, scrollDown])\nemit('set-option', [`${props.role}_emitSelectRange`, emitSelectRange])\n\nwatch(\n () => props.spinnerDate,\n () => {\n if (isScrolling) return\n adjustSpinners()\n }\n)\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"basic-time-spinner.vue_vue_type_script_setup_true_lang.js","names":["showSeconds","arrowControl","amPmMode"],"sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b('spinner'), { 'has-seconds': showSeconds }]\">\n <template v-if=\"!arrowControl\">\n <el-scrollbar\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :ref=\"(scrollbar: unknown) => setRef(scrollbar as any, item)\"\n :class=\"ns.be('spinner', 'wrapper')\"\n wrap-style=\"max-height: inherit;\"\n :view-class=\"ns.be('spinner', 'list')\"\n noresize\n tag=\"ul\"\n @mouseenter=\"emitSelectRange(item)\"\n @mousemove=\"adjustCurrentSpinner(item)\"\n >\n <li\n v-for=\"(disabled, key) in timeList[item]\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', key === timePartials[item]),\n ns.is('disabled', disabled),\n ]\"\n @click=\"handleClick(item, { value: key, disabled })\"\n >\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? key % 12 || 12 : key)).slice(-2)\n }}{{ getAmPmFlag(key) }}\n </template>\n <template v-else>\n {{ ('0' + key).slice(-2) }}\n </template>\n </li>\n </el-scrollbar>\n </template>\n <template v-if=\"arrowControl\">\n <div\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :class=\"[ns.be('spinner', 'wrapper'), ns.is('arrow')]\"\n @mouseenter=\"emitSelectRange(item)\"\n >\n <el-icon\n v-repeat-click=\"onDecrement\"\n :class=\"['arrow-up', ns.be('spinner', 'arrow')]\"\n >\n <arrow-up />\n </el-icon>\n <el-icon\n v-repeat-click=\"onIncrement\"\n :class=\"['arrow-down', ns.be('spinner', 'arrow')]\"\n >\n <arrow-down />\n </el-icon>\n <ul :class=\"ns.be('spinner', 'list')\">\n <li\n v-for=\"(time, key) in arrowControlTimeList[item]\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', time === timePartials[item]),\n ns.is('disabled', timeList[item][time!]),\n ]\"\n >\n <template v-if=\"isNumber(time)\">\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? time % 12 || 12 : time)).slice(-2)\n }}{{ getAmPmFlag(time) }}\n </template>\n <template v-else>\n {{ ('0' + time).slice(-2) }}\n </template>\n </template>\n </li>\n </ul>\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, nextTick, onMounted, ref, unref, watch } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { vRepeatClick } from '@element-plus/directives'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { getStyle, isNumber, rAF } from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport {\n DEFAULT_FORMATS_TIME,\n PICKER_BASE_INJECTION_KEY,\n timeUnits,\n} from '../constants'\nimport { buildTimeList } from '../utils'\nimport { basicTimeSpinnerProps } from '../props/basic-time-spinner'\nimport { getTimeLists } from '../composables/use-time-picker'\n\nimport type { Ref } from 'vue'\nimport type { ScrollbarInstance } from '@element-plus/components/scrollbar'\nimport type { TimeUnit } from '../constants'\nimport type { TimeList } from '../utils'\n\nconst props = defineProps(basicTimeSpinnerProps)\nconst pickerBase = inject(PICKER_BASE_INJECTION_KEY) as any\nconst { isRange, format, saveOnBlur } = pickerBase.props\nconst emit = defineEmits([CHANGE_EVENT, 'select-range', 'set-option'])\n\nconst ns = useNamespace('time')\n\nconst { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n props.disabledHours,\n props.disabledMinutes,\n props.disabledSeconds\n)\n\n// data\nlet isScrolling = false\nconst ignoreScroll = {\n hours: false,\n minutes: false,\n seconds: false,\n}\n\nconst currentScrollbar = ref<TimeUnit>()\nconst listHoursRef = ref<ScrollbarInstance>()\nconst listMinutesRef = ref<ScrollbarInstance>()\nconst listSecondsRef = ref<ScrollbarInstance>()\nconst listRefsMap: Record<TimeUnit, Ref<ScrollbarInstance | undefined>> = {\n hours: listHoursRef,\n minutes: listMinutesRef,\n seconds: listSecondsRef,\n}\n\n// computed\nconst spinnerItems = computed(() => {\n return props.showSeconds ? timeUnits : timeUnits.slice(0, 2)\n})\n\nconst timePartials = computed<Record<TimeUnit, number>>(() => {\n const { spinnerDate } = props\n const hours = spinnerDate.hour()\n const minutes = spinnerDate.minute()\n const seconds = spinnerDate.second()\n return { hours, minutes, seconds }\n})\n\nconst timeList = computed(() => {\n const { hours, minutes } = unref(timePartials)\n const { role, spinnerDate } = props\n const compare = !isRange ? spinnerDate : undefined\n return {\n hours: getHoursList(role, compare),\n minutes: getMinutesList(hours, role, compare),\n seconds: getSecondsList(hours, minutes, role, compare),\n }\n})\n\nconst arrowControlTimeList = computed<Record<TimeUnit, TimeList>>(() => {\n const { hours, minutes, seconds } = unref(timePartials)\n\n return {\n hours: buildTimeList(hours, 23),\n minutes: buildTimeList(minutes, 59),\n seconds: buildTimeList(seconds, 59),\n }\n})\n\nconst debouncedResetScroll = debounce((type) => {\n isScrolling = false\n adjustCurrentSpinner(type)\n}, 200)\n\nconst getAmPmFlag = (hour: number) => {\n const shouldShowAmPm = !!props.amPmMode\n if (!shouldShowAmPm) return ''\n const isCapital = props.amPmMode === 'A'\n // todo locale\n let content = hour < 12 ? ' am' : ' pm'\n if (isCapital) content = content.toUpperCase()\n return content\n}\n\nconst emitSelectRange = (type: TimeUnit) => {\n let range = [0, 0]\n const actualFormat = format || DEFAULT_FORMATS_TIME\n const hourIndex = actualFormat.indexOf('HH')\n const minuteIndex = actualFormat.indexOf('mm')\n const secondIndex = actualFormat.indexOf('ss')\n switch (type) {\n case 'hours':\n if (hourIndex !== -1) {\n range = [hourIndex, hourIndex + 2]\n }\n break\n case 'minutes':\n if (minuteIndex !== -1) {\n range = [minuteIndex, minuteIndex + 2]\n }\n break\n case 'seconds':\n if (secondIndex !== -1) {\n range = [secondIndex, secondIndex + 2]\n }\n break\n }\n const [left, right] = range\n\n emit('select-range', left, right)\n currentScrollbar.value = type\n}\n\nconst adjustCurrentSpinner = (type: TimeUnit) => {\n adjustSpinner(type, unref(timePartials)[type])\n}\n\nconst adjustSpinners = () => {\n adjustCurrentSpinner('hours')\n adjustCurrentSpinner('minutes')\n adjustCurrentSpinner('seconds')\n}\n\nconst getScrollbarElement = (el: HTMLElement) =>\n el.querySelector(`.${ns.namespace.value}-scrollbar__wrap`) as HTMLElement\n\nconst adjustSpinner = (type: TimeUnit, value: number) => {\n if (props.arrowControl) return\n const scrollbar = unref(listRefsMap[type])\n if (scrollbar && scrollbar.$el) {\n if (!saveOnBlur) {\n ignoreScroll[type] = true\n rAF(() => {\n ignoreScroll[type] = false\n })\n }\n getScrollbarElement(scrollbar.$el).scrollTop = Math.max(\n 0,\n value * typeItemHeight(type)\n )\n }\n}\n\nconst typeItemHeight = (type: TimeUnit): number => {\n const scrollbar = unref(listRefsMap[type])\n const listItem = scrollbar?.$el.querySelector('li')\n if (listItem) {\n return Number.parseFloat(getStyle(listItem, 'height')) || 0\n }\n return 0\n}\n\nconst onIncrement = () => {\n scrollDown(1)\n}\n\nconst onDecrement = () => {\n scrollDown(-1)\n}\n\nconst scrollDown = (step: number) => {\n if (!currentScrollbar.value) {\n emitSelectRange('hours')\n }\n\n const label = currentScrollbar.value!\n const now = unref(timePartials)[label]\n const total = currentScrollbar.value === 'hours' ? 24 : 60\n const next = findNextUnDisabled(label, now, step, total)\n\n modifyDateField(label, next)\n adjustSpinner(label, next)\n nextTick(() => emitSelectRange(label))\n}\n\nconst findNextUnDisabled = (\n type: TimeUnit,\n now: number,\n step: number,\n total: number\n) => {\n let next = (now + step + total) % total\n const list = unref(timeList)[type]\n while (list[next] && next !== now) {\n next = (next + step + total) % total\n }\n return next\n}\n\nconst modifyDateField = (type: TimeUnit, value: number) => {\n const list = unref(timeList)[type]\n const isDisabled = list[value]\n if (isDisabled) return\n\n const { hours, minutes, seconds } = unref(timePartials)\n\n let changeTo\n switch (type) {\n case 'hours':\n changeTo = props.spinnerDate.hour(value).minute(minutes).second(seconds)\n break\n case 'minutes':\n changeTo = props.spinnerDate.hour(hours).minute(value).second(seconds)\n break\n case 'seconds':\n changeTo = props.spinnerDate.hour(hours).minute(minutes).second(value)\n break\n }\n emit(CHANGE_EVENT, changeTo)\n}\n\nconst handleClick = (\n type: TimeUnit,\n { value, disabled }: { value: number; disabled: boolean }\n) => {\n if (!disabled) {\n modifyDateField(type, value)\n emitSelectRange(type)\n adjustSpinner(type, value)\n }\n}\n\nconst handleScroll = (type: TimeUnit) => {\n if (!saveOnBlur && ignoreScroll[type]) return\n const scrollbar = unref(listRefsMap[type])\n if (!scrollbar) return\n\n isScrolling = true\n debouncedResetScroll(type)\n const value = Math.min(\n Math.round(\n (getScrollbarElement(scrollbar.$el).scrollTop -\n (scrollBarHeight(type) * 0.5 - 10) / typeItemHeight(type) +\n 3) /\n typeItemHeight(type)\n ),\n type === 'hours' ? 23 : 59\n )\n modifyDateField(type, value)\n}\n\nconst scrollBarHeight = (type: TimeUnit) => {\n return unref(listRefsMap[type])!.$el.offsetHeight\n}\n\nconst bindScrollEvent = () => {\n const bindFunction = (type: TimeUnit) => {\n const scrollbar = unref(listRefsMap[type])\n if (scrollbar && scrollbar.$el) {\n getScrollbarElement(scrollbar.$el).onscroll = () => {\n // TODO: scroll is emitted when set scrollTop programmatically\n // should find better solutions in the future!\n handleScroll(type)\n }\n }\n }\n bindFunction('hours')\n bindFunction('minutes')\n bindFunction('seconds')\n}\n\nonMounted(() => {\n nextTick(() => {\n !props.arrowControl && bindScrollEvent()\n adjustSpinners()\n // set selection on the first hour part\n if (props.role === 'start') emitSelectRange('hours')\n })\n})\n\nconst setRef = (scrollbar: ScrollbarInstance | null, type: TimeUnit) => {\n listRefsMap[type].value = scrollbar ?? undefined\n}\n\nemit('set-option', [`${props.role}_scrollDown`, scrollDown])\nemit('set-option', [`${props.role}_emitSelectRange`, emitSelectRange])\n\nwatch(\n () => props.spinnerDate,\n () => {\n if (isScrolling) return\n adjustSpinners()\n }\n)\n</script>\n"],"mappings":"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"}
|
|
@@ -15,8 +15,8 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
15
15
|
readonly actualVisible: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
16
16
|
readonly format: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
17
17
|
}>, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
|
|
18
|
-
pick: (...args: any[]) => void;
|
|
19
18
|
"select-range": (...args: any[]) => void;
|
|
19
|
+
pick: (...args: any[]) => void;
|
|
20
20
|
"set-picker-option": (...args: any[]) => void;
|
|
21
21
|
}, string, _$vue.PublicProps, Readonly<_$vue.ExtractPropTypes<{
|
|
22
22
|
readonly datetimeRole: StringConstructor;
|
|
@@ -30,8 +30,8 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
30
30
|
readonly actualVisible: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
31
31
|
readonly format: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
32
32
|
}>> & Readonly<{
|
|
33
|
-
onPick?: ((...args: any[]) => any) | undefined;
|
|
34
33
|
"onSelect-range"?: ((...args: any[]) => any) | undefined;
|
|
34
|
+
onPick?: ((...args: any[]) => any) | undefined;
|
|
35
35
|
"onSet-picker-option"?: ((...args: any[]) => any) | undefined;
|
|
36
36
|
}>, {
|
|
37
37
|
readonly visible: boolean;
|
|
@@ -14,8 +14,8 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
14
14
|
readonly actualVisible: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
15
15
|
readonly format: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
16
16
|
}>, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
|
|
17
|
-
pick: (...args: any[]) => void;
|
|
18
17
|
"select-range": (...args: any[]) => void;
|
|
18
|
+
pick: (...args: any[]) => void;
|
|
19
19
|
"set-picker-option": (...args: any[]) => void;
|
|
20
20
|
}, string, _$vue.PublicProps, Readonly<_$vue.ExtractPropTypes<{
|
|
21
21
|
readonly parsedValue: {
|
|
@@ -28,8 +28,8 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
28
28
|
readonly actualVisible: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
29
29
|
readonly format: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
30
30
|
}>> & Readonly<{
|
|
31
|
-
onPick?: ((...args: any[]) => any) | undefined;
|
|
32
31
|
"onSelect-range"?: ((...args: any[]) => any) | undefined;
|
|
32
|
+
onPick?: ((...args: any[]) => any) | undefined;
|
|
33
33
|
"onSet-picker-option"?: ((...args: any[]) => any) | undefined;
|
|
34
34
|
}>, {
|
|
35
35
|
readonly visible: boolean;
|
|
@@ -73,8 +73,8 @@ declare const ScrollBar: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
73
73
|
"onStart-move"?: ((...args: any[]) => any) | undefined;
|
|
74
74
|
"onStop-move"?: ((...args: any[]) => any) | undefined;
|
|
75
75
|
}>, {
|
|
76
|
-
readonly layout: EpPropMergeType<StringConstructor, "horizontal" | "vertical", never>;
|
|
77
76
|
readonly visible: boolean;
|
|
77
|
+
readonly layout: EpPropMergeType<StringConstructor, "horizontal" | "vertical", never>;
|
|
78
78
|
readonly alwaysOn: boolean;
|
|
79
79
|
readonly scrollbarSize: number;
|
|
80
80
|
readonly startGap: number;
|