vxe-pc-ui 4.1.20 → 4.1.21

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 (231) hide show
  1. package/README.md +82 -1
  2. package/es/anchor/src/anchor-link.js +1 -1
  3. package/es/anchor/src/anchor.js +1 -1
  4. package/es/breadcrumb/src/breadcrumb.js +1 -1
  5. package/es/button/src/button-group.js +4 -1
  6. package/es/calendar/src/calendar.js +64 -32
  7. package/es/carousel/src/carousel-item.js +13 -3
  8. package/es/carousel/src/carousel.js +16 -8
  9. package/es/checkbox/src/checkbox.js +30 -14
  10. package/es/checkbox/src/group.js +17 -8
  11. package/es/collapse-pane/index.js +1 -1
  12. package/es/countdown/src/countdown.js +1 -1
  13. package/es/date-picker/src/date-picker.js +12 -12
  14. package/es/drawer/src/drawer.js +1 -1
  15. package/es/form/render/index.js +1 -2
  16. package/es/form/src/form-config-item.js +4 -3
  17. package/es/form/src/form-gather.js +5 -3
  18. package/es/form/src/form-item.js +15 -10
  19. package/es/form/src/form.js +11 -8
  20. package/es/form/src/render.js +2 -1
  21. package/es/form/src/util.js +2 -1
  22. package/es/icon/style.css +1 -1
  23. package/es/icon-picker/src/icon-picker.js +22 -10
  24. package/es/image/src/group.js +4 -1
  25. package/es/image/src/preview.js +1 -1
  26. package/es/input/src/input.js +129 -65
  27. package/es/layout-aside/src/layout-aside.js +1 -1
  28. package/es/list/src/list.js +7 -5
  29. package/es/list-design/src/list-design.js +1 -1
  30. package/es/list-design/src/list-view.js +1 -1
  31. package/es/loading/src/loading.js +1 -1
  32. package/es/menu/src/menu.js +1 -1
  33. package/es/number-input/src/number-input.js +6 -6
  34. package/es/pager/src/pager.js +85 -45
  35. package/es/password-input/src/password-input.js +2 -2
  36. package/es/print/src/page-break.js +11 -2
  37. package/es/print/src/print.js +6 -4
  38. package/es/radio/src/group.js +5 -2
  39. package/es/row/src/row.js +1 -1
  40. package/es/select/src/optgroup.js +11 -8
  41. package/es/select/src/option.js +9 -7
  42. package/es/select/src/select.js +32 -29
  43. package/es/select/src/util.js +2 -2
  44. package/es/style.css +1 -1
  45. package/es/style.min.css +1 -1
  46. package/es/tabs/src/tab-pane.js +13 -3
  47. package/es/tabs/src/tabs.js +57 -47
  48. package/es/textarea/src/textarea.js +4 -4
  49. package/es/tooltip/src/tooltip.js +1 -1
  50. package/es/tree/src/tree.js +6 -3
  51. package/es/tree-select/src/tree-select.js +16 -9
  52. package/es/ui/index.js +1 -7
  53. package/es/ui/src/log.js +1 -1
  54. package/es/upload/src/upload.js +5 -5
  55. package/lib/anchor/src/anchor-link.js +1 -1
  56. package/lib/anchor/src/anchor-link.min.js +1 -1
  57. package/lib/anchor/src/anchor.js +1 -1
  58. package/lib/anchor/src/anchor.min.js +1 -1
  59. package/lib/breadcrumb/src/breadcrumb.js +1 -1
  60. package/lib/breadcrumb/src/breadcrumb.min.js +1 -1
  61. package/lib/button/src/button-group.js +4 -1
  62. package/lib/button/src/button-group.min.js +1 -1
  63. package/lib/calendar/src/calendar.js +42 -24
  64. package/lib/calendar/src/calendar.min.js +1 -1
  65. package/lib/carousel/src/carousel-item.js +16 -3
  66. package/lib/carousel/src/carousel-item.min.js +1 -1
  67. package/lib/carousel/src/carousel.js +18 -8
  68. package/lib/carousel/src/carousel.min.js +1 -1
  69. package/lib/checkbox/src/checkbox.js +16 -12
  70. package/lib/checkbox/src/checkbox.min.js +1 -1
  71. package/lib/checkbox/src/group.js +10 -7
  72. package/lib/checkbox/src/group.min.js +1 -1
  73. package/lib/collapse-pane/index.js +1 -1
  74. package/lib/collapse-pane/index.min.js +1 -1
  75. package/lib/countdown/src/countdown.js +1 -1
  76. package/lib/countdown/src/countdown.min.js +1 -1
  77. package/lib/date-picker/src/date-picker.js +12 -12
  78. package/lib/drawer/src/drawer.js +1 -1
  79. package/lib/drawer/src/drawer.min.js +1 -1
  80. package/lib/form/render/index.js +1 -4
  81. package/lib/form/render/index.min.js +1 -1
  82. package/lib/form/src/form-config-item.js +4 -5
  83. package/lib/form/src/form-config-item.min.js +1 -1
  84. package/lib/form/src/form-gather.js +11 -9
  85. package/lib/form/src/form-gather.min.js +1 -1
  86. package/lib/form/src/form-item.js +11 -12
  87. package/lib/form/src/form-item.min.js +1 -1
  88. package/lib/form/src/form.js +7 -7
  89. package/lib/form/src/form.min.js +1 -1
  90. package/lib/form/src/render.js +2 -1
  91. package/lib/form/src/util.js +2 -1
  92. package/lib/icon/style/style.css +1 -1
  93. package/lib/icon/style/style.min.css +1 -1
  94. package/lib/icon-picker/src/icon-picker.js +20 -11
  95. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  96. package/lib/image/src/group.js +4 -1
  97. package/lib/image/src/group.min.js +1 -1
  98. package/lib/image/src/preview.js +1 -1
  99. package/lib/image/src/preview.min.js +1 -1
  100. package/lib/index.umd.js +522 -377
  101. package/lib/index.umd.min.js +1 -1
  102. package/lib/input/src/input.js +77 -50
  103. package/lib/input/src/input.min.js +1 -1
  104. package/lib/layout-aside/src/layout-aside.js +1 -1
  105. package/lib/layout-aside/src/layout-aside.min.js +1 -1
  106. package/lib/list/src/list.js +9 -5
  107. package/lib/list/src/list.min.js +1 -1
  108. package/lib/list-design/src/list-design.js +1 -1
  109. package/lib/list-design/src/list-design.min.js +1 -1
  110. package/lib/list-design/src/list-view.js +1 -1
  111. package/lib/list-design/src/list-view.min.js +1 -1
  112. package/lib/loading/src/loading.js +1 -1
  113. package/lib/loading/src/loading.min.js +1 -1
  114. package/lib/menu/src/menu.js +1 -1
  115. package/lib/menu/src/menu.min.js +1 -1
  116. package/lib/number-input/src/number-input.js +6 -6
  117. package/lib/pager/src/pager.js +40 -39
  118. package/lib/pager/src/pager.min.js +1 -1
  119. package/lib/password-input/src/password-input.js +2 -2
  120. package/lib/print/src/page-break.js +14 -2
  121. package/lib/print/src/page-break.min.js +1 -1
  122. package/lib/print/src/print.js +8 -6
  123. package/lib/print/src/print.min.js +1 -1
  124. package/lib/radio/src/group.js +5 -2
  125. package/lib/radio/src/group.min.js +1 -1
  126. package/lib/row/src/row.js +1 -1
  127. package/lib/row/src/row.min.js +1 -1
  128. package/lib/select/src/optgroup.js +12 -9
  129. package/lib/select/src/optgroup.min.js +1 -1
  130. package/lib/select/src/option.js +9 -7
  131. package/lib/select/src/option.min.js +1 -1
  132. package/lib/select/src/select.js +33 -32
  133. package/lib/select/src/select.min.js +1 -1
  134. package/lib/select/src/util.js +2 -2
  135. package/lib/select/src/util.min.js +1 -1
  136. package/lib/style.css +1 -1
  137. package/lib/style.min.css +1 -1
  138. package/lib/tabs/src/tab-pane.js +16 -3
  139. package/lib/tabs/src/tab-pane.min.js +1 -1
  140. package/lib/tabs/src/tabs.js +62 -50
  141. package/lib/tabs/src/tabs.min.js +1 -1
  142. package/lib/textarea/src/textarea.js +4 -4
  143. package/lib/tooltip/src/tooltip.js +1 -1
  144. package/lib/tooltip/src/tooltip.min.js +1 -1
  145. package/lib/tree/src/tree.js +2 -2
  146. package/lib/tree/src/tree.min.js +1 -1
  147. package/lib/tree-select/src/tree-select.js +11 -7
  148. package/lib/tree-select/src/tree-select.min.js +1 -1
  149. package/lib/ui/index.js +3 -10
  150. package/lib/ui/index.min.js +1 -1
  151. package/lib/ui/src/log.js +1 -1
  152. package/lib/ui/src/log.min.js +1 -1
  153. package/lib/upload/src/upload.js +5 -5
  154. package/lib/upload/src/upload.min.js +1 -1
  155. package/package.json +2 -2
  156. package/packages/anchor/src/anchor-link.ts +2 -2
  157. package/packages/anchor/src/anchor.ts +2 -2
  158. package/packages/breadcrumb/src/breadcrumb.ts +2 -2
  159. package/packages/button/src/button-group.ts +4 -1
  160. package/packages/calendar/src/calendar.ts +67 -35
  161. package/packages/carousel/src/carousel-item.ts +19 -4
  162. package/packages/carousel/src/carousel.ts +19 -11
  163. package/packages/checkbox/src/checkbox.ts +34 -15
  164. package/packages/checkbox/src/group.ts +22 -10
  165. package/packages/collapse-pane/index.ts +1 -1
  166. package/packages/countdown/src/countdown.ts +2 -2
  167. package/packages/date-picker/src/date-picker.ts +12 -12
  168. package/packages/drawer/src/drawer.ts +2 -2
  169. package/packages/form/render/index.ts +1 -3
  170. package/packages/form/src/form-config-item.ts +4 -3
  171. package/packages/form/src/form-gather.ts +5 -3
  172. package/packages/form/src/form-item.ts +15 -10
  173. package/packages/form/src/form.ts +12 -10
  174. package/packages/form/src/render.ts +2 -1
  175. package/packages/form/src/util.ts +2 -1
  176. package/packages/icon-picker/src/icon-picker.ts +26 -13
  177. package/packages/image/src/group.ts +4 -1
  178. package/packages/image/src/preview.ts +2 -2
  179. package/packages/input/src/input.ts +133 -71
  180. package/packages/layout-aside/src/layout-aside.ts +2 -2
  181. package/packages/list/src/list.ts +12 -11
  182. package/packages/list-design/src/list-design.ts +2 -2
  183. package/packages/list-design/src/list-view.ts +2 -2
  184. package/packages/loading/src/loading.ts +2 -2
  185. package/packages/menu/src/menu.ts +2 -2
  186. package/packages/number-input/src/number-input.ts +6 -6
  187. package/packages/pager/src/pager.ts +91 -50
  188. package/packages/password-input/src/password-input.ts +2 -2
  189. package/packages/print/src/page-break.ts +18 -4
  190. package/packages/print/src/print.ts +10 -5
  191. package/packages/radio/src/group.ts +6 -3
  192. package/packages/row/src/row.ts +2 -2
  193. package/packages/select/src/optgroup.ts +16 -13
  194. package/packages/select/src/option.ts +10 -8
  195. package/packages/select/src/select.ts +42 -36
  196. package/packages/select/src/util.ts +3 -3
  197. package/packages/tabs/src/tab-pane.ts +20 -5
  198. package/packages/tabs/src/tabs.ts +59 -49
  199. package/packages/textarea/src/textarea.ts +4 -4
  200. package/packages/tooltip/src/tooltip.ts +2 -2
  201. package/packages/tree/src/tree.ts +7 -4
  202. package/packages/tree-select/src/tree-select.ts +20 -12
  203. package/packages/ui/index.ts +0 -7
  204. package/packages/upload/src/upload.ts +6 -6
  205. package/types/components/calendar.d.ts +6 -0
  206. package/types/components/carousel.d.ts +5 -0
  207. package/types/components/form.d.ts +4 -2
  208. package/types/components/icon-picker.d.ts +4 -0
  209. package/types/components/input.d.ts +9 -1
  210. package/types/components/list.d.ts +1 -0
  211. package/types/components/optgroup.d.ts +10 -4
  212. package/types/components/tabs.d.ts +4 -0
  213. package/types/components/toolbar.d.ts +5 -0
  214. package/types/components/tree-select.d.ts +4 -0
  215. package/types/ui/index.d.ts +0 -22
  216. /package/es/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
  217. /package/es/icon/style/{iconfont.1725680652286.ttf → iconfont.1725941866604.ttf} +0 -0
  218. /package/es/icon/style/{iconfont.1725680652286.woff → iconfont.1725941866604.woff} +0 -0
  219. /package/es/icon/style/{iconfont.1725680652286.woff2 → iconfont.1725941866604.woff2} +0 -0
  220. /package/es/{iconfont.1725680652286.ttf → iconfont.1725941866604.ttf} +0 -0
  221. /package/es/{iconfont.1725680652286.woff → iconfont.1725941866604.woff} +0 -0
  222. /package/es/{iconfont.1725680652286.woff2 → iconfont.1725941866604.woff2} +0 -0
  223. /package/lib/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
  224. /package/lib/{collapse-pane → collapse}/src/collapse-pane.min.js +0 -0
  225. /package/lib/icon/style/{iconfont.1725680652286.ttf → iconfont.1725941866604.ttf} +0 -0
  226. /package/lib/icon/style/{iconfont.1725680652286.woff → iconfont.1725941866604.woff} +0 -0
  227. /package/lib/icon/style/{iconfont.1725680652286.woff2 → iconfont.1725941866604.woff2} +0 -0
  228. /package/lib/{iconfont.1725680652286.ttf → iconfont.1725941866604.ttf} +0 -0
  229. /package/lib/{iconfont.1725680652286.woff → iconfont.1725941866604.woff} +0 -0
  230. /package/lib/{iconfont.1725680652286.woff2 → iconfont.1725941866604.woff2} +0 -0
  231. /package/packages/{collapse-pane → collapse}/src/collapse-pane.ts +0 -0
