element-plus 1.3.0-beta.2 → 1.3.0-beta.3

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.
Files changed (154) hide show
  1. package/dist/index.full.js +25 -10
  2. package/dist/index.full.min.js +4 -4
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +4 -4
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +25 -10
  7. package/es/components/alert/index.mjs +2 -2
  8. package/es/components/alert/src/alert.mjs +5 -37
  9. package/es/components/alert/src/alert.mjs.map +1 -1
  10. package/es/components/alert/src/alert.vue_vue_type_script_lang.mjs +1 -1
  11. package/es/components/alert/src/alert2.mjs +37 -5
  12. package/es/components/alert/src/alert2.mjs.map +1 -1
  13. package/es/components/autocomplete/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  14. package/es/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.mjs +1 -0
  15. package/es/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.mjs.map +1 -1
  16. package/es/components/badge/index.mjs +2 -2
  17. package/es/components/badge/src/badge.mjs +5 -20
  18. package/es/components/badge/src/badge.mjs.map +1 -1
  19. package/es/components/badge/src/badge.vue_vue_type_script_lang.mjs +1 -1
  20. package/es/components/badge/src/badge2.mjs +20 -5
  21. package/es/components/badge/src/badge2.mjs.map +1 -1
  22. package/es/components/color-picker/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  23. package/es/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.mjs +2 -1
  24. package/es/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.mjs.map +1 -1
  25. package/es/components/dropdown/src/dropdown.mjs +1 -1
  26. package/es/components/dropdown/src/dropdown.vue_vue_type_script_lang.mjs.map +1 -1
  27. package/es/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs +1 -0
  28. package/es/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs.map +1 -1
  29. package/es/components/index.mjs +5 -5
  30. package/es/components/menu/src/menu-item.vue_vue_type_script_lang.mjs.map +1 -1
  31. package/es/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.mjs +2 -1
  32. package/es/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.mjs.map +1 -1
  33. package/es/components/popconfirm/src/popconfirm.vue_vue_type_script_lang.mjs.map +1 -1
  34. package/es/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.mjs +2 -1
  35. package/es/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.mjs.map +1 -1
  36. package/es/components/popover/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  37. package/es/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.mjs +2 -1
  38. package/es/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.mjs.map +1 -1
  39. package/es/components/popover/src/popover.mjs +1 -1
  40. package/es/components/result/index.mjs +2 -2
  41. package/es/components/result/src/result.mjs +5 -30
  42. package/es/components/result/src/result.mjs.map +1 -1
  43. package/es/components/result/src/result.vue_vue_type_script_lang.mjs +1 -1
  44. package/es/components/result/src/result2.mjs +30 -5
  45. package/es/components/result/src/result2.mjs.map +1 -1
  46. package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  47. package/es/components/select/src/select.vue_vue_type_template_id_33774f85_lang.mjs +1 -0
  48. package/es/components/select/src/select.vue_vue_type_template_id_33774f85_lang.mjs.map +1 -1
  49. package/es/components/select-v2/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  50. package/es/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.mjs +1 -0
  51. package/es/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.mjs.map +1 -1
  52. package/es/components/skeleton/index.mjs +2 -2
  53. package/es/components/skeleton/src/skeleton.mjs +5 -24
  54. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  55. package/es/components/skeleton/src/skeleton.vue_vue_type_script_lang.mjs +1 -1
  56. package/es/components/skeleton/src/skeleton2.mjs +24 -5
  57. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  58. package/es/components/slider/src/button.vue_vue_type_script_lang.mjs.map +1 -1
  59. package/es/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.mjs +2 -1
  60. package/es/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.mjs.map +1 -1
  61. package/es/components/table/src/filter-panel.vue_vue_type_script_lang.mjs.map +1 -1
  62. package/es/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.mjs +2 -1
  63. package/es/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.mjs.map +1 -1
  64. package/es/components/time-picker/src/common/picker.vue_vue_type_script_lang.mjs +6 -2
  65. package/es/components/time-picker/src/common/picker.vue_vue_type_script_lang.mjs.map +1 -1
  66. package/es/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.mjs +1 -0
  67. package/es/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.mjs.map +1 -1
  68. package/es/components/tooltip/index.mjs +2 -2
  69. package/es/components/tooltip/src/content.vue_vue_type_script_lang.mjs +1 -1
  70. package/es/components/tooltip/src/tooltip.mjs +5 -61
  71. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  72. package/es/components/tooltip/src/tooltip.vue_vue_type_script_lang.mjs +1 -1
  73. package/es/components/tooltip/src/tooltip2.mjs +61 -5
  74. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  75. package/es/components/tooltip/src/trigger.vue_vue_type_script_lang.mjs +1 -1
  76. package/es/index.mjs +5 -5
  77. package/es/version.d.ts +1 -1
  78. package/es/version.mjs +1 -1
  79. package/es/version.mjs.map +1 -1
  80. package/lib/components/alert/index.js +2 -2
  81. package/lib/components/alert/src/alert.js +5 -37
  82. package/lib/components/alert/src/alert.js.map +1 -1
  83. package/lib/components/alert/src/alert.vue_vue_type_script_lang.js +1 -1
  84. package/lib/components/alert/src/alert2.js +37 -5
  85. package/lib/components/alert/src/alert2.js.map +1 -1
  86. package/lib/components/autocomplete/src/index.vue_vue_type_script_lang.js.map +1 -1
  87. package/lib/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.js +1 -0
  88. package/lib/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.js.map +1 -1
  89. package/lib/components/badge/index.js +2 -2
  90. package/lib/components/badge/src/badge.js +5 -19
  91. package/lib/components/badge/src/badge.js.map +1 -1
  92. package/lib/components/badge/src/badge.vue_vue_type_script_lang.js +1 -1
  93. package/lib/components/badge/src/badge2.js +19 -5
  94. package/lib/components/badge/src/badge2.js.map +1 -1
  95. package/lib/components/color-picker/src/index.vue_vue_type_script_lang.js.map +1 -1
  96. package/lib/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.js +2 -1
  97. package/lib/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.js.map +1 -1
  98. package/lib/components/dropdown/src/dropdown.js +1 -1
  99. package/lib/components/dropdown/src/dropdown.vue_vue_type_script_lang.js.map +1 -1
  100. package/lib/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.js +1 -0
  101. package/lib/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.js.map +1 -1
  102. package/lib/components/index.js +5 -5
  103. package/lib/components/menu/src/menu-item.vue_vue_type_script_lang.js.map +1 -1
  104. package/lib/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.js +2 -1
  105. package/lib/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.js.map +1 -1
  106. package/lib/components/popconfirm/src/popconfirm.vue_vue_type_script_lang.js.map +1 -1
  107. package/lib/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.js +2 -1
  108. package/lib/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.js.map +1 -1
  109. package/lib/components/popover/src/index.vue_vue_type_script_lang.js.map +1 -1
  110. package/lib/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.js +2 -1
  111. package/lib/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.js.map +1 -1
  112. package/lib/components/popover/src/popover.js +1 -1
  113. package/lib/components/result/index.js +2 -2
  114. package/lib/components/result/src/result.js +5 -31
  115. package/lib/components/result/src/result.js.map +1 -1
  116. package/lib/components/result/src/result.vue_vue_type_script_lang.js +1 -1
  117. package/lib/components/result/src/result2.js +31 -5
  118. package/lib/components/result/src/result2.js.map +1 -1
  119. package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
  120. package/lib/components/select/src/select.vue_vue_type_template_id_33774f85_lang.js +1 -0
  121. package/lib/components/select/src/select.vue_vue_type_template_id_33774f85_lang.js.map +1 -1
  122. package/lib/components/select-v2/src/select.vue_vue_type_script_lang.js.map +1 -1
  123. package/lib/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.js +1 -0
  124. package/lib/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.js.map +1 -1
  125. package/lib/components/skeleton/index.js +2 -2
  126. package/lib/components/skeleton/src/skeleton.js +5 -23
  127. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  128. package/lib/components/skeleton/src/skeleton.vue_vue_type_script_lang.js +1 -1
  129. package/lib/components/skeleton/src/skeleton2.js +23 -5
  130. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  131. package/lib/components/slider/src/button.vue_vue_type_script_lang.js.map +1 -1
  132. package/lib/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.js +2 -1
  133. package/lib/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.js.map +1 -1
  134. package/lib/components/table/src/filter-panel.vue_vue_type_script_lang.js.map +1 -1
  135. package/lib/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.js +2 -1
  136. package/lib/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.js.map +1 -1
  137. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js +6 -2
  138. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js.map +1 -1
  139. package/lib/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.js +1 -0
  140. package/lib/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.js.map +1 -1
  141. package/lib/components/tooltip/index.js +2 -2
  142. package/lib/components/tooltip/src/content.vue_vue_type_script_lang.js +1 -1
  143. package/lib/components/tooltip/src/tooltip.js +5 -62
  144. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  145. package/lib/components/tooltip/src/tooltip.vue_vue_type_script_lang.js +1 -1
  146. package/lib/components/tooltip/src/tooltip2.js +62 -5
  147. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  148. package/lib/components/tooltip/src/trigger.vue_vue_type_script_lang.js +1 -1
  149. package/lib/index.js +5 -5
  150. package/lib/version.d.ts +1 -1
  151. package/lib/version.js +1 -1
  152. package/lib/version.js.map +1 -1
  153. package/package.json +2 -2
  154. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"select.vue_vue_type_template_id_13e598a4_lang.js","sources":["../../../../../../packages/components/select-v2/src/select.vue?vue&type=template&id=13e598a4&lang.js"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[selectSize ? 'el-select-v2--' + selectSize : '']\"\n class=\"el-select-v2\"\n @click.stop=\"toggleMenu\"\n @mouseenter=\"states.comboBoxHovering = true\"\n @mouseleave=\"states.comboBoxHovering = false\"\n >\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"dropdownMenuVisible\"\n :append-to-body=\"popperAppendToBody\"\n :popper-class=\"`el-select-v2__popper ${popperClass}`\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"['bottom-start', 'top-start', 'right', 'left']\"\n effect=\"light\"\n placement=\"bottom-start\"\n pure\n transition=\"el-zoom-in-top\"\n trigger=\"click\"\n @show=\"handleMenuEnter\"\n @hide=\"states.inputValue = states.displayInputValue\"\n >\n <template #default>\n <div\n ref=\"selectionRef\"\n class=\"el-select-v2__wrapper\"\n :class=\"{\n 'is-focused': states.isComposing,\n 'is-hovering': states.comboBoxHovering,\n 'is-filterable': filterable,\n 'is-disabled': disabled,\n }\"\n >\n <div v-if=\"$slots.prefix\">\n <slot name=\"prefix\"></slot>\n </div>\n <div v-if=\"multiple\" class=\"el-select-v2__selection\">\n <template v-if=\"collapseTags && modelValue.length > 0\">\n <div class=\"el-select-v2__selected-item\">\n <el-tag\n :closable=\"\n !selectDisabled && !states.cachedOptions[0]?.disable\n \"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, states.cachedOptions[0])\"\n >\n <span\n class=\"el-select-v2__tags-text\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ states.cachedOptions[0]?.label }}</span\n >\n </el-tag>\n <el-tag\n v-if=\"modelValue.length > 1\"\n :closable=\"false\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n >\n <span\n class=\"el-select-v2__tags-text\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >+ {{ modelValue.length - 1 }}</span\n >\n </el-tag>\n </div>\n </template>\n\n <template v-else>\n <div\n v-for=\"(selected, idx) in states.cachedOptions\"\n :key=\"idx\"\n class=\"el-select-v2__selected-item\"\n >\n <el-tag\n :key=\"getValueKey(selected)\"\n :closable=\"!selectDisabled && !selected.disabled\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, selected)\"\n >\n <span\n class=\"el-select-v2__tags-text\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ getLabel(selected) }}</span\n >\n </el-tag>\n </div>\n </template>\n <div\n class=\"el-select-v2__selected-item el-select-v2__input-wrapper\"\n :style=\"inputWrapperStyle\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n :autocomplete=\"autocomplete\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n autocapitalize=\"off\"\n :aria-expanded=\"expanded\"\n :aria-labelledby=\"label\"\n class=\"el-select-v2__combobox-input\"\n :class=\"[selectSize ? `is-${selectSize}` : '']\"\n :disabled=\"disabled\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :name=\"name\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @update:modelValue=\"onUpdateInputValue\"\n @focus=\"handleFocus\"\n @input=\"onInput\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.delete.stop=\"handleDel\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n class=\"el-select-v2__input-calculator\"\n v-text=\"states.displayInputValue\"\n >\n </span>\n </div>\n </div>\n <template v-else>\n <div\n class=\"el-select-v2__selected-item el-select-v2__input-wrapper\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n :aria-labelledby=\"label\"\n :aria-expanded=\"expanded\"\n autocapitalize=\"off\"\n :autocomplete=\"autocomplete\"\n class=\"el-select-v2__combobox-input\"\n :disabled=\"disabled\"\n :name=\"name\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @focus=\"handleFocus\"\n @input=\"onInput\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @update:modelValue=\"onUpdateInputValue\"\n />\n </div>\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n class=\"el-select-v2__selected-item el-select-v2__input-calculator\"\n v-text=\"states.displayInputValue\"\n >\n </span>\n </template>\n <span\n v-if=\"shouldShowPlaceholder\"\n :class=\"{\n 'el-select-v2__placeholder': true,\n 'is-transparent':\n states.isComposing ||\n (placeholder && multiple\n ? modelValue.length === 0\n : !hasModelValue),\n }\"\n >\n {{ currentPlaceholder }}\n </span>\n <span class=\"el-select-v2__suffix\">\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClearBtn\"\n :class=\"['el-select-v2__caret', 'el-input__icon', iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n class=\"el-select-v2__caret el-input__icon\"\n @click.prevent.stop=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon\"\n class=\"el-input__icon el-input__validateIcon\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </div>\n </template>\n <template #content>\n <el-select-menu\n ref=\"menuRef\"\n :data=\"filteredOptions\"\n :width=\"popperSize\"\n :hovering-index=\"states.hoveringIndex\"\n :scrollbar-always-on=\"scrollbarAlwaysOn\"\n >\n <template #default=\"scope\">\n <slot v-bind=\"scope\"></slot>\n </template>\n <template #empty>\n <slot name=\"empty\">\n <p class=\"el-select-v2__empty\">\n {{ emptyText ? emptyText : '' }}\n </p>\n </slot>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, toRefs, reactive, vModelText } from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '@element-plus/utils/constants'\nimport ElSelectMenu from './select-dropdown.vue'\nimport useSelect from './useSelect'\nimport { selectV2InjectionKey } from './token'\nimport { SelectProps } from './defaults'\nexport default defineComponent({\n name: 'ElSelectV2',\n components: {\n ElSelectMenu,\n ElTag,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside, ModelText: vModelText },\n props: SelectProps,\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n ],\n\n setup(props, { emit }) {\n const API = useSelect(props, emit)\n // TODO, remove the any cast to align the actual API.\n provide(selectV2InjectionKey, {\n props: reactive({\n ...toRefs(props),\n height: API.popupHeight,\n }),\n onSelect: API.onSelect,\n onHover: API.onHover,\n onKeyboardNavigate: API.onKeyboardNavigate,\n onKeyboardSelect: API.onKeyboardSelect,\n } as any)\n\n return API\n },\n})\n</script>\n"],"names":["_createVNode","_normalizeStyle","_openBlock","_toDisplayString","_createElementBlock","_withCtx","_normalizeClass","_withDirectives"],"mappings":";;;;;;;;;;EAyC+B;;;;EAEZ;;;;0BA2GA;;;kDAsDyB;eAqC3B,KAAK,EAAC;;;;;;;;;;;IA/OnB;IAEC,qFACK;;IAELA,eAAU;;;;MAIT;MACQ;;MACP;MACA;MACA;MACA;MACA;MACA;MACD;MACA,SAAS;MACT,MAAA;MACA;;MAEC;YACI;;;;;;;;;;;;;;gBAcC;;;;6BAEF;;;;;;;;;wBASQ;wBACC,OAAKC;;;;;;;;8CAOAC,eAAO;;;;;yCAGf;;uCAEW;;;;;;8BAKTC;;;;;oCAKG,IAAEC,uBAAG;;;;;;;;wBAST,QAAQ;;;;6BAIHC;;;;0BAIJ;0BACC;;;;;;;;;;;;;;;kBAaL;kBACC;;;;uBAII,EAACC;gCAES;;;;;;;;;;;;;;oBAeZ,qBAAiB,gDAAE,2DAAkB;oBACrC,OAAK;oBACL,OAAK;oBACL,qIAAwC;oBACxC,mEAAmB,qEAAuB;;6BAEnC;;;;;;;;;;mBAOF;;;;;;qCAIN;;;;;;;;sBAUG,EAAE;;;qCAIS;;qCAEE;oCACD;;;;;;oBAMd;oBACD,UAAU;oBACV,MAAK;oBACJ,wCAAgC;;uCAEf;;uEAEV;;;;;;;;;;;;;;;;;wCAYE;;mCAEZC,mCAAe;;;;;gCAInB;;gBAEG;;;;;;;;;;;;;;kBAeE,uEAAiD;;;;;;;;;;aAK5C;;;0BACD;;;oCAGL;;;;;;sCAGuB;;;0BAClB;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"select.vue_vue_type_template_id_13e598a4_lang.js","sources":["../../../../../../packages/components/select-v2/src/select.vue?vue&type=template&id=13e598a4&lang.js"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[selectSize ? 'el-select-v2--' + selectSize : '']\"\n class=\"el-select-v2\"\n @click.stop=\"toggleMenu\"\n @mouseenter=\"states.comboBoxHovering = true\"\n @mouseleave=\"states.comboBoxHovering = false\"\n >\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"dropdownMenuVisible\"\n :append-to-body=\"popperAppendToBody\"\n :popper-class=\"`el-select-v2__popper ${popperClass}`\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"['bottom-start', 'top-start', 'right', 'left']\"\n effect=\"light\"\n placement=\"bottom-start\"\n pure\n transition=\"el-zoom-in-top\"\n trigger=\"click\"\n persistent\n @show=\"handleMenuEnter\"\n @hide=\"states.inputValue = states.displayInputValue\"\n >\n <template #default>\n <div\n ref=\"selectionRef\"\n class=\"el-select-v2__wrapper\"\n :class=\"{\n 'is-focused': states.isComposing,\n 'is-hovering': states.comboBoxHovering,\n 'is-filterable': filterable,\n 'is-disabled': disabled,\n }\"\n >\n <div v-if=\"$slots.prefix\">\n <slot name=\"prefix\"></slot>\n </div>\n <div v-if=\"multiple\" class=\"el-select-v2__selection\">\n <template v-if=\"collapseTags && modelValue.length > 0\">\n <div class=\"el-select-v2__selected-item\">\n <el-tag\n :closable=\"\n !selectDisabled && !states.cachedOptions[0]?.disable\n \"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, states.cachedOptions[0])\"\n >\n <span\n class=\"el-select-v2__tags-text\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ states.cachedOptions[0]?.label }}</span\n >\n </el-tag>\n <el-tag\n v-if=\"modelValue.length > 1\"\n :closable=\"false\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n >\n <span\n class=\"el-select-v2__tags-text\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >+ {{ modelValue.length - 1 }}</span\n >\n </el-tag>\n </div>\n </template>\n\n <template v-else>\n <div\n v-for=\"(selected, idx) in states.cachedOptions\"\n :key=\"idx\"\n class=\"el-select-v2__selected-item\"\n >\n <el-tag\n :key=\"getValueKey(selected)\"\n :closable=\"!selectDisabled && !selected.disabled\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, selected)\"\n >\n <span\n class=\"el-select-v2__tags-text\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ getLabel(selected) }}</span\n >\n </el-tag>\n </div>\n </template>\n <div\n class=\"el-select-v2__selected-item el-select-v2__input-wrapper\"\n :style=\"inputWrapperStyle\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n :autocomplete=\"autocomplete\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n autocapitalize=\"off\"\n :aria-expanded=\"expanded\"\n :aria-labelledby=\"label\"\n class=\"el-select-v2__combobox-input\"\n :class=\"[selectSize ? `is-${selectSize}` : '']\"\n :disabled=\"disabled\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :name=\"name\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @update:modelValue=\"onUpdateInputValue\"\n @focus=\"handleFocus\"\n @input=\"onInput\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.delete.stop=\"handleDel\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n class=\"el-select-v2__input-calculator\"\n v-text=\"states.displayInputValue\"\n >\n </span>\n </div>\n </div>\n <template v-else>\n <div\n class=\"el-select-v2__selected-item el-select-v2__input-wrapper\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n :aria-labelledby=\"label\"\n :aria-expanded=\"expanded\"\n autocapitalize=\"off\"\n :autocomplete=\"autocomplete\"\n class=\"el-select-v2__combobox-input\"\n :disabled=\"disabled\"\n :name=\"name\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @focus=\"handleFocus\"\n @input=\"onInput\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @update:modelValue=\"onUpdateInputValue\"\n />\n </div>\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n class=\"el-select-v2__selected-item el-select-v2__input-calculator\"\n v-text=\"states.displayInputValue\"\n >\n </span>\n </template>\n <span\n v-if=\"shouldShowPlaceholder\"\n :class=\"{\n 'el-select-v2__placeholder': true,\n 'is-transparent':\n states.isComposing ||\n (placeholder && multiple\n ? modelValue.length === 0\n : !hasModelValue),\n }\"\n >\n {{ currentPlaceholder }}\n </span>\n <span class=\"el-select-v2__suffix\">\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClearBtn\"\n :class=\"['el-select-v2__caret', 'el-input__icon', iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n class=\"el-select-v2__caret el-input__icon\"\n @click.prevent.stop=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon\"\n class=\"el-input__icon el-input__validateIcon\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </div>\n </template>\n <template #content>\n <el-select-menu\n ref=\"menuRef\"\n :data=\"filteredOptions\"\n :width=\"popperSize\"\n :hovering-index=\"states.hoveringIndex\"\n :scrollbar-always-on=\"scrollbarAlwaysOn\"\n >\n <template #default=\"scope\">\n <slot v-bind=\"scope\"></slot>\n </template>\n <template #empty>\n <slot name=\"empty\">\n <p class=\"el-select-v2__empty\">\n {{ emptyText ? emptyText : '' }}\n </p>\n </slot>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, toRefs, reactive, vModelText } from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '@element-plus/utils/constants'\nimport ElSelectMenu from './select-dropdown.vue'\nimport useSelect from './useSelect'\nimport { selectV2InjectionKey } from './token'\nimport { SelectProps } from './defaults'\nexport default defineComponent({\n name: 'ElSelectV2',\n components: {\n ElSelectMenu,\n ElTag,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside, ModelText: vModelText },\n props: SelectProps,\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n ],\n\n setup(props, { emit }) {\n const API = useSelect(props, emit)\n // TODO, remove the any cast to align the actual API.\n provide(selectV2InjectionKey, {\n props: reactive({\n ...toRefs(props),\n height: API.popupHeight,\n }),\n onSelect: API.onSelect,\n onHover: API.onHover,\n onKeyboardNavigate: API.onKeyboardNavigate,\n onKeyboardSelect: API.onKeyboardSelect,\n } as any)\n\n return API\n },\n})\n</script>\n"],"names":["_createVNode","_normalizeStyle","_openBlock","_toDisplayString","_createElementBlock","_withCtx","_normalizeClass","_withDirectives"],"mappings":";;;;;;;;;;EA0C+B;;;;EAEZ;;;;0BA2GA;;;kDAsDyB;eAqC3B,KAAK,EAAC;;;;;;;;;;;IAhPnB;IAEC,qFACK;;IAELA,eAAU;;;;MAIT;MACQ;;MACP;MACA;MACA;MACA;MACA;MACA;MACD;MACA,SAAS;MACT;MACA,YAAW;MACX;;MAEC;YACI;;;;;;;;;;;;;;gBAcC;;;;6BAEF;;;;;;;;;wBASQ;wBACC,OAAKC;;;;;;;;8CAOAC,eAAO;;;;;yCAGf;;uCAEW;;;;;;8BAKTC;;;;;oCAKG,IAAEC,uBAAG;;;;;;;;wBAST,QAAQ;;;;6BAIHC;;;;0BAIJ;0BACC;;;;;;;;;;;;;;;kBAaL;kBACC;;;;uBAII,EAACC;gCAES;;;;;;;;;;;;;;oBAeZ,qBAAiB,gDAAE,2DAAkB;oBACrC,OAAK;oBACL,OAAK;oBACL,qIAAwC;oBACxC,mEAAmB,qEAAuB;;6BAEnC;;;;;;;;;;mBAOF;;;;;;qCAIN;;;;;;;;sBAUG,EAAE;;;qCAIS;;qCAEE;oCACD;;;;;;oBAMd;oBACD,UAAU;oBACV,MAAK;oBACJ,wCAAgC;;uCAEf;;uEAEV;;;;;;;;;;;;;;;;;wCAYE;;mCAEZC,mCAAe;;;;;gCAInB;;gBAEG;;;;;;;;;;;;;;kBAeE,uEAAiD;;;;;;;;;;aAK5C;;;0BACD;;;oCAGL;;;;;;sCAGuB;;;0BAClB;;;;;;;;;;;;;;;;"}
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var withInstall = require('../../utils/with-install.js');
6
- require('./src/skeleton2.js');
6
+ require('./src/skeleton.js');
7
7
  require('./src/skeleton-item2.js');
