vxe-pc-ui 4.17.1 → 4.17.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/all.esm.js +265 -144
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/icon/style.css +1 -1
  5. package/es/input/src/input.js +73 -49
  6. package/es/number-input/src/number-input.js +28 -24
  7. package/es/password-input/src/password-input.js +128 -61
  8. package/es/password-input/style.css +5 -0
  9. package/es/password-input/style.min.css +1 -1
  10. package/es/style.css +1 -1
  11. package/es/style.min.css +1 -1
  12. package/es/textarea/src/textarea.js +37 -11
  13. package/es/ui/index.js +1 -1
  14. package/es/ui/src/log.js +1 -1
  15. package/es/vxe-password-input/style.css +5 -0
  16. package/es/vxe-password-input/style.min.css +1 -1
  17. package/lib/icon/style/style.css +1 -1
  18. package/lib/icon/style/style.min.css +1 -1
  19. package/lib/index.umd.js +287 -164
  20. package/lib/index.umd.min.js +1 -1
  21. package/lib/input/src/input.js +77 -52
  22. package/lib/input/src/input.min.js +1 -1
  23. package/lib/number-input/src/number-input.js +31 -26
  24. package/lib/number-input/src/number-input.min.js +1 -1
  25. package/lib/password-input/src/password-input.js +134 -70
  26. package/lib/password-input/src/password-input.min.js +1 -1
  27. package/lib/password-input/style/style.css +5 -0
  28. package/lib/password-input/style/style.min.css +1 -1
  29. package/lib/style.css +1 -1
  30. package/lib/style.min.css +1 -1
  31. package/lib/textarea/src/textarea.js +40 -12
  32. package/lib/textarea/src/textarea.min.js +1 -1
  33. package/lib/ui/index.js +1 -1
  34. package/lib/ui/index.min.js +1 -1
  35. package/lib/ui/src/log.js +1 -1
  36. package/lib/ui/src/log.min.js +1 -1
  37. package/lib/vxe-password-input/style/style.css +5 -0
  38. package/lib/vxe-password-input/style/style.min.css +1 -1
  39. package/package.json +1 -1
  40. package/packages/input/src/input.ts +79 -54
  41. package/packages/number-input/src/number-input.ts +29 -26
  42. package/packages/password-input/src/password-input.ts +140 -68
  43. package/packages/textarea/src/textarea.ts +43 -15
  44. package/styles/components/password-input.scss +4 -0
  45. package/types/components/password-input.d.ts +2 -0
  46. /package/es/icon/{iconfont.1786796113388.ttf → iconfont.1786868252000.ttf} +0 -0
  47. /package/es/icon/{iconfont.1786796113388.woff → iconfont.1786868252000.woff} +0 -0
  48. /package/es/icon/{iconfont.1786796113388.woff2 → iconfont.1786868252000.woff2} +0 -0
  49. /package/es/{iconfont.1786796113388.ttf → iconfont.1786868252000.ttf} +0 -0
  50. /package/es/{iconfont.1786796113388.woff → iconfont.1786868252000.woff} +0 -0
  51. /package/es/{iconfont.1786796113388.woff2 → iconfont.1786868252000.woff2} +0 -0
  52. /package/lib/icon/style/{iconfont.1786796113388.ttf → iconfont.1786868252000.ttf} +0 -0
  53. /package/lib/icon/style/{iconfont.1786796113388.woff → iconfont.1786868252000.woff} +0 -0
  54. /package/lib/icon/style/{iconfont.1786796113388.woff2 → iconfont.1786868252000.woff2} +0 -0
  55. /package/lib/{iconfont.1786796113388.ttf → iconfont.1786868252000.ttf} +0 -0
  56. /package/lib/{iconfont.1786796113388.woff → iconfont.1786868252000.woff} +0 -0
  57. /package/lib/{iconfont.1786796113388.woff2 → iconfont.1786868252000.woff2} +0 -0
@@ -335,6 +335,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
335
335
  }
336
336
  return false;
337
337
  });
338
+ const computeInpClassNamevalue = (0, _vue.computed)(() => {
339
+ const {
340
+ inputClassName
341
+ } = props;
342
+ return 'vxe-number-input--input' + (inputClassName ? ' ' + inputClassName : '');
343
+ });
338
344
  const refMaps = {
339
345
  refElem,
340
346
  refInput: refInputTarget
@@ -351,7 +357,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
351
357
  getRefMaps: () => refMaps,
352
358
  getComputeMaps: () => computeMaps
353
359
  };
354
- let numberInputMethods = {};
360
+ const dispatchEvent = (type, params, evnt) => {
361
+ emit(type, (0, _ui.createEvent)(evnt, {
362
+ $numberInput: $xeNumberInput
363
+ }, params));
364
+ };
355
365
  const handleNumberString = val => {
356
366
  if (_xeUtils.default.eqNull(val)) {
357
367
  return '';
@@ -386,7 +396,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
386
396
  const {
387
397
  inputValue
388
398
  } = reactData;
389
- numberInputMethods.dispatchEvent(evnt.type, {
399
+ dispatchEvent(evnt.type, {
390
400
  value: inputValue
391
401
  }, evnt);
392
402
  };
@@ -402,11 +412,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
402
412
  reactData.inputValue = inputValue || '';
403
413
  });
404
414
  }
