@element-plus/nightly 0.0.20230720 → 0.0.20230722

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 (317) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +17 -14
  4. package/dist/index.full.min.js +10 -10
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +11 -11
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +17 -14
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar.js +1 -1
  14. package/dist/locale/ar.min.js +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/az.js +1 -1
  18. package/dist/locale/az.min.js +1 -1
  19. package/dist/locale/az.min.mjs +1 -1
  20. package/dist/locale/az.mjs +1 -1
  21. package/dist/locale/bg.js +1 -1
  22. package/dist/locale/bg.min.js +1 -1
  23. package/dist/locale/bg.min.mjs +1 -1
  24. package/dist/locale/bg.mjs +1 -1
  25. package/dist/locale/bn.js +1 -1
  26. package/dist/locale/bn.min.js +1 -1
  27. package/dist/locale/bn.min.mjs +1 -1
  28. package/dist/locale/bn.mjs +1 -1
  29. package/dist/locale/ca.js +1 -1
  30. package/dist/locale/ca.min.js +1 -1
  31. package/dist/locale/ca.min.mjs +1 -1
  32. package/dist/locale/ca.mjs +1 -1
  33. package/dist/locale/ckb.js +1 -1
  34. package/dist/locale/ckb.min.js +1 -1
  35. package/dist/locale/ckb.min.mjs +1 -1
  36. package/dist/locale/ckb.mjs +1 -1
  37. package/dist/locale/cs.js +1 -1
  38. package/dist/locale/cs.min.js +1 -1
  39. package/dist/locale/cs.min.mjs +1 -1
  40. package/dist/locale/cs.mjs +1 -1
  41. package/dist/locale/da.js +1 -1
  42. package/dist/locale/da.min.js +1 -1
  43. package/dist/locale/da.min.mjs +1 -1
  44. package/dist/locale/da.mjs +1 -1
  45. package/dist/locale/de.js +1 -1
  46. package/dist/locale/de.min.js +1 -1
  47. package/dist/locale/de.min.mjs +1 -1
  48. package/dist/locale/de.mjs +1 -1
  49. package/dist/locale/el.js +1 -1
  50. package/dist/locale/el.min.js +1 -1
  51. package/dist/locale/el.min.mjs +1 -1
  52. package/dist/locale/el.mjs +1 -1
  53. package/dist/locale/en.js +1 -1
  54. package/dist/locale/en.min.js +1 -1
  55. package/dist/locale/en.min.mjs +1 -1
  56. package/dist/locale/en.mjs +1 -1
  57. package/dist/locale/eo.js +1 -1
  58. package/dist/locale/eo.min.js +1 -1
  59. package/dist/locale/eo.min.mjs +1 -1
  60. package/dist/locale/eo.mjs +1 -1
  61. package/dist/locale/es.js +1 -1
  62. package/dist/locale/es.min.js +1 -1
  63. package/dist/locale/es.min.mjs +1 -1
  64. package/dist/locale/es.mjs +1 -1
  65. package/dist/locale/et.js +1 -1
  66. package/dist/locale/et.min.js +1 -1
  67. package/dist/locale/et.min.mjs +1 -1
  68. package/dist/locale/et.mjs +1 -1
  69. package/dist/locale/eu.js +1 -1
  70. package/dist/locale/eu.min.js +1 -1
  71. package/dist/locale/eu.min.mjs +1 -1
  72. package/dist/locale/eu.mjs +1 -1
  73. package/dist/locale/fa.js +1 -1
  74. package/dist/locale/fa.min.js +1 -1
  75. package/dist/locale/fa.min.mjs +1 -1
  76. package/dist/locale/fa.mjs +1 -1
  77. package/dist/locale/fi.js +1 -1
  78. package/dist/locale/fi.min.js +1 -1
  79. package/dist/locale/fi.min.mjs +1 -1
  80. package/dist/locale/fi.mjs +1 -1
  81. package/dist/locale/fr.js +1 -1
  82. package/dist/locale/fr.min.js +1 -1
  83. package/dist/locale/fr.min.mjs +1 -1
  84. package/dist/locale/fr.mjs +1 -1
  85. package/dist/locale/he.js +1 -1
  86. package/dist/locale/he.min.js +1 -1
  87. package/dist/locale/he.min.mjs +1 -1
  88. package/dist/locale/he.mjs +1 -1
  89. package/dist/locale/hr.js +1 -1
  90. package/dist/locale/hr.min.js +1 -1
  91. package/dist/locale/hr.min.mjs +1 -1
  92. package/dist/locale/hr.mjs +1 -1
  93. package/dist/locale/hu.js +1 -1
  94. package/dist/locale/hu.min.js +1 -1
  95. package/dist/locale/hu.min.mjs +1 -1
  96. package/dist/locale/hu.mjs +1 -1
  97. package/dist/locale/hy-am.js +1 -1
  98. package/dist/locale/hy-am.min.js +1 -1
  99. package/dist/locale/hy-am.min.mjs +1 -1
  100. package/dist/locale/hy-am.mjs +1 -1
  101. package/dist/locale/id.js +1 -1
  102. package/dist/locale/id.min.js +1 -1
  103. package/dist/locale/id.min.mjs +1 -1
  104. package/dist/locale/id.mjs +1 -1
  105. package/dist/locale/it.js +1 -1
  106. package/dist/locale/it.min.js +1 -1
  107. package/dist/locale/it.min.mjs +1 -1
  108. package/dist/locale/it.mjs +1 -1
  109. package/dist/locale/ja.js +1 -1
  110. package/dist/locale/ja.min.js +1 -1
  111. package/dist/locale/ja.min.mjs +1 -1
  112. package/dist/locale/ja.mjs +1 -1
  113. package/dist/locale/kk.js +1 -1
  114. package/dist/locale/kk.min.js +1 -1
  115. package/dist/locale/kk.min.mjs +1 -1
  116. package/dist/locale/kk.mjs +1 -1
  117. package/dist/locale/km.js +1 -1
  118. package/dist/locale/km.min.js +1 -1
  119. package/dist/locale/km.min.mjs +1 -1
  120. package/dist/locale/km.mjs +1 -1
  121. package/dist/locale/ko.js +1 -1
  122. package/dist/locale/ko.min.js +1 -1
  123. package/dist/locale/ko.min.mjs +1 -1
  124. package/dist/locale/ko.mjs +1 -1
  125. package/dist/locale/ku.js +1 -1
  126. package/dist/locale/ku.min.js +1 -1
  127. package/dist/locale/ku.min.mjs +1 -1
  128. package/dist/locale/ku.mjs +1 -1
  129. package/dist/locale/ky.js +1 -1
  130. package/dist/locale/ky.min.js +1 -1
  131. package/dist/locale/ky.min.mjs +1 -1
  132. package/dist/locale/ky.mjs +1 -1
  133. package/dist/locale/lt.js +1 -1
  134. package/dist/locale/lt.min.js +1 -1
  135. package/dist/locale/lt.min.mjs +1 -1
  136. package/dist/locale/lt.mjs +1 -1
  137. package/dist/locale/lv.js +1 -1
  138. package/dist/locale/lv.min.js +1 -1
  139. package/dist/locale/lv.min.mjs +1 -1
  140. package/dist/locale/lv.mjs +1 -1
  141. package/dist/locale/mg.js +1 -1
  142. package/dist/locale/mg.min.js +1 -1
  143. package/dist/locale/mg.min.mjs +1 -1
  144. package/dist/locale/mg.mjs +1 -1
  145. package/dist/locale/mn.js +1 -1
  146. package/dist/locale/mn.min.js +1 -1
  147. package/dist/locale/mn.min.mjs +1 -1
  148. package/dist/locale/mn.mjs +1 -1
  149. package/dist/locale/nb-no.js +1 -1
  150. package/dist/locale/nb-no.min.js +1 -1
  151. package/dist/locale/nb-no.min.mjs +1 -1
  152. package/dist/locale/nb-no.mjs +1 -1
  153. package/dist/locale/nl.js +1 -1
  154. package/dist/locale/nl.min.js +1 -1
  155. package/dist/locale/nl.min.mjs +1 -1
  156. package/dist/locale/nl.mjs +1 -1
  157. package/dist/locale/pa.js +1 -1
  158. package/dist/locale/pa.min.js +1 -1
  159. package/dist/locale/pa.min.mjs +1 -1
  160. package/dist/locale/pa.mjs +1 -1
  161. package/dist/locale/pl.js +1 -1
  162. package/dist/locale/pl.min.js +1 -1
  163. package/dist/locale/pl.min.mjs +1 -1
  164. package/dist/locale/pl.mjs +1 -1
  165. package/dist/locale/pt-br.js +1 -1
  166. package/dist/locale/pt-br.min.js +1 -1
  167. package/dist/locale/pt-br.min.mjs +1 -1
  168. package/dist/locale/pt-br.mjs +1 -1
  169. package/dist/locale/pt.js +1 -1
  170. package/dist/locale/pt.min.js +1 -1
  171. package/dist/locale/pt.min.mjs +1 -1
  172. package/dist/locale/pt.mjs +1 -1
  173. package/dist/locale/ro.js +1 -1
  174. package/dist/locale/ro.min.js +1 -1
  175. package/dist/locale/ro.min.mjs +1 -1
  176. package/dist/locale/ro.mjs +1 -1
  177. package/dist/locale/ru.js +1 -1
  178. package/dist/locale/ru.min.js +1 -1
  179. package/dist/locale/ru.min.mjs +1 -1
  180. package/dist/locale/ru.mjs +1 -1
  181. package/dist/locale/sk.js +1 -1
  182. package/dist/locale/sk.min.js +1 -1
  183. package/dist/locale/sk.min.mjs +1 -1
  184. package/dist/locale/sk.mjs +1 -1
  185. package/dist/locale/sl.js +1 -1
  186. package/dist/locale/sl.min.js +1 -1
  187. package/dist/locale/sl.min.mjs +1 -1
  188. package/dist/locale/sl.mjs +1 -1
  189. package/dist/locale/sr.js +1 -1
  190. package/dist/locale/sr.min.js +1 -1
  191. package/dist/locale/sr.min.mjs +1 -1
  192. package/dist/locale/sr.mjs +1 -1
  193. package/dist/locale/sv.js +1 -1
  194. package/dist/locale/sv.min.js +1 -1
  195. package/dist/locale/sv.min.mjs +1 -1
  196. package/dist/locale/sv.mjs +1 -1
  197. package/dist/locale/ta.js +1 -1
  198. package/dist/locale/ta.min.js +1 -1
  199. package/dist/locale/ta.min.mjs +1 -1
  200. package/dist/locale/ta.mjs +1 -1
  201. package/dist/locale/th.js +1 -1
  202. package/dist/locale/th.min.js +1 -1
  203. package/dist/locale/th.min.mjs +1 -1
  204. package/dist/locale/th.mjs +1 -1
  205. package/dist/locale/tk.js +1 -1
  206. package/dist/locale/tk.min.js +1 -1
  207. package/dist/locale/tk.min.mjs +1 -1
  208. package/dist/locale/tk.mjs +1 -1
  209. package/dist/locale/tr.js +1 -1
  210. package/dist/locale/tr.min.js +1 -1
  211. package/dist/locale/tr.min.mjs +1 -1
  212. package/dist/locale/tr.mjs +1 -1
  213. package/dist/locale/ug-cn.js +1 -1
  214. package/dist/locale/ug-cn.min.js +1 -1
  215. package/dist/locale/ug-cn.min.mjs +1 -1
  216. package/dist/locale/ug-cn.mjs +1 -1
  217. package/dist/locale/uk.js +1 -1
  218. package/dist/locale/uk.min.js +1 -1
  219. package/dist/locale/uk.min.mjs +1 -1
  220. package/dist/locale/uk.mjs +1 -1
  221. package/dist/locale/uz-uz.js +1 -1
  222. package/dist/locale/uz-uz.min.js +1 -1
  223. package/dist/locale/uz-uz.min.mjs +1 -1
  224. package/dist/locale/uz-uz.mjs +1 -1
  225. package/dist/locale/vi.js +1 -1
  226. package/dist/locale/vi.min.js +1 -1
  227. package/dist/locale/vi.min.mjs +1 -1
  228. package/dist/locale/vi.mjs +1 -1
  229. package/dist/locale/zh-cn.js +1 -1
  230. package/dist/locale/zh-cn.min.js +1 -1
  231. package/dist/locale/zh-cn.min.mjs +1 -1
  232. package/dist/locale/zh-cn.mjs +1 -1
  233. package/dist/locale/zh-tw.js +1 -1
  234. package/dist/locale/zh-tw.min.js +1 -1
  235. package/dist/locale/zh-tw.min.mjs +1 -1
  236. package/dist/locale/zh-tw.mjs +1 -1
  237. package/es/components/autocomplete/src/autocomplete2.mjs +1 -0
  238. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  239. package/es/components/breadcrumb/index.d.ts +2 -6
  240. package/es/components/breadcrumb/src/breadcrumb-item.vue.d.ts +1 -3
  241. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +5 -5
  242. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  243. package/es/components/focus-trap/src/focus-trap.mjs +1 -1
  244. package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
  245. package/es/components/index.mjs +1 -1
  246. package/es/components/menu/src/sub-menu.mjs +2 -0
  247. package/es/components/menu/src/sub-menu.mjs.map +1 -1
  248. package/es/components/popover/index.mjs +2 -2
  249. package/es/components/popover/src/popover.mjs +66 -111
  250. package/es/components/popover/src/popover.mjs.map +1 -1
  251. package/es/components/popover/src/popover2.mjs +111 -66
  252. package/es/components/popover/src/popover2.mjs.map +1 -1
  253. package/es/components/row/index.d.ts +18 -4
  254. package/es/components/row/src/row.d.ts +6 -1
  255. package/es/components/row/src/row.mjs +1 -2
  256. package/es/components/row/src/row.mjs.map +1 -1
  257. package/es/components/row/src/row.vue.d.ts +18 -4
  258. package/es/components/row/src/row2.mjs +1 -1
  259. package/es/components/row/src/row2.mjs.map +1 -1
  260. package/es/components/select/src/useSelect.mjs +2 -2
  261. package/es/components/select/src/useSelect.mjs.map +1 -1
  262. package/es/components/table/src/table-column/watcher-helper.mjs +1 -0
  263. package/es/components/table/src/table-column/watcher-helper.mjs.map +1 -1
  264. package/es/components/upload/src/upload.d.ts +1 -1
  265. package/es/components/upload/src/upload.mjs.map +1 -1
  266. package/es/hooks/use-namespace/index.mjs +2 -2
  267. package/es/hooks/use-namespace/index.mjs.map +1 -1
  268. package/es/hooks/use-z-index/index.mjs +2 -2
  269. package/es/hooks/use-z-index/index.mjs.map +1 -1
  270. package/es/index.mjs +1 -1
  271. package/es/version.d.ts +1 -1
  272. package/es/version.mjs +1 -1
  273. package/es/version.mjs.map +1 -1
  274. package/lib/components/autocomplete/src/autocomplete2.js +1 -0
  275. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  276. package/lib/components/breadcrumb/index.d.ts +2 -6
  277. package/lib/components/breadcrumb/src/breadcrumb-item.vue.d.ts +1 -3
  278. package/lib/components/breadcrumb/src/breadcrumb-item2.js +4 -4
  279. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  280. package/lib/components/focus-trap/src/focus-trap.js +1 -1
  281. package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
  282. package/lib/components/index.js +1 -1
  283. package/lib/components/menu/src/sub-menu.js +2 -0
  284. package/lib/components/menu/src/sub-menu.js.map +1 -1
  285. package/lib/components/popover/index.js +2 -2
  286. package/lib/components/popover/src/popover.js +67 -111
  287. package/lib/components/popover/src/popover.js.map +1 -1
  288. package/lib/components/popover/src/popover2.js +111 -67
  289. package/lib/components/popover/src/popover2.js.map +1 -1
  290. package/lib/components/row/index.d.ts +18 -4
  291. package/lib/components/row/src/row.d.ts +6 -1
  292. package/lib/components/row/src/row.js +1 -2
  293. package/lib/components/row/src/row.js.map +1 -1
  294. package/lib/components/row/src/row.vue.d.ts +18 -4
  295. package/lib/components/row/src/row2.js +1 -1
  296. package/lib/components/row/src/row2.js.map +1 -1
  297. package/lib/components/select/src/useSelect.js +2 -2
  298. package/lib/components/select/src/useSelect.js.map +1 -1
  299. package/lib/components/table/src/table-column/watcher-helper.js +1 -0
  300. package/lib/components/table/src/table-column/watcher-helper.js.map +1 -1
  301. package/lib/components/upload/src/upload.d.ts +1 -1
  302. package/lib/components/upload/src/upload.js.map +1 -1
  303. package/lib/hooks/use-namespace/index.js +1 -1
  304. package/lib/hooks/use-namespace/index.js.map +1 -1
  305. package/lib/hooks/use-z-index/index.js +1 -1
  306. package/lib/hooks/use-z-index/index.js.map +1 -1
  307. package/lib/index.js +1 -1
  308. package/lib/version.d.ts +1 -1
  309. package/lib/version.js +1 -1
  310. package/lib/version.js.map +1 -1
  311. package/package.json +2 -2
  312. package/theme-chalk/el-menu.css +1 -1
  313. package/theme-chalk/el-row.css +1 -1
  314. package/theme-chalk/index.css +1 -1
  315. package/theme-chalk/src/menu.scss +4 -6
  316. package/theme-chalk/src/row.scss +3 -0
  317. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useSelect.mjs","sources":["../../../../../../packages/components/select/src/useSelect.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n nextTick,\n reactive,\n ref,\n shallowRef,\n toRaw,\n triggerRef,\n watch,\n} from 'vue'\nimport { isObject, toRawType } from '@vue/shared'\nimport { get, isEqual, debounce as lodashDebounce } from 'lodash-unified'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport {\n debugWarn,\n getComponentSize,\n isClient,\n isFunction,\n isKorean,\n isNumber,\n isString,\n scrollIntoView,\n} from '@element-plus/utils'\nimport { useDeprecated, useLocale, useNamespace } from '@element-plus/hooks'\nimport { useFormItem, useFormSize } from '@element-plus/components/form'\n\nimport type { ComponentPublicInstance } from 'vue'\nimport type ElTooltip from '@element-plus/components/tooltip'\nimport type { QueryChangeCtx, SelectOptionProxy } from './token'\n\nexport function useSelectStates(props) {\n const { t } = useLocale()\n return reactive({\n options: new Map(),\n cachedOptions: new Map(),\n createdLabel: null,\n createdSelected: false,\n selected: props.multiple ? [] : ({} as any),\n inputLength: 20,\n inputWidth: 0,\n optionsCount: 0,\n filteredOptionsCount: 0,\n visible: false,\n selectedLabel: '',\n hoverIndex: -1,\n query: '',\n previousQuery: null,\n inputHovering: false,\n cachedPlaceHolder: '',\n currentPlaceholder: t('el.select.placeholder') as string | (() => string),\n menuVisibleOnFocus: false,\n isOnComposition: false,\n prefixWidth: 11,\n mouseEnter: false,\n })\n}\nlet ignoreFocusEvent = false\n\ntype States = ReturnType<typeof useSelectStates>\n\nexport const useSelect = (props, states: States, ctx) => {\n const { t } = useLocale()\n const ns = useNamespace('select')\n\n useDeprecated(\n {\n from: 'suffixTransition',\n replacement: 'override style scheme',\n version: '2.3.0',\n scope: 'props',\n ref: 'https://element-plus.org/en-US/component/select.html#select-attributes',\n },\n computed(() => props.suffixTransition === false)\n )\n\n // template refs\n const reference = ref<ComponentPublicInstance<{\n focus: () => void\n blur: () => void\n input: HTMLInputElement\n }> | null>(null)\n const input = ref<HTMLInputElement | null>(null)\n const iOSInput = ref<HTMLInputElement | null>(null)\n const tooltipRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const tagTooltipRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const tags = ref<HTMLElement | null>(null)\n const selectWrapper = ref<HTMLElement | null>(null)\n const scrollbar = ref<{\n handleScroll: () => void\n } | null>(null)\n const hoverOption = ref(-1)\n const queryChange = shallowRef<QueryChangeCtx>({ query: '' })\n const groupQueryChange = shallowRef('')\n const optionList = ref<string[]>([])\n let originClientHeight = 0\n\n const { form, formItem } = useFormItem()\n\n const readonly = computed(\n () => !props.filterable || props.multiple || !states.visible\n )\n\n const selectDisabled = computed(() => props.disabled || form?.disabled)\n\n const showClose = computed(() => {\n const hasValue = props.multiple\n ? Array.isArray(props.modelValue) && props.modelValue.length > 0\n : props.modelValue !== undefined &&\n props.modelValue !== null &&\n props.modelValue !== ''\n\n const criteria =\n props.clearable &&\n !selectDisabled.value &&\n states.inputHovering &&\n hasValue\n return criteria\n })\n const iconComponent = computed(() =>\n props.remote && props.filterable && !props.remoteShowSuffix\n ? ''\n : props.suffixIcon\n )\n const iconReverse = computed(() =>\n ns.is(\n 'reverse',\n iconComponent.value && states.visible && props.suffixTransition\n )\n )\n\n const debounce = computed(() => (props.remote ? 300 : 0))\n\n const emptyText = computed(() => {\n if (props.loading) {\n return props.loadingText || t('el.select.loading')\n } else {\n if (props.remote && states.query === '' && states.options.size === 0)\n return false\n if (\n props.filterable &&\n states.query &&\n states.options.size > 0 &&\n states.filteredOptionsCount === 0\n ) {\n return props.noMatchText || t('el.select.noMatch')\n }\n if (states.options.size === 0) {\n return props.noDataText || t('el.select.noData')\n }\n }\n return null\n })\n\n const optionsArray = computed(() => {\n const list = Array.from(states.options.values())\n const newList = []\n optionList.value.forEach((item) => {\n const index = list.findIndex((i) => i.currentLabel === item)\n if (index > -1) {\n newList.push(list[index])\n }\n })\n return newList.length ? newList : list\n })\n\n const cachedOptionsArray = computed(() =>\n Array.from(states.cachedOptions.values())\n )\n\n const showNewOption = computed(() => {\n const hasExistingOption = optionsArray.value\n .filter((option) => {\n return !option.created\n })\n .some((option) => {\n return option.currentLabel === states.query\n })\n return (\n props.filterable &&\n props.allowCreate &&\n states.query !== '' &&\n !hasExistingOption\n )\n })\n\n const selectSize = useFormSize()\n\n const collapseTagSize = computed(() =>\n ['small'].includes(selectSize.value) ? 'small' : 'default'\n )\n\n const dropMenuVisible = computed({\n get() {\n return states.visible && emptyText.value !== false\n },\n set(val: boolean) {\n states.visible = val\n },\n })\n\n // watch\n watch(\n [() => selectDisabled.value, () => selectSize.value, () => form?.size],\n () => {\n nextTick(() => {\n resetInputHeight()\n })\n }\n )\n\n watch(\n () => props.placeholder,\n (val) => {\n states.cachedPlaceHolder = states.currentPlaceholder = val\n\n const hasValue =\n props.multiple &&\n Array.isArray(props.modelValue) &&\n props.modelValue.length > 0\n\n if (hasValue) {\n states.currentPlaceholder = ''\n }\n }\n )\n\n watch(\n () => props.modelValue,\n (val, oldVal) => {\n if (props.multiple) {\n resetInputHeight()\n if ((val && val.length > 0) || (input.value && states.query !== '')) {\n states.currentPlaceholder = ''\n } else {\n states.currentPlaceholder = states.cachedPlaceHolder\n }\n if (props.filterable && !props.reserveKeyword) {\n states.query = ''\n handleQueryChange(states.query)\n }\n }\n setSelected()\n if (props.filterable && !props.multiple) {\n states.inputLength = 20\n }\n if (!isEqual(val, oldVal) && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n },\n {\n flush: 'post',\n deep: true,\n }\n )\n\n watch(\n () => states.visible,\n (val) => {\n if (!val) {\n if (props.filterable) {\n if (isFunction(props.filterMethod)) {\n props.filterMethod('')\n }\n if (isFunction(props.remoteMethod)) {\n props.remoteMethod('')\n }\n }\n input.value && input.value.blur()\n states.query = ''\n states.previousQuery = null\n states.selectedLabel = ''\n states.inputLength = 20\n states.menuVisibleOnFocus = false\n resetHoverIndex()\n nextTick(() => {\n if (\n input.value &&\n input.value.value === '' &&\n states.selected.length === 0\n ) {\n states.currentPlaceholder = states.cachedPlaceHolder\n }\n })\n\n if (!props.multiple) {\n if (states.selected) {\n if (\n props.filterable &&\n props.allowCreate &&\n states.createdSelected &&\n states.createdLabel\n ) {\n states.selectedLabel = states.createdLabel\n } else {\n states.selectedLabel = states.selected.currentLabel\n }\n if (props.filterable) states.query = states.selectedLabel\n }\n\n if (props.filterable) {\n states.currentPlaceholder = states.cachedPlaceHolder\n }\n }\n } else {\n tooltipRef.value?.updatePopper?.()\n\n if (props.filterable) {\n states.filteredOptionsCount = states.optionsCount\n states.query = props.remote ? '' : states.selectedLabel\n iOSInput.value?.focus?.()\n if (props.multiple) {\n input.value?.focus()\n } else {\n if (states.selectedLabel) {\n states.currentPlaceholder = `${states.selectedLabel}`\n states.selectedLabel = ''\n }\n }\n handleQueryChange(states.query)\n if (!props.multiple && !props.remote) {\n queryChange.value.query = ''\n\n triggerRef(queryChange)\n triggerRef(groupQueryChange)\n }\n }\n }\n ctx.emit('visible-change', val)\n }\n )\n\n watch(\n // fix `Array.prototype.push/splice/..` cannot trigger non-deep watcher\n // https://github.com/vuejs/vue-next/issues/2116\n () => states.options.entries(),\n () => {\n if (!isClient) return\n tooltipRef.value?.updatePopper?.()\n if (props.multiple) {\n resetInputHeight()\n }\n const inputs = selectWrapper.value?.querySelectorAll('input') || []\n if (\n !Array.from(inputs).includes(document.activeElement as HTMLInputElement)\n ) {\n setSelected()\n }\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n states.filteredOptionsCount\n ) {\n checkDefaultFirstOption()\n }\n },\n {\n flush: 'post',\n }\n )\n\n watch(\n () => states.hoverIndex,\n (val) => {\n if (isNumber(val) && val > -1) {\n hoverOption.value = optionsArray.value[val] || {}\n } else {\n hoverOption.value = {}\n }\n optionsArray.value.forEach((option) => {\n option.hover = hoverOption.value === option\n })\n }\n )\n\n // methods\n const resetInputHeight = () => {\n nextTick(() => {\n if (!reference.value) return\n const input = reference.value.$el.querySelector(\n 'input'\n ) as HTMLInputElement\n originClientHeight =\n originClientHeight ||\n (input.clientHeight > 0 ? input.clientHeight + 2 : 0)\n const _tags = tags.value\n const gotSize = getComponentSize(selectSize.value || form?.size)\n\n const sizeInMap =\n selectSize.value ||\n gotSize === originClientHeight ||\n originClientHeight <= 0\n ? gotSize\n : originClientHeight\n\n const isElHidden = input.offsetParent === null\n\n // it's an inner input so reduce it by 2px.\n !isElHidden &&\n (input.style.height = `${\n (states.selected.length === 0\n ? sizeInMap\n : Math.max(\n _tags\n ? _tags.clientHeight +\n (_tags.clientHeight > sizeInMap ? 6 : 0)\n : 0,\n sizeInMap\n )) - 2\n }px`)\n\n if (states.visible && emptyText.value !== false) {\n tooltipRef.value?.updatePopper?.()\n }\n })\n }\n\n const handleQueryChange = async (val) => {\n if (states.previousQuery === val || states.isOnComposition) return\n if (\n states.previousQuery === null &&\n (isFunction(props.filterMethod) || isFunction(props.remoteMethod))\n ) {\n states.previousQuery = val\n return\n }\n states.previousQuery = val\n nextTick(() => {\n if (states.visible) tooltipRef.value?.updatePopper?.()\n })\n states.hoverIndex = -1\n if (props.multiple && props.filterable) {\n nextTick(() => {\n const length = input.value!.value.length * 15 + 20\n states.inputLength = props.collapseTags ? Math.min(50, length) : length\n managePlaceholder()\n resetInputHeight()\n })\n }\n if (props.remote && isFunction(props.remoteMethod)) {\n states.hoverIndex = -1\n props.remoteMethod(val)\n } else if (isFunction(props.filterMethod)) {\n props.filterMethod(val)\n triggerRef(groupQueryChange)\n } else {\n states.filteredOptionsCount = states.optionsCount\n queryChange.value.query = val\n\n triggerRef(queryChange)\n triggerRef(groupQueryChange)\n }\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n states.filteredOptionsCount\n ) {\n await nextTick()\n checkDefaultFirstOption()\n }\n }\n\n const managePlaceholder = () => {\n if (states.currentPlaceholder !== '') {\n states.currentPlaceholder = input.value!.value\n ? ''\n : states.cachedPlaceHolder\n }\n }\n\n /**\n * find and highlight first option as default selected\n * @remark\n * - if the first option in dropdown list is user-created,\n * it would be at the end of the optionsArray\n * so find it and set hover.\n * (NOTE: there must be only one user-created option in dropdown list with query)\n * - if there's no user-created option in list, just find the first one as usual\n * (NOTE: exclude options that are disabled or in disabled-group)\n */\n const checkDefaultFirstOption = () => {\n const optionsInDropdown = optionsArray.value.filter(\n (n) => n.visible && !n.disabled && !n.states.groupDisabled\n )\n const userCreatedOption = optionsInDropdown.find((n) => n.created)\n const firstOriginOption = optionsInDropdown[0]\n states.hoverIndex = getValueIndex(\n optionsArray.value,\n userCreatedOption || firstOriginOption\n )\n }\n\n const setSelected = () => {\n if (!props.multiple) {\n const option = getOption(props.modelValue)\n if (option.props?.created) {\n states.createdLabel = option.props.value\n states.createdSelected = true\n } else {\n states.createdSelected = false\n }\n states.selectedLabel = option.currentLabel\n states.selected = option\n if (props.filterable) states.query = states.selectedLabel\n return\n } else {\n states.selectedLabel = ''\n }\n const result: any[] = []\n if (Array.isArray(props.modelValue)) {\n props.modelValue.forEach((value) => {\n result.push(getOption(value))\n })\n }\n states.selected = result\n nextTick(() => {\n resetInputHeight()\n })\n }\n\n const getOption = (value) => {\n let option\n const isObjectValue = toRawType(value).toLowerCase() === 'object'\n const isNull = toRawType(value).toLowerCase() === 'null'\n const isUndefined = toRawType(value).toLowerCase() === 'undefined'\n\n for (let i = states.cachedOptions.size - 1; i >= 0; i--) {\n const cachedOption = cachedOptionsArray.value[i]\n const isEqualValue = isObjectValue\n ? get(cachedOption.value, props.valueKey) === get(value, props.valueKey)\n : cachedOption.value === value\n if (isEqualValue) {\n option = {\n value,\n currentLabel: cachedOption.currentLabel,\n isDisabled: cachedOption.isDisabled,\n }\n break\n }\n }\n if (option) return option\n const label = isObjectValue\n ? value.label\n : !isNull && !isUndefined\n ? value\n : ''\n const newOption = {\n value,\n currentLabel: label,\n }\n if (props.multiple) {\n ;(newOption as any).hitState = false\n }\n return newOption\n }\n\n const resetHoverIndex = () => {\n setTimeout(() => {\n const valueKey = props.valueKey\n if (!props.multiple) {\n states.hoverIndex = optionsArray.value.findIndex((item) => {\n return getValueKey(item) === getValueKey(states.selected)\n })\n } else {\n if (states.selected.length > 0) {\n states.hoverIndex = Math.min.apply(\n null,\n states.selected.map((selected) => {\n return optionsArray.value.findIndex((item) => {\n return get(item, valueKey) === get(selected, valueKey)\n })\n })\n )\n } else {\n states.hoverIndex = -1\n }\n }\n }, 300)\n }\n\n const handleResize = () => {\n resetInputWidth()\n tooltipRef.value?.updatePopper?.()\n props.multiple && resetInputHeight()\n }\n\n const resetInputWidth = () => {\n states.inputWidth = reference.value?.$el.offsetWidth\n }\n\n const onInputChange = () => {\n if (props.filterable && states.query !== states.selectedLabel) {\n states.query = states.selectedLabel\n handleQueryChange(states.query)\n }\n }\n\n const debouncedOnInputChange = lodashDebounce(() => {\n onInputChange()\n }, debounce.value)\n\n const debouncedQueryChange = lodashDebounce((e) => {\n handleQueryChange(e.target.value)\n }, debounce.value)\n\n const emitChange = (val) => {\n if (!isEqual(props.modelValue, val)) {\n ctx.emit(CHANGE_EVENT, val)\n }\n }\n\n const deletePrevTag = (e) => {\n if (e.code === EVENT_CODE.delete) return\n if (e.target.value.length <= 0 && !toggleLastOptionHitState()) {\n const value = props.modelValue.slice()\n value.pop()\n ctx.emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n }\n\n if (e.target.value.length === 1 && props.modelValue.length === 0) {\n states.currentPlaceholder = states.cachedPlaceHolder\n }\n }\n\n const deleteTag = (event, tag) => {\n const index = states.selected.indexOf(tag)\n if (index > -1 && !selectDisabled.value) {\n const value = props.modelValue.slice()\n value.splice(index, 1)\n ctx.emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n ctx.emit('remove-tag', tag.value)\n }\n event.stopPropagation()\n }\n\n const deleteSelected = (event) => {\n event.stopPropagation()\n const value: string | any[] = props.multiple ? [] : ''\n if (!isString(value)) {\n for (const item of states.selected) {\n if (item.isDisabled) value.push(item.value)\n }\n }\n ctx.emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n states.hoverIndex = -1\n states.visible = false\n ctx.emit('clear')\n }\n\n const handleOptionSelect = (option) => {\n if (props.multiple) {\n const value = (props.modelValue || []).slice()\n const optionIndex = getValueIndex(value, option.value)\n if (optionIndex > -1) {\n value.splice(optionIndex, 1)\n } else if (\n props.multipleLimit <= 0 ||\n value.length < props.multipleLimit\n ) {\n value.push(option.value)\n }\n ctx.emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n if (option.created) {\n states.query = ''\n handleQueryChange('')\n states.inputLength = 20\n }\n if (props.filterable) input.value?.focus()\n } else {\n ctx.emit(UPDATE_MODEL_EVENT, option.value)\n emitChange(option.value)\n states.visible = false\n }\n\n setSoftFocus()\n if (states.visible) return\n nextTick(() => {\n scrollToOption(option)\n })\n }\n\n const getValueIndex = (arr: any[] = [], value) => {\n if (!isObject(value)) return arr.indexOf(value)\n\n const valueKey = props.valueKey\n let index = -1\n arr.some((item, i) => {\n if (toRaw(get(item, valueKey)) === get(value, valueKey)) {\n index = i\n return true\n }\n return false\n })\n return index\n }\n\n const setSoftFocus = () => {\n const _input = input.value || reference.value\n if (_input) {\n _input?.focus()\n }\n }\n\n const scrollToOption = (option) => {\n const targetOption = Array.isArray(option) ? option[0] : option\n let target = null\n\n if (targetOption?.value) {\n const options = optionsArray.value.filter(\n (item) => item.value === targetOption.value\n )\n if (options.length > 0) {\n target = options[0].$el\n }\n }\n\n if (tooltipRef.value && target) {\n const menu = tooltipRef.value?.popperRef?.contentRef?.querySelector?.(\n `.${ns.be('dropdown', 'wrap')}`\n )\n if (menu) {\n scrollIntoView(menu as HTMLElement, target)\n }\n }\n scrollbar.value?.handleScroll()\n }\n\n const onOptionCreate = (vm: SelectOptionProxy) => {\n states.optionsCount++\n states.filteredOptionsCount++\n states.options.set(vm.value, vm)\n states.cachedOptions.set(vm.value, vm)\n }\n\n const onOptionDestroy = (key, vm: SelectOptionProxy) => {\n if (states.options.get(key) === vm) {\n states.optionsCount--\n states.filteredOptionsCount--\n states.options.delete(key)\n }\n }\n\n const resetInputState = (e: KeyboardEvent) => {\n if (e.code !== EVENT_CODE.backspace) toggleLastOptionHitState(false)\n states.inputLength = input.value!.value.length * 15 + 20\n resetInputHeight()\n }\n\n const toggleLastOptionHitState = (hit?: boolean) => {\n if (!Array.isArray(states.selected)) return\n const option = states.selected[states.selected.length - 1]\n if (!option) return\n\n if (hit === true || hit === false) {\n option.hitState = hit\n return hit\n }\n\n option.hitState = !option.hitState\n return option.hitState\n }\n\n const handleComposition = (event) => {\n const text = event.target.value\n if (event.type === 'compositionend') {\n states.isOnComposition = false\n nextTick(() => handleQueryChange(text))\n } else {\n const lastCharacter = text[text.length - 1] || ''\n states.isOnComposition = !isKorean(lastCharacter)\n }\n }\n\n const handleMenuEnter = () => {\n nextTick(() => scrollToOption(states.selected))\n }\n\n const handleFocus = (event: FocusEvent) => {\n if (!ignoreFocusEvent) {\n if (props.automaticDropdown || props.filterable) {\n if (props.filterable && !states.visible) {\n states.menuVisibleOnFocus = true\n }\n states.visible = true\n }\n ctx.emit('focus', event)\n } else {\n ignoreFocusEvent = false\n }\n }\n\n const blur = () => {\n states.visible = false\n reference.value?.blur()\n iOSInput.value?.blur?.()\n }\n\n const handleBlur = (event: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (tooltipRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n states.visible && handleClose()\n ctx.emit('blur', event)\n })\n }\n\n const handleClearClick = (event: Event) => {\n deleteSelected(event)\n }\n\n const handleClose = () => {\n states.visible = false\n }\n\n const handleKeydownEscape = (event: KeyboardEvent) => {\n if (states.visible) {\n event.preventDefault()\n event.stopPropagation()\n states.visible = false\n }\n }\n\n const toggleMenu = (e?: PointerEvent) => {\n if (e && !states.mouseEnter) {\n return\n }\n if (!selectDisabled.value) {\n if (states.menuVisibleOnFocus) {\n states.menuVisibleOnFocus = false\n } else {\n if (!tooltipRef.value || !tooltipRef.value.isFocusInsideContent()) {\n states.visible = !states.visible\n }\n }\n if (states.visible) {\n ;(input.value || reference.value)?.focus()\n }\n }\n }\n\n const selectOption = () => {\n if (!states.visible) {\n toggleMenu()\n } else {\n if (optionsArray.value[states.hoverIndex]) {\n handleOptionSelect(optionsArray.value[states.hoverIndex])\n }\n }\n }\n\n const getValueKey = (item) => {\n return isObject(item.value) ? get(item.value, props.valueKey) : item.value\n }\n\n const optionsAllDisabled = computed(() =>\n optionsArray.value\n .filter((option) => option.visible)\n .every((option) => option.disabled)\n )\n\n const showTagList = computed(() =>\n states.selected.slice(0, props.maxCollapseTags)\n )\n\n const collapseTagList = computed(() =>\n states.selected.slice(props.maxCollapseTags)\n )\n\n const navigateOptions = (direction) => {\n if (!states.visible) {\n states.visible = true\n return\n }\n if (states.options.size === 0 || states.filteredOptionsCount === 0) return\n if (states.isOnComposition) return\n\n if (!optionsAllDisabled.value) {\n if (direction === 'next') {\n states.hoverIndex++\n if (states.hoverIndex === states.options.size) {\n states.hoverIndex = 0\n }\n } else if (direction === 'prev') {\n states.hoverIndex--\n if (states.hoverIndex < 0) {\n states.hoverIndex = states.options.size - 1\n }\n }\n const option = optionsArray.value[states.hoverIndex]\n if (\n option.disabled === true ||\n option.states.groupDisabled === true ||\n !option.visible\n ) {\n navigateOptions(direction)\n }\n nextTick(() => scrollToOption(hoverOption.value))\n }\n }\n\n const handleMouseEnter = () => {\n states.mouseEnter = true\n }\n\n const handleMouseLeave = () => {\n states.mouseEnter = false\n }\n const handleDeleteTooltipTag = (event, tag) => {\n deleteTag(event, tag)\n tagTooltipRef.value?.updatePopper?.()\n }\n return {\n optionList,\n optionsArray,\n selectSize,\n handleResize,\n debouncedOnInputChange,\n debouncedQueryChange,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n readonly,\n resetInputHeight,\n showClose,\n iconComponent,\n iconReverse,\n showNewOption,\n collapseTagSize,\n setSelected,\n managePlaceholder,\n selectDisabled,\n emptyText,\n toggleLastOptionHitState,\n resetInputState,\n handleComposition,\n onOptionCreate,\n onOptionDestroy,\n handleMenuEnter,\n handleFocus,\n blur,\n handleBlur,\n handleClearClick,\n handleClose,\n handleKeydownEscape,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n handleDeleteTooltipTag,\n dropMenuVisible,\n queryChange,\n groupQueryChange,\n showTagList,\n collapseTagList,\n\n // DOM ref\n reference,\n input,\n iOSInput,\n tooltipRef,\n tagTooltipRef,\n tags,\n selectWrapper,\n scrollbar,\n\n // Mouser Event\n handleMouseEnter,\n handleMouseLeave,\n }\n}\n"],"names":["debounce","lodashDebounce"],"mappings":"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"}
1
+ {"version":3,"file":"useSelect.mjs","sources":["../../../../../../packages/components/select/src/useSelect.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n nextTick,\n reactive,\n ref,\n shallowRef,\n toRaw,\n triggerRef,\n watch,\n} from 'vue'\nimport { isObject, toRawType } from '@vue/shared'\nimport { get, isEqual, debounce as lodashDebounce } from 'lodash-unified'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport {\n debugWarn,\n getComponentSize,\n isClient,\n isFunction,\n isKorean,\n isNumber,\n isString,\n scrollIntoView,\n} from '@element-plus/utils'\nimport { useDeprecated, useLocale, useNamespace } from '@element-plus/hooks'\nimport { useFormItem, useFormSize } from '@element-plus/components/form'\n\nimport type { ComponentPublicInstance } from 'vue'\nimport type ElTooltip from '@element-plus/components/tooltip'\nimport type { QueryChangeCtx, SelectOptionProxy } from './token'\n\nexport function useSelectStates(props) {\n const { t } = useLocale()\n return reactive({\n options: new Map(),\n cachedOptions: new Map(),\n createdLabel: null,\n createdSelected: false,\n selected: props.multiple ? [] : ({} as any),\n inputLength: 20,\n inputWidth: 0,\n optionsCount: 0,\n filteredOptionsCount: 0,\n visible: false,\n selectedLabel: '',\n hoverIndex: -1,\n query: '',\n previousQuery: null,\n inputHovering: false,\n cachedPlaceHolder: '',\n currentPlaceholder: t('el.select.placeholder') as string | (() => string),\n menuVisibleOnFocus: false,\n isOnComposition: false,\n prefixWidth: 11,\n mouseEnter: false,\n })\n}\nlet ignoreFocusEvent = false\n\ntype States = ReturnType<typeof useSelectStates>\n\nexport const useSelect = (props, states: States, ctx) => {\n const { t } = useLocale()\n const ns = useNamespace('select')\n\n useDeprecated(\n {\n from: 'suffixTransition',\n replacement: 'override style scheme',\n version: '2.3.0',\n scope: 'props',\n ref: 'https://element-plus.org/en-US/component/select.html#select-attributes',\n },\n computed(() => props.suffixTransition === false)\n )\n\n // template refs\n const reference = ref<ComponentPublicInstance<{\n focus: () => void\n blur: () => void\n input: HTMLInputElement\n }> | null>(null)\n const input = ref<HTMLInputElement | null>(null)\n const iOSInput = ref<HTMLInputElement | null>(null)\n const tooltipRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const tagTooltipRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const tags = ref<HTMLElement | null>(null)\n const selectWrapper = ref<HTMLElement | null>(null)\n const scrollbar = ref<{\n handleScroll: () => void\n } | null>(null)\n const hoverOption = ref(-1)\n const queryChange = shallowRef<QueryChangeCtx>({ query: '' })\n const groupQueryChange = shallowRef('')\n const optionList = ref<string[]>([])\n let originClientHeight = 0\n\n const { form, formItem } = useFormItem()\n\n const readonly = computed(\n () => !props.filterable || props.multiple || !states.visible\n )\n\n const selectDisabled = computed(() => props.disabled || form?.disabled)\n\n const showClose = computed(() => {\n const hasValue = props.multiple\n ? Array.isArray(props.modelValue) && props.modelValue.length > 0\n : props.modelValue !== undefined &&\n props.modelValue !== null &&\n props.modelValue !== ''\n\n const criteria =\n props.clearable &&\n !selectDisabled.value &&\n states.inputHovering &&\n hasValue\n return criteria\n })\n const iconComponent = computed(() =>\n props.remote && props.filterable && !props.remoteShowSuffix\n ? ''\n : props.suffixIcon\n )\n const iconReverse = computed(() =>\n ns.is(\n 'reverse',\n iconComponent.value && states.visible && props.suffixTransition\n )\n )\n\n const debounce = computed(() => (props.remote ? 300 : 0))\n\n const emptyText = computed(() => {\n if (props.loading) {\n return props.loadingText || t('el.select.loading')\n } else {\n if (props.remote && states.query === '' && states.options.size === 0)\n return false\n if (\n props.filterable &&\n states.query &&\n states.options.size > 0 &&\n states.filteredOptionsCount === 0\n ) {\n return props.noMatchText || t('el.select.noMatch')\n }\n if (states.options.size === 0) {\n return props.noDataText || t('el.select.noData')\n }\n }\n return null\n })\n\n const optionsArray = computed(() => {\n const list = Array.from(states.options.values())\n const newList = []\n optionList.value.forEach((item) => {\n const index = list.findIndex((i) => i.currentLabel === item)\n if (index > -1) {\n newList.push(list[index])\n }\n })\n return newList.length ? newList : list\n })\n\n const cachedOptionsArray = computed(() =>\n Array.from(states.cachedOptions.values())\n )\n\n const showNewOption = computed(() => {\n const hasExistingOption = optionsArray.value\n .filter((option) => {\n return !option.created\n })\n .some((option) => {\n return option.currentLabel === states.query\n })\n return (\n props.filterable &&\n props.allowCreate &&\n states.query !== '' &&\n !hasExistingOption\n )\n })\n\n const selectSize = useFormSize()\n\n const collapseTagSize = computed(() =>\n ['small'].includes(selectSize.value) ? 'small' : 'default'\n )\n\n const dropMenuVisible = computed({\n get() {\n return states.visible && emptyText.value !== false\n },\n set(val: boolean) {\n states.visible = val\n },\n })\n\n // watch\n watch(\n [() => selectDisabled.value, () => selectSize.value, () => form?.size],\n () => {\n nextTick(() => {\n resetInputHeight()\n })\n }\n )\n\n watch(\n () => props.placeholder,\n (val) => {\n states.cachedPlaceHolder = states.currentPlaceholder = val\n\n const hasValue =\n props.multiple &&\n Array.isArray(props.modelValue) &&\n props.modelValue.length > 0\n\n if (hasValue) {\n states.currentPlaceholder = ''\n }\n }\n )\n\n watch(\n () => props.modelValue,\n (val, oldVal) => {\n if (props.multiple) {\n resetInputHeight()\n if ((val && val.length > 0) || (input.value && states.query !== '')) {\n states.currentPlaceholder = ''\n } else {\n states.currentPlaceholder = states.cachedPlaceHolder\n }\n if (props.filterable && !props.reserveKeyword) {\n states.query = ''\n handleQueryChange(states.query)\n }\n }\n setSelected()\n if (props.filterable && !props.multiple) {\n states.inputLength = 20\n }\n if (!isEqual(val, oldVal) && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n },\n {\n flush: 'post',\n deep: true,\n }\n )\n\n watch(\n () => states.visible,\n (val) => {\n if (!val) {\n if (props.filterable) {\n if (isFunction(props.filterMethod)) {\n props.filterMethod('')\n }\n if (isFunction(props.remoteMethod)) {\n props.remoteMethod('')\n }\n }\n input.value && input.value.blur()\n states.query = ''\n states.previousQuery = null\n states.selectedLabel = ''\n states.inputLength = 20\n states.menuVisibleOnFocus = false\n resetHoverIndex()\n nextTick(() => {\n if (\n input.value &&\n input.value.value === '' &&\n states.selected.length === 0\n ) {\n states.currentPlaceholder = states.cachedPlaceHolder\n }\n })\n\n if (!props.multiple) {\n if (states.selected) {\n if (\n props.filterable &&\n props.allowCreate &&\n states.createdSelected &&\n states.createdLabel\n ) {\n states.selectedLabel = states.createdLabel\n } else {\n states.selectedLabel = states.selected.currentLabel\n }\n if (props.filterable) states.query = states.selectedLabel\n }\n\n if (props.filterable) {\n states.currentPlaceholder = states.cachedPlaceHolder\n }\n }\n } else {\n tooltipRef.value?.updatePopper?.()\n\n if (props.filterable) {\n states.filteredOptionsCount = states.optionsCount\n states.query = props.remote ? '' : states.selectedLabel\n iOSInput.value?.focus?.()\n if (props.multiple) {\n input.value?.focus()\n } else {\n if (states.selectedLabel) {\n states.currentPlaceholder = `${states.selectedLabel}`\n states.selectedLabel = ''\n }\n }\n handleQueryChange(states.query)\n if (!props.multiple && !props.remote) {\n queryChange.value.query = ''\n\n triggerRef(queryChange)\n triggerRef(groupQueryChange)\n }\n }\n }\n ctx.emit('visible-change', val)\n }\n )\n\n watch(\n // fix `Array.prototype.push/splice/..` cannot trigger non-deep watcher\n // https://github.com/vuejs/vue-next/issues/2116\n () => states.options.entries(),\n () => {\n if (!isClient) return\n tooltipRef.value?.updatePopper?.()\n if (props.multiple) {\n resetInputHeight()\n }\n const inputs = selectWrapper.value?.querySelectorAll('input') || []\n if (\n !Array.from(inputs).includes(document.activeElement as HTMLInputElement)\n ) {\n setSelected()\n }\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n states.filteredOptionsCount\n ) {\n checkDefaultFirstOption()\n }\n },\n {\n flush: 'post',\n }\n )\n\n watch(\n () => states.hoverIndex,\n (val) => {\n if (isNumber(val) && val > -1) {\n hoverOption.value = optionsArray.value[val] || {}\n } else {\n hoverOption.value = {}\n }\n optionsArray.value.forEach((option) => {\n option.hover = hoverOption.value === option\n })\n }\n )\n\n // methods\n const resetInputHeight = () => {\n nextTick(() => {\n if (!reference.value) return\n const input = reference.value.$el.querySelector(\n 'input'\n ) as HTMLInputElement\n originClientHeight =\n originClientHeight ||\n (input.clientHeight > 0 ? input.clientHeight + 2 : 0)\n const _tags = tags.value\n const gotSize = getComponentSize(selectSize.value || form?.size)\n\n const sizeInMap =\n selectSize.value ||\n gotSize === originClientHeight ||\n originClientHeight <= 0\n ? gotSize\n : originClientHeight\n\n const isElHidden = input.offsetParent === null\n\n // it's an inner input so reduce it by 2px.\n !isElHidden &&\n (input.style.height = `${\n (states.selected.length === 0\n ? sizeInMap\n : Math.max(\n _tags\n ? _tags.clientHeight +\n (_tags.clientHeight > sizeInMap ? 6 : 0)\n : 0,\n sizeInMap\n )) - 2\n }px`)\n\n if (states.visible && emptyText.value !== false) {\n tooltipRef.value?.updatePopper?.()\n }\n })\n }\n\n const handleQueryChange = async (val) => {\n if (states.previousQuery === val || states.isOnComposition) return\n if (\n states.previousQuery === null &&\n (isFunction(props.filterMethod) || isFunction(props.remoteMethod))\n ) {\n states.previousQuery = val\n return\n }\n states.previousQuery = val\n nextTick(() => {\n if (states.visible) tooltipRef.value?.updatePopper?.()\n })\n states.hoverIndex = -1\n if (props.multiple && props.filterable) {\n nextTick(() => {\n const length = input.value!.value.length * 15 + 20\n states.inputLength = props.collapseTags ? Math.min(50, length) : length\n managePlaceholder()\n resetInputHeight()\n })\n }\n if (props.remote && isFunction(props.remoteMethod)) {\n states.hoverIndex = -1\n props.remoteMethod(val)\n } else if (isFunction(props.filterMethod)) {\n props.filterMethod(val)\n triggerRef(groupQueryChange)\n } else {\n states.filteredOptionsCount = states.optionsCount\n queryChange.value.query = val\n\n triggerRef(queryChange)\n triggerRef(groupQueryChange)\n }\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n states.filteredOptionsCount\n ) {\n await nextTick()\n checkDefaultFirstOption()\n }\n }\n\n const managePlaceholder = () => {\n if (states.currentPlaceholder !== '') {\n states.currentPlaceholder = input.value!.value\n ? ''\n : states.cachedPlaceHolder\n }\n }\n\n /**\n * find and highlight first option as default selected\n * @remark\n * - if the first option in dropdown list is user-created,\n * it would be at the end of the optionsArray\n * so find it and set hover.\n * (NOTE: there must be only one user-created option in dropdown list with query)\n * - if there's no user-created option in list, just find the first one as usual\n * (NOTE: exclude options that are disabled or in disabled-group)\n */\n const checkDefaultFirstOption = () => {\n const optionsInDropdown = optionsArray.value.filter(\n (n) => n.visible && !n.disabled && !n.states.groupDisabled\n )\n const userCreatedOption = optionsInDropdown.find((n) => n.created)\n const firstOriginOption = optionsInDropdown[0]\n states.hoverIndex = getValueIndex(\n optionsArray.value,\n userCreatedOption || firstOriginOption\n )\n }\n\n const setSelected = () => {\n if (!props.multiple) {\n const option = getOption(props.modelValue)\n if (option.props?.created) {\n states.createdLabel = option.props.value\n states.createdSelected = true\n } else {\n states.createdSelected = false\n }\n states.selectedLabel = option.currentLabel\n states.selected = option\n if (props.filterable) states.query = states.selectedLabel\n return\n } else {\n states.selectedLabel = ''\n }\n const result: any[] = []\n if (Array.isArray(props.modelValue)) {\n props.modelValue.forEach((value) => {\n result.push(getOption(value))\n })\n }\n states.selected = result\n nextTick(() => {\n resetInputHeight()\n })\n }\n\n const getOption = (value) => {\n let option\n const isObjectValue = toRawType(value).toLowerCase() === 'object'\n const isNull = toRawType(value).toLowerCase() === 'null'\n const isUndefined = toRawType(value).toLowerCase() === 'undefined'\n\n for (let i = states.cachedOptions.size - 1; i >= 0; i--) {\n const cachedOption = cachedOptionsArray.value[i]\n const isEqualValue = isObjectValue\n ? get(cachedOption.value, props.valueKey) === get(value, props.valueKey)\n : cachedOption.value === value\n if (isEqualValue) {\n option = {\n value,\n currentLabel: cachedOption.currentLabel,\n isDisabled: cachedOption.isDisabled,\n }\n break\n }\n }\n if (option) return option\n const label = isObjectValue\n ? value.label\n : !isNull && !isUndefined\n ? value\n : ''\n const newOption = {\n value,\n currentLabel: label,\n }\n if (props.multiple) {\n ;(newOption as any).hitState = false\n }\n return newOption\n }\n\n const resetHoverIndex = () => {\n setTimeout(() => {\n const valueKey = props.valueKey\n if (!props.multiple) {\n states.hoverIndex = optionsArray.value.findIndex((item) => {\n return getValueKey(item) === getValueKey(states.selected)\n })\n } else {\n if (states.selected.length > 0) {\n states.hoverIndex = Math.min.apply(\n null,\n states.selected.map((selected) => {\n return optionsArray.value.findIndex((item) => {\n return get(item, valueKey) === get(selected, valueKey)\n })\n })\n )\n } else {\n states.hoverIndex = -1\n }\n }\n }, 300)\n }\n\n const handleResize = () => {\n resetInputWidth()\n tooltipRef.value?.updatePopper?.()\n props.multiple && resetInputHeight()\n }\n\n const resetInputWidth = () => {\n states.inputWidth = reference.value?.$el.offsetWidth\n }\n\n const onInputChange = () => {\n if (props.filterable && states.query !== states.selectedLabel) {\n states.query = states.selectedLabel\n handleQueryChange(states.query)\n }\n }\n\n const debouncedOnInputChange = lodashDebounce(() => {\n onInputChange()\n }, debounce.value)\n\n const debouncedQueryChange = lodashDebounce((e) => {\n handleQueryChange(e.target.value)\n }, debounce.value)\n\n const emitChange = (val) => {\n if (!isEqual(props.modelValue, val)) {\n ctx.emit(CHANGE_EVENT, val)\n }\n }\n\n const deletePrevTag = (e) => {\n if (e.code === EVENT_CODE.delete) return\n if (e.target.value.length <= 0 && !toggleLastOptionHitState()) {\n const value = props.modelValue.slice()\n value.pop()\n ctx.emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n }\n\n if (e.target.value.length === 1 && props.modelValue.length === 0) {\n states.currentPlaceholder = states.cachedPlaceHolder\n }\n }\n\n const deleteTag = (event, tag) => {\n const index = states.selected.indexOf(tag)\n if (index > -1 && !selectDisabled.value) {\n const value = props.modelValue.slice()\n value.splice(index, 1)\n ctx.emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n ctx.emit('remove-tag', tag.value)\n }\n event.stopPropagation()\n }\n\n const deleteSelected = (event) => {\n event.stopPropagation()\n const value: string | any[] = props.multiple ? [] : ''\n if (!isString(value)) {\n for (const item of states.selected) {\n if (item.isDisabled) value.push(item.value)\n }\n }\n ctx.emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n states.hoverIndex = -1\n states.visible = false\n ctx.emit('clear')\n }\n\n const handleOptionSelect = (option) => {\n if (props.multiple) {\n const value = (props.modelValue || []).slice()\n const optionIndex = getValueIndex(value, option.value)\n if (optionIndex > -1) {\n value.splice(optionIndex, 1)\n } else if (\n props.multipleLimit <= 0 ||\n value.length < props.multipleLimit\n ) {\n value.push(option.value)\n }\n ctx.emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n if (option.created) {\n states.query = ''\n handleQueryChange('')\n states.inputLength = 20\n }\n if (props.filterable) input.value?.focus()\n } else {\n ctx.emit(UPDATE_MODEL_EVENT, option.value)\n emitChange(option.value)\n states.visible = false\n }\n\n setSoftFocus()\n if (states.visible) return\n nextTick(() => {\n scrollToOption(option)\n })\n }\n\n const getValueIndex = (arr: any[] = [], value) => {\n if (!isObject(value)) return arr.indexOf(value)\n\n const valueKey = props.valueKey\n let index = -1\n arr.some((item, i) => {\n if (toRaw(get(item, valueKey)) === get(value, valueKey)) {\n index = i\n return true\n }\n return false\n })\n return index\n }\n\n const setSoftFocus = () => {\n const _input = input.value || reference.value\n if (_input) {\n _input?.focus()\n }\n }\n\n const scrollToOption = (option) => {\n const targetOption = Array.isArray(option) ? option[0] : option\n let target = null\n\n if (targetOption?.value) {\n const options = optionsArray.value.filter(\n (item) => item.value === targetOption.value\n )\n if (options.length > 0) {\n target = options[0].$el\n }\n }\n\n if (tooltipRef.value && target) {\n const menu = tooltipRef.value?.popperRef?.contentRef?.querySelector?.(\n `.${ns.be('dropdown', 'wrap')}`\n )\n if (menu) {\n scrollIntoView(menu as HTMLElement, target)\n }\n }\n scrollbar.value?.handleScroll()\n }\n\n const onOptionCreate = (vm: SelectOptionProxy) => {\n states.optionsCount++\n states.filteredOptionsCount++\n states.options.set(vm.value, vm)\n states.cachedOptions.set(vm.value, vm)\n }\n\n const onOptionDestroy = (key, vm: SelectOptionProxy) => {\n if (states.options.get(key) === vm) {\n states.optionsCount--\n states.filteredOptionsCount--\n states.options.delete(key)\n }\n }\n\n const resetInputState = (e: KeyboardEvent) => {\n if (e.code !== EVENT_CODE.backspace) toggleLastOptionHitState(false)\n states.inputLength = input.value!.value.length * 15 + 20\n resetInputHeight()\n }\n\n const toggleLastOptionHitState = (hit?: boolean) => {\n if (!Array.isArray(states.selected)) return\n const option = states.selected[states.selected.length - 1]\n if (!option) return\n\n if (hit === true || hit === false) {\n option.hitState = hit\n return hit\n }\n\n option.hitState = !option.hitState\n return option.hitState\n }\n\n const handleComposition = (event) => {\n const text = event.target.value\n if (event.type === 'compositionend') {\n states.isOnComposition = false\n nextTick(() => handleQueryChange(text))\n } else {\n const lastCharacter = text[text.length - 1] || ''\n states.isOnComposition = !isKorean(lastCharacter)\n }\n }\n\n const handleMenuEnter = () => {\n nextTick(() => scrollToOption(states.selected))\n }\n\n const handleFocus = (event: FocusEvent) => {\n if (!ignoreFocusEvent) {\n if (props.automaticDropdown || props.filterable) {\n if (props.filterable && !states.visible) {\n states.menuVisibleOnFocus = true\n }\n states.visible = true\n }\n ctx.emit('focus', event)\n } else {\n ignoreFocusEvent = false\n }\n }\n\n const blur = () => {\n states.visible = false\n reference.value?.blur()\n iOSInput.value?.blur?.()\n }\n\n const handleBlur = (event: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content or el-select\n // if so, ignore the blur event and the next focus event\n if (\n tooltipRef.value?.isFocusInsideContent() ||\n selectWrapper.value?.contains(event.relatedTarget)\n ) {\n ignoreFocusEvent = true\n return\n }\n states.visible && handleClose()\n ctx.emit('blur', event)\n })\n }\n\n const handleClearClick = (event: Event) => {\n deleteSelected(event)\n }\n\n const handleClose = () => {\n states.visible = false\n }\n\n const handleKeydownEscape = (event: KeyboardEvent) => {\n if (states.visible) {\n event.preventDefault()\n event.stopPropagation()\n states.visible = false\n }\n }\n\n const toggleMenu = (e?: PointerEvent) => {\n if (e && !states.mouseEnter) {\n return\n }\n if (!selectDisabled.value) {\n if (states.menuVisibleOnFocus) {\n states.menuVisibleOnFocus = false\n } else {\n if (!tooltipRef.value || !tooltipRef.value.isFocusInsideContent()) {\n states.visible = !states.visible\n }\n }\n if (states.visible) {\n ;(input.value || reference.value)?.focus()\n }\n }\n }\n\n const selectOption = () => {\n if (!states.visible) {\n toggleMenu()\n } else {\n if (optionsArray.value[states.hoverIndex]) {\n handleOptionSelect(optionsArray.value[states.hoverIndex])\n }\n }\n }\n\n const getValueKey = (item) => {\n return isObject(item.value) ? get(item.value, props.valueKey) : item.value\n }\n\n const optionsAllDisabled = computed(() =>\n optionsArray.value\n .filter((option) => option.visible)\n .every((option) => option.disabled)\n )\n\n const showTagList = computed(() =>\n states.selected.slice(0, props.maxCollapseTags)\n )\n\n const collapseTagList = computed(() =>\n states.selected.slice(props.maxCollapseTags)\n )\n\n const navigateOptions = (direction) => {\n if (!states.visible) {\n states.visible = true\n return\n }\n if (states.options.size === 0 || states.filteredOptionsCount === 0) return\n if (states.isOnComposition) return\n\n if (!optionsAllDisabled.value) {\n if (direction === 'next') {\n states.hoverIndex++\n if (states.hoverIndex === states.options.size) {\n states.hoverIndex = 0\n }\n } else if (direction === 'prev') {\n states.hoverIndex--\n if (states.hoverIndex < 0) {\n states.hoverIndex = states.options.size - 1\n }\n }\n const option = optionsArray.value[states.hoverIndex]\n if (\n option.disabled === true ||\n option.states.groupDisabled === true ||\n !option.visible\n ) {\n navigateOptions(direction)\n }\n nextTick(() => scrollToOption(hoverOption.value))\n }\n }\n\n const handleMouseEnter = () => {\n states.mouseEnter = true\n }\n\n const handleMouseLeave = () => {\n states.mouseEnter = false\n }\n const handleDeleteTooltipTag = (event, tag) => {\n deleteTag(event, tag)\n tagTooltipRef.value?.updatePopper?.()\n }\n return {\n optionList,\n optionsArray,\n selectSize,\n handleResize,\n debouncedOnInputChange,\n debouncedQueryChange,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n readonly,\n resetInputHeight,\n showClose,\n iconComponent,\n iconReverse,\n showNewOption,\n collapseTagSize,\n setSelected,\n managePlaceholder,\n selectDisabled,\n emptyText,\n toggleLastOptionHitState,\n resetInputState,\n handleComposition,\n onOptionCreate,\n onOptionDestroy,\n handleMenuEnter,\n handleFocus,\n blur,\n handleBlur,\n handleClearClick,\n handleClose,\n handleKeydownEscape,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n handleDeleteTooltipTag,\n dropMenuVisible,\n queryChange,\n groupQueryChange,\n showTagList,\n collapseTagList,\n\n // DOM ref\n reference,\n input,\n iOSInput,\n tooltipRef,\n tagTooltipRef,\n tags,\n selectWrapper,\n scrollbar,\n\n // Mouser Event\n handleMouseEnter,\n handleMouseLeave,\n }\n}\n"],"names":["debounce","lodashDebounce"],"mappings":"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"}
@@ -42,6 +42,7 @@ function useWatcher(owner, props_) {
42
42
  "label",
43
43
  "filters",
44
44
  "filterMultiple",
45
+ "filteredValue",
45
46
  "sortable",
46
47
  "index",
47
48
  "formatter",
@@ -1 +1 @@
1
- {"version":3,"file":"watcher-helper.mjs","sources":["../../../../../../../packages/components/table/src/table-column/watcher-helper.ts"],"sourcesContent":["// @ts-nocheck\nimport { getCurrentInstance, watch } from 'vue'\nimport { hasOwn } from '@element-plus/utils'\nimport { parseMinWidth, parseWidth } from '../util'\n\nimport type { ComputedRef } from 'vue'\nimport type { TableColumn, TableColumnCtx, ValueOf } from './defaults'\n\nfunction getAllAliases(props, aliases) {\n return props.reduce((prev, cur) => {\n prev[cur] = cur\n return prev\n }, aliases)\n}\nfunction useWatcher<T>(\n owner: ComputedRef<any>,\n props_: Partial<TableColumnCtx<T>>\n) {\n const instance = getCurrentInstance() as TableColumn<T>\n const registerComplexWatchers = () => {\n const props = ['fixed']\n const aliases = {\n realWidth: 'width',\n realMinWidth: 'minWidth',\n }\n const allAliases = getAllAliases(props, aliases)\n Object.keys(allAliases).forEach((key) => {\n const columnKey = aliases[key]\n if (hasOwn(props_, columnKey)) {\n watch(\n () => props_[columnKey],\n (newVal) => {\n let value: ValueOf<TableColumnCtx<T>> = newVal\n if (columnKey === 'width' && key === 'realWidth') {\n value = parseWidth(newVal)\n }\n if (columnKey === 'minWidth' && key === 'realMinWidth') {\n value = parseMinWidth(newVal)\n }\n instance.columnConfig.value[columnKey as any] = value\n instance.columnConfig.value[key] = value\n const updateColumns = columnKey === 'fixed'\n owner.value.store.scheduleLayout(updateColumns)\n }\n )\n }\n })\n }\n const registerNormalWatchers = () => {\n const props = [\n 'label',\n 'filters',\n 'filterMultiple',\n 'sortable',\n 'index',\n 'formatter',\n 'className',\n 'labelClassName',\n 'showOverflowTooltip',\n ]\n const aliases = {\n property: 'prop',\n align: 'realAlign',\n headerAlign: 'realHeaderAlign',\n }\n const allAliases = getAllAliases(props, aliases)\n Object.keys(allAliases).forEach((key) => {\n const columnKey = aliases[key]\n if (hasOwn(props_, columnKey)) {\n watch(\n () => props_[columnKey],\n (newVal) => {\n instance.columnConfig.value[key] = newVal\n }\n )\n }\n })\n }\n\n return {\n registerComplexWatchers,\n registerNormalWatchers,\n }\n}\n\nexport default useWatcher\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watcher-helper.mjs","sources":["../../../../../../../packages/components/table/src/table-column/watcher-helper.ts"],"sourcesContent":["// @ts-nocheck\nimport { getCurrentInstance, watch } from 'vue'\nimport { hasOwn } from '@element-plus/utils'\nimport { parseMinWidth, parseWidth } from '../util'\n\nimport type { ComputedRef } from 'vue'\nimport type { TableColumn, TableColumnCtx, ValueOf } from './defaults'\n\nfunction getAllAliases(props, aliases) {\n return props.reduce((prev, cur) => {\n prev[cur] = cur\n return prev\n }, aliases)\n}\nfunction useWatcher<T>(\n owner: ComputedRef<any>,\n props_: Partial<TableColumnCtx<T>>\n) {\n const instance = getCurrentInstance() as TableColumn<T>\n const registerComplexWatchers = () => {\n const props = ['fixed']\n const aliases = {\n realWidth: 'width',\n realMinWidth: 'minWidth',\n }\n const allAliases = getAllAliases(props, aliases)\n Object.keys(allAliases).forEach((key) => {\n const columnKey = aliases[key]\n if (hasOwn(props_, columnKey)) {\n watch(\n () => props_[columnKey],\n (newVal) => {\n let value: ValueOf<TableColumnCtx<T>> = newVal\n if (columnKey === 'width' && key === 'realWidth') {\n value = parseWidth(newVal)\n }\n if (columnKey === 'minWidth' && key === 'realMinWidth') {\n value = parseMinWidth(newVal)\n }\n instance.columnConfig.value[columnKey as any] = value\n instance.columnConfig.value[key] = value\n const updateColumns = columnKey === 'fixed'\n owner.value.store.scheduleLayout(updateColumns)\n }\n )\n }\n })\n }\n const registerNormalWatchers = () => {\n const props = [\n 'label',\n 'filters',\n 'filterMultiple',\n 'filteredValue',\n 'sortable',\n 'index',\n 'formatter',\n 'className',\n 'labelClassName',\n 'showOverflowTooltip',\n ]\n const aliases = {\n property: 'prop',\n align: 'realAlign',\n headerAlign: 'realHeaderAlign',\n }\n const allAliases = getAllAliases(props, aliases)\n Object.keys(allAliases).forEach((key) => {\n const columnKey = aliases[key]\n if (hasOwn(props_, columnKey)) {\n watch(\n () => props_[columnKey],\n (newVal) => {\n instance.columnConfig.value[key] = newVal\n }\n )\n }\n })\n }\n\n return {\n registerComplexWatchers,\n registerNormalWatchers,\n }\n}\n\nexport default useWatcher\n"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export interface UploadRequestOptions {
13
13
  method: string;
14
14
  data: Record<string, string | Blob | [string | Blob, string]>;
15
15
  filename: string;
16
- file: File;
16
+ file: UploadRawFile;
17
17
  headers: Headers | Record<string, string | number | null | undefined>;
18
18
  onError: (evt: UploadAjaxError) => void;
19
19
  onProgress: (evt: UploadProgressEvent) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"upload.mjs","sources":["../../../../../../packages/components/upload/src/upload.ts"],"sourcesContent":["import { NOOP } from '@vue/shared'\nimport { buildProps, definePropType, mutable } from '@element-plus/utils'\nimport { ajaxUpload } from './ajax'\n\nimport type { UploadAjaxError } from './ajax'\nimport type { Awaitable } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Upload from './upload.vue'\n\nexport const uploadListTypes = ['text', 'picture', 'picture-card'] as const\n\nlet fileId = 1\nexport const genFileId = () => Date.now() + fileId++\n\nexport type UploadStatus = 'ready' | 'uploading' | 'success' | 'fail'\nexport interface UploadProgressEvent extends ProgressEvent {\n percent: number\n}\n\nexport interface UploadRequestOptions {\n action: string\n method: string\n data: Record<string, string | Blob | [string | Blob, string]>\n filename: string\n file: File\n headers: Headers | Record<string, string | number | null | undefined>\n onError: (evt: UploadAjaxError) => void\n onProgress: (evt: UploadProgressEvent) => void\n onSuccess: (response: any) => void\n withCredentials: boolean\n}\nexport interface UploadFile {\n name: string\n percentage?: number\n status: UploadStatus\n size?: number\n response?: unknown\n uid: number\n url?: string\n raw?: UploadRawFile\n}\nexport type UploadUserFile = Omit<UploadFile, 'status' | 'uid'> &\n Partial<Pick<UploadFile, 'status' | 'uid'>>\n\nexport type UploadFiles = UploadFile[]\nexport interface UploadRawFile extends File {\n uid: number\n}\nexport type UploadRequestHandler = (\n options: UploadRequestOptions\n) => XMLHttpRequest | Promise<unknown>\nexport interface UploadHooks {\n beforeUpload: (\n rawFile: UploadRawFile\n ) => Awaitable<void | undefined | null | boolean | File | Blob>\n beforeRemove: (\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => Awaitable<boolean>\n onRemove: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void\n onChange: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void\n onPreview: (uploadFile: UploadFile) => void\n onSuccess: (\n response: any,\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => void\n onProgress: (\n evt: UploadProgressEvent,\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => void\n onError: (\n error: Error,\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => void\n onExceed: (files: File[], uploadFiles: UploadUserFile[]) => void\n}\n\nexport const uploadBaseProps = buildProps({\n action: {\n type: String,\n default: '#',\n },\n headers: {\n type: definePropType<Headers | Record<string, any>>(Object),\n },\n method: {\n type: String,\n default: 'post',\n },\n data: {\n type: Object,\n default: () => mutable({} as const),\n },\n multiple: {\n type: Boolean,\n default: false,\n },\n name: {\n type: String,\n default: 'file',\n },\n drag: {\n type: Boolean,\n default: false,\n },\n withCredentials: Boolean,\n showFileList: {\n type: Boolean,\n default: true,\n },\n accept: {\n type: String,\n default: '',\n },\n type: {\n type: String,\n default: 'select',\n },\n fileList: {\n type: definePropType<UploadUserFile[]>(Array),\n default: () => mutable([] as const),\n },\n autoUpload: {\n type: Boolean,\n default: true,\n },\n listType: {\n type: String,\n values: uploadListTypes,\n default: 'text',\n },\n httpRequest: {\n type: definePropType<UploadRequestHandler>(Function),\n default: ajaxUpload,\n },\n disabled: Boolean,\n limit: Number,\n} as const)\n\nexport const uploadProps = buildProps({\n ...uploadBaseProps,\n beforeUpload: {\n type: definePropType<UploadHooks['beforeUpload']>(Function),\n default: NOOP,\n },\n beforeRemove: {\n type: definePropType<UploadHooks['beforeRemove']>(Function),\n },\n onRemove: {\n type: definePropType<UploadHooks['onRemove']>(Function),\n default: NOOP,\n },\n onChange: {\n type: definePropType<UploadHooks['onChange']>(Function),\n default: NOOP,\n },\n onPreview: {\n type: definePropType<UploadHooks['onPreview']>(Function),\n default: NOOP,\n },\n onSuccess: {\n type: definePropType<UploadHooks['onSuccess']>(Function),\n default: NOOP,\n },\n onProgress: {\n type: definePropType<UploadHooks['onProgress']>(Function),\n default: NOOP,\n },\n onError: {\n type: definePropType<UploadHooks['onError']>(Function),\n default: NOOP,\n },\n onExceed: {\n type: definePropType<UploadHooks['onExceed']>(Function),\n default: NOOP,\n },\n} as const)\n\nexport type UploadProps = ExtractPropTypes<typeof uploadProps>\n\nexport type UploadInstance = InstanceType<typeof Upload>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upload.mjs","sources":["../../../../../../packages/components/upload/src/upload.ts"],"sourcesContent":["import { NOOP } from '@vue/shared'\nimport { buildProps, definePropType, mutable } from '@element-plus/utils'\nimport { ajaxUpload } from './ajax'\n\nimport type { UploadAjaxError } from './ajax'\nimport type { Awaitable } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Upload from './upload.vue'\n\nexport const uploadListTypes = ['text', 'picture', 'picture-card'] as const\n\nlet fileId = 1\nexport const genFileId = () => Date.now() + fileId++\n\nexport type UploadStatus = 'ready' | 'uploading' | 'success' | 'fail'\nexport interface UploadProgressEvent extends ProgressEvent {\n percent: number\n}\n\nexport interface UploadRequestOptions {\n action: string\n method: string\n data: Record<string, string | Blob | [string | Blob, string]>\n filename: string\n file: UploadRawFile\n headers: Headers | Record<string, string | number | null | undefined>\n onError: (evt: UploadAjaxError) => void\n onProgress: (evt: UploadProgressEvent) => void\n onSuccess: (response: any) => void\n withCredentials: boolean\n}\nexport interface UploadFile {\n name: string\n percentage?: number\n status: UploadStatus\n size?: number\n response?: unknown\n uid: number\n url?: string\n raw?: UploadRawFile\n}\nexport type UploadUserFile = Omit<UploadFile, 'status' | 'uid'> &\n Partial<Pick<UploadFile, 'status' | 'uid'>>\n\nexport type UploadFiles = UploadFile[]\nexport interface UploadRawFile extends File {\n uid: number\n}\nexport type UploadRequestHandler = (\n options: UploadRequestOptions\n) => XMLHttpRequest | Promise<unknown>\nexport interface UploadHooks {\n beforeUpload: (\n rawFile: UploadRawFile\n ) => Awaitable<void | undefined | null | boolean | File | Blob>\n beforeRemove: (\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => Awaitable<boolean>\n onRemove: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void\n onChange: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void\n onPreview: (uploadFile: UploadFile) => void\n onSuccess: (\n response: any,\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => void\n onProgress: (\n evt: UploadProgressEvent,\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => void\n onError: (\n error: Error,\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => void\n onExceed: (files: File[], uploadFiles: UploadUserFile[]) => void\n}\n\nexport const uploadBaseProps = buildProps({\n action: {\n type: String,\n default: '#',\n },\n headers: {\n type: definePropType<Headers | Record<string, any>>(Object),\n },\n method: {\n type: String,\n default: 'post',\n },\n data: {\n type: Object,\n default: () => mutable({} as const),\n },\n multiple: {\n type: Boolean,\n default: false,\n },\n name: {\n type: String,\n default: 'file',\n },\n drag: {\n type: Boolean,\n default: false,\n },\n withCredentials: Boolean,\n showFileList: {\n type: Boolean,\n default: true,\n },\n accept: {\n type: String,\n default: '',\n },\n type: {\n type: String,\n default: 'select',\n },\n fileList: {\n type: definePropType<UploadUserFile[]>(Array),\n default: () => mutable([] as const),\n },\n autoUpload: {\n type: Boolean,\n default: true,\n },\n listType: {\n type: String,\n values: uploadListTypes,\n default: 'text',\n },\n httpRequest: {\n type: definePropType<UploadRequestHandler>(Function),\n default: ajaxUpload,\n },\n disabled: Boolean,\n limit: Number,\n} as const)\n\nexport const uploadProps = buildProps({\n ...uploadBaseProps,\n beforeUpload: {\n type: definePropType<UploadHooks['beforeUpload']>(Function),\n default: NOOP,\n },\n beforeRemove: {\n type: definePropType<UploadHooks['beforeRemove']>(Function),\n },\n onRemove: {\n type: definePropType<UploadHooks['onRemove']>(Function),\n default: NOOP,\n },\n onChange: {\n type: definePropType<UploadHooks['onChange']>(Function),\n default: NOOP,\n },\n onPreview: {\n type: definePropType<UploadHooks['onPreview']>(Function),\n default: NOOP,\n },\n onSuccess: {\n type: definePropType<UploadHooks['onSuccess']>(Function),\n default: NOOP,\n },\n onProgress: {\n type: definePropType<UploadHooks['onProgress']>(Function),\n default: NOOP,\n },\n onError: {\n type: definePropType<UploadHooks['onError']>(Function),\n default: NOOP,\n },\n onExceed: {\n type: definePropType<UploadHooks['onExceed']>(Function),\n default: NOOP,\n },\n} as const)\n\nexport type UploadProps = ExtractPropTypes<typeof uploadProps>\n\nexport type UploadInstance = InstanceType<typeof Upload>\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { inject, ref, computed, unref } from 'vue';
1
+ import { getCurrentInstance, inject, ref, computed, unref } from 'vue';
2
2
 
3
3
  const defaultNamespace = "el";
4
4
  const statePrefix = "is-";
@@ -17,7 +17,7 @@ const _bem = (namespace, block, blockSuffix, element, modifier) => {
17
17
  };
18
18
  const namespaceContextKey = Symbol("namespaceContextKey");
19
19
  const useGetDerivedNamespace = (namespaceOverrides) => {
20
- const derivedNamespace = namespaceOverrides || inject(namespaceContextKey, ref(defaultNamespace));
20
+ const derivedNamespace = namespaceOverrides || (getCurrentInstance() ? inject(namespaceContextKey, ref(defaultNamespace)) : ref(defaultNamespace));
21
21
  const namespace = computed(() => {
22
22
  return unref(derivedNamespace) || defaultNamespace;
23
23
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-namespace/index.ts"],"sourcesContent":["import { computed, inject, ref, unref } from 'vue'\n\nimport type { InjectionKey, Ref } from 'vue'\n\nexport const defaultNamespace = 'el'\nconst statePrefix = 'is-'\n\nconst _bem = (\n namespace: string,\n block: string,\n blockSuffix: string,\n element: string,\n modifier: string\n) => {\n let cls = `${namespace}-${block}`\n if (blockSuffix) {\n cls += `-${blockSuffix}`\n }\n if (element) {\n cls += `__${element}`\n }\n if (modifier) {\n cls += `--${modifier}`\n }\n return cls\n}\n\nexport const namespaceContextKey: InjectionKey<Ref<string | undefined>> =\n Symbol('namespaceContextKey')\n\nexport const useGetDerivedNamespace = (\n namespaceOverrides?: Ref<string | undefined>\n) => {\n const derivedNamespace =\n namespaceOverrides || inject(namespaceContextKey, ref(defaultNamespace))\n const namespace = computed(() => {\n return unref(derivedNamespace) || defaultNamespace\n })\n return namespace\n}\n\nexport const useNamespace = (\n block: string,\n namespaceOverrides?: Ref<string | undefined>\n) => {\n const namespace = useGetDerivedNamespace(namespaceOverrides)\n const b = (blockSuffix = '') =>\n _bem(namespace.value, block, blockSuffix, '', '')\n const e = (element?: string) =>\n element ? _bem(namespace.value, block, '', element, '') : ''\n const m = (modifier?: string) =>\n modifier ? _bem(namespace.value, block, '', '', modifier) : ''\n const be = (blockSuffix?: string, element?: string) =>\n blockSuffix && element\n ? _bem(namespace.value, block, blockSuffix, element, '')\n : ''\n const em = (element?: string, modifier?: string) =>\n element && modifier\n ? _bem(namespace.value, block, '', element, modifier)\n : ''\n const bm = (blockSuffix?: string, modifier?: string) =>\n blockSuffix && modifier\n ? _bem(namespace.value, block, blockSuffix, '', modifier)\n : ''\n const bem = (blockSuffix?: string, element?: string, modifier?: string) =>\n blockSuffix && element && modifier\n ? _bem(namespace.value, block, blockSuffix, element, modifier)\n : ''\n const is: {\n (name: string, state: boolean | undefined): string\n (name: string): string\n } = (name: string, ...args: [boolean | undefined] | []) => {\n const state = args.length >= 1 ? args[0]! : true\n return name && state ? `${statePrefix}${name}` : ''\n }\n\n // for css var\n // --el-xxx: value;\n const cssVar = (object: Record<string, string>) => {\n const styles: Record<string, string> = {}\n for (const key in object) {\n if (object[key]) {\n styles[`--${namespace.value}-${key}`] = object[key]\n }\n }\n return styles\n }\n // with block\n const cssVarBlock = (object: Record<string, string>) => {\n const styles: Record<string, string> = {}\n for (const key in object) {\n if (object[key]) {\n styles[`--${namespace.value}-${block}-${key}`] = object[key]\n }\n }\n return styles\n }\n\n const cssVarName = (name: string) => `--${namespace.value}-${name}`\n const cssVarBlockName = (name: string) =>\n `--${namespace.value}-${block}-${name}`\n\n return {\n namespace,\n b,\n e,\n m,\n be,\n em,\n bm,\n bem,\n is,\n // css\n cssVar,\n cssVarName,\n cssVarBlock,\n cssVarBlockName,\n }\n}\n\nexport type UseNamespaceReturn = ReturnType<typeof useNamespace>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-namespace/index.ts"],"sourcesContent":["import { computed, getCurrentInstance, inject, ref, unref } from 'vue'\n\nimport type { InjectionKey, Ref } from 'vue'\n\nexport const defaultNamespace = 'el'\nconst statePrefix = 'is-'\n\nconst _bem = (\n namespace: string,\n block: string,\n blockSuffix: string,\n element: string,\n modifier: string\n) => {\n let cls = `${namespace}-${block}`\n if (blockSuffix) {\n cls += `-${blockSuffix}`\n }\n if (element) {\n cls += `__${element}`\n }\n if (modifier) {\n cls += `--${modifier}`\n }\n return cls\n}\n\nexport const namespaceContextKey: InjectionKey<Ref<string | undefined>> =\n Symbol('namespaceContextKey')\n\nexport const useGetDerivedNamespace = (\n namespaceOverrides?: Ref<string | undefined>\n) => {\n const derivedNamespace =\n namespaceOverrides ||\n (getCurrentInstance()\n ? inject(namespaceContextKey, ref(defaultNamespace))\n : ref(defaultNamespace))\n const namespace = computed(() => {\n return unref(derivedNamespace) || defaultNamespace\n })\n return namespace\n}\n\nexport const useNamespace = (\n block: string,\n namespaceOverrides?: Ref<string | undefined>\n) => {\n const namespace = useGetDerivedNamespace(namespaceOverrides)\n const b = (blockSuffix = '') =>\n _bem(namespace.value, block, blockSuffix, '', '')\n const e = (element?: string) =>\n element ? _bem(namespace.value, block, '', element, '') : ''\n const m = (modifier?: string) =>\n modifier ? _bem(namespace.value, block, '', '', modifier) : ''\n const be = (blockSuffix?: string, element?: string) =>\n blockSuffix && element\n ? _bem(namespace.value, block, blockSuffix, element, '')\n : ''\n const em = (element?: string, modifier?: string) =>\n element && modifier\n ? _bem(namespace.value, block, '', element, modifier)\n : ''\n const bm = (blockSuffix?: string, modifier?: string) =>\n blockSuffix && modifier\n ? _bem(namespace.value, block, blockSuffix, '', modifier)\n : ''\n const bem = (blockSuffix?: string, element?: string, modifier?: string) =>\n blockSuffix && element && modifier\n ? _bem(namespace.value, block, blockSuffix, element, modifier)\n : ''\n const is: {\n (name: string, state: boolean | undefined): string\n (name: string): string\n } = (name: string, ...args: [boolean | undefined] | []) => {\n const state = args.length >= 1 ? args[0]! : true\n return name && state ? `${statePrefix}${name}` : ''\n }\n\n // for css var\n // --el-xxx: value;\n const cssVar = (object: Record<string, string>) => {\n const styles: Record<string, string> = {}\n for (const key in object) {\n if (object[key]) {\n styles[`--${namespace.value}-${key}`] = object[key]\n }\n }\n return styles\n }\n // with block\n const cssVarBlock = (object: Record<string, string>) => {\n const styles: Record<string, string> = {}\n for (const key in object) {\n if (object[key]) {\n styles[`--${namespace.value}-${block}-${key}`] = object[key]\n }\n }\n return styles\n }\n\n const cssVarName = (name: string) => `--${namespace.value}-${name}`\n const cssVarBlockName = (name: string) =>\n `--${namespace.value}-${block}-${name}`\n\n return {\n namespace,\n b,\n e,\n m,\n be,\n em,\n bm,\n bem,\n is,\n // css\n cssVar,\n cssVarName,\n cssVarBlock,\n cssVarBlockName,\n }\n}\n\nexport type UseNamespaceReturn = ReturnType<typeof useNamespace>\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ref, inject, computed, unref } from 'vue';
1
+ import { ref, getCurrentInstance, inject, computed, unref } from 'vue';
2
2
  import '../../utils/index.mjs';
3
3
  import { isNumber } from '../../utils/types.mjs';
4
4
 
@@ -6,7 +6,7 @@ const zIndex = ref(0);
6
6
  const defaultInitialZIndex = 2e3;
7
7
  const zIndexContextKey = Symbol("zIndexContextKey");
8
8
  const useZIndex = (zIndexOverrides) => {
9
- const zIndexInjection = zIndexOverrides || inject(zIndexContextKey, void 0);
9
+ const zIndexInjection = zIndexOverrides || (getCurrentInstance() ? inject(zIndexContextKey, void 0) : void 0);
10
10
  const initialZIndex = computed(() => {
11
11
  const zIndexFromInjection = unref(zIndexInjection);
12
12
  return isNumber(zIndexFromInjection) ? zIndexFromInjection : defaultInitialZIndex;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-z-index/index.ts"],"sourcesContent":["import { computed, inject, ref, unref } from 'vue'\nimport { isNumber } from '@element-plus/utils'\n\nimport type { InjectionKey, Ref } from 'vue'\n\nconst zIndex = ref(0)\nexport const defaultInitialZIndex = 2000\n\nexport const zIndexContextKey: InjectionKey<Ref<number | undefined>> =\n Symbol('zIndexContextKey')\n\nexport const useZIndex = (zIndexOverrides?: Ref<number>) => {\n const zIndexInjection = zIndexOverrides || inject(zIndexContextKey, undefined)\n const initialZIndex = computed(() => {\n const zIndexFromInjection = unref(zIndexInjection)\n return isNumber(zIndexFromInjection)\n ? zIndexFromInjection\n : defaultInitialZIndex\n })\n const currentZIndex = computed(() => initialZIndex.value + zIndex.value)\n\n const nextZIndex = () => {\n zIndex.value++\n return currentZIndex.value\n }\n\n return {\n initialZIndex,\n currentZIndex,\n nextZIndex,\n }\n}\n\nexport type UseZIndexReturn = ReturnType<typeof useZIndex>\n"],"names":[],"mappings":";;;;AAEA,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACV,MAAC,oBAAoB,GAAG,IAAI;AAC5B,MAAC,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,EAAE;AAC/C,MAAC,SAAS,GAAG,CAAC,eAAe,KAAK;AAC9C,EAAE,MAAM,eAAe,GAAG,eAAe,IAAI,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9E,EAAE,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM;AACvC,IAAI,MAAM,mBAAmB,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;AACvD,IAAI,OAAO,QAAQ,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,GAAG,oBAAoB,CAAC;AACtF,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3E,EAAE,MAAM,UAAU,GAAG,MAAM;AAC3B,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;AACnB,IAAI,OAAO,aAAa,CAAC,KAAK,CAAC;AAC/B,GAAG,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,aAAa;AACjB,IAAI,aAAa;AACjB,IAAI,UAAU;AACd,GAAG,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-z-index/index.ts"],"sourcesContent":["import { computed, getCurrentInstance, inject, ref, unref } from 'vue'\nimport { isNumber } from '@element-plus/utils'\n\nimport type { InjectionKey, Ref } from 'vue'\n\nconst zIndex = ref(0)\nexport const defaultInitialZIndex = 2000\n\nexport const zIndexContextKey: InjectionKey<Ref<number | undefined>> =\n Symbol('zIndexContextKey')\n\nexport const useZIndex = (zIndexOverrides?: Ref<number>) => {\n const zIndexInjection =\n zIndexOverrides ||\n (getCurrentInstance() ? inject(zIndexContextKey, undefined) : undefined)\n const initialZIndex = computed(() => {\n const zIndexFromInjection = unref(zIndexInjection)\n return isNumber(zIndexFromInjection)\n ? zIndexFromInjection\n : defaultInitialZIndex\n })\n const currentZIndex = computed(() => initialZIndex.value + zIndex.value)\n\n const nextZIndex = () => {\n zIndex.value++\n return currentZIndex.value\n }\n\n return {\n initialZIndex,\n currentZIndex,\n nextZIndex,\n }\n}\n\nexport type UseZIndexReturn = ReturnType<typeof useZIndex>\n"],"names":[],"mappings":";;;;AAEA,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACV,MAAC,oBAAoB,GAAG,IAAI;AAC5B,MAAC,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,EAAE;AAC/C,MAAC,SAAS,GAAG,CAAC,eAAe,KAAK;AAC9C,EAAE,MAAM,eAAe,GAAG,eAAe,KAAK,kBAAkB,EAAE,GAAG,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AAChH,EAAE,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM;AACvC,IAAI,MAAM,mBAAmB,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;AACvD,IAAI,OAAO,QAAQ,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,GAAG,oBAAoB,CAAC;AACtF,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3E,EAAE,MAAM,UAAU,GAAG,MAAM;AAC3B,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;AACnB,IAAI,OAAO,aAAa,CAAC,KAAK,CAAC;AAC/B,GAAG,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,aAAa;AACjB,IAAI,aAAa;AACjB,IAAI,UAAU;AACd,GAAG,CAAC;AACJ;;;;"}
package/es/index.mjs CHANGED
@@ -216,7 +216,7 @@ export { ElMessage } from './components/message/index.mjs';
216
216
  export { ElMessageBox } from './components/message-box/index.mjs';
217
217
  export { notificationEmits, notificationProps, notificationTypes } from './components/notification/src/notification.mjs';
218
218
  export { ElNotification } from './components/notification/index.mjs';
219
- export { popoverEmits, popoverProps } from './components/popover/src/popover2.mjs';
219
+ export { popoverEmits, popoverProps } from './components/popover/src/popover.mjs';
220
220
  export { ElPopover, ElPopoverDirective } from './components/popover/index.mjs';
221
221
  export { EVENT_CODE } from './constants/aria.mjs';
222
222
  export { WEEK_DAYS, datePickTypes } from './constants/date.mjs';
package/es/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.20230720";
1
+ export declare const version = "0.0.20230722";
package/es/version.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const version = "0.0.20230720";
1
+ const version = "0.0.20230722";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20230720'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20230722'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
@@ -250,6 +250,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
250
250
  trigger: "click",
251
251
  transition: `${vue.unref(ns).namespace.value}-zoom-in-top`,
252
252
  persistent: "",
253
+ role: "listbox",
253
254
  onBeforeShow: onSuggestionShow,
254
255
  onHide
255
256
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete2.js","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n :visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :teleported=\"teleported\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @before-show=\"onSuggestionShow\"\n @hide=\"onHide\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :clearable=\"clearable\"\n :disabled=\"disabled\"\n :name=\"name\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n @keydown.esc=\"handleKeyEscape\"\n @mousedown=\"handleMouseDown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{\n [fitInputWidth ? 'width' : 'minWidth']: dropdownWidth,\n outline: 'none',\n }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon :class=\"ns.is('loading')\">\n <Loading />\n </el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useAttrs, useNamespace } from '@element-plus/hooks'\nimport { generateId, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits, autocompleteProps } from './autocomplete'\nimport type { AutocompleteData } from './autocomplete'\n\nimport type { StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = defineProps(autocompleteProps)\nconst emit = defineEmits(autocompleteEmits)\n\nconst attrs = useAttrs()\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref<AutocompleteData>([])\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = computed(() => ns.b(String(generateId())))\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = async () => {\n await nextTick()\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\nconst debouncedGetData = debounce(getData, props.debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(props.modelValue))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: any) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\n\nonClickOutside(listboxRef, () => {\n suggestionVisible.value && close()\n})\n\nonMounted(() => {\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute('role', 'textbox')\n ;(inputRef.value as any).ref!.setAttribute('aria-autocomplete', 'list')\n ;(inputRef.value as any).ref!.setAttribute('aria-controls', 'id')\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n // get readonly attr\n readonly = (inputRef.value as any).ref!.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n})\n</script>\n"],"names":["useAttrs","useRawAttrs","useFormDisabled","useNamespace","ref","computed","generateId","nextTick","isArray","throwError","debounce","INPUT_EVENT","UPDATE_MODEL_EVENT","CHANGE_EVENT","onClickOutside","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"autocomplete2.js","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n :visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :teleported=\"teleported\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n role=\"listbox\"\n @before-show=\"onSuggestionShow\"\n @hide=\"onHide\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :clearable=\"clearable\"\n :disabled=\"disabled\"\n :name=\"name\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n @keydown.esc=\"handleKeyEscape\"\n @mousedown=\"handleMouseDown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{\n [fitInputWidth ? 'width' : 'minWidth']: dropdownWidth,\n outline: 'none',\n }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon :class=\"ns.is('loading')\">\n <Loading />\n </el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useAttrs, useNamespace } from '@element-plus/hooks'\nimport { generateId, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits, autocompleteProps } from './autocomplete'\nimport type { AutocompleteData } from './autocomplete'\n\nimport type { StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = defineProps(autocompleteProps)\nconst emit = defineEmits(autocompleteEmits)\n\nconst attrs = useAttrs()\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref<AutocompleteData>([])\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = computed(() => ns.b(String(generateId())))\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = async () => {\n await nextTick()\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\nconst debouncedGetData = debounce(getData, props.debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(props.modelValue))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: any) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\n\nonClickOutside(listboxRef, () => {\n suggestionVisible.value && close()\n})\n\nonMounted(() => {\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute('role', 'textbox')\n ;(inputRef.value as any).ref!.setAttribute('aria-autocomplete', 'list')\n ;(inputRef.value as any).ref!.setAttribute('aria-controls', 'id')\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n // get readonly attr\n readonly = (inputRef.value as any).ref!.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n})\n</script>\n"],"names":["useAttrs","useRawAttrs","useFormDisabled","useNamespace","ref","computed","generateId","nextTick","isArray","throwError","debounce","INPUT_EVENT","UPDATE_MODEL_EVENT","CHANGE_EVENT","onClickOutside","onMounted"],"mappings":"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"}