vxe-pc-ui 4.15.5 → 4.15.7

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 (59) hide show
  1. package/dist/all.esm.js +84 -44
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/cascader/src/cascader.js +2 -2
  5. package/es/date-panel/src/util.js +16 -0
  6. package/es/date-picker/src/date-picker.js +56 -34
  7. package/es/icon/style.css +1 -1
  8. package/es/pulldown/src/pulldown.js +3 -3
  9. package/es/style.css +1 -1
  10. package/es/style.min.css +1 -1
  11. package/es/table-select/src/table-select.js +1 -1
  12. package/es/tree-select/src/tree-select.js +3 -3
  13. package/es/ui/index.js +3 -1
  14. package/es/ui/src/log.js +1 -1
  15. package/lib/cascader/src/cascader.js +2 -2
  16. package/lib/cascader/src/cascader.min.js +1 -1
  17. package/lib/date-panel/src/util.js +17 -0
  18. package/lib/date-panel/src/util.min.js +1 -1
  19. package/lib/date-picker/src/date-picker.js +62 -30
  20. package/lib/date-picker/src/date-picker.min.js +1 -1
  21. package/lib/icon/style/style.css +1 -1
  22. package/lib/icon/style/style.min.css +1 -1
  23. package/lib/index.umd.js +92 -41
  24. package/lib/index.umd.min.js +1 -1
  25. package/lib/pulldown/src/pulldown.js +3 -3
  26. package/lib/pulldown/src/pulldown.min.js +1 -1
  27. package/lib/style.css +1 -1
  28. package/lib/style.min.css +1 -1
  29. package/lib/table-select/src/table-select.js +1 -1
  30. package/lib/table-select/src/table-select.min.js +1 -1
  31. package/lib/tree-select/src/tree-select.js +3 -3
  32. package/lib/tree-select/src/tree-select.min.js +1 -1
  33. package/lib/ui/index.js +3 -1
  34. package/lib/ui/index.min.js +1 -1
  35. package/lib/ui/src/log.js +1 -1
  36. package/lib/ui/src/log.min.js +1 -1
  37. package/package.json +1 -1
  38. package/packages/cascader/src/cascader.ts +2 -2
  39. package/packages/date-panel/src/util.ts +18 -0
  40. package/packages/date-picker/src/date-picker.ts +62 -31
  41. package/packages/pulldown/src/pulldown.ts +3 -3
  42. package/packages/table-select/src/table-select.ts +1 -1
  43. package/packages/tree-select/src/tree-select.ts +3 -3
  44. package/packages/ui/index.ts +2 -0
  45. package/types/components/date-panel.d.ts +6 -6
  46. package/types/components/date-picker.d.ts +4 -0
  47. package/types/components/table.d.ts +16 -2
  48. /package/es/icon/{iconfont.1781979589724.ttf → iconfont.1782112308661.ttf} +0 -0
  49. /package/es/icon/{iconfont.1781979589724.woff → iconfont.1782112308661.woff} +0 -0
  50. /package/es/icon/{iconfont.1781979589724.woff2 → iconfont.1782112308661.woff2} +0 -0
  51. /package/es/{iconfont.1781979589724.ttf → iconfont.1782112308661.ttf} +0 -0
  52. /package/es/{iconfont.1781979589724.woff → iconfont.1782112308661.woff} +0 -0
  53. /package/es/{iconfont.1781979589724.woff2 → iconfont.1782112308661.woff2} +0 -0
  54. /package/lib/icon/style/{iconfont.1781979589724.ttf → iconfont.1782112308661.ttf} +0 -0
  55. /package/lib/icon/style/{iconfont.1781979589724.woff → iconfont.1782112308661.woff} +0 -0
  56. /package/lib/icon/style/{iconfont.1781979589724.woff2 → iconfont.1782112308661.woff2} +0 -0
  57. /package/lib/{iconfont.1781979589724.ttf → iconfont.1782112308661.ttf} +0 -0
  58. /package/lib/{iconfont.1781979589724.woff → iconfont.1782112308661.woff} +0 -0
  59. /package/lib/{iconfont.1781979589724.woff2 → iconfont.1782112308661.woff2} +0 -0