@@ -100,8 +100,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
100
100
  onClick: clickEvent
101
101
  }, defaultSlot ? defaultSlot({}) : []);
102
102
  };
103
- $xeRow.renderVN = renderVN;
104
103
  (0, _vue.provide)('$xeRow', $xeRow);
104
+ $xeRow.renderVN = renderVN;
105
105
  return $xeRow;
106
106
  },
107
107
  render() {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeRow",props:{gutter:[Number,String,Array],wrap:{type:Boolean,default:()=>(0,_ui.getConfig)().row.wrap},vertical:Boolean,size:{type:String,default:()=>(0,_ui.getConfig)().row.size||(0,_ui.getConfig)().size}},emits:["click"],setup(a,e){const{slots:u,emit:i}=e;var t=_xeUtils.default.uniqueId();(0,_ui.useSize)(a);const o=(0,_vue.ref)();var r=(0,_vue.reactive)({});const s={refElem:o},n=(0,_vue.computed)(()=>{var{gutter:r,vertical:i}=a,u={};if(r){let[e,t]=_xeUtils.default.isArray(r)?r:[r];i&&(t=e,e=""),e&&(r=_xeUtils.default.isNumber(e)?(0,_dom.toCssUnit)(-e/2):`calc(${(0,_dom.toCssUnit)(e)} / 2 * -1)`,u.marginLeft=r,u.marginRight=r),t&&(i=_xeUtils.default.isNumber(t)?(0,_dom.toCssUnit)(-t/2):`calc(${(0,_dom.toCssUnit)(t)} / 2 * -1)`,u.marginTop=i,u.marginBottom=i)}return u}),l={},d={xID:t,props:a,context:e,reactData:r,getRefMaps:()=>s,getComputeMaps:()=>l},_=e=>{c("click",{},e)},c=(e,t,r)=>{i(e,(0,_ui.createEvent)(r,{$row:d},t))};t={dispatchEvent:c};Object.assign(d,t,{});return d.renderVN=()=>{var{vertical:e,wrap:t}=a,r=n.value,i=u.default;return(0,_vue.h)("div",{ref:o,class:["vxe-row",{"is--vertical":e,"is--wrap":t}],style:r,onClick:_},i?i({}):[])},(0,_vue.provide)("$xeRow",d),d},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeRow",props:{gutter:[Number,String,Array],wrap:{type:Boolean,default:()=>(0,_ui.getConfig)().row.wrap},vertical:Boolean,size:{type:String,default:()=>(0,_ui.getConfig)().row.size||(0,_ui.getConfig)().size}},emits:["click"],setup(a,e){const{slots:u,emit:i}=e;var t=_xeUtils.default.uniqueId();(0,_ui.useSize)(a);const o=(0,_vue.ref)();var r=(0,_vue.reactive)({});const s={refElem:o},n=(0,_vue.computed)(()=>{var{gutter:r,vertical:i}=a,u={};if(r){let[e,t]=_xeUtils.default.isArray(r)?r:[r];i&&(t=e,e=""),e&&(r=_xeUtils.default.isNumber(e)?(0,_dom.toCssUnit)(-e/2):`calc(${(0,_dom.toCssUnit)(e)} / 2 * -1)`,u.marginLeft=r,u.marginRight=r),t&&(i=_xeUtils.default.isNumber(t)?(0,_dom.toCssUnit)(-t/2):`calc(${(0,_dom.toCssUnit)(t)} / 2 * -1)`,u.marginTop=i,u.marginBottom=i)}return u}),l={},d={xID:t,props:a,context:e,reactData:r,getRefMaps:()=>s,getComputeMaps:()=>l},_=e=>{c("click",{},e)},c=(e,t,r)=>{i(e,(0,_ui.createEvent)(r,{$row:d},t))};t={dispatchEvent:c};Object.assign(d,t,{});return(0,_vue.provide)("$xeRow",d),d.renderVN=()=>{var{vertical:e,wrap:t}=a,r=n.value,i=u.default;return(0,_vue.h)("div",{ref:o,class:["vxe-row",{"is--vertical":e,"is--wrap":t}],style:r,onClick:_},i?i({}):[])},d},render(){return this.renderVN()}});
