@element-plus/nightly 0.0.20220906 → 0.0.20220909

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 (318) hide show
  1. package/README.md +0 -5
  2. package/attributes.json +1 -1
  3. package/dist/index.css +1 -1
  4. package/dist/index.full.js +71 -68
  5. package/dist/index.full.min.js +13 -13
  6. package/dist/index.full.min.js.map +1 -1
  7. package/dist/index.full.min.mjs +13 -13
  8. package/dist/index.full.min.mjs.map +1 -1
  9. package/dist/index.full.mjs +71 -69
  10. package/dist/locale/af.js +1 -1
  11. package/dist/locale/af.min.js +1 -1
  12. package/dist/locale/af.min.mjs +1 -1
  13. package/dist/locale/af.mjs +1 -1
  14. package/dist/locale/ar.js +1 -1
  15. package/dist/locale/ar.min.js +1 -1
  16. package/dist/locale/ar.min.mjs +1 -1
  17. package/dist/locale/ar.mjs +1 -1
  18. package/dist/locale/az.js +1 -1
  19. package/dist/locale/az.min.js +1 -1
  20. package/dist/locale/az.min.mjs +1 -1
  21. package/dist/locale/az.mjs +1 -1
  22. package/dist/locale/bg.js +1 -1
  23. package/dist/locale/bg.min.js +1 -1
  24. package/dist/locale/bg.min.mjs +1 -1
  25. package/dist/locale/bg.mjs +1 -1
  26. package/dist/locale/bn.js +1 -1
  27. package/dist/locale/bn.min.js +1 -1
  28. package/dist/locale/bn.min.mjs +1 -1
  29. package/dist/locale/bn.mjs +1 -1
  30. package/dist/locale/ca.js +1 -1
  31. package/dist/locale/ca.min.js +1 -1
  32. package/dist/locale/ca.min.mjs +1 -1
  33. package/dist/locale/ca.mjs +1 -1
  34. package/dist/locale/cs.js +1 -1
  35. package/dist/locale/cs.min.js +1 -1
  36. package/dist/locale/cs.min.mjs +1 -1
  37. package/dist/locale/cs.mjs +1 -1
  38. package/dist/locale/da.js +1 -1
  39. package/dist/locale/da.min.js +1 -1
  40. package/dist/locale/da.min.mjs +1 -1
  41. package/dist/locale/da.mjs +1 -1
  42. package/dist/locale/de.js +1 -1
  43. package/dist/locale/de.min.js +1 -1
  44. package/dist/locale/de.min.mjs +1 -1
  45. package/dist/locale/de.mjs +1 -1
  46. package/dist/locale/el.js +1 -1
  47. package/dist/locale/el.min.js +1 -1
  48. package/dist/locale/el.min.mjs +1 -1
  49. package/dist/locale/el.mjs +1 -1
  50. package/dist/locale/en.js +1 -1
  51. package/dist/locale/en.min.js +1 -1
  52. package/dist/locale/en.min.mjs +1 -1
  53. package/dist/locale/en.mjs +1 -1
  54. package/dist/locale/eo.js +1 -1
  55. package/dist/locale/eo.min.js +1 -1
  56. package/dist/locale/eo.min.mjs +1 -1
  57. package/dist/locale/eo.mjs +1 -1
  58. package/dist/locale/es.js +1 -1
  59. package/dist/locale/es.min.js +1 -1
  60. package/dist/locale/es.min.mjs +1 -1
  61. package/dist/locale/es.mjs +1 -1
  62. package/dist/locale/et.js +1 -1
  63. package/dist/locale/et.min.js +1 -1
  64. package/dist/locale/et.min.mjs +1 -1
  65. package/dist/locale/et.mjs +1 -1
  66. package/dist/locale/eu.js +1 -1
  67. package/dist/locale/eu.min.js +1 -1
  68. package/dist/locale/eu.min.mjs +1 -1
  69. package/dist/locale/eu.mjs +1 -1
  70. package/dist/locale/fa.js +1 -1
  71. package/dist/locale/fa.min.js +1 -1
  72. package/dist/locale/fa.min.mjs +1 -1
  73. package/dist/locale/fa.mjs +1 -1
  74. package/dist/locale/fi.js +1 -1
  75. package/dist/locale/fi.min.js +1 -1
  76. package/dist/locale/fi.min.mjs +1 -1
  77. package/dist/locale/fi.mjs +1 -1
  78. package/dist/locale/fr.js +1 -1
  79. package/dist/locale/fr.min.js +1 -1
  80. package/dist/locale/fr.min.mjs +1 -1
  81. package/dist/locale/fr.mjs +1 -1
  82. package/dist/locale/he.js +1 -1
  83. package/dist/locale/he.min.js +1 -1
  84. package/dist/locale/he.min.mjs +1 -1
  85. package/dist/locale/he.mjs +1 -1
  86. package/dist/locale/hr.js +1 -1
  87. package/dist/locale/hr.min.js +1 -1
  88. package/dist/locale/hr.min.mjs +1 -1
  89. package/dist/locale/hr.mjs +1 -1
  90. package/dist/locale/hu.js +1 -1
  91. package/dist/locale/hu.min.js +1 -1
  92. package/dist/locale/hu.min.mjs +1 -1
  93. package/dist/locale/hu.mjs +1 -1
  94. package/dist/locale/hy-am.js +1 -1
  95. package/dist/locale/hy-am.min.js +1 -1
  96. package/dist/locale/hy-am.min.mjs +1 -1
  97. package/dist/locale/hy-am.mjs +1 -1
  98. package/dist/locale/id.js +1 -1
  99. package/dist/locale/id.min.js +1 -1
  100. package/dist/locale/id.min.mjs +1 -1
  101. package/dist/locale/id.mjs +1 -1
  102. package/dist/locale/it.js +1 -1
  103. package/dist/locale/it.min.js +1 -1
  104. package/dist/locale/it.min.mjs +1 -1
  105. package/dist/locale/it.mjs +1 -1
  106. package/dist/locale/ja.js +1 -1
  107. package/dist/locale/ja.min.js +1 -1
  108. package/dist/locale/ja.min.mjs +1 -1
  109. package/dist/locale/ja.mjs +1 -1
  110. package/dist/locale/kk.js +1 -1
  111. package/dist/locale/kk.min.js +1 -1
  112. package/dist/locale/kk.min.mjs +1 -1
  113. package/dist/locale/kk.mjs +1 -1
  114. package/dist/locale/km.js +1 -1
  115. package/dist/locale/km.min.js +1 -1
  116. package/dist/locale/km.min.mjs +1 -1
  117. package/dist/locale/km.mjs +1 -1
  118. package/dist/locale/ko.js +1 -1
  119. package/dist/locale/ko.min.js +1 -1
  120. package/dist/locale/ko.min.mjs +1 -1
  121. package/dist/locale/ko.mjs +1 -1
  122. package/dist/locale/ku.js +1 -1
  123. package/dist/locale/ku.min.js +1 -1
  124. package/dist/locale/ku.min.mjs +1 -1
  125. package/dist/locale/ku.mjs +1 -1
  126. package/dist/locale/ky.js +1 -1
  127. package/dist/locale/ky.min.js +1 -1
  128. package/dist/locale/ky.min.mjs +1 -1
  129. package/dist/locale/ky.mjs +1 -1
  130. package/dist/locale/lt.js +1 -1
  131. package/dist/locale/lt.min.js +1 -1
  132. package/dist/locale/lt.min.mjs +1 -1
  133. package/dist/locale/lt.mjs +1 -1
  134. package/dist/locale/lv.js +1 -1
  135. package/dist/locale/lv.min.js +1 -1
  136. package/dist/locale/lv.min.mjs +1 -1
  137. package/dist/locale/lv.mjs +1 -1
  138. package/dist/locale/mg.js +1 -1
  139. package/dist/locale/mg.min.js +1 -1
  140. package/dist/locale/mg.min.mjs +1 -1
  141. package/dist/locale/mg.mjs +1 -1
  142. package/dist/locale/mn.js +1 -1
  143. package/dist/locale/mn.min.js +1 -1
  144. package/dist/locale/mn.min.mjs +1 -1
  145. package/dist/locale/mn.mjs +1 -1
  146. package/dist/locale/nb-no.js +1 -1
  147. package/dist/locale/nb-no.min.js +1 -1
  148. package/dist/locale/nb-no.min.mjs +1 -1
  149. package/dist/locale/nb-no.mjs +1 -1
  150. package/dist/locale/nl.js +1 -1
  151. package/dist/locale/nl.min.js +1 -1
  152. package/dist/locale/nl.min.mjs +1 -1
  153. package/dist/locale/nl.mjs +1 -1
  154. package/dist/locale/pa.js +1 -1
  155. package/dist/locale/pa.min.js +1 -1
  156. package/dist/locale/pa.min.mjs +1 -1
  157. package/dist/locale/pa.mjs +1 -1
  158. package/dist/locale/pl.js +1 -1
  159. package/dist/locale/pl.min.js +1 -1
  160. package/dist/locale/pl.min.mjs +1 -1
  161. package/dist/locale/pl.mjs +1 -1
  162. package/dist/locale/pt-br.js +1 -1
  163. package/dist/locale/pt-br.min.js +1 -1
  164. package/dist/locale/pt-br.min.mjs +1 -1
  165. package/dist/locale/pt-br.mjs +1 -1
  166. package/dist/locale/pt.js +1 -1
  167. package/dist/locale/pt.min.js +1 -1
  168. package/dist/locale/pt.min.mjs +1 -1
  169. package/dist/locale/pt.mjs +1 -1
  170. package/dist/locale/ro.js +1 -1
  171. package/dist/locale/ro.min.js +1 -1
  172. package/dist/locale/ro.min.mjs +1 -1
  173. package/dist/locale/ro.mjs +1 -1
  174. package/dist/locale/ru.js +1 -1
  175. package/dist/locale/ru.min.js +1 -1
  176. package/dist/locale/ru.min.mjs +1 -1
  177. package/dist/locale/ru.mjs +1 -1
  178. package/dist/locale/sk.js +1 -1
  179. package/dist/locale/sk.min.js +1 -1
  180. package/dist/locale/sk.min.mjs +1 -1
  181. package/dist/locale/sk.mjs +1 -1
  182. package/dist/locale/sl.js +1 -1
  183. package/dist/locale/sl.min.js +1 -1
  184. package/dist/locale/sl.min.mjs +1 -1
  185. package/dist/locale/sl.mjs +1 -1
  186. package/dist/locale/sr.js +1 -1
  187. package/dist/locale/sr.min.js +1 -1
  188. package/dist/locale/sr.min.mjs +1 -1
  189. package/dist/locale/sr.mjs +1 -1
  190. package/dist/locale/sv.js +1 -1
  191. package/dist/locale/sv.min.js +1 -1
  192. package/dist/locale/sv.min.mjs +1 -1
  193. package/dist/locale/sv.mjs +1 -1
  194. package/dist/locale/ta.js +1 -1
  195. package/dist/locale/ta.min.js +1 -1
  196. package/dist/locale/ta.min.mjs +1 -1
  197. package/dist/locale/ta.mjs +1 -1
  198. package/dist/locale/th.js +1 -1
  199. package/dist/locale/th.min.js +1 -1
  200. package/dist/locale/th.min.mjs +1 -1
  201. package/dist/locale/th.mjs +1 -1
  202. package/dist/locale/tk.js +1 -1
  203. package/dist/locale/tk.min.js +1 -1
  204. package/dist/locale/tk.min.mjs +1 -1
  205. package/dist/locale/tk.mjs +1 -1
  206. package/dist/locale/tr.js +1 -1
  207. package/dist/locale/tr.min.js +1 -1
  208. package/dist/locale/tr.min.mjs +1 -1
  209. package/dist/locale/tr.mjs +1 -1
  210. package/dist/locale/ug-cn.js +1 -1
  211. package/dist/locale/ug-cn.min.js +1 -1
  212. package/dist/locale/ug-cn.min.mjs +1 -1
  213. package/dist/locale/ug-cn.mjs +1 -1
  214. package/dist/locale/uk.js +1 -1
  215. package/dist/locale/uk.min.js +1 -1
  216. package/dist/locale/uk.min.mjs +1 -1
  217. package/dist/locale/uk.mjs +1 -1
  218. package/dist/locale/uz-uz.js +1 -1
  219. package/dist/locale/uz-uz.min.js +1 -1
  220. package/dist/locale/uz-uz.min.mjs +1 -1
  221. package/dist/locale/uz-uz.mjs +1 -1
  222. package/dist/locale/vi.js +1 -1
  223. package/dist/locale/vi.min.js +1 -1
  224. package/dist/locale/vi.min.mjs +1 -1
  225. package/dist/locale/vi.mjs +1 -1
  226. package/dist/locale/zh-cn.js +1 -1
  227. package/dist/locale/zh-cn.min.js +1 -1
  228. package/dist/locale/zh-cn.min.mjs +1 -1
  229. package/dist/locale/zh-cn.mjs +1 -1
  230. package/dist/locale/zh-tw.js +1 -1
  231. package/dist/locale/zh-tw.min.js +1 -1
  232. package/dist/locale/zh-tw.min.mjs +1 -1
  233. package/dist/locale/zh-tw.mjs +1 -1
  234. package/es/components/cascader-panel/src/node.mjs +2 -1
  235. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  236. package/es/components/index.mjs +1 -1
  237. package/es/components/select/src/select.mjs +11 -10
  238. package/es/components/select/src/select.mjs.map +1 -1
  239. package/es/components/select-v2/src/select.mjs +1 -1
  240. package/es/components/select-v2/src/select.mjs.map +1 -1
  241. package/es/components/table/src/util.mjs +3 -0
  242. package/es/components/table/src/util.mjs.map +1 -1
  243. package/es/components/table-v2/src/table-v2.mjs +2 -2
  244. package/es/components/table-v2/src/table-v2.mjs.map +1 -1
  245. package/es/components/tabs/index.d.ts +8 -8
  246. package/es/components/tabs/index.mjs +1 -1
  247. package/es/components/tabs/src/tab-bar2.mjs +1 -1
  248. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  249. package/es/components/tabs/src/tab-nav.d.ts +45 -58
  250. package/es/components/tabs/src/tab-nav.mjs +12 -14
  251. package/es/components/tabs/src/tab-nav.mjs.map +1 -1
  252. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  253. package/es/components/tabs/src/tabs.d.ts +12 -12
  254. package/es/components/tabs/src/tabs.mjs +8 -8
  255. package/es/components/tabs/src/tabs.mjs.map +1 -1
  256. package/es/components/time-picker/src/common/picker.mjs +2 -2
  257. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  258. package/es/components/tree/index.d.ts +4 -4
  259. package/es/components/tree/src/model/tree-store.d.ts +1 -1
  260. package/es/components/tree/src/model/tree-store.mjs.map +1 -1
  261. package/es/components/tree/src/tree.mjs.map +1 -1
  262. package/es/components/tree/src/tree.vue.d.ts +2 -2
  263. package/es/index.mjs +1 -1
  264. package/es/utils/index.mjs +2 -2
  265. package/es/utils/strings.d.ts +2 -1
  266. package/es/utils/strings.mjs +4 -2
  267. package/es/utils/strings.mjs.map +1 -1
  268. package/es/version.d.ts +1 -1
  269. package/es/version.mjs +1 -1
  270. package/es/version.mjs.map +1 -1
  271. package/lib/components/cascader-panel/src/node.js +3 -2
  272. package/lib/components/cascader-panel/src/node.js.map +1 -1
  273. package/lib/components/index.js +1 -0
  274. package/lib/components/index.js.map +1 -1
  275. package/lib/components/select/src/select.js +11 -10
  276. package/lib/components/select/src/select.js.map +1 -1
  277. package/lib/components/select-v2/src/select.js +1 -1
  278. package/lib/components/select-v2/src/select.js.map +1 -1
  279. package/lib/components/table/src/util.js +3 -0
  280. package/lib/components/table/src/util.js.map +1 -1
  281. package/lib/components/table-v2/src/table-v2.js +2 -2
  282. package/lib/components/table-v2/src/table-v2.js.map +1 -1
  283. package/lib/components/tabs/index.d.ts +8 -8
  284. package/lib/components/tabs/index.js +1 -0
  285. package/lib/components/tabs/index.js.map +1 -1
  286. package/lib/components/tabs/src/tab-bar2.js +3 -3
  287. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  288. package/lib/components/tabs/src/tab-nav.d.ts +45 -58
  289. package/lib/components/tabs/src/tab-nav.js +17 -18
  290. package/lib/components/tabs/src/tab-nav.js.map +1 -1
  291. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  292. package/lib/components/tabs/src/tabs.d.ts +12 -12
  293. package/lib/components/tabs/src/tabs.js +8 -8
  294. package/lib/components/tabs/src/tabs.js.map +1 -1
  295. package/lib/components/time-picker/src/common/picker.js +1 -1
  296. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  297. package/lib/components/tree/index.d.ts +4 -4
  298. package/lib/components/tree/src/model/tree-store.d.ts +1 -1
  299. package/lib/components/tree/src/model/tree-store.js.map +1 -1
  300. package/lib/components/tree/src/tree.js.map +1 -1
  301. package/lib/components/tree/src/tree.vue.d.ts +2 -2
  302. package/lib/index.js +1 -0
  303. package/lib/index.js.map +1 -1
  304. package/lib/utils/index.js +1 -4
  305. package/lib/utils/index.js.map +1 -1
  306. package/lib/utils/strings.d.ts +2 -1
  307. package/lib/utils/strings.js +2 -4
  308. package/lib/utils/strings.js.map +1 -1
  309. package/lib/version.d.ts +1 -1
  310. package/lib/version.js +1 -1
  311. package/lib/version.js.map +1 -1
  312. package/package.json +2 -2
  313. package/theme-chalk/el-cascader-panel.css +1 -1
  314. package/theme-chalk/el-select-v2.css +1 -1
  315. package/theme-chalk/index.css +1 -1
  316. package/theme-chalk/src/cascader-panel.scss +4 -0
  317. package/theme-chalk/src/select-v2.scss +13 -2
  318. package/web-types.json +1 -1
