bkui-vue 1.0.3-beta.7 → 1.0.3-beta.70

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 (230) hide show
  1. package/dist/index.cjs.js +148 -150
  2. package/dist/index.esm.js +17965 -16537
  3. package/dist/index.umd.js +148 -150
  4. package/dist/locale/en.esm.js +1 -1
  5. package/dist/locale/en.esm.js.map +1 -1
  6. package/dist/locale/en.umd.js +1 -1
  7. package/dist/locale/en.umd.js.map +1 -1
  8. package/dist/locale/zh-cn.esm.js +1 -1
  9. package/dist/locale/zh-cn.esm.js.map +1 -1
  10. package/dist/locale/zh-cn.umd.js +1 -1
  11. package/dist/locale/zh-cn.umd.js.map +1 -1
  12. package/dist/style.css +1 -1
  13. package/dist/style.variable.css +1 -1
  14. package/lib/affix/affix.variable.css +3 -0
  15. package/lib/alert/alert.variable.css +3 -0
  16. package/lib/backtop/backtop.variable.css +3 -0
  17. package/lib/badge/badge.variable.css +3 -0
  18. package/lib/breadcrumb/breadcrumb.variable.css +3 -0
  19. package/lib/button/button.variable.css +3 -0
  20. package/lib/card/card.variable.css +3 -0
  21. package/lib/cascader/cascader.variable.css +3 -0
  22. package/lib/checkbox/checkbox.variable.css +3 -0
  23. package/lib/checkbox/index.js +4 -4
  24. package/lib/code-diff/code-diff.variable.css +3 -0
  25. package/lib/collapse/collapse.variable.css +3 -0
  26. package/lib/collapse-transition/collapse-transition.variable.css +3 -0
  27. package/lib/color-picker/color-picker.variable.css +3 -0
  28. package/lib/components.d.ts +1 -0
  29. package/lib/components.js +2 -5
  30. package/lib/config-provider/config-provider.d.ts +3 -0
  31. package/lib/config-provider/config-provider.variable.css +3 -0
  32. package/lib/config-provider/index.d.ts +4 -0
  33. package/lib/config-provider/token.d.ts +1 -0
  34. package/lib/container/container.variable.css +3 -0
  35. package/lib/date-picker/base/month-table.d.ts +2 -2
  36. package/lib/date-picker/date-picker.d.ts +1 -0
  37. package/lib/date-picker/date-picker.variable.css +3 -0
  38. package/lib/date-picker/index.d.ts +3 -0
  39. package/lib/date-picker/index.js +70 -32
  40. package/lib/date-picker/interface.d.ts +1 -1
  41. package/lib/date-picker/time-picker.d.ts +1 -0
  42. package/lib/date-picker/utils.d.ts +4 -0
  43. package/lib/dialog/dialog.css +93 -122
  44. package/lib/dialog/dialog.d.ts +39 -14
  45. package/lib/dialog/dialog.less +92 -98
  46. package/lib/dialog/dialog.variable.css +96 -122
  47. package/lib/dialog/index.d.ts +81 -30
  48. package/lib/dialog/index.js +146 -124
  49. package/lib/dialog/props.d.ts +18 -6
  50. package/lib/directives/index.js +0 -1
  51. package/lib/dist.index.js +0 -1
  52. package/lib/divider/divider.variable.css +3 -0
  53. package/lib/dropdown/dropdown.css +3 -1
  54. package/lib/dropdown/dropdown.variable.css +6 -1
  55. package/lib/exception/exception.variable.css +3 -0
  56. package/lib/fixed-navbar/fixed-navbar.variable.css +3 -0
  57. package/lib/form/form.variable.css +3 -0
  58. package/lib/form/index.js +3 -1
  59. package/lib/hooks.js +1 -8
  60. package/lib/icon/image-fill.js +82 -167
  61. package/lib/icon/img-error.js +82 -167
  62. package/lib/icon/img-placehoulder.js +82 -167
  63. package/lib/icon/index.d.ts +1 -0
  64. package/lib/icon/index.js +87 -2427
  65. package/lib/icon/info-line.js +82 -167
  66. package/lib/icon/info.js +82 -167
  67. package/lib/icon/left-shape.js +82 -167
  68. package/lib/icon/left-turn-line.js +82 -167
  69. package/lib/icon/loading.js +82 -167
  70. package/lib/icon/narrow-line.js +82 -167
  71. package/lib/icon/original.js +82 -167
  72. package/lib/icon/pdf-fill.js +82 -167
  73. package/lib/icon/play-shape.js +82 -167
  74. package/lib/icon/plus.js +82 -167
  75. package/lib/icon/ppt-fill.js +82 -167
  76. package/lib/icon/qq.js +82 -167
  77. package/lib/icon/right-shape.js +82 -167
  78. package/lib/icon/right-turn-line.js +82 -167
  79. package/lib/icon/search.js +82 -167
  80. package/lib/icon/share.js +82 -167
  81. package/lib/icon/spinner.js +82 -167
  82. package/lib/icon/success.js +82 -167
  83. package/lib/icon/switcher-loading.js +82 -167
  84. package/lib/icon/text-all.d.ts +4 -0
  85. package/lib/icon/text-all.js +191 -0
  86. package/lib/icon/text-file.js +82 -167
  87. package/lib/icon/text-fill.js +82 -167
  88. package/lib/icon/transfer.js +82 -167
  89. package/lib/icon/tree-application-shape.js +82 -167
  90. package/lib/icon/unfull-screen.js +82 -167
  91. package/lib/icon/unvisible.js +82 -167
  92. package/lib/icon/up-shape.js +82 -167
  93. package/lib/icon/upload.js +82 -167
  94. package/lib/icon/video-fill.js +82 -167
  95. package/lib/icon/warn.js +82 -167
  96. package/lib/icon/weixin-pro.js +82 -167
  97. package/lib/icon/weixin.js +82 -167
  98. package/lib/image/image-viewer.variable.css +3 -0
  99. package/lib/image/image.variable.css +3 -0
  100. package/lib/image/index.js +5 -2
  101. package/lib/index.js +0 -1
  102. package/lib/info-box/index.js +41 -455
  103. package/lib/info-box/info-box.css +6 -32
  104. package/lib/info-box/info-box.d.ts +1 -1
  105. package/lib/info-box/info-box.less +16 -47
  106. package/lib/info-box/info-box.variable.css +9 -32
  107. package/lib/input/index.js +5 -0
  108. package/lib/input/input.variable.css +3 -0
  109. package/lib/link/link.variable.css +3 -0
  110. package/lib/loading/loading.variable.css +3 -0
  111. package/lib/locale/index.js +4 -2
  112. package/lib/locale/lang/en.d.ts +1 -0
  113. package/lib/menu/menu.variable.css +3 -0
  114. package/lib/menu/submenu.variable.css +3 -0
  115. package/lib/message/message.variable.css +3 -0
  116. package/lib/modal/hooks.d.ts +6 -0
  117. package/lib/modal/index.d.ts +100 -52
  118. package/lib/modal/index.js +173 -74
  119. package/lib/modal/modal.css +41 -65
  120. package/lib/modal/modal.d.ts +40 -17
  121. package/lib/modal/modal.less +50 -57
  122. package/lib/modal/modal.variable.css +44 -65
  123. package/lib/modal/props.mixin.d.ts +12 -0
  124. package/lib/navigation/navigation.variable.css +3 -0
  125. package/lib/notify/notify.variable.css +3 -0
  126. package/lib/pagination/index.js +2 -1
  127. package/lib/pagination/pagination.variable.css +3 -0
  128. package/lib/plugin-popover/index.d.ts +1 -1
  129. package/lib/plugin-popover/index.js +45 -26
  130. package/lib/pop-confirm/index.js +8 -5
  131. package/lib/pop-confirm/pop-confirm.variable.css +3 -0
  132. package/lib/popover/content.d.ts +1 -1
  133. package/lib/popover/index.js +45 -26
  134. package/lib/popover/plugin-popover.d.ts +4 -1
  135. package/lib/popover/popover.css +3 -1
  136. package/lib/popover/popover.less +4 -1
  137. package/lib/popover/popover.variable.css +6 -1
  138. package/lib/preset.d.ts +2 -0
  139. package/lib/preset.js +14 -20
  140. package/lib/process/process.variable.css +3 -0
  141. package/lib/progress/progress.variable.css +3 -0
  142. package/lib/radio/index.js +5 -5
  143. package/lib/radio/radio.variable.css +3 -0
  144. package/lib/rate/rate.variable.css +3 -0
  145. package/lib/rate/star.variable.css +3 -0
  146. package/lib/resize-layout/index.js +1 -1
  147. package/lib/resize-layout/resize-layout.variable.css +3 -0
  148. package/lib/search-select/index.d.ts +375 -16
  149. package/lib/search-select/index.js +701 -366
  150. package/lib/search-select/input.d.ts +14 -5
  151. package/lib/search-select/search-select.css +20 -6
  152. package/lib/search-select/search-select.d.ts +129 -7
  153. package/lib/search-select/search-select.less +16 -12
  154. package/lib/search-select/search-select.variable.css +23 -6
  155. package/lib/search-select/selected.d.ts +116 -6
  156. package/lib/search-select/utils.d.ts +19 -6
  157. package/lib/select/index.d.ts +143 -6
  158. package/lib/select/index.js +1355 -78
  159. package/lib/select/option.d.ts +3 -1
  160. package/lib/select/pinyin/core.d.ts +14 -0
  161. package/lib/select/pinyin/dict.d.ts +34 -0
  162. package/lib/select/pinyin/index.d.ts +2 -0
  163. package/lib/select/select.css +55 -12
  164. package/lib/select/select.d.ts +59 -2
  165. package/lib/select/select.less +69 -19
  166. package/lib/select/select.variable.css +58 -12
  167. package/lib/select/selectTagInput.d.ts +7 -0
  168. package/lib/select/type.d.ts +2 -3
  169. package/lib/shared/index.js +67 -3
  170. package/lib/shared/utils.d.ts +12 -0
  171. package/lib/shared/vue-types.d.ts +5 -0
  172. package/lib/sideslider/index.d.ts +55 -9
  173. package/lib/sideslider/index.js +26 -25
  174. package/lib/sideslider/sideslider.css +51 -46
  175. package/lib/sideslider/sideslider.d.ts +25 -3
  176. package/lib/sideslider/sideslider.less +108 -104
  177. package/lib/sideslider/sideslider.variable.css +54 -46
  178. package/lib/slider/slider.variable.css +3 -0
  179. package/lib/steps/steps.variable.css +3 -0
  180. package/lib/styles/mixins/animate.variable.css +3 -0
  181. package/lib/styles/mixins/popper.variable.css +3 -0
  182. package/lib/styles/mixins/scroll.variable.css +3 -0
  183. package/lib/styles/reset.css +1 -3
  184. package/lib/styles/reset.less +3 -6
  185. package/lib/styles/reset.variable.css +4 -3
  186. package/lib/styles/themes/themes.less +5 -0
  187. package/lib/swiper/swiper.variable.css +3 -0
  188. package/lib/switcher/switcher.variable.css +3 -0
  189. package/lib/tab/tab.variable.css +3 -0
  190. package/lib/table/cache.d.ts +11 -3
  191. package/lib/table/components/table-column.d.ts +111 -5
  192. package/lib/table/index.d.ts +51 -5
  193. package/lib/table/index.js +504 -261
  194. package/lib/table/plugins/head-filter.variable.css +3 -0
  195. package/lib/table/plugins/head-sort.variable.css +3 -0
  196. package/lib/table/plugins/settings.variable.css +3 -0
  197. package/lib/table/plugins/use-draggable.d.ts +2 -2
  198. package/lib/table/plugins/use-observer-resize.d.ts +5 -0
  199. package/lib/table/props.d.ts +6 -4
  200. package/lib/table/table.css +6 -12
  201. package/lib/table/table.less +12 -9
  202. package/lib/table/table.variable.css +9 -12
  203. package/lib/table/use-attributes.d.ts +4 -42
  204. package/lib/table/utils.d.ts +2 -2
  205. package/lib/table-column/index.d.ts +235 -119
  206. package/lib/table-column/index.js +217 -30
  207. package/lib/tag/tag.variable.css +3 -0
  208. package/lib/tag-input/index.d.ts +4 -4
  209. package/lib/tag-input/tag-input.d.ts +2 -2
  210. package/lib/tag-input/tag-input.variable.css +3 -0
  211. package/lib/tag-input/tag-props.d.ts +1 -1
  212. package/lib/tag-input/tag-render.d.ts +1 -1
  213. package/lib/time-picker/index.d.ts +38 -35
  214. package/lib/time-picker/time-picker.variable.css +3 -0
  215. package/lib/timeline/index.d.ts +80 -44
  216. package/lib/timeline/index.js +54 -65
  217. package/lib/timeline/timeline.d.ts +46 -29
  218. package/lib/timeline/timeline.variable.css +3 -0
  219. package/lib/transfer/transfer.variable.css +3 -0
  220. package/lib/tree/tree.variable.css +3 -0
  221. package/lib/upload/index.d.ts +12 -0
  222. package/lib/upload/index.js +21 -30
  223. package/lib/upload/props.d.ts +3 -0
  224. package/lib/upload/upload-trigger.d.ts +6 -0
  225. package/lib/upload/upload.d.ts +6 -0
  226. package/lib/upload/upload.variable.css +3 -0
  227. package/lib/virtual-render/index.d.ts +9 -9
  228. package/lib/virtual-render/virtual-render.d.ts +3 -3
  229. package/lib/virtual-render/virtual-render.variable.css +3 -0
  230. package/package.json +3 -2
