vxe-pc-ui 4.4.1 → 4.4.2

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 (80) hide show
  1. package/es/color-picker/src/color-picker.js +2 -2
  2. package/es/date-picker/src/date-picker.js +1 -1
  3. package/es/form/src/form.js +1 -1
  4. package/es/icon/style.css +1 -1
  5. package/es/icon-picker/src/icon-picker.js +1 -1
  6. package/es/input/src/input.js +4 -4
  7. package/es/number-input/src/number-input.js +3 -3
  8. package/es/pulldown/src/pulldown.js +1 -1
  9. package/es/select/src/select.js +57 -16
  10. package/es/select/style.css +17 -0
  11. package/es/select/style.min.css +1 -1
  12. package/es/style.css +1 -1
  13. package/es/style.min.css +1 -1
  14. package/es/table-select/src/table-select.js +1 -1
  15. package/es/tree-select/src/tree-select.js +1 -1
  16. package/es/ui/index.js +2 -1
  17. package/es/ui/src/log.js +1 -1
  18. package/es/vxe-select/style.css +17 -0
  19. package/es/vxe-select/style.min.css +1 -1
  20. package/lib/color-picker/src/color-picker.js +2 -2
  21. package/lib/color-picker/src/color-picker.min.js +1 -1
  22. package/lib/date-picker/src/date-picker.js +1 -1
  23. package/lib/date-picker/src/date-picker.min.js +1 -1
  24. package/lib/form/src/form.js +1 -1
  25. package/lib/form/src/form.min.js +1 -1
  26. package/lib/icon/style/style.css +1 -1
  27. package/lib/icon/style/style.min.css +1 -1
  28. package/lib/icon-picker/src/icon-picker.js +1 -1
  29. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  30. package/lib/index.umd.js +69 -28
  31. package/lib/index.umd.min.js +1 -1
  32. package/lib/input/src/input.js +4 -4
  33. package/lib/input/src/input.min.js +1 -1
  34. package/lib/number-input/src/number-input.js +3 -3
  35. package/lib/number-input/src/number-input.min.js +1 -1
  36. package/lib/pulldown/src/pulldown.js +1 -1
  37. package/lib/pulldown/src/pulldown.min.js +1 -1
  38. package/lib/select/src/select.js +51 -11
  39. package/lib/select/src/select.min.js +1 -1
  40. package/lib/select/style/style.css +17 -0
  41. package/lib/select/style/style.min.css +1 -1
  42. package/lib/style.css +1 -1
  43. package/lib/style.min.css +1 -1
  44. package/lib/table-select/src/table-select.js +1 -1
  45. package/lib/table-select/src/table-select.min.js +1 -1
  46. package/lib/tree-select/src/tree-select.js +1 -1
  47. package/lib/tree-select/src/tree-select.min.js +1 -1
  48. package/lib/ui/index.js +2 -1
  49. package/lib/ui/index.min.js +1 -1
  50. package/lib/ui/src/log.js +1 -1
  51. package/lib/ui/src/log.min.js +1 -1
  52. package/lib/vxe-select/style/style.css +17 -0
  53. package/lib/vxe-select/style/style.min.css +1 -1
  54. package/package.json +1 -1
  55. package/packages/color-picker/src/color-picker.ts +3 -3
  56. package/packages/date-picker/src/date-picker.ts +1 -1
  57. package/packages/form/src/form.ts +1 -1
  58. package/packages/icon-picker/src/icon-picker.ts +1 -1
  59. package/packages/input/src/input.ts +4 -4
  60. package/packages/number-input/src/number-input.ts +3 -3
  61. package/packages/pulldown/src/pulldown.ts +1 -1
  62. package/packages/select/src/select.ts +57 -16
  63. package/packages/table-select/src/table-select.ts +1 -1
  64. package/packages/tree-select/src/tree-select.ts +1 -1
  65. package/packages/ui/index.ts +1 -0
  66. package/styles/components/select.scss +19 -0
  67. package/types/components/select.d.ts +3 -0
  68. package/types/ui/global-icon.d.ts +1 -0
  69. /package/es/icon/{iconfont.1741079794679.ttf → iconfont.1741176270611.ttf} +0 -0
  70. /package/es/icon/{iconfont.1741079794679.woff → iconfont.1741176270611.woff} +0 -0
  71. /package/es/icon/{iconfont.1741079794679.woff2 → iconfont.1741176270611.woff2} +0 -0
  72. /package/es/{iconfont.1741079794679.ttf → iconfont.1741176270611.ttf} +0 -0
  73. /package/es/{iconfont.1741079794679.woff → iconfont.1741176270611.woff} +0 -0
  74. /package/es/{iconfont.1741079794679.woff2 → iconfont.1741176270611.woff2} +0 -0
  75. /package/lib/icon/style/{iconfont.1741079794679.ttf → iconfont.1741176270611.ttf} +0 -0
  76. /package/lib/icon/style/{iconfont.1741079794679.woff → iconfont.1741176270611.woff} +0 -0
  77. /package/lib/icon/style/{iconfont.1741079794679.woff2 → iconfont.1741176270611.woff2} +0 -0
  78. /package/lib/{iconfont.1741079794679.ttf → iconfont.1741176270611.ttf} +0 -0
  79. /package/lib/{iconfont.1741079794679.woff → iconfont.1741176270611.woff} +0 -0
  80. /package/lib/{iconfont.1741079794679.woff2 → iconfont.1741176270611.woff2} +0 -0
@@ -425,7 +425,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
425
425
  if (internalData.hpTimeout) {
426
426
  clearTimeout(internalData.hpTimeout);
427
427
  }
