@element-plus/nightly 0.0.20230603 → 0.0.20230604

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 (269) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +61 -45
  3. package/dist/index.full.min.js +15 -15
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +15 -15
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +61 -45
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar.js +1 -1
  13. package/dist/locale/ar.min.js +1 -1
  14. package/dist/locale/ar.min.mjs +1 -1
  15. package/dist/locale/ar.mjs +1 -1
  16. package/dist/locale/az.js +1 -1
  17. package/dist/locale/az.min.js +1 -1
  18. package/dist/locale/az.min.mjs +1 -1
  19. package/dist/locale/az.mjs +1 -1
  20. package/dist/locale/bg.js +1 -1
  21. package/dist/locale/bg.min.js +1 -1
  22. package/dist/locale/bg.min.mjs +1 -1
  23. package/dist/locale/bg.mjs +1 -1
  24. package/dist/locale/bn.js +1 -1
  25. package/dist/locale/bn.min.js +1 -1
  26. package/dist/locale/bn.min.mjs +1 -1
  27. package/dist/locale/bn.mjs +1 -1
  28. package/dist/locale/ca.js +1 -1
  29. package/dist/locale/ca.min.js +1 -1
  30. package/dist/locale/ca.min.mjs +1 -1
  31. package/dist/locale/ca.mjs +1 -1
  32. package/dist/locale/ckb.js +1 -1
  33. package/dist/locale/ckb.min.js +1 -1
  34. package/dist/locale/ckb.min.mjs +1 -1
  35. package/dist/locale/ckb.mjs +1 -1
  36. package/dist/locale/cs.js +1 -1
  37. package/dist/locale/cs.min.js +1 -1
  38. package/dist/locale/cs.min.mjs +1 -1
  39. package/dist/locale/cs.mjs +1 -1
  40. package/dist/locale/da.js +1 -1
  41. package/dist/locale/da.min.js +1 -1
  42. package/dist/locale/da.min.mjs +1 -1
  43. package/dist/locale/da.mjs +1 -1
  44. package/dist/locale/de.js +1 -1
  45. package/dist/locale/de.min.js +1 -1
  46. package/dist/locale/de.min.mjs +1 -1
  47. package/dist/locale/de.mjs +1 -1
  48. package/dist/locale/el.js +1 -1
  49. package/dist/locale/el.min.js +1 -1
  50. package/dist/locale/el.min.mjs +1 -1
  51. package/dist/locale/el.mjs +1 -1
  52. package/dist/locale/en.js +1 -1
  53. package/dist/locale/en.min.js +1 -1
  54. package/dist/locale/en.min.mjs +1 -1
  55. package/dist/locale/en.mjs +1 -1
  56. package/dist/locale/eo.js +1 -1
  57. package/dist/locale/eo.min.js +1 -1
  58. package/dist/locale/eo.min.mjs +1 -1
  59. package/dist/locale/eo.mjs +1 -1
  60. package/dist/locale/es.js +1 -1
  61. package/dist/locale/es.min.js +1 -1
  62. package/dist/locale/es.min.mjs +1 -1
  63. package/dist/locale/es.mjs +1 -1
  64. package/dist/locale/et.js +1 -1
  65. package/dist/locale/et.min.js +1 -1
  66. package/dist/locale/et.min.mjs +1 -1
  67. package/dist/locale/et.mjs +1 -1
  68. package/dist/locale/eu.js +1 -1
  69. package/dist/locale/eu.min.js +1 -1
  70. package/dist/locale/eu.min.mjs +1 -1
  71. package/dist/locale/eu.mjs +1 -1
  72. package/dist/locale/fa.js +1 -1
  73. package/dist/locale/fa.min.js +1 -1
  74. package/dist/locale/fa.min.mjs +1 -1
  75. package/dist/locale/fa.mjs +1 -1
  76. package/dist/locale/fi.js +1 -1
  77. package/dist/locale/fi.min.js +1 -1
  78. package/dist/locale/fi.min.mjs +1 -1
  79. package/dist/locale/fi.mjs +1 -1
  80. package/dist/locale/fr.js +1 -1
  81. package/dist/locale/fr.min.js +1 -1
  82. package/dist/locale/fr.min.mjs +1 -1
  83. package/dist/locale/fr.mjs +1 -1
  84. package/dist/locale/he.js +1 -1
  85. package/dist/locale/he.min.js +1 -1
  86. package/dist/locale/he.min.mjs +1 -1
  87. package/dist/locale/he.mjs +1 -1
  88. package/dist/locale/hr.js +1 -1
  89. package/dist/locale/hr.min.js +1 -1
  90. package/dist/locale/hr.min.mjs +1 -1
  91. package/dist/locale/hr.mjs +1 -1
  92. package/dist/locale/hu.js +1 -1
  93. package/dist/locale/hu.min.js +1 -1
  94. package/dist/locale/hu.min.mjs +1 -1
  95. package/dist/locale/hu.mjs +1 -1
  96. package/dist/locale/hy-am.js +1 -1
  97. package/dist/locale/hy-am.min.js +1 -1
  98. package/dist/locale/hy-am.min.mjs +1 -1
  99. package/dist/locale/hy-am.mjs +1 -1
  100. package/dist/locale/id.js +1 -1
  101. package/dist/locale/id.min.js +1 -1
  102. package/dist/locale/id.min.mjs +1 -1
  103. package/dist/locale/id.mjs +1 -1
  104. package/dist/locale/it.js +1 -1
  105. package/dist/locale/it.min.js +1 -1
  106. package/dist/locale/it.min.mjs +1 -1
  107. package/dist/locale/it.mjs +1 -1
  108. package/dist/locale/ja.js +1 -1
  109. package/dist/locale/ja.min.js +1 -1
  110. package/dist/locale/ja.min.mjs +1 -1
  111. package/dist/locale/ja.mjs +1 -1
  112. package/dist/locale/kk.js +1 -1
  113. package/dist/locale/kk.min.js +1 -1
  114. package/dist/locale/kk.min.mjs +1 -1
  115. package/dist/locale/kk.mjs +1 -1
  116. package/dist/locale/km.js +1 -1
  117. package/dist/locale/km.min.js +1 -1
  118. package/dist/locale/km.min.mjs +1 -1
  119. package/dist/locale/km.mjs +1 -1
  120. package/dist/locale/ko.js +1 -1
  121. package/dist/locale/ko.min.js +1 -1
  122. package/dist/locale/ko.min.mjs +1 -1
  123. package/dist/locale/ko.mjs +1 -1
  124. package/dist/locale/ku.js +1 -1
  125. package/dist/locale/ku.min.js +1 -1
  126. package/dist/locale/ku.min.mjs +1 -1
  127. package/dist/locale/ku.mjs +1 -1
  128. package/dist/locale/ky.js +1 -1
  129. package/dist/locale/ky.min.js +1 -1
  130. package/dist/locale/ky.min.mjs +1 -1
  131. package/dist/locale/ky.mjs +1 -1
  132. package/dist/locale/lt.js +1 -1
  133. package/dist/locale/lt.min.js +1 -1
  134. package/dist/locale/lt.min.mjs +1 -1
  135. package/dist/locale/lt.mjs +1 -1
  136. package/dist/locale/lv.js +1 -1
  137. package/dist/locale/lv.min.js +1 -1
  138. package/dist/locale/lv.min.mjs +1 -1
  139. package/dist/locale/lv.mjs +1 -1
  140. package/dist/locale/mg.js +1 -1
  141. package/dist/locale/mg.min.js +1 -1
  142. package/dist/locale/mg.min.mjs +1 -1
  143. package/dist/locale/mg.mjs +1 -1
  144. package/dist/locale/mn.js +1 -1
  145. package/dist/locale/mn.min.js +1 -1
  146. package/dist/locale/mn.min.mjs +1 -1
  147. package/dist/locale/mn.mjs +1 -1
  148. package/dist/locale/nb-no.js +1 -1
  149. package/dist/locale/nb-no.min.js +1 -1
  150. package/dist/locale/nb-no.min.mjs +1 -1
  151. package/dist/locale/nb-no.mjs +1 -1
  152. package/dist/locale/nl.js +1 -1
  153. package/dist/locale/nl.min.js +1 -1
  154. package/dist/locale/nl.min.mjs +1 -1
  155. package/dist/locale/nl.mjs +1 -1
  156. package/dist/locale/pa.js +1 -1
  157. package/dist/locale/pa.min.js +1 -1
  158. package/dist/locale/pa.min.mjs +1 -1
  159. package/dist/locale/pa.mjs +1 -1
  160. package/dist/locale/pl.js +1 -1
  161. package/dist/locale/pl.min.js +1 -1
  162. package/dist/locale/pl.min.mjs +1 -1
  163. package/dist/locale/pl.mjs +1 -1
  164. package/dist/locale/pt-br.js +1 -1
  165. package/dist/locale/pt-br.min.js +1 -1
  166. package/dist/locale/pt-br.min.mjs +1 -1
  167. package/dist/locale/pt-br.mjs +1 -1
  168. package/dist/locale/pt.js +1 -1
  169. package/dist/locale/pt.min.js +1 -1
  170. package/dist/locale/pt.min.mjs +1 -1
  171. package/dist/locale/pt.mjs +1 -1
  172. package/dist/locale/ro.js +1 -1
  173. package/dist/locale/ro.min.js +1 -1
  174. package/dist/locale/ro.min.mjs +1 -1
  175. package/dist/locale/ro.mjs +1 -1
  176. package/dist/locale/ru.js +1 -1
  177. package/dist/locale/ru.min.js +1 -1
  178. package/dist/locale/ru.min.mjs +1 -1
  179. package/dist/locale/ru.mjs +1 -1
  180. package/dist/locale/sk.js +1 -1
  181. package/dist/locale/sk.min.js +1 -1
  182. package/dist/locale/sk.min.mjs +1 -1
  183. package/dist/locale/sk.mjs +1 -1
  184. package/dist/locale/sl.js +1 -1
  185. package/dist/locale/sl.min.js +1 -1
  186. package/dist/locale/sl.min.mjs +1 -1
  187. package/dist/locale/sl.mjs +1 -1
  188. package/dist/locale/sr.js +1 -1
  189. package/dist/locale/sr.min.js +1 -1
  190. package/dist/locale/sr.min.mjs +1 -1
  191. package/dist/locale/sr.mjs +1 -1
  192. package/dist/locale/sv.js +1 -1
  193. package/dist/locale/sv.min.js +1 -1
  194. package/dist/locale/sv.min.mjs +1 -1
  195. package/dist/locale/sv.mjs +1 -1
  196. package/dist/locale/ta.js +1 -1
  197. package/dist/locale/ta.min.js +1 -1
  198. package/dist/locale/ta.min.mjs +1 -1
  199. package/dist/locale/ta.mjs +1 -1
  200. package/dist/locale/th.js +1 -1
  201. package/dist/locale/th.min.js +1 -1
  202. package/dist/locale/th.min.mjs +1 -1
  203. package/dist/locale/th.mjs +1 -1
  204. package/dist/locale/tk.js +1 -1
  205. package/dist/locale/tk.min.js +1 -1
  206. package/dist/locale/tk.min.mjs +1 -1
  207. package/dist/locale/tk.mjs +1 -1
  208. package/dist/locale/tr.js +1 -1
  209. package/dist/locale/tr.min.js +1 -1
  210. package/dist/locale/tr.min.mjs +1 -1
  211. package/dist/locale/tr.mjs +1 -1
  212. package/dist/locale/ug-cn.js +1 -1
  213. package/dist/locale/ug-cn.min.js +1 -1
  214. package/dist/locale/ug-cn.min.mjs +1 -1
  215. package/dist/locale/ug-cn.mjs +1 -1
  216. package/dist/locale/uk.js +1 -1
  217. package/dist/locale/uk.min.js +1 -1
  218. package/dist/locale/uk.min.mjs +1 -1
  219. package/dist/locale/uk.mjs +1 -1
  220. package/dist/locale/uz-uz.js +1 -1
  221. package/dist/locale/uz-uz.min.js +1 -1
  222. package/dist/locale/uz-uz.min.mjs +1 -1
  223. package/dist/locale/uz-uz.mjs +1 -1
  224. package/dist/locale/vi.js +1 -1
  225. package/dist/locale/vi.min.js +1 -1
  226. package/dist/locale/vi.min.mjs +1 -1
  227. package/dist/locale/vi.mjs +1 -1
  228. package/dist/locale/zh-cn.js +1 -1
  229. package/dist/locale/zh-cn.min.js +1 -1
  230. package/dist/locale/zh-cn.min.mjs +1 -1
  231. package/dist/locale/zh-cn.mjs +1 -1
  232. package/dist/locale/zh-tw.js +1 -1
  233. package/dist/locale/zh-tw.min.js +1 -1
  234. package/dist/locale/zh-tw.min.mjs +1 -1
  235. package/dist/locale/zh-tw.mjs +1 -1
  236. package/es/components/input/src/input2.mjs +3 -3
  237. package/es/components/input/src/input2.mjs.map +1 -1
  238. package/es/components/select-v2/src/useSelect.mjs +19 -10
  239. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  240. package/es/components/time-picker/src/common/picker.mjs +19 -18
  241. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  242. package/es/components/time-picker/src/common/picker.vue.d.ts +5 -0
  243. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs +7 -1
  244. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs.map +1 -1
  245. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +526 -526
  246. package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs +14 -12
  247. package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs.map +1 -1
  248. package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -0
  249. package/es/version.d.ts +1 -1
  250. package/es/version.mjs +1 -1
  251. package/es/version.mjs.map +1 -1
  252. package/lib/components/input/src/input2.js +3 -3
  253. package/lib/components/input/src/input2.js.map +1 -1
  254. package/lib/components/select-v2/src/useSelect.js +19 -10
  255. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  256. package/lib/components/time-picker/src/common/picker.js +18 -17
  257. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  258. package/lib/components/time-picker/src/common/picker.vue.d.ts +5 -0
  259. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js +7 -1
  260. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js.map +1 -1
  261. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +526 -526
  262. package/lib/components/time-picker/src/time-picker-com/panel-time-range.js +14 -12
  263. package/lib/components/time-picker/src/time-picker-com/panel-time-range.js.map +1 -1
  264. package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -0
  265. package/lib/version.d.ts +1 -1
  266. package/lib/version.js +1 -1
  267. package/lib/version.js.map +1 -1
  268. package/package.json +2 -2
  269. package/web-types.json +1 -1