@@ -511,7 +511,7 @@ const config_provider_namespaceObject = config_provider_x({ ["useLocale"]: () =>
511
511
  ;// CONCATENATED MODULE: external "../icon"
512
512
  var icon_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
513
513
  var icon_y = x => () => x
514
- const icon_namespaceObject = icon_x({ ["AngleUp"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.AngleUp, ["AngleUpFill"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.AngleUpFill, ["Close"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.Close, ["Done"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.Done, ["Search"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.Search });
514
+ const icon_namespaceObject = icon_x({ ["AngleUp"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.AngleUp, ["AngleUpFill"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.AngleUpFill, ["Close"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.Close, ["Done"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.Done, ["Search"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.Search, ["TextAll"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_icon_a97c79c3__.TextAll });
515
515
  ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js
516
516
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
517
517
  try {
@@ -816,33 +816,45 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
816
816
  var selectedStyle = (0,external_vue_namespaceObject.computed)(function () {
817
817
  return select === null || select === void 0 ? void 0 : select.selectedStyle;
818
818
  });
819
- var isShowAll = (0,external_vue_namespaceObject.computed)(function () {
820
- return select === null || select === void 0 ? void 0 : select.isShowAll;
821
- });
822
- var allOptionId = (0,external_vue_namespaceObject.computed)(function () {
823
- return select === null || select === void 0 ? void 0 : select.allOptionId;
819
+ var searchValue = (0,external_vue_namespaceObject.computed)(function () {
820
+ return select === null || select === void 0 ? void 0 : select.curSearchValue;
824
821
  });
825
- var isDisabled = (0,external_vue_namespaceObject.computed)(function () {
826
- var _select$selected2;
827
- if (!isShowAll.value || optionID.value === allOptionId.value) return disabled.value;
828
- // 全部选项需要禁用掉其他选项
829
- var exitAllOptionId = select === null || select === void 0 || (_select$selected2 = select.selected) === null || _select$selected2 === void 0 ? void 0 : _select$selected2.some(function (item) {
830
- return (0,isEqual_namespaceObject["default"])(item.value, allOptionId.value);
831
- });
832
- return disabled.value || isShowAll.value && exitAllOptionId;
822
+ var highlightKeyword = (0,external_vue_namespaceObject.computed)(function () {
823
+ return select === null || select === void 0 ? void 0 : select.highlightKeyword;
833
824
  });
834
825
  var handleOptionClick = function handleOptionClick() {
835
- if (isDisabled.value) return;
836
- if (isShowAll.value && allOptionId.value === optionID.value) {
837
- // 全部选项
838
- select === null || select === void 0 || select.handleToggleAll();
839
- } else {
840
- select === null || select === void 0 || select.handleOptionSelected(proxy);
841
- }
826
+ if (disabled.value) return;
827
+ select === null || select === void 0 || select.handleOptionSelected(proxy);
842
828
  };
843
829
  var handleMouseEnter = function handleMouseEnter() {
844
830
  select.activeOptionValue = optionID.value;
845
831
  };
832
+ var transformNode = function transformNode(str) {
833
+ var _keyword;
834
+ if (!str) return str;
835
+ var keyword = searchValue.value;
836
+ var len = keyword.length;
837
+ if (!((_keyword = keyword) !== null && _keyword !== void 0 && _keyword.trim().length) || !str.toLocaleLowerCase().includes(keyword.toLocaleLowerCase())) return str;
838
+ var list = [];
839
+ var lastIndex = -1;
840
+ keyword = keyword.replace(/([.*/]{1})/gim, '\\$1');
841
+ str.replace(new RegExp("".concat(keyword), 'igm'), function (key, index) {
842
+ if (list.length === 0 && index !== 0) {
843
+ list.push(str.slice(0, index));
844
+ } else if (lastIndex >= 0) {
845
+ list.push(str.slice(lastIndex + key.length, index));
846
+ }
847
+ list.push((0,external_vue_namespaceObject.createVNode)("span", {
848
+ "class": "is-keyword"
849
+ }, [key]));
850
+ lastIndex = index;
851
+ return key;
852
+ });
853
+ if (lastIndex >= 0) {
854
+ list.push(str.slice(lastIndex + len));
855
+ }
856
+ return list.length ? list : str;
857
+ };
846
858
  (0,external_vue_namespaceObject.onBeforeMount)(function () {
847
859
  select === null || select === void 0 || select.register(optionID.value, proxy);
848
860
  group === null || group === void 0 || group.register(optionID.value, proxy);
@@ -861,17 +873,18 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
861
873
  selectedStyle: selectedStyle,
862
874
  optionName: optionName,
863
875
  optionID: optionID,
864
- isDisabled: isDisabled,
876
+ highlightKeyword: highlightKeyword,
865
877
  handleOptionClick: handleOptionClick,
866
878
  handleMouseEnter: handleMouseEnter,
867
- resolveClassName: resolveClassName
879
+ resolveClassName: resolveClassName,
880
+ transformNode: transformNode
868
881
  });
869
882
  },
870
883
  render: function render() {
871
884
  var _this$$slots$default, _this$$slots$default2, _this$$slots;
872
885
  var selectItemClass = (0,shared_namespaceObject.classes)(_defineProperty({
873
886
  'is-selected': this.selected,
874
- 'is-disabled': this.isDisabled,
887
+ 'is-disabled': this.disabled,
875
888
  'is-multiple': this.multiple,
876
889
  'is-hover': this.isHover,
877
890
  'is-checkbox': this.selectedStyle === shared_namespaceObject.SelectedTypeEnum.CHECKBOX
@@ -881,13 +894,13 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
881
894
  "onClick": this.handleOptionClick,
882
895
  "onMouseenter": this.handleMouseEnter
883
896
  }, [this.showSelectedIcon && this.selectedStyle === shared_namespaceObject.SelectedTypeEnum.CHECKBOX && (0,external_vue_namespaceObject.createVNode)(checkbox_namespaceObject["default"], {
884
- "disabled": this.isDisabled,
897
+ "disabled": this.disabled,
885
898
  "class": this.resolveClassName('select-checkbox'),
886
899
  "modelValue": this.selected
887
900
  }, null), (_this$$slots$default = (_this$$slots$default2 = (_this$$slots = this.$slots)["default"]) === null || _this$$slots$default2 === void 0 ? void 0 : _this$$slots$default2.call(_this$$slots)) !== null && _this$$slots$default !== void 0 ? _this$$slots$default : (0,external_vue_namespaceObject.createVNode)("span", {
888
901
  "class": this.resolveClassName('select-option-item'),
889
902
  "title": String(this.optionName)
890
- }, [this.optionName]), this.showSelectedIcon && this.selected && this.selectedStyle === shared_namespaceObject.SelectedTypeEnum.CHECK && (0,external_vue_namespaceObject.createVNode)(icon_namespaceObject.Done, {
903
+ }, [this.highlightKeyword ? this.transformNode(String(this.optionName)) : this.optionName]), this.showSelectedIcon && this.selected && this.selectedStyle === shared_namespaceObject.SelectedTypeEnum.CHECK && (0,external_vue_namespaceObject.createVNode)(icon_namespaceObject.Done, {
891
904
  "class": this.resolveClassName('select-selected-icon'),
892
905
  "width": 22,
893
906
  "height": 22
@@ -1081,6 +1094,1208 @@ const virtual_render_namespaceObject = virtual_render_x({ ["default"]: () => __W
1081
1094
  var virtual_render_less_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
1082
1095
  var virtual_render_less_y = x => () => x
1083
1096
  const virtual_render_less_namespaceObject = virtual_render_less_x({ });
1097
+ ;// CONCATENATED MODULE: ../../packages/select/src/pinyin/dict.js
1098
+ /*
1099
+ * Tencent is pleased to support the open source community by making
1100
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
1101
+ *
1102
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
1103
+ *
1104
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
1105
+ *
1106
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
1107
+ *
1108
+ * ---------------------------------------------------
1109
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
1110
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
1111
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
1112
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
1113
+ *
1114
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
1115
+ * the Software.
1116
+ *
1117
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
1118
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1119
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
1120
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
1121
+ * IN THE SOFTWARE.
1122
+ */
1123
+
1124
+ /* eslint-disable max-len */
1125
+
1126
+ /**
1127
+ * Source: <https://android.googlesource.com/platform/packages/providers/ContactsProvider/+/0c49720fb3d58e346739c2ccd56ed2b739249e07/src/com/android/providers/contacts/HanziToPinyin.java>
1128
+ * Updated by creeper
1129
+ */
1130
+
1131
+
1132
+
1133
+ const UNIHANS = [
1134
+ '\u963f',
1135
+ '\u54ce',
1136
+ '\u5b89',
1137
+ '\u80ae',
1138
+ '\u51f9',
1139
+ '\u516b',
1140
+ '\u6300',
1141
+ '\u6273',
1142
+ '\u90a6',
1143
+ '\u52f9',
1144
+ '\u9642',
1145
+ '\u5954',
1146
+ '\u4f3b',
1147
+ '\u5c44',
1148
+ '\u8fb9',
1149
+ '\u706c',
1150
+ '\u618b',
1151
+ '\u6c43',
1152
+ '\u51ab',
1153
+ '\u7676',
1154
+ '\u5cec',
1155
+ '\u5693',
1156
+ '\u5072',
1157
+ '\u53c2',
1158
+ '\u4ed3',
1159
+ '\u64a1',
1160
+ '\u518a',
1161
+ '\u5d7e',
1162
+ '\u66fd',
1163
+ '\u53c9',
1164
+ '\u8286',
1165
+ '\u8fbf',
1166
+ '\u4f25',
1167
+ '\u6284',
1168
+ '\u8f66',
1169
+ '\u62bb',
1170
+ '\u9637',
1171
+ '\u5403',
1172
+ '\u5145',
1173
+ '\u62bd',
1174
+ '\u51fa',
1175
+ '\u6b3b',
1176
+ '\u63e3',
1177
+ '\u5ddb',
1178
+ '\u5205',
1179
+ '\u5439',
1180
+ '\u65fe',
1181
+ '\u9034',
1182
+ '\u5472',
1183
+ '\u5306',
1184
+ '\u51d1',
1185
+ '\u7c97',
1186
+ '\u6c46',
1187
+ '\u5d14',
1188
+ '\u90a8',
1189
+ '\u6413',
1190
+ '\u5491',
1191
+ '\u5446',
1192
+ '\u4e39',
1193
+ '\u5f53',
1194
+ '\u5200',
1195
+ '\u561a',
1196
+ '\u6265',
1197
+ '\u706f',
1198
+ '\u6c10',
1199
+ '\u7538',
1200
+ '\u5201',
1201
+ '\u7239',
1202
+ '\u4e01',
1203
+ '\u4e1f',
1204
+ '\u4e1c',
1205
+ '\u543a',
1206
+ '\u53be',
1207
+ '\u8011',
1208
+ '\u5796',
1209
+ '\u5428',
1210
+ '\u591a',
1211
+ '\u59b8',
1212
+ '\u8bf6',
1213
+ '\u5940',
1214
+ '\u97a5',
1215
+ '\u513f',
1216
+ '\u53d1',
1217
+ '\u5e06',
1218
+ '\u531a',
1219
+ '\u98de',
1220
+ '\u5206',
1221
+ '\u4e30',
1222
+ '\u8985',
1223
+ '\u4ecf',
1224
+ '\u7d11',
1225
+ '\u592b',
1226
+ '\u65ee',
1227
+ '\u4f85',
1228
+ '\u7518',
1229
+ '\u5188',
1230
+ '\u768b',
1231
+ '\u6208',
1232
+ '\u7ed9',
1233
+ '\u6839',
1234
+ '\u522f',
1235
+ '\u5de5',
1236
+ '\u52fe',
1237
+ '\u4f30',
1238
+ '\u74dc',
1239
+ '\u4e56',
1240
+ '\u5173',
1241
+ '\u5149',
1242
+ '\u5f52',
1243
+ '\u4e28',
1244
+ '\u5459',
1245
+ '\u54c8',
1246
+ '\u548d',
1247
+ '\u4f44',
1248
+ '\u592f',
1249
+ '\u8320',
1250
+ '\u8bc3',
1251
+ '\u9ed2',
1252
+ '\u62eb',
1253
+ '\u4ea8',
1254
+ '\u5677',
1255
+ '\u53ff',
1256
+ '\u9f41',
1257
+ '\u4e4e',
1258
+ '\u82b1',
1259
+ '\u6000',
1260
+ '\u6b22',
1261
+ '\u5ddf',
1262
+ '\u7070',
1263
+ '\u660f',
1264
+ '\u5419',
1265
+ '\u4e0c',
1266
+ '\u52a0',
1267
+ '\u620b',
1268
+ '\u6c5f',
1269
+ '\u827d',
1270
+ '\u9636',
1271
+ '\u5dfe',
1272
+ '\u5755',
1273
+ '\u5182',
1274
+ '\u4e29',
1275
+ '\u51e5',
1276
+ '\u59e2',
1277
+ '\u5658',
1278
+ '\u519b',
1279
+ '\u5494',
1280
+ '\u5f00',
1281
+ '\u520a',
1282
+ '\u5ffc',
1283
+ '\u5c3b',
1284
+ '\u533c',
1285
+ '\u808e',
1286
+ '\u52a5',
1287
+ '\u7a7a',
1288
+ '\u62a0',
1289
+ '\u625d',
1290
+ '\u5938',
1291
+ '\u84af',
1292
+ '\u5bbd',
1293
+ '\u5321',
1294
+ '\u4e8f',
1295
+ '\u5764',
1296
+ '\u6269',
1297
+ '\u5783',
1298
+ '\u6765',
1299
+ '\u5170',
1300
+ '\u5577',
1301
+ '\u635e',
1302
+ '\u808b',
1303
+ '\u52d2',
1304
+ '\u5d1a',
1305
+ '\u54e9',
1306
+ '\u4fe9',
1307
+ '\u5941',
1308
+ '\u826f',
1309
+ '\u64a9',
1310
+ '\u6bdf',
1311
+ '\u62ce',
1312
+ '\u4f36',
1313
+ '\u6e9c',
1314
+ '\u56d6',
1315
+ '\u9f99',
1316
+ '\u779c',
1317
+ '\u565c',
1318
+ '\u9a74',
1319
+ '\u5a08',
1320
+ '\u63a0',
1321
+ '\u62a1',
1322
+ '\u7f57',
1323
+ '\u5463',
1324
+ '\u5988',
1325
+ '\u57cb',
1326
+ '\u5ada',
1327
+ '\u7264',
1328
+ '\u732b',
1329
+ '\u4e48',
1330
+ '\u5445',
1331
+ '\u95e8',
1332
+ '\u753f',
1333
+ '\u54aa',
1334
+ '\u5b80',
1335
+ '\u55b5',
1336
+ '\u4e5c',
1337
+ '\u6c11',
1338
+ '\u540d',
1339
+ '\u8c2c',
1340
+ '\u6478',
1341
+ '\u54de',
1342
+ '\u6bea',
1343
+ '\u55ef',
1344
+ '\u62cf',
1345
+ '\u8149',
1346
+ '\u56e1',
1347
+ '\u56d4',
1348
+ '\u5b6c',
1349
+ '\u7592',
1350
+ '\u5a1e',
1351
+ '\u6041',
1352
+ '\u80fd',
1353
+ '\u59ae',
1354
+ '\u62c8',
1355
+ '\u5a18',
1356
+ '\u9e1f',
1357
+ '\u634f',
1358
+ '\u56dc',
1359
+ '\u5b81',
1360
+ '\u599e',
1361
+ '\u519c',
1362
+ '\u7fba',
1363
+ '\u5974',
1364
+ '\u5973',
1365
+ '\u597b',
1366
+ '\u759f',
1367
+ '\u9ec1',
1368
+ '\u632a',
1369
+ '\u5594',
1370
+ '\u8bb4',
1371
+ '\u5991',
1372
+ '\u62cd',
1373
+ '\u7705',
1374
+ '\u4e53',
1375
+ '\u629b',
1376
+ '\u5478',
1377
+ '\u55b7',
1378
+ '\u5309',
1379
+ '\u4e15',
1380
+ '\u56e8',
1381
+ '\u527d',
1382
+ '\u6c15',
1383
+ '\u59d8',
1384
+ '\u4e52',
1385
+ '\u948b',
1386
+ '\u5256',
1387
+ '\u4ec6',
1388
+ '\u4e03',
1389
+ '\u6390',
1390
+ '\u5343',
1391
+ '\u545b',
1392
+ '\u6084',
1393
+ '\u767f',
1394
+ '\u4eb2',
1395
+ '\u9751',
1396
+ '\u536d',
1397
+ '\u4e18',
1398
+ '\u533a',
1399
+ '\u5cd1',
1400
+ '\u7f3a',
1401
+ '\u590b',
1402
+ '\u5465',
1403
+ '\u7a63',
1404
+ '\u5a06',
1405
+ '\u60f9',
1406
+ '\u4eba',
1407
+ '\u6254',
1408
+ '\u65e5',
1409
+ '\u8338',
1410
+ '\u53b9',
1411
+ '\u909a',
1412
+ '\u633c',
1413
+ '\u5827',
1414
+ '\u5a51',
1415
+ '\u77a4',
1416
+ '\u637c',
1417
+ '\u4ee8',
1418
+ '\u6be2',
1419
+ '\u4e09',
1420
+ '\u6852',
1421
+ '\u63bb',
1422
+ '\u95aa',
1423
+ '\u68ee',
1424
+ '\u50e7',
1425
+ '\u6740',
1426
+ '\u7b5b',
1427
+ '\u5c71',
1428
+ '\u4f24',
1429
+ '\u5f30',
1430
+ '\u5962',
1431
+ '\u7533',
1432
+ '\u5347',
1433
+ '\u5c38',
1434
+ '\u53ce',
1435
+ '\u4e66',
1436
+ '\u5237',
1437
+ '\u8870',
1438
+ '\u95e9',
1439
+ '\u53cc',
1440
+ '\u813d',
1441
+ '\u542e',
1442
+ '\u8bf4',
1443
+ '\u53b6',
1444
+ '\u5fea',
1445
+ '\u635c',
1446
+ '\u82cf',
1447
+ '\u72fb',
1448
+ '\u590a',
1449
+ '\u5b59',
1450
+ '\u5506',
1451
+ '\u4ed6',
1452
+ '\u56fc',
1453
+ '\u574d',
1454
+ '\u6c64',
1455
+ '\u5932',
1456
+ '\u5fd1',
1457
+ '\u71a5',
1458
+ '\u5254',
1459
+ '\u5929',
1460
+ '\u65eb',
1461
+ '\u5e16',
1462
+ '\u5385',
1463
+ '\u56f2',
1464
+ '\u5077',
1465
+ '\u51f8',
1466
+ '\u6e4d',
1467
+ '\u63a8',
1468
+ '\u541e',
1469
+ '\u4e47',
1470
+ '\u7a75',
1471
+ '\u6b6a',
1472
+ '\u5f2f',
1473
+ '\u5c23',
1474
+ '\u5371',
1475
+ '\u6637',
1476
+ '\u7fc1',
1477
+ '\u631d',
1478
+ '\u4e4c',
1479
+ '\u5915',
1480
+ '\u8672',
1481
+ '\u4ed9',
1482
+ '\u4e61',
1483
+ '\u7071',
1484
+ '\u4e9b',
1485
+ '\u5fc3',
1486
+ '\u661f',
1487
+ '\u51f6',
1488
+ '\u4f11',
1489
+ '\u5401',
1490
+ '\u5405',
1491
+ '\u524a',
1492
+ '\u5743',
1493
+ '\u4e2b',
1494
+ '\u6079',
1495
+ '\u592e',
1496
+ '\u5e7a',
1497
+ '\u503b',
1498
+ '\u4e00',
1499
+ '\u56d9',
1500
+ '\u5e94',
1501
+ '\u54df',
1502
+ '\u4f63',
1503
+ '\u4f18',
1504
+ '\u625c',
1505
+ '\u56e6',
1506
+ '\u66f0',
1507
+ '\u6655',
1508
+ '\u5e00',
1509
+ '\u707d',
1510
+ '\u5142',
1511
+ '\u5328',
1512
+ '\u50ae',
1513
+ '\u5219',
1514
+ '\u8d3c',
1515
+ '\u600e',
1516
+ '\u5897',
1517
+ '\u624e',
1518
+ '\u635a',
1519
+ '\u6cbe',
1520
+ '\u5f20',
1521
+ '\u4f4b',
1522
+ '\u8707',
1523
+ '\u8d1e',
1524
+ '\u4e89',
1525
+ '\u4e4b',
1526
+ '\u4e2d',
1527
+ '\u5dde',
1528
+ '\u6731',
1529
+ '\u6293',
1530
+ '\u62fd',
1531
+ '\u4e13',
1532
+ '\u5986',
1533
+ '\u96b9',
1534
+ '\u5b92',
1535
+ '\u5353',
1536
+ '\u4e72',
1537
+ '\u5b97',
1538
+ '\u90b9',
1539
+ '\u79df',
1540
+ '\u94bb',
1541
+ '\u539c',
1542
+ '\u5c0a',
1543
+ '\u6628',
1544
+ '\u5159',
1545
+ ];
1546
+
1547
+ // convert ascii array to Pinyin
1548
+ const PINYINS = [
1549
+ 'A',
1550
+ 'AI',
1551
+ 'AN',
1552
+ 'ANG',
1553
+ 'AO',
1554
+ 'BA',
1555
+ 'BAI',
1556
+ 'BAN',
1557
+ 'BANG',
1558
+ 'BAO',
1559
+ 'BEI',
1560
+ 'BEN',
1561
+ 'BENG',
1562
+ 'BI',
1563
+ 'BIAN',
1564
+ 'BIAO',
1565
+ 'BIE',
1566
+ 'BIN',
1567
+ 'BING',
1568
+ 'BO',
1569
+ 'BU',
1570
+ 'CA',
1571
+ 'CAI',
1572
+ 'CAN',
1573
+ 'CANG',
1574
+ 'CAO',
1575
+ 'CE',
1576
+ 'CEN',
1577
+ 'CENG',
1578
+ 'CHA',
1579
+ 'CHAI',
1580
+ 'CHAN',
1581
+ 'CHANG',
1582
+ 'CHAO',
1583
+ 'CHE',
1584
+ 'CHEN',
1585
+ 'CHENG',
1586
+ 'CHI',
1587
+ 'CHONG',
1588
+ 'CHOU',
1589
+ 'CHU',
1590
+ 'CHUA',
1591
+ 'CHUAI',
1592
+ 'CHUAN',
1593
+ 'CHUANG',
1594
+ 'CHUI',
1595
+ 'CHUN',
1596
+ 'CHUO',
1597
+ 'CI',
1598
+ 'CONG',
1599
+ 'COU',
1600
+ 'CU',
1601
+ 'CUAN',
1602
+ 'CUI',
1603
+ 'CUN',
1604
+ 'CUO',
1605
+ 'DA',
1606
+ 'DAI',
1607
+ 'DAN',
1608
+ 'DANG',
1609
+ 'DAO',
1610
+ 'DE',
1611
+ 'DEN',
1612
+ 'DENG',
1613
+ 'DI',
1614
+ 'DIAN',
1615
+ 'DIAO',
1616
+ 'DIE',
1617
+ 'DING',
1618
+ 'DIU',
1619
+ 'DONG',
1620
+ 'DOU',
1621
+ 'DU',
1622
+ 'DUAN',
1623
+ 'DUI',
1624
+ 'DUN',
1625
+ 'DUO',
1626
+ 'E',
1627
+ 'EI',
1628
+ 'EN',
1629
+ 'ENG',
1630
+ 'ER',
1631
+ 'FA',
1632
+ 'FAN',
1633
+ 'FANG',
1634
+ 'FEI',
1635
+ 'FEN',
1636
+ 'FENG',
1637
+ 'FIAO',
1638
+ 'FO',
1639
+ 'FOU',
1640
+ 'FU',
1641
+ 'GA',
1642
+ 'GAI',
1643
+ 'GAN',
1644
+ 'GANG',
1645
+ 'GAO',
1646
+ 'GE',
1647
+ 'GEI',
1648
+ 'GEN',
1649
+ 'GENG',
1650
+ 'GONG',
1651
+ 'GOU',
1652
+ 'GU',
1653
+ 'GUA',
1654
+ 'GUAI',
1655
+ 'GUAN',
1656
+ 'GUANG',
1657
+ 'GUI',
1658
+ 'GUN',
1659
+ 'GUO',
1660
+ 'HA',
1661
+ 'HAI',
1662
+ 'HAN',
1663
+ 'HANG',
1664
+ 'HAO',
1665
+ 'HE',
1666
+ 'HEI',
1667
+ 'HEN',
1668
+ 'HENG',
1669
+ 'HM',
1670
+ 'HONG',
1671
+ 'HOU',
1672
+ 'HU',
1673
+ 'HUA',
1674
+ 'HUAI',
1675
+ 'HUAN',
1676
+ 'HUANG',
1677
+ 'HUI',
1678
+ 'HUN',
1679
+ 'HUO',
1680
+ 'JI',
1681
+ 'JIA',
1682
+ 'JIAN',
1683
+ 'JIANG',
1684
+ 'JIAO',
1685
+ 'JIE',
1686
+ 'JIN',
1687
+ 'JING',
1688
+ 'JIONG',
1689
+ 'JIU',
1690
+ 'JU',
1691
+ 'JUAN',
1692
+ 'JUE',
1693
+ 'JUN',
1694
+ 'KA',
1695
+ 'KAI',
1696
+ 'KAN',
1697
+ 'KANG',
1698
+ 'KAO',
1699
+ 'KE',
1700
+ 'KEN',
1701
+ 'KENG',
1702
+ 'KONG',
1703
+ 'KOU',
1704
+ 'KU',
1705
+ 'KUA',
1706
+ 'KUAI',
1707
+ 'KUAN',
1708
+ 'KUANG',
1709
+ 'KUI',
1710
+ 'KUN',
1711
+ 'KUO',
1712
+ 'LA',
1713
+ 'LAI',
1714
+ 'LAN',
1715
+ 'LANG',
1716
+ 'LAO',
1717
+ 'LE',
1718
+ 'LEI',
1719
+ 'LENG',
1720
+ 'LI',
1721
+ 'LIA',
1722
+ 'LIAN',
1723
+ 'LIANG',
1724
+ 'LIAO',
1725
+ 'LIE',
1726
+ 'LIN',
1727
+ 'LING',
1728
+ 'LIU',
1729
+ 'LO',
1730
+ 'LONG',
1731
+ 'LOU',
1732
+ 'LU',
1733
+ 'LV',
1734
+ 'LUAN',
1735
+ 'LVE',
1736
+ 'LUN',
1737
+ 'LUO',
1738
+ 'M',
1739
+ 'MA',
1740
+ 'MAI',
1741
+ 'MAN',
1742
+ 'MANG',
1743
+ 'MAO',
1744
+ 'ME',
1745
+ 'MEI',
1746
+ 'MEN',
1747
+ 'MENG',
1748
+ 'MI',
1749
+ 'MIAN',
1750
+ 'MIAO',
1751
+ 'MIE',
1752
+ 'MIN',
1753
+ 'MING',
1754
+ 'MIU',
1755
+ 'MO',
1756
+ 'MOU',
1757
+ 'MU',
1758
+ 'N',
1759
+ 'NA',
1760
+ 'NAI',
1761
+ 'NAN',
1762
+ 'NANG',
1763
+ 'NAO',
1764
+ 'NE',
1765
+ 'NEI',
1766
+ 'NEN',
1767
+ 'NENG',
1768
+ 'NI',
1769
+ 'NIAN',
1770
+ 'NIANG',
1771
+ 'NIAO',
1772
+ 'NIE',
1773
+ 'NIN',
1774
+ 'NING',
1775
+ 'NIU',
1776
+ 'NONG',
1777
+ 'NOU',
1778
+ 'NU',
1779
+ 'NV',
1780
+ 'NUAN',
1781
+ 'NVE',
1782
+ 'NUN',
1783
+ 'NUO',
1784
+ 'O',
1785
+ 'OU',
1786
+ 'PA',
1787
+ 'PAI',
1788
+ 'PAN',
1789
+ 'PANG',
1790
+ 'PAO',
1791
+ 'PEI',
1792
+ 'PEN',
1793
+ 'PENG',
1794
+ 'PI',
1795
+ 'PIAN',
1796
+ 'PIAO',
1797
+ 'PIE',
1798
+ 'PIN',
1799
+ 'PING',
1800
+ 'PO',
1801
+ 'POU',
1802
+ 'PU',
1803
+ 'QI',
1804
+ 'QIA',
1805
+ 'QIAN',
1806
+ 'QIANG',
1807
+ 'QIAO',
1808
+ 'QIE',
1809
+ 'QIN',
1810
+ 'QING',
1811
+ 'QIONG',
1812
+ 'QIU',
1813
+ 'QU',
1814
+ 'QUAN',
1815
+ 'QUE',
1816
+ 'QUN',
1817
+ 'RAN',
1818
+ 'RANG',
1819
+ 'RAO',
1820
+ 'RE',
1821
+ 'REN',
1822
+ 'RENG',
1823
+ 'RI',
1824
+ 'RONG',
1825
+ 'ROU',
1826
+ 'RU',
1827
+ 'RUA',
1828
+ 'RUAN',
1829
+ 'RUI',
1830
+ 'RUN',
1831
+ 'RUO',
1832
+ 'SA',
1833
+ 'SAI',
1834
+ 'SAN',
1835
+ 'SANG',
1836
+ 'SAO',
1837
+ 'SE',
1838
+ 'SEN',
1839
+ 'SENG',
1840
+ 'SHA',
1841
+ 'SHAI',
1842
+ 'SHAN',
1843
+ 'SHANG',
1844
+ 'SHAO',
1845
+ 'SHE',
1846
+ 'SHEN',
1847
+ 'SHENG',
1848
+ 'SHI',
1849
+ 'SHOU',
1850
+ 'SHU',
1851
+ 'SHUA',
1852
+ 'SHUAI',
1853
+ 'SHUAN',
1854
+ 'SHUANG',
1855
+ 'SHUI',
1856
+ 'SHUN',
1857
+ 'SHUO',
1858
+ 'SI',
1859
+ 'SONG',
1860
+ 'SOU',
1861
+ 'SU',
1862
+ 'SUAN',
1863
+ 'SUI',
1864
+ 'SUN',
1865
+ 'SUO',
1866
+ 'TA',
1867
+ 'TAI',
1868
+ 'TAN',
1869
+ 'TANG',
1870
+ 'TAO',
1871
+ 'TE',
1872
+ 'TENG',
1873
+ 'TI',
1874
+ 'TIAN',
1875
+ 'TIAO',
1876
+ 'TIE',
1877
+ 'TING',
1878
+ 'TONG',
1879
+ 'TOU',
1880
+ 'TU',
1881
+ 'TUAN',
1882
+ 'TUI',
1883
+ 'TUN',
1884
+ 'TUO',
1885
+ 'WA',
1886
+ 'WAI',
1887
+ 'WAN',
1888
+ 'WANG',
1889
+ 'WEI',
1890
+ 'WEN',
1891
+ 'WENG',
1892
+ 'WO',
1893
+ 'WU',
1894
+ 'XI',
1895
+ 'XIA',
1896
+ 'XIAN',
1897
+ 'XIANG',
1898
+ 'XIAO',
1899
+ 'XIE',
1900
+ 'XIN',
1901
+ 'XING',
1902
+ 'XIONG',
1903
+ 'XIU',
1904
+ 'XU',
1905
+ 'XUAN',
1906
+ 'XUE',
1907
+ 'XUN',
1908
+ 'YA',
1909
+ 'YAN',
1910
+ 'YANG',
1911
+ 'YAO',
1912
+ 'YE',
1913
+ 'YI',
1914
+ 'YIN',
1915
+ 'YING',
1916
+ 'YO',
1917
+ 'YONG',
1918
+ 'YOU',
1919
+ 'YU',
1920
+ 'YUAN',
1921
+ 'YUE',
1922
+ 'YUN',
1923
+ 'ZA',
1924
+ 'ZAI',
1925
+ 'ZAN',
1926
+ 'ZANG',
1927
+ 'ZAO',
1928
+ 'ZE',
1929
+ 'ZEI',
1930
+ 'ZEN',
1931
+ 'ZENG',
1932
+ 'ZHA',
1933
+ 'ZHAI',
1934
+ 'ZHAN',
1935
+ 'ZHANG',
1936
+ 'ZHAO',
1937
+ 'ZHE',
1938
+ 'ZHEN',
1939
+ 'ZHENG',
1940
+ 'ZHI',
1941
+ 'ZHONG',
1942
+ 'ZHOU',
1943
+ 'ZHU',
1944
+ 'ZHUA',
1945
+ 'ZHUAI',
1946
+ 'ZHUAN',
1947
+ 'ZHUANG',
1948
+ 'ZHUI',
1949
+ 'ZHUN',
1950
+ 'ZHUO',
1951
+ 'ZI',
1952
+ 'ZONG',
1953
+ 'ZOU',
1954
+ 'ZU',
1955
+ 'ZUAN',
1956
+ 'ZUI',
1957
+ 'ZUN',
1958
+ 'ZUO',
1959
+ '',
1960
+ ];
1961
+
1962
+ // Separate from UNIHANS & PINYINS.
1963
+ // So PINYINS are completely of alphabetical order, and no duplicate pinyin.
1964
+ const EXCEPTIONS = {
1965
+ '\u66fe': 'ZENG', // CENG 曾
1966
+ '\u6c88': 'SHEN', // CHEN 沈
1967
+ '\u55f2': 'DIA', // DIE 嗲
1968
+ '\u78a1': 'ZHOU', // DU 碡
1969
+ '\u8052': 'GUO', // GUA 聒
1970
+ '\u7094': 'QUE', // GUI 炔
1971
+ '\u86b5': 'KE', // HE 蚵
1972
+ '\u7809': 'HUA', // HUO 砉
1973
+ '\u5b24': 'MO', // MA 嬤
1974
+ '\u5b37': 'MO', // MA 嬷
1975
+ '\u8e52': 'PAN', // MAN 蹒
1976
+ '\u8e4a': 'XI', // QI 蹊
1977
+ '\u4e2c': 'PAN', // QIANG 丬
1978
+ '\u9730': 'XIAN', // SAN 霰
1979
+ '\u8398': 'XIN', // SHEN 莘
1980
+ '\u8c49': 'CHI', // SHI 豉
1981
+ '\u9967': 'XING', // TANG 饧
1982
+ '\u7b60': 'JUN', // YUN 筠
1983
+ '\u957f': 'CHANG', // ZHANG 长
1984
+ '\u5e27': 'ZHEN', // ZHENG 帧
1985
+ '\u5cd9': 'SHI', // ZHI 峙
1986
+ '\u90cd': 'NA',
1987
+ '\u828e': 'XIONG',
1988
+ '\u8c01': 'SHUI',
1989
+ };
1990
+
1991
+ /* harmony default export */ const dict = ({
1992
+ PINYINS,
1993
+ UNIHANS,
1994
+ EXCEPTIONS,
1995
+ });
1996
+
1997
+ ;// CONCATENATED MODULE: ../../packages/select/src/pinyin/core.js
1998
+ /*
1999
+ * Tencent is pleased to support the open source community by making
2000
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
2001
+ *
2002
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
2003
+ *
2004
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
2005
+ *
2006
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
2007
+ *
2008
+ * ---------------------------------------------------
2009
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
2010
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
2011
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
2012
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
2013
+ *
2014
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
2015
+ * the Software.
2016
+ *
2017
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
2018
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2019
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
2020
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
2021
+ * IN THE SOFTWARE.
2022
+ */
2023
+
2024
+
2025
+
2026
+ const FIRST_PINYIN_UNIHAN = '\u963F';
2027
+ const LAST_PINYIN_UNIHAN = '\u9FFF';
2028
+
2029
+ const LATIN = 1;
2030
+ const PINYIN = 2;
2031
+ const UNKNOWN = 3;
2032
+
2033
+ let supported = null;
2034
+ let COLLATOR;
2035
+
2036
+ function patchDict(patchers) {
2037
+ if (!patchers) return;
2038
+ if (typeof patchers === 'function') {
2039
+ // eslint-disable-next-line no-param-reassign
2040
+ patchers = [patchers];
2041
+ }
2042
+ if (patchers.forEach) {
2043
+ patchers.forEach(p => {
2044
+ typeof p === 'function' && p(dict);
2045
+ });
2046
+ }
2047
+ }
2048
+
2049
+ function isSupported(force) {
2050
+ if (!force && supported !== null) {
2051
+ return supported;
2052
+ }
2053
+ if (typeof Intl === 'object' && Intl.Collator) {
2054
+ COLLATOR = new Intl.Collator(['zh-Hans-CN', 'zh-CN']);
2055
+ supported = Intl.Collator.supportedLocalesOf(['zh-CN']).length === 1;
2056
+ } else {
2057
+ supported = false;
2058
+ }
2059
+ return supported;
2060
+ }
2061
+
2062
+ function genToken(ch) {
2063
+ // Access DICT here, give the chance to patch DICT.
2064
+ const { UNIHANS } = dict;
2065
+ const { PINYINS } = dict;
2066
+ const { EXCEPTIONS } = dict;
2067
+ const token = {
2068
+ source: ch,
2069
+ };
2070
+
2071
+ // First check EXCEPTIONS map, then search with UNIHANS table.
2072
+ if (ch in EXCEPTIONS) {
2073
+ token.type = PINYIN;
2074
+ token.target = EXCEPTIONS[ch];
2075
+ return token;
2076
+ }
2077
+
2078
+ let offset = -1;
2079
+ let cmp;
2080
+ if (ch.charCodeAt(0) < 256) {
2081
+ token.type = LATIN;
2082
+ token.target = ch;
2083
+ return token;
2084
+ }
2085
+ cmp = COLLATOR.compare(ch, FIRST_PINYIN_UNIHAN);
2086
+ if (cmp < 0) {
2087
+ token.type = UNKNOWN;
2088
+ token.target = ch;
2089
+ return token;
2090
+ }
2091
+ if (cmp === 0) {
2092
+ token.type = PINYIN;
2093
+ offset = 0;
2094
+ } else {
2095
+ cmp = COLLATOR.compare(ch, LAST_PINYIN_UNIHAN);
2096
+ if (cmp > 0) {
2097
+ token.type = UNKNOWN;
2098
+ token.target = ch;
2099
+ return token;
2100
+ }
2101
+ if (cmp === 0) {
2102
+ token.type = PINYIN;
2103
+ offset = UNIHANS.length - 1;
2104
+ }
2105
+ }
2106
+
2107
+ token.type = PINYIN;
2108
+ if (offset < 0) {
2109
+ let begin = 0;
2110
+ let end = UNIHANS.length - 1;
2111
+ while (begin <= end) {
2112
+ offset = ~~((begin + end) / 2);
2113
+ const unihan = UNIHANS[offset];
2114
+ cmp = COLLATOR.compare(ch, unihan);
2115
+
2116
+ // Catch it.
2117
+ if (cmp === 0) {
2118
+ break;
2119
+ } else if (cmp > 0) {
2120
+ // Search after offset.
2121
+ begin = offset + 1;
2122
+ } else {
2123
+ // Search before the offset.
2124
+ end = offset - 1;
2125
+ }
2126
+ }
2127
+ }
2128
+
2129
+ if (cmp < 0) {
2130
+ // eslint-disable-next-line no-plusplus
2131
+ offset--;
2132
+ }
2133
+
2134
+ token.target = PINYINS[offset];
2135
+ if (!token.target) {
2136
+ token.type = UNKNOWN;
2137
+ token.target = token.source;
2138
+ }
2139
+ return token;
2140
+ }
2141
+
2142
+ function parse(str) {
2143
+ if (typeof str !== 'string' || !isSupported()) {
2144
+ return str;
2145
+ }
2146
+ return str.split('').map(v => genToken(v));
2147
+ }
2148
+
2149
+ /* harmony default export */ const core = ({
2150
+ isSupported,
2151
+ parse,
2152
+ patchDict,
2153
+ genToken, // inner usage
2154
+ convertToPinyin(str, lowerCase, separator) {
2155
+ return parse(str)
2156
+ .map(v => {
2157
+ if (lowerCase && v.type === PINYIN) {
2158
+ return v.target.toLowerCase();
2159
+ }
2160
+ return v.target;
2161
+ })
2162
+ .join(separator || '');
2163
+ },
2164
+ });
2165
+
2166
+ ;// CONCATENATED MODULE: ../../packages/select/src/pinyin/patchers/56l.js
2167
+ /*
2168
+ * Tencent is pleased to support the open source community by making
2169
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
2170
+ *
2171
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
2172
+ *
2173
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
2174
+ *
2175
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
2176
+ *
2177
+ * ---------------------------------------------------
2178
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
2179
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
2180
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
2181
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
2182
+ *
2183
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
2184
+ * the Software.
2185
+ *
2186
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
2187
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2188
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
2189
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
2190
+ * IN THE SOFTWARE.
2191
+ */
2192
+
2193
+ function patcher(DICT) {
2194
+ // Update EXCEPTIONS dict.
2195
+ DICT.EXCEPTIONS = {
2196
+ '\u55f2': 'DIA', // DIE 嗲
2197
+ '\u78a1': 'ZHOU', // DU 碡
2198
+ '\u8052': 'GUO', // GUA 聒
2199
+ '\u7094': 'QUE', // GUI 炔
2200
+ '\u86b5': 'KE', // HE 蚵
2201
+ '\u7809': 'HUA', // HUO 砉
2202
+ '\u5b37': 'MO', // MA 嬷 新增
2203
+ '\u8e4a': 'XI', // QI 蹊
2204
+ '\u4e2c': 'PAN', // QIANG 丬
2205
+ '\u9730': 'XIAN', // SAN 霰
2206
+ '\u8c49': 'CHI', // SHI 豉
2207
+ '\u9967': 'XING', // TANG 饧
2208
+ '\u5e27': 'ZHEN', // ZHENG 帧
2209
+ '\u828e': 'XIONG', // 芎
2210
+ '\u8c01': 'SHUI', // 谁
2211
+ '\u94b6': 'KE', // 钶
2212
+ };
2213
+
2214
+ // Update UNIHANS dict.
2215
+ DICT.UNIHANS[91] = '\u4f15'; // FU: 夫 --> 伕
2216
+ DICT.UNIHANS[347] = '\u4eda'; // XIAN: 仙 --> 仚
2217
+ DICT.UNIHANS[393] = '\u8bcc'; // ZHOU: 州 --> 诌
2218
+ DICT.UNIHANS[39] = '\u5a64'; // CHOU: 抽 --> 婤
2219
+ DICT.UNIHANS[50] = '\u8160'; // COU: 凑 --> 腠
2220
+ DICT.UNIHANS[369] = '\u6538'; // YOU: 优 --> 攸
2221
+ DICT.UNIHANS[123] = '\u4e6f'; // HU: 乎 --> 乯
2222
+ DICT.UNIHANS[171] = '\u5215'; // LI: 哩 --> 刕
2223
+ DICT.UNIHANS[102] = '\u4f5d'; // GOU: 勾 --> 佝
2224
+ DICT.UNIHANS[126] = '\u72bf'; // HUAN: 欢 --> 犿
2225
+ DICT.UNIHANS[176] = '\u5217'; // LIE: 毟 --> 列
2226
+ DICT.UNIHANS[178] = '\u5222'; // LING: 伶 --> 刢
2227
+ DICT.UNIHANS[252] = '\u5a1d'; // POU: 剖 --> 娝
2228
+ DICT.UNIHANS[330] = '\u5078'; // TOU: 偷 --> 偸
2229
+ }
2230
+
2231
+ function shouldPatch(toToken) {
2232
+ if (typeof toToken !== 'function') return false;
2233
+ // Special unihans that get incorrect pinyins.
2234
+ if (
2235
+ toToken('\u4f15').target === 'FOU' &&
2236
+ toToken('\u4eda').target === 'XIA' &&
2237
+ toToken('\u8bcc').target === 'ZHONG' &&
2238
+ toToken('\u5a64').target === 'CHONG' &&
2239
+ toToken('\u8160').target === 'CONG' &&
2240
+ toToken('\u6538').target === 'YONG' &&
2241
+ toToken('\u4e6f').target === 'HOU' &&
2242
+ toToken('\u5215').target === 'LENG' &&
2243
+ toToken('\u4f5d').target === 'GONG' &&
2244
+ toToken('\u72bf').target === 'HUAI' &&
2245
+ toToken('\u5217').target === 'LIAO' &&
2246
+ toToken('\u5222').target === 'LIN' &&
2247
+ toToken('\u94b6').target === 'E'
2248
+ ) {
2249
+ return true;
2250
+ }
2251
+ return false;
2252
+ }
2253
+
2254
+ /* harmony default export */ const _56l = ({
2255
+ patcher,
2256
+ shouldPatch,
2257
+ });
2258
+
2259
+ ;// CONCATENATED MODULE: ../../packages/select/src/pinyin/index.js
2260
+ /*
2261
+ * Tencent is pleased to support the open source community by making
2262
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
2263
+ *
2264
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
2265
+ *
2266
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
2267
+ *
2268
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
2269
+ *
2270
+ * ---------------------------------------------------
2271
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
2272
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
2273
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
2274
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
2275
+ *
2276
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
2277
+ * the Software.
2278
+ *
2279
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
2280
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2281
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
2282
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
2283
+ * IN THE SOFTWARE.
2284
+ */
2285
+
2286
+ /**
2287
+ * Source: <https://github.com/creeperyang/pinyin>
2288
+ */
2289
+
2290
+
2291
+
2292
+ // Patch dict for icudt56l.dat related env, such as safari|node v4.
2293
+ if (core.isSupported() && _56l.shouldPatch(core.genToken)) {
2294
+ core.patchDict(_56l);
2295
+ }
2296
+
2297
+ /* harmony default export */ const pinyin = (core);
2298
+
1084
2299
  ;// CONCATENATED MODULE: external "lodash/debounce"
1085
2300
  var debounce_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
1086
2301
  var debounce_y = x => () => x
@@ -1147,7 +2362,8 @@ const tag_less_namespaceObject = tag_less_x({ });
1147
2362
  allowCreate: shared_namespaceObject.PropTypes.bool.def(false),
1148
2363
  disabled: shared_namespaceObject.PropTypes.bool.def(false),
1149
2364
  modelValue: shared_namespaceObject.PropTypes.any,
1150
- collapseTags: shared_namespaceObject.PropTypes.bool.def(false)
2365
+ collapseTags: shared_namespaceObject.PropTypes.bool.def(false),
2366
+ behavior: (0,shared_namespaceObject.InputBehaviorType)()
1151
2367
  },
1152
2368
  emits: ['update:modelValue', 'remove', 'enter', 'keydown'],
1153
2369
  setup: function setup(props, _ref) {
@@ -1272,7 +2488,7 @@ const tag_less_namespaceObject = tag_less_x({ });
1272
2488
  _this$$slots4,
1273
2489
  _this$$slots4$suffix;
1274
2490
  var prefix = (_this$$slots = this.$slots) === null || _this$$slots === void 0 || (_this$$slots$prefix = _this$$slots.prefix) === null || _this$$slots$prefix === void 0 ? void 0 : _this$$slots$prefix.call(_this$$slots);
1275
- var selectTagClass = (0,shared_namespaceObject.classes)(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, this.resolveClassName('select-tag'), true), this.resolveClassName('select-tag--default'), true), 'is-disabled', this.disabled), 'collapse-tag', this.collapseTags), 'has-prefix', !!prefix));
2491
+ var selectTagClass = (0,shared_namespaceObject.classes)(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, this.resolveClassName('select-tag'), true), this.resolveClassName('select-tag--default'), true), 'is-disabled', this.disabled), 'collapse-tag', this.collapseTags), 'has-prefix', !!prefix), 'is-simplicity', this.behavior === 'simplicity'));
1276
2492
  var tagWrapperClass = (0,shared_namespaceObject.classes)(_defineProperty({}, this.resolveClassName('select-tag-wrapper'), true));
1277
2493
  var inputStyle = {
1278
2494
  display: this.selected.length && !this.filterable ? 'none' : ''
@@ -1383,6 +2599,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1383
2599
 
1384
2600
 
1385
2601
 
2602
+
1386
2603
 
1387
2604
  /* harmony default export */ const src_select = ((0,external_vue_namespaceObject.defineComponent)({
1388
2605
  name: 'Select',
@@ -1396,7 +2613,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1396
2613
  size: shared_namespaceObject.PropTypes.size().def(shared_namespaceObject.SizeEnum.DEFAULT),
1397
2614
  clearable: shared_namespaceObject.PropTypes.bool.def(true),
1398
2615
  loading: shared_namespaceObject.PropTypes.bool.def(false),
1399
- filterable: shared_namespaceObject.PropTypes.bool.def(false),
2616
+ filterable: shared_namespaceObject.PropTypes.bool.def(true),
1400
2617
  remoteMethod: shared_namespaceObject.PropTypes.func,
1401
2618
  scrollHeight: shared_namespaceObject.PropTypes.number.def(200),
1402
2619
  showAll: shared_namespaceObject.PropTypes.bool.def(false),
@@ -1428,14 +2645,21 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1428
2645
  enableVirtualRender: shared_namespaceObject.PropTypes.bool.def(false),
1429
2646
  allowEmptyValues: shared_namespaceObject.PropTypes.array.def([]),
1430
2647
  autoFocus: shared_namespaceObject.PropTypes.bool.def(false),
2648
+ disableFocusBehavior: shared_namespaceObject.PropTypes.bool.def(false),
1431
2649
  keepSearchValue: shared_namespaceObject.PropTypes.bool.def(false),
1432
2650
  prefix: shared_namespaceObject.PropTypes.string,
1433
2651
  selectedStyle: (0,shared_namespaceObject.SelectedType)(),
1434
2652
  filterOption: {
1435
2653
  type: Function
1436
- } // 配置当前options的过滤规则
2654
+ },
2655
+ searchWithPinyin: shared_namespaceObject.PropTypes.bool.def(true),
2656
+ highlightKeyword: shared_namespaceObject.PropTypes.bool.def(false),
2657
+ trigger: {
2658
+ type: String,
2659
+ "default": 'default'
2660
+ } // content显示和隐藏方式
1437
2661
  },
1438
- emits: ['update:modelValue', 'change', 'toggle', 'clear', 'scroll-end', 'focus', 'blur', 'tag-remove', 'select', 'deselect'],
2662
+ emits: ['update:modelValue', 'change', 'toggle', 'clear', 'scroll-end', 'focus', 'blur', 'tag-remove', 'select', 'deselect', 'search-change'],
1439
2663
  setup: function setup(props, _ref) {
1440
2664
  var emit = _ref.emit;
1441
2665
  var t = (0,config_provider_namespaceObject.useLocale)('select');
@@ -1470,7 +2694,11 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1470
2694
  autoFocus = _toRefs.autoFocus,
1471
2695
  keepSearchValue = _toRefs.keepSearchValue,
1472
2696
  selectedStyle = _toRefs.selectedStyle,
1473
- filterOption = _toRefs.filterOption;
2697
+ filterOption = _toRefs.filterOption,
2698
+ searchWithPinyin = _toRefs.searchWithPinyin,
2699
+ highlightKeyword = _toRefs.highlightKeyword,
2700
+ disableFocusBehavior = _toRefs.disableFocusBehavior,
2701
+ trigger = _toRefs.trigger;
1474
2702
  var localNoDataText = (0,external_vue_namespaceObject.computed)(function () {
1475
2703
  if (props.noDataText === undefined) {
1476
2704
  return t.value.noData;
@@ -1523,7 +2751,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1523
2751
  });
1524
2752
  var groupsMap = (0,external_vue_namespaceObject.ref)(new Map());
1525
2753
  var selected = (0,external_vue_namespaceObject.ref)([]);
1526
- var cacheSelectedMap = (0,external_vue_namespaceObject.computed)(function () {
2754
+ var selectedMap = (0,external_vue_namespaceObject.computed)(function () {
1527
2755
  return selected.value.reduce(function (pre, item) {
1528
2756
  pre[item.value] = item.label;
1529
2757
  return pre;
@@ -1555,11 +2783,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1555
2783
  // 虚拟滚动模式下搜索后的值
1556
2784
  var virtualList = (0,external_vue_namespaceObject.computed)(function () {
1557
2785
  return isRemoteSearch.value ? list.value : list.value.filter(function (item) {
1558
- var _toLowerCase;
1559
- if (hasFilterOptionFunc.value) {
1560
- return !!filterOption.value(curSearchValue.value, item);
1561
- }
1562
- return (_toLowerCase = toLowerCase(String(item[displayKey.value]))) === null || _toLowerCase === void 0 ? void 0 : _toLowerCase.includes(toLowerCase(curSearchValue.value));
2786
+ return defaultSearchMethod(curSearchValue.value, String(item[displayKey.value]), item);
1563
2787
  });
1564
2788
  });
1565
2789
  // select组件是否禁用
@@ -1587,6 +2811,11 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1587
2811
  });
1588
2812
  });
1589
2813
  });
2814
+ // 全部选项
2815
+ var isAll = (0,external_vue_namespaceObject.computed)(function () {
2816
+ var _selected$value$;
2817
+ return selected.value.length === 1 && ((_selected$value$ = selected.value[0]) === null || _selected$value$ === void 0 ? void 0 : _selected$value$.value) === allOptionId.value;
2818
+ });
1590
2819
  // 是否含有分组
1591
2820
  var isGroup = (0,external_vue_namespaceObject.computed)(function () {
1592
2821
  return !!groupsMap.value.size;
@@ -1686,6 +2915,14 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1686
2915
  hidePopover = _usePopover.hidePopover,
1687
2916
  showPopover = _usePopover.showPopover,
1688
2917
  togglePopover = _usePopover.togglePopover;
2918
+ var handleHidePopover = function handleHidePopover() {
2919
+ if (trigger.value === 'manual') return;
2920
+ hidePopover();
2921
+ };
2922
+ var handleShowPopover = function handleShowPopover() {
2923
+ if (trigger.value === 'manual') return;
2924
+ showPopover();
2925
+ };
1689
2926
  // 输入框是否可以输入内容
1690
2927
  var isInput = (0,external_vue_namespaceObject.computed)(function () {
1691
2928
  return (filterable.value && inputSearch.value || allowCreate.value) && isPopoverShow.value;
@@ -1710,9 +2947,9 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1710
2947
  var scrollActiveOptionIntoView = function scrollActiveOptionIntoView() {
1711
2948
  var _contentRef$value, _contentRef$value$que, _optionsDom$;
1712
2949
  var optionsDom = (_contentRef$value = contentRef.value) === null || _contentRef$value === void 0 || (_contentRef$value$que = _contentRef$value.querySelectorAll) === null || _contentRef$value$que === void 0 ? void 0 : _contentRef$value$que.call(_contentRef$value, '.is-selected');
1713
- (_optionsDom$ = optionsDom[0]) === null || _optionsDom$ === void 0 || _optionsDom$.scrollIntoView({
1714
- block: 'center',
1715
- behavior: 'smooth'
2950
+ optionsDom === null || optionsDom === void 0 || (_optionsDom$ = optionsDom[0]) === null || _optionsDom$ === void 0 || _optionsDom$.scrollIntoView({
2951
+ block: 'center'
2952
+ // behavior: 'smooth',
1716
2953
  });
1717
2954
  };
1718
2955
  // 初始化当前悬浮的option项
@@ -1729,28 +2966,49 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1729
2966
  }
1730
2967
  };
1731
2968
  // 默认搜索方法
1732
- var defaultSearchMethod = function defaultSearchMethod(value) {
2969
+ var defaultSearchMethod = function defaultSearchMethod(searchValue, optionName) {
2970
+ var _toLowerCase2;
2971
+ var filterData = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
2972
+ if (hasFilterOptionFunc.value) {
2973
+ return !!filterOption.value(searchValue, select_objectSpread({}, filterData));
2974
+ }
2975
+ if (searchWithPinyin.value) {
2976
+ var _toLowerCase;
2977
+ var pinyinList = pinyin.parse(optionName).map(function (v) {
2978
+ if (v.type === 2) {
2979
+ return v.target.toLowerCase();
2980
+ }
2981
+ return v.target;
2982
+ });
2983
+ var pinyinStr = pinyinList.reduce(function (res, cur) {
2984
+ return res + cur[0];
2985
+ }, '');
2986
+ return pinyinList.join('').indexOf(searchValue) !== -1 || pinyinStr.indexOf(searchValue) !== -1 || ((_toLowerCase = toLowerCase(String(optionName))) === null || _toLowerCase === void 0 ? void 0 : _toLowerCase.includes(toLowerCase(searchValue)));
2987
+ }
2988
+ return (_toLowerCase2 = toLowerCase(String(optionName))) === null || _toLowerCase2 === void 0 ? void 0 : _toLowerCase2.includes(toLowerCase(searchValue));
2989
+ };
2990
+ // 处理options模式时默认搜索方法
2991
+ var handleDefaultOptionSearch = function handleDefaultOptionSearch(searchValue) {
1733
2992
  if (!filterable.value) return;
1734
- if (!value) {
2993
+ if (!searchValue) {
1735
2994
  options.value.forEach(function (option) {
1736
2995
  option.visible = true;
1737
2996
  });
1738
2997
  } else {
1739
2998
  options.value.forEach(function (option) {
1740
- if (hasFilterOptionFunc.value) {
1741
- option.visible = !!filterOption.value(value, select_objectSpread(select_objectSpread({}, option.$props), option.$attrs));
1742
- } else {
1743
- var _toLowerCase2;
1744
- option.visible = (_toLowerCase2 = toLowerCase(String(option.optionName))) === null || _toLowerCase2 === void 0 ? void 0 : _toLowerCase2.includes(toLowerCase(value));
1745
- }
2999
+ option.visible = defaultSearchMethod(searchValue, String(option.optionName), select_objectSpread(select_objectSpread({}, option.$props), option.$attrs));
1746
3000
  });
1747
3001
  }
1748
3002
  };
1749
- var _useRemoteSearch = useRemoteSearch(isRemoteSearch.value ? remoteMethod.value : defaultSearchMethod, initActiveOptionValue),
3003
+ var _useRemoteSearch = useRemoteSearch(isRemoteSearch.value ? remoteMethod.value : handleDefaultOptionSearch, initActiveOptionValue),
1750
3004
  searchValue = _useRemoteSearch.searchValue,
1751
3005
  customOptionName = _useRemoteSearch.customOptionName,
1752
3006
  curSearchValue = _useRemoteSearch.curSearchValue,
1753
3007
  searchLoading = _useRemoteSearch.searchLoading;
3008
+ // 派发search change事件
3009
+ (0,external_vue_namespaceObject.watch)(searchValue, function () {
3010
+ emit('search-change', searchValue.value);
3011
+ });
1754
3012
  // 派发change事件
1755
3013
  var emitChange = function emitChange(val) {
1756
3014
  if (val === modelValue.value) return;
@@ -1759,7 +3017,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1759
3017
  };
1760
3018
  // 派发toggle事件
1761
3019
  var handleTogglePopover = function handleTogglePopover() {
1762
- if (isDisabled.value) return;
3020
+ if (isDisabled.value || trigger.value === 'manual') return;
1763
3021
  handleFocus();
1764
3022
  togglePopover();
1765
3023
  };
@@ -1800,13 +3058,20 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1800
3058
  label: value
1801
3059
  }];
1802
3060
  emitChange(value);
1803
- hidePopover();
3061
+ handleHidePopover();
1804
3062
  }
1805
3063
  customOptionName.value = '';
1806
3064
  };
1807
3065
  // Option点击事件
1808
3066
  var handleOptionSelected = function handleOptionSelected(option) {
1809
3067
  if (isDisabled.value || !option) return;
3068
+ // 删除全部选项
3069
+ var exitAllIndex = selected.value.findIndex(function (item) {
3070
+ return item.value === allOptionId.value;
3071
+ });
3072
+ if (exitAllIndex > -1) {
3073
+ selected.value.splice(exitAllIndex, 1);
3074
+ }
1810
3075
  if (multiple.value) {
1811
3076
  // 多选
1812
3077
  var index = selected.value.findIndex(function (item) {
@@ -1837,12 +3102,13 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1837
3102
  }];
1838
3103
  emitChange(option.optionID);
1839
3104
  emit('select', option.optionID);
1840
- hidePopover();
3105
+ handleHidePopover();
1841
3106
  handleBlur();
1842
3107
  }
1843
3108
  };
1844
3109
  // 聚焦输入框
1845
3110
  var focusInput = function focusInput() {
3111
+ if (disableFocusBehavior.value) return;
1846
3112
  setTimeout(function () {
1847
3113
  if (!inputSearch.value && !allowCreate.value) {
1848
3114
  var _searchRef$value;
@@ -1876,31 +3142,33 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1876
3142
  selected.value = [];
1877
3143
  emitChange(multiple.value ? [] : '');
1878
3144
  emit('clear', multiple.value ? [] : '');
1879
- hidePopover();
3145
+ handleHidePopover();
1880
3146
  };
1881
3147
  var handleSelectedAllOptionMouseEnter = function handleSelectedAllOptionMouseEnter() {
1882
3148
  activeOptionValue.value = '';
1883
3149
  };
1884
3150
  // 全选/取消全选
1885
- var handleToggleSelectAll = function handleToggleSelectAll() {
3151
+ var toggleSelectAll = function toggleSelectAll() {
1886
3152
  if (isAllSelected.value) {
1887
3153
  selected.value = [];
1888
3154
  } else {
1889
3155
  var _list$value;
3156
+ var tmpSelected = [];
1890
3157
  options.value.forEach(function (option) {
1891
- if (option.disabled || option.optionID in cacheSelectedMap.value) return;
1892
- selected.value.push({
3158
+ if (option.disabled) return;
3159
+ tmpSelected.push({
1893
3160
  value: option.optionID,
1894
3161
  label: option.optionName || option.optionID
1895
3162
  });
1896
3163
  });
1897
3164
  (_list$value = list.value) === null || _list$value === void 0 || _list$value.forEach(function (item) {
1898
- if (item.disabled || item[idKey.value] in cacheSelectedMap.value) return;
1899
- selected.value.push({
3165
+ if (item.disabled) return;
3166
+ tmpSelected.push({
1900
3167
  value: item[idKey.value],
1901
3168
  label: item[displayKey.value]
1902
3169
  });
1903
3170
  });
3171
+ selected.value = tmpSelected;
1904
3172
  }
1905
3173
  emitChange(selected.value.map(function (item) {
1906
3174
  return item.value;
@@ -1908,7 +3176,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1908
3176
  focusInput();
1909
3177
  };
1910
3178
  // 全部/取消全部
1911
- var handleToggleAll = function handleToggleAll() {
3179
+ var toggleAll = function toggleAll() {
1912
3180
  if (!isShowAll.value) return;
1913
3181
  var index = selected.value.findIndex(function (item) {
1914
3182
  return item.value === allOptionId.value;
@@ -1972,7 +3240,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1972
3240
  _iterator.f();
1973
3241
  }
1974
3242
  }
1975
- return ((_optionsMap$value2 = optionsMap.value) === null || _optionsMap$value2 === void 0 || (_optionsMap$value2 = _optionsMap$value2.get(tmpValue)) === null || _optionsMap$value2 === void 0 ? void 0 : _optionsMap$value2.optionName) || listMap.value[tmpValue] || cacheSelectedMap.value[tmpValue] || tmpValue;
3243
+ return ((_optionsMap$value2 = optionsMap.value) === null || _optionsMap$value2 === void 0 || (_optionsMap$value2 = _optionsMap$value2.get(tmpValue)) === null || _optionsMap$value2 === void 0 ? void 0 : _optionsMap$value2.optionName) || listMap.value[tmpValue] || selectedMap.value[tmpValue] || tmpValue;
1976
3244
  };
1977
3245
  // 设置selected选项
1978
3246
  var handleSetSelectedData = function handleSetSelectedData() {
@@ -2039,6 +3307,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2039
3307
  case 'Enter':
2040
3308
  {
2041
3309
  var value = e.target.value;
3310
+ // 搜索和创建的时候不触发enter事件
2042
3311
  if (allowCreate.value && value || e.target === searchRef.value) return;
2043
3312
  var option = optionsMap.value.get(activeOptionValue.value);
2044
3313
  handleOptionSelected(option);
@@ -2051,7 +3320,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2051
3320
  var event = _ref2.event;
2052
3321
  var target = event.target;
2053
3322
  if ((_triggerRef$value = triggerRef.value) !== null && _triggerRef$value !== void 0 && _triggerRef$value.contains(target) || triggerRef.value === target) return;
2054
- hidePopover();
3323
+ handleHidePopover();
2055
3324
  handleBlur();
2056
3325
  };
2057
3326
  var handlePopoverShow = function handlePopoverShow() {
@@ -2066,21 +3335,20 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2066
3335
  selected: selected,
2067
3336
  activeOptionValue: activeOptionValue,
2068
3337
  showSelectedIcon: showSelectedIcon,
2069
- isShowAll: isShowAll,
2070
- allOptionId: allOptionId,
2071
3338
  selectedStyle: selectedStyle,
3339
+ curSearchValue: curSearchValue,
3340
+ highlightKeyword: highlightKeyword,
2072
3341
  register: register,
2073
3342
  unregister: unregister,
2074
3343
  registerGroup: registerGroup,
2075
3344
  unregisterGroup: unregisterGroup,
2076
3345
  handleOptionSelected: handleOptionSelected,
2077
- handleGetLabelByValue: handleGetLabelByValue,
2078
- handleToggleAll: handleToggleAll
3346
+ handleGetLabelByValue: handleGetLabelByValue
2079
3347
  }));
2080
3348
  (0,external_vue_namespaceObject.onMounted)(function () {
2081
3349
  handleSetSelectedData();
2082
3350
  setTimeout(function () {
2083
- showOnInit.value && showPopover();
3351
+ showOnInit.value && handleShowPopover();
2084
3352
  autoFocus.value && focusInput();
2085
3353
  });
2086
3354
  });
@@ -2109,6 +3377,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2109
3377
  curContentText: curContentText,
2110
3378
  isGroup: isGroup,
2111
3379
  searchValue: searchValue,
3380
+ curSearchValue: curSearchValue,
2112
3381
  customOptionName: customOptionName,
2113
3382
  isShowAll: isShowAll,
2114
3383
  isShowSelectAll: isShowSelectAll,
@@ -2117,6 +3386,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2117
3386
  isCollapseTags: isCollapseTags,
2118
3387
  popoverConfig: popoverConfig,
2119
3388
  isAllSelected: isAllSelected,
3389
+ isAll: isAll,
2120
3390
  focusInput: focusInput,
2121
3391
  setHover: setHover,
2122
3392
  cancelHover: cancelHover,
@@ -2126,7 +3396,8 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2126
3396
  handleClear: handleClear,
2127
3397
  hidePopover: hidePopover,
2128
3398
  showPopover: showPopover,
2129
- handleToggleSelectAll: handleToggleSelectAll,
3399
+ toggleSelectAll: toggleSelectAll,
3400
+ toggleAll: toggleAll,
2130
3401
  handleOptionSelected: handleOptionSelected,
2131
3402
  handleClickOutside: handleClickOutside,
2132
3403
  handleScroll: handleScroll,
@@ -2185,21 +3456,25 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2185
3456
  return (0,external_vue_namespaceObject.createVNode)("li", {
2186
3457
  "class": _this.resolveClassName('select-option'),
2187
3458
  "onMouseenter": _this.handleSelectedAllOptionMouseEnter,
2188
- "onClick": _this.handleToggleSelectAll
3459
+ "onClick": _this.toggleSelectAll
2189
3460
  }, [_this.selectedStyle === 'checkbox' && (0,external_vue_namespaceObject.createVNode)(checkbox_namespaceObject["default"], {
2190
3461
  "class": _this.resolveClassName('select-checkbox'),
2191
3462
  "modelValue": _this.isAllSelected,
2192
- "indeterminate": !_this.isAllSelected && !!_this.selected.length
3463
+ "indeterminate": !_this.isAllSelected && !!_this.selected.length && !_this.isAll
2193
3464
  }, null), _this.t.selectAll]);
2194
3465
  };
2195
3466
  // 全部
2196
3467
  var renderAll = function renderAll() {
2197
- // 全选和全部是互斥的,只能选一个
2198
- if (_this.isShowSelectAll || !_this.isShowAll) return;
2199
- return (0,external_vue_namespaceObject.createVNode)(src_option, {
2200
- "id": _this.allOptionId,
2201
- "name": _this.t.all
2202
- }, null);
3468
+ var _this$selected$;
3469
+ if (!_this.isShowAll) return;
3470
+ return (0,external_vue_namespaceObject.createVNode)("div", {
3471
+ "class": _this.resolveClassName('select-all')
3472
+ }, [(0,external_vue_namespaceObject.createVNode)("div", {
3473
+ "class": ['wrapper', _this.selected.length === 1 && ((_this$selected$ = _this.selected[0]) === null || _this$selected$ === void 0 ? void 0 : _this$selected$.value) === _this.allOptionId ? 'active' : ''],
3474
+ "onClick": _this.toggleAll
3475
+ }, [(0,external_vue_namespaceObject.createVNode)(icon_namespaceObject.TextAll, {
3476
+ "class": "select-all-icon"
3477
+ }, null), (0,external_vue_namespaceObject.createVNode)("span", null, [_this.t.all])])]);
2203
3478
  };
2204
3479
  var renderTriggerInput = function renderTriggerInput() {
2205
3480
  var _this$$slots5;
@@ -2216,6 +3491,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2216
3491
  "placeholder": _this.localPlaceholder,
2217
3492
  "filterable": _this.isInput,
2218
3493
  "disabled": _this.isDisabled,
3494
+ "behavior": _this.behavior,
2219
3495
  "onRemove": _this.handleDeleteTag,
2220
3496
  "collapseTags": _this.isCollapseTags,
2221
3497
  "onEnter": _this.handleCreateCustomOption
@@ -2279,7 +3555,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2279
3555
  return (0,external_vue_namespaceObject.createVNode)("div", {
2280
3556
  "class": _this.resolveClassName('select-content-wrapper'),
2281
3557
  "ref": "contentRef"
2282
- }, [_this.filterable && !_this.inputSearch && (0,external_vue_namespaceObject.createVNode)("div", {
3558
+ }, [renderAll(), _this.filterable && !_this.inputSearch && (0,external_vue_namespaceObject.createVNode)("div", {
2283
3559
  "class": _this.resolveClassName('select-search-wrapper')
2284
3560
  }, [(0,external_vue_namespaceObject.createVNode)(icon_namespaceObject.Search, {
2285
3561
  "class": "icon-search",
@@ -2310,7 +3586,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2310
3586
  "onScroll": _this.handleScroll
2311
3587
  }, [(0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)("ul", {
2312
3588
  "class": _this.resolveClassName('select-options')
2313
- }, [renderSelectAll(), renderAll(), _this.enableVirtualRender ? (0,external_vue_namespaceObject.createVNode)(virtual_render_namespaceObject["default"], {
3589
+ }, [renderSelectAll(), _this.enableVirtualRender ? (0,external_vue_namespaceObject.createVNode)(virtual_render_namespaceObject["default"], {
2314
3590
  "list": _this.virtualList,
2315
3591
  "height": _this.virtualHeight,
2316
3592
  "lineHeight": 32,
@@ -2337,6 +3613,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2337
3613
  }) : _this.list.map(function (item) {
2338
3614
  var _this$$slots10;
2339
3615
  return (0,external_vue_namespaceObject.createVNode)(src_option, {
3616
+ "key": item[_this.idKey],
2340
3617
  "id": item[_this.idKey],
2341
3618
  "name": item[_this.displayKey]
2342
3619
  }, (_this$$slots10 = _this.$slots) !== null && _this$$slots10 !== void 0 && _this$$slots10.optionRender ? {