428
- internalData.hpTimeout = window.setTimeout(() => {
428
+ internalData.hpTimeout = setTimeout(() => {
429
429
  reactData.isAniVisible = false;
430
430
  internalData.hpTimeout = undefined;
431
431
  }, 350);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.getRowUniqueId=getRowUniqueId;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_input=_interopRequireDefault(require("../../input/src/input"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableSelect",props:{modelValue:[String,Number,Array],clearable:Boolean,placeholder:{type:String,default:()=>_xeUtils.default.eqNull((0,_ui.getConfig)().tableSelect.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().tableSelect.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,className:[String,Function],prefixIcon:String,placement:String,columns:Array,options:Array,optionProps:Object,size:{type:String,default:()=>(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size},popupConfig:Object,gridConfig:Object,transfer:{type:Boolean,default:null}},emits:["update:modelValue","change","clear","blur","focus","click"],setup(h,e){const{emit:a,slots:C}=e,T=_ui.VxeUI.getComponent("VxeGrid"),l=(0,_vue.inject)("$xeModal",null),i=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeTable",null),o=(0,_vue.inject)("$xeForm",null),n=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const E=(0,_ui.useSize)(h)["computeSize"],y=(0,_vue.ref)(),L=(0,_vue.ref)(),k=(0,_vue.ref)(),w=(0,_vue.ref)(),I=(0,_vue.ref)(),S=(0,_vue.reactive)({initialized:!1,tableColumns:[],fullOptionList:[],fullRowMaps:{},panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),r={},N={refElem:y},z=(0,_vue.computed)(()=>{var e=h["readonly"];return null===e?!!o&&o.props.readonly:e}),A=(0,_vue.computed)(()=>{var e=h["disabled"];return null===e?!!o&&o.props.disabled:e}),P=(0,_vue.computed)(()=>{var e=h["transfer"];if(null===e){var t=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||l||i||o)return!0}return e}),s=(0,_vue.computed)(()=>h.optionProps||{}),R=(0,_vue.computed)(()=>{var e=q.value;return Object.assign({},e.rowConfig,{isCurrent:!0})}),v=(0,_vue.computed)(()=>{return R.value.keyField||"_X_ROW_KEY"}),F=(0,_vue.computed)(()=>{return s.value.label||"label"}),d=(0,_vue.computed)(()=>{return s.value.value||"value"}),U=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tableSelect.popupConfig,h.popupConfig)),q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tableSelect.gridConfig,h.gridConfig,{data:void 0,columns:void 0})),$=(0,_vue.computed)(()=>{var e=h["modelValue"];const l=S["fullRowMaps"],i=F.value;return(_xeUtils.default.isArray(e)?e:[e]).map(e=>{var t=l[e];return t?t.item[i]:e}).join(", ")}),B=(0,_vue.computed)(()=>{var{height:e,width:t}=U.value,l={};return t&&(l.width=(0,_dom.toCssUnit)(t)),e&&(l.height=(0,_dom.toCssUnit)(e)),l}),M={},O={xID:t,props:h,context:e,reactData:S,getRefMaps:()=>N,getComputeMaps:()=>M},c=(e,t,l)=>{a(e,(0,_ui.createEvent)(l,{$tableSelect:O},t))};t={dispatchEvent:c};const D=e=>{const t=S["fullRowMaps"],l=[];return(_xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=t[e];e&&l.push(e.item)}),l},p=l=>{const i=h["multiple"];(0,_vue.nextTick)(()=>{var e,t=I.value;t&&(e=D(l)).length&&(i?t.setCheckboxRow(e,!0):t.setRadioRow(e[0]))})},_=e=>{var t=h["multiple"],l=[];l.push(t?{type:"checkbox",width:70}:{type:"radio",width:70}),S.tableColumns=l.concat(e||[])},g=()=>{var e=h["options"];const u=v.value,o=d.value;var t=q.value["treeConfig"];const n={},r={};t||_xeUtils.default.arrayEach(e||[],(e,t,l)=>{let i=(e=>{e=e[v.value];return e?encodeURIComponent(e):""})(e);i=i||getRowUniqueId(),r[i]&&(0,_log.errLog)("vxe.error.repeatKey",[u,i]),r[i]=!0;var a=e[o];n[a]&&(0,_log.errLog)("vxe.error.repeatKey",[o,a]),n[a]={item:e,index:t,items:l,parent:null,nodes:[]}}),S.fullOptionList=e||[],S.fullRowMaps=n,p(h.modelValue)},f=()=>(0,_vue.nextTick)().then(()=>{var i=h["placement"],a=S["panelIndex"],u=y.value,o=w.value,e=P.value;if(o&&u){var n=u.offsetHeight,r=u.offsetWidth,s=o.offsetHeight,o=o.offsetWidth,a={zIndex:a},{boundingTop:u,boundingLeft:v,visibleHeight:d,visibleWidth:c}=(0,_dom.getAbsolutePos)(u);let l="bottom";if(e){let e=v,t=u+n;"top"===i?(l="top",t=u-s):i||(t+s+5>d&&(l="top",t=u-s),t<5&&(l="bottom",t=u+n)),e+o+5>c&&(e-=e+o+5-c),e<5&&(e=5),Object.assign(a,{left:e+"px",top:t+"px",minWidth:r+"px"})}else"top"===i?(l="top",a.bottom=n+"px"):i||d<u+n+s&&5<u-n-s&&(l="top",a.bottom=n+"px");return S.panelStyle=a,S.panelPlacement=l,(0,_vue.nextTick)()}}),m=()=>{var e=h["loading"],t=A.value;e||t||(r.vpTimeout&&clearTimeout(r.vpTimeout),r.hpTimeout&&clearTimeout(r.hpTimeout),S.initialized||(S.initialized=!0),S.isActivated=!0,S.isAniVisible=!0,r.vpTimeout=setTimeout(()=>{S.visiblePanel=!0,p(h.modelValue),r.vpTimeout=void 0},10),S.panelIndex<(0,_utils.getLastZIndex)()&&(S.panelIndex=(0,_utils.nextZIndex)()),f())},b=()=>{S.visiblePanel=!1,r.vpTimeout&&clearTimeout(r.vpTimeout),r.hpTimeout&&clearTimeout(r.hpTimeout),r.hpTimeout=window.setTimeout(()=>{S.isAniVisible=!1,r.hpTimeout=void 0},350)},x=(e,t)=>{var l,i=S["fullRowMaps"];l=t,a("update:modelValue",l),t!==h.modelValue&&(l=i[t],c("change",{value:t,row:l?l.item:null},e),o)&&n&&o.triggerItemEvent(e,n.itemConfig.field,t)},W=(e,t)=>{x(e,t),c("clear",{value:t},e)},H=(e,t)=>{W(t,null),b()},K=e=>{var t=S["visiblePanel"];A.value||t&&(t=w.value,((0,_dom.getEventTargetNode)(e,t).flag?f:b)())},Z=e=>{var t,l,i=S["visiblePanel"];A.value||(t=y.value,l=w.value,S.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,i&&!S.isActivated&&b())},G=()=>{b()},X=e=>{A.value||S.visiblePanel||(S.triggerFocusPanel=!0,m(),setTimeout(()=>{S.triggerFocusPanel=!1},150)),c("focus",{},e)},Y=e=>{V(e),c("click",{},e)},J=e=>{S.isActivated=!1,c("blur",{},e)},V=e=>{e=e.$event;e.preventDefault(),S.triggerFocusPanel?S.triggerFocusPanel=!1:(S.visiblePanel?b:m)()},Q=e=>{var{$event:e,row:t}=e,t=t[d.value];x(e,t),b()},j=e=>{var{$grid:e,$event:t}=e;const l=d.value;e&&(e=e.getCheckboxRecords().map(e=>e[l]),x(t,e))},ee=e=>{j(e)};Object.assign(O,t,{});return(0,_vue.watch)(()=>h.options,()=>{g()}),(0,_vue.watch)(()=>h.columns,e=>{_(e||[])}),(0,_vue.watch)(()=>h.modelValue,e=>{p(e)}),_(h.columns||[]),g(),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(O,"mousewheel",K),_ui.globalEvents.on(O,"mousedown",Z),_ui.globalEvents.on(O,"blur",G)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(O,"mousewheel"),_ui.globalEvents.off(O,"mousedown"),_ui.globalEvents.off(O,"blur")}),"development"===process.env.NODE_ENV&&(0,_vue.nextTick)(()=>{T||(0,_log.errLog)("vxe.error.reqComp",["vxe-grid"])}),(0,_vue.provide)("$xeTableSelect",O),O.renderVN=()=>{var{className:e,options:t,loading:l}=h,{initialized:i,isActivated:a,isAniVisible:u,visiblePanel:o,tableColumns:n}=S,r=E.value,s=A.value,v=$.value,d=P.value,c=z.value,p=U.value["className"],_=q.value,g=R.value,f=B.value,m=C.header,b=C.footer;const x=C.prefix;return c?(0,_vue.h)("div",{ref:y,class:["vxe-table-select--readonly",e]},[(0,_vue.h)("span",{class:"vxe-table-select-label"},v)]):(0,_vue.h)("div",{ref:y,class:["vxe-table-select",e?_xeUtils.default.isFunction(e)?e({$tableSelect:O}):e:"",{["size--"+r]:r,"is--visible":o,"is--disabled":s,"is--loading":l,"is--active":a}]},[(0,_vue.h)(_input.default,{ref:L,clearable:h.clearable,placeholder:l?(0,_ui.getI18n)("vxe.select.loadingText"):h.placeholder,readonly:!0,disabled:s,type:"text",prefixIcon:h.prefixIcon,suffixIcon:l?(0,_ui.getIcon)().TABLE_SELECT_LOADED:o?(0,_ui.getIcon)().TABLE_SELECT_OPEN:(0,_ui.getIcon)().TABLE_SELECT_CLOSE,modelValue:l?"":v,onClear:H,onClick:Y,onFocus:X,onBlur:J,onSuffixClick:V},x?{prefix:()=>x({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!d||!i},[(0,_vue.h)("div",{ref:w,class:["vxe-table--ignore-clear vxe-table-select--panel",p?_xeUtils.default.isFunction(p)?p({$tableSelect:O}):p:"",{["size--"+r]:r,"is--transfer":d,"ani--leave":!l&&u,"ani--enter":!l&&o}],placement:S.panelPlacement,style:S.panelStyle},i?[(0,_vue.h)("div",{class:"vxe-table-select--panel-wrapper"},[m?(0,_vue.h)("div",{class:"vxe-table-select--panel-header"},m({})):(0,_ui.renderEmptyElement)(O),(0,_vue.h)("div",{class:"vxe-table-select--panel-body"},[(0,_vue.h)("div",{ref:k,class:"vxe-table-select-grid--wrapper",style:f},[T?(0,_vue.h)(T,Object.assign(Object.assign({},_),{class:"vxe-table-select--grid",ref:I,rowConfig:g,data:t,columns:n,height:"100%",autoResize:!0,onRadioChange:Q,onCheckboxChange:j,onCheckboxAll:ee}),Object.assign({},C,{header:void 0,footer:void 0,prefixSlot:void 0})):(0,_ui.renderEmptyElement)(O)])]),b?(0,_vue.h)("div",{class:"vxe-table-select--panel-footer"},b({})):(0,_ui.renderEmptyElement)(O)])]:[])])])},O},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.getRowUniqueId=getRowUniqueId;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_input=_interopRequireDefault(require("../../input/src/input"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableSelect",props:{modelValue:[String,Number,Array],clearable:Boolean,placeholder:{type:String,default:()=>_xeUtils.default.eqNull((0,_ui.getConfig)().tableSelect.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().tableSelect.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,className:[String,Function],prefixIcon:String,placement:String,columns:Array,options:Array,optionProps:Object,size:{type:String,default:()=>(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size},popupConfig:Object,gridConfig:Object,transfer:{type:Boolean,default:null}},emits:["update:modelValue","change","clear","blur","focus","click"],setup(h,e){const{emit:a,slots:C}=e,T=_ui.VxeUI.getComponent("VxeGrid"),l=(0,_vue.inject)("$xeModal",null),i=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeTable",null),o=(0,_vue.inject)("$xeForm",null),n=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const E=(0,_ui.useSize)(h)["computeSize"],y=(0,_vue.ref)(),L=(0,_vue.ref)(),k=(0,_vue.ref)(),w=(0,_vue.ref)(),I=(0,_vue.ref)(),S=(0,_vue.reactive)({initialized:!1,tableColumns:[],fullOptionList:[],fullRowMaps:{},panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),r={},N={refElem:y},z=(0,_vue.computed)(()=>{var e=h["readonly"];return null===e?!!o&&o.props.readonly:e}),A=(0,_vue.computed)(()=>{var e=h["disabled"];return null===e?!!o&&o.props.disabled:e}),P=(0,_vue.computed)(()=>{var e=h["transfer"];if(null===e){var t=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||l||i||o)return!0}return e}),s=(0,_vue.computed)(()=>h.optionProps||{}),R=(0,_vue.computed)(()=>{var e=q.value;return Object.assign({},e.rowConfig,{isCurrent:!0})}),v=(0,_vue.computed)(()=>{return R.value.keyField||"_X_ROW_KEY"}),F=(0,_vue.computed)(()=>{return s.value.label||"label"}),d=(0,_vue.computed)(()=>{return s.value.value||"value"}),U=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tableSelect.popupConfig,h.popupConfig)),q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tableSelect.gridConfig,h.gridConfig,{data:void 0,columns:void 0})),$=(0,_vue.computed)(()=>{var e=h["modelValue"];const l=S["fullRowMaps"],i=F.value;return(_xeUtils.default.isArray(e)?e:[e]).map(e=>{var t=l[e];return t?t.item[i]:e}).join(", ")}),B=(0,_vue.computed)(()=>{var{height:e,width:t}=U.value,l={};return t&&(l.width=(0,_dom.toCssUnit)(t)),e&&(l.height=(0,_dom.toCssUnit)(e)),l}),M={},O={xID:t,props:h,context:e,reactData:S,getRefMaps:()=>N,getComputeMaps:()=>M},c=(e,t,l)=>{a(e,(0,_ui.createEvent)(l,{$tableSelect:O},t))};t={dispatchEvent:c};const D=e=>{const t=S["fullRowMaps"],l=[];return(_xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=t[e];e&&l.push(e.item)}),l},p=l=>{const i=h["multiple"];(0,_vue.nextTick)(()=>{var e,t=I.value;t&&(e=D(l)).length&&(i?t.setCheckboxRow(e,!0):t.setRadioRow(e[0]))})},_=e=>{var t=h["multiple"],l=[];l.push(t?{type:"checkbox",width:70}:{type:"radio",width:70}),S.tableColumns=l.concat(e||[])},g=()=>{var e=h["options"];const u=v.value,o=d.value;var t=q.value["treeConfig"];const n={},r={};t||_xeUtils.default.arrayEach(e||[],(e,t,l)=>{let i=(e=>{e=e[v.value];return e?encodeURIComponent(e):""})(e);i=i||getRowUniqueId(),r[i]&&(0,_log.errLog)("vxe.error.repeatKey",[u,i]),r[i]=!0;var a=e[o];n[a]&&(0,_log.errLog)("vxe.error.repeatKey",[o,a]),n[a]={item:e,index:t,items:l,parent:null,nodes:[]}}),S.fullOptionList=e||[],S.fullRowMaps=n,p(h.modelValue)},f=()=>(0,_vue.nextTick)().then(()=>{var i=h["placement"],a=S["panelIndex"],u=y.value,o=w.value,e=P.value;if(o&&u){var n=u.offsetHeight,r=u.offsetWidth,s=o.offsetHeight,o=o.offsetWidth,a={zIndex:a},{boundingTop:u,boundingLeft:v,visibleHeight:d,visibleWidth:c}=(0,_dom.getAbsolutePos)(u);let l="bottom";if(e){let e=v,t=u+n;"top"===i?(l="top",t=u-s):i||(t+s+5>d&&(l="top",t=u-s),t<5&&(l="bottom",t=u+n)),e+o+5>c&&(e-=e+o+5-c),e<5&&(e=5),Object.assign(a,{left:e+"px",top:t+"px",minWidth:r+"px"})}else"top"===i?(l="top",a.bottom=n+"px"):i||d<u+n+s&&5<u-n-s&&(l="top",a.bottom=n+"px");return S.panelStyle=a,S.panelPlacement=l,(0,_vue.nextTick)()}}),m=()=>{var e=h["loading"],t=A.value;e||t||(r.vpTimeout&&clearTimeout(r.vpTimeout),r.hpTimeout&&clearTimeout(r.hpTimeout),S.initialized||(S.initialized=!0),S.isActivated=!0,S.isAniVisible=!0,r.vpTimeout=setTimeout(()=>{S.visiblePanel=!0,p(h.modelValue),r.vpTimeout=void 0},10),S.panelIndex<(0,_utils.getLastZIndex)()&&(S.panelIndex=(0,_utils.nextZIndex)()),f())},b=()=>{S.visiblePanel=!1,r.vpTimeout&&clearTimeout(r.vpTimeout),r.hpTimeout&&clearTimeout(r.hpTimeout),r.hpTimeout=setTimeout(()=>{S.isAniVisible=!1,r.hpTimeout=void 0},350)},x=(e,t)=>{var l,i=S["fullRowMaps"];l=t,a("update:modelValue",l),t!==h.modelValue&&(l=i[t],c("change",{value:t,row:l?l.item:null},e),o)&&n&&o.triggerItemEvent(e,n.itemConfig.field,t)},W=(e,t)=>{x(e,t),c("clear",{value:t},e)},H=(e,t)=>{W(t,null),b()},K=e=>{var t=S["visiblePanel"];A.value||t&&(t=w.value,((0,_dom.getEventTargetNode)(e,t).flag?f:b)())},Z=e=>{var t,l,i=S["visiblePanel"];A.value||(t=y.value,l=w.value,S.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,i&&!S.isActivated&&b())},G=()=>{b()},X=e=>{A.value||S.visiblePanel||(S.triggerFocusPanel=!0,m(),setTimeout(()=>{S.triggerFocusPanel=!1},150)),c("focus",{},e)},Y=e=>{V(e),c("click",{},e)},J=e=>{S.isActivated=!1,c("blur",{},e)},V=e=>{e=e.$event;e.preventDefault(),S.triggerFocusPanel?S.triggerFocusPanel=!1:(S.visiblePanel?b:m)()},Q=e=>{var{$event:e,row:t}=e,t=t[d.value];x(e,t),b()},j=e=>{var{$grid:e,$event:t}=e;const l=d.value;e&&(e=e.getCheckboxRecords().map(e=>e[l]),x(t,e))},ee=e=>{j(e)};Object.assign(O,t,{});return(0,_vue.watch)(()=>h.options,()=>{g()}),(0,_vue.watch)(()=>h.columns,e=>{_(e||[])}),(0,_vue.watch)(()=>h.modelValue,e=>{p(e)}),_(h.columns||[]),g(),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(O,"mousewheel",K),_ui.globalEvents.on(O,"mousedown",Z),_ui.globalEvents.on(O,"blur",G)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(O,"mousewheel"),_ui.globalEvents.off(O,"mousedown"),_ui.globalEvents.off(O,"blur")}),"development"===process.env.NODE_ENV&&(0,_vue.nextTick)(()=>{T||(0,_log.errLog)("vxe.error.reqComp",["vxe-grid"])}),(0,_vue.provide)("$xeTableSelect",O),O.renderVN=()=>{var{className:e,options:t,loading:l}=h,{initialized:i,isActivated:a,isAniVisible:u,visiblePanel:o,tableColumns:n}=S,r=E.value,s=A.value,v=$.value,d=P.value,c=z.value,p=U.value["className"],_=q.value,g=R.value,f=B.value,m=C.header,b=C.footer;const x=C.prefix;return c?(0,_vue.h)("div",{ref:y,class:["vxe-table-select--readonly",e]},[(0,_vue.h)("span",{class:"vxe-table-select-label"},v)]):(0,_vue.h)("div",{ref:y,class:["vxe-table-select",e?_xeUtils.default.isFunction(e)?e({$tableSelect:O}):e:"",{["size--"+r]:r,"is--visible":o,"is--disabled":s,"is--loading":l,"is--active":a}]},[(0,_vue.h)(_input.default,{ref:L,clearable:h.clearable,placeholder:l?(0,_ui.getI18n)("vxe.select.loadingText"):h.placeholder,readonly:!0,disabled:s,type:"text",prefixIcon:h.prefixIcon,suffixIcon:l?(0,_ui.getIcon)().TABLE_SELECT_LOADED:o?(0,_ui.getIcon)().TABLE_SELECT_OPEN:(0,_ui.getIcon)().TABLE_SELECT_CLOSE,modelValue:l?"":v,onClear:H,onClick:Y,onFocus:X,onBlur:J,onSuffixClick:V},x?{prefix:()=>x({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!d||!i},[(0,_vue.h)("div",{ref:w,class:["vxe-table--ignore-clear vxe-table-select--panel",p?_xeUtils.default.isFunction(p)?p({$tableSelect:O}):p:"",{["size--"+r]:r,"is--transfer":d,"ani--leave":!l&&u,"ani--enter":!l&&o}],placement:S.panelPlacement,style:S.panelStyle},i?[(0,_vue.h)("div",{class:"vxe-table-select--panel-wrapper"},[m?(0,_vue.h)("div",{class:"vxe-table-select--panel-header"},m({})):(0,_ui.renderEmptyElement)(O),(0,_vue.h)("div",{class:"vxe-table-select--panel-body"},[(0,_vue.h)("div",{ref:k,class:"vxe-table-select-grid--wrapper",style:f},[T?(0,_vue.h)(T,Object.assign(Object.assign({},_),{class:"vxe-table-select--grid",ref:I,rowConfig:g,data:t,columns:n,height:"100%",autoResize:!0,onRadioChange:Q,onCheckboxChange:j,onCheckboxAll:ee}),Object.assign({},C,{header:void 0,footer:void 0,prefixSlot:void 0})):(0,_ui.renderEmptyElement)(O)])]),b?(0,_vue.h)("div",{class:"vxe-table-select--panel-footer"},b({})):(0,_ui.renderEmptyElement)(O)])]:[])])])},O},render(){return this.renderVN()}});
