element-plus 2.2.31 → 2.2.32

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 (272) hide show
  1. package/dist/index.full.js +28 -15
  2. package/dist/index.full.min.js +12 -12
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +15 -15
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +28 -15
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar.js +1 -1
  12. package/dist/locale/ar.min.js +1 -1
  13. package/dist/locale/ar.min.mjs +1 -1
  14. package/dist/locale/ar.mjs +1 -1
  15. package/dist/locale/az.js +1 -1
  16. package/dist/locale/az.min.js +1 -1
  17. package/dist/locale/az.min.mjs +1 -1
  18. package/dist/locale/az.mjs +1 -1
  19. package/dist/locale/bg.js +1 -1
  20. package/dist/locale/bg.min.js +1 -1
  21. package/dist/locale/bg.min.mjs +1 -1
  22. package/dist/locale/bg.mjs +1 -1
  23. package/dist/locale/bn.js +1 -1
  24. package/dist/locale/bn.min.js +1 -1
  25. package/dist/locale/bn.min.mjs +1 -1
  26. package/dist/locale/bn.mjs +1 -1
  27. package/dist/locale/ca.js +1 -1
  28. package/dist/locale/ca.min.js +1 -1
  29. package/dist/locale/ca.min.mjs +1 -1
  30. package/dist/locale/ca.mjs +1 -1
  31. package/dist/locale/ckb.js +1 -1
  32. package/dist/locale/ckb.min.js +1 -1
  33. package/dist/locale/ckb.min.mjs +1 -1
  34. package/dist/locale/ckb.mjs +1 -1
  35. package/dist/locale/cs.js +1 -1
  36. package/dist/locale/cs.min.js +1 -1
  37. package/dist/locale/cs.min.mjs +1 -1
  38. package/dist/locale/cs.mjs +1 -1
  39. package/dist/locale/da.js +1 -1
  40. package/dist/locale/da.min.js +1 -1
  41. package/dist/locale/da.min.mjs +1 -1
  42. package/dist/locale/da.mjs +1 -1
  43. package/dist/locale/de.js +1 -1
  44. package/dist/locale/de.min.js +1 -1
  45. package/dist/locale/de.min.mjs +1 -1
  46. package/dist/locale/de.mjs +1 -1
  47. package/dist/locale/el.js +1 -1
  48. package/dist/locale/el.min.js +1 -1
  49. package/dist/locale/el.min.mjs +1 -1
  50. package/dist/locale/el.mjs +1 -1
  51. package/dist/locale/en.js +1 -1
  52. package/dist/locale/en.min.js +1 -1
  53. package/dist/locale/en.min.mjs +1 -1
  54. package/dist/locale/en.mjs +1 -1
  55. package/dist/locale/eo.js +1 -1
  56. package/dist/locale/eo.min.js +1 -1
  57. package/dist/locale/eo.min.mjs +1 -1
  58. package/dist/locale/eo.mjs +1 -1
  59. package/dist/locale/es.js +1 -1
  60. package/dist/locale/es.min.js +1 -1
  61. package/dist/locale/es.min.mjs +1 -1
  62. package/dist/locale/es.mjs +1 -1
  63. package/dist/locale/et.js +1 -1
  64. package/dist/locale/et.min.js +1 -1
  65. package/dist/locale/et.min.mjs +1 -1
  66. package/dist/locale/et.mjs +1 -1
  67. package/dist/locale/eu.js +1 -1
  68. package/dist/locale/eu.min.js +1 -1
  69. package/dist/locale/eu.min.mjs +1 -1
  70. package/dist/locale/eu.mjs +1 -1
  71. package/dist/locale/fa.js +1 -1
  72. package/dist/locale/fa.min.js +1 -1
  73. package/dist/locale/fa.min.mjs +1 -1
  74. package/dist/locale/fa.mjs +1 -1
  75. package/dist/locale/fi.js +1 -1
  76. package/dist/locale/fi.min.js +1 -1
  77. package/dist/locale/fi.min.mjs +1 -1
  78. package/dist/locale/fi.mjs +1 -1
  79. package/dist/locale/fr.js +1 -1
  80. package/dist/locale/fr.min.js +1 -1
  81. package/dist/locale/fr.min.mjs +1 -1
  82. package/dist/locale/fr.mjs +1 -1
  83. package/dist/locale/he.js +1 -1
  84. package/dist/locale/he.min.js +1 -1
  85. package/dist/locale/he.min.mjs +1 -1
  86. package/dist/locale/he.mjs +1 -1
  87. package/dist/locale/hr.js +1 -1
  88. package/dist/locale/hr.min.js +1 -1
  89. package/dist/locale/hr.min.mjs +1 -1
  90. package/dist/locale/hr.mjs +1 -1
  91. package/dist/locale/hu.js +1 -1
  92. package/dist/locale/hu.min.js +1 -1
  93. package/dist/locale/hu.min.mjs +1 -1
  94. package/dist/locale/hu.mjs +1 -1
  95. package/dist/locale/hy-am.js +1 -1
  96. package/dist/locale/hy-am.min.js +1 -1
  97. package/dist/locale/hy-am.min.mjs +1 -1
  98. package/dist/locale/hy-am.mjs +1 -1
  99. package/dist/locale/id.js +1 -1
  100. package/dist/locale/id.min.js +1 -1
  101. package/dist/locale/id.min.mjs +1 -1
  102. package/dist/locale/id.mjs +1 -1
  103. package/dist/locale/it.js +1 -1
  104. package/dist/locale/it.min.js +1 -1
  105. package/dist/locale/it.min.mjs +1 -1
  106. package/dist/locale/it.mjs +1 -1
  107. package/dist/locale/ja.js +1 -1
  108. package/dist/locale/ja.min.js +1 -1
  109. package/dist/locale/ja.min.mjs +1 -1
  110. package/dist/locale/ja.mjs +1 -1
  111. package/dist/locale/kk.js +1 -1
  112. package/dist/locale/kk.min.js +1 -1
  113. package/dist/locale/kk.min.mjs +1 -1
  114. package/dist/locale/kk.mjs +1 -1
  115. package/dist/locale/km.js +1 -1
  116. package/dist/locale/km.min.js +1 -1
  117. package/dist/locale/km.min.mjs +1 -1
  118. package/dist/locale/km.mjs +1 -1
  119. package/dist/locale/ko.js +1 -1
  120. package/dist/locale/ko.min.js +1 -1
  121. package/dist/locale/ko.min.mjs +1 -1
  122. package/dist/locale/ko.mjs +1 -1
  123. package/dist/locale/ku.js +1 -1
  124. package/dist/locale/ku.min.js +1 -1
  125. package/dist/locale/ku.min.mjs +1 -1
  126. package/dist/locale/ku.mjs +1 -1
  127. package/dist/locale/ky.js +1 -1
  128. package/dist/locale/ky.min.js +1 -1
  129. package/dist/locale/ky.min.mjs +1 -1
  130. package/dist/locale/ky.mjs +1 -1
  131. package/dist/locale/lt.js +1 -1
  132. package/dist/locale/lt.min.js +1 -1
  133. package/dist/locale/lt.min.mjs +1 -1
  134. package/dist/locale/lt.mjs +1 -1
  135. package/dist/locale/lv.js +1 -1
  136. package/dist/locale/lv.min.js +1 -1
  137. package/dist/locale/lv.min.mjs +1 -1
  138. package/dist/locale/lv.mjs +1 -1
  139. package/dist/locale/mg.js +1 -1
  140. package/dist/locale/mg.min.js +1 -1
  141. package/dist/locale/mg.min.mjs +1 -1
  142. package/dist/locale/mg.mjs +1 -1
  143. package/dist/locale/mn.js +1 -1
  144. package/dist/locale/mn.min.js +1 -1
  145. package/dist/locale/mn.min.mjs +1 -1
  146. package/dist/locale/mn.mjs +1 -1
  147. package/dist/locale/nb-no.js +1 -1
  148. package/dist/locale/nb-no.min.js +1 -1
  149. package/dist/locale/nb-no.min.mjs +1 -1
  150. package/dist/locale/nb-no.mjs +1 -1
  151. package/dist/locale/nl.js +1 -1
  152. package/dist/locale/nl.min.js +1 -1
  153. package/dist/locale/nl.min.mjs +1 -1
  154. package/dist/locale/nl.mjs +1 -1
  155. package/dist/locale/pa.js +1 -1
  156. package/dist/locale/pa.min.js +1 -1
  157. package/dist/locale/pa.min.mjs +1 -1
  158. package/dist/locale/pa.mjs +1 -1
  159. package/dist/locale/pl.js +1 -1
  160. package/dist/locale/pl.min.js +1 -1
  161. package/dist/locale/pl.min.mjs +1 -1
  162. package/dist/locale/pl.mjs +1 -1
  163. package/dist/locale/pt-br.js +1 -1
  164. package/dist/locale/pt-br.min.js +1 -1
  165. package/dist/locale/pt-br.min.mjs +1 -1
  166. package/dist/locale/pt-br.mjs +1 -1
  167. package/dist/locale/pt.js +1 -1
  168. package/dist/locale/pt.min.js +1 -1
  169. package/dist/locale/pt.min.mjs +1 -1
  170. package/dist/locale/pt.mjs +1 -1
  171. package/dist/locale/ro.js +1 -1
  172. package/dist/locale/ro.min.js +1 -1
  173. package/dist/locale/ro.min.mjs +1 -1
  174. package/dist/locale/ro.mjs +1 -1
  175. package/dist/locale/ru.js +1 -1
  176. package/dist/locale/ru.min.js +1 -1
  177. package/dist/locale/ru.min.mjs +1 -1
  178. package/dist/locale/ru.mjs +1 -1
  179. package/dist/locale/sk.js +1 -1
  180. package/dist/locale/sk.min.js +1 -1
  181. package/dist/locale/sk.min.mjs +1 -1
  182. package/dist/locale/sk.mjs +1 -1
  183. package/dist/locale/sl.js +1 -1
  184. package/dist/locale/sl.min.js +1 -1
  185. package/dist/locale/sl.min.mjs +1 -1
  186. package/dist/locale/sl.mjs +1 -1
  187. package/dist/locale/sr.js +1 -1
  188. package/dist/locale/sr.min.js +1 -1
  189. package/dist/locale/sr.min.mjs +1 -1
  190. package/dist/locale/sr.mjs +1 -1
  191. package/dist/locale/sv.js +1 -1
  192. package/dist/locale/sv.min.js +1 -1
  193. package/dist/locale/sv.min.mjs +1 -1
  194. package/dist/locale/sv.mjs +1 -1
  195. package/dist/locale/ta.js +1 -1
  196. package/dist/locale/ta.min.js +1 -1
  197. package/dist/locale/ta.min.mjs +1 -1
  198. package/dist/locale/ta.mjs +1 -1
  199. package/dist/locale/th.js +1 -1
  200. package/dist/locale/th.min.js +1 -1
  201. package/dist/locale/th.min.mjs +1 -1
  202. package/dist/locale/th.mjs +1 -1
  203. package/dist/locale/tk.js +1 -1
  204. package/dist/locale/tk.min.js +1 -1
  205. package/dist/locale/tk.min.mjs +1 -1
  206. package/dist/locale/tk.mjs +1 -1
  207. package/dist/locale/tr.js +1 -1
  208. package/dist/locale/tr.min.js +1 -1
  209. package/dist/locale/tr.min.mjs +1 -1
  210. package/dist/locale/tr.mjs +1 -1
  211. package/dist/locale/ug-cn.js +1 -1
  212. package/dist/locale/ug-cn.min.js +1 -1
  213. package/dist/locale/ug-cn.min.mjs +1 -1
  214. package/dist/locale/ug-cn.mjs +1 -1
  215. package/dist/locale/uk.js +1 -1
  216. package/dist/locale/uk.min.js +1 -1
  217. package/dist/locale/uk.min.mjs +1 -1
  218. package/dist/locale/uk.mjs +1 -1
  219. package/dist/locale/uz-uz.js +1 -1
  220. package/dist/locale/uz-uz.min.js +1 -1
  221. package/dist/locale/uz-uz.min.mjs +1 -1
  222. package/dist/locale/uz-uz.mjs +1 -1
  223. package/dist/locale/vi.js +1 -1
  224. package/dist/locale/vi.min.js +1 -1
  225. package/dist/locale/vi.min.mjs +1 -1
  226. package/dist/locale/vi.mjs +1 -1
  227. package/dist/locale/zh-cn.js +1 -1
  228. package/dist/locale/zh-cn.min.js +1 -1
  229. package/dist/locale/zh-cn.min.mjs +1 -1
  230. package/dist/locale/zh-cn.mjs +1 -1
  231. package/dist/locale/zh-tw.js +1 -1
  232. package/dist/locale/zh-tw.min.js +1 -1
  233. package/dist/locale/zh-tw.min.mjs +1 -1
  234. package/dist/locale/zh-tw.mjs +1 -1
  235. package/es/components/cascader/index.d.ts +4 -0
  236. package/es/components/cascader/src/cascader.vue.d.ts +2 -0
  237. package/es/components/cascader/src/cascader2.mjs +16 -3
  238. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  239. package/es/components/dropdown/src/dropdown2.mjs +10 -10
  240. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  241. package/es/components/index.mjs +1 -1
  242. package/es/components/radio/index.mjs +2 -2
  243. package/es/components/radio/src/radio-group.mjs +68 -36
  244. package/es/components/radio/src/radio-group.mjs.map +1 -1
  245. package/es/components/radio/src/radio-group2.mjs +36 -68
  246. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  247. package/es/components/table/src/table-layout.mjs +1 -1
  248. package/es/components/table/src/table-layout.mjs.map +1 -1
  249. package/es/index.mjs +1 -1
  250. package/es/version.d.ts +1 -1
  251. package/es/version.mjs +1 -1
  252. package/es/version.mjs.map +1 -1
  253. package/lib/components/cascader/index.d.ts +4 -0
  254. package/lib/components/cascader/src/cascader.vue.d.ts +2 -0
  255. package/lib/components/cascader/src/cascader2.js +16 -3
  256. package/lib/components/cascader/src/cascader2.js.map +1 -1
  257. package/lib/components/dropdown/src/dropdown2.js +9 -9
  258. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  259. package/lib/components/index.js +1 -1
  260. package/lib/components/radio/index.js +2 -2
  261. package/lib/components/radio/src/radio-group.js +68 -37
  262. package/lib/components/radio/src/radio-group.js.map +1 -1
  263. package/lib/components/radio/src/radio-group2.js +37 -68
  264. package/lib/components/radio/src/radio-group2.js.map +1 -1
  265. package/lib/components/table/src/table-layout.js +1 -1
  266. package/lib/components/table/src/table-layout.js.map +1 -1
  267. package/lib/index.js +1 -1
  268. package/lib/version.d.ts +1 -1
  269. package/lib/version.js +1 -1
  270. package/lib/version.js.map +1 -1
  271. package/package.json +2 -2
  272. package/web-types.json +1 -1
