bkui-vue 1.0.3-beta.2 → 1.0.3-beta.20

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 (204) hide show
  1. package/dist/index.cjs.js +71 -71
  2. package/dist/index.esm.js +15086 -13945
  3. package/dist/index.umd.js +70 -70
  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/affix/index.js +1 -0
  16. package/lib/alert/alert.variable.css +3 -0
  17. package/lib/alert/index.js +1 -0
  18. package/lib/animate-number/index.js +1 -0
  19. package/lib/backtop/backtop.variable.css +3 -0
  20. package/lib/backtop/index.js +1 -0
  21. package/lib/badge/badge.variable.css +3 -0
  22. package/lib/badge/index.js +1 -0
  23. package/lib/breadcrumb/breadcrumb.variable.css +3 -0
  24. package/lib/breadcrumb/index.js +1 -0
  25. package/lib/button/button.variable.css +3 -0
  26. package/lib/button/index.js +1 -0
  27. package/lib/card/card.variable.css +3 -0
  28. package/lib/card/index.js +1 -0
  29. package/lib/cascader/cascader.variable.css +3 -0
  30. package/lib/cascader/index.js +1 -0
  31. package/lib/checkbox/checkbox.variable.css +3 -0
  32. package/lib/checkbox/index.js +1 -0
  33. package/lib/code-diff/code-diff.variable.css +3 -0
  34. package/lib/code-diff/index.js +1 -0
  35. package/lib/collapse/collapse.variable.css +3 -0
  36. package/lib/collapse/index.js +1 -0
  37. package/lib/collapse-transition/collapse-transition.variable.css +3 -0
  38. package/lib/collapse-transition/index.js +1 -0
  39. package/lib/color-picker/color-picker.variable.css +3 -0
  40. package/lib/color-picker/index.js +1 -0
  41. package/lib/components.js +0 -4
  42. package/lib/config-provider/config-provider.d.ts +3 -0
  43. package/lib/config-provider/config-provider.variable.css +3 -0
  44. package/lib/config-provider/index.d.ts +4 -0
  45. package/lib/config-provider/index.js +1 -0
  46. package/lib/config-provider/token.d.ts +1 -0
  47. package/lib/container/container.variable.css +3 -0
  48. package/lib/container/index.js +1 -0
  49. package/lib/date-picker/date-picker.variable.css +3 -0
  50. package/lib/date-picker/index.js +1 -0
  51. package/lib/dialog/dialog.variable.css +3 -0
  52. package/lib/dialog/index.js +1 -0
  53. package/lib/directives/index.js +1 -0
  54. package/lib/dist.index.js +0 -1
  55. package/lib/divider/divider.variable.css +3 -0
  56. package/lib/divider/index.js +1 -0
  57. package/lib/dropdown/dropdown.css +3 -1
  58. package/lib/dropdown/dropdown.variable.css +6 -1
  59. package/lib/dropdown/index.js +1 -0
  60. package/lib/exception/exception.variable.css +3 -0
  61. package/lib/exception/index.js +1 -0
  62. package/lib/fixed-navbar/fixed-navbar.variable.css +3 -0
  63. package/lib/fixed-navbar/index.js +1 -0
  64. package/lib/form/form.css +1 -0
  65. package/lib/form/form.less +2 -0
  66. package/lib/form/form.variable.css +4 -0
  67. package/lib/form/index.js +1 -0
  68. package/lib/hooks.js +1 -8
  69. package/lib/icon/index.d.ts +1 -0
  70. package/lib/icon/index.js +35 -1
  71. package/lib/icon/text-all.d.ts +4 -0
  72. package/lib/icon/text-all.js +276 -0
  73. package/lib/image/image-viewer.variable.css +3 -0
  74. package/lib/image/image.variable.css +3 -0
  75. package/lib/image/index.js +1 -0
  76. package/lib/index.js +0 -1
  77. package/lib/info-box/index.js +41 -455
  78. package/lib/info-box/info-box.variable.css +3 -0
  79. package/lib/input/index.js +6 -0
  80. package/lib/input/input.variable.css +3 -0
  81. package/lib/link/index.js +1 -0
  82. package/lib/link/link.variable.css +3 -0
  83. package/lib/loading/index.js +1 -0
  84. package/lib/loading/loading.variable.css +3 -0
  85. package/lib/locale/index.js +5 -2
  86. package/lib/locale/lang/en.d.ts +1 -0
  87. package/lib/menu/index.js +1 -0
  88. package/lib/menu/menu.variable.css +3 -0
  89. package/lib/menu/submenu.variable.css +3 -0
  90. package/lib/message/index.js +1 -0
  91. package/lib/message/message.variable.css +3 -0
  92. package/lib/modal/index.d.ts +6 -6
  93. package/lib/modal/index.js +2 -1
  94. package/lib/modal/modal.d.ts +2 -2
  95. package/lib/modal/modal.variable.css +3 -0
  96. package/lib/navigation/index.js +1 -0
  97. package/lib/navigation/navigation.variable.css +3 -0
  98. package/lib/notify/index.js +1 -0
  99. package/lib/notify/notify.variable.css +3 -0
  100. package/lib/overflow-title/index.js +1 -0
  101. package/lib/pagination/index.js +1 -1
  102. package/lib/pagination/pagination.variable.css +3 -0
  103. package/lib/plugin-popover/index.d.ts +1 -1
  104. package/lib/plugin-popover/index.js +20 -12
  105. package/lib/plugins/index.js +1 -0
  106. package/lib/pop-confirm/index.js +1 -0
  107. package/lib/pop-confirm/pop-confirm.variable.css +3 -0
  108. package/lib/popover/content.d.ts +1 -1
  109. package/lib/popover/index.js +20 -12
  110. package/lib/popover/popover.css +3 -1
  111. package/lib/popover/popover.less +4 -1
  112. package/lib/popover/popover.variable.css +6 -1
  113. package/lib/popover2/index.js +1 -0
  114. package/lib/preset.d.ts +2 -0
  115. package/lib/preset.js +14 -20
  116. package/lib/process/index.js +1 -0
  117. package/lib/process/process.variable.css +3 -0
  118. package/lib/progress/index.js +1 -0
  119. package/lib/progress/progress.variable.css +3 -0
  120. package/lib/radio/index.js +1 -0
  121. package/lib/radio/radio.variable.css +3 -0
  122. package/lib/rate/index.js +1 -0
  123. package/lib/rate/rate.variable.css +3 -0
  124. package/lib/rate/star.variable.css +3 -0
  125. package/lib/resize-layout/index.js +1 -0
  126. package/lib/resize-layout/resize-layout.variable.css +3 -0
  127. package/lib/search-select/index.js +1 -0
  128. package/lib/search-select/search-select.variable.css +3 -0
  129. package/lib/select/index.d.ts +68 -6
  130. package/lib/select/index.js +1327 -68
  131. package/lib/select/option.d.ts +3 -1
  132. package/lib/select/pinyin/core.d.ts +14 -0
  133. package/lib/select/pinyin/dict.d.ts +34 -0
  134. package/lib/select/pinyin/index.d.ts +2 -0
  135. package/lib/select/select.css +36 -7
  136. package/lib/select/select.d.ts +28 -2
  137. package/lib/select/select.less +43 -13
  138. package/lib/select/select.variable.css +39 -7
  139. package/lib/select/type.d.ts +2 -3
  140. package/lib/shared/index.js +2 -2
  141. package/lib/sideslider/index.d.ts +6 -6
  142. package/lib/sideslider/index.js +1 -0
  143. package/lib/sideslider/sideslider.d.ts +2 -2
  144. package/lib/sideslider/sideslider.variable.css +3 -0
  145. package/lib/slider/index.js +1 -0
  146. package/lib/slider/slider.variable.css +3 -0
  147. package/lib/steps/index.js +1 -0
  148. package/lib/steps/steps.variable.css +3 -0
  149. package/lib/styles/mixins/animate.variable.css +3 -0
  150. package/lib/styles/mixins/popper.variable.css +3 -0
  151. package/lib/styles/mixins/scroll.variable.css +3 -0
  152. package/lib/styles/reset.css +3 -1
  153. package/lib/styles/reset.less +3 -1
  154. package/lib/styles/reset.variable.css +6 -1
  155. package/lib/styles/themes/themes.less +5 -0
  156. package/lib/swiper/index.js +1 -0
  157. package/lib/swiper/swiper.variable.css +3 -0
  158. package/lib/switcher/index.js +1 -0
  159. package/lib/switcher/switcher.variable.css +3 -0
  160. package/lib/tab/index.js +1 -0
  161. package/lib/tab/tab.variable.css +3 -0
  162. package/lib/table/components/table-column.d.ts +2 -0
  163. package/lib/table/index.d.ts +17 -0
  164. package/lib/table/index.js +1323 -1100
  165. package/lib/table/plugins/head-filter.variable.css +3 -0
  166. package/lib/table/plugins/head-sort.d.ts +7 -0
  167. package/lib/table/plugins/head-sort.variable.css +3 -0
  168. package/lib/table/plugins/settings.variable.css +3 -0
  169. package/lib/table/plugins/use-draggable.d.ts +2 -2
  170. package/lib/table/plugins/use-observer-resize.d.ts +5 -0
  171. package/lib/table/props.d.ts +13 -2
  172. package/lib/table/table.css +17 -17
  173. package/lib/table/table.d.ts +7 -0
  174. package/lib/table/table.less +26 -14
  175. package/lib/table/table.variable.css +20 -17
  176. package/lib/table/use-attributes.d.ts +5 -43
  177. package/lib/table/use-common.d.ts +1 -0
  178. package/lib/table/utils.d.ts +5 -4
  179. package/lib/table-column/index.d.ts +112 -106
  180. package/lib/table-column/index.js +44 -4
  181. package/lib/tag/index.js +1 -0
  182. package/lib/tag/tag.variable.css +3 -0
  183. package/lib/tag-input/index.d.ts +4 -4
  184. package/lib/tag-input/index.js +1 -0
  185. package/lib/tag-input/tag-input.d.ts +2 -2
  186. package/lib/tag-input/tag-input.variable.css +3 -0
  187. package/lib/tag-input/tag-props.d.ts +1 -1
  188. package/lib/tag-input/tag-render.d.ts +1 -1
  189. package/lib/time-picker/index.d.ts +35 -35
  190. package/lib/time-picker/index.js +1 -0
  191. package/lib/time-picker/time-picker.variable.css +3 -0
  192. package/lib/timeline/index.js +1 -0
  193. package/lib/timeline/timeline.variable.css +3 -0
  194. package/lib/transfer/index.js +1 -0
  195. package/lib/transfer/transfer.variable.css +3 -0
  196. package/lib/tree/index.js +1 -0
  197. package/lib/tree/tree.variable.css +3 -0
  198. package/lib/upload/index.js +1 -0
  199. package/lib/upload/upload.variable.css +3 -0
  200. package/lib/virtual-render/index.d.ts +9 -9
  201. package/lib/virtual-render/index.js +1 -0
  202. package/lib/virtual-render/virtual-render.d.ts +3 -3
  203. package/lib/virtual-render/virtual-render.variable.css +3 -0
  204. package/package.json +3 -2