@@ -39,6 +39,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
39
39
  disabledSeconds,
40
40
  defaultValue
41
41
  } = pickerBase.props;
42
+ const startContainerKls = computed(() => [
43
+ nsTime.be("range-picker", "body"),
44
+ nsTime.be("panel", "content"),
45
+ nsTime.is("arrow", arrowControl),
46
+ showSeconds.value ? "has-seconds" : ""
47
+ ]);
48
+ const endContainerKls = computed(() => [
49
+ nsTime.be("range-picker", "body"),
50
+ nsTime.be("panel", "content"),
51
+ nsTime.is("arrow", arrowControl),
52
+ showSeconds.value ? "has-seconds" : ""
53
+ ]);
42
54
  const startTime = computed(() => props.parsedValue[0]);
43
55
  const endTime = computed(() => props.parsedValue[1]);
44
56
  const oldValue = useOldValue(props);
@@ -208,12 +220,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
208
220
  class: normalizeClass(unref(nsTime).be("range-picker", "header"))
209
221
  }, toDisplayString(unref(t)("el.datepicker.startTime")), 3),
210
222
  createElementVNode("div", {
211
- class: normalizeClass([
212
- unref(nsTime).be("range-picker", "body"),
213
- unref(nsTime).be("panel", "content"),
214
- unref(nsTime).is("arrow", unref(arrowControl)),
215
- { "has-seconds": unref(showSeconds) }
216
- ])
223
+ class: normalizeClass(unref(startContainerKls))
217
224
  }, [
218
225
  createVNode(TimeSpinner, {
219
226
  ref: "minSpinner",
@@ -238,12 +245,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
238
245
  class: normalizeClass(unref(nsTime).be("range-picker", "header"))
239
246
  }, toDisplayString(unref(t)("el.datepicker.endTime")), 3),
240
247
  createElementVNode("div", {
241
- class: normalizeClass([
242
- unref(nsTime).be("range-picker", "body"),
243
- unref(nsTime).be("panel", "content"),
244
- unref(nsTime).is("arrow", unref(arrowControl)),
245
- { "has-seconds": unref(showSeconds) }
246
- ])
248
+ class: normalizeClass(unref(endContainerKls))
247
249
  }, [
248
250
  createVNode(TimeSpinner, {
249
251
  ref: "maxSpinner",
@@ -1 +1 @@
1
- {"version":3,"file":"panel-time-range.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/panel-time-range.vue"],"sourcesContent":["<template>\n <div\n v-if=\"actualVisible\"\n :class=\"[nsTime.b('range-picker'), nsPicker.b('panel')]\"\n >\n <div :class=\"nsTime.be('range-picker', 'content')\">\n <div :class=\"nsTime.be('range-picker', 'cell')\">\n <div :class=\"nsTime.be('range-picker', 'header')\">\n {{ t('el.datepicker.startTime') }}\n </div>\n <div\n :class=\"[\n nsTime.be('range-picker', 'body'),\n nsTime.be('panel', 'content'),\n nsTime.is('arrow', arrowControl),\n { 'has-seconds': showSeconds },\n ]\"\n >\n <time-spinner\n ref=\"minSpinner\"\n role=\"start\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :arrow-control=\"arrowControl\"\n :spinner-date=\"startTime\"\n :disabled-hours=\"disabledHours_\"\n :disabled-minutes=\"disabledMinutes_\"\n :disabled-seconds=\"disabledSeconds_\"\n @change=\"handleMinChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setMinSelectionRange\"\n />\n </div>\n </div>\n <div :class=\"nsTime.be('range-picker', 'cell')\">\n <div :class=\"nsTime.be('range-picker', 'header')\">\n {{ t('el.datepicker.endTime') }}\n </div>\n <div\n :class=\"[\n nsTime.be('range-picker', 'body'),\n nsTime.be('panel', 'content'),\n nsTime.is('arrow', arrowControl),\n { 'has-seconds': showSeconds },\n ]\"\n >\n <time-spinner\n ref=\"maxSpinner\"\n role=\"end\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :arrow-control=\"arrowControl\"\n :spinner-date=\"endTime\"\n :disabled-hours=\"disabledHours_\"\n :disabled-minutes=\"disabledMinutes_\"\n :disabled-seconds=\"disabledSeconds_\"\n @change=\"handleMaxChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setMaxSelectionRange\"\n />\n </div>\n </div>\n </div>\n <div :class=\"nsTime.be('panel', 'footer')\">\n <button\n type=\"button\"\n :class=\"[nsTime.be('panel', 'btn'), 'cancel']\"\n @click=\"handleCancel()\"\n >\n {{ t('el.datepicker.cancel') }}\n </button>\n <button\n type=\"button\"\n :class=\"[nsTime.be('panel', 'btn'), 'confirm']\"\n :disabled=\"btnConfirmDisabled\"\n @click=\"handleConfirm()\"\n >\n {{ t('el.datepicker.confirm') }}\n </button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, ref, unref } from 'vue'\nimport dayjs from 'dayjs'\nimport { union } from 'lodash-unified'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { isArray } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { panelTimeRangeProps } from '../props/panel-time-range'\nimport { useTimePanel } from '../composables/use-time-panel'\nimport {\n buildAvailableTimeSlotGetter,\n useOldValue,\n} from '../composables/use-time-picker'\nimport TimeSpinner from './basic-time-spinner.vue'\n\nimport type { Dayjs } from 'dayjs'\n\nconst props = defineProps(panelTimeRangeProps)\nconst emit = defineEmits(['pick', 'select-range', 'set-picker-option'])\n\nconst makeSelectRange = (start: number, end: number) => {\n const result: number[] = []\n for (let i = start; i <= end; i++) {\n result.push(i)\n }\n return result\n}\n\nconst { t, lang } = useLocale()\nconst nsTime = useNamespace('time')\nconst nsPicker = useNamespace('picker')\nconst pickerBase = inject('EP_PICKER_BASE') as any\nconst {\n arrowControl,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n defaultValue,\n} = pickerBase.props\n\nconst startTime = computed(() => props.parsedValue![0])\nconst endTime = computed(() => props.parsedValue![1])\nconst oldValue = useOldValue(props)\nconst handleCancel = () => {\n emit('pick', oldValue.value, false)\n}\nconst showSeconds = computed(() => {\n return props.format.includes('ss')\n})\nconst amPmMode = computed(() => {\n if (props.format.includes('A')) return 'A'\n if (props.format.includes('a')) return 'a'\n return ''\n})\n\nconst handleConfirm = (visible = false) => {\n emit('pick', [startTime.value, endTime.value], visible)\n}\n\nconst handleMinChange = (date: Dayjs) => {\n handleChange(date.millisecond(0), endTime.value)\n}\nconst handleMaxChange = (date: Dayjs) => {\n handleChange(startTime.value, date.millisecond(0))\n}\n\nconst isValidValue = (_date: Dayjs[]) => {\n const parsedDate = _date.map((_) => dayjs(_).locale(lang.value))\n const result = getRangeAvailableTime(parsedDate)\n return parsedDate[0].isSame(result[0]) && parsedDate[1].isSame(result[1])\n}\n\nconst handleChange = (start: Dayjs, end: Dayjs) => {\n // todo getRangeAvailableTime(_date).millisecond(0)\n emit('pick', [start, end], true)\n}\nconst btnConfirmDisabled = computed(() => {\n return startTime.value > endTime.value\n})\n\nconst selectionRange = ref([0, 2])\nconst setMinSelectionRange = (start: number, end: number) => {\n emit('select-range', start, end, 'min')\n selectionRange.value = [start, end]\n}\n\nconst offset = computed(() => (showSeconds.value ? 11 : 8))\nconst setMaxSelectionRange = (start: number, end: number) => {\n emit('select-range', start, end, 'max')\n const _offset = unref(offset)\n selectionRange.value = [start + _offset, end + _offset]\n}\n\nconst changeSelectionRange = (step: number) => {\n const list = showSeconds.value ? [0, 3, 6, 11, 14, 17] : [0, 3, 8, 11]\n const mapping = ['hours', 'minutes'].concat(\n showSeconds.value ? ['seconds'] : []\n )\n const index = list.indexOf(selectionRange.value[0])\n const next = (index + step + list.length) % list.length\n const half = list.length / 2\n if (next < half) {\n timePickerOptions['start_emitSelectRange'](mapping[next])\n } else {\n timePickerOptions['end_emitSelectRange'](mapping[next - half])\n }\n}\n\nconst handleKeydown = (event: KeyboardEvent) => {\n const code = event.code\n\n const { left, right, up, down } = EVENT_CODE\n\n if ([left, right].includes(code)) {\n const step = code === left ? -1 : 1\n changeSelectionRange(step)\n event.preventDefault()\n return\n }\n\n if ([up, down].includes(code)) {\n const step = code === up ? -1 : 1\n const role = selectionRange.value[0] < offset.value ? 'start' : 'end'\n timePickerOptions[`${role}_scrollDown`](step)\n event.preventDefault()\n return\n }\n}\n\nconst disabledHours_ = (role: string, compare?: Dayjs) => {\n const defaultDisable = disabledHours ? disabledHours(role) : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? endTime.value : startTime.value)\n const compareHour = compareDate.hour()\n const nextDisable = isStart\n ? makeSelectRange(compareHour + 1, 23)\n : makeSelectRange(0, compareHour - 1)\n return union(defaultDisable, nextDisable)\n}\nconst disabledMinutes_ = (hour: number, role: string, compare?: Dayjs) => {\n const defaultDisable = disabledMinutes ? disabledMinutes(hour, role) : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? endTime.value : startTime.value)\n const compareHour = compareDate.hour()\n if (hour !== compareHour) {\n return defaultDisable\n }\n const compareMinute = compareDate.minute()\n const nextDisable = isStart\n ? makeSelectRange(compareMinute + 1, 59)\n : makeSelectRange(0, compareMinute - 1)\n return union(defaultDisable, nextDisable)\n}\nconst disabledSeconds_ = (\n hour: number,\n minute: number,\n role: string,\n compare?: Dayjs\n) => {\n const defaultDisable = disabledSeconds\n ? disabledSeconds(hour, minute, role)\n : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? endTime.value : startTime.value)\n const compareHour = compareDate.hour()\n const compareMinute = compareDate.minute()\n if (hour !== compareHour || minute !== compareMinute) {\n return defaultDisable\n }\n const compareSecond = compareDate.second()\n const nextDisable = isStart\n ? makeSelectRange(compareSecond + 1, 59)\n : makeSelectRange(0, compareSecond - 1)\n return union(defaultDisable, nextDisable)\n}\n\nconst getRangeAvailableTime = ([start, end]: Array<Dayjs>) => {\n return [\n getAvailableTime(start, 'start', true, end),\n getAvailableTime(end, 'end', false, start),\n ] as const\n}\n\nconst { getAvailableHours, getAvailableMinutes, getAvailableSeconds } =\n buildAvailableTimeSlotGetter(\n disabledHours_,\n disabledMinutes_,\n disabledSeconds_\n )\n\nconst {\n timePickerOptions,\n\n getAvailableTime,\n onSetOption,\n} = useTimePanel({\n getAvailableHours,\n getAvailableMinutes,\n getAvailableSeconds,\n})\n\nconst parseUserInput = (days: Dayjs[] | Dayjs) => {\n if (!days) return null\n if (isArray(days)) {\n return days.map((d) => dayjs(d, props.format).locale(lang.value))\n }\n return dayjs(days, props.format).locale(lang.value)\n}\n\nconst formatToString = (days: Dayjs[] | Dayjs) => {\n if (!days) return null\n if (isArray(days)) {\n return days.map((d) => d.format(props.format))\n }\n return days.format(props.format)\n}\n\nconst getDefaultValue = () => {\n if (isArray(defaultValue)) {\n return defaultValue.map((d: Date) => dayjs(d).locale(lang.value))\n }\n const defaultDay = dayjs(defaultValue).locale(lang.value)\n return [defaultDay, defaultDay.add(60, 'm')]\n}\n\nemit('set-picker-option', ['formatToString', formatToString])\nemit('set-picker-option', ['parseUserInput', parseUserInput])\nemit('set-picker-option', ['isValidValue', isValidValue])\nemit('set-picker-option', ['handleKeydownInput', handleKeydown])\nemit('set-picker-option', ['getDefaultValue', getDefaultValue])\nemit('set-picker-option', ['getRangeAvailableTime', getRangeAvailableTime])\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panel-time-range.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/panel-time-range.vue"],"sourcesContent":["<template>\n <div\n v-if=\"actualVisible\"\n :class=\"[nsTime.b('range-picker'), nsPicker.b('panel')]\"\n >\n <div :class=\"nsTime.be('range-picker', 'content')\">\n <div :class=\"nsTime.be('range-picker', 'cell')\">\n <div :class=\"nsTime.be('range-picker', 'header')\">\n {{ t('el.datepicker.startTime') }}\n </div>\n <div :class=\"startContainerKls\">\n <time-spinner\n ref=\"minSpinner\"\n role=\"start\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :arrow-control=\"arrowControl\"\n :spinner-date=\"startTime\"\n :disabled-hours=\"disabledHours_\"\n :disabled-minutes=\"disabledMinutes_\"\n :disabled-seconds=\"disabledSeconds_\"\n @change=\"handleMinChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setMinSelectionRange\"\n />\n </div>\n </div>\n <div :class=\"nsTime.be('range-picker', 'cell')\">\n <div :class=\"nsTime.be('range-picker', 'header')\">\n {{ t('el.datepicker.endTime') }}\n </div>\n <div :class=\"endContainerKls\">\n <time-spinner\n ref=\"maxSpinner\"\n role=\"end\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :arrow-control=\"arrowControl\"\n :spinner-date=\"endTime\"\n :disabled-hours=\"disabledHours_\"\n :disabled-minutes=\"disabledMinutes_\"\n :disabled-seconds=\"disabledSeconds_\"\n @change=\"handleMaxChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setMaxSelectionRange\"\n />\n </div>\n </div>\n </div>\n <div :class=\"nsTime.be('panel', 'footer')\">\n <button\n type=\"button\"\n :class=\"[nsTime.be('panel', 'btn'), 'cancel']\"\n @click=\"handleCancel()\"\n >\n {{ t('el.datepicker.cancel') }}\n </button>\n <button\n type=\"button\"\n :class=\"[nsTime.be('panel', 'btn'), 'confirm']\"\n :disabled=\"btnConfirmDisabled\"\n @click=\"handleConfirm()\"\n >\n {{ t('el.datepicker.confirm') }}\n </button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, ref, unref } from 'vue'\nimport dayjs from 'dayjs'\nimport { union } from 'lodash-unified'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { isArray } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { panelTimeRangeProps } from '../props/panel-time-range'\nimport { useTimePanel } from '../composables/use-time-panel'\nimport {\n buildAvailableTimeSlotGetter,\n useOldValue,\n} from '../composables/use-time-picker'\nimport TimeSpinner from './basic-time-spinner.vue'\n\nimport type { Dayjs } from 'dayjs'\n\nconst props = defineProps(panelTimeRangeProps)\nconst emit = defineEmits(['pick', 'select-range', 'set-picker-option'])\n\nconst makeSelectRange = (start: number, end: number) => {\n const result: number[] = []\n for (let i = start; i <= end; i++) {\n result.push(i)\n }\n return result\n}\n\nconst { t, lang } = useLocale()\nconst nsTime = useNamespace('time')\nconst nsPicker = useNamespace('picker')\nconst pickerBase = inject('EP_PICKER_BASE') as any\nconst {\n arrowControl,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n defaultValue,\n} = pickerBase.props\n\nconst startContainerKls = computed(() => [\n nsTime.be('range-picker', 'body'),\n nsTime.be('panel', 'content'),\n nsTime.is('arrow', arrowControl),\n showSeconds.value ? 'has-seconds' : '',\n])\nconst endContainerKls = computed(() => [\n nsTime.be('range-picker', 'body'),\n nsTime.be('panel', 'content'),\n nsTime.is('arrow', arrowControl),\n showSeconds.value ? 'has-seconds' : '',\n])\n\nconst startTime = computed(() => props.parsedValue![0])\nconst endTime = computed(() => props.parsedValue![1])\nconst oldValue = useOldValue(props)\nconst handleCancel = () => {\n emit('pick', oldValue.value, false)\n}\nconst showSeconds = computed(() => {\n return props.format.includes('ss')\n})\nconst amPmMode = computed(() => {\n if (props.format.includes('A')) return 'A'\n if (props.format.includes('a')) return 'a'\n return ''\n})\n\nconst handleConfirm = (visible = false) => {\n emit('pick', [startTime.value, endTime.value], visible)\n}\n\nconst handleMinChange = (date: Dayjs) => {\n handleChange(date.millisecond(0), endTime.value)\n}\nconst handleMaxChange = (date: Dayjs) => {\n handleChange(startTime.value, date.millisecond(0))\n}\n\nconst isValidValue = (_date: Dayjs[]) => {\n const parsedDate = _date.map((_) => dayjs(_).locale(lang.value))\n const result = getRangeAvailableTime(parsedDate)\n return parsedDate[0].isSame(result[0]) && parsedDate[1].isSame(result[1])\n}\n\nconst handleChange = (start: Dayjs, end: Dayjs) => {\n // todo getRangeAvailableTime(_date).millisecond(0)\n emit('pick', [start, end], true)\n}\nconst btnConfirmDisabled = computed(() => {\n return startTime.value > endTime.value\n})\n\nconst selectionRange = ref([0, 2])\nconst setMinSelectionRange = (start: number, end: number) => {\n emit('select-range', start, end, 'min')\n selectionRange.value = [start, end]\n}\n\nconst offset = computed(() => (showSeconds.value ? 11 : 8))\nconst setMaxSelectionRange = (start: number, end: number) => {\n emit('select-range', start, end, 'max')\n const _offset = unref(offset)\n selectionRange.value = [start + _offset, end + _offset]\n}\n\nconst changeSelectionRange = (step: number) => {\n const list = showSeconds.value ? [0, 3, 6, 11, 14, 17] : [0, 3, 8, 11]\n const mapping = ['hours', 'minutes'].concat(\n showSeconds.value ? ['seconds'] : []\n )\n const index = list.indexOf(selectionRange.value[0])\n const next = (index + step + list.length) % list.length\n const half = list.length / 2\n if (next < half) {\n timePickerOptions['start_emitSelectRange'](mapping[next])\n } else {\n timePickerOptions['end_emitSelectRange'](mapping[next - half])\n }\n}\n\nconst handleKeydown = (event: KeyboardEvent) => {\n const code = event.code\n\n const { left, right, up, down } = EVENT_CODE\n\n if ([left, right].includes(code)) {\n const step = code === left ? -1 : 1\n changeSelectionRange(step)\n event.preventDefault()\n return\n }\n\n if ([up, down].includes(code)) {\n const step = code === up ? -1 : 1\n const role = selectionRange.value[0] < offset.value ? 'start' : 'end'\n timePickerOptions[`${role}_scrollDown`](step)\n event.preventDefault()\n return\n }\n}\n\nconst disabledHours_ = (role: string, compare?: Dayjs) => {\n const defaultDisable = disabledHours ? disabledHours(role) : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? endTime.value : startTime.value)\n const compareHour = compareDate.hour()\n const nextDisable = isStart\n ? makeSelectRange(compareHour + 1, 23)\n : makeSelectRange(0, compareHour - 1)\n return union(defaultDisable, nextDisable)\n}\nconst disabledMinutes_ = (hour: number, role: string, compare?: Dayjs) => {\n const defaultDisable = disabledMinutes ? disabledMinutes(hour, role) : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? endTime.value : startTime.value)\n const compareHour = compareDate.hour()\n if (hour !== compareHour) {\n return defaultDisable\n }\n const compareMinute = compareDate.minute()\n const nextDisable = isStart\n ? makeSelectRange(compareMinute + 1, 59)\n : makeSelectRange(0, compareMinute - 1)\n return union(defaultDisable, nextDisable)\n}\nconst disabledSeconds_ = (\n hour: number,\n minute: number,\n role: string,\n compare?: Dayjs\n) => {\n const defaultDisable = disabledSeconds\n ? disabledSeconds(hour, minute, role)\n : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? endTime.value : startTime.value)\n const compareHour = compareDate.hour()\n const compareMinute = compareDate.minute()\n if (hour !== compareHour || minute !== compareMinute) {\n return defaultDisable\n }\n const compareSecond = compareDate.second()\n const nextDisable = isStart\n ? makeSelectRange(compareSecond + 1, 59)\n : makeSelectRange(0, compareSecond - 1)\n return union(defaultDisable, nextDisable)\n}\n\nconst getRangeAvailableTime = ([start, end]: Array<Dayjs>) => {\n return [\n getAvailableTime(start, 'start', true, end),\n getAvailableTime(end, 'end', false, start),\n ] as const\n}\n\nconst { getAvailableHours, getAvailableMinutes, getAvailableSeconds } =\n buildAvailableTimeSlotGetter(\n disabledHours_,\n disabledMinutes_,\n disabledSeconds_\n )\n\nconst {\n timePickerOptions,\n\n getAvailableTime,\n onSetOption,\n} = useTimePanel({\n getAvailableHours,\n getAvailableMinutes,\n getAvailableSeconds,\n})\n\nconst parseUserInput = (days: Dayjs[] | Dayjs) => {\n if (!days) return null\n if (isArray(days)) {\n return days.map((d) => dayjs(d, props.format).locale(lang.value))\n }\n return dayjs(days, props.format).locale(lang.value)\n}\n\nconst formatToString = (days: Dayjs[] | Dayjs) => {\n if (!days) return null\n if (isArray(days)) {\n return days.map((d) => d.format(props.format))\n }\n return days.format(props.format)\n}\n\nconst getDefaultValue = () => {\n if (isArray(defaultValue)) {\n return defaultValue.map((d: Date) => dayjs(d).locale(lang.value))\n }\n const defaultDay = dayjs(defaultValue).locale(lang.value)\n return [defaultDay, defaultDay.add(60, 'm')]\n}\n\nemit('set-picker-option', ['formatToString', formatToString])\nemit('set-picker-option', ['parseUserInput', parseUserInput])\nemit('set-picker-option', ['isValidValue', isValidValue])\nemit('set-picker-option', ['handleKeydownInput', handleKeydown])\nemit('set-picker-option', ['getDefaultValue', getDefaultValue])\nemit('set-picker-option', ['getRangeAvailableTime', getRangeAvailableTime])\n</script>\n"],"names":[],"mappings":"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"}
@@ -72,6 +72,8 @@ declare const _default: import("vue").DefineComponent<{
72
72
  disabledMinutes: any;
73
73
  disabledSeconds: any;
74
74
  defaultValue: any;
75
+ startContainerKls: import("vue").ComputedRef<string[]>;
76
+ endContainerKls: import("vue").ComputedRef<string[]>;
75
77
  startTime: import("vue").ComputedRef<dayjs.Dayjs>;
76
78
  endTime: import("vue").ComputedRef<dayjs.Dayjs>;
77
79
  oldValue: import("vue").Ref<string | {
package/es/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.20230603";
1
+ export declare const version = "0.0.20230604";
package/es/version.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const version = "0.0.20230603";
1
+ const version = "0.0.20230604";
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.20230603'\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.20230604'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
@@ -162,16 +162,16 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
162
162
  const onceInitSizeTextarea = createOnceInitResize(resizeTextarea);
163
163
  const setNativeInputValue = () => {
164
164
  const input2 = _ref.value;
165
- if (!input2 || input2.value === nativeInputValue.value)
165
+ const formatterValue = props.formatter ? props.formatter(nativeInputValue.value) : nativeInputValue.value;
166
+ if (!input2 || input2.value === formatterValue)
166
167
  return;
167
- input2.value = nativeInputValue.value;
168
+ input2.value = formatterValue;
168
169
  };
169
170
  const handleInput = async (event$1) => {
170
171
  recordCursor();
171
172
  let { value } = event$1.target;
172
173
  if (props.formatter) {
173
174
  value = props.parser ? props.parser(value) : value;
174
- value = props.formatter(value);
175
175
  }
176
176
  if (isComposing.value)
177
177
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"input2.js","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n v-show=\"type !== 'hidden'\"\n v-bind=\"containerAttrs\"\n :class=\"containerKls\"\n :style=\"containerStyle\"\n :role=\"containerRole\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <!-- input -->\n <template v-if=\"type !== 'textarea'\">\n <!-- prepend slot -->\n <div v-if=\"$slots.prepend\" :class=\"nsInput.be('group', 'prepend')\">\n <slot name=\"prepend\" />\n </div>\n\n <div :class=\"wrapperKls\">\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" :class=\"nsInput.e('prefix')\">\n <span :class=\"nsInput.e('prefix-inner')\" @click=\"focus\">\n <slot name=\"prefix\" />\n <el-icon v-if=\"prefixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"prefixIcon\" />\n </el-icon>\n </span>\n </span>\n\n <input\n :id=\"inputId\"\n ref=\"input\"\n :class=\"nsInput.e('inner')\"\n v-bind=\"attrs\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :formatter=\"formatter\"\n :parser=\"parser\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n :form=\"props.form\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n\n <!-- suffix slot -->\n <span v-if=\"suffixVisible\" :class=\"nsInput.e('suffix')\">\n <span :class=\"nsInput.e('suffix-inner')\" @click=\"focus\">\n <template\n v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\"\n >\n <slot name=\"suffix\" />\n <el-icon v-if=\"suffixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"suffixIcon\" />\n </el-icon>\n </template>\n <el-icon\n v-if=\"showClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"clear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('password')]\"\n @click=\"handlePasswordVisible\"\n >\n <component :is=\"passwordIcon\" />\n </el-icon>\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n <span :class=\"nsInput.e('count-inner')\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </span>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </span>\n </div>\n\n <!-- append slot -->\n <div v-if=\"$slots.append\" :class=\"nsInput.be('group', 'append')\">\n <slot name=\"append\" />\n </div>\n </template>\n\n <!-- textarea -->\n <template v-else>\n <textarea\n :id=\"inputId\"\n ref=\"textarea\"\n :class=\"nsTextarea.e('inner')\"\n v-bind=\"attrs\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :form=\"props.form\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n <span\n v-if=\"isWordLimitVisible\"\n :style=\"countStyle\"\n :class=\"nsInput.e('count')\"\n >\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n CircleClose,\n Hide as IconHide,\n View as IconView,\n} from '@element-plus/icons-vue'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport {\n NOOP,\n ValidateComponentsMap,\n debugWarn,\n isClient,\n isKorean,\n isObject,\n} from '@element-plus/utils'\nimport { useAttrs, useCursor, useNamespace } from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { calcTextareaHeight } from './utils'\nimport { inputEmits, inputProps } from './input'\nimport type { StyleValue } from 'vue'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\n\ndefineOptions({\n name: 'ElInput',\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst rawAttrs = useRawAttrs()\nconst slots = useSlots()\n\nconst containerAttrs = computed(() => {\n const comboBoxAttrs: Record<string, unknown> = {}\n if (props.containerRole === 'combobox') {\n comboBoxAttrs['aria-haspopup'] = rawAttrs['aria-haspopup']\n comboBoxAttrs['aria-owns'] = rawAttrs['aria-owns']\n comboBoxAttrs['aria-expanded'] = rawAttrs['aria-expanded']\n }\n return comboBoxAttrs\n})\n\nconst containerKls = computed(() => [\n props.type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize.value),\n nsInput.is('disabled', inputDisabled.value),\n nsInput.is('exceed', inputExceed.value),\n {\n [nsInput.b('group')]: slots.prepend || slots.append,\n [nsInput.bm('group', 'append')]: slots.append,\n [nsInput.bm('group', 'prepend')]: slots.prepend,\n [nsInput.m('prefix')]: slots.prefix || props.prefixIcon,\n [nsInput.m('suffix')]:\n slots.suffix || props.suffixIcon || props.clearable || props.showPassword,\n [nsInput.bm('suffix', 'password-clear')]:\n showClear.value && showPwdVisible.value,\n },\n rawAttrs.class,\n])\n\nconst wrapperKls = computed(() => [\n nsInput.e('wrapper'),\n nsInput.is('focus', focused.value),\n])\n\nconst attrs = useAttrs({\n excludeKeys: computed<string[]>(() => {\n return Object.keys(containerAttrs.value)\n }),\n})\nconst { form, formItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\nconst inputSize = useFormSize()\nconst inputDisabled = useFormDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst focused = ref(false)\nconst hovering = ref(false)\nconst isComposing = ref(false)\nconst passwordVisible = ref(false)\nconst countStyle = ref<StyleValue>()\nconst textareaCalcStyle = shallowRef(props.inputStyle)\n\nconst _ref = computed(() => input.value || textarea.value)\n\nconst needStatusIcon = computed(() => form?.statusIcon ?? false)\nconst validateState = computed(() => formItem?.validateState || '')\nconst validateIcon = computed(\n () => validateState.value && ValidateComponentsMap[validateState.value]\n)\nconst passwordIcon = computed(() =>\n passwordVisible.value ? IconView : IconHide\n)\nconst containerStyle = computed<StyleValue>(() => [\n rawAttrs.style as StyleValue,\n props.inputStyle,\n])\nconst textareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n textareaCalcStyle.value,\n { resize: props.resize },\n])\nconst nativeInputValue = computed(() =>\n isNil(props.modelValue) ? '' : String(props.modelValue)\n)\nconst showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (focused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (!!nativeInputValue.value || focused.value)\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!attrs.value.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => nativeInputValue.value.length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value &&\n textLength.value > Number(attrs.value.maxlength)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n)\n\nconst [recordCursor, setCursor] = useCursor(input)\n\nuseResizeObserver(textarea, (entries) => {\n onceInitSizeTextarea()\n if (!isWordLimitVisible.value || props.resize !== 'both') return\n const entry = entries[0]\n const { width } = entry.contentRect\n countStyle.value = {\n /** right: 100% - width + padding(15) + right(6) */\n right: `calc(100% - ${width + 15 + 6}px)`,\n }\n})\n\nconst resizeTextarea = () => {\n const { type, autosize } = props\n\n if (!isClient || type !== 'textarea' || !textarea.value) return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n const textareaStyle = calcTextareaHeight(textarea.value, minRows, maxRows)\n\n // If the scrollbar is displayed, the height of the textarea needs more space than the calculated height.\n // If set textarea height in this case, the scrollbar will not hide.\n // So we need to hide scrollbar first, and reset it in next tick.\n // see https://github.com/element-plus/element-plus/issues/8825\n textareaCalcStyle.value = {\n overflowY: 'hidden',\n ...textareaStyle,\n }\n\n nextTick(() => {\n // NOTE: Force repaint to make sure the style set above is applied.\n textarea.value!.offsetHeight\n textareaCalcStyle.value = textareaStyle\n })\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value).minHeight,\n }\n }\n}\n\nconst createOnceInitResize = (resizeTextarea: () => void) => {\n let isInit = false\n return () => {\n if (isInit || !props.autosize) return\n const isElHidden = textarea.value?.offsetParent === null\n if (!isElHidden) {\n resizeTextarea()\n isInit = true\n }\n }\n}\n// fix: https://github.com/element-plus/element-plus/issues/12074\nconst onceInitSizeTextarea = createOnceInitResize(resizeTextarea)\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n if (!input || input.value === nativeInputValue.value) return\n input.value = nativeInputValue.value\n}\n\nconst handleInput = async (event: Event) => {\n recordCursor()\n\n let { value } = event.target as TargetElement\n\n if (props.formatter) {\n value = props.parser ? props.parser(value) : value\n value = props.formatter(value)\n }\n\n // should not emit input during composition\n // see: https://github.com/ElemeFE/element/issues/10516\n if (isComposing.value) return\n\n // hack for https://github.com/ElemeFE/element/issues/8548\n // should remove the following line when we don't support IE\n if (value === nativeInputValue.value) {\n setNativeInputValue()\n return\n }\n\n emit(UPDATE_MODEL_EVENT, value)\n emit('input', value)\n\n // ensure native input value is controlled\n // see: https://github.com/ElemeFE/element/issues/12850\n await nextTick()\n setNativeInputValue()\n setCursor()\n}\n\nconst handleChange = (event: Event) => {\n emit('change', (event.target as TargetElement).value)\n}\n\nconst handleCompositionStart = (event: CompositionEvent) => {\n emit('compositionstart', event)\n isComposing.value = true\n}\n\nconst handleCompositionUpdate = (event: CompositionEvent) => {\n emit('compositionupdate', event)\n const text = (event.target as HTMLInputElement)?.value\n const lastCharacter = text[text.length - 1] || ''\n isComposing.value = !isKorean(lastCharacter)\n}\n\nconst handleCompositionEnd = (event: CompositionEvent) => {\n emit('compositionend', event)\n if (isComposing.value) {\n isComposing.value = false\n handleInput(event)\n }\n}\n\nconst handlePasswordVisible = () => {\n passwordVisible.value = !passwordVisible.value\n focus()\n}\n\nconst focus = async () => {\n // see: https://github.com/ElemeFE/element/issues/18573\n await nextTick()\n _ref.value?.focus()\n}\n\nconst blur = () => _ref.value?.blur()\n\nconst handleFocus = (event: FocusEvent) => {\n focused.value = true\n emit('focus', event)\n}\n\nconst handleBlur = (event: FocusEvent) => {\n focused.value = false\n emit('blur', event)\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n}\n\nconst handleMouseLeave = (evt: MouseEvent) => {\n hovering.value = false\n emit('mouseleave', evt)\n}\n\nconst handleMouseEnter = (evt: MouseEvent) => {\n hovering.value = true\n emit('mouseenter', evt)\n}\n\nconst handleKeydown = (evt: KeyboardEvent) => {\n emit('keydown', evt)\n}\n\nconst select = () => {\n _ref.value?.select()\n}\n\nconst clear = () => {\n emit(UPDATE_MODEL_EVENT, '')\n emit('change', '')\n emit('clear')\n emit('input', '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => resizeTextarea())\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n)\n\n// native input value is set explicitly\n// do not use v-model / :value in template\n// see: https://github.com/ElemeFE/element/issues/14521\nwatch(nativeInputValue, () => setNativeInputValue())\n\n// when change between <input> and <textarea>,\n// update DOM dependent value and styles\n// https://github.com/ElemeFE/element/issues/14857\nwatch(\n () => props.type,\n async () => {\n await nextTick()\n setNativeInputValue()\n resizeTextarea()\n }\n)\n\nonMounted(() => {\n if (!props.formatter && props.parser) {\n debugWarn(\n 'ElInput',\n 'If you set the parser, you also need to set the formatter.'\n )\n }\n setNativeInputValue()\n nextTick(resizeTextarea)\n})\n\ndefineExpose({\n /** @description HTML input element */\n input,\n /** @description HTML textarea element */\n textarea,\n /** @description HTML element, input or textarea */\n ref: _ref,\n /** @description style of textarea. */\n textareaStyle,\n\n /** @description from props (used on unit test) */\n autosize: toRef(props, 'autosize'),\n\n /** @description HTML input element native method */\n focus,\n /** @description HTML input element native method */\n blur,\n /** @description HTML input element native method */\n select,\n /** @description clear input value */\n clear,\n /** @description resize textarea. */\n resizeTextarea,\n})\n</script>\n"],"names":["useRawAttrs","useSlots","computed","useAttrs","useFormItem","useFormItemInputId","useFormSize","useFormDisabled","useNamespace","shallowRef","ref","ValidateComponentsMap","IconView","IconHide","isNil","useCursor","useResizeObserver","isClient","isObject","calcTextareaHeight","nextTick","event","UPDATE_MODEL_EVENT","isKorean","debugWarn","watch","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"input2.js","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n v-show=\"type !== 'hidden'\"\n v-bind=\"containerAttrs\"\n :class=\"containerKls\"\n :style=\"containerStyle\"\n :role=\"containerRole\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <!-- input -->\n <template v-if=\"type !== 'textarea'\">\n <!-- prepend slot -->\n <div v-if=\"$slots.prepend\" :class=\"nsInput.be('group', 'prepend')\">\n <slot name=\"prepend\" />\n </div>\n\n <div :class=\"wrapperKls\">\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" :class=\"nsInput.e('prefix')\">\n <span :class=\"nsInput.e('prefix-inner')\" @click=\"focus\">\n <slot name=\"prefix\" />\n <el-icon v-if=\"prefixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"prefixIcon\" />\n </el-icon>\n </span>\n </span>\n\n <input\n :id=\"inputId\"\n ref=\"input\"\n :class=\"nsInput.e('inner')\"\n v-bind=\"attrs\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :formatter=\"formatter\"\n :parser=\"parser\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n :form=\"props.form\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n\n <!-- suffix slot -->\n <span v-if=\"suffixVisible\" :class=\"nsInput.e('suffix')\">\n <span :class=\"nsInput.e('suffix-inner')\" @click=\"focus\">\n <template\n v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\"\n >\n <slot name=\"suffix\" />\n <el-icon v-if=\"suffixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"suffixIcon\" />\n </el-icon>\n </template>\n <el-icon\n v-if=\"showClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"clear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('password')]\"\n @click=\"handlePasswordVisible\"\n >\n <component :is=\"passwordIcon\" />\n </el-icon>\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n <span :class=\"nsInput.e('count-inner')\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </span>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </span>\n </div>\n\n <!-- append slot -->\n <div v-if=\"$slots.append\" :class=\"nsInput.be('group', 'append')\">\n <slot name=\"append\" />\n </div>\n </template>\n\n <!-- textarea -->\n <template v-else>\n <textarea\n :id=\"inputId\"\n ref=\"textarea\"\n :class=\"nsTextarea.e('inner')\"\n v-bind=\"attrs\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :form=\"props.form\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n <span\n v-if=\"isWordLimitVisible\"\n :style=\"countStyle\"\n :class=\"nsInput.e('count')\"\n >\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n CircleClose,\n Hide as IconHide,\n View as IconView,\n} from '@element-plus/icons-vue'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport {\n NOOP,\n ValidateComponentsMap,\n debugWarn,\n isClient,\n isKorean,\n isObject,\n} from '@element-plus/utils'\nimport { useAttrs, useCursor, useNamespace } from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { calcTextareaHeight } from './utils'\nimport { inputEmits, inputProps } from './input'\nimport type { StyleValue } from 'vue'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\n\ndefineOptions({\n name: 'ElInput',\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst rawAttrs = useRawAttrs()\nconst slots = useSlots()\n\nconst containerAttrs = computed(() => {\n const comboBoxAttrs: Record<string, unknown> = {}\n if (props.containerRole === 'combobox') {\n comboBoxAttrs['aria-haspopup'] = rawAttrs['aria-haspopup']\n comboBoxAttrs['aria-owns'] = rawAttrs['aria-owns']\n comboBoxAttrs['aria-expanded'] = rawAttrs['aria-expanded']\n }\n return comboBoxAttrs\n})\n\nconst containerKls = computed(() => [\n props.type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize.value),\n nsInput.is('disabled', inputDisabled.value),\n nsInput.is('exceed', inputExceed.value),\n {\n [nsInput.b('group')]: slots.prepend || slots.append,\n [nsInput.bm('group', 'append')]: slots.append,\n [nsInput.bm('group', 'prepend')]: slots.prepend,\n [nsInput.m('prefix')]: slots.prefix || props.prefixIcon,\n [nsInput.m('suffix')]:\n slots.suffix || props.suffixIcon || props.clearable || props.showPassword,\n [nsInput.bm('suffix', 'password-clear')]:\n showClear.value && showPwdVisible.value,\n },\n rawAttrs.class,\n])\n\nconst wrapperKls = computed(() => [\n nsInput.e('wrapper'),\n nsInput.is('focus', focused.value),\n])\n\nconst attrs = useAttrs({\n excludeKeys: computed<string[]>(() => {\n return Object.keys(containerAttrs.value)\n }),\n})\nconst { form, formItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\nconst inputSize = useFormSize()\nconst inputDisabled = useFormDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst focused = ref(false)\nconst hovering = ref(false)\nconst isComposing = ref(false)\nconst passwordVisible = ref(false)\nconst countStyle = ref<StyleValue>()\nconst textareaCalcStyle = shallowRef(props.inputStyle)\n\nconst _ref = computed(() => input.value || textarea.value)\n\nconst needStatusIcon = computed(() => form?.statusIcon ?? false)\nconst validateState = computed(() => formItem?.validateState || '')\nconst validateIcon = computed(\n () => validateState.value && ValidateComponentsMap[validateState.value]\n)\nconst passwordIcon = computed(() =>\n passwordVisible.value ? IconView : IconHide\n)\nconst containerStyle = computed<StyleValue>(() => [\n rawAttrs.style as StyleValue,\n props.inputStyle,\n])\nconst textareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n textareaCalcStyle.value,\n { resize: props.resize },\n])\nconst nativeInputValue = computed(() =>\n isNil(props.modelValue) ? '' : String(props.modelValue)\n)\nconst showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (focused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (!!nativeInputValue.value || focused.value)\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!attrs.value.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => nativeInputValue.value.length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value &&\n textLength.value > Number(attrs.value.maxlength)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n)\n\nconst [recordCursor, setCursor] = useCursor(input)\n\nuseResizeObserver(textarea, (entries) => {\n onceInitSizeTextarea()\n if (!isWordLimitVisible.value || props.resize !== 'both') return\n const entry = entries[0]\n const { width } = entry.contentRect\n countStyle.value = {\n /** right: 100% - width + padding(15) + right(6) */\n right: `calc(100% - ${width + 15 + 6}px)`,\n }\n})\n\nconst resizeTextarea = () => {\n const { type, autosize } = props\n\n if (!isClient || type !== 'textarea' || !textarea.value) return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n const textareaStyle = calcTextareaHeight(textarea.value, minRows, maxRows)\n\n // If the scrollbar is displayed, the height of the textarea needs more space than the calculated height.\n // If set textarea height in this case, the scrollbar will not hide.\n // So we need to hide scrollbar first, and reset it in next tick.\n // see https://github.com/element-plus/element-plus/issues/8825\n textareaCalcStyle.value = {\n overflowY: 'hidden',\n ...textareaStyle,\n }\n\n nextTick(() => {\n // NOTE: Force repaint to make sure the style set above is applied.\n textarea.value!.offsetHeight\n textareaCalcStyle.value = textareaStyle\n })\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value).minHeight,\n }\n }\n}\n\nconst createOnceInitResize = (resizeTextarea: () => void) => {\n let isInit = false\n return () => {\n if (isInit || !props.autosize) return\n const isElHidden = textarea.value?.offsetParent === null\n if (!isElHidden) {\n resizeTextarea()\n isInit = true\n }\n }\n}\n// fix: https://github.com/element-plus/element-plus/issues/12074\nconst onceInitSizeTextarea = createOnceInitResize(resizeTextarea)\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n const formatterValue = props.formatter\n ? props.formatter(nativeInputValue.value)\n : nativeInputValue.value\n if (!input || input.value === formatterValue) return\n input.value = formatterValue\n}\n\nconst handleInput = async (event: Event) => {\n recordCursor()\n\n let { value } = event.target as TargetElement\n\n if (props.formatter) {\n value = props.parser ? props.parser(value) : value\n }\n\n // should not emit input during composition\n // see: https://github.com/ElemeFE/element/issues/10516\n if (isComposing.value) return\n\n // hack for https://github.com/ElemeFE/element/issues/8548\n // should remove the following line when we don't support IE\n if (value === nativeInputValue.value) {\n setNativeInputValue()\n return\n }\n\n emit(UPDATE_MODEL_EVENT, value)\n emit('input', value)\n\n // ensure native input value is controlled\n // see: https://github.com/ElemeFE/element/issues/12850\n await nextTick()\n setNativeInputValue()\n setCursor()\n}\n\nconst handleChange = (event: Event) => {\n emit('change', (event.target as TargetElement).value)\n}\n\nconst handleCompositionStart = (event: CompositionEvent) => {\n emit('compositionstart', event)\n isComposing.value = true\n}\n\nconst handleCompositionUpdate = (event: CompositionEvent) => {\n emit('compositionupdate', event)\n const text = (event.target as HTMLInputElement)?.value\n const lastCharacter = text[text.length - 1] || ''\n isComposing.value = !isKorean(lastCharacter)\n}\n\nconst handleCompositionEnd = (event: CompositionEvent) => {\n emit('compositionend', event)\n if (isComposing.value) {\n isComposing.value = false\n handleInput(event)\n }\n}\n\nconst handlePasswordVisible = () => {\n passwordVisible.value = !passwordVisible.value\n focus()\n}\n\nconst focus = async () => {\n // see: https://github.com/ElemeFE/element/issues/18573\n await nextTick()\n _ref.value?.focus()\n}\n\nconst blur = () => _ref.value?.blur()\n\nconst handleFocus = (event: FocusEvent) => {\n focused.value = true\n emit('focus', event)\n}\n\nconst handleBlur = (event: FocusEvent) => {\n focused.value = false\n emit('blur', event)\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n}\n\nconst handleMouseLeave = (evt: MouseEvent) => {\n hovering.value = false\n emit('mouseleave', evt)\n}\n\nconst handleMouseEnter = (evt: MouseEvent) => {\n hovering.value = true\n emit('mouseenter', evt)\n}\n\nconst handleKeydown = (evt: KeyboardEvent) => {\n emit('keydown', evt)\n}\n\nconst select = () => {\n _ref.value?.select()\n}\n\nconst clear = () => {\n emit(UPDATE_MODEL_EVENT, '')\n emit('change', '')\n emit('clear')\n emit('input', '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => resizeTextarea())\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n)\n\n// native input value is set explicitly\n// do not use v-model / :value in template\n// see: https://github.com/ElemeFE/element/issues/14521\nwatch(nativeInputValue, () => setNativeInputValue())\n\n// when change between <input> and <textarea>,\n// update DOM dependent value and styles\n// https://github.com/ElemeFE/element/issues/14857\nwatch(\n () => props.type,\n async () => {\n await nextTick()\n setNativeInputValue()\n resizeTextarea()\n }\n)\n\nonMounted(() => {\n if (!props.formatter && props.parser) {\n debugWarn(\n 'ElInput',\n 'If you set the parser, you also need to set the formatter.'\n )\n }\n setNativeInputValue()\n nextTick(resizeTextarea)\n})\n\ndefineExpose({\n /** @description HTML input element */\n input,\n /** @description HTML textarea element */\n textarea,\n /** @description HTML element, input or textarea */\n ref: _ref,\n /** @description style of textarea. */\n textareaStyle,\n\n /** @description from props (used on unit test) */\n autosize: toRef(props, 'autosize'),\n\n /** @description HTML input element native method */\n focus,\n /** @description HTML input element native method */\n blur,\n /** @description HTML input element native method */\n select,\n /** @description clear input value */\n clear,\n /** @description resize textarea. */\n resizeTextarea,\n})\n</script>\n"],"names":["useRawAttrs","useSlots","computed","useAttrs","useFormItem","useFormItemInputId","useFormSize","useFormDisabled","useNamespace","shallowRef","ref","ValidateComponentsMap","IconView","IconHide","isNil","useCursor","useResizeObserver","isClient","isObject","calcTextareaHeight","nextTick","event","UPDATE_MODEL_EVENT","isKorean","debugWarn","watch","onMounted"],"mappings":"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"}
@@ -131,6 +131,13 @@ const useSelect = (props, emit) => {
131
131
  return null;
132
132
  }).filter((v) => v !== null));
133
133
  });
