bkui-vue 1.0.3-beta.4 → 1.0.3-beta.41

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 (209) hide show
  1. package/dist/index.cjs.js +70 -70
  2. package/dist/index.esm.js +15540 -14307
  3. package/dist/index.umd.js +69 -69
  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/code-diff/code-diff.variable.css +3 -0
  24. package/lib/collapse/collapse.variable.css +3 -0
  25. package/lib/collapse-transition/collapse-transition.variable.css +3 -0
  26. package/lib/color-picker/color-picker.variable.css +3 -0
  27. package/lib/components.js +0 -4
  28. package/lib/config-provider/config-provider.d.ts +3 -0
  29. package/lib/config-provider/config-provider.variable.css +3 -0
  30. package/lib/config-provider/index.d.ts +4 -0
  31. package/lib/config-provider/token.d.ts +1 -0
  32. package/lib/container/container.variable.css +3 -0
  33. package/lib/date-picker/base/month-table.d.ts +2 -2
  34. package/lib/date-picker/date-picker.d.ts +1 -0
  35. package/lib/date-picker/date-picker.variable.css +3 -0
  36. package/lib/date-picker/index.d.ts +3 -0
  37. package/lib/date-picker/index.js +69 -31
  38. package/lib/date-picker/interface.d.ts +1 -1
  39. package/lib/date-picker/time-picker.d.ts +1 -0
  40. package/lib/date-picker/utils.d.ts +4 -0
  41. package/lib/dialog/dialog.css +28 -31
  42. package/lib/dialog/dialog.d.ts +11 -0
  43. package/lib/dialog/dialog.less +18 -17
  44. package/lib/dialog/dialog.variable.css +31 -31
  45. package/lib/dialog/index.d.ts +23 -0
  46. package/lib/dialog/index.js +14 -9
  47. package/lib/dialog/props.d.ts +5 -0
  48. package/lib/directives/index.js +0 -1
  49. package/lib/dist.index.js +0 -1
  50. package/lib/divider/divider.variable.css +3 -0
  51. package/lib/dropdown/dropdown.css +3 -1
  52. package/lib/dropdown/dropdown.variable.css +6 -1
  53. package/lib/exception/exception.variable.css +3 -0
  54. package/lib/fixed-navbar/fixed-navbar.variable.css +3 -0
  55. package/lib/form/form.variable.css +3 -0
  56. package/lib/hooks.js +1 -8
  57. package/lib/icon/image-fill.js +82 -167
  58. package/lib/icon/img-error.js +82 -167
  59. package/lib/icon/img-placehoulder.js +82 -167
  60. package/lib/icon/index.d.ts +1 -0
  61. package/lib/icon/index.js +87 -2427
  62. package/lib/icon/info-line.js +82 -167
  63. package/lib/icon/info.js +82 -167
  64. package/lib/icon/left-shape.js +82 -167
  65. package/lib/icon/left-turn-line.js +82 -167
  66. package/lib/icon/loading.js +82 -167
  67. package/lib/icon/narrow-line.js +82 -167
  68. package/lib/icon/original.js +82 -167
  69. package/lib/icon/pdf-fill.js +82 -167
  70. package/lib/icon/play-shape.js +82 -167
  71. package/lib/icon/plus.js +82 -167
  72. package/lib/icon/ppt-fill.js +82 -167
  73. package/lib/icon/qq.js +82 -167
  74. package/lib/icon/right-shape.js +82 -167
  75. package/lib/icon/right-turn-line.js +82 -167
  76. package/lib/icon/search.js +82 -167
  77. package/lib/icon/share.js +82 -167
  78. package/lib/icon/spinner.js +82 -167
  79. package/lib/icon/success.js +82 -167
  80. package/lib/icon/switcher-loading.js +82 -167
  81. package/lib/icon/text-all.d.ts +4 -0
  82. package/lib/icon/text-all.js +191 -0
  83. package/lib/icon/text-file.js +82 -167
  84. package/lib/icon/text-fill.js +82 -167
  85. package/lib/icon/transfer.js +82 -167
  86. package/lib/icon/tree-application-shape.js +82 -167
  87. package/lib/icon/unfull-screen.js +82 -167
  88. package/lib/icon/unvisible.js +82 -167
  89. package/lib/icon/up-shape.js +82 -167
  90. package/lib/icon/upload.js +82 -167
  91. package/lib/icon/video-fill.js +82 -167
  92. package/lib/icon/warn.js +82 -167
  93. package/lib/icon/weixin-pro.js +82 -167
  94. package/lib/icon/weixin.js +82 -167
  95. package/lib/image/image-viewer.variable.css +3 -0
  96. package/lib/image/image.variable.css +3 -0
  97. package/lib/image/index.js +5 -2
  98. package/lib/index.js +0 -1
  99. package/lib/info-box/index.js +40 -455
  100. package/lib/info-box/info-box.css +6 -11
  101. package/lib/info-box/info-box.d.ts +1 -1
  102. package/lib/info-box/info-box.less +6 -10
  103. package/lib/info-box/info-box.variable.css +9 -11
  104. package/lib/input/index.js +5 -0
  105. package/lib/input/input.variable.css +3 -0
  106. package/lib/link/link.variable.css +3 -0
  107. package/lib/loading/loading.variable.css +3 -0
  108. package/lib/locale/index.js +4 -2
  109. package/lib/locale/lang/en.d.ts +1 -0
  110. package/lib/menu/menu.variable.css +3 -0
  111. package/lib/menu/submenu.variable.css +3 -0
  112. package/lib/message/message.variable.css +3 -0
  113. package/lib/modal/index.d.ts +34 -6
  114. package/lib/modal/index.js +14 -15
  115. package/lib/modal/modal.css +10 -15
  116. package/lib/modal/modal.d.ts +13 -2
  117. package/lib/modal/modal.less +5 -5
  118. package/lib/modal/modal.variable.css +13 -15
  119. package/lib/modal/props.mixin.d.ts +5 -0
  120. package/lib/navigation/navigation.variable.css +3 -0
  121. package/lib/notify/notify.variable.css +3 -0
  122. package/lib/pagination/index.js +2 -1
  123. package/lib/pagination/pagination.variable.css +3 -0
  124. package/lib/plugin-popover/index.d.ts +1 -1
  125. package/lib/plugin-popover/index.js +55 -31
  126. package/lib/pop-confirm/pop-confirm.variable.css +3 -0
  127. package/lib/popover/content.d.ts +1 -1
  128. package/lib/popover/index.js +55 -31
  129. package/lib/popover/plugin-popover.d.ts +4 -1
  130. package/lib/popover/popover.css +3 -1
  131. package/lib/popover/popover.less +4 -1
  132. package/lib/popover/popover.variable.css +6 -1
  133. package/lib/preset.d.ts +2 -0
  134. package/lib/preset.js +14 -20
  135. package/lib/process/process.variable.css +3 -0
  136. package/lib/progress/progress.variable.css +3 -0
  137. package/lib/radio/radio.variable.css +3 -0
  138. package/lib/rate/rate.variable.css +3 -0
  139. package/lib/rate/star.variable.css +3 -0
  140. package/lib/resize-layout/resize-layout.variable.css +3 -0
  141. package/lib/search-select/index.js +0 -1
  142. package/lib/search-select/search-select.variable.css +3 -0
  143. package/lib/select/index.d.ts +68 -6
  144. package/lib/select/index.js +1326 -68
  145. package/lib/select/option.d.ts +3 -1
  146. package/lib/select/pinyin/core.d.ts +14 -0
  147. package/lib/select/pinyin/dict.d.ts +34 -0
  148. package/lib/select/pinyin/index.d.ts +2 -0
  149. package/lib/select/select.css +36 -7
  150. package/lib/select/select.d.ts +28 -2
  151. package/lib/select/select.less +43 -13
  152. package/lib/select/select.variable.css +39 -7
  153. package/lib/select/type.d.ts +2 -3
  154. package/lib/shared/index.js +44 -3
  155. package/lib/shared/utils.d.ts +12 -0
  156. package/lib/sideslider/index.d.ts +29 -6
  157. package/lib/sideslider/index.js +5 -2
  158. package/lib/sideslider/sideslider.d.ts +13 -2
  159. package/lib/sideslider/sideslider.variable.css +3 -0
  160. package/lib/slider/slider.variable.css +3 -0
  161. package/lib/steps/steps.variable.css +3 -0
  162. package/lib/styles/mixins/animate.variable.css +3 -0
  163. package/lib/styles/mixins/popper.variable.css +3 -0
  164. package/lib/styles/mixins/scroll.variable.css +3 -0
  165. package/lib/styles/reset.css +1 -3
  166. package/lib/styles/reset.less +3 -6
  167. package/lib/styles/reset.variable.css +4 -3
  168. package/lib/styles/themes/themes.less +5 -0
  169. package/lib/swiper/swiper.variable.css +3 -0
  170. package/lib/switcher/switcher.variable.css +3 -0
  171. package/lib/tab/tab.variable.css +3 -0
  172. package/lib/table/cache.d.ts +11 -3
  173. package/lib/table/components/table-column.d.ts +111 -5
  174. package/lib/table/index.d.ts +66 -5
  175. package/lib/table/index.js +857 -562
  176. package/lib/table/plugins/head-filter.variable.css +3 -0
  177. package/lib/table/plugins/head-sort.d.ts +7 -0
  178. package/lib/table/plugins/head-sort.variable.css +3 -0
  179. package/lib/table/plugins/settings.variable.css +3 -0
  180. package/lib/table/plugins/use-draggable.d.ts +2 -2
  181. package/lib/table/plugins/use-observer-resize.d.ts +5 -0
  182. package/lib/table/props.d.ts +15 -4
  183. package/lib/table/table.css +6 -12
  184. package/lib/table/table.d.ts +7 -0
  185. package/lib/table/table.less +12 -9
  186. package/lib/table/table.variable.css +9 -12
  187. package/lib/table/use-attributes.d.ts +5 -43
  188. package/lib/table/utils.d.ts +5 -4
  189. package/lib/table-column/index.d.ts +235 -119
  190. package/lib/table-column/index.js +221 -30
  191. package/lib/tag/tag.variable.css +3 -0
  192. package/lib/tag-input/index.d.ts +4 -4
  193. package/lib/tag-input/tag-input.d.ts +2 -2
  194. package/lib/tag-input/tag-input.variable.css +3 -0
  195. package/lib/tag-input/tag-props.d.ts +1 -1
  196. package/lib/tag-input/tag-render.d.ts +1 -1
  197. package/lib/time-picker/index.d.ts +38 -35
  198. package/lib/time-picker/time-picker.variable.css +3 -0
  199. package/lib/timeline/index.d.ts +73 -44
  200. package/lib/timeline/index.js +45 -63
  201. package/lib/timeline/timeline.d.ts +42 -29
  202. package/lib/timeline/timeline.variable.css +3 -0
  203. package/lib/transfer/transfer.variable.css +3 -0
  204. package/lib/tree/tree.variable.css +3 -0
  205. package/lib/upload/upload.variable.css +3 -0
  206. package/lib/virtual-render/index.d.ts +9 -9
  207. package/lib/virtual-render/virtual-render.d.ts +3 -3
  208. package/lib/virtual-render/virtual-render.variable.css +3 -0
  209. 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