@@ -1,3 +1,4 @@
1
+ import "../styles/reset.css";
1
2
  import "./select.less";
2
3
  import * as __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_shared_edbdfb03__ from "../shared";
3
4
  import * as __WEBPACK_EXTERNAL_MODULE_vue__ from "vue";
@@ -510,7 +511,7 @@ const config_provider_namespaceObject = config_provider_x({ ["useLocale"]: () =>
510
511
  ;// CONCATENATED MODULE: external "../icon"
511
512
  var icon_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
512
513
  var icon_y = x => () => x
513
- 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 });
514
515
  ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js
515
516
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
516
517
  try {
@@ -815,33 +816,45 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
815
816
  var selectedStyle = (0,external_vue_namespaceObject.computed)(function () {
816
817
  return select === null || select === void 0 ? void 0 : select.selectedStyle;
817
818
  });
818
- var isShowAll = (0,external_vue_namespaceObject.computed)(function () {
819
- return select === null || select === void 0 ? void 0 : select.isShowAll;
820
- });
821
- var allOptionId = (0,external_vue_namespaceObject.computed)(function () {
822
- 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;
823
821
  });
824
- var isDisabled = (0,external_vue_namespaceObject.computed)(function () {
825
- var _select$selected2;
826
- if (!isShowAll.value || optionID.value === allOptionId.value) return disabled.value;
827
- // 全部选项需要禁用掉其他选项
828
- var exitAllOptionId = select === null || select === void 0 || (_select$selected2 = select.selected) === null || _select$selected2 === void 0 ? void 0 : _select$selected2.some(function (item) {
829
- return (0,isEqual_namespaceObject["default"])(item.value, allOptionId.value);
830
- });
831
- 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;
832
824
  });
833
825
  var handleOptionClick = function handleOptionClick() {
834
- if (isDisabled.value) return;
835
- if (isShowAll.value && allOptionId.value === optionID.value) {
836
- // 全部选项
837
- select === null || select === void 0 || select.handleToggleAll();
838
- } else {
839
- select === null || select === void 0 || select.handleOptionSelected(proxy);
840
- }
826
+ if (disabled.value) return;
827
+ select === null || select === void 0 || select.handleOptionSelected(proxy);
841
828
  };
842
829
  var handleMouseEnter = function handleMouseEnter() {
843
830
  select.activeOptionValue = optionID.value;
844
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
+ };
845
858
  (0,external_vue_namespaceObject.onBeforeMount)(function () {
846
859
  select === null || select === void 0 || select.register(optionID.value, proxy);
847
860
  group === null || group === void 0 || group.register(optionID.value, proxy);
@@ -860,17 +873,18 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
860
873
  selectedStyle: selectedStyle,
861
874
  optionName: optionName,
862
875
  optionID: optionID,
863
- isDisabled: isDisabled,
876
+ highlightKeyword: highlightKeyword,
864
877
  handleOptionClick: handleOptionClick,
865
878
  handleMouseEnter: handleMouseEnter,
866
- resolveClassName: resolveClassName
879
+ resolveClassName: resolveClassName,
880
+ transformNode: transformNode
867
881
  });
868
882
  },