134
+ const filteredOptionsValueMap = vue.computed(() => {
135
+ const valueMap = /* @__PURE__ */ new Map();
136
+ filteredOptions.value.forEach((option, index) => {
137
+ valueMap.set(getValueKey(option), { option, index });
138
+ });
139
+ return valueMap;
140
+ });
134
141
  const optionsAllDisabled = vue.computed(() => filteredOptions.value.every((option) => option.disabled));
135
142
  const selectSize = useFormCommonProps.useFormSize();
136
143
  const collapseTagSize = vue.computed(() => selectSize.value === "small" ? "small" : "default");
@@ -167,12 +174,14 @@ const useSelect = (props, emit) => {
167
174
  const indexRef = vue.computed(() => {
168
175
  if (props.multiple) {
169
176
  const len = props.modelValue.length;
170
- if (props.modelValue.length > 0) {
171
- return filteredOptions.value.findIndex((o) => o.value === props.modelValue[len - 1]);
177
+ if (props.modelValue.length > 0 && filteredOptionsValueMap.value.has(props.modelValue[len - 1])) {
178
+ const { index } = filteredOptionsValueMap.value.get(props.modelValue[len - 1]);
179
+ return index;
172
180
  }
173
181
  } else {
174
- if (props.modelValue) {
175
- return filteredOptions.value.findIndex((o) => o.value === props.modelValue);
182
+ if (props.modelValue && filteredOptionsValueMap.value.has(props.modelValue)) {
183
+ const { index } = filteredOptionsValueMap.value.get(props.modelValue);
184
+ return index;
176
185
  }
177
186
  }
178
187
  return -1;
@@ -516,16 +525,16 @@ const useSelect = (props, emit) => {
516
525
  let initHovering = false;
517
526
  states.cachedOptions.length = 0;
518
527
  states.previousValue = props.modelValue.toString();
519
- props.modelValue.forEach((selected) => {
520
- const itemIndex = filteredOptions.value.findIndex((option) => getValueKey(option) === selected);
521
- if (~itemIndex) {
522
- states.cachedOptions.push(filteredOptions.value[itemIndex]);
528
+ for (const value of props.modelValue) {
529
+ if (filteredOptionsValueMap.value.has(value)) {
530
+ const { index, option } = filteredOptionsValueMap.value.get(value);
531
+ states.cachedOptions.push(option);
523
532
  if (!initHovering) {
524
- updateHoveringIndex(itemIndex);
533
+ updateHoveringIndex(index);
525
534
  }
526
535
  initHovering = true;
527
536
  }
528
- });
537
+ }
529
538
  } else {
530
539
  states.cachedOptions = [];
531
540
  states.previousValue = void 0;