@@ -382,7 +382,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
382
382
  };
383
383
  const hideOptionPanel = () => {
384
384
  reactData.visiblePanel = false;
385
- internalData.hpTimeout = window.setTimeout(() => {
385
+ internalData.hpTimeout = setTimeout(() => {
386
386
  reactData.isAniVisible = false;
387
387
  }, 350);
388
388
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils")),_input=_interopRequireDefault(require("../../input/src/input")),_tree=_interopRequireDefault(require("../../tree/src/tree"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getOptUniqueId(){return _xeUtils.default.uniqueId("node_")}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTreeSelect",props:{modelValue:[String,Number,Array],clearable:Boolean,placeholder:{type:String,default:()=>_xeUtils.default.eqNull((0,_ui.getConfig)().treeSelect.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().treeSelect.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,className:[String,Function],popupClassName:[String,Function],prefixIcon:String,placement:String,options:Array,optionProps:Object,size:{type:String,default:()=>(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size},remote:Boolean,remoteMethod:Function,popupConfig:Object,treeConfig:Object,transfer:{type:Boolean,default:null}},emits:["update:modelValue","change","clear","blur","focus","click","node-click"],setup(P,e){const{emit:o,slots:N}=e,l=(0,_vue.inject)("$xeModal",null),i=(0,_vue.inject)("$xeDrawer",null),n=(0,_vue.inject)("$xeTable",null),a=(0,_vue.inject)("$xeForm",null),u=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const O=(0,_ui.useSize)(P)["computeSize"],k=(0,_vue.ref)(),j=(0,_vue.ref)(),q=(0,_vue.ref)(),L=(0,_vue.ref)(),U=(0,_vue.reactive)({initialized:!1,fullOptionList:[],fullNodeMaps:{},panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),r={hpTimeout:void 0},s={refElem:k},A=(0,_vue.computed)(()=>{var e=P["readonly"];return null===e?!!a&&a.props.readonly:e}),M=(0,_vue.computed)(()=>{var e=P["disabled"];return null===e?!!a&&a.props.disabled:e}),z=(0,_vue.computed)(()=>{var e=P["transfer"];if(null===e){var t=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(n||l||i||a)return!0}return e}),V=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.popupConfig,P.popupConfig)),R=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.treeConfig,P.treeConfig,{data:void 0})),Z=(0,_vue.computed)(()=>{var e=R.value;return Object.assign({isHover:!0},e.nodeConfig)}),G=(0,_vue.computed)(()=>{var e=R.value;return Object.assign({showIcon:!!e.showCheckbox},e.checkboxConfig,{trigger:"node"})}),J=(0,_vue.computed)(()=>{var e=R.value;return Object.assign({showIcon:!!e.showRadio},e.radioConfig,{trigger:"node"})}),d=(0,_vue.computed)(()=>P.optionProps||{}),$=(0,_vue.computed)(()=>{return R.value.keyField||"id"}),D=(0,_vue.computed)(()=>{return d.value.label||"label"}),B=(0,_vue.computed)(()=>{return d.value.value||"value"}),H=(0,_vue.computed)(()=>{return d.value.children||"children"}),Q=(0,_vue.computed)(()=>{return d.value.parent||"parentField"}),X=(0,_vue.computed)(()=>{return d.value.hasChild||"hasChild"}),Y=(0,_vue.computed)(()=>{var e=P["modelValue"];const l=U["fullNodeMaps"],i=D.value;return(_xeUtils.default.isArray(e)?e:[e]).map(e=>{var t=l[e];return t?t.item[i]:e}).join(", ")}),ee=(0,_vue.computed)(()=>{var{height:e,width:t}=V.value,l={};return t&&(l.width=(0,_dom.toCssUnit)(t)),e&&(l.height=(0,_dom.toCssUnit)(e),l.maxHeight=(0,_dom.toCssUnit)(e)),l}),m={},K={xID:t,props:P,context:e,reactData:U,internalData:r,getRefMaps:()=>s,getComputeMaps:()=>m},v=(e,t,l)=>{o(e,(0,_ui.createEvent)(l,{$treeSelect:K},t))};t={dispatchEvent:v};const c=()=>{var e=P["options"];const r=$.value;var t=H.value;const s=B.value,d={},v={};_xeUtils.default.eachTree(e,(e,t,l,i,o,n)=>{let a=(e=>{e=e[$.value];return e?encodeURIComponent(e):""})(e);a=a||getOptUniqueId(),v[a]&&(0,_log.errLog)("vxe.error.repeatKey",[r,a]),v[a]=!0;var u=e[s];d[u]&&(0,_log.errLog)("vxe.error.repeatKey",[s,u]),d[u]={item:e,index:t,items:l,parent:o,nodes:n}},{children:t}),U.fullOptionList=e||[],U.fullNodeMaps=d},p=()=>(0,_vue.nextTick)().then(()=>{var i=P["placement"],o=U["panelIndex"],n=k.value,a=L.value,e=z.value;if(a&&n){var u=n.offsetHeight,r=n.offsetWidth,s=a.offsetHeight,a=a.offsetWidth,o={zIndex:o},{boundingTop:n,boundingLeft:d,visibleHeight:v,visibleWidth:c}=(0,_dom.getAbsolutePos)(n);let l="bottom";if(e){let e=d,t=n+u;"top"===i?(l="top",t=n-s):i||(t+s+5>v&&(l="top",t=n-s),t<5&&(l="bottom",t=n+u)),e+a+5>c&&(e-=e+a+5-c),e<5&&(e=5),Object.assign(o,{left:e+"px",top:t+"px",minWidth:r+"px"})}else"top"===i?(l="top",o.bottom=u+"px"):i||v<n+u+s&&5<n-u-s&&(l="top",o.bottom=u+"px");return U.panelStyle=o,U.panelPlacement=l,(0,_vue.nextTick)()}}),g=()=>{var e=P["loading"],t=M.value;e||t||(clearTimeout(r.hpTimeout),U.initialized||(U.initialized=!0),U.isActivated=!0,U.isAniVisible=!0,setTimeout(()=>{U.visiblePanel=!0},10),U.panelIndex<(0,_utils.getLastZIndex)()&&(U.panelIndex=(0,_utils.nextZIndex)()),p())},_=()=>{U.visiblePanel=!1,r.hpTimeout=window.setTimeout(()=>{U.isAniVisible=!1},350)},f=(e,t)=>{var l,i=U["fullNodeMaps"];l=t,o("update:modelValue",l),t!==P.modelValue&&(l=i[t],v("change",{value:t,option:l?l.item:null},e),a)&&u&&a.triggerItemEvent(e,u.itemConfig.field,t)},h=(e,t)=>{f(e,t),v("clear",{value:t},e)},te=(e,t)=>{h(t,null),_()},x=e=>{var t=U["visiblePanel"];M.value||t&&(t=L.value,((0,_dom.getEventTargetNode)(e,t).flag?p:_)())},b=e=>{var t,l,i=U["visiblePanel"];M.value||(t=k.value,l=L.value,U.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,i&&!U.isActivated&&_())},C=()=>{_()},le=e=>{M.value||U.visiblePanel||(U.triggerFocusPanel=!0,g(),setTimeout(()=>{U.triggerFocusPanel=!1},150)),v("focus",{},e)},ie=e=>{W(e),v("click",{},e)},oe=e=>{U.isActivated=!1,v("blur",{},e)},W=e=>{e=e.$event;e.preventDefault(),U.triggerFocusPanel?U.triggerFocusPanel=!1:(U.visiblePanel?_:g)()},ne=e=>{var t=e["$event"];v("node-click",e,t)},ae=e=>{var{value:e,$event:t}=e;f(t,e),_()},ue=e=>{var{value:e,$event:t}=e;f(t,e)},re=()=>{c()};Object.assign(K,t,{});return(0,_vue.watch)(()=>P.options,()=>{c()}),c(),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(K,"mousewheel",x),_ui.globalEvents.on(K,"mousedown",b),_ui.globalEvents.on(K,"blur",C)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(K,"mousewheel"),_ui.globalEvents.off(K,"mousedown"),_ui.globalEvents.off(K,"blur")}),(0,_vue.provide)("$xeTreeSelect",K),K.renderVN=()=>{var{className:e,modelValue:t,multiple:l,options:i,loading:o}=P,{initialized:n,isActivated:a,isAniVisible:u,visiblePanel:r}=U,s=O.value,d=M.value,v=Y.value,c=z.value,p=A.value,g=ee.value,_=N.header,f=N.footer;const m=N.prefix;var h=V.value.className||P.popupClassName,x=R.value,b=Z.value,C=G.value,y=J.value,E=$.value,I=D.value,S=B.value,T=H.value,F=Q.value,w=X.value;return p?(0,_vue.h)("div",{ref:k,class:["vxe-tree-select--readonly",e]},[(0,_vue.h)("span",{class:"vxe-tree-select-label"},v)]):(0,_vue.h)("div",{ref:k,class:["vxe-tree-select",e?_xeUtils.default.isFunction(e)?e({$treeSelect:K}):e:"",{["size--"+s]:s,"is--visible":r,"is--disabled":d,"is--loading":o,"is--active":a}]},[(0,_vue.h)(_input.default,{ref:j,clearable:P.clearable,placeholder:o?(0,_ui.getI18n)("vxe.select.loadingText"):P.placeholder,readonly:!0,disabled:d,type:"text",prefixIcon:P.prefixIcon,suffixIcon:o?(0,_ui.getIcon)().TREE_SELECT_LOADED:r?(0,_ui.getIcon)().TREE_SELECT_OPEN:(0,_ui.getIcon)().TREE_SELECT_CLOSE,modelValue:o?"":v,onClear:te,onClick:ie,onFocus:le,onBlur:oe,onSuffixClick:W},m?{prefix:()=>m({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!c||!n},[(0,_vue.h)("div",{ref:L,class:["vxe-table--ignore-clear vxe-tree-select--panel",h?_xeUtils.default.isFunction(h)?h({$treeSelect:K}):h:"",{["size--"+s]:s,"is--transfer":c,"ani--leave":!o&&u,"ani--enter":!o&&r}],placement:U.panelPlacement,style:U.panelStyle},n?[(0,_vue.h)("div",{class:"vxe-tree-select--panel-wrapper"},[_?(0,_vue.h)("div",{class:"vxe-tree-select--panel-header"},_({})):(0,_ui.renderEmptyElement)(K),(0,_vue.h)("div",{class:"vxe-tree-select--panel-body"},[(0,_vue.h)("div",{ref:q,class:"vxe-tree-select-tree--wrapper",style:g},[(0,_vue.h)(_tree.default,{class:"vxe-tree-select--tree",data:i,indent:x.indent,showRadio:!l,radioConfig:y,checkNodeKey:l?null:t,showCheckbox:!!l,checkNodeKeys:l?t:null,checkboxConfig:C,titleField:I,valueField:S,keyField:E,childrenField:x.childrenField||T,parentField:x.parentField||F,hasChildField:x.hasChildField||w,accordion:x.accordion,nodeConfig:b,lazy:x.lazy,loadMethod:x.loadMethod,toggleMethod:x.toggleMethod,transform:x.transform,trigger:x.trigger,showIcon:x.showIcon,showLine:x.showLine,iconOpen:x.iconOpen,iconLoaded:x.iconLoaded,iconClose:x.iconClose,onNodeClick:ne,onRadioChange:ae,onCheckboxChange:ue,onLoadSuccess:re})])]),f?(0,_vue.h)("div",{class:"vxe-tree-select--panel-footer"},f({})):(0,_ui.renderEmptyElement)(K)])]:[])])])},K},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils")),_input=_interopRequireDefault(require("../../input/src/input")),_tree=_interopRequireDefault(require("../../tree/src/tree"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getOptUniqueId(){return _xeUtils.default.uniqueId("node_")}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTreeSelect",props:{modelValue:[String,Number,Array],clearable:Boolean,placeholder:{type:String,default:()=>_xeUtils.default.eqNull((0,_ui.getConfig)().treeSelect.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().treeSelect.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,className:[String,Function],popupClassName:[String,Function],prefixIcon:String,placement:String,options:Array,optionProps:Object,size:{type:String,default:()=>(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size},remote:Boolean,remoteMethod:Function,popupConfig:Object,treeConfig:Object,transfer:{type:Boolean,default:null}},emits:["update:modelValue","change","clear","blur","focus","click","node-click"],setup(w,e){const{emit:o,slots:N}=e,l=(0,_vue.inject)("$xeModal",null),i=(0,_vue.inject)("$xeDrawer",null),n=(0,_vue.inject)("$xeTable",null),a=(0,_vue.inject)("$xeForm",null),u=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const O=(0,_ui.useSize)(w)["computeSize"],k=(0,_vue.ref)(),j=(0,_vue.ref)(),q=(0,_vue.ref)(),L=(0,_vue.ref)(),U=(0,_vue.reactive)({initialized:!1,fullOptionList:[],fullNodeMaps:{},panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),r={hpTimeout:void 0},s={refElem:k},A=(0,_vue.computed)(()=>{var e=w["readonly"];return null===e?!!a&&a.props.readonly:e}),M=(0,_vue.computed)(()=>{var e=w["disabled"];return null===e?!!a&&a.props.disabled:e}),z=(0,_vue.computed)(()=>{var e=w["transfer"];if(null===e){var t=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(n||l||i||a)return!0}return e}),V=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.popupConfig,w.popupConfig)),R=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.treeConfig,w.treeConfig,{data:void 0})),Z=(0,_vue.computed)(()=>{var e=R.value;return Object.assign({isHover:!0},e.nodeConfig)}),G=(0,_vue.computed)(()=>{var e=R.value;return Object.assign({showIcon:!!e.showCheckbox},e.checkboxConfig,{trigger:"node"})}),J=(0,_vue.computed)(()=>{var e=R.value;return Object.assign({showIcon:!!e.showRadio},e.radioConfig,{trigger:"node"})}),d=(0,_vue.computed)(()=>w.optionProps||{}),$=(0,_vue.computed)(()=>{return R.value.keyField||"id"}),D=(0,_vue.computed)(()=>{return d.value.label||"label"}),B=(0,_vue.computed)(()=>{return d.value.value||"value"}),H=(0,_vue.computed)(()=>{return d.value.children||"children"}),Q=(0,_vue.computed)(()=>{return d.value.parent||"parentField"}),X=(0,_vue.computed)(()=>{return d.value.hasChild||"hasChild"}),Y=(0,_vue.computed)(()=>{var e=w["modelValue"];const l=U["fullNodeMaps"],i=D.value;return(_xeUtils.default.isArray(e)?e:[e]).map(e=>{var t=l[e];return t?t.item[i]:e}).join(", ")}),ee=(0,_vue.computed)(()=>{var{height:e,width:t}=V.value,l={};return t&&(l.width=(0,_dom.toCssUnit)(t)),e&&(l.height=(0,_dom.toCssUnit)(e),l.maxHeight=(0,_dom.toCssUnit)(e)),l}),m={},K={xID:t,props:w,context:e,reactData:U,internalData:r,getRefMaps:()=>s,getComputeMaps:()=>m},v=(e,t,l)=>{o(e,(0,_ui.createEvent)(l,{$treeSelect:K},t))};t={dispatchEvent:v};const c=()=>{var e=w["options"];const r=$.value;var t=H.value;const s=B.value,d={},v={};_xeUtils.default.eachTree(e,(e,t,l,i,o,n)=>{let a=(e=>{e=e[$.value];return e?encodeURIComponent(e):""})(e);a=a||getOptUniqueId(),v[a]&&(0,_log.errLog)("vxe.error.repeatKey",[r,a]),v[a]=!0;var u=e[s];d[u]&&(0,_log.errLog)("vxe.error.repeatKey",[s,u]),d[u]={item:e,index:t,items:l,parent:o,nodes:n}},{children:t}),U.fullOptionList=e||[],U.fullNodeMaps=d},p=()=>(0,_vue.nextTick)().then(()=>{var i=w["placement"],o=U["panelIndex"],n=k.value,a=L.value,e=z.value;if(a&&n){var u=n.offsetHeight,r=n.offsetWidth,s=a.offsetHeight,a=a.offsetWidth,o={zIndex:o},{boundingTop:n,boundingLeft:d,visibleHeight:v,visibleWidth:c}=(0,_dom.getAbsolutePos)(n);let l="bottom";if(e){let e=d,t=n+u;"top"===i?(l="top",t=n-s):i||(t+s+5>v&&(l="top",t=n-s),t<5&&(l="bottom",t=n+u)),e+a+5>c&&(e-=e+a+5-c),e<5&&(e=5),Object.assign(o,{left:e+"px",top:t+"px",minWidth:r+"px"})}else"top"===i?(l="top",o.bottom=u+"px"):i||v<n+u+s&&5<n-u-s&&(l="top",o.bottom=u+"px");return U.panelStyle=o,U.panelPlacement=l,(0,_vue.nextTick)()}}),g=()=>{var e=w["loading"],t=M.value;e||t||(clearTimeout(r.hpTimeout),U.initialized||(U.initialized=!0),U.isActivated=!0,U.isAniVisible=!0,setTimeout(()=>{U.visiblePanel=!0},10),U.panelIndex<(0,_utils.getLastZIndex)()&&(U.panelIndex=(0,_utils.nextZIndex)()),p())},_=()=>{U.visiblePanel=!1,r.hpTimeout=setTimeout(()=>{U.isAniVisible=!1},350)},f=(e,t)=>{var l,i=U["fullNodeMaps"];l=t,o("update:modelValue",l),t!==w.modelValue&&(l=i[t],v("change",{value:t,option:l?l.item:null},e),a)&&u&&a.triggerItemEvent(e,u.itemConfig.field,t)},h=(e,t)=>{f(e,t),v("clear",{value:t},e)},te=(e,t)=>{h(t,null),_()},x=e=>{var t=U["visiblePanel"];M.value||t&&(t=L.value,((0,_dom.getEventTargetNode)(e,t).flag?p:_)())},b=e=>{var t,l,i=U["visiblePanel"];M.value||(t=k.value,l=L.value,U.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,i&&!U.isActivated&&_())},C=()=>{_()},le=e=>{M.value||U.visiblePanel||(U.triggerFocusPanel=!0,g(),setTimeout(()=>{U.triggerFocusPanel=!1},150)),v("focus",{},e)},ie=e=>{W(e),v("click",{},e)},oe=e=>{U.isActivated=!1,v("blur",{},e)},W=e=>{e=e.$event;e.preventDefault(),U.triggerFocusPanel?U.triggerFocusPanel=!1:(U.visiblePanel?_:g)()},ne=e=>{var t=e["$event"];v("node-click",e,t)},ae=e=>{var{value:e,$event:t}=e;f(t,e),_()},ue=e=>{var{value:e,$event:t}=e;f(t,e)},re=()=>{c()};Object.assign(K,t,{});return(0,_vue.watch)(()=>w.options,()=>{c()}),c(),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(K,"mousewheel",x),_ui.globalEvents.on(K,"mousedown",b),_ui.globalEvents.on(K,"blur",C)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(K,"mousewheel"),_ui.globalEvents.off(K,"mousedown"),_ui.globalEvents.off(K,"blur")}),(0,_vue.provide)("$xeTreeSelect",K),K.renderVN=()=>{var{className:e,modelValue:t,multiple:l,options:i,loading:o}=w,{initialized:n,isActivated:a,isAniVisible:u,visiblePanel:r}=U,s=O.value,d=M.value,v=Y.value,c=z.value,p=A.value,g=ee.value,_=N.header,f=N.footer;const m=N.prefix;var h=V.value.className||w.popupClassName,x=R.value,b=Z.value,C=G.value,y=J.value,E=$.value,I=D.value,S=B.value,T=H.value,F=Q.value,P=X.value;return p?(0,_vue.h)("div",{ref:k,class:["vxe-tree-select--readonly",e]},[(0,_vue.h)("span",{class:"vxe-tree-select-label"},v)]):(0,_vue.h)("div",{ref:k,class:["vxe-tree-select",e?_xeUtils.default.isFunction(e)?e({$treeSelect:K}):e:"",{["size--"+s]:s,"is--visible":r,"is--disabled":d,"is--loading":o,"is--active":a}]},[(0,_vue.h)(_input.default,{ref:j,clearable:w.clearable,placeholder:o?(0,_ui.getI18n)("vxe.select.loadingText"):w.placeholder,readonly:!0,disabled:d,type:"text",prefixIcon:w.prefixIcon,suffixIcon:o?(0,_ui.getIcon)().TREE_SELECT_LOADED:r?(0,_ui.getIcon)().TREE_SELECT_OPEN:(0,_ui.getIcon)().TREE_SELECT_CLOSE,modelValue:o?"":v,onClear:te,onClick:ie,onFocus:le,onBlur:oe,onSuffixClick:W},m?{prefix:()=>m({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!c||!n},[(0,_vue.h)("div",{ref:L,class:["vxe-table--ignore-clear vxe-tree-select--panel",h?_xeUtils.default.isFunction(h)?h({$treeSelect:K}):h:"",{["size--"+s]:s,"is--transfer":c,"ani--leave":!o&&u,"ani--enter":!o&&r}],placement:U.panelPlacement,style:U.panelStyle},n?[(0,_vue.h)("div",{class:"vxe-tree-select--panel-wrapper"},[_?(0,_vue.h)("div",{class:"vxe-tree-select--panel-header"},_({})):(0,_ui.renderEmptyElement)(K),(0,_vue.h)("div",{class:"vxe-tree-select--panel-body"},[(0,_vue.h)("div",{ref:q,class:"vxe-tree-select-tree--wrapper",style:g},[(0,_vue.h)(_tree.default,{class:"vxe-tree-select--tree",data:i,indent:x.indent,showRadio:!l,radioConfig:y,checkNodeKey:l?null:t,showCheckbox:!!l,checkNodeKeys:l?t:null,checkboxConfig:C,titleField:I,valueField:S,keyField:E,childrenField:x.childrenField||T,parentField:x.parentField||F,hasChildField:x.hasChildField||P,accordion:x.accordion,nodeConfig:b,lazy:x.lazy,loadMethod:x.loadMethod,toggleMethod:x.toggleMethod,transform:x.transform,trigger:x.trigger,showIcon:x.showIcon,showLine:x.showLine,iconOpen:x.iconOpen,iconLoaded:x.iconLoaded,iconClose:x.iconClose,onNodeClick:ne,onRadioChange:ae,onCheckboxChange:ue,onLoadSuccess:re})])]),f?(0,_vue.h)("div",{class:"vxe-tree-select--panel-footer"},f({})):(0,_ui.renderEmptyElement)(K)])]:[])])])},K},render(){return this.renderVN()}});
package/lib/ui/index.js CHANGED
@@ -26,7 +26,7 @@ Object.keys(_core).forEach(function (key) {
26
26
  });
27
27
  var _dynamics = require("../dynamics");
28
28
  var _log = require("./src/log");
29
- const version = exports.version = "4.4.1";
29
+ const version = exports.version = "4.4.2";
30
30
  _core.VxeUI.uiVersion = version;
31
31
  _core.VxeUI.dynamicApp = _dynamics.dynamicApp;
32
32
  function config(options) {
@@ -384,6 +384,7 @@ const iconPrefix = 'vxe-icon-';
384
384
  SELECT_LOADED: iconPrefix + 'spinner roll',
385
385
  SELECT_OPEN: iconPrefix + 'caret-down rotate180',
386
386
  SELECT_CLOSE: iconPrefix + 'caret-down',
387
+ ADD_OPTION: iconPrefix + 'add',
387
388
  // icon-picker
388
389
  ICON_PICKER_OPEN: iconPrefix + 'caret-down rotate180',
389
390
  ICON_PICKER_CLOSE: iconPrefix + 'caret-down',
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={version:!0,config:!0,setup:!0},_core=(exports.config=config,exports.default=void 0,exports.setup=setup,exports.version=void 0,require("@vxe-ui/core")),_dynamics=(Object.keys(_core).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_core[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _core[e]}})}),require("../dynamics")),_log=require("./src/log");const version=exports.version="4.4.1";function config(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["config","setConfig"]),(0,_core.setConfig)(e)}function setup(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setup","setConfig"]),(0,_core.setConfig)(e)}_core.VxeUI.uiVersion=version,_core.VxeUI.dynamicApp=_dynamics.dynamicApp,_core.VxeUI.config=config,_core.VxeUI.setup=setup,(0,_core.setConfig)({alert:{},anchor:{},anchorLink:{},avatar:{},badge:{},breadcrumb:{separator:"/"},breadcrumbItem:{},button:{trigger:"hover",prefixTooltip:{enterable:!0},suffixTooltip:{enterable:!0}},buttonGroup:{},calendar:{minDate:new Date(1900,0,1),maxDate:new Date(2100,0,1),startDay:1,selectDay:1},card:{border:!0,padding:!0},carousel:{height:200,loop:!0,interval:5e3},carouselItem:{},checkbox:{},checkboxGroup:{},col:{},collapse:{padding:!0,expandConfig:{showIcon:!0}},collapsePane:{},countdown:{},colorPicker:{type:"hex",clearable:!0,showAlpha:!0,clickToCopy:!0,showColorExtractor:!0,showQuick:!0},datePicker:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1,shortcutConfig:{align:"left",mode:"text",autoClose:!0}},drawer:{position:"right",showHeader:!0,lockView:!0,mask:!0,showTitleOverflow:!0,showClose:!0,padding:!0,cancelClosable:!0,confirmClosable:!0},empty:{},form:{validConfig:{showMessage:!0,autoPos:!0,theme:"beautify"},tooltipConfig:{enterable:!0},titleAsterisk:!0,titleOverflow:!1,padding:!0},formDesign:{height:400,showHeader:!0,showPc:!0},formGather:{},formGroup:{},formItem:{},formView:{},icon:{},iconPicker:{icons:["home","company","comment","setting","send","envelope","envelope-open","bell","search","print","pc","goods","chart-line","edit","delete","save","folder","microphone","flag","link","location","sunny","rmb","usd","user","add-user","add-users","star","unlock","time","text","feedback","calendar","association-form","cloud-download","cloud-upload","file","subtable","chart-bar-x","chart-bar-y","chart-line","chart-pie","chart-radar"]},image:{showPreview:!0,showPrintButton:!0,maskClosable:!0},imageGroup:{showPreview:!0,showPrintButton:!0},imagePreview:{showPrintButton:!0},input:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1,digits:2,controls:!0},layoutAside:{},layoutBody:{},layoutContainer:{},layoutFooter:{},layoutHeader:{},link:{underline:!0},listDesign:{height:400,showPc:!0},listView:{},list:{scrollY:{enabled:!0,gt:100}},loading:{showIcon:!0,showText:!0},modal:{top:16,showHeader:!0,minWidth:340,minHeight:140,lockView:!0,mask:!0,duration:3e3,marginSize:0,dblclickZoom:!0,showTitleOverflow:!0,animat:!0,showClose:!0,padding:!0,draggable:!0,showConfirmButton:null,cancelClosable:!0,confirmClosable:!0,zoomConfig:{minimizeMaxSize:10,minimizeVerticalOffset:{top:-24,left:0},minimizeHorizontalOffset:{top:0,left:32}},storageKey:"VXE_MODAL_POSITION"},noticeBar:{},numberInput:{digits:2,autoFill:!0,controls:!0},optgroup:{},option:{},pager:{pageSizePlacement:"top"},print:{},passwordInput:{controls:!0},printPageBreak:{},pulldown:{destroyOnClose:!0},radio:{strict:!0},radioButton:{strict:!0},radioGroup:{strict:!0},rate:{},result:{},row:{},select:{multiCharOverflow:8,scrollY:{enabled:!0,gt:100,oSize:2}},slider:{max:100,min:0},steps:{},switch:{},tabPane:{},tableSelect:{gridConfig:{showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0,rowConfig:{isHover:!0},scrollX:{enabled:!0,gt:0},scrollY:{mode:"wheel",enabled:!0,gt:0}}},tabs:{},tag:{},textEllipsis:{underline:!0},text:{},textarea:{resize:"none"},tip:{},tooltip:{trigger:"hover",theme:"dark",enterDelay:500,leaveDelay:300,isArrow:!0},tree:{indent:20,minHeight:60,radioConfig:{strict:!0}},treeSelect:{treeConfig:{radioConfig:{},checkboxConfig:{}}},upload:{mode:"all",imageTypes:["jpg","jpeg","png","gif"],showList:!0,showUploadButton:!0,showButtonText:!0,showRemoveButton:!0,showButtonIcon:!0,showPreview:!0,dragToUpload:!0},watermark:{rotate:-30,gap:[100,100]},table:{},colgroup:{},column:{},toolbar:{},grid:{}});const iconPrefix="vxe-icon-";(0,_core.setIcon)({LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",BUTTON_DROPDOWN:iconPrefix+"arrow-down",BUTTON_LOADING:iconPrefix+"spinner roll",BUTTON_TOOLTIP_ICON:iconPrefix+"question-circle-fill",MENU_ITEM_EXPAND_OPEN:iconPrefix+"arrow-down rotate180",MENU_ITEM_EXPAND_CLOSE:iconPrefix+"arrow-down",SELECT_LOADED:iconPrefix+"spinner roll",SELECT_OPEN:iconPrefix+"caret-down rotate180",SELECT_CLOSE:iconPrefix+"caret-down",ICON_PICKER_OPEN:iconPrefix+"caret-down rotate180",ICON_PICKER_CLOSE:iconPrefix+"caret-down",PAGER_HOME:iconPrefix+"home-page",PAGER_END:iconPrefix+"end-page",PAGER_JUMP_PREV:iconPrefix+"arrow-double-left",PAGER_JUMP_NEXT:iconPrefix+"arrow-double-right",PAGER_PREV_PAGE:iconPrefix+"arrow-left",PAGER_NEXT_PAGE:iconPrefix+"arrow-right",PAGER_JUMP_MORE:iconPrefix+"ellipsis-h",RADIO_CHECKED:iconPrefix+"radio-checked-fill",RADIO_UNCHECKED:iconPrefix+"radio-unchecked",CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",INPUT_CLEAR:iconPrefix+"error-circle-fill",INPUT_SEARCH:iconPrefix+"search",NUMBER_INPUT_PREV_NUM:iconPrefix+"caret-up",NUMBER_INPUT_NEXT_NUM:iconPrefix+"caret-down",DATE_PICKER_DATE:iconPrefix+"calendar",PASSWORD_INPUT_SHOW_PWD:iconPrefix+"eye-fill-close",PASSWORD_INPUT_HIDE_PWD:iconPrefix+"eye-fill",MODAL_ZOOM_MIN:iconPrefix+"minus",MODAL_ZOOM_REVERT:iconPrefix+"recover",MODAL_ZOOM_IN:iconPrefix+"square",MODAL_ZOOM_OUT:iconPrefix+"maximize",MODAL_CLOSE:iconPrefix+"close",MODAL_INFO:iconPrefix+"info-circle-fill",MODAL_SUCCESS:iconPrefix+"success-circle-fill",MODAL_WARNING:iconPrefix+"warning-circle-fill",MODAL_ERROR:iconPrefix+"error-circle-fill",MODAL_QUESTION:iconPrefix+"question-circle-fill",MODAL_LOADING:iconPrefix+"spinner roll",DRAWER_CLOSE:iconPrefix+"close",FORM_PREFIX:iconPrefix+"question-circle-fill",FORM_SUFFIX:iconPrefix+"question-circle-fill",FORM_FOLDING:iconPrefix+"arrow-up rotate180",FORM_UNFOLDING:iconPrefix+"arrow-up",FORM_DESIGN_STYLE_SETTING:iconPrefix+"layout",FORM_DESIGN_PROPS_PC:iconPrefix+"pc",FORM_DESIGN_PROPS_MOBILE:iconPrefix+"mobile",FORM_DESIGN_PROPS_ADD:iconPrefix+"add",FORM_DESIGN_PROPS_EDIT:iconPrefix+"edit",FORM_DESIGN_WIDGET_ADD:iconPrefix+"square-plus-fill",FORM_DESIGN_WIDGET_COPY:iconPrefix+"copy",FORM_DESIGN_WIDGET_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_SWAP_LR:iconPrefix+"swap",FORM_DESIGN_WIDGET_OPTION_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN:iconPrefix+"square-plus",FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:iconPrefix+"square-minus",LIST_DESIGN_FIELD_SETTING:iconPrefix+"custom-column",LIST_DESIGN_LIST_SETTING:iconPrefix+"menu",LIST_DESIGN_LIST_SETTING_SEARCH_DELETE:iconPrefix+"delete",LIST_DESIGN_LIST_SETTING_ACTIVE_DELETE:iconPrefix+"delete",UPLOAD_FILE_ERROR:iconPrefix+"warning-circle-fill",UPLOAD_FILE_ADD:iconPrefix+"upload",UPLOAD_FILE_REMOVE:iconPrefix+"delete",UPLOAD_FILE_DOWNLOAD:iconPrefix+"download",UPLOAD_IMAGE_RE_UPLOAD:iconPrefix+"repeat",UPLOAD_IMAGE_ADD:iconPrefix+"add",UPLOAD_IMAGE_REMOVE:iconPrefix+"close",UPLOAD_LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",UPLOAD_FILE_TYPE_DEFAULT:iconPrefix+"file",UPLOAD_FILE_TYPE_XLSX:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_XLS:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_PDF:iconPrefix+"file-pdf",UPLOAD_FILE_TYPE_PNG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_GIF:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPEG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_MD:iconPrefix+"file-markdown",UPLOAD_FILE_TYPE_PPD:iconPrefix+"file-ppt",UPLOAD_FILE_TYPE_DOCX:iconPrefix+"file-word",UPLOAD_FILE_TYPE_DOC:iconPrefix+"file-word",UPLOAD_FILE_TYPE_ZIP:iconPrefix+"file-zip",UPLOAD_FILE_TYPE_TXT:iconPrefix+"file-txt",IMAGE_PREVIEW_CLOSE:iconPrefix+"close",IMAGE_PREVIEW_PREVIOUS:iconPrefix+"arrow-left",IMAGE_PREVIEW_NEXT:iconPrefix+"arrow-right",IMAGE_PREVIEW_PCT_FULL:iconPrefix+"pct-full",IMAGE_PREVIEW_PCT_1_1:iconPrefix+"pct-1-1",IMAGE_PREVIEW_ZOOM_OUT:iconPrefix+"search-zoom-out",IMAGE_PREVIEW_ZOOM_IN:iconPrefix+"search-zoom-in",IMAGE_PREVIEW_ROTATE_LEFT:iconPrefix+"rotate-left",IMAGE_PREVIEW_ROTATE_RIGHT:iconPrefix+"rotate-right",IMAGE_PREVIEW_PRINT:iconPrefix+"print",IMAGE_PREVIEW_DOWNLOAD:iconPrefix+"download",ALERT_CLOSE:iconPrefix+"close",ALERT_INFO:iconPrefix+"info-circle-fill",ALERT_SUCCESS:iconPrefix+"success-circle-fill",ALERT_WARNING:iconPrefix+"warning-circle-fill",ALERT_ERROR:iconPrefix+"error-circle-fill",TREE_NODE_OPEN:iconPrefix+"caret-right rotate90",TREE_NODE_CLOSE:iconPrefix+"caret-right",TREE_NODE_LOADED:iconPrefix+"spinner roll",TREE_SELECT_LOADED:iconPrefix+"spinner roll",TREE_SELECT_OPEN:iconPrefix+"caret-down rotate180",TREE_SELECT_CLOSE:iconPrefix+"caret-down",TABLE_SELECT_LOADED:iconPrefix+"spinner roll",TABLE_SELECT_OPEN:iconPrefix+"caret-down rotate180",TABLE_SELECT_CLOSE:iconPrefix+"caret-down",TABS_TAB_BUTTON_LEFT:iconPrefix+"arrow-left",TABS_TAB_BUTTON_RIGHT:iconPrefix+"arrow-right",TABS_TAB_CLOSE:iconPrefix+"close",TABS_TAB_REFRESH:iconPrefix+"refresh",TABS_TAB_REFRESH_LOADING:iconPrefix+"refresh roll",TEXT_COPY:iconPrefix+"copy",TEXT_LOADING:iconPrefix+"spinner roll",CAROUSEL_HORIZONTAL_PREVIOUS:iconPrefix+"arrow-left",CAROUSEL_HORIZONTAL_NEXT:iconPrefix+"arrow-right",CAROUSEL_VERTICAL_PREVIOUS:iconPrefix+"arrow-up",CAROUSEL_VERTICAL_NEXT:iconPrefix+"arrow-down",COLLAPSE_OPEN:iconPrefix+"arrow-right rotate90",COLLAPSE_CLOSE:iconPrefix+"arrow-right",EMPTY_DEFAULT:iconPrefix+"empty",RESULT_INFO:iconPrefix+"info-circle-fill",RESULT_SUCCESS:iconPrefix+"success-circle-fill",RESULT_WARNING:iconPrefix+"warning-circle-fill",RESULT_ERROR:iconPrefix+"error-circle-fill",RESULT_QUESTION:iconPrefix+"question-circle-fill",RESULT_LOADING:iconPrefix+"spinner roll",RATE_CHECKED:iconPrefix+"star-fill",RATE_UNCHECKED:iconPrefix+"star",COLOR_COPY:iconPrefix+"copy",EYE_DROPPER:iconPrefix+"dropper"});var _default=exports.default=_core.VxeUI;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={version:!0,config:!0,setup:!0},_core=(exports.config=config,exports.default=void 0,exports.setup=setup,exports.version=void 0,require("@vxe-ui/core")),_dynamics=(Object.keys(_core).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_core[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _core[e]}})}),require("../dynamics")),_log=require("./src/log");const version=exports.version="4.4.2";function config(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["config","setConfig"]),(0,_core.setConfig)(e)}function setup(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setup","setConfig"]),(0,_core.setConfig)(e)}_core.VxeUI.uiVersion=version,_core.VxeUI.dynamicApp=_dynamics.dynamicApp,_core.VxeUI.config=config,_core.VxeUI.setup=setup,(0,_core.setConfig)({alert:{},anchor:{},anchorLink:{},avatar:{},badge:{},breadcrumb:{separator:"/"},breadcrumbItem:{},button:{trigger:"hover",prefixTooltip:{enterable:!0},suffixTooltip:{enterable:!0}},buttonGroup:{},calendar:{minDate:new Date(1900,0,1),maxDate:new Date(2100,0,1),startDay:1,selectDay:1},card:{border:!0,padding:!0},carousel:{height:200,loop:!0,interval:5e3},carouselItem:{},checkbox:{},checkboxGroup:{},col:{},collapse:{padding:!0,expandConfig:{showIcon:!0}},collapsePane:{},countdown:{},colorPicker:{type:"hex",clearable:!0,showAlpha:!0,clickToCopy:!0,showColorExtractor:!0,showQuick:!0},datePicker:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1,shortcutConfig:{align:"left",mode:"text",autoClose:!0}},drawer:{position:"right",showHeader:!0,lockView:!0,mask:!0,showTitleOverflow:!0,showClose:!0,padding:!0,cancelClosable:!0,confirmClosable:!0},empty:{},form:{validConfig:{showMessage:!0,autoPos:!0,theme:"beautify"},tooltipConfig:{enterable:!0},titleAsterisk:!0,titleOverflow:!1,padding:!0},formDesign:{height:400,showHeader:!0,showPc:!0},formGather:{},formGroup:{},formItem:{},formView:{},icon:{},iconPicker:{icons:["home","company","comment","setting","send","envelope","envelope-open","bell","search","print","pc","goods","chart-line","edit","delete","save","folder","microphone","flag","link","location","sunny","rmb","usd","user","add-user","add-users","star","unlock","time","text","feedback","calendar","association-form","cloud-download","cloud-upload","file","subtable","chart-bar-x","chart-bar-y","chart-line","chart-pie","chart-radar"]},image:{showPreview:!0,showPrintButton:!0,maskClosable:!0},imageGroup:{showPreview:!0,showPrintButton:!0},imagePreview:{showPrintButton:!0},input:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1,digits:2,controls:!0},layoutAside:{},layoutBody:{},layoutContainer:{},layoutFooter:{},layoutHeader:{},link:{underline:!0},listDesign:{height:400,showPc:!0},listView:{},list:{scrollY:{enabled:!0,gt:100}},loading:{showIcon:!0,showText:!0},modal:{top:16,showHeader:!0,minWidth:340,minHeight:140,lockView:!0,mask:!0,duration:3e3,marginSize:0,dblclickZoom:!0,showTitleOverflow:!0,animat:!0,showClose:!0,padding:!0,draggable:!0,showConfirmButton:null,cancelClosable:!0,confirmClosable:!0,zoomConfig:{minimizeMaxSize:10,minimizeVerticalOffset:{top:-24,left:0},minimizeHorizontalOffset:{top:0,left:32}},storageKey:"VXE_MODAL_POSITION"},noticeBar:{},numberInput:{digits:2,autoFill:!0,controls:!0},optgroup:{},option:{},pager:{pageSizePlacement:"top"},print:{},passwordInput:{controls:!0},printPageBreak:{},pulldown:{destroyOnClose:!0},radio:{strict:!0},radioButton:{strict:!0},radioGroup:{strict:!0},rate:{},result:{},row:{},select:{multiCharOverflow:8,scrollY:{enabled:!0,gt:100,oSize:2}},slider:{max:100,min:0},steps:{},switch:{},tabPane:{},tableSelect:{gridConfig:{showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0,rowConfig:{isHover:!0},scrollX:{enabled:!0,gt:0},scrollY:{mode:"wheel",enabled:!0,gt:0}}},tabs:{},tag:{},textEllipsis:{underline:!0},text:{},textarea:{resize:"none"},tip:{},tooltip:{trigger:"hover",theme:"dark",enterDelay:500,leaveDelay:300,isArrow:!0},tree:{indent:20,minHeight:60,radioConfig:{strict:!0}},treeSelect:{treeConfig:{radioConfig:{},checkboxConfig:{}}},upload:{mode:"all",imageTypes:["jpg","jpeg","png","gif"],showList:!0,showUploadButton:!0,showButtonText:!0,showRemoveButton:!0,showButtonIcon:!0,showPreview:!0,dragToUpload:!0},watermark:{rotate:-30,gap:[100,100]},table:{},colgroup:{},column:{},toolbar:{},grid:{}});const iconPrefix="vxe-icon-";(0,_core.setIcon)({LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",BUTTON_DROPDOWN:iconPrefix+"arrow-down",BUTTON_LOADING:iconPrefix+"spinner roll",BUTTON_TOOLTIP_ICON:iconPrefix+"question-circle-fill",MENU_ITEM_EXPAND_OPEN:iconPrefix+"arrow-down rotate180",MENU_ITEM_EXPAND_CLOSE:iconPrefix+"arrow-down",SELECT_LOADED:iconPrefix+"spinner roll",SELECT_OPEN:iconPrefix+"caret-down rotate180",SELECT_CLOSE:iconPrefix+"caret-down",ADD_OPTION:iconPrefix+"add",ICON_PICKER_OPEN:iconPrefix+"caret-down rotate180",ICON_PICKER_CLOSE:iconPrefix+"caret-down",PAGER_HOME:iconPrefix+"home-page",PAGER_END:iconPrefix+"end-page",PAGER_JUMP_PREV:iconPrefix+"arrow-double-left",PAGER_JUMP_NEXT:iconPrefix+"arrow-double-right",PAGER_PREV_PAGE:iconPrefix+"arrow-left",PAGER_NEXT_PAGE:iconPrefix+"arrow-right",PAGER_JUMP_MORE:iconPrefix+"ellipsis-h",RADIO_CHECKED:iconPrefix+"radio-checked-fill",RADIO_UNCHECKED:iconPrefix+"radio-unchecked",CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",INPUT_CLEAR:iconPrefix+"error-circle-fill",INPUT_SEARCH:iconPrefix+"search",NUMBER_INPUT_PREV_NUM:iconPrefix+"caret-up",NUMBER_INPUT_NEXT_NUM:iconPrefix+"caret-down",DATE_PICKER_DATE:iconPrefix+"calendar",PASSWORD_INPUT_SHOW_PWD:iconPrefix+"eye-fill-close",PASSWORD_INPUT_HIDE_PWD:iconPrefix+"eye-fill",MODAL_ZOOM_MIN:iconPrefix+"minus",MODAL_ZOOM_REVERT:iconPrefix+"recover",MODAL_ZOOM_IN:iconPrefix+"square",MODAL_ZOOM_OUT:iconPrefix+"maximize",MODAL_CLOSE:iconPrefix+"close",MODAL_INFO:iconPrefix+"info-circle-fill",MODAL_SUCCESS:iconPrefix+"success-circle-fill",MODAL_WARNING:iconPrefix+"warning-circle-fill",MODAL_ERROR:iconPrefix+"error-circle-fill",MODAL_QUESTION:iconPrefix+"question-circle-fill",MODAL_LOADING:iconPrefix+"spinner roll",DRAWER_CLOSE:iconPrefix+"close",FORM_PREFIX:iconPrefix+"question-circle-fill",FORM_SUFFIX:iconPrefix+"question-circle-fill",FORM_FOLDING:iconPrefix+"arrow-up rotate180",FORM_UNFOLDING:iconPrefix+"arrow-up",FORM_DESIGN_STYLE_SETTING:iconPrefix+"layout",FORM_DESIGN_PROPS_PC:iconPrefix+"pc",FORM_DESIGN_PROPS_MOBILE:iconPrefix+"mobile",FORM_DESIGN_PROPS_ADD:iconPrefix+"add",FORM_DESIGN_PROPS_EDIT:iconPrefix+"edit",FORM_DESIGN_WIDGET_ADD:iconPrefix+"square-plus-fill",FORM_DESIGN_WIDGET_COPY:iconPrefix+"copy",FORM_DESIGN_WIDGET_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_SWAP_LR:iconPrefix+"swap",FORM_DESIGN_WIDGET_OPTION_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN:iconPrefix+"square-plus",FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:iconPrefix+"square-minus",LIST_DESIGN_FIELD_SETTING:iconPrefix+"custom-column",LIST_DESIGN_LIST_SETTING:iconPrefix+"menu",LIST_DESIGN_LIST_SETTING_SEARCH_DELETE:iconPrefix+"delete",LIST_DESIGN_LIST_SETTING_ACTIVE_DELETE:iconPrefix+"delete",UPLOAD_FILE_ERROR:iconPrefix+"warning-circle-fill",UPLOAD_FILE_ADD:iconPrefix+"upload",UPLOAD_FILE_REMOVE:iconPrefix+"delete",UPLOAD_FILE_DOWNLOAD:iconPrefix+"download",UPLOAD_IMAGE_RE_UPLOAD:iconPrefix+"repeat",UPLOAD_IMAGE_ADD:iconPrefix+"add",UPLOAD_IMAGE_REMOVE:iconPrefix+"close",UPLOAD_LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",UPLOAD_FILE_TYPE_DEFAULT:iconPrefix+"file",UPLOAD_FILE_TYPE_XLSX:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_XLS:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_PDF:iconPrefix+"file-pdf",UPLOAD_FILE_TYPE_PNG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_GIF:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPEG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_MD:iconPrefix+"file-markdown",UPLOAD_FILE_TYPE_PPD:iconPrefix+"file-ppt",UPLOAD_FILE_TYPE_DOCX:iconPrefix+"file-word",UPLOAD_FILE_TYPE_DOC:iconPrefix+"file-word",UPLOAD_FILE_TYPE_ZIP:iconPrefix+"file-zip",UPLOAD_FILE_TYPE_TXT:iconPrefix+"file-txt",IMAGE_PREVIEW_CLOSE:iconPrefix+"close",IMAGE_PREVIEW_PREVIOUS:iconPrefix+"arrow-left",IMAGE_PREVIEW_NEXT:iconPrefix+"arrow-right",IMAGE_PREVIEW_PCT_FULL:iconPrefix+"pct-full",IMAGE_PREVIEW_PCT_1_1:iconPrefix+"pct-1-1",IMAGE_PREVIEW_ZOOM_OUT:iconPrefix+"search-zoom-out",IMAGE_PREVIEW_ZOOM_IN:iconPrefix+"search-zoom-in",IMAGE_PREVIEW_ROTATE_LEFT:iconPrefix+"rotate-left",IMAGE_PREVIEW_ROTATE_RIGHT:iconPrefix+"rotate-right",IMAGE_PREVIEW_PRINT:iconPrefix+"print",IMAGE_PREVIEW_DOWNLOAD:iconPrefix+"download",ALERT_CLOSE:iconPrefix+"close",ALERT_INFO:iconPrefix+"info-circle-fill",ALERT_SUCCESS:iconPrefix+"success-circle-fill",ALERT_WARNING:iconPrefix+"warning-circle-fill",ALERT_ERROR:iconPrefix+"error-circle-fill",TREE_NODE_OPEN:iconPrefix+"caret-right rotate90",TREE_NODE_CLOSE:iconPrefix+"caret-right",TREE_NODE_LOADED:iconPrefix+"spinner roll",TREE_SELECT_LOADED:iconPrefix+"spinner roll",TREE_SELECT_OPEN:iconPrefix+"caret-down rotate180",TREE_SELECT_CLOSE:iconPrefix+"caret-down",TABLE_SELECT_LOADED:iconPrefix+"spinner roll",TABLE_SELECT_OPEN:iconPrefix+"caret-down rotate180",TABLE_SELECT_CLOSE:iconPrefix+"caret-down",TABS_TAB_BUTTON_LEFT:iconPrefix+"arrow-left",TABS_TAB_BUTTON_RIGHT:iconPrefix+"arrow-right",TABS_TAB_CLOSE:iconPrefix+"close",TABS_TAB_REFRESH:iconPrefix+"refresh",TABS_TAB_REFRESH_LOADING:iconPrefix+"refresh roll",TEXT_COPY:iconPrefix+"copy",TEXT_LOADING:iconPrefix+"spinner roll",CAROUSEL_HORIZONTAL_PREVIOUS:iconPrefix+"arrow-left",CAROUSEL_HORIZONTAL_NEXT:iconPrefix+"arrow-right",CAROUSEL_VERTICAL_PREVIOUS:iconPrefix+"arrow-up",CAROUSEL_VERTICAL_NEXT:iconPrefix+"arrow-down",COLLAPSE_OPEN:iconPrefix+"arrow-right rotate90",COLLAPSE_CLOSE:iconPrefix+"arrow-right",EMPTY_DEFAULT:iconPrefix+"empty",RESULT_INFO:iconPrefix+"info-circle-fill",RESULT_SUCCESS:iconPrefix+"success-circle-fill",RESULT_WARNING:iconPrefix+"warning-circle-fill",RESULT_ERROR:iconPrefix+"error-circle-fill",RESULT_QUESTION:iconPrefix+"question-circle-fill",RESULT_LOADING:iconPrefix+"spinner roll",RATE_CHECKED:iconPrefix+"star-fill",RATE_UNCHECKED:iconPrefix+"star",COLOR_COPY:iconPrefix+"copy",EYE_DROPPER:iconPrefix+"dropper"});var _default=exports.default=_core.VxeUI;
package/lib/ui/src/log.js CHANGED
@@ -5,6 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.warnLog = exports.errLog = void 0;
7
7
  var _core = require("@vxe-ui/core");