@@ -45,11 +45,11 @@ const tabsProps = buildProps({
45
45
  const isPanelName = (value) => isString(value) || isNumber(value);
46
46
  const tabsEmits = {
47
47
  [UPDATE_MODEL_EVENT]: (name) => isPanelName(name),
48
- "tab-click": (pane, ev) => ev instanceof Event,
49
- "tab-change": (name) => isPanelName(name),
48
+ tabClick: (pane, ev) => ev instanceof Event,
49
+ tabChange: (name) => isPanelName(name),
50
50
  edit: (paneName, action) => ["remove", "add"].includes(action),
51
- "tab-remove": (name) => isPanelName(name),
52
- "tab-add": () => true
51
+ tabRemove: (name) => isPanelName(name),
52
+ tabAdd: () => true
53
53
  };
54
54
  var Tabs = defineComponent({
55
55
  name: "ElTabs",
@@ -68,7 +68,7 @@ var Tabs = defineComponent({
68
68
  const changeCurrentName = (value) => {
69
69
  currentName.value = value;
70
70
  emit(UPDATE_MODEL_EVENT, value);
71
- emit("tab-change", value);
71
+ emit("tabChange", value);
72
72
  };
73
73
  const setCurrentName = async (value) => {
74
74
  var _a2, _b2, _c;
@@ -87,18 +87,18 @@ var Tabs = defineComponent({
87
87
  if (tab.props.disabled)
88
88
  return;
89
89
  setCurrentName(tabName);
90
- emit("tab-click", tab, event);
90
+ emit("tabClick", tab, event);
91
91
  };
92
92
  const handleTabRemove = (pane, ev) => {
93
93
  if (pane.props.disabled || isUndefined(pane.props.name))
94
94
  return;
95
95
  ev.stopPropagation();
96
96
  emit("edit", pane.props.name, "remove");
97
- emit("tab-remove", pane.props.name);
97
+ emit("tabRemove", pane.props.name);
98
98
  };
99
99
  const handleTabAdd = () => {
100
100
  emit("edit", void 0, "add");
101
- emit("tab-add");
101
+ emit("tabAdd");
102
102
  };
103
103
  useDeprecated({
104
104
  from: '"activeName"',
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.mjs","sources":["../../../../../../packages/components/tabs/src/tabs.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n nextTick,\n provide,\n reactive,\n ref,\n renderSlot,\n watch,\n} from 'vue'\nimport {\n buildProps,\n definePropType,\n isNumber,\n isString,\n isUndefined,\n} from '@element-plus/utils'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport ElIcon from '@element-plus/components/icon'\nimport { Plus } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport { useDeprecated, useNamespace } from '@element-plus/hooks'\nimport TabNav from './tab-nav'\nimport type { TabNavInstance } from './tab-nav'\nimport type { TabsPaneContext } from '@element-plus/tokens'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Awaitable } from '@element-plus/utils'\n\nexport type TabPanelName = string | number\n\nexport const tabsProps = buildProps({\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n activeName: {\n type: [String, Number],\n },\n closable: Boolean,\n addable: Boolean,\n modelValue: {\n type: [String, Number],\n },\n editable: Boolean,\n tabPosition: {\n type: String,\n values: ['top', 'right', 'bottom', 'left'],\n default: 'top',\n },\n beforeLeave: {\n type: definePropType<\n (\n newName: TabPanelName,\n oldName: TabPanelName\n ) => Awaitable<void | boolean>\n >(Function),\n default: () => true,\n },\n stretch: Boolean,\n} as const)\nexport type TabsProps = ExtractPropTypes<typeof tabsProps>\n\nconst isPanelName = (value: unknown): value is string | number =>\n isString(value) || isNumber(value)\n\nexport const tabsEmits = {\n [UPDATE_MODEL_EVENT]: (name: TabPanelName) => isPanelName(name),\n 'tab-click': (pane: TabsPaneContext, ev: Event) => ev instanceof Event,\n 'tab-change': (name: TabPanelName) => isPanelName(name),\n edit: (paneName: TabPanelName | undefined, action: 'remove' | 'add') =>\n ['remove', 'add'].includes(action),\n 'tab-remove': (name: TabPanelName) => isPanelName(name),\n 'tab-add': () => true,\n}\nexport type TabsEmits = typeof tabsEmits\n\nexport default defineComponent({\n name: 'ElTabs',\n\n props: tabsProps,\n emits: tabsEmits,\n\n setup(props, { emit, slots, expose }) {\n const ns = useNamespace('tabs')\n\n const nav$ = ref<TabNavInstance>()\n const panes = reactive<Record<number, TabsPaneContext>>({})\n const currentName = ref<TabPanelName>(\n props.modelValue ?? props.activeName ?? '0'\n )\n\n const changeCurrentName = (value: TabPanelName) => {\n currentName.value = value\n emit(UPDATE_MODEL_EVENT, value)\n emit('tab-change', value)\n }\n\n const setCurrentName = async (value?: TabPanelName) => {\n // should do nothing.\n if (currentName.value === value || isUndefined(value)) return\n\n try {\n const canLeave = await props.beforeLeave?.(value, currentName.value)\n if (canLeave !== false) {\n changeCurrentName(value)\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.removeFocus?.()\n }\n } catch {}\n }\n\n const handleTabClick = (\n tab: TabsPaneContext,\n tabName: TabPanelName,\n event: Event\n ) => {\n if (tab.props.disabled) return\n setCurrentName(tabName)\n emit('tab-click', tab, event)\n }\n\n const handleTabRemove = (pane: TabsPaneContext, ev: Event) => {\n if (pane.props.disabled || isUndefined(pane.props.name)) return\n ev.stopPropagation()\n emit('edit', pane.props.name, 'remove')\n emit('tab-remove', pane.props.name)\n }\n\n const handleTabAdd = () => {\n emit('edit', undefined, 'add')\n emit('tab-add')\n }\n\n useDeprecated(\n {\n from: '\"activeName\"',\n replacement: '\"model-value\" or \"v-model\"',\n scope: 'ElTabs',\n version: '2.3.0',\n ref: 'https://element-plus.org/en-US/component/tabs.html#attributes',\n type: 'Attribute',\n },\n computed(() => !!props.activeName)\n )\n\n watch(\n () => props.activeName,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(\n () => props.modelValue,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(currentName, async () => {\n await nextTick()\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.scrollToActiveTab()\n })\n\n {\n const registerPane = (pane: TabsPaneContext) => (panes[pane.uid] = pane)\n const unregisterPane = (uid: number) => delete panes[uid]\n\n provide(tabsRootContextKey, {\n props,\n currentName,\n registerPane,\n unregisterPane,\n })\n }\n\n expose({\n currentName,\n })\n\n return () => {\n const newButton =\n props.editable || props.addable ? (\n <span\n class={ns.e('new-tab')}\n tabindex=\"0\"\n onClick={handleTabAdd}\n onKeydown={(ev: KeyboardEvent) => {\n if (ev.code === EVENT_CODE.enter) handleTabAdd()\n }}\n >\n <ElIcon class={ns.is('icon-plus')}>\n <Plus />\n </ElIcon>\n </span>\n ) : null\n\n const header = (\n <div class={[ns.e('header'), ns.is(props.tabPosition)]}>\n {newButton}\n <TabNav\n ref={nav$}\n currentName={currentName.value}\n editable={props.editable}\n type={props.type}\n panes={Object.values(panes)}\n stretch={props.stretch}\n onTabClick={handleTabClick}\n onTabRemove={handleTabRemove}\n />\n </div>\n )\n\n const panels = (\n <div class={ns.e('content')}>{renderSlot(slots, 'default')}</div>\n )\n\n return (\n <div\n class={[\n ns.b(),\n ns.m(props.tabPosition),\n {\n [ns.m('card')]: props.type === 'card',\n [ns.m('border-card')]: props.type === 'border-card',\n },\n ]}\n >\n {...props.tabPosition !== 'bottom'\n ? [header, panels]\n : [panels, header]}\n </div>\n )\n }\n },\n})\n"],"names":["tabsProps","buildProps","type","String","values","default","activeName","Number","closable","Boolean","addable","modelValue","editable","tabPosition","beforeLeave","definePropType","Function","stretch","tabsEmits","name","ev","edit","action","props","emits","slots","expose","ns","useNamespace","nav$","panes","changeCurrentName","value","currentName","emit","UPDATE_MODEL_EVENT","setCurrentName","handleTabClick","event","handleTabRemove","pane","disabled","handleTabAdd","useDeprecated","from","replacement","scope","version","ref","watch","nextTick","registerPane","unregisterPane","uid","_createVNode","newButton","e","EVENT_CODE","is"],"mappings":"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"}
1
+ {"version":3,"file":"tabs.mjs","sources":["../../../../../../packages/components/tabs/src/tabs.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n nextTick,\n provide,\n reactive,\n ref,\n renderSlot,\n watch,\n} from 'vue'\nimport {\n buildProps,\n definePropType,\n isNumber,\n isString,\n isUndefined,\n} from '@element-plus/utils'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport ElIcon from '@element-plus/components/icon'\nimport { Plus } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport { useDeprecated, useNamespace } from '@element-plus/hooks'\nimport TabNav from './tab-nav'\nimport type { TabNavInstance } from './tab-nav'\nimport type { TabsPaneContext } from '@element-plus/tokens'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Awaitable } from '@element-plus/utils'\n\nexport type TabPanelName = string | number\n\nexport const tabsProps = buildProps({\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n activeName: {\n type: [String, Number],\n },\n closable: Boolean,\n addable: Boolean,\n modelValue: {\n type: [String, Number],\n },\n editable: Boolean,\n tabPosition: {\n type: String,\n values: ['top', 'right', 'bottom', 'left'],\n default: 'top',\n },\n beforeLeave: {\n type: definePropType<\n (\n newName: TabPanelName,\n oldName: TabPanelName\n ) => Awaitable<void | boolean>\n >(Function),\n default: () => true,\n },\n stretch: Boolean,\n} as const)\nexport type TabsProps = ExtractPropTypes<typeof tabsProps>\n\nconst isPanelName = (value: unknown): value is string | number =>\n isString(value) || isNumber(value)\n\nexport const tabsEmits = {\n [UPDATE_MODEL_EVENT]: (name: TabPanelName) => isPanelName(name),\n tabClick: (pane: TabsPaneContext, ev: Event) => ev instanceof Event,\n tabChange: (name: TabPanelName) => isPanelName(name),\n edit: (paneName: TabPanelName | undefined, action: 'remove' | 'add') =>\n ['remove', 'add'].includes(action),\n tabRemove: (name: TabPanelName) => isPanelName(name),\n tabAdd: () => true,\n}\nexport type TabsEmits = typeof tabsEmits\n\nexport default defineComponent({\n name: 'ElTabs',\n\n props: tabsProps,\n emits: tabsEmits,\n\n setup(props, { emit, slots, expose }) {\n const ns = useNamespace('tabs')\n\n const nav$ = ref<TabNavInstance>()\n const panes = reactive<Record<number, TabsPaneContext>>({})\n const currentName = ref<TabPanelName>(\n props.modelValue ?? props.activeName ?? '0'\n )\n\n const changeCurrentName = (value: TabPanelName) => {\n currentName.value = value\n emit(UPDATE_MODEL_EVENT, value)\n emit('tabChange', value)\n }\n\n const setCurrentName = async (value?: TabPanelName) => {\n // should do nothing.\n if (currentName.value === value || isUndefined(value)) return\n\n try {\n const canLeave = await props.beforeLeave?.(value, currentName.value)\n if (canLeave !== false) {\n changeCurrentName(value)\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.removeFocus?.()\n }\n } catch {}\n }\n\n const handleTabClick = (\n tab: TabsPaneContext,\n tabName: TabPanelName,\n event: Event\n ) => {\n if (tab.props.disabled) return\n setCurrentName(tabName)\n emit('tabClick', tab, event)\n }\n\n const handleTabRemove = (pane: TabsPaneContext, ev: Event) => {\n if (pane.props.disabled || isUndefined(pane.props.name)) return\n ev.stopPropagation()\n emit('edit', pane.props.name, 'remove')\n emit('tabRemove', pane.props.name)\n }\n\n const handleTabAdd = () => {\n emit('edit', undefined, 'add')\n emit('tabAdd')\n }\n\n useDeprecated(\n {\n from: '\"activeName\"',\n replacement: '\"model-value\" or \"v-model\"',\n scope: 'ElTabs',\n version: '2.3.0',\n ref: 'https://element-plus.org/en-US/component/tabs.html#attributes',\n type: 'Attribute',\n },\n computed(() => !!props.activeName)\n )\n\n watch(\n () => props.activeName,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(\n () => props.modelValue,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(currentName, async () => {\n await nextTick()\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.scrollToActiveTab()\n })\n\n {\n const registerPane = (pane: TabsPaneContext) => (panes[pane.uid] = pane)\n const unregisterPane = (uid: number) => delete panes[uid]\n\n provide(tabsRootContextKey, {\n props,\n currentName,\n registerPane,\n unregisterPane,\n })\n }\n\n expose({\n currentName,\n })\n\n return () => {\n const newButton =\n props.editable || props.addable ? (\n <span\n class={ns.e('new-tab')}\n tabindex=\"0\"\n onClick={handleTabAdd}\n onKeydown={(ev: KeyboardEvent) => {\n if (ev.code === EVENT_CODE.enter) handleTabAdd()\n }}\n >\n <ElIcon class={ns.is('icon-plus')}>\n <Plus />\n </ElIcon>\n </span>\n ) : null\n\n const header = (\n <div class={[ns.e('header'), ns.is(props.tabPosition)]}>\n {newButton}\n <TabNav\n ref={nav$}\n currentName={currentName.value}\n editable={props.editable}\n type={props.type}\n panes={Object.values(panes)}\n stretch={props.stretch}\n onTabClick={handleTabClick}\n onTabRemove={handleTabRemove}\n />\n </div>\n )\n\n const panels = (\n <div class={ns.e('content')}>{renderSlot(slots, 'default')}</div>\n )\n\n return (\n <div\n class={[\n ns.b(),\n ns.m(props.tabPosition),\n {\n [ns.m('card')]: props.type === 'card',\n [ns.m('border-card')]: props.type === 'border-card',\n },\n ]}\n >\n {...props.tabPosition !== 'bottom'\n ? [header, panels]\n : [panels, header]}\n </div>\n )\n }\n },\n})\n"],"names":["tabsProps","buildProps","type","String","values","default","activeName","Number","closable","Boolean","addable","modelValue","editable","tabPosition","beforeLeave","definePropType","Function","stretch","tabsEmits","name","tabClick","ev","tabChange","edit","tabRemove","tabAdd","props","emits","slots","expose","ns","useNamespace","nav$","panes","changeCurrentName","value","currentName","emit","UPDATE_MODEL_EVENT","setCurrentName","handleTabClick","event","handleTabRemove","pane","disabled","handleTabAdd","useDeprecated","from","replacement","scope","version","ref","watch","nextTick","registerPane","unregisterPane","uid","_createVNode","newButton","e","EVENT_CODE","is"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, inject, ref, watch, nextTick, computed, unref, provide, openBlock, createBlock, mergeProps, withCtx, normalizeClass, normalizeStyle, withModifiers, resolveDynamicComponent, createCommentVNode, createElementBlock, createElementVNode, renderSlot, toDisplayString } from 'vue';
2
- import { isEqual } from 'lodash-unified';
2
+ import { isNil, isEqual } from 'lodash-unified';
3
3
  import { onClickOutside } from '@vueuse/core';
4
4
  import '../../../../hooks/index.mjs';
5
5
  import { ElInput } from '../../../input/index.mjs';
@@ -158,7 +158,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
158
158
  if (props.readonly || pickerDisabled.value || pickerVisible.value || ignoreFocusEvent) {
159
159
  return;
160
160
  }
161
- pickerVisible.value = true;
161
+ pickerVisible.value = isNil(e == null ? void 0 : e.relatedTarget);
162
162
  emit("focus", e);
163
163
  };
164
164
  let currentHandleBlurDeferCallback = void 0;
@@ -1 +1 @@
1
- {"version":3,"file":"picker.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"refPopper\"\n :visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n role=\"dialog\"\n teleported\n :transition=\"`${nsDate.namespace.value}-zoom-in-top`\"\n :popper-class=\"[`${nsDate.namespace.value}-picker__popper`, popperClass]\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :hide-after=\"0\"\n persistent\n @before-show=\"onBeforeShow\"\n @show=\"onShow\"\n @hide=\"onHide\"\n >\n <template #default>\n <el-input\n v-if=\"!isRangeInput\"\n :id=\"(id as string | undefined)\"\n ref=\"inputRef\"\n container-role=\"combobox\"\n :model-value=\"(displayValue as string)\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n :class=\"[nsDate.b('editor'), nsDate.bm('editor', type), $attrs.class]\"\n :style=\"$attrs.style\"\n :readonly=\"!editable || readonly || isDatesPicker || type === 'week'\"\n :label=\"label\"\n :tabindex=\"tabindex\"\n :validate-event=\"false\"\n @input=\"onUserInput\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n @keydown=\"\n //\n handleKeydownInput as any\n \"\n @change=\"handleChange\"\n @mousedown=\"onMouseDownInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart=\"onTouchStartInput\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"nsInput.e('icon')\"\n @mousedown.prevent=\"onMouseDownInput\"\n @touchstart=\"onTouchStartInput\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n :class=\"`${nsInput.e('icon')} clear-icon`\"\n @click.stop=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n ref=\"inputRef\"\n :class=\"[\n nsDate.b('editor'),\n nsDate.bm('editor', type),\n nsInput.e('wrapper'),\n nsDate.is('disabled', pickerDisabled),\n nsDate.is('active', pickerVisible),\n nsRange.b('editor'),\n pickerSize ? nsRange.bm('editor', pickerSize) : '',\n $attrs.class,\n ]\"\n :style=\"($attrs.style as any)\"\n @click=\"handleFocusInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart=\"onTouchStartInput\"\n @keydown=\"handleKeydownInput\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"[nsInput.e('icon'), nsRange.e('icon')]\"\n @mousedown.prevent=\"onMouseDownInput\"\n @touchstart=\"onTouchStartInput\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n <input\n :id=\"id && id[0]\"\n autocomplete=\"off\"\n :name=\"name && name[0]\"\n :placeholder=\"startPlaceholder\"\n :value=\"displayValue && displayValue[0]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n :class=\"nsRange.b('input')\"\n @mousedown=\"onMouseDownInput\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n />\n <slot name=\"range-separator\">\n <span :class=\"nsRange.b('separator')\">{{ rangeSeparator }}</span>\n </slot>\n <input\n :id=\"id && id[1]\"\n autocomplete=\"off\"\n :name=\"name && name[1]\"\n :placeholder=\"endPlaceholder\"\n :value=\"displayValue && displayValue[1]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n :class=\"nsRange.b('input')\"\n @mousedown=\"onMouseDownInput\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsRange.e('close-icon'),\n {\n [nsRange.e('close-icon--hidden')]: !showClose,\n },\n ]\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </div>\n </template>\n <template #content>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @panel-change=\"onPanelChange\"\n @keydown=\"onKeydownPopperContent\"\n @mousedown.stop\n />\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, inject, nextTick, provide, ref, unref, watch } from 'vue'\nimport { isEqual } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport {\n useFormItem,\n useLocale,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { debugWarn, isArray } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { Calendar, Clock } from '@element-plus/icons-vue'\nimport { formatter, parseDate, valueEquals } from '../utils'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance } from 'vue'\nimport type { Options } from '@popperjs/core'\nimport type {\n DateModelType,\n DateOrDates,\n DayOrDays,\n PickerOptions,\n SingleOrRange,\n TimePickerDefaultProps,\n UserInput,\n} from './props'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\n// Date object and string\n\ndefineOptions({\n name: 'Picker',\n})\n\nconst props = defineProps(timePickerDefaultProps)\nconst emit = defineEmits([\n 'update:modelValue',\n 'change',\n 'focus',\n 'blur',\n 'calendar-change',\n 'panel-change',\n 'visible-change',\n 'keydown',\n])\n\nconst { lang } = useLocale()\n\nconst nsDate = useNamespace('date')\nconst nsInput = useNamespace('input')\nconst nsRange = useNamespace('range')\n\nconst { form, formItem } = useFormItem()\nconst elPopperOptions = inject('ElPopperOptions', {} as Options)\n\nconst refPopper = ref<TooltipInstance>()\nconst inputRef = ref<HTMLElement | ComponentPublicInstance>()\nconst pickerVisible = ref(false)\nconst pickerActualVisible = ref(false)\nconst valueOnOpen = ref<TimePickerDefaultProps['modelValue'] | null>(null)\n\nlet hasJustTabExitedInput = false\nlet ignoreFocusEvent = false\n\nwatch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n } else {\n valueOnOpen.value = props.modelValue\n }\n})\nconst emitChange = (\n val: TimePickerDefaultProps['modelValue'] | null,\n isClear?: boolean\n) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n emit('change', val)\n props.validateEvent &&\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n}\nconst emitInput = (input: SingleOrRange<DateModelType | Dayjs> | null) => {\n if (!valueEquals(props.modelValue, input)) {\n let formatted\n if (isArray(input)) {\n formatted = input.map((item) =>\n formatter(item, props.valueFormat, lang.value)\n )\n } else if (input) {\n formatted = formatter(input, props.valueFormat, lang.value)\n }\n emit('update:modelValue', input ? formatted : input, lang.value)\n }\n}\nconst emitKeydown = (e: KeyboardEvent) => {\n emit('keydown', e)\n}\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n const _r = isRangeInput.value\n ? inputRef.value\n : (inputRef.value as any as ComponentPublicInstance).$el\n return Array.from<HTMLInputElement>(_r.querySelectorAll('input'))\n }\n return []\n})\n\nconst setSelectionRange = (start: number, end: number, pos?: 'min' | 'max') => {\n const _inputs = refInput.value\n if (!_inputs.length) return\n if (!pos || pos === 'min') {\n _inputs[0].setSelectionRange(start, end)\n _inputs[0].focus()\n } else if (pos === 'max') {\n _inputs[1].setSelectionRange(start, end)\n _inputs[1].focus()\n }\n}\nconst focusOnInputBox = () => {\n focus(true, true)\n nextTick(() => {\n ignoreFocusEvent = false\n })\n}\n\nconst onPick = (date: any = '', visible = false) => {\n if (!visible) {\n focusOnInputBox()\n }\n pickerVisible.value = visible\n let result\n if (isArray(date)) {\n result = date.map((_) => _.toDate())\n } else {\n // clear btn emit null\n result = date ? date.toDate() : date\n }\n userInput.value = null\n emitInput(result)\n}\n\nconst onBeforeShow = () => {\n pickerActualVisible.value = true\n}\n\nconst onShow = () => {\n emit('visible-change', true)\n}\n\nconst onKeydownPopperContent = (event: KeyboardEvent) => {\n if ((event as KeyboardEvent)?.key === EVENT_CODE.esc) {\n focus(true, true)\n }\n}\n\nconst onHide = () => {\n pickerActualVisible.value = false\n ignoreFocusEvent = false\n emit('visible-change', false)\n}\n\nconst handleOpen = () => {\n pickerVisible.value = true\n}\n\nconst handleClose = () => {\n pickerVisible.value = false\n}\n\nconst focus = (focusStartInput = true, isIgnoreFocusEvent = false) => {\n ignoreFocusEvent = isIgnoreFocusEvent\n const [leftInput, rightInput] = unref(refInput)\n let input = leftInput\n if (!focusStartInput && isRangeInput.value) {\n input = rightInput\n }\n if (input) {\n input.focus()\n }\n}\n\nconst handleFocusInput = (e?: FocusEvent) => {\n if (\n props.readonly ||\n pickerDisabled.value ||\n pickerVisible.value ||\n ignoreFocusEvent\n ) {\n return\n }\n pickerVisible.value = true\n emit('focus', e)\n}\n\nlet currentHandleBlurDeferCallback:\n | (() => Promise<void> | undefined)\n | undefined = undefined\n\n// Check if document.activeElement is inside popper or any input before popper close\nconst handleBlurInput = (e?: FocusEvent) => {\n const handleBlurDefer = async () => {\n setTimeout(() => {\n if (currentHandleBlurDeferCallback === handleBlurDefer) {\n if (\n !(\n refPopper.value?.isFocusInsideContent() && !hasJustTabExitedInput\n ) &&\n refInput.value.filter((input) => {\n return input.contains(document.activeElement)\n }).length === 0\n ) {\n handleChange()\n pickerVisible.value = false\n emit('blur', e)\n props.validateEvent &&\n formItem?.validate('blur').catch((err) => debugWarn(err))\n }\n hasJustTabExitedInput = false\n }\n }, 0)\n }\n currentHandleBlurDeferCallback = handleBlurDefer\n handleBlurDefer()\n}\n\nconst pickerDisabled = computed(() => {\n return props.disabled || form?.disabled\n})\n\nconst parsedValue = computed(() => {\n let dayOrDays: DayOrDays\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n dayOrDays = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (isArray(props.modelValue)) {\n dayOrDays = props.modelValue.map((d) =>\n parseDate(d, props.valueFormat, lang.value)\n ) as [Dayjs, Dayjs]\n } else {\n dayOrDays = parseDate(props.modelValue, props.valueFormat, lang.value)!\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult = pickerOptions.value.getRangeAvailableTime(\n dayOrDays!\n )\n if (!isEqual(availableResult, dayOrDays!)) {\n dayOrDays = availableResult\n emitInput(\n (isArray(dayOrDays)\n ? dayOrDays.map((_) => _.toDate())\n : dayOrDays.toDate()) as SingleOrRange<Date>\n )\n }\n }\n if (isArray(dayOrDays!) && dayOrDays.some((day) => !day)) {\n dayOrDays = [] as unknown as DayOrDays\n }\n return dayOrDays!\n})\n\nconst displayValue = computed<UserInput>(() => {\n if (!pickerOptions.value.panelReady) return ''\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (isArray(userInput.value)) {\n return [\n userInput.value[0] || (formattedValue && formattedValue[0]) || '',\n userInput.value[1] || (formattedValue && formattedValue[1]) || '',\n ]\n } else if (userInput.value !== null) {\n return userInput.value\n }\n if (!isTimePicker.value && valueIsEmpty.value) return ''\n if (!pickerVisible.value && valueIsEmpty.value) return ''\n if (formattedValue) {\n return isDatesPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n})\n\nconst isTimeLikePicker = computed(() => props.type.includes('time'))\n\nconst isTimePicker = computed(() => props.type.startsWith('time'))\n\nconst isDatesPicker = computed(() => props.type === 'dates')\n\nconst triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n)\n\nconst showClose = ref(false)\n\nconst onClearIconClick = (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n focusOnInputBox()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n}\n\nconst valueIsEmpty = computed(() => {\n const { modelValue } = props\n return (\n !modelValue || (isArray(modelValue) && !modelValue.filter(Boolean).length)\n )\n})\n\nconst onMouseDownInput = async (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n pickerVisible.value = true\n }\n}\nconst onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n}\nconst onMouseLeave = () => {\n showClose.value = false\n}\nconst onTouchStartInput = (event: TouchEvent) => {\n if (\n (event.touches[0].target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n pickerVisible.value = true\n }\n}\nconst isRangeInput = computed(() => {\n return props.type.includes('range')\n})\n\nconst pickerSize = useSize()\n\nconst popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\nconst actualInputRef = computed(() => {\n if (unref(isRangeInput)) {\n return unref(inputRef)\n }\n\n return (unref(inputRef) as ComponentPublicInstance)?.$el\n})\n\nonClickOutside(actualInputRef, (e: PointerEvent) => {\n const unrefedPopperEl = unref(popperEl)\n const inputEl = unref(actualInputRef)\n if (\n (unrefedPopperEl &&\n (e.target === unrefedPopperEl ||\n e.composedPath().includes(unrefedPopperEl))) ||\n e.target === inputEl ||\n e.composedPath().includes(inputEl)\n )\n return\n pickerVisible.value = false\n})\n\nconst userInput = ref<UserInput>(null)\n\nconst handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n (isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()) as DateOrDates\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n}\n\nconst parseUserInputToDayjs = (value: UserInput) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput!(value)\n}\n\nconst formatDayjsToString = (value: DayOrDays) => {\n if (!value) return null\n return pickerOptions.value.formatToString!(value)\n}\n\nconst isValidValue = (value: DayOrDays) => {\n return pickerOptions.value.isValidValue!(value)\n}\n\nconst handleKeydownInput = async (event: KeyboardEvent) => {\n if (props.readonly || pickerDisabled.value) return\n\n const { code } = event\n emitKeydown(event)\n if (code === EVENT_CODE.esc) {\n if (pickerVisible.value === true) {\n pickerVisible.value = false\n event.preventDefault()\n event.stopPropagation()\n }\n return\n }\n\n if (code === EVENT_CODE.down) {\n if (pickerOptions.value.handleFocusPicker) {\n event.preventDefault()\n event.stopPropagation()\n }\n if (pickerVisible.value === false) {\n pickerVisible.value = true\n await nextTick()\n }\n if (pickerOptions.value.handleFocusPicker) {\n pickerOptions.value.handleFocusPicker()\n return\n }\n }\n\n if (code === EVENT_CODE.tab) {\n hasJustTabExitedInput = true\n return\n }\n\n if (code === EVENT_CODE.enter || code === EVENT_CODE.numpadEnter) {\n if (\n userInput.value === null ||\n userInput.value === '' ||\n isValidValue(parseUserInputToDayjs(displayValue.value) as DayOrDays)\n ) {\n handleChange()\n pickerVisible.value = false\n }\n event.stopPropagation()\n return\n }\n\n // if user is typing, do not let picker handle key input\n if (userInput.value) {\n event.stopPropagation()\n return\n }\n if (pickerOptions.value.handleKeydownInput) {\n pickerOptions.value.handleKeydownInput(event)\n }\n}\nconst onUserInput = (e: string) => {\n userInput.value = e\n // Temporary fix when the picker is dismissed and the input box\n // is focused, just mimic the behavior of antdesign.\n if (!pickerVisible.value) {\n pickerVisible.value = true\n }\n}\n\nconst handleStartInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [target.value, userInput.value[1]]\n } else {\n userInput.value = [target.value, null]\n }\n}\n\nconst handleEndInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [userInput.value[0], target.value]\n } else {\n userInput.value = [null, target.value]\n }\n}\n\nconst handleStartChange = () => {\n const values = userInput.value as string[]\n const value = parseUserInputToDayjs(values && values[0]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n formatDayjsToString(value) as string,\n displayValue.value?.[1] || null,\n ]\n const newValue = [value, parsedVal && (parsedVal[1] || null)] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n}\n\nconst handleEndChange = () => {\n const values = unref(userInput) as string[]\n const value = parseUserInputToDayjs(values && values[1]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n unref(displayValue)?.[0] || null,\n formatDayjsToString(value) as string,\n ]\n const newValue = [parsedVal && parsedVal[0], value] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n}\n\nconst pickerOptions = ref<Partial<PickerOptions>>({})\nconst onSetPickerOption = <T extends keyof PickerOptions>(\n e: [T, PickerOptions[T]]\n) => {\n pickerOptions.value[e[0]] = e[1]\n pickerOptions.value.panelReady = true\n}\n\nconst onCalendarChange = (e: [Date, false | Date]) => {\n emit('calendar-change', e)\n}\n\nconst onPanelChange = (\n value: [Dayjs, Dayjs],\n mode: 'month' | 'year',\n view: unknown\n) => {\n emit('panel-change', value, mode, view)\n}\n\nprovide('EP_PICKER_BASE', {\n props,\n})\n\ndefineExpose({\n /**\n * @description focus input box.\n */\n focus,\n /**\n * @description emit focus event\n */\n handleFocusInput,\n /**\n * @description emit blur event\n */\n handleBlurInput,\n /**\n * @description opens picker\n */\n handleOpen,\n /**\n * @description closes picker\n */\n handleClose,\n /**\n * @description pick item manually\n */\n onPick,\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"picker.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"refPopper\"\n :visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n role=\"dialog\"\n teleported\n :transition=\"`${nsDate.namespace.value}-zoom-in-top`\"\n :popper-class=\"[`${nsDate.namespace.value}-picker__popper`, popperClass]\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :hide-after=\"0\"\n persistent\n @before-show=\"onBeforeShow\"\n @show=\"onShow\"\n @hide=\"onHide\"\n >\n <template #default>\n <el-input\n v-if=\"!isRangeInput\"\n :id=\"(id as string | undefined)\"\n ref=\"inputRef\"\n container-role=\"combobox\"\n :model-value=\"(displayValue as string)\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n :class=\"[nsDate.b('editor'), nsDate.bm('editor', type), $attrs.class]\"\n :style=\"$attrs.style\"\n :readonly=\"!editable || readonly || isDatesPicker || type === 'week'\"\n :label=\"label\"\n :tabindex=\"tabindex\"\n :validate-event=\"false\"\n @input=\"onUserInput\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n @keydown=\"\n //\n handleKeydownInput as any\n \"\n @change=\"handleChange\"\n @mousedown=\"onMouseDownInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart=\"onTouchStartInput\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"nsInput.e('icon')\"\n @mousedown.prevent=\"onMouseDownInput\"\n @touchstart=\"onTouchStartInput\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n :class=\"`${nsInput.e('icon')} clear-icon`\"\n @click.stop=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n ref=\"inputRef\"\n :class=\"[\n nsDate.b('editor'),\n nsDate.bm('editor', type),\n nsInput.e('wrapper'),\n nsDate.is('disabled', pickerDisabled),\n nsDate.is('active', pickerVisible),\n nsRange.b('editor'),\n pickerSize ? nsRange.bm('editor', pickerSize) : '',\n $attrs.class,\n ]\"\n :style=\"($attrs.style as any)\"\n @click=\"handleFocusInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart=\"onTouchStartInput\"\n @keydown=\"handleKeydownInput\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"[nsInput.e('icon'), nsRange.e('icon')]\"\n @mousedown.prevent=\"onMouseDownInput\"\n @touchstart=\"onTouchStartInput\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n <input\n :id=\"id && id[0]\"\n autocomplete=\"off\"\n :name=\"name && name[0]\"\n :placeholder=\"startPlaceholder\"\n :value=\"displayValue && displayValue[0]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n :class=\"nsRange.b('input')\"\n @mousedown=\"onMouseDownInput\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n />\n <slot name=\"range-separator\">\n <span :class=\"nsRange.b('separator')\">{{ rangeSeparator }}</span>\n </slot>\n <input\n :id=\"id && id[1]\"\n autocomplete=\"off\"\n :name=\"name && name[1]\"\n :placeholder=\"endPlaceholder\"\n :value=\"displayValue && displayValue[1]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n :class=\"nsRange.b('input')\"\n @mousedown=\"onMouseDownInput\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsRange.e('close-icon'),\n {\n [nsRange.e('close-icon--hidden')]: !showClose,\n },\n ]\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </div>\n </template>\n <template #content>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @panel-change=\"onPanelChange\"\n @keydown=\"onKeydownPopperContent\"\n @mousedown.stop\n />\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, inject, nextTick, provide, ref, unref, watch } from 'vue'\nimport { isEqual, isNil } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport {\n useFormItem,\n useLocale,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { debugWarn, isArray } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { Calendar, Clock } from '@element-plus/icons-vue'\nimport { formatter, parseDate, valueEquals } from '../utils'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance } from 'vue'\nimport type { Options } from '@popperjs/core'\nimport type {\n DateModelType,\n DateOrDates,\n DayOrDays,\n PickerOptions,\n SingleOrRange,\n TimePickerDefaultProps,\n UserInput,\n} from './props'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\n// Date object and string\n\ndefineOptions({\n name: 'Picker',\n})\n\nconst props = defineProps(timePickerDefaultProps)\nconst emit = defineEmits([\n 'update:modelValue',\n 'change',\n 'focus',\n 'blur',\n 'calendar-change',\n 'panel-change',\n 'visible-change',\n 'keydown',\n])\n\nconst { lang } = useLocale()\n\nconst nsDate = useNamespace('date')\nconst nsInput = useNamespace('input')\nconst nsRange = useNamespace('range')\n\nconst { form, formItem } = useFormItem()\nconst elPopperOptions = inject('ElPopperOptions', {} as Options)\n\nconst refPopper = ref<TooltipInstance>()\nconst inputRef = ref<HTMLElement | ComponentPublicInstance>()\nconst pickerVisible = ref(false)\nconst pickerActualVisible = ref(false)\nconst valueOnOpen = ref<TimePickerDefaultProps['modelValue'] | null>(null)\n\nlet hasJustTabExitedInput = false\nlet ignoreFocusEvent = false\n\nwatch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n } else {\n valueOnOpen.value = props.modelValue\n }\n})\nconst emitChange = (\n val: TimePickerDefaultProps['modelValue'] | null,\n isClear?: boolean\n) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n emit('change', val)\n props.validateEvent &&\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n}\nconst emitInput = (input: SingleOrRange<DateModelType | Dayjs> | null) => {\n if (!valueEquals(props.modelValue, input)) {\n let formatted\n if (isArray(input)) {\n formatted = input.map((item) =>\n formatter(item, props.valueFormat, lang.value)\n )\n } else if (input) {\n formatted = formatter(input, props.valueFormat, lang.value)\n }\n emit('update:modelValue', input ? formatted : input, lang.value)\n }\n}\nconst emitKeydown = (e: KeyboardEvent) => {\n emit('keydown', e)\n}\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n const _r = isRangeInput.value\n ? inputRef.value\n : (inputRef.value as any as ComponentPublicInstance).$el\n return Array.from<HTMLInputElement>(_r.querySelectorAll('input'))\n }\n return []\n})\n\nconst setSelectionRange = (start: number, end: number, pos?: 'min' | 'max') => {\n const _inputs = refInput.value\n if (!_inputs.length) return\n if (!pos || pos === 'min') {\n _inputs[0].setSelectionRange(start, end)\n _inputs[0].focus()\n } else if (pos === 'max') {\n _inputs[1].setSelectionRange(start, end)\n _inputs[1].focus()\n }\n}\nconst focusOnInputBox = () => {\n focus(true, true)\n nextTick(() => {\n ignoreFocusEvent = false\n })\n}\n\nconst onPick = (date: any = '', visible = false) => {\n if (!visible) {\n focusOnInputBox()\n }\n pickerVisible.value = visible\n let result\n if (isArray(date)) {\n result = date.map((_) => _.toDate())\n } else {\n // clear btn emit null\n result = date ? date.toDate() : date\n }\n userInput.value = null\n emitInput(result)\n}\n\nconst onBeforeShow = () => {\n pickerActualVisible.value = true\n}\n\nconst onShow = () => {\n emit('visible-change', true)\n}\n\nconst onKeydownPopperContent = (event: KeyboardEvent) => {\n if ((event as KeyboardEvent)?.key === EVENT_CODE.esc) {\n focus(true, true)\n }\n}\n\nconst onHide = () => {\n pickerActualVisible.value = false\n ignoreFocusEvent = false\n emit('visible-change', false)\n}\n\nconst handleOpen = () => {\n pickerVisible.value = true\n}\n\nconst handleClose = () => {\n pickerVisible.value = false\n}\n\nconst focus = (focusStartInput = true, isIgnoreFocusEvent = false) => {\n ignoreFocusEvent = isIgnoreFocusEvent\n const [leftInput, rightInput] = unref(refInput)\n let input = leftInput\n if (!focusStartInput && isRangeInput.value) {\n input = rightInput\n }\n if (input) {\n input.focus()\n }\n}\n\nconst handleFocusInput = (e?: FocusEvent) => {\n if (\n props.readonly ||\n pickerDisabled.value ||\n pickerVisible.value ||\n ignoreFocusEvent\n ) {\n return\n }\n pickerVisible.value = isNil(e?.relatedTarget)\n emit('focus', e)\n}\n\nlet currentHandleBlurDeferCallback:\n | (() => Promise<void> | undefined)\n | undefined = undefined\n\n// Check if document.activeElement is inside popper or any input before popper close\nconst handleBlurInput = (e?: FocusEvent) => {\n const handleBlurDefer = async () => {\n setTimeout(() => {\n if (currentHandleBlurDeferCallback === handleBlurDefer) {\n if (\n !(\n refPopper.value?.isFocusInsideContent() && !hasJustTabExitedInput\n ) &&\n refInput.value.filter((input) => {\n return input.contains(document.activeElement)\n }).length === 0\n ) {\n handleChange()\n pickerVisible.value = false\n emit('blur', e)\n props.validateEvent &&\n formItem?.validate('blur').catch((err) => debugWarn(err))\n }\n hasJustTabExitedInput = false\n }\n }, 0)\n }\n currentHandleBlurDeferCallback = handleBlurDefer\n handleBlurDefer()\n}\n\nconst pickerDisabled = computed(() => {\n return props.disabled || form?.disabled\n})\n\nconst parsedValue = computed(() => {\n let dayOrDays: DayOrDays\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n dayOrDays = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (isArray(props.modelValue)) {\n dayOrDays = props.modelValue.map((d) =>\n parseDate(d, props.valueFormat, lang.value)\n ) as [Dayjs, Dayjs]\n } else {\n dayOrDays = parseDate(props.modelValue, props.valueFormat, lang.value)!\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult = pickerOptions.value.getRangeAvailableTime(\n dayOrDays!\n )\n if (!isEqual(availableResult, dayOrDays!)) {\n dayOrDays = availableResult\n emitInput(\n (isArray(dayOrDays)\n ? dayOrDays.map((_) => _.toDate())\n : dayOrDays.toDate()) as SingleOrRange<Date>\n )\n }\n }\n if (isArray(dayOrDays!) && dayOrDays.some((day) => !day)) {\n dayOrDays = [] as unknown as DayOrDays\n }\n return dayOrDays!\n})\n\nconst displayValue = computed<UserInput>(() => {\n if (!pickerOptions.value.panelReady) return ''\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (isArray(userInput.value)) {\n return [\n userInput.value[0] || (formattedValue && formattedValue[0]) || '',\n userInput.value[1] || (formattedValue && formattedValue[1]) || '',\n ]\n } else if (userInput.value !== null) {\n return userInput.value\n }\n if (!isTimePicker.value && valueIsEmpty.value) return ''\n if (!pickerVisible.value && valueIsEmpty.value) return ''\n if (formattedValue) {\n return isDatesPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n})\n\nconst isTimeLikePicker = computed(() => props.type.includes('time'))\n\nconst isTimePicker = computed(() => props.type.startsWith('time'))\n\nconst isDatesPicker = computed(() => props.type === 'dates')\n\nconst triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n)\n\nconst showClose = ref(false)\n\nconst onClearIconClick = (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n focusOnInputBox()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n}\n\nconst valueIsEmpty = computed(() => {\n const { modelValue } = props\n return (\n !modelValue || (isArray(modelValue) && !modelValue.filter(Boolean).length)\n )\n})\n\nconst onMouseDownInput = async (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n pickerVisible.value = true\n }\n}\nconst onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n}\nconst onMouseLeave = () => {\n showClose.value = false\n}\nconst onTouchStartInput = (event: TouchEvent) => {\n if (\n (event.touches[0].target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n pickerVisible.value = true\n }\n}\nconst isRangeInput = computed(() => {\n return props.type.includes('range')\n})\n\nconst pickerSize = useSize()\n\nconst popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\nconst actualInputRef = computed(() => {\n if (unref(isRangeInput)) {\n return unref(inputRef)\n }\n\n return (unref(inputRef) as ComponentPublicInstance)?.$el\n})\n\nonClickOutside(actualInputRef, (e: PointerEvent) => {\n const unrefedPopperEl = unref(popperEl)\n const inputEl = unref(actualInputRef)\n if (\n (unrefedPopperEl &&\n (e.target === unrefedPopperEl ||\n e.composedPath().includes(unrefedPopperEl))) ||\n e.target === inputEl ||\n e.composedPath().includes(inputEl)\n )\n return\n pickerVisible.value = false\n})\n\nconst userInput = ref<UserInput>(null)\n\nconst handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n (isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()) as DateOrDates\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n}\n\nconst parseUserInputToDayjs = (value: UserInput) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput!(value)\n}\n\nconst formatDayjsToString = (value: DayOrDays) => {\n if (!value) return null\n return pickerOptions.value.formatToString!(value)\n}\n\nconst isValidValue = (value: DayOrDays) => {\n return pickerOptions.value.isValidValue!(value)\n}\n\nconst handleKeydownInput = async (event: KeyboardEvent) => {\n if (props.readonly || pickerDisabled.value) return\n\n const { code } = event\n emitKeydown(event)\n if (code === EVENT_CODE.esc) {\n if (pickerVisible.value === true) {\n pickerVisible.value = false\n event.preventDefault()\n event.stopPropagation()\n }\n return\n }\n\n if (code === EVENT_CODE.down) {\n if (pickerOptions.value.handleFocusPicker) {\n event.preventDefault()\n event.stopPropagation()\n }\n if (pickerVisible.value === false) {\n pickerVisible.value = true\n await nextTick()\n }\n if (pickerOptions.value.handleFocusPicker) {\n pickerOptions.value.handleFocusPicker()\n return\n }\n }\n\n if (code === EVENT_CODE.tab) {\n hasJustTabExitedInput = true\n return\n }\n\n if (code === EVENT_CODE.enter || code === EVENT_CODE.numpadEnter) {\n if (\n userInput.value === null ||\n userInput.value === '' ||\n isValidValue(parseUserInputToDayjs(displayValue.value) as DayOrDays)\n ) {\n handleChange()\n pickerVisible.value = false\n }\n event.stopPropagation()\n return\n }\n\n // if user is typing, do not let picker handle key input\n if (userInput.value) {\n event.stopPropagation()\n return\n }\n if (pickerOptions.value.handleKeydownInput) {\n pickerOptions.value.handleKeydownInput(event)\n }\n}\nconst onUserInput = (e: string) => {\n userInput.value = e\n // Temporary fix when the picker is dismissed and the input box\n // is focused, just mimic the behavior of antdesign.\n if (!pickerVisible.value) {\n pickerVisible.value = true\n }\n}\n\nconst handleStartInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [target.value, userInput.value[1]]\n } else {\n userInput.value = [target.value, null]\n }\n}\n\nconst handleEndInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [userInput.value[0], target.value]\n } else {\n userInput.value = [null, target.value]\n }\n}\n\nconst handleStartChange = () => {\n const values = userInput.value as string[]\n const value = parseUserInputToDayjs(values && values[0]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n formatDayjsToString(value) as string,\n displayValue.value?.[1] || null,\n ]\n const newValue = [value, parsedVal && (parsedVal[1] || null)] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n}\n\nconst handleEndChange = () => {\n const values = unref(userInput) as string[]\n const value = parseUserInputToDayjs(values && values[1]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n unref(displayValue)?.[0] || null,\n formatDayjsToString(value) as string,\n ]\n const newValue = [parsedVal && parsedVal[0], value] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n}\n\nconst pickerOptions = ref<Partial<PickerOptions>>({})\nconst onSetPickerOption = <T extends keyof PickerOptions>(\n e: [T, PickerOptions[T]]\n) => {\n pickerOptions.value[e[0]] = e[1]\n pickerOptions.value.panelReady = true\n}\n\nconst onCalendarChange = (e: [Date, false | Date]) => {\n emit('calendar-change', e)\n}\n\nconst onPanelChange = (\n value: [Dayjs, Dayjs],\n mode: 'month' | 'year',\n view: unknown\n) => {\n emit('panel-change', value, mode, view)\n}\n\nprovide('EP_PICKER_BASE', {\n props,\n})\n\ndefineExpose({\n /**\n * @description focus input box.\n */\n focus,\n /**\n * @description emit focus event\n */\n handleFocusInput,\n /**\n * @description emit blur event\n */\n handleBlurInput,\n /**\n * @description opens picker\n */\n handleOpen,\n /**\n * @description closes picker\n */\n handleClose,\n /**\n * @description pick item manually\n */\n onPick,\n})\n</script>\n"],"names":[],"mappings":"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"}
@@ -219,7 +219,7 @@ declare const _Tree: SFCWithInstall<import("vue").DefineComponent<{
219
219
  getCurrentNode: () => import("./src/model/node").default;
220
220
  setCurrentNode: (currentNode: import("./src/model/node").default) => void;
221
221
  setUserCurrentNode: (node: import("./src/model/node").default, shouldAutoExpandParent?: boolean) => void;
222
- setCurrentNodeKey: (key: import("./src/tree.type").TreeKey, shouldAutoExpandParent?: boolean) => void;
222
+ setCurrentNodeKey: (key?: import("./src/tree.type").TreeKey | undefined, shouldAutoExpandParent?: boolean) => void;
223
223
  }>;
224
224
  root: import("vue").Ref<{
225
225
  id: number;
@@ -328,7 +328,7 @@ declare const _Tree: SFCWithInstall<import("vue").DefineComponent<{
328
328
  getHalfCheckedNodes: () => import("./src/tree.type").TreeNodeData[];
329
329
  getHalfCheckedKeys: () => import("./src/tree.type").TreeKey[];
330
330
  setCurrentNode: (node: import("./src/model/node").default, shouldAutoExpandParent?: boolean) => void;
331
- setCurrentKey: (key: import("./src/tree.type").TreeKey, shouldAutoExpandParent?: boolean) => void;
331
+ setCurrentKey: (key?: import("./src/tree.type").TreeKey | undefined, shouldAutoExpandParent?: boolean) => void;
332
332
  t: import("../..").Translator;
333
333
  getNode: (data: import("./src/tree.type").TreeNodeData | import("./src/tree.type").TreeKey) => import("./src/model/node").default;
334
334
  remove: (data: import("./src/model/node").default | import("./src/tree.type").TreeNodeData) => void;
@@ -654,7 +654,7 @@ export declare const ElTree: SFCWithInstall<import("vue").DefineComponent<{
654
654
  getCurrentNode: () => import("./src/model/node").default;
655
655
  setCurrentNode: (currentNode: import("./src/model/node").default) => void;
656
656
  setUserCurrentNode: (node: import("./src/model/node").default, shouldAutoExpandParent?: boolean) => void;
657
- setCurrentNodeKey: (key: import("./src/tree.type").TreeKey, shouldAutoExpandParent?: boolean) => void;
657
+ setCurrentNodeKey: (key?: import("./src/tree.type").TreeKey | undefined, shouldAutoExpandParent?: boolean) => void;
658
658
  }>;
659
659
  root: import("vue").Ref<{
660
660
  id: number;
@@ -763,7 +763,7 @@ export declare const ElTree: SFCWithInstall<import("vue").DefineComponent<{
763
763
  getHalfCheckedNodes: () => import("./src/tree.type").TreeNodeData[];
764
764
  getHalfCheckedKeys: () => import("./src/tree.type").TreeKey[];
765
765
  setCurrentNode: (node: import("./src/model/node").default, shouldAutoExpandParent?: boolean) => void;
766
- setCurrentKey: (key: import("./src/tree.type").TreeKey, shouldAutoExpandParent?: boolean) => void;
766
+ setCurrentKey: (key?: import("./src/tree.type").TreeKey | undefined, shouldAutoExpandParent?: boolean) => void;
767
767
  t: import("../..").Translator;
768
768
  getNode: (data: import("./src/tree.type").TreeNodeData | import("./src/tree.type").TreeKey) => import("./src/model/node").default;
769
769
  remove: (data: import("./src/model/node").default | import("./src/tree.type").TreeNodeData) => void;
@@ -47,5 +47,5 @@ export default class TreeStore {
47
47
  getCurrentNode(): Node;
48
48
  setCurrentNode(currentNode: Node): void;
49
49
  setUserCurrentNode(node: Node, shouldAutoExpandParent?: boolean): void;
50
- setCurrentNodeKey(key: TreeKey, shouldAutoExpandParent?: boolean): void;
50
+ setCurrentNodeKey(key?: TreeKey, shouldAutoExpandParent?: boolean): void;
51
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tree-store.mjs","sources":["../../../../../../../packages/components/tree/src/model/tree-store.ts"],"sourcesContent":["// @ts-nocheck\nimport { hasOwn, isObject } from '@element-plus/utils'\nimport Node from './node'\nimport { getNodeKey } from './util'\n\nimport type {\n FilterNodeMethodFunction,\n FilterValue,\n LoadFunction,\n TreeData,\n TreeKey,\n TreeNodeData,\n TreeOptionProps,\n TreeStoreNodesMap,\n TreeStoreOptions,\n} from '../tree.type'\n\nexport default class TreeStore {\n currentNode: Node\n currentNodeKey: TreeKey\n nodesMap: TreeStoreNodesMap\n root: Node\n data: TreeData\n lazy: boolean\n load: LoadFunction\n filterNodeMethod: FilterNodeMethodFunction\n key: TreeKey\n defaultCheckedKeys: TreeKey[]\n checkStrictly: boolean\n defaultExpandedKeys: TreeKey[]\n autoExpandParent: boolean\n defaultExpandAll: boolean\n checkDescendants: boolean\n props: TreeOptionProps\n\n constructor(options: TreeStoreOptions) {\n this.currentNode = null\n this.currentNodeKey = null\n\n for (const option in options) {\n if (hasOwn(options, option)) {\n this[option] = options[option]\n }\n }\n\n this.nodesMap = {}\n }\n\n initialize() {\n this.root = new Node({\n data: this.data,\n store: this,\n })\n this.root.initialize()\n\n if (this.lazy && this.load) {\n const loadFn = this.load\n loadFn(this.root, (data) => {\n this.root.doCreateChildren(data)\n this._initDefaultCheckedNodes()\n })\n } else {\n this._initDefaultCheckedNodes()\n }\n }\n\n filter(value: FilterValue): void {\n const filterNodeMethod = this.filterNodeMethod\n const lazy = this.lazy\n const traverse = function (node: TreeStore | Node) {\n const childNodes = (node as TreeStore).root\n ? (node as TreeStore).root.childNodes\n : (node as Node).childNodes\n\n childNodes.forEach((child) => {\n child.visible = filterNodeMethod.call(child, value, child.data, child)\n\n traverse(child)\n })\n\n if (!(node as Node).visible && childNodes.length) {\n let allHidden = true\n allHidden = !childNodes.some((child) => child.visible)\n\n if ((node as TreeStore).root) {\n ;(node as TreeStore).root.visible = allHidden === false\n } else {\n ;(node as Node).visible = allHidden === false\n }\n }\n if (!value) return\n\n if ((node as Node).visible && !(node as Node).isLeaf && !lazy)\n (node as Node).expand()\n }\n\n traverse(this)\n }\n\n setData(newVal: TreeData): void {\n const instanceChanged = newVal !== this.root.data\n if (instanceChanged) {\n this.root.setData(newVal)\n this._initDefaultCheckedNodes()\n } else {\n this.root.updateChildren()\n }\n }\n\n getNode(data: TreeKey | TreeNodeData): Node {\n if (data instanceof Node) return data\n const key = isObject(data) ? getNodeKey(this.key, data) : data\n return this.nodesMap[key] || null\n }\n\n insertBefore(data: TreeNodeData, refData: TreeKey | TreeNodeData): void {\n const refNode = this.getNode(refData)\n refNode.parent.insertBefore({ data }, refNode)\n }\n\n insertAfter(data: TreeNodeData, refData: TreeKey | TreeNodeData): void {\n const refNode = this.getNode(refData)\n refNode.parent.insertAfter({ data }, refNode)\n }\n\n remove(data: TreeNodeData | Node): void {\n const node = this.getNode(data)\n\n if (node && node.parent) {\n if (node === this.currentNode) {\n this.currentNode = null\n }\n node.parent.removeChild(node)\n }\n }\n\n append(data: TreeNodeData, parentData: TreeNodeData | TreeKey | Node): void {\n const parentNode = parentData ? this.getNode(parentData) : this.root\n\n if (parentNode) {\n parentNode.insertChild({ data })\n }\n }\n\n _initDefaultCheckedNodes(): void {\n const defaultCheckedKeys = this.defaultCheckedKeys || []\n const nodesMap = this.nodesMap\n\n defaultCheckedKeys.forEach((checkedKey) => {\n const node = nodesMap[checkedKey]\n\n if (node) {\n node.setChecked(true, !this.checkStrictly)\n }\n })\n }\n\n _initDefaultCheckedNode(node: Node): void {\n const defaultCheckedKeys = this.defaultCheckedKeys || []\n\n if (defaultCheckedKeys.includes(node.key)) {\n node.setChecked(true, !this.checkStrictly)\n }\n }\n\n setDefaultCheckedKey(newVal: TreeKey[]): void {\n if (newVal !== this.defaultCheckedKeys) {\n this.defaultCheckedKeys = newVal\n this._initDefaultCheckedNodes()\n }\n }\n\n registerNode(node: Node): void {\n const key = this.key\n if (!node || !node.data) return\n\n if (!key) {\n this.nodesMap[node.id] = node\n } else {\n const nodeKey = node.key\n if (nodeKey !== undefined) this.nodesMap[node.key] = node\n }\n }\n\n deregisterNode(node: Node): void {\n const key = this.key\n if (!key || !node || !node.data) return\n\n node.childNodes.forEach((child) => {\n this.deregisterNode(child)\n })\n\n delete this.nodesMap[node.key]\n }\n\n getCheckedNodes(\n leafOnly = false,\n includeHalfChecked = false\n ): TreeNodeData[] {\n const checkedNodes: TreeNodeData[] = []\n const traverse = function (node: TreeStore | Node) {\n const childNodes = (node as TreeStore).root\n ? (node as TreeStore).root.childNodes\n : (node as Node).childNodes\n\n childNodes.forEach((child) => {\n if (\n (child.checked || (includeHalfChecked && child.indeterminate)) &&\n (!leafOnly || (leafOnly && child.isLeaf))\n ) {\n checkedNodes.push(child.data)\n }\n\n traverse(child)\n })\n }\n\n traverse(this)\n\n return checkedNodes\n }\n\n getCheckedKeys(leafOnly = false): TreeKey[] {\n return this.getCheckedNodes(leafOnly).map((data) => (data || {})[this.key])\n }\n\n getHalfCheckedNodes(): TreeNodeData[] {\n const nodes: TreeNodeData[] = []\n const traverse = function (node: TreeStore | Node) {\n const childNodes = (node as TreeStore).root\n ? (node as TreeStore).root.childNodes\n : (node as Node).childNodes\n\n childNodes.forEach((child) => {\n if (child.indeterminate) {\n nodes.push(child.data)\n }\n\n traverse(child)\n })\n }\n\n traverse(this)\n\n return nodes\n }\n\n getHalfCheckedKeys(): TreeKey[] {\n return this.getHalfCheckedNodes().map((data) => (data || {})[this.key])\n }\n\n _getAllNodes(): Node[] {\n const allNodes: Node[] = []\n const nodesMap = this.nodesMap\n for (const nodeKey in nodesMap) {\n if (hasOwn(nodesMap, nodeKey)) {\n allNodes.push(nodesMap[nodeKey])\n }\n }\n\n return allNodes\n }\n\n updateChildren(key: TreeKey, data: TreeData): void {\n const node = this.nodesMap[key]\n if (!node) return\n const childNodes = node.childNodes\n for (let i = childNodes.length - 1; i >= 0; i--) {\n const child = childNodes[i]\n this.remove(child.data)\n }\n for (let i = 0, j = data.length; i < j; i++) {\n const child = data[i]\n this.append(child, node.data)\n }\n }\n\n _setCheckedKeys(\n key: TreeKey,\n leafOnly = false,\n checkedKeys: { [key: string]: boolean }\n ): void {\n const allNodes = this._getAllNodes().sort((a, b) => b.level - a.level)\n const cache = Object.create(null)\n const keys = Object.keys(checkedKeys)\n allNodes.forEach((node) => node.setChecked(false, false))\n for (let i = 0, j = allNodes.length; i < j; i++) {\n const node = allNodes[i]\n const nodeKey = node.data[key].toString()\n const checked = keys.includes(nodeKey)\n if (!checked) {\n if (node.checked && !cache[nodeKey]) {\n node.setChecked(false, false)\n }\n continue\n }\n\n let parent = node.parent\n while (parent && parent.level > 0) {\n cache[parent.data[key]] = true\n parent = parent.parent\n }\n\n if (node.isLeaf || this.checkStrictly) {\n node.setChecked(true, false)\n continue\n }\n node.setChecked(true, true)\n\n if (leafOnly) {\n node.setChecked(false, false)\n const traverse = function (node: Node): void {\n const childNodes = node.childNodes\n childNodes.forEach((child) => {\n if (!child.isLeaf) {\n child.setChecked(false, false)\n }\n traverse(child)\n })\n }\n traverse(node)\n }\n }\n }\n\n setCheckedNodes(array: Node[], leafOnly = false): void {\n const key = this.key\n const checkedKeys = {}\n array.forEach((item) => {\n checkedKeys[(item || {})[key]] = true\n })\n\n this._setCheckedKeys(key, leafOnly, checkedKeys)\n }\n\n setCheckedKeys(keys: TreeKey[], leafOnly = false): void {\n this.defaultCheckedKeys = keys\n const key = this.key\n const checkedKeys = {}\n keys.forEach((key) => {\n checkedKeys[key] = true\n })\n\n this._setCheckedKeys(key, leafOnly, checkedKeys)\n }\n\n setDefaultExpandedKeys(keys: TreeKey[]) {\n keys = keys || []\n this.defaultExpandedKeys = keys\n keys.forEach((key) => {\n const node = this.getNode(key)\n if (node) node.expand(null, this.autoExpandParent)\n })\n }\n\n setChecked(\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ): void {\n const node = this.getNode(data)\n\n if (node) {\n node.setChecked(!!checked, deep)\n }\n }\n\n getCurrentNode(): Node {\n return this.currentNode\n }\n\n setCurrentNode(currentNode: Node): void {\n const prevCurrentNode = this.currentNode\n if (prevCurrentNode) {\n prevCurrentNode.isCurrent = false\n }\n this.currentNode = currentNode\n this.currentNode.isCurrent = true\n }\n\n setUserCurrentNode(node: Node, shouldAutoExpandParent = true): void {\n const key = node[this.key]\n const currNode = this.nodesMap[key]\n this.setCurrentNode(currNode)\n if (shouldAutoExpandParent && this.currentNode.level > 1) {\n this.currentNode.parent.expand(null, true)\n }\n }\n\n setCurrentNodeKey(key: TreeKey, shouldAutoExpandParent = true): void {\n if (key === null || key === undefined) {\n this.currentNode && (this.currentNode.isCurrent = false)\n this.currentNode = null\n return\n }\n const node = this.getNode(key)\n if (node) {\n this.setCurrentNode(node)\n if (shouldAutoExpandParent && this.currentNode.level > 1) {\n this.currentNode.parent.expand(null, true)\n }\n }\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tree-store.mjs","sources":["../../../../../../../packages/components/tree/src/model/tree-store.ts"],"sourcesContent":["// @ts-nocheck\nimport { hasOwn, isObject } from '@element-plus/utils'\nimport Node from './node'\nimport { getNodeKey } from './util'\n\nimport type {\n FilterNodeMethodFunction,\n FilterValue,\n LoadFunction,\n TreeData,\n TreeKey,\n TreeNodeData,\n TreeOptionProps,\n TreeStoreNodesMap,\n TreeStoreOptions,\n} from '../tree.type'\n\nexport default class TreeStore {\n currentNode: Node\n currentNodeKey: TreeKey\n nodesMap: TreeStoreNodesMap\n root: Node\n data: TreeData\n lazy: boolean\n load: LoadFunction\n filterNodeMethod: FilterNodeMethodFunction\n key: TreeKey\n defaultCheckedKeys: TreeKey[]\n checkStrictly: boolean\n defaultExpandedKeys: TreeKey[]\n autoExpandParent: boolean\n defaultExpandAll: boolean\n checkDescendants: boolean\n props: TreeOptionProps\n\n constructor(options: TreeStoreOptions) {\n this.currentNode = null\n this.currentNodeKey = null\n\n for (const option in options) {\n if (hasOwn(options, option)) {\n this[option] = options[option]\n }\n }\n\n this.nodesMap = {}\n }\n\n initialize() {\n this.root = new Node({\n data: this.data,\n store: this,\n })\n this.root.initialize()\n\n if (this.lazy && this.load) {\n const loadFn = this.load\n loadFn(this.root, (data) => {\n this.root.doCreateChildren(data)\n this._initDefaultCheckedNodes()\n })\n } else {\n this._initDefaultCheckedNodes()\n }\n }\n\n filter(value: FilterValue): void {\n const filterNodeMethod = this.filterNodeMethod\n const lazy = this.lazy\n const traverse = function (node: TreeStore | Node) {\n const childNodes = (node as TreeStore).root\n ? (node as TreeStore).root.childNodes\n : (node as Node).childNodes\n\n childNodes.forEach((child) => {\n child.visible = filterNodeMethod.call(child, value, child.data, child)\n\n traverse(child)\n })\n\n if (!(node as Node).visible && childNodes.length) {\n let allHidden = true\n allHidden = !childNodes.some((child) => child.visible)\n\n if ((node as TreeStore).root) {\n ;(node as TreeStore).root.visible = allHidden === false\n } else {\n ;(node as Node).visible = allHidden === false\n }\n }\n if (!value) return\n\n if ((node as Node).visible && !(node as Node).isLeaf && !lazy)\n (node as Node).expand()\n }\n\n traverse(this)\n }\n\n setData(newVal: TreeData): void {\n const instanceChanged = newVal !== this.root.data\n if (instanceChanged) {\n this.root.setData(newVal)\n this._initDefaultCheckedNodes()\n } else {\n this.root.updateChildren()\n }\n }\n\n getNode(data: TreeKey | TreeNodeData): Node {\n if (data instanceof Node) return data\n const key = isObject(data) ? getNodeKey(this.key, data) : data\n return this.nodesMap[key] || null\n }\n\n insertBefore(data: TreeNodeData, refData: TreeKey | TreeNodeData): void {\n const refNode = this.getNode(refData)\n refNode.parent.insertBefore({ data }, refNode)\n }\n\n insertAfter(data: TreeNodeData, refData: TreeKey | TreeNodeData): void {\n const refNode = this.getNode(refData)\n refNode.parent.insertAfter({ data }, refNode)\n }\n\n remove(data: TreeNodeData | Node): void {\n const node = this.getNode(data)\n\n if (node && node.parent) {\n if (node === this.currentNode) {\n this.currentNode = null\n }\n node.parent.removeChild(node)\n }\n }\n\n append(data: TreeNodeData, parentData: TreeNodeData | TreeKey | Node): void {\n const parentNode = parentData ? this.getNode(parentData) : this.root\n\n if (parentNode) {\n parentNode.insertChild({ data })\n }\n }\n\n _initDefaultCheckedNodes(): void {\n const defaultCheckedKeys = this.defaultCheckedKeys || []\n const nodesMap = this.nodesMap\n\n defaultCheckedKeys.forEach((checkedKey) => {\n const node = nodesMap[checkedKey]\n\n if (node) {\n node.setChecked(true, !this.checkStrictly)\n }\n })\n }\n\n _initDefaultCheckedNode(node: Node): void {\n const defaultCheckedKeys = this.defaultCheckedKeys || []\n\n if (defaultCheckedKeys.includes(node.key)) {\n node.setChecked(true, !this.checkStrictly)\n }\n }\n\n setDefaultCheckedKey(newVal: TreeKey[]): void {\n if (newVal !== this.defaultCheckedKeys) {\n this.defaultCheckedKeys = newVal\n this._initDefaultCheckedNodes()\n }\n }\n\n registerNode(node: Node): void {\n const key = this.key\n if (!node || !node.data) return\n\n if (!key) {\n this.nodesMap[node.id] = node\n } else {\n const nodeKey = node.key\n if (nodeKey !== undefined) this.nodesMap[node.key] = node\n }\n }\n\n deregisterNode(node: Node): void {\n const key = this.key\n if (!key || !node || !node.data) return\n\n node.childNodes.forEach((child) => {\n this.deregisterNode(child)\n })\n\n delete this.nodesMap[node.key]\n }\n\n getCheckedNodes(\n leafOnly = false,\n includeHalfChecked = false\n ): TreeNodeData[] {\n const checkedNodes: TreeNodeData[] = []\n const traverse = function (node: TreeStore | Node) {\n const childNodes = (node as TreeStore).root\n ? (node as TreeStore).root.childNodes\n : (node as Node).childNodes\n\n childNodes.forEach((child) => {\n if (\n (child.checked || (includeHalfChecked && child.indeterminate)) &&\n (!leafOnly || (leafOnly && child.isLeaf))\n ) {\n checkedNodes.push(child.data)\n }\n\n traverse(child)\n })\n }\n\n traverse(this)\n\n return checkedNodes\n }\n\n getCheckedKeys(leafOnly = false): TreeKey[] {\n return this.getCheckedNodes(leafOnly).map((data) => (data || {})[this.key])\n }\n\n getHalfCheckedNodes(): TreeNodeData[] {\n const nodes: TreeNodeData[] = []\n const traverse = function (node: TreeStore | Node) {\n const childNodes = (node as TreeStore).root\n ? (node as TreeStore).root.childNodes\n : (node as Node).childNodes\n\n childNodes.forEach((child) => {\n if (child.indeterminate) {\n nodes.push(child.data)\n }\n\n traverse(child)\n })\n }\n\n traverse(this)\n\n return nodes\n }\n\n getHalfCheckedKeys(): TreeKey[] {\n return this.getHalfCheckedNodes().map((data) => (data || {})[this.key])\n }\n\n _getAllNodes(): Node[] {\n const allNodes: Node[] = []\n const nodesMap = this.nodesMap\n for (const nodeKey in nodesMap) {\n if (hasOwn(nodesMap, nodeKey)) {\n allNodes.push(nodesMap[nodeKey])\n }\n }\n\n return allNodes\n }\n\n updateChildren(key: TreeKey, data: TreeData): void {\n const node = this.nodesMap[key]\n if (!node) return\n const childNodes = node.childNodes\n for (let i = childNodes.length - 1; i >= 0; i--) {\n const child = childNodes[i]\n this.remove(child.data)\n }\n for (let i = 0, j = data.length; i < j; i++) {\n const child = data[i]\n this.append(child, node.data)\n }\n }\n\n _setCheckedKeys(\n key: TreeKey,\n leafOnly = false,\n checkedKeys: { [key: string]: boolean }\n ): void {\n const allNodes = this._getAllNodes().sort((a, b) => b.level - a.level)\n const cache = Object.create(null)\n const keys = Object.keys(checkedKeys)\n allNodes.forEach((node) => node.setChecked(false, false))\n for (let i = 0, j = allNodes.length; i < j; i++) {\n const node = allNodes[i]\n const nodeKey = node.data[key].toString()\n const checked = keys.includes(nodeKey)\n if (!checked) {\n if (node.checked && !cache[nodeKey]) {\n node.setChecked(false, false)\n }\n continue\n }\n\n let parent = node.parent\n while (parent && parent.level > 0) {\n cache[parent.data[key]] = true\n parent = parent.parent\n }\n\n if (node.isLeaf || this.checkStrictly) {\n node.setChecked(true, false)\n continue\n }\n node.setChecked(true, true)\n\n if (leafOnly) {\n node.setChecked(false, false)\n const traverse = function (node: Node): void {\n const childNodes = node.childNodes\n childNodes.forEach((child) => {\n if (!child.isLeaf) {\n child.setChecked(false, false)\n }\n traverse(child)\n })\n }\n traverse(node)\n }\n }\n }\n\n setCheckedNodes(array: Node[], leafOnly = false): void {\n const key = this.key\n const checkedKeys = {}\n array.forEach((item) => {\n checkedKeys[(item || {})[key]] = true\n })\n\n this._setCheckedKeys(key, leafOnly, checkedKeys)\n }\n\n setCheckedKeys(keys: TreeKey[], leafOnly = false): void {\n this.defaultCheckedKeys = keys\n const key = this.key\n const checkedKeys = {}\n keys.forEach((key) => {\n checkedKeys[key] = true\n })\n\n this._setCheckedKeys(key, leafOnly, checkedKeys)\n }\n\n setDefaultExpandedKeys(keys: TreeKey[]) {\n keys = keys || []\n this.defaultExpandedKeys = keys\n keys.forEach((key) => {\n const node = this.getNode(key)\n if (node) node.expand(null, this.autoExpandParent)\n })\n }\n\n setChecked(\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ): void {\n const node = this.getNode(data)\n\n if (node) {\n node.setChecked(!!checked, deep)\n }\n }\n\n getCurrentNode(): Node {\n return this.currentNode\n }\n\n setCurrentNode(currentNode: Node): void {\n const prevCurrentNode = this.currentNode\n if (prevCurrentNode) {\n prevCurrentNode.isCurrent = false\n }\n this.currentNode = currentNode\n this.currentNode.isCurrent = true\n }\n\n setUserCurrentNode(node: Node, shouldAutoExpandParent = true): void {\n const key = node[this.key]\n const currNode = this.nodesMap[key]\n this.setCurrentNode(currNode)\n if (shouldAutoExpandParent && this.currentNode.level > 1) {\n this.currentNode.parent.expand(null, true)\n }\n }\n\n setCurrentNodeKey(key?: TreeKey, shouldAutoExpandParent = true): void {\n if (key === null || key === undefined) {\n this.currentNode && (this.currentNode.isCurrent = false)\n this.currentNode = null\n return\n }\n const node = this.getNode(key)\n if (node) {\n this.setCurrentNode(node)\n if (shouldAutoExpandParent && this.currentNode.level > 1) {\n this.currentNode.parent.expand(null, true)\n }\n }\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tree.mjs","sources":["../../../../../../packages/components/tree/src/tree.vue"],"sourcesContent":["<template>\n <div\n ref=\"el$\"\n :class=\"[\n ns.b(),\n ns.is('dragging', !!dragState.draggingNode),\n ns.is('drop-not-allow', !dragState.allowDrop),\n ns.is('drop-inner', dragState.dropType === 'inner'),\n { [ns.m('highlight-current')]: highlightCurrent },\n ]\"\n role=\"tree\"\n >\n <el-tree-node\n v-for=\"child in root.childNodes\"\n :key=\"getNodeKey(child)\"\n :node=\"child\"\n :props=\"props\"\n :accordion=\"accordion\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :render-content=\"renderContent\"\n @node-expand=\"handleNodeExpand\"\n />\n <div v-if=\"isEmpty\" :class=\"ns.e('empty-block')\">\n <span :class=\"ns.e('empty-text')\">{{\n emptyText ?? t('el.tree.emptyText')\n }}</span>\n </div>\n <div\n v-show=\"dragState.showDropIndicator\"\n ref=\"dropIndicator$\"\n :class=\"ns.e('drop-indicator')\"\n />\n </div>\n</template>\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n provide,\n ref,\n watch,\n} from 'vue'\nimport { iconPropType } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { formItemContextKey } from '@element-plus/tokens'\nimport TreeStore from './model/tree-store'\nimport { getNodeKey as getNodeKeyUtil, handleCurrentChange } from './model/util'\nimport ElTreeNode from './tree-node.vue'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { useDragNodeHandler } from './model/useDragNode'\nimport { useKeydown } from './model/useKeydown'\nimport type Node from './model/node'\n\nimport type { ComponentInternalInstance, PropType } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type {\n TreeComponentProps,\n TreeData,\n TreeKey,\n TreeNodeData,\n} from './tree.type'\n\nexport default defineComponent({\n name: 'ElTree',\n components: { ElTreeNode },\n props: {\n data: {\n type: Array,\n default: () => [],\n },\n emptyText: {\n type: String,\n },\n renderAfterExpand: {\n type: Boolean,\n default: true,\n },\n nodeKey: String,\n checkStrictly: Boolean,\n defaultExpandAll: Boolean,\n expandOnClickNode: {\n type: Boolean,\n default: true,\n },\n checkOnClickNode: Boolean,\n checkDescendants: {\n type: Boolean,\n default: false,\n },\n autoExpandParent: {\n type: Boolean,\n default: true,\n },\n defaultCheckedKeys: Array as PropType<\n TreeComponentProps['defaultCheckedKeys']\n >,\n defaultExpandedKeys: Array as PropType<\n TreeComponentProps['defaultExpandedKeys']\n >,\n currentNodeKey: [String, Number] as PropType<string | number>,\n renderContent: Function,\n showCheckbox: {\n type: Boolean,\n default: false,\n },\n draggable: {\n type: Boolean,\n default: false,\n },\n allowDrag: Function,\n allowDrop: Function,\n props: {\n type: Object as PropType<TreeComponentProps['props']>,\n default: () => ({\n children: 'children',\n label: 'label',\n disabled: 'disabled',\n }),\n },\n lazy: {\n type: Boolean,\n default: false,\n },\n highlightCurrent: Boolean,\n load: Function as PropType<TreeComponentProps['load']>,\n filterNodeMethod: Function as PropType<\n TreeComponentProps['filterNodeMethod']\n >,\n accordion: Boolean,\n indent: {\n type: Number,\n default: 18,\n },\n icon: {\n type: iconPropType,\n },\n },\n emits: [\n 'check-change',\n 'current-change',\n 'node-click',\n 'node-contextmenu',\n 'node-collapse',\n 'node-expand',\n 'check',\n 'node-drag-start',\n 'node-drag-end',\n 'node-drop',\n 'node-drag-leave',\n 'node-drag-enter',\n 'node-drag-over',\n ],\n setup(props, ctx) {\n const { t } = useLocale()\n const ns = useNamespace('tree')\n\n const store = ref<TreeStore>(\n new TreeStore({\n key: props.nodeKey,\n data: props.data,\n lazy: props.lazy,\n props: props.props,\n load: props.load,\n currentNodeKey: props.currentNodeKey,\n checkStrictly: props.checkStrictly,\n checkDescendants: props.checkDescendants,\n defaultCheckedKeys: props.defaultCheckedKeys,\n defaultExpandedKeys: props.defaultExpandedKeys,\n autoExpandParent: props.autoExpandParent,\n defaultExpandAll: props.defaultExpandAll,\n filterNodeMethod: props.filterNodeMethod,\n })\n )\n\n store.value.initialize()\n\n const root = ref<Node>(store.value.root)\n const currentNode = ref<Node>(null)\n const el$ = ref<Nullable<HTMLElement>>(null)\n const dropIndicator$ = ref<Nullable<HTMLElement>>(null)\n\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n\n const { dragState } = useDragNodeHandler({\n props,\n ctx,\n el$,\n dropIndicator$,\n store,\n })\n\n useKeydown({ el$ }, store)\n\n const isEmpty = computed(() => {\n const { childNodes } = root.value\n return (\n !childNodes ||\n childNodes.length === 0 ||\n childNodes.every(({ visible }) => !visible)\n )\n })\n\n watch(\n () => props.currentNodeKey,\n (newVal) => {\n store.value.setCurrentNodeKey(newVal)\n }\n )\n\n watch(\n () => props.defaultCheckedKeys,\n (newVal) => {\n store.value.setDefaultCheckedKey(newVal)\n }\n )\n\n watch(\n () => props.defaultExpandedKeys,\n (newVal) => {\n store.value.setDefaultExpandedKeys(newVal)\n }\n )\n\n watch(\n () => props.data,\n (newVal) => {\n store.value.setData(newVal)\n },\n { deep: true }\n )\n\n watch(\n () => props.checkStrictly,\n (newVal) => {\n store.value.checkStrictly = newVal\n }\n )\n\n const filter = (value) => {\n if (!props.filterNodeMethod)\n throw new Error('[Tree] filterNodeMethod is required when filter')\n store.value.filter(value)\n }\n\n const getNodeKey = (node: Node) => {\n return getNodeKeyUtil(props.nodeKey, node.data)\n }\n\n const getNodePath = (data: TreeKey | TreeNodeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getNodePath')\n const node = store.value.getNode(data)\n if (!node) return []\n const path = [node.data]\n let parent = node.parent\n while (parent && parent !== root.value) {\n path.push(parent.data)\n parent = parent.parent\n }\n return path.reverse()\n }\n\n const getCheckedNodes = (\n leafOnly?: boolean,\n includeHalfChecked?: boolean\n ): TreeNodeData[] => {\n return store.value.getCheckedNodes(leafOnly, includeHalfChecked)\n }\n\n const getCheckedKeys = (leafOnly?: boolean): TreeKey[] => {\n return store.value.getCheckedKeys(leafOnly)\n }\n\n const getCurrentNode = (): TreeNodeData => {\n const currentNode = store.value.getCurrentNode()\n return currentNode ? currentNode.data : null\n }\n\n const getCurrentKey = (): any => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getCurrentKey')\n const currentNode = getCurrentNode()\n return currentNode ? currentNode[props.nodeKey] : null\n }\n\n const setCheckedNodes = (nodes: Node[], leafOnly?: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedNodes')\n store.value.setCheckedNodes(nodes, leafOnly)\n }\n\n const setCheckedKeys = (keys, leafOnly?: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedKeys')\n store.value.setCheckedKeys(keys, leafOnly)\n }\n\n const setChecked = (\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ) => {\n store.value.setChecked(data, checked, deep)\n }\n\n const getHalfCheckedNodes = (): TreeNodeData[] => {\n return store.value.getHalfCheckedNodes()\n }\n\n const getHalfCheckedKeys = (): TreeKey[] => {\n return store.value.getHalfCheckedKeys()\n }\n\n const setCurrentNode = (node: Node, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentNode')\n\n handleCurrentChange(store, ctx.emit, () =>\n store.value.setUserCurrentNode(node, shouldAutoExpandParent)\n )\n }\n\n const setCurrentKey = (key: TreeKey, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentKey')\n\n handleCurrentChange(store, ctx.emit, () =>\n store.value.setCurrentNodeKey(key, shouldAutoExpandParent)\n )\n }\n\n const getNode = (data: TreeKey | TreeNodeData): Node => {\n return store.value.getNode(data)\n }\n\n const remove = (data: TreeNodeData | Node) => {\n store.value.remove(data)\n }\n\n const append = (\n data: TreeNodeData,\n parentNode: TreeNodeData | TreeKey | Node\n ) => {\n store.value.append(data, parentNode)\n }\n\n const insertBefore = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertBefore(data, refNode)\n }\n\n const insertAfter = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertAfter(data, refNode)\n }\n\n const handleNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const updateKeyChildren = (key: TreeKey, data: TreeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in updateKeyChild')\n store.value.updateChildren(key, data)\n }\n\n provide('RootTree', {\n ctx,\n props,\n store,\n root,\n currentNode,\n instance: getCurrentInstance(),\n } as any)\n\n provide(formItemContextKey, undefined)\n\n return {\n ns,\n // ref\n store,\n root,\n currentNode,\n dragState,\n el$,\n dropIndicator$,\n\n // computed\n isEmpty,\n\n // methods\n filter,\n getNodeKey,\n getNodePath,\n getCheckedNodes,\n getCheckedKeys,\n getCurrentNode,\n getCurrentKey,\n setCheckedNodes,\n setCheckedKeys,\n setChecked,\n getHalfCheckedNodes,\n getHalfCheckedKeys,\n setCurrentNode,\n setCurrentKey,\n t,\n getNode,\n remove,\n append,\n insertBefore,\n insertAfter,\n handleNodeExpand,\n updateKeyChildren,\n }\n },\n})\n</script>\n"],"names":["getNodeKey","getNodeKeyUtil","_resolveComponent","_openBlock","_createElementBlock","_Fragment","_renderList","_normalizeClass","_createElementVNode","_toDisplayString","_withDirectives","_vShow"],"mappings":"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"}
1
+ {"version":3,"file":"tree.mjs","sources":["../../../../../../packages/components/tree/src/tree.vue"],"sourcesContent":["<template>\n <div\n ref=\"el$\"\n :class=\"[\n ns.b(),\n ns.is('dragging', !!dragState.draggingNode),\n ns.is('drop-not-allow', !dragState.allowDrop),\n ns.is('drop-inner', dragState.dropType === 'inner'),\n { [ns.m('highlight-current')]: highlightCurrent },\n ]\"\n role=\"tree\"\n >\n <el-tree-node\n v-for=\"child in root.childNodes\"\n :key=\"getNodeKey(child)\"\n :node=\"child\"\n :props=\"props\"\n :accordion=\"accordion\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :render-content=\"renderContent\"\n @node-expand=\"handleNodeExpand\"\n />\n <div v-if=\"isEmpty\" :class=\"ns.e('empty-block')\">\n <span :class=\"ns.e('empty-text')\">{{\n emptyText ?? t('el.tree.emptyText')\n }}</span>\n </div>\n <div\n v-show=\"dragState.showDropIndicator\"\n ref=\"dropIndicator$\"\n :class=\"ns.e('drop-indicator')\"\n />\n </div>\n</template>\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n provide,\n ref,\n watch,\n} from 'vue'\nimport { iconPropType } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { formItemContextKey } from '@element-plus/tokens'\nimport TreeStore from './model/tree-store'\nimport { getNodeKey as getNodeKeyUtil, handleCurrentChange } from './model/util'\nimport ElTreeNode from './tree-node.vue'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { useDragNodeHandler } from './model/useDragNode'\nimport { useKeydown } from './model/useKeydown'\nimport type Node from './model/node'\n\nimport type { ComponentInternalInstance, PropType } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type {\n TreeComponentProps,\n TreeData,\n TreeKey,\n TreeNodeData,\n} from './tree.type'\n\nexport default defineComponent({\n name: 'ElTree',\n components: { ElTreeNode },\n props: {\n data: {\n type: Array,\n default: () => [],\n },\n emptyText: {\n type: String,\n },\n renderAfterExpand: {\n type: Boolean,\n default: true,\n },\n nodeKey: String,\n checkStrictly: Boolean,\n defaultExpandAll: Boolean,\n expandOnClickNode: {\n type: Boolean,\n default: true,\n },\n checkOnClickNode: Boolean,\n checkDescendants: {\n type: Boolean,\n default: false,\n },\n autoExpandParent: {\n type: Boolean,\n default: true,\n },\n defaultCheckedKeys: Array as PropType<\n TreeComponentProps['defaultCheckedKeys']\n >,\n defaultExpandedKeys: Array as PropType<\n TreeComponentProps['defaultExpandedKeys']\n >,\n currentNodeKey: [String, Number] as PropType<string | number>,\n renderContent: Function,\n showCheckbox: {\n type: Boolean,\n default: false,\n },\n draggable: {\n type: Boolean,\n default: false,\n },\n allowDrag: Function,\n allowDrop: Function,\n props: {\n type: Object as PropType<TreeComponentProps['props']>,\n default: () => ({\n children: 'children',\n label: 'label',\n disabled: 'disabled',\n }),\n },\n lazy: {\n type: Boolean,\n default: false,\n },\n highlightCurrent: Boolean,\n load: Function as PropType<TreeComponentProps['load']>,\n filterNodeMethod: Function as PropType<\n TreeComponentProps['filterNodeMethod']\n >,\n accordion: Boolean,\n indent: {\n type: Number,\n default: 18,\n },\n icon: {\n type: iconPropType,\n },\n },\n emits: [\n 'check-change',\n 'current-change',\n 'node-click',\n 'node-contextmenu',\n 'node-collapse',\n 'node-expand',\n 'check',\n 'node-drag-start',\n 'node-drag-end',\n 'node-drop',\n 'node-drag-leave',\n 'node-drag-enter',\n 'node-drag-over',\n ],\n setup(props, ctx) {\n const { t } = useLocale()\n const ns = useNamespace('tree')\n\n const store = ref<TreeStore>(\n new TreeStore({\n key: props.nodeKey,\n data: props.data,\n lazy: props.lazy,\n props: props.props,\n load: props.load,\n currentNodeKey: props.currentNodeKey,\n checkStrictly: props.checkStrictly,\n checkDescendants: props.checkDescendants,\n defaultCheckedKeys: props.defaultCheckedKeys,\n defaultExpandedKeys: props.defaultExpandedKeys,\n autoExpandParent: props.autoExpandParent,\n defaultExpandAll: props.defaultExpandAll,\n filterNodeMethod: props.filterNodeMethod,\n })\n )\n\n store.value.initialize()\n\n const root = ref<Node>(store.value.root)\n const currentNode = ref<Node>(null)\n const el$ = ref<Nullable<HTMLElement>>(null)\n const dropIndicator$ = ref<Nullable<HTMLElement>>(null)\n\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n\n const { dragState } = useDragNodeHandler({\n props,\n ctx,\n el$,\n dropIndicator$,\n store,\n })\n\n useKeydown({ el$ }, store)\n\n const isEmpty = computed(() => {\n const { childNodes } = root.value\n return (\n !childNodes ||\n childNodes.length === 0 ||\n childNodes.every(({ visible }) => !visible)\n )\n })\n\n watch(\n () => props.currentNodeKey,\n (newVal) => {\n store.value.setCurrentNodeKey(newVal)\n }\n )\n\n watch(\n () => props.defaultCheckedKeys,\n (newVal) => {\n store.value.setDefaultCheckedKey(newVal)\n }\n )\n\n watch(\n () => props.defaultExpandedKeys,\n (newVal) => {\n store.value.setDefaultExpandedKeys(newVal)\n }\n )\n\n watch(\n () => props.data,\n (newVal) => {\n store.value.setData(newVal)\n },\n { deep: true }\n )\n\n watch(\n () => props.checkStrictly,\n (newVal) => {\n store.value.checkStrictly = newVal\n }\n )\n\n const filter = (value) => {\n if (!props.filterNodeMethod)\n throw new Error('[Tree] filterNodeMethod is required when filter')\n store.value.filter(value)\n }\n\n const getNodeKey = (node: Node) => {\n return getNodeKeyUtil(props.nodeKey, node.data)\n }\n\n const getNodePath = (data: TreeKey | TreeNodeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getNodePath')\n const node = store.value.getNode(data)\n if (!node) return []\n const path = [node.data]\n let parent = node.parent\n while (parent && parent !== root.value) {\n path.push(parent.data)\n parent = parent.parent\n }\n return path.reverse()\n }\n\n const getCheckedNodes = (\n leafOnly?: boolean,\n includeHalfChecked?: boolean\n ): TreeNodeData[] => {\n return store.value.getCheckedNodes(leafOnly, includeHalfChecked)\n }\n\n const getCheckedKeys = (leafOnly?: boolean): TreeKey[] => {\n return store.value.getCheckedKeys(leafOnly)\n }\n\n const getCurrentNode = (): TreeNodeData => {\n const currentNode = store.value.getCurrentNode()\n return currentNode ? currentNode.data : null\n }\n\n const getCurrentKey = (): any => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getCurrentKey')\n const currentNode = getCurrentNode()\n return currentNode ? currentNode[props.nodeKey] : null\n }\n\n const setCheckedNodes = (nodes: Node[], leafOnly?: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedNodes')\n store.value.setCheckedNodes(nodes, leafOnly)\n }\n\n const setCheckedKeys = (keys, leafOnly?: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedKeys')\n store.value.setCheckedKeys(keys, leafOnly)\n }\n\n const setChecked = (\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ) => {\n store.value.setChecked(data, checked, deep)\n }\n\n const getHalfCheckedNodes = (): TreeNodeData[] => {\n return store.value.getHalfCheckedNodes()\n }\n\n const getHalfCheckedKeys = (): TreeKey[] => {\n return store.value.getHalfCheckedKeys()\n }\n\n const setCurrentNode = (node: Node, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentNode')\n\n handleCurrentChange(store, ctx.emit, () =>\n store.value.setUserCurrentNode(node, shouldAutoExpandParent)\n )\n }\n\n const setCurrentKey = (key?: TreeKey, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentKey')\n\n handleCurrentChange(store, ctx.emit, () =>\n store.value.setCurrentNodeKey(key, shouldAutoExpandParent)\n )\n }\n\n const getNode = (data: TreeKey | TreeNodeData): Node => {\n return store.value.getNode(data)\n }\n\n const remove = (data: TreeNodeData | Node) => {\n store.value.remove(data)\n }\n\n const append = (\n data: TreeNodeData,\n parentNode: TreeNodeData | TreeKey | Node\n ) => {\n store.value.append(data, parentNode)\n }\n\n const insertBefore = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertBefore(data, refNode)\n }\n\n const insertAfter = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData\n ) => {\n store.value.insertAfter(data, refNode)\n }\n\n const handleNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const updateKeyChildren = (key: TreeKey, data: TreeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in updateKeyChild')\n store.value.updateChildren(key, data)\n }\n\n provide('RootTree', {\n ctx,\n props,\n store,\n root,\n currentNode,\n instance: getCurrentInstance(),\n } as any)\n\n provide(formItemContextKey, undefined)\n\n return {\n ns,\n // ref\n store,\n root,\n currentNode,\n dragState,\n el$,\n dropIndicator$,\n\n // computed\n isEmpty,\n\n // methods\n filter,\n getNodeKey,\n getNodePath,\n getCheckedNodes,\n getCheckedKeys,\n getCurrentNode,\n getCurrentKey,\n setCheckedNodes,\n setCheckedKeys,\n setChecked,\n getHalfCheckedNodes,\n getHalfCheckedKeys,\n setCurrentNode,\n setCurrentKey,\n t,\n getNode,\n remove,\n append,\n insertBefore,\n insertAfter,\n handleNodeExpand,\n updateKeyChildren,\n }\n },\n})\n</script>\n"],"names":["getNodeKey","getNodeKeyUtil","_resolveComponent","_openBlock","_createElementBlock","_Fragment","_renderList","_normalizeClass","_createElementVNode","_toDisplayString","_withDirectives","_vShow"],"mappings":"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"}
@@ -222,7 +222,7 @@ declare const _default: import("vue").DefineComponent<{
222
222
  getCurrentNode: () => Node;
223
223
  setCurrentNode: (currentNode: Node) => void;
224
224
  setUserCurrentNode: (node: Node, shouldAutoExpandParent?: boolean) => void;
225
- setCurrentNodeKey: (key: TreeKey, shouldAutoExpandParent?: boolean) => void;
225
+ setCurrentNodeKey: (key?: TreeKey | undefined, shouldAutoExpandParent?: boolean) => void;
226
226
  }>;
227
227
  root: import("vue").Ref<{
228
228
  id: number;
@@ -331,7 +331,7 @@ declare const _default: import("vue").DefineComponent<{
331
331
  getHalfCheckedNodes: () => TreeNodeData[];
332
332
  getHalfCheckedKeys: () => TreeKey[];
333
333
  setCurrentNode: (node: Node, shouldAutoExpandParent?: boolean) => void;
334
- setCurrentKey: (key: TreeKey, shouldAutoExpandParent?: boolean) => void;
334
+ setCurrentKey: (key?: TreeKey | undefined, shouldAutoExpandParent?: boolean) => void;
335
335
  t: import("element-plus/es/hooks").Translator;
336
336
  getNode: (data: TreeKey | TreeNodeData) => Node;
337
337
  remove: (data: TreeNodeData | Node) => void;