8
- var skeleton = require('./src/skeleton.js');
8
+ var skeleton = require('./src/skeleton2.js');
9
9
  var skeletonItem = require('./src/skeleton-item.js');
10
10
  var skeleton_vue_vue_type_script_lang = require('./src/skeleton.vue_vue_type_script_lang.js');
11
11
  var skeletonItem_vue_vue_type_script_lang = require('./src/skeleton-item.vue_vue_type_script_lang.js');
@@ -2,29 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var props = require('../../../utils/props.js');
5
+ var skeleton_vue_vue_type_script_lang = require('./skeleton.vue_vue_type_script_lang.js');
6
+ var skeleton_vue_vue_type_template_id_26fa9225_lang = require('./skeleton.vue_vue_type_template_id_26fa9225_lang.js');
6
7
 
7
- const skeletonProps = props.buildProps({
8
- animated: {
9
- type: Boolean,
10
- default: false
11
- },
12
- count: {
13
- type: Number,
14
- default: 1
15
- },
16
- rows: {
17
- type: Number,
18
- default: 3
19
- },
20
- loading: {
21
- type: Boolean,
22
- default: true
23
- },
24
- throttle: {
25
- type: Number
26
- }
27
- });
8
+ skeleton_vue_vue_type_script_lang["default"].render = skeleton_vue_vue_type_template_id_26fa9225_lang.render;
9
+ skeleton_vue_vue_type_script_lang["default"].__file = "packages/components/skeleton/src/skeleton.vue";
28
10
 