8
- const version = `ui v${"4.4.1"}`;
8
+ const version = `ui v${"4.4.2"}`;
9
9
  const warnLog = exports.warnLog = _core.log.create('warn', version);
10
10
  const errLog = exports.errLog = _core.log.create('error', version);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");const version="ui v4.4.1",warnLog=exports.warnLog=_core.log.create("warn",version),errLog=exports.errLog=_core.log.create("error",version);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");const version="ui v4.4.2",warnLog=exports.warnLog=_core.log.create("warn",version),errLog=exports.errLog=_core.log.create("error",version);
@@ -117,6 +117,7 @@
117
117
  }
118
118
 
119
119
  .vxe-select-option {
120
+ position: relative;
120
121
  padding: 0 0.6em;
121
122
  max-width: 600px;
122
123
  white-space: nowrap;
@@ -128,6 +129,15 @@
128
129
  user-select: none;
129
130
  cursor: pointer;
130
131
  }
132
+ .vxe-select-option.is--add {
133
+ padding-right: 2em;
134
+ }
135
+ .vxe-select-option.is--add:hover .vxe-select-option--add-icon {
136
+ color: var(--vxe-ui-font-primary-color);
137
+ }
138
+ .vxe-select-option.is--add .vxe-select-option--add-icon {
139
+ display: block;
140
+ }
131
141
  .vxe-select-option.is--selected {
132
142
  color: var(--vxe-ui-font-primary-color);
133
143
  }