@@ -74,6 +74,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
74
74
  const popperVisible = vue.ref(false);
75
75
  const inputHover = vue.ref(false);
76
76
  const filtering = vue.ref(false);
77
+ const filterFocus = vue.ref(false);
77
78
  const inputValue = vue.ref("");
78
79
  const searchInputValue = vue.ref("");
79
80
  const presentTags = vue.ref([]);
@@ -136,6 +137,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
136
137
  nsCascader.is("reverse", popperVisible.value)
137
138
  ];
138
139
  });
140
+ const inputClass = vue.computed(() => {
141
+ return nsCascader.is("focus", popperVisible.value || filterFocus.value);
142
+ });
139
143
  const togglePopperVisible = (visible) => {
140
144
  var _a, _b, _c;
141
145
  if (isDisabled.value)
@@ -353,9 +357,15 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
353
357
  }
354
358
  };
355
359
  const handleFocus = (e) => {
360
+ const el = e.target;
361
+ const name = nsCascader.e("search-input");
362
+ if (el.className === name) {
363
+ filterFocus.value = true;
364
+ }
356
365
  emit("focus", e);
357
366
  };
358
367
  const handleBlur = (e) => {
368
+ filterFocus.value = false;
359
369
  emit("blur", e);
360
370
  };
361
371
  const handleFilter = lodashUnified.debounce(() => {
@@ -439,7 +449,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
439
449
  disabled: vue.unref(isDisabled),
440
450
  "validate-event": false,
441
451
  size: vue.unref(realSize),
442
- class: vue.normalizeClass(vue.unref(nsCascader).is("focus", popperVisible.value)),
452
+ class: vue.normalizeClass(vue.unref(inputClass)),
453
+ tabindex: vue.unref(multiple) && _ctx.filterable && !vue.unref(isDisabled) ? -1 : void 0,
443
454
  onCompositionstart: handleComposition,
444
455
  onCompositionupdate: handleComposition,
445
456
  onCompositionend: handleComposition,
@@ -469,7 +480,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
469
480
  }, 8, ["class"]))
470
481
  ]),
471
482
  _: 1
472
- }, 8, ["modelValue", "placeholder", "readonly", "disabled", "size", "class"]),
483
+ }, 8, ["modelValue", "placeholder", "readonly", "disabled", "size", "class", "tabindex"]),
473
484
  vue.unref(multiple) ? (vue.openBlock(), vue.createElementBlock("div", {
474
485
  key: 0,
475
486
  ref_key: "tagWrapper",
@@ -542,7 +553,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
542
553
  onKeydown: vue.withKeys(handleDelete, ["delete"]),
543
554
  onCompositionstart: handleComposition,
544
555
  onCompositionupdate: handleComposition,
545
- onCompositionend: handleComposition
556
+ onCompositionend: handleComposition,
557
+ onFocus: handleFocus,
558
+ onBlur: handleBlur
546
559
  }, null, 42, _hoisted_2)), [
547
560
  [vue.vModelText, searchInputValue.value]
548
561
  ]) : vue.createCommentVNode("v-if", true)
