bkui-vue 1.0.3-beta.60.scrollbar.4 → 1.0.3-beta.61

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 (210) hide show
  1. package/dist/index.cjs.js +50 -52
  2. package/dist/index.esm.js +13994 -14680
  3. package/dist/index.umd.js +50 -52
  4. package/dist/style.css +1 -1
  5. package/dist/style.variable.css +1 -1
  6. package/lib/affix/index.js +1 -1
  7. package/lib/alert/index.js +1 -1
  8. package/lib/animate-number/index.js +7 -8
  9. package/lib/badge/index.js +1 -1
  10. package/lib/breadcrumb/index.js +1 -1
  11. package/lib/button/index.js +1 -1
  12. package/lib/card/index.js +1 -1
  13. package/lib/cascader/index.js +38 -42
  14. package/lib/checkbox/index.js +6 -7
  15. package/lib/collapse/index.js +11 -12
  16. package/lib/collapse-transition/index.js +3 -4
  17. package/lib/color-picker/index.js +10 -13
  18. package/lib/components.d.ts +1 -0
  19. package/lib/components.js +2 -1
  20. package/lib/config-provider/index.js +1 -1
  21. package/lib/container/index.js +10 -12
  22. package/lib/date-picker/index.js +2 -2
  23. package/lib/dialog/dialog.css +7 -9
  24. package/lib/dialog/dialog.variable.css +7 -9
  25. package/lib/dialog/index.js +4 -4
  26. package/lib/directives/index.js +1 -1
  27. package/lib/divider/index.js +2 -3
  28. package/lib/dropdown/index.js +6 -8
  29. package/lib/exception/index.js +1 -1
  30. package/lib/fixed-navbar/index.js +2 -3
  31. package/lib/form/index.js +1 -1
  32. package/lib/icon/angle-double-down-line.js +1 -1
  33. package/lib/icon/angle-double-left-line.js +1 -1
  34. package/lib/icon/angle-double-left.js +1 -1
  35. package/lib/icon/angle-double-right-line.js +1 -1
  36. package/lib/icon/angle-double-right.js +1 -1
  37. package/lib/icon/angle-double-up-line.js +1 -1
  38. package/lib/icon/angle-down-fill.js +1 -1
  39. package/lib/icon/angle-down-line.js +1 -1
  40. package/lib/icon/angle-down.js +1 -1
  41. package/lib/icon/angle-left.js +1 -1
  42. package/lib/icon/angle-right.js +1 -1
  43. package/lib/icon/angle-up-fill.js +1 -1
  44. package/lib/icon/angle-up.js +1 -1
  45. package/lib/icon/archive-fill.js +1 -1
  46. package/lib/icon/arrows-left.js +1 -1
  47. package/lib/icon/arrows-right.js +1 -1
  48. package/lib/icon/assistant.js +1 -1
  49. package/lib/icon/audio-fill.js +1 -1
  50. package/lib/icon/bk.js +1 -1
  51. package/lib/icon/circle.js +1 -1
  52. package/lib/icon/close-line.js +1 -1
  53. package/lib/icon/close.js +1 -1
  54. package/lib/icon/code.js +1 -1
  55. package/lib/icon/cog-shape.js +1 -1
  56. package/lib/icon/collapse-left.js +1 -1
  57. package/lib/icon/copy-shape.js +1 -1
  58. package/lib/icon/copy.js +1 -1
  59. package/lib/icon/data-shape.js +1 -1
  60. package/lib/icon/del.js +1 -1
  61. package/lib/icon/doc-fill.js +1 -1
  62. package/lib/icon/done.js +1 -1
  63. package/lib/icon/down-shape.js +1 -1
  64. package/lib/icon/down-small.js +1 -1
  65. package/lib/icon/edit-line.js +1 -1
  66. package/lib/icon/ellipsis.js +1 -1
  67. package/lib/icon/enlarge-line.js +1 -1
  68. package/lib/icon/error.js +1 -1
  69. package/lib/icon/excel-fill.js +1 -1
  70. package/lib/icon/exclamation-circle-shape.js +1 -1
  71. package/lib/icon/eye.js +1 -1
  72. package/lib/icon/filliscreen-line.js +1 -1
  73. package/lib/icon/fix-line.js +1 -1
  74. package/lib/icon/fix-shape.js +1 -1
  75. package/lib/icon/folder-open.js +1 -1
  76. package/lib/icon/folder-shape-open.js +1 -1
  77. package/lib/icon/folder-shape.js +1 -1
  78. package/lib/icon/folder.js +1 -1
  79. package/lib/icon/funnel.js +1 -1
  80. package/lib/icon/grag-fill.js +1 -1
  81. package/lib/icon/help-document-fill.js +1 -1
  82. package/lib/icon/help-fill.js +1 -1
  83. package/lib/icon/help.js +1 -1
  84. package/lib/icon/image-fill.js +1 -1
  85. package/lib/icon/img-error.js +1 -1
  86. package/lib/icon/img-placehoulder.js +1 -1
  87. package/lib/icon/info-line.js +1 -1
  88. package/lib/icon/info.js +1 -1
  89. package/lib/icon/left-shape.js +1 -1
  90. package/lib/icon/left-turn-line.js +1 -1
  91. package/lib/icon/loading.js +1 -1
  92. package/lib/icon/narrow-line.js +1 -1
  93. package/lib/icon/original.js +1 -1
  94. package/lib/icon/pdf-fill.js +1 -1
  95. package/lib/icon/play-shape.js +1 -1
  96. package/lib/icon/plus.js +1 -1
  97. package/lib/icon/ppt-fill.js +1 -1
  98. package/lib/icon/qq.js +1 -1
  99. package/lib/icon/right-shape.js +1 -1
  100. package/lib/icon/right-turn-line.js +1 -1
  101. package/lib/icon/search.js +1 -1
  102. package/lib/icon/share.js +1 -1
  103. package/lib/icon/spinner.js +1 -1
  104. package/lib/icon/success.js +1 -1
  105. package/lib/icon/switcher-loading.js +1 -1
  106. package/lib/icon/text-all.js +1 -1
  107. package/lib/icon/text-file.js +1 -1
  108. package/lib/icon/text-fill.js +1 -1
  109. package/lib/icon/transfer.js +1 -1
  110. package/lib/icon/tree-application-shape.js +1 -1
  111. package/lib/icon/unfull-screen.js +1 -1
  112. package/lib/icon/unvisible.js +1 -1
  113. package/lib/icon/up-shape.js +1 -1
  114. package/lib/icon/upload.js +1 -1
  115. package/lib/icon/video-fill.js +1 -1
  116. package/lib/icon/warn.js +1 -1
  117. package/lib/icon/weixin-pro.js +1 -1
  118. package/lib/icon/weixin.js +1 -1
  119. package/lib/image/index.js +10 -11
  120. package/lib/info-box/index.js +5 -4
  121. package/lib/input/index.js +4 -4
  122. package/lib/link/index.js +2 -2
  123. package/lib/loading/index.js +11 -12
  124. package/lib/menu/index.js +2 -3
  125. package/lib/message/index.js +1 -1
  126. package/lib/modal/hooks.d.ts +1 -1
  127. package/lib/modal/index.d.ts +3 -0
  128. package/lib/modal/index.js +25 -26
  129. package/lib/modal/modal.css +7 -9
  130. package/lib/modal/modal.d.ts +1 -0
  131. package/lib/modal/modal.less +11 -18
  132. package/lib/modal/modal.variable.css +7 -9
  133. package/lib/navigation/index.js +7 -9
  134. package/lib/notify/index.js +1 -1
  135. package/lib/overflow-title/index.js +9 -10
  136. package/lib/pagination/index.js +1 -1
  137. package/lib/plugin-popover/index.js +26 -30
  138. package/lib/pop-confirm/index.js +4 -5
  139. package/lib/popover/index.js +26 -30
  140. package/lib/popover2/index.js +2 -2
  141. package/lib/process/index.js +4 -4
  142. package/lib/progress/index.js +5 -6
  143. package/lib/radio/index.js +6 -7
  144. package/lib/rate/index.js +1 -1
  145. package/lib/resize-layout/index.js +1 -1
  146. package/lib/search-select/index.d.ts +327 -12
  147. package/lib/search-select/index.js +630 -353
  148. package/lib/search-select/input.d.ts +6 -1
  149. package/lib/search-select/search-select.css +20 -6
  150. package/lib/search-select/search-select.d.ts +109 -4
  151. package/lib/search-select/search-select.less +16 -12
  152. package/lib/search-select/search-select.variable.css +20 -6
  153. package/lib/search-select/selected.d.ts +107 -5
  154. package/lib/search-select/utils.d.ts +13 -1
  155. package/lib/select/index.d.ts +56 -0
  156. package/lib/select/index.js +12 -7
  157. package/lib/select/select.css +19 -5
  158. package/lib/select/select.d.ts +22 -0
  159. package/lib/select/select.less +26 -6
  160. package/lib/select/select.variable.css +19 -5
  161. package/lib/select/selectTagInput.d.ts +7 -0
  162. package/lib/shared/index.js +5 -8
  163. package/lib/sideslider/index.js +4 -4
  164. package/lib/sideslider/sideslider.css +0 -5
  165. package/lib/sideslider/sideslider.less +8 -14
  166. package/lib/sideslider/sideslider.variable.css +0 -5
  167. package/lib/slider/index.js +19 -20
  168. package/lib/steps/index.js +4 -4
  169. package/lib/swiper/index.js +1 -1
  170. package/lib/switcher/index.js +1 -1
  171. package/lib/tab/index.js +3 -4
  172. package/lib/table/const.d.ts +1 -1
  173. package/lib/table/index.js +24 -26
  174. package/lib/table/plugins/use-fixed-column.d.ts +1 -1
  175. package/lib/table/table.css +42 -96
  176. package/lib/table/table.less +56 -41
  177. package/lib/table/table.variable.css +42 -96
  178. package/lib/table/use-render.d.ts +1 -1
  179. package/lib/table-column/index.js +2 -2
  180. package/lib/tag/index.js +1 -1
  181. package/lib/tag-input/index.js +3 -4
  182. package/lib/timeline/index.js +1 -0
  183. package/lib/tree/index.js +10 -12
  184. package/lib/tree/tree.css +2 -75
  185. package/lib/tree/tree.variable.css +2 -75
  186. package/lib/upload/index.d.ts +12 -0
  187. package/lib/upload/index.js +25 -34
  188. package/lib/upload/props.d.ts +3 -0
  189. package/lib/upload/upload-trigger.d.ts +6 -0
  190. package/lib/upload/upload.d.ts +6 -0
  191. package/lib/virtual-render/index.d.ts +0 -4
  192. package/lib/virtual-render/index.js +235 -2436
  193. package/lib/virtual-render/props.d.ts +0 -7
  194. package/lib/virtual-render/use-fix-top.d.ts +7 -2
  195. package/lib/virtual-render/v-virtual-render.d.ts +1 -2
  196. package/lib/virtual-render/virtual-render.css +2 -75
  197. package/lib/virtual-render/virtual-render.d.ts +0 -2
  198. package/lib/virtual-render/virtual-render.less +2 -2
  199. package/lib/virtual-render/virtual-render.variable.css +2 -75
  200. package/package.json +1 -5
  201. package/lib/virtual-render/bk-scrollbar.css +0 -74
  202. package/lib/virtual-render/bk-scrollbar.d.ts +0 -10
  203. package/lib/virtual-render/bk-scrollbar.less +0 -93
  204. package/lib/virtual-render/bk-scrollbar.variable.css +0 -203
  205. package/lib/virtual-render/scrollbar-core/can-use-dom.d.ts +0 -2
  206. package/lib/virtual-render/scrollbar-core/helpers.d.ts +0 -5
  207. package/lib/virtual-render/scrollbar-core/index.d.ts +0 -213
  208. package/lib/virtual-render/scrollbar-core/mouse-wheel.d.ts +0 -5
  209. package/lib/virtual-render/scrollbar-core/scrollbar-width.d.ts +0 -1
  210. package/lib/virtual-render/use-scrollbar.d.ts +0 -23