@@ -145,6 +155,13 @@
145
155
  cursor: default;
146
156
  }
147
157
 
158
+ .vxe-select-option--add-icon {
159
+ display: none;
160
+ position: absolute;
161
+ top: 0;
162
+ right: 0.6em;
163
+ }
164
+
148
165
  .vxe-select--search-icon {
149
166
  margin-right: 0.5em;
150
167
  }
@@ -1 +1 @@
1
- .vxe-select{position:relative;display:inline-block;width:180px;color:var(--vxe-ui-font-color);text-align:left}.vxe-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-select>.vxe-input{width:100%}.vxe-select>.vxe-input .vxe-input--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-select.is--active:not(.is--filter)>.vxe-input{border-color:var(--vxe-ui-font-primary-color)}.vxe-select--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-select-slots{display:none}.vxe-select--panel{display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-select--panel:not(.is--transfer){min-width:100%}.vxe-select--panel.is--transfer{position:fixed}.vxe-select--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-select--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-select--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-select--panel-search{display:block;padding:var(--vxe-ui-layout-padding-default)}.vxe-select--panel-search .vxe-select-search--input{width:100%}.vxe-select--panel-wrapper{position:relative;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);background-color:var(--vxe-ui-layout-background-color)}.vxe-select--panel-header{border-bottom:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer,.vxe-select--panel-header{padding:4px 0}.vxe-select-option--wrapper{position:relative;overflow-x:hidden;overflow-y:auto}.vxe-select--y-space{width:0;float:left}.vxe-select--body,.vxe-select-option--wrapper{padding:0;margin:0;border:0;outline:0}.vxe-select-option--wrapper{max-height:18em}.vxe-select-option{padding:0 .6em;max-width:600px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}.vxe-select-option.is--selected{color:var(--vxe-ui-font-primary-color)}.vxe-select-option:not(.is--disabled).is--hover{background-color:var(--vxe-ui-base-hover-background-color)}.vxe-select-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-select-optgroup{color:var(--vxe-ui-select-title-color);font-size:12px;cursor:default}.vxe-select--search-icon{margin-right:.5em}.vxe-select--empty-placeholder,.vxe-select--search-loading{padding:0 .6em;text-align:center;color:var(--vxe-ui-select-empty-color)}.vxe-select,.vxe-select--panel{font-size:var(--vxe-ui-font-size-default)}.vxe-select--panel.size--medium,.vxe-select.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-select--panel.size--small,.vxe-select.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-select--panel.size--mini,.vxe-select.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-select--panel .vxe-select-option{height:var(--vxe-ui-select-option-height-default)}.vxe-select--panel .vxe-select--empty-placeholder,.vxe-select--panel .vxe-select--search-loading,.vxe-select--panel .vxe-select-option{line-height:var(--vxe-ui-select-option-height-default)}.vxe-select--panel.size--medium .vxe-select-option{height:var(--vxe-ui-select-option-height-medium)}.vxe-select--panel.size--medium .vxe-select--empty-placeholder,.vxe-select--panel.size--medium .vxe-select--search-loading,.vxe-select--panel.size--medium .vxe-select-option{line-height:var(--vxe-ui-select-option-height-medium)}.vxe-select--panel.size--small .vxe-select-option{height:var(--vxe-ui-select-option-height-small)}.vxe-select--panel.size--small .vxe-select--empty-placeholder,.vxe-select--panel.size--small .vxe-select--search-loading,.vxe-select--panel.size--small .vxe-select-option{line-height:var(--vxe-ui-select-option-height-small)}.vxe-select--panel.size--mini .vxe-select-option{height:var(--vxe-ui-select-option-height-mini)}.vxe-select--panel.size--mini .vxe-select--empty-placeholder,.vxe-select--panel.size--mini .vxe-select--search-loading,.vxe-select--panel.size--mini .vxe-select-option{line-height:var(--vxe-ui-select-option-height-mini)}
1
+ .vxe-select{position:relative;display:inline-block;width:180px;color:var(--vxe-ui-font-color);text-align:left}.vxe-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-select>.vxe-input{width:100%}.vxe-select>.vxe-input .vxe-input--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-select.is--active:not(.is--filter)>.vxe-input{border-color:var(--vxe-ui-font-primary-color)}.vxe-select--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-select-slots{display:none}.vxe-select--panel{display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-select--panel:not(.is--transfer){min-width:100%}.vxe-select--panel.is--transfer{position:fixed}.vxe-select--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-select--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-select--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-select--panel-search{display:block;padding:var(--vxe-ui-layout-padding-default)}.vxe-select--panel-search .vxe-select-search--input{width:100%}.vxe-select--panel-wrapper{position:relative;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);background-color:var(--vxe-ui-layout-background-color)}.vxe-select--panel-header{border-bottom:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer,.vxe-select--panel-header{padding:4px 0}.vxe-select-option--wrapper{position:relative;overflow-x:hidden;overflow-y:auto}.vxe-select--y-space{width:0;float:left}.vxe-select--body,.vxe-select-option--wrapper{padding:0;margin:0;border:0;outline:0}.vxe-select-option--wrapper{max-height:18em}.vxe-select-option{position:relative;padding:0 .6em;max-width:600px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}.vxe-select-option.is--add{padding-right:2em}.vxe-select-option.is--add:hover .vxe-select-option--add-icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option.is--add .vxe-select-option--add-icon{display:block}.vxe-select-option.is--selected{color:var(--vxe-ui-font-primary-color)}.vxe-select-option:not(.is--disabled).is--hover{background-color:var(--vxe-ui-base-hover-background-color)}.vxe-select-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-select-optgroup{color:var(--vxe-ui-select-title-color);font-size:12px;cursor:default}.vxe-select-option--add-icon{display:none;position:absolute;top:0;right:.6em}.vxe-select--search-icon{margin-right:.5em}.vxe-select--empty-placeholder,.vxe-select--search-loading{padding:0 .6em;text-align:center;color:var(--vxe-ui-select-empty-color)}.vxe-select,.vxe-select--panel{font-size:var(--vxe-ui-font-size-default)}.vxe-select--panel.size--medium,.vxe-select.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-select--panel.size--small,.vxe-select.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-select--panel.size--mini,.vxe-select.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-select--panel .vxe-select-option{height:var(--vxe-ui-select-option-height-default)}.vxe-select--panel .vxe-select--empty-placeholder,.vxe-select--panel .vxe-select--search-loading,.vxe-select--panel .vxe-select-option{line-height:var(--vxe-ui-select-option-height-default)}.vxe-select--panel.size--medium .vxe-select-option{height:var(--vxe-ui-select-option-height-medium)}.vxe-select--panel.size--medium .vxe-select--empty-placeholder,.vxe-select--panel.size--medium .vxe-select--search-loading,.vxe-select--panel.size--medium .vxe-select-option{line-height:var(--vxe-ui-select-option-height-medium)}.vxe-select--panel.size--small .vxe-select-option{height:var(--vxe-ui-select-option-height-small)}.vxe-select--panel.size--small .vxe-select--empty-placeholder,.vxe-select--panel.size--small .vxe-select--search-loading,.vxe-select--panel.size--small .vxe-select-option{line-height:var(--vxe-ui-select-option-height-small)}.vxe-select--panel.size--mini .vxe-select-option{height:var(--vxe-ui-select-option-height-mini)}.vxe-select--panel.size--mini .vxe-select--empty-placeholder,.vxe-select--panel.size--mini .vxe-select--search-loading,.vxe-select--panel.size--mini .vxe-select-option{line-height:var(--vxe-ui-select-option-height-mini)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-pc-ui",
3
- "version": "4.4.1",
3
+ "version": "4.4.2",
4
4
  "description": "A vue based PC component library",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -10,8 +10,6 @@ import VxeInputComponent from '../../input/src/input'
10
10
  import type { ColorPickerReactData, VxeColorPickerPropTypes, VxeColorPickerEmits, ColorPickerInternalData, ColorPickerMethods, ColorPickerPrivateMethods, ValueOf, ColorPickerPrivateRef, VxeColorPickerPrivateComputed, VxeColorPickerConstructor, VxeColorPickerPrivateMethods, VxeModalConstructor, VxeModalMethods, VxeDrawerConstructor, VxeDrawerMethods, VxeFormDefines, VxeFormConstructor, VxeFormPrivateMethods } from '../../../types'
11
11
  import type { VxeTableConstructor, VxeTablePrivateMethods } from '../../../types/components/table'
12
12
 
13
- const WinEyeDropper = (window as any).EyeDropper
14
-
15
13
  export default defineComponent({
16
14
  name: 'VxeColorPicker',
17
15
  props: {
@@ -84,6 +82,8 @@ export default defineComponent({
84
82
  const $xeForm = inject<(VxeFormConstructor & VxeFormPrivateMethods) | null>('$xeForm', null)
85
83
  const formItemInfo = inject<VxeFormDefines.ProvideItemInfo | null>('xeFormItemInfo', null)
86
84
 
85
+ const WinEyeDropper = typeof window !== 'undefined' ? (window as any).EyeDropper : null
86
+
87
87
  const xID = XEUtils.uniqueId()
88
88
 
89
89
  const { computeSize } = useSize(props)
@@ -362,7 +362,7 @@ export default defineComponent({
362
362
 
363
363
  const hideOptionPanel = () => {
364
364
  reactData.visiblePanel = false
365
- internalData.hpTimeout = window.setTimeout(() => {
365
+ internalData.hpTimeout = setTimeout(() => {
366
366
  reactData.isAniVisible = false
367
367
  }, 350)
368
368
  }
@@ -737,7 +737,7 @@ export default defineComponent({
737
737
  const hidePanel = () => {
738
738
  return new Promise<void>(resolve => {
739
739
  reactData.visiblePanel = false
740
- internalData.hpTimeout = window.setTimeout(() => {
740
+ internalData.hpTimeout = setTimeout(() => {
741
741
  reactData.isAniVisible = false
742
742
  resolve()
743
743
  }, 350)
@@ -522,7 +522,7 @@ export default defineComponent({
522
522
  }
523
523
  }).catch(() => {
524
524
  return new Promise<void>((resolve) => {
525
- internalData.meTimeout = window.setTimeout(() => {
525
+ internalData.meTimeout = setTimeout(() => {
526
526
  itemList.forEach((item) => {
527
527
  if (item.errRule) {
528
528
  item.showError = true
@@ -262,7 +262,7 @@ export default defineComponent({
262
262
 
263
263
  const hideOptionPanel = () => {
264
264
  reactData.visiblePanel = false
265
- internalData.hpTimeout = window.setTimeout(() => {
265
+ internalData.hpTimeout = setTimeout(() => {
266
266
  reactData.isAniVisible = false
267
267
  }, 350)
268
268
  }
@@ -891,7 +891,7 @@ export default defineComponent({
891
891
  const hidePanel = (): Promise<void> => {
892
892
  return new Promise(resolve => {
893
893
  reactData.visiblePanel = false
894
- internalData.hpTimeout = window.setTimeout(() => {
894
+ internalData.hpTimeout = setTimeout(() => {
895
895
  reactData.isAniVisible = false
896
896
  resolve()
897
897
  }, 350)
@@ -1175,7 +1175,7 @@ export default defineComponent({
1175
1175
  }
1176
1176
 
1177
1177
  const numberDownNextEvent = (evnt: Event) => {
1178
- internalData.dnTimeout = window.setTimeout(() => {
1178
+ internalData.dnTimeout = setTimeout(() => {
1179
1179
  numberNextEvent(evnt)
1180
1180
  numberDownNextEvent(evnt)
1181
1181
  }, 60)
@@ -1245,7 +1245,7 @@ export default defineComponent({
1245
1245
  }
1246
1246
 
1247
1247
  const numberDownPrevEvent = (evnt: Event) => {
1248
- internalData.dnTimeout = window.setTimeout(() => {
1248
+ internalData.dnTimeout = setTimeout(() => {
1249
1249
  numberPrevEvent(evnt)
1250
1250
  numberDownPrevEvent(evnt)
1251
1251
  }, 60)
@@ -1260,7 +1260,7 @@ export default defineComponent({
1260
1260
  } else {
1261
1261
  numberNextEvent(evnt)
1262
1262
  }
1263
- internalData.dnTimeout = window.setTimeout(() => {
1263
+ internalData.dnTimeout = setTimeout(() => {
1264
1264
  if (isPrevNumber) {
1265
1265
  numberDownPrevEvent(evnt)
1266
1266
  } else {
@@ -539,7 +539,7 @@ export default defineComponent({
539
539
  }
540
540
 
541
541
  const numberDownNextEvent = (evnt: Event) => {
542
- internalData.dnTimeout = window.setTimeout(() => {
542
+ internalData.dnTimeout = setTimeout(() => {
543
543
  numberNextEvent(evnt)
544
544
  numberDownNextEvent(evnt)
545
545
  }, 60)
@@ -607,7 +607,7 @@ export default defineComponent({
607
607
  }
608
608
 
609
609
  const numberDownPrevEvent = (evnt: Event) => {
610
- internalData.dnTimeout = window.setTimeout(() => {
610
+ internalData.dnTimeout = setTimeout(() => {
611
611
  numberPrevEvent(evnt)
612
612
  numberDownPrevEvent(evnt)
613
613
  }, 60)
@@ -622,7 +622,7 @@ export default defineComponent({
622
622
  } else {
623
623
  numberNextEvent(evnt)
624
624
  }
625
- internalData.dnTimeout = window.setTimeout(() => {
625
+ internalData.dnTimeout = setTimeout(() => {
626
626
  if (isPrevNumber) {
627
627
  numberDownPrevEvent(evnt)
628
628
  } else {
@@ -228,7 +228,7 @@ export default defineComponent({
228
228
  emit('update:modelValue', false)
229
229
  return new Promise<void>(resolve => {
230
230
  if (reactData.isAniVisible) {
231
- internalData.hpTimeout = window.setTimeout(() => {
231
+ internalData.hpTimeout = setTimeout(() => {
232
232
  reactData.isAniVisible = false
233
233
  nextTick(() => {
234
234
  resolve()
@@ -1,6 +1,6 @@
1
- import { defineComponent, h, Teleport, PropType, ref, Ref, inject, computed, provide, onUnmounted, reactive, nextTick, watch, onMounted, createCommentVNode } from 'vue'
1
+ import { defineComponent, h, Teleport, PropType, ref, Ref, inject, computed, provide, onUnmounted, reactive, nextTick, watch, onMounted } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
- import { getConfig, getIcon, getI18n, globalEvents, GLOBAL_EVENT_KEYS, createEvent, useSize } from '../../ui'
3
+ import { getConfig, getIcon, getI18n, globalEvents, GLOBAL_EVENT_KEYS, createEvent, useSize, renderEmptyElement } from '../../ui'
4
4
  import { getEventTargetNode, getAbsolutePos } from '../../ui/src/dom'
5
5
  import { getLastZIndex, nextZIndex, getFuncText } from '../../ui/src/utils'
6
6
  import { getSlotVNs } from '../../ui/src/vn'
@@ -39,6 +39,10 @@ export default defineComponent({
39
39
  default: () => getConfig().select.multiCharOverflow
40
40
  },
41
41
  prefixIcon: String as PropType<VxeSelectPropTypes.PrefixIcon>,
42
+ allowCreate: {
43
+ type: Boolean as PropType<VxeSelectPropTypes.AllowCreate>,
44
+ default: () => getConfig().select.allowCreate
45
+ },
42
46
  placement: String as PropType<VxeSelectPropTypes.Placement>,
43
47
  options: Array as PropType<VxeSelectPropTypes.Options>,
44
48
  optionProps: Object as PropType<VxeSelectPropTypes.OptionProps>,
@@ -129,6 +133,7 @@ export default defineComponent({
129
133
  const internalData: SelectInternalData = {
130
134
  synchData: [],
131
135
  fullData: [],
136
+ optAddMaps: {},
132
137
  optGroupKeyMaps: {},
133
138
  optFullValMaps: {},
134
139
  remoteValMaps: {},
@@ -503,7 +508,7 @@ export default defineComponent({
503
508
  reactData.searchValue = ''
504
509
  reactData.searchLoading = false
505
510
  reactData.visiblePanel = false
506
- internalData.hpTimeout = window.setTimeout(() => {
511
+ internalData.hpTimeout = setTimeout(() => {
507
512
  reactData.isAniVisible = false
508
513
  }, 350)
509
514
  }
@@ -704,7 +709,7 @@ export default defineComponent({
704
709
  showOptionPanel()
705
710
  setTimeout(() => {
706
711
  reactData.triggerFocusPanel = false
707
- }, 150)
712
+ }, 500)
708
713
  }
709
714
  }
710
715
  dispatchEvent('focus', {}, evnt)
@@ -786,9 +791,24 @@ export default defineComponent({
786
791
  }
787
792
 
788
793
  const handleData = () => {
789
- const { scrollYLoad, afterVisibleList } = reactData
790
- const { scrollYStore } = internalData
791
- reactData.optList = scrollYLoad ? afterVisibleList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : afterVisibleList.slice(0)
794
+ const { filterable, allowCreate } = props
795
+ const { scrollYLoad, afterVisibleList, searchValue } = reactData
796
+ const { optAddMaps, scrollYStore } = internalData
797
+ const labelField = computeLabelField.value
798
+ const valueField = computeValueField.value
799
+ const restList = scrollYLoad ? afterVisibleList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : afterVisibleList.slice(0)
800
+ if (filterable && allowCreate && searchValue) {
801
+ if (!restList.some(option => option[labelField] === searchValue)) {
802
+ const addItem = optAddMaps[searchValue] || {
803
+ [getOptKey()]: searchValue,
804
+ [labelField]: searchValue,
805
+ [valueField]: searchValue
806
+ }
807
+ optAddMaps[searchValue] = addItem
808
+ restList.unshift(addItem)
809
+ }
810
+ }
811
+ reactData.optList = restList
792
812
  return nextTick()
793
813
  }
794
814
 
@@ -1072,8 +1092,9 @@ export default defineComponent({
1072
1092
  Object.assign($xeSelect, selectMethods)
1073
1093
 
1074
1094
  const renderOption = (list: VxeOptionProps[], group?: VxeOptgroupProps) => {
1075
- const { optionKey, modelValue } = props
1095
+ const { allowCreate, optionKey, modelValue } = props
1076
1096
  const { currentOption } = reactData
1097
+ const { optAddMaps } = internalData
1077
1098
  const optionOpts = computeOptionOpts.value
1078
1099
  const labelField = computeLabelField.value
1079
1100
  const valueField = computeValueField.value
@@ -1085,11 +1106,13 @@ export default defineComponent({
1085
1106
  const optid = getOptId(option)
1086
1107
  const optionValue = option[valueField as 'value']
1087
1108
  const isOptGroup = hasOptGroupById(optid)
1088
- const isSelected = XEUtils.isArray(modelValue) ? modelValue.indexOf(optionValue) > -1 : modelValue === optionValue
1089
- const isVisible = !isOptGroup || isOptionVisible(option)
1090
- const isDisabled = checkOptionDisabled(isSelected, option, group)
1109
+ const isAdd = !!(allowCreate && optAddMaps[optid])
1110
+ const isSelected = !isAdd && (XEUtils.isArray(modelValue) ? modelValue.indexOf(optionValue) > -1 : modelValue === optionValue)
1111
+ const isVisible = isAdd || (!isOptGroup || isOptionVisible(option))
1112
+ const isDisabled = !isAdd && checkOptionDisabled(isSelected, option, group)
1091
1113
  const defaultSlot = slots ? slots.default : null
1092
1114
  const optParams = { option, group: null, $select: $xeSelect }
1115
+ const optVNs = optionSlot ? callSlot(optionSlot, optParams) : (defaultSlot ? callSlot(defaultSlot, optParams) : getFuncText(option[(isOptGroup ? groupLabelField : labelField) as 'label']))
1093
1116
  return isVisible
1094
1117
  ? h('div', {
1095
1118
  key: useKey || optionKey ? optid : cIndex,
@@ -1097,6 +1120,7 @@ export default defineComponent({
1097
1120
  'vxe-select-optgroup': isOptGroup,
1098
1121
  'is--disabled': isDisabled,
1099
1122
  'is--selected': isSelected,
1123
+ 'is--add': isAdd,
1100
1124
  'is--hover': currentOption && getOptId(currentOption) === optid
1101
1125
  }],
1102
1126
  // attrs
@@ -1118,8 +1142,25 @@ export default defineComponent({
1118
1142
  setCurrentOption(option)
1119
1143
  }
1120
1144
  }
1121
- }, optionSlot ? callSlot(optionSlot, optParams) : (defaultSlot ? callSlot(defaultSlot, optParams) : getFuncText(option[(isOptGroup ? groupLabelField : labelField) as 'label'])))
1122
- : createCommentVNode()
1145
+ }, allowCreate
1146
+ ? [
1147
+ h('span', {
1148
+ key: 1,
1149
+ class: 'vxe-select-option--label'
1150
+ }, optVNs),
1151
+ isAdd
1152
+ ? h('span', {
1153
+ key: 2,
1154
+ class: 'vxe-select-option--add-icon'
1155
+ }, [
1156
+ h('i', {
1157
+ class: getIcon().ADD_OPTION
1158
+ })
1159
+ ])
1160
+ : renderEmptyElement($xeSelect)
1161
+ ]
1162
+ : optVNs)
1163
+ : renderEmptyElement($xeSelect)
1123
1164
  })
1124
1165
  }
1125
1166
 
@@ -1249,12 +1290,12 @@ export default defineComponent({
1249
1290
  onSearch: triggerSearchEvent
1250
1291
  })
1251
1292
  ])
1252
- : createCommentVNode(),
1293
+ : renderEmptyElement($xeSelect),
1253
1294
  headerSlot
1254
1295
  ? h('div', {
1255
1296
  class: 'vxe-select--panel-header'
1256
1297
  }, headerSlot({}))
1257
- : createCommentVNode(),
1298
+ : renderEmptyElement($xeSelect),
1258
1299
  h('div', {
1259
1300
  class: 'vxe-select--panel-body'
1260
1301
  }, [
@@ -1282,7 +1323,7 @@ export default defineComponent({
1282
1323
  ? h('div', {
1283
1324
  class: 'vxe-select--panel-footer'
1284
1325
  }, footerSlot({}))
1285
- : createCommentVNode()
1326
+ : renderEmptyElement($xeSelect)
1286
1327
  ])
1287
1328
  ]
1288
1329
  : [])
@@ -424,7 +424,7 @@ export default defineComponent({
424
424
  if (internalData.hpTimeout) {
425
425
  clearTimeout(internalData.hpTimeout)
426
426
  }
427
- internalData.hpTimeout = window.setTimeout(() => {
427
+ internalData.hpTimeout = setTimeout(() => {
428
428
  reactData.isAniVisible = false
429
429
  internalData.hpTimeout = undefined
430
430
  }, 350)
@@ -386,7 +386,7 @@ export default defineComponent({
386
386
 
387
387
  const hideOptionPanel = () => {
388
388
  reactData.visiblePanel = false
389
- internalData.hpTimeout = window.setTimeout(() => {
389
+ internalData.hpTimeout = setTimeout(() => {
390
390
  reactData.isAniVisible = false
391
391
  }, 350)
392
392
  }
@@ -374,6 +374,7 @@ setIcon({
374
374
  SELECT_LOADED: iconPrefix + 'spinner roll',
375
375
  SELECT_OPEN: iconPrefix + 'caret-down rotate180',
376
376
  SELECT_CLOSE: iconPrefix + 'caret-down',
377
+ ADD_OPTION: iconPrefix + 'add',
377
378
 
378
379
  // icon-picker
379
380
  ICON_PICKER_OPEN: iconPrefix + 'caret-down rotate180',