405
- numberInputMethods.dispatchEvent('input', {
415
+ dispatchEvent('input', {
406
416
  value
407
417
  }, evnt);
408
418
  if (isChange) {
409
- numberInputMethods.dispatchEvent('change', {
419
+ dispatchEvent('change', {
410
420
  value
411
421
  }, evnt);
412
422
  // 自动更新校验状态
@@ -422,7 +432,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
422
432
  if (inpImmediate) {
423
433
  handleChange(value, inputValue, evnt);
424
434
  } else {
425
- numberInputMethods.dispatchEvent('input', {
435
+ dispatchEvent('input', {
426
436
  value
427
437
  }, evnt);
428
438
  // 自动更新校验状态
@@ -441,7 +451,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
441
451
  if (!inpImmediate) {
442
452
  triggerEvent(evnt);
443
453
  }
444
- $xeNumberInput.dispatchEvent('lazy-change', {
454
+ dispatchEvent('lazy-change', {
445
455
  value: reactData.inputValue
446
456
  }, evnt);
447
457
  };
@@ -463,7 +473,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
463
473
  const {
464
474
  inputValue
465
475
  } = reactData;
466
- numberInputMethods.dispatchEvent('prefix-click', {
476
+ dispatchEvent('prefix-click', {
467
477
  value: inputValue
468
478
  }, evnt);
469
479
  }
@@ -471,10 +481,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
471
481
  const clearValueEvent = (evnt, value) => {
472
482
  focus();
473
483
  handleChange(null, '', evnt);
474
- numberInputMethods.dispatchEvent('clear', {
484
+ dispatchEvent('clear', {
475
485
  value
476
486
  }, evnt);
477
- $xeNumberInput.dispatchEvent('lazy-change', {
487
+ dispatchEvent('lazy-change', {
478
488
  value
479
489
  }, evnt);
480
490
  };
@@ -484,7 +494,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
484
494
  const {
485
495
  inputValue
486
496
  } = reactData;
487
- numberInputMethods.dispatchEvent('suffix-click', {
497
+ dispatchEvent('suffix-click', {
488
498
  value: inputValue
489
499
  }, evnt);
490
500
  }
@@ -612,7 +622,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
612
622
  afterCheckValue();
613
623
  reactData.isFocus = false;
614
624
  reactData.isActivated = false;
615
- numberInputMethods.dispatchEvent('blur', {
625
+ dispatchEvent('blur', {
616
626
  value
617
627
  }, evnt);
618
628
  // 自动更新校验状态
@@ -651,14 +661,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
651
661
  numberChange(true, evnt);
652
662
  }
653
663
  reactData.isActivated = true;
654
- numberInputMethods.dispatchEvent('plus-number', {
664
+ dispatchEvent('plus-number', {
655
665
  value: reactData.inputValue
656
666
  }, evnt);
657
- $xeNumberInput.dispatchEvent('lazy-change', {
667
+ dispatchEvent('lazy-change', {
658
668
  value: reactData.inputValue
659
669
  }, evnt);
660
670
  // 已废弃
661
- numberInputMethods.dispatchEvent('next-number', {
671
+ dispatchEvent('next-number', {
662
672
  value: reactData.inputValue
663
673
  }, evnt);
664
674
  };
@@ -670,14 +680,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
670
680
  numberChange(false, evnt);
671
681
  }
672
682
  reactData.isActivated = true;
673
- numberInputMethods.dispatchEvent('minus-number', {
683
+ dispatchEvent('minus-number', {
674
684
  value: reactData.inputValue
675
685
  }, evnt);
676
- $xeNumberInput.dispatchEvent('lazy-change', {
686
+ dispatchEvent('lazy-change', {
677
687
  value: reactData.inputValue
678
688
  }, evnt);
679
689
  // 已废弃
680
- numberInputMethods.dispatchEvent('prev-number', {
690
+ dispatchEvent('prev-number', {
681
691
  value: reactData.inputValue
682
692
  }, evnt);
683
693
  };
@@ -881,12 +891,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
881
891
  afterCheckValue();
882
892
  }
883
893
  };
884
- const dispatchEvent = (type, params, evnt) => {
885
- emit(type, (0, _ui.createEvent)(evnt, {
886
- $numberInput: $xeNumberInput
887
- }, params));
888
- };
889
- numberInputMethods = {
894
+ const numberInputMethods = {
890
895
  dispatchEvent,
891
896
  focus() {
892
897
  const inputReadonly = computeInputReadonly.value;
@@ -963,7 +968,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
963
968
  };
964
969
  const renderInput = () => {
965
970
  const {
966
- inputClassName,
967
971
  type,
968
972
  name,
969
973
  autocomplete,
@@ -978,6 +982,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
978
982
  const inputReadonly = computeInputReadonly.value;
979
983
  const inpMaxLength = computeInpMaxLength.value;
980
984
  const inpPlaceholder = computeInpPlaceholder.value;
985
+ const inpClassName = computeInpClassNamevalue.value;
981
986
  return (0, _vue.h)('div', {
982
987
  key: 'ni',
983
988
  class: 'vxe-number-input--input-wrapper'
@@ -985,10 +990,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
985
990
  class: 'vxe-number-input--input-inner'
986
991
  }, [(0, _vue.h)('input', {
987
992
  ref: refInputTarget,
988
- class: 'vxe-number-input--input' + (inputClassName ? ' ' + inputClassName : ''),
989
- value: !isFocus && type === 'amount' ? numLabel : inputValue,
993
+ class: inpClassName,
990
994
  name,
991
995
  type: 'text',
996
+ value: !isFocus && type === 'amount' ? numLabel : inputValue,
992
997
  placeholder: inpPlaceholder,
993
998
  maxlength: inpMaxLength,
994
999
  readonly: inputReadonly,
@@ -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("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeNumberInput",props:{modelValue:[String,Number],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"number"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,maxLength:{type:[String,Number],default:()=>(0,_ui.getConfig)().numberInput.maxLength},autoComplete:{type:String,default:"off"},align:String,form:String,className:String,inputClassName:{type:String,default:()=>(0,_ui.getConfig)().numberInput.inputClassName},size:{type:String,default:()=>(0,_ui.getConfig)().numberInput.size||(0,_ui.getConfig)().size},min:{type:[String,Number],default:null},max:{type:[String,Number],default:null},step:[String,Number],exponential:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.exponential},showCurrency:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.showCurrency},currencySymbol:{type:String,default:()=>(0,_ui.getConfig)().numberInput.currencySymbol},controlConfig:Object,roundingMode:{type:String,default:()=>(0,_ui.getConfig)().numberInput.roundingMode},digits:{type:[String,Number],default:null},autoFill:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.autoFill},editable:{type:Boolean,default:!0},plusIcon:String,minusIcon:String,prefixIcon:String,prefixConfig:Object,suffixIcon:String,suffixConfig:Object,controls:{type:Boolean,default:null},maxlength:[String,Number],autocomplete:String},emits:["update:modelValue","input","change","keydown","keyup","wheel","click","focus","blur","clear","lazy-change","plus-number","minus-number","prefix-click","suffix-click","prev-number","next-number"],setup(g,e){let{slots:b,emit:i}=e,n=(0,_vue.inject)("$xeForm",null),a=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let q=(0,_ui.useSize)(g).computeSize,x=(0,_vue.reactive)({isFocus:!1,isActivated:!1,inputValue:""}),r={},y=(0,_vue.ref)(),d=(0,_vue.ref)(),F=(0,_vue.ref)(),E=(0,_vue.computed)(()=>{var e=g.readonly;return null===e?!!n&&n.props.readonly:e}),h=(0,_vue.computed)(()=>{var e=g.disabled;return null===e?!!n&&n.props.disabled:e}),o=(0,_vue.computed)(()=>{var{type:e,digits:t}=g;let u=t;return null===u&&null===(u=(0,_ui.getConfig)().numberInput.digits)&&"amount"===e&&(u=2),_xeUtils.default.toInteger(u)||1}),N=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().numberInput.controlConfig,g.controlConfig)),K=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().numberInput.prefixConfig,g.prefixConfig)),R=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().numberInput.suffixConfig,g.suffixConfig)),s=(0,_vue.computed)(()=>{var e=g.type;return"float"===e||"amount"===e}),D=(0,_vue.computed)(()=>{var e=g.type,t=o.value,u=s.value,l=g.step;return"integer"===e?_xeUtils.default.toInteger(l)||1:u?_xeUtils.default.toNumber(l)||1/Math.pow(10,t):_xeUtils.default.toNumber(l)||1}),V=(0,_vue.computed)(()=>g.clearable),C=(0,_vue.computed)(()=>{var e=g.editable;return E.value||!e}),j=(0,_vue.computed)(()=>{var e=g.placeholder;return(e=e||(0,_ui.getConfig)().numberInput.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseInput")}),m=(0,_vue.computed)(()=>{var{type:e,maxLength:t,maxlength:u,min:l,max:i}=g,n=o.value;return(0,_utils.eqEmptyValue)(l)||(0,_utils.eqEmptyValue)(i)?t||u?_xeUtils.default.toNumber(t||u):16:(""+i).length+("integer"===e?0:n+1)+(0<=_xeUtils.default.toNumber(l)?0:1)}),v=(0,_vue.computed)(()=>{var e=g.immediate;return e}),l=(0,_vue.computed)(()=>{var e=g.type,t=x.inputValue;return"integer"===e?_xeUtils.default.toInteger((0,_util.handleNumber)(t)):_xeUtils.default.toNumber((0,_util.handleNumber)(t))}),I=(0,_vue.computed)(()=>{var{type:t,roundingMode:u,showCurrency:l,currencySymbol:i,autoFill:n}=g,a=x.inputValue,r=o.value;if("amount"!==t)return _xeUtils.default.toString(a);{var t=_xeUtils.default.toNumber(a),a={digits:r};"floor"===u?a.floor=!0:"ceil"===u?a.ceil=!0:a.round=!0;let e=_xeUtils.default.commafy(t,a);return n||([r,u]=e.split("."),u&&(t=u.replace(/0+$/,""),e=t?[r,".",t].join(""):r)),l?""+(i||(0,_ui.getI18n)("vxe.numberInput.currencySymbol")||"")+e:e}}),p=(0,_vue.computed)(()=>{var e=g.min,t=x.inputValue,u=l.value;return!(!t&&0!==t||null===e)&&u<=_xeUtils.default.toNumber(e)}),c=(0,_vue.computed)(()=>{var e=g.max,t=x.inputValue,u=l.value;return!(!t&&0!==t||null===e)&&u>=_xeUtils.default.toNumber(e)}),z={refElem:y,refInput:d},P={computeControlOpts:N},_={xID:t,props:g,context:e,reactData:x,internalData:r,getRefMaps:()=>z,getComputeMaps:()=>P},f={},U=e=>_xeUtils.default.eqNull(e)?"":""+e,S=e=>{var{type:t,exponential:u,roundingMode:l,autoFill:i}=g,n=m.value,a=o.value;let r="";return s.value?(r=(0,_util.toFloatValueFixed)(e,t,a,l),i||(r=U(_xeUtils.default.toNumber(r)))):r=U(e),!u||e!==r&&U(e).toLowerCase()!==_xeUtils.default.toNumber(r).toExponential()?r.slice(0,n):e},A=e=>{var t=x.inputValue;f.dispatchEvent(e.type,{value:t},e)},T=(e,t,u)=>{var e=(0,_utils.eqEmptyValue)(e)?null:Number(e),l=e!==g.modelValue;l&&(r.isUM=!0,i("update:modelValue",e)),x.inputValue!==t&&(0,_vue.nextTick)(()=>{x.inputValue=t||""}),f.dispatchEvent("input",{value:e},u),l&&(f.dispatchEvent("change",{value:e},u),n)&&a&&n.triggerItemEvent(u,a.itemConfig.field,e)},M=(e,t)=>{var u=v.value,l=(0,_utils.eqEmptyValue)(e)?null:_xeUtils.default.toNumber(e);x.inputValue=e,u?T(l,e,t):(f.dispatchEvent("input",{value:l},t),n&&a&&n.triggerItemEvent(t,a.itemConfig.field,l))},Y=e=>{var t=e.target.value;M(t,e)},G=e=>{v.value||A(e),_.dispatchEvent("lazy-change",{value:x.inputValue},e)},W=e=>{var t;C.value||(t=x.inputValue,x.inputValue=(0,_utils.eqEmptyValue)(t)?"":""+_xeUtils.default.toNumber(t),x.isFocus=!0,x.isActivated=!0,A(e))},$=e=>{var t;h.value||(t=x.inputValue,f.dispatchEvent("prefix-click",{value:t},e))},k=(e,t)=>{focus(),T(null,"",e),f.dispatchEvent("clear",{value:t},e),_.dispatchEvent("lazy-change",{value:t},e)},H=e=>{var t;h.value||(t=x.inputValue,f.dispatchEvent("suffix-click",{value:t},e))},J=t=>{var{type:u,roundingMode:l,autoFill:i}=g,n=x.inputValue,a=o.value,r=s.value;if((0,_utils.eqEmptyValue)(t))x.inputValue="";else{let e=""+t;r&&(e=(0,_util.toFloatValueFixed)(t,u,a,l),i||(e=""+_xeUtils.default.toNumber(e))),e!==n&&(x.inputValue=e)}},Q=()=>{var{type:u,roundingMode:l,autoFill:i}=g,n=x.inputValue,a=o.value,e=s.value;if(e&&n){let e="",t=null;n&&(e=(0,_util.toFloatValueFixed)(n,u,a,l),t=_xeUtils.default.toNumber(e),i||(e=""+t)),n!==t?T(t,e,{type:"init"}):x.inputValue=e}},X=e=>null===g.max||""===g.max||_xeUtils.default.toNumber(e)<=_xeUtils.default.toNumber(g.max),Z=e=>null===g.min||""===g.min||_xeUtils.default.toNumber(e)>=_xeUtils.default.toNumber(g.min),w=()=>{var{type:t,min:u,max:l,exponential:i}=g,n=x.inputValue;if(!C.value)if((0,_utils.eqEmptyValue)(n)){let e=null,t=n;!u&&0!==u||(e=_xeUtils.default.toNumber(u),t=""+e),void T(e,""+(t||""),{type:"check"})}else if(n||u||l){let e="integer"===t?_xeUtils.default.toInteger((0,_util.handleNumber)(n)):_xeUtils.default.toNumber((0,_util.handleNumber)(n));Z(e)?X(e)||(e=l):e=u,i&&(t=U(n).toLowerCase())===_xeUtils.default.toNumber(e).toExponential()&&(e=t);l=S(e);T((0,_utils.eqEmptyValue)(l)?null:Number(l),l,{type:"check"})}},ee=e=>{var t=x.inputValue,u=v.value,l=t?Number(t):null;u||T(l,U(t),e),w(),x.isFocus=!1,x.isActivated=!1,f.dispatchEvent("blur",{value:l},e),n&&a&&n.triggerItemEvent(e,a.itemConfig.field,l)},te=(e,t)=>{var{min:u,max:l,type:i}=g,n=x.inputValue,a=D.value,i="integer"===i?_xeUtils.default.toInteger((0,_util.handleNumber)(n)):_xeUtils.default.toNumber((0,_util.handleNumber)(n)),n=e?_xeUtils.default.add(i,a):_xeUtils.default.subtract(i,a);let r;r=Z(n)?X(n)?n:l:u,M(S(r),t)},L=e=>{var t=h.value,u=E.value,l=c.value;t||u||l||te(!0,e),x.isActivated=!0,f.dispatchEvent("plus-number",{value:x.inputValue},e),_.dispatchEvent("lazy-change",{value:x.inputValue},e),f.dispatchEvent("next-number",{value:x.inputValue},e)},B=e=>{var t=h.value,u=E.value,l=p.value;t||u||l||te(!1,e),x.isActivated=!0,f.dispatchEvent("minus-number",{value:x.inputValue},e),_.dispatchEvent("lazy-change",{value:x.inputValue},e),f.dispatchEvent("prev-number",{value:x.inputValue},e)},ue=e=>{var t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),u=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);(t||u)&&(e.preventDefault(),(t?L:B)(e))},le=e=>{var{type:t,exponential:u,controls:l}=g,i=N.value,n=i.isArrow,a=C.value,r=(0,_dom.hasControlKey)(e),o=e.shiftKey,s=e.altKey,v=e.keyCode,p=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),d=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),m=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);r||o||s||(_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.SPACEBAR)||"integer"===t&&110===v||(!u||69!==v)&&65<=v&&v<=90||186<=v&&v<=188||191<=v)&&e.preventDefault(),p?w():(d||m)&&(0,_utils.isEnableConf)(i)&&(!1===l?l:n)&&!a&&ue(e),A(e)},ie=e=>{A(e)},ne=()=>{var e=r.dnTimeout;e&&(clearTimeout(e),r.dnTimeout=void 0)},ae=()=>{var e=r.ainTimeout;e&&(clearTimeout(e),r.ainTimeout=void 0)},re=e=>{u(),r.ainTimeout=setTimeout(()=>{B(e),re(e)},60)},oe=e=>{u(),r.ainTimeout=setTimeout(()=>{L(e),oe(e)},60)},u=()=>{ne(),ae()},se=e=>{r.isMouseDown?r.isMouseDown=!1:(u(),((0,_dom.hasClass)(e.currentTarget,"is--plus")?L:B)(e))},ve=t=>{if(u(),r.isMouseDown=!0,0===t.button){let e=(0,_dom.hasClass)(t.currentTarget,"is--plus");(e?L:B)(t),r.dnTimeout=setTimeout(()=>{(e?oe:re)(t)},500)}},pe=e=>{var t=g.controls,u=N.value,l=u.isWheel,i=C.value;(0,_utils.isEnableConf)(u)&&(!1===t?t:l)&&!i&&x.isActivated&&(e.stopPropagation(),e.preventDefault(),0<(u=e.deltaY)?B(e):u<0&&L(e)),A(e)},de=e=>{A(e)},me=e=>{var t=x.isActivated,u=y.value,l=F.value,i=h.value,n=C.value,a=v.value;i||n||!t||(x.isActivated=(0,_dom.getEventTargetNode)(e,u).flag||(0,_dom.getEventTargetNode)(e,l).flag,x.isActivated)||(a||(i=x.inputValue,n=i?Number(i):null,T(n,U(i),e)),w())},ce=t=>{var u=g.clearable,l=h.value,i=C.value;if(!l&&!i){l=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.TAB),i=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.DELETE);let e=x.isActivated;l&&(e&&w(),e=!1,x.isActivated=e),i&&u&&e&&k(t,null)}},_e=()=>{var e=x.isActivated;e&&w()};f={dispatchEvent:(e,t,u)=>{i(e,(0,_ui.createEvent)(u,{$numberInput:_},t))},focus(){var e;return C.value||(e=d.value,x.isActivated=!0,e.focus()),(0,_vue.nextTick)()},blur(){return d.value.blur(),(x.isActivated=!1,_vue.nextTick)()},select(){return d.value.select(),(x.isActivated=!1,_vue.nextTick)()}},Object.assign(_,f);let fe=()=>{var e=g.prefixIcon,t=K.value,u=b.prefix,e=e||t.icon,t=t.content;return u||e||t?(0,_vue.h)("div",{class:"vxe-number-input--prefix",onClick:$},[(0,_vue.h)("div",{class:"vxe-number-input--prefix-icon"},u?(0,_vn.getSlotVNs)(u({})):[e?(0,_vue.h)("i",{class:e}):(0,_ui.renderEmptyElement)(_),t?(0,_vue.h)("span",{class:"vxe-prefix-input--suffix-text"},""+t):(0,_ui.renderEmptyElement)(_)])]):(0,_ui.renderEmptyElement)(_)},ge=()=>{var e=g.suffixIcon,t=x.inputValue,u=b.suffix,l=R.value,i=h.value,n=V.value,e=e||l.icon,l=l.content;return(0,_vue.h)("div",{class:["vxe-number-input--suffix",{"is--clear":n&&!i&&!(""===t||_xeUtils.default.eqNull(t))}]},[n?(0,_vue.h)("div",{class:"vxe-number-input--clear-icon",onClick:k},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(_),u||e||l?(0,_vue.h)("div",{class:"vxe-number-input--suffix-icon",onClick:H},u?(0,_vn.getSlotVNs)(u({})):[e?(0,_vue.h)("i",{class:e}):(0,_ui.renderEmptyElement)(_),l?(0,_vue.h)("span",{class:"vxe-number-input--suffix-text"},""+l):(0,_ui.renderEmptyElement)(_)]):(0,_ui.renderEmptyElement)(_)])},O=()=>{var{inputClassName:e,type:t,name:u,autocomplete:l,autoComplete:i}=g,{inputValue:n,isFocus:a}=x,r=h.value,o=I.value,s=C.value,v=m.value,p=j.value;return(0,_vue.h)("div",{key:"ni",class:"vxe-number-input--input-wrapper"},[fe(),(0,_vue.h)("div",{class:"vxe-number-input--input-inner"},[(0,_vue.h)("input",{ref:d,class:"vxe-number-input--input"+(e?" "+e:""),value:a||"amount"!==t?n:o,name:u,type:"text",placeholder:p,maxlength:v,readonly:s,disabled:r,autocomplete:i||l,onKeydown:le,onKeyup:ie,onClick:de,onInput:Y,onChange:G,onFocus:W,onBlur:ee})]),ge()])},be=()=>{var e=g.minusIcon,t=p.value;return(0,_vue.h)("button",{key:"prev",class:["vxe-number-input--minus-btn is--minus",{"is--disabled":t}],type:"button",onClick:se,onMousedown:ve,onMouseup:u,onMouseleave:u},[(0,_vue.h)("i",{class:e||(0,_ui.getIcon)().NUMBER_INPUT_MINUS_NUM})])},xe=()=>{var e=g.plusIcon,t=c.value;return(0,_vue.h)("button",{key:"next",class:["vxe-number-input--plus-btn is--plus",{"is--disabled":t}],type:"button",onClick:se,onMousedown:ve,onMouseup:u,onMouseleave:u},[(0,_vue.h)("i",{class:e||(0,_ui.getIcon)().NUMBER_INPUT_PLUS_NUM})])},ye=()=>(0,_vue.h)("div",{key:"cplr",class:"vxe-number-input--side-control"},[xe(),be()]);return _.renderVN=()=>{var{className:e,controls:t,type:u,align:l,prefixIcon:i,suffixIcon:n}=g,{inputValue:a,isActivated:r}=x,o=q.value,s=N.value,{layout:v,showButton:p}=s,d=h.value,m=E.value,c=I.value,_=b.prefix,f=b.suffix;return m?(0,_vue.h)("div",{ref:y,class:["vxe-number-input--readonly","type--"+u,e]},c):(m=C.value,c=V.value,s=(0,_utils.isEnableConf)(s)&&(!1===t?t:p),(0,_vue.h)("div",{ref:y,class:["vxe-number-input","type--"+u,"ctl--"+("right"===v||"left"===v?v:"default"),e,{["size--"+o]:o,["is--"+l]:l,"is--controls":s&&!m,"is--prefix":!!_||i,"is--suffix":!!f||n,"is--disabled":d,"is--active":r,"show--clear":c&&!d&&!(""===a||_xeUtils.default.eqNull(a))}],spellcheck:!1},s?"right"===v?[O(),ye()]:"left"===v?[ye(),O()]:[be(),O(),xe()]:[O()]))},(0,_vue.watch)(()=>g.modelValue,e=>{r.isUM||J(e),r.isUM=!1}),(0,_vue.watch)(()=>g.type,()=>{Object.assign(x,{inputValue:g.modelValue}),Q()}),(0,_vue.onMounted)(()=>{J(g.modelValue);var e=d.value;e&&e.addEventListener("wheel",pe,{passive:!1}),_ui.globalEvents.on(_,"mousedown",me),_ui.globalEvents.on(_,"keydown",ce),_ui.globalEvents.on(_,"blur",_e)}),(0,_vue.onBeforeUnmount)(()=>{x.isFocus=!1,u(),w();var e=d.value;e&&e.removeEventListener("wheel",pe),_ui.globalEvents.off(_,"mousedown"),_ui.globalEvents.off(_,"keydown"),_ui.globalEvents.off(_,"blur")}),Q(),_},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("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeNumberInput",props:{modelValue:[String,Number],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"number"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,maxLength:{type:[String,Number],default:()=>(0,_ui.getConfig)().numberInput.maxLength},autoComplete:{type:String,default:"off"},align:String,form:String,className:String,inputClassName:{type:String,default:()=>(0,_ui.getConfig)().numberInput.inputClassName},size:{type:String,default:()=>(0,_ui.getConfig)().numberInput.size||(0,_ui.getConfig)().size},min:{type:[String,Number],default:null},max:{type:[String,Number],default:null},step:[String,Number],exponential:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.exponential},showCurrency:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.showCurrency},currencySymbol:{type:String,default:()=>(0,_ui.getConfig)().numberInput.currencySymbol},controlConfig:Object,roundingMode:{type:String,default:()=>(0,_ui.getConfig)().numberInput.roundingMode},digits:{type:[String,Number],default:null},autoFill:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.autoFill},editable:{type:Boolean,default:!0},plusIcon:String,minusIcon:String,prefixIcon:String,prefixConfig:Object,suffixIcon:String,suffixConfig:Object,controls:{type:Boolean,default:null},maxlength:[String,Number],autocomplete:String},emits:["update:modelValue","input","change","keydown","keyup","wheel","click","focus","blur","clear","lazy-change","plus-number","minus-number","prefix-click","suffix-click","prev-number","next-number"],setup(g,e){let{slots:b,emit:i}=e,n=(0,_vue.inject)("$xeForm",null),a=(0,_vue.inject)("xeFormItemInfo",null);var u=_xeUtils.default.uniqueId();let O=(0,_ui.useSize)(g).computeSize,x=(0,_vue.reactive)({isFocus:!1,isActivated:!1,inputValue:""}),r={},y=(0,_vue.ref)(),m=(0,_vue.ref)(),q=(0,_vue.ref)(),E=(0,_vue.computed)(()=>{var e=g.readonly;return null===e?!!n&&n.props.readonly:e}),h=(0,_vue.computed)(()=>{var e=g.disabled;return null===e?!!n&&n.props.disabled:e}),o=(0,_vue.computed)(()=>{var{type:e,digits:u}=g;let t=u;return null===t&&null===(t=(0,_ui.getConfig)().numberInput.digits)&&"amount"===e&&(t=2),_xeUtils.default.toInteger(t)||1}),N=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().numberInput.controlConfig,g.controlConfig)),F=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().numberInput.prefixConfig,g.prefixConfig)),K=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().numberInput.suffixConfig,g.suffixConfig)),s=(0,_vue.computed)(()=>{var e=g.type;return"float"===e||"amount"===e}),R=(0,_vue.computed)(()=>{var e=g.type,u=o.value,t=s.value,l=g.step;return"integer"===e?_xeUtils.default.toInteger(l)||1:t?_xeUtils.default.toNumber(l)||1/Math.pow(10,u):_xeUtils.default.toNumber(l)||1}),V=(0,_vue.computed)(()=>g.clearable),C=(0,_vue.computed)(()=>{var e=g.editable;return E.value||!e}),D=(0,_vue.computed)(()=>{var e=g.placeholder;return(e=e||(0,_ui.getConfig)().numberInput.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseInput")}),d=(0,_vue.computed)(()=>{var{type:e,maxLength:u,maxlength:t,min:l,max:i}=g,n=o.value;return(0,_utils.eqEmptyValue)(l)||(0,_utils.eqEmptyValue)(i)?u||t?_xeUtils.default.toNumber(u||t):16:(""+i).length+("integer"===e?0:n+1)+(0<=_xeUtils.default.toNumber(l)?0:1)}),v=(0,_vue.computed)(()=>{var e=g.immediate;return e}),l=(0,_vue.computed)(()=>{var e=g.type,u=x.inputValue;return"integer"===e?_xeUtils.default.toInteger((0,_util.handleNumber)(u)):_xeUtils.default.toNumber((0,_util.handleNumber)(u))}),I=(0,_vue.computed)(()=>{var{type:u,roundingMode:t,showCurrency:l,currencySymbol:i,autoFill:n}=g,a=x.inputValue,r=o.value;if("amount"!==u)return _xeUtils.default.toString(a);{var u=_xeUtils.default.toNumber(a),a={digits:r};"floor"===t?a.floor=!0:"ceil"===t?a.ceil=!0:a.round=!0;let e=_xeUtils.default.commafy(u,a);return n||([r,t]=e.split("."),t&&(u=t.replace(/0+$/,""),e=u?[r,".",u].join(""):r)),l?""+(i||(0,_ui.getI18n)("vxe.numberInput.currencySymbol")||"")+e:e}}),p=(0,_vue.computed)(()=>{var e=g.min,u=x.inputValue,t=l.value;return!(!u&&0!==u||null===e)&&t<=_xeUtils.default.toNumber(e)}),_=(0,_vue.computed)(()=>{var e=g.max,u=x.inputValue,t=l.value;return!(!u&&0!==u||null===e)&&t>=_xeUtils.default.toNumber(e)}),j=(0,_vue.computed)(()=>{var e=g.inputClassName;return"vxe-number-input--input"+(e?" "+e:"")}),z={refElem:y,refInput:m},P={computeControlOpts:N},c={xID:u,props:g,context:e,reactData:x,internalData:r,getRefMaps:()=>z,getComputeMaps:()=>P},f=(e,u,t)=>{i(e,(0,_ui.createEvent)(t,{$numberInput:c},u))},U=e=>_xeUtils.default.eqNull(e)?"":""+e,S=e=>{var{type:u,exponential:t,roundingMode:l,autoFill:i}=g,n=d.value,a=o.value;let r="";return s.value?(r=(0,_util.toFloatValueFixed)(e,u,a,l),i||(r=U(_xeUtils.default.toNumber(r)))):r=U(e),!t||e!==r&&U(e).toLowerCase()!==_xeUtils.default.toNumber(r).toExponential()?r.slice(0,n):e},A=e=>{var u=x.inputValue;f(e.type,{value:u},e)},T=(e,u,t)=>{var e=(0,_utils.eqEmptyValue)(e)?null:Number(e),l=e!==g.modelValue;l&&(r.isUM=!0,i("update:modelValue",e)),x.inputValue!==u&&(0,_vue.nextTick)(()=>{x.inputValue=u||""}),f("input",{value:e},t),l&&(f("change",{value:e},t),n)&&a&&n.triggerItemEvent(t,a.itemConfig.field,e)},M=(e,u)=>{var t=v.value,l=(0,_utils.eqEmptyValue)(e)?null:_xeUtils.default.toNumber(e);x.inputValue=e,t?T(l,e,u):(f("input",{value:l},u),n&&a&&n.triggerItemEvent(u,a.itemConfig.field,l))},Y=e=>{var u=e.target.value;M(u,e)},G=e=>{v.value||A(e),f("lazy-change",{value:x.inputValue},e)},W=e=>{var u;C.value||(u=x.inputValue,x.inputValue=(0,_utils.eqEmptyValue)(u)?"":""+_xeUtils.default.toNumber(u),x.isFocus=!0,x.isActivated=!0,A(e))},$=e=>{var u;h.value||(u=x.inputValue,f("prefix-click",{value:u},e))},H=(e,u)=>{focus(),T(null,"",e),f("clear",{value:u},e),f("lazy-change",{value:u},e)},J=e=>{var u;h.value||(u=x.inputValue,f("suffix-click",{value:u},e))},Q=u=>{var{type:t,roundingMode:l,autoFill:i}=g,n=x.inputValue,a=o.value,r=s.value;if((0,_utils.eqEmptyValue)(u))x.inputValue="";else{let e=""+u;r&&(e=(0,_util.toFloatValueFixed)(u,t,a,l),i||(e=""+_xeUtils.default.toNumber(e))),e!==n&&(x.inputValue=e)}},X=()=>{var{type:t,roundingMode:l,autoFill:i}=g,n=x.inputValue,a=o.value,e=s.value;if(e&&n){let e="",u=null;n&&(e=(0,_util.toFloatValueFixed)(n,t,a,l),u=_xeUtils.default.toNumber(e),i||(e=""+u)),n!==u?T(u,e,{type:"init"}):x.inputValue=e}},Z=e=>null===g.max||""===g.max||_xeUtils.default.toNumber(e)<=_xeUtils.default.toNumber(g.max),ee=e=>null===g.min||""===g.min||_xeUtils.default.toNumber(e)>=_xeUtils.default.toNumber(g.min),k=()=>{var{type:u,min:t,max:l,exponential:i}=g,n=x.inputValue;if(!C.value)if((0,_utils.eqEmptyValue)(n)){let e=null,u=n;!t&&0!==t||(e=_xeUtils.default.toNumber(t),u=""+e),void T(e,""+(u||""),{type:"check"})}else if(n||t||l){let e="integer"===u?_xeUtils.default.toInteger((0,_util.handleNumber)(n)):_xeUtils.default.toNumber((0,_util.handleNumber)(n));ee(e)?Z(e)||(e=l):e=t,i&&(u=U(n).toLowerCase())===_xeUtils.default.toNumber(e).toExponential()&&(e=u);l=S(e);T((0,_utils.eqEmptyValue)(l)?null:Number(l),l,{type:"check"})}},ue=e=>{var u=x.inputValue,t=v.value,l=u?Number(u):null;t||T(l,U(u),e),k(),x.isFocus=!1,x.isActivated=!1,f("blur",{value:l},e),n&&a&&n.triggerItemEvent(e,a.itemConfig.field,l)},te=(e,u)=>{var{min:t,max:l,type:i}=g,n=x.inputValue,a=R.value,i="integer"===i?_xeUtils.default.toInteger((0,_util.handleNumber)(n)):_xeUtils.default.toNumber((0,_util.handleNumber)(n)),n=e?_xeUtils.default.add(i,a):_xeUtils.default.subtract(i,a);let r;r=ee(n)?Z(n)?n:l:t,M(S(r),u)},w=e=>{var u=h.value,t=E.value,l=_.value;u||t||l||te(!0,e),x.isActivated=!0,f("plus-number",{value:x.inputValue},e),f("lazy-change",{value:x.inputValue},e),f("next-number",{value:x.inputValue},e)},L=e=>{var u=h.value,t=E.value,l=p.value;u||t||l||te(!1,e),x.isActivated=!0,f("minus-number",{value:x.inputValue},e),f("lazy-change",{value:x.inputValue},e),f("prev-number",{value:x.inputValue},e)},le=e=>{var u=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);(u||t)&&(e.preventDefault(),(u?w:L)(e))},ie=e=>{var{type:u,exponential:t,controls:l}=g,i=N.value,n=i.isArrow,a=C.value,r=(0,_dom.hasControlKey)(e),o=e.shiftKey,s=e.altKey,v=e.keyCode,p=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),m=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),d=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);r||o||s||(_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.SPACEBAR)||"integer"===u&&110===v||(!t||69!==v)&&65<=v&&v<=90||186<=v&&v<=188||191<=v)&&e.preventDefault(),p?k():(m||d)&&(0,_utils.isEnableConf)(i)&&(!1===l?l:n)&&!a&&le(e),A(e)},ne=e=>{A(e)},ae=()=>{var e=r.dnTimeout;e&&(clearTimeout(e),r.dnTimeout=void 0)},re=()=>{var e=r.ainTimeout;e&&(clearTimeout(e),r.ainTimeout=void 0)},oe=e=>{t(),r.ainTimeout=setTimeout(()=>{L(e),oe(e)},60)},se=e=>{t(),r.ainTimeout=setTimeout(()=>{w(e),se(e)},60)},t=()=>{ae(),re()},ve=e=>{r.isMouseDown?r.isMouseDown=!1:(t(),((0,_dom.hasClass)(e.currentTarget,"is--plus")?w:L)(e))},pe=u=>{if(t(),r.isMouseDown=!0,0===u.button){let e=(0,_dom.hasClass)(u.currentTarget,"is--plus");(e?w:L)(u),r.dnTimeout=setTimeout(()=>{(e?se:oe)(u)},500)}},me=e=>{var u=g.controls,t=N.value,l=t.isWheel,i=C.value;(0,_utils.isEnableConf)(t)&&(!1===u?u:l)&&!i&&x.isActivated&&(e.stopPropagation(),e.preventDefault(),0<(t=e.deltaY)?L(e):t<0&&w(e)),A(e)},de=e=>{A(e)},_e=e=>{var u=x.isActivated,t=y.value,l=q.value,i=h.value,n=C.value,a=v.value;i||n||!u||(x.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,x.isActivated)||(a||(i=x.inputValue,n=i?Number(i):null,T(n,U(i),e)),k())},ce=u=>{var t=g.clearable,l=h.value,i=C.value;if(!l&&!i){l=_ui.globalEvents.hasKey(u,_ui.GLOBAL_EVENT_KEYS.TAB),i=_ui.globalEvents.hasKey(u,_ui.GLOBAL_EVENT_KEYS.DELETE);let e=x.isActivated;l&&(e&&k(),e=!1,x.isActivated=e),i&&t&&e&&H(u,null)}},fe=()=>{var e=x.isActivated;e&&k()};u={dispatchEvent:f,focus(){var e;return C.value||(e=m.value,x.isActivated=!0,e.focus()),(0,_vue.nextTick)()},blur(){return m.value.blur(),(x.isActivated=!1,_vue.nextTick)()},select(){return m.value.select(),(x.isActivated=!1,_vue.nextTick)()}};Object.assign(c,u);let ge=()=>{var e=g.prefixIcon,u=F.value,t=b.prefix,e=e||u.icon,u=u.content;return t||e||u?(0,_vue.h)("div",{class:"vxe-number-input--prefix",onClick:$},[(0,_vue.h)("div",{class:"vxe-number-input--prefix-icon"},t?(0,_vn.getSlotVNs)(t({})):[e?(0,_vue.h)("i",{class:e}):(0,_ui.renderEmptyElement)(c),u?(0,_vue.h)("span",{class:"vxe-prefix-input--suffix-text"},""+u):(0,_ui.renderEmptyElement)(c)])]):(0,_ui.renderEmptyElement)(c)},be=()=>{var e=g.suffixIcon,u=x.inputValue,t=b.suffix,l=K.value,i=h.value,n=V.value,e=e||l.icon,l=l.content;return(0,_vue.h)("div",{class:["vxe-number-input--suffix",{"is--clear":n&&!i&&!(""===u||_xeUtils.default.eqNull(u))}]},[n?(0,_vue.h)("div",{class:"vxe-number-input--clear-icon",onClick:H},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(c),t||e||l?(0,_vue.h)("div",{class:"vxe-number-input--suffix-icon",onClick:J},t?(0,_vn.getSlotVNs)(t({})):[e?(0,_vue.h)("i",{class:e}):(0,_ui.renderEmptyElement)(c),l?(0,_vue.h)("span",{class:"vxe-number-input--suffix-text"},""+l):(0,_ui.renderEmptyElement)(c)]):(0,_ui.renderEmptyElement)(c)])},B=()=>{var{type:e,name:u,autocomplete:t,autoComplete:l}=g,{inputValue:i,isFocus:n}=x,a=h.value,r=I.value,o=C.value,s=d.value,v=D.value,p=j.value;return(0,_vue.h)("div",{key:"ni",class:"vxe-number-input--input-wrapper"},[ge(),(0,_vue.h)("div",{class:"vxe-number-input--input-inner"},[(0,_vue.h)("input",{ref:m,class:p,name:u,type:"text",value:n||"amount"!==e?i:r,placeholder:v,maxlength:s,readonly:o,disabled:a,autocomplete:l||t,onKeydown:ie,onKeyup:ne,onClick:de,onInput:Y,onChange:G,onFocus:W,onBlur:ue})]),be()])},xe=()=>{var e=g.minusIcon,u=p.value;return(0,_vue.h)("button",{key:"prev",class:["vxe-number-input--minus-btn is--minus",{"is--disabled":u}],type:"button",onClick:ve,onMousedown:pe,onMouseup:t,onMouseleave:t},[(0,_vue.h)("i",{class:e||(0,_ui.getIcon)().NUMBER_INPUT_MINUS_NUM})])},ye=()=>{var e=g.plusIcon,u=_.value;return(0,_vue.h)("button",{key:"next",class:["vxe-number-input--plus-btn is--plus",{"is--disabled":u}],type:"button",onClick:ve,onMousedown:pe,onMouseup:t,onMouseleave:t},[(0,_vue.h)("i",{class:e||(0,_ui.getIcon)().NUMBER_INPUT_PLUS_NUM})])},Ee=()=>(0,_vue.h)("div",{key:"cplr",class:"vxe-number-input--side-control"},[ye(),xe()]);return c.renderVN=()=>{var{className:e,controls:u,type:t,align:l,prefixIcon:i,suffixIcon:n}=g,{inputValue:a,isActivated:r}=x,o=O.value,s=N.value,{layout:v,showButton:p}=s,m=h.value,d=E.value,_=I.value,c=b.prefix,f=b.suffix;return d?(0,_vue.h)("div",{ref:y,class:["vxe-number-input--readonly","type--"+t,e]},_):(d=C.value,_=V.value,s=(0,_utils.isEnableConf)(s)&&(!1===u?u:p),(0,_vue.h)("div",{ref:y,class:["vxe-number-input","type--"+t,"ctl--"+("right"===v||"left"===v?v:"default"),e,{["size--"+o]:o,["is--"+l]:l,"is--controls":s&&!d,"is--prefix":!!c||i,"is--suffix":!!f||n,"is--disabled":m,"is--active":r,"show--clear":_&&!m&&!(""===a||_xeUtils.default.eqNull(a))}],spellcheck:!1},s?"right"===v?[B(),Ee()]:"left"===v?[Ee(),B()]:[xe(),B(),ye()]:[B()]))},(0,_vue.watch)(()=>g.modelValue,e=>{r.isUM||Q(e),r.isUM=!1}),(0,_vue.watch)(()=>g.type,()=>{Object.assign(x,{inputValue:g.modelValue}),X()}),(0,_vue.onMounted)(()=>{Q(g.modelValue);var e=m.value;e&&e.addEventListener("wheel",me,{passive:!1}),_ui.globalEvents.on(c,"mousedown",_e),_ui.globalEvents.on(c,"keydown",ce),_ui.globalEvents.on(c,"blur",fe)}),(0,_vue.onBeforeUnmount)(()=>{x.isFocus=!1,t(),k();var e=m.value;e&&e.removeEventListener("wheel",me),_ui.globalEvents.off(c,"mousedown"),_ui.globalEvents.off(c,"keydown"),_ui.globalEvents.off(c,"blur")}),X(),c},render(){return this.renderVN()}});
@@ -47,6 +47,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
47
47
  type: Boolean,
48
48
  default: () => (0, _ui.getConfig)().passwordInput.controls
49
49
  },
50
+ editable: {
51
+ type: Boolean,
52
+ default: true
53
+ },
50
54
  // 已废弃
51
55
  autocomplete: String
52
56
  },
@@ -80,16 +84,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
80
84
  reactData,
81
85
  getRefMaps: () => refMaps
82
86
  };
83
- let passwordInputMethods = {};
84
87
  const computeIsClearable = (0, _vue.computed)(() => {
85
88
  return props.clearable;
86
89
  });
87
- const computeInpReadonly = (0, _vue.computed)(() => {
88
- const {
89
- readonly
90
- } = props;
91
- return readonly;
92
- });
93
90
  const computeInpPlaceholder = (0, _vue.computed)(() => {
94
91
  const {
95
92
  placeholder
@@ -103,6 +100,36 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
103
100
  }
104
101
  return (0, _ui.getI18n)('vxe.base.pleaseInput');
105
102
  });
103
+ const computeFormReadonly = (0, _vue.computed)(() => {
104
+ if ((0, _ui.getConfig)().inputReadonly === 'obsolete') {
105
+ if ($xeForm) {
106
+ return $xeForm.props.readonly;
107
+ }
108
+ return false;
109
+ }
110
+ const {
111
+ readonly
112
+ } = props;
113
+ if (readonly === null) {
114
+ if ($xeForm) {
115
+ return $xeForm.props.readonly;
116
+ }
117
+ return false;
118
+ }
119
+ return readonly;
120
+ });
121
+ const computeIsDisabled = (0, _vue.computed)(() => {
122
+ const {
123
+ disabled
124
+ } = props;
125
+ if (disabled === null) {
126
+ if ($xeForm) {
127
+ return $xeForm.props.disabled;
128
+ }
129
+ return false;
130
+ }
131
+ return disabled;
132
+ });
106
133
  const computeInputType = (0, _vue.computed)(() => {
107
134
  const {
108
135
  showPwd
@@ -118,11 +145,36 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
118
145
  } = props;
119
146
  return immediate;
120
147
  });
148
+ const computeInputReadonly = (0, _vue.computed)(() => {
149
+ const {
150
+ editable
151
+ } = props;
152
+ const formReadonly = computeFormReadonly.value;
153
+ return formReadonly || !editable;
154
+ });
155
+ const computeDomValue = (0, _vue.computed)(() => {
156
+ const {
157
+ inputValue
158
+ } = reactData;
159
+ return inputValue;
160
+ });
161
+ const dispatchEvent = (type, params, evnt) => {
162
+ emit(type, (0, _ui.createEvent)(evnt, {
163
+ $passwordInput: $xePasswordInput
164
+ }, params));
165
+ };
166
+ const updateDomValue = () => {
167
+ const domValue = computeDomValue.value;
168
+ const inputElem = refInputTarget.value;
169
+ if (inputElem) {
170
+ inputElem.value = _xeUtils.default.eqNull(domValue) ? '' : '' + domValue;
171
+ }
172
+ };
121
173
  const triggerEvent = evnt => {
122
174
  const {
123
175
  inputValue
124
176
  } = reactData;
125
- passwordInputMethods.dispatchEvent(evnt.type, {
177
+ dispatchEvent(evnt.type, {
126
178
  value: inputValue
127
179
  }, evnt);
128
180
  };
@@ -132,7 +184,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
132
184
  if (inpImmediate) {
133
185
  handleChange(value, evnt);
134
186
  } else {
135
- passwordInputMethods.dispatchEvent('input', {
187
+ dispatchEvent('input', {
136
188
  value
137
189
  }, evnt);
138
190
  }
@@ -145,11 +197,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
145
197
  const handleChange = (value, evnt) => {
146
198
  reactData.inputValue = value;
147
199
  emit('update:modelValue', value);
148
- passwordInputMethods.dispatchEvent('input', {
200
+ dispatchEvent('input', {
149
201
  value
150
202
  }, evnt);
151
203
  if (_xeUtils.default.toValueString(props.modelValue) !== value) {
152
- passwordInputMethods.dispatchEvent('change', {
204
+ dispatchEvent('change', {
153
205
  value
154
206
  }, evnt);
155
207
  // 自动更新校验状态
@@ -160,7 +212,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
160
212
  };
161
213
  const changeEvent = evnt => {
162
214
  triggerEvent(evnt);
163
- $xePasswordInput.dispatchEvent('lazy-change', {
215
+ dispatchEvent('lazy-change', {
164
216
  value: reactData.inputValue
165
217
  }, evnt);
166
218
  // 自动更新校验状态
@@ -178,7 +230,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
178
230
  } = reactData;
179
231
  const value = inputValue;
180
232
  reactData.isActivated = false;
181
- $xePasswordInput.dispatchEvent('blur', {
233
+ dispatchEvent('blur', {
182
234
  value
183
235
  }, evnt);
184
236
  // 自动更新校验状态
@@ -187,17 +239,15 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
187
239
  }
188
240
  };
189
241
  const passwordToggleEvent = evnt => {
190
- const {
191
- readonly,
192
- disabled
193
- } = props;
194
242
  const {
195
243
  showPwd
196
244
  } = reactData;
197
- if (!disabled && !readonly) {
245
+ const isDisabled = computeIsDisabled.value;
246
+ const formReadonly = computeFormReadonly.value;
247
+ if (!isDisabled && !formReadonly) {
198
248
  reactData.showPwd = !showPwd;
199
249
  }
200
- $xePasswordInput.dispatchEvent('toggle-visible', {
250
+ dispatchEvent('toggle-visible', {
201
251
  visible: reactData.showPwd
202
252
  }, evnt);
203
253
  };
@@ -207,39 +257,57 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
207
257
  const clearValueEvent = (evnt, value) => {
208
258
  focus();
209
259
  handleChange('', evnt);
210
- $xePasswordInput.dispatchEvent('clear', {
260
+ dispatchEvent('clear', {
211
261
  value
212
262
  }, evnt);
213
- $xePasswordInput.dispatchEvent('lazy-change', {
263
+ dispatchEvent('lazy-change', {
214
264
  value: reactData.inputValue
215
265
  }, evnt);
216
266
  };
217
267
  const clickSuffixEvent = evnt => {
218
- const {
219
- disabled
220
- } = props;
221
- if (!disabled) {
268
+ const isDisabled = computeIsDisabled.value;
269
+ if (!isDisabled) {
222
270
  const {
223
271
  inputValue
224
272
  } = reactData;
225
- $xePasswordInput.dispatchEvent('suffix-click', {
273
+ dispatchEvent('suffix-click', {
226
274
  value: inputValue
227
275
  }, evnt);
228
276
  }
229
277
  };
230
278
  const clickPrefixEvent = evnt => {
231
- const {
232
- disabled
233
- } = props;
234
- if (!disabled) {
279
+ const isDisabled = computeIsDisabled.value;
280
+ if (!isDisabled) {
235
281
  const {
236
282
  inputValue
237
283
  } = reactData;
238
- $xePasswordInput.dispatchEvent('prefix-click', {
284
+ dispatchEvent('prefix-click', {
239
285
  value: inputValue
240
286
  }, evnt);
241
287
  }
242
288
  };
289
+ const passwordInputMethods = {
290
+ dispatchEvent,
291
+ focus() {
292
+ const inputElem = refInputTarget.value;
293
+ reactData.isActivated = true;
294
+ inputElem.focus();
295
+ return (0, _vue.nextTick)();
296
+ },
297
+ blur() {
298
+ const inputElem = refInputTarget.value;
299
+ inputElem.blur();
300
+ reactData.isActivated = false;
301
+ return (0, _vue.nextTick)();
302
+ },
303
+ select() {
304
+ const inputElem = refInputTarget.value;
305
+ inputElem.select();
306
+ reactData.isActivated = false;
307
+ return (0, _vue.nextTick)();
308
+ }
309
+ };
310
+ Object.assign($xePasswordInput, passwordInputMethods);
243
311
  const renderPasswordIcon = () => {
244
312
  const {
245
313
  showPwd
@@ -267,18 +335,18 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
267
335
  };
268
336
  const renderSuffixIcon = () => {
269
337
  const {
270
- disabled,
271
338
  suffixIcon,
272
339
  controls
273
340
  } = props;
274
341
  const {
275
342
  inputValue
276
343
  } = reactData;
277
- const suffixSlot = slots.suffix;
344
+ const isDisabled = computeIsDisabled.value;
278
345
  const isClearable = computeIsClearable.value;
346
+ const suffixSlot = slots.suffix;
279
347
  return isClearable || controls || suffixSlot || suffixIcon ? (0, _vue.h)('div', {
280
348
  class: ['vxe-password-input--suffix', {
281
- 'is--clear': isClearable && !disabled && !(inputValue === '' || _xeUtils.default.eqNull(inputValue))
349
+ 'is--clear': isClearable && !isDisabled && !(inputValue === '' || _xeUtils.default.eqNull(inputValue))
282
350
  }]
283
351
  }, [isClearable ? (0, _vue.h)('div', {
284
352
  class: 'vxe-password-input--clear-icon',
@@ -292,41 +360,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
292
360
  class: suffixIcon
293
361
  })]) : (0, _ui.renderEmptyElement)($xePasswordInput)]) : null;
294
362
  };
295
- passwordInputMethods = {
296
- dispatchEvent(type, params, evnt) {
297
- emit(type, (0, _ui.createEvent)(evnt, {
298
- $passwordInput: $xePasswordInput
299
- }, params));
300
- },
301
- focus() {
302
- const inputElem = refInputTarget.value;
303
- reactData.isActivated = true;
304
- inputElem.focus();
305
- return (0, _vue.nextTick)();
306
- },
307
- blur() {
308
- const inputElem = refInputTarget.value;
309
- inputElem.blur();
310
- reactData.isActivated = false;
311
- return (0, _vue.nextTick)();
312
- },
313
- select() {
314
- const inputElem = refInputTarget.value;
315
- inputElem.select();
316
- reactData.isActivated = false;
317
- return (0, _vue.nextTick)();
318
- }
319
- };
320
- Object.assign($xePasswordInput, passwordInputMethods);
321
- (0, _vue.watch)(() => props.modelValue, val => {
322
- reactData.inputValue = val;
323
- });
324
363
  const renderVN = () => {
325
364
  const {
326
365
  className,
327
366
  inputClassName,
328
367
  name,
329
- disabled,
330
368
  readonly,
331
369
  autocomplete,
332
370
  autoComplete,
@@ -336,11 +374,19 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
336
374
  inputValue,
337
375
  isActivated
338
376
  } = reactData;
377
+ const isDisabled = computeIsDisabled.value;
378
+ const formReadonly = computeFormReadonly.value;
379
+ if (formReadonly) {
380
+ return (0, _vue.h)('div', {
381
+ ref: refElem,
382
+ class: ['vxe-password-input--readonly', className]
383
+ }, (0, _utils.getText)(inputValue));
384
+ }
339
385
  const vSize = computeSize.value;
340
- const inpReadonly = computeInpReadonly.value;
341
386
  const inputType = computeInputType.value;
342
387
  const inpPlaceholder = computeInpPlaceholder.value;
343
388
  const isClearable = computeIsClearable.value;
389
+ const inputReadonly = computeInputReadonly.value;
344
390
  const prefix = renderPrefixIcon();
345
391
  const suffix = renderSuffixIcon();
346
392
  return (0, _vue.h)('div', {
@@ -350,9 +396,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
350
396
  'is--prefix': !!prefix,
351
397
  'is--suffix': !!suffix,
352
398
  'is--readonly': readonly,
353
- 'is--disabled': disabled,
399
+ 'is--disabled': isDisabled,
354
400
  'is--active': isActivated,
355
- 'show--clear': isClearable && !disabled && !(inputValue === '' || _xeUtils.default.eqNull(inputValue))
401
+ 'show--clear': isClearable && !isDisabled && !(inputValue === '' || _xeUtils.default.eqNull(inputValue))
356
402
  }],
357
403
  spellcheck: false
358
404
  }, [prefix || (0, _ui.renderEmptyElement)($xePasswordInput), (0, _vue.h)('div', {
@@ -360,12 +406,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
360
406
  }, [(0, _vue.h)('input', {
361
407
  ref: refInputTarget,
362
408
  class: 'vxe-password-input--inner' + (inputClassName ? ' ' + inputClassName : ''),
363
- value: inputValue,
364
409
  name,
365
410
  type: inputType,
366
411
  placeholder: inpPlaceholder,
367
- readonly: inpReadonly,
368
- disabled,
412
+ readonly: inputReadonly,
413
+ disabled: isDisabled,
369
414
  autocomplete: autocomplete || autoComplete,
370
415
  maxlength: maxLength,
371
416
  onClick: clickEvent,
@@ -375,6 +420,25 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
375
420
  onBlur: blurEvent
376
421
  })]), suffix || (0, _ui.renderEmptyElement)($xePasswordInput)]);
377
422
  };
423
+ (0, _vue.watch)(() => props.modelValue, val => {
424
+ reactData.inputValue = val;
425
+ });
426
+ const rDvFlag = (0, _vue.ref)(0);
427
+ (0, _vue.watch)(computeFormReadonly, () => {
428
+ rDvFlag.value++;
429
+ });
430
+ (0, _vue.watch)(computeDomValue, () => {
431
+ rDvFlag.value++;
432
+ });
433
+ (0, _vue.watch)(rDvFlag, () => {
434
+ updateDomValue();
435
+ (0, _vue.nextTick)(() => {
436
+ updateDomValue();
437
+ });
438
+ });
439
+ (0, _vue.onMounted)(() => {
440
+ updateDomValue();
441
+ });
378
442
  $xePasswordInput.renderVN = renderVN;
379
443
  return $xePasswordInput;
380
444
  },
@@ -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"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxePasswordInput",props:{modelValue:String,immediate:{type:Boolean,default:!0},name:String,clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().passwordInput.clearable},readonly:Boolean,disabled:Boolean,maxLength:[String,Number],placeholder:String,autoComplete:{type:String,default:"off"},className:String,inputClassName:{type:String,default:()=>(0,_ui.getConfig)().passwordInput.inputClassName},size:{type:String,default:()=>(0,_ui.getConfig)().passwordInput.size||(0,_ui.getConfig)().size},prefixIcon:String,suffixIcon:String,controls:{type:Boolean,default:()=>(0,_ui.getConfig)().passwordInput.controls},autocomplete:String},emits:["update:modelValue","input","change","click","focus","blur","clear","lazy-change","toggle-visible","prefix-click","suffix-click"],setup(g,e){let{emit:i,slots:x}=e,u=(0,_vue.inject)("$xeForm",null),a=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let h=(0,_ui.useSize)(g).computeSize,w=(0,_vue.reactive)({showPwd:!1,isActivated:!1,inputValue:g.modelValue}),E=(0,_vue.ref)(),I=(0,_vue.ref)(),l={refElem:E,refInput:I},V={xID:t,props:g,context:e,reactData:w,getRefMaps:()=>l},n={},y=(0,_vue.computed)(()=>g.clearable),b=(0,_vue.computed)(()=>{var e=g.readonly;return e}),C=(0,_vue.computed)(()=>{var e=g.placeholder;return(e=e||(0,_ui.getConfig)().passwordInput.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseInput")}),S=(0,_vue.computed)(()=>{var e=w.showPwd;return e?"text":"password"}),r=(0,_vue.computed)(()=>{var e=g.immediate;return e}),s=e=>{var t=w.inputValue;n.dispatchEvent(e.type,{value:t},e)},o=(e,t)=>{var u=r.value;w.inputValue=e,u?p(e,t):n.dispatchEvent("input",{value:e},t)},N=e=>{var t=e.target.value;o(t,e)},p=(e,t)=>{w.inputValue=e,i("update:modelValue",e),n.dispatchEvent("input",{value:e},t),_xeUtils.default.toValueString(g.modelValue)!==e&&(n.dispatchEvent("change",{value:e},t),u)&&a&&u.triggerItemEvent(t,a.itemConfig.field,e)},P=e=>{s(e),V.dispatchEvent("lazy-change",{value:w.inputValue},e),u&&a&&u.triggerItemEvent(e,a.itemConfig.field,w.inputValue)},k=e=>{w.isActivated=!0,s(e)},q=e=>{var t=w.inputValue;w.isActivated=!1,V.dispatchEvent("blur",{value:t},e),u&&a&&u.triggerItemEvent(e,a.itemConfig.field,t)},d=e=>{var{readonly:t,disabled:u}=g,i=w.showPwd;u||t||(w.showPwd=!i),V.dispatchEvent("toggle-visible",{visible:w.showPwd},e)},A=e=>{s(e)},z=(e,t)=>{focus(),p("",e),V.dispatchEvent("clear",{value:t},e),V.dispatchEvent("lazy-change",{value:w.inputValue},e)},D=e=>{var t=g.disabled;t||(t=w.inputValue,V.dispatchEvent("suffix-click",{value:t},e))},U=e=>{var t=g.disabled;t||(t=w.inputValue,V.dispatchEvent("prefix-click",{value:t},e))},T=()=>{var e=w.showPwd;return(0,_vue.h)("div",{class:"vxe-password-input--control-icon",onClick:d},[(0,_vue.h)("i",{class:["vxe-password-input--password-icon",e?(0,_ui.getIcon)().PASSWORD_INPUT_SHOW_PWD:(0,_ui.getIcon)().PASSWORD_INPUT_HIDE_PWD]})])};n={dispatchEvent(e,t,u){i(e,(0,_ui.createEvent)(u,{$passwordInput:V},t))},focus(){var e=I.value;return w.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return I.value.blur(),(w.isActivated=!1,_vue.nextTick)()},select(){return I.value.select(),(w.isActivated=!1,_vue.nextTick)()}},Object.assign(V,n),(0,_vue.watch)(()=>g.modelValue,e=>{w.inputValue=e});return V.renderVN=()=>{var{className:e,inputClassName:t,name:u,disabled:i,readonly:a,autocomplete:l,autoComplete:n,maxLength:r}=g,{inputValue:s,isActivated:o}=w,p=h.value,d=b.value,v=S.value,c=C.value,_=y.value,f=(m=g.prefixIcon,(f=x.prefix)||m?(0,_vue.h)("div",{class:"vxe-password-input--prefix",onClick:U},[(0,_vue.h)("div",{class:"vxe-password-input--prefix-icon"},f?(0,_vn.getSlotVNs)(f({})):[(0,_vue.h)("i",{class:m})])]):null),m=(()=>{var{disabled:e,suffixIcon:t,controls:u}=g,i=w.inputValue,a=x.suffix,l=y.value;return l||u||a||t?(0,_vue.h)("div",{class:["vxe-password-input--suffix",{"is--clear":l&&!e&&!(""===i||_xeUtils.default.eqNull(i))}]},[l?(0,_vue.h)("div",{class:"vxe-password-input--clear-icon",onClick:z},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(V),u?T():(0,_ui.renderEmptyElement)(V),a||t?(0,_vue.h)("div",{class:"vxe-password-input--suffix-icon",onClick:D},a?(0,_vn.getSlotVNs)(a({})):[(0,_vue.h)("i",{class:t})]):(0,_ui.renderEmptyElement)(V)]):null})();return(0,_vue.h)("div",{ref:E,class:["vxe-password-input",e,{["size--"+p]:p,"is--prefix":!!f,"is--suffix":!!m,"is--readonly":a,"is--disabled":i,"is--active":o,"show--clear":_&&!i&&!(""===s||_xeUtils.default.eqNull(s))}],spellcheck:!1},[f||(0,_ui.renderEmptyElement)(V),(0,_vue.h)("div",{class:"vxe-password-input--wrapper"},[(0,_vue.h)("input",{ref:I,class:"vxe-password-input--inner"+(t?" "+t:""),value:s,name:u,type:v,placeholder:c,readonly:d,disabled:i,autocomplete:l||n,maxlength:r,onClick:A,onInput:N,onChange:P,onFocus:k,onBlur:q})]),m||(0,_ui.renderEmptyElement)(V)])},V},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"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxePasswordInput",props:{modelValue:String,immediate:{type:Boolean,default:!0},name:String,clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().passwordInput.clearable},readonly:Boolean,disabled:Boolean,maxLength:[String,Number],placeholder:String,autoComplete:{type:String,default:"off"},className:String,inputClassName:{type:String,default:()=>(0,_ui.getConfig)().passwordInput.inputClassName},size:{type:String,default:()=>(0,_ui.getConfig)().passwordInput.size||(0,_ui.getConfig)().size},prefixIcon:String,suffixIcon:String,controls:{type:Boolean,default:()=>(0,_ui.getConfig)().passwordInput.controls},editable:{type:Boolean,default:!0},autocomplete:String},emits:["update:modelValue","input","change","click","focus","blur","clear","lazy-change","toggle-visible","prefix-click","suffix-click"],setup(g,e){let{emit:a,slots:x}=e,t=(0,_vue.inject)("$xeForm",null),l=(0,_vue.inject)("xeFormItemInfo",null);var u=_xeUtils.default.uniqueId();let h=(0,_ui.useSize)(g).computeSize,w=(0,_vue.reactive)({showPwd:!1,isActivated:!1,inputValue:g.modelValue}),I=(0,_vue.ref)(),V=(0,_vue.ref)(),i={refElem:I,refInput:V},y={xID:u,props:g,context:e,reactData:w,getRefMaps:()=>i},C=(0,_vue.computed)(()=>g.clearable),b=(0,_vue.computed)(()=>{var e=g.placeholder;return(e=e||(0,_ui.getConfig)().passwordInput.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseInput")}),S=(0,_vue.computed)(()=>{var e;return"obsolete"===(0,_ui.getConfig)().inputReadonly||(e=g.readonly,null===e)?!!t&&t.props.readonly:e}),E=(0,_vue.computed)(()=>{var e=g.disabled;return null===e?!!t&&t.props.disabled:e}),N=(0,_vue.computed)(()=>{var e=w.showPwd;return e?"text":"password"}),r=(0,_vue.computed)(()=>{var e=g.immediate;return e}),k=(0,_vue.computed)(()=>{var e=g.editable;return S.value||!e}),n=(0,_vue.computed)(()=>{var e=w.inputValue;return e}),s=(e,u,t)=>{a(e,(0,_ui.createEvent)(t,{$passwordInput:y},u))},o=()=>{var e=n.value,u=V.value;u&&(u.value=_xeUtils.default.eqNull(e)?"":""+e)},v=e=>{var u=w.inputValue;s(e.type,{value:u},e)},p=(e,u)=>{var t=r.value;w.inputValue=e,t?d(e,u):s("input",{value:e},u)},P=e=>{var u=e.target.value;p(u,e)},d=(e,u)=>{w.inputValue=e,a("update:modelValue",e),s("input",{value:e},u),_xeUtils.default.toValueString(g.modelValue)!==e&&(s("change",{value:e},u),t)&&l&&t.triggerItemEvent(u,l.itemConfig.field,e)},q=e=>{v(e),s("lazy-change",{value:w.inputValue},e),t&&l&&t.triggerItemEvent(e,l.itemConfig.field,w.inputValue)},A=e=>{w.isActivated=!0,v(e)},z=e=>{var u=w.inputValue;w.isActivated=!1,s("blur",{value:u},e),t&&l&&t.triggerItemEvent(e,l.itemConfig.field,u)},c=e=>{var u=w.showPwd,t=E.value,a=S.value;t||a||(w.showPwd=!u),s("toggle-visible",{visible:w.showPwd},e)},D=e=>{v(e)},T=(e,u)=>{focus(),d("",e),s("clear",{value:u},e),s("lazy-change",{value:w.inputValue},e)},U=e=>{var u;E.value||(u=w.inputValue,s("suffix-click",{value:u},e))},B=e=>{var u;E.value||(u=w.inputValue,s("prefix-click",{value:u},e))};u={dispatchEvent:s,focus(){var e=V.value;return w.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return V.value.blur(),(w.isActivated=!1,_vue.nextTick)()},select(){return V.value.select(),(w.isActivated=!1,_vue.nextTick)()}};Object.assign(y,u);let R=()=>{var e=w.showPwd;return(0,_vue.h)("div",{class:"vxe-password-input--control-icon",onClick:c},[(0,_vue.h)("i",{class:["vxe-password-input--password-icon",e?(0,_ui.getIcon)().PASSWORD_INPUT_SHOW_PWD:(0,_ui.getIcon)().PASSWORD_INPUT_HIDE_PWD]})])};(0,_vue.watch)(()=>g.modelValue,e=>{w.inputValue=e});let _=(0,_vue.ref)(0);return(0,_vue.watch)(S,()=>{_.value++}),(0,_vue.watch)(n,()=>{_.value++}),(0,_vue.watch)(_,()=>{o(),(0,_vue.nextTick)(()=>{o()})}),(0,_vue.onMounted)(()=>{o()}),y.renderVN=()=>{var e,u,t,a,l,i,r,{className:n,inputClassName:s,name:o,readonly:v,autocomplete:p,autoComplete:d,maxLength:c}=g,{inputValue:_,isActivated:f}=w,m=E.value;return S.value?(0,_vue.h)("div",{ref:I,class:["vxe-password-input--readonly",n]},(0,_utils.getText)(_)):(e=h.value,u=N.value,t=b.value,a=C.value,l=k.value,r=g.prefixIcon,i=(i=x.prefix)||r?(0,_vue.h)("div",{class:"vxe-password-input--prefix",onClick:B},[(0,_vue.h)("div",{class:"vxe-password-input--prefix-icon"},i?(0,_vn.getSlotVNs)(i({})):[(0,_vue.h)("i",{class:r})])]):null,r=(()=>{var{suffixIcon:e,controls:u}=g,t=w.inputValue,a=E.value,l=C.value,i=x.suffix;return l||u||i||e?(0,_vue.h)("div",{class:["vxe-password-input--suffix",{"is--clear":l&&!a&&!(""===t||_xeUtils.default.eqNull(t))}]},[l?(0,_vue.h)("div",{class:"vxe-password-input--clear-icon",onClick:T},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(y),u?R():(0,_ui.renderEmptyElement)(y),i||e?(0,_vue.h)("div",{class:"vxe-password-input--suffix-icon",onClick:U},i?(0,_vn.getSlotVNs)(i({})):[(0,_vue.h)("i",{class:e})]):(0,_ui.renderEmptyElement)(y)]):null})(),(0,_vue.h)("div",{ref:I,class:["vxe-password-input",n,{["size--"+e]:e,"is--prefix":!!i,"is--suffix":!!r,"is--readonly":v,"is--disabled":m,"is--active":f,"show--clear":a&&!m&&!(""===_||_xeUtils.default.eqNull(_))}],spellcheck:!1},[i||(0,_ui.renderEmptyElement)(y),(0,_vue.h)("div",{class:"vxe-password-input--wrapper"},[(0,_vue.h)("input",{ref:V,class:"vxe-password-input--inner"+(s?" "+s:""),name:o,type:u,placeholder:t,readonly:l,disabled:m,autocomplete:p||d,maxlength:c,onClick:D,onInput:P,onChange:q,onFocus:A,onBlur:z})]),r||(0,_ui.renderEmptyElement)(y)]))},y},render(){return this.renderVN()}});