869
883
  render: function render() {
870
884
  var _this$$slots$default, _this$$slots$default2, _this$$slots;
871
885
  var selectItemClass = (0,shared_namespaceObject.classes)(_defineProperty({
872
886
  'is-selected': this.selected,
873
- 'is-disabled': this.isDisabled,
887
+ 'is-disabled': this.disabled,
874
888
  'is-multiple': this.multiple,
875
889
  'is-hover': this.isHover,
876
890
  'is-checkbox': this.selectedStyle === shared_namespaceObject.SelectedTypeEnum.CHECKBOX
@@ -880,13 +894,13 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
880
894
  "onClick": this.handleOptionClick,
881
895
  "onMouseenter": this.handleMouseEnter
882
896
  }, [this.showSelectedIcon && this.selectedStyle === shared_namespaceObject.SelectedTypeEnum.CHECKBOX && (0,external_vue_namespaceObject.createVNode)(checkbox_namespaceObject["default"], {
883
- "disabled": this.isDisabled,
897
+ "disabled": this.disabled,
884
898
  "class": this.resolveClassName('select-checkbox'),
885
899
  "modelValue": this.selected
886
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", {
887
901
  "class": this.resolveClassName('select-option-item'),
888
902
  "title": String(this.optionName)
889
- }, [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, {
890
904
  "class": this.resolveClassName('select-selected-icon'),
891
905
  "width": 22,
892
906
  "height": 22
@@ -1080,6 +1094,1208 @@ const virtual_render_namespaceObject = virtual_render_x({ ["default"]: () => __W
1080
1094
  var virtual_render_less_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
1081
1095
  var virtual_render_less_y = x => () => x
1082
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
+
1083
2299
  ;// CONCATENATED MODULE: external "lodash/debounce"
1084
2300
  var debounce_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
1085
2301
  var debounce_y = x => () => x
@@ -1382,6 +2598,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1382
2598
 
1383
2599
 
1384
2600
 
2601
+
1385
2602
 
1386
2603
  /* harmony default export */ const src_select = ((0,external_vue_namespaceObject.defineComponent)({
1387
2604
  name: 'Select',
@@ -1395,7 +2612,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1395
2612
  size: shared_namespaceObject.PropTypes.size().def(shared_namespaceObject.SizeEnum.DEFAULT),
1396
2613
  clearable: shared_namespaceObject.PropTypes.bool.def(true),
1397
2614
  loading: shared_namespaceObject.PropTypes.bool.def(false),
1398
- filterable: shared_namespaceObject.PropTypes.bool.def(false),
2615
+ filterable: shared_namespaceObject.PropTypes.bool.def(true),
1399
2616
  remoteMethod: shared_namespaceObject.PropTypes.func,
1400
2617
  scrollHeight: shared_namespaceObject.PropTypes.number.def(200),
1401
2618
  showAll: shared_namespaceObject.PropTypes.bool.def(false),
@@ -1432,9 +2649,11 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1432
2649
  selectedStyle: (0,shared_namespaceObject.SelectedType)(),
1433
2650
  filterOption: {
1434
2651
  type: Function
1435
- } // 配置当前options的过滤规则
2652
+ },
2653
+ searchWithPinyin: shared_namespaceObject.PropTypes.bool.def(true),
2654
+ highlightKeyword: shared_namespaceObject.PropTypes.bool.def(false) // 搜索高亮
1436
2655
  },
1437
- emits: ['update:modelValue', 'change', 'toggle', 'clear', 'scroll-end', 'focus', 'blur', 'tag-remove', 'select', 'deselect'],
2656
+ emits: ['update:modelValue', 'change', 'toggle', 'clear', 'scroll-end', 'focus', 'blur', 'tag-remove', 'select', 'deselect', 'search-change'],
1438
2657
  setup: function setup(props, _ref) {
1439
2658
  var emit = _ref.emit;
1440
2659
  var t = (0,config_provider_namespaceObject.useLocale)('select');
@@ -1469,7 +2688,9 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1469
2688
  autoFocus = _toRefs.autoFocus,
1470
2689
  keepSearchValue = _toRefs.keepSearchValue,
1471
2690
  selectedStyle = _toRefs.selectedStyle,
1472
- filterOption = _toRefs.filterOption;
2691
+ filterOption = _toRefs.filterOption,
2692
+ searchWithPinyin = _toRefs.searchWithPinyin,
2693
+ highlightKeyword = _toRefs.highlightKeyword;
1473
2694
  var localNoDataText = (0,external_vue_namespaceObject.computed)(function () {
1474
2695
  if (props.noDataText === undefined) {
1475
2696
  return t.value.noData;
@@ -1522,7 +2743,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1522
2743
  });
1523
2744
  var groupsMap = (0,external_vue_namespaceObject.ref)(new Map());
1524
2745
  var selected = (0,external_vue_namespaceObject.ref)([]);
1525
- var cacheSelectedMap = (0,external_vue_namespaceObject.computed)(function () {
2746
+ var selectedMap = (0,external_vue_namespaceObject.computed)(function () {
1526
2747
  return selected.value.reduce(function (pre, item) {
1527
2748
  pre[item.value] = item.label;
1528
2749
  return pre;
@@ -1554,11 +2775,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1554
2775
  // 虚拟滚动模式下搜索后的值
1555
2776
  var virtualList = (0,external_vue_namespaceObject.computed)(function () {
1556
2777
  return isRemoteSearch.value ? list.value : list.value.filter(function (item) {
1557
- var _toLowerCase;
1558
- if (hasFilterOptionFunc.value) {
1559
- return !!filterOption.value(curSearchValue.value, item);
1560
- }
1561
- return (_toLowerCase = toLowerCase(String(item[displayKey.value]))) === null || _toLowerCase === void 0 ? void 0 : _toLowerCase.includes(toLowerCase(curSearchValue.value));
2778
+ return defaultSearchMethod(curSearchValue.value, String(item[displayKey.value]), item);
1562
2779
  });
1563
2780
  });
1564
2781
  // select组件是否禁用
@@ -1586,6 +2803,11 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1586
2803
  });
1587
2804
  });
1588
2805
  });
2806
+ // 全部选项
2807
+ var isAll = (0,external_vue_namespaceObject.computed)(function () {
2808
+ var _selected$value$;
2809
+ return selected.value.length === 1 && ((_selected$value$ = selected.value[0]) === null || _selected$value$ === void 0 ? void 0 : _selected$value$.value) === allOptionId.value;
2810
+ });
1589
2811
  // 是否含有分组
1590
2812
  var isGroup = (0,external_vue_namespaceObject.computed)(function () {
1591
2813
  return !!groupsMap.value.size;
@@ -1709,7 +2931,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1709
2931
  var scrollActiveOptionIntoView = function scrollActiveOptionIntoView() {
1710
2932
  var _contentRef$value, _contentRef$value$que, _optionsDom$;
1711
2933
  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');
1712
- (_optionsDom$ = optionsDom[0]) === null || _optionsDom$ === void 0 || _optionsDom$.scrollIntoView({
2934
+ optionsDom === null || optionsDom === void 0 || (_optionsDom$ = optionsDom[0]) === null || _optionsDom$ === void 0 || _optionsDom$.scrollIntoView({
1713
2935
  block: 'center',
1714
2936
  behavior: 'smooth'
1715
2937
  });
@@ -1728,28 +2950,49 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1728
2950
  }
1729
2951
  };
1730
2952
  // 默认搜索方法
1731
- var defaultSearchMethod = function defaultSearchMethod(value) {
2953
+ var defaultSearchMethod = function defaultSearchMethod(searchValue, optionName) {
2954
+ var _toLowerCase2;
2955
+ var filterData = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
2956
+ if (hasFilterOptionFunc.value) {
2957
+ return !!filterOption.value(searchValue, select_objectSpread({}, filterData));
2958
+ }
2959
+ if (searchWithPinyin.value) {
2960
+ var _toLowerCase;
2961
+ var pinyinList = pinyin.parse(optionName).map(function (v) {
2962
+ if (v.type === 2) {
2963
+ return v.target.toLowerCase();
2964
+ }
2965
+ return v.target;
2966
+ });
2967
+ var pinyinStr = pinyinList.reduce(function (res, cur) {
2968
+ return res + cur[0];
2969
+ }, '');
2970
+ return pinyinList.join('').indexOf(searchValue) !== -1 || pinyinStr.indexOf(searchValue) !== -1 || ((_toLowerCase = toLowerCase(String(optionName))) === null || _toLowerCase === void 0 ? void 0 : _toLowerCase.includes(toLowerCase(searchValue)));
2971
+ }
2972
+ return (_toLowerCase2 = toLowerCase(String(optionName))) === null || _toLowerCase2 === void 0 ? void 0 : _toLowerCase2.includes(toLowerCase(searchValue));
2973
+ };
2974
+ // 处理options模式时默认搜索方法
2975
+ var handleDefaultOptionSearch = function handleDefaultOptionSearch(searchValue) {
1732
2976
  if (!filterable.value) return;
1733
- if (!value) {
2977
+ if (!searchValue) {
1734
2978
  options.value.forEach(function (option) {
1735
2979
  option.visible = true;
1736
2980
  });
1737
2981
  } else {
1738
2982
  options.value.forEach(function (option) {
1739
- if (hasFilterOptionFunc.value) {
1740
- option.visible = !!filterOption.value(value, select_objectSpread(select_objectSpread({}, option.$props), option.$attrs));
1741
- } else {
1742
- var _toLowerCase2;
1743
- option.visible = (_toLowerCase2 = toLowerCase(String(option.optionName))) === null || _toLowerCase2 === void 0 ? void 0 : _toLowerCase2.includes(toLowerCase(value));
1744
- }
2983
+ option.visible = defaultSearchMethod(searchValue, String(option.optionName), select_objectSpread(select_objectSpread({}, option.$props), option.$attrs));
1745
2984
  });
1746
2985
  }
1747
2986
  };
1748
- var _useRemoteSearch = useRemoteSearch(isRemoteSearch.value ? remoteMethod.value : defaultSearchMethod, initActiveOptionValue),
2987
+ var _useRemoteSearch = useRemoteSearch(isRemoteSearch.value ? remoteMethod.value : handleDefaultOptionSearch, initActiveOptionValue),
1749
2988
  searchValue = _useRemoteSearch.searchValue,
1750
2989
  customOptionName = _useRemoteSearch.customOptionName,
1751
2990
  curSearchValue = _useRemoteSearch.curSearchValue,
1752
2991
  searchLoading = _useRemoteSearch.searchLoading;
2992
+ // 派发search change事件
2993
+ (0,external_vue_namespaceObject.watch)(searchValue, function () {
2994
+ emit('search-change', searchValue.value);
2995
+ });
1753
2996
  // 派发change事件
1754
2997
  var emitChange = function emitChange(val) {
1755
2998
  if (val === modelValue.value) return;
@@ -1806,6 +3049,13 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1806
3049
  // Option点击事件
1807
3050
  var handleOptionSelected = function handleOptionSelected(option) {
1808
3051
  if (isDisabled.value || !option) return;
3052
+ // 删除全部选项
3053
+ var exitAllIndex = selected.value.findIndex(function (item) {
3054
+ return item.value === allOptionId.value;
3055
+ });
3056
+ if (exitAllIndex > -1) {
3057
+ selected.value.splice(exitAllIndex, 1);
3058
+ }
1809
3059
  if (multiple.value) {
1810
3060
  // 多选
1811
3061
  var index = selected.value.findIndex(function (item) {
@@ -1881,25 +3131,27 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1881
3131
  activeOptionValue.value = '';
1882
3132
  };
1883
3133
  // 全选/取消全选
1884
- var handleToggleSelectAll = function handleToggleSelectAll() {
3134
+ var toggleSelectAll = function toggleSelectAll() {
1885
3135
  if (isAllSelected.value) {
1886
3136
  selected.value = [];
1887
3137
  } else {
1888
3138
  var _list$value;
3139
+ var tmpSelected = [];
1889
3140
  options.value.forEach(function (option) {
1890
- if (option.disabled || option.optionID in cacheSelectedMap.value) return;
1891
- selected.value.push({
3141
+ if (option.disabled) return;
3142
+ tmpSelected.push({
1892
3143
  value: option.optionID,
1893
3144
  label: option.optionName || option.optionID
1894
3145
  });
1895
3146
  });
1896
3147
  (_list$value = list.value) === null || _list$value === void 0 || _list$value.forEach(function (item) {
1897
- if (item.disabled || item[idKey.value] in cacheSelectedMap.value) return;
1898
- selected.value.push({
3148
+ if (item.disabled) return;
3149
+ tmpSelected.push({
1899
3150
  value: item[idKey.value],
1900
3151
  label: item[displayKey.value]
1901
3152
  });
1902
3153
  });
3154
+ selected.value = tmpSelected;
1903
3155
  }
1904
3156
  emitChange(selected.value.map(function (item) {
1905
3157
  return item.value;
@@ -1907,7 +3159,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1907
3159
  focusInput();
1908
3160
  };
1909
3161
  // 全部/取消全部
1910
- var handleToggleAll = function handleToggleAll() {
3162
+ var toggleAll = function toggleAll() {
1911
3163
  if (!isShowAll.value) return;
1912
3164
  var index = selected.value.findIndex(function (item) {
1913
3165
  return item.value === allOptionId.value;
@@ -1971,7 +3223,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1971
3223
  _iterator.f();
1972
3224
  }
1973
3225
  }
1974
- 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;
3226
+ 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;
1975
3227
  };
1976
3228
  // 设置selected选项
1977
3229
  var handleSetSelectedData = function handleSetSelectedData() {
@@ -2038,6 +3290,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2038
3290
  case 'Enter':
2039
3291
  {
2040
3292
  var value = e.target.value;
3293
+ // 搜索和创建的时候不触发enter事件
2041
3294
  if (allowCreate.value && value || e.target === searchRef.value) return;
2042
3295
  var option = optionsMap.value.get(activeOptionValue.value);
2043
3296
  handleOptionSelected(option);
@@ -2065,16 +3318,15 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2065
3318
  selected: selected,
2066
3319
  activeOptionValue: activeOptionValue,
2067
3320
  showSelectedIcon: showSelectedIcon,
2068
- isShowAll: isShowAll,
2069
- allOptionId: allOptionId,
2070
3321
  selectedStyle: selectedStyle,
3322
+ curSearchValue: curSearchValue,
3323
+ highlightKeyword: highlightKeyword,
2071
3324
  register: register,
2072
3325
  unregister: unregister,
2073
3326
  registerGroup: registerGroup,
2074
3327
  unregisterGroup: unregisterGroup,
2075
3328
  handleOptionSelected: handleOptionSelected,
2076
- handleGetLabelByValue: handleGetLabelByValue,
2077
- handleToggleAll: handleToggleAll
3329
+ handleGetLabelByValue: handleGetLabelByValue
2078
3330
  }));
2079
3331
  (0,external_vue_namespaceObject.onMounted)(function () {
2080
3332
  handleSetSelectedData();
@@ -2108,6 +3360,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2108
3360
  curContentText: curContentText,
2109
3361
  isGroup: isGroup,
2110
3362
  searchValue: searchValue,
3363
+ curSearchValue: curSearchValue,
2111
3364
  customOptionName: customOptionName,
2112
3365
  isShowAll: isShowAll,
2113
3366
  isShowSelectAll: isShowSelectAll,
@@ -2116,6 +3369,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2116
3369
  isCollapseTags: isCollapseTags,
2117
3370
  popoverConfig: popoverConfig,
2118
3371
  isAllSelected: isAllSelected,
3372
+ isAll: isAll,
2119
3373
  focusInput: focusInput,
2120
3374
  setHover: setHover,
2121
3375
  cancelHover: cancelHover,
@@ -2125,7 +3379,8 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2125
3379
  handleClear: handleClear,
2126
3380
  hidePopover: hidePopover,
2127
3381
  showPopover: showPopover,
2128
- handleToggleSelectAll: handleToggleSelectAll,
3382
+ toggleSelectAll: toggleSelectAll,
3383
+ toggleAll: toggleAll,
2129
3384
  handleOptionSelected: handleOptionSelected,
2130
3385
  handleClickOutside: handleClickOutside,
2131
3386
  handleScroll: handleScroll,
@@ -2184,21 +3439,25 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2184
3439
  return (0,external_vue_namespaceObject.createVNode)("li", {
2185
3440
  "class": _this.resolveClassName('select-option'),
2186
3441
  "onMouseenter": _this.handleSelectedAllOptionMouseEnter,
2187
- "onClick": _this.handleToggleSelectAll
3442
+ "onClick": _this.toggleSelectAll
2188
3443
  }, [_this.selectedStyle === 'checkbox' && (0,external_vue_namespaceObject.createVNode)(checkbox_namespaceObject["default"], {
2189
3444
  "class": _this.resolveClassName('select-checkbox'),
2190
3445
  "modelValue": _this.isAllSelected,
2191
- "indeterminate": !_this.isAllSelected && !!_this.selected.length
3446
+ "indeterminate": !_this.isAllSelected && !!_this.selected.length && !_this.isAll
2192
3447
  }, null), _this.t.selectAll]);
2193
3448
  };
2194
3449
  // 全部
2195
3450
  var renderAll = function renderAll() {
2196
- // 全选和全部是互斥的,只能选一个
2197
- if (_this.isShowSelectAll || !_this.isShowAll) return;
2198
- return (0,external_vue_namespaceObject.createVNode)(src_option, {
2199
- "id": _this.allOptionId,
2200
- "name": _this.t.all
2201
- }, null);
3451
+ var _this$selected$;
3452
+ if (!_this.isShowAll) return;
3453
+ return (0,external_vue_namespaceObject.createVNode)("div", {
3454
+ "class": _this.resolveClassName('select-all')
3455
+ }, [(0,external_vue_namespaceObject.createVNode)("div", {
3456
+ "class": ['wrapper', _this.selected.length === 1 && ((_this$selected$ = _this.selected[0]) === null || _this$selected$ === void 0 ? void 0 : _this$selected$.value) === _this.allOptionId ? 'active' : ''],
3457
+ "onClick": _this.toggleAll
3458
+ }, [(0,external_vue_namespaceObject.createVNode)(icon_namespaceObject.TextAll, {
3459
+ "class": "select-all-icon"
3460
+ }, null), (0,external_vue_namespaceObject.createVNode)("span", null, [_this.t.all])])]);
2202
3461
  };
2203
3462
  var renderTriggerInput = function renderTriggerInput() {
2204
3463
  var _this$$slots5;
@@ -2278,7 +3537,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2278
3537
  return (0,external_vue_namespaceObject.createVNode)("div", {
2279
3538
  "class": _this.resolveClassName('select-content-wrapper'),
2280
3539
  "ref": "contentRef"
2281
- }, [_this.filterable && !_this.inputSearch && (0,external_vue_namespaceObject.createVNode)("div", {
3540
+ }, [renderAll(), _this.filterable && !_this.inputSearch && (0,external_vue_namespaceObject.createVNode)("div", {
2282
3541
  "class": _this.resolveClassName('select-search-wrapper')
2283
3542
  }, [(0,external_vue_namespaceObject.createVNode)(icon_namespaceObject.Search, {
2284
3543
  "class": "icon-search",
@@ -2309,7 +3568,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2309
3568
  "onScroll": _this.handleScroll
2310
3569
  }, [(0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)("ul", {
2311
3570
  "class": _this.resolveClassName('select-options')
2312
- }, [renderSelectAll(), renderAll(), _this.enableVirtualRender ? (0,external_vue_namespaceObject.createVNode)(virtual_render_namespaceObject["default"], {
3571
+ }, [renderSelectAll(), _this.enableVirtualRender ? (0,external_vue_namespaceObject.createVNode)(virtual_render_namespaceObject["default"], {
2313
3572
  "list": _this.virtualList,
2314
3573
  "height": _this.virtualHeight,
2315
3574
  "lineHeight": 32,