vxe-pc-ui 4.20.2 → 4.20.6

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 (105) hide show
  1. package/dist/all.esm.js +1119 -1156
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/button/src/button.js +1 -0
  5. package/es/cascader/src/cascader.js +1 -0
  6. package/es/color-picker/src/color-picker.js +1 -0
  7. package/es/date-picker/src/date-picker.js +1 -0
  8. package/es/date-range-picker/src/date-range-picker.js +1 -0
  9. package/es/icon/style.css +1 -1
  10. package/es/icon-picker/src/icon-picker.js +1 -0
  11. package/es/list/src/list.js +3 -2
  12. package/es/pulldown/src/pulldown.js +1 -0
  13. package/es/scrollbar/src/scrollbar.js +2 -2
  14. package/es/select/src/select.js +1 -0
  15. package/es/style.css +1 -1
  16. package/es/style.min.css +1 -1
  17. package/es/table-select/src/table-select.js +1 -0
  18. package/es/tooltip/src/tooltip.js +2 -1
  19. package/es/tree/src/tree.js +2 -2
  20. package/es/tree-select/src/tree-select.js +1 -0
  21. package/es/ui/index.js +1 -1
  22. package/es/ui/src/dom.js +11 -8
  23. package/es/ui/src/log.js +1 -1
  24. package/lib/button/src/button.js +1 -0
  25. package/lib/button/src/button.min.js +1 -1
  26. package/lib/cascader/src/cascader.js +1 -0
  27. package/lib/cascader/src/cascader.min.js +1 -1
  28. package/lib/color-picker/src/color-picker.js +1 -0
  29. package/lib/color-picker/src/color-picker.min.js +1 -1
  30. package/lib/date-picker/src/date-picker.js +1 -0
  31. package/lib/date-picker/src/date-picker.min.js +1 -1
  32. package/lib/date-range-picker/src/date-range-picker.js +1 -0
  33. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  34. package/lib/icon/style/style.css +1 -1
  35. package/lib/icon/style/style.min.css +1 -1
  36. package/lib/icon-picker/src/icon-picker.js +1 -0
  37. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  38. package/lib/index.umd.js +108 -120
  39. package/lib/index.umd.min.js +1 -1
  40. package/lib/list/src/list.js +62 -47
  41. package/lib/list/src/list.min.js +1 -1
  42. package/lib/pulldown/src/pulldown.js +1 -0
  43. package/lib/pulldown/src/pulldown.min.js +1 -1
  44. package/lib/scrollbar/src/scrollbar.js +17 -11
  45. package/lib/scrollbar/src/scrollbar.min.js +1 -1
  46. package/lib/select/src/select.js +1 -0
  47. package/lib/select/src/select.min.js +1 -1
  48. package/lib/style.css +1 -1
  49. package/lib/style.min.css +1 -1
  50. package/lib/table-select/src/table-select.js +1 -0
  51. package/lib/table-select/src/table-select.min.js +1 -1
  52. package/lib/tooltip/src/tooltip.js +2 -0
  53. package/lib/tooltip/src/tooltip.min.js +1 -1
  54. package/lib/tree/src/tree.js +17 -11
  55. package/lib/tree/src/tree.min.js +1 -1
  56. package/lib/tree-select/src/tree-select.js +1 -0
  57. package/lib/tree-select/src/tree-select.min.js +1 -1
  58. package/lib/ui/index.js +1 -1
  59. package/lib/ui/index.min.js +1 -1
  60. package/lib/ui/src/dom.js +11 -7
  61. package/lib/ui/src/dom.min.js +1 -1
  62. package/lib/ui/src/log.js +1 -1
  63. package/lib/ui/src/log.min.js +1 -1
  64. package/package.json +2 -2
  65. package/packages/button/src/button.ts +2 -1
  66. package/packages/cascader/src/cascader.ts +1 -0
  67. package/packages/color-picker/src/color-picker.ts +1 -0
  68. package/packages/date-picker/src/date-picker.ts +1 -0
  69. package/packages/date-range-picker/src/date-range-picker.ts +1 -0
  70. package/packages/icon-picker/src/icon-picker.ts +1 -0
  71. package/packages/list/src/list.ts +5 -2
  72. package/packages/pulldown/src/pulldown.ts +1 -0
  73. package/packages/scrollbar/src/scrollbar.ts +3 -2
  74. package/packages/select/src/select.ts +1 -0
  75. package/packages/table-select/src/table-select.ts +1 -0
  76. package/packages/tooltip/src/tooltip.ts +2 -1
  77. package/packages/tree/src/tree.ts +3 -2
  78. package/packages/tree-select/src/tree-select.ts +1 -0
  79. package/packages/ui/src/dom.ts +12 -8
  80. package/types/components/button.d.ts +4 -0
  81. package/types/components/cascader.d.ts +4 -0
  82. package/types/components/gantt-plugins/extend-gantt-chart.d.ts +1 -1
  83. package/types/components/layout-aside.d.ts +15 -0
  84. package/types/components/layout-body.d.ts +3 -0
  85. package/types/components/list.d.ts +15 -0
  86. package/types/components/number-input.d.ts +12 -2
  87. package/types/components/table-plugins/extend-pivot-table.d.ts +1 -1
  88. package/types/components/table.d.ts +3 -0
  89. package/types/components/tree.d.ts +12 -0
  90. package/es/scrollbar/src/util.js +0 -54
  91. package/lib/scrollbar/src/util.js +0 -63
  92. package/lib/scrollbar/src/util.min.js +0 -1
  93. package/packages/scrollbar/src/util.ts +0 -57
  94. /package/es/icon/{iconfont.1792034967421.ttf → iconfont.1792054434227.ttf} +0 -0
  95. /package/es/icon/{iconfont.1792034967421.woff → iconfont.1792054434227.woff} +0 -0
  96. /package/es/icon/{iconfont.1792034967421.woff2 → iconfont.1792054434227.woff2} +0 -0
  97. /package/es/{iconfont.1792034967421.ttf → iconfont.1792054434227.ttf} +0 -0
  98. /package/es/{iconfont.1792034967421.woff → iconfont.1792054434227.woff} +0 -0
  99. /package/es/{iconfont.1792034967421.woff2 → iconfont.1792054434227.woff2} +0 -0
  100. /package/lib/icon/style/{iconfont.1792034967421.ttf → iconfont.1792054434227.ttf} +0 -0
  101. /package/lib/icon/style/{iconfont.1792034967421.woff → iconfont.1792054434227.woff} +0 -0
  102. /package/lib/icon/style/{iconfont.1792034967421.woff2 → iconfont.1792054434227.woff2} +0 -0
  103. /package/lib/{iconfont.1792034967421.ttf → iconfont.1792054434227.ttf} +0 -0
  104. /package/lib/{iconfont.1792034967421.woff → iconfont.1792054434227.woff} +0 -0
  105. /package/lib/{iconfont.1792034967421.woff2 → iconfont.1792054434227.woff2} +0 -0