@@ -1 +1 @@
1
- {"version":3,"file":"cascader2.js","sources":["../../../../../../packages/components/cascader/src/cascader.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"popperVisible\"\n :teleported=\"teleported\"\n :popper-class=\"[nsCascader.e('dropdown'), popperClass]\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"[\n 'bottom-start',\n 'bottom',\n 'top-start',\n 'top',\n 'right',\n 'left',\n ]\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n placement=\"bottom-start\"\n :transition=\"`${nsCascader.namespace.value}-zoom-in-top`\"\n effect=\"light\"\n pure\n persistent\n @hide=\"hideSuggestionPanel\"\n >\n <template #default>\n <div\n v-clickoutside:[cascaderPanelRef]=\"() => togglePopperVisible(false)\"\n :class=\"cascaderKls\"\n :style=\"cascaderStyle\"\n @click=\"() => togglePopperVisible(readonly ? undefined : true)\"\n @keydown=\"handleKeyDown\"\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n <el-input\n ref=\"input\"\n v-model=\"inputValue\"\n :placeholder=\"currentPlaceholder\"\n :readonly=\"readonly\"\n :disabled=\"isDisabled\"\n :validate-event=\"false\"\n :size=\"realSize\"\n :class=\"nsCascader.is('focus', popperVisible)\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @input=\"handleInput\"\n >\n <template #suffix>\n <el-icon\n v-if=\"clearBtnVisible\"\n key=\"clear\"\n :class=\"[nsInput.e('icon'), 'icon-circle-close']\"\n @click.stop=\"handleClear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-else\n key=\"arrow-down\"\n :class=\"cascaderIconKls\"\n @click.stop=\"togglePopperVisible()\"\n >\n <arrow-down />\n </el-icon>\n </template>\n </el-input>\n\n <div v-if=\"multiple\" ref=\"tagWrapper\" :class=\"nsCascader.e('tags')\">\n <el-tag\n v-for=\"tag in presentTags\"\n :key=\"tag.key\"\n :type=\"tagType\"\n :size=\"tagSize\"\n :hit=\"tag.hitState\"\n :closable=\"tag.closable\"\n disable-transitions\n @close=\"deleteTag(tag)\"\n >\n <template v-if=\"tag.isCollapseTag === false\">\n <span>{{ tag.text }}</span>\n </template>\n <template v-else>\n <el-tooltip\n :disabled=\"popperVisible || !collapseTagsTooltip\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n placement=\"bottom\"\n effect=\"light\"\n >\n <template #default>\n <span>{{ tag.text }}</span>\n </template>\n <template #content>\n <div :class=\"nsCascader.e('collapse-tags')\">\n <div\n v-for=\"(tag2, idx) in allPresentTags.slice(1)\"\n :key=\"idx\"\n :class=\"nsCascader.e('collapse-tag')\"\n >\n <el-tag\n :key=\"tag2.key\"\n class=\"in-tooltip\"\n :type=\"tagType\"\n :size=\"tagSize\"\n :hit=\"tag2.hitState\"\n :closable=\"tag2.closable\"\n disable-transitions\n @close=\"deleteTag(tag2)\"\n >\n <span>{{ tag2.text }}</span>\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n </template>\n </el-tag>\n <input\n v-if=\"filterable && !isDisabled\"\n v-model=\"searchInputValue\"\n type=\"text\"\n :class=\"nsCascader.e('search-input')\"\n :placeholder=\"presentText ? '' : inputPlaceholder\"\n @input=\"(e) => handleInput(searchInputValue, e as KeyboardEvent)\"\n @click.stop=\"togglePopperVisible(true)\"\n @keydown.delete=\"handleDelete\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n />\n </div>\n </div>\n </template>\n\n <template #content>\n <el-cascader-panel\n v-show=\"!filtering\"\n ref=\"panel\"\n v-model=\"checkedValue\"\n :options=\"options\"\n :props=\"props.props\"\n :border=\"false\"\n :render-label=\"$slots.default\"\n @expand-change=\"handleExpandChange\"\n @close=\"$nextTick(() => togglePopperVisible(false))\"\n />\n <el-scrollbar\n v-if=\"filterable\"\n v-show=\"filtering\"\n ref=\"suggestionPanel\"\n tag=\"ul\"\n :class=\"nsCascader.e('suggestion-panel')\"\n :view-class=\"nsCascader.e('suggestion-list')\"\n @keydown=\"handleSuggestionKeyDown\"\n >\n <template v-if=\"suggestions.length\">\n <li\n v-for=\"item in suggestions\"\n :key=\"item.uid\"\n :class=\"[\n nsCascader.e('suggestion-item'),\n nsCascader.is('checked', item.checked),\n ]\"\n :tabindex=\"-1\"\n @click=\"handleSuggestionClick(item)\"\n >\n <span>{{ item.text }}</span>\n <el-icon v-if=\"item.checked\">\n <check />\n </el-icon>\n </li>\n </template>\n <slot v-else name=\"empty\">\n <li :class=\"nsCascader.e('empty-text')\">\n {{ t('el.cascader.noMatch') }}\n </li>\n </slot>\n </el-scrollbar>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, onMounted, ref, useAttrs, watch } from 'vue'\nimport { isPromise } from '@vue/shared'\nimport { cloneDeep, debounce } from 'lodash-unified'\nimport { isClient, useCssVar, useResizeObserver } from '@vueuse/core'\nimport ElCascaderPanel from '@element-plus/components/cascader-panel'\nimport ElInput from '@element-plus/components/input'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { ClickOutside as vClickoutside } from '@element-plus/directives'\nimport {\n useFormItem,\n useLocale,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport { debugWarn, focusNode, getSibling, isKorean } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { ArrowDown, Check, CircleClose } from '@element-plus/icons-vue'\nimport { cascaderEmits, cascaderProps } from './cascader'\nimport type { Options } from '@element-plus/components/popper'\nimport type { ComputedRef, Ref, StyleValue } from 'vue'\nimport type {\n CascaderNode,\n CascaderValue,\n Tag,\n} from '@element-plus/components/cascader-panel'\ntype cascaderPanelType = InstanceType<typeof ElCascaderPanel>\ntype tooltipType = InstanceType<typeof ElTooltip>\ntype inputType = InstanceType<typeof ElInput>\ntype suggestionPanelType = InstanceType<typeof ElScrollbar>\nconst popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'arrowPosition',\n enabled: true,\n phase: 'main',\n fn: ({ state }) => {\n const { modifiersData, placement } = state as any\n if (['right', 'left', 'bottom', 'top'].includes(placement)) return\n modifiersData.arrow.x = 35\n },\n requires: ['arrow'],\n },\n ],\n}\nconst COMPONENT_NAME = 'ElCascader'\n\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(cascaderProps)\nconst emit = defineEmits(cascaderEmits)\nconst attrs = useAttrs()\n\nlet inputInitialHeight = 0\nlet pressDeleteCount = 0\n\nconst nsCascader = useNamespace('cascader')\nconst nsInput = useNamespace('input')\n\nconst { t } = useLocale()\nconst { form, formItem } = useFormItem()\n\nconst tooltipRef: Ref<tooltipType | null> = ref(null)\nconst input: Ref<inputType | null> = ref(null)\nconst tagWrapper = ref(null)\nconst panel: Ref<cascaderPanelType | null> = ref(null)\nconst suggestionPanel: Ref<suggestionPanelType | null> = ref(null)\nconst popperVisible = ref(false)\nconst inputHover = ref(false)\nconst filtering = ref(false)\nconst inputValue = ref('')\nconst searchInputValue = ref('')\nconst presentTags: Ref<Tag[]> = ref([])\nconst allPresentTags: Ref<Tag[]> = ref([])\nconst suggestions: Ref<CascaderNode[]> = ref([])\nconst isOnComposition = ref(false)\n\nconst cascaderStyle = computed<StyleValue>(() => {\n return attrs.style as StyleValue\n})\n\nconst isDisabled = computed(() => props.disabled || form?.disabled)\nconst inputPlaceholder = computed(\n () => props.placeholder || t('el.cascader.placeholder')\n)\nconst currentPlaceholder = computed(() =>\n searchInputValue.value ||\n presentTags.value.length > 0 ||\n isOnComposition.value\n ? ''\n : inputPlaceholder.value\n)\nconst realSize = useSize()\nconst tagSize = computed(() =>\n ['small'].includes(realSize.value) ? 'small' : 'default'\n)\nconst multiple = computed(() => !!props.props.multiple)\nconst readonly = computed(() => !props.filterable || multiple.value)\nconst searchKeyword = computed(() =>\n multiple.value ? searchInputValue.value : inputValue.value\n)\nconst checkedNodes: ComputedRef<CascaderNode[]> = computed(\n () => panel.value?.checkedNodes || []\n)\nconst clearBtnVisible = computed(() => {\n if (\n !props.clearable ||\n isDisabled.value ||\n filtering.value ||\n !inputHover.value\n )\n return false\n\n return !!checkedNodes.value.length\n})\nconst presentText = computed(() => {\n const { showAllLevels, separator } = props\n const nodes = checkedNodes.value\n return nodes.length\n ? multiple.value\n ? ''\n : nodes[0].calcText(showAllLevels, separator)\n : ''\n})\n\nconst checkedValue = computed<CascaderValue>({\n get() {\n return cloneDeep(props.modelValue) as CascaderValue\n },\n set(val) {\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n if (props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n },\n})\n\nconst cascaderPanelRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n})\n\nconst cascaderKls = computed(() => {\n return [\n nsCascader.b(),\n nsCascader.m(realSize.value),\n nsCascader.is('disabled', isDisabled.value),\n attrs.class,\n ]\n})\n\nconst cascaderIconKls = computed(() => {\n return [\n nsInput.e('icon'),\n 'icon-arrow-down',\n nsCascader.is('reverse', popperVisible.value),\n ]\n})\n\nconst togglePopperVisible = (visible?: boolean) => {\n if (isDisabled.value) return\n\n visible = visible ?? !popperVisible.value\n\n if (visible !== popperVisible.value) {\n popperVisible.value = visible\n input.value?.input?.setAttribute('aria-expanded', `${visible}`)\n\n if (visible) {\n updatePopperPosition()\n nextTick(panel.value?.scrollToExpandingNode)\n } else if (props.filterable) {\n syncPresentTextValue()\n }\n\n emit('visibleChange', visible)\n }\n}\n\nconst updatePopperPosition = () => {\n nextTick(() => {\n tooltipRef.value?.updatePopper()\n })\n}\n\nconst hideSuggestionPanel = () => {\n filtering.value = false\n}\n\nconst genTag = (node: CascaderNode): Tag => {\n const { showAllLevels, separator } = props\n return {\n node,\n key: node.uid,\n text: node.calcText(showAllLevels, separator),\n hitState: false,\n closable: !isDisabled.value && !node.isDisabled,\n isCollapseTag: false,\n }\n}\n\nconst deleteTag = (tag: Tag) => {\n const node = tag.node as CascaderNode\n node.doCheck(false)\n panel.value?.calculateCheckedValue()\n emit('removeTag', node.valueByOption)\n}\n\nconst calculatePresentTags = () => {\n if (!multiple.value) return\n\n const nodes = checkedNodes.value\n const tags: Tag[] = []\n\n const allTags: Tag[] = []\n nodes.forEach((node) => allTags.push(genTag(node)))\n allPresentTags.value = allTags\n\n if (nodes.length) {\n const [first, ...rest] = nodes\n const restCount = rest.length\n\n tags.push(genTag(first))\n\n if (restCount) {\n if (props.collapseTags) {\n tags.push({\n key: -1,\n text: `+ ${restCount}`,\n closable: false,\n isCollapseTag: true,\n })\n } else {\n rest.forEach((node) => tags.push(genTag(node)))\n }\n }\n }\n\n presentTags.value = tags\n}\n\nconst calculateSuggestions = () => {\n const { filterMethod, showAllLevels, separator } = props\n const res = panel.value\n ?.getFlattedNodes(!props.props.checkStrictly)\n ?.filter((node) => {\n if (node.isDisabled) return false\n node.calcText(showAllLevels, separator)\n return filterMethod(node, searchKeyword.value)\n })\n\n if (multiple.value) {\n presentTags.value.forEach((tag) => {\n tag.hitState = false\n })\n allPresentTags.value.forEach((tag) => {\n tag.hitState = false\n })\n }\n\n filtering.value = true\n suggestions.value = res!\n updatePopperPosition()\n}\n\nconst focusFirstNode = () => {\n let firstNode!: HTMLElement\n\n if (filtering.value && suggestionPanel.value) {\n firstNode = suggestionPanel.value.$el.querySelector(\n `.${nsCascader.e('suggestion-item')}`\n )\n } else {\n firstNode = panel.value?.$el.querySelector(\n `.${nsCascader.b('node')}[tabindex=\"-1\"]`\n )\n }\n\n if (firstNode) {\n firstNode.focus()\n !filtering.value && firstNode.click()\n }\n}\n\nconst updateStyle = () => {\n const inputInner = input.value?.input\n const tagWrapperEl = tagWrapper.value\n const suggestionPanelEl = suggestionPanel.value?.$el\n\n if (!isClient || !inputInner) return\n\n if (suggestionPanelEl) {\n const suggestionList = suggestionPanelEl.querySelector(\n `.${nsCascader.e('suggestion-list')}`\n )\n suggestionList.style.minWidth = `${inputInner.offsetWidth}px`\n }\n\n if (tagWrapperEl) {\n const { offsetHeight } = tagWrapperEl\n const height =\n presentTags.value.length > 0\n ? `${Math.max(offsetHeight + 6, inputInitialHeight)}px`\n : `${inputInitialHeight}px`\n inputInner.style.height = height\n updatePopperPosition()\n }\n}\n\nconst getCheckedNodes = (leafOnly: boolean) => {\n return panel.value?.getCheckedNodes(leafOnly)\n}\n\nconst handleExpandChange = (value: CascaderValue) => {\n updatePopperPosition()\n emit('expandChange', value)\n}\n\nconst handleComposition = (event: CompositionEvent) => {\n const text = (event.target as HTMLInputElement)?.value\n if (event.type === 'compositionend') {\n isOnComposition.value = false\n nextTick(() => handleInput(text))\n } else {\n const lastCharacter = text[text.length - 1] || ''\n isOnComposition.value = !isKorean(lastCharacter)\n }\n}\n\nconst handleKeyDown = (e: KeyboardEvent) => {\n if (isOnComposition.value) return\n\n switch (e.code) {\n case EVENT_CODE.enter:\n togglePopperVisible()\n break\n case EVENT_CODE.down:\n togglePopperVisible(true)\n nextTick(focusFirstNode)\n e.preventDefault()\n break\n case EVENT_CODE.esc:\n if (popperVisible.value === true) {\n e.preventDefault()\n e.stopPropagation()\n togglePopperVisible(false)\n }\n break\n case EVENT_CODE.tab:\n togglePopperVisible(false)\n break\n }\n}\n\nconst handleClear = () => {\n panel.value?.clearCheckedNodes()\n if (!popperVisible.value && props.filterable) {\n syncPresentTextValue()\n }\n togglePopperVisible(false)\n}\n\nconst syncPresentTextValue = () => {\n const { value } = presentText\n inputValue.value = value\n searchInputValue.value = value\n}\n\nconst handleSuggestionClick = (node: CascaderNode) => {\n const { checked } = node\n\n if (multiple.value) {\n panel.value?.handleCheckChange(node, !checked, false)\n } else {\n !checked && panel.value?.handleCheckChange(node, true, false)\n togglePopperVisible(false)\n }\n}\n\nconst handleSuggestionKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const { code } = e\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n const distance = code === EVENT_CODE.up ? -1 : 1\n focusNode(\n getSibling(\n target,\n distance,\n `.${nsCascader.e('suggestion-item')}[tabindex=\"-1\"]`\n ) as HTMLElement\n )\n break\n }\n case EVENT_CODE.enter:\n target.click()\n break\n }\n}\n\nconst handleDelete = () => {\n const tags = presentTags.value\n const lastTag = tags[tags.length - 1]\n pressDeleteCount = searchInputValue.value ? 0 : pressDeleteCount + 1\n\n if (!lastTag || !pressDeleteCount || (props.collapseTags && tags.length > 1))\n return\n\n if (lastTag.hitState) {\n deleteTag(lastTag)\n } else {\n lastTag.hitState = true\n }\n}\n\nconst handleFocus = (e: FocusEvent) => {\n emit('focus', e)\n}\n\nconst handleBlur = (e: FocusEvent) => {\n emit('blur', e)\n}\n\nconst handleFilter = debounce(() => {\n const { value } = searchKeyword\n\n if (!value) return\n\n const passed = props.beforeFilter(value)\n\n if (isPromise(passed)) {\n passed.then(calculateSuggestions).catch(() => {\n /* prevent log error */\n })\n } else if (passed !== false) {\n calculateSuggestions()\n } else {\n hideSuggestionPanel()\n }\n}, props.debounce)\n\nconst handleInput = (val: string, e?: KeyboardEvent) => {\n !popperVisible.value && togglePopperVisible(true)\n\n if (e?.isComposing) return\n\n val ? handleFilter() : hideSuggestionPanel()\n}\n\nwatch(filtering, updatePopperPosition)\n\nwatch([checkedNodes, isDisabled], calculatePresentTags)\n\nwatch(presentTags, () => {\n nextTick(() => updateStyle())\n})\n\nwatch(presentText, syncPresentTextValue, { immediate: true })\n\nonMounted(() => {\n const inputInner = input.value!.input!\n\n const inputInnerHeight =\n Number.parseFloat(\n useCssVar(nsInput.cssVarName('input-height'), inputInner).value\n ) - 2\n\n inputInitialHeight = inputInner.offsetHeight || inputInnerHeight\n useResizeObserver(inputInner, updateStyle)\n})\n\ndefineExpose({\n /**\n * @description get an array of currently selected node,(leafOnly) whether only return the leaf checked nodes, default is `false`\n */\n getCheckedNodes,\n /**\n * @description cascader panel ref\n */\n cascaderPanelRef,\n /**\n * @description toggle the visible of popper\n */\n togglePopperVisible,\n})\n</script>\n"],"names":["useAttrs","useNamespace","useLocale","useFormItem","ref","computed","useSize","UPDATE_MODEL_EVENT","CHANGE_EVENT","debugWarn","nextTick","isClient","isKorean","EVENT_CODE","focusNode","getSibling","debounce","isPromise","watch"],"mappings":"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"}
1
+ {"version":3,"file":"cascader2.js","sources":["../../../../../../packages/components/cascader/src/cascader.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"popperVisible\"\n :teleported=\"teleported\"\n :popper-class=\"[nsCascader.e('dropdown'), popperClass]\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"[\n 'bottom-start',\n 'bottom',\n 'top-start',\n 'top',\n 'right',\n 'left',\n ]\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n placement=\"bottom-start\"\n :transition=\"`${nsCascader.namespace.value}-zoom-in-top`\"\n effect=\"light\"\n pure\n persistent\n @hide=\"hideSuggestionPanel\"\n >\n <template #default>\n <div\n v-clickoutside:[cascaderPanelRef]=\"() => togglePopperVisible(false)\"\n :class=\"cascaderKls\"\n :style=\"cascaderStyle\"\n @click=\"() => togglePopperVisible(readonly ? undefined : true)\"\n @keydown=\"handleKeyDown\"\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n <el-input\n ref=\"input\"\n v-model=\"inputValue\"\n :placeholder=\"currentPlaceholder\"\n :readonly=\"readonly\"\n :disabled=\"isDisabled\"\n :validate-event=\"false\"\n :size=\"realSize\"\n :class=\"inputClass\"\n :tabindex=\"multiple && filterable && !isDisabled ? -1 : undefined\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @input=\"handleInput\"\n >\n <template #suffix>\n <el-icon\n v-if=\"clearBtnVisible\"\n key=\"clear\"\n :class=\"[nsInput.e('icon'), 'icon-circle-close']\"\n @click.stop=\"handleClear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-else\n key=\"arrow-down\"\n :class=\"cascaderIconKls\"\n @click.stop=\"togglePopperVisible()\"\n >\n <arrow-down />\n </el-icon>\n </template>\n </el-input>\n\n <div v-if=\"multiple\" ref=\"tagWrapper\" :class=\"nsCascader.e('tags')\">\n <el-tag\n v-for=\"tag in presentTags\"\n :key=\"tag.key\"\n :type=\"tagType\"\n :size=\"tagSize\"\n :hit=\"tag.hitState\"\n :closable=\"tag.closable\"\n disable-transitions\n @close=\"deleteTag(tag)\"\n >\n <template v-if=\"tag.isCollapseTag === false\">\n <span>{{ tag.text }}</span>\n </template>\n <template v-else>\n <el-tooltip\n :disabled=\"popperVisible || !collapseTagsTooltip\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n placement=\"bottom\"\n effect=\"light\"\n >\n <template #default>\n <span>{{ tag.text }}</span>\n </template>\n <template #content>\n <div :class=\"nsCascader.e('collapse-tags')\">\n <div\n v-for=\"(tag2, idx) in allPresentTags.slice(1)\"\n :key=\"idx\"\n :class=\"nsCascader.e('collapse-tag')\"\n >\n <el-tag\n :key=\"tag2.key\"\n class=\"in-tooltip\"\n :type=\"tagType\"\n :size=\"tagSize\"\n :hit=\"tag2.hitState\"\n :closable=\"tag2.closable\"\n disable-transitions\n @close=\"deleteTag(tag2)\"\n >\n <span>{{ tag2.text }}</span>\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n </template>\n </el-tag>\n <input\n v-if=\"filterable && !isDisabled\"\n v-model=\"searchInputValue\"\n type=\"text\"\n :class=\"nsCascader.e('search-input')\"\n :placeholder=\"presentText ? '' : inputPlaceholder\"\n @input=\"(e) => handleInput(searchInputValue, e as KeyboardEvent)\"\n @click.stop=\"togglePopperVisible(true)\"\n @keydown.delete=\"handleDelete\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n />\n </div>\n </div>\n </template>\n\n <template #content>\n <el-cascader-panel\n v-show=\"!filtering\"\n ref=\"panel\"\n v-model=\"checkedValue\"\n :options=\"options\"\n :props=\"props.props\"\n :border=\"false\"\n :render-label=\"$slots.default\"\n @expand-change=\"handleExpandChange\"\n @close=\"$nextTick(() => togglePopperVisible(false))\"\n />\n <el-scrollbar\n v-if=\"filterable\"\n v-show=\"filtering\"\n ref=\"suggestionPanel\"\n tag=\"ul\"\n :class=\"nsCascader.e('suggestion-panel')\"\n :view-class=\"nsCascader.e('suggestion-list')\"\n @keydown=\"handleSuggestionKeyDown\"\n >\n <template v-if=\"suggestions.length\">\n <li\n v-for=\"item in suggestions\"\n :key=\"item.uid\"\n :class=\"[\n nsCascader.e('suggestion-item'),\n nsCascader.is('checked', item.checked),\n ]\"\n :tabindex=\"-1\"\n @click=\"handleSuggestionClick(item)\"\n >\n <span>{{ item.text }}</span>\n <el-icon v-if=\"item.checked\">\n <check />\n </el-icon>\n </li>\n </template>\n <slot v-else name=\"empty\">\n <li :class=\"nsCascader.e('empty-text')\">\n {{ t('el.cascader.noMatch') }}\n </li>\n </slot>\n </el-scrollbar>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, onMounted, ref, useAttrs, watch } from 'vue'\nimport { isPromise } from '@vue/shared'\nimport { cloneDeep, debounce } from 'lodash-unified'\nimport { isClient, useCssVar, useResizeObserver } from '@vueuse/core'\nimport ElCascaderPanel from '@element-plus/components/cascader-panel'\nimport ElInput from '@element-plus/components/input'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { ClickOutside as vClickoutside } from '@element-plus/directives'\nimport {\n useFormItem,\n useLocale,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport { debugWarn, focusNode, getSibling, isKorean } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { ArrowDown, Check, CircleClose } from '@element-plus/icons-vue'\nimport { cascaderEmits, cascaderProps } from './cascader'\nimport type { Options } from '@element-plus/components/popper'\nimport type { ComputedRef, Ref, StyleValue } from 'vue'\nimport type {\n CascaderNode,\n CascaderValue,\n Tag,\n} from '@element-plus/components/cascader-panel'\ntype cascaderPanelType = InstanceType<typeof ElCascaderPanel>\ntype tooltipType = InstanceType<typeof ElTooltip>\ntype inputType = InstanceType<typeof ElInput>\ntype suggestionPanelType = InstanceType<typeof ElScrollbar>\nconst popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'arrowPosition',\n enabled: true,\n phase: 'main',\n fn: ({ state }) => {\n const { modifiersData, placement } = state as any\n if (['right', 'left', 'bottom', 'top'].includes(placement)) return\n modifiersData.arrow.x = 35\n },\n requires: ['arrow'],\n },\n ],\n}\nconst COMPONENT_NAME = 'ElCascader'\n\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(cascaderProps)\nconst emit = defineEmits(cascaderEmits)\nconst attrs = useAttrs()\n\nlet inputInitialHeight = 0\nlet pressDeleteCount = 0\n\nconst nsCascader = useNamespace('cascader')\nconst nsInput = useNamespace('input')\n\nconst { t } = useLocale()\nconst { form, formItem } = useFormItem()\n\nconst tooltipRef: Ref<tooltipType | null> = ref(null)\nconst input: Ref<inputType | null> = ref(null)\nconst tagWrapper = ref(null)\nconst panel: Ref<cascaderPanelType | null> = ref(null)\nconst suggestionPanel: Ref<suggestionPanelType | null> = ref(null)\nconst popperVisible = ref(false)\nconst inputHover = ref(false)\nconst filtering = ref(false)\nconst filterFocus = ref(false)\nconst inputValue = ref('')\nconst searchInputValue = ref('')\nconst presentTags: Ref<Tag[]> = ref([])\nconst allPresentTags: Ref<Tag[]> = ref([])\nconst suggestions: Ref<CascaderNode[]> = ref([])\nconst isOnComposition = ref(false)\n\nconst cascaderStyle = computed<StyleValue>(() => {\n return attrs.style as StyleValue\n})\n\nconst isDisabled = computed(() => props.disabled || form?.disabled)\nconst inputPlaceholder = computed(\n () => props.placeholder || t('el.cascader.placeholder')\n)\nconst currentPlaceholder = computed(() =>\n searchInputValue.value ||\n presentTags.value.length > 0 ||\n isOnComposition.value\n ? ''\n : inputPlaceholder.value\n)\nconst realSize = useSize()\nconst tagSize = computed(() =>\n ['small'].includes(realSize.value) ? 'small' : 'default'\n)\nconst multiple = computed(() => !!props.props.multiple)\nconst readonly = computed(() => !props.filterable || multiple.value)\nconst searchKeyword = computed(() =>\n multiple.value ? searchInputValue.value : inputValue.value\n)\nconst checkedNodes: ComputedRef<CascaderNode[]> = computed(\n () => panel.value?.checkedNodes || []\n)\nconst clearBtnVisible = computed(() => {\n if (\n !props.clearable ||\n isDisabled.value ||\n filtering.value ||\n !inputHover.value\n )\n return false\n\n return !!checkedNodes.value.length\n})\nconst presentText = computed(() => {\n const { showAllLevels, separator } = props\n const nodes = checkedNodes.value\n return nodes.length\n ? multiple.value\n ? ''\n : nodes[0].calcText(showAllLevels, separator)\n : ''\n})\n\nconst checkedValue = computed<CascaderValue>({\n get() {\n return cloneDeep(props.modelValue) as CascaderValue\n },\n set(val) {\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n if (props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n },\n})\n\nconst cascaderPanelRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n})\n\nconst cascaderKls = computed(() => {\n return [\n nsCascader.b(),\n nsCascader.m(realSize.value),\n nsCascader.is('disabled', isDisabled.value),\n attrs.class,\n ]\n})\n\nconst cascaderIconKls = computed(() => {\n return [\n nsInput.e('icon'),\n 'icon-arrow-down',\n nsCascader.is('reverse', popperVisible.value),\n ]\n})\n\nconst inputClass = computed(() => {\n return nsCascader.is('focus', popperVisible.value || filterFocus.value)\n})\n\nconst togglePopperVisible = (visible?: boolean) => {\n if (isDisabled.value) return\n\n visible = visible ?? !popperVisible.value\n\n if (visible !== popperVisible.value) {\n popperVisible.value = visible\n input.value?.input?.setAttribute('aria-expanded', `${visible}`)\n\n if (visible) {\n updatePopperPosition()\n nextTick(panel.value?.scrollToExpandingNode)\n } else if (props.filterable) {\n syncPresentTextValue()\n }\n\n emit('visibleChange', visible)\n }\n}\n\nconst updatePopperPosition = () => {\n nextTick(() => {\n tooltipRef.value?.updatePopper()\n })\n}\n\nconst hideSuggestionPanel = () => {\n filtering.value = false\n}\n\nconst genTag = (node: CascaderNode): Tag => {\n const { showAllLevels, separator } = props\n return {\n node,\n key: node.uid,\n text: node.calcText(showAllLevels, separator),\n hitState: false,\n closable: !isDisabled.value && !node.isDisabled,\n isCollapseTag: false,\n }\n}\n\nconst deleteTag = (tag: Tag) => {\n const node = tag.node as CascaderNode\n node.doCheck(false)\n panel.value?.calculateCheckedValue()\n emit('removeTag', node.valueByOption)\n}\n\nconst calculatePresentTags = () => {\n if (!multiple.value) return\n\n const nodes = checkedNodes.value\n const tags: Tag[] = []\n\n const allTags: Tag[] = []\n nodes.forEach((node) => allTags.push(genTag(node)))\n allPresentTags.value = allTags\n\n if (nodes.length) {\n const [first, ...rest] = nodes\n const restCount = rest.length\n\n tags.push(genTag(first))\n\n if (restCount) {\n if (props.collapseTags) {\n tags.push({\n key: -1,\n text: `+ ${restCount}`,\n closable: false,\n isCollapseTag: true,\n })\n } else {\n rest.forEach((node) => tags.push(genTag(node)))\n }\n }\n }\n\n presentTags.value = tags\n}\n\nconst calculateSuggestions = () => {\n const { filterMethod, showAllLevels, separator } = props\n const res = panel.value\n ?.getFlattedNodes(!props.props.checkStrictly)\n ?.filter((node) => {\n if (node.isDisabled) return false\n node.calcText(showAllLevels, separator)\n return filterMethod(node, searchKeyword.value)\n })\n\n if (multiple.value) {\n presentTags.value.forEach((tag) => {\n tag.hitState = false\n })\n allPresentTags.value.forEach((tag) => {\n tag.hitState = false\n })\n }\n\n filtering.value = true\n suggestions.value = res!\n updatePopperPosition()\n}\n\nconst focusFirstNode = () => {\n let firstNode!: HTMLElement\n\n if (filtering.value && suggestionPanel.value) {\n firstNode = suggestionPanel.value.$el.querySelector(\n `.${nsCascader.e('suggestion-item')}`\n )\n } else {\n firstNode = panel.value?.$el.querySelector(\n `.${nsCascader.b('node')}[tabindex=\"-1\"]`\n )\n }\n\n if (firstNode) {\n firstNode.focus()\n !filtering.value && firstNode.click()\n }\n}\n\nconst updateStyle = () => {\n const inputInner = input.value?.input\n const tagWrapperEl = tagWrapper.value\n const suggestionPanelEl = suggestionPanel.value?.$el\n\n if (!isClient || !inputInner) return\n\n if (suggestionPanelEl) {\n const suggestionList = suggestionPanelEl.querySelector(\n `.${nsCascader.e('suggestion-list')}`\n )\n suggestionList.style.minWidth = `${inputInner.offsetWidth}px`\n }\n\n if (tagWrapperEl) {\n const { offsetHeight } = tagWrapperEl\n const height =\n presentTags.value.length > 0\n ? `${Math.max(offsetHeight + 6, inputInitialHeight)}px`\n : `${inputInitialHeight}px`\n inputInner.style.height = height\n updatePopperPosition()\n }\n}\n\nconst getCheckedNodes = (leafOnly: boolean) => {\n return panel.value?.getCheckedNodes(leafOnly)\n}\n\nconst handleExpandChange = (value: CascaderValue) => {\n updatePopperPosition()\n emit('expandChange', value)\n}\n\nconst handleComposition = (event: CompositionEvent) => {\n const text = (event.target as HTMLInputElement)?.value\n if (event.type === 'compositionend') {\n isOnComposition.value = false\n nextTick(() => handleInput(text))\n } else {\n const lastCharacter = text[text.length - 1] || ''\n isOnComposition.value = !isKorean(lastCharacter)\n }\n}\n\nconst handleKeyDown = (e: KeyboardEvent) => {\n if (isOnComposition.value) return\n\n switch (e.code) {\n case EVENT_CODE.enter:\n togglePopperVisible()\n break\n case EVENT_CODE.down:\n togglePopperVisible(true)\n nextTick(focusFirstNode)\n e.preventDefault()\n break\n case EVENT_CODE.esc:\n if (popperVisible.value === true) {\n e.preventDefault()\n e.stopPropagation()\n togglePopperVisible(false)\n }\n break\n case EVENT_CODE.tab:\n togglePopperVisible(false)\n break\n }\n}\n\nconst handleClear = () => {\n panel.value?.clearCheckedNodes()\n if (!popperVisible.value && props.filterable) {\n syncPresentTextValue()\n }\n togglePopperVisible(false)\n}\n\nconst syncPresentTextValue = () => {\n const { value } = presentText\n inputValue.value = value\n searchInputValue.value = value\n}\n\nconst handleSuggestionClick = (node: CascaderNode) => {\n const { checked } = node\n\n if (multiple.value) {\n panel.value?.handleCheckChange(node, !checked, false)\n } else {\n !checked && panel.value?.handleCheckChange(node, true, false)\n togglePopperVisible(false)\n }\n}\n\nconst handleSuggestionKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const { code } = e\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n const distance = code === EVENT_CODE.up ? -1 : 1\n focusNode(\n getSibling(\n target,\n distance,\n `.${nsCascader.e('suggestion-item')}[tabindex=\"-1\"]`\n ) as HTMLElement\n )\n break\n }\n case EVENT_CODE.enter:\n target.click()\n break\n }\n}\n\nconst handleDelete = () => {\n const tags = presentTags.value\n const lastTag = tags[tags.length - 1]\n pressDeleteCount = searchInputValue.value ? 0 : pressDeleteCount + 1\n\n if (!lastTag || !pressDeleteCount || (props.collapseTags && tags.length > 1))\n return\n\n if (lastTag.hitState) {\n deleteTag(lastTag)\n } else {\n lastTag.hitState = true\n }\n}\n\nconst handleFocus = (e: FocusEvent) => {\n const el = e.target as HTMLInputElement\n const name = nsCascader.e('search-input')\n if (el.className === name) {\n filterFocus.value = true\n }\n emit('focus', e)\n}\n\nconst handleBlur = (e: FocusEvent) => {\n filterFocus.value = false\n emit('blur', e)\n}\n\nconst handleFilter = debounce(() => {\n const { value } = searchKeyword\n\n if (!value) return\n\n const passed = props.beforeFilter(value)\n\n if (isPromise(passed)) {\n passed.then(calculateSuggestions).catch(() => {\n /* prevent log error */\n })\n } else if (passed !== false) {\n calculateSuggestions()\n } else {\n hideSuggestionPanel()\n }\n}, props.debounce)\n\nconst handleInput = (val: string, e?: KeyboardEvent) => {\n !popperVisible.value && togglePopperVisible(true)\n\n if (e?.isComposing) return\n\n val ? handleFilter() : hideSuggestionPanel()\n}\n\nwatch(filtering, updatePopperPosition)\n\nwatch([checkedNodes, isDisabled], calculatePresentTags)\n\nwatch(presentTags, () => {\n nextTick(() => updateStyle())\n})\n\nwatch(presentText, syncPresentTextValue, { immediate: true })\n\nonMounted(() => {\n const inputInner = input.value!.input!\n\n const inputInnerHeight =\n Number.parseFloat(\n useCssVar(nsInput.cssVarName('input-height'), inputInner).value\n ) - 2\n\n inputInitialHeight = inputInner.offsetHeight || inputInnerHeight\n useResizeObserver(inputInner, updateStyle)\n})\n\ndefineExpose({\n /**\n * @description get an array of currently selected node,(leafOnly) whether only return the leaf checked nodes, default is `false`\n */\n getCheckedNodes,\n /**\n * @description cascader panel ref\n */\n cascaderPanelRef,\n /**\n * @description toggle the visible of popper\n */\n togglePopperVisible,\n})\n</script>\n"],"names":["useAttrs","useNamespace","useLocale","useFormItem","ref","computed","useSize","UPDATE_MODEL_EVENT","CHANGE_EVENT","debugWarn","nextTick","isClient","isKorean","EVENT_CODE","focusNode","getSibling","debounce","isPromise","watch"],"mappings":"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"}
@@ -62,23 +62,23 @@ const _sfc_main = vue.defineComponent({
62
62
  const triggerId = vue.computed(() => {
63
63
  return props.id || defaultTriggerId;
64
64
  });
65
- vue.watch([triggeringElementRef, vue.toRef(props, "trigger")], ([triggeringElement2, trigger], [prevTriggeringElement]) => {
65
+ vue.watch([triggeringElementRef, vue.toRef(props, "trigger")], ([triggeringElement, trigger], [prevTriggeringElement]) => {
66
66
  var _a, _b, _c;
67
67
  const triggerArray = shared.isArray(trigger) ? trigger : [trigger];
68
68
  if ((_a = prevTriggeringElement == null ? void 0 : prevTriggeringElement.$el) == null ? void 0 : _a.removeEventListener) {
69
69
  prevTriggeringElement.$el.removeEventListener("pointerenter", onAutofocusTriggerEnter);
70
70
  }
71
- if ((_b = triggeringElement2 == null ? void 0 : triggeringElement2.$el) == null ? void 0 : _b.removeEventListener) {
72
- triggeringElement2.$el.removeEventListener("pointerenter", onAutofocusTriggerEnter);
71
+ if ((_b = triggeringElement == null ? void 0 : triggeringElement.$el) == null ? void 0 : _b.removeEventListener) {
72
+ triggeringElement.$el.removeEventListener("pointerenter", onAutofocusTriggerEnter);
73
73
  }
74
- if (((_c = triggeringElement2 == null ? void 0 : triggeringElement2.$el) == null ? void 0 : _c.addEventListener) && triggerArray.includes("hover")) {
75
- triggeringElement2.$el.addEventListener("pointerenter", onAutofocusTriggerEnter);
74
+ if (((_c = triggeringElement == null ? void 0 : triggeringElement.$el) == null ? void 0 : _c.addEventListener) && triggerArray.includes("hover")) {
75
+ triggeringElement.$el.addEventListener("pointerenter", onAutofocusTriggerEnter);
76
76
  }
77
77
  }, { immediate: true });
78
- vue.onUnmounted(() => {
79
- var _a;
80
- if ((_a = triggeringElement == null ? void 0 : triggeringElement.$el) == null ? void 0 : _a.removeEventListener) {
81
- triggeringElement.$el.removeEventListener("pointerenter", onAutofocusTriggerEnter);
78
+ vue.onBeforeUnmount(() => {
79
+ var _a, _b;
80
+ if ((_b = (_a = triggeringElementRef.value) == null ? void 0 : _a.$el) == null ? void 0 : _b.removeEventListener) {
81
+ triggeringElementRef.value.$el.removeEventListener("pointerenter", onAutofocusTriggerEnter);
82
82
  }
83
83
  });
84
84
  function handleClick() {
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown2.js","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.is('disabled', disabled)]\">\n <el-tooltip\n ref=\"popperRef\"\n :role=\"role\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"trigger === 'hover' ? hideTimeout : 0\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :trigger-keys=\"triggerKeys\"\n :trigger-target-el=\"contentRef\"\n :show-after=\"trigger === 'hover' ? showTimeout : 0\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n :disabled=\"disabled\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n :teleported=\"teleported\"\n pure\n persistent\n @before-show=\"handleBeforeShowTooltip\"\n @show=\"handleShowTooltip\"\n @before-hide=\"handleBeforeHideTooltip\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"div\"\n :view-class=\"ns.e('list')\"\n >\n <el-roving-focus-group\n :loop=\"loop\"\n :current-tab-id=\"currentTabId\"\n orientation=\"horizontal\"\n @current-tab-id-change=\"handleCurrentTabIdChange\"\n @entry-focus=\"handleEntryFocus\"\n >\n <el-dropdown-collection>\n <slot name=\"dropdown\" />\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <el-only-child\n :id=\"triggerId\"\n ref=\"triggeringElementRef\"\n role=\"button\"\n :tabindex=\"tabindex\"\n >\n <slot name=\"default\" />\n </el-only-child>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n v-bind=\"buttonProps\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :disabled=\"disabled\"\n :tabindex=\"tabindex\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n :id=\"triggerId\"\n ref=\"triggeringElementRef\"\n v-bind=\"buttonProps\"\n role=\"button\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :class=\"ns.e('caret-button')\"\n :disabled=\"disabled\"\n :tabindex=\"tabindex\"\n :aria-label=\"t('el.dropdown.toggleDropdown')\"\n >\n <el-icon :class=\"ns.e('icon')\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n onUnmounted,\n provide,\n ref,\n toRef,\n unref,\n watch,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { ElOnlyChild } from '@element-plus/components/slot'\nimport { addUnit, isArray } from '@element-plus/utils'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useId, useLocale, useNamespace, useSize } from '@element-plus/hooks'\nimport { ElCollection as ElDropdownCollection, dropdownProps } from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nimport type { CSSProperties } from 'vue'\n\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElOnlyChild,\n ElIcon,\n ArrowDown,\n },\n props: dropdownProps,\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n const ns = useNamespace('dropdown')\n const { t } = useLocale()\n\n const triggeringElementRef = ref()\n const referenceElementRef = ref()\n const popperRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n const scrollbar = ref(null)\n const currentTabId = ref<string | null>(null)\n const isUsingKeyboard = ref(false)\n const triggerKeys = [EVENT_CODE.enter, EVENT_CODE.space, EVENT_CODE.down]\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [ns.m(dropdownSize.value)])\n\n const defaultTriggerId = useId().value\n const triggerId = computed<string>(() => {\n return props.id || defaultTriggerId\n })\n\n // The goal of this code is to focus on the tooltip triggering element when it is hovered.\n // This is a temporary fix for where closing the dropdown through pointerleave event focuses on a\n // completely different element. For a permanent solution, remove all calls to any \"element.focus()\"\n // that are triggered through pointer enter/leave events.\n watch(\n [triggeringElementRef, toRef(props, 'trigger')],\n ([triggeringElement, trigger], [prevTriggeringElement]) => {\n const triggerArray = isArray(trigger) ? trigger : [trigger]\n if (prevTriggeringElement?.$el?.removeEventListener) {\n prevTriggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n if (triggeringElement?.$el?.removeEventListener) {\n triggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n if (\n triggeringElement?.$el?.addEventListener &&\n triggerArray.includes('hover')\n ) {\n triggeringElement.$el.addEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n },\n { immediate: true }\n )\n\n onUnmounted(() => {\n if (triggeringElement?.$el?.removeEventListener) {\n triggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n })\n\n function handleClick() {\n handleClose()\n }\n\n function handleClose() {\n popperRef.value?.onClose()\n }\n\n function handleOpen() {\n popperRef.value?.onOpen()\n }\n\n const dropdownSize = useSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onAutofocusTriggerEnter() {\n triggeringElementRef.value?.$el?.focus()\n }\n\n function onItemEnter() {\n // NOOP for now\n }\n\n function onItemLeave() {\n const contentEl = unref(contentRef)\n\n contentEl?.focus()\n currentTabId.value = null\n }\n\n function handleCurrentTabIdChange(id: string) {\n currentTabId.value = id\n }\n\n function handleEntryFocus(e: Event) {\n if (!isUsingKeyboard.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n function handleBeforeShowTooltip() {\n emit('visible-change', true)\n }\n\n function handleShowTooltip(event?: Event) {\n if (event?.type === 'keydown') {\n contentRef.value.focus()\n }\n }\n\n function handleBeforeHideTooltip() {\n emit('visible-change', false)\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n role: computed(() => props.role),\n triggerId,\n isUsingKeyboard,\n onItemEnter,\n onItemLeave,\n })\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n handleClick,\n commandHandler,\n trigger: toRef(props, 'trigger'),\n hideOnClick: toRef(props, 'hideOnClick'),\n })\n\n const onFocusAfterTrapped = (e: Event) => {\n e.preventDefault()\n contentRef.value?.focus?.({\n preventScroll: true,\n })\n }\n\n const handlerMainButtonClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n t,\n ns,\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n triggerId,\n triggerKeys,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n handleClose,\n handleOpen,\n handleBeforeShowTooltip,\n handleShowTooltip,\n handleBeforeHideTooltip,\n onFocusAfterTrapped,\n popperRef,\n contentRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"names":["ElButton","defineComponent","ElScrollbar","ElDropdownCollection","ElTooltip","ElRovingFocusGroup","ElOnlyChild","ElIcon","ArrowDown","dropdownProps","getCurrentInstance","useNamespace","useLocale","ref","EVENT_CODE","computed","addUnit","useId","watch","toRef","isArray","onUnmounted","useSize","unref","provide","DROPDOWN_INJECTION_KEY","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_createVNode","_createSlots","_withCtx","_renderSlot","_createBlock","_mergeProps"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown2.js","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.is('disabled', disabled)]\">\n <el-tooltip\n ref=\"popperRef\"\n :role=\"role\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"trigger === 'hover' ? hideTimeout : 0\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :trigger-keys=\"triggerKeys\"\n :trigger-target-el=\"contentRef\"\n :show-after=\"trigger === 'hover' ? showTimeout : 0\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n :disabled=\"disabled\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n :teleported=\"teleported\"\n pure\n persistent\n @before-show=\"handleBeforeShowTooltip\"\n @show=\"handleShowTooltip\"\n @before-hide=\"handleBeforeHideTooltip\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"div\"\n :view-class=\"ns.e('list')\"\n >\n <el-roving-focus-group\n :loop=\"loop\"\n :current-tab-id=\"currentTabId\"\n orientation=\"horizontal\"\n @current-tab-id-change=\"handleCurrentTabIdChange\"\n @entry-focus=\"handleEntryFocus\"\n >\n <el-dropdown-collection>\n <slot name=\"dropdown\" />\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <el-only-child\n :id=\"triggerId\"\n ref=\"triggeringElementRef\"\n role=\"button\"\n :tabindex=\"tabindex\"\n >\n <slot name=\"default\" />\n </el-only-child>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n v-bind=\"buttonProps\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :disabled=\"disabled\"\n :tabindex=\"tabindex\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n :id=\"triggerId\"\n ref=\"triggeringElementRef\"\n v-bind=\"buttonProps\"\n role=\"button\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :class=\"ns.e('caret-button')\"\n :disabled=\"disabled\"\n :tabindex=\"tabindex\"\n :aria-label=\"t('el.dropdown.toggleDropdown')\"\n >\n <el-icon :class=\"ns.e('icon')\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n onBeforeUnmount,\n provide,\n ref,\n toRef,\n unref,\n watch,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { ElOnlyChild } from '@element-plus/components/slot'\nimport { addUnit, isArray } from '@element-plus/utils'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useId, useLocale, useNamespace, useSize } from '@element-plus/hooks'\nimport { ElCollection as ElDropdownCollection, dropdownProps } from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nimport type { CSSProperties } from 'vue'\n\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElOnlyChild,\n ElIcon,\n ArrowDown,\n },\n props: dropdownProps,\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n const ns = useNamespace('dropdown')\n const { t } = useLocale()\n\n const triggeringElementRef = ref()\n const referenceElementRef = ref()\n const popperRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n const scrollbar = ref(null)\n const currentTabId = ref<string | null>(null)\n const isUsingKeyboard = ref(false)\n const triggerKeys = [EVENT_CODE.enter, EVENT_CODE.space, EVENT_CODE.down]\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [ns.m(dropdownSize.value)])\n\n const defaultTriggerId = useId().value\n const triggerId = computed<string>(() => {\n return props.id || defaultTriggerId\n })\n\n // The goal of this code is to focus on the tooltip triggering element when it is hovered.\n // This is a temporary fix for where closing the dropdown through pointerleave event focuses on a\n // completely different element. For a permanent solution, remove all calls to any \"element.focus()\"\n // that are triggered through pointer enter/leave events.\n watch(\n [triggeringElementRef, toRef(props, 'trigger')],\n ([triggeringElement, trigger], [prevTriggeringElement]) => {\n const triggerArray = isArray(trigger) ? trigger : [trigger]\n if (prevTriggeringElement?.$el?.removeEventListener) {\n prevTriggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n if (triggeringElement?.$el?.removeEventListener) {\n triggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n if (\n triggeringElement?.$el?.addEventListener &&\n triggerArray.includes('hover')\n ) {\n triggeringElement.$el.addEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n },\n { immediate: true }\n )\n\n onBeforeUnmount(() => {\n if (triggeringElementRef.value?.$el?.removeEventListener) {\n triggeringElementRef.value.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n })\n\n function handleClick() {\n handleClose()\n }\n\n function handleClose() {\n popperRef.value?.onClose()\n }\n\n function handleOpen() {\n popperRef.value?.onOpen()\n }\n\n const dropdownSize = useSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onAutofocusTriggerEnter() {\n triggeringElementRef.value?.$el?.focus()\n }\n\n function onItemEnter() {\n // NOOP for now\n }\n\n function onItemLeave() {\n const contentEl = unref(contentRef)\n\n contentEl?.focus()\n currentTabId.value = null\n }\n\n function handleCurrentTabIdChange(id: string) {\n currentTabId.value = id\n }\n\n function handleEntryFocus(e: Event) {\n if (!isUsingKeyboard.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n function handleBeforeShowTooltip() {\n emit('visible-change', true)\n }\n\n function handleShowTooltip(event?: Event) {\n if (event?.type === 'keydown') {\n contentRef.value.focus()\n }\n }\n\n function handleBeforeHideTooltip() {\n emit('visible-change', false)\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n role: computed(() => props.role),\n triggerId,\n isUsingKeyboard,\n onItemEnter,\n onItemLeave,\n })\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n handleClick,\n commandHandler,\n trigger: toRef(props, 'trigger'),\n hideOnClick: toRef(props, 'hideOnClick'),\n })\n\n const onFocusAfterTrapped = (e: Event) => {\n e.preventDefault()\n contentRef.value?.focus?.({\n preventScroll: true,\n })\n }\n\n const handlerMainButtonClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n t,\n ns,\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n triggerId,\n triggerKeys,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n handleClose,\n handleOpen,\n handleBeforeShowTooltip,\n handleShowTooltip,\n handleBeforeHideTooltip,\n onFocusAfterTrapped,\n popperRef,\n contentRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"names":["ElButton","defineComponent","ElScrollbar","ElDropdownCollection","ElTooltip","ElRovingFocusGroup","ElOnlyChild","ElIcon","ArrowDown","dropdownProps","getCurrentInstance","useNamespace","useLocale","ref","EVENT_CODE","computed","addUnit","useId","watch","toRef","isArray","onBeforeUnmount","useSize","unref","provide","DROPDOWN_INJECTION_KEY","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_createVNode","_createSlots","_withCtx","_renderSlot","_createBlock","_mergeProps"],"mappings":"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"}
@@ -136,7 +136,7 @@ var trigger = require('./popper/src/trigger2.js');
136
136
  var content = require('./popper/src/content2.js');
137
137
  var progress = require('./progress/src/progress.js');
138
138
  var radio = require('./radio/src/radio.js');
139
- var radioGroup = require('./radio/src/radio-group.js');
139
+ var radioGroup = require('./radio/src/radio-group2.js');
140
140
  var radioButton = require('./radio/src/radio-button.js');
141
141
  var rate = require('./rate/src/rate.js');
142
142
  var result = require('./result/src/result.js');
@@ -5,9 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  require('../../utils/index.js');
6
6
  var radio$1 = require('./src/radio2.js');
7
7
  var radioButton$1 = require('./src/radio-button2.js');
8
- var radioGroup$1 = require('./src/radio-group2.js');
8
+ var radioGroup$1 = require('./src/radio-group.js');
9
9
  var radio = require('./src/radio.js');
10
- var radioGroup = require('./src/radio-group.js');
10
+ var radioGroup = require('./src/radio-group2.js');
11
11
  var radioButton = require('./src/radio-button.js');
12
12
  var install = require('../../utils/vue/install.js');
13
13
 
@@ -2,46 +2,77 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../utils/index.js');
5
+ var vue = require('vue');
6
+ require('../../../constants/index.js');
7
+ require('../../../tokens/index.js');
6
8
  require('../../../hooks/index.js');
7
- var radio = require('./radio.js');
8
- var runtime = require('../../../utils/vue/props/runtime.js');
9
- var index = require('../../../hooks/use-common-props/index.js');
9
+ require('../../../utils/index.js');
10
+ var radioGroup = require('./radio-group2.js');
11
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
12
+ var index = require('../../../hooks/use-namespace/index.js');
13
+ var index$1 = require('../../../hooks/use-id/index.js');
14
+ var index$2 = require('../../../hooks/use-form-item/index.js');
15
+ var event = require('../../../constants/event.js');
16
+ var radio = require('../../../tokens/radio.js');
17
+ var error = require('../../../utils/error.js');
10
18
 
11
- const radioGroupProps = runtime.buildProps({
12
- id: {
13
- type: String,
14
- default: void 0
15
- },
16
- size: index.useSizeProp,
17
- disabled: Boolean,
18
- modelValue: {
19
- type: [String, Number, Boolean],
20
- default: ""
21
- },
22
- fill: {
23
- type: String,
24
- default: ""
25
- },
26
- label: {
27
- type: String,
28
- default: void 0
29
- },
30
- textColor: {
31
- type: String,
32
- default: ""
33
- },
34
- name: {
35
- type: String,
36
- default: void 0
37
- },
38
- validateEvent: {
39
- type: Boolean,
40
- default: true
19
+ const _hoisted_1 = ["id", "aria-label", "aria-labelledby"];
20
+ const __default__ = vue.defineComponent({
21
+ name: "ElRadioGroup"
22
+ });
23
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
24
+ ...__default__,
25
+ props: radioGroup.radioGroupProps,
26
+ emits: radioGroup.radioGroupEmits,
27
+ setup(__props, { emit }) {
28
+ const props = __props;
29
+ const ns = index.useNamespace("radio");
30
+ const radioId = index$1.useId();
31
+ const radioGroupRef = vue.ref();
32
+ const { formItem } = index$2.useFormItem();
33
+ const { inputId: groupId, isLabeledByFormItem } = index$2.useFormItemInputId(props, {
34
+ formItemContext: formItem
35
+ });
36
+ const changeEvent = (value) => {
37
+ emit(event.UPDATE_MODEL_EVENT, value);
38
+ vue.nextTick(() => emit("change", value));
39
+ };
40
+ vue.onMounted(() => {
41
+ const radios = radioGroupRef.value.querySelectorAll("[type=radio]");
42
+ const firstLabel = radios[0];
43
+ if (!Array.from(radios).some((radio) => radio.checked) && firstLabel) {
44
+ firstLabel.tabIndex = 0;
45
+ }
46
+ });
47
+ const name = vue.computed(() => {
48
+ return props.name || radioId.value;
49
+ });
50
+ vue.provide(radio.radioGroupKey, vue.reactive({
51
+ ...vue.toRefs(props),
52
+ changeEvent,
53
+ name
54
+ }));
55
+ vue.watch(() => props.modelValue, () => {
56
+ if (props.validateEvent) {
57
+ formItem == null ? void 0 : formItem.validate("change").catch((err) => error.debugWarn(err));
58
+ }
59
+ });
60
+ return (_ctx, _cache) => {
61
+ return vue.openBlock(), vue.createElementBlock("div", {
62
+ id: vue.unref(groupId),
63
+ ref_key: "radioGroupRef",
64
+ ref: radioGroupRef,
65
+ class: vue.normalizeClass(vue.unref(ns).b("group")),
66
+ role: "radiogroup",
67
+ "aria-label": !vue.unref(isLabeledByFormItem) ? _ctx.label || "radio-group" : void 0,
68
+ "aria-labelledby": vue.unref(isLabeledByFormItem) ? vue.unref(formItem).labelId : void 0
69
+ }, [
70
+ vue.renderSlot(_ctx.$slots, "default")
71
+ ], 10, _hoisted_1);
72
+ };
41
73
  }
42
74
  });
43
- const radioGroupEmits = radio.radioEmits;
75
+ var RadioGroup = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-group.vue"]]);
44
76
 
45
- exports.radioGroupEmits = radioGroupEmits;
46
- exports.radioGroupProps = radioGroupProps;
77
+ exports["default"] = RadioGroup;
47
78
  //# sourceMappingURL=radio-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.js","sources":["../../../../../../packages/components/radio/src/radio-group.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { useSizeProp } from '@element-plus/hooks'\nimport { radioEmits } from './radio'\nimport type { ExtractPropTypes } from '@vue/runtime-core'\nimport type RadioGroup from './radio-group.vue'\n\nexport const radioGroupProps = buildProps({\n /**\n * @description native `id` attribute\n */\n id: {\n type: String,\n default: undefined,\n },\n /**\n * @description the size of radio buttons or bordered radios\n */\n size: useSizeProp,\n /**\n * @description whether the nesting radios are disabled\n */\n disabled: Boolean,\n /**\n * @description binding value\n */\n modelValue: {\n type: [String, Number, Boolean],\n default: '',\n },\n /**\n * @description border and background color when button is active\n */\n fill: {\n type: String,\n default: '',\n },\n /**\n * @description same as `aria-label` in RadioGroup\n */\n label: {\n type: String,\n default: undefined,\n },\n /**\n * @description font color when button is active\n */\n textColor: {\n type: String,\n default: '',\n },\n /**\n * @description native `name` attribute\n */\n name: {\n type: String,\n default: undefined,\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n} as const)\nexport type RadioGroupProps = ExtractPropTypes<typeof radioGroupProps>\n\nexport const radioGroupEmits = radioEmits\nexport type RadioGroupEmits = typeof radioGroupEmits\nexport type RadioGroupInstance = InstanceType<typeof RadioGroup>\n"],"names":["buildProps","useSizeProp","radioEmits"],"mappings":";;;;;;;;;;AAGY,MAAC,eAAe,GAAGA,kBAAU,CAAC;AAC1C,EAAE,EAAE,EAAE;AACN,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,IAAI,EAAEC,iBAAW;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;AACnC,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,eAAe,GAAGC;;;;;"}
1
+ {"version":3,"file":"radio-group.js","sources":["../../../../../../packages/components/radio/src/radio-group.vue"],"sourcesContent":["<template>\n <div\n :id=\"groupId\"\n ref=\"radioGroupRef\"\n :class=\"ns.b('group')\"\n role=\"radiogroup\"\n :aria-label=\"!isLabeledByFormItem ? label || 'radio-group' : undefined\"\n :aria-labelledby=\"isLabeledByFormItem ? formItem!.labelId : undefined\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n watch,\n} from 'vue'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { radioGroupKey } from '@element-plus/tokens'\nimport {\n useFormItem,\n useFormItemInputId,\n useId,\n useNamespace,\n} from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport { radioGroupEmits, radioGroupProps } from './radio-group'\nimport type { RadioGroupProps } from '..'\n\ndefineOptions({\n name: 'ElRadioGroup',\n})\n\nconst props = defineProps(radioGroupProps)\nconst emit = defineEmits(radioGroupEmits)\n\nconst ns = useNamespace('radio')\nconst radioId = useId()\nconst radioGroupRef = ref<HTMLDivElement>()\nconst { formItem } = useFormItem()\nconst { inputId: groupId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst changeEvent = (value: RadioGroupProps['modelValue']) => {\n emit(UPDATE_MODEL_EVENT, value)\n nextTick(() => emit('change', value))\n}\n\nonMounted(() => {\n const radios =\n radioGroupRef.value!.querySelectorAll<HTMLInputElement>('[type=radio]')\n const firstLabel = radios[0]\n if (!Array.from(radios).some((radio) => radio.checked) && firstLabel) {\n firstLabel.tabIndex = 0\n }\n})\n\nconst name = computed(() => {\n return props.name || radioId.value\n})\n\nprovide(\n radioGroupKey,\n reactive({\n ...toRefs(props),\n changeEvent,\n name,\n })\n)\n\nwatch(\n () => props.modelValue,\n () => {\n if (props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n }\n)\n</script>\n"],"names":["useNamespace","useId","ref","useFormItem","useFormItemInputId","UPDATE_MODEL_EVENT","nextTick","onMounted","computed","provide","radioGroupKey","reactive","toRefs","watch","debugWarn"],"mappings":";;;;;;;;;;;;;;;;;;;uCAoCc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAM,MAAA,EAAA,GAAKA,mBAAa,OAAO,CAAA,CAAA;AAC/B,IAAA,MAAM,UAAUC,aAAM,EAAA,CAAA;AACtB,IAAA,MAAM,gBAAgBC,OAAoB,EAAA,CAAA;AAC1C,IAAM,MAAA,EAAE,aAAaC,mBAAY,EAAA,CAAA;AACjC,IAAA,MAAM,EAAE,OAAA,EAAS,OAAS,EAAA,mBAAA,EAAA,GAAwBC,2BAAmB,KAAO,EAAA;AAAA,MAC1E,eAAiB,EAAA,QAAA;AAAA,KAClB,CAAA,CAAA;AAED,IAAM,MAAA,WAAA,GAAc,CAAC,KAAyC,KAAA;AAC5D,MAAA,IAAA,CAAKC,0BAAoB,KAAK,CAAA,CAAA;AAC9B,MAAAC,YAAA,CAAS,MAAM,IAAA,CAAK,QAAU,EAAA,KAAK,CAAC,CAAA,CAAA;AAAA,KACtC,CAAA;AAEA,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,MAAM,MACJ,GAAA,aAAA,CAAc,KAAO,CAAA,gBAAA,CAAmC,cAAc,CAAA,CAAA;AACxE,MAAA,MAAM,aAAa,MAAO,CAAA,CAAA,CAAA,CAAA;AAC1B,MAAI,IAAA,CAAC,KAAM,CAAA,IAAA,CAAK,MAAM,CAAA,CAAE,IAAK,CAAA,CAAC,KAAU,KAAA,KAAA,CAAM,OAAO,CAAA,IAAK,UAAY,EAAA;AACpE,QAAA,UAAA,CAAW,QAAW,GAAA,CAAA,CAAA;AAAA,OACxB;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,IAAA,GAAOC,aAAS,MAAM;AAC1B,MAAO,OAAA,KAAA,CAAM,QAAQ,OAAQ,CAAA,KAAA,CAAA;AAAA,KAC9B,CAAA,CAAA;AAED,IAAAC,WAAA,CACEC,qBACAC,YAAS,CAAA;AAAA,MACP,GAAGC,WAAO,KAAK,CAAA;AAAA,MACf,WAAA;AAAA,MACA,IAAA;AAAA,KACD,CACH,CAAA,CAAA;AAEA,IACEC,SAAA,CAAA,MAAM,KAAM,CAAA,UAAA,EACZ,MAAM;AACJ,MAAA,IAAI,MAAM,aAAe,EAAA;AACvB,QAAU,QAAA,IAAA,IAAA,GAAS,SAAU,QAAO,CAAQ,QAAA,CAAA,QAAU,OAAI,CAAA,CAAA,GAAA,KAAAC,eAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAA,OAC5D;AAAA,KAEJ,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;"}