@@ -20,28 +20,31 @@ var _default = exports.default = (0, _vue.defineComponent)({
20
20
  className: [String, Function],
21
21
  disabled: Boolean
22
22
  },
23
+ emits: [],
23
24
  setup(props, {
24
25
  slots
25
26
  }) {
26
27
  const elem = (0, _vue.ref)();
27
28
  const $xeSelect = (0, _vue.inject)('$xeSelect', {});
28
- const option = (0, _util.createOption)($xeSelect, props);
29
- const xeOption = {
30
- option
29
+ const optionConfig = (0, _util.createOption)($xeSelect, props);
30
+ const $xeOptgroup = {
31
+ optionConfig
31
32
  };
32
- option.options = [];
33
- (0, _vue.provide)('$xeOptgroup', xeOption);
34
- (0, _util.watchOption)(props, option);
33
+ optionConfig.options = [];
34
+ (0, _vue.provide)('$xeOptgroup', $xeOptgroup);
35
+ (0, _util.watchOption)(props, optionConfig);
35
36
  (0, _vue.onMounted)(() => {
36
- (0, _util.assembleOption)($xeSelect, elem.value, option);
37
+ const el = elem.value;
38
+ (0, _util.assembleOption)($xeSelect, el, optionConfig);
37
39
  });
38
40
  (0, _vue.onUnmounted)(() => {
39
- (0, _util.destroyOption)($xeSelect, option);
41
+ (0, _util.destroyOption)($xeSelect, optionConfig);
40
42
  });
41
43
  return () => {
44
+ const defaultSlot = slots.default;
42
45
  return (0, _vue.h)('div', {
43
46
  ref: elem
44
- }, slots.default ? slots.default() : []);
47
+ }, defaultSlot ? defaultSlot({}) : []);
45
48
  };
46
49
  }
47
50
  });
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_util=require("./util"),_default=exports.default=(0,_vue.defineComponent)({name:"VxeOptgroup",props:{label:{type:[String,Number,Boolean],default:""},visible:{type:Boolean,default:null},className:[String,Function],disabled:Boolean},setup(e,{slots:t}){const u=(0,_vue.ref)(),o=(0,_vue.inject)("$xeSelect",{}),l=(0,_util.createOption)(o,e);var i={option:l};return l.options=[],(0,_vue.provide)("$xeOptgroup",i),(0,_util.watchOption)(e,l),(0,_vue.onMounted)(()=>{(0,_util.assembleOption)(o,u.value,l)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyOption)(o,l)}),()=>(0,_vue.h)("div",{ref:u},t.default?t.default():[])}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_util=require("./util"),_default=exports.default=(0,_vue.defineComponent)({name:"VxeOptgroup",props:{label:{type:[String,Number,Boolean],default:""},visible:{type:Boolean,default:null},className:[String,Function],disabled:Boolean},emits:[],setup(e,{slots:t}){const u=(0,_vue.ref)(),o=(0,_vue.inject)("$xeSelect",{}),i=(0,_util.createOption)(o,e);var n={optionConfig:i};return i.options=[],(0,_vue.provide)("$xeOptgroup",n),(0,_util.watchOption)(e,i),(0,_vue.onMounted)(()=>{var e=u.value;(0,_util.assembleOption)(o,e,i)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyOption)(o,i)}),()=>{var e=t.default;return(0,_vue.h)("div",{ref:u},e?e({}):[])}}});
@@ -9,7 +9,7 @@ var _util = require("./util");
9
9
  var _default = exports.default = (0, _vue.defineComponent)({
10
10
  name: 'VxeOption',
11
11
  props: {
12
- value: null,
12
+ value: [String, Number, Boolean],
13
13
  label: {
14
14
  type: [String, Number, Boolean],
15
15
  default: ''
@@ -21,20 +21,22 @@ var _default = exports.default = (0, _vue.defineComponent)({
21
21
  className: [String, Function],
22
22
  disabled: Boolean
23
23
  },
24
+ emits: [],
24
25
  setup(props, {
25
26
  slots
26
27
  }) {
27
28
  const elem = (0, _vue.ref)();
28
29
  const $xeSelect = (0, _vue.inject)('$xeSelect', {});
29
- const optGroup = (0, _vue.inject)('$xeOptgroup', null);
30
- const option = (0, _util.createOption)($xeSelect, props);
31
- option.slots = slots;
32
- (0, _util.watchOption)(props, option);
30
+ const $xeOptgroup = (0, _vue.inject)('$xeOptgroup', null);
31
+ const optionConfig = (0, _util.createOption)($xeSelect, props);
32
+ optionConfig.slots = slots;
33
+ (0, _util.watchOption)(props, optionConfig);
33
34
  (0, _vue.onMounted)(() => {
34
- (0, _util.assembleOption)($xeSelect, elem.value, option, optGroup);
35
+ const el = elem.value;
36
+ (0, _util.assembleOption)($xeSelect, el, optionConfig, $xeOptgroup);
35
37
  });
36
38
  (0, _vue.onUnmounted)(() => {
37
- (0, _util.destroyOption)($xeSelect, option);
39
+ (0, _util.destroyOption)($xeSelect, optionConfig);
38
40
  });
39
41
  return () => {
40
42
  return (0, _vue.h)('div', {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_util=require("./util"),_default=exports.default=(0,_vue.defineComponent)({name:"VxeOption",props:{value:null,label:{type:[String,Number,Boolean],default:""},visible:{type:Boolean,default:null},className:[String,Function],disabled:Boolean},setup(e,{slots:t}){const u=(0,_vue.ref)(),l=(0,_vue.inject)("$xeSelect",{}),o=(0,_vue.inject)("$xeOptgroup",null),n=(0,_util.createOption)(l,e);return n.slots=t,(0,_util.watchOption)(e,n),(0,_vue.onMounted)(()=>{(0,_util.assembleOption)(l,u.value,n,o)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyOption)(l,n)}),()=>(0,_vue.h)("div",{ref:u})}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_util=require("./util"),_default=exports.default=(0,_vue.defineComponent)({name:"VxeOption",props:{value:[String,Number,Boolean],label:{type:[String,Number,Boolean],default:""},visible:{type:Boolean,default:null},className:[String,Function],disabled:Boolean},emits:[],setup(e,{slots:t}){const u=(0,_vue.ref)(),l=(0,_vue.inject)("$xeSelect",{}),o=(0,_vue.inject)("$xeOptgroup",null),n=(0,_util.createOption)(l,e);return n.slots=t,(0,_util.watchOption)(e,n),(0,_vue.onMounted)(()=>{var e=u.value;(0,_util.assembleOption)(l,e,n,o)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyOption)(l,n)}),()=>(0,_vue.h)("div",{ref:u})}});
@@ -180,10 +180,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
180
180
  return (0, _ui.getI18n)('vxe.base.pleaseSelect');
181
181
  });
182
182
  const computePropsOpts = (0, _vue.computed)(() => {
183
- return props.optionProps || {};
183
+ return Object.assign({}, props.optionProps);
184
184
  });
185
185
  const computeGroupPropsOpts = (0, _vue.computed)(() => {
186
- return props.optionGroupProps || {};
186
+ return Object.assign({}, props.optionGroupProps);
187
187
  });
188
188
  const computeLabelField = (0, _vue.computed)(() => {
189
189
  const propsOpts = computePropsOpts.value;
@@ -221,6 +221,31 @@ var _default = exports.default = (0, _vue.defineComponent)({
221
221
  const computeMultiMaxCharNum = (0, _vue.computed)(() => {
222
222
  return _xeUtils.default.toNumber(props.multiCharOverflow);
223
223
  });
224
+ const computeSelectLabel = (0, _vue.computed)(() => {
225
+ const {
226
+ modelValue,
227
+ multiple,
228
+ remote
229
+ } = props;
230
+ const multiMaxCharNum = computeMultiMaxCharNum.value;
231
+ if (modelValue && multiple) {
232
+ const vals = _xeUtils.default.isArray(modelValue) ? modelValue : [modelValue];
233
+ if (remote) {
234
+ return vals.map(val => getRemoteSelectLabel(val)).join(', ');
235
+ }
236
+ return vals.map(val => {
237
+ const label = getSelectLabel(val);
238
+ if (multiMaxCharNum > 0 && label.length > multiMaxCharNum) {
239
+ return `${label.substring(0, multiMaxCharNum)}...`;
240
+ }
241
+ return label;
242
+ }).join(', ');
243
+ }
244
+ if (remote) {
245
+ return getRemoteSelectLabel(modelValue);
246
+ }
247
+ return getSelectLabel(modelValue);
248
+ });
224
249
  const callSlot = (slotFunc, params) => {
225
250
  if (slotFunc) {
226
251
  if (_xeUtils.default.isString(slotFunc)) {
@@ -290,31 +315,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
290
315
  const item = findOption(value);
291
316
  return _xeUtils.default.toValueString(item ? item[labelField] : value);
292
317
  };
293
- const computeSelectLabel = (0, _vue.computed)(() => {
294
- const {
295
- modelValue,
296
- multiple,
297
- remote
298
- } = props;
299
- const multiMaxCharNum = computeMultiMaxCharNum.value;
300
- if (modelValue && multiple) {
301
- const vals = _xeUtils.default.isArray(modelValue) ? modelValue : [modelValue];
302
- if (remote) {
303
- return vals.map(val => getRemoteSelectLabel(val)).join(', ');
304
- }
305
- return vals.map(val => {
306
- const label = getSelectLabel(val);
307
- if (multiMaxCharNum > 0 && label.length > multiMaxCharNum) {
308
- return `${label.substring(0, multiMaxCharNum)}...`;
309
- }
310
- return label;
311
- }).join(', ');
312
- }
313
- if (remote) {
314
- return getRemoteSelectLabel(modelValue);
315
- }
316
- return getSelectLabel(modelValue);
317
- });
318
318
  const getOptkey = () => {
319
319
  const optionOpts = computeOptionOpts.value;
320
320
  return optionOpts.keyField || props.optionId || '_X_OPTION_KEY';
@@ -551,8 +551,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
551
551
  }, 350);
552
552
  };
553
553
  const changeEvent = (evnt, selectValue) => {
554
+ emit('update:modelValue', selectValue);
554
555
  if (selectValue !== props.modelValue) {
555
- emit('update:modelValue', selectValue);
556
556
  selectMethods.dispatchEvent('change', {
557
557
  value: selectValue
558
558
  }, evnt);
@@ -817,7 +817,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
817
817
  const focusSearchEvent = () => {
818
818
  reactData.isActivated = true;
819
819
  };
820
- const triggerSearchEvent = _xeUtils.default.debounce(function () {
820
+ const handleSearchEvent = () => {
821
821
  const {
822
822
  remote,
823
823
  remoteMethod
@@ -836,7 +836,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
836
836
  } else {
837
837
  refreshOption();
838
838
  }
839
- }, 350, {
839
+ };
840
+ const triggerSearchEvent = _xeUtils.default.debounce(handleSearchEvent, 350, {
840
841
  trailing: true
841
842
  });
842
843
  const togglePanelEvent = params => {
@@ -1073,7 +1074,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
1073
1074
  ref: 'hideOption'
1074
1075
  }, defaultSlot ? defaultSlot({}) : []), (0, _vue.h)('span', {
1075
1076
  class: 'vxe-select-label'
1076
- }, selectLabel)]);
1077
+ }, [selectLabel])]);
1077
1078
  }
1078
1079
  return (0, _vue.h)('div', {
1079
1080
  ref: refElem,
@@ -1148,7 +1149,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
1148
1149
  class: 'vxe-select--panel-footer'
1149
1150
  }, footerSlot({})) : (0, _vue.createCommentVNode)()])] : [])])]);