@@ -396,6 +396,7 @@ export default defineVxeComponent({
396
396
  const ppObj = updatePanelPlacement(targetElem, panelElem, {
397
397
  placement: popupOpts.placement || placement,
398
398
  defaultPlacement: popupOpts.defaultPlacement,
399
+ appendTo: popupOpts.appendTo,
399
400
  teleportTo: btnTransfer
400
401
  });
401
402
  const panelStyle = Object.assign(ppObj.style, {
@@ -293,7 +293,7 @@ export default defineVxeComponent({
293
293
  return null;
294
294
  };
295
295
  const updateTipStyle = () => {
296
- const { placement, defaultPlacement, isArrow } = props;
296
+ const { placement, defaultPlacement, appendTo, isArrow } = props;
297
297
  const { tipTarget: targetElem, tipStore, tipPos, tipZindex } = reactData;
298
298
  const panelElem = refElem.value;
299
299
  if (!targetElem || !panelElem) {
@@ -324,6 +324,7 @@ export default defineVxeComponent({
324
324
  defaultLeft: left,
325
325
  placement: placement,
326
326
  defaultPlacement: defaultPlacement,
327
+ appendTo: appendTo,
327
328
  isMinWidth: false,
328
329
  teleportTo: true
329
330
  });
@@ -9,11 +9,11 @@ import { getSlotVNs } from '../../ui/src/vn';
9
9
  import { toCssUnit, isScale, getPaddingTopBottomSize, addClass, removeClass, getTpImg, hasControlKey, getEventTargetNode, hasClass } from '../../ui/src/dom';
10
10
  import { isEnableConf, enModelValue, deModelValue, getText, getDefaultConfig } from '../../ui/src/utils';
11
11
  import { moveRowAnimateToTb, clearRowAnimate } from '../../ui/src/anime';
12
- import { getThumbOffsetSize, getThumbSize, getScrollFromClick, getScrollFromDrag } from '../../scrollbar/src/util';
13
12
  import VxeLoadingComponent from '../../loading';
14
13
  import VxeTooltipComponent from '../../tooltip';
15
14
  const { warnLog, errLog } = createComponentLog('tree');
16
- const { menus, getConfig, getI18n, getIcon } = VxeUI;
15
+ const { menus, scrollbarUtils, getConfig, getI18n, getIcon } = VxeUI;
16
+ const { getThumbOffsetSize, getThumbSize, getScrollFromClick, getScrollFromDrag } = scrollbarUtils;
17
17
  /**
18
18
  * 生成节点的唯一主键
19
19
  */
@@ -449,6 +449,7 @@ export default defineVxeComponent({
449
449
  isMinWidth: !popupOpts.width,
450
450
  placement: popupOpts.placement || placement,
451
451
  defaultPlacement: popupOpts.defaultPlacement,
452
+ appendTo: popupOpts.appendTo,
452
453
  teleportTo: btnTransfer
453
454
  });
454
455
  const panelStyle = Object.assign(ppObj.style, {
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.20.2";
4
+ export const version = "4.20.6";
5
5
  VxeUI.uiVersion = version;
6
6
  VxeUI.dynamicApp = dynamicApp;
7
7
  export function config(options) {
package/es/ui/src/dom.js CHANGED
@@ -155,7 +155,8 @@ export function isNodeElement(elem) {
155
155
  * 通用定位计算
156
156
  */
157
157
  export function updatePanelPlacement(targetElem, panelElem, options) {
158
- const { defaultTop, defaultLeft, placement, defaultPlacement, teleportTo, marginSize, isMinWidth } = Object.assign({
158
+ const { defaultTop, defaultLeft, placement, defaultPlacement, appendTo, teleportTo, marginSize, isMinWidth } = Object.assign({
159
+ appendTo: '',
159
160
  teleportTo: false,
160
161
  marginSize: 18,
161
162
  isMinWidth: true
@@ -169,7 +170,7 @@ export function updatePanelPlacement(targetElem, panelElem, options) {
169
170
  const stys = {};
170
171
  if (panelElem && targetElem) {
171
172
  const bodyEl = document.body;
172
- const parentWrapperEl = getPopupWrapperElement(panelElem);
173
+ const parentWrapperEl = getPopupWrapperElement(teleportTo ? getPopupAppendElement(appendTo) : panelElem);
173
174
  if (parentWrapperEl) {
174
175
  const targetWidth = targetElem.offsetWidth;
175
176
  const targetHeight = targetElem.offsetHeight;
@@ -180,14 +181,16 @@ export function updatePanelPlacement(targetElem, panelElem, options) {
180
181
  const targetRect = targetElem.getBoundingClientRect();
181
182
  const visibleHeight = bodyEl.clientHeight;
182
183
  const visibleWidth = bodyEl.clientWidth;
183
- const offsetLeft = parentWrapperRect.left;
184
- const offsetTop = parentWrapperRect.top;
184
+ const parentWrapperScrollLeft = parentWrapperEl.scrollLeft;
185
+ const parentWrapperScrollTop = parentWrapperEl.scrollTop;
186
+ const parentWrapperOffsetLeft = parentWrapperRect.left;
187
+ const parentWrapperOffsetTop = parentWrapperRect.top;
185
188
  const targetLeft = targetRect.left;
186
189
  const targetTop = targetRect.top;
187
190
  minWidth = targetElem.offsetWidth;
188
191
  if (teleportTo) {
189
- left = defaultLeft || (targetLeft - (panelWidth - targetWidth) / 2);
190
- top = defaultTop || (targetTop + targetHeight);
192
+ left = (defaultLeft || (targetLeft - (panelWidth - targetWidth) / 2)) - parentWrapperScrollLeft;
193
+ top = (defaultTop || (targetTop + targetHeight)) - parentWrapperScrollTop;
191
194
  if (placement === 'top') {
192
195
  panelPlacement = 'top';
193
196
  top = targetTop - panelHeight;
@@ -231,8 +234,8 @@ export function updatePanelPlacement(targetElem, panelElem, options) {
231
234
  left = marginSize;
232
235
  }
233
236
  // 偏移
234
- top -= offsetTop;
235
- left -= offsetLeft;
237
+ top -= parentWrapperOffsetTop;
238
+ left -= parentWrapperOffsetLeft;
236
239
  }
237
240
  else {
238
241
  if (placement === 'top') {
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.20.2"}`;
3
+ const uiVersion = `ui v${"4.20.6"}`;
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}` : '';
@@ -316,6 +316,7 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
316
316
  const ppObj = (0, _dom.updatePanelPlacement)(targetElem, panelElem, {
317
317
  placement: popupOpts.placement || placement,
318
318
  defaultPlacement: popupOpts.defaultPlacement,
319
+ appendTo: popupOpts.appendTo,
319
320
  teleportTo: btnTransfer
320
321
  });
321
322
  const panelStyle = Object.assign(ppObj.style, {
@@ -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"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_tooltip=_interopRequireDefault(require("../../tooltip"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let warnLog=(0,_log.createComponentLog)("button").warnLog,VxeButtonComponent=(0,_comp.defineVxeComponent)({name:"VxeButton",props:{type:String,mode:String,className:[String,Function],popupClassName:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().button.size||(0,_ui.getConfig)().size},zIndex:Number,name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,shadow:Boolean,icon:String,iconRender:Object,prefixIcon:String,prefixRender:Object,suffixIcon:String,suffixRender:Object,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:()=>(0,_ui.getConfig)().button.trigger},align:String,prefixTooltip:Object,suffixTooltip:Object,options:Array,showDropdownIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().button.showDropdownIcon},dropdownCloseIcon:{type:String,default:()=>(0,_ui.getConfig)().button.dropdownCloseIcon},dropdownOpenIcon:{type:String,default:()=>(0,_ui.getConfig)().button.dropdownOpenIcon},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().button.destroyOnClose},popupConfig:Object,transfer:{type:Boolean,default:null}},emits:["click","mouseenter","mouseleave","dropdown-click","dropdownClick","contextmenu"],setup(S,e){let{slots:B,emit:i}=e,n=(0,_vue.inject)("$xeModal",null),o=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeGrid",null),l=(0,_vue.inject)("$xeTable",null),a=(0,_vue.inject)("$xeTree",null),s=(0,_vue.inject)("$xeForm",null),r=(0,_vue.inject)("$xeButtonGroup",null);var t=_xeUtils.default.uniqueId();let j=(0,_ui.useSize)(S).computeSize,z=(0,_ui.usePermission)(S).computePermissionInfo,U=(0,_vue.reactive)({initialized:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),d={showTime:void 0,tooltipTimeout:void 0},D=(0,_vue.ref)(),E=(0,_vue.ref)(),$=(0,_vue.ref)(),c={refElem:D},V={xID:t,props:S,context:e,reactData:U,internalData:d,getRefMaps:()=>c};let M=(0,_vue.computed)(()=>{var e=S.transfer,t=R.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=(0,_ui.getConfig)().button.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||l||a||n||o||s)return!0}return e}),L=(0,_vue.computed)(()=>{var e=S.disabled,t=z.value;return e||t.disabled}),K=(0,_vue.computed)(()=>{var e=S.type;return!!e&&-1<["submit","reset","button"].indexOf(e)}),Q=(0,_vue.computed)(()=>{var{type:e,mode:t}=S;return"text"===t||"text"===e||r&&"text"===r.props.mode?"text":"button"}),X=(0,_vue.computed)(()=>{var e=S.status;return e||(r?r.props.status:"")}),ee=(0,_vue.computed)(()=>{var e=S.align;return e||!!r&&r.props.align}),te=(0,_vue.computed)(()=>{var e=S.round;return e||!!r&&r.props.round}),ne=(0,_vue.computed)(()=>{var e=S.circle;return e||!!r&&r.props.circle}),ie=(0,_vue.computed)(()=>{var e=S.options;return e?e.filter(e=>{e=e.permissionCode;return!e||_ui.permission.checkVisible(e)}):[]}),R=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.popupConfig,S.popupConfig)),m=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.prefixTooltip,S.prefixTooltip)),b=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.suffixTooltip,S.suffixTooltip)),f=()=>{var e=R.value.zIndex||S.zIndex;e?U.panelIndex=_xeUtils.default.toNumber(e):U.panelIndex<(0,_utils.getLastZIndex)()&&(U.panelIndex=(0,_utils.nextZIndex)())},v=()=>{let n=S.placement,i=U.panelIndex,o=E.value,u=$.value,l=M.value,a=R.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(o,u,{placement:a.placement||n,defaultPlacement:a.defaultPlacement,teleportTo:l}),t=Object.assign(e.style,{zIndex:i});U.panelStyle=t,U.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},q=e=>{r&&r.handleClick({name:S.name},e),J("click",{$event:e},e)},oe=e=>{0===e.button&&e.stopPropagation()},ue=e=>{var t=e.currentTarget;let n=$.value;var{flag:t,targetElem:i}=(0,_dom.getEventTargetNode)(e,t,"vxe-button");t&&(n&&(n.dataset.active="N"),U.visiblePanel=!1,setTimeout(()=>{n&&"Y"===n.dataset.active||(U.isAniVisible=!1)},350),J("dropdown-click",{name:i.getAttribute("name"),option:null},e))},A=()=>{let e=$.value;e&&(e.dataset.active="Y",U.isAniVisible=!0,setTimeout(()=>{"Y"===e.dataset.active&&(U.visiblePanel=!0,f(),v(),setTimeout(()=>{U.visiblePanel&&v()},50))},20))},le=e=>{var t=S.loading;L.value||t||(p(),F(e))},ae=e=>{G(),Y(e)},F=e=>{J("mouseenter",{},e)},Y=e=>{J("mouseleave",{},e)},H=e=>{J("contextmenu",{},e)},W=e=>{var{loading:t,trigger:n}=S;L.value||t||("click"===n&&(U.visiblePanel?G:p)(),q(e))},p=()=>{var e=S.trigger;let t=$.value;return t&&(t.dataset.active="Y",U.initialized||(U.initialized=!0),d.showTime=setTimeout(()=>{"Y"===t.dataset.active?A():U.isAniVisible=!1},"click"===e?50:250)),(0,_vue.nextTick)()},G=()=>{let e=$.value;return clearTimeout(d.showTime),e?(e.dataset.active="N",setTimeout(()=>{"Y"!==e.dataset.active&&(U.visiblePanel=!1,setTimeout(()=>{"Y"!==e.dataset.active&&(U.isAniVisible=!1)},350))},100)):(U.isAniVisible=!1,U.visiblePanel=!1),(0,_vue.nextTick)()},se=()=>{G()},_=(e,t)=>(0,_vue.h)(_tooltip.default,{useHtml:_xeUtils.default.isBoolean(e.useHtml)?e.useHtml:e.useHTML,content:e.content,enterable:e.enterable,theme:e.theme},{default(){return(0,_vue.h)("span",{class:`vxe-button--item vxe-button--tooltip-${t}-icon`},[(0,_vue.h)("i",{class:e.icon||(0,_ui.getIcon)().BUTTON_TOOLTIP_ICON})])}}),Z=()=>{var{content:e,suffixIcon:t,loading:n,prefixTooltip:i,suffixTooltip:o,suffixRender:u}=S,l=S.prefixIcon||S.icon,a=S.prefixRender||S.iconRender,s=m.value,r=b.value,d=B.prefix||B.icon,c=B.suffix,v=B.default,p=[];return i&&p.push(_(s,"prefix")),n?p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--loading-icon",(0,_ui.getIcon)().BUTTON_LOADING]})):d?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-prefix-icon"},d({}))):a?(s=(i=_ui.renderer.get(a.name))?i.renderButtonPrefix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-prefix-icon"]},s?(0,_vn.getSlotVNs)(s(a,{$button:V})):[]))):l&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--prefix-icon",l]})),v?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},v({}))):e&&p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},(0,_utils.getFuncText)(e))),c?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-suffix-icon"},c({}))):u?(d=(n=_ui.renderer.get(u.name))?n.renderButtonSuffix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-suffix-icon"]},d?(0,_vn.getSlotVNs)(d(u,{$button:V})):[]))):t&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--suffix-icon",t]})),o&&p.push(_(r,"suffix")),p},J=(e,t,n)=>{i(e,(0,_ui.createEvent)(n,{$button:V},t))},x=(t={dispatchEvent:J,openPanel:p,closePanel:G,focus(){var e=E.value;return e&&e.focus(),(0,_vue.nextTick)()},blur(){var e=E.value;return e&&e.blur(),(0,_vue.nextTick)()}},e=>{var t,n=L.value,i=U.visiblePanel;n||(n=D.value,t=$.value,U.isActivated=(0,_dom.getEventTargetNode)(e,n).flag||(0,_dom.getEventTargetNode)(e,t).flag,i&&!U.isActivated&&G())}),g=()=>{var e=U.visiblePanel;e&&v()},h=()=>{var e=U.visiblePanel;e&&v()};Object.assign(V,t);return V.renderVN=()=>{let{className:e,trigger:t,title:n,routerLink:i,type:o,destroyOnClose:u,name:l,loading:a,shadow:s,dropdownOpenIcon:r,dropdownCloseIcon:d,showDropdownIcon:c}=S,{initialized:v,isAniVisible:p,visiblePanel:_}=U;var m=K.value;let b=Q.value;var f=X.value;let x=te.value;var g=ee.value;let h=ne.value;var T,C=M.value,O=L.value,w=z.value,I=ie.value,y=R.value,N=j.value,P=y.appendTo,k=B.dropdowns,y=y.className||S.popupClassName;return w.visible?k||I.length?(w={onContextmenu:H},T={},"hover"===t&&(w.onMouseenter=le,w.onMouseleave=ae,T.onMouseenter=A,T.onMouseleave=se),(0,_vue.h)("div",{ref:D,class:["vxe-button--dropdown",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+N]:N,"is--active":_}]},[i?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({ref:E,class:["vxe-button","vxe-button--link","type--"+b,g?"align--"+g:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+N]:N,["theme--"+f]:f,"is--round":x,"is--circle":h,"is--shadow":s,"is--disabled":O||a,"is--loading":a}],title:n,name:l,type:m?o:"button",disabled:O||a,to:i,onClick:W},w),{default(){return Z().concat(c?[(0,_vue.h)("i",{class:"vxe-button--dropdown-icon "+(_?r||(0,_ui.getIcon)().BUTTON_DROPDOWN_OPEN:d||(0,_ui.getIcon)().BUTTON_DROPDOWN_CLOSE)})]:[])}}):(0,_vue.h)("button",Object.assign({ref:E,class:["vxe-button","type--"+b,g?"align--"+g:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+N]:N,["theme--"+f]:f,"is--round":x,"is--circle":h,"is--shadow":s,"is--disabled":O||a,"is--loading":a}],title:n,name:l,type:m?o:"button",disabled:O||a,onClick:W},w),Z().concat(c?[(0,_vue.h)("i",{class:"vxe-button--dropdown-icon "+(_?r||(0,_ui.getIcon)().BUTTON_DROPDOWN_OPEN:d||(0,_ui.getIcon)().BUTTON_DROPDOWN_CLOSE)})]:[])),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(P),disabled:!C||!v},[(0,_vue.h)("div",Object.assign({ref:$,class:["vxe-button--dropdown-panel",y?_xeUtils.default.isFunction(y)?y({$button:V}):y:"",{["size--"+N]:N,"is--transfer":C,"ani--leave":p,"ani--enter":_}],placement:U.panelPlacement,style:U.panelStyle},T),v&&(_||p)?[k?(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper",onMousedown:oe,onClick:ue},v&&(!u||_||p)?k({}):[]):(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper"},v&&(!u||_||p)?I.map((t,e)=>(0,_vue.h)(VxeButtonComponent,{key:e,type:t.type,mode:t.mode||b,className:t.className,name:t.name,routerLink:t.routerLink,permissionCode:t.permissionCode,title:t.title,content:t.content,status:t.status,icon:t.icon,round:_xeUtils.default.isBoolean(t.round)?t.round:"text"!==b&&x,circle:_xeUtils.default.isBoolean(t.circle)?t.circle:"text"!==b&&h,disabled:t.disabled,loading:t.loading,align:t.align,onClick(e){((e,t)=>{e=e.$event;G(),J("dropdown-click",{name:t.name,option:t},e)})(e,t)}})):[])]:[])])])):i?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{ref:E,class:["vxe-button","vxe-button--link","type--"+b,g?"align--"+g:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+N]:N,["theme--"+f]:f,"is--round":x,"is--circle":h,"is--shadow":s,"is--disabled":O||a,"is--loading":a}],title:n,name:l,type:m?o:"button",disabled:O||a,to:i,onClick:q,onMouseenter:F,onMouseleave:Y,onContextmenu:H},{default(){return Z()}}):(0,_vue.h)("button",{ref:E,class:["vxe-button","type--"+b,g?"align--"+g:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+N]:N,["theme--"+f]:f,"is--round":x,"is--circle":h,"is--shadow":s,"is--disabled":O||a,"is--loading":a}],title:n,name:l,type:m?o:"button",disabled:O||a,onClick:q,onMouseenter:F,onMouseleave:Y,onContextmenu:H},Z()):(0,_ui.renderEmptyElement)(V)},(0,_vue.onMounted)(()=>{"text"===S.type&&warnLog("vxe.error.delProp",["type=text","mode=text"]),_ui.globalEvents.on(V,"mousedown",x),_ui.globalEvents.on(V,"resize",g),_ui.globalEvents.on(V,"scroll",h)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(V,"mousedown"),_ui.globalEvents.off(V,"resize"),_ui.globalEvents.off(V,"scroll")}),V},render(){return this.renderVN()}});var _default=exports.default=VxeButtonComponent;
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"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_tooltip=_interopRequireDefault(require("../../tooltip"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let warnLog=(0,_log.createComponentLog)("button").warnLog,VxeButtonComponent=(0,_comp.defineVxeComponent)({name:"VxeButton",props:{type:String,mode:String,className:[String,Function],popupClassName:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().button.size||(0,_ui.getConfig)().size},zIndex:Number,name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,shadow:Boolean,icon:String,iconRender:Object,prefixIcon:String,prefixRender:Object,suffixIcon:String,suffixRender:Object,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:()=>(0,_ui.getConfig)().button.trigger},align:String,prefixTooltip:Object,suffixTooltip:Object,options:Array,showDropdownIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().button.showDropdownIcon},dropdownCloseIcon:{type:String,default:()=>(0,_ui.getConfig)().button.dropdownCloseIcon},dropdownOpenIcon:{type:String,default:()=>(0,_ui.getConfig)().button.dropdownOpenIcon},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().button.destroyOnClose},popupConfig:Object,transfer:{type:Boolean,default:null}},emits:["click","mouseenter","mouseleave","dropdown-click","dropdownClick","contextmenu"],setup(S,e){let{slots:B,emit:o}=e,n=(0,_vue.inject)("$xeModal",null),i=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeGrid",null),l=(0,_vue.inject)("$xeTable",null),a=(0,_vue.inject)("$xeTree",null),s=(0,_vue.inject)("$xeForm",null),r=(0,_vue.inject)("$xeButtonGroup",null);var t=_xeUtils.default.uniqueId();let j=(0,_ui.useSize)(S).computeSize,z=(0,_ui.usePermission)(S).computePermissionInfo,U=(0,_vue.reactive)({initialized:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),d={showTime:void 0,tooltipTimeout:void 0},D=(0,_vue.ref)(),E=(0,_vue.ref)(),$=(0,_vue.ref)(),c={refElem:D},V={xID:t,props:S,context:e,reactData:U,internalData:d,getRefMaps:()=>c};let M=(0,_vue.computed)(()=>{var e=S.transfer,t=R.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=(0,_ui.getConfig)().button.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||l||a||n||i||s)return!0}return e}),L=(0,_vue.computed)(()=>{var e=S.disabled,t=z.value;return e||t.disabled}),K=(0,_vue.computed)(()=>{var e=S.type;return!!e&&-1<["submit","reset","button"].indexOf(e)}),Q=(0,_vue.computed)(()=>{var{type:e,mode:t}=S;return"text"===t||"text"===e||r&&"text"===r.props.mode?"text":"button"}),X=(0,_vue.computed)(()=>{var e=S.status;return e||(r?r.props.status:"")}),ee=(0,_vue.computed)(()=>{var e=S.align;return e||!!r&&r.props.align}),te=(0,_vue.computed)(()=>{var e=S.round;return e||!!r&&r.props.round}),ne=(0,_vue.computed)(()=>{var e=S.circle;return e||!!r&&r.props.circle}),oe=(0,_vue.computed)(()=>{var e=S.options;return e?e.filter(e=>{e=e.permissionCode;return!e||_ui.permission.checkVisible(e)}):[]}),R=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.popupConfig,S.popupConfig)),m=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.prefixTooltip,S.prefixTooltip)),b=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.suffixTooltip,S.suffixTooltip)),f=()=>{var e=R.value.zIndex||S.zIndex;e?U.panelIndex=_xeUtils.default.toNumber(e):U.panelIndex<(0,_utils.getLastZIndex)()&&(U.panelIndex=(0,_utils.nextZIndex)())},v=()=>{let n=S.placement,o=U.panelIndex,i=E.value,u=$.value,l=M.value,a=R.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,u,{placement:a.placement||n,defaultPlacement:a.defaultPlacement,appendTo:a.appendTo,teleportTo:l}),t=Object.assign(e.style,{zIndex:o});U.panelStyle=t,U.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},q=e=>{r&&r.handleClick({name:S.name},e),J("click",{$event:e},e)},ie=e=>{0===e.button&&e.stopPropagation()},ue=e=>{var t=e.currentTarget;let n=$.value;var{flag:t,targetElem:o}=(0,_dom.getEventTargetNode)(e,t,"vxe-button");t&&(n&&(n.dataset.active="N"),U.visiblePanel=!1,setTimeout(()=>{n&&"Y"===n.dataset.active||(U.isAniVisible=!1)},350),J("dropdown-click",{name:o.getAttribute("name"),option:null},e))},A=()=>{let e=$.value;e&&(e.dataset.active="Y",U.isAniVisible=!0,setTimeout(()=>{"Y"===e.dataset.active&&(U.visiblePanel=!0,f(),v(),setTimeout(()=>{U.visiblePanel&&v()},50))},20))},le=e=>{var t=S.loading;L.value||t||(p(),F(e))},ae=e=>{G(),Y(e)},F=e=>{J("mouseenter",{},e)},Y=e=>{J("mouseleave",{},e)},H=e=>{J("contextmenu",{},e)},W=e=>{var{loading:t,trigger:n}=S;L.value||t||("click"===n&&(U.visiblePanel?G:p)(),q(e))},p=()=>{var e=S.trigger;let t=$.value;return t&&(t.dataset.active="Y",U.initialized||(U.initialized=!0),d.showTime=setTimeout(()=>{"Y"===t.dataset.active?A():U.isAniVisible=!1},"click"===e?50:250)),(0,_vue.nextTick)()},G=()=>{let e=$.value;return clearTimeout(d.showTime),e?(e.dataset.active="N",setTimeout(()=>{"Y"!==e.dataset.active&&(U.visiblePanel=!1,setTimeout(()=>{"Y"!==e.dataset.active&&(U.isAniVisible=!1)},350))},100)):(U.isAniVisible=!1,U.visiblePanel=!1),(0,_vue.nextTick)()},se=()=>{G()},_=(e,t)=>(0,_vue.h)(_tooltip.default,{useHtml:_xeUtils.default.isBoolean(e.useHtml)?e.useHtml:e.useHTML,content:e.content,enterable:e.enterable,theme:e.theme},{default(){return(0,_vue.h)("span",{class:`vxe-button--item vxe-button--tooltip-${t}-icon`},[(0,_vue.h)("i",{class:e.icon||(0,_ui.getIcon)().BUTTON_TOOLTIP_ICON})])}}),Z=()=>{var{content:e,suffixIcon:t,loading:n,prefixTooltip:o,suffixTooltip:i,suffixRender:u}=S,l=S.prefixIcon||S.icon,a=S.prefixRender||S.iconRender,s=m.value,r=b.value,d=B.prefix||B.icon,c=B.suffix,v=B.default,p=[];return o&&p.push(_(s,"prefix")),n?p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--loading-icon",(0,_ui.getIcon)().BUTTON_LOADING]})):d?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-prefix-icon"},d({}))):a?(s=(o=_ui.renderer.get(a.name))?o.renderButtonPrefix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-prefix-icon"]},s?(0,_vn.getSlotVNs)(s(a,{$button:V})):[]))):l&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--prefix-icon",l]})),v?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},v({}))):e&&p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},(0,_utils.getFuncText)(e))),c?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-suffix-icon"},c({}))):u?(d=(n=_ui.renderer.get(u.name))?n.renderButtonSuffix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-suffix-icon"]},d?(0,_vn.getSlotVNs)(d(u,{$button:V})):[]))):t&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--suffix-icon",t]})),i&&p.push(_(r,"suffix")),p},J=(e,t,n)=>{o(e,(0,_ui.createEvent)(n,{$button:V},t))},x=(t={dispatchEvent:J,openPanel:p,closePanel:G,focus(){var e=E.value;return e&&e.focus(),(0,_vue.nextTick)()},blur(){var e=E.value;return e&&e.blur(),(0,_vue.nextTick)()}},e=>{var t,n=L.value,o=U.visiblePanel;n||(n=D.value,t=$.value,U.isActivated=(0,_dom.getEventTargetNode)(e,n).flag||(0,_dom.getEventTargetNode)(e,t).flag,o&&!U.isActivated&&G())}),g=()=>{var e=U.visiblePanel;e&&v()},h=()=>{var e=U.visiblePanel;e&&v()};Object.assign(V,t);return V.renderVN=()=>{let{className:e,trigger:t,title:n,routerLink:o,type:i,destroyOnClose:u,name:l,loading:a,shadow:s,dropdownOpenIcon:r,dropdownCloseIcon:d,showDropdownIcon:c}=S,{initialized:v,isAniVisible:p,visiblePanel:_}=U;var m=K.value;let b=Q.value;var f=X.value;let x=te.value;var g=ee.value;let h=ne.value;var T,C=M.value,O=L.value,w=z.value,I=oe.value,y=R.value,N=j.value,P=y.appendTo,k=B.dropdowns,y=y.className||S.popupClassName;return w.visible?k||I.length?(w={onContextmenu:H},T={},"hover"===t&&(w.onMouseenter=le,w.onMouseleave=ae,T.onMouseenter=A,T.onMouseleave=se),(0,_vue.h)("div",{ref:D,class:["vxe-button--dropdown",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+N]:N,"is--active":_}]},[o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({ref:E,class:["vxe-button","vxe-button--link","type--"+b,g?"align--"+g:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+N]:N,["theme--"+f]:f,"is--round":x,"is--circle":h,"is--shadow":s,"is--disabled":O||a,"is--loading":a}],title:n,name:l,type:m?i:"button",disabled:O||a,to:o,onClick:W},w),{default(){return Z().concat(c?[(0,_vue.h)("i",{class:"vxe-button--dropdown-icon "+(_?r||(0,_ui.getIcon)().BUTTON_DROPDOWN_OPEN:d||(0,_ui.getIcon)().BUTTON_DROPDOWN_CLOSE)})]:[])}}):(0,_vue.h)("button",Object.assign({ref:E,class:["vxe-button","type--"+b,g?"align--"+g:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+N]:N,["theme--"+f]:f,"is--round":x,"is--circle":h,"is--shadow":s,"is--disabled":O||a,"is--loading":a}],title:n,name:l,type:m?i:"button",disabled:O||a,onClick:W},w),Z().concat(c?[(0,_vue.h)("i",{class:"vxe-button--dropdown-icon "+(_?r||(0,_ui.getIcon)().BUTTON_DROPDOWN_OPEN:d||(0,_ui.getIcon)().BUTTON_DROPDOWN_CLOSE)})]:[])),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(P),disabled:!C||!v},[(0,_vue.h)("div",Object.assign({ref:$,class:["vxe-button--dropdown-panel",y?_xeUtils.default.isFunction(y)?y({$button:V}):y:"",{["size--"+N]:N,"is--transfer":C,"ani--leave":p,"ani--enter":_}],placement:U.panelPlacement,style:U.panelStyle},T),v&&(_||p)?[k?(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper",onMousedown:ie,onClick:ue},v&&(!u||_||p)?k({}):[]):(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper"},v&&(!u||_||p)?I.map((t,e)=>(0,_vue.h)(VxeButtonComponent,{key:e,type:t.type,mode:t.mode||b,className:t.className,name:t.name,routerLink:t.routerLink,permissionCode:t.permissionCode,title:t.title,content:t.content,status:t.status,icon:t.icon,round:_xeUtils.default.isBoolean(t.round)?t.round:"text"!==b&&x,circle:_xeUtils.default.isBoolean(t.circle)?t.circle:"text"!==b&&h,disabled:t.disabled,loading:t.loading,align:t.align,onClick(e){((e,t)=>{e=e.$event;G(),J("dropdown-click",{name:t.name,option:t},e)})(e,t)}})):[])]:[])])])):o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{ref:E,class:["vxe-button","vxe-button--link","type--"+b,g?"align--"+g:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+N]:N,["theme--"+f]:f,"is--round":x,"is--circle":h,"is--shadow":s,"is--disabled":O||a,"is--loading":a}],title:n,name:l,type:m?i:"button",disabled:O||a,to:o,onClick:q,onMouseenter:F,onMouseleave:Y,onContextmenu:H},{default(){return Z()}}):(0,_vue.h)("button",{ref:E,class:["vxe-button","type--"+b,g?"align--"+g:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+N]:N,["theme--"+f]:f,"is--round":x,"is--circle":h,"is--shadow":s,"is--disabled":O||a,"is--loading":a}],title:n,name:l,type:m?i:"button",disabled:O||a,onClick:q,onMouseenter:F,onMouseleave:Y,onContextmenu:H},Z()):(0,_ui.renderEmptyElement)(V)},(0,_vue.onMounted)(()=>{"text"===S.type&&warnLog("vxe.error.delProp",["type=text","mode=text"]),_ui.globalEvents.on(V,"mousedown",x),_ui.globalEvents.on(V,"resize",g),_ui.globalEvents.on(V,"scroll",h)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(V,"mousedown"),_ui.globalEvents.off(V,"resize"),_ui.globalEvents.off(V,"scroll")}),V},render(){return this.renderVN()}});var _default=exports.default=VxeButtonComponent;
@@ -860,6 +860,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
860
860
  const ppObj = (0, _dom.updatePanelPlacement)(targetElem, panelElem, {
861
861
  placement: popupOpts.placement,
862
862
  defaultPlacement: popupOpts.defaultPlacement,
863
+ appendTo: popupOpts.appendTo,
863
864
  teleportTo: btnTransfer,
864
865
  isMinWidth: false
865
866
  });
@@ -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")),_input=_interopRequireDefault(require("../../input")),_button=_interopRequireDefault(require("../../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:w}=e,d=(0,_vue.inject)("$xeModal",null),c=(0,_vue.inject)("$xeDrawer",null),k=(0,_vue.inject)("$xeTable",null),r=(0,_vue.inject)("$xeForm",null),i=(0,_vue.inject)("xeFormItemInfo",null);var a=_xeUtils.default.uniqueId();let U=(0,_ui.useSize)(V).computeSize,I=(0,_vue.ref)(),$=(0,_vue.ref)(),j=(0,_vue.ref)(),q=(0,_vue.ref)(),L=(0,_vue.ref)(),D=(0,_vue.reactive)(createReactData()),F=createInternalData(),y={refElem:I},K=(0,_vue.computed)(()=>{var e=V.readonly;return null===e?!!r&&r.props.readonly:e}),T=(0,_vue.computed)(()=>{var e=V.disabled;return null===e?!!r&&r.props.disabled:e}),H=(0,_vue.computed)(()=>{var e=N.value.transfer;return _xeUtils.default.isBoolean(e)?e:!!(k||d||c||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||{}),P=(0,_vue.computed)(()=>M.value.label||"label"),p=(0,_vue.computed)(()=>M.value.value||"value"),X=(0,_vue.computed)(()=>O.value.keyField||"id"),Y=(0,_vue.computed)(()=>O.value.parentField||"parentId"),A=(0,_vue.computed)(()=>O.value.childrenField||"children"),B=(0,_vue.computed)(()=>O.value.mapChildrenField||"mapChildren"),W=(0,_vue.computed)(()=>O.value.hasChildField||"hasChild"),Z=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.remoteConfig,V.remoteConfig)),G=(0,_vue.computed)(()=>{var e=V.modelValue;return _xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]}),J=(0,_vue.computed)(()=>{let t=V.showFullLabel,{fullOptFlag:l,lazyOptFlag:r}=D,{fullNodeMaps:i,lazyNodeMaps:n}=F,u=P.value;return G.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(", ")}),Q=(0,_vue.computed)(()=>{var{currentCunkList:e,panelStyle:a}=D,{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}),ee=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.filterConfig,V.filterConfig)),ae={},R={xID:a,props:V,context:e,reactData:D,internalData:F,getRefMaps:()=>y,getComputeMaps:()=>ae},x=(e,a,t)=>{l(e,(0,_ui.createEvent)(t,{$cascader:R},a))},te=e=>{l("update:modelValue",e)};a={dispatchEvent:x};let S=e=>e?(e=e[p.value],(0,_util.enNodeValue)(e)):"";let le=(e,t)=>{let l=F.selectCheckboxMaps;var a=B.value,r=A.value,i=g.value.checkStrictly,n=O.value.transform,u=e=>{var a=S(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}),D.updateCheckboxFlag++,C()},re=(e,t)=>{let l=F.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)}),le(a,t)}return(0,_vue.nextTick)()},ie=()=>{var e,a=V.modelValue,t=F.nodeMaps;let l={};V.multiple?a&&a.length&&(e=a,F.selectCheckboxMaps={},re(e,!0)):a&&(t=t[e=(0,_util.enNodeValue)(_xeUtils.default.isArray(a)?a[0]:a)])&&(t.nodes.forEach(e=>{l[S(e)]=!0}),D.selectRadioKey=e),F.treeExpandedMaps=l},ne=()=>{let o=V.separator;var e=F.treeFullData;let s=p.value,d=P.value;var a=A.value;let c={},v={};_xeUtils.default.eachTree(e,(e,a,t,l,r,i)=>{let n=S(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}),F.nodeMaps=c,F.fullNodeMaps=v,D.fullOptFlag++},ue=()=>{let o=V.separator,{afterTreeList:e,nodeMaps:s}=F,d=P.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=S(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})},oe=()=>{var a=D.searchValue,{treeFullData:t,lastFilterValue:e}=F;let l=P.value;var r=A.value,i=B.value,n=O.value.transform;let{beforeFilterMethod:u,filterMethod:o,afterFilterMethod:s}=ee.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:!1,children:r,mapChildren:i}):t.filter(a),F.lastFilterValue=v,(0,_vue.nextTick)(()=>{s&&s(e)})}else{if(n&&(c=_xeUtils.default.searchTree(t,()=>!0,{original:!0,isEvery:!1,children:r,mapChildren:i}),d=c,e)){let e={$cascader:R,filterValue:v};u&&u(e),(0,_vue.nextTick)(()=>{s&&s(e)})}F.lastFilterValue=""}F.afterVisibleList=d,F.afterTreeList=c,ue()},v=()=>{let{afterTreeList:e,treeExpandedMaps:o}=F;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=S(e),n=S(r);(!r||s[n]&&o[n])&&(s[i]=1,u.push(e))},{children:a}),F.afterVisibleList=u}return F.afterVisibleList},h=e=>{let a=F.afterVisibleList;e&&(oe(),a=v());e=a.slice(0);D.treeList=e};let se=_xeUtils.default.debounce(()=>{h(!0),C();var e=D.currentItems,t=F.afterTreeList,l=ee.value.autoExpandMode;if(!((e,t)=>{if(!t||!t.length)return!1;let l=e;for(let a of t){var r=l.find(e=>S(e)===a);if(!r)return!1;l=r.children||[]}return!0})(t,e))if("first"===l||"last"===l){e=((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(S(d));break}n.push(S(e)),u=e[i]}return n})(t,l);let a={};e.forEach(e=>{a[e]=!0}),F.treeExpandedMaps=a,D.currentItems=e}else o();u()},350,{trailing:!0}),de=e=>{var a=O.value,t=X.value,l=Y.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 F.treeFullData=a,ne(),h(!0),ie(),o(),u(),(0,_vue.nextTick)()},u=()=>{var l=D.currentItems,r=F.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===S(e));if(!(t=s?s[u?n:i]:[])||!t.length)break;o.push(t)}}D.currentCunkList=o},o=()=>{var e=D.currentNode,a=F.afterTreeList,t=G.value,l=A.value,r=B.value,i=O.value.transform;let n=[],u={},o=e?S(e):(0,_util.enNodeValue)(_xeUtils.default.last(t));o&&(e=_xeUtils.default.findTree(a,e=>o===S(e),{children:i?r:l}))&&(t=e.nodes,t.forEach(e=>{e=S(e);u[e]=!0,n.push(e)})),D.currentItems=n,F.treeExpandedMaps=u},ce=()=>{var e=N.value.zIndex;e?D.panelIndex=e:D.panelIndex<(0,_utils.getLastZIndex)()&&(D.panelIndex=(0,_utils.nextZIndex)())},s=()=>{let t=D.panelIndex,l=I.value,r=L.value,i=H.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});D.panelStyle=a,D.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},t=e=>{var{loading:a,remote:t,filterable:l}=V,r=F.treeFullData,i=T.value,n=Z.value;a||i||(clearTimeout(F.hpTimeout),D.initialized||(D.initialized=!0),D.isActivated=!0,D.isAniVisible=!0,l&&t&&n.enabled&&n.autoLoad&&!r.length&&Fe(),setTimeout(()=>{D.visiblePanel=!0,ye()},10),ce(),s(),x("visible-change",{visible:!0},e||null))},f=e=>{D.visiblePanel=!1,F.hpTimeout=setTimeout(()=>{D.isAniVisible=!1},350),x("visible-change",{visible:!1},e||null)},ve=e=>(D.currentNode=e,u(),(0,_vue.nextTick)()),pe=e=>{let t={};var a=A.value,l=B.value,r=O.value.transform;let i=[],n=[];return e&&_xeUtils.default.eachTree(F.afterTreeList,e=>{var a=S(e);i.push(a),n.push(e),t[a]=!0},{children:r?l:a}),F.indeterminateRowMaps={},F.selectCheckboxMaps=t,D.updateCheckboxFlag++,C(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:i,checkNodes:n}))},he=()=>(F.indeterminateRowMaps={},F.selectCheckboxMaps={},D.updateCheckboxFlag++,D.selectRadioKey=null,C(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:[],checkNodes:[]}))),m=(e,a,t)=>{a=_xeUtils.default.isArray(a)?a.map(_util.deNodeValue):(0,_util.deNodeValue)(a);F.isUpdateMode=!0,te(a),a!==V.modelValue&&(x("change",{value:a,node:t,option:t},e),r)&&i&&r.triggerItemEvent(e,i.itemConfig.field,a)},fe=(e,a)=>{m(e,a,null),x("clear",{value:a},e)},_e=(e,a)=>{fe(a,null),f(a)},ge=e=>{let t=e.$event,{multiple:a,checkedClosable:l}=V;a&&pe(!0).then(({checkNodeKeys:e,checkNodes:a})=>{m(t,e,a[0]),x("all-change",{value:e},t),l&&f(t)})},xe=e=>{let a=e.$event,{multiple:t,checkedClosable:l}=V;e=t?[]:null;he().then(()=>{l&&f(a)}),m(a,e,null),x("clear",{value:e},a)},me=e=>{e=e.$event;f(e)},be=e=>{var a,t,l=D.visiblePanel;T.value||(a=I.value,t=L.value,D.isActivated=(0,_dom.getEventTargetNode)(e,a).flag||(0,_dom.getEventTargetNode)(e,t).flag,l&&!D.isActivated&&f(e))},Ce=e=>{var{visiblePanel:a,isActivated:t}=D;a&&f(e),t&&(D.isActivated=!1),(a||t)&&(e=$.value)&&e.blur()},Ee=()=>{var e=D.visiblePanel;e&&s()},ke=()=>{var e=D.visiblePanel;e&&s()},ye=()=>{V.filterable&&(0,_vue.nextTick)(()=>{var e=j.value;e&&e.focus()})},b=(e,a)=>{e.preventDefault();D.currentNode=a,x("current-change",{node:a,checked:!0},e)},Me=(e,a,t,l)=>{e.preventDefault(),e.stopPropagation();var r=D.currentItems,i=F.nodeMaps,n=_.value,u=A.value,o=O.value.transform,s=B.value,{checkMode:n,checkMethod:d}=n,c=S(a),o=a[o?s:u],s=o&&0<o.length,u=(i[c]||{}).level;(d?d({$cascader:R,node:a}):E(n,s,u))&&(o=c,D.selectRadioKey=o,m(e,o,a),r.includes(c)||(b(e,a),z(e,a,t,l)),f(e))},Ie=i=>{var e=g.value;let t=O.value.loadMethod,n=e.checkStrictly;return new Promise(e=>{if(t){var a=F.nodeMaps;let l=S(i),r=a[l];F.treeExpandLazyLoadedMaps[l]=!0,Promise.resolve(t({$cascader:R,node:i})).then(t=>{var e=F.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=F.treeExpandedMaps;return e.length&&!a[l]&&(a[l]=!0),D.updateExpandedFlag++,!n&&R.isCheckedByCheckboxNodeId(l)&&le(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=F.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()})},Le=(e,a)=>{let{treeExpandLazyLoadedMaps:l,treeExpandedMaps:r}=F,i=F.nodeMaps,n=A.value,u=W.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=S(e[0]),d=i[d];d&&d.items.forEach(e=>{e=S(e);r[e]&&delete r[e]});let c=[];return a?e.forEach(e=>{var a,t=S(e);r[t]||(a=i[t],o&&e[u]&&!a.treeLoaded&&!l[t]?s.push(Ie(e)):e[n]&&e[n].length&&(r[t]=!0,c.push(e)))}):e.forEach(e=>{var a=S(e);r[a]&&(delete r[a],c.push(e))}),D.updateExpandedFlag++,v(),h(),Promise.all(s)},z=(e,a,t,l)=>{var r=D.currentItems,i=F.treeExpandLazyLoadedMaps,n=O.value.lazy,r=r.slice(0,l),l=S(a);e.stopPropagation(),r.push(l),D.currentItems=r,n&&i[l]||Le([a],!0),ve(a),x("node-expand",{node:a,expanded:!0},e)},C=()=>{let{selectCheckboxMaps:o,indeterminateRowMaps:s,afterTreeList:e}=F,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=S(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=S(e),t=o[a];d({$cascader:R,node:e})?(t?l++:s[a]&&r++,i++):t?l++:s[a]&&r++}:e=>{e=S(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])}),D.updateCheckboxFlag++}},Te=(e,a,l,r)=>{e.preventDefault(),e.stopPropagation();var i=D.currentItems;let{selectCheckboxMaps:n,nodeMaps:t}=F;var u=A.value,o=B.value,{checkStrictly:s,checkMode:d,checkMethod:c}=g.value,v=O.value.transform,p=S(a),h=a[v?o:u],f=h&&0<h.length,_=(t[p]||{}).level,c=c?!c({$cascader:R,node:a}):!E(d,f,_);if(!c){let t=!1;n[p]?delete n[p]:(t=!0,n[p]=a),s||_xeUtils.default.eachTree(h,e=>{var a=S(e);t?n[a]||(n[a]=e):n[a]&&delete n[a]},{children:v?o:u}),n[p]=a,D.updateCheckboxFlag++,C();d=_xeUtils.default.keys(n);m(e,d,a),i.includes(p)||(b(e,a),z(e,a,l,r))}},Ne=(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;b(e,a),"icon"!==v&&(f=!0,z(e,a,t,l)),r?"node"!==s.trigger&&(i||u&&u.length)||(h=!0,Te(e,a,t,l)):"node"!==o.trigger&&(n||u&&u.length)||(p=!0,Me(e,a,t,l)),x("node-click",{node:a,triggerCurrent:!0,triggerRadio:p,triggerCheckbox:h,triggerExpand:f},e)},Ue=e=>{T.value||D.visiblePanel||(D.triggerFocusPanel=!0,t(e),setTimeout(()=>{D.triggerFocusPanel=!1},150)),x("focus",{},e)},Ve=e=>{e.preventDefault(),D.triggerFocusPanel?D.triggerFocusPanel=!1:D.visiblePanel||t(e),x("click",{},e)},we=e=>{D.isActivated=!1,x("blur",{},e)},De=e=>{D.searchValue=e,se(new Event("filter"))},Fe=()=>{var{modelValue:e,remote:a}=V,t=D.searchValue,l=Z.value,r=l.queryMethod;a&&r&&l.enabled&&(D.searchLoading=!0,Promise.resolve(r({$cascader:R,searchValue:t,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{D.searchLoading=!1}))},Oe=e=>{e=e.$event;e.preventDefault(),D.triggerFocusPanel?D.triggerFocusPanel=!1:(D.visiblePanel?f:t)(e)},E=(Object.assign(R,a,{isCheckedByCheckboxNodeId:e=>{var a=D.updateCheckboxFlag,t=F.selectCheckboxMaps;return!(!a||!t[e])},loadChildrenNode(a,e){let u=V.separator,o=F.nodeMaps;var t=O.value;let s=P.value,{lazy:l,transform:r}=t;if(!l)return Promise.resolve([]);let i=A.value,n=B.value,d=o[S(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 S(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=S(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),ue(),e))}}),(e,a,t)=>{if(e){if("first"===e)return!t;if("last"===e)return!a}return!0}),Pe=(t,e,l,r,i,n)=>{var a=V.showRadio,{checkMode:u,checkMethod:o,visibleMode:s,visibleMethod:d}=_.value,d=d?d({$cascader:R,node:t}):E(s,e,l);if(a&&d){let a=o?!o({$cascader:R,node:t}):!E(u,e,l);return(0,_vue.h)("div",{class:["vxe-tree--radio-option",{"is--checked":r,"is--disabled":a}],onClick:e=>{a||Me(e,t,i,n)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",r?(0,_ui.getIcon)().RADIO_CHECKED:a?(0,_ui.getIcon)().RADIO_DISABLED_UNCHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(R)},Ae=(t,e,l,r,i,n,u)=>{var a=V.showCheckbox,{checkMode:o,checkMethod:s,visibleMode:d,visibleMethod:c}=g.value,c=c?c({$cascader:R,node:t}):E(d,e,l);if(a&&c){let a=s?!s({$cascader:R,node:t}):!E(o,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,n,u)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:r?(0,_ui.getIcon)().CHECKBOX_CHECKED:a?(0,_ui.getIcon)().CHECKBOX_DISABLED_UNCHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(R)};(0,_vue.watch)(()=>V.modelValue,()=>{F.isUpdateMode||(ie(),o(),u()),F.isUpdateMode=!1}),(0,_vue.watch)(()=>V.options,()=>{ne()});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,()=>{de(V.options||[])}),de(V.options||[]),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(R,"mousedown",be),_ui.globalEvents.on(R,"blur",Ce),_ui.globalEvents.on(R,"resize",Ee),_ui.globalEvents.on(R,"scroll",ke)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(R,"mousedown"),_ui.globalEvents.off(R,"blur"),_ui.globalEvents.off(R,"resize"),_ui.globalEvents.off(R,"scroll"),_xeUtils.default.assign(D,createReactData()),_xeUtils.default.assign(F,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}=D;let f=F.listVirtualYOpts;var _=U.value,g=T.value,x=J.value,m=H.value,b=K.value,C=Q.value,E=w.header,k=w.footer;let y=w.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:$,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:_e,onClick:Ve,onFocus:Ue,onBlur:we,onSuffixClick:Oe},y?{prefix:()=>y({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!m||!s},[(0,_vue.h)("div",{ref:L,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:D.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:j,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":De})]):(0,_ui.renderEmptyElement)(R),n&&t||u||E?(0,_vue.h)("div",{class:"vxe-cascader--panel-header"},E?E({}):[(0,_vue.h)("div",{class:"vxe-cascader--header-button"},[n&&t||u?(0,_vue.h)("div",{class:"vxe-cascader--selected-btns"},[n&&t?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.allChecked"),mode:"text",onClick:ge}):(0,_ui.renderEmptyElement)(R),u?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.clearChecked"),mode:"text",onClick:xe}):(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:q,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}=D,{nodeMaps:d,selectCheckboxMaps:c,indeterminateRowMaps:v,treeExpandedMaps:p,treeExpandLazyLoadedMaps:h}=F;let f=O.value;var{lazy:_,transform:g,iconLoaded:x,iconOpen:m,iconClose:b}=f,C=A.value,E=B.value,k=P.value,y=W.value,g=a[g?E:C],E=g&&0<g.length,C=w.icon,g=w.title,s=s&&p[e],p=d[e]||{},d=a[k],k=p.level;let M=!1,I=(i||(M=e===u),!1),L=!1,T=(i&&(I=!(!o||!c[e]),L=!(!o||!v[e])),!1),N=!1,U=!1;_&&(N=!!h[e],T=a[y],U=!!p.treeLoaded);u={node:a};return(0,_vue.h)("div",{key:r+"_"+t,class:["vxe-cascader-chunk--node-item",{"is--current":n&&(n===a||S(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){Ne(e,a,l,r)}},[i?Ae(a,E,k,I,L,l,r):Pe(a,E,k,M,l,r),(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&&(!_||U?E: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&&z(e,a,l,r)}},C?(0,_ui.getSlotVNs)(C(u)):[(0,_vue.h)("i",{class:N?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,S(e),a,t,l))}})]))])]),k||i||o?(0,_vue.h)("div",{class:"vxe-cascader--panel-footer"},k?k({}):[(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:me})]):(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")),_input=_interopRequireDefault(require("../../input")),_button=_interopRequireDefault(require("../../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:w}=e,d=(0,_vue.inject)("$xeModal",null),c=(0,_vue.inject)("$xeDrawer",null),k=(0,_vue.inject)("$xeTable",null),r=(0,_vue.inject)("$xeForm",null),i=(0,_vue.inject)("xeFormItemInfo",null);var a=_xeUtils.default.uniqueId();let U=(0,_ui.useSize)(V).computeSize,I=(0,_vue.ref)(),$=(0,_vue.ref)(),j=(0,_vue.ref)(),q=(0,_vue.ref)(),L=(0,_vue.ref)(),D=(0,_vue.reactive)(createReactData()),F=createInternalData(),y={refElem:I},K=(0,_vue.computed)(()=>{var e=V.readonly;return null===e?!!r&&r.props.readonly:e}),T=(0,_vue.computed)(()=>{var e=V.disabled;return null===e?!!r&&r.props.disabled:e}),H=(0,_vue.computed)(()=>{var e=N.value.transfer;return _xeUtils.default.isBoolean(e)?e:!!(k||d||c||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||{}),P=(0,_vue.computed)(()=>M.value.label||"label"),p=(0,_vue.computed)(()=>M.value.value||"value"),X=(0,_vue.computed)(()=>O.value.keyField||"id"),Y=(0,_vue.computed)(()=>O.value.parentField||"parentId"),A=(0,_vue.computed)(()=>O.value.childrenField||"children"),B=(0,_vue.computed)(()=>O.value.mapChildrenField||"mapChildren"),W=(0,_vue.computed)(()=>O.value.hasChildField||"hasChild"),Z=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.remoteConfig,V.remoteConfig)),G=(0,_vue.computed)(()=>{var e=V.modelValue;return _xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]}),J=(0,_vue.computed)(()=>{let t=V.showFullLabel,{fullOptFlag:l,lazyOptFlag:r}=D,{fullNodeMaps:i,lazyNodeMaps:n}=F,u=P.value;return G.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(", ")}),Q=(0,_vue.computed)(()=>{var{currentCunkList:e,panelStyle:a}=D,{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}),ee=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.filterConfig,V.filterConfig)),ae={},R={xID:a,props:V,context:e,reactData:D,internalData:F,getRefMaps:()=>y,getComputeMaps:()=>ae},x=(e,a,t)=>{l(e,(0,_ui.createEvent)(t,{$cascader:R},a))},te=e=>{l("update:modelValue",e)};a={dispatchEvent:x};let S=e=>e?(e=e[p.value],(0,_util.enNodeValue)(e)):"";let le=(e,t)=>{let l=F.selectCheckboxMaps;var a=B.value,r=A.value,i=g.value.checkStrictly,n=O.value.transform,u=e=>{var a=S(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}),D.updateCheckboxFlag++,C()},re=(e,t)=>{let l=F.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)}),le(a,t)}return(0,_vue.nextTick)()},ie=()=>{var e,a=V.modelValue,t=F.nodeMaps;let l={};V.multiple?a&&a.length&&(e=a,F.selectCheckboxMaps={},re(e,!0)):a&&(t=t[e=(0,_util.enNodeValue)(_xeUtils.default.isArray(a)?a[0]:a)])&&(t.nodes.forEach(e=>{l[S(e)]=!0}),D.selectRadioKey=e),F.treeExpandedMaps=l},ne=()=>{let o=V.separator;var e=F.treeFullData;let s=p.value,d=P.value;var a=A.value;let c={},v={};_xeUtils.default.eachTree(e,(e,a,t,l,r,i)=>{let n=S(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}),F.nodeMaps=c,F.fullNodeMaps=v,D.fullOptFlag++},ue=()=>{let o=V.separator,{afterTreeList:e,nodeMaps:s}=F,d=P.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=S(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})},oe=()=>{var a=D.searchValue,{treeFullData:t,lastFilterValue:e}=F;let l=P.value;var r=A.value,i=B.value,n=O.value.transform;let{beforeFilterMethod:u,filterMethod:o,afterFilterMethod:s}=ee.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:!1,children:r,mapChildren:i}):t.filter(a),F.lastFilterValue=v,(0,_vue.nextTick)(()=>{s&&s(e)})}else{if(n&&(c=_xeUtils.default.searchTree(t,()=>!0,{original:!0,isEvery:!1,children:r,mapChildren:i}),d=c,e)){let e={$cascader:R,filterValue:v};u&&u(e),(0,_vue.nextTick)(()=>{s&&s(e)})}F.lastFilterValue=""}F.afterVisibleList=d,F.afterTreeList=c,ue()},v=()=>{let{afterTreeList:e,treeExpandedMaps:o}=F;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=S(e),n=S(r);(!r||s[n]&&o[n])&&(s[i]=1,u.push(e))},{children:a}),F.afterVisibleList=u}return F.afterVisibleList},h=e=>{let a=F.afterVisibleList;e&&(oe(),a=v());e=a.slice(0);D.treeList=e};let se=_xeUtils.default.debounce(()=>{h(!0),C();var e=D.currentItems,t=F.afterTreeList,l=ee.value.autoExpandMode;if(!((e,t)=>{if(!t||!t.length)return!1;let l=e;for(let a of t){var r=l.find(e=>S(e)===a);if(!r)return!1;l=r.children||[]}return!0})(t,e))if("first"===l||"last"===l){e=((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(S(d));break}n.push(S(e)),u=e[i]}return n})(t,l);let a={};e.forEach(e=>{a[e]=!0}),F.treeExpandedMaps=a,D.currentItems=e}else o();u()},350,{trailing:!0}),de=e=>{var a=O.value,t=X.value,l=Y.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 F.treeFullData=a,ne(),h(!0),ie(),o(),u(),(0,_vue.nextTick)()},u=()=>{var l=D.currentItems,r=F.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===S(e));if(!(t=s?s[u?n:i]:[])||!t.length)break;o.push(t)}}D.currentCunkList=o},o=()=>{var e=D.currentNode,a=F.afterTreeList,t=G.value,l=A.value,r=B.value,i=O.value.transform;let n=[],u={},o=e?S(e):(0,_util.enNodeValue)(_xeUtils.default.last(t));o&&(e=_xeUtils.default.findTree(a,e=>o===S(e),{children:i?r:l}))&&(t=e.nodes,t.forEach(e=>{e=S(e);u[e]=!0,n.push(e)})),D.currentItems=n,F.treeExpandedMaps=u},ce=()=>{var e=N.value.zIndex;e?D.panelIndex=e:D.panelIndex<(0,_utils.getLastZIndex)()&&(D.panelIndex=(0,_utils.nextZIndex)())},s=()=>{let t=D.panelIndex,l=I.value,r=L.value,i=H.value,n=N.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(l,r,{placement:n.placement,defaultPlacement:n.defaultPlacement,appendTo:n.appendTo,teleportTo:i,isMinWidth:!1}),a=Object.assign(e.style,{zIndex:t});D.panelStyle=a,D.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},t=e=>{var{loading:a,remote:t,filterable:l}=V,r=F.treeFullData,i=T.value,n=Z.value;a||i||(clearTimeout(F.hpTimeout),D.initialized||(D.initialized=!0),D.isActivated=!0,D.isAniVisible=!0,l&&t&&n.enabled&&n.autoLoad&&!r.length&&Fe(),setTimeout(()=>{D.visiblePanel=!0,ye()},10),ce(),s(),x("visible-change",{visible:!0},e||null))},f=e=>{D.visiblePanel=!1,F.hpTimeout=setTimeout(()=>{D.isAniVisible=!1},350),x("visible-change",{visible:!1},e||null)},ve=e=>(D.currentNode=e,u(),(0,_vue.nextTick)()),pe=e=>{let t={};var a=A.value,l=B.value,r=O.value.transform;let i=[],n=[];return e&&_xeUtils.default.eachTree(F.afterTreeList,e=>{var a=S(e);i.push(a),n.push(e),t[a]=!0},{children:r?l:a}),F.indeterminateRowMaps={},F.selectCheckboxMaps=t,D.updateCheckboxFlag++,C(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:i,checkNodes:n}))},he=()=>(F.indeterminateRowMaps={},F.selectCheckboxMaps={},D.updateCheckboxFlag++,D.selectRadioKey=null,C(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:[],checkNodes:[]}))),m=(e,a,t)=>{a=_xeUtils.default.isArray(a)?a.map(_util.deNodeValue):(0,_util.deNodeValue)(a);F.isUpdateMode=!0,te(a),a!==V.modelValue&&(x("change",{value:a,node:t,option:t},e),r)&&i&&r.triggerItemEvent(e,i.itemConfig.field,a)},fe=(e,a)=>{m(e,a,null),x("clear",{value:a},e)},_e=(e,a)=>{fe(a,null),f(a)},ge=e=>{let t=e.$event,{multiple:a,checkedClosable:l}=V;a&&pe(!0).then(({checkNodeKeys:e,checkNodes:a})=>{m(t,e,a[0]),x("all-change",{value:e},t),l&&f(t)})},xe=e=>{let a=e.$event,{multiple:t,checkedClosable:l}=V;e=t?[]:null;he().then(()=>{l&&f(a)}),m(a,e,null),x("clear",{value:e},a)},me=e=>{e=e.$event;f(e)},be=e=>{var a,t,l=D.visiblePanel;T.value||(a=I.value,t=L.value,D.isActivated=(0,_dom.getEventTargetNode)(e,a).flag||(0,_dom.getEventTargetNode)(e,t).flag,l&&!D.isActivated&&f(e))},Ce=e=>{var{visiblePanel:a,isActivated:t}=D;a&&f(e),t&&(D.isActivated=!1),(a||t)&&(e=$.value)&&e.blur()},Ee=()=>{var e=D.visiblePanel;e&&s()},ke=()=>{var e=D.visiblePanel;e&&s()},ye=()=>{V.filterable&&(0,_vue.nextTick)(()=>{var e=j.value;e&&e.focus()})},b=(e,a)=>{e.preventDefault();D.currentNode=a,x("current-change",{node:a,checked:!0},e)},Me=(e,a,t,l)=>{e.preventDefault(),e.stopPropagation();var r=D.currentItems,i=F.nodeMaps,n=_.value,u=A.value,o=O.value.transform,s=B.value,{checkMode:n,checkMethod:d}=n,c=S(a),o=a[o?s:u],s=o&&0<o.length,u=(i[c]||{}).level;(d?d({$cascader:R,node:a}):E(n,s,u))&&(o=c,D.selectRadioKey=o,m(e,o,a),r.includes(c)||(b(e,a),z(e,a,t,l)),f(e))},Ie=i=>{var e=g.value;let t=O.value.loadMethod,n=e.checkStrictly;return new Promise(e=>{if(t){var a=F.nodeMaps;let l=S(i),r=a[l];F.treeExpandLazyLoadedMaps[l]=!0,Promise.resolve(t({$cascader:R,node:i})).then(t=>{var e=F.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=F.treeExpandedMaps;return e.length&&!a[l]&&(a[l]=!0),D.updateExpandedFlag++,!n&&R.isCheckedByCheckboxNodeId(l)&&le(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=F.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()})},Le=(e,a)=>{let{treeExpandLazyLoadedMaps:l,treeExpandedMaps:r}=F,i=F.nodeMaps,n=A.value,u=W.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=S(e[0]),d=i[d];d&&d.items.forEach(e=>{e=S(e);r[e]&&delete r[e]});let c=[];return a?e.forEach(e=>{var a,t=S(e);r[t]||(a=i[t],o&&e[u]&&!a.treeLoaded&&!l[t]?s.push(Ie(e)):e[n]&&e[n].length&&(r[t]=!0,c.push(e)))}):e.forEach(e=>{var a=S(e);r[a]&&(delete r[a],c.push(e))}),D.updateExpandedFlag++,v(),h(),Promise.all(s)},z=(e,a,t,l)=>{var r=D.currentItems,i=F.treeExpandLazyLoadedMaps,n=O.value.lazy,r=r.slice(0,l),l=S(a);e.stopPropagation(),r.push(l),D.currentItems=r,n&&i[l]||Le([a],!0),ve(a),x("node-expand",{node:a,expanded:!0},e)},C=()=>{let{selectCheckboxMaps:o,indeterminateRowMaps:s,afterTreeList:e}=F,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=S(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=S(e),t=o[a];d({$cascader:R,node:e})?(t?l++:s[a]&&r++,i++):t?l++:s[a]&&r++}:e=>{e=S(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])}),D.updateCheckboxFlag++}},Te=(e,a,l,r)=>{e.preventDefault(),e.stopPropagation();var i=D.currentItems;let{selectCheckboxMaps:n,nodeMaps:t}=F;var u=A.value,o=B.value,{checkStrictly:s,checkMode:d,checkMethod:c}=g.value,v=O.value.transform,p=S(a),h=a[v?o:u],f=h&&0<h.length,_=(t[p]||{}).level,c=c?!c({$cascader:R,node:a}):!E(d,f,_);if(!c){let t=!1;n[p]?delete n[p]:(t=!0,n[p]=a),s||_xeUtils.default.eachTree(h,e=>{var a=S(e);t?n[a]||(n[a]=e):n[a]&&delete n[a]},{children:v?o:u}),n[p]=a,D.updateCheckboxFlag++,C();d=_xeUtils.default.keys(n);m(e,d,a),i.includes(p)||(b(e,a),z(e,a,l,r))}},Ne=(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;b(e,a),"icon"!==v&&(f=!0,z(e,a,t,l)),r?"node"!==s.trigger&&(i||u&&u.length)||(h=!0,Te(e,a,t,l)):"node"!==o.trigger&&(n||u&&u.length)||(p=!0,Me(e,a,t,l)),x("node-click",{node:a,triggerCurrent:!0,triggerRadio:p,triggerCheckbox:h,triggerExpand:f},e)},Ue=e=>{T.value||D.visiblePanel||(D.triggerFocusPanel=!0,t(e),setTimeout(()=>{D.triggerFocusPanel=!1},150)),x("focus",{},e)},Ve=e=>{e.preventDefault(),D.triggerFocusPanel?D.triggerFocusPanel=!1:D.visiblePanel||t(e),x("click",{},e)},we=e=>{D.isActivated=!1,x("blur",{},e)},De=e=>{D.searchValue=e,se(new Event("filter"))},Fe=()=>{var{modelValue:e,remote:a}=V,t=D.searchValue,l=Z.value,r=l.queryMethod;a&&r&&l.enabled&&(D.searchLoading=!0,Promise.resolve(r({$cascader:R,searchValue:t,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{D.searchLoading=!1}))},Oe=e=>{e=e.$event;e.preventDefault(),D.triggerFocusPanel?D.triggerFocusPanel=!1:(D.visiblePanel?f:t)(e)},E=(Object.assign(R,a,{isCheckedByCheckboxNodeId:e=>{var a=D.updateCheckboxFlag,t=F.selectCheckboxMaps;return!(!a||!t[e])},loadChildrenNode(a,e){let u=V.separator,o=F.nodeMaps;var t=O.value;let s=P.value,{lazy:l,transform:r}=t;if(!l)return Promise.resolve([]);let i=A.value,n=B.value,d=o[S(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 S(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=S(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),ue(),e))}}),(e,a,t)=>{if(e){if("first"===e)return!t;if("last"===e)return!a}return!0}),Pe=(t,e,l,r,i,n)=>{var a=V.showRadio,{checkMode:u,checkMethod:o,visibleMode:s,visibleMethod:d}=_.value,d=d?d({$cascader:R,node:t}):E(s,e,l);if(a&&d){let a=o?!o({$cascader:R,node:t}):!E(u,e,l);return(0,_vue.h)("div",{class:["vxe-tree--radio-option",{"is--checked":r,"is--disabled":a}],onClick:e=>{a||Me(e,t,i,n)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",r?(0,_ui.getIcon)().RADIO_CHECKED:a?(0,_ui.getIcon)().RADIO_DISABLED_UNCHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(R)},Ae=(t,e,l,r,i,n,u)=>{var a=V.showCheckbox,{checkMode:o,checkMethod:s,visibleMode:d,visibleMethod:c}=g.value,c=c?c({$cascader:R,node:t}):E(d,e,l);if(a&&c){let a=s?!s({$cascader:R,node:t}):!E(o,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,n,u)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:r?(0,_ui.getIcon)().CHECKBOX_CHECKED:a?(0,_ui.getIcon)().CHECKBOX_DISABLED_UNCHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(R)};(0,_vue.watch)(()=>V.modelValue,()=>{F.isUpdateMode||(ie(),o(),u()),F.isUpdateMode=!1}),(0,_vue.watch)(()=>V.options,()=>{ne()});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,()=>{de(V.options||[])}),de(V.options||[]),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(R,"mousedown",be),_ui.globalEvents.on(R,"blur",Ce),_ui.globalEvents.on(R,"resize",Ee),_ui.globalEvents.on(R,"scroll",ke)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(R,"mousedown"),_ui.globalEvents.off(R,"blur"),_ui.globalEvents.off(R,"resize"),_ui.globalEvents.off(R,"scroll"),_xeUtils.default.assign(D,createReactData()),_xeUtils.default.assign(F,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}=D;let f=F.listVirtualYOpts;var _=U.value,g=T.value,x=J.value,m=H.value,b=K.value,C=Q.value,E=w.header,k=w.footer;let y=w.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:$,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:_e,onClick:Ve,onFocus:Ue,onBlur:we,onSuffixClick:Oe},y?{prefix:()=>y({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!m||!s},[(0,_vue.h)("div",{ref:L,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:D.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:j,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":De})]):(0,_ui.renderEmptyElement)(R),n&&t||u||E?(0,_vue.h)("div",{class:"vxe-cascader--panel-header"},E?E({}):[(0,_vue.h)("div",{class:"vxe-cascader--header-button"},[n&&t||u?(0,_vue.h)("div",{class:"vxe-cascader--selected-btns"},[n&&t?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.allChecked"),mode:"text",onClick:ge}):(0,_ui.renderEmptyElement)(R),u?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.clearChecked"),mode:"text",onClick:xe}):(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:q,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}=D,{nodeMaps:d,selectCheckboxMaps:c,indeterminateRowMaps:v,treeExpandedMaps:p,treeExpandLazyLoadedMaps:h}=F;let f=O.value;var{lazy:_,transform:g,iconLoaded:x,iconOpen:m,iconClose:b}=f,C=A.value,E=B.value,k=P.value,y=W.value,g=a[g?E:C],E=g&&0<g.length,C=w.icon,g=w.title,s=s&&p[e],p=d[e]||{},d=a[k],k=p.level;let M=!1,I=(i||(M=e===u),!1),L=!1,T=(i&&(I=!(!o||!c[e]),L=!(!o||!v[e])),!1),N=!1,U=!1;_&&(N=!!h[e],T=a[y],U=!!p.treeLoaded);u={node:a};return(0,_vue.h)("div",{key:r+"_"+t,class:["vxe-cascader-chunk--node-item",{"is--current":n&&(n===a||S(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){Ne(e,a,l,r)}},[i?Ae(a,E,k,I,L,l,r):Pe(a,E,k,M,l,r),(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&&(!_||U?E: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&&z(e,a,l,r)}},C?(0,_ui.getSlotVNs)(C(u)):[(0,_vue.h)("i",{class:N?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,S(e),a,t,l))}})]))])]),k||i||o?(0,_vue.h)("div",{class:"vxe-cascader--panel-footer"},k?k({}):[(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:me})]):(0,_ui.renderEmptyElement)(R)])]):(0,_ui.renderEmptyElement)(R)])]:[])])]))},R},render(){return this.renderVN()}});
@@ -338,6 +338,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
338
338
  const ppObj = (0, _dom.updatePanelPlacement)(targetElem, panelElem, {
339
339
  placement: popupOpts.placement || placement,
340
340
  defaultPlacement: popupOpts.defaultPlacement,
341
+ appendTo: popupOpts.appendTo,
341
342
  teleportTo: btnTransfer
342
343
  });
343
344
  const panelStyle = Object.assign(ppObj.style, {
@@ -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"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_util=require("./util"),_button=_interopRequireDefault(require("../../button")),_input=_interopRequireDefault(require("../../input")),_numberInput=_interopRequireDefault(require("../../number-input"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeColorPicker",props:{modelValue:String,placeholder:String,clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().colorPicker.clearable},type:{type:String,default:()=>(0,_ui.getConfig)().colorPicker.type},width:[Number,String],size:{type:String,default:()=>(0,_ui.getConfig)().colorPicker.size||(0,_ui.getConfig)().size},className:[String,Function],popupClassName:[String,Function],colors:{type:Array,default:()=>_xeUtils.default.clone((0,_ui.getConfig)().colorPicker.colors,!0)||[]},showAlpha:{type:Boolean,default:()=>(0,_ui.getConfig)().colorPicker.showAlpha},showEyeDropper:{type:Boolean,default:()=>(0,_ui.getConfig)().colorPicker.showEyeDropper},showColorExtractor:{type:Boolean,default:()=>(0,_ui.getConfig)().colorPicker.showColorExtractor},showQuick:{type:Boolean,default:()=>(0,_ui.getConfig)().colorPicker.showQuick},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},clickToCopy:{type:Boolean,default:()=>(0,_ui.getConfig)().colorPicker.clickToCopy},defaultColor:{type:String,default:()=>(0,_ui.getConfig)().colorPicker.defaultColor},placement:String,transfer:{type:Boolean,default:null},popupConfig:Object},emits:["update:modelValue","change","clear","click"],setup(_,e){let t=e.emit,D=(0,_vue.inject)("$xeModal",null),O=(0,_vue.inject)("$xeDrawer",null),M=(0,_vue.inject)("$xeTable",null),S=(0,_vue.inject)("$xeCard",null),o=(0,_vue.inject)("$xeForm",null),a=(0,_vue.inject)("xeFormItemInfo",null),h="undefined"!=typeof window?window.EyeDropper:null;var l=_xeUtils.default.uniqueId();let L=(0,_ui.useSize)(_).computeSize,d=(0,_vue.ref)(),m=(0,_vue.ref)(),g=(0,_vue.ref)(),x=(0,_vue.ref)(),f=(0,_vue.ref)(),b=(0,_vue.ref)(),C=(0,_vue.ref)(),k=(0,_vue.ref)(),y=(0,_vue.ref)(),V=(0,_vue.reactive)({initialized:!1,selectTyle:"hex",selectColor:""+(_.modelValue||""),showTypePopup:!1,panelColor:"",hexValue:"",rValue:0,gValue:0,bValue:0,aValue:0,panelIndex:0,panelStyle:{},panelPlacement:null,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),w=[{label:"HEX",value:"hex"},{label:"RGB",value:"rgb"}],i={},j=(0,_vue.computed)(()=>{var e=_.readonly;return null===e?!!o&&o.props.readonly:e}),P=(0,_vue.computed)(()=>{var e=_.disabled;return null===e?!!o&&o.props.disabled:e}),E=(0,_vue.computed)(()=>{var e=_.transfer;if(null===e){var l=(0,_ui.getConfig)().colorPicker.transfer;if(_xeUtils.default.isBoolean(l))return l;if(M||D||O||S||o)return!0}return e}),N=(0,_vue.computed)(()=>{var e=_.colors;return e?e.map(e=>_xeUtils.default.isString(e)?{label:e,value:e}:{label:_xeUtils.default.eqNull(e.label)?e.value:e.label,value:e.value}):[]}),$=(0,_vue.computed)(()=>{var e=_.width,l={};return e&&(l.width=(0,_dom.toCssUnit)(e)),l}),T=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().colorPicker.popupConfig,_.popupConfig)),I=(0,_vue.computed)(()=>{var e=V.selectTyle;return"rgb"===e}),H=(0,_vue.computed)(()=>{let l=V.selectTyle;return w.find(e=>e.value===l)}),F={refElem:d},W={},R={xID:l,props:_,context:e,reactData:V,getRefMaps:()=>F,getComputeMaps:()=>W},Y=e=>{t("update:modelValue",e)},u=()=>{var e=_.modelValue;V.selectColor=_xeUtils.default.toValueString(e),U()},r=()=>{var e=_.type;let l="rgb"!==e&&"rgba"!==e?"hex":"rgb";V.selectTyle=l,u()},U=()=>{var e=_.defaultColor,{selectColor:l,isAniVisible:o}=V,t=I.value,a=x.value,i=b.value,l=(0,_util.parseValColor)(l||e);V.hexValue="",V.rValue=0,V.gValue=0,V.bValue=0,V.aValue=1,l&&("hex"===l.type?V.hexValue=l.hex:(V.rValue=l.r,V.gValue=l.g,V.bValue=l.b,V.aValue=l.a),l.value)&&(t?"hex"===l.type&&(e=(0,_util.hexToRgb)(l.hex))&&(V.rValue=e.r,V.gValue=e.g,V.bValue=e.b,V.aValue=e.a):"hex"!==l.type&&(V.hexValue=(0,_util.rgbToHexVal)(l.r,l.g,l.b,l.a))),o&&(t=l?"hex"===l.type?(0,_util.hexToHsv)(l.hex):(0,_util.rgbToHsv)(l):null,e=k.value,t&&(e&&(o=e.clientHeight*(1-t.v),l=e.clientWidth*t.s,se(l,o)),a)&&ie(_xeUtils.default.ceil((1-t.h/360)*a.clientWidth)-1),i)&&p(i.clientWidth*V.aValue)},X=()=>{V.panelIndex<(0,_utils.getLastZIndex)()&&(V.panelIndex=(0,_utils.nextZIndex)())},n=()=>{let o=_.placement,t=V.panelIndex,a=d.value,i=g.value,u=E.value,r=T.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(a,i,{placement:r.placement||o,defaultPlacement:r.defaultPlacement,teleportTo:u}),l=Object.assign(e.style,{zIndex:t});V.panelStyle=l,V.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},c=()=>{var e=i.hpTimeout;P.value||(e&&(clearTimeout(e),i.hpTimeout=void 0),V.initialized||(V.initialized=!0),V.isActivated=!0,V.isAniVisible=!0,setTimeout(()=>{U(),V.visiblePanel=!0},10),X(),n())},s=()=>{V.visiblePanel=!1,i.hpTimeout=setTimeout(()=>{V.isAniVisible=!1},350)},v=(e,l)=>{(V.selectColor=l)!==_.modelValue&&(Y(l),q("change",{value:l},e),o)&&a&&o.triggerItemEvent(e,a.itemConfig.field,l)},G=(e,l)=>{v(e,l),q("clear",{value:l},e)},K=()=>{P.value||V.visiblePanel||c()},Q=()=>{V.isActivated=!1},Z=e=>{G(e,null),s()},J=e=>{var{selectTyle:l,selectColor:o,hexValue:t}=V,l="hex"===l?t:o;v(e,l),s()},ee=e=>{e.preventDefault(),(V.visiblePanel?s:c)()},le=e=>{ee(e),q("click",{},e)},oe=()=>{V.showTypePopup=!1},te=e=>{e.stopPropagation(),V.showTypePopup=!V.showTypePopup},ae=e=>{var l=V.selectTyle;e!==l&&(V.selectTyle=e,U()),V.showTypePopup=!1},ie=t=>{var a=x.value,i=f.value;if(a&&i){t<0&&(t=0);var a=_xeUtils.default.toInteger(a.clientWidth),u=255,a=_xeUtils.default.ceil(1530/a*t),r=a%u;let e=0,l=0,o=0;switch(Math.ceil(a/u)){case 1:e=u,o=r;break;case 2:e=u-r,o=u;break;case 3:l=r,o=u;break;case 4:l=u,o=u-r;break;case 5:e=r,l=u;break;case 6:e=u,l=u-r}V.panelColor=(0,_util.toValRgb)(e,l,o),i.style.left=(0,_dom.toCssUnit)(t)}},B=e=>{var l=x.value,o=f.value;l&&o&&(o=l.getBoundingClientRect(),l=_xeUtils.default.toInteger(l.clientWidth),l=_xeUtils.default.ceil(Math.min(l-1,Math.max(1,e.clientX-o.x))),ie(l))},ue=e=>{e.preventDefault(),document.onmousemove=e=>{e.preventDefault(),B(e)},document.onmouseup=e=>{document.onmousemove=null,document.onmouseup=null,B(e)}},p=e=>{var l=V.selectColor,o=b.value,t=C.value;o&&t&&(o=o.getBoundingClientRect().width,o=_xeUtils.default.ceil(100/o*(e=o<(e=e<0?0:e)?o:e)/100,2),V.aValue=o,t.style.left=(0,_dom.toCssUnit)(e),V.selectColor=l?(0,_util.updateColorAlpha)(l,o):"")},z=e=>{var l=b.value,o=C.value;l&&o&&(l=(o=l.getBoundingClientRect()).width,l=Math.min(l,Math.max(0,e.clientX-o.x)),p(l),U())},re=e=>{e.preventDefault(),document.onmousemove=e=>{e.preventDefault(),z(e)},document.onmouseup=e=>{document.onmousemove=null,document.onmouseup=null,z(e)}},A=()=>{var{rValue:e,gValue:l,bValue:o,aValue:t}=V;V.selectColor=(0,_util.toValRgb)(e,l,o,t),U()},ne=()=>{var e=V.aValue,l=b.value,o=C.value;l&&o&&(o=l.getBoundingClientRect().width*e,p(o))},ce=(e,l)=>{l=l.value;V.selectColor=l,U()},se=(e,l)=>{var o=y.value;o&&(o.style.top=(0,_dom.toCssUnit)(l),o.style.left=(0,_dom.toCssUnit)(e))},ve=()=>{if(h)try{(new h).open().then(e=>{e&&e.sRGBHex&&(V.selectColor=e.sRGBHex,U())}).catch(()=>{})}catch(e){}},pe=(e,l)=>{var o,t=_.showAlpha,{panelColor:a,aValue:i}=V,u=k.value,r=y.value;u&&r&&({clientWidth:r,clientHeight:o}=u,u=u.getBoundingClientRect(),l=Math.min(o,Math.max(0,l-u.y)),e=Math.min(r,Math.max(0,e-u.x)),(u=(0,_util.parseValColor)(a))&&(a="hex"===u.type?(0,_util.hexToHsv)(u.hex):(0,_util.rgbToHsv)(u))&&(u=(0,_util.hsvToRgb)(a.h,e/r,1-l/o),V.selectColor=(0,_util.toValRgb)(u.r,u.g,u.b,t?i:null),U()),se(e,l))},de=e=>{e.stopPropagation(),e.preventDefault(),pe(e.clientX,e.clientY),document.onmousemove=e=>{pe(e.clientX,e.clientY)},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null}},_e=()=>{var e=V.selectColor;e&&_ui.VxeUI.clipboard.copy(e)&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.colorPicker.copySuccess",[e]),status:"success"})},he=e=>{var l,o,t=V.visiblePanel;P.value||(l=d.value,o=g.value,V.isActivated=(0,_dom.getEventTargetNode)(e,l).flag||(0,_dom.getEventTargetNode)(e,o).flag,t&&!V.isActivated&&s())},me=()=>{var{visiblePanel:e,isActivated:l}=V;e&&s(),l&&(V.isActivated=!1),(e||l)&&(e=m.value)&&e.blur()},ge=()=>{var e=V.visiblePanel;e&&n()},xe=()=>{var e=V.visiblePanel;e&&n()},q=(e,l,o)=>{t(e,(0,_ui.createEvent)(o,{$colorPicker:R},l))};l={dispatchEvent:q};Object.assign(R,l,{});return(0,_vue.watch)(()=>_.modelValue,()=>{u()}),(0,_vue.watch)(()=>_.type,()=>{r()}),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(R,"mousedown",he),_ui.globalEvents.on(R,"blur",me),_ui.globalEvents.on(R,"resize",ge),_ui.globalEvents.on(R,"scroll",xe)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(R,"mousedown"),_ui.globalEvents.off(R,"blur"),_ui.globalEvents.off(R,"resize"),_ui.globalEvents.off(R,"scroll")}),r(),(0,_vue.provide)("$xeColorPicker",R),R.renderVN=()=>{var e,l,{className:o,popupClassName:t,clearable:a,modelValue:i}=_,{initialized:u,isActivated:r,isAniVisible:n,visiblePanel:c}=V,s=L.value,v=P.value,p=E.value;return j.value?(0,_vue.h)("div",{ref:d,class:["vxe-color-picker--readonly",o,{["size--"+s]:s}]},[(0,_vue.h)("div",{class:["vxe-color-picker--readonly-color",{"is--empty":!i}],style:i?{backgroundColor:i}:void 0})]):(l=$.value,e=T.value.appendTo,(0,_vue.h)("div",{ref:d,class:["vxe-color-picker",o?_xeUtils.default.isFunction(o)?o({$colorPicker:R}):o:"",{["size--"+s]:s,"is--selected":!!i,"is--visible":c,"is--disabled":v,"is--active":r}],style:l},[(0,_vue.h)("input",{ref:m,class:"vxe-color-picker--input",onFocus:K,onBlur:Q}),(0,_vue.h)("div",{class:"vxe-color-picker--inner",onClick:le},[(0,_vue.h)("div",{class:"vxe-color-picker--inner-color",style:{backgroundColor:i}})]),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(e),disabled:!p||!u},[(0,_vue.h)("div",{ref:g,class:["vxe-table--ignore-clear vxe-color-picker--panel",t?_xeUtils.default.isFunction(t)?t({$colorPicker:R}):t:"",{["size--"+s]:s,"is--transfer":p,"ani--leave":n,"ani--enter":c}],placement:V.panelPlacement,style:V.panelStyle},[u&&(c||n)?(0,_vue.h)("div",{class:"vxe-color-picker--panel-wrapper",onClick:oe},[(o=_.showColorExtractor,v=V.panelColor,o?(0,_vue.h)("div",{ref:k,class:"vxe-color-picker--color-wrapper",onMousedown:de},[(0,_vue.h)("div",{class:"vxe-color-picker--color-bg",style:{backgroundColor:v}}),(0,_vue.h)("div",{class:"vxe-color-picker--white-bg"}),(0,_vue.h)("div",{class:"vxe-color-picker--black-bg"}),(0,_vue.h)("div",{ref:y,class:"vxe-color-picker--color-active"})]):(0,_ui.renderEmptyElement)(R)),(()=>{var{showAlpha:e,clickToCopy:l,showEyeDropper:o}=_,{selectTyle:t,showTypePopup:a,hexValue:i,rValue:u,gValue:r,bValue:n,aValue:c,selectColor:s,panelColor:v}=V,p=I.value,d=H.value;return(0,_vue.h)("div",{class:"vxe-color-picker--bar-wrapper"},[(0,_vue.h)("div",{class:"vxe-color-picker--slider-wrapper"},[o&&h?(0,_vue.h)("div",{class:"vxe-color-picker--color-dropper"},[(0,_vue.h)("span",{class:"vxe-color-picker--color-dropper-btn",onClick:ve},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().COLOR_PICKER_EYE_DROPPER})])]):(0,_ui.renderEmptyElement)(R),(0,_vue.h)("div",{class:"vxe-color-picker--slider-preview"},[(0,_vue.h)("div",{class:"vxe-color-picker--preview-btn"},[(0,_vue.h)("div",{class:"vxe-color-picker--preview-color",style:{backgroundColor:s}},l?[(0,_vue.h)("span",{class:"vxe-color-picker--preview-copy-btn",onClick:_e},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().COLOR_PICKER_COLOR_COPY})])]:[])])]),(0,_vue.h)("div",{class:"vxe-color-picker--slider-handle"},[(0,_vue.h)("div",{ref:x,class:"vxe-color-picker--bar-hue-slider",onClick:B},[(0,_vue.h)("div",{ref:f,class:"vxe-color-picker--bar-hue-btn",onMousedown:ue})]),e?(0,_vue.h)("div",{ref:b,class:"vxe-color-picker--bar-alpha-slider",onClick:z},[(0,_vue.h)("div",{class:"vxe-color-picker--bar-alpha-bg",style:{background:`linear-gradient(to right, rgba(0, 0, 0, 0), ${v})`}}),(0,_vue.h)("div",{ref:C,class:"vxe-color-picker--bar-alpha-btn",onMousedown:re})]):(0,_ui.renderEmptyElement)(R)])]),(0,_vue.h)("div",{class:"vxe-color-picker--custom-wrapper"},[(0,_vue.h)("div",{class:"vxe-color-picker--type-switch"},[(0,_vue.h)("div",{class:"vxe-color-picker--type-label",onClick:te},[(0,_vue.h)("span",""+(d?d.label:t)),(0,_vue.h)("span",{class:"vxe-color-picker--type-icon"},[(0,_vue.h)("i",{class:a?(0,_ui.getIcon)().COLOR_PICKER_TPTY_OPEN:(0,_ui.getIcon)().COLOR_PICKER_TPTY_CLOSE})])]),(0,_vue.h)("div",{class:["vxe-color-picker--type-popup",{"is--visible":a}]},w.map(l=>(0,_vue.h)("div",{class:"vxe-color-picker--type-item",onClick(e){e.stopPropagation(),ae(l.value)}},l.label)))]),(0,_vue.h)("div",{class:`vxe-color-picker--${t}-wrapper`},p?[(0,_vue.h)("div",{class:"vxe-color-picker--input-wrapper"},[(0,_vue.h)(_numberInput.default,{type:"integer",size:"mini",align:"center",min:0,max:255,maxLength:3,placeholder:"",modelValue:u,controlConfig:{showButton:!1},"onUpdate:modelValue"(e){V.rValue=e},onChange:A}),(0,_vue.h)(_numberInput.default,{type:"integer",size:"mini",align:"center",min:0,max:255,maxLength:3,placeholder:"",modelValue:r,controlConfig:{showButton:!1},"onUpdate:modelValue"(e){V.gValue=e},onChange:A}),(0,_vue.h)(_numberInput.default,{type:"integer",size:"mini",align:"center",min:0,max:255,maxLength:3,placeholder:"",modelValue:n,controlConfig:{showButton:!1},"onUpdate:modelValue"(e){V.bValue=e},onChange:A}),(0,_vue.h)(_numberInput.default,{type:"number",size:"mini",align:"center",min:0,max:1,step:.01,maxLength:4,placeholder:"",modelValue:c,controlConfig:{showButton:!1},"onUpdate:modelValue"(e){V.aValue=e},onChange:ne})]),(0,_vue.h)("div",{class:"vxe-color-picker--input-title"},[(0,_vue.h)("span","R"),(0,_vue.h)("span","G"),(0,_vue.h)("span","B"),(0,_vue.h)("span","A")])]:[(0,_vue.h)("div",{class:"vxe-color-picker--input-wrapper"},[(0,_vue.h)(_input.default,{type:"text",size:"mini",align:"center",maxLength:9,placeholder:"",modelValue:i,"onUpdate:modelValue"(e){V.hexValue=e},onChange(){var e=(0,_util.parseValColor)(V.hexValue);e&&e.value&&(V.selectColor=e.value,U())}})]),(0,_vue.h)("div",{class:"vxe-color-picker--input-title"},(0,_ui.getI18n)("vxe.colorPicker.hex"))])])])})(),(r=_.showQuick,l=N.value,r&&l.length?(0,_vue.h)("div",{class:"vxe-color-picker--quick-wrapper"},l.map((l,e)=>(0,_vue.h)("div",{key:e,class:"vxe-color-picker--quick-item",title:l.label||"",style:{backgroundColor:l.value},onClick(e){ce(e,l)}}))):(0,_ui.renderEmptyElement)(R)),(0,_vue.h)("div",{class:"vxe-color-picker--footer-wrapper"},[a?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.colorPicker.clear"),size:"mini",onClick:Z}):(0,_ui.renderEmptyElement)(R),(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.colorPicker.confirm"),size:"mini",status:"primary",onClick:J})])]):(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"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_util=require("./util"),_button=_interopRequireDefault(require("../../button")),_input=_interopRequireDefault(require("../../input")),_numberInput=_interopRequireDefault(require("../../number-input"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeColorPicker",props:{modelValue:String,placeholder:String,clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().colorPicker.clearable},type:{type:String,default:()=>(0,_ui.getConfig)().colorPicker.type},width:[Number,String],size:{type:String,default:()=>(0,_ui.getConfig)().colorPicker.size||(0,_ui.getConfig)().size},className:[String,Function],popupClassName:[String,Function],colors:{type:Array,default:()=>_xeUtils.default.clone((0,_ui.getConfig)().colorPicker.colors,!0)||[]},showAlpha:{type:Boolean,default:()=>(0,_ui.getConfig)().colorPicker.showAlpha},showEyeDropper:{type:Boolean,default:()=>(0,_ui.getConfig)().colorPicker.showEyeDropper},showColorExtractor:{type:Boolean,default:()=>(0,_ui.getConfig)().colorPicker.showColorExtractor},showQuick:{type:Boolean,default:()=>(0,_ui.getConfig)().colorPicker.showQuick},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},clickToCopy:{type:Boolean,default:()=>(0,_ui.getConfig)().colorPicker.clickToCopy},defaultColor:{type:String,default:()=>(0,_ui.getConfig)().colorPicker.defaultColor},placement:String,transfer:{type:Boolean,default:null},popupConfig:Object},emits:["update:modelValue","change","clear","click"],setup(_,e){let t=e.emit,D=(0,_vue.inject)("$xeModal",null),O=(0,_vue.inject)("$xeDrawer",null),M=(0,_vue.inject)("$xeTable",null),S=(0,_vue.inject)("$xeCard",null),o=(0,_vue.inject)("$xeForm",null),a=(0,_vue.inject)("xeFormItemInfo",null),h="undefined"!=typeof window?window.EyeDropper:null;var l=_xeUtils.default.uniqueId();let L=(0,_ui.useSize)(_).computeSize,d=(0,_vue.ref)(),m=(0,_vue.ref)(),g=(0,_vue.ref)(),x=(0,_vue.ref)(),f=(0,_vue.ref)(),b=(0,_vue.ref)(),C=(0,_vue.ref)(),k=(0,_vue.ref)(),y=(0,_vue.ref)(),V=(0,_vue.reactive)({initialized:!1,selectTyle:"hex",selectColor:""+(_.modelValue||""),showTypePopup:!1,panelColor:"",hexValue:"",rValue:0,gValue:0,bValue:0,aValue:0,panelIndex:0,panelStyle:{},panelPlacement:null,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),w=[{label:"HEX",value:"hex"},{label:"RGB",value:"rgb"}],i={},j=(0,_vue.computed)(()=>{var e=_.readonly;return null===e?!!o&&o.props.readonly:e}),P=(0,_vue.computed)(()=>{var e=_.disabled;return null===e?!!o&&o.props.disabled:e}),E=(0,_vue.computed)(()=>{var e=_.transfer;if(null===e){var l=(0,_ui.getConfig)().colorPicker.transfer;if(_xeUtils.default.isBoolean(l))return l;if(M||D||O||S||o)return!0}return e}),N=(0,_vue.computed)(()=>{var e=_.colors;return e?e.map(e=>_xeUtils.default.isString(e)?{label:e,value:e}:{label:_xeUtils.default.eqNull(e.label)?e.value:e.label,value:e.value}):[]}),$=(0,_vue.computed)(()=>{var e=_.width,l={};return e&&(l.width=(0,_dom.toCssUnit)(e)),l}),T=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().colorPicker.popupConfig,_.popupConfig)),I=(0,_vue.computed)(()=>{var e=V.selectTyle;return"rgb"===e}),H=(0,_vue.computed)(()=>{let l=V.selectTyle;return w.find(e=>e.value===l)}),F={refElem:d},W={},R={xID:l,props:_,context:e,reactData:V,getRefMaps:()=>F,getComputeMaps:()=>W},Y=e=>{t("update:modelValue",e)},u=()=>{var e=_.modelValue;V.selectColor=_xeUtils.default.toValueString(e),U()},r=()=>{var e=_.type;let l="rgb"!==e&&"rgba"!==e?"hex":"rgb";V.selectTyle=l,u()},U=()=>{var e=_.defaultColor,{selectColor:l,isAniVisible:o}=V,t=I.value,a=x.value,i=b.value,l=(0,_util.parseValColor)(l||e);V.hexValue="",V.rValue=0,V.gValue=0,V.bValue=0,V.aValue=1,l&&("hex"===l.type?V.hexValue=l.hex:(V.rValue=l.r,V.gValue=l.g,V.bValue=l.b,V.aValue=l.a),l.value)&&(t?"hex"===l.type&&(e=(0,_util.hexToRgb)(l.hex))&&(V.rValue=e.r,V.gValue=e.g,V.bValue=e.b,V.aValue=e.a):"hex"!==l.type&&(V.hexValue=(0,_util.rgbToHexVal)(l.r,l.g,l.b,l.a))),o&&(t=l?"hex"===l.type?(0,_util.hexToHsv)(l.hex):(0,_util.rgbToHsv)(l):null,e=k.value,t&&(e&&(o=e.clientHeight*(1-t.v),l=e.clientWidth*t.s,se(l,o)),a)&&ie(_xeUtils.default.ceil((1-t.h/360)*a.clientWidth)-1),i)&&p(i.clientWidth*V.aValue)},X=()=>{V.panelIndex<(0,_utils.getLastZIndex)()&&(V.panelIndex=(0,_utils.nextZIndex)())},n=()=>{let o=_.placement,t=V.panelIndex,a=d.value,i=g.value,u=E.value,r=T.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(a,i,{placement:r.placement||o,defaultPlacement:r.defaultPlacement,appendTo:r.appendTo,teleportTo:u}),l=Object.assign(e.style,{zIndex:t});V.panelStyle=l,V.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},c=()=>{var e=i.hpTimeout;P.value||(e&&(clearTimeout(e),i.hpTimeout=void 0),V.initialized||(V.initialized=!0),V.isActivated=!0,V.isAniVisible=!0,setTimeout(()=>{U(),V.visiblePanel=!0},10),X(),n())},s=()=>{V.visiblePanel=!1,i.hpTimeout=setTimeout(()=>{V.isAniVisible=!1},350)},v=(e,l)=>{(V.selectColor=l)!==_.modelValue&&(Y(l),q("change",{value:l},e),o)&&a&&o.triggerItemEvent(e,a.itemConfig.field,l)},G=(e,l)=>{v(e,l),q("clear",{value:l},e)},K=()=>{P.value||V.visiblePanel||c()},Q=()=>{V.isActivated=!1},Z=e=>{G(e,null),s()},J=e=>{var{selectTyle:l,selectColor:o,hexValue:t}=V,l="hex"===l?t:o;v(e,l),s()},ee=e=>{e.preventDefault(),(V.visiblePanel?s:c)()},le=e=>{ee(e),q("click",{},e)},oe=()=>{V.showTypePopup=!1},te=e=>{e.stopPropagation(),V.showTypePopup=!V.showTypePopup},ae=e=>{var l=V.selectTyle;e!==l&&(V.selectTyle=e,U()),V.showTypePopup=!1},ie=t=>{var a=x.value,i=f.value;if(a&&i){t<0&&(t=0);var a=_xeUtils.default.toInteger(a.clientWidth),u=255,a=_xeUtils.default.ceil(1530/a*t),r=a%u;let e=0,l=0,o=0;switch(Math.ceil(a/u)){case 1:e=u,o=r;break;case 2:e=u-r,o=u;break;case 3:l=r,o=u;break;case 4:l=u,o=u-r;break;case 5:e=r,l=u;break;case 6:e=u,l=u-r}V.panelColor=(0,_util.toValRgb)(e,l,o),i.style.left=(0,_dom.toCssUnit)(t)}},B=e=>{var l=x.value,o=f.value;l&&o&&(o=l.getBoundingClientRect(),l=_xeUtils.default.toInteger(l.clientWidth),l=_xeUtils.default.ceil(Math.min(l-1,Math.max(1,e.clientX-o.x))),ie(l))},ue=e=>{e.preventDefault(),document.onmousemove=e=>{e.preventDefault(),B(e)},document.onmouseup=e=>{document.onmousemove=null,document.onmouseup=null,B(e)}},p=e=>{var l=V.selectColor,o=b.value,t=C.value;o&&t&&(o=o.getBoundingClientRect().width,o=_xeUtils.default.ceil(100/o*(e=o<(e=e<0?0:e)?o:e)/100,2),V.aValue=o,t.style.left=(0,_dom.toCssUnit)(e),V.selectColor=l?(0,_util.updateColorAlpha)(l,o):"")},z=e=>{var l=b.value,o=C.value;l&&o&&(l=(o=l.getBoundingClientRect()).width,l=Math.min(l,Math.max(0,e.clientX-o.x)),p(l),U())},re=e=>{e.preventDefault(),document.onmousemove=e=>{e.preventDefault(),z(e)},document.onmouseup=e=>{document.onmousemove=null,document.onmouseup=null,z(e)}},A=()=>{var{rValue:e,gValue:l,bValue:o,aValue:t}=V;V.selectColor=(0,_util.toValRgb)(e,l,o,t),U()},ne=()=>{var e=V.aValue,l=b.value,o=C.value;l&&o&&(o=l.getBoundingClientRect().width*e,p(o))},ce=(e,l)=>{l=l.value;V.selectColor=l,U()},se=(e,l)=>{var o=y.value;o&&(o.style.top=(0,_dom.toCssUnit)(l),o.style.left=(0,_dom.toCssUnit)(e))},ve=()=>{if(h)try{(new h).open().then(e=>{e&&e.sRGBHex&&(V.selectColor=e.sRGBHex,U())}).catch(()=>{})}catch(e){}},pe=(e,l)=>{var o,t=_.showAlpha,{panelColor:a,aValue:i}=V,u=k.value,r=y.value;u&&r&&({clientWidth:r,clientHeight:o}=u,u=u.getBoundingClientRect(),l=Math.min(o,Math.max(0,l-u.y)),e=Math.min(r,Math.max(0,e-u.x)),(u=(0,_util.parseValColor)(a))&&(a="hex"===u.type?(0,_util.hexToHsv)(u.hex):(0,_util.rgbToHsv)(u))&&(u=(0,_util.hsvToRgb)(a.h,e/r,1-l/o),V.selectColor=(0,_util.toValRgb)(u.r,u.g,u.b,t?i:null),U()),se(e,l))},de=e=>{e.stopPropagation(),e.preventDefault(),pe(e.clientX,e.clientY),document.onmousemove=e=>{pe(e.clientX,e.clientY)},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null}},_e=()=>{var e=V.selectColor;e&&_ui.VxeUI.clipboard.copy(e)&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.colorPicker.copySuccess",[e]),status:"success"})},he=e=>{var l,o,t=V.visiblePanel;P.value||(l=d.value,o=g.value,V.isActivated=(0,_dom.getEventTargetNode)(e,l).flag||(0,_dom.getEventTargetNode)(e,o).flag,t&&!V.isActivated&&s())},me=()=>{var{visiblePanel:e,isActivated:l}=V;e&&s(),l&&(V.isActivated=!1),(e||l)&&(e=m.value)&&e.blur()},ge=()=>{var e=V.visiblePanel;e&&n()},xe=()=>{var e=V.visiblePanel;e&&n()},q=(e,l,o)=>{t(e,(0,_ui.createEvent)(o,{$colorPicker:R},l))};l={dispatchEvent:q};Object.assign(R,l,{});return(0,_vue.watch)(()=>_.modelValue,()=>{u()}),(0,_vue.watch)(()=>_.type,()=>{r()}),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(R,"mousedown",he),_ui.globalEvents.on(R,"blur",me),_ui.globalEvents.on(R,"resize",ge),_ui.globalEvents.on(R,"scroll",xe)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(R,"mousedown"),_ui.globalEvents.off(R,"blur"),_ui.globalEvents.off(R,"resize"),_ui.globalEvents.off(R,"scroll")}),r(),(0,_vue.provide)("$xeColorPicker",R),R.renderVN=()=>{var e,l,{className:o,popupClassName:t,clearable:a,modelValue:i}=_,{initialized:u,isActivated:r,isAniVisible:n,visiblePanel:c}=V,s=L.value,v=P.value,p=E.value;return j.value?(0,_vue.h)("div",{ref:d,class:["vxe-color-picker--readonly",o,{["size--"+s]:s}]},[(0,_vue.h)("div",{class:["vxe-color-picker--readonly-color",{"is--empty":!i}],style:i?{backgroundColor:i}:void 0})]):(l=$.value,e=T.value.appendTo,(0,_vue.h)("div",{ref:d,class:["vxe-color-picker",o?_xeUtils.default.isFunction(o)?o({$colorPicker:R}):o:"",{["size--"+s]:s,"is--selected":!!i,"is--visible":c,"is--disabled":v,"is--active":r}],style:l},[(0,_vue.h)("input",{ref:m,class:"vxe-color-picker--input",onFocus:K,onBlur:Q}),(0,_vue.h)("div",{class:"vxe-color-picker--inner",onClick:le},[(0,_vue.h)("div",{class:"vxe-color-picker--inner-color",style:{backgroundColor:i}})]),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(e),disabled:!p||!u},[(0,_vue.h)("div",{ref:g,class:["vxe-table--ignore-clear vxe-color-picker--panel",t?_xeUtils.default.isFunction(t)?t({$colorPicker:R}):t:"",{["size--"+s]:s,"is--transfer":p,"ani--leave":n,"ani--enter":c}],placement:V.panelPlacement,style:V.panelStyle},[u&&(c||n)?(0,_vue.h)("div",{class:"vxe-color-picker--panel-wrapper",onClick:oe},[(o=_.showColorExtractor,v=V.panelColor,o?(0,_vue.h)("div",{ref:k,class:"vxe-color-picker--color-wrapper",onMousedown:de},[(0,_vue.h)("div",{class:"vxe-color-picker--color-bg",style:{backgroundColor:v}}),(0,_vue.h)("div",{class:"vxe-color-picker--white-bg"}),(0,_vue.h)("div",{class:"vxe-color-picker--black-bg"}),(0,_vue.h)("div",{ref:y,class:"vxe-color-picker--color-active"})]):(0,_ui.renderEmptyElement)(R)),(()=>{var{showAlpha:e,clickToCopy:l,showEyeDropper:o}=_,{selectTyle:t,showTypePopup:a,hexValue:i,rValue:u,gValue:r,bValue:n,aValue:c,selectColor:s,panelColor:v}=V,p=I.value,d=H.value;return(0,_vue.h)("div",{class:"vxe-color-picker--bar-wrapper"},[(0,_vue.h)("div",{class:"vxe-color-picker--slider-wrapper"},[o&&h?(0,_vue.h)("div",{class:"vxe-color-picker--color-dropper"},[(0,_vue.h)("span",{class:"vxe-color-picker--color-dropper-btn",onClick:ve},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().COLOR_PICKER_EYE_DROPPER})])]):(0,_ui.renderEmptyElement)(R),(0,_vue.h)("div",{class:"vxe-color-picker--slider-preview"},[(0,_vue.h)("div",{class:"vxe-color-picker--preview-btn"},[(0,_vue.h)("div",{class:"vxe-color-picker--preview-color",style:{backgroundColor:s}},l?[(0,_vue.h)("span",{class:"vxe-color-picker--preview-copy-btn",onClick:_e},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().COLOR_PICKER_COLOR_COPY})])]:[])])]),(0,_vue.h)("div",{class:"vxe-color-picker--slider-handle"},[(0,_vue.h)("div",{ref:x,class:"vxe-color-picker--bar-hue-slider",onClick:B},[(0,_vue.h)("div",{ref:f,class:"vxe-color-picker--bar-hue-btn",onMousedown:ue})]),e?(0,_vue.h)("div",{ref:b,class:"vxe-color-picker--bar-alpha-slider",onClick:z},[(0,_vue.h)("div",{class:"vxe-color-picker--bar-alpha-bg",style:{background:`linear-gradient(to right, rgba(0, 0, 0, 0), ${v})`}}),(0,_vue.h)("div",{ref:C,class:"vxe-color-picker--bar-alpha-btn",onMousedown:re})]):(0,_ui.renderEmptyElement)(R)])]),(0,_vue.h)("div",{class:"vxe-color-picker--custom-wrapper"},[(0,_vue.h)("div",{class:"vxe-color-picker--type-switch"},[(0,_vue.h)("div",{class:"vxe-color-picker--type-label",onClick:te},[(0,_vue.h)("span",""+(d?d.label:t)),(0,_vue.h)("span",{class:"vxe-color-picker--type-icon"},[(0,_vue.h)("i",{class:a?(0,_ui.getIcon)().COLOR_PICKER_TPTY_OPEN:(0,_ui.getIcon)().COLOR_PICKER_TPTY_CLOSE})])]),(0,_vue.h)("div",{class:["vxe-color-picker--type-popup",{"is--visible":a}]},w.map(l=>(0,_vue.h)("div",{class:"vxe-color-picker--type-item",onClick(e){e.stopPropagation(),ae(l.value)}},l.label)))]),(0,_vue.h)("div",{class:`vxe-color-picker--${t}-wrapper`},p?[(0,_vue.h)("div",{class:"vxe-color-picker--input-wrapper"},[(0,_vue.h)(_numberInput.default,{type:"integer",size:"mini",align:"center",min:0,max:255,maxLength:3,placeholder:"",modelValue:u,controlConfig:{showButton:!1},"onUpdate:modelValue"(e){V.rValue=e},onChange:A}),(0,_vue.h)(_numberInput.default,{type:"integer",size:"mini",align:"center",min:0,max:255,maxLength:3,placeholder:"",modelValue:r,controlConfig:{showButton:!1},"onUpdate:modelValue"(e){V.gValue=e},onChange:A}),(0,_vue.h)(_numberInput.default,{type:"integer",size:"mini",align:"center",min:0,max:255,maxLength:3,placeholder:"",modelValue:n,controlConfig:{showButton:!1},"onUpdate:modelValue"(e){V.bValue=e},onChange:A}),(0,_vue.h)(_numberInput.default,{type:"number",size:"mini",align:"center",min:0,max:1,step:.01,maxLength:4,placeholder:"",modelValue:c,controlConfig:{showButton:!1},"onUpdate:modelValue"(e){V.aValue=e},onChange:ne})]),(0,_vue.h)("div",{class:"vxe-color-picker--input-title"},[(0,_vue.h)("span","R"),(0,_vue.h)("span","G"),(0,_vue.h)("span","B"),(0,_vue.h)("span","A")])]:[(0,_vue.h)("div",{class:"vxe-color-picker--input-wrapper"},[(0,_vue.h)(_input.default,{type:"text",size:"mini",align:"center",maxLength:9,placeholder:"",modelValue:i,"onUpdate:modelValue"(e){V.hexValue=e},onChange(){var e=(0,_util.parseValColor)(V.hexValue);e&&e.value&&(V.selectColor=e.value,U())}})]),(0,_vue.h)("div",{class:"vxe-color-picker--input-title"},(0,_ui.getI18n)("vxe.colorPicker.hex"))])])])})(),(r=_.showQuick,l=N.value,r&&l.length?(0,_vue.h)("div",{class:"vxe-color-picker--quick-wrapper"},l.map((l,e)=>(0,_vue.h)("div",{key:e,class:"vxe-color-picker--quick-item",title:l.label||"",style:{backgroundColor:l.value},onClick(e){ce(e,l)}}))):(0,_ui.renderEmptyElement)(R)),(0,_vue.h)("div",{class:"vxe-color-picker--footer-wrapper"},[a?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.colorPicker.clear"),size:"mini",onClick:Z}):(0,_ui.renderEmptyElement)(R),(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.colorPicker.confirm"),size:"mini",status:"primary",onClick:J})])]):(0,_ui.renderEmptyElement)(R)])])]))},R},render(){return this.renderVN()}});
@@ -1316,6 +1316,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1316
1316
  const ppObj = (0, _dom.updatePanelPlacement)(targetElem, panelElem, {
1317
1317
  placement: popupOpts.placement || placement,
1318
1318
  defaultPlacement: popupOpts.defaultPlacement,
1319
+ appendTo: popupOpts.appendTo,
1319
1320
  teleportTo: btnTransfer
1320
1321
  });
1321
1322
  const panelStyle = Object.assign(ppObj.style, {
@@ -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")),_button=_interopRequireDefault(require("../../button")),_buttonGroup=_interopRequireDefault(require("../../button-group"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("date-picker"),defaultMaskPlaceholder="_",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"},width:[Number,String],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,inputClassName:{type:String,default:()=>(0,_ui.getConfig)().datePicker.inputClassName},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,parseInputMethod:Function,editable:{type:Boolean,default:!0},festivalMethod:Function,disabledMethod:Function,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:M,emit:l}=e,i=(0,_vue.inject)("$xeModal",null),u=(0,_vue.inject)("$xeDrawer",null),n=(0,_vue.inject)("$xeTable",null),d=(0,_vue.inject)("$xeCard",null),r=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let W=(0,_ui.useSize)(w).computeSize,T=(0,_vue.reactive)(createReactData()),P=createInternalData(),V={parseInputMethod:(0,_ui.getConfig)().datePicker.parseInputMethod,festivalMethod:(0,_ui.getConfig)().datePicker.festivalMethod,disabledMethod:(0,_ui.getConfig)().datePicker.disabledMethod},U=(0,_vue.ref)(),I=(0,_vue.ref)(),H=(0,_vue.ref)(),Z=(0,_vue.ref)(),N=(0,_vue.ref)(),x={refElem:U,refInput:I},R={xID:t,props:w,context:e,reactData:T,internalData:P,getRefMaps:()=>x},J=(0,_vue.computed)(()=>{var e=w.transfer,t=L.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(n||i||u||d||r)return!0}return e}),F=(0,_vue.computed)(()=>{var e=w.readonly;return null===e?!!r&&r.props.readonly:e}),K=(0,_vue.computed)(()=>{var e=w.disabled;return null===e?!!r&&r.props.disabled:e}),y=(0,_vue.computed)(()=>{var e=w.type;return"time"===e}),A=(0,_vue.computed)(()=>{var e=w.type;return y.value||"datetime"===e}),b=(0,_vue.computed)(()=>A.value||-1<["date","week","month","quarter","year"].indexOf(w.type)),j=(0,_vue.computed)(()=>w.clearable),k=(0,_vue.computed)(()=>A.value||-1<["date","week","month","quarter","year"].indexOf(w.type)),E=(0,_vue.computed)(()=>{let{modelValue:e,type:t,multiple:a}=w;var l=k.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}):[]}),Q=(0,_vue.computed)(()=>{var e=w.width,t={};return e&&(t.width=(0,_dom.toCssUnit)(e)),t}),X=(0,_vue.computed)(()=>w.startDate?_xeUtils.default.toStringDate(w.startDate):null),ee=(0,_vue.computed)(()=>w.endDate?_xeUtils.default.toStringDate(w.endDate):null),D=(0,_vue.computed)(()=>w.multiple?_xeUtils.default.toNumber(w.limitCount):0),C=(0,_vue.computed)(()=>{var e=E.value;let t=p.value;return e.map(e=>_xeUtils.default.toDateString(e,t))}),S=(0,_vue.computed)(()=>{var e=w.multiple,t=D.value,a=C.value;return!(!e||!t)&&a.length>=t}),te=(0,_vue.computed)(()=>{var{type:e,editable:t,multiple:a}=w;return F.value||a||!t||"week"===e||"quarter"===e}),ae=(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")}),le=(0,_vue.computed)(()=>{var e=w.immediate;return e}),ie=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.timeConfig,w.timeConfig)),L=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.popupConfig,w.popupConfig)),O=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.shortcutConfig,w.shortcutConfig)),ue=(0,_vue.computed)(()=>{var e=O.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)}),B=(0,_vue.computed)(()=>g.value),_=(0,_vue.computed)(()=>{var e=w.startDay;return _xeUtils.default.toNumber(e)}),q=(0,_vue.computed)(()=>{let{type:t,multiple:e}=w;var a=T.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(", ")}),$=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.maskedConfig,w.maskedConfig)),z=(0,_vue.computed)(()=>{var e=$.value.maskPlaceholder;return(e?(""+e)[0]:"")||defaultMaskPlaceholder}),ne=()=>{var e=w.modelValue;let t="";e&&(t=_xeUtils.default.isNumber(e)&&/^[0-9]{11,15}$/.test(""+e)?new Date(e):e),T.inputValue=t},G=(e,t)=>{P.inputLabel=e,t&&T.labelFlag++},v=e=>{var t=T.inputValue;h(e.type,{value:t},e)},c=(e,t)=>{var a,{type:l,modelValue:i,valueFormat:u}=w,n=p.value;T.inputValue=e,(0,_util.hasTimestampValueType)(u)?(a=(a=(0,_util.parseDateValue)(e,l,{valueFormat:n}))?a.getTime():null,s(a),i!==a&&(h("change",{value:a},t),r)&&o&&r.triggerItemEvent(t,o.itemConfig.field,a)):(0,_util.hasDateValueType)(u)?(a=(0,_util.parseDateValue)(e,l,{valueFormat:n}),s(a),(i&&a?_xeUtils.default.toStringDate(i).getTime()!==a.getTime():i!==a)&&(h("change",{value:a},t),r)&&o&&r.triggerItemEvent(t,o.itemConfig.field,a)):(s(e),_xeUtils.default.toValueString(i)!==e&&(h("change",{value:e},t),r)&&o&&r.triggerItemEvent(t,o.itemConfig.field,e))},re=e=>{var t=e.target.value;G(t,!0),h("input",{value:t},e)},oe=e=>{le.value||v(e)},se=e=>{var t;K.value||(t=T.inputValue,h("prefix-click",{value:t},e))},f=()=>new Promise(e=>{T.visiblePanel=!1,P.hpTimeout=setTimeout(()=>{T.isAniVisible=!1,e()},350)}),de=(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=S.value;if(i){n=e?[]:[...E.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?[]:C.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"})},ve=()=>{var e=q.value;G(e,!0)},m=i=>{var{type:a,editable:l,multiple:e,maskedConfig:u}=w,n=P.inputLabel;let r=g.value;var o=$.value,s=X.value,d=ee.value,v=w.parseInputMethod||V.parseInputMethod;if(i){l&&!e&&((0,_utils.isEnableConf)(u)||o.enabled)&&(l=r.match(new RegExp(`(${inputMaskedKeys.join("|")})+`,"g")))&&l.forEach(t=>{var a=r.indexOf(t);if(-1<a){var l=i.slice(a,a+t.length).replace(/\D/g,"");if(l){let e=_xeUtils.default.toNumber(l);!e&&["MM","dd"].includes(t)&&(e=1),i=i.slice(0,a)+_xeUtils.default.padStart((0,_util.checkDateInputFormat)(e,t),t.length,"0")+i.slice(a+t.length)}}});let t;if(v)t=v({$datePicker:R,type:a,inputValue:i,valueFormat:r})||null;else{e=N.value;if(e)return e.checkValue(i);t=(0,_util.parseDateValue)(i,a,{valueFormat:r})}if(_xeUtils.default.isValidDate(t))if("time"===a)n!==(u=_xeUtils.default.toDateString(t,r))&&c(t,{type:"check"}),G(u,!0);else{d&&t>d&&(t=d),s&&t<s&&(t=s);let e=!1;o=_.value,v=("datetime"===a&&(l=T.inputValue,i===_xeUtils.default.toDateString(l,r))&&i===_xeUtils.default.toDateString(t,r)||(e=!0),_xeUtils.default.toDateString(t,r,{firstDay:o}));G(v,!0),e&&de(t)}else ve()}else c("",{type:"check"})},pe=(e,t)=>{b.value&&f(),c("",e),h("clear",{value:t},e)},ce=e=>{var t;K.value||(t=T.inputValue,h("suffix-click",{value:t},e))},fe=(e,t,a)=>{var l=$.value.align,i=z.value,u=_xeUtils.default.toNumber(e);let n=(0,_util.checkDateInputFormat)(u,t),r=""+(n=a&&!n&&["MM","dd"].includes(t)?1:n);return e.length>r.length&&(r=r.padStart(e.length,"0")),a?_xeUtils.default.padStart(r,t.length,"0"):_xeUtils.default["right"===l?"padStart":"padEnd"](r,t.length,i)},me=(e,a,l,i,u)=>{var{type:n,multiple:r}=w;if(!r){r=I.value;if(r){var o=r.value;if(o){var s=B.value,d=g.value,v=_.value,p=z.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)+fe(""+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,G(l,!1))):(r.value=a,G(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)),P.isTriggerMasked=!0)}}}},ge=n=>{var r=w.multiple;if(!r){var o=I.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=P.isTriggerMasked,p=$.value.align,c=B.value,f=z.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=fe(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,G(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(P.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,G(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,G(t,!1),o.setSelectionRange(0,m.length),void(P.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)),P.isTriggerMasked=!0):(o.setSelectionRange(a,l),P.isTriggerMasked=!1)}}}}}},_e=(t,i)=>{P.fsTimeout=void 0;var{type:u,multiple:n,modelValue:r}=w;if(!n&&maskedTypes.includes(u)){n=I.value;if(n){u=P.laseFocusMasked;if(!(u&&Date.now()-u<100)){u=B.value;let l=z.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,G(e,!1),n.setSelectionRange(0,i.length),void(P.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,G(a,!1),n.setSelectionRange(0,i.length),void(P.laseFocusMasked=Date.now())}let e=u[a];(e=parseInputKayMaps[e]?e:u[a-1])&&(t.stopPropagation(),s=u.match(new RegExp(e+"+")))&&(d=s[0]||"",r=(o=s.index||0)+d.length,n.setSelectionRange(o,r),P.isTriggerMasked=!0,P.laseFocusMasked=Date.now())}}}},he=e=>{var t,a=T.inputValue;le.value||c(a,e),T.visiblePanel||(t=P.inputLabel,T.isActivated=!1,m(t)),h("blur",{value:a},e),r&&o&&r.triggerItemEvent(e,o.itemConfig.field,a)},xe=e=>{var{multiple:t,editable:a,maskedConfig:l}=w,i=P.fsTimeout,u=$.value,n=L.value.trigger;T.isActivated=!0,i&&clearTimeout(i),n&&"default"!==n?"icon"===n&&f():Ne(e),a&&!t&&((0,_utils.isEnableConf)(l)||u.enabled)&&(P.fsTimeout=setTimeout(()=>{_e(e,!0)},20)),v(e)},ye=e=>{var{multiple:t,editable:a,maskedConfig:l}=w,i=P.fsTimeout,u=$.value;i&&clearTimeout(i),a&&!t&&((0,_utils.isEnableConf)(l)||u.enabled)&&(P.fsTimeout=setTimeout(()=>{_e(e)},10)),v(e)},be=e=>{var{type:t,editable:a,maskedConfig:l}=w,i=T.visiblePanel,u=$.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=P.inputLabel,i&&f(),m(a)):maskedTypes.includes(t)&&((0,_utils.isEnableConf)(l)||u.enabled)&&(u.isArrow&&(n||r||o||s)?me(e,n,r,o,s):u.isMasked&&ge(e))),v(e)},ke=e=>{v(e)},Ee=e=>{var t=N.value;t&&t.confirmByEvent(e),f()},De=e=>{var{multiple:t,autoClose:a}=w,{value:e,$event:l}=e,i=A.value;c(e,l),t||i||a&&f()},Ce=e=>{h("confirm",e,e.$event)},Se=e=>{G(e.label,!0)},we=e=>{var{visiblePanel:t,isActivated:a}=T,l=U.value,i=Z.value;!K.value&&a&&((l=(0,_dom.getEventTargetNode)(e,l).flag||(0,_dom.getEventTargetNode)(e,i).flag)!==a&&(T.isActivated=l),l||t&&(f(),e=P.inputLabel,m(e)))},Me=e=>{var t,{isActivated:a,visiblePanel:l}=T;K.value||(t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),t&&a&&(T.isActivated=!1),l&&(e||t)&&f())},Te=()=>{var{isActivated:e,visiblePanel:t}=T;t&&f(),e&&(T.isActivated=!1),(t||e)&&(m(P.inputLabel),t=I.value)&&t.blur()},Pe=()=>{var e=T.visiblePanel;e&&a()},Ve=()=>{var e=T.visiblePanel;e&&a()},Ue=()=>{var e=L.value.zIndex||w.zIndex;e?T.panelIndex=_xeUtils.default.toNumber(e):T.panelIndex<(0,_utils.getLastZIndex)()&&(T.panelIndex=(0,_utils.nextZIndex)())},a=()=>{let a=w.placement,l=T.panelIndex,i=I.value,u=H.value;if(!u)return(0,_vue.nextTick)();let n=J.value,r=L.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});T.panelStyle=t,T.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},Ie=()=>{var e=T.visiblePanel;return(K.value||e?(0,_vue.nextTick):(T.initialized||(T.initialized=!0),P.hpTimeout&&(clearTimeout(P.hpTimeout),P.hpTimeout=void 0),T.isActivated=!0,T.isAniVisible=!0,setTimeout(()=>{T.visiblePanel=!0,a()},10),Ue(),a))()},Ne=e=>{F.value||(e.preventDefault(),Ie())},Re=e=>{var t=T.visiblePanel,a=L.value.trigger;a&&"default"!==a&&"icon"!==a||(t?f():Ne(e))},Fe=({option:e,$event:t})=>{var a=w.type,l=T.inputValue,i=O.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,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)=>{l(e,(0,_ui.createEvent)(a,{$datePicker:R},t))},s=e=>{l("update:modelValue",e)};t={dispatchEvent:h,setModelValue(e){T.inputValue=e,s(e)},setModelValueByEvent(e,t){c(t||"",e)},focus(){var e=I.value;return T.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return I.value.blur(),(T.isActivated=!1,_vue.nextTick)()},select(){return I.value.select(),(T.isActivated=!1,_vue.nextTick)()},showPanel:Ie,hidePanel:f,updatePlacement:a};Object.assign(R,t);let Y=(e,t)=>{var a=O.value,{position:l,align:i,mode:u}=a,n=ue.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:Fe})]):(0,_ui.renderEmptyElement)(R)},Ke=()=>(0,_vue.h)("div",{class:"vxe-date-picker--control-icon",onClick:Re},[(0,_vue.h)("i",{class:["vxe-date-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(q,e=>{G(e,!0)}),(0,_vue.watch)(()=>w.modelValue,()=>{ne()}),ne(),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(R,"mousedown",we),_ui.globalEvents.on(R,"keydown",Me),_ui.globalEvents.on(R,"blur",Te),_ui.globalEvents.on(R,"resize",Pe),_ui.globalEvents.on(R,"scroll",Ve)}),(0,_vue.onMounted)(()=>{var{type:e,multiple:t,maskedConfig:a}=w;(0,_utils.isEnableConf)(a)&&(t&&errLog("vxe.error.notSupportProp",["multiple","masked-config.enabled=true","masked-config.enabled=false"]),maskedTypes.includes(e)||warnLog("vxe.error.notSupportProp",["masked-config.enabled=true","type="+e,"type="+maskedTypes.join("|")]))}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(R,"mousedown"),_ui.globalEvents.off(R,"keydown"),_ui.globalEvents.off(R,"blur"),_ui.globalEvents.off(R,"resize"),_ui.globalEvents.off(R,"scroll"),_xeUtils.default.assign(T,createReactData()),_xeUtils.default.assign(P,createInternalData())}),(0,_vue.provide)("$xeDatePicker",R),R.renderVN=()=>{var e,t,a,l,i,u,n,r,o,s,d,v,p,{className:c,inputClassName:f,type:m,name:g,autoComplete:_}=w,{inputValue:h,visiblePanel:x,isActivated:y,labelFlag:b}=T,k=P.inputLabel,E=W.value,D=K.value,C=F.value,S=q.value;return C?(0,_vue.h)("div",{ref:U,class:["vxe-date-picker--readonly","type--"+m,c]},S):(C=Q.value,S=te.value,i=ae.value,a=j.value,t=w.prefixIcon,l=(l=M.prefix)||t?(0,_vue.h)("div",{class:"vxe-date-picker--prefix",onClick:se},[(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=T.inputValue,v=M.suffix,u=K.value,e=j.value,u=(0,_vue.h)("div",{class:["vxe-date-picker--suffix",{"is--clear":e&&!u&&!(""===p||_xeUtils.default.eqNull(p))}]},[e?(0,_vue.h)("div",{class:"vxe-date-picker--clear-icon",onClick:pe},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(R),Ke(),v||t?(0,_vue.h)("div",{class:"vxe-date-picker--suffix-icon",onClick:ce},v?(0,_vn.getSlotVNs)(v({})):[(0,_vue.h)("i",{class:t})]):(0,_ui.renderEmptyElement)(R)]),(0,_vue.h)("div",{ref:U,class:["vxe-date-picker","type--"+m,c,{["size--"+E]:E,"is--prefix":!!l,"is--suffix":!!u,"is--visible":x,"is--disabled":D,"is--active":y,"show--clear":a&&!D&&!(""===h||_xeUtils.default.eqNull(h))}],style:C,spellcheck:!1},[l||(0,_ui.renderEmptyElement)(R),(0,_vue.h)("div",{class:"vxe-date-picker--wrapper"},[(0,_vue.h)("input",{ref:I,class:"vxe-date-picker--inner"+(f?" "+f:""),value:b?k:"",name:g,type:"text",placeholder:i,readonly:S,disabled:D,autocomplete:_,onKeydown:be,onKeyup:ke,onClick:ye,onInput:re,onChange:oe,onFocus:xe,onBlur:he})]),u||(0,_ui.renderEmptyElement)(R),!1===(p=L.value).enabled?(0,_ui.renderEmptyElement)(R):({type:e,multiple:v,showClearButton:t,showConfirmButton:m}=w,{initialized:c,isAniVisible:E,visiblePanel:x,panelPlacement:y,panelStyle:a,inputValue:h}=T,C=W.value,l=J.value,f=O.value,b=j.value,k=A.value,g=ue.value,i=ie.value,S=X.value,D=ee.value,_=p.appendTo,f=f.position,u=M.header,n=M.footer,r=M.top,o=M.bottom,s=M.left,d=M.right,p=p.className,g=0<g.length,k=null===m?k||v:m,v=null===t?b&&k&&"time"!==e:t,(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(_),disabled:!l||!c},[(0,_vue.h)("div",{ref:H,class:["vxe-table--ignore-clear vxe-date-picker--panel","type--"+e,p?_xeUtils.default.isFunction(p)?p({$datePicker:R}):p:"",{["size--"+C]:C,"is--transfer":l,"ani--leave":E,"ani--enter":x,"show--top":!!(r||u||g&&("top"===f||"header"===f)),"show--bottom":!!(o||n||g&&("bottom"===f||"footer"===f)),"show--left":!!(s||g&&"left"===f),"show--right":!!(d||g&&"right"===f)}],placement:y,style:a},c&&(x||E)?[(0,_vue.h)("div",{ref:Z,class:["vxe-date-picker--layout-all-wrapper","type--"+e,{["size--"+C]:C}]},[r?(0,_vue.h)("div",{class:"vxe-date-picker--layout-top-wrapper"},r({})):Y("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({})):Y("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({})):Y("header"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:N,modelValue:T.inputValue,type:w.type,className:w.className,multiple:w.multiple,limitCount:w.limitCount,startDate:S,endDate:D,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:i,festivalMethod:w.festivalMethod||V.festivalMethod,disabledMethod:w.disabledMethod||V.disabledMethod,selectDay:w.selectDay,onChange:De,onConfirm:Ce,onRevert:Se})]),(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-custom"},n?n({}):[Y("footer")]),v||k?(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-btns"},[v?(0,_vue.h)(_button.default,{size:"mini",disabled:""===h||_xeUtils.default.eqNull(h),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:pe}):(0,_ui.renderEmptyElement)(R),k?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:Ee}):(0,_ui.renderEmptyElement)(R)]):(0,_ui.renderEmptyElement)(R)])]),d?(0,_vue.h)("div",{class:"vxe-date-picker--layout-right-wrapper"},d({})):Y("right",!0)]),o?(0,_vue.h)("div",{class:"vxe-date-picker--layout-bottom-wrapper"},o({})):Y("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")),_button=_interopRequireDefault(require("../../button")),_buttonGroup=_interopRequireDefault(require("../../button-group"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("date-picker"),defaultMaskPlaceholder="_",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"},width:[Number,String],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,inputClassName:{type:String,default:()=>(0,_ui.getConfig)().datePicker.inputClassName},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,parseInputMethod:Function,editable:{type:Boolean,default:!0},festivalMethod:Function,disabledMethod:Function,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:T,emit:l}=e,i=(0,_vue.inject)("$xeModal",null),u=(0,_vue.inject)("$xeDrawer",null),n=(0,_vue.inject)("$xeTable",null),d=(0,_vue.inject)("$xeCard",null),r=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let W=(0,_ui.useSize)(w).computeSize,M=(0,_vue.reactive)(createReactData()),P=createInternalData(),V={parseInputMethod:(0,_ui.getConfig)().datePicker.parseInputMethod,festivalMethod:(0,_ui.getConfig)().datePicker.festivalMethod,disabledMethod:(0,_ui.getConfig)().datePicker.disabledMethod},U=(0,_vue.ref)(),I=(0,_vue.ref)(),H=(0,_vue.ref)(),Z=(0,_vue.ref)(),N=(0,_vue.ref)(),x={refElem:U,refInput:I},R={xID:t,props:w,context:e,reactData:M,internalData:P,getRefMaps:()=>x},J=(0,_vue.computed)(()=>{var e=w.transfer,t=L.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(n||i||u||d||r)return!0}return e}),F=(0,_vue.computed)(()=>{var e=w.readonly;return null===e?!!r&&r.props.readonly:e}),K=(0,_vue.computed)(()=>{var e=w.disabled;return null===e?!!r&&r.props.disabled:e}),y=(0,_vue.computed)(()=>{var e=w.type;return"time"===e}),A=(0,_vue.computed)(()=>{var e=w.type;return y.value||"datetime"===e}),b=(0,_vue.computed)(()=>A.value||-1<["date","week","month","quarter","year"].indexOf(w.type)),j=(0,_vue.computed)(()=>w.clearable),k=(0,_vue.computed)(()=>A.value||-1<["date","week","month","quarter","year"].indexOf(w.type)),E=(0,_vue.computed)(()=>{let{modelValue:e,type:t,multiple:a}=w;var l=k.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}):[]}),Q=(0,_vue.computed)(()=>{var e=w.width,t={};return e&&(t.width=(0,_dom.toCssUnit)(e)),t}),X=(0,_vue.computed)(()=>w.startDate?_xeUtils.default.toStringDate(w.startDate):null),ee=(0,_vue.computed)(()=>w.endDate?_xeUtils.default.toStringDate(w.endDate):null),D=(0,_vue.computed)(()=>w.multiple?_xeUtils.default.toNumber(w.limitCount):0),C=(0,_vue.computed)(()=>{var e=E.value;let t=p.value;return e.map(e=>_xeUtils.default.toDateString(e,t))}),S=(0,_vue.computed)(()=>{var e=w.multiple,t=D.value,a=C.value;return!(!e||!t)&&a.length>=t}),te=(0,_vue.computed)(()=>{var{type:e,editable:t,multiple:a}=w;return F.value||a||!t||"week"===e||"quarter"===e}),ae=(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")}),le=(0,_vue.computed)(()=>{var e=w.immediate;return e}),ie=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.timeConfig,w.timeConfig)),L=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.popupConfig,w.popupConfig)),O=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.shortcutConfig,w.shortcutConfig)),ue=(0,_vue.computed)(()=>{var e=O.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)}),B=(0,_vue.computed)(()=>g.value),_=(0,_vue.computed)(()=>{var e=w.startDay;return _xeUtils.default.toNumber(e)}),q=(0,_vue.computed)(()=>{let{type:t,multiple:e}=w;var a=M.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(", ")}),$=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.maskedConfig,w.maskedConfig)),z=(0,_vue.computed)(()=>{var e=$.value.maskPlaceholder;return(e?(""+e)[0]:"")||defaultMaskPlaceholder}),ne=()=>{var e=w.modelValue;let t="";e&&(t=_xeUtils.default.isNumber(e)&&/^[0-9]{11,15}$/.test(""+e)?new Date(e):e),M.inputValue=t},G=(e,t)=>{P.inputLabel=e,t&&M.labelFlag++},v=e=>{var t=M.inputValue;h(e.type,{value:t},e)},c=(e,t)=>{var a,{type:l,modelValue:i,valueFormat:u}=w,n=p.value;M.inputValue=e,(0,_util.hasTimestampValueType)(u)?(a=(a=(0,_util.parseDateValue)(e,l,{valueFormat:n}))?a.getTime():null,s(a),i!==a&&(h("change",{value:a},t),r)&&o&&r.triggerItemEvent(t,o.itemConfig.field,a)):(0,_util.hasDateValueType)(u)?(a=(0,_util.parseDateValue)(e,l,{valueFormat:n}),s(a),(i&&a?_xeUtils.default.toStringDate(i).getTime()!==a.getTime():i!==a)&&(h("change",{value:a},t),r)&&o&&r.triggerItemEvent(t,o.itemConfig.field,a)):(s(e),_xeUtils.default.toValueString(i)!==e&&(h("change",{value:e},t),r)&&o&&r.triggerItemEvent(t,o.itemConfig.field,e))},re=e=>{var t=e.target.value;G(t,!0),h("input",{value:t},e)},oe=e=>{le.value||v(e)},se=e=>{var t;K.value||(t=M.inputValue,h("prefix-click",{value:t},e))},f=()=>new Promise(e=>{M.visiblePanel=!1,P.hpTimeout=setTimeout(()=>{M.isAniVisible=!1,e()},350)}),de=(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=S.value;if(i){n=e?[]:[...E.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?[]:C.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"})},ve=()=>{var e=q.value;G(e,!0)},m=i=>{var{type:a,editable:l,multiple:e,maskedConfig:u}=w,n=P.inputLabel;let r=g.value;var o=$.value,s=X.value,d=ee.value,v=w.parseInputMethod||V.parseInputMethod;if(i){l&&!e&&((0,_utils.isEnableConf)(u)||o.enabled)&&(l=r.match(new RegExp(`(${inputMaskedKeys.join("|")})+`,"g")))&&l.forEach(t=>{var a=r.indexOf(t);if(-1<a){var l=i.slice(a,a+t.length).replace(/\D/g,"");if(l){let e=_xeUtils.default.toNumber(l);!e&&["MM","dd"].includes(t)&&(e=1),i=i.slice(0,a)+_xeUtils.default.padStart((0,_util.checkDateInputFormat)(e,t),t.length,"0")+i.slice(a+t.length)}}});let t;if(v)t=v({$datePicker:R,type:a,inputValue:i,valueFormat:r})||null;else{e=N.value;if(e)return e.checkValue(i);t=(0,_util.parseDateValue)(i,a,{valueFormat:r})}if(_xeUtils.default.isValidDate(t))if("time"===a)n!==(u=_xeUtils.default.toDateString(t,r))&&c(t,{type:"check"}),G(u,!0);else{d&&t>d&&(t=d),s&&t<s&&(t=s);let e=!1;o=_.value,v=("datetime"===a&&(l=M.inputValue,i===_xeUtils.default.toDateString(l,r))&&i===_xeUtils.default.toDateString(t,r)||(e=!0),_xeUtils.default.toDateString(t,r,{firstDay:o}));G(v,!0),e&&de(t)}else ve()}else c("",{type:"check"})},pe=(e,t)=>{b.value&&f(),c("",e),h("clear",{value:t},e)},ce=e=>{var t;K.value||(t=M.inputValue,h("suffix-click",{value:t},e))},fe=(e,t,a)=>{var l=$.value.align,i=z.value,u=_xeUtils.default.toNumber(e);let n=(0,_util.checkDateInputFormat)(u,t),r=""+(n=a&&!n&&["MM","dd"].includes(t)?1:n);return e.length>r.length&&(r=r.padStart(e.length,"0")),a?_xeUtils.default.padStart(r,t.length,"0"):_xeUtils.default["right"===l?"padStart":"padEnd"](r,t.length,i)},me=(e,a,l,i,u)=>{var{type:n,multiple:r}=w;if(!r){r=I.value;if(r){var o=r.value;if(o){var s=B.value,d=g.value,v=_.value,p=z.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)+fe(""+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,G(l,!1))):(r.value=a,G(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)),P.isTriggerMasked=!0)}}}},ge=n=>{var r=w.multiple;if(!r){var o=I.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=P.isTriggerMasked,p=$.value.align,c=B.value,f=z.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=fe(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,G(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(P.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,G(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,G(t,!1),o.setSelectionRange(0,m.length),void(P.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)),P.isTriggerMasked=!0):(o.setSelectionRange(a,l),P.isTriggerMasked=!1)}}}}}},_e=(t,i)=>{P.fsTimeout=void 0;var{type:u,multiple:n,modelValue:r}=w;if(!n&&maskedTypes.includes(u)){n=I.value;if(n){u=P.laseFocusMasked;if(!(u&&Date.now()-u<100)){u=B.value;let l=z.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,G(e,!1),n.setSelectionRange(0,i.length),void(P.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,G(a,!1),n.setSelectionRange(0,i.length),void(P.laseFocusMasked=Date.now())}let e=u[a];(e=parseInputKayMaps[e]?e:u[a-1])&&(t.stopPropagation(),s=u.match(new RegExp(e+"+")))&&(d=s[0]||"",r=(o=s.index||0)+d.length,n.setSelectionRange(o,r),P.isTriggerMasked=!0,P.laseFocusMasked=Date.now())}}}},he=e=>{var t,a=M.inputValue;le.value||c(a,e),M.visiblePanel||(t=P.inputLabel,M.isActivated=!1,m(t)),h("blur",{value:a},e),r&&o&&r.triggerItemEvent(e,o.itemConfig.field,a)},xe=e=>{var{multiple:t,editable:a,maskedConfig:l}=w,i=P.fsTimeout,u=$.value,n=L.value.trigger;M.isActivated=!0,i&&clearTimeout(i),n&&"default"!==n?"icon"===n&&f():Ne(e),a&&!t&&((0,_utils.isEnableConf)(l)||u.enabled)&&(P.fsTimeout=setTimeout(()=>{_e(e,!0)},20)),v(e)},ye=e=>{var{multiple:t,editable:a,maskedConfig:l}=w,i=P.fsTimeout,u=$.value;i&&clearTimeout(i),a&&!t&&((0,_utils.isEnableConf)(l)||u.enabled)&&(P.fsTimeout=setTimeout(()=>{_e(e)},10)),v(e)},be=e=>{var{type:t,editable:a,maskedConfig:l}=w,i=M.visiblePanel,u=$.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=P.inputLabel,i&&f(),m(a)):maskedTypes.includes(t)&&((0,_utils.isEnableConf)(l)||u.enabled)&&(u.isArrow&&(n||r||o||s)?me(e,n,r,o,s):u.isMasked&&ge(e))),v(e)},ke=e=>{v(e)},Ee=e=>{var t=N.value;t&&t.confirmByEvent(e),f()},De=e=>{var{multiple:t,autoClose:a}=w,{value:e,$event:l}=e,i=A.value;c(e,l),t||i||a&&f()},Ce=e=>{h("confirm",e,e.$event)},Se=e=>{G(e.label,!0)},we=e=>{var{visiblePanel:t,isActivated:a}=M,l=U.value,i=Z.value;!K.value&&a&&((l=(0,_dom.getEventTargetNode)(e,l).flag||(0,_dom.getEventTargetNode)(e,i).flag)!==a&&(M.isActivated=l),l||t&&(f(),e=P.inputLabel,m(e)))},Te=e=>{var t,{isActivated:a,visiblePanel:l}=M;K.value||(t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),t&&a&&(M.isActivated=!1),l&&(e||t)&&f())},Me=()=>{var{isActivated:e,visiblePanel:t}=M;t&&f(),e&&(M.isActivated=!1),(t||e)&&(m(P.inputLabel),t=I.value)&&t.blur()},Pe=()=>{var e=M.visiblePanel;e&&a()},Ve=()=>{var e=M.visiblePanel;e&&a()},Ue=()=>{var e=L.value.zIndex||w.zIndex;e?M.panelIndex=_xeUtils.default.toNumber(e):M.panelIndex<(0,_utils.getLastZIndex)()&&(M.panelIndex=(0,_utils.nextZIndex)())},a=()=>{let a=w.placement,l=M.panelIndex,i=I.value,u=H.value;if(!u)return(0,_vue.nextTick)();let n=J.value,r=L.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,u,{placement:r.placement||a,defaultPlacement:r.defaultPlacement,appendTo:r.appendTo,teleportTo:n}),t=Object.assign(e.style,{zIndex:l});M.panelStyle=t,M.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},Ie=()=>{var e=M.visiblePanel;return(K.value||e?(0,_vue.nextTick):(M.initialized||(M.initialized=!0),P.hpTimeout&&(clearTimeout(P.hpTimeout),P.hpTimeout=void 0),M.isActivated=!0,M.isAniVisible=!0,setTimeout(()=>{M.visiblePanel=!0,a()},10),Ue(),a))()},Ne=e=>{F.value||(e.preventDefault(),Ie())},Re=e=>{var t=M.visiblePanel,a=L.value.trigger;a&&"default"!==a&&"icon"!==a||(t?f():Ne(e))},Fe=({option:e,$event:t})=>{var a=w.type,l=M.inputValue,i=O.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,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)=>{l(e,(0,_ui.createEvent)(a,{$datePicker:R},t))},s=e=>{l("update:modelValue",e)};t={dispatchEvent:h,setModelValue(e){M.inputValue=e,s(e)},setModelValueByEvent(e,t){c(t||"",e)},focus(){var e=I.value;return M.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return I.value.blur(),(M.isActivated=!1,_vue.nextTick)()},select(){return I.value.select(),(M.isActivated=!1,_vue.nextTick)()},showPanel:Ie,hidePanel:f,updatePlacement:a};Object.assign(R,t);let Y=(e,t)=>{var a=O.value,{position:l,align:i,mode:u}=a,n=ue.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:Fe})]):(0,_ui.renderEmptyElement)(R)},Ke=()=>(0,_vue.h)("div",{class:"vxe-date-picker--control-icon",onClick:Re},[(0,_vue.h)("i",{class:["vxe-date-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(q,e=>{G(e,!0)}),(0,_vue.watch)(()=>w.modelValue,()=>{ne()}),ne(),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(R,"mousedown",we),_ui.globalEvents.on(R,"keydown",Te),_ui.globalEvents.on(R,"blur",Me),_ui.globalEvents.on(R,"resize",Pe),_ui.globalEvents.on(R,"scroll",Ve)}),(0,_vue.onMounted)(()=>{var{type:e,multiple:t,maskedConfig:a}=w;(0,_utils.isEnableConf)(a)&&(t&&errLog("vxe.error.notSupportProp",["multiple","masked-config.enabled=true","masked-config.enabled=false"]),maskedTypes.includes(e)||warnLog("vxe.error.notSupportProp",["masked-config.enabled=true","type="+e,"type="+maskedTypes.join("|")]))}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(R,"mousedown"),_ui.globalEvents.off(R,"keydown"),_ui.globalEvents.off(R,"blur"),_ui.globalEvents.off(R,"resize"),_ui.globalEvents.off(R,"scroll"),_xeUtils.default.assign(M,createReactData()),_xeUtils.default.assign(P,createInternalData())}),(0,_vue.provide)("$xeDatePicker",R),R.renderVN=()=>{var e,t,a,l,i,u,n,r,o,s,d,v,p,{className:c,inputClassName:f,type:m,name:g,autoComplete:_}=w,{inputValue:h,visiblePanel:x,isActivated:y,labelFlag:b}=M,k=P.inputLabel,E=W.value,D=K.value,C=F.value,S=q.value;return C?(0,_vue.h)("div",{ref:U,class:["vxe-date-picker--readonly","type--"+m,c]},S):(C=Q.value,S=te.value,i=ae.value,a=j.value,t=w.prefixIcon,l=(l=T.prefix)||t?(0,_vue.h)("div",{class:"vxe-date-picker--prefix",onClick:se},[(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=M.inputValue,v=T.suffix,u=K.value,e=j.value,u=(0,_vue.h)("div",{class:["vxe-date-picker--suffix",{"is--clear":e&&!u&&!(""===p||_xeUtils.default.eqNull(p))}]},[e?(0,_vue.h)("div",{class:"vxe-date-picker--clear-icon",onClick:pe},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(R),Ke(),v||t?(0,_vue.h)("div",{class:"vxe-date-picker--suffix-icon",onClick:ce},v?(0,_vn.getSlotVNs)(v({})):[(0,_vue.h)("i",{class:t})]):(0,_ui.renderEmptyElement)(R)]),(0,_vue.h)("div",{ref:U,class:["vxe-date-picker","type--"+m,c,{["size--"+E]:E,"is--prefix":!!l,"is--suffix":!!u,"is--visible":x,"is--disabled":D,"is--active":y,"show--clear":a&&!D&&!(""===h||_xeUtils.default.eqNull(h))}],style:C,spellcheck:!1},[l||(0,_ui.renderEmptyElement)(R),(0,_vue.h)("div",{class:"vxe-date-picker--wrapper"},[(0,_vue.h)("input",{ref:I,class:"vxe-date-picker--inner"+(f?" "+f:""),value:b?k:"",name:g,type:"text",placeholder:i,readonly:S,disabled:D,autocomplete:_,onKeydown:be,onKeyup:ke,onClick:ye,onInput:re,onChange:oe,onFocus:xe,onBlur:he})]),u||(0,_ui.renderEmptyElement)(R),!1===(p=L.value).enabled?(0,_ui.renderEmptyElement)(R):({type:e,multiple:v,showClearButton:t,showConfirmButton:m}=w,{initialized:c,isAniVisible:E,visiblePanel:x,panelPlacement:y,panelStyle:a,inputValue:h}=M,C=W.value,l=J.value,f=O.value,b=j.value,k=A.value,g=ue.value,i=ie.value,S=X.value,D=ee.value,_=p.appendTo,f=f.position,u=T.header,n=T.footer,r=T.top,o=T.bottom,s=T.left,d=T.right,p=p.className,g=0<g.length,k=null===m?k||v:m,v=null===t?b&&k&&"time"!==e:t,(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(_),disabled:!l||!c},[(0,_vue.h)("div",{ref:H,class:["vxe-table--ignore-clear vxe-date-picker--panel","type--"+e,p?_xeUtils.default.isFunction(p)?p({$datePicker:R}):p:"",{["size--"+C]:C,"is--transfer":l,"ani--leave":E,"ani--enter":x,"show--top":!!(r||u||g&&("top"===f||"header"===f)),"show--bottom":!!(o||n||g&&("bottom"===f||"footer"===f)),"show--left":!!(s||g&&"left"===f),"show--right":!!(d||g&&"right"===f)}],placement:y,style:a},c&&(x||E)?[(0,_vue.h)("div",{ref:Z,class:["vxe-date-picker--layout-all-wrapper","type--"+e,{["size--"+C]:C}]},[r?(0,_vue.h)("div",{class:"vxe-date-picker--layout-top-wrapper"},r({})):Y("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({})):Y("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({})):Y("header"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:N,modelValue:M.inputValue,type:w.type,className:w.className,multiple:w.multiple,limitCount:w.limitCount,startDate:S,endDate:D,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:i,festivalMethod:w.festivalMethod||V.festivalMethod,disabledMethod:w.disabledMethod||V.disabledMethod,selectDay:w.selectDay,onChange:De,onConfirm:Ce,onRevert:Se})]),(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-custom"},n?n({}):[Y("footer")]),v||k?(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-btns"},[v?(0,_vue.h)(_button.default,{size:"mini",disabled:""===h||_xeUtils.default.eqNull(h),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:pe}):(0,_ui.renderEmptyElement)(R),k?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:Ee}):(0,_ui.renderEmptyElement)(R)]):(0,_ui.renderEmptyElement)(R)])]),d?(0,_vue.h)("div",{class:"vxe-date-picker--layout-right-wrapper"},d({})):Y("right",!0)]),o?(0,_vue.h)("div",{class:"vxe-date-picker--layout-bottom-wrapper"},o({})):Y("bottom")])]:[])]))]))},R},render(){return this.renderVN()}});
@@ -1141,6 +1141,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1141
1141
  const ppObj = (0, _dom.updatePanelPlacement)(targetElem, panelElem, {
1142
1142
  placement: popupOpts.placement || placement,
1143
1143
  defaultPlacement: popupOpts.defaultPlacement,
1144
+ appendTo: popupOpts.appendTo,
1144
1145
  teleportTo: btnTransfer
1145
1146
  });
1146
1147
  const panelStyle = Object.assign(ppObj.style, {