@@ -38,7 +38,7 @@ export default defineVxeComponent({
38
38
  modelValue: [String, Number, Array],
39
39
  clearable: {
40
40
  type: Boolean,
41
- default: getConfig().tableSelect.clearable
41
+ default: () => getConfig().tableSelect.clearable
42
42
  },
43
43
  placeholder: {
44
44
  type: String,
@@ -44,7 +44,7 @@ export default defineVxeComponent({
44
44
  modelValue: [String, Number, Array],
45
45
  clearable: {
46
46
  type: Boolean,
47
- default: getConfig().treeSelect.clearable
47
+ default: () => getConfig().treeSelect.clearable
48
48
  },
49
49
  placeholder: {
50
50
  type: String,
@@ -61,11 +61,11 @@ export default defineVxeComponent({
61
61
  },
62
62
  showFullLabel: {
63
63
  type: Boolean,
64
- default: getConfig().treeSelect.showFullLabel
64
+ default: () => getConfig().treeSelect.showFullLabel
65
65
  },
66
66
  separator: {
67
67
  type: String,
68
- default: getConfig().treeSelect.separator
68
+ default: () => getConfig().treeSelect.separator
69
69
  },
70
70
  filterable: Boolean,
71
71
  filterConfig: Object,
package/es/ui/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { VxeUI, setConfig, setIcon } from '@vxe-ui/core';
2
2
  import { dynamicApp } from '../dynamics';
3
3
  import { warnLog } from './src/log';
4
- export const version = "4.15.5";
4
+ export const version = "4.15.7";
5
5
  VxeUI.uiVersion = version;
6
6
  VxeUI.dynamicApp = dynamicApp;
7
7
  export function config(options) {
@@ -104,6 +104,8 @@ setConfig({
104
104
  datePicker: {
105
105
  // size: null,
106
106
  // transfer: false,
107
+ startDate: new Date(1900, 0, 1),
108
+ endDate: new Date(2100, 0, 1),
107
109
  shortcutConfig: {
108
110
  // position: 'left',
109
111
  align: 'left',
package/es/ui/src/log.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const uiVersion = `ui v${"4.15.5"}`;
3
+ const uiVersion = `ui v${"4.15.7"}`;
4
4
  export function createComponentLog(name) {
5
5
  const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : '';
6
6
  const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
@@ -85,11 +85,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
85
85
  filterConfig: Object,
86
86
  showFullLabel: {
87
87
  type: Boolean,
88
- default: (0, _ui.getConfig)().cascader.showFullLabel
88
+ default: () => (0, _ui.getConfig)().cascader.showFullLabel
89
89
  },
90
90
  separator: {
91
91
  type: String,
92
- default: (0, _ui.getConfig)().cascader.separator
92
+ default: () => (0, _ui.getConfig)().cascader.separator
93
93
  },
94
94
  multiple: Boolean,
95
95
  className: [String, Function],
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils")),_list=_interopRequireDefault(require("../../list/src/list")),_input=_interopRequireDefault(require("../../input/src/input")),_button=_interopRequireDefault(require("../../button/src/button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}function createReactData(){return{initialized:!1,searchValue:"",searchLoading:!1,currentCunkList:[],currentItems:[],currentNode:null,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,selectRadioKey:null,treeList:[],updateExpandedFlag:1,updateCheckboxFlag:1,fullOptFlag:1,lazyOptFlag:1}}function createInternalData(){return{listVirtualYOpts:{enabled:!0,gt:20},afterTreeList:[],treeFullData:[],afterVisibleList:[],nodeMaps:{},fullNodeMaps:{},lazyNodeMaps:{},indeterminateRowMaps:{},selectCheckboxMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{}}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeCascader",props:{modelValue:[String,Number,Array],clearable:Boolean,placeholder:{type:String,default:()=>_xeUtils.default.eqNull((0,_ui.getConfig)().cascader.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().cascader.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},filterable:Boolean,filterConfig:Object,showFullLabel:{type:Boolean,default:(0,_ui.getConfig)().cascader.showFullLabel},separator:{type:String,default:(0,_ui.getConfig)().cascader.separator},multiple:Boolean,className:[String,Function],prefixIcon:String,lazyOptions:Array,options:Array,optionProps:Object,size:{type:String,default:()=>(0,_ui.getConfig)().cascader.size||(0,_ui.getConfig)().size},treeConfig:Object,showRadio:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showRadio},radioConfig:Object,showCheckbox:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showCheckbox},checkboxConfig:Object,remote:Boolean,remoteConfig:Function,popupConfig:Object,checkedClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.checkedClosable},clearClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.clearClosable},showCloseButton:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showCloseButton},showTotalButton:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showTotalButton},showCheckedButton:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showCheckedButton},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showClearButton}},emits:["update:modelValue","change","all-change","clear","blur","focus","click","node-click","node-expand","current-change","radio-change","checkbox-change","load-success","load-error","visible-change"],setup(V,e){let{emit:l,slots:F}=e,C=(0,_vue.inject)("$xeModal",null),k=(0,_vue.inject)("$xeDrawer",null),E=(0,_vue.inject)("$xeTable",null),r=(0,_vue.inject)("$xeForm",null),i=(0,_vue.inject)("xeFormItemInfo",null);var a=_xeUtils.default.uniqueId();let S=(0,_ui.useSize)(V).computeSize,I=(0,_vue.ref)(),L=(0,_vue.ref)(),$=(0,_vue.ref)(),j=(0,_vue.ref)(),T=(0,_vue.ref)(),U=(0,_vue.reactive)(createReactData()),P=createInternalData(),y={refElem:I},q=(0,_vue.computed)(()=>{var e=V.readonly;return null===e?!!r&&r.props.readonly:e}),w=(0,_vue.computed)(()=>{var e=V.disabled;return null===e?!!r&&r.props.disabled:e}),K=(0,_vue.computed)(()=>{var e=N.value.transfer;return _xeUtils.default.isBoolean(e)?e:!!(E||C||k||r)}),O=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.treeConfig,V.treeConfig)),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.radioConfig,V.radioConfig)),g=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.checkboxConfig,V.checkboxConfig)),N=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.popupConfig,V.popupConfig)),M=(0,_vue.computed)(()=>V.optionProps||{}),D=(0,_vue.computed)(()=>M.value.label||"label"),p=(0,_vue.computed)(()=>M.value.value||"value"),H=(0,_vue.computed)(()=>O.value.keyField||"id"),X=(0,_vue.computed)(()=>O.value.parentField||"parentId"),A=(0,_vue.computed)(()=>O.value.childrenField||"children"),B=(0,_vue.computed)(()=>O.value.mapChildrenField||"mapChildren"),Y=(0,_vue.computed)(()=>O.value.hasChildField||"hasChild"),W=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.remoteConfig,V.remoteConfig)),Z=(0,_vue.computed)(()=>{var e=V.modelValue;return _xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]}),G=(0,_vue.computed)(()=>{let t=V.showFullLabel,{fullOptFlag:l,lazyOptFlag:r}=U,{fullNodeMaps:i,lazyNodeMaps:n}=P,u=D.value;return Z.value.map(e=>{var a=i[e];if(l&&a)return t?a.fullLabel:a.item[u];if(r){a=n[e];if(a)return t?a.fullLabel:a.item[u]}return e}).join(", ")}),J=(0,_vue.computed)(()=>{var{currentCunkList:e,panelStyle:a}=U,{height:t,nodeWidth:l,nodeHeight:r}=N.value,a=Object.assign(Object.assign({},a),{"--vxe-ui-cascader-chunk-size":e.length});return t&&(a["--vxe-ui-cascader-chunk-height"]=(0,_dom.toCssUnit)(t)),l&&(a["--vxe-ui-cascader-node-width"]=(0,_dom.toCssUnit)(l)),r&&(a["--vxe-ui-cascader-node-height"]=(0,_dom.toCssUnit)(r)),a}),Q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.filterConfig,V.filterConfig)),ee={},R={xID:a,props:V,context:e,reactData:U,internalData:P,getRefMaps:()=>y,getComputeMaps:()=>ee},x=(e,a,t)=>{l(e,(0,_ui.createEvent)(t,{$cascader:R},a))},ae=e=>{l("update:modelValue",e)};a={dispatchEvent:x};let z=e=>e?(e=e[p.value],(0,_util.enNodeValue)(e)):"";let te=(e,t)=>{let l=P.selectCheckboxMaps;var a=B.value,r=A.value,i=g.value.checkStrictly,n=O.value.transform,u=e=>{var a=z(e);t?l[a]||(l[a]=e):l[a]&&delete l[a]};i?e.forEach(u):_xeUtils.default.eachTree(e,u,{children:n?a:r}),U.updateCheckboxFlag++,m()},le=(e,t)=>{let l=P.nodeMaps;if(e){_xeUtils.default.isArray(e)||(e=[e]);let a=[];e.forEach(e=>{e=(0,_util.enNodeValue)(e),e=l[e];e&&a.push(e.item)}),te(a,t)}return(0,_vue.nextTick)()},u=()=>{var e,a=V.modelValue,t=P.nodeMaps;let l={};V.multiple?a&&a.length&&(e=a,P.selectCheckboxMaps={},le(e,!0)):a&&(t=t[e=(0,_util.enNodeValue)(_xeUtils.default.isArray(a)?a[0]:a)])&&(t.nodes.forEach(e=>{l[z(e)]=!0}),U.selectRadioKey=e),P.treeExpandedMaps=l},re=()=>{let o=V.separator;var e=P.treeFullData;let s=p.value,d=D.value;var a=A.value;let c={},v={};_xeUtils.default.eachTree(e,(e,a,t,l,r,i)=>{let n=z(e);n||(n=getNodeUniqueId(),e[s]=n);var u=e[s],e={item:e,index:a,$index:-1,_index:-1,items:t,parent:r,nodes:i,level:i.length-1,treeIndex:a,lineCount:0,treeLoaded:!1,fullLabel:i.map(e=>e[d]).join(o||" / ")};c[n]=e,v[u]=e},{children:a}),P.nodeMaps=c,P.fullNodeMaps=v,U.fullOptFlag++},ie=()=>{let o=V.separator,{afterTreeList:e,nodeMaps:s}=P,d=D.value;var a=A.value,t=B.value,l=O.value.transform;let c=0;_xeUtils.default.eachTree(e,(e,a,t,l,r,i)=>{var n=z(e),u=s[n];u?(u.items=t,u.treeIndex=a,u._index=c):(u={item:e,index:a,$index:-1,_index:c,items:t,parent:r,nodes:i,level:i.length-1,treeIndex:a,lineCount:0,treeLoaded:!1,fullLabel:i.map(e=>e[d]).join(o||" / ")},s[n]=u),c++},{children:l?t:a})},ne=()=>{var a=U.searchValue,{treeFullData:t,lastFilterValue:e}=P;let l=D.value;var r=A.value,i=B.value,n=O.value.transform;let{beforeFilterMethod:u,filterMethod:o,afterFilterMethod:s}=Q.value,d=t,c=d,v="";if(a){v=""+a;a=o?e=>o({$cascader:R,node:e,filterValue:v}):e=>-1<String(e[l]).toLowerCase().indexOf(v.toLowerCase());let e={$cascader:R,filterValue:v};u&&u(e),d=n?c=_xeUtils.default.searchTree(t,a,{original:!0,isEvery:!0,children:r,mapChildren:i}):t.filter(a),P.lastFilterValue=v,(0,_vue.nextTick)(()=>{s&&s(e)})}else{if(n&&(c=_xeUtils.default.searchTree(t,()=>!0,{original:!0,isEvery:!0,children:r,mapChildren:i}),d=c,e)){let e={$cascader:R,filterValue:v};u&&u(e),(0,_vue.nextTick)(()=>{s&&s(e)})}P.lastFilterValue=""}P.afterVisibleList=d,P.afterTreeList=c,ie()},v=()=>{let{afterTreeList:e,treeExpandedMaps:o}=P;var a=B.value,t=O.value.transform;let s={};if(t){let u=[];return _xeUtils.default.eachTree(e,(e,a,t,l,r)=>{var i=z(e),n=z(r);(!r||s[n]&&o[n])&&(s[i]=1,u.push(e))},{children:a}),P.afterVisibleList=u}return P.afterVisibleList},h=e=>{let a=P.afterVisibleList;e&&(ne(),a=v());e=a.slice(0);U.treeList=e};let ue=_xeUtils.default.debounce(()=>{h(!0),u();var e=Q.value.autoExpandMode,a=P.afterTreeList;"first"===e||"last"===e?(a=((e,a)=>{var t=A.value,l=B.value,r=O.value.transform,i=r?l:t,n=[];let u=e;for(;u.length;){let e=null;for(var o of u){var s=o[i];if(_xeUtils.default.isArray(s)&&0<s.length){e=o;break}}if(!e){var d=_xeUtils.default[a](u);n.push(z(d));break}n.push(z(e)),u=e[i]}return n})(a,e),U.currentItems=a):s(),o()},350,{trailing:!0}),oe=e=>{var a=O.value,t=H.value,l=X.value,r=A.value,{rootParentValue:i,rootValues:n}=a,a=a.transform,a=a?_xeUtils.default.toArrayTree(e,{key:t,parentKey:l,mapChildren:r,rootParentValue:i,rootValues:n}):e?e.slice(0):[];return P.treeFullData=a,re(),h(!0),u(),s(),o(),(0,_vue.nextTick)()},o=()=>{var l=U.currentItems,r=P.afterTreeList,i=A.value,n=B.value,u=O.value.transform,o=[r];if(l.length){let e=0,a=l[e],t=r;for(;a&&t&&t.length;){a=l[e++];var s=t.find(e=>a===z(e));if(!(t=s?s[u?n:i]:[])||!t.length)break;o.push(t)}}U.currentCunkList=o},s=()=>{var e=P.afterTreeList,t=Z.value,l=A.value,r=B.value,i=O.value.transform;let n=[],u={};if(t.length){let a=(0,_util.enNodeValue)(_xeUtils.default.last(t));t=_xeUtils.default.findTree(e,e=>a===z(e),{children:i?r:l});t&&(e=t.nodes,e.forEach(e=>{e=z(e);u[e]=!0,n.push(e)}))}P.treeExpandedMaps=u,U.currentItems=n},se=()=>{var e=N.value.zIndex;e?U.panelIndex=e:U.panelIndex<(0,_utils.getLastZIndex)()&&(U.panelIndex=(0,_utils.nextZIndex)())},d=()=>{let t=U.panelIndex,l=I.value,r=T.value,i=K.value,n=N.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(l,r,{placement:n.placement,defaultPlacement:n.defaultPlacement,teleportTo:i,isMinWidth:!1}),a=Object.assign(e.style,{zIndex:t});U.panelStyle=a,U.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},t=e=>{var{loading:a,remote:t,filterable:l}=V,r=P.treeFullData,i=w.value,n=W.value;a||i||(clearTimeout(P.hpTimeout),U.initialized||(U.initialized=!0),U.isActivated=!0,U.isAniVisible=!0,l&&t&&n.enabled&&n.autoLoad&&!r.length&&Pe(),setTimeout(()=>{U.visiblePanel=!0,ke()},10),se(),d(),x("visible-change",{visible:!0},e||null))},c=e=>{U.visiblePanel=!1,P.hpTimeout=setTimeout(()=>{U.isAniVisible=!1},350),x("visible-change",{visible:!1},e||null)},de=e=>(U.currentNode=e,(0,_vue.nextTick)()),ce=e=>{let t={};var a=A.value,l=B.value,r=O.value.transform;let i=[],n=[];return e&&_xeUtils.default.eachTree(P.afterTreeList,e=>{var a=z(e);i.push(a),n.push(e),t[a]=!0},{children:r?l:a}),P.indeterminateRowMaps={},P.selectCheckboxMaps=t,U.updateCheckboxFlag++,m(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:i,checkNodes:n}))},ve=()=>(P.indeterminateRowMaps={},P.selectCheckboxMaps={},U.updateCheckboxFlag++,U.selectRadioKey=null,m(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:[],checkNodes:[]}))),f=(e,a,t)=>{a=_xeUtils.default.isArray(a)?a.map(_util.deNodeValue):(0,_util.deNodeValue)(a);ae(a),a!==V.modelValue&&(x("change",{value:a,node:t,option:t},e),r)&&i&&r.triggerItemEvent(e,i.itemConfig.field,a)},pe=(e,a)=>{f(e,a,null),x("clear",{value:a},e)},he=(e,a)=>{pe(a,null),c(a)},fe=e=>{let t=e.$event,{multiple:a,checkedClosable:l}=V;a&&ce(!0).then(({checkNodeKeys:e,checkNodes:a})=>{f(t,e,a[0]),x("all-change",{value:e},t),l&&c(t)})},_e=e=>{let a=e.$event,{multiple:t,checkedClosable:l}=V;e=t?[]:null;ve().then(()=>{l&&c(a)}),f(a,e,null),x("clear",{value:e},a)},ge=e=>{e=e.$event;c(e)},xe=e=>{var a=U.visiblePanel;w.value||a&&(a=T.value,(0,_dom.getEventTargetNode)(e,a).flag?d():c(e))},me=e=>{var a,t,l=U.visiblePanel;w.value||(a=I.value,t=T.value,U.isActivated=(0,_dom.getEventTargetNode)(e,a).flag||(0,_dom.getEventTargetNode)(e,t).flag,l&&!U.isActivated&&c(e))},be=e=>{var{visiblePanel:a,isActivated:t}=U;a&&c(e),t&&(U.isActivated=!1),(a||t)&&(e=L.value)&&e.blur()},Ce=()=>{var e=U.visiblePanel;e&&d()},ke=()=>{V.filterable&&(0,_vue.nextTick)(()=>{var e=$.value;e&&e.focus()})},Ee=(e,a)=>{e.preventDefault();U.currentNode=a,x("current-change",{node:a,checked:!0},e)},ye=(e,a)=>{e.preventDefault(),e.stopPropagation();var t=P.nodeMaps,l=_.value,r=A.value,i=O.value.transform,n=B.value,{checkMode:l,checkMethod:u}=l,o=z(a),i=a[i?n:r],n=i&&0<i.length,r=(t[o]||{}).level;(u?u({$cascader:R,node:a}):b(l,n,r))&&(i=o,U.selectRadioKey=i,f(e,i,a),c(e))},Me=i=>{var e=g.value;let t=O.value.loadMethod,n=e.checkStrictly;return new Promise(e=>{if(t){var a=P.nodeMaps;let l=z(i),r=a[l];P.treeExpandLazyLoadedMaps[l]=!0,Promise.resolve(t({$cascader:R,node:i})).then(t=>{var e=P.treeExpandLazyLoadedMaps;if(r.treeLoaded=!0,e[l]&&(e[l]=!1),t=_xeUtils.default.isArray(t)?t:[])return R.loadChildrenNode(i,t).then(e=>{var a=P.treeExpandedMaps;return e.length&&!a[l]&&(a[l]=!0),U.updateExpandedFlag++,!n&&R.isCheckedByCheckboxNodeId(l)&&te(e,!0),x("load-success",{node:i,data:t},new Event("load-success")),(0,_vue.nextTick)()});x("load-success",{node:i,data:t},new Event("load-success"))}).catch(e=>{var a=P.treeExpandLazyLoadedMaps;r.treeLoaded=!1,a[l]&&(a[l]=!1),x("load-error",{node:i,data:e},new Event("load-error"))}).finally(()=>{v(),h()})}else e()})},Ie=(e,a)=>{let{treeExpandLazyLoadedMaps:l,treeExpandedMaps:r}=P,i=P.nodeMaps,n=A.value,u=Y.value;let{lazy:o,toggleMethod:t}=O.value,s=[];var e=(e=t?e.filter(e=>t({$cascader:R,expanded:a,node:e})):e).length?[e[e.length-1]]:[],d=z(e[0]),d=i[d];d&&d.items.forEach(e=>{e=z(e);r[e]&&delete r[e]});let c=[];return a?e.forEach(e=>{var a,t=z(e);r[t]||(a=i[t],o&&e[u]&&!a.treeLoaded&&!l[t]?s.push(Me(e)):e[n]&&e[n].length&&(r[t]=!0,c.push(e)))}):e.forEach(e=>{var a=z(e);r[a]&&(delete r[a],c.push(e))}),U.updateExpandedFlag++,v(),h(),Promise.all(s)},Le=(e,a,t,l)=>{var r=U.currentItems,i=P.treeExpandLazyLoadedMaps,n=O.value.lazy,r=r.slice(0,l),l=z(a);e.stopPropagation(),r.push(l),U.currentItems=r,n&&i[l]||Ie([a],!0),de(a),o(),x("node-expand",{node:a,expanded:!0},e)},m=()=>{let{selectCheckboxMaps:o,indeterminateRowMaps:s,afterTreeList:e}=P,i=A.value,n=B.value;let{checkStrictly:a,checkMethod:d}=g.value,u=O.value.transform;if(!a){let l={},r=[];_xeUtils.default.eachTree(e,e=>{var a=z(e),t=e[u?n:i];t&&t.length&&!l[a]&&(l[a]=1,r.unshift([e,a,t]))},{children:u?n:i}),r.forEach(e=>{var a=e[0],t=e[1],e=e[2];let l=0,r=0,i=0;var n=e.length;e.forEach(d?e=>{var a=z(e),t=o[a];d({$cascader:R,node:e})?(t?l++:s[a]&&r++,i++):t?l++:s[a]&&r++}:e=>{e=z(e);o[e]?l++:s[e]&&r++,i++});let u=!1;e=!(u=0<n?0<i?(0<l||0<r)&&l>=i:0<l&&l>=i||!!o[t]:o[t])&&(0<l||0<r);u?(o[t]=a,s[t]&&delete s[t]):(o[t]&&delete o[t],e?s[t]=a:s[t]&&delete s[t])}),U.updateCheckboxFlag++}},Te=(e,t)=>{e.preventDefault(),e.stopPropagation();let{selectCheckboxMaps:l,nodeMaps:a}=P;var r=A.value,i=B.value,{checkStrictly:n,checkMode:u,checkMethod:o}=g.value,s=O.value.transform,d=z(t),c=t[s?i:r],c=c&&0<c.length,v=(a[d]||{}).level,o=o?!o({$cascader:R,node:t}):!b(u,c,v);if(!o){let a=!1;l[d]?delete l[d]:(a=!0,l[d]=t),n||_xeUtils.default.eachTree(_xeUtils.default.get(t,s?i:r),e=>{e=z(e);a?l[e]||(l[e]=!0):l[e]&&delete l[e]},{children:s?i:r}),U.updateCheckboxFlag++,m();u=_xeUtils.default.keys(l);f(e,u,t)}},we=(e,a,t,l)=>{var{multiple:r,showCheckbox:i,showRadio:n}=V,u=O.value,o=_.value,s=g.value,d=A.value,c=B.value,{transform:u,trigger:v}=u,u=a[u?c:d];let p=!1,h=!1,f=!1;Ee(e,a),"icon"!==v&&(f=!0,Le(e,a,t,l)),r?"node"!==s.trigger&&(i||u&&u.length)||(h=!0,Te(e,a)):"node"!==o.trigger&&(n||u&&u.length)||(p=!0,ye(e,a)),x("node-click",{node:a,triggerCurrent:!0,triggerRadio:p,triggerCheckbox:h,triggerExpand:f},e)},Ne=e=>{w.value||U.visiblePanel||(U.triggerFocusPanel=!0,t(e),setTimeout(()=>{U.triggerFocusPanel=!1},150)),x("focus",{},e)},Ve=e=>{e.preventDefault(),U.triggerFocusPanel?U.triggerFocusPanel=!1:U.visiblePanel||t(e),x("click",{},e)},Fe=e=>{U.isActivated=!1,x("blur",{},e)},Ue=e=>{U.searchValue=e,ue(new Event("filter"))},Pe=()=>{var{modelValue:e,remote:a}=V,t=U.searchValue,l=W.value,r=l.queryMethod;a&&r&&l.enabled&&(U.searchLoading=!0,Promise.resolve(r({$cascader:R,searchValue:t,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{U.searchLoading=!1}))},Oe=e=>{e=e.$event;e.preventDefault(),U.triggerFocusPanel?U.triggerFocusPanel=!1:(U.visiblePanel?c:t)(e)},b=(Object.assign(R,a,{isCheckedByCheckboxNodeId:e=>{var a=U.updateCheckboxFlag,t=P.selectCheckboxMaps;return!(!a||!t[e])},loadChildrenNode(a,e){let u=V.separator,o=P.nodeMaps;var t=O.value;let s=D.value,{lazy:l,transform:r}=t;if(!l)return Promise.resolve([]);let i=A.value,n=B.value,d=o[z(a)],c=d?d.level:0,v=d?d.nodes:[];return(e=>{let t=p.value;return Promise.resolve(e.map(e=>{var a,e=Object.assign({},e);return z(e)||(a=getNodeUniqueId(),_xeUtils.default.set(e,t,a)),e}))})(e).then(e=>(_xeUtils.default.eachTree(e,(e,a,t,l,r,i)=>{var n=z(e);o[n]={item:e,index:-1,$index:-1,_index:-1,items:t,parent:r||d.item,nodes:v.concat(i),level:c+i.length,treeIndex:-1,lineCount:0,treeLoaded:!1,fullLabel:i.map(e=>e[s]).join(u||" / ")}},{children:i}),a[i]=e,r&&(a[n]=e),ie(),e))}}),(e,a,t)=>{if(e){if("first"===e)return!t;if("last"===e)return!a}return!0}),De=(t,e,l,r)=>{var a=V.showRadio,{checkMode:i,checkMethod:n,visibleMode:u,visibleMethod:o}=_.value,o=o?o({$cascader:R,node:t}):b(u,e,l);if(a&&o){let a=n?!n({$cascader:R,node:t}):!b(i,e,l);return(0,_vue.h)("div",{class:["vxe-tree--radio-option",{"is--checked":r,"is--disabled":a}],onClick:e=>{a||ye(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",r?(0,_ui.getIcon)().RADIO_CHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(R)},Ae=(t,e,l,r,i)=>{var a=V.showCheckbox,{checkMode:n,checkMethod:u,visibleMode:o,visibleMethod:s}=g.value,s=s?s({$cascader:R,node:t}):b(o,e,l);if(a&&s){let a=u?!u({$cascader:R,node:t}):!b(n,e,l);return(0,_vue.h)("div",{class:["vxe-cascader--checkbox-option",{"is--checked":r,"is--indeterminate":i,"is--disabled":a}],onClick:e=>{a||Te(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:r?(0,_ui.getIcon)().CHECKBOX_CHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(R)};(0,_vue.watch)(()=>V.modelValue,()=>{U.visiblePanel||(u(),s(),o())}),(0,_vue.watch)(()=>V.options,()=>{re()});let n=(0,_vue.ref)(0);return(0,_vue.watch)(()=>V.options?V.options.length:0,()=>{n.value++}),(0,_vue.watch)(()=>V.options,()=>{n.value++}),(0,_vue.watch)(n,()=>{oe(V.options||[])}),oe(V.options||[]),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(R,"mousewheel",xe),_ui.globalEvents.on(R,"mousedown",me),_ui.globalEvents.on(R,"blur",be),_ui.globalEvents.on(R,"resize",Ce)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(R,"mousewheel"),_ui.globalEvents.off(R,"mousedown"),_ui.globalEvents.off(R,"blur"),_ui.globalEvents.off(R,"resize"),_xeUtils.default.assign(P,createInternalData())}),(0,_vue.provide)("$xeCascader",R),R.renderVN=()=>{var{className:e,modelValue:a,multiple:t,loading:l,filterable:r,showTotalButton:i,showCheckedButton:n,showClearButton:u,showCloseButton:o}=V,{initialized:s,isActivated:d,isAniVisible:c,visiblePanel:v,searchValue:p,currentCunkList:h}=U;let f=P.listVirtualYOpts;var _=S.value,g=w.value,x=G.value,m=K.value,b=q.value,C=J.value,k=F.header,E=F.footer;let y=F.prefix;var M=N.value.className;return b?(0,_vue.h)("div",{ref:I,class:["vxe-cascader--readonly",e]},[(0,_vue.h)("span",{class:"vxe-cascader-label"},x)]):(b=_xeUtils.default.eqNull(a)?[]:_xeUtils.default.isArray(a)?a:[a],(0,_vue.h)("div",{ref:I,class:["vxe-cascader",e?_xeUtils.default.isFunction(e)?e({$cascader:R}):e:"",{["size--"+_]:_,"is--filterable":r,"is--visible":v,"is--disabled":g,"is--loading":l,"is--active":d}]},[(0,_vue.h)(_input.default,{ref:L,clearable:V.clearable,placeholder:l?(0,_ui.getI18n)("vxe.select.loadingText"):V.placeholder,editable:!1,disabled:g,type:"text",prefixIcon:V.prefixIcon,suffixIcon:l?(0,_ui.getIcon)().TREE_SELECT_LOADED:v?(0,_ui.getIcon)().TREE_SELECT_OPEN:(0,_ui.getIcon)().TREE_SELECT_CLOSE,modelValue:l?"":x,title:x,onClear:he,onClick:Ve,onFocus:Ne,onBlur:Fe,onSuffixClick:Oe},y?{prefix:()=>y({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!m||!s},[(0,_vue.h)("div",{ref:T,class:["vxe-table--ignore-clear vxe-cascader--panel",M?_xeUtils.default.isFunction(M)?M({$cascader:R}):M:"",{["size--"+_]:_,"is--transfer":m,"ani--leave":!l&&c,"ani--enter":!l&&v}],placement:U.panelPlacement,style:C},s?[(0,_vue.h)("div",{class:"vxe-cascader--panel-wrapper"},[r?(0,_vue.h)("div",{class:"vxe-cascader--panel-search"},[(0,_vue.h)(_input.default,{ref:$,class:"vxe-cascader-search--input",modelValue:p,clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.cascader.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":Ue})]):(0,_ui.renderEmptyElement)(R),n&&t||u||k?(0,_vue.h)("div",{class:"vxe-tree-select--panel-header"},k?k({}):[(0,_vue.h)("div",{class:"vxe-tree-select--header-button"},[n&&t||u?(0,_vue.h)("div",{class:"vxe-tree-select--selected-btns"},[n&&t?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.allChecked"),mode:"text",onClick:fe}):(0,_ui.renderEmptyElement)(R),u?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.clearChecked"),mode:"text",onClick:_e}):(0,_ui.renderEmptyElement)(R)]):(0,_ui.renderEmptyElement)(R)])]):(0,_ui.renderEmptyElement)(R),(0,_vue.h)("div",{class:"vxe-cascader--panel-body"},[(0,_vue.h)("div",{ref:j,class:"vxe-cascader-chunk--wrapper"},[h.map((t,l)=>(0,_vue.h)("div",{key:l,class:"vxe-cascader-chunk--item-wrapper"},[(0,_vue.h)(_list.default,{data:t,virtualYConfig:f},{default(e){e=e.items;return e.map((e,a)=>((a,e,t,l,r)=>{var i=V.multiple,{currentNode:n,selectRadioKey:u,updateCheckboxFlag:o,updateExpandedFlag:s}=U,{nodeMaps:d,selectCheckboxMaps:c,indeterminateRowMaps:v,treeExpandedMaps:p,treeExpandLazyLoadedMaps:h}=P;let f=O.value;var{lazy:_,transform:g,iconLoaded:x,iconOpen:m,iconClose:b}=f,C=A.value,k=B.value,E=D.value,y=Y.value,g=a[g?k:C],k=g&&0<g.length,C=F.icon,g=F.title,s=s&&p[e],p=d[e]||{},d=a[E],E=p.level;let M=!1,I=(i||(M=e===u),!1),L=!1,T=(i&&(I=!(!o||!c[e]),L=!(!o||!v[e])),!1),w=!1,N=!1;_&&(w=!!h[e],T=a[y],N=!!p.treeLoaded);u={node:a};return(0,_vue.h)("div",{key:r+"_"+t,class:["vxe-cascader-chunk--node-item",{"is--current":n&&(n===a||z(n)===e),"is-radio--checked":M,"is-checkbox--checked":I,"is-checkbox--indeterminate":L,"is--expand":s}],title:d,onMousedown:e=>{0===e.button&&e.stopPropagation()},onClick(e){we(e,a,l,r)}},[i?Ae(a,k,E,I,L):De(a,k,E,M),(0,_vue.h)("div",{class:"vxe-cascader-chunk--node-item-inner"},[(0,_vue.h)("div",{class:"vxe-cascader-chunk--node-item-title"},g?(0,_ui.getSlotVNs)(g(u)):d)]),f.showIcon&&(!_||N?k:T)?(0,_vue.h)("div",{class:"vxe-cascader-chunk--node-item-switcher"},[[(0,_vue.h)("div",{class:"vxe-cascader--node-item-icon",onClick(e){"icon"===f.trigger&&Le(e,a,l,r)}},C?(0,_ui.getSlotVNs)(C(u)):[(0,_vue.h)("i",{class:w?x||(0,_ui.getIcon)().CASCADER_NODE_LOADED:s?m||(0,_ui.getIcon)().CASCADER_NODE_OPEN:b||(0,_ui.getIcon)().CASCADER_NODE_CLOSE})])]]):(0,_ui.renderEmptyElement)(R)])})(e,z(e),a,t,l))}})]))])]),E||i||o?(0,_vue.h)("div",{class:"vxe-cascader--panel-footer"},E?E({}):[(0,_vue.h)("div",{class:"vxe-cascader--footer-button"},[i?(0,_vue.h)("div",{class:"vxe-cascader--total-btns"},(0,_ui.getI18n)("vxe.treeSelect.total",[b.length])):(0,_ui.renderEmptyElement)(R),o?(0,_vue.h)("div",{class:"vxe-cascader--oper-btns"},[(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.close"),mode:"text",onClick:ge})]):(0,_ui.renderEmptyElement)(R)])]):(0,_ui.renderEmptyElement)(R)])]:[])])]))},R},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils")),_list=_interopRequireDefault(require("../../list/src/list")),_input=_interopRequireDefault(require("../../input/src/input")),_button=_interopRequireDefault(require("../../button/src/button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}function createReactData(){return{initialized:!1,searchValue:"",searchLoading:!1,currentCunkList:[],currentItems:[],currentNode:null,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,selectRadioKey:null,treeList:[],updateExpandedFlag:1,updateCheckboxFlag:1,fullOptFlag:1,lazyOptFlag:1}}function createInternalData(){return{listVirtualYOpts:{enabled:!0,gt:20},afterTreeList:[],treeFullData:[],afterVisibleList:[],nodeMaps:{},fullNodeMaps:{},lazyNodeMaps:{},indeterminateRowMaps:{},selectCheckboxMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{}}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeCascader",props:{modelValue:[String,Number,Array],clearable:Boolean,placeholder:{type:String,default:()=>_xeUtils.default.eqNull((0,_ui.getConfig)().cascader.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().cascader.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},filterable:Boolean,filterConfig:Object,showFullLabel:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showFullLabel},separator:{type:String,default:()=>(0,_ui.getConfig)().cascader.separator},multiple:Boolean,className:[String,Function],prefixIcon:String,lazyOptions:Array,options:Array,optionProps:Object,size:{type:String,default:()=>(0,_ui.getConfig)().cascader.size||(0,_ui.getConfig)().size},treeConfig:Object,showRadio:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showRadio},radioConfig:Object,showCheckbox:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showCheckbox},checkboxConfig:Object,remote:Boolean,remoteConfig:Function,popupConfig:Object,checkedClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.checkedClosable},clearClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.clearClosable},showCloseButton:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showCloseButton},showTotalButton:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showTotalButton},showCheckedButton:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showCheckedButton},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showClearButton}},emits:["update:modelValue","change","all-change","clear","blur","focus","click","node-click","node-expand","current-change","radio-change","checkbox-change","load-success","load-error","visible-change"],setup(V,e){let{emit:l,slots:F}=e,C=(0,_vue.inject)("$xeModal",null),k=(0,_vue.inject)("$xeDrawer",null),E=(0,_vue.inject)("$xeTable",null),r=(0,_vue.inject)("$xeForm",null),i=(0,_vue.inject)("xeFormItemInfo",null);var a=_xeUtils.default.uniqueId();let S=(0,_ui.useSize)(V).computeSize,I=(0,_vue.ref)(),L=(0,_vue.ref)(),$=(0,_vue.ref)(),j=(0,_vue.ref)(),T=(0,_vue.ref)(),U=(0,_vue.reactive)(createReactData()),P=createInternalData(),y={refElem:I},q=(0,_vue.computed)(()=>{var e=V.readonly;return null===e?!!r&&r.props.readonly:e}),w=(0,_vue.computed)(()=>{var e=V.disabled;return null===e?!!r&&r.props.disabled:e}),K=(0,_vue.computed)(()=>{var e=N.value.transfer;return _xeUtils.default.isBoolean(e)?e:!!(E||C||k||r)}),O=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.treeConfig,V.treeConfig)),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.radioConfig,V.radioConfig)),g=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.checkboxConfig,V.checkboxConfig)),N=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.popupConfig,V.popupConfig)),M=(0,_vue.computed)(()=>V.optionProps||{}),D=(0,_vue.computed)(()=>M.value.label||"label"),p=(0,_vue.computed)(()=>M.value.value||"value"),H=(0,_vue.computed)(()=>O.value.keyField||"id"),X=(0,_vue.computed)(()=>O.value.parentField||"parentId"),A=(0,_vue.computed)(()=>O.value.childrenField||"children"),B=(0,_vue.computed)(()=>O.value.mapChildrenField||"mapChildren"),Y=(0,_vue.computed)(()=>O.value.hasChildField||"hasChild"),W=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.remoteConfig,V.remoteConfig)),Z=(0,_vue.computed)(()=>{var e=V.modelValue;return _xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]}),G=(0,_vue.computed)(()=>{let t=V.showFullLabel,{fullOptFlag:l,lazyOptFlag:r}=U,{fullNodeMaps:i,lazyNodeMaps:n}=P,u=D.value;return Z.value.map(e=>{var a=i[e];if(l&&a)return t?a.fullLabel:a.item[u];if(r){a=n[e];if(a)return t?a.fullLabel:a.item[u]}return e}).join(", ")}),J=(0,_vue.computed)(()=>{var{currentCunkList:e,panelStyle:a}=U,{height:t,nodeWidth:l,nodeHeight:r}=N.value,a=Object.assign(Object.assign({},a),{"--vxe-ui-cascader-chunk-size":e.length});return t&&(a["--vxe-ui-cascader-chunk-height"]=(0,_dom.toCssUnit)(t)),l&&(a["--vxe-ui-cascader-node-width"]=(0,_dom.toCssUnit)(l)),r&&(a["--vxe-ui-cascader-node-height"]=(0,_dom.toCssUnit)(r)),a}),Q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.filterConfig,V.filterConfig)),ee={},R={xID:a,props:V,context:e,reactData:U,internalData:P,getRefMaps:()=>y,getComputeMaps:()=>ee},x=(e,a,t)=>{l(e,(0,_ui.createEvent)(t,{$cascader:R},a))},ae=e=>{l("update:modelValue",e)};a={dispatchEvent:x};let z=e=>e?(e=e[p.value],(0,_util.enNodeValue)(e)):"";let te=(e,t)=>{let l=P.selectCheckboxMaps;var a=B.value,r=A.value,i=g.value.checkStrictly,n=O.value.transform,u=e=>{var a=z(e);t?l[a]||(l[a]=e):l[a]&&delete l[a]};i?e.forEach(u):_xeUtils.default.eachTree(e,u,{children:n?a:r}),U.updateCheckboxFlag++,m()},le=(e,t)=>{let l=P.nodeMaps;if(e){_xeUtils.default.isArray(e)||(e=[e]);let a=[];e.forEach(e=>{e=(0,_util.enNodeValue)(e),e=l[e];e&&a.push(e.item)}),te(a,t)}return(0,_vue.nextTick)()},u=()=>{var e,a=V.modelValue,t=P.nodeMaps;let l={};V.multiple?a&&a.length&&(e=a,P.selectCheckboxMaps={},le(e,!0)):a&&(t=t[e=(0,_util.enNodeValue)(_xeUtils.default.isArray(a)?a[0]:a)])&&(t.nodes.forEach(e=>{l[z(e)]=!0}),U.selectRadioKey=e),P.treeExpandedMaps=l},re=()=>{let o=V.separator;var e=P.treeFullData;let s=p.value,d=D.value;var a=A.value;let c={},v={};_xeUtils.default.eachTree(e,(e,a,t,l,r,i)=>{let n=z(e);n||(n=getNodeUniqueId(),e[s]=n);var u=e[s],e={item:e,index:a,$index:-1,_index:-1,items:t,parent:r,nodes:i,level:i.length-1,treeIndex:a,lineCount:0,treeLoaded:!1,fullLabel:i.map(e=>e[d]).join(o||" / ")};c[n]=e,v[u]=e},{children:a}),P.nodeMaps=c,P.fullNodeMaps=v,U.fullOptFlag++},ie=()=>{let o=V.separator,{afterTreeList:e,nodeMaps:s}=P,d=D.value;var a=A.value,t=B.value,l=O.value.transform;let c=0;_xeUtils.default.eachTree(e,(e,a,t,l,r,i)=>{var n=z(e),u=s[n];u?(u.items=t,u.treeIndex=a,u._index=c):(u={item:e,index:a,$index:-1,_index:c,items:t,parent:r,nodes:i,level:i.length-1,treeIndex:a,lineCount:0,treeLoaded:!1,fullLabel:i.map(e=>e[d]).join(o||" / ")},s[n]=u),c++},{children:l?t:a})},ne=()=>{var a=U.searchValue,{treeFullData:t,lastFilterValue:e}=P;let l=D.value;var r=A.value,i=B.value,n=O.value.transform;let{beforeFilterMethod:u,filterMethod:o,afterFilterMethod:s}=Q.value,d=t,c=d,v="";if(a){v=""+a;a=o?e=>o({$cascader:R,node:e,filterValue:v}):e=>-1<String(e[l]).toLowerCase().indexOf(v.toLowerCase());let e={$cascader:R,filterValue:v};u&&u(e),d=n?c=_xeUtils.default.searchTree(t,a,{original:!0,isEvery:!0,children:r,mapChildren:i}):t.filter(a),P.lastFilterValue=v,(0,_vue.nextTick)(()=>{s&&s(e)})}else{if(n&&(c=_xeUtils.default.searchTree(t,()=>!0,{original:!0,isEvery:!0,children:r,mapChildren:i}),d=c,e)){let e={$cascader:R,filterValue:v};u&&u(e),(0,_vue.nextTick)(()=>{s&&s(e)})}P.lastFilterValue=""}P.afterVisibleList=d,P.afterTreeList=c,ie()},v=()=>{let{afterTreeList:e,treeExpandedMaps:o}=P;var a=B.value,t=O.value.transform;let s={};if(t){let u=[];return _xeUtils.default.eachTree(e,(e,a,t,l,r)=>{var i=z(e),n=z(r);(!r||s[n]&&o[n])&&(s[i]=1,u.push(e))},{children:a}),P.afterVisibleList=u}return P.afterVisibleList},h=e=>{let a=P.afterVisibleList;e&&(ne(),a=v());e=a.slice(0);U.treeList=e};let ue=_xeUtils.default.debounce(()=>{h(!0),u();var e=Q.value.autoExpandMode,a=P.afterTreeList;"first"===e||"last"===e?(a=((e,a)=>{var t=A.value,l=B.value,r=O.value.transform,i=r?l:t,n=[];let u=e;for(;u.length;){let e=null;for(var o of u){var s=o[i];if(_xeUtils.default.isArray(s)&&0<s.length){e=o;break}}if(!e){var d=_xeUtils.default[a](u);n.push(z(d));break}n.push(z(e)),u=e[i]}return n})(a,e),U.currentItems=a):s(),o()},350,{trailing:!0}),oe=e=>{var a=O.value,t=H.value,l=X.value,r=A.value,{rootParentValue:i,rootValues:n}=a,a=a.transform,a=a?_xeUtils.default.toArrayTree(e,{key:t,parentKey:l,mapChildren:r,rootParentValue:i,rootValues:n}):e?e.slice(0):[];return P.treeFullData=a,re(),h(!0),u(),s(),o(),(0,_vue.nextTick)()},o=()=>{var l=U.currentItems,r=P.afterTreeList,i=A.value,n=B.value,u=O.value.transform,o=[r];if(l.length){let e=0,a=l[e],t=r;for(;a&&t&&t.length;){a=l[e++];var s=t.find(e=>a===z(e));if(!(t=s?s[u?n:i]:[])||!t.length)break;o.push(t)}}U.currentCunkList=o},s=()=>{var e=P.afterTreeList,t=Z.value,l=A.value,r=B.value,i=O.value.transform;let n=[],u={};if(t.length){let a=(0,_util.enNodeValue)(_xeUtils.default.last(t));t=_xeUtils.default.findTree(e,e=>a===z(e),{children:i?r:l});t&&(e=t.nodes,e.forEach(e=>{e=z(e);u[e]=!0,n.push(e)}))}P.treeExpandedMaps=u,U.currentItems=n},se=()=>{var e=N.value.zIndex;e?U.panelIndex=e:U.panelIndex<(0,_utils.getLastZIndex)()&&(U.panelIndex=(0,_utils.nextZIndex)())},d=()=>{let t=U.panelIndex,l=I.value,r=T.value,i=K.value,n=N.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(l,r,{placement:n.placement,defaultPlacement:n.defaultPlacement,teleportTo:i,isMinWidth:!1}),a=Object.assign(e.style,{zIndex:t});U.panelStyle=a,U.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},t=e=>{var{loading:a,remote:t,filterable:l}=V,r=P.treeFullData,i=w.value,n=W.value;a||i||(clearTimeout(P.hpTimeout),U.initialized||(U.initialized=!0),U.isActivated=!0,U.isAniVisible=!0,l&&t&&n.enabled&&n.autoLoad&&!r.length&&Pe(),setTimeout(()=>{U.visiblePanel=!0,ke()},10),se(),d(),x("visible-change",{visible:!0},e||null))},c=e=>{U.visiblePanel=!1,P.hpTimeout=setTimeout(()=>{U.isAniVisible=!1},350),x("visible-change",{visible:!1},e||null)},de=e=>(U.currentNode=e,(0,_vue.nextTick)()),ce=e=>{let t={};var a=A.value,l=B.value,r=O.value.transform;let i=[],n=[];return e&&_xeUtils.default.eachTree(P.afterTreeList,e=>{var a=z(e);i.push(a),n.push(e),t[a]=!0},{children:r?l:a}),P.indeterminateRowMaps={},P.selectCheckboxMaps=t,U.updateCheckboxFlag++,m(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:i,checkNodes:n}))},ve=()=>(P.indeterminateRowMaps={},P.selectCheckboxMaps={},U.updateCheckboxFlag++,U.selectRadioKey=null,m(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:[],checkNodes:[]}))),f=(e,a,t)=>{a=_xeUtils.default.isArray(a)?a.map(_util.deNodeValue):(0,_util.deNodeValue)(a);ae(a),a!==V.modelValue&&(x("change",{value:a,node:t,option:t},e),r)&&i&&r.triggerItemEvent(e,i.itemConfig.field,a)},pe=(e,a)=>{f(e,a,null),x("clear",{value:a},e)},he=(e,a)=>{pe(a,null),c(a)},fe=e=>{let t=e.$event,{multiple:a,checkedClosable:l}=V;a&&ce(!0).then(({checkNodeKeys:e,checkNodes:a})=>{f(t,e,a[0]),x("all-change",{value:e},t),l&&c(t)})},_e=e=>{let a=e.$event,{multiple:t,checkedClosable:l}=V;e=t?[]:null;ve().then(()=>{l&&c(a)}),f(a,e,null),x("clear",{value:e},a)},ge=e=>{e=e.$event;c(e)},xe=e=>{var a=U.visiblePanel;w.value||a&&(a=T.value,(0,_dom.getEventTargetNode)(e,a).flag?d():c(e))},me=e=>{var a,t,l=U.visiblePanel;w.value||(a=I.value,t=T.value,U.isActivated=(0,_dom.getEventTargetNode)(e,a).flag||(0,_dom.getEventTargetNode)(e,t).flag,l&&!U.isActivated&&c(e))},be=e=>{var{visiblePanel:a,isActivated:t}=U;a&&c(e),t&&(U.isActivated=!1),(a||t)&&(e=L.value)&&e.blur()},Ce=()=>{var e=U.visiblePanel;e&&d()},ke=()=>{V.filterable&&(0,_vue.nextTick)(()=>{var e=$.value;e&&e.focus()})},Ee=(e,a)=>{e.preventDefault();U.currentNode=a,x("current-change",{node:a,checked:!0},e)},ye=(e,a)=>{e.preventDefault(),e.stopPropagation();var t=P.nodeMaps,l=_.value,r=A.value,i=O.value.transform,n=B.value,{checkMode:l,checkMethod:u}=l,o=z(a),i=a[i?n:r],n=i&&0<i.length,r=(t[o]||{}).level;(u?u({$cascader:R,node:a}):b(l,n,r))&&(i=o,U.selectRadioKey=i,f(e,i,a),c(e))},Me=i=>{var e=g.value;let t=O.value.loadMethod,n=e.checkStrictly;return new Promise(e=>{if(t){var a=P.nodeMaps;let l=z(i),r=a[l];P.treeExpandLazyLoadedMaps[l]=!0,Promise.resolve(t({$cascader:R,node:i})).then(t=>{var e=P.treeExpandLazyLoadedMaps;if(r.treeLoaded=!0,e[l]&&(e[l]=!1),t=_xeUtils.default.isArray(t)?t:[])return R.loadChildrenNode(i,t).then(e=>{var a=P.treeExpandedMaps;return e.length&&!a[l]&&(a[l]=!0),U.updateExpandedFlag++,!n&&R.isCheckedByCheckboxNodeId(l)&&te(e,!0),x("load-success",{node:i,data:t},new Event("load-success")),(0,_vue.nextTick)()});x("load-success",{node:i,data:t},new Event("load-success"))}).catch(e=>{var a=P.treeExpandLazyLoadedMaps;r.treeLoaded=!1,a[l]&&(a[l]=!1),x("load-error",{node:i,data:e},new Event("load-error"))}).finally(()=>{v(),h()})}else e()})},Ie=(e,a)=>{let{treeExpandLazyLoadedMaps:l,treeExpandedMaps:r}=P,i=P.nodeMaps,n=A.value,u=Y.value;let{lazy:o,toggleMethod:t}=O.value,s=[];var e=(e=t?e.filter(e=>t({$cascader:R,expanded:a,node:e})):e).length?[e[e.length-1]]:[],d=z(e[0]),d=i[d];d&&d.items.forEach(e=>{e=z(e);r[e]&&delete r[e]});let c=[];return a?e.forEach(e=>{var a,t=z(e);r[t]||(a=i[t],o&&e[u]&&!a.treeLoaded&&!l[t]?s.push(Me(e)):e[n]&&e[n].length&&(r[t]=!0,c.push(e)))}):e.forEach(e=>{var a=z(e);r[a]&&(delete r[a],c.push(e))}),U.updateExpandedFlag++,v(),h(),Promise.all(s)},Le=(e,a,t,l)=>{var r=U.currentItems,i=P.treeExpandLazyLoadedMaps,n=O.value.lazy,r=r.slice(0,l),l=z(a);e.stopPropagation(),r.push(l),U.currentItems=r,n&&i[l]||Ie([a],!0),de(a),o(),x("node-expand",{node:a,expanded:!0},e)},m=()=>{let{selectCheckboxMaps:o,indeterminateRowMaps:s,afterTreeList:e}=P,i=A.value,n=B.value;let{checkStrictly:a,checkMethod:d}=g.value,u=O.value.transform;if(!a){let l={},r=[];_xeUtils.default.eachTree(e,e=>{var a=z(e),t=e[u?n:i];t&&t.length&&!l[a]&&(l[a]=1,r.unshift([e,a,t]))},{children:u?n:i}),r.forEach(e=>{var a=e[0],t=e[1],e=e[2];let l=0,r=0,i=0;var n=e.length;e.forEach(d?e=>{var a=z(e),t=o[a];d({$cascader:R,node:e})?(t?l++:s[a]&&r++,i++):t?l++:s[a]&&r++}:e=>{e=z(e);o[e]?l++:s[e]&&r++,i++});let u=!1;e=!(u=0<n?0<i?(0<l||0<r)&&l>=i:0<l&&l>=i||!!o[t]:o[t])&&(0<l||0<r);u?(o[t]=a,s[t]&&delete s[t]):(o[t]&&delete o[t],e?s[t]=a:s[t]&&delete s[t])}),U.updateCheckboxFlag++}},Te=(e,t)=>{e.preventDefault(),e.stopPropagation();let{selectCheckboxMaps:l,nodeMaps:a}=P;var r=A.value,i=B.value,{checkStrictly:n,checkMode:u,checkMethod:o}=g.value,s=O.value.transform,d=z(t),c=t[s?i:r],c=c&&0<c.length,v=(a[d]||{}).level,o=o?!o({$cascader:R,node:t}):!b(u,c,v);if(!o){let a=!1;l[d]?delete l[d]:(a=!0,l[d]=t),n||_xeUtils.default.eachTree(_xeUtils.default.get(t,s?i:r),e=>{e=z(e);a?l[e]||(l[e]=!0):l[e]&&delete l[e]},{children:s?i:r}),U.updateCheckboxFlag++,m();u=_xeUtils.default.keys(l);f(e,u,t)}},we=(e,a,t,l)=>{var{multiple:r,showCheckbox:i,showRadio:n}=V,u=O.value,o=_.value,s=g.value,d=A.value,c=B.value,{transform:u,trigger:v}=u,u=a[u?c:d];let p=!1,h=!1,f=!1;Ee(e,a),"icon"!==v&&(f=!0,Le(e,a,t,l)),r?"node"!==s.trigger&&(i||u&&u.length)||(h=!0,Te(e,a)):"node"!==o.trigger&&(n||u&&u.length)||(p=!0,ye(e,a)),x("node-click",{node:a,triggerCurrent:!0,triggerRadio:p,triggerCheckbox:h,triggerExpand:f},e)},Ne=e=>{w.value||U.visiblePanel||(U.triggerFocusPanel=!0,t(e),setTimeout(()=>{U.triggerFocusPanel=!1},150)),x("focus",{},e)},Ve=e=>{e.preventDefault(),U.triggerFocusPanel?U.triggerFocusPanel=!1:U.visiblePanel||t(e),x("click",{},e)},Fe=e=>{U.isActivated=!1,x("blur",{},e)},Ue=e=>{U.searchValue=e,ue(new Event("filter"))},Pe=()=>{var{modelValue:e,remote:a}=V,t=U.searchValue,l=W.value,r=l.queryMethod;a&&r&&l.enabled&&(U.searchLoading=!0,Promise.resolve(r({$cascader:R,searchValue:t,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{U.searchLoading=!1}))},Oe=e=>{e=e.$event;e.preventDefault(),U.triggerFocusPanel?U.triggerFocusPanel=!1:(U.visiblePanel?c:t)(e)},b=(Object.assign(R,a,{isCheckedByCheckboxNodeId:e=>{var a=U.updateCheckboxFlag,t=P.selectCheckboxMaps;return!(!a||!t[e])},loadChildrenNode(a,e){let u=V.separator,o=P.nodeMaps;var t=O.value;let s=D.value,{lazy:l,transform:r}=t;if(!l)return Promise.resolve([]);let i=A.value,n=B.value,d=o[z(a)],c=d?d.level:0,v=d?d.nodes:[];return(e=>{let t=p.value;return Promise.resolve(e.map(e=>{var a,e=Object.assign({},e);return z(e)||(a=getNodeUniqueId(),_xeUtils.default.set(e,t,a)),e}))})(e).then(e=>(_xeUtils.default.eachTree(e,(e,a,t,l,r,i)=>{var n=z(e);o[n]={item:e,index:-1,$index:-1,_index:-1,items:t,parent:r||d.item,nodes:v.concat(i),level:c+i.length,treeIndex:-1,lineCount:0,treeLoaded:!1,fullLabel:i.map(e=>e[s]).join(u||" / ")}},{children:i}),a[i]=e,r&&(a[n]=e),ie(),e))}}),(e,a,t)=>{if(e){if("first"===e)return!t;if("last"===e)return!a}return!0}),De=(t,e,l,r)=>{var a=V.showRadio,{checkMode:i,checkMethod:n,visibleMode:u,visibleMethod:o}=_.value,o=o?o({$cascader:R,node:t}):b(u,e,l);if(a&&o){let a=n?!n({$cascader:R,node:t}):!b(i,e,l);return(0,_vue.h)("div",{class:["vxe-tree--radio-option",{"is--checked":r,"is--disabled":a}],onClick:e=>{a||ye(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",r?(0,_ui.getIcon)().RADIO_CHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(R)},Ae=(t,e,l,r,i)=>{var a=V.showCheckbox,{checkMode:n,checkMethod:u,visibleMode:o,visibleMethod:s}=g.value,s=s?s({$cascader:R,node:t}):b(o,e,l);if(a&&s){let a=u?!u({$cascader:R,node:t}):!b(n,e,l);return(0,_vue.h)("div",{class:["vxe-cascader--checkbox-option",{"is--checked":r,"is--indeterminate":i,"is--disabled":a}],onClick:e=>{a||Te(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:r?(0,_ui.getIcon)().CHECKBOX_CHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(R)};(0,_vue.watch)(()=>V.modelValue,()=>{U.visiblePanel||(u(),s(),o())}),(0,_vue.watch)(()=>V.options,()=>{re()});let n=(0,_vue.ref)(0);return(0,_vue.watch)(()=>V.options?V.options.length:0,()=>{n.value++}),(0,_vue.watch)(()=>V.options,()=>{n.value++}),(0,_vue.watch)(n,()=>{oe(V.options||[])}),oe(V.options||[]),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(R,"mousewheel",xe),_ui.globalEvents.on(R,"mousedown",me),_ui.globalEvents.on(R,"blur",be),_ui.globalEvents.on(R,"resize",Ce)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(R,"mousewheel"),_ui.globalEvents.off(R,"mousedown"),_ui.globalEvents.off(R,"blur"),_ui.globalEvents.off(R,"resize"),_xeUtils.default.assign(P,createInternalData())}),(0,_vue.provide)("$xeCascader",R),R.renderVN=()=>{var{className:e,modelValue:a,multiple:t,loading:l,filterable:r,showTotalButton:i,showCheckedButton:n,showClearButton:u,showCloseButton:o}=V,{initialized:s,isActivated:d,isAniVisible:c,visiblePanel:v,searchValue:p,currentCunkList:h}=U;let f=P.listVirtualYOpts;var _=S.value,g=w.value,x=G.value,m=K.value,b=q.value,C=J.value,k=F.header,E=F.footer;let y=F.prefix;var M=N.value.className;return b?(0,_vue.h)("div",{ref:I,class:["vxe-cascader--readonly",e]},[(0,_vue.h)("span",{class:"vxe-cascader-label"},x)]):(b=_xeUtils.default.eqNull(a)?[]:_xeUtils.default.isArray(a)?a:[a],(0,_vue.h)("div",{ref:I,class:["vxe-cascader",e?_xeUtils.default.isFunction(e)?e({$cascader:R}):e:"",{["size--"+_]:_,"is--filterable":r,"is--visible":v,"is--disabled":g,"is--loading":l,"is--active":d}]},[(0,_vue.h)(_input.default,{ref:L,clearable:V.clearable,placeholder:l?(0,_ui.getI18n)("vxe.select.loadingText"):V.placeholder,editable:!1,disabled:g,type:"text",prefixIcon:V.prefixIcon,suffixIcon:l?(0,_ui.getIcon)().TREE_SELECT_LOADED:v?(0,_ui.getIcon)().TREE_SELECT_OPEN:(0,_ui.getIcon)().TREE_SELECT_CLOSE,modelValue:l?"":x,title:x,onClear:he,onClick:Ve,onFocus:Ne,onBlur:Fe,onSuffixClick:Oe},y?{prefix:()=>y({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!m||!s},[(0,_vue.h)("div",{ref:T,class:["vxe-table--ignore-clear vxe-cascader--panel",M?_xeUtils.default.isFunction(M)?M({$cascader:R}):M:"",{["size--"+_]:_,"is--transfer":m,"ani--leave":!l&&c,"ani--enter":!l&&v}],placement:U.panelPlacement,style:C},s?[(0,_vue.h)("div",{class:"vxe-cascader--panel-wrapper"},[r?(0,_vue.h)("div",{class:"vxe-cascader--panel-search"},[(0,_vue.h)(_input.default,{ref:$,class:"vxe-cascader-search--input",modelValue:p,clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.cascader.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":Ue})]):(0,_ui.renderEmptyElement)(R),n&&t||u||k?(0,_vue.h)("div",{class:"vxe-tree-select--panel-header"},k?k({}):[(0,_vue.h)("div",{class:"vxe-tree-select--header-button"},[n&&t||u?(0,_vue.h)("div",{class:"vxe-tree-select--selected-btns"},[n&&t?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.allChecked"),mode:"text",onClick:fe}):(0,_ui.renderEmptyElement)(R),u?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.clearChecked"),mode:"text",onClick:_e}):(0,_ui.renderEmptyElement)(R)]):(0,_ui.renderEmptyElement)(R)])]):(0,_ui.renderEmptyElement)(R),(0,_vue.h)("div",{class:"vxe-cascader--panel-body"},[(0,_vue.h)("div",{ref:j,class:"vxe-cascader-chunk--wrapper"},[h.map((t,l)=>(0,_vue.h)("div",{key:l,class:"vxe-cascader-chunk--item-wrapper"},[(0,_vue.h)(_list.default,{data:t,virtualYConfig:f},{default(e){e=e.items;return e.map((e,a)=>((a,e,t,l,r)=>{var i=V.multiple,{currentNode:n,selectRadioKey:u,updateCheckboxFlag:o,updateExpandedFlag:s}=U,{nodeMaps:d,selectCheckboxMaps:c,indeterminateRowMaps:v,treeExpandedMaps:p,treeExpandLazyLoadedMaps:h}=P;let f=O.value;var{lazy:_,transform:g,iconLoaded:x,iconOpen:m,iconClose:b}=f,C=A.value,k=B.value,E=D.value,y=Y.value,g=a[g?k:C],k=g&&0<g.length,C=F.icon,g=F.title,s=s&&p[e],p=d[e]||{},d=a[E],E=p.level;let M=!1,I=(i||(M=e===u),!1),L=!1,T=(i&&(I=!(!o||!c[e]),L=!(!o||!v[e])),!1),w=!1,N=!1;_&&(w=!!h[e],T=a[y],N=!!p.treeLoaded);u={node:a};return(0,_vue.h)("div",{key:r+"_"+t,class:["vxe-cascader-chunk--node-item",{"is--current":n&&(n===a||z(n)===e),"is-radio--checked":M,"is-checkbox--checked":I,"is-checkbox--indeterminate":L,"is--expand":s}],title:d,onMousedown:e=>{0===e.button&&e.stopPropagation()},onClick(e){we(e,a,l,r)}},[i?Ae(a,k,E,I,L):De(a,k,E,M),(0,_vue.h)("div",{class:"vxe-cascader-chunk--node-item-inner"},[(0,_vue.h)("div",{class:"vxe-cascader-chunk--node-item-title"},g?(0,_ui.getSlotVNs)(g(u)):d)]),f.showIcon&&(!_||N?k:T)?(0,_vue.h)("div",{class:"vxe-cascader-chunk--node-item-switcher"},[[(0,_vue.h)("div",{class:"vxe-cascader--node-item-icon",onClick(e){"icon"===f.trigger&&Le(e,a,l,r)}},C?(0,_ui.getSlotVNs)(C(u)):[(0,_vue.h)("i",{class:w?x||(0,_ui.getIcon)().CASCADER_NODE_LOADED:s?m||(0,_ui.getIcon)().CASCADER_NODE_OPEN:b||(0,_ui.getIcon)().CASCADER_NODE_CLOSE})])]]):(0,_ui.renderEmptyElement)(R)])})(e,z(e),a,t,l))}})]))])]),E||i||o?(0,_vue.h)("div",{class:"vxe-cascader--panel-footer"},E?E({}):[(0,_vue.h)("div",{class:"vxe-cascader--footer-button"},[i?(0,_vue.h)("div",{class:"vxe-cascader--total-btns"},(0,_ui.getI18n)("vxe.treeSelect.total",[b.length])):(0,_ui.renderEmptyElement)(R),o?(0,_vue.h)("div",{class:"vxe-cascader--oper-btns"},[(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.close"),mode:"text",onClick:ge})]):(0,_ui.renderEmptyElement)(R)])]):(0,_ui.renderEmptyElement)(R)])]:[])])]))},R},render(){return this.renderVN()}});
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.checkDateFormat = checkDateFormat;
6
7
  exports.getChunkDefaultNum = getChunkDefaultNum;
7
8
  exports.getDateByCode = getDateByCode;
8
9
  exports.getDateQuarter = getDateQuarter;
@@ -278,4 +279,20 @@ function isAllSameChar(str, char) {
278
279
  }
279
280
  }