@@ -1383,6 +2598,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1383
2598
 
1384
2599
 
1385
2600
 
2601
+
1386
2602
 
1387
2603
  /* harmony default export */ const src_select = ((0,external_vue_namespaceObject.defineComponent)({
1388
2604
  name: 'Select',
@@ -1396,7 +2612,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1396
2612
  size: shared_namespaceObject.PropTypes.size().def(shared_namespaceObject.SizeEnum.DEFAULT),
1397
2613
  clearable: shared_namespaceObject.PropTypes.bool.def(true),
1398
2614
  loading: shared_namespaceObject.PropTypes.bool.def(false),
1399
- filterable: shared_namespaceObject.PropTypes.bool.def(false),
2615
+ filterable: shared_namespaceObject.PropTypes.bool.def(true),
1400
2616
  remoteMethod: shared_namespaceObject.PropTypes.func,
1401
2617
  scrollHeight: shared_namespaceObject.PropTypes.number.def(200),
1402
2618
  showAll: shared_namespaceObject.PropTypes.bool.def(false),
@@ -1433,9 +2649,11 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1433
2649
  selectedStyle: (0,shared_namespaceObject.SelectedType)(),
1434
2650
  filterOption: {
1435
2651
  type: Function
1436
- } // 配置当前options的过滤规则
2652
+ },
2653
+ searchWithPinyin: shared_namespaceObject.PropTypes.bool.def(true),
2654
+ highlightKeyword: shared_namespaceObject.PropTypes.bool.def(false) // 搜索高亮
1437
2655
  },
1438
- 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'],
1439
2657
  setup: function setup(props, _ref) {
1440
2658
  var emit = _ref.emit;
1441
2659
  var t = (0,config_provider_namespaceObject.useLocale)('select');
@@ -1470,7 +2688,9 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1470
2688
  autoFocus = _toRefs.autoFocus,
1471
2689
  keepSearchValue = _toRefs.keepSearchValue,
1472
2690
  selectedStyle = _toRefs.selectedStyle,
1473
- filterOption = _toRefs.filterOption;
2691
+ filterOption = _toRefs.filterOption,
2692
+ searchWithPinyin = _toRefs.searchWithPinyin,
2693
+ highlightKeyword = _toRefs.highlightKeyword;
1474
2694
  var localNoDataText = (0,external_vue_namespaceObject.computed)(function () {
1475
2695
  if (props.noDataText === undefined) {
1476
2696
  return t.value.noData;
@@ -1523,7 +2743,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1523
2743
  });
1524
2744
  var groupsMap = (0,external_vue_namespaceObject.ref)(new Map());
1525
2745
  var selected = (0,external_vue_namespaceObject.ref)([]);
1526
- var cacheSelectedMap = (0,external_vue_namespaceObject.computed)(function () {
2746
+ var selectedMap = (0,external_vue_namespaceObject.computed)(function () {
1527
2747
  return selected.value.reduce(function (pre, item) {
1528
2748
  pre[item.value] = item.label;
1529
2749
  return pre;
@@ -1555,11 +2775,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1555
2775
  // 虚拟滚动模式下搜索后的值
1556
2776
  var virtualList = (0,external_vue_namespaceObject.computed)(function () {
1557
2777
  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));
2778
+ return defaultSearchMethod(curSearchValue.value, String(item[displayKey.value]), item);
1563
2779
  });
1564
2780
  });
1565
2781
  // select组件是否禁用
@@ -1587,6 +2803,11 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1587
2803
  });
1588
2804
  });
1589
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
+ });
1590
2811
  // 是否含有分组