29
- exports.skeletonProps = skeletonProps;
11
+ exports["default"] = skeleton_vue_vue_type_script_lang["default"];
30
12
  //# sourceMappingURL=skeleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.js","sources":["../../../../../../packages/components/skeleton/src/skeleton.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils/props'\nimport type Skeleton from './skeleton.vue'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const skeletonProps = buildProps({\n animated: {\n type: Boolean,\n default: false,\n },\n count: {\n type: Number,\n default: 1,\n },\n rows: {\n type: Number,\n default: 3,\n },\n loading: {\n type: Boolean,\n default: true,\n },\n throttle: {\n type: Number,\n },\n} as const)\nexport type SkeletonProps = ExtractPropTypes<typeof skeletonProps>\n\nexport type SkeletonInstance = InstanceType<typeof Skeleton>\n"],"names":["buildProps"],"mappings":";;;;;;AACY,MAAC,aAAa,GAAGA,gBAAU,CAAC;AACxC,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"skeleton.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var vue = require('vue');
6
6
  require('../../../hooks/index.js');
7
7
  require('./skeleton-item2.js');
8
- var skeleton = require('./skeleton.js');
8
+ var skeleton = require('./skeleton2.js');
9
9
  var skeletonItem_vue_vue_type_script_lang = require('./skeleton-item.vue_vue_type_script_lang.js');
10
10
  var index = require('../../../hooks/use-throttle-render/index.js');
11
11
 
@@ -2,11 +2,29 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var skeleton_vue_vue_type_script_lang = require('./skeleton.vue_vue_type_script_lang.js');
6
- var skeleton_vue_vue_type_template_id_26fa9225_lang = require('./skeleton.vue_vue_type_template_id_26fa9225_lang.js');
5
+ var props = require('../../../utils/props.js');
7
6
 
8
- skeleton_vue_vue_type_script_lang["default"].render = skeleton_vue_vue_type_template_id_26fa9225_lang.render;
9
- skeleton_vue_vue_type_script_lang["default"].__file = "packages/components/skeleton/src/skeleton.vue";
7
+ const skeletonProps = props.buildProps({
8
+ animated: {
9
+ type: Boolean,
10
+ default: false
11
+ },
12
+ count: {
13
+ type: Number,
14
+ default: 1
15
+ },
16
+ rows: {
17
+ type: Number,
18
+ default: 3
19
+ },
20
+ loading: {
21
+ type: Boolean,
22
+ default: true
23
+ },
24
+ throttle: {
25
+ type: Number
26
+ }
27
+ });
10
28
 
11
- exports["default"] = skeleton_vue_vue_type_script_lang["default"];
29
+ exports.skeletonProps = skeletonProps;
12
30
  //# sourceMappingURL=skeleton2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"skeleton2.js","sources":["../../../../../../packages/components/skeleton/src/skeleton.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils/props'\nimport type Skeleton from './skeleton.vue'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const skeletonProps = buildProps({\n animated: {\n type: Boolean,\n default: false,\n },\n count: {\n type: Number,\n default: 1,\n },\n rows: {\n type: Number,\n default: 3,\n },\n loading: {\n type: Boolean,\n default: true,\n },\n throttle: {\n type: Number,\n },\n} as const)\nexport type SkeletonProps = ExtractPropTypes<typeof skeletonProps>\n\nexport type SkeletonInstance = InstanceType<typeof Skeleton>\n"],"names":["buildProps"],"mappings":";;;;;;AACY,MAAC,aAAa,GAAGA,gBAAU,CAAC;AACxC,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"button.vue_vue_type_script_lang.js","sources":["../../../../../../packages/components/slider/src/button.vue"],"sourcesContent":["<template>\n <div\n ref=\"button\"\n class=\"el-slider__button-wrapper\"\n :class=\"{ hover: hovering, dragging: dragging }\"\n :style=\"wrapperStyle\"\n tabindex=\"0\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n @mousedown=\"onButtonDown\"\n @touchstart=\"onButtonDown\"\n @focus=\"handleMouseEnter\"\n @blur=\"handleMouseLeave\"\n @keydown.left=\"onLeftKeyDown\"\n @keydown.right=\"onRightKeyDown\"\n @keydown.down.prevent=\"onLeftKeyDown\"\n @keydown.up.prevent=\"onRightKeyDown\"\n >\n <el-tooltip\n ref=\"tooltip\"\n v-model=\"tooltipVisible\"\n placement=\"top\"\n :stop-popper-mouse-event=\"false\"\n :popper-class=\"tooltipClass\"\n :disabled=\"!showTooltip\"\n manual\n >\n <template #content>\n <span>{{ formatValue }}</span>\n </template>\n <div\n class=\"el-slider__button\"\n :class=\"{ hover: hovering, dragging: dragging }\"\n ></div>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, reactive, toRefs } from 'vue'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\nimport { useSliderButton } from './useSliderButton'\n\nexport default defineComponent({\n name: 'ElSliderButton',\n\n components: {\n ElTooltip,\n },\n\n props: {\n modelValue: {\n type: Number,\n default: 0,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n tooltipClass: {\n type: String,\n default: '',\n },\n },\n\n emits: [UPDATE_MODEL_EVENT],\n\n setup(props, { emit }) {\n const initData = reactive({\n hovering: false,\n dragging: false,\n isClick: false,\n startX: 0,\n currentX: 0,\n startY: 0,\n currentY: 0,\n startPosition: 0,\n newPosition: 0,\n oldValue: props.modelValue,\n })\n\n const {\n tooltip,\n showTooltip,\n tooltipVisible,\n wrapperStyle,\n formatValue,\n handleMouseEnter,\n handleMouseLeave,\n onButtonDown,\n onLeftKeyDown,\n onRightKeyDown,\n setPosition,\n } = useSliderButton(props, initData, emit)\n\n const { hovering, dragging } = toRefs(initData)\n\n return {\n tooltip,\n tooltipVisible,\n showTooltip,\n wrapperStyle,\n formatValue,\n handleMouseEnter,\n handleMouseLeave,\n onButtonDown,\n onLeftKeyDown,\n onRightKeyDown,\n setPosition,\n\n hovering,\n dragging,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElTooltip","UPDATE_MODEL_EVENT","useSliderButton"],"mappings":";;;;;;;;;AA0CA,aAAeA,mBAAe;;AAE9B,EAAE,UAAU;eACRC,eAAS;;EAEX,KAAK,EAAE;IACL;;;KAGC;IACD,QAAQ,EAAE;MACR,IAAI,EAAE;MACN,OAAO,EAAE;KACV;IACD;MACE,IAAI,EAAE,MAAM;MACZ,OAAO,EAAE,EAAE;KACZ;;OAEE,EAAE,CAACC;OACH,CAAC,KAAK,EAAE,EAAE;IACb;;;MAGE,OAAO,EAAE,KAAK;;MAEd,WAAW;MACX,MAAM,EAAE,CAAC;MACT,QAAQ,EAAE,CAAC;MACX,aAAa,EAAE;MACf,WAAW,EAAE,CAAC;MACd,QAAQ;MACR,CAAC;UACG;MACJ,OAAO;MACP,WAAW;MACX,cAAc;MACd,YAAY;;;MAGZ;MACA;MACA;MACA,cAAc;MACd,WAAW;QACTC;UACE,EAAE,QAAQ,EAAE;WACX;MACL,OAAO;MACP;MACA,WAAW;MACX;MACA,WAAW;;MAEX,gBAAgB;;MAEhB;MACA;MACA,WAAW;MACX,QAAQ;MACR,QAAQ;MACR;;;;;;"}
1
+ {"version":3,"file":"button.vue_vue_type_script_lang.js","sources":["../../../../../../packages/components/slider/src/button.vue"],"sourcesContent":["<template>\n <div\n ref=\"button\"\n class=\"el-slider__button-wrapper\"\n :class=\"{ hover: hovering, dragging: dragging }\"\n :style=\"wrapperStyle\"\n tabindex=\"0\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n @mousedown=\"onButtonDown\"\n @touchstart=\"onButtonDown\"\n @focus=\"handleMouseEnter\"\n @blur=\"handleMouseLeave\"\n @keydown.left=\"onLeftKeyDown\"\n @keydown.right=\"onRightKeyDown\"\n @keydown.down.prevent=\"onLeftKeyDown\"\n @keydown.up.prevent=\"onRightKeyDown\"\n >\n <el-tooltip\n ref=\"tooltip\"\n v-model=\"tooltipVisible\"\n placement=\"top\"\n :stop-popper-mouse-event=\"false\"\n :popper-class=\"tooltipClass\"\n :disabled=\"!showTooltip\"\n manual\n persistent\n >\n <template #content>\n <span>{{ formatValue }}</span>\n </template>\n <div\n class=\"el-slider__button\"\n :class=\"{ hover: hovering, dragging: dragging }\"\n ></div>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, reactive, toRefs } from 'vue'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\nimport { useSliderButton } from './useSliderButton'\n\nexport default defineComponent({\n name: 'ElSliderButton',\n\n components: {\n ElTooltip,\n },\n\n props: {\n modelValue: {\n type: Number,\n default: 0,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n tooltipClass: {\n type: String,\n default: '',\n },\n },\n\n emits: [UPDATE_MODEL_EVENT],\n\n setup(props, { emit }) {\n const initData = reactive({\n hovering: false,\n dragging: false,\n isClick: false,\n startX: 0,\n currentX: 0,\n startY: 0,\n currentY: 0,\n startPosition: 0,\n newPosition: 0,\n oldValue: props.modelValue,\n })\n\n const {\n tooltip,\n showTooltip,\n tooltipVisible,\n wrapperStyle,\n formatValue,\n handleMouseEnter,\n handleMouseLeave,\n onButtonDown,\n onLeftKeyDown,\n onRightKeyDown,\n setPosition,\n } = useSliderButton(props, initData, emit)\n\n const { hovering, dragging } = toRefs(initData)\n\n return {\n tooltip,\n tooltipVisible,\n showTooltip,\n wrapperStyle,\n formatValue,\n handleMouseEnter,\n handleMouseLeave,\n onButtonDown,\n onLeftKeyDown,\n onRightKeyDown,\n setPosition,\n\n hovering,\n dragging,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElTooltip","UPDATE_MODEL_EVENT","useSliderButton"],"mappings":";;;;;;;;;AA2CA,aAAeA,mBAAe;;AAE9B,EAAE,UAAU;eACRC,eAAS;;EAEX,KAAK,EAAE;IACL;;;KAGC;IACD,QAAQ,EAAE;MACR,IAAI,EAAE;MACN,OAAO,EAAE;KACV;IACD;MACE,IAAI,EAAE,MAAM;MACZ,OAAO,EAAE,EAAE;KACZ;;OAEE,EAAE,CAACC;OACH,CAAC,KAAK,EAAE,EAAE;IACb;;;MAGE,OAAO,EAAE,KAAK;;MAEd,WAAW;MACX,MAAM,EAAE,CAAC;MACT,QAAQ,EAAE,CAAC;MACX,aAAa,EAAE;MACf,WAAW,EAAE,CAAC;MACd,QAAQ;MACR,CAAC;UACG;MACJ,OAAO;MACP,WAAW;MACX,cAAc;MACd,YAAY;;;MAGZ;MACA;MACA;MACA,cAAc;MACd,WAAW;QACTC;UACE,EAAE,QAAQ,EAAE;WACX;MACL,OAAO;MACP;MACA,WAAW;MACX;MACA,WAAW;;MAEX,gBAAgB;;MAEhB;MACA;MACA,WAAW;MACX,QAAQ;MACR,QAAQ;MACR;;;;;;"}
@@ -32,7 +32,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
32
32
  "stop-popper-mouse-event": false,
33
33
  "popper-class": _ctx.tooltipClass,
34
34
  disabled: !_ctx.showTooltip,