280
281
  return true;
282
+ }
283
+ function checkDateFormat(numStr, formatKey) {
284
+ const numVal = _xeUtils.default.toNumber(numStr);
285
+ switch (formatKey) {
286
+ case 'yyyy':
287
+ return numVal >= 9999 ? 9999 : numVal <= 0 ? 0 : numVal;
288
+ case 'MM':
289
+ return numVal >= 12 ? 12 : numVal <= 0 ? 0 : numVal;
290
+ case 'dd':
291
+ return numVal >= 31 ? 31 : numVal <= 0 ? 0 : numVal;
292
+ case 'HH':
293
+ case 'mm':
294
+ case 'ss':
295
+ return numVal >= 59 ? 59 : numVal <= 0 ? 0 : numVal;
296
+ }
297
+ return numVal;
281
298
  }
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.getChunkDefaultNum=getChunkDefaultNum,exports.getDateByCode=getDateByCode,exports.getDateQuarter=getDateQuarter,exports.getRangeDateByCode=getRangeDateByCode,exports.handleValueFormat=handleValueFormat,exports.hasDateValueType=hasDateValueType,exports.hasTimestampValueType=hasTimestampValueType,exports.isAllSameChar=isAllSameChar,exports.parseDateObj=parseDateObj,exports.parseDateString=void 0,exports.parseDateValue=parseDateValue,exports.toStringTimeDate=toStringTimeDate;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getChunkDefaultNum(e){var t=new Date;switch(e){case"y":return t.getFullYear();case"M":return t.getMonth()+1;case"d":return t.getDate();case"H":return t.getHours();case"m":return t.getMinutes();case"s":return t.getSeconds()}return 0}function hasTimestampValueType(e){return"timestamp"===e}function hasDateValueType(e){return"date"===e}function handleValueFormat(e,t){return!t||hasDateValueType(t)||hasTimestampValueType(t)?"time"===e?"HH:mm:ss":"datetime"===e?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd":t}function toStringTimeDate(r){var s=new Date(2e3,0,1);if(r){let e=0,t=0,a=0;(_xeUtils.default.isNumber(r)||/^[0-9]{11,15}$/.test(""+r))&&(r=new Date(Number(r))),_xeUtils.default.isDate(r)?(e=r.getHours(),t=r.getMinutes(),a=r.getSeconds()):(r=(r=_xeUtils.default.toValueString(r)).match(/^(\d{1,2})(:(\d{1,2}))?(:(\d{1,2}))?/))&&(e=_xeUtils.default.toNumber(r[1]),t=_xeUtils.default.toNumber(r[3]),a=_xeUtils.default.toNumber(r[5])),s.setHours(e),s.setMinutes(t),s.setSeconds(a)}return s}function getDateQuarter(e){e=e.getMonth();return e<3?1:e<6?2:e<9?3:4}function parseDateValue(e,t,a){a=a.valueFormat;return e?"time"===t?toStringTimeDate(e):_xeUtils.default.isNumber(e)||/^[0-9]{10,15}$/.test(""+e)?new Date(Number(e)):_xeUtils.default.isString(e)?_xeUtils.default.toStringDate(_xeUtils.default.last(e.split(",")),a):_xeUtils.default.toStringDate(e,a):null}let parseDateString=(e,t,a)=>{e=parseDateValue(e,t,a);return e?_xeUtils.default.toDateString(e,a.valueFormat):""};function parseDateObj(e,t,a){var{labelFormat:r,firstDay:s}=a;let l=null,u="";return e&&(l=parseDateValue(e,t,a)),_xeUtils.default.isValidDate(l)?(u=_xeUtils.default.toDateString(l,r,{firstDay:s}),r&&"week"===t&&(e=l.getFullYear(),a=l.getMonth()+1,checkWeekOfsetYear(_xeUtils.default.getYearWeek(l,s),a))&&(t=e+1,-1<(a=r.indexOf(s="yyyy")))&&(u=u.substring(0,a)+t+u.substring(a+s.length))):l=null,{label:u,value:l}}function getDateByCode(e,t,a,r){var{valueFormat:s,firstDay:l}=r;let u=null;var n=("prev"===e||"next"===e?new Date:t?parseDateValue(t,a,r):null)||new Date;switch(e){case"prev":case"next":case"minus":case"plus":var i="plus"===e||"next"===e?1:-1;switch(a){case"date":case"datetime":u=_xeUtils.default.getWhatDay(n,i);break;case"week":u=_xeUtils.default.getWhatWeek(n,i,l,l);break;case"month":u=_xeUtils.default.getWhatMonth(n,i);break;case"quarter":u=_xeUtils.default.getWhatQuarter(n,i);break;case"year":u=_xeUtils.default.getWhatYear(n,i)}break;default:u=new Date}return{value:u?_xeUtils.default.toDateString(u,s):""}}exports.parseDateString=parseDateString;let rangeDateOffsetNumMaps={last180:-180,last90:-90,last60:-60,last30:-30,last7:-7,last3:-3,last1:-1};function getRangeDateOffsetNum(e){return rangeDateOffsetNumMaps[e]||0}function getRangeDateByCode(e,t,a,r){var{valueFormat:s,firstDay:l}=r,u=((t=_xeUtils.default.isArray(t)?t.join(""):t)?parseDateValue(t,a,r):null)||new Date;let n=null;t=u;switch(e){case"last1":case"last3":case"last7":case"last30":case"last60":case"last90":case"last180":var i=getRangeDateOffsetNum(e);switch(a){case"date":case"datetime":n=_xeUtils.default.getWhatDay(u,i);break;case"week":n=_xeUtils.default.getWhatWeek(u,i,l,l);break;case"month":n=_xeUtils.default.getWhatMonth(u,i);break;case"quarter":n=_xeUtils.default.getWhatQuarter(u,i);break;case"year":n=_xeUtils.default.getWhatYear(u,i)}break;default:n=new Date}return{startValue:n?_xeUtils.default.toDateString(n,s):"",endValue:t?_xeUtils.default.toDateString(t,s):""}}function checkWeekOfsetYear(e,t){return""+e=="1"&&""+t=="12"}function isAllSameChar(t,a){if(0===t.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==a)return!1;return!0}
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.checkDateFormat=checkDateFormat,exports.getChunkDefaultNum=getChunkDefaultNum,exports.getDateByCode=getDateByCode,exports.getDateQuarter=getDateQuarter,exports.getRangeDateByCode=getRangeDateByCode,exports.handleValueFormat=handleValueFormat,exports.hasDateValueType=hasDateValueType,exports.hasTimestampValueType=hasTimestampValueType,exports.isAllSameChar=isAllSameChar,exports.parseDateObj=parseDateObj,exports.parseDateString=void 0,exports.parseDateValue=parseDateValue,exports.toStringTimeDate=toStringTimeDate;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getChunkDefaultNum(e){var t=new Date;switch(e){case"y":return t.getFullYear();case"M":return t.getMonth()+1;case"d":return t.getDate();case"H":return t.getHours();case"m":return t.getMinutes();case"s":return t.getSeconds()}return 0}function hasTimestampValueType(e){return"timestamp"===e}function hasDateValueType(e){return"date"===e}function handleValueFormat(e,t){return!t||hasDateValueType(t)||hasTimestampValueType(t)?"time"===e?"HH:mm:ss":"datetime"===e?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd":t}function toStringTimeDate(r){var s=new Date(2e3,0,1);if(r){let e=0,t=0,a=0;(_xeUtils.default.isNumber(r)||/^[0-9]{11,15}$/.test(""+r))&&(r=new Date(Number(r))),_xeUtils.default.isDate(r)?(e=r.getHours(),t=r.getMinutes(),a=r.getSeconds()):(r=(r=_xeUtils.default.toValueString(r)).match(/^(\d{1,2})(:(\d{1,2}))?(:(\d{1,2}))?/))&&(e=_xeUtils.default.toNumber(r[1]),t=_xeUtils.default.toNumber(r[3]),a=_xeUtils.default.toNumber(r[5])),s.setHours(e),s.setMinutes(t),s.setSeconds(a)}return s}function getDateQuarter(e){e=e.getMonth();return e<3?1:e<6?2:e<9?3:4}function parseDateValue(e,t,a){a=a.valueFormat;return e?"time"===t?toStringTimeDate(e):_xeUtils.default.isNumber(e)||/^[0-9]{10,15}$/.test(""+e)?new Date(Number(e)):_xeUtils.default.isString(e)?_xeUtils.default.toStringDate(_xeUtils.default.last(e.split(",")),a):_xeUtils.default.toStringDate(e,a):null}let parseDateString=(e,t,a)=>{e=parseDateValue(e,t,a);return e?_xeUtils.default.toDateString(e,a.valueFormat):""};function parseDateObj(e,t,a){var{labelFormat:r,firstDay:s}=a;let l=null,u="";return e&&(l=parseDateValue(e,t,a)),_xeUtils.default.isValidDate(l)?(u=_xeUtils.default.toDateString(l,r,{firstDay:s}),r&&"week"===t&&(e=l.getFullYear(),a=l.getMonth()+1,checkWeekOfsetYear(_xeUtils.default.getYearWeek(l,s),a))&&(t=e+1,-1<(a=r.indexOf(s="yyyy")))&&(u=u.substring(0,a)+t+u.substring(a+s.length))):l=null,{label:u,value:l}}function getDateByCode(e,t,a,r){var{valueFormat:s,firstDay:l}=r;let u=null;var n=("prev"===e||"next"===e?new Date:t?parseDateValue(t,a,r):null)||new Date;switch(e){case"prev":case"next":case"minus":case"plus":var i="plus"===e||"next"===e?1:-1;switch(a){case"date":case"datetime":u=_xeUtils.default.getWhatDay(n,i);break;case"week":u=_xeUtils.default.getWhatWeek(n,i,l,l);break;case"month":u=_xeUtils.default.getWhatMonth(n,i);break;case"quarter":u=_xeUtils.default.getWhatQuarter(n,i);break;case"year":u=_xeUtils.default.getWhatYear(n,i)}break;default:u=new Date}return{value:u?_xeUtils.default.toDateString(u,s):""}}exports.parseDateString=parseDateString;let rangeDateOffsetNumMaps={last180:-180,last90:-90,last60:-60,last30:-30,last7:-7,last3:-3,last1:-1};function getRangeDateOffsetNum(e){return rangeDateOffsetNumMaps[e]||0}function getRangeDateByCode(e,t,a,r){var{valueFormat:s,firstDay:l}=r,u=((t=_xeUtils.default.isArray(t)?t.join(""):t)?parseDateValue(t,a,r):null)||new Date;let n=null;t=u;switch(e){case"last1":case"last3":case"last7":case"last30":case"last60":case"last90":case"last180":var i=getRangeDateOffsetNum(e);switch(a){case"date":case"datetime":n=_xeUtils.default.getWhatDay(u,i);break;case"week":n=_xeUtils.default.getWhatWeek(u,i,l,l);break;case"month":n=_xeUtils.default.getWhatMonth(u,i);break;case"quarter":n=_xeUtils.default.getWhatQuarter(u,i);break;case"year":n=_xeUtils.default.getWhatYear(u,i)}break;default:n=new Date}return{startValue:n?_xeUtils.default.toDateString(n,s):"",endValue:t?_xeUtils.default.toDateString(t,s):""}}function checkWeekOfsetYear(e,t){return""+e=="1"&&""+t=="12"}function isAllSameChar(t,a){if(0===t.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==a)return!1;return!0}function checkDateFormat(e,t){var a=_xeUtils.default.toNumber(e);switch(t){case"yyyy":return 9999<=a?9999:a<=0?0:a;case"MM":return 12<=a?12:a<=0?0:a;case"dd":return 31<=a?31:a<=0?0:a;case"HH":case"mm":case"ss":return 59<=a?59:a<=0?0:a}return a}
@@ -267,6 +267,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
267
267
  }
268
268
  return [];
269
269
  });