1591
2812
  var isGroup = (0,external_vue_namespaceObject.computed)(function () {
1592
2813
  return !!groupsMap.value.size;
@@ -1710,7 +2931,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1710
2931
  var scrollActiveOptionIntoView = function scrollActiveOptionIntoView() {
1711
2932
  var _contentRef$value, _contentRef$value$que, _optionsDom$;
1712
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');
1713
- (_optionsDom$ = optionsDom[0]) === null || _optionsDom$ === void 0 || _optionsDom$.scrollIntoView({
2934
+ optionsDom === null || optionsDom === void 0 || (_optionsDom$ = optionsDom[0]) === null || _optionsDom$ === void 0 || _optionsDom$.scrollIntoView({
1714
2935
  block: 'center',
1715
2936
  behavior: 'smooth'
1716
2937
  });
@@ -1729,28 +2950,49 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1729
2950
  }
1730
2951
  };
1731
2952
  // 默认搜索方法
1732
- 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) {
1733
2976
  if (!filterable.value) return;
1734
- if (!value) {
2977
+ if (!searchValue) {
1735
2978
  options.value.forEach(function (option) {
1736
2979
  option.visible = true;
1737
2980
  });
1738
2981
  } else {
1739
2982
  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
- }
2983
+ option.visible = defaultSearchMethod(searchValue, String(option.optionName), select_objectSpread(select_objectSpread({}, option.$props), option.$attrs));
1746
2984
  });
1747
2985
  }
1748
2986
  };