1150
1151
  };
1151
- $xeSelect.renderVN = renderVN;
1152
1152
  (0, _vue.watch)(() => reactData.staticOptions, value => {
1153
1153
  if (value.some(item => item.options && item.options.length)) {
1154
1154
  reactData.fullOptionList = [];
@@ -1194,6 +1194,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
1194
1194
  _ui.globalEvents.off($xeSelect, 'blur');
1195
1195
  });
1196
1196
  (0, _vue.provide)('$xeSelect', $xeSelect);
1197
+ $xeSelect.renderVN = renderVN;
1197
1198
  return $xeSelect;
1198
1199
  },
1199
1200
  render() {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_input=_interopRequireDefault(require("../../input/src/input")),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeSelect",props:{modelValue:[String,Number,Boolean,Array],clearable:Boolean,placeholder:String,readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,multiCharOverflow:{type:[Number,String],default:()=>(0,_ui.getConfig)().select.multiCharOverflow},prefixIcon:String,placement:String,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],max:{type:[String,Number],default:null},size:{type:String,default:()=>(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size},filterable:Boolean,filterMethod:Function,remote:Boolean,remoteMethod:Function,emptyText:String,transfer:{type:Boolean,default:null},optionId:{type:String,default:()=>(0,_ui.getConfig)().select.optionId},optionKey:Boolean},emits:["update:modelValue","change","clear","blur","focus","click"],setup(m,e){const{slots:x,emit:i}=e,w=(0,_vue.inject)("$xeModal",null),F=(0,_vue.inject)("$xeDrawer",null),B=(0,_vue.inject)("$xeTable",null),l=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var K=_xeUtils.default.uniqueId();const D=(0,_ui.useSize)(m)["computeSize"],E=(0,_vue.reactive)({initialized:!1,staticOptions:[],fullGroupList:[],fullOptionList:[],visibleGroupList:[],visibleOptionList:[],remoteValueList:[],panelIndex:0,panelStyle:{},panelPlacement:null,currentOption:null,currentValue:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,searchValue:"",searchLoading:!1}),u={hpTimeout:void 0},h=(0,_vue.ref)(),b=(0,_vue.ref)(),O=(0,_vue.ref)(),L=(0,_vue.ref)(),V=(0,_vue.ref)(),q={refElem:h},T={xID:K,props:m,context:e,reactData:E,internalData:u,getRefMaps:()=>q};let n={};const j=(0,_vue.computed)(()=>{var e=m["readonly"];return null===e?!!l&&l.props.readonly:e}),y=(0,_vue.computed)(()=>{var e=m["disabled"];return null===e?!!l&&l.props.disabled:e}),A=(0,_vue.computed)(()=>{var e=m["transfer"];if(null===e){var t=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(B||w||F||l)return!0}return e}),z=(0,_vue.computed)(()=>{var e=m["placeholder"];return(e=e||(0,_ui.getConfig)().select.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),t=(0,_vue.computed)(()=>m.optionProps||{}),a=(0,_vue.computed)(()=>m.optionGroupProps||{}),r=(0,_vue.computed)(()=>{return t.value.label||"label"}),S=(0,_vue.computed)(()=>{return t.value.value||"value"}),c=(0,_vue.computed)(()=>{return a.value.label||"label"}),P=(0,_vue.computed)(()=>{return a.value.options||"options"}),R=(0,_vue.computed)(()=>{var{modelValue:e,multiple:t,max:l}=m;return!(!t||!l)&&(_xeUtils.default.isArray(e)?e.length:_xeUtils.default.eqNull(e)?0:1)>=_xeUtils.default.toNumber(l)}),C=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.optionConfig,m.optionConfig)),I=(0,_vue.computed)(()=>E.fullGroupList.some(e=>e.options&&e.options.length)),$=(0,_vue.computed)(()=>_xeUtils.default.toNumber(m.multiCharOverflow)),N=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=x[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],s=t=>{var{fullOptionList:e,fullGroupList:l}=E,i=I.value;const o=S.value;if(i)for(let e=0;e<l.length;e++){var u=l[e];if(u.options)for(let e=0;e<u.options.length;e++){var n=u.options[e];if(t===n[o])return n}}return e.find(e=>t===e[o])},v=t=>{var e=E["remoteValueList"],l=r.value,e=e.find(e=>t===e.key),e=e?e.result:null;return _xeUtils.default.toValueString(e?e[l]:t)},p=e=>{var t=r.value,l=s(e);return _xeUtils.default.toValueString(l?l[t]:e)},M=(0,_vue.computed)(()=>{var{modelValue:e,multiple:t,remote:l}=m;const i=$.value;return e&&t?(t=_xeUtils.default.isArray(e)?e:[e],(l?t.map(e=>v(e)):t.map(e=>{e=p(e);return 0<i&&e.length>i?e.substring(0,i)+"...":e})).join(", ")):(l?v:p)(e)}),H=()=>{return C.value.keyField||m.optionId||"_X_OPTION_KEY"},U=e=>{e=e[H()];return e?encodeURIComponent(e):""},d=()=>{const{filterable:e,filterMethod:t}=m;var{fullOptionList:l,fullGroupList:i,searchValue:o}=E,u=I.value;const n=c.value,a=r.value,s=(""+(o||"")).toLowerCase();return u?e&&t?E.visibleGroupList=i.filter(e=>isOptionVisible(e)&&t({group:e,option:null,searchValue:s})):E.visibleGroupList=e?i.filter(e=>isOptionVisible(e)&&(!s||-1<(""+e[n]).toLowerCase().indexOf(s))):i.filter(isOptionVisible):e&&t?E.visibleOptionList=l.filter(e=>isOptionVisible(e)&&t({group:null,option:e,searchValue:s})):E.visibleOptionList=e?l.filter(e=>isOptionVisible(e)&&(!s||-1<(""+e[a]).toLowerCase().indexOf(s))):l.filter(isOptionVisible),(0,_vue.nextTick)()},f=()=>{var{fullOptionList:e,fullGroupList:t}=E;const l=P.value,i=H(),o=e=>{U(e)||(e[i]=getOptUniqueId())};t.length?t.forEach(e=>{o(e),e[l]&&e[l].forEach(o)}):e.length&&e.forEach(o),d()},G=e=>{var t=S.value;e&&(E.currentOption=e,E.currentValue=e[t])},Y=(i,o)=>(0,_vue.nextTick)().then(()=>{var e,t,l;i&&(e=L.value,t=V.value.querySelector(`[optid='${U(i)}']`),e)&&t&&(l=e.offsetHeight,o?t.offsetTop+t.offsetHeight-e.scrollTop>l&&(e.scrollTop=t.offsetTop+t.offsetHeight-l):(t.offsetTop+5<e.scrollTop||t.offsetTop+5>e.scrollTop+e.clientHeight)&&(e.scrollTop=t.offsetTop-5))}),W=()=>(0,_vue.nextTick)().then(()=>{var i=m["placement"],o=E["panelIndex"],u=h.value,n=V.value,e=A.value;if(n&&u){var a=u.offsetHeight,s=u.offsetWidth,r=n.offsetHeight,n=n.offsetWidth,o={zIndex:o},{boundingTop:u,boundingLeft:v,visibleHeight:p,visibleWidth:c}=(0,_dom.getAbsolutePos)(u);let l="bottom";if(e){let e=v,t=u+a;"top"===i?(l="top",t=u-r):i||(t+r+5>p&&(l="top",t=u-r),t<5&&(l="bottom",t=u+a)),e+n+5>c&&(e-=e+n+5-c),e<5&&(e=5),Object.assign(o,{left:e+"px",top:t+"px",minWidth:s+"px"})}else"top"===i?(l="top",o.bottom=a+"px"):i||p<u+a+r&&5<u-a-r&&(l="top",o.bottom=a+"px");return E.panelStyle=o,E.panelPlacement=l,(0,_vue.nextTick)()}}),_=()=>{var{loading:e,filterable:t}=m,l=u["hpTimeout"],i=y.value;e||i||(l&&(clearTimeout(l),u.hpTimeout=void 0),E.initialized||(E.initialized=!0),E.isActivated=!0,E.isAniVisible=!0,t&&d(),setTimeout(()=>{var e=m["modelValue"],e=s(_xeUtils.default.isArray(e)?e[0]:e);E.visiblePanel=!0,e&&(G(e),Y(e)),m.filterable&&(0,_vue.nextTick)(()=>{var e=O.value;e&&e.focus()})},10),E.panelIndex<(0,_utils.getLastZIndex)()&&(E.panelIndex=(0,_utils.nextZIndex)()),W())},g=()=>{E.searchValue="",E.searchLoading=!1,E.visiblePanel=!1,u.hpTimeout=window.setTimeout(()=>{E.isAniVisible=!1},350)},k=(e,t)=>{t!==m.modelValue&&(i("update:modelValue",t),n.dispatchEvent("change",{value:t},e),l)&&o&&l.triggerItemEvent(e,o.itemConfig.field,t)},Z=(e,t)=>{E.remoteValueList=[],k(e,t),n.dispatchEvent("clear",{value:t},e)},X=(e,t)=>{Z(t,null),g()},J=(t,l,i)=>{var{modelValue:o,multiple:u}=m,n=E["remoteValueList"];if(u){let e=[];u=_xeUtils.default.eqNull(o)?[]:_xeUtils.default.isArray(o)?o:[o],o=_xeUtils.default.findIndexOf(u,e=>e===l),o=(e=-1===o?u.concat([l]):u.filter(e=>e!==l),n.find(e=>e.key===l));o?o.result=i:n.push({key:l,result:i}),k(t,e)}else E.remoteValueList=[{key:l,result:i}],k(t,l),g()},Q=e=>{var t=E["visiblePanel"];y.value||t&&(t=V.value,((0,_dom.getEventTargetNode)(e,t).flag?W:g)())},ee=e=>{var t,l,i=E["visiblePanel"];y.value||(t=h.value,l=V.value,E.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,i&&!E.isActivated&&g())},te=l=>{var e=m["clearable"],{visiblePanel:t,currentValue:i,currentOption:o}=E;if(!y.value){var u=_ui.globalEvents.hasKey(l,_ui.GLOBAL_EVENT_KEYS.TAB),n=_ui.globalEvents.hasKey(l,_ui.GLOBAL_EVENT_KEYS.ENTER),a=_ui.globalEvents.hasKey(l,_ui.GLOBAL_EVENT_KEYS.ESCAPE),s=_ui.globalEvents.hasKey(l,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),r=_ui.globalEvents.hasKey(l,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),v=_ui.globalEvents.hasKey(l,_ui.GLOBAL_EVENT_KEYS.DELETE),p=_ui.globalEvents.hasKey(l,_ui.GLOBAL_EVENT_KEYS.SPACEBAR);if(u&&(E.isActivated=!1),t)if(a||u)g();else if(n)l.preventDefault(),l.stopPropagation(),J(l,i,o);else if(s||r){l.preventDefault();let{firstOption:e,offsetOption:t}=((t,l)=>{var{visibleOptionList:i,visibleGroupList:o}=E,e=I.value,u=S.value,n=P.value;let a,s,r,v;if(e)for(let e=0;e<o.length;e++){var p=o[e],c=p[n],d=p.disabled;if(c)for(let e=0;e<c.length;e++){var f=c[e],_=isOptionVisible(f),g=d||f.disabled;if(a||g||(a=f),v&&_&&!g&&(r=f,!l))return{offsetOption:r};if(t===f[u]){if(v=f,l)return{offsetOption:s}}else _&&!g&&(s=f)}}else for(let e=0;e<i.length;e++){var h=i[e],b=h.disabled;if(a||b||(a=h),v&&!b&&(r=h,!l))return{offsetOption:r};if(t===h[u]){if(v=h,l)return{offsetOption:s}}else b||(s=h)}return{firstOption:a}})(i,s);t||(t=>{var{visibleOptionList:e,visibleGroupList:l}=E,i=I.value;const o=S.value;if(i)for(let e=0;e<l.length;e++){var u=l[e];if(u.options)for(let e=0;e<u.options.length;e++){var n=u.options[e];if(t===n[o])return n}}return e.find(e=>t===e[o])})(i)||(t=e),G(t),Y(t,r)}else p&&l.preventDefault();else(s||r||n||p)&&E.isActivated&&(l.preventDefault(),_());E.isActivated&&v&&e&&Z(l,null)}},le=()=>{g()},ie=e=>{y.value||E.visiblePanel||(E.triggerFocusPanel=!0,_(),setTimeout(()=>{E.triggerFocusPanel=!1},150)),n.dispatchEvent("focus",{},e)},oe=e=>{re(e),n.dispatchEvent("click",{},e)},ue=e=>{E.isActivated=!1,n.dispatchEvent("blur",{},e)},ne=e=>{E.searchValue=e},ae=()=>{E.isActivated=!0},se=_xeUtils.default.debounce(function(){var{remote:e,remoteMethod:t}=m,l=E["searchValue"];e&&t?(E.searchLoading=!0,Promise.resolve(t({searchValue:l})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{E.searchLoading=!1,d()})):d()},350,{trailing:!0}),re=e=>{e=e.$event;e.preventDefault(),E.triggerFocusPanel?E.triggerFocusPanel=!1:(E.visiblePanel?g:_)()},ve=(e,v)=>{const{optionKey:p,modelValue:c}=m,d=E["currentValue"];var t=C.value;const f=r.value,_=S.value,g=I.value,h=t["useKey"],b=x.option;return e.map((t,e)=>{var{slots:l,className:i}=t;const o=t[_];var u=_xeUtils.default.isArray(c)?-1<c.indexOf(o):c===o,n=!g||isOptionVisible(t);r=u,s=v;const a=!!t.disabled||!(!s||!s.disabled)||!(!R.value||r);var s=U(t),r=l?l.default:null,l={option:t,group:null,$select:T};return n?(0,_vue.h)("div",{key:h||p?s:e,class:["vxe-select-option",i?_xeUtils.default.isFunction(i)?i(l):i:"",{"is--disabled":a,"is--selected":u,"is--hover":d===o}],optid:s,onMousedown:e=>{0===e.button&&e.stopPropagation()},onClick:e=>{a||J(e,o,t)},onMouseenter:()=>{a||G(t)}},b?N(b,l):r?N(r,l):(0,_utils.getFuncText)(t[f])):(0,_vue.createCommentVNode)()})},pe=()=>{const a=m["optionKey"];var e=E["visibleGroupList"],t=C.value;const s=c.value,r=P.value,v=t["useKey"],p=x.option;return e.map((e,t)=>{var{slots:l,className:i}=e,o=U(e),u=e.disabled,l=l?l.default:null,n={option:e,group:e,$select:T};return(0,_vue.h)("div",{key:v||a?o:t,class:["vxe-optgroup",i?_xeUtils.default.isFunction(i)?i(n):i:"",{"is--disabled":u}],optid:o},[(0,_vue.h)("div",{class:"vxe-optgroup--title"},p?N(p,n):l?N(l,n):(0,_utils.getFuncText)(e[s])),(0,_vue.h)("div",{class:"vxe-optgroup--wrapper"},ve(e[r]||[],e))])})};n={dispatchEvent(e,t,l){i(e,(0,_ui.createEvent)(l,{$select:T},t))},isPanelVisible(){return E.visiblePanel},togglePanel(){return(E.visiblePanel?g:_)(),(0,_vue.nextTick)()},hidePanel(){return E.visiblePanel&&g(),(0,_vue.nextTick)()},showPanel(){return E.visiblePanel||_(),(0,_vue.nextTick)()},refreshOption:d,focus(){var e=b.value;return E.isActivated=!0,e.blur(),(0,_vue.nextTick)()},blur(){return b.value.blur(),(E.isActivated=!1,_vue.nextTick)()}},Object.assign(T,n);return T.renderVN=()=>{var{className:e,popupClassName:t,loading:l,filterable:i}=m,{initialized:o,isActivated:u,visiblePanel:n}=E,a=D.value,s=y.value,r=M.value,v=A.value,p=j.value,c=z.value,d=x.default,f=x.header,_=x.footer;const g=x.prefix;return p?(0,_vue.h)("div",{ref:h,class:["vxe-select--readonly",e]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},d?d({}):[]),(0,_vue.h)("span",{class:"vxe-select-label"},r)]):(0,_vue.h)("div",{ref:h,class:["vxe-select",e?_xeUtils.default.isFunction(e)?e({$select:T}):e:"",{["size--"+a]:a,"is--visible":n,"is--disabled":s,"is--filter":i,"is--loading":l,"is--active":u}]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},d?d({}):[]),(0,_vue.h)(_input.default,{ref:b,clearable:m.clearable,placeholder:c,readonly:!0,disabled:s,type:"text",prefixIcon:m.prefixIcon,suffixIcon:l?(0,_ui.getIcon)().SELECT_LOADED:n?(0,_ui.getIcon)().SELECT_OPEN:(0,_ui.getIcon)().SELECT_CLOSE,modelValue:r,onClear:X,onClick:oe,onFocus:ie,onBlur:ue,onSuffixClick:re},g?{prefix:()=>g({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!v||!o},[(0,_vue.h)("div",{ref:V,class:["vxe-table--ignore-clear vxe-select--panel",t?_xeUtils.default.isFunction(t)?t({$select:T}):t:"",{["size--"+a]:a,"is--transfer":v,"ani--leave":!l&&E.isAniVisible,"ani--enter":!l&&n}],placement:E.panelPlacement,style:E.panelStyle},o?[i?(0,_vue.h)("div",{class:"vxe-select--panel-search"},[(0,_vue.h)(_input.default,{ref:O,class:"vxe-select-search--input",modelValue:E.searchValue,clearable:!0,placeholder:(0,_ui.getI18n)("vxe.select.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":ne,onFocus:ae,onChange:se,onSearch:se})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-select--panel-wrapper"},[f?(0,_vue.h)("div",{class:"vxe-select--panel-header"},f({})):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-select--panel-body"},[(0,_vue.h)("div",{ref:L,class:"vxe-select-option--wrapper"},(()=>{var{visibleGroupList:e,visibleOptionList:t,searchLoading:l}=E,i=I.value;if(l)return[(0,_vue.h)("div",{class:"vxe-select--search-loading"},[(0,_vue.h)("i",{class:["vxe-select--search-icon",(0,_ui.getIcon)().SELECT_LOADED]}),(0,_vue.h)("span",{class:"vxe-select--search-text"},(0,_ui.getI18n)("vxe.select.loadingText"))])];if(i){if(e.length)return pe()}else if(t.length)return ve(t);return[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},m.emptyText||(0,_ui.getI18n)("vxe.select.emptyText"))]})())]),_?(0,_vue.h)("div",{class:"vxe-select--panel-footer"},_({})):(0,_vue.createCommentVNode)()])]:[])])])},(0,_vue.watch)(()=>E.staticOptions,e=>{e.some(e=>e.options&&e.options.length)?(E.fullOptionList=[],E.fullGroupList=e):(E.fullGroupList=[],E.fullOptionList=e||[]),f()}),(0,_vue.watch)(()=>m.options,e=>{E.fullGroupList=[],E.fullOptionList=e||[],f()}),(0,_vue.watch)(()=>m.optionGroups,e=>{E.fullOptionList=[],E.fullGroupList=e||[],f()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var{options:e,optionGroups:t}=m;t?E.fullGroupList=t:e&&(E.fullOptionList=e),f()}),_ui.globalEvents.on(T,"mousewheel",Q),_ui.globalEvents.on(T,"mousedown",ee),_ui.globalEvents.on(T,"keydown",te),_ui.globalEvents.on(T,"blur",le)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(T,"mousewheel"),_ui.globalEvents.off(T,"mousedown"),_ui.globalEvents.off(T,"keydown"),_ui.globalEvents.off(T,"blur")}),(0,_vue.provide)("$xeSelect",T),T},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_input=_interopRequireDefault(require("../../input/src/input")),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeSelect",props:{modelValue:[String,Number,Boolean,Array],clearable:Boolean,placeholder:String,readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,multiCharOverflow:{type:[Number,String],default:()=>(0,_ui.getConfig)().select.multiCharOverflow},prefixIcon:String,placement:String,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],max:{type:[String,Number],default:null},size:{type:String,default:()=>(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size},filterable:Boolean,filterMethod:Function,remote:Boolean,remoteMethod:Function,emptyText:String,transfer:{type:Boolean,default:null},optionId:{type:String,default:()=>(0,_ui.getConfig)().select.optionId},optionKey:Boolean},emits:["update:modelValue","change","clear","blur","focus","click"],setup(m,e){const{slots:x,emit:i}=e,w=(0,_vue.inject)("$xeModal",null),F=(0,_vue.inject)("$xeDrawer",null),B=(0,_vue.inject)("$xeTable",null),l=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var K=_xeUtils.default.uniqueId();const D=(0,_ui.useSize)(m)["computeSize"],E=(0,_vue.reactive)({initialized:!1,staticOptions:[],fullGroupList:[],fullOptionList:[],visibleGroupList:[],visibleOptionList:[],remoteValueList:[],panelIndex:0,panelStyle:{},panelPlacement:null,currentOption:null,currentValue:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,searchValue:"",searchLoading:!1}),u={hpTimeout:void 0},h=(0,_vue.ref)(),b=(0,_vue.ref)(),O=(0,_vue.ref)(),L=(0,_vue.ref)(),V=(0,_vue.ref)(),q={refElem:h},T={xID:K,props:m,context:e,reactData:E,internalData:u,getRefMaps:()=>q};let n={};const j=(0,_vue.computed)(()=>{var e=m["readonly"];return null===e?!!l&&l.props.readonly:e}),y=(0,_vue.computed)(()=>{var e=m["disabled"];return null===e?!!l&&l.props.disabled:e}),A=(0,_vue.computed)(()=>{var e=m["transfer"];if(null===e){var t=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(B||w||F||l)return!0}return e}),z=(0,_vue.computed)(()=>{var e=m["placeholder"];return(e=e||(0,_ui.getConfig)().select.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),t=(0,_vue.computed)(()=>Object.assign({},m.optionProps)),s=(0,_vue.computed)(()=>Object.assign({},m.optionGroupProps)),r=(0,_vue.computed)(()=>{return t.value.label||"label"}),S=(0,_vue.computed)(()=>{return t.value.value||"value"}),c=(0,_vue.computed)(()=>{return s.value.label||"label"}),P=(0,_vue.computed)(()=>{return s.value.options||"options"}),R=(0,_vue.computed)(()=>{var{modelValue:e,multiple:t,max:l}=m;return!(!t||!l)&&(_xeUtils.default.isArray(e)?e.length:_xeUtils.default.eqNull(e)?0:1)>=_xeUtils.default.toNumber(l)}),C=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.optionConfig,m.optionConfig)),I=(0,_vue.computed)(()=>E.fullGroupList.some(e=>e.options&&e.options.length)),$=(0,_vue.computed)(()=>_xeUtils.default.toNumber(m.multiCharOverflow)),M=(0,_vue.computed)(()=>{var{modelValue:e,multiple:t,remote:l}=m;const i=$.value;return e&&t?(t=_xeUtils.default.isArray(e)?e:[e],(l?t.map(e=>v(e)):t.map(e=>{e=p(e);return 0<i&&e.length>i?e.substring(0,i)+"...":e})).join(", ")):(l?v:p)(e)}),N=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=x[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],a=t=>{var{fullOptionList:e,fullGroupList:l}=E,i=I.value;const o=S.value;if(i)for(let e=0;e<l.length;e++){var u=l[e];if(u.options)for(let e=0;e<u.options.length;e++){var n=u.options[e];if(t===n[o])return n}}return e.find(e=>t===e[o])},v=t=>{var e=E["remoteValueList"],l=r.value,e=e.find(e=>t===e.key),e=e?e.result:null;return _xeUtils.default.toValueString(e?e[l]:t)},p=e=>{var t=r.value,l=a(e);return _xeUtils.default.toValueString(l?l[t]:e)},H=()=>{return C.value.keyField||m.optionId||"_X_OPTION_KEY"},U=e=>{e=e[H()];return e?encodeURIComponent(e):""},d=()=>{const{filterable:e,filterMethod:t}=m;var{fullOptionList:l,fullGroupList:i,searchValue:o}=E,u=I.value;const n=c.value,s=r.value,a=(""+(o||"")).toLowerCase();return u?e&&t?E.visibleGroupList=i.filter(e=>isOptionVisible(e)&&t({group:e,option:null,searchValue:a})):E.visibleGroupList=e?i.filter(e=>isOptionVisible(e)&&(!a||-1<(""+e[n]).toLowerCase().indexOf(a))):i.filter(isOptionVisible):e&&t?E.visibleOptionList=l.filter(e=>isOptionVisible(e)&&t({group:null,option:e,searchValue:a})):E.visibleOptionList=e?l.filter(e=>isOptionVisible(e)&&(!a||-1<(""+e[s]).toLowerCase().indexOf(a))):l.filter(isOptionVisible),(0,_vue.nextTick)()},f=()=>{var{fullOptionList:e,fullGroupList:t}=E;const l=P.value,i=H(),o=e=>{U(e)||(e[i]=getOptUniqueId())};t.length?t.forEach(e=>{o(e),e[l]&&e[l].forEach(o)}):e.length&&e.forEach(o),d()},G=e=>{var t=S.value;e&&(E.currentOption=e,E.currentValue=e[t])},Y=(i,o)=>(0,_vue.nextTick)().then(()=>{var e,t,l;i&&(e=L.value,t=V.value.querySelector(`[optid='${U(i)}']`),e)&&t&&(l=e.offsetHeight,o?t.offsetTop+t.offsetHeight-e.scrollTop>l&&(e.scrollTop=t.offsetTop+t.offsetHeight-l):(t.offsetTop+5<e.scrollTop||t.offsetTop+5>e.scrollTop+e.clientHeight)&&(e.scrollTop=t.offsetTop-5))}),W=()=>(0,_vue.nextTick)().then(()=>{var i=m["placement"],o=E["panelIndex"],u=h.value,n=V.value,e=A.value;if(n&&u){var s=u.offsetHeight,a=u.offsetWidth,r=n.offsetHeight,n=n.offsetWidth,o={zIndex:o},{boundingTop:u,boundingLeft:v,visibleHeight:p,visibleWidth:c}=(0,_dom.getAbsolutePos)(u);let l="bottom";if(e){let e=v,t=u+s;"top"===i?(l="top",t=u-r):i||(t+r+5>p&&(l="top",t=u-r),t<5&&(l="bottom",t=u+s)),e+n+5>c&&(e-=e+n+5-c),e<5&&(e=5),Object.assign(o,{left:e+"px",top:t+"px",minWidth:a+"px"})}else"top"===i?(l="top",o.bottom=s+"px"):i||p<u+s+r&&5<u-s-r&&(l="top",o.bottom=s+"px");return E.panelStyle=o,E.panelPlacement=l,(0,_vue.nextTick)()}}),_=()=>{var{loading:e,filterable:t}=m,l=u["hpTimeout"],i=y.value;e||i||(l&&(clearTimeout(l),u.hpTimeout=void 0),E.initialized||(E.initialized=!0),E.isActivated=!0,E.isAniVisible=!0,t&&d(),setTimeout(()=>{var e=m["modelValue"],e=a(_xeUtils.default.isArray(e)?e[0]:e);E.visiblePanel=!0,e&&(G(e),Y(e)),m.filterable&&(0,_vue.nextTick)(()=>{var e=O.value;e&&e.focus()})},10),E.panelIndex<(0,_utils.getLastZIndex)()&&(E.panelIndex=(0,_utils.nextZIndex)()),W())},g=()=>{E.searchValue="",E.searchLoading=!1,E.visiblePanel=!1,u.hpTimeout=window.setTimeout(()=>{E.isAniVisible=!1},350)},k=(e,t)=>{i("update:modelValue",t),t!==m.modelValue&&(n.dispatchEvent("change",{value:t},e),l)&&o&&l.triggerItemEvent(e,o.itemConfig.field,t)},Z=(e,t)=>{E.remoteValueList=[],k(e,t),n.dispatchEvent("clear",{value:t},e)},X=(e,t)=>{Z(t,null),g()},J=(t,l,i)=>{var{modelValue:o,multiple:u}=m,n=E["remoteValueList"];if(u){let e=[];u=_xeUtils.default.eqNull(o)?[]:_xeUtils.default.isArray(o)?o:[o],o=_xeUtils.default.findIndexOf(u,e=>e===l),o=(e=-1===o?u.concat([l]):u.filter(e=>e!==l),n.find(e=>e.key===l));o?o.result=i:n.push({key:l,result:i}),k(t,e)}else E.remoteValueList=[{key:l,result:i}],k(t,l),g()},Q=e=>{var t=E["visiblePanel"];y.value||t&&(t=V.value,((0,_dom.getEventTargetNode)(e,t).flag?W:g)())},ee=e=>{var t,l,i=E["visiblePanel"];y.value||(t=h.value,l=V.value,E.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,i&&!E.isActivated&&g())},te=l=>{var e=m["clearable"],{visiblePanel:t,currentValue:i,currentOption:o}=E;if(!y.value){var u=_ui.globalEvents.hasKey(l,_ui.GLOBAL_EVENT_KEYS.TAB),n=_ui.globalEvents.hasKey(l,_ui.GLOBAL_EVENT_KEYS.ENTER),s=_ui.globalEvents.hasKey(l,_ui.GLOBAL_EVENT_KEYS.ESCAPE),a=_ui.globalEvents.hasKey(l,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),r=_ui.globalEvents.hasKey(l,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),v=_ui.globalEvents.hasKey(l,_ui.GLOBAL_EVENT_KEYS.DELETE),p=_ui.globalEvents.hasKey(l,_ui.GLOBAL_EVENT_KEYS.SPACEBAR);if(u&&(E.isActivated=!1),t)if(s||u)g();else if(n)l.preventDefault(),l.stopPropagation(),J(l,i,o);else if(a||r){l.preventDefault();let{firstOption:e,offsetOption:t}=((t,l)=>{var{visibleOptionList:i,visibleGroupList:o}=E,e=I.value,u=S.value,n=P.value;let s,a,r,v;if(e)for(let e=0;e<o.length;e++){var p=o[e],c=p[n],d=p.disabled;if(c)for(let e=0;e<c.length;e++){var f=c[e],_=isOptionVisible(f),g=d||f.disabled;if(s||g||(s=f),v&&_&&!g&&(r=f,!l))return{offsetOption:r};if(t===f[u]){if(v=f,l)return{offsetOption:a}}else _&&!g&&(a=f)}}else for(let e=0;e<i.length;e++){var h=i[e],b=h.disabled;if(s||b||(s=h),v&&!b&&(r=h,!l))return{offsetOption:r};if(t===h[u]){if(v=h,l)return{offsetOption:a}}else b||(a=h)}return{firstOption:s}})(i,a);t||(t=>{var{visibleOptionList:e,visibleGroupList:l}=E,i=I.value;const o=S.value;if(i)for(let e=0;e<l.length;e++){var u=l[e];if(u.options)for(let e=0;e<u.options.length;e++){var n=u.options[e];if(t===n[o])return n}}return e.find(e=>t===e[o])})(i)||(t=e),G(t),Y(t,r)}else p&&l.preventDefault();else(a||r||n||p)&&E.isActivated&&(l.preventDefault(),_());E.isActivated&&v&&e&&Z(l,null)}},le=()=>{g()},ie=e=>{y.value||E.visiblePanel||(E.triggerFocusPanel=!0,_(),setTimeout(()=>{E.triggerFocusPanel=!1},150)),n.dispatchEvent("focus",{},e)},oe=e=>{re(e),n.dispatchEvent("click",{},e)},ue=e=>{E.isActivated=!1,n.dispatchEvent("blur",{},e)},ne=e=>{E.searchValue=e},se=()=>{E.isActivated=!0};const ae=_xeUtils.default.debounce(()=>{var{remote:e,remoteMethod:t}=m,l=E["searchValue"];e&&t?(E.searchLoading=!0,Promise.resolve(t({searchValue:l})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{E.searchLoading=!1,d()})):d()},350,{trailing:!0}),re=e=>{e=e.$event;e.preventDefault(),E.triggerFocusPanel?E.triggerFocusPanel=!1:(E.visiblePanel?g:_)()},ve=(e,v)=>{const{optionKey:p,modelValue:c}=m,d=E["currentValue"];var t=C.value;const f=r.value,_=S.value,g=I.value,h=t["useKey"],b=x.option;return e.map((t,e)=>{var{slots:l,className:i}=t;const o=t[_];var u=_xeUtils.default.isArray(c)?-1<c.indexOf(o):c===o,n=!g||isOptionVisible(t);r=u,a=v;const s=!!t.disabled||!(!a||!a.disabled)||!(!R.value||r);var a=U(t),r=l?l.default:null,l={option:t,group:null,$select:T};return n?(0,_vue.h)("div",{key:h||p?a:e,class:["vxe-select-option",i?_xeUtils.default.isFunction(i)?i(l):i:"",{"is--disabled":s,"is--selected":u,"is--hover":d===o}],optid:a,onMousedown:e=>{0===e.button&&e.stopPropagation()},onClick:e=>{s||J(e,o,t)},onMouseenter:()=>{s||G(t)}},b?N(b,l):r?N(r,l):(0,_utils.getFuncText)(t[f])):(0,_vue.createCommentVNode)()})},pe=()=>{const s=m["optionKey"];var e=E["visibleGroupList"],t=C.value;const a=c.value,r=P.value,v=t["useKey"],p=x.option;return e.map((e,t)=>{var{slots:l,className:i}=e,o=U(e),u=e.disabled,l=l?l.default:null,n={option:e,group:e,$select:T};return(0,_vue.h)("div",{key:v||s?o:t,class:["vxe-optgroup",i?_xeUtils.default.isFunction(i)?i(n):i:"",{"is--disabled":u}],optid:o},[(0,_vue.h)("div",{class:"vxe-optgroup--title"},p?N(p,n):l?N(l,n):(0,_utils.getFuncText)(e[a])),(0,_vue.h)("div",{class:"vxe-optgroup--wrapper"},ve(e[r]||[],e))])})};n={dispatchEvent(e,t,l){i(e,(0,_ui.createEvent)(l,{$select:T},t))},isPanelVisible(){return E.visiblePanel},togglePanel(){return(E.visiblePanel?g:_)(),(0,_vue.nextTick)()},hidePanel(){return E.visiblePanel&&g(),(0,_vue.nextTick)()},showPanel(){return E.visiblePanel||_(),(0,_vue.nextTick)()},refreshOption:d,focus(){var e=b.value;return E.isActivated=!0,e.blur(),(0,_vue.nextTick)()},blur(){return b.value.blur(),(E.isActivated=!1,_vue.nextTick)()}},Object.assign(T,n);return(0,_vue.watch)(()=>E.staticOptions,e=>{e.some(e=>e.options&&e.options.length)?(E.fullOptionList=[],E.fullGroupList=e):(E.fullGroupList=[],E.fullOptionList=e||[]),f()}),(0,_vue.watch)(()=>m.options,e=>{E.fullGroupList=[],E.fullOptionList=e||[],f()}),(0,_vue.watch)(()=>m.optionGroups,e=>{E.fullOptionList=[],E.fullGroupList=e||[],f()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var{options:e,optionGroups:t}=m;t?E.fullGroupList=t:e&&(E.fullOptionList=e),f()}),_ui.globalEvents.on(T,"mousewheel",Q),_ui.globalEvents.on(T,"mousedown",ee),_ui.globalEvents.on(T,"keydown",te),_ui.globalEvents.on(T,"blur",le)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(T,"mousewheel"),_ui.globalEvents.off(T,"mousedown"),_ui.globalEvents.off(T,"keydown"),_ui.globalEvents.off(T,"blur")}),(0,_vue.provide)("$xeSelect",T),T.renderVN=()=>{var{className:e,popupClassName:t,loading:l,filterable:i}=m,{initialized:o,isActivated:u,visiblePanel:n}=E,s=D.value,a=y.value,r=M.value,v=A.value,p=j.value,c=z.value,d=x.default,f=x.header,_=x.footer;const g=x.prefix;return p?(0,_vue.h)("div",{ref:h,class:["vxe-select--readonly",e]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},d?d({}):[]),(0,_vue.h)("span",{class:"vxe-select-label"},[r])]):(0,_vue.h)("div",{ref:h,class:["vxe-select",e?_xeUtils.default.isFunction(e)?e({$select:T}):e:"",{["size--"+s]:s,"is--visible":n,"is--disabled":a,"is--filter":i,"is--loading":l,"is--active":u}]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},d?d({}):[]),(0,_vue.h)(_input.default,{ref:b,clearable:m.clearable,placeholder:c,readonly:!0,disabled:a,type:"text",prefixIcon:m.prefixIcon,suffixIcon:l?(0,_ui.getIcon)().SELECT_LOADED:n?(0,_ui.getIcon)().SELECT_OPEN:(0,_ui.getIcon)().SELECT_CLOSE,modelValue:r,onClear:X,onClick:oe,onFocus:ie,onBlur:ue,onSuffixClick:re},g?{prefix:()=>g({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!v||!o},[(0,_vue.h)("div",{ref:V,class:["vxe-table--ignore-clear vxe-select--panel",t?_xeUtils.default.isFunction(t)?t({$select:T}):t:"",{["size--"+s]:s,"is--transfer":v,"ani--leave":!l&&E.isAniVisible,"ani--enter":!l&&n}],placement:E.panelPlacement,style:E.panelStyle},o?[i?(0,_vue.h)("div",{class:"vxe-select--panel-search"},[(0,_vue.h)(_input.default,{ref:O,class:"vxe-select-search--input",modelValue:E.searchValue,clearable:!0,placeholder:(0,_ui.getI18n)("vxe.select.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":ne,onFocus:se,onChange:ae,onSearch:ae})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-select--panel-wrapper"},[f?(0,_vue.h)("div",{class:"vxe-select--panel-header"},f({})):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-select--panel-body"},[(0,_vue.h)("div",{ref:L,class:"vxe-select-option--wrapper"},(()=>{var{visibleGroupList:e,visibleOptionList:t,searchLoading:l}=E,i=I.value;if(l)return[(0,_vue.h)("div",{class:"vxe-select--search-loading"},[(0,_vue.h)("i",{class:["vxe-select--search-icon",(0,_ui.getIcon)().SELECT_LOADED]}),(0,_vue.h)("span",{class:"vxe-select--search-text"},(0,_ui.getI18n)("vxe.select.loadingText"))])];if(i){if(e.length)return pe()}else if(t.length)return ve(t);return[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},m.emptyText||(0,_ui.getI18n)("vxe.select.emptyText"))]})())]),_?(0,_vue.h)("div",{class:"vxe-select--panel-footer"},_({})):(0,_vue.createCommentVNode)()])]:[])])])},T},render(){return this.renderVN()}});