270
+ const computeDateStartDate = (0, _vue.computed)(() => {
271
+ return props.startDate ? _xeUtils.default.toStringDate(props.startDate) : null;
272
+ });
273
+ const computeDateEndDate = (0, _vue.computed)(() => {
274
+ return props.endDate ? _xeUtils.default.toStringDate(props.endDate) : null;
275
+ });
270
276
  const computeLimitMaxCount = (0, _vue.computed)(() => {
271
277
  return props.multiple ? _xeUtils.default.toNumber(props.limitCount) : 0;
272
278
  });
@@ -575,18 +581,43 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
575
581
  };
576
582
  const afterCheckValue = inpVal => {
577
583
  const {
578
- type
584
+ type,
585
+ editable,
586
+ multiple,
587
+ maskedConfig
579
588
  } = props;
580
589
  const {
581
590
  inputLabel
582
591
  } = internalData;
583
592
  const dateLabelFormat = computeDateLabelFormat.value;
593
+ const maskedOpts = computeMaskedOpts.value;
584
594
  if (!inpVal) {
585
595
  handleChange('', {
586
596
  type: 'check'
587
597
  });
588
598
  return;
589
599
  }
600
+ // 掩码格式处理
601
+ if (editable && !multiple && ((0, _utils.isEnableConf)(maskedConfig) || maskedOpts.enabled)) {
602
+ const allMaskedKeys = dateLabelFormat.match(new RegExp(`(${inputMaskedKeys.join('|')})+`, 'g'));
603
+ if (allMaskedKeys) {
604
+ allMaskedKeys.forEach(formatKey => {
605
+ const fkIndex = dateLabelFormat.indexOf(formatKey);
606
+ if (fkIndex > -1) {
607
+ let val = _xeUtils.default.toNumber(inpVal.slice(fkIndex, formatKey.length).replace(/\D/g, ''));
608
+ // 自动纠错最小值
609
+ if (!val && ['MM', 'dd'].includes(formatKey)) {
610
+ val = 1;
611
+ }
612
+ inpVal = inpVal.slice(0, fkIndex) + _xeUtils.default.padStart((0, _util.checkDateFormat)(val, formatKey), formatKey.length, '0') + inpVal.slice(fkIndex + formatKey.length);
613
+ }
614
+ });
615
+ }
616
+ }
617
+ const $datePanel = refDatePanel.value;
618
+ if ($datePanel) {
619
+ return $datePanel.checkValue(inpVal);
620
+ }
590
621
  let inpDateVal = (0, _util.parseDateValue)(inpVal, type, {
591
622
  valueFormat: dateLabelFormat
592
623
  });
@@ -643,6 +674,18 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
643
674
  }, evnt);