1749
- var _useRemoteSearch = useRemoteSearch(isRemoteSearch.value ? remoteMethod.value : defaultSearchMethod, initActiveOptionValue),
2987
+ var _useRemoteSearch = useRemoteSearch(isRemoteSearch.value ? remoteMethod.value : handleDefaultOptionSearch, initActiveOptionValue),
1750
2988
  searchValue = _useRemoteSearch.searchValue,
1751
2989
  customOptionName = _useRemoteSearch.customOptionName,
1752
2990
  curSearchValue = _useRemoteSearch.curSearchValue,
1753
2991
  searchLoading = _useRemoteSearch.searchLoading;
2992
+ // 派发search change事件
2993
+ (0,external_vue_namespaceObject.watch)(searchValue, function () {
2994
+ emit('search-change', searchValue.value);
2995
+ });
1754
2996
  // 派发change事件
1755
2997
  var emitChange = function emitChange(val) {
1756
2998
  if (val === modelValue.value) return;
@@ -1807,6 +3049,13 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1807
3049
  // Option点击事件
1808
3050
  var handleOptionSelected = function handleOptionSelected(option) {
1809
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
+ }
1810
3059
  if (multiple.value) {
1811
3060
  // 多选
1812
3061
  var index = selected.value.findIndex(function (item) {
@@ -1882,25 +3131,27 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1882
3131
  activeOptionValue.value = '';
1883
3132
  };
1884
3133
  // 全选/取消全选
1885
- var handleToggleSelectAll = function handleToggleSelectAll() {
3134
+ var toggleSelectAll = function toggleSelectAll() {
1886
3135
  if (isAllSelected.value) {
1887
3136
  selected.value = [];
1888
3137
  } else {
1889
3138
  var _list$value;
3139
+ var tmpSelected = [];
1890
3140
  options.value.forEach(function (option) {
1891
- if (option.disabled || option.optionID in cacheSelectedMap.value) return;
1892
- selected.value.push({
3141
+ if (option.disabled) return;
3142
+ tmpSelected.push({
1893
3143
  value: option.optionID,
1894
3144
  label: option.optionName || option.optionID
1895
3145
  });
1896
3146
  });
1897
3147
  (_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({
3148
+ if (item.disabled) return;
3149
+ tmpSelected.push({
1900
3150
  value: item[idKey.value],
1901
3151
  label: item[displayKey.value]
1902
3152
  });
1903
3153
  });
3154
+ selected.value = tmpSelected;
1904
3155
  }
1905
3156
  emitChange(selected.value.map(function (item) {
1906
3157
  return item.value;
@@ -1908,7 +3159,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1908
3159
  focusInput();
1909
3160
  };
1910
3161
  // 全部/取消全部
1911
- var handleToggleAll = function handleToggleAll() {
3162
+ var toggleAll = function toggleAll() {
1912
3163
  if (!isShowAll.value) return;
1913
3164
  var index = selected.value.findIndex(function (item) {
1914
3165
  return item.value === allOptionId.value;
@@ -1972,7 +3223,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
1972
3223
  _iterator.f();
1973
3224
  }
1974
3225
  }
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;
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;
1976
3227
  };
1977
3228
  // 设置selected选项
1978
3229
  var handleSetSelectedData = function handleSetSelectedData() {
@@ -2039,6 +3290,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2039
3290
  case 'Enter':
2040
3291
  {
2041
3292
  var value = e.target.value;
3293
+ // 搜索和创建的时候不触发enter事件
2042
3294
  if (allowCreate.value && value || e.target === searchRef.value) return;
2043
3295
  var option = optionsMap.value.get(activeOptionValue.value);
2044
3296
  handleOptionSelected(option);
@@ -2066,16 +3318,15 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2066
3318
  selected: selected,
2067
3319
  activeOptionValue: activeOptionValue,
2068
3320
  showSelectedIcon: showSelectedIcon,
2069
- isShowAll: isShowAll,
2070
- allOptionId: allOptionId,
2071
3321
  selectedStyle: selectedStyle,
3322
+ curSearchValue: curSearchValue,
3323
+ highlightKeyword: highlightKeyword,
2072
3324
  register: register,
2073
3325
  unregister: unregister,
2074
3326
  registerGroup: registerGroup,
2075
3327
  unregisterGroup: unregisterGroup,
2076
3328
  handleOptionSelected: handleOptionSelected,
2077
- handleGetLabelByValue: handleGetLabelByValue,
2078
- handleToggleAll: handleToggleAll
3329
+ handleGetLabelByValue: handleGetLabelByValue
2079
3330
  }));
2080
3331
  (0,external_vue_namespaceObject.onMounted)(function () {
2081
3332
  handleSetSelectedData();
@@ -2109,6 +3360,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2109
3360
  curContentText: curContentText,
2110
3361
  isGroup: isGroup,
2111
3362
  searchValue: searchValue,
3363
+ curSearchValue: curSearchValue,
2112
3364
  customOptionName: customOptionName,
2113
3365
  isShowAll: isShowAll,
2114
3366
  isShowSelectAll: isShowSelectAll,
@@ -2117,6 +3369,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2117
3369
  isCollapseTags: isCollapseTags,
2118
3370
  popoverConfig: popoverConfig,
2119
3371
  isAllSelected: isAllSelected,
3372
+ isAll: isAll,
2120
3373
  focusInput: focusInput,
2121
3374
  setHover: setHover,
2122
3375
  cancelHover: cancelHover,
@@ -2126,7 +3379,8 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2126
3379
  handleClear: handleClear,
2127
3380
  hidePopover: hidePopover,
2128
3381
  showPopover: showPopover,
2129
- handleToggleSelectAll: handleToggleSelectAll,
3382
+ toggleSelectAll: toggleSelectAll,
3383
+ toggleAll: toggleAll,
2130
3384
  handleOptionSelected: handleOptionSelected,
2131
3385
  handleClickOutside: handleClickOutside,
2132
3386
  handleScroll: handleScroll,
@@ -2185,21 +3439,25 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2185
3439
  return (0,external_vue_namespaceObject.createVNode)("li", {
2186
3440
  "class": _this.resolveClassName('select-option'),
2187
3441
  "onMouseenter": _this.handleSelectedAllOptionMouseEnter,
2188
- "onClick": _this.handleToggleSelectAll
3442
+ "onClick": _this.toggleSelectAll
2189
3443
  }, [_this.selectedStyle === 'checkbox' && (0,external_vue_namespaceObject.createVNode)(checkbox_namespaceObject["default"], {
2190
3444
  "class": _this.resolveClassName('select-checkbox'),
2191
3445
  "modelValue": _this.isAllSelected,
2192
- "indeterminate": !_this.isAllSelected && !!_this.selected.length
3446
+ "indeterminate": !_this.isAllSelected && !!_this.selected.length && !_this.isAll
2193
3447
  }, null), _this.t.selectAll]);
2194
3448
  };
2195
3449
  // 全部
2196
3450
  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);
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])])]);
2203
3461
  };
2204
3462
  var renderTriggerInput = function renderTriggerInput() {
2205
3463
  var _this$$slots5;
@@ -2279,7 +3537,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2279
3537
  return (0,external_vue_namespaceObject.createVNode)("div", {
2280
3538
  "class": _this.resolveClassName('select-content-wrapper'),
2281
3539
  "ref": "contentRef"
2282
- }, [_this.filterable && !_this.inputSearch && (0,external_vue_namespaceObject.createVNode)("div", {
3540
+ }, [renderAll(), _this.filterable && !_this.inputSearch && (0,external_vue_namespaceObject.createVNode)("div", {
2283
3541
  "class": _this.resolveClassName('select-search-wrapper')
2284
3542
  }, [(0,external_vue_namespaceObject.createVNode)(icon_namespaceObject.Search, {
2285
3543
  "class": "icon-search",
@@ -2310,7 +3568,7 @@ function select_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { v
2310
3568
  "onScroll": _this.handleScroll
2311
3569
  }, [(0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)("ul", {
2312
3570
  "class": _this.resolveClassName('select-options')
2313
- }, [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"], {
2314
3572
  "list": _this.virtualList,
2315
3573
  "height": _this.virtualHeight,
2316
3574
  "lineHeight": 32,