@@ -25,7 +25,7 @@ function watchOption(props, option) {
25
25
  });
26
26
  });
27
27
  }
28
- function assembleOption($xeSelect, el, option, optGroup) {
28
+ function assembleOption($xeSelect, el, option, $xeOptgroup) {
29
29
  const {
30
30
  reactData
31
31
  } = $xeSelect;
@@ -33,7 +33,7 @@ function assembleOption($xeSelect, el, option, optGroup) {
33
33
  staticOptions
34
34
  } = reactData;
35
35
  const parentElem = el.parentNode;
36
- const parentOption = optGroup ? optGroup.option : null;
36
+ const parentOption = $xeOptgroup ? $xeOptgroup.optionConfig : null;
37
37
  const parentCols = parentOption ? parentOption.options : staticOptions;
38
38
  if (parentElem && parentCols) {
39
39
  parentCols.splice(_xeUtils.default.arrayIndexOf(parentElem.children, el), 0, option);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleOption=assembleOption,exports.createOption=createOption,exports.destroyOption=destroyOption,exports.isOption=isOption,exports.watchOption=watchOption;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_optionInfo=require("./option-info");function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function isOption(t){return t instanceof _optionInfo.OptionInfo}function createOption(t,e){return isOption(e)?e:new _optionInfo.OptionInfo(t,e)}function watchOption(t,i){Object.keys(t).forEach(e=>{(0,_vue.watch)(()=>t[e],t=>{i.update(e,t)})})}function assembleOption(t,e,i,o){var t=t["reactData"],n=t["staticOptions"],s=e.parentNode,o=o?o.option:null,o=o?o.options:n;s&&o&&(o.splice(_xeUtils.default.arrayIndexOf(s.children,e),0,i),t.staticOptions=n.slice(0))}function destroyOption(t,e){var t=t["reactData"],i=t["staticOptions"],o=_xeUtils.default.findTree(i,t=>t.id===e.id,{children:"options"});o&&o.items.splice(o.index,1),t.staticOptions=i.slice(0)}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleOption=assembleOption,exports.createOption=createOption,exports.destroyOption=destroyOption,exports.isOption=isOption,exports.watchOption=watchOption;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_optionInfo=require("./option-info");function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function isOption(t){return t instanceof _optionInfo.OptionInfo}function createOption(t,e){return isOption(e)?e:new _optionInfo.OptionInfo(t,e)}function watchOption(t,i){Object.keys(t).forEach(e=>{(0,_vue.watch)(()=>t[e],t=>{i.update(e,t)})})}function assembleOption(t,e,i,o){var t=t["reactData"],n=t["staticOptions"],s=e.parentNode,o=o?o.optionConfig:null,o=o?o.options:n;s&&o&&(o.splice(_xeUtils.default.arrayIndexOf(s.children,e),0,i),t.staticOptions=n.slice(0))}function destroyOption(t,e){var t=t["reactData"],i=t["staticOptions"],o=_xeUtils.default.findTree(i,t=>t.id===e.id,{children:"options"});o&&o.items.splice(o.index,1),t.staticOptions=i.slice(0)}