35
- manual: ""
35
+ manual: "",
36
+ persistent: ""
36
37
  }, {
37
38
  content: vue.withCtx(() => [
38
39
  vue.createElementVNode("span", null, vue.toDisplayString(_ctx.formatValue), 1)
@@ -1 +1 @@
1
- {"version":3,"file":"button.vue_vue_type_template_id_9cd3e794_lang.js","sources":["../../../../../../packages/components/slider/src/button.vue?vue&type=template&id=9cd3e794&lang.js"],"sourcesContent":["<template>\n <div\n ref=\"button\"\n class=\"el-slider__button-wrapper\"\n :class=\"{ hover: hovering, dragging: dragging }\"\n :style=\"wrapperStyle\"\n tabindex=\"0\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n @mousedown=\"onButtonDown\"\n @touchstart=\"onButtonDown\"\n @focus=\"handleMouseEnter\"\n @blur=\"handleMouseLeave\"\n @keydown.left=\"onLeftKeyDown\"\n @keydown.right=\"onRightKeyDown\"\n @keydown.down.prevent=\"onLeftKeyDown\"\n @keydown.up.prevent=\"onRightKeyDown\"\n >\n <el-tooltip\n ref=\"tooltip\"\n v-model=\"tooltipVisible\"\n placement=\"top\"\n :stop-popper-mouse-event=\"false\"\n :popper-class=\"tooltipClass\"\n :disabled=\"!showTooltip\"\n manual\n >\n <template #content>\n <span>{{ formatValue }}</span>\n </template>\n <div\n class=\"el-slider__button\"\n :class=\"{ hover: hovering, dragging: dragging }\"\n ></div>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, reactive, toRefs } from 'vue'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\nimport { useSliderButton } from './useSliderButton'\n\nexport default defineComponent({\n name: 'ElSliderButton',\n\n components: {\n ElTooltip,\n },\n\n props: {\n modelValue: {\n type: Number,\n default: 0,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n tooltipClass: {\n type: String,\n default: '',\n },\n },\n\n emits: [UPDATE_MODEL_EVENT],\n\n setup(props, { emit }) {\n const initData = reactive({\n hovering: false,\n dragging: false,\n isClick: false,\n startX: 0,\n currentX: 0,\n startY: 0,\n currentY: 0,\n startPosition: 0,\n newPosition: 0,\n oldValue: props.modelValue,\n })\n\n const {\n tooltip,\n showTooltip,\n tooltipVisible,\n wrapperStyle,\n formatValue,\n handleMouseEnter,\n handleMouseLeave,\n onButtonDown,\n onLeftKeyDown,\n onRightKeyDown,\n setPosition,\n } = useSliderButton(props, initData, emit)\n\n const { hovering, dragging } = toRefs(initData)\n\n return {\n tooltip,\n tooltipVisible,\n showTooltip,\n wrapperStyle,\n formatValue,\n handleMouseEnter,\n handleMouseLeave,\n onButtonDown,\n onLeftKeyDown,\n onRightKeyDown,\n setPosition,\n\n hovering,\n dragging,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;IAEI,KAAI;IACJ;IAEC,uBAAO,iBAAY;IACpB;IACC;IACA,YAAU;IACV,qDAAW;IACX,qGAAwB;IACxB;8GACsB;aACf;8DAAO;;;;;;;MAMb;;;MAEA;MACC,2BAAyB;MACzB;;MAED;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"button.vue_vue_type_template_id_9cd3e794_lang.js","sources":["../../../../../../packages/components/slider/src/button.vue?vue&type=template&id=9cd3e794&lang.js"],"sourcesContent":["<template>\n <div\n ref=\"button\"\n class=\"el-slider__button-wrapper\"\n :class=\"{ hover: hovering, dragging: dragging }\"\n :style=\"wrapperStyle\"\n tabindex=\"0\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n @mousedown=\"onButtonDown\"\n @touchstart=\"onButtonDown\"\n @focus=\"handleMouseEnter\"\n @blur=\"handleMouseLeave\"\n @keydown.left=\"onLeftKeyDown\"\n @keydown.right=\"onRightKeyDown\"\n @keydown.down.prevent=\"onLeftKeyDown\"\n @keydown.up.prevent=\"onRightKeyDown\"\n >\n <el-tooltip\n ref=\"tooltip\"\n v-model=\"tooltipVisible\"\n placement=\"top\"\n :stop-popper-mouse-event=\"false\"\n :popper-class=\"tooltipClass\"\n :disabled=\"!showTooltip\"\n manual\n persistent\n >\n <template #content>\n <span>{{ formatValue }}</span>\n </template>\n <div\n class=\"el-slider__button\"\n :class=\"{ hover: hovering, dragging: dragging }\"\n ></div>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, reactive, toRefs } from 'vue'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\nimport { useSliderButton } from './useSliderButton'\n\nexport default defineComponent({\n name: 'ElSliderButton',\n\n components: {\n ElTooltip,\n },\n\n props: {\n modelValue: {\n type: Number,\n default: 0,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n tooltipClass: {\n type: String,\n default: '',\n },\n },\n\n emits: [UPDATE_MODEL_EVENT],\n\n setup(props, { emit }) {\n const initData = reactive({\n hovering: false,\n dragging: false,\n isClick: false,\n startX: 0,\n currentX: 0,\n startY: 0,\n currentY: 0,\n startPosition: 0,\n newPosition: 0,\n oldValue: props.modelValue,\n })\n\n const {\n tooltip,\n showTooltip,\n tooltipVisible,\n wrapperStyle,\n formatValue,\n handleMouseEnter,\n handleMouseLeave,\n onButtonDown,\n onLeftKeyDown,\n onRightKeyDown,\n setPosition,\n } = useSliderButton(props, initData, emit)\n\n const { hovering, dragging } = toRefs(initData)\n\n return {\n tooltip,\n tooltipVisible,\n showTooltip,\n wrapperStyle,\n formatValue,\n handleMouseEnter,\n handleMouseLeave,\n onButtonDown,\n onLeftKeyDown,\n onRightKeyDown,\n setPosition,\n\n hovering,\n dragging,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;IAEI,KAAI;IACJ;IAEC,uBAAO,iBAAY;IACpB;IACC;IACA,YAAU;IACV,qDAAW;IACX,qGAAwB;IACxB;8GACsB;aACf;8DAAO;;;;;;;MAMb;;;MAEA;MACC,2BAAyB;MACzB;MACA;;MAED;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"filter-panel.vue_vue_type_script_lang.js","sources":["../../../../../../packages/components/table/src/filter-panel.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltip\"\n v-model:visible=\"tooltipVisible\"\n :offset=\"0\"\n :placement=\"placement\"\n :show-arrow=\"false\"\n :stop-popper-mouse-event=\"false\"\n append-to-body\n effect=\"light\"\n pure\n popper-class=\"el-table-filter\"\n >\n <template #content>\n <div v-if=\"multiple\">\n <div class=\"el-table-filter__content\">\n <el-scrollbar wrap-class=\"el-table-filter__wrap\">\n <el-checkbox-group\n v-model=\"filteredValue\"\n class=\"el-table-filter__checkbox-group\"\n >\n <el-checkbox\n v-for=\"filter in filters\"\n :key=\"filter.value\"\n :label=\"filter.value\"\n >\n {{ filter.text }}\n </el-checkbox>\n </el-checkbox-group>\n </el-scrollbar>\n </div>\n <div class=\"el-table-filter__bottom\">\n <button\n :class=\"{ 'is-disabled': filteredValue.length === 0 }\"\n :disabled=\"filteredValue.length === 0\"\n type=\"button\"\n @click=\"handleConfirm\"\n >\n {{ t('el.table.confirmFilter') }}\n </button>\n <button type=\"button\" @click=\"handleReset\">\n {{ t('el.table.resetFilter') }}\n </button>\n </div>\n </div>\n <ul v-else class=\"el-table-filter__list\">\n <li\n :class=\"{\n 'is-active': filterValue === undefined || filterValue === null,\n }\"\n class=\"el-table-filter__list-item\"\n @click=\"handleSelect(null)\"\n >\n {{ t('el.table.clearFilter') }}\n </li>\n <li\n v-for=\"filter in filters\"\n :key=\"filter.value\"\n :class=\"{ 'is-active': isActive(filter) }\"\n :label=\"filter.value\"\n class=\"el-table-filter__list-item\"\n @click=\"handleSelect(filter.value)\"\n >\n {{ filter.text }}\n </li>\n </ul>\n </template>\n <template #default>\n <span\n v-click-outside:[popperPaneRef]=\"hideFilterPanel\"\n class=\"el-table__column-filter-trigger el-none-outline\"\n @click=\"showFilterPanel\"\n >\n <el-icon>\n <arrow-up v-if=\"column.filterOpened\" />\n <arrow-down v-else />\n </el-icon>\n </span>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, getCurrentInstance, watch } from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useLocale } from '@element-plus/hooks'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport type { Placement } from '@element-plus/components/popper'\n\nimport type { WritableComputedRef, PropType } from 'vue'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { TableHeader } from './table-header'\nimport type { Store } from './store'\n\nconst { CheckboxGroup: ElCheckboxGroup } = ElCheckbox\n\nexport default defineComponent({\n name: 'ElTableFilterPanel',\n components: {\n ElCheckbox,\n ElCheckboxGroup,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n ArrowDown,\n ArrowUp,\n },\n directives: { ClickOutside },\n props: {\n placement: {\n type: String as PropType<Placement>,\n default: 'bottom-start',\n },\n store: {\n type: Object as PropType<Store<unknown>>,\n },\n column: {\n type: Object as PropType<TableColumnCtx<unknown>>,\n },\n upDataColumn: {\n type: Function,\n },\n },\n setup(props) {\n const instance = getCurrentInstance()\n const { t } = useLocale()\n const parent = instance.parent as TableHeader\n if (!parent.filterPanels.value[props.column.id]) {\n parent.filterPanels.value[props.column.id] = instance\n }\n const tooltipVisible = ref(false)\n const tooltip = ref<InstanceType<typeof ElTooltip> | null>(null)\n const filters = computed(() => {\n return props.column && props.column.filters\n })\n const filterValue = computed({\n get: () => (props.column.filteredValue || [])[0],\n set: (value: string) => {\n if (filteredValue.value) {\n if (typeof value !== 'undefined' && value !== null) {\n filteredValue.value.splice(0, 1, value)\n } else {\n filteredValue.value.splice(0, 1)\n }\n }\n },\n })\n const filteredValue: WritableComputedRef<unknown[]> = computed({\n get() {\n if (props.column) {\n return props.column.filteredValue || []\n }\n return []\n },\n set(value: unknown[]) {\n if (props.column) {\n props.upDataColumn('filteredValue', value)\n }\n },\n })\n const multiple = computed(() => {\n if (props.column) {\n return props.column.filterMultiple\n }\n return true\n })\n const isActive = (filter) => {\n return filter.value === filterValue.value\n }\n const hidden = () => {\n tooltipVisible.value = false\n }\n const showFilterPanel = (e: MouseEvent) => {\n e.stopPropagation()\n tooltipVisible.value = !tooltipVisible.value\n }\n const hideFilterPanel = () => {\n tooltipVisible.value = false\n }\n const handleConfirm = () => {\n confirmFilter(filteredValue.value)\n hidden()\n }\n const handleReset = () => {\n filteredValue.value = []\n confirmFilter(filteredValue.value)\n hidden()\n }\n const handleSelect = (_filterValue?: string) => {\n filterValue.value = _filterValue\n if (typeof _filterValue !== 'undefined' && _filterValue !== null) {\n confirmFilter(filteredValue.value)\n } else {\n confirmFilter([])\n }\n hidden()\n }\n const confirmFilter = (filteredValue: unknown[]) => {\n props.store.commit('filterChange', {\n column: props.column,\n values: filteredValue,\n })\n props.store.updateAllSelected()\n }\n watch(\n tooltipVisible,\n (value) => {\n // todo\n if (props.column) {\n props.upDataColumn('filterOpened', value)\n }\n },\n {\n immediate: true,\n }\n )\n\n const popperPaneRef = computed(() => {\n return tooltip.value?.popperRef?.contentRef\n })\n\n return {\n tooltipVisible,\n multiple,\n filteredValue,\n filterValue,\n filters,\n handleConfirm,\n handleReset,\n handleSelect,\n isActive,\n t,\n showFilterPanel,\n hideFilterPanel,\n popperPaneRef,\n tooltip,\n }\n },\n})\n</script>\n"],"names":["ElCheckbox","defineComponent","ElScrollbar","ElIcon","ArrowUp","computed"],"mappings":";;;;;;;;;;;;;;;AA0FA,QAAQ,aAAa,iBAAiB,EAAE,GAAGA,gBAAU,CAAC;AACtD,aAAeC,oBAAgB;;AAE/B,EAAE,UAAU,EAAE;AACd,gBAAID,gBAAU;AACd,IAAI,eAAe;AACnB,iBAAIE,mBAAW;;AAEf,YAAIC,cAAM;;AAEV,aAAIC,gBAAO;GACR;EACD,UAAU,EAAE;OACP,EAAE;IACL,SAAS,EAAE;MACT,IAAI,EAAE;MACN,OAAO;KACR;IACD,KAAK,EAAE;MACL,IAAI;;IAEN,MAAM,EAAE;MACN;KACD;gBACW;MACV,IAAI,EAAE,QAAQ;KACf;;OAEE,CAAC,KAAK,EAAE;IACX;IACA,MAAM,EAAE;UACF,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B;MACE,MAAM,CAAC;;IAET;;IAEA,MAAM;MACJ,OAAO,MAAM,MAAM,IAAI,KAAK,CAAC;KAC9B,CAAC,CAAC;IACH,MAAM,WAAW,GAAGC,YAAQ,CAAC;SACxB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,GAAG;MAC/C,GAAG,EAAE,CAAC,KAAK,KAAK;;UAEZ,IAAI,OAAO,UAAU;YACnB,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;WACzC;0BACe,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;;OAGtC;MACD,CAAC;uBACgB,GAAGA;;YAEd,KAAK,CAAC,MAAM,EAAE;UAChB,OAAO;;;;MAIX;;UAEI,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;SAC5C;;;;UAIC,KAAK,CAAC;;OAET;aACM,IAAI,CAAC;;;MAGZ;KACD;IACD,MAAM,MAAM,GAAG,MAAM;MACnB,cAAc,CAAC;;;MAGf,CAAC,CAAC;;KAEH,CAAC;UACI,kBAAkB,MAAM;;KAE7B,CAAC;UACI,aAAa,SAAS;;MAE1B,MAAM,EAAE,CAAC;MACT;UACI,WAAW,GAAG,MAAM;;MAExB,aAAa,CAAC,cAAc;MAC5B,MAAM,EAAE,CAAC;;IAEX,MAAM,YAAY,IAAI;MACpB,WAAW,CAAC,KAAK,GAAG,YAAY,CAAC;MACjC,IAAI;;OAEH,MAAM;QACL,aAAa,CAAC,EAAE,EAAE;OACnB;MACD,MAAM;;IAER,MAAM,aAAa,GAAG,CAAC,cAAc,KAAK;MACxC,KAAK,CAAC,KAAK,CAAC,MAAM;cACV,OAAO,CAAC,MAAM;QACpB,MAAM,EAAE,cAAc;QACtB,CAAC;WACE,CAAC,KAAK,CAAC;MACZ;aACG,CAAC;;QAEF,KAAK,CAAC,YAAY,CAAC,gBAAgB,KAAK,CAAC,CAAC;OAC3C;;iBAEU,IAAI;MACf,CAAC;UACG,aAAa,GAAGA,YAAQ,CAAC;;MAE7B;MACA,CAAC;WACI;;cAEG;mBACK;;MAEb;MACA;iBACW;MACX;;;MAGA,eAAe;MACf,eAAe;;;KAGhB,CAAC;;;;;;"}
1
+ {"version":3,"file":"filter-panel.vue_vue_type_script_lang.js","sources":["../../../../../../packages/components/table/src/filter-panel.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltip\"\n v-model:visible=\"tooltipVisible\"\n :offset=\"0\"\n :placement=\"placement\"\n :show-arrow=\"false\"\n :stop-popper-mouse-event=\"false\"\n append-to-body\n effect=\"light\"\n pure\n popper-class=\"el-table-filter\"\n persistent\n >\n <template #content>\n <div v-if=\"multiple\">\n <div class=\"el-table-filter__content\">\n <el-scrollbar wrap-class=\"el-table-filter__wrap\">\n <el-checkbox-group\n v-model=\"filteredValue\"\n class=\"el-table-filter__checkbox-group\"\n >\n <el-checkbox\n v-for=\"filter in filters\"\n :key=\"filter.value\"\n :label=\"filter.value\"\n >\n {{ filter.text }}\n </el-checkbox>\n </el-checkbox-group>\n </el-scrollbar>\n </div>\n <div class=\"el-table-filter__bottom\">\n <button\n :class=\"{ 'is-disabled': filteredValue.length === 0 }\"\n :disabled=\"filteredValue.length === 0\"\n type=\"button\"\n @click=\"handleConfirm\"\n >\n {{ t('el.table.confirmFilter') }}\n </button>\n <button type=\"button\" @click=\"handleReset\">\n {{ t('el.table.resetFilter') }}\n </button>\n </div>\n </div>\n <ul v-else class=\"el-table-filter__list\">\n <li\n :class=\"{\n 'is-active': filterValue === undefined || filterValue === null,\n }\"\n class=\"el-table-filter__list-item\"\n @click=\"handleSelect(null)\"\n >\n {{ t('el.table.clearFilter') }}\n </li>\n <li\n v-for=\"filter in filters\"\n :key=\"filter.value\"\n :class=\"{ 'is-active': isActive(filter) }\"\n :label=\"filter.value\"\n class=\"el-table-filter__list-item\"\n @click=\"handleSelect(filter.value)\"\n >\n {{ filter.text }}\n </li>\n </ul>\n </template>\n <template #default>\n <span\n v-click-outside:[popperPaneRef]=\"hideFilterPanel\"\n class=\"el-table__column-filter-trigger el-none-outline\"\n @click=\"showFilterPanel\"\n >\n <el-icon>\n <arrow-up v-if=\"column.filterOpened\" />\n <arrow-down v-else />\n </el-icon>\n </span>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, getCurrentInstance, watch } from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useLocale } from '@element-plus/hooks'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport type { Placement } from '@element-plus/components/popper'\n\nimport type { WritableComputedRef, PropType } from 'vue'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { TableHeader } from './table-header'\nimport type { Store } from './store'\n\nconst { CheckboxGroup: ElCheckboxGroup } = ElCheckbox\n\nexport default defineComponent({\n name: 'ElTableFilterPanel',\n components: {\n ElCheckbox,\n ElCheckboxGroup,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n ArrowDown,\n ArrowUp,\n },\n directives: { ClickOutside },\n props: {\n placement: {\n type: String as PropType<Placement>,\n default: 'bottom-start',\n },\n store: {\n type: Object as PropType<Store<unknown>>,\n },\n column: {\n type: Object as PropType<TableColumnCtx<unknown>>,\n },\n upDataColumn: {\n type: Function,\n },\n },\n setup(props) {\n const instance = getCurrentInstance()\n const { t } = useLocale()\n const parent = instance.parent as TableHeader\n if (!parent.filterPanels.value[props.column.id]) {\n parent.filterPanels.value[props.column.id] = instance\n }\n const tooltipVisible = ref(false)\n const tooltip = ref<InstanceType<typeof ElTooltip> | null>(null)\n const filters = computed(() => {\n return props.column && props.column.filters\n })\n const filterValue = computed({\n get: () => (props.column.filteredValue || [])[0],\n set: (value: string) => {\n if (filteredValue.value) {\n if (typeof value !== 'undefined' && value !== null) {\n filteredValue.value.splice(0, 1, value)\n } else {\n filteredValue.value.splice(0, 1)\n }\n }\n },\n })\n const filteredValue: WritableComputedRef<unknown[]> = computed({\n get() {\n if (props.column) {\n return props.column.filteredValue || []\n }\n return []\n },\n set(value: unknown[]) {\n if (props.column) {\n props.upDataColumn('filteredValue', value)\n }\n },\n })\n const multiple = computed(() => {\n if (props.column) {\n return props.column.filterMultiple\n }\n return true\n })\n const isActive = (filter) => {\n return filter.value === filterValue.value\n }\n const hidden = () => {\n tooltipVisible.value = false\n }\n const showFilterPanel = (e: MouseEvent) => {\n e.stopPropagation()\n tooltipVisible.value = !tooltipVisible.value\n }\n const hideFilterPanel = () => {\n tooltipVisible.value = false\n }\n const handleConfirm = () => {\n confirmFilter(filteredValue.value)\n hidden()\n }\n const handleReset = () => {\n filteredValue.value = []\n confirmFilter(filteredValue.value)\n hidden()\n }\n const handleSelect = (_filterValue?: string) => {\n filterValue.value = _filterValue\n if (typeof _filterValue !== 'undefined' && _filterValue !== null) {\n confirmFilter(filteredValue.value)\n } else {\n confirmFilter([])\n }\n hidden()\n }\n const confirmFilter = (filteredValue: unknown[]) => {\n props.store.commit('filterChange', {\n column: props.column,\n values: filteredValue,\n })\n props.store.updateAllSelected()\n }\n watch(\n tooltipVisible,\n (value) => {\n // todo\n if (props.column) {\n props.upDataColumn('filterOpened', value)\n }\n },\n {\n immediate: true,\n }\n )\n\n const popperPaneRef = computed(() => {\n return tooltip.value?.popperRef?.contentRef\n })\n\n return {\n tooltipVisible,\n multiple,\n filteredValue,\n filterValue,\n filters,\n handleConfirm,\n handleReset,\n handleSelect,\n isActive,\n t,\n showFilterPanel,\n hideFilterPanel,\n popperPaneRef,\n tooltip,\n }\n },\n})\n</script>\n"],"names":["ElCheckbox","defineComponent","ElScrollbar","ElIcon","ArrowUp","computed"],"mappings":";;;;;;;;;;;;;;;AA2FA,QAAQ,aAAa,iBAAiB,EAAE,GAAGA,gBAAU,CAAC;AACtD,aAAeC,oBAAgB;;AAE/B,EAAE,UAAU,EAAE;AACd,gBAAID,gBAAU;AACd,IAAI,eAAe;AACnB,iBAAIE,mBAAW;;AAEf,YAAIC,cAAM;;AAEV,aAAIC,gBAAO;GACR;EACD,UAAU,EAAE;OACP,EAAE;IACL,SAAS,EAAE;MACT,IAAI,EAAE;MACN,OAAO;KACR;IACD,KAAK,EAAE;MACL,IAAI;;IAEN,MAAM,EAAE;MACN;KACD;gBACW;MACV,IAAI,EAAE,QAAQ;KACf;;OAEE,CAAC,KAAK,EAAE;IACX;IACA,MAAM,EAAE;UACF,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B;MACE,MAAM,CAAC;;IAET;;IAEA,MAAM;MACJ,OAAO,MAAM,MAAM,IAAI,KAAK,CAAC;KAC9B,CAAC,CAAC;IACH,MAAM,WAAW,GAAGC,YAAQ,CAAC;SACxB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,GAAG;MAC/C,GAAG,EAAE,CAAC,KAAK,KAAK;;UAEZ,IAAI,OAAO,UAAU;YACnB,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;WACzC;0BACe,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;;OAGtC;MACD,CAAC;uBACgB,GAAGA;;YAEd,KAAK,CAAC,MAAM,EAAE;UAChB,OAAO;;;;MAIX;;UAEI,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;SAC5C;;;;UAIC,KAAK,CAAC;;OAET;aACM,IAAI,CAAC;;;MAGZ;KACD;IACD,MAAM,MAAM,GAAG,MAAM;MACnB,cAAc,CAAC;;;MAGf,CAAC,CAAC;;KAEH,CAAC;UACI,kBAAkB,MAAM;;KAE7B,CAAC;UACI,aAAa,SAAS;;MAE1B,MAAM,EAAE,CAAC;MACT;UACI,WAAW,GAAG,MAAM;;MAExB,aAAa,CAAC,cAAc;MAC5B,MAAM,EAAE,CAAC;;IAEX,MAAM,YAAY,IAAI;MACpB,WAAW,CAAC,KAAK,GAAG,YAAY,CAAC;MACjC,IAAI;;OAEH,MAAM;QACL,aAAa,CAAC,EAAE,EAAE;OACnB;MACD,MAAM;;IAER,MAAM,aAAa,GAAG,CAAC,cAAc,KAAK;MACxC,KAAK,CAAC,KAAK,CAAC,MAAM;cACV,OAAO,CAAC,MAAM;QACpB,MAAM,EAAE,cAAc;QACtB,CAAC;WACE,CAAC,KAAK,CAAC;MACZ;aACG,CAAC;;QAEF,KAAK,CAAC,YAAY,CAAC,gBAAgB,KAAK,CAAC,CAAC;OAC3C;;iBAEU,IAAI;MACf,CAAC;UACG,aAAa,GAAGA,YAAQ,CAAC;;MAE7B;MACA,CAAC;WACI;;cAEG;mBACK;;MAEb;MACA;iBACW;MACX;;;MAGA,eAAe;MACf,eAAe;;;KAGhB,CAAC;;;;;;"}
@@ -33,7 +33,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
33
33
  "append-to-body": "",
34
34
  effect: "light",
35
35
  pure: "",
36
- "popper-class": "el-table-filter"
36
+ "popper-class": "el-table-filter",
37
+ persistent: ""
37
38
  }, {
38
39
  content: vue.withCtx(() => [
39
40
  _ctx.multiple ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
@@ -1 +1 @@
1
- {"version":3,"file":"filter-panel.vue_vue_type_template_id_fde1c940_lang.js","sources":["../../../../../../packages/components/table/src/filter-panel.vue?vue&type=template&id=fde1c940&lang.js"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltip\"\n v-model:visible=\"tooltipVisible\"\n :offset=\"0\"\n :placement=\"placement\"\n :show-arrow=\"false\"\n :stop-popper-mouse-event=\"false\"\n append-to-body\n effect=\"light\"\n pure\n popper-class=\"el-table-filter\"\n >\n <template #content>\n <div v-if=\"multiple\">\n <div class=\"el-table-filter__content\">\n <el-scrollbar wrap-class=\"el-table-filter__wrap\">\n <el-checkbox-group\n v-model=\"filteredValue\"\n class=\"el-table-filter__checkbox-group\"\n >\n <el-checkbox\n v-for=\"filter in filters\"\n :key=\"filter.value\"\n :label=\"filter.value\"\n >\n {{ filter.text }}\n </el-checkbox>\n </el-checkbox-group>\n </el-scrollbar>\n </div>\n <div class=\"el-table-filter__bottom\">\n <button\n :class=\"{ 'is-disabled': filteredValue.length === 0 }\"\n :disabled=\"filteredValue.length === 0\"\n type=\"button\"\n @click=\"handleConfirm\"\n >\n {{ t('el.table.confirmFilter') }}\n </button>\n <button type=\"button\" @click=\"handleReset\">\n {{ t('el.table.resetFilter') }}\n </button>\n </div>\n </div>\n <ul v-else class=\"el-table-filter__list\">\n <li\n :class=\"{\n 'is-active': filterValue === undefined || filterValue === null,\n }\"\n class=\"el-table-filter__list-item\"\n @click=\"handleSelect(null)\"\n >\n {{ t('el.table.clearFilter') }}\n </li>\n <li\n v-for=\"filter in filters\"\n :key=\"filter.value\"\n :class=\"{ 'is-active': isActive(filter) }\"\n :label=\"filter.value\"\n class=\"el-table-filter__list-item\"\n @click=\"handleSelect(filter.value)\"\n >\n {{ filter.text }}\n </li>\n </ul>\n </template>\n <template #default>\n <span\n v-click-outside:[popperPaneRef]=\"hideFilterPanel\"\n class=\"el-table__column-filter-trigger el-none-outline\"\n @click=\"showFilterPanel\"\n >\n <el-icon>\n <arrow-up v-if=\"column.filterOpened\" />\n <arrow-down v-else />\n </el-icon>\n </span>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, getCurrentInstance, watch } from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useLocale } from '@element-plus/hooks'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport type { Placement } from '@element-plus/components/popper'\n\nimport type { WritableComputedRef, PropType } from 'vue'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { TableHeader } from './table-header'\nimport type { Store } from './store'\n\nconst { CheckboxGroup: ElCheckboxGroup } = ElCheckbox\n\nexport default defineComponent({\n name: 'ElTableFilterPanel',\n components: {\n ElCheckbox,\n ElCheckboxGroup,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n ArrowDown,\n ArrowUp,\n },\n directives: { ClickOutside },\n props: {\n placement: {\n type: String as PropType<Placement>,\n default: 'bottom-start',\n },\n store: {\n type: Object as PropType<Store<unknown>>,\n },\n column: {\n type: Object as PropType<TableColumnCtx<unknown>>,\n },\n upDataColumn: {\n type: Function,\n },\n },\n setup(props) {\n const instance = getCurrentInstance()\n const { t } = useLocale()\n const parent = instance.parent as TableHeader\n if (!parent.filterPanels.value[props.column.id]) {\n parent.filterPanels.value[props.column.id] = instance\n }\n const tooltipVisible = ref(false)\n const tooltip = ref<InstanceType<typeof ElTooltip> | null>(null)\n const filters = computed(() => {\n return props.column && props.column.filters\n })\n const filterValue = computed({\n get: () => (props.column.filteredValue || [])[0],\n set: (value: string) => {\n if (filteredValue.value) {\n if (typeof value !== 'undefined' && value !== null) {\n filteredValue.value.splice(0, 1, value)\n } else {\n filteredValue.value.splice(0, 1)\n }\n }\n },\n })\n const filteredValue: WritableComputedRef<unknown[]> = computed({\n get() {\n if (props.column) {\n return props.column.filteredValue || []\n }\n return []\n },\n set(value: unknown[]) {\n if (props.column) {\n props.upDataColumn('filteredValue', value)\n }\n },\n })\n const multiple = computed(() => {\n if (props.column) {\n return props.column.filterMultiple\n }\n return true\n })\n const isActive = (filter) => {\n return filter.value === filterValue.value\n }\n const hidden = () => {\n tooltipVisible.value = false\n }\n const showFilterPanel = (e: MouseEvent) => {\n e.stopPropagation()\n tooltipVisible.value = !tooltipVisible.value\n }\n const hideFilterPanel = () => {\n tooltipVisible.value = false\n }\n const handleConfirm = () => {\n confirmFilter(filteredValue.value)\n hidden()\n }\n const handleReset = () => {\n filteredValue.value = []\n confirmFilter(filteredValue.value)\n hidden()\n }\n const handleSelect = (_filterValue?: string) => {\n filterValue.value = _filterValue\n if (typeof _filterValue !== 'undefined' && _filterValue !== null) {\n confirmFilter(filteredValue.value)\n } else {\n confirmFilter([])\n }\n hidden()\n }\n const confirmFilter = (filteredValue: unknown[]) => {\n props.store.commit('filterChange', {\n column: props.column,\n values: filteredValue,\n })\n props.store.updateAllSelected()\n }\n watch(\n tooltipVisible,\n (value) => {\n // todo\n if (props.column) {\n props.upDataColumn('filterOpened', value)\n }\n },\n {\n immediate: true,\n }\n )\n\n const popperPaneRef = computed(() => {\n return tooltip.value?.popperRef?.contentRef\n })\n\n return {\n tooltipVisible,\n multiple,\n filteredValue,\n filterValue,\n filters,\n handleConfirm,\n handleReset,\n handleSelect,\n isActive,\n t,\n showFilterPanel,\n hideFilterPanel,\n popperPaneRef,\n tooltip,\n }\n },\n})\n</script>\n"],"names":["_openBlock"],"mappings":";;;;;;;;qBAea,KAAK,EAAC;;;;;EA8BF;;;;;;;;;;;;;;wBA5Cf;IACE;IACQ,SAAS;;IAChB;IACA;IACA;IACA;IACD;;IAEA;;;yBAIE;;;;kEAE4B;;;;;oBAGpB,OAAMA;;;;iDAEN;;;;;;;;;;;;;;;;;YAUN;;;;gBAII;iEACQ;qCAEL;;;;qCAGA;;;yBAIT;;sBAEU;;;;;;uCAQR;gBAEG;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"filter-panel.vue_vue_type_template_id_fde1c940_lang.js","sources":["../../../../../../packages/components/table/src/filter-panel.vue?vue&type=template&id=fde1c940&lang.js"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltip\"\n v-model:visible=\"tooltipVisible\"\n :offset=\"0\"\n :placement=\"placement\"\n :show-arrow=\"false\"\n :stop-popper-mouse-event=\"false\"\n append-to-body\n effect=\"light\"\n pure\n popper-class=\"el-table-filter\"\n persistent\n >\n <template #content>\n <div v-if=\"multiple\">\n <div class=\"el-table-filter__content\">\n <el-scrollbar wrap-class=\"el-table-filter__wrap\">\n <el-checkbox-group\n v-model=\"filteredValue\"\n class=\"el-table-filter__checkbox-group\"\n >\n <el-checkbox\n v-for=\"filter in filters\"\n :key=\"filter.value\"\n :label=\"filter.value\"\n >\n {{ filter.text }}\n </el-checkbox>\n </el-checkbox-group>\n </el-scrollbar>\n </div>\n <div class=\"el-table-filter__bottom\">\n <button\n :class=\"{ 'is-disabled': filteredValue.length === 0 }\"\n :disabled=\"filteredValue.length === 0\"\n type=\"button\"\n @click=\"handleConfirm\"\n >\n {{ t('el.table.confirmFilter') }}\n </button>\n <button type=\"button\" @click=\"handleReset\">\n {{ t('el.table.resetFilter') }}\n </button>\n </div>\n </div>\n <ul v-else class=\"el-table-filter__list\">\n <li\n :class=\"{\n 'is-active': filterValue === undefined || filterValue === null,\n }\"\n class=\"el-table-filter__list-item\"\n @click=\"handleSelect(null)\"\n >\n {{ t('el.table.clearFilter') }}\n </li>\n <li\n v-for=\"filter in filters\"\n :key=\"filter.value\"\n :class=\"{ 'is-active': isActive(filter) }\"\n :label=\"filter.value\"\n class=\"el-table-filter__list-item\"\n @click=\"handleSelect(filter.value)\"\n >\n {{ filter.text }}\n </li>\n </ul>\n </template>\n <template #default>\n <span\n v-click-outside:[popperPaneRef]=\"hideFilterPanel\"\n class=\"el-table__column-filter-trigger el-none-outline\"\n @click=\"showFilterPanel\"\n >\n <el-icon>\n <arrow-up v-if=\"column.filterOpened\" />\n <arrow-down v-else />\n </el-icon>\n </span>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, getCurrentInstance, watch } from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useLocale } from '@element-plus/hooks'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport type { Placement } from '@element-plus/components/popper'\n\nimport type { WritableComputedRef, PropType } from 'vue'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { TableHeader } from './table-header'\nimport type { Store } from './store'\n\nconst { CheckboxGroup: ElCheckboxGroup } = ElCheckbox\n\nexport default defineComponent({\n name: 'ElTableFilterPanel',\n components: {\n ElCheckbox,\n ElCheckboxGroup,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n ArrowDown,\n ArrowUp,\n },\n directives: { ClickOutside },\n props: {\n placement: {\n type: String as PropType<Placement>,\n default: 'bottom-start',\n },\n store: {\n type: Object as PropType<Store<unknown>>,\n },\n column: {\n type: Object as PropType<TableColumnCtx<unknown>>,\n },\n upDataColumn: {\n type: Function,\n },\n },\n setup(props) {\n const instance = getCurrentInstance()\n const { t } = useLocale()\n const parent = instance.parent as TableHeader\n if (!parent.filterPanels.value[props.column.id]) {\n parent.filterPanels.value[props.column.id] = instance\n }\n const tooltipVisible = ref(false)\n const tooltip = ref<InstanceType<typeof ElTooltip> | null>(null)\n const filters = computed(() => {\n return props.column && props.column.filters\n })\n const filterValue = computed({\n get: () => (props.column.filteredValue || [])[0],\n set: (value: string) => {\n if (filteredValue.value) {\n if (typeof value !== 'undefined' && value !== null) {\n filteredValue.value.splice(0, 1, value)\n } else {\n filteredValue.value.splice(0, 1)\n }\n }\n },\n })\n const filteredValue: WritableComputedRef<unknown[]> = computed({\n get() {\n if (props.column) {\n return props.column.filteredValue || []\n }\n return []\n },\n set(value: unknown[]) {\n if (props.column) {\n props.upDataColumn('filteredValue', value)\n }\n },\n })\n const multiple = computed(() => {\n if (props.column) {\n return props.column.filterMultiple\n }\n return true\n })\n const isActive = (filter) => {\n return filter.value === filterValue.value\n }\n const hidden = () => {\n tooltipVisible.value = false\n }\n const showFilterPanel = (e: MouseEvent) => {\n e.stopPropagation()\n tooltipVisible.value = !tooltipVisible.value\n }\n const hideFilterPanel = () => {\n tooltipVisible.value = false\n }\n const handleConfirm = () => {\n confirmFilter(filteredValue.value)\n hidden()\n }\n const handleReset = () => {\n filteredValue.value = []\n confirmFilter(filteredValue.value)\n hidden()\n }\n const handleSelect = (_filterValue?: string) => {\n filterValue.value = _filterValue\n if (typeof _filterValue !== 'undefined' && _filterValue !== null) {\n confirmFilter(filteredValue.value)\n } else {\n confirmFilter([])\n }\n hidden()\n }\n const confirmFilter = (filteredValue: unknown[]) => {\n props.store.commit('filterChange', {\n column: props.column,\n values: filteredValue,\n })\n props.store.updateAllSelected()\n }\n watch(\n tooltipVisible,\n (value) => {\n // todo\n if (props.column) {\n props.upDataColumn('filterOpened', value)\n }\n },\n {\n immediate: true,\n }\n )\n\n const popperPaneRef = computed(() => {\n return tooltip.value?.popperRef?.contentRef\n })\n\n return {\n tooltipVisible,\n multiple,\n filteredValue,\n filterValue,\n filters,\n handleConfirm,\n handleReset,\n handleSelect,\n isActive,\n t,\n showFilterPanel,\n hideFilterPanel,\n popperPaneRef,\n tooltip,\n }\n },\n})\n</script>\n"],"names":["_openBlock"],"mappings":";;;;;;;;qBAgBa,KAAK,EAAC;;;;;EA8BF;;;;;;;;;;;;;;wBA7Cf;IACE;IACQ,SAAS;;IAChB;IACA;IACA;IACA;IACD;IACA;;IAEA;;;yBAIE;;;;kEAE4B;;;;;oBAGpB,OAAMA;;;;iDAEN;;;;;;;;;;;;;;;;;YAUN;;;;gBAII;iEACQ;qCAEL;;;;qCAGA;;;yBAIT;;sBAEU;;;;;;uCAQR;gBAEG;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -50,11 +50,15 @@ const valueEquals = function(a, b) {
50
50
  return false;
51
51
  };
52
52
  const parser = function(date, format, lang) {
53
- const day = util.isEmpty(format) ? dayjs__default["default"](date).locale(lang) : dayjs__default["default"](date, format).locale(lang);
53
+ const day = util.isEmpty(format) || format === "x" ? dayjs__default["default"](date).locale(lang) : dayjs__default["default"](date, format).locale(lang);
54
54
  return day.isValid() ? day : void 0;
55
55
  };
56
56
  const formatter = function(date, format, lang) {
57
- return util.isEmpty(format) ? date : dayjs__default["default"](date).locale(lang).format(format);
57
+ if (util.isEmpty(format))
58
+ return date;
59
+ if (format === "x")
60
+ return +date;
61
+ return dayjs__default["default"](date).locale(lang).format(format);
58
62
  };
59
63
  var script = vue.defineComponent({
60
64
  name: "Picker",
@@ -1 +1 @@
1
- {"version":3,"file":"picker.vue_vue_type_script_lang.js","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"refPopper\"\n v-model:visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n append-to-body\n transition=\"el-zoom-in-top\"\n :popper-class=\"`el-picker__popper ${popperClass}`\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :hide-after=\"0\"\n @show=\"pickerActualVisible = true\"\n @hide=\"pickerActualVisible = false\"\n >\n <template #default>\n <el-input\n v-if=\"!isRangeInput\"\n :id=\"id\"\n ref=\"inputRef\"\n :model-value=\"displayValue\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n class=\"el-date-editor\"\n :class=\"['el-date-editor--' + type, $attrs.class || undefined]\"\n :style=\"$attrs.style || undefined\"\n :readonly=\"!editable || readonly || isDatesPicker || type === 'week'\"\n @input=\"onUserInput\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @change=\"handleChange\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n class=\"el-input__icon clear-icon\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n ref=\"inputRef\"\n class=\"el-date-editor el-range-editor el-input__inner\"\n :class=\"[\n 'el-date-editor--' + type,\n pickerSize ? `el-range-editor--${pickerSize}` : '',\n pickerDisabled ? 'is-disabled' : '',\n pickerVisible ? 'is-active' : '',\n ]\"\n @click=\"handleFocus\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @keydown=\"handleKeydown\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon el-range__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n <input\n :id=\"id && id[0]\"\n autocomplete=\"off\"\n :name=\"name && name[0]\"\n :placeholder=\"startPlaceholder\"\n :value=\"displayValue && displayValue[0]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocus\"\n />\n <slot name=\"range-separator\">\n <span class=\"el-range-separator\">{{ rangeSeparator }}</span>\n </slot>\n <input\n :id=\"id && id[1]\"\n autocomplete=\"off\"\n :name=\"name && name[1]\"\n :placeholder=\"endPlaceholder\"\n :value=\"displayValue && displayValue[1]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @focus=\"handleFocus\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n class=\"el-input__icon el-range__close-icon\"\n :class=\"{\n 'el-range__close-icon--hidden': !showClose,\n }\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </div>\n </template>\n <template #content>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @mousedown.stop\n ></slot>\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n computed,\n nextTick,\n inject,\n watch,\n provide,\n unref,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport isEqual from 'lodash/isEqual'\nimport { onClickOutside } from '@vueuse/core'\nimport { useLocale, useSize } from '@element-plus/hooks'\nimport { elFormKey, elFormItemKey } from '@element-plus/tokens'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { isEmpty } from '@element-plus/utils/util'\nimport { Clock, Calendar } from '@element-plus/icons-vue'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance } from 'vue'\nimport type { ElFormContext, ElFormItemContext } from '@element-plus/tokens'\nimport type { Options } from '@popperjs/core'\n\ninterface PickerOptions {\n isValidValue: (date: Dayjs) => boolean\n handleKeydown: (event: KeyboardEvent) => void\n parseUserInput: (value: Dayjs) => dayjs.Dayjs\n formatToString: (value: Dayjs) => string | string[]\n getRangeAvailableTime: (date: Dayjs) => dayjs.Dayjs\n getDefaultValue: () => Dayjs\n panelReady: boolean\n handleClear: () => void\n}\n\n// Date object and string\nconst dateEquals = function (a: Date | any, b: Date | any) {\n const aIsDate = a instanceof Date\n const bIsDate = b instanceof Date\n if (aIsDate && bIsDate) {\n return a.getTime() === b.getTime()\n }\n if (!aIsDate && !bIsDate) {\n return a === b\n }\n return false\n}\n\nconst valueEquals = function (a: Array<Date> | any, b: Array<Date> | any) {\n const aIsArray = a instanceof Array\n const bIsArray = b instanceof Array\n if (aIsArray && bIsArray) {\n if (a.length !== b.length) {\n return false\n }\n return (a as Array<Date>).every((item, index) => dateEquals(item, b[index]))\n }\n if (!aIsArray && !bIsArray) {\n return dateEquals(a, b)\n }\n return false\n}\n\nconst parser = function (\n date: Date | string,\n format: string,\n lang: string\n): Dayjs {\n const day = isEmpty(format)\n ? dayjs(date).locale(lang)\n : dayjs(date, format).locale(lang)\n return day.isValid() ? day : undefined\n}\n\nconst formatter = function (date: number | Date, format: string, lang: string) {\n return isEmpty(format) ? date : dayjs(date).locale(lang).format(format)\n}\n\nexport default defineComponent({\n name: 'Picker',\n components: {\n ElInput,\n ElTooltip,\n ElIcon,\n },\n props: timePickerDefaultProps,\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'calendar-change'],\n setup(props, ctx) {\n const { lang } = useLocale()\n\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n const elPopperOptions = inject('ElPopperOptions', {} as Options)\n\n const refPopper = ref<InstanceType<typeof ElTooltip>>()\n const inputRef = ref<HTMLElement | ComponentPublicInstance>()\n const pickerVisible = ref(false)\n const pickerActualVisible = ref(false)\n const valueOnOpen = ref(null)\n\n watch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n ctx.emit('blur')\n blurInput()\n props.validateEvent && elFormItem.validate?.('blur')\n } else {\n valueOnOpen.value = props.modelValue\n }\n })\n const emitChange = (val, isClear?: boolean) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n ctx.emit('change', val)\n props.validateEvent && elFormItem.validate?.('change')\n }\n }\n const emitInput = (val) => {\n if (!valueEquals(props.modelValue, val)) {\n let formatValue\n if (Array.isArray(val)) {\n formatValue = val.map((_) =>\n formatter(_, props.valueFormat, lang.value)\n )\n } else if (val) {\n formatValue = formatter(val, props.valueFormat, lang.value)\n }\n ctx.emit('update:modelValue', val ? formatValue : val, lang.value)\n }\n }\n const refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n const _r = isRangeInput.value\n ? inputRef.value\n : (inputRef.value as any as ComponentPublicInstance).$el\n return Array.from<HTMLInputElement>(_r.querySelectorAll('input'))\n }\n return []\n })\n const refStartInput = computed(() => {\n return refInput?.value[0]\n })\n const refEndInput = computed(() => {\n return refInput?.value[1]\n })\n const setSelectionRange = (start, end, pos) => {\n const _inputs = refInput.value\n if (!_inputs.length) return\n if (!pos || pos === 'min') {\n _inputs[0].setSelectionRange(start, end)\n _inputs[0].focus()\n } else if (pos === 'max') {\n _inputs[1].setSelectionRange(start, end)\n _inputs[1].focus()\n }\n }\n const onPick = (date: any = '', visible = false) => {\n pickerVisible.value = visible\n let result\n if (Array.isArray(date)) {\n result = date.map((_) => _.toDate())\n } else {\n // clear btn emit null\n result = date ? date.toDate() : date\n }\n userInput.value = null\n emitInput(result)\n }\n\n const focus = (focusStartInput = true) => {\n let input = refStartInput.value\n if (!focusStartInput && isRangeInput.value) {\n input = refEndInput.value\n }\n if (input) {\n input.focus()\n }\n }\n\n const handleFocus = (e) => {\n if (props.readonly || pickerDisabled.value || pickerVisible.value) return\n pickerVisible.value = true\n ctx.emit('focus', e)\n }\n\n const handleBlur = () => {\n refPopper.value?.onClose()\n blurInput()\n }\n\n const pickerDisabled = computed(() => {\n return props.disabled || elForm.disabled\n })\n\n const parsedValue = computed(() => {\n let result\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n result = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (Array.isArray(props.modelValue)) {\n result = props.modelValue.map((_) =>\n parser(_, props.valueFormat, lang.value)\n )\n } else {\n result = parser(props.modelValue, props.valueFormat, lang.value)\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult =\n pickerOptions.value.getRangeAvailableTime(result)\n if (!isEqual(availableResult, result)) {\n result = availableResult\n emitInput(\n Array.isArray(result)\n ? result.map((_) => _.toDate())\n : result.toDate()\n )\n }\n }\n if (Array.isArray(result) && result.some((_) => !_)) {\n result = []\n }\n return result\n })\n\n const displayValue = computed(() => {\n if (!pickerOptions.value.panelReady) return\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (Array.isArray(userInput.value)) {\n return [\n userInput.value[0] || (formattedValue && formattedValue[0]) || '',\n userInput.value[1] || (formattedValue && formattedValue[1]) || '',\n ]\n } else if (userInput.value !== null) {\n return userInput.value\n }\n if (!isTimePicker.value && valueIsEmpty.value) return\n if (!pickerVisible.value && valueIsEmpty.value) return\n if (formattedValue) {\n return isDatesPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n })\n\n const isTimeLikePicker = computed(() => props.type.includes('time'))\n\n const isTimePicker = computed(() => props.type.startsWith('time'))\n\n const isDatesPicker = computed(() => props.type === 'dates')\n\n const triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n )\n\n const showClose = ref(false)\n\n const onClearIconClick = (event) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n }\n const valueIsEmpty = computed(() => {\n return (\n !props.modelValue ||\n (Array.isArray(props.modelValue) && !props.modelValue.length)\n )\n })\n const onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n }\n const onMouseLeave = () => {\n showClose.value = false\n }\n const isRangeInput = computed(() => {\n return props.type.indexOf('range') > -1\n })\n\n const pickerSize = useSize()\n\n const popperPaneRef = computed(() => {\n return refPopper.value?.popperRef?.contentRef\n })\n\n const popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\n const actualInputRef = computed(() => {\n if (unref(isRangeInput)) {\n return unref(inputRef)\n }\n\n return (unref(inputRef) as ComponentPublicInstance)?.$el\n })\n\n onClickOutside(actualInputRef, (e: PointerEvent) => {\n const unrefedPopperEl = unref(popperEl)\n const inputEl = unref(actualInputRef)\n if (\n (unrefedPopperEl &&\n (e.target === unrefedPopperEl ||\n e.composedPath().includes(unrefedPopperEl))) ||\n e.target === inputEl ||\n e.composedPath().includes(inputEl)\n )\n return\n pickerVisible.value = false\n })\n\n const userInput = ref(null)\n\n const handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n Array.isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n }\n\n const blurInput = () => {\n refInput.value.forEach((input) => input.blur())\n }\n\n const parseUserInputToDayjs = (value) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput(value)\n }\n\n const formatDayjsToString = (value) => {\n if (!value) return null\n return pickerOptions.value.formatToString(value)\n }\n\n const isValidValue = (value) => {\n return pickerOptions.value.isValidValue(value)\n }\n\n const handleKeydown = (event) => {\n const code = event.code\n\n if (code === EVENT_CODE.esc) {\n pickerVisible.value = false\n event.stopPropagation()\n return\n }\n\n if (code === EVENT_CODE.tab) {\n if (!isRangeInput.value) {\n handleChange()\n pickerVisible.value = false\n event.stopPropagation()\n } else {\n // user may change focus between two input\n setTimeout(() => {\n if (refInput.value.indexOf(document.activeElement) === -1) {\n pickerVisible.value = false\n blurInput()\n }\n }, 0)\n }\n return\n }\n\n if (code === EVENT_CODE.enter || code === EVENT_CODE.numpadEnter) {\n if (\n userInput.value === null ||\n userInput.value === '' ||\n isValidValue(parseUserInputToDayjs(displayValue.value))\n ) {\n handleChange()\n pickerVisible.value = false\n }\n event.stopPropagation()\n return\n }\n\n // if user is typing, do not let picker handle key input\n if (userInput.value) {\n event.stopPropagation()\n return\n }\n\n if (pickerOptions.value.handleKeydown) {\n pickerOptions.value.handleKeydown(event)\n }\n }\n const onUserInput = (e) => {\n userInput.value = e\n }\n\n const handleStartInput = (event) => {\n if (userInput.value) {\n userInput.value = [event.target.value, userInput.value[1]]\n } else {\n userInput.value = [event.target.value, null]\n }\n }\n\n const handleEndInput = (event) => {\n if (userInput.value) {\n userInput.value = [userInput.value[0], event.target.value]\n } else {\n userInput.value = [null, event.target.value]\n }\n }\n\n const handleStartChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[0])\n if (value && value.isValid()) {\n userInput.value = [formatDayjsToString(value), displayValue.value[1]]\n const newValue = [value, parsedValue.value && parsedValue.value[1]]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const handleEndChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[1])\n if (value && value.isValid()) {\n userInput.value = [displayValue.value[0], formatDayjsToString(value)]\n const newValue = [parsedValue.value && parsedValue.value[0], value]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const pickerOptions = ref<Partial<PickerOptions>>({})\n const onSetPickerOption = <T extends keyof PickerOptions>(\n e: [T, PickerOptions[T]]\n ) => {\n pickerOptions.value[e[0]] = e[1]\n pickerOptions.value.panelReady = true\n }\n\n const onCalendarChange = (e) => {\n ctx.emit('calendar-change', e)\n }\n\n provide('EP_PICKER_BASE', {\n props,\n })\n\n return {\n // injected popper options\n elPopperOptions,\n\n isDatesPicker,\n handleEndChange,\n handleStartChange,\n handleStartInput,\n handleEndInput,\n onUserInput,\n handleChange,\n handleKeydown,\n popperPaneRef,\n onClickOutside,\n pickerSize,\n isRangeInput,\n onMouseLeave,\n onMouseEnter,\n onClearIconClick,\n showClose,\n triggerIcon,\n onPick,\n handleFocus,\n handleBlur,\n pickerVisible,\n pickerActualVisible,\n displayValue,\n parsedValue,\n setSelectionRange,\n refPopper,\n inputRef,\n pickerDisabled,\n onSetPickerOption,\n onCalendarChange,\n focus,\n }\n },\n})\n</script>\n"],"names":["isEmpty","defineComponent","ElInput","ElIcon","ref","watch","computed","isEqual","unref","onClickOutside","EVENT_CODE"],"mappings":"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"}
1
+ {"version":3,"file":"picker.vue_vue_type_script_lang.js","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"refPopper\"\n v-model:visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n append-to-body\n transition=\"el-zoom-in-top\"\n :popper-class=\"`el-picker__popper ${popperClass}`\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :hide-after=\"0\"\n persistent\n @show=\"pickerActualVisible = true\"\n @hide=\"pickerActualVisible = false\"\n >\n <template #default>\n <el-input\n v-if=\"!isRangeInput\"\n :id=\"id\"\n ref=\"inputRef\"\n :model-value=\"displayValue\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n class=\"el-date-editor\"\n :class=\"['el-date-editor--' + type, $attrs.class || undefined]\"\n :style=\"$attrs.style || undefined\"\n :readonly=\"!editable || readonly || isDatesPicker || type === 'week'\"\n @input=\"onUserInput\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @change=\"handleChange\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n class=\"el-input__icon clear-icon\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n ref=\"inputRef\"\n class=\"el-date-editor el-range-editor el-input__inner\"\n :class=\"[\n 'el-date-editor--' + type,\n pickerSize ? `el-range-editor--${pickerSize}` : '',\n pickerDisabled ? 'is-disabled' : '',\n pickerVisible ? 'is-active' : '',\n ]\"\n @click=\"handleFocus\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @keydown=\"handleKeydown\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon el-range__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n <input\n :id=\"id && id[0]\"\n autocomplete=\"off\"\n :name=\"name && name[0]\"\n :placeholder=\"startPlaceholder\"\n :value=\"displayValue && displayValue[0]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocus\"\n />\n <slot name=\"range-separator\">\n <span class=\"el-range-separator\">{{ rangeSeparator }}</span>\n </slot>\n <input\n :id=\"id && id[1]\"\n autocomplete=\"off\"\n :name=\"name && name[1]\"\n :placeholder=\"endPlaceholder\"\n :value=\"displayValue && displayValue[1]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @focus=\"handleFocus\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n class=\"el-input__icon el-range__close-icon\"\n :class=\"{\n 'el-range__close-icon--hidden': !showClose,\n }\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </div>\n </template>\n <template #content>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @mousedown.stop\n ></slot>\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n computed,\n nextTick,\n inject,\n watch,\n provide,\n unref,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport isEqual from 'lodash/isEqual'\nimport { onClickOutside } from '@vueuse/core'\nimport { useLocale, useSize } from '@element-plus/hooks'\nimport { elFormKey, elFormItemKey } from '@element-plus/tokens'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { isEmpty } from '@element-plus/utils/util'\nimport { Clock, Calendar } from '@element-plus/icons-vue'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance } from 'vue'\nimport type { ElFormContext, ElFormItemContext } from '@element-plus/tokens'\nimport type { Options } from '@popperjs/core'\n\ninterface PickerOptions {\n isValidValue: (date: Dayjs) => boolean\n handleKeydown: (event: KeyboardEvent) => void\n parseUserInput: (value: Dayjs) => dayjs.Dayjs\n formatToString: (value: Dayjs) => string | string[]\n getRangeAvailableTime: (date: Dayjs) => dayjs.Dayjs\n getDefaultValue: () => Dayjs\n panelReady: boolean\n handleClear: () => void\n}\n\n// Date object and string\nconst dateEquals = function (a: Date | any, b: Date | any) {\n const aIsDate = a instanceof Date\n const bIsDate = b instanceof Date\n if (aIsDate && bIsDate) {\n return a.getTime() === b.getTime()\n }\n if (!aIsDate && !bIsDate) {\n return a === b\n }\n return false\n}\n\nconst valueEquals = function (a: Array<Date> | any, b: Array<Date> | any) {\n const aIsArray = a instanceof Array\n const bIsArray = b instanceof Array\n if (aIsArray && bIsArray) {\n if (a.length !== b.length) {\n return false\n }\n return (a as Array<Date>).every((item, index) => dateEquals(item, b[index]))\n }\n if (!aIsArray && !bIsArray) {\n return dateEquals(a, b)\n }\n return false\n}\n\nconst parser = function (\n date: Date | string,\n format: string,\n lang: string\n): Dayjs {\n const day =\n isEmpty(format) || format === 'x'\n ? dayjs(date).locale(lang)\n : dayjs(date, format).locale(lang)\n return day.isValid() ? day : undefined\n}\n\nconst formatter = function (date: number | Date, format: string, lang: string) {\n if (isEmpty(format)) return date\n if (format === 'x') return +date\n return dayjs(date).locale(lang).format(format)\n}\n\nexport default defineComponent({\n name: 'Picker',\n components: {\n ElInput,\n ElTooltip,\n ElIcon,\n },\n props: timePickerDefaultProps,\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'calendar-change'],\n setup(props, ctx) {\n const { lang } = useLocale()\n\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n const elPopperOptions = inject('ElPopperOptions', {} as Options)\n\n const refPopper = ref<InstanceType<typeof ElTooltip>>()\n const inputRef = ref<HTMLElement | ComponentPublicInstance>()\n const pickerVisible = ref(false)\n const pickerActualVisible = ref(false)\n const valueOnOpen = ref(null)\n\n watch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n ctx.emit('blur')\n blurInput()\n props.validateEvent && elFormItem.validate?.('blur')\n } else {\n valueOnOpen.value = props.modelValue\n }\n })\n const emitChange = (val, isClear?: boolean) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n ctx.emit('change', val)\n props.validateEvent && elFormItem.validate?.('change')\n }\n }\n const emitInput = (val) => {\n if (!valueEquals(props.modelValue, val)) {\n let formatValue\n if (Array.isArray(val)) {\n formatValue = val.map((_) =>\n formatter(_, props.valueFormat, lang.value)\n )\n } else if (val) {\n formatValue = formatter(val, props.valueFormat, lang.value)\n }\n ctx.emit('update:modelValue', val ? formatValue : val, lang.value)\n }\n }\n const refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n const _r = isRangeInput.value\n ? inputRef.value\n : (inputRef.value as any as ComponentPublicInstance).$el\n return Array.from<HTMLInputElement>(_r.querySelectorAll('input'))\n }\n return []\n })\n const refStartInput = computed(() => {\n return refInput?.value[0]\n })\n const refEndInput = computed(() => {\n return refInput?.value[1]\n })\n const setSelectionRange = (start, end, pos) => {\n const _inputs = refInput.value\n if (!_inputs.length) return\n if (!pos || pos === 'min') {\n _inputs[0].setSelectionRange(start, end)\n _inputs[0].focus()\n } else if (pos === 'max') {\n _inputs[1].setSelectionRange(start, end)\n _inputs[1].focus()\n }\n }\n const onPick = (date: any = '', visible = false) => {\n pickerVisible.value = visible\n let result\n if (Array.isArray(date)) {\n result = date.map((_) => _.toDate())\n } else {\n // clear btn emit null\n result = date ? date.toDate() : date\n }\n userInput.value = null\n emitInput(result)\n }\n\n const focus = (focusStartInput = true) => {\n let input = refStartInput.value\n if (!focusStartInput && isRangeInput.value) {\n input = refEndInput.value\n }\n if (input) {\n input.focus()\n }\n }\n\n const handleFocus = (e) => {\n if (props.readonly || pickerDisabled.value || pickerVisible.value) return\n pickerVisible.value = true\n ctx.emit('focus', e)\n }\n\n const handleBlur = () => {\n refPopper.value?.onClose()\n blurInput()\n }\n\n const pickerDisabled = computed(() => {\n return props.disabled || elForm.disabled\n })\n\n const parsedValue = computed(() => {\n let result\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n result = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (Array.isArray(props.modelValue)) {\n result = props.modelValue.map((_) =>\n parser(_, props.valueFormat, lang.value)\n )\n } else {\n result = parser(props.modelValue, props.valueFormat, lang.value)\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult =\n pickerOptions.value.getRangeAvailableTime(result)\n if (!isEqual(availableResult, result)) {\n result = availableResult\n emitInput(\n Array.isArray(result)\n ? result.map((_) => _.toDate())\n : result.toDate()\n )\n }\n }\n if (Array.isArray(result) && result.some((_) => !_)) {\n result = []\n }\n return result\n })\n\n const displayValue = computed(() => {\n if (!pickerOptions.value.panelReady) return\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (Array.isArray(userInput.value)) {\n return [\n userInput.value[0] || (formattedValue && formattedValue[0]) || '',\n userInput.value[1] || (formattedValue && formattedValue[1]) || '',\n ]\n } else if (userInput.value !== null) {\n return userInput.value\n }\n if (!isTimePicker.value && valueIsEmpty.value) return\n if (!pickerVisible.value && valueIsEmpty.value) return\n if (formattedValue) {\n return isDatesPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n })\n\n const isTimeLikePicker = computed(() => props.type.includes('time'))\n\n const isTimePicker = computed(() => props.type.startsWith('time'))\n\n const isDatesPicker = computed(() => props.type === 'dates')\n\n const triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n )\n\n const showClose = ref(false)\n\n const onClearIconClick = (event) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n }\n const valueIsEmpty = computed(() => {\n return (\n !props.modelValue ||\n (Array.isArray(props.modelValue) && !props.modelValue.length)\n )\n })\n const onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n }\n const onMouseLeave = () => {\n showClose.value = false\n }\n const isRangeInput = computed(() => {\n return props.type.indexOf('range') > -1\n })\n\n const pickerSize = useSize()\n\n const popperPaneRef = computed(() => {\n return refPopper.value?.popperRef?.contentRef\n })\n\n const popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\n const actualInputRef = computed(() => {\n if (unref(isRangeInput)) {\n return unref(inputRef)\n }\n\n return (unref(inputRef) as ComponentPublicInstance)?.$el\n })\n\n onClickOutside(actualInputRef, (e: PointerEvent) => {\n const unrefedPopperEl = unref(popperEl)\n const inputEl = unref(actualInputRef)\n if (\n (unrefedPopperEl &&\n (e.target === unrefedPopperEl ||\n e.composedPath().includes(unrefedPopperEl))) ||\n e.target === inputEl ||\n e.composedPath().includes(inputEl)\n )\n return\n pickerVisible.value = false\n })\n\n const userInput = ref(null)\n\n const handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n Array.isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n }\n\n const blurInput = () => {\n refInput.value.forEach((input) => input.blur())\n }\n\n const parseUserInputToDayjs = (value) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput(value)\n }\n\n const formatDayjsToString = (value) => {\n if (!value) return null\n return pickerOptions.value.formatToString(value)\n }\n\n const isValidValue = (value) => {\n return pickerOptions.value.isValidValue(value)\n }\n\n const handleKeydown = (event) => {\n const code = event.code\n\n if (code === EVENT_CODE.esc) {\n pickerVisible.value = false\n event.stopPropagation()\n return\n }\n\n if (code === EVENT_CODE.tab) {\n if (!isRangeInput.value) {\n handleChange()\n pickerVisible.value = false\n event.stopPropagation()\n } else {\n // user may change focus between two input\n setTimeout(() => {\n if (refInput.value.indexOf(document.activeElement) === -1) {\n pickerVisible.value = false\n blurInput()\n }\n }, 0)\n }\n return\n }\n\n if (code === EVENT_CODE.enter || code === EVENT_CODE.numpadEnter) {\n if (\n userInput.value === null ||\n userInput.value === '' ||\n isValidValue(parseUserInputToDayjs(displayValue.value))\n ) {\n handleChange()\n pickerVisible.value = false\n }\n event.stopPropagation()\n return\n }\n\n // if user is typing, do not let picker handle key input\n if (userInput.value) {\n event.stopPropagation()\n return\n }\n\n if (pickerOptions.value.handleKeydown) {\n pickerOptions.value.handleKeydown(event)\n }\n }\n const onUserInput = (e) => {\n userInput.value = e\n }\n\n const handleStartInput = (event) => {\n if (userInput.value) {\n userInput.value = [event.target.value, userInput.value[1]]\n } else {\n userInput.value = [event.target.value, null]\n }\n }\n\n const handleEndInput = (event) => {\n if (userInput.value) {\n userInput.value = [userInput.value[0], event.target.value]\n } else {\n userInput.value = [null, event.target.value]\n }\n }\n\n const handleStartChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[0])\n if (value && value.isValid()) {\n userInput.value = [formatDayjsToString(value), displayValue.value[1]]\n const newValue = [value, parsedValue.value && parsedValue.value[1]]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const handleEndChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[1])\n if (value && value.isValid()) {\n userInput.value = [displayValue.value[0], formatDayjsToString(value)]\n const newValue = [parsedValue.value && parsedValue.value[0], value]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const pickerOptions = ref<Partial<PickerOptions>>({})\n const onSetPickerOption = <T extends keyof PickerOptions>(\n e: [T, PickerOptions[T]]\n ) => {\n pickerOptions.value[e[0]] = e[1]\n pickerOptions.value.panelReady = true\n }\n\n const onCalendarChange = (e) => {\n ctx.emit('calendar-change', e)\n }\n\n provide('EP_PICKER_BASE', {\n props,\n })\n\n return {\n // injected popper options\n elPopperOptions,\n\n isDatesPicker,\n handleEndChange,\n handleStartChange,\n handleStartInput,\n handleEndInput,\n onUserInput,\n handleChange,\n handleKeydown,\n popperPaneRef,\n onClickOutside,\n pickerSize,\n isRangeInput,\n onMouseLeave,\n onMouseEnter,\n onClearIconClick,\n showClose,\n triggerIcon,\n onPick,\n handleFocus,\n handleBlur,\n pickerVisible,\n pickerActualVisible,\n displayValue,\n parsedValue,\n setSelectionRange,\n refPopper,\n inputRef,\n pickerDisabled,\n onSetPickerOption,\n onCalendarChange,\n focus,\n }\n },\n})\n</script>\n"],"names":["isEmpty","dayjs","defineComponent","ElIcon","timePickerDefaultProps","useLocale","inject","ref","watch","nextTick","computed","useSize","unref","EVENT_CODE"],"mappings":"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"}
@@ -27,6 +27,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
27
27
  "gpu-acceleration": false,
28
28
  "stop-popper-mouse-event": false,
29
29
  "hide-after": 0,
30
+ persistent: "",
30
31
  onShow: _cache[17] || (_cache[17] = ($event) => _ctx.pickerActualVisible = true),
31
32
  onHide: _cache[18] || (_cache[18] = ($event) => _ctx.pickerActualVisible = false)
32
33
  }), {