644
675
  }
645
676
  };
677
+ const checkMaskedInputValue = (numStr, chunkFormat, isFull) => {
678
+ const maskedOpts = computeMaskedOpts.value;
679
+ const {
680
+ align
681
+ } = maskedOpts;
682
+ const maskChar = computeMaskChar.value;
683
+ const restVal = (0, _util.checkDateFormat)(_xeUtils.default.toNumber(numStr), chunkFormat);
684
+ if (isFull) {
685
+ return _xeUtils.default.padStart(restVal, chunkFormat.length, '0');
686
+ }
687
+ return _xeUtils.default[align === 'right' ? 'padStart' : 'padEnd'](restVal, chunkFormat.length, maskChar);
688
+ };
646
689
  const handleArrowInputDate = (evnt, isUpArrow, isDwArrow, isLtArrow, isRtArrow) => {
647
690
  const {
648
691
  type,
@@ -679,7 +722,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
679
722
  const chunkValue = inpValue.slice(chunkStartIndex, chunkEndIndex);
680
723
  if (parseInputKayMaps[selectKey]) {
681
724
  const chunkNum = ((0, _util.isAllSameChar)(chunkValue, maskChar) ? (0, _util.getChunkDefaultNum)(selectKey) : _xeUtils.default.toNumber(chunkValue)) + (isUpArrow ? 1 : -1);
682
- const restValue = inpValue.slice(0, chunkStartIndex) + _xeUtils.default.padStart(chunkNum, chunkFormat.length, '0') + inpValue.slice(chunkEndIndex);
725
+ const restValue = inpValue.slice(0, chunkStartIndex) + checkMaskedInputValue(chunkNum, chunkFormat, true) + inpValue.slice(chunkEndIndex);
683
726
  evnt.preventDefault();
684
727
  if (restValue.indexOf(maskChar) === -1) {
685
728
  // 解析日期
@@ -744,6 +787,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
744
787
  const {
745
788
  isTriggerMasked
746
789
  } = internalData;
790
+ const maskedOpts = computeMaskedOpts.value;
791
+ const {
792
+ align
793
+ } = maskedOpts;
747
794
  const dateMaskedFormat = computeDateMaskedFormat.value;
748
795
  const maskChar = computeMaskChar.value;
749
796
  let inpValue = targetElem.value || dateMaskedFormat;
@@ -763,7 +810,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
763
810
  const chunkEndIndex = chunkStartIndex + chunkFormat.length;
764
811
  const currKeyIndex = allMaskedKeys.indexOf(selectKey);
765
812
  // 全选 | 如果无效字符
766
- const isAllSelected = !selectionStart && selectionEnd === inpValue.length;
813
+ const isAllSelected = !selectionStart && selectionEnd === inpValue.length && allMaskedKeys.length > 1;
767
814
  const isNotMasked = inpValue && inpValue.length !== dateMaskedFormat.length;
768
815
  if (isAllSelected || isNotMasked) {
769
816
  inpValue = dateMaskedFormat;
@@ -773,10 +820,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
773
820
  const chunkNumList = isTriggerMasked && !isBackspaceKey ? [] : chunkNums.slice(0);
774
821
  if (isNumKey) {
775
822
  chunkNumList.push(numKey);
823
+ chunkValue = checkMaskedInputValue(chunkNumList.join(''), chunkFormat, false);
776
824
  } else if (isBackspaceKey) {
777
825
  chunkNumList.pop();
826
+ chunkValue = _xeUtils.default[align === 'right' ? 'padStart' : 'padEnd'](chunkNumList.join(''), chunkFormat.length, maskChar);
778
827
  }
779
- chunkValue = chunkNumList.join('').padEnd(chunkFormat.length, maskChar);
780
828
  let restValue = inpValue.slice(0, chunkStartIndex) + chunkValue + inpValue.slice(chunkEndIndex);
781
829
  restValue = restValue.replace(new RegExp(`(${inputMaskedKeys.join('|')})`, 'g'), maskChar);
782
830
  targetElem.value = restValue;
@@ -807,7 +855,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
807
855
  const prveChunkNums = prveChunkValue.match(/\d/g) || [];
808
856
  if (prveChunkNums.length) {
809
857
  prveChunkNums.pop();
810
- prveChunkValue = prveChunkNums.join('').padEnd(prveChunkFormat.length, maskChar);
858
+ prveChunkValue = _xeUtils.default[align === 'right' ? 'padStart' : 'padEnd'](prveChunkNums.join(''), prveChunkFormat.length, maskChar);
811
859
  restValue = restValue.slice(0, prveChunkStartIndex) + prveChunkValue + restValue.slice(prveChunkEndIndex);
812
860
  targetElem.value = restValue;
813
861
  handleInputLabel(restValue, false);
@@ -902,7 +950,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
902
950
  }
903
951
  }
904
952
  // 全选 | 如果无效字符
905
- const isAllSelected = !selectionStart && selectionEnd === inpValue.length;
953
+ const isAllSelected = !selectionStart && selectionEnd === inpValue.length && allMaskedKeys.length > 1;
906
954
  const isNotMasked = inpValue && inpValue.length !== dateMaskedFormat.length;
907
955
  if (isAllSelected || isNotMasked) {
908
956
  let restValue = '';
@@ -945,7 +993,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
945
993
  }
946
994
  };
947
995
  const blurEvent = evnt => {
948
- const $datePanel = refDatePanel.value;
949
996
  const {
950
997
  inputValue
951
998
  } = reactData;
@@ -960,11 +1007,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
960
1007
  } = internalData;
961
1008
  reactData.isActivated = false;
962
1009
  // 未打开面板时才校验
963
- if ($datePanel) {
964
- $datePanel.checkValue(inputLabel);
965
- } else {
966
- afterCheckValue(inputLabel);
967
- }
1010
+ afterCheckValue(inputLabel);
968
1011
  }
969
1012
  dispatchEvent('blur', {
970
1013
  value
@@ -1035,7 +1078,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1035
1078
  const isEnter = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ENTER);
1036
1079
  if (editable) {
1037
1080
  if (isEnter) {
1038
- const $datePanel = refDatePanel.value;
1039
1081
  const {
1040
1082
  inputLabel
1041
1083
  } = internalData;
@@ -1043,11 +1085,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1043
1085
  if (visiblePanel) {
1044
1086
  hidePanel();
1045
1087
  }
1046
- if ($datePanel) {
1047
- $datePanel.checkValue(inputLabel);
1048
- } else {
1049
- afterCheckValue(inputLabel);
1050
- }
1088
+ afterCheckValue(inputLabel);
1051
1089
  if (targetElem) {
1052
1090
  targetElem.blur();
1053
1091
  }
@@ -1098,7 +1136,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1098
1136
  };
1099
1137
  // 全局事件
1100
1138
  const handleGlobalMousedownEvent = evnt => {
1101
- const $datePanel = refDatePanel.value;
1102
1139
  const {
1103
1140
  visiblePanel,
1104
1141
  isActivated
@@ -1117,11 +1154,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1117
1154
  const {
1118
1155
  inputLabel
1119
1156
  } = internalData;
1120
- if ($datePanel) {
1121
- $datePanel.checkValue(inputLabel);
1122
- } else {
1123
- afterCheckValue(inputLabel);
1124
- }
1157
+ afterCheckValue(inputLabel);
1125
1158
  }
1126
1159
  }
1127
1160
  }
@@ -1164,7 +1197,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1164
1197
  }
1165
1198
  };
1166
1199
  const handleGlobalBlurEvent = () => {
1167
- const $datePanel = refDatePanel.value;
1168
1200
  const {
1169
1201
  isActivated,
1170
1202
  visiblePanel
@@ -1176,9 +1208,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1176
1208
  reactData.isActivated = false;
1177
1209
  }
1178
1210
  if (visiblePanel || isActivated) {
1179
- if ($datePanel) {
1180
- $datePanel.checkValue(internalData.inputLabel);
1181
- }
1211
+ afterCheckValue(internalData.inputLabel);
1182
1212
  const targetElem = refInputTarget.value;
1183
1213
  if (targetElem) {
1184
1214
  targetElem.blur();
@@ -1428,6 +1458,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1428
1458
  const isDateTimeType = computeIsDateTimeType.value;
1429
1459
  const shortcutList = computeShortcutList.value;
1430
1460
  const timeOpts = computeTimeOpts.value;
1461
+ const dateStartDate = computeDateStartDate.value;
1462
+ const dateEndDate = computeDateEndDate.value;
1431
1463
  const {
1432
1464
  position
1433
1465
  } = shortcutOpts;
@@ -1484,8 +1516,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1484
1516
  className: props.className,
1485
1517
  multiple: props.multiple,
1486
1518
  limitCount: props.limitCount,
1487
- startDate: props.startDate,
1488
- endDate: props.endDate,
1519
+ startDate: dateStartDate,
1520
+ endDate: dateEndDate,
1489
1521
  defaultDate: props.defaultDate,
1490
1522
  defaultTime: props.defaultTime,
1491
1523
  minDate: props.minDate,
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_util=require("../../date-panel/src/util"),_log=require("../../ui/src/log"),_datePanel=_interopRequireDefault(require("../../date-panel/src/date-panel")),_button=_interopRequireDefault(require("../../button/src/button")),_buttonGroup=_interopRequireDefault(require("../../button/src/button-group"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("date-picker"),maskedTypes=["year","month","date","datetime","time"],inputMaskedKeys=["y","M","d","H","m","n","s"],parseInputKayMaps={};function createReactData(){return{initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,inputValue:"",labelFlag:0}}function createInternalData(){return{inputLabel:"",laseFocusMasked:0}}inputMaskedKeys.forEach(e=>{parseInputKayMaps[e]=!0});var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDatePicker",props:{modelValue:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"date"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,autoComplete:{type:String,default:"off"},form:String,className:String,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().datePicker.size||(0,_ui.getConfig)().size},multiple:Boolean,limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.limitCount},startDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.startDate},endDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.endDate},defaultDate:[String,Number,Date],defaultTime:[String,Number,Date],minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.startDay},labelFormat:String,valueFormat:String,timeFormat:String,editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.disabledMethod},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.selectDay},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showClearButton},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showConfirmButton},autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.autoClose},maskedConfig:Object,prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:null},timeConfig:Object,popupConfig:Object,shortcutConfig:Object,startWeek:Number},emits:["update:modelValue","input","change","keydown","keyup","click","focus","blur","clear","confirm","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(S,e){let{slots:D,emit:r}=e,l=(0,_vue.inject)("$xeModal",null),i=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeTable",null),o=(0,_vue.inject)("$xeForm",null),s=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let $=(0,_ui.useSize)(S).computeSize,C=(0,_vue.reactive)(createReactData()),w=createInternalData(),V=(0,_vue.ref)(),T=(0,_vue.ref)(),z=(0,_vue.ref)(),P=(0,_vue.ref)(),M=(0,_vue.ref)(),d={refElem:V,refInput:T},R={xID:t,props:S,context:e,reactData:C,internalData:w,getRefMaps:()=>d},G=(0,_vue.computed)(()=>{var e=S.transfer,t=A.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=(0,_ui.getConfig)().datePicker.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||l||i||o)return!0}return e}),N=(0,_vue.computed)(()=>{var e=S.readonly;return null===e?!!o&&o.props.readonly:e}),I=(0,_vue.computed)(()=>{var e=S.disabled;return null===e?!!o&&o.props.disabled:e}),U=(0,_vue.computed)(()=>{var e=S.type;return"time"===e||"datetime"===e}),v=(0,_vue.computed)(()=>U.value||-1<["date","week","month","quarter","year"].indexOf(S.type)),K=(0,_vue.computed)(()=>S.clearable),b=(0,_vue.computed)(()=>U.value||-1<["date","week","month","quarter","year"].indexOf(S.type)),k=(0,_vue.computed)(()=>{let{modelValue:e,type:t,multiple:a}=S;var l=b.value;let i=p.value;return a&&e&&l?_xeUtils.default.toValueString(e).split(",").map(e=>{e=(0,_util.parseDateValue)(e,t,{valueFormat:i});return _xeUtils.default.isValidDate(e),e}):[]}),E=(0,_vue.computed)(()=>S.multiple?_xeUtils.default.toNumber(S.limitCount):0),Y=(0,_vue.computed)(()=>{var e=k.value;let t=p.value;return e.map(e=>_xeUtils.default.toDateString(e,t))}),W=(0,_vue.computed)(()=>{var e=S.multiple,t=E.value,a=Y.value;return!(!e||!t)&&a.length>=t}),H=(0,_vue.computed)(()=>{var{type:e,editable:t,multiple:a}=S;return N.value||a||!t||"week"===e||"quarter"===e}),Z=(0,_vue.computed)(()=>{var e=S.placeholder;return(e=e||(0,_ui.getConfig)().datePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),J=(0,_vue.computed)(()=>{var e=S.immediate;return e}),Q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.timeConfig,S.timeConfig)),A=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.popupConfig,S.popupConfig)),F=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.shortcutConfig,S.shortcutConfig)),X=(0,_vue.computed)(()=>{var e=F.value.options;return e?e.map((e,t)=>Object.assign({name:""+(e.name||e.code||t)},e)):[]}),g=(0,_vue.computed)(()=>{var e=S.labelFormat;return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+S.type)}),p=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=S;return(0,_util.handleValueFormat)(e,t)}),L=(0,_vue.computed)(()=>g.value),_=(0,_vue.computed)(()=>{var e=S.startDay;return _xeUtils.default.toNumber(e)}),j=(0,_vue.computed)(()=>{let{type:t,multiple:e}=S;var a=C.inputValue;let l=g.value,i=p.value,u=_.value;return(a?e?a.split(","):[a]:[]).map(e=>(0,_util.parseDateObj)(e,t,{valueFormat:i,labelFormat:l,firstDay:u}).label).join(", ")}),c=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.maskedConfig,S.maskedConfig)),O=(0,_vue.computed)(()=>{var e=c.value.maskPlaceholder;return(e?(""+e)[0]:"")||"*"}),ee=()=>{var e=S.modelValue;let t="";e&&(t=_xeUtils.default.isNumber(e)&&/^[0-9]{11,15}$/.test(""+e)?new Date(e):e),C.inputValue=t},B=(e,t)=>{w.inputLabel=e,t&&C.labelFlag++},m=e=>{var t=C.inputValue;y(e.type,{value:t},e)},f=(e,t)=>{var a,{type:l,modelValue:i,valueFormat:u}=S,n=p.value;C.inputValue=e,(0,_util.hasTimestampValueType)(u)?(a=(a=(0,_util.parseDateValue)(e,l,{valueFormat:n}))?a.getTime():null,r("update:modelValue",a),i!==a&&(y("change",{value:a},t),o)&&s&&o.triggerItemEvent(t,s.itemConfig.field,a)):(0,_util.hasDateValueType)(u)?(a=(0,_util.parseDateValue)(e,l,{valueFormat:n}),r("update:modelValue",a),(i&&a?_xeUtils.default.toStringDate(i).getTime()!==a.getTime():i!==a)&&(y("change",{value:a},t),o)&&s&&o.triggerItemEvent(t,s.itemConfig.field,a)):(r("update:modelValue",e),_xeUtils.default.toValueString(i)!==e&&(y("change",{value:e},t),o)&&s&&o.triggerItemEvent(t,s.itemConfig.field,e))},te=e=>{var t=e.target.value;B(t,!0),y("input",{value:t},e)},ae=e=>{J.value||m(e)},le=e=>{var t;I.value||(t=C.inputValue,y("prefix-click",{value:t},e))},h=()=>new Promise(e=>{C.visiblePanel=!1,w.hpTimeout=setTimeout(()=>{C.isAniVisible=!1,e()},350)}),ie=(a,e)=>{var{modelValue:t,multiple:l}=S,i=U.value;let u=p.value;var n=_.value;"week"===S.type&&(o=_xeUtils.default.toNumber(S.selectDay),a=_xeUtils.default.getWhatWeek(a,0,o,n));let r=_xeUtils.default.toDateString(a,u,{firstDay:n});if(l){var o=W.value;if(i){n=e?[]:[...k.value];let t=[];l=_xeUtils.default.findIndexOf(n,e=>_xeUtils.default.isDateSame(a,e,"yyyyMMdd"));if(-1===l){if(o)return;n.push(a)}else n.splice(l,1);n.forEach(e=>{e&&t.push(e)}),f(t.map(e=>_xeUtils.default.toDateString(e,u)).join(","),{type:"update"})}else{i=e?[]:Y.value;i.some(e=>_xeUtils.default.isEqual(e,r))?f(i.filter(e=>!_xeUtils.default.isEqual(e,r)).join(","),{type:"update"}):o||f(i.concat([r]).join(","),{type:"update"})}}else _xeUtils.default.isEqual(t,r)||f(r,{type:"update"})},ue=()=>{var e=j.value;B(e,!0)},x=a=>{var l=S.type,i=w.inputLabel,u=g.value;if(a){let t=(0,_util.parseDateValue)(a,l,{valueFormat:u});if(_xeUtils.default.isValidDate(t))if("time"===l)i!==(t=_xeUtils.default.toDateString(t,u))&&f(t,{type:"check"}),B(t,!0);else{let e=!1;i=_.value,l=("datetime"===l&&(l=C.inputValue,a===_xeUtils.default.toDateString(l,u))&&a===_xeUtils.default.toDateString(t,u)||(e=!0),_xeUtils.default.toDateString(t,u,{firstDay:i}));B(l,!0),e&&ie(t)}else ue()}else f("",{type:"check"})},ne=(e,t)=>{v.value&&h(),f("",e),y("clear",{value:t},e)},re=e=>{var t;I.value||(t=C.inputValue,y("suffix-click",{value:t},e))},oe=(e,a,l,i,u)=>{var{type:n,multiple:r}=S;if(!r){r=T.value;if(r){var o=r.value;if(o){var s=L.value,d=g.value,v=_.value,p=O.value,c=r.selectionStart||0;let t=s[c];parseInputKayMaps[t]||(t=s[c-1]);var m,f,c=s.match(new RegExp(t+"+"));c&&(a||l?(l=c[0]||"",m=(c=c.index||0)+l.length,f=o.slice(c,m),parseInputKayMaps[t]&&(f=((0,_util.isAllSameChar)(f,p)?(0,_util.getChunkDefaultNum)(t):_xeUtils.default.toNumber(f))+(a?1:-1),a=o.slice(0,c)+_xeUtils.default.padStart(f,l.length,"0")+o.slice(m),e.preventDefault(),-1===a.indexOf(p)?(f=(0,_util.parseDateValue)(a,n,{valueFormat:d}),_xeUtils.default.isValidDate(f)&&(l=_xeUtils.default.toDateString(f,d,{firstDay:v}),r.value=l,B(l,!1))):(r.value=a,B(a,!1))),r.setSelectionRange(c,m)):(i||u)&&-1<inputMaskedKeys.indexOf(t)&&(o=_xeUtils.default.map(s.match(new RegExp(`(${inputMaskedKeys.join("|")})+`,"g"))||[],e=>e[0]),p=_xeUtils.default.findIndexOf(o,e=>t===e[0]),f=(n=i?o[p-1]||o[0]:o[p+1]||o[o.length-1])?n[0]:"",d=s.match(new RegExp(f+"+")))&&(e.preventDefault(),l=(v=d.index||0)+d[0].length,r.setSelectionRange(v,l)),w.isTriggerMasked=!0)}}}},se=n=>{var r=S.multiple;if(!r){var o=T.value;if(o){r=(0,_dom.hasControlKey)(n);if(!r){n.preventDefault();var r=n.key,s=_ui.globalEvents.hasKey(n,_ui.GLOBAL_EVENT_KEYS.DELETE),d=_ui.globalEvents.hasKey(n,_ui.GLOBAL_EVENT_KEYS.BACKSPACE),r="0"<=r&&r<="9",n=r?n.key:"";if(s||d||r){var v=w.isTriggerMasked,p=L.value,c=O.value;let i=o.value||p;var m=o.selectionStart||0,f=o.selectionEnd||0;let u=p[m];parseInputKayMaps[u]||(u=p[m-1]);var g=p.match(new RegExp(u+"+"));if(g){var _=_xeUtils.default.map(p.match(new RegExp(`(${inputMaskedKeys.join("|")})+`,"g"))||[],e=>e[0]),h=g[0]||"",x=g.index||0,y=x+h.length,b=_.indexOf(u),m=!m&&f===i.length,f=i&&i.length!==p.length;(m||f)&&(i=p);let e=s?"":i.slice(x,y);f=e.match(/\d/g)||[],v=v&&!d?[]:f.slice(0);r?v.push(n):d&&v.pop(),e=v.join("").padEnd(h.length,c);let t=i.slice(0,x)+e+i.slice(y);if(t=t.replace(new RegExp(`(${inputMaskedKeys.join("|")})`,"g"),c),o.value=t,B(t,!1),m){if(d||s){r=_[0],n=p.match(new RegExp(r+"+"));if(n)return h=n[0],o.setSelectionRange(0,h.length),void(w.isTriggerMasked=!0)}}else if(d&&!f.length){for(let e=b-1;0<=e;e--){var k=_[e],k=p.match(new RegExp(k+"+"));if(k){var E=k[0],k=k.index||0,D=k+E.length;let e=t.slice(k,D);var C=e.match(/\d/g)||[];if(C.length)return C.pop(),e=C.join("").padEnd(E.length,c),t=t.slice(0,k)+e+t.slice(D),o.value=t,B(t,!1),void o.setSelectionRange(k,D)}}x=_[0],y=p.match(new RegExp(x+"+"));return y?(m=y[0],t=p.replace(new RegExp(`(${inputMaskedKeys.join("|")})`,"g"),c),o.value=t,B(t,!1),o.setSelectionRange(0,m.length),void(w.isTriggerMasked=!0)):void 0}let a=g.index||0,l=a+g[0].length;v.length>=e.length?(s=_.slice(b+1),-1<b&&((r=s.length?p.match(new RegExp(`(${s.join("|")})+`)):null)&&(a=r.index||0,l=a+r[0].length),o.setSelectionRange(a,l)),w.isTriggerMasked=!0):(o.setSelectionRange(a,l),w.isTriggerMasked=!1)}}}}}},n=(t,i)=>{var{type:u,multiple:n,modelValue:r}=S;if(!n&&maskedTypes.includes(u)){n=T.value;if(n){u=w.laseFocusMasked;if(!(u&&Date.now()-u<100)){u=L.value;let l=O.value;var a=n.selectionStart||0,o=n.selectionEnd||0,s=n.value,d=_xeUtils.default.map(u.match(new RegExp(`(${inputMaskedKeys.join("|")})+`,"g"))||[],e=>e[0]);if(!s){let e=u.replace(new RegExp(`(${inputMaskedKeys.join("|")})`,"g"),l);if(i&&r){let t=(""+_xeUtils.default.toNumber(r)).match(/\d/g)||[],a=0;e=u.replace(new RegExp(`(${inputMaskedKeys.join("|")})`,"g"),e=>t[a++]||e)}var i=d[0],r=u.match(new RegExp(i+"+"));if(r)return t.preventDefault(),i=r[0],n.value=e,B(e,!1),n.setSelectionRange(0,i.length),void(w.laseFocusMasked=Date.now())}r=!a&&o===s.length,i=s&&s.length!==u.length;if(r||i){let a="";if(i&&s){let e=s.match(/\d/g)||[],t=0;a=u.replace(new RegExp(`(${inputMaskedKeys.join("|")})`,"g"),()=>e[t++]||l)}else u.replace(new RegExp(`(${inputMaskedKeys.join("|")})`,"g"),l);var o=d[0],r=u.match(new RegExp(o+"+"));if(r)return t.preventDefault(),i=r[0],n.value=a,B(a,!1),n.setSelectionRange(0,i.length),void(w.laseFocusMasked=Date.now())}let e=u[a];(e=parseInputKayMaps[e]?e:u[a-1])&&(t.preventDefault(),s=u.match(new RegExp(e+"+")))&&(d=s[0]||"",r=(o=s.index||0)+d.length,n.setSelectionRange(o,r),w.isTriggerMasked=!0,w.laseFocusMasked=Date.now())}}}},de=e=>{var t,a=M.value,l=C.inputValue;J.value||f(l,e),C.visiblePanel||(t=w.inputLabel,C.isActivated=!1,a?a.checkValue(t):x(t)),y("blur",{value:l},e),o&&s&&o.triggerItemEvent(e,s.itemConfig.field,l)},ve=e=>{let{multiple:t,editable:a,maskedConfig:l}=S,i=c.value;var u=A.value.trigger;C.isActivated=!0,u&&"default"!==u?"icon"===u?(h(),setTimeout(()=>{a&&!t&&((0,_utils.isEnableConf)(l)||i.enabled)&&n(e,!0)},15)):a&&!t&&((0,_utils.isEnableConf)(l)||i.enabled)&&n(e,!0):(Se(e),setTimeout(()=>{a&&!t&&((0,_utils.isEnableConf)(l)||i.enabled)&&n(e,!0)},15)),m(e)},pe=e=>{var{editable:t,maskedConfig:a}=S,l=c.value;t&&((0,_utils.isEnableConf)(a)||l.enabled)&&n(e),m(e)},ce=e=>{var t,{type:a,editable:l,maskedConfig:i}=S,u=C.visiblePanel,n=c.value,r=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),o=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),s=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_LEFT),d=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_RIGHT),v=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ENTER);l&&(v?(l=M.value,v=w.inputLabel,t=T.value,u&&h(),l?l.checkValue(v):x(v),t&&t.blur()):maskedTypes.includes(a)&&((0,_utils.isEnableConf)(i)||n.enabled)&&(n.isArrow&&(r||o||s||d)?oe(e,r,o,s,d):n.isMasked&&se(e))),m(e)},me=e=>{m(e)},fe=e=>{var t=M.value;t&&t.confirmByEvent(e),h()},ge=e=>{var{multiple:t,autoClose:a}=S,{value:e,$event:l}=e,i=U.value;f(e,l),t||i||a&&h()},_e=e=>{y("confirm",e,e.$event)},he=e=>{B(e.label,!0)},xe=e=>{var t=M.value,{visiblePanel:a,isActivated:l}=C,i=V.value,u=P.value;!I.value&&l&&((i=(0,_dom.getEventTargetNode)(e,i).flag||(0,_dom.getEventTargetNode)(e,u).flag)!==l&&(C.isActivated=i),i||a&&(h(),e=w.inputLabel,t?t.checkValue(e):x(e)))},ye=e=>{var t,{isActivated:a,visiblePanel:l}=C;I.value||(t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),t&&a&&(C.isActivated=!1),l&&(e||t)&&h())},be=e=>{var t=C.visiblePanel;I.value||t&&(t=P.value,((0,_dom.getEventTargetNode)(e,t).flag?a:h)())},ke=()=>{var e=M.value,{isActivated:t,visiblePanel:a}=C;a&&h(),t&&(C.isActivated=!1),(a||t)&&(e&&e.checkValue(w.inputLabel),a=T.value)&&a.blur()},Ee=()=>{var e=C.visiblePanel;e&&a()},De=()=>{var e=A.value.zIndex||S.zIndex;e?C.panelIndex=_xeUtils.default.toNumber(e):C.panelIndex<(0,_utils.getLastZIndex)()&&(C.panelIndex=(0,_utils.nextZIndex)())},a=()=>{let a=S.placement,l=C.panelIndex,i=T.value,u=z.value;if(!u)return(0,_vue.nextTick)();let n=G.value,r=A.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,u,{placement:r.placement||a,defaultPlacement:r.defaultPlacement,teleportTo:n}),t=Object.assign(e.style,{zIndex:l});C.panelStyle=t,C.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},Ce=()=>{var e=C.visiblePanel;return(I.value||e?(0,_vue.nextTick):(C.initialized||(C.initialized=!0),w.hpTimeout&&(clearTimeout(w.hpTimeout),w.hpTimeout=void 0),C.isActivated=!0,C.isAniVisible=!0,setTimeout(()=>{C.visiblePanel=!0,a()},10),De(),a))()},Se=e=>{N.value||(e.preventDefault(),Ce())},we=e=>{var t=C.visiblePanel,a=A.value.trigger;a&&"default"!==a&&"icon"!==a||(t?h():Se(e))},Ve=({option:e,$event:t})=>{var a=S.type,l=C.inputValue,i=F.value,u=i.autoClose,{code:n,clickMethod:r}=e,o=l,s={$datePicker:R,option:e,value:o,code:n};if(!r&&n){l=_ui.commands.get(n),e=l?l.datePickerCommandMethod:null;if(e)e(s);else{var d=p.value,v=_.value;switch(n){case"now":case"prev":case"next":case"minus":case"plus":o=(0,_util.getDateByCode)(n,o,a,{valueFormat:d,firstDay:v}).value;s.value=o,f(o,t);break;default:errLog("vxe.error.notCommands",[n])}}}else{l=r||i.clickMethod;l&&l(s)}u&&h(),y("shortcut-click",s,t)},y=(e,t,a)=>{r(e,(0,_ui.createEvent)(a,{$datePicker:R},t))};t={dispatchEvent:y,setModelValue(e){C.inputValue=e,r("update:modelValue",e)},setModelValueByEvent(e,t){f(t||"",e)},focus(){var e=T.value;return C.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return T.value.blur(),(C.isActivated=!1,_vue.nextTick)()},select(){return T.value.select(),(C.isActivated=!1,_vue.nextTick)()},showPanel:Ce,hidePanel:h,updatePlacement:a};Object.assign(R,t);let q=(e,t)=>{var a=F.value,{position:l,align:i,mode:u}=a,n=X.value;return(0,_utils.isEnableConf)(a)&&n.length&&(l||"left")===e?(0,_vue.h)("div",{class:`vxe-date-picker--layout-${e}-wrapper`},[(0,_vue.h)(_buttonGroup.default,{options:n,mode:u,align:i,vertical:t,onClick:Ve})]):(0,_ui.renderEmptyElement)(R)},Te=()=>(0,_vue.h)("div",{class:"vxe-date-picker--control-icon",onClick:we},[(0,_vue.h)("i",{class:["vxe-date-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(j,e=>{B(e,!0)}),(0,_vue.watch)(()=>S.modelValue,()=>{ee()}),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(R,"mousewheel",be),_ui.globalEvents.on(R,"mousedown",xe),_ui.globalEvents.on(R,"keydown",ye),_ui.globalEvents.on(R,"blur",ke),_ui.globalEvents.on(R,"resize",Ee)}),(0,_vue.onMounted)(()=>{var{type:e,multiple:t,maskedConfig:a}=S;(0,_utils.isEnableConf)(a)&&(t&&errLog("vxe.error.notSupportProp",["multiple","control-config.enabled=true","control-config.enabled=false"]),maskedTypes.includes(e)||warnLog("vxe.error.notSupportProp",["control-config.enabled=true","type="+e,"type="+maskedTypes.join("|")]))}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(R,"mousewheel"),_ui.globalEvents.off(R,"mousedown"),_ui.globalEvents.off(R,"blur"),_ui.globalEvents.off(R,"resize")}),ee(),(0,_vue.provide)("$xeDatePicker",R),R.renderVN=()=>{var e,t,a,l,i,u,n,r,o,s,d,{className:v,type:p,name:c,autoComplete:m}=S,{inputValue:f,visiblePanel:g,isActivated:_,labelFlag:h}=C,x=w.inputLabel,y=$.value,b=I.value,k=N.value,E=j.value;return k?(0,_vue.h)("div",{ref:V,class:["vxe-date-picker--readonly","type--"+p,v]},E):(k=H.value,E=Z.value,a=K.value,t=S.prefixIcon,l=(l=D.prefix)||t?(0,_vue.h)("div",{class:"vxe-date-picker--prefix",onClick:le},[(0,_vue.h)("div",{class:"vxe-date-picker--prefix-icon"},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:t})])]):null,t=S.suffixIcon,d=C.inputValue,s=D.suffix,i=I.value,e=K.value,i=(0,_vue.h)("div",{class:["vxe-date-picker--suffix",{"is--clear":e&&!i&&!(""===d||_xeUtils.default.eqNull(d))}]},[e?(0,_vue.h)("div",{class:"vxe-date-picker--clear-icon",onClick:ne},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(R),Te(),s||t?(0,_vue.h)("div",{class:"vxe-date-picker--suffix-icon",onClick:re},s?(0,_vn.getSlotVNs)(s({})):[(0,_vue.h)("i",{class:t})]):(0,_ui.renderEmptyElement)(R)]),(0,_vue.h)("div",{ref:V,class:["vxe-date-picker","type--"+p,v,{["size--"+y]:y,"is--prefix":!!l,"is--suffix":!!i,"is--visible":g,"is--disabled":b,"is--active":_,"show--clear":a&&!b&&!(""===f||_xeUtils.default.eqNull(f))}],spellcheck:!1},[l||(0,_ui.renderEmptyElement)(R),(0,_vue.h)("div",{class:"vxe-date-picker--wrapper"},[(0,_vue.h)("input",{ref:T,class:"vxe-date-picker--inner",value:h?x:"",name:c,type:"text",placeholder:E,readonly:k,disabled:b,autocomplete:m,onKeydown:ce,onKeyup:me,onClick:pe,onInput:te,onChange:ae,onFocus:ve,onBlur:de})]),i||(0,_ui.renderEmptyElement)(R),!1===(d=A.value).enabled?(0,_ui.renderEmptyElement)(R):({type:e,multiple:s,showClearButton:t,showConfirmButton:p}=S,{initialized:v,isAniVisible:y,visiblePanel:g,panelPlacement:_,panelStyle:a,inputValue:f}=C,l=$.value,h=G.value,x=F.value,c=K.value,E=U.value,k=X.value,b=Q.value,x=x.position,m=D.header,i=D.footer,u=D.top,n=D.bottom,r=D.left,o=D.right,d=d.className,k=0<k.length,E=null===p?E||s:p,s=null===t?c&&E&&"time"!==e:t,(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!h||!v},[(0,_vue.h)("div",{ref:z,class:["vxe-table--ignore-clear vxe-date-picker--panel","type--"+e,d?_xeUtils.default.isFunction(d)?d({$datePicker:R}):d:"",{["size--"+l]:l,"is--transfer":h,"ani--leave":y,"ani--enter":g,"show--top":!!(u||m||k&&("top"===x||"header"===x)),"show--bottom":!!(n||i||k&&("bottom"===x||"footer"===x)),"show--left":!!(r||k&&"left"===x),"show--right":!!(o||k&&"right"===x)}],placement:_,style:a},v&&(g||y)?[(0,_vue.h)("div",{ref:P,class:["vxe-date-picker--layout-all-wrapper","type--"+e,{["size--"+l]:l}]},[u?(0,_vue.h)("div",{class:"vxe-date-picker--layout-top-wrapper"},u({})):q("top"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-layout-wrapper"},[r?(0,_vue.h)("div",{class:"vxe-date-picker--layout-left-wrapper"},r({})):q("left",!0),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-content-wrapper"},[m?(0,_vue.h)("div",{class:"vxe-date-picker--layout-header-wrapper"},m({})):q("header"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:M,modelValue:C.inputValue,type:S.type,className:S.className,multiple:S.multiple,limitCount:S.limitCount,startDate:S.startDate,endDate:S.endDate,defaultDate:S.defaultDate,defaultTime:S.defaultTime,minDate:S.minDate,maxDate:S.maxDate,startDay:S.startDay,labelFormat:S.labelFormat,valueFormat:S.valueFormat,timeFormat:S.timeFormat,timeConfig:b,festivalMethod:S.festivalMethod,disabledMethod:S.disabledMethod,selectDay:S.selectDay,onChange:ge,onConfirm:_e,onRevert:he})]),(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-custom"},i?i({}):[q("footer")]),s||E?(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-btns"},[s?(0,_vue.h)(_button.default,{size:"mini",disabled:""===f||_xeUtils.default.eqNull(f),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:ne}):(0,_ui.renderEmptyElement)(R),E?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:fe}):(0,_ui.renderEmptyElement)(R)]):(0,_ui.renderEmptyElement)(R)])]),o?(0,_vue.h)("div",{class:"vxe-date-picker--layout-right-wrapper"},o({})):q("right",!0)]),n?(0,_vue.h)("div",{class:"vxe-date-picker--layout-bottom-wrapper"},n({})):q("bottom")])]:[])]))]))},R},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_util=require("../../date-panel/src/util"),_log=require("../../ui/src/log"),_datePanel=_interopRequireDefault(require("../../date-panel/src/date-panel")),_button=_interopRequireDefault(require("../../button/src/button")),_buttonGroup=_interopRequireDefault(require("../../button/src/button-group"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("date-picker"),maskedTypes=["year","month","date","datetime","time"],inputMaskedKeys=["y","M","d","H","m","n","s"],parseInputKayMaps={};function createReactData(){return{initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,inputValue:"",labelFlag:0}}function createInternalData(){return{inputLabel:"",laseFocusMasked:0}}inputMaskedKeys.forEach(e=>{parseInputKayMaps[e]=!0});var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDatePicker",props:{modelValue:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"date"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,autoComplete:{type:String,default:"off"},form:String,className:String,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().datePicker.size||(0,_ui.getConfig)().size},multiple:Boolean,limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.limitCount},startDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.startDate},endDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.endDate},defaultDate:[String,Number,Date],defaultTime:[String,Number,Date],minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.startDay},labelFormat:String,valueFormat:String,timeFormat:String,editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.disabledMethod},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.selectDay},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showClearButton},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showConfirmButton},autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.autoClose},maskedConfig:Object,prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:null},timeConfig:Object,popupConfig:Object,shortcutConfig:Object,startWeek:Number},emits:["update:modelValue","input","change","keydown","keyup","click","focus","blur","clear","confirm","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(w,e){let{slots:S,emit:r}=e,l=(0,_vue.inject)("$xeModal",null),i=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeTable",null),o=(0,_vue.inject)("$xeForm",null),s=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let Y=(0,_ui.useSize)(w).computeSize,V=(0,_vue.reactive)(createReactData()),T=createInternalData(),P=(0,_vue.ref)(),M=(0,_vue.ref)(),W=(0,_vue.ref)(),R=(0,_vue.ref)(),U=(0,_vue.ref)(),d={refElem:P,refInput:M},N={xID:t,props:w,context:e,reactData:V,internalData:T,getRefMaps:()=>d},H=(0,_vue.computed)(()=>{var e=w.transfer,t=j.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=(0,_ui.getConfig)().datePicker.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||l||i||o)return!0}return e}),I=(0,_vue.computed)(()=>{var e=w.readonly;return null===e?!!o&&o.props.readonly:e}),K=(0,_vue.computed)(()=>{var e=w.disabled;return null===e?!!o&&o.props.disabled:e}),A=(0,_vue.computed)(()=>{var e=w.type;return"time"===e||"datetime"===e}),x=(0,_vue.computed)(()=>A.value||-1<["date","week","month","quarter","year"].indexOf(w.type)),F=(0,_vue.computed)(()=>w.clearable),y=(0,_vue.computed)(()=>A.value||-1<["date","week","month","quarter","year"].indexOf(w.type)),b=(0,_vue.computed)(()=>{let{modelValue:e,type:t,multiple:a}=w;var l=y.value;let i=p.value;return a&&e&&l?_xeUtils.default.toValueString(e).split(",").map(e=>{e=(0,_util.parseDateValue)(e,t,{valueFormat:i});return _xeUtils.default.isValidDate(e),e}):[]}),Z=(0,_vue.computed)(()=>w.startDate?_xeUtils.default.toStringDate(w.startDate):null),J=(0,_vue.computed)(()=>w.endDate?_xeUtils.default.toStringDate(w.endDate):null),k=(0,_vue.computed)(()=>w.multiple?_xeUtils.default.toNumber(w.limitCount):0),E=(0,_vue.computed)(()=>{var e=b.value;let t=p.value;return e.map(e=>_xeUtils.default.toDateString(e,t))}),D=(0,_vue.computed)(()=>{var e=w.multiple,t=k.value,a=E.value;return!(!e||!t)&&a.length>=t}),Q=(0,_vue.computed)(()=>{var{type:e,editable:t,multiple:a}=w;return I.value||a||!t||"week"===e||"quarter"===e}),X=(0,_vue.computed)(()=>{var e=w.placeholder;return(e=e||(0,_ui.getConfig)().datePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),C=(0,_vue.computed)(()=>{var e=w.immediate;return e}),ee=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.timeConfig,w.timeConfig)),j=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.popupConfig,w.popupConfig)),L=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.shortcutConfig,w.shortcutConfig)),te=(0,_vue.computed)(()=>{var e=L.value.options;return e?e.map((e,t)=>Object.assign({name:""+(e.name||e.code||t)},e)):[]}),g=(0,_vue.computed)(()=>{var e=w.labelFormat;return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+w.type)}),p=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=w;return(0,_util.handleValueFormat)(e,t)}),O=(0,_vue.computed)(()=>g.value),_=(0,_vue.computed)(()=>{var e=w.startDay;return _xeUtils.default.toNumber(e)}),B=(0,_vue.computed)(()=>{let{type:t,multiple:e}=w;var a=V.inputValue;let l=g.value,i=p.value,u=_.value;return(a?e?a.split(","):[a]:[]).map(e=>(0,_util.parseDateObj)(e,t,{valueFormat:i,labelFormat:l,firstDay:u}).label).join(", ")}),q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.maskedConfig,w.maskedConfig)),$=(0,_vue.computed)(()=>{var e=q.value.maskPlaceholder;return(e?(""+e)[0]:"")||"*"}),ae=()=>{var e=w.modelValue;let t="";e&&(t=_xeUtils.default.isNumber(e)&&/^[0-9]{11,15}$/.test(""+e)?new Date(e):e),V.inputValue=t},z=(e,t)=>{T.inputLabel=e,t&&V.labelFlag++},v=e=>{var t=V.inputValue;h(e.type,{value:t},e)},c=(e,t)=>{var a,{type:l,modelValue:i,valueFormat:u}=w,n=p.value;V.inputValue=e,(0,_util.hasTimestampValueType)(u)?(a=(a=(0,_util.parseDateValue)(e,l,{valueFormat:n}))?a.getTime():null,r("update:modelValue",a),i!==a&&(h("change",{value:a},t),o)&&s&&o.triggerItemEvent(t,s.itemConfig.field,a)):(0,_util.hasDateValueType)(u)?(a=(0,_util.parseDateValue)(e,l,{valueFormat:n}),r("update:modelValue",a),(i&&a?_xeUtils.default.toStringDate(i).getTime()!==a.getTime():i!==a)&&(h("change",{value:a},t),o)&&s&&o.triggerItemEvent(t,s.itemConfig.field,a)):(r("update:modelValue",e),_xeUtils.default.toValueString(i)!==e&&(h("change",{value:e},t),o)&&s&&o.triggerItemEvent(t,s.itemConfig.field,e))},le=e=>{var t=e.target.value;z(t,!0),h("input",{value:t},e)},ie=e=>{C.value||v(e)},ue=e=>{var t;K.value||(t=V.inputValue,h("prefix-click",{value:t},e))},f=()=>new Promise(e=>{V.visiblePanel=!1,T.hpTimeout=setTimeout(()=>{V.isAniVisible=!1,e()},350)}),ne=(a,e)=>{var{modelValue:t,multiple:l}=w,i=A.value;let u=p.value;var n=_.value;"week"===w.type&&(o=_xeUtils.default.toNumber(w.selectDay),a=_xeUtils.default.getWhatWeek(a,0,o,n));let r=_xeUtils.default.toDateString(a,u,{firstDay:n});if(l){var o=D.value;if(i){n=e?[]:[...b.value];let t=[];l=_xeUtils.default.findIndexOf(n,e=>_xeUtils.default.isDateSame(a,e,"yyyyMMdd"));if(-1===l){if(o)return;n.push(a)}else n.splice(l,1);n.forEach(e=>{e&&t.push(e)}),c(t.map(e=>_xeUtils.default.toDateString(e,u)).join(","),{type:"update"})}else{i=e?[]:E.value;i.some(e=>_xeUtils.default.isEqual(e,r))?c(i.filter(e=>!_xeUtils.default.isEqual(e,r)).join(","),{type:"update"}):o||c(i.concat([r]).join(","),{type:"update"})}}else _xeUtils.default.isEqual(t,r)||c(r,{type:"update"})},re=()=>{var e=B.value;z(e,!0)},m=l=>{var{type:a,editable:i,multiple:e,maskedConfig:u}=w,n=T.inputLabel;let r=g.value;var o=q.value;if(l){i&&!e&&((0,_utils.isEnableConf)(u)||o.enabled)&&(i=r.match(new RegExp(`(${inputMaskedKeys.join("|")})+`,"g")))&&i.forEach(t=>{var a=r.indexOf(t);if(-1<a){let e=_xeUtils.default.toNumber(l.slice(a,t.length).replace(/\D/g,""));!e&&["MM","dd"].includes(t)&&(e=1),l=l.slice(0,a)+_xeUtils.default.padStart((0,_util.checkDateFormat)(e,t),t.length,"0")+l.slice(a+t.length)}});e=U.value;if(e)return e.checkValue(l);let t=(0,_util.parseDateValue)(l,a,{valueFormat:r});if(_xeUtils.default.isValidDate(t))if("time"===a)n!==(t=_xeUtils.default.toDateString(t,r))&&c(t,{type:"check"}),z(t,!0);else{let e=!1;u=_.value,i=("datetime"===a&&(o=V.inputValue,l===_xeUtils.default.toDateString(o,r))&&l===_xeUtils.default.toDateString(t,r)||(e=!0),_xeUtils.default.toDateString(t,r,{firstDay:u}));z(i,!0),e&&ne(t)}else re()}else c("",{type:"check"})},oe=(e,t)=>{x.value&&f(),c("",e),h("clear",{value:t},e)},se=e=>{var t;K.value||(t=V.inputValue,h("suffix-click",{value:t},e))},de=(e,t,a)=>{var l=q.value.align,i=$.value,e=(0,_util.checkDateFormat)(_xeUtils.default.toNumber(e),t);return a?_xeUtils.default.padStart(e,t.length,"0"):_xeUtils.default["right"===l?"padStart":"padEnd"](e,t.length,i)},ve=(e,a,l,i,u)=>{var{type:n,multiple:r}=w;if(!r){r=M.value;if(r){var o=r.value;if(o){var s=O.value,d=g.value,v=_.value,p=$.value,c=r.selectionStart||0;let t=s[c];parseInputKayMaps[t]||(t=s[c-1]);var f,m,c=s.match(new RegExp(t+"+"));c&&(a||l?(l=c[0]||"",f=(c=c.index||0)+l.length,m=o.slice(c,f),parseInputKayMaps[t]&&(m=((0,_util.isAllSameChar)(m,p)?(0,_util.getChunkDefaultNum)(t):_xeUtils.default.toNumber(m))+(a?1:-1),a=o.slice(0,c)+de(m,l,!0)+o.slice(f),e.preventDefault(),-1===a.indexOf(p)?(m=(0,_util.parseDateValue)(a,n,{valueFormat:d}),_xeUtils.default.isValidDate(m)&&(l=_xeUtils.default.toDateString(m,d,{firstDay:v}),r.value=l,z(l,!1))):(r.value=a,z(a,!1))),r.setSelectionRange(c,f)):(i||u)&&-1<inputMaskedKeys.indexOf(t)&&(o=_xeUtils.default.map(s.match(new RegExp(`(${inputMaskedKeys.join("|")})+`,"g"))||[],e=>e[0]),p=_xeUtils.default.findIndexOf(o,e=>t===e[0]),m=(n=i?o[p-1]||o[0]:o[p+1]||o[o.length-1])?n[0]:"",d=s.match(new RegExp(m+"+")))&&(e.preventDefault(),l=(v=d.index||0)+d[0].length,r.setSelectionRange(v,l)),T.isTriggerMasked=!0)}}}},pe=n=>{var r=w.multiple;if(!r){var o=M.value;if(o){r=(0,_dom.hasControlKey)(n);if(!r){n.preventDefault();var r=n.key,s=_ui.globalEvents.hasKey(n,_ui.GLOBAL_EVENT_KEYS.DELETE),d=_ui.globalEvents.hasKey(n,_ui.GLOBAL_EVENT_KEYS.BACKSPACE),r="0"<=r&&r<="9",n=r?n.key:"";if(s||d||r){var v=T.isTriggerMasked,p=q.value.align,c=O.value,f=$.value;let i=o.value||c;var m=o.selectionStart||0,g=o.selectionEnd||0;let u=c[m];parseInputKayMaps[u]||(u=c[m-1]);var _=c.match(new RegExp(u+"+"));if(_){var h=_xeUtils.default.map(c.match(new RegExp(`(${inputMaskedKeys.join("|")})+`,"g"))||[],e=>e[0]),x=_[0]||"",y=_.index||0,b=y+x.length,k=h.indexOf(u),m=!m&&g===i.length&&1<h.length,g=i&&i.length!==c.length;(m||g)&&(i=c);let e=s?"":i.slice(y,b);g=e.match(/\d/g)||[],v=v&&!d?[]:g.slice(0);r?(v.push(n),e=de(v.join(""),x,!1)):d&&(v.pop(),e=_xeUtils.default["right"===p?"padStart":"padEnd"](v.join(""),x.length,f));let t=i.slice(0,y)+e+i.slice(b);if(t=t.replace(new RegExp(`(${inputMaskedKeys.join("|")})`,"g"),f),o.value=t,z(t,!1),m){if(d||s){r=h[0],n=c.match(new RegExp(r+"+"));if(n)return x=n[0],o.setSelectionRange(0,x.length),void(T.isTriggerMasked=!0)}}else if(d&&!g.length){for(let e=k-1;0<=e;e--){var E=h[e],E=c.match(new RegExp(E+"+"));if(E){var D=E[0],E=E.index||0,C=E+D.length;let e=t.slice(E,C);var S=e.match(/\d/g)||[];if(S.length)return S.pop(),e=_xeUtils.default["right"===p?"padStart":"padEnd"](S.join(""),D.length,f),t=t.slice(0,E)+e+t.slice(C),o.value=t,z(t,!1),void o.setSelectionRange(E,C)}}y=h[0],b=c.match(new RegExp(y+"+"));return b?(m=b[0],t=c.replace(new RegExp(`(${inputMaskedKeys.join("|")})`,"g"),f),o.value=t,z(t,!1),o.setSelectionRange(0,m.length),void(T.isTriggerMasked=!0)):void 0}let a=_.index||0,l=a+_[0].length;v.length>=e.length?(s=h.slice(k+1),-1<k&&((r=s.length?c.match(new RegExp(`(${s.join("|")})+`)):null)&&(a=r.index||0,l=a+r[0].length),o.setSelectionRange(a,l)),T.isTriggerMasked=!0):(o.setSelectionRange(a,l),T.isTriggerMasked=!1)}}}}}},n=(t,i)=>{var{type:u,multiple:n,modelValue:r}=w;if(!n&&maskedTypes.includes(u)){n=M.value;if(n){u=T.laseFocusMasked;if(!(u&&Date.now()-u<100)){u=O.value;let l=$.value;var a=n.selectionStart||0,o=n.selectionEnd||0,s=n.value,d=_xeUtils.default.map(u.match(new RegExp(`(${inputMaskedKeys.join("|")})+`,"g"))||[],e=>e[0]);if(!s){let e=u.replace(new RegExp(`(${inputMaskedKeys.join("|")})`,"g"),l);if(i&&r){let t=(""+_xeUtils.default.toNumber(r)).match(/\d/g)||[],a=0;e=u.replace(new RegExp(`(${inputMaskedKeys.join("|")})`,"g"),e=>t[a++]||e)}var i=d[0],r=u.match(new RegExp(i+"+"));if(r)return t.preventDefault(),i=r[0],n.value=e,z(e,!1),n.setSelectionRange(0,i.length),void(T.laseFocusMasked=Date.now())}r=!a&&o===s.length&&1<d.length,i=s&&s.length!==u.length;if(r||i){let a="";if(i&&s){let e=s.match(/\d/g)||[],t=0;a=u.replace(new RegExp(`(${inputMaskedKeys.join("|")})`,"g"),()=>e[t++]||l)}else u.replace(new RegExp(`(${inputMaskedKeys.join("|")})`,"g"),l);var o=d[0],r=u.match(new RegExp(o+"+"));if(r)return t.preventDefault(),i=r[0],n.value=a,z(a,!1),n.setSelectionRange(0,i.length),void(T.laseFocusMasked=Date.now())}let e=u[a];(e=parseInputKayMaps[e]?e:u[a-1])&&(t.preventDefault(),s=u.match(new RegExp(e+"+")))&&(d=s[0]||"",r=(o=s.index||0)+d.length,n.setSelectionRange(o,r),T.isTriggerMasked=!0,T.laseFocusMasked=Date.now())}}}},ce=e=>{var t,a=V.inputValue;C.value||c(a,e),V.visiblePanel||(t=T.inputLabel,V.isActivated=!1,m(t)),h("blur",{value:a},e),o&&s&&o.triggerItemEvent(e,s.itemConfig.field,a)},fe=e=>{let{multiple:t,editable:a,maskedConfig:l}=w,i=q.value;var u=j.value.trigger;V.isActivated=!0,u&&"default"!==u?"icon"===u?(f(),setTimeout(()=>{a&&!t&&((0,_utils.isEnableConf)(l)||i.enabled)&&n(e,!0)},15)):a&&!t&&((0,_utils.isEnableConf)(l)||i.enabled)&&n(e,!0):(Te(e),setTimeout(()=>{a&&!t&&((0,_utils.isEnableConf)(l)||i.enabled)&&n(e,!0)},15)),v(e)},me=e=>{var{editable:t,maskedConfig:a}=w,l=q.value;t&&((0,_utils.isEnableConf)(a)||l.enabled)&&n(e),v(e)},ge=e=>{var{type:t,editable:a,maskedConfig:l}=w,i=V.visiblePanel,u=q.value,n=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),r=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),o=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_LEFT),s=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_RIGHT),d=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ENTER);a&&(d?(a=T.inputLabel,d=M.value,i&&f(),m(a),d&&d.blur()):maskedTypes.includes(t)&&((0,_utils.isEnableConf)(l)||u.enabled)&&(u.isArrow&&(n||r||o||s)?ve(e,n,r,o,s):u.isMasked&&pe(e))),v(e)},_e=e=>{v(e)},he=e=>{var t=U.value;t&&t.confirmByEvent(e),f()},xe=e=>{var{multiple:t,autoClose:a}=w,{value:e,$event:l}=e,i=A.value;c(e,l),t||i||a&&f()},ye=e=>{h("confirm",e,e.$event)},be=e=>{z(e.label,!0)},ke=e=>{var{visiblePanel:t,isActivated:a}=V,l=P.value,i=R.value;!K.value&&a&&((l=(0,_dom.getEventTargetNode)(e,l).flag||(0,_dom.getEventTargetNode)(e,i).flag)!==a&&(V.isActivated=l),l||t&&(f(),e=T.inputLabel,m(e)))},Ee=e=>{var t,{isActivated:a,visiblePanel:l}=V;K.value||(t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),t&&a&&(V.isActivated=!1),l&&(e||t)&&f())},De=e=>{var t=V.visiblePanel;K.value||t&&(t=R.value,((0,_dom.getEventTargetNode)(e,t).flag?a:f)())},Ce=()=>{var{isActivated:e,visiblePanel:t}=V;t&&f(),e&&(V.isActivated=!1),(t||e)&&(m(T.inputLabel),t=M.value)&&t.blur()},Se=()=>{var e=V.visiblePanel;e&&a()},we=()=>{var e=j.value.zIndex||w.zIndex;e?V.panelIndex=_xeUtils.default.toNumber(e):V.panelIndex<(0,_utils.getLastZIndex)()&&(V.panelIndex=(0,_utils.nextZIndex)())},a=()=>{let a=w.placement,l=V.panelIndex,i=M.value,u=W.value;if(!u)return(0,_vue.nextTick)();let n=H.value,r=j.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,u,{placement:r.placement||a,defaultPlacement:r.defaultPlacement,teleportTo:n}),t=Object.assign(e.style,{zIndex:l});V.panelStyle=t,V.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},Ve=()=>{var e=V.visiblePanel;return(K.value||e?(0,_vue.nextTick):(V.initialized||(V.initialized=!0),T.hpTimeout&&(clearTimeout(T.hpTimeout),T.hpTimeout=void 0),V.isActivated=!0,V.isAniVisible=!0,setTimeout(()=>{V.visiblePanel=!0,a()},10),we(),a))()},Te=e=>{I.value||(e.preventDefault(),Ve())},Pe=e=>{var t=V.visiblePanel,a=j.value.trigger;a&&"default"!==a&&"icon"!==a||(t?f():Te(e))},Me=({option:e,$event:t})=>{var a=w.type,l=V.inputValue,i=L.value,u=i.autoClose,{code:n,clickMethod:r}=e,o=l,s={$datePicker:N,option:e,value:o,code:n};if(!r&&n){l=_ui.commands.get(n),e=l?l.datePickerCommandMethod:null;if(e)e(s);else{var d=p.value,v=_.value;switch(n){case"now":case"prev":case"next":case"minus":case"plus":o=(0,_util.getDateByCode)(n,o,a,{valueFormat:d,firstDay:v}).value;s.value=o,c(o,t);break;default:errLog("vxe.error.notCommands",[n])}}}else{l=r||i.clickMethod;l&&l(s)}u&&f(),h("shortcut-click",s,t)},h=(e,t,a)=>{r(e,(0,_ui.createEvent)(a,{$datePicker:N},t))};t={dispatchEvent:h,setModelValue(e){V.inputValue=e,r("update:modelValue",e)},setModelValueByEvent(e,t){c(t||"",e)},focus(){var e=M.value;return V.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return M.value.blur(),(V.isActivated=!1,_vue.nextTick)()},select(){return M.value.select(),(V.isActivated=!1,_vue.nextTick)()},showPanel:Ve,hidePanel:f,updatePlacement:a};Object.assign(N,t);let G=(e,t)=>{var a=L.value,{position:l,align:i,mode:u}=a,n=te.value;return(0,_utils.isEnableConf)(a)&&n.length&&(l||"left")===e?(0,_vue.h)("div",{class:`vxe-date-picker--layout-${e}-wrapper`},[(0,_vue.h)(_buttonGroup.default,{options:n,mode:u,align:i,vertical:t,onClick:Me})]):(0,_ui.renderEmptyElement)(N)},Re=()=>(0,_vue.h)("div",{class:"vxe-date-picker--control-icon",onClick:Pe},[(0,_vue.h)("i",{class:["vxe-date-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(B,e=>{z(e,!0)}),(0,_vue.watch)(()=>w.modelValue,()=>{ae()}),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(N,"mousewheel",De),_ui.globalEvents.on(N,"mousedown",ke),_ui.globalEvents.on(N,"keydown",Ee),_ui.globalEvents.on(N,"blur",Ce),_ui.globalEvents.on(N,"resize",Se)}),(0,_vue.onMounted)(()=>{var{type:e,multiple:t,maskedConfig:a}=w;(0,_utils.isEnableConf)(a)&&(t&&errLog("vxe.error.notSupportProp",["multiple","control-config.enabled=true","control-config.enabled=false"]),maskedTypes.includes(e)||warnLog("vxe.error.notSupportProp",["control-config.enabled=true","type="+e,"type="+maskedTypes.join("|")]))}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(N,"mousewheel"),_ui.globalEvents.off(N,"mousedown"),_ui.globalEvents.off(N,"blur"),_ui.globalEvents.off(N,"resize")}),ae(),(0,_vue.provide)("$xeDatePicker",N),N.renderVN=()=>{var e,t,a,l,i,u,n,r,o,s,d,v,p,{className:c,type:f,name:m,autoComplete:g}=w,{inputValue:_,visiblePanel:h,isActivated:x,labelFlag:y}=V,b=T.inputLabel,k=Y.value,E=K.value,D=I.value,C=B.value;return D?(0,_vue.h)("div",{ref:P,class:["vxe-date-picker--readonly","type--"+f,c]},C):(D=Q.value,C=X.value,a=F.value,t=w.prefixIcon,l=(l=S.prefix)||t?(0,_vue.h)("div",{class:"vxe-date-picker--prefix",onClick:ue},[(0,_vue.h)("div",{class:"vxe-date-picker--prefix-icon"},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:t})])]):null,t=w.suffixIcon,p=V.inputValue,v=S.suffix,i=K.value,e=F.value,i=(0,_vue.h)("div",{class:["vxe-date-picker--suffix",{"is--clear":e&&!i&&!(""===p||_xeUtils.default.eqNull(p))}]},[e?(0,_vue.h)("div",{class:"vxe-date-picker--clear-icon",onClick:oe},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(N),Re(),v||t?(0,_vue.h)("div",{class:"vxe-date-picker--suffix-icon",onClick:se},v?(0,_vn.getSlotVNs)(v({})):[(0,_vue.h)("i",{class:t})]):(0,_ui.renderEmptyElement)(N)]),(0,_vue.h)("div",{ref:P,class:["vxe-date-picker","type--"+f,c,{["size--"+k]:k,"is--prefix":!!l,"is--suffix":!!i,"is--visible":h,"is--disabled":E,"is--active":x,"show--clear":a&&!E&&!(""===_||_xeUtils.default.eqNull(_))}],spellcheck:!1},[l||(0,_ui.renderEmptyElement)(N),(0,_vue.h)("div",{class:"vxe-date-picker--wrapper"},[(0,_vue.h)("input",{ref:M,class:"vxe-date-picker--inner",value:y?b:"",name:m,type:"text",placeholder:C,readonly:D,disabled:E,autocomplete:g,onKeydown:ge,onKeyup:_e,onClick:me,onInput:le,onChange:ie,onFocus:fe,onBlur:ce})]),i||(0,_ui.renderEmptyElement)(N),!1===(p=j.value).enabled?(0,_ui.renderEmptyElement)(N):({type:e,multiple:v,showClearButton:t,showConfirmButton:f}=w,{initialized:c,isAniVisible:k,visiblePanel:h,panelPlacement:x,panelStyle:a,inputValue:_}=V,l=Y.value,y=H.value,b=L.value,m=F.value,C=A.value,D=te.value,E=ee.value,g=Z.value,i=J.value,b=b.position,u=S.header,n=S.footer,r=S.top,o=S.bottom,s=S.left,d=S.right,p=p.className,D=0<D.length,C=null===f?C||v:f,v=null===t?m&&C&&"time"!==e:t,(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!y||!c},[(0,_vue.h)("div",{ref:W,class:["vxe-table--ignore-clear vxe-date-picker--panel","type--"+e,p?_xeUtils.default.isFunction(p)?p({$datePicker:N}):p:"",{["size--"+l]:l,"is--transfer":y,"ani--leave":k,"ani--enter":h,"show--top":!!(r||u||D&&("top"===b||"header"===b)),"show--bottom":!!(o||n||D&&("bottom"===b||"footer"===b)),"show--left":!!(s||D&&"left"===b),"show--right":!!(d||D&&"right"===b)}],placement:x,style:a},c&&(h||k)?[(0,_vue.h)("div",{ref:R,class:["vxe-date-picker--layout-all-wrapper","type--"+e,{["size--"+l]:l}]},[r?(0,_vue.h)("div",{class:"vxe-date-picker--layout-top-wrapper"},r({})):G("top"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-layout-wrapper"},[s?(0,_vue.h)("div",{class:"vxe-date-picker--layout-left-wrapper"},s({})):G("left",!0),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-content-wrapper"},[u?(0,_vue.h)("div",{class:"vxe-date-picker--layout-header-wrapper"},u({})):G("header"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:U,modelValue:V.inputValue,type:w.type,className:w.className,multiple:w.multiple,limitCount:w.limitCount,startDate:g,endDate:i,defaultDate:w.defaultDate,defaultTime:w.defaultTime,minDate:w.minDate,maxDate:w.maxDate,startDay:w.startDay,labelFormat:w.labelFormat,valueFormat:w.valueFormat,timeFormat:w.timeFormat,timeConfig:E,festivalMethod:w.festivalMethod,disabledMethod:w.disabledMethod,selectDay:w.selectDay,onChange:xe,onConfirm:ye,onRevert:be})]),(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-custom"},n?n({}):[G("footer")]),v||C?(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-btns"},[v?(0,_vue.h)(_button.default,{size:"mini",disabled:""===_||_xeUtils.default.eqNull(_),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:oe}):(0,_ui.renderEmptyElement)(N),C?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:he}):(0,_ui.renderEmptyElement)(N)]):(0,_ui.renderEmptyElement)(N)])]),d?(0,_vue.h)("div",{class:"vxe-date-picker--layout-right-wrapper"},d({})):G("right",!0)]),o?(0,_vue.h)("div",{class:"vxe-date-picker--layout-bottom-wrapper"},o({})):G("bottom")])]:[])]))]))},N},render(){return this.renderVN()}});