@@ -126,7 +126,7 @@ function _regeneratorRuntime() {
126
126
  function makeInvokeMethod(e, r, n) {
127
127
  var o = h;
128
128
  return function (i, a) {
129
- if (o === f) throw new Error("Generator is already running");
129
+ if (o === f) throw Error("Generator is already running");
130
130
  if (o === s) {
131
131
  if ("throw" === i) throw a;
132
132
  return {
@@ -268,7 +268,7 @@ function _regeneratorRuntime() {
268
268
  } else if (c) {
269
269
  if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
270
270
  } else {
271
- if (!u) throw new Error("try statement without catch or finally");
271
+ if (!u) throw Error("try statement without catch or finally");
272
272
  if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
273
273
  }
274
274
  }
@@ -308,7 +308,7 @@ function _regeneratorRuntime() {
308
308
  return o;
309
309
  }
310
310
  }
311
- throw new Error("illegal catch attempt");
311
+ throw Error("illegal catch attempt");
312
312
  },
313
313
  delegateYield: function delegateYield(e, r, n) {
314
314
  return this.delegate = {
@@ -459,7 +459,7 @@ function toPrimitive(t, r) {
459
459
 
460
460
  function toPropertyKey(t) {
461
461
  var i = toPrimitive(t, "string");
462
- return "symbol" == _typeof(i) ? i : String(i);
462
+ return "symbol" == _typeof(i) ? i : i + "";
463
463
  }
464
464
  ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/defineProperty.js
465
465
 
@@ -480,7 +480,7 @@ function _defineProperty(obj, key, value) {
480
480
  ;// CONCATENATED MODULE: external "vue"
481
481
  var external_vue_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
482
482
  var external_vue_y = x => () => x
483
- const external_vue_namespaceObject = external_vue_x({ ["Fragment"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.Fragment, ["computed"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.computed, ["createTextVNode"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.createTextVNode, ["createVNode"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.createVNode, ["defineComponent"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent, ["inject"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.inject, ["onBeforeUnmount"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.onBeforeUnmount, ["onMounted"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.onMounted, ["provide"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.provide, ["ref"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.ref, ["resolveDirective"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.resolveDirective, ["shallowRef"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.shallowRef, ["watch"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.watch, ["watchEffect"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.watchEffect, ["withDirectives"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.withDirectives });
483
+ const external_vue_namespaceObject = external_vue_x({ ["Fragment"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.Fragment, ["computed"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.computed, ["createTextVNode"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.createTextVNode, ["createVNode"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.createVNode, ["defineComponent"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent, ["inject"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.inject, ["nextTick"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.nextTick, ["onBeforeUnmount"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.onBeforeUnmount, ["onMounted"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.onMounted, ["provide"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.provide, ["ref"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.ref, ["resolveDirective"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.resolveDirective, ["shallowRef"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.shallowRef, ["watch"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.watch, ["withDirectives"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.withDirectives });
484
484
  ;// CONCATENATED MODULE: ../../node_modules/resize-detector/esm/index.js
485
485
  var raf = null;
486
486
  function requestAnimationFrame (callback) {
@@ -809,6 +809,66 @@ const directives_namespaceObject = directives_x({ ["clickoutside"]: () => __WEBP
809
809
  var icon_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
810
810
  var icon_y = x => () => x
811
811
  const icon_namespaceObject = icon_x({ ["Close"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.Close, ["Error"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.Error, ["ExclamationCircleShape"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.ExclamationCircleShape, ["Search"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.Search });
812
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
813
+ function _arrayWithHoles(arr) {
814
+ if (Array.isArray(arr)) return arr;
815
+ }
816
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
817
+ function _iterableToArrayLimit(r, l) {
818
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
819
+ if (null != t) {
820
+ var e,
821
+ n,
822
+ i,
823
+ u,
824
+ a = [],
825
+ f = !0,
826
+ o = !1;
827
+ try {
828
+ if (i = (t = t.call(r)).next, 0 === l) {
829
+ if (Object(t) !== t) return;
830
+ f = !1;
831
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
832
+ } catch (r) {
833
+ o = !0, n = r;
834
+ } finally {
835
+ try {
836
+ if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
837
+ } finally {
838
+ if (o) throw n;
839
+ }
840
+ }
841
+ return a;
842
+ }
843
+ }
844
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
845
+ function _arrayLikeToArray(arr, len) {
846
+ if (len == null || len > arr.length) len = arr.length;
847
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
848
+ return arr2;
849
+ }
850
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
851
+
852
+ function _unsupportedIterableToArray(o, minLen) {
853
+ if (!o) return;
854
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
855
+ var n = Object.prototype.toString.call(o).slice(8, -1);
856
+ if (n === "Object" && o.constructor) n = o.constructor.name;
857
+ if (n === "Map" || n === "Set") return Array.from(o);
858
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
859
+ }
860
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
861
+ function _nonIterableRest() {
862
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
863
+ }
864
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js
865
+
866
+
867
+
868
+
869
+ function _slicedToArray(arr, i) {
870
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
871
+ }
812
872
  ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js
813
873
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
814
874
  try {
@@ -867,6 +927,27 @@ const radio_namespaceObject = radio_x({ ["default"]: () => __WEBPACK_EXTERNAL_MO
867
927
  var radio_less_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
868
928
  var radio_less_y = x => () => x
869
929
  const radio_less_namespaceObject = radio_less_x({ });
930
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
931
+
932
+ function _arrayWithoutHoles(arr) {
933
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
934
+ }
935
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/iterableToArray.js
936
+ function _iterableToArray(iter) {
937
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
938
+ }
939
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
940
+ function _nonIterableSpread() {
941
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
942
+ }
943
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
944
+
945
+
946
+
947
+
948
+ function _toConsumableArray(arr) {
949
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
950
+ }
870
951
  ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js
871
952
  function _classCallCheck(instance, Constructor) {
872
953
  if (!(instance instanceof Constructor)) {
@@ -896,6 +977,7 @@ function _createClass(Constructor, protoProps, staticProps) {
896
977
 
897
978
 
898
979
 
980
+
899
981
  /*
900
982
  * Tencent is pleased to support the open source community by making
901
983
  * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
@@ -922,6 +1004,7 @@ function _createClass(Constructor, protoProps, staticProps) {
922
1004
  * IN THE SOFTWARE.
923
1005
  */
924
1006
 
1007
+
925
1008
  /**
926
1009
  * @description: 获取menu list方法
927
1010
  * @param {ISearchItem} item 已选择的key字段 为空则代表当前并未选择key字段
@@ -933,6 +1016,11 @@ var ValueBehavior;
933
1016
  ValueBehavior["ALL"] = "all";
934
1017
  ValueBehavior["NEEDKEY"] = "need-key";
935
1018
  })(ValueBehavior || (ValueBehavior = {}));
1019
+ var DeleteBehavior;
1020
+ (function (DeleteBehavior) {
1021
+ DeleteBehavior["CHAR"] = "delete-char";
1022
+ DeleteBehavior["VALUE"] = "delete-value";
1023
+ })(DeleteBehavior || (DeleteBehavior = {}));
936
1024
  var SEARCH_SLECT_PROVIDER_KEY = Symbol('SEARCH_SLECT_PROVIDER_KEY');
937
1025
  var useSearchSelectProvider = function useSearchSelectProvider(data) {
938
1026
  (0,external_vue_namespaceObject.provide)(SEARCH_SLECT_PROVIDER_KEY, data);
@@ -945,6 +1033,8 @@ var SearchInputMode;
945
1033
  SearchInputMode["DEFAULT"] = "default";
946
1034
  SearchInputMode["EDIT"] = "edit";
947
1035
  })(SearchInputMode || (SearchInputMode = {}));
1036
+ var ValueSplitRegex = /(\||,|、|\/|\r\n|\n)/gm;
1037
+ var ValueSplitTestRegex = /^(\||,|、|\/|\r\n|\n)$/;
948
1038
  var SearchLogical;
949
1039
  (function (SearchLogical) {
950
1040
  SearchLogical["AND"] = "&";
@@ -955,13 +1045,15 @@ var SelectedItem = /*#__PURE__*/function () {
955
1045
  var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';
956
1046
  _classCallCheck(this, SelectedItem);
957
1047
  _defineProperty(this, "values", []);
1048
+ _defineProperty(this, "nameRenderkey", (0,shared_namespaceObject.random)(4));
958
1049
  this.searchItem = searchItem;
959
1050
  this.type = type;
960
1051
  this.id = searchItem.id;
961
1052
  this.name = searchItem.name;
962
1053
  this.logical = searchItem.logical || SearchLogical.OR;
1054
+ this.type = type;
963
1055
  }
964
- _createClass(SelectedItem, [{
1056
+ return _createClass(SelectedItem, [{
965
1057
  key: "multiple",
966
1058
  get: function get() {
967
1059
  return !!this.searchItem.multiple;
@@ -1024,6 +1116,7 @@ var SelectedItem = /*#__PURE__*/function () {
1024
1116
  }, {
1025
1117
  key: "addValue",
1026
1118
  value: function addValue(item) {
1119
+ this.nameRenderkey = (0,shared_namespaceObject.random)(4);
1027
1120
  if (this.multiple) {
1028
1121
  var index = this.values.findIndex(function (val) {
1029
1122
  return val.id === item.id;
@@ -1037,6 +1130,69 @@ var SelectedItem = /*#__PURE__*/function () {
1037
1130
  }
1038
1131
  this.values = [item];
1039
1132
  }
1133
+ }, {
1134
+ key: "str2Values",
1135
+ value: function str2Values(str) {
1136
+ var _this = this;
1137
+ var list = str === null || str === void 0 ? void 0 : str.split(this.logical).map(function (v) {
1138
+ return v.trim();
1139
+ }).filter(function (v) {
1140
+ return v;
1141
+ });
1142
+ if (!(list !== null && list !== void 0 && list.length)) return [];
1143
+ var findChildByName = function findChildByName(name) {
1144
+ return _this.children.find(function (item) {
1145
+ return item.name === name;
1146
+ });
1147
+ };
1148
+ if (!this.multiple) {
1149
+ var val = list.join(" ".concat(this.logical, " ")).trim();
1150
+ var item = findChildByName(val);
1151
+ return [{
1152
+ id: item ? item.id : val,
1153
+ name: item ? item.name : val,
1154
+ disabled: !!(item !== null && item !== void 0 && item.disabled)
1155
+ }];
1156
+ }
1157
+ // 对于多选情况,处理整个列表
1158
+ return list.map(function (val) {
1159
+ var existing = _this.values.find(function (item) {
1160
+ return item.name === val;
1161
+ });
1162
+ if (existing) return existing;
1163
+ var item = findChildByName(val);
1164
+ return {
1165
+ id: item ? item.id : val,
1166
+ name: item ? item.name : val,
1167
+ disabled: !!(item !== null && item !== void 0 && item.disabled)
1168
+ };
1169
+ });
1170
+ }
1171
+ }, {
1172
+ key: "addValues",
1173
+ value: function addValues(str) {
1174
+ var mergeValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
1175
+ var valuesFromStr = str.split(ValueSplitRegex).filter(function (v) {
1176
+ return v.trim() && !ValueSplitTestRegex.test(v);
1177
+ });
1178
+ var currentValues = mergeValues ? this.values.map(function (item) {
1179
+ return item.name;
1180
+ }) : [];
1181
+ var combinedValues = [].concat(_toConsumableArray(valuesFromStr), _toConsumableArray(currentValues));
1182
+ var logicalString = combinedValues.filter(function (v) {
1183
+ return v.trim();
1184
+ }).join(this.logical);
1185
+ this.values = this.str2Values(logicalString);
1186
+ }
1187
+ }, {
1188
+ key: "getValue",
1189
+ value: function getValue(str) {
1190
+ return this.values.find(function (item) {
1191
+ return item.id === str;
1192
+ }) || this.values.find(function (item) {
1193
+ return item.name === str;
1194
+ });
1195
+ }
1040
1196
  }, {
1041
1197
  key: "toValue",
1042
1198
  value: function toValue() {
@@ -1074,7 +1230,6 @@ var SelectedItem = /*#__PURE__*/function () {
1074
1230
  });
1075
1231
  }
1076
1232
  }]);
1077
- return SelectedItem;
1078
1233
  }();
1079
1234
  ;// CONCATENATED MODULE: ../../packages/search-select/src/menu.tsx
1080
1235
 
@@ -1107,10 +1262,9 @@ var SelectedItem = /*#__PURE__*/function () {
1107
1262
 
1108
1263
 
1109
1264
 
1110
-
1111
1265
  // import { Done } from '@bkui-vue/icon';
1112
1266
 
1113
- /* harmony default export */ const menu = ((0,external_vue_namespaceObject.defineComponent)({
1267
+ /* harmony default export */ const menu = (defineComponent({
1114
1268
  name: 'SearchSelectMenu',
1115
1269
  props: {
1116
1270
  list: {
@@ -1155,7 +1309,7 @@ var SelectedItem = /*#__PURE__*/function () {
1155
1309
  var t = (0,config_provider_namespaceObject.useLocale)('searchSelect');
1156
1310
  var _usePrefix = (0,config_provider_namespaceObject.usePrefix)(),
1157
1311
  resolveClassName = _usePrefix.resolveClassName;
1158
- var localFooterBtns = (0,external_vue_namespaceObject.computed)(function () {
1312
+ var localFooterBtns = computed(function () {
1159
1313
  if (props.footerBtns === undefined || props.footerBtns.length === 0) {
1160
1314
  return [{
1161
1315
  id: 'confirm',
@@ -1178,7 +1332,7 @@ var SelectedItem = /*#__PURE__*/function () {
1178
1332
  function handleClickFooterBtn(item) {
1179
1333
  emit('footerClick', item);
1180
1334
  }
1181
- var filterList = (0,external_vue_namespaceObject.computed)(function () {
1335
+ var filterList = computed(function () {
1182
1336
  var _props$list, _props$keyword;
1183
1337
  if (!((_props$list = props.list) !== null && _props$list !== void 0 && _props$list.length)) return [];
1184
1338
  if (!((_props$keyword = props.keyword) !== null && _props$keyword !== void 0 && _props$keyword.length)) return props.list;
@@ -1315,9 +1469,10 @@ var SelectedItem = /*#__PURE__*/function () {
1315
1469
 
1316
1470
 
1317
1471
 
1472
+
1473
+
1318
1474
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1319
1475
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1320
-
1321
1476
  /*
1322
1477
  * Tencent is pleased to support the open source community by making
1323
1478
  * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
@@ -1403,7 +1558,8 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
1403
1558
  var menuList = (0,external_vue_namespaceObject.ref)([]);
1404
1559
  var _useSearchSelectInjec = useSearchSelectInject(),
1405
1560
  editKey = _useSearchSelectInjec.editKey,
1406
- onValidate = _useSearchSelectInjec.onValidate;
1561
+ onValidate = _useSearchSelectInjec.onValidate,
1562
+ searchData = _useSearchSelectInjec.searchData;
1407
1563
  var valueLoagic = (0,external_vue_namespaceObject.computed)(function () {
1408
1564
  var _usingItem$value;
1409
1565
  return ((_usingItem$value = usingItem.value) === null || _usingItem$value === void 0 ? void 0 : _usingItem$value.logical) || SearchLogical.OR;
@@ -1414,26 +1570,25 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
1414
1570
  }
1415
1571
  });
1416
1572
  // effects
1417
- (0,external_vue_namespaceObject.watchEffect)(function () {
1418
- if (!keyword.value) {
1419
- setInputText();
1420
- }
1421
- }, {
1422
- flush: 'pre'
1423
- });
1573
+ // watchEffect(
1574
+ // () => {
1575
+ // if (!keyword.value) {
1576
+ // setInputText();
1577
+ // }
1578
+ // },
1579
+ // { flush: 'pre' },
1580
+ // );
1424
1581
  (0,external_vue_namespaceObject.watch)([menuList, showPopover], function () {
1425
1582
  var _menuList$value;
1426
- if ((_menuList$value = menuList.value) !== null && _menuList$value !== void 0 && _menuList$value.some(function (item) {
1583
+ var shouldBindEvent = showPopover.value && ((_menuList$value = menuList.value) === null || _menuList$value === void 0 ? void 0 : _menuList$value.some(function (item) {
1427
1584
  return !item.disabled;
1428
- }) && showPopover.value) {
1585
+ }));
1586
+ if (shouldBindEvent) {
1429
1587
  if (!isBindEvent) {
1430
- if (props.valueBehavior === ValueBehavior.NEEDKEY) {
1431
- menuHoverId.value = menuList.value.find(function (item) {
1432
- return !item.disabled;
1433
- }).id;
1434
- } else {
1435
- menuHoverId.value = '';
1436
- }
1588
+ var _menuList$value$find;
1589
+ menuHoverId.value = props.valueBehavior === ValueBehavior.NEEDKEY ? ((_menuList$value$find = menuList.value.find(function (item) {
1590
+ return !item.disabled;
1591
+ })) === null || _menuList$value$find === void 0 ? void 0 : _menuList$value$find.id) || '' : '';
1437
1592
  isBindEvent = true;
1438
1593
  document.addEventListener('keydown', handleDocumentKeydown);
1439
1594
  }
@@ -1463,84 +1618,91 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
1463
1618
  e.preventDefault();
1464
1619
  (_inputRef$value = inputRef.value) === null || _inputRef$value === void 0 || _inputRef$value.blur();
1465
1620
  var len = menuList.value.length;
1466
- var i = len;
1467
1621
  var index = menuList.value.findIndex(function (set) {
1468
1622
  return set.id === menuHoverId.value;
1469
1623
  });
1470
- while (i >= 0) {
1471
- index = e.code === 'ArrowDown' ? index + 1 : index - 1;
1472
- // eslint-disable-next-line no-nested-ternary
1473
- index = index > len - 1 ? 0 : index < 0 ? len - 1 : index;
1624
+ for (var tries = 0; tries < len; tries++) {
1625
+ index = (index + (e.code === 'ArrowDown' ? 1 : -1) + len) % len;
1474
1626
  var item = menuList.value[index];
1475
1627
  if (item && !item.disabled) {
1476
- i = -1;
1477
1628
  var dom = document.getElementById(item.id);
1478
1629
  dom === null || dom === void 0 || dom.focus();
1479
1630
  menuHoverId.value = item.id;
1480
- return;
1631
+ break;
1481
1632
  }
1482
- i -= 1;
1483
1633
  }
1484
1634
  }
1485
1635
  function documentEnterEvent(e) {
1486
- if (isBindEvent) {
1487
- e.preventDefault();
1488
- var item = menuList.value.find(function (item) {
1489
- return item.id === menuHoverId.value;
1490
- });
1491
- item && handleSelectItem(item);
1492
- }
1636
+ if (!isBindEvent) return;
1637
+ e.preventDefault();
1638
+ var item = menuList.value.find(function (item) {
1639
+ return item.id === menuHoverId.value;
1640
+ });
1641
+ item && handleSelectItem(item);
1493
1642
  }
1494
1643
  function handleClickOutside(e) {
1495
1644
  var _popoverRef$value, _props$clickOutside;
1496
1645
  if (!((_popoverRef$value = popoverRef.value) !== null && _popoverRef$value !== void 0 && _popoverRef$value.contains(e.target)) && (_props$clickOutside = props.clickOutside) !== null && _props$clickOutside !== void 0 && _props$clickOutside.call(props, e.target, popoverRef.value)) {
1497
- var _usingItem$value2, _usingItem$value3;
1498
- if ((_usingItem$value2 = usingItem.value) !== null && _usingItem$value2 !== void 0 && (_usingItem$value2 = _usingItem$value2.values) !== null && _usingItem$value2 !== void 0 && _usingItem$value2.length && (_usingItem$value3 = usingItem.value) !== null && _usingItem$value3 !== void 0 && _usingItem$value3.multiple) {
1499
- keyword.value = '';
1500
- handleKeyEnter();
1646
+ if (props.mode === SearchInputMode.EDIT || usingItem.value) {
1647
+ usingItem.value && handleKeyEnter().then(function (v) {
1648
+ return v && clearInput();
1649
+ });
1650
+ if (!usingItem.value) {
1651
+ emit('focus', false);
1652
+ }
1501
1653
  return;
1502
1654
  }
1503
- showPopover.value = false;
1504
1655
  isFocus.value = false;
1656
+ showPopover.value = false;
1505
1657
  emit('focus', isFocus.value);
1506
1658
  }
1507
1659
  }
1508
- function handleInputFocus(e) {
1509
- setInputFocus();
1510
- e && setMenuList();
1511
- }
1512
- function handleInputChange(event) {
1513
- var _usingItem$value5, _usingItem$value8;
1514
- clearInput();
1515
- var text = event.target.innerText;
1516
- if (/(\r|\n)/gm.test(text) || /\s{2}/gm.test(text)) {
1517
- var _usingItem$value4;
1518
- event.preventDefault();
1519
- text = text.replace(/(\r|\n)/gm, " ".concat(valueLoagic.value, " ")).replace(/\s{2}/gm, '');
1520
- inputRef.value.innerText = text;
1521
- setInputFocus();
1522
- keyword.value = text.replace(((_usingItem$value4 = usingItem.value) === null || _usingItem$value4 === void 0 ? void 0 : _usingItem$value4.keyInnerText) || '', '').trim();
1523
- debounceSetMenuList();
1524
- } else if (!keyword.value && text.length < (((_usingItem$value5 = usingItem.value) === null || _usingItem$value5 === void 0 || (_usingItem$value5 = _usingItem$value5.inputInnerText) === null || _usingItem$value5 === void 0 ? void 0 : _usingItem$value5.length) || 1)) {
1525
- var _usingItem$value6, _usingItem$value7, _usingItem$value$valu, _text;
1526
- var outerText = text.replace("\xA0", " ").replace(((_usingItem$value6 = usingItem.value) === null || _usingItem$value6 === void 0 ? void 0 : _usingItem$value6.keyInnerText.replace("\xA0", " ").trim()) || '', '').trim();
1527
- var hasKeyword = text && ((_usingItem$value7 = usingItem.value) === null || _usingItem$value7 === void 0 ? void 0 : _usingItem$value7.keyInnerText) && text.replace("\xA0", " ").includes(usingItem.value.keyInnerText.replace("\xA0", " ").trim());
1528
- if (hasKeyword && outerText && (_usingItem$value$valu = usingItem.value.values) !== null && _usingItem$value$valu !== void 0 && _usingItem$value$valu.length) {
1529
- keyword.value = outerText;
1530
- debounceSetMenuList();
1660
+ function handleInputFocus() {
1661
+ showNoSelectValueError.value = false;
1662
+ if (props.mode === SearchInputMode.EDIT && usingItem.value && !isFocus.value) {
1663
+ var nodeList = Array.from(inputRef.value.querySelectorAll("[data-type=\"".concat(usingItem.value.values.length ? 'value' : usingItem.value.type, "\"]")));
1664
+ if (!nodeList.length) return;
1665
+ var range = document.createRange();
1666
+ var selection = window.getSelection();
1667
+ range.selectNodeContents(nodeList.at(-1));
1668
+ selection === null || selection === void 0 || selection.removeAllRanges();
1669
+ selection.addRange(range); // 注意这里会触发focu事件
1670
+ setInputFocus(true, false);
1671
+ return;
1672
+ }
1673
+ setMenuList();
1674
+ setInputFocus(false, !isFocus.value);
1675
+ }
1676
+ function handleInputPaste(event) {
1677
+ event.preventDefault();
1678
+ var formattedText = event.clipboardData.getData('text').trim();
1679
+ if (!usingItem.value) {
1680
+ var formateItem = str2SeletedItem(formattedText);
1681
+ if (formateItem) {
1682
+ usingItem.value = formateItem;
1683
+ setInputFocus(true, true);
1531
1684
  return;
1532
1685
  }
1533
- if (outerText || !((_text = text) !== null && _text !== void 0 && _text.length)) {
1534
- usingItem.value = null;
1535
- }
1536
- keyword.value = outerText ? text : '';
1537
- debounceSetMenuList();
1538
- } else if (!((_usingItem$value8 = usingItem.value) !== null && _usingItem$value8 !== void 0 && (_usingItem$value8 = _usingItem$value8.values) !== null && _usingItem$value8 !== void 0 && _usingItem$value8.length)) {
1539
- var _usingItem$value9;
1540
- keyword.value = text.replace("\xA0", " ").replace(((_usingItem$value9 = usingItem.value) === null || _usingItem$value9 === void 0 ? void 0 : _usingItem$value9.keyInnerText.replace("\xA0", " ")) || '', '').trim();
1686
+ keyword.value = formattedText.split(ValueSplitRegex).filter(function (v) {
1687
+ return v.trim() && !ValueSplitTestRegex.test(v);
1688
+ }).join(" ".concat(valueLoagic.value, " "));
1689
+ inputRef.value.innerText = keyword.value;
1541
1690
  setInputFocus();
1542
1691
  debounceSetMenuList();
1692
+ return;
1693
+ }
1694
+ usingItem.value.addValues(formattedText);
1695
+ debounceSetMenuList();
1696
+ }
1697
+ function handleInputChange(event) {
1698
+ var text = event.target.innerText.trim();
1699
+ if (!usingItem.value) {
1700
+ keyword.value = text;
1701
+ debounceSetMenuList();
1702
+ return;
1543
1703
  }
1704
+ keyword.value = usingItem.value.isSpecialType() ? text : text.replace(usingItem.value.name, '').replace(':', '').trim();
1705
+ debounceSetMenuList();
1544
1706
  }
1545
1707
  function handleInputKeyup(event) {
1546
1708
  switch (event.code) {
@@ -1549,10 +1711,12 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
1549
1711
  if (props.valueBehavior === ValueBehavior.NEEDKEY && menuList.value.some(function (item) {
1550
1712
  return item.id === menuHoverId.value;
1551
1713
  })) return;
1552
- handleKeyEnter(event);
1714
+ handleKeyEnter(event).then(function (v) {
1715
+ return v && clearInput();
1716
+ });
1553
1717
  break;
1554
1718
  case 'Backspace':
1555
- handleKeyBackspace();
1719
+ handleKeyBackspace(event);
1556
1720
  default:
1557
1721
  showNoSelectValueError.value = false;
1558
1722
  break;
@@ -1563,19 +1727,20 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
1563
1727
  }
1564
1728
  function _handleKeyEnter() {
1565
1729
  _handleKeyEnter = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee(event) {
1566
- var value, _res, values, _keyword$value, valueList, _res2, _value, _res3, _value2, _res4, res;
1730
+ var _usingItem$value4, _usingItem$value5;
1731
+ var isValid;
1567
1732
  return regenerator_default().wrap(function _callee$(_context) {
1568
1733
  while (1) switch (_context.prev = _context.next) {
1569
1734
  case 0:
1570
1735
  event === null || event === void 0 || event.preventDefault();
1571
- // resolve 中文输入时直接按下enter的错误表现
1736
+ // 异步延迟解决确保响应时机问题
1572
1737
  _context.next = 3;
1573
- return new Promise(function (r) {
1574
- return setTimeout(r, 0);
1738
+ return new Promise(function (resolve) {
1739
+ return setTimeout(resolve, 0);
1575
1740
  });
1576
1741
  case 3:
1577
1742
  if (usingItem.value) {
1578
- _context.next = 16;
1743
+ _context.next = 9;
1579
1744
  break;
1580
1745
  }
1581
1746
  if (!(!keyword.value || props.valueBehavior === ValueBehavior.NEEDKEY)) {
@@ -1584,123 +1749,40 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
1584
1749
  }
1585
1750
  return _context.abrupt("return");
1586
1751
  case 6:
1587
- value = {
1588
- id: keyword.value,
1589
- name: keyword.value
1590
- };
1591
- _context.next = 9;
1592
- return validateUsingItemValues(value);
1752
+ _context.next = 8;
1753
+ return enterNewItemSelected();
1754
+ case 8:
1755
+ return _context.abrupt("return", _context.sent);
1593
1756
  case 9:
1594
- _res = _context.sent;
1595
- if (_res) {
1596
- _context.next = 12;
1597
- break;
1598
- }
1599
- return _context.abrupt("return");
1600
- case 12:
1601
- emit('add', new SelectedItem(value, 'text'));
1602
- keyword.value = '';
1603
- setMenuList();
1604
- return _context.abrupt("return");
1605
- case 16:
1606
- values = usingItem.value.values;
1607
- if (values !== null && values !== void 0 && values.length) {
1608
- _context.next = 43;
1609
- break;
1610
- }
1611
- if (!((_keyword$value = keyword.value) !== null && _keyword$value !== void 0 && _keyword$value.length)) {
1612
- _context.next = 41;
1613
- break;
1614
- }
1615
- if (!keyword.value.includes(valueLoagic.value)) {
1616
- _context.next = 29;
1617
- break;
1618
- }
1619
- valueList = keyword.value.split(valueLoagic.value);
1620
- _context.next = 23;
1621
- return validateUsingItemValues({
1622
- id: keyword.value,
1623
- name: keyword.value
1624
- });
1625
- case 23:
1626
- _res2 = _context.sent;
1627
- if (_res2) {
1628
- _context.next = 26;
1629
- break;
1630
- }
1631
- return _context.abrupt("return");
1632
- case 26:
1633
- valueList.forEach(function (v) {
1634
- return usingItem.value.addValue({
1635
- id: v,
1636
- name: v
1637
- });
1638
- });
1639
- _context.next = 36;
1640
- break;
1641
- case 29:
1642
- _value = {
1643
- id: keyword.value,
1644
- name: keyword.value
1645
- };
1646
- _context.next = 32;
1647
- return validateUsingItemValues(_value);
1648
- case 32:
1649
- _res3 = _context.sent;
1650
- if (_res3) {
1651
- _context.next = 35;
1652
- break;
1653
- }
1654
- return _context.abrupt("return");
1655
- case 35:
1656
- usingItem.value.addValue(_value);
1657
- case 36:
1658
- emit('add', usingItem.value);
1659
- keyword.value = '';
1660
- usingItem.value = null;
1661
- setInputFocus(true);
1662
- return _context.abrupt("return");
1663
- case 41:
1664
- showNoSelectValueError.value = true;
1665
- return _context.abrupt("return");
1666
- case 43:
1667
1757
  if (!keyword.value) {
1668
- _context.next = 56;
1758
+ _context.next = 13;
1669
1759
  break;
1670
1760
  }
1671
- _value2 = {
1672
- id: keyword.value,
1673
- name: keyword.value
1674
- };
1675
- _context.next = 47;
1676
- return validateUsingItemValues(_value2);
1677
- case 47:
1678
- _res4 = _context.sent;
1679
- if (_res4) {
1680
- _context.next = 50;
1761
+ _context.next = 12;
1762
+ return enterExistingItemSelected();
1763
+ case 12:
1764
+ return _context.abrupt("return", _context.sent);
1765
+ case 13:
1766
+ if (!(!((_usingItem$value4 = usingItem.value) !== null && _usingItem$value4 !== void 0 && _usingItem$value4.isSpecialType()) && ((_usingItem$value5 = usingItem.value) === null || _usingItem$value5 === void 0 ? void 0 : _usingItem$value5.values.length) < 1)) {
1767
+ _context.next = 16;
1681
1768
  break;
1682
1769
  }
1683
- return _context.abrupt("return");
1684
- case 50:
1685
- usingItem.value.addValue(_value2);
1686
- emit('add', usingItem.value);
1687
- keyword.value = '';
1688
- usingItem.value = null;
1689
- setInputFocus(true);
1690
- return _context.abrupt("return");
1691
- case 56:
1692
- _context.next = 58;
1770
+ showNoSelectValueError.value = !showNoSelectValueError.value;
1771
+ return _context.abrupt("return", false);
1772
+ case 16:
1773
+ _context.next = 18;
1693
1774
  return validateUsingItemValues();
1694
- case 58:
1695
- res = _context.sent;
1696
- if (res) {
1697
- _context.next = 61;
1775
+ case 18:
1776
+ isValid = _context.sent;
1777
+ if (isValid) {
1778
+ _context.next = 21;
1698
1779
  break;
1699
1780
  }
1700
- return _context.abrupt("return");
1701
- case 61:
1781
+ return _context.abrupt("return", false);
1782
+ case 21:
1702
1783
  setSelectedItem();
1703
- case 62:
1784
+ return _context.abrupt("return", false);
1785
+ case 23:
1704
1786
  case "end":
1705
1787
  return _context.stop();
1706
1788
  }
@@ -1708,22 +1790,31 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
1708
1790
  }));
1709
1791
  return _handleKeyEnter.apply(this, arguments);
1710
1792
  }
1711
- function handleKeyBackspace() {
1712
- var _usingItem$value10;
1793
+ function handleKeyBackspace(event) {
1794
+ var _usingItem$value2;
1713
1795
  // 删除已选择项
1714
1796
  if (!usingItem.value && !keyword.value) {
1715
1797
  emit('delete');
1716
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
1717
1798
  setTimeout(setMenuList, 16);
1718
1799
  return;
1719
1800
  }
1720
- if ((_usingItem$value10 = usingItem.value) !== null && _usingItem$value10 !== void 0 && _usingItem$value10.values.length) {
1721
- var _usingItem$value11;
1722
- // 删除选项
1723
- if ((_usingItem$value11 = usingItem.value) !== null && _usingItem$value11 !== void 0 && _usingItem$value11.multiple || usingItem.value.isInValueList(usingItem.value.values[0]) || props.mode === SearchInputMode.EDIT && !keyword.value) {
1724
- usingItem.value.values.splice(-1, 1);
1801
+ if ((_usingItem$value2 = usingItem.value) !== null && _usingItem$value2 !== void 0 && _usingItem$value2.values.length) {
1802
+ var _usingItem$value$chil;
1803
+ if (usingItem.value.type === 'text' || !((_usingItem$value$chil = usingItem.value.children) !== null && _usingItem$value$chil !== void 0 && _usingItem$value$chil.length)) return;
1804
+ event.preventDefault();
1805
+ var selection = window.getSelection();
1806
+ if ((selection === null || selection === void 0 ? void 0 : selection.rangeCount) > 0) {
1807
+ var _node;
1808
+ var range = selection.getRangeAt(0);
1809
+ var startPos = range.startContainer;
1810
+ var node = startPos;
1811
+ while (node && node.parentNode !== inputRef.value) {
1812
+ node = node.parentNode;
1813
+ }
1814
+ var editIndex = ((_node = node) === null || _node === void 0 || (_node = _node.dataset) === null || _node === void 0 ? void 0 : _node.index) || -1;
1815
+ usingItem.value.values.splice(+editIndex, 1);
1725
1816
  keyword.value = '';
1726
- setInputFocus();
1817
+ setInputFocus(false, false);
1727
1818
  return;
1728
1819
  }
1729
1820
  } else if (!keyword.value) {
@@ -1738,86 +1829,78 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
1738
1829
  }
1739
1830
  function _handleSelectItem() {
1740
1831
  _handleSelectItem = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee2(item, type) {
1741
- var _item$value, _inputRef$value2, _usingItem$value14, _usingItem$value15;
1742
- var _item$realId2, _item$realId, seleted, _res5, isCondition, res;
1832
+ var _item$value, _usingItem$value6, _usingItem$value9;
1833
+ var _item$realId, selectedItem, _usingItem$value7, _usingItem$value8, isCondition;
1743
1834
  return regenerator_default().wrap(function _callee2$(_context2) {
1744
1835
  while (1) switch (_context2.prev = _context2.next) {
1745
1836
  case 0:
1746
1837
  if (!((_item$value = item.value) !== null && _item$value !== void 0 && _item$value.id)) {
1747
- _context2.next = 20;
1838
+ _context2.next = 18;
1748
1839
  break;
1749
1840
  }
1750
- if (!(props.valueBehavior === ValueBehavior.NEEDKEY && item.value || !props.validateValues)) {
1751
- _context2.next = 8;
1752
- break;
1753
- }
1754
- seleted = new SelectedItem(_objectSpread(_objectSpread({}, item), {}, {
1841
+ selectedItem = new SelectedItem(_objectSpread(_objectSpread({}, item), {}, {
1755
1842
  id: (_item$realId = item.realId) !== null && _item$realId !== void 0 ? _item$realId : item.id
1756
1843
  }), type);
1757
- seleted.addValue(item.value);
1758
- setSelectedItem(seleted);
1759
- if (props.valueBehavior === ValueBehavior.NEEDKEY && menuHoverId.value) {
1760
- setInputFocus(true);
1844
+ selectedItem.addValues(item.value.name, false);
1845
+ if (!(props.valueBehavior === ValueBehavior.NEEDKEY && menuHoverId.value)) {
1846
+ _context2.next = 8;
1847
+ break;
1761
1848
  }
1849
+ setSelectedItem(selectedItem);
1850
+ setInputFocus(true);
1762
1851
  menuHoverId.value = '';
1763
1852
  return _context2.abrupt("return");
1764
1853
  case 8:
1765
- usingItem.value = new SelectedItem(_objectSpread(_objectSpread({}, item), {}, {
1766
- id: (_item$realId2 = item.realId) !== null && _item$realId2 !== void 0 ? _item$realId2 : item.id
1767
- }), type);
1768
- usingItem.value.addValue(item.value);
1769
- _context2.next = 12;
1770
- return validateUsingItemValues(item.value);
1771
- case 12:
1772
- _res5 = _context2.sent;
1773
- if (_res5) {
1774
- _context2.next = 16;
1854
+ usingItem.value = selectedItem;
1855
+ _context2.next = 11;
1856
+ return validateUsingItemValues(usingItem.value.values);
1857
+ case 11:
1858
+ if (_context2.sent) {
1859
+ _context2.next = 14;
1775
1860
  break;
1776
1861
  }
1777
1862
  usingItem.value = null;
1778
1863
  return _context2.abrupt("return");
1779
- case 16:
1864
+ case 14:
1780
1865
  setSelectedItem(usingItem.value);
1781
- menuHoverId.value = '';
1782
1866
  setInputFocus(true);
1867
+ menuHoverId.value = '';
1783
1868
  return _context2.abrupt("return");
1784
- case 20:
1785
- if (!(!usingItem.value || !(inputRef !== null && inputRef !== void 0 && (_inputRef$value2 = inputRef.value) !== null && _inputRef$value2 !== void 0 && _inputRef$value2.innerText))) {
1786
- _context2.next = 28;
1869
+ case 18:
1870
+ if (!(!usingItem.value || ((_usingItem$value6 = usingItem.value) === null || _usingItem$value6 === void 0 ? void 0 : _usingItem$value6.type) === 'condition')) {
1871
+ _context2.next = 26;
1787
1872
  break;
1788
1873
  }
1789
- usingItem.value = new SelectedItem(item, type);
1874
+ usingItem.value = new SelectedItem(item, type !== null && type !== void 0 ? type : (_usingItem$value7 = usingItem.value) === null || _usingItem$value7 === void 0 ? void 0 : _usingItem$value7.type);
1790
1875
  keyword.value = '';
1791
- isCondition = type === 'condition';
1792
- isCondition && setSelectedItem();
1876
+ isCondition = ((_usingItem$value8 = usingItem.value) === null || _usingItem$value8 === void 0 ? void 0 : _usingItem$value8.type) === 'condition';
1877
+ if (isCondition) {
1878
+ setSelectedItem();
1879
+ }
1793
1880
  showPopover.value = isCondition || !!usingItem.value.children.length;
1794
1881
  setInputFocus(props.valueBehavior === ValueBehavior.NEEDKEY && !!menuHoverId.value);
1795
1882
  return _context2.abrupt("return");
1796
- case 28:
1797
- if (!(((_usingItem$value14 = usingItem.value) === null || _usingItem$value14 === void 0 ? void 0 : _usingItem$value14.type) === 'condition')) {
1798
- _context2.next = 32;
1799
- break;
1883
+ case 26:
1884
+ if (usingItem.value) {
1885
+ usingItem.value.addValue(item);
1886
+ (0,external_vue_namespaceObject.nextTick)(deleteInputTextNode);
1800
1887
  }
1801
- usingItem.value = new SelectedItem(item, type);
1802
- setSelectedItem();
1803
- return _context2.abrupt("return");
1804
- case 32:
1805
- usingItem.value.addValue(item);
1806
- _context2.next = 35;
1807
- return validateUsingItemValues(item);
1808
- case 35:
1809
- res = _context2.sent;
1810
- if (res) {
1811
- _context2.next = 38;
1888
+ _context2.next = 29;
1889
+ return validateUsingItemValues(usingItem.value.values);
1890
+ case 29:
1891
+ if (_context2.sent) {
1892
+ _context2.next = 31;
1812
1893
  break;
1813
1894
  }
1814
1895
  return _context2.abrupt("return");
1815
- case 38:
1816
- if (!usingItem.value.multiple) setSelectedItem();
1817
- if (props.valueBehavior === ValueBehavior.NEEDKEY && (_usingItem$value15 = usingItem.value) !== null && _usingItem$value15 !== void 0 && _usingItem$value15.multiple) {
1896
+ case 31:
1897
+ if (!usingItem.value.multiple) {
1898
+ setSelectedItem();
1899
+ }
1900
+ if (props.valueBehavior === ValueBehavior.NEEDKEY && (_usingItem$value9 = usingItem.value) !== null && _usingItem$value9 !== void 0 && _usingItem$value9.multiple) {
1818
1901
  setInputFocus();
1819
1902
  }
1820
- case 40:
1903
+ case 33:
1821
1904
  case "end":
1822
1905
  return _context2.stop();
1823
1906
  }
@@ -1829,10 +1912,10 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
1829
1912
  handleSelectItem(item, 'condition');
1830
1913
  }
1831
1914
  function handleMenuFooterClick(item) {
1832
- var _usingItem$value12;
1915
+ var _usingItem$value3;
1833
1916
  switch (item.id) {
1834
1917
  case 'confirm':
1835
- if (!((_usingItem$value12 = usingItem.value) !== null && _usingItem$value12 !== void 0 && _usingItem$value12.values.length)) return;
1918
+ if (!((_usingItem$value3 = usingItem.value) !== null && _usingItem$value3 !== void 0 && _usingItem$value3.values.length)) return;
1836
1919
  keyword.value = '';
1837
1920
  handleKeyEnter();
1838
1921
  break;
@@ -1842,119 +1925,110 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
1842
1925
  break;
1843
1926
  }
1844
1927
  }
1928
+ function handleLogicalChange(logical) {
1929
+ if (!usingItem.value) return;
1930
+ usingItem.value.logical = logical;
1931
+ }
1845
1932
  // functions
1846
- function validateUsingItemValues(_x4) {
1847
- return _validateUsingItemValues.apply(this, arguments);
1933
+ function validateValues(_x4, _x5) {
1934
+ return _validateValues.apply(this, arguments);
1848
1935
  }
1849
- function _validateUsingItemValues() {
1850
- _validateUsingItemValues = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee3(value) {
1851
- var _usingItem$value16, searchItem, validate, values;
1936
+ function _validateValues() {
1937
+ _validateValues = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee3(searchItem, value) {
1938
+ var validateStr;
1852
1939
  return regenerator_default().wrap(function _callee3$(_context3) {
1853
1940
  while (1) switch (_context3.prev = _context3.next) {
1854
1941
  case 0:
1855
- if (usingItem.value) {
1856
- _context3.next = 4;
1942
+ if (!(typeof props.validateValues === 'function')) {
1943
+ _context3.next = 14;
1857
1944
  break;
1858
1945
  }
1859
- _context3.next = 3;
1860
- return validateValues(null, [value]);
1861
- case 3:
1862
- return _context3.abrupt("return", _context3.sent);
1863
- case 4:
1864
- _usingItem$value16 = usingItem.value, searchItem = _usingItem$value16.searchItem, validate = _usingItem$value16.validate, values = _usingItem$value16.values;
1865
- if (!(validate && typeof props.validateValues === 'function')) {
1866
- _context3.next = 9;
1946
+ validateStr = '';
1947
+ _context3.prev = 2;
1948
+ _context3.next = 5;
1949
+ return props.validateValues(searchItem !== null && searchItem !== void 0 ? searchItem : null, value);
1950
+ case 5:
1951
+ validateStr = _context3.sent;
1952
+ _context3.next = 11;
1953
+ break;
1954
+ case 8:
1955
+ _context3.prev = 8;
1956
+ _context3.t0 = _context3["catch"](2);
1957
+ validateStr = false;
1958
+ case 11:
1959
+ if (!(typeof validateStr === 'string' || validateStr === false)) {
1960
+ _context3.next = 14;
1867
1961
  break;
1868
1962
  }
1869
- _context3.next = 8;
1870
- return validateValues(searchItem, value ? [value] : values);
1871
- case 8:
1872
- return _context3.abrupt("return", _context3.sent);
1873
- case 9:
1963
+ onValidate(validateStr || '校验错误');
1964
+ return _context3.abrupt("return", false);
1965
+ case 14:
1874
1966
  onValidate('');
1875
1967
  return _context3.abrupt("return", true);
1876
- case 11:
1968
+ case 16:
1877
1969
  case "end":
1878
1970
  return _context3.stop();
1879
1971
  }
1880
- }, _callee3);
1972
+ }, _callee3, null, [[2, 8]]);
1881
1973
  }));
1882
- return _validateUsingItemValues.apply(this, arguments);
1883
- }
1884
- function validateValues(_x5, _x6) {
1885
1974
  return _validateValues.apply(this, arguments);
1886
1975
  }
1887
- function _validateValues() {
1888
- _validateValues = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee4(searchItem, value) {
1889
- var _props$validateValues;
1890
- var validateStr;
1976
+ function validateUsingItemValues(_x6) {
1977
+ return _validateUsingItemValues.apply(this, arguments);
1978
+ }
1979
+ function _validateUsingItemValues() {
1980
+ _validateUsingItemValues = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee4(preValues) {
1981
+ var _usingItem$value10, searchItem, validate, values;
1891
1982
  return regenerator_default().wrap(function _callee4$(_context4) {
1892
1983
  while (1) switch (_context4.prev = _context4.next) {
1893
1984
  case 0:
1894
- _context4.next = 2;
1895
- return (_props$validateValues = props.validateValues) === null || _props$validateValues === void 0 ? void 0 : _props$validateValues.call(props, searchItem !== null && searchItem !== void 0 ? searchItem : null, value)["catch"](function () {
1896
- return false;
1897
- });
1898
- case 2:
1899
- validateStr = _context4.sent;
1900
- if (!(typeof validateStr === 'string' || validateStr === false)) {
1901
- _context4.next = 6;
1985
+ if (usingItem.value) {
1986
+ _context4.next = 4;
1902
1987
  break;
1903
1988
  }
1904
- onValidate(validateStr || '校验错误');
1905
- return _context4.abrupt("return", false);
1906
- case 6:
1989
+ _context4.next = 3;
1990
+ return validateValues(null, preValues);
1991
+ case 3:
1992
+ return _context4.abrupt("return", _context4.sent);
1993
+ case 4:
1994
+ _usingItem$value10 = usingItem.value, searchItem = _usingItem$value10.searchItem, validate = _usingItem$value10.validate, values = _usingItem$value10.values;
1995
+ if (!(validate && typeof props.validateValues === 'function')) {
1996
+ _context4.next = 9;
1997
+ break;
1998
+ }
1999
+ _context4.next = 8;
2000
+ return validateValues(searchItem, preValues !== null && preValues !== void 0 ? preValues : values);
2001
+ case 8:
2002
+ return _context4.abrupt("return", _context4.sent);
2003
+ case 9:
1907
2004
  onValidate('');
1908
2005
  return _context4.abrupt("return", true);
1909
- case 8:
2006
+ case 11:
1910
2007
  case "end":
1911
2008
  return _context4.stop();
1912
2009
  }
1913
2010
  }, _callee4);
1914
2011
  }));
1915
- return _validateValues.apply(this, arguments);
1916
- }
1917
- function setInputFocus() {
1918
- var refleshMenuList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
1919
- if (refleshMenuList) {
1920
- setTimeout(function () {
1921
- setMenuList();
1922
- }, 16);
1923
- }
1924
- isFocus.value = true;
1925
- showPopover.value = true;
1926
- showNoSelectValueError.value = false;
1927
- var timer = setTimeout(function () {
1928
- if (inputRef.value) {
1929
- inputRef.value.focus(); // 光标移至最后
1930
- var selection = window.getSelection();
1931
- if (selection.focusOffset === 0) {
1932
- selection.selectAllChildren(inputRef.value);
1933
- selection.collapseToEnd();
1934
- }
1935
- }
1936
- window.clearTimeout(timer);
1937
- }, 0);
1938
- emit('focus', isFocus.value);
2012
+ return _validateUsingItemValues.apply(this, arguments);
1939
2013
  }
1940
2014
  function setMenuList() {
1941
2015
  return _setMenuList.apply(this, arguments);
1942
2016
  }
1943
2017
  function _setMenuList() {
1944
2018
  _setMenuList = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee5() {
1945
- var _usingItem$value17, _usingItem$value$valu2;
1946
- var list, _usingItem$value18, _keyword$value2, hoverItem;
2019
+ var _props$data, _usingItem$value$sear, _usingItem$value$valu;
2020
+ var list, _usingItem$value11, _keyword$value2, hoverItem;
1947
2021
  return regenerator_default().wrap(function _callee5$(_context5) {
1948
2022
  while (1) switch (_context5.prev = _context5.next) {
1949
2023
  case 0:
1950
2024
  list = [];
1951
- if (!(typeof props.getMenuList === 'function' && (typeof ((_usingItem$value17 = usingItem.value) === null || _usingItem$value17 === void 0 || (_usingItem$value17 = _usingItem$value17.searchItem) === null || _usingItem$value17 === void 0 ? void 0 : _usingItem$value17.async) === 'undefined' || usingItem.value.searchItem.async === true))) {
2025
+ if (!(typeof props.getMenuList === 'function' && (!((_props$data = props.data) !== null && _props$data !== void 0 && _props$data.length) && !usingItem.value || usingItem.value && usingItem.value.type !== 'condition' && (((_usingItem$value$sear = usingItem.value.searchItem) === null || _usingItem$value$sear === void 0 ? void 0 : _usingItem$value$sear.async) === undefined || usingItem.value.searchItem.async === true)))) {
1952
2026
  _context5.next = 9;
1953
2027
  break;
1954
2028
  }
1955
2029
  loading.value = true;
1956
2030
  _context5.next = 5;
1957
- return props.getMenuList((_usingItem$value18 = usingItem.value) === null || _usingItem$value18 === void 0 ? void 0 : _usingItem$value18.searchItem, keyword.value)["catch"](function () {
2031
+ return props.getMenuList((_usingItem$value11 = usingItem.value) === null || _usingItem$value11 === void 0 ? void 0 : _usingItem$value11.searchItem, keyword.value)["catch"](function () {
1958
2032
  return [];
1959
2033
  });
1960
2034
  case 5:
@@ -2015,7 +2089,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
2015
2089
  });
2016
2090
  } else if (usingItem.value.type === 'condition') {
2017
2091
  list = props.conditions;
2018
- } else if (!((_usingItem$value$valu2 = usingItem.value.values) !== null && _usingItem$value$valu2 !== void 0 && _usingItem$value$valu2.length) || usingItem.value.multiple || props.mode === SearchInputMode.EDIT) {
2092
+ } else if (!((_usingItem$value$valu = usingItem.value.values) !== null && _usingItem$value$valu !== void 0 && _usingItem$value$valu.length) || usingItem.value.multiple || props.mode === SearchInputMode.EDIT) {
2019
2093
  list = usingItem.value.children.filter(function (item) {
2020
2094
  return item.name.toLocaleLowerCase().includes(keyword.value.toLocaleLowerCase());
2021
2095
  });
@@ -2040,35 +2114,193 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
2040
2114
  }));
2041
2115
  return _setMenuList.apply(this, arguments);
2042
2116
  }
2117
+ function enterNewItemSelected() {
2118
+ return _enterNewItemSelected.apply(this, arguments);
2119
+ }
2120
+ function _enterNewItemSelected() {
2121
+ _enterNewItemSelected = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee6() {
2122
+ var formatItem, valueList, res;
2123
+ return regenerator_default().wrap(function _callee6$(_context6) {
2124
+ while (1) switch (_context6.prev = _context6.next) {
2125
+ case 0:
2126
+ formatItem = str2SeletedItem(keyword.value);
2127
+ valueList = (formatItem === null || formatItem === void 0 ? void 0 : formatItem.values) || [{
2128
+ id: keyword.value,
2129
+ name: keyword.value
2130
+ }];
2131
+ _context6.next = 4;
2132
+ return validateUsingItemValues(valueList);
2133
+ case 4:
2134
+ res = _context6.sent;
2135
+ if (res) {
2136
+ _context6.next = 7;
2137
+ break;
2138
+ }
2139
+ return _context6.abrupt("return");
2140
+ case 7:
2141
+ emit('add', formatItem || new SelectedItem(_objectSpread({}, valueList[0]), 'text'));
2142
+ keyword.value = '';
2143
+ setMenuList();
2144
+ return _context6.abrupt("return", true);
2145
+ case 11:
2146
+ case "end":
2147
+ return _context6.stop();
2148
+ }
2149
+ }, _callee6);
2150
+ }));
2151
+ return _enterNewItemSelected.apply(this, arguments);
2152
+ }
2153
+ function enterExistingItemSelected() {
2154
+ return _enterExistingItemSelected.apply(this, arguments);
2155
+ }
2156
+ function _enterExistingItemSelected() {
2157
+ _enterExistingItemSelected = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee7() {
2158
+ var valueList, formatItem, isValid;
2159
+ return regenerator_default().wrap(function _callee7$(_context7) {
2160
+ while (1) switch (_context7.prev = _context7.next) {
2161
+ case 0:
2162
+ valueList = [];
2163
+ if (usingItem.value.isSpecialType()) {
2164
+ formatItem = str2SeletedItem(keyword.value);
2165
+ if (formatItem) {
2166
+ usingItem.value = formatItem;
2167
+ valueList = formatItem.values;
2168
+ }
2169
+ }
2170
+ valueList = valueList.length ? valueList : usingItem.value.str2Values(keyword.value);
2171
+ _context7.next = 5;
2172
+ return validateUsingItemValues(valueList);
2173
+ case 5:
2174
+ isValid = _context7.sent;
2175
+ if (isValid) {
2176
+ _context7.next = 8;
2177
+ break;
2178
+ }
2179
+ return _context7.abrupt("return");
2180
+ case 8:
2181
+ if (usingItem.value.type === 'text') {
2182
+ usingItem.value.name = keyword.value;
2183
+ usingItem.value.id = keyword.value;
2184
+ } else {
2185
+ usingItem.value.values = valueList;
2186
+ }
2187
+ emit('add', usingItem.value);
2188
+ keyword.value = '';
2189
+ usingItem.value = null;
2190
+ setInputFocus(true);
2191
+ return _context7.abrupt("return", true);
2192
+ case 14:
2193
+ case "end":
2194
+ return _context7.stop();
2195
+ }
2196
+ }, _callee7);
2197
+ }));
2198
+ return _enterExistingItemSelected.apply(this, arguments);
2199
+ }
2200
+ function setCursorToEnd() {
2201
+ if (!inputRef.value) return;
2202
+ var range = document.createRange();
2203
+ var selection = window.getSelection();
2204
+ range.selectNodeContents(inputRef.value);
2205
+ range.collapse(false);
2206
+ selection.removeAllRanges();
2207
+ selection.addRange(range);
2208
+ }
2209
+ function setInputFocus() {
2210
+ var refleshMenuList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
2211
+ var needCursorToEnd = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
2212
+ if (refleshMenuList) {
2213
+ setTimeout(setMenuList, 16);
2214
+ }
2215
+ isFocus.value = true;
2216
+ showPopover.value = true;
2217
+ showNoSelectValueError.value = false;
2218
+ needCursorToEnd && (0,external_vue_namespaceObject.nextTick)(setCursorToEnd);
2219
+ emit('focus', isFocus.value);
2220
+ }
2043
2221
  function setSelectedItem(item) {
2044
2222
  emit('add', item !== null && item !== void 0 ? item : usingItem.value);
2045
2223
  usingItem.value = null;
2046
2224
  keyword.value = '';
2047
- setInputFocus(props.valueBehavior === ValueBehavior.NEEDKEY);
2225
+ setInputFocus(true, true);
2226
+ (0,external_vue_namespaceObject.nextTick)(clearInput);
2048
2227
  }
2049
2228
  function clearInput() {
2050
- var text = inputRef.value.innerText;
2051
- if (text[text.length - 1] === '\n' || text[0] === '\r') {
2052
- setInputText(text.slice(0, -1));
2053
- clearInput();
2054
- } else if (text[0] === '\n' || text[0] === '\r') {
2055
- setInputText(text.slice(1));
2056
- clearInput();
2229
+ if (!inputRef.value) return;
2230
+ keyword.value = '';
2231
+ (0,external_vue_namespaceObject.nextTick)(function () {
2232
+ return inputRef.value.innerText = '';
2233
+ });
2234
+ }
2235
+ function str2SeletedItem(str) {
2236
+ var _str$split = str.split(':'),
2237
+ _str$split2 = _slicedToArray(_str$split, 2),
2238
+ key = _str$split2[0],
2239
+ value = _str$split2[1];
2240
+ if (key !== null && key !== void 0 && key.trim()) {
2241
+ var selectedItem = searchData.value.find(function (item) {
2242
+ return item.name === key.trim();
2243
+ });
2244
+ if (selectedItem) {
2245
+ var item = new SelectedItem(_objectSpread({}, selectedItem), 'default');
2246
+ item.addValues(value);
2247
+ return item;
2248
+ }
2057
2249
  }
2250
+ return undefined;
2058
2251
  }
2059
- function setInputText() {
2060
- var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
2061
- if (inputRef.value) {
2062
- var _usingItem$value13;
2063
- inputRef.value.innerHTML = text || ((_usingItem$value13 = usingItem.value) === null || _usingItem$value13 === void 0 ? void 0 : _usingItem$value13.inputInnerHtml) || '';
2252
+ function deleteInputTextNode() {
2253
+ var _keyword$value;
2254
+ if ((_keyword$value = keyword.value) !== null && _keyword$value !== void 0 && _keyword$value.length) {
2255
+ keyword.value = '';
2256
+ var nodes = Array.from(inputRef.value.childNodes);
2257
+ nodes.forEach(function (node) {
2258
+ var _node$textContent;
2259
+ if (node.nodeType === Node.TEXT_NODE && (_node$textContent = node.textContent) !== null && _node$textContent !== void 0 && _node$textContent.trim()) {
2260
+ inputRef.value.removeChild(node);
2261
+ }
2262
+ });
2064
2263
  }
2065
2264
  }
2066
- function handleLogicalChange(logical) {
2067
- if (!usingItem.value) return;
2068
- usingItem.value.logical = logical;
2265
+ function inputFocusForWrapper() {
2266
+ var _inputRef$value2;
2267
+ (_inputRef$value2 = inputRef.value) === null || _inputRef$value2 === void 0 || _inputRef$value2.focus();
2268
+ }
2269
+ function inputEnterForWrapper() {
2270
+ return _inputEnterForWrapper.apply(this, arguments);
2271
+ }
2272
+ function _inputEnterForWrapper() {
2273
+ _inputEnterForWrapper = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee8() {
2274
+ return regenerator_default().wrap(function _callee8$(_context8) {
2275
+ while (1) switch (_context8.prev = _context8.next) {
2276
+ case 0:
2277
+ _context8.next = 2;
2278
+ return handleKeyEnter().then(function (v) {
2279
+ return v && clearInput();
2280
+ });
2281
+ case 2:
2282
+ showPopover.value = false;
2283
+ inputRef.value.blur();
2284
+ case 4:
2285
+ case "end":
2286
+ return _context8.stop();
2287
+ }
2288
+ }, _callee8);
2289
+ }));
2290
+ return _inputEnterForWrapper.apply(this, arguments);
2291
+ }
2292
+ function inputClearForWrapper() {
2293
+ keyword.value = '';
2294
+ showNoSelectValueError.value = false;
2295
+ showPopover.value = false;
2296
+ usingItem.value = null;
2297
+ (0,external_vue_namespaceObject.nextTick)(clearInput);
2069
2298
  }
2070
2299
  // expose
2071
2300
  expose({
2301
+ inputFocusForWrapper: inputFocusForWrapper,
2302
+ inputEnterForWrapper: inputEnterForWrapper,
2303
+ inputClearForWrapper: inputClearForWrapper,
2072
2304
  handleInputFocus: handleInputFocus,
2073
2305
  isFocus: isFocus
2074
2306
  });
@@ -2089,12 +2321,17 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
2089
2321
  handleClickOutside: handleClickOutside,
2090
2322
  handleInputFocus: handleInputFocus,
2091
2323
  handleInputChange: handleInputChange,
2324
+ handleInputPaste: handleInputPaste,
2092
2325
  handleLogicalChange: handleLogicalChange,
2093
2326
  handleInputKeyup: handleInputKeyup,
2094
2327
  handleSelectItem: handleSelectItem,
2095
2328
  handleSelectCondtionItem: handleSelectCondtionItem,
2096
2329
  handleMenuFooterClick: handleMenuFooterClick,
2097
2330
  resolveClassName: resolveClassName,
2331
+ inputFocusForWrapper: inputFocusForWrapper,
2332
+ inputEnterForWrapper: inputEnterForWrapper,
2333
+ inputClearForWrapper: inputClearForWrapper,
2334
+ deleteInputTextNode: deleteInputTextNode,
2098
2335
  t: t
2099
2336
  };
2100
2337
  },
@@ -2117,7 +2354,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
2117
2354
  }
2118
2355
  } : {});
2119
2356
  var inputContent = function inputContent() {
2120
- var _this$keyword2;
2357
+ var _this$keyword2, _this$usingItem, _this$usingItem2;
2121
2358
  return (0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)("div", {
2122
2359
  "ref": "inputRef",
2123
2360
  "class": {
@@ -2129,13 +2366,37 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
2129
2366
  "data-placeholder": !inputInnerHtml && !_this.keyword ? _this.placeholder : '',
2130
2367
  "data-tips": placeholder || '',
2131
2368
  "spellcheck": "false",
2369
+ "onPaste": _this.handleInputPaste,
2132
2370
  "onFocus": _this.handleInputFocus,
2133
2371
  "onInput": _this.handleInputChange,
2134
2372
  "onKeydown": _this.handleInputKeyup
2135
- }, null), [[(0,external_vue_namespaceObject.resolveDirective)("clickoutside"), _this.handleClickOutside]]);
2373
+ }, [((_this$usingItem = _this.usingItem) === null || _this$usingItem === void 0 ? void 0 : _this$usingItem.name) && (!_this.usingItem.isSpecialType() ? (0,external_vue_namespaceObject.createVNode)("span", {
2374
+ "data-key": _this.usingItem.name,
2375
+ "data-type": _this.usingItem.type,
2376
+ "key": _this.usingItem.nameRenderkey,
2377
+ "onMousedown": function onMousedown(e) {
2378
+ return e.preventDefault();
2379
+ },
2380
+ "contenteditable": false,
2381
+ "style": {
2382
+ color: '#979BA5'
2383
+ }
2384
+ }, [_this.usingItem.name, (0,external_vue_namespaceObject.createTextVNode)(":\xA0")]) : (0,external_vue_namespaceObject.createVNode)("span", {
2385
+ "data-key": _this.usingItem.name,
2386
+ "data-type": _this.usingItem.type,
2387
+ "key": _this.usingItem.nameRenderkey
2388
+ }, [_this.usingItem.name])), (_this$usingItem2 = _this.usingItem) === null || _this$usingItem2 === void 0 || (_this$usingItem2 = _this$usingItem2.values) === null || _this$usingItem2 === void 0 ? void 0 : _this$usingItem2.map(function (item, index) {
2389
+ return (0,external_vue_namespaceObject.createVNode)("span", {
2390
+ "key": index,
2391
+ "data-key": item.name,
2392
+ "data-type": "value",
2393
+ "data-id": item.id,
2394
+ "data-index": index
2395
+ }, [index > 0 ? " ".concat(_this.usingItem.logical, " ") : '', item.name]);
2396
+ })]), [[(0,external_vue_namespaceObject.resolveDirective)("clickoutside"), _this.handleClickOutside]]);
2136
2397
  };
2137
2398
  var popoverContent = function popoverContent() {
2138
- var _this$menuList2, _this$usingItem, _this$usingItem2;
2399
+ var _this$menuList2, _this$usingItem3, _this$usingItem4;
2139
2400
  if (_this.loading) {
2140
2401
  return (0,external_vue_namespaceObject.createVNode)("div", null, [_this.t.loading]);
2141
2402
  }
@@ -2154,8 +2415,8 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
2154
2415
  return item.id;
2155
2416
  })) || [],
2156
2417
  "conditions": showCondition ? _this.conditions : [],
2157
- "logical": (_this$usingItem = _this.usingItem) === null || _this$usingItem === void 0 ? void 0 : _this$usingItem.logical,
2158
- "showLogical": (_this$usingItem2 = _this.usingItem) === null || _this$usingItem2 === void 0 ? void 0 : _this$usingItem2.showLogical,
2418
+ "logical": (_this$usingItem3 = _this.usingItem) === null || _this$usingItem3 === void 0 ? void 0 : _this$usingItem3.logical,
2419
+ "showLogical": (_this$usingItem4 = _this.usingItem) === null || _this$usingItem4 === void 0 ? void 0 : _this$usingItem4.showLogical,
2159
2420
  "onUpdate:logical": _this.handleLogicalChange,
2160
2421
  "onSelectItem": _this.handleSelectItem,
2161
2422
  "onSelectCondition": _this.handleSelectCondtionItem,
@@ -2205,8 +2466,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
2205
2466
 
2206
2467
 
2207
2468
 
2208
-
2209
- /* harmony default export */ const selected = ((0,external_vue_namespaceObject.defineComponent)({
2469
+ /* harmony default export */ const selected = (defineComponent({
2210
2470
  name: 'SearchSelected',
2211
2471
  props: {
2212
2472
  data: {
@@ -2234,7 +2494,8 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
2234
2494
  emits: ['delete'],
2235
2495
  setup: function setup(_props, _ref) {
2236
2496
  var emit = _ref.emit;
2237
- var inputRef = (0,external_vue_namespaceObject.ref)(null);
2497
+ var inputRef = ref(null);
2498
+ var selectedInputRef = ref(null);
2238
2499
  var _useSearchSelectInjec = useSearchSelectInject(),
2239
2500
  onEditClick = _useSearchSelectInjec.onEditClick,
2240
2501
  onEditEnter = _useSearchSelectInjec.onEditEnter,
@@ -2259,8 +2520,9 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
2259
2520
  if (isFocus) return;
2260
2521
  onEditBlur();
2261
2522
  }
2262
- function handleInputOutside() {
2263
- return true;
2523
+ function handleInputOutside(target) {
2524
+ var _selectedInputRef$val;
2525
+ return !((_selectedInputRef$val = selectedInputRef.value) !== null && _selectedInputRef$val !== void 0 && _selectedInputRef$val.contains(target));
2264
2526
  }
2265
2527
  function copySeletedItem(item) {
2266
2528
  var newItem = new SelectedItem(item.searchItem, item.type);
@@ -2270,6 +2532,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
2270
2532
  }
2271
2533
  return {
2272
2534
  inputRef: inputRef,
2535
+ selectedInputRef: selectedInputRef,
2273
2536
  editKey: editKey,
2274
2537
  copySeletedItem: copySeletedItem,
2275
2538
  handleDeleteSelected: handleDeleteSelected,
@@ -2284,7 +2547,8 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
2284
2547
  var contentComponent = function contentComponent(item, index) {
2285
2548
  return _this.editKey === "".concat(item.id, "_").concat(index) ? (0,external_vue_namespaceObject.createVNode)("div", {
2286
2549
  "class": "selected-input",
2287
- "key": _this.editKey.toString()
2550
+ "key": _this.editKey.toString(),
2551
+ "ref": "selectedInputRef"
2288
2552
  }, [(0,external_vue_namespaceObject.createVNode)(input, {
2289
2553
  "ref": "inputRef",
2290
2554
  "key": _this.editKey.toString(),
@@ -2413,6 +2677,13 @@ var SearchSelectProps = {
2413
2677
  return [ValueBehavior.ALL, ValueBehavior.NEEDKEY].includes(v);
2414
2678
  }
2415
2679
  }
2680
+ // deleteBehavior: {
2681
+ // type: String as PropType<`${DeleteBehavior}`>,
2682
+ // default: DeleteBehavior.CHAR,
2683
+ // validator(v: DeleteBehavior) {
2684
+ // return [DeleteBehavior.CHAR, DeleteBehavior.VALUE].includes(v);
2685
+ // },
2686
+ // },
2416
2687
  };
2417
2688
  /* harmony default export */ const search_select = ((0,external_vue_namespaceObject.defineComponent)({
2418
2689
  name: 'SearchSelect',
@@ -2528,7 +2799,11 @@ var SearchSelectProps = {
2528
2799
  onEditEnter: onEditEnter,
2529
2800
  onEditBlur: onEditBlur,
2530
2801
  onValidate: onValidate,
2531
- editKey: editKey
2802
+ editKey: editKey,
2803
+ searchData: (0,external_vue_namespaceObject.computed)(function () {
2804
+ return props.data;
2805
+ }),
2806
+ isClickOutside: handleInputOutside
2532
2807
  });
2533
2808
  function onEditClick(item, index) {
2534
2809
  editKey.value = "".concat(item.id, "_").concat(index);
@@ -2580,12 +2855,13 @@ var SearchSelectProps = {
2580
2855
  }
2581
2856
  function handleWrapClick() {
2582
2857
  if (!editKey.value) {
2583
- inputRef.value.handleInputFocus();
2858
+ inputRef.value.inputFocusForWrapper();
2584
2859
  }
2585
2860
  }
2586
2861
  function handleClearAll() {
2587
2862
  selectedList.value = [];
2588
2863
  overflowIndex.value = -1;
2864
+ inputRef.value.inputClearForWrapper();
2589
2865
  emit('update:modelValue', []);
2590
2866
  }
2591
2867
  function handleInputOutside(target) {
@@ -2617,6 +2893,7 @@ var SearchSelectProps = {
2617
2893
  isFocus.value = v;
2618
2894
  }
2619
2895
  function handleClickSearch(e) {
2896
+ inputRef.value.inputEnterForWrapper();
2620
2897
  emit('search', e);
2621
2898
  }
2622
2899
  return {