vxe-pc-ui 4.3.21 → 4.3.23

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 (106) hide show
  1. package/es/icon/style.css +1 -1
  2. package/es/language/ar-EG.js +1 -1
  3. package/es/language/de-DE.js +1 -1
  4. package/es/language/es-ES.js +2 -2
  5. package/es/language/fr-FR.js +1 -1
  6. package/es/language/hu-HU.js +1 -1
  7. package/es/language/hy-AM.js +1 -1
  8. package/es/language/ja-JP.js +1 -1
  9. package/es/language/ko-KR.js +1 -1
  10. package/es/language/nb-NO.js +1 -1
  11. package/es/language/pt-BR.js +1 -1
  12. package/es/language/ru-RU.js +1 -1
  13. package/es/language/ug-CN.js +1 -1
  14. package/es/language/uk-UA.js +1 -1
  15. package/es/language/vi-VN.js +1 -1
  16. package/es/language/zh-CHT.js +1 -1
  17. package/es/language/zh-CN.js +1 -1
  18. package/es/number-input/src/number-input.js +36 -11
  19. package/es/style.css +1 -1
  20. package/es/style.min.css +1 -1
  21. package/es/ui/index.js +1 -1
  22. package/es/ui/src/log.js +1 -1
  23. package/lib/icon/style/style.css +1 -1
  24. package/lib/icon/style/style.min.css +1 -1
  25. package/lib/index.umd.js +46 -15
  26. package/lib/index.umd.min.js +1 -1
  27. package/lib/language/ar-EG.js +1 -1
  28. package/lib/language/ar-EG.min.js +1 -1
  29. package/lib/language/de-DE.js +1 -1
  30. package/lib/language/de-DE.min.js +1 -1
  31. package/lib/language/es-ES.js +2 -2
  32. package/lib/language/es-ES.min.js +1 -1
  33. package/lib/language/es-ES.umd.js +2 -2
  34. package/lib/language/fr-FR.js +1 -1
  35. package/lib/language/fr-FR.min.js +1 -1
  36. package/lib/language/hu-HU.js +1 -1
  37. package/lib/language/hu-HU.min.js +1 -1
  38. package/lib/language/hu-HU.umd.js +1 -1
  39. package/lib/language/hy-AM.js +1 -1
  40. package/lib/language/hy-AM.min.js +1 -1
  41. package/lib/language/ja-JP.js +1 -1
  42. package/lib/language/ja-JP.min.js +1 -1
  43. package/lib/language/ja-JP.umd.js +1 -1
  44. package/lib/language/ko-KR.js +1 -1
  45. package/lib/language/ko-KR.min.js +1 -1
  46. package/lib/language/ko-KR.umd.js +1 -1
  47. package/lib/language/nb-NO.js +1 -1
  48. package/lib/language/nb-NO.min.js +1 -1
  49. package/lib/language/pt-BR.js +1 -1
  50. package/lib/language/pt-BR.min.js +1 -1
  51. package/lib/language/pt-BR.umd.js +1 -1
  52. package/lib/language/ru-RU.js +1 -1
  53. package/lib/language/ru-RU.min.js +1 -1
  54. package/lib/language/ru-RU.umd.js +1 -1
  55. package/lib/language/ug-CN.js +1 -1
  56. package/lib/language/ug-CN.min.js +1 -1
  57. package/lib/language/uk-UA.js +1 -1
  58. package/lib/language/uk-UA.min.js +1 -1
  59. package/lib/language/uk-UA.umd.js +1 -1
  60. package/lib/language/vi-VN.js +1 -1
  61. package/lib/language/vi-VN.min.js +1 -1
  62. package/lib/language/zh-CHT.js +1 -1
  63. package/lib/language/zh-CHT.min.js +1 -1
  64. package/lib/language/zh-CN.js +1 -1
  65. package/lib/language/zh-CN.min.js +1 -1
  66. package/lib/language/zh-CN.umd.js +1 -1
  67. package/lib/number-input/src/number-input.js +43 -12
  68. package/lib/number-input/src/number-input.min.js +1 -1
  69. package/lib/style.css +1 -1
  70. package/lib/style.min.css +1 -1
  71. package/lib/ui/index.js +1 -1
  72. package/lib/ui/index.min.js +1 -1
  73. package/lib/ui/src/log.js +1 -1
  74. package/lib/ui/src/log.min.js +1 -1
  75. package/package.json +1 -1
  76. package/packages/language/ar-EG.ts +1 -1
  77. package/packages/language/de-DE.ts +1 -1
  78. package/packages/language/es-ES.ts +2 -2
  79. package/packages/language/fr-FR.ts +1 -1
  80. package/packages/language/hu-HU.ts +1 -1
  81. package/packages/language/hy-AM.ts +1 -1
  82. package/packages/language/ja-JP.ts +1 -1
  83. package/packages/language/ko-KR.ts +1 -1
  84. package/packages/language/nb-NO.ts +1 -1
  85. package/packages/language/pt-BR.ts +1 -1
  86. package/packages/language/ru-RU.ts +1 -1
  87. package/packages/language/ug-CN.ts +1 -1
  88. package/packages/language/uk-UA.ts +1 -1
  89. package/packages/language/vi-VN.ts +1 -1
  90. package/packages/language/zh-CHT.ts +1 -1
  91. package/packages/language/zh-CN.ts +1 -1
  92. package/packages/number-input/src/number-input.ts +37 -11
  93. package/types/components/number-input.d.ts +2 -1
  94. package/types/components/table.d.ts +11 -0
  95. /package/es/icon/{iconfont.1733649307867.ttf → iconfont.1733730293837.ttf} +0 -0
  96. /package/es/icon/{iconfont.1733649307867.woff → iconfont.1733730293837.woff} +0 -0
  97. /package/es/icon/{iconfont.1733649307867.woff2 → iconfont.1733730293837.woff2} +0 -0
  98. /package/es/{iconfont.1733649307867.ttf → iconfont.1733730293837.ttf} +0 -0
  99. /package/es/{iconfont.1733649307867.woff → iconfont.1733730293837.woff} +0 -0
  100. /package/es/{iconfont.1733649307867.woff2 → iconfont.1733730293837.woff2} +0 -0
  101. /package/lib/icon/style/{iconfont.1733649307867.ttf → iconfont.1733730293837.ttf} +0 -0
  102. /package/lib/icon/style/{iconfont.1733649307867.woff → iconfont.1733730293837.woff} +0 -0
  103. /package/lib/icon/style/{iconfont.1733649307867.woff2 → iconfont.1733730293837.woff2} +0 -0
  104. /package/lib/{iconfont.1733649307867.ttf → iconfont.1733730293837.ttf} +0 -0
  105. /package/lib/{iconfont.1733649307867.woff → iconfont.1733730293837.woff} +0 -0
  106. /package/lib/{iconfont.1733649307867.woff2 → iconfont.1733730293837.woff2} +0 -0
@@ -73,7 +73,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
73
73
  // float
74
74
  digits: {
75
75
  type: [String, Number],
76
- default: () => (0, _ui.getConfig)().numberInput.digits
76
+ default: null
77
77
  },
78
78
  prefixIcon: String,
79
79
  suffixIcon: String,
@@ -95,6 +95,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
95
95
  computeSize
96
96
  } = (0, _ui.useSize)(props);
97
97
  const reactData = (0, _vue.reactive)({
98
+ isFocus: false,
98
99
  isActivated: false,
99
100
  inputValue: props.modelValue
100
101
  });
@@ -142,17 +143,37 @@ var _default = exports.default = (0, _vue.defineComponent)({
142
143
  return disabled;
143
144
  });
144
145
  const computeDigitsValue = (0, _vue.computed)(() => {
145
- return _xeUtils.default.toInteger(props.digits) || 1;
146
+ const {
147
+ type,
148
+ digits
149
+ } = props;
150
+ let defDigits = digits;
151
+ if (defDigits === null) {
152
+ defDigits = (0, _ui.getConfig)().numberInput.digits;
153
+ if (defDigits === null) {
154
+ if (type === 'amount') {
155
+ defDigits = 2;
156
+ }
157
+ }
158
+ }
159
+ return _xeUtils.default.toInteger(defDigits) || 1;
160
+ });
161
+ const computeDecimalsType = (0, _vue.computed)(() => {
162
+ const {
163
+ type
164
+ } = props;
165
+ return type === 'float' || type === 'amount';
146
166
  });
147
167
  const computeStepValue = (0, _vue.computed)(() => {
148
168
  const {
149
169
  type
150
170
  } = props;
151
171
  const digitsValue = computeDigitsValue.value;
172
+ const decimalsType = computeDecimalsType.value;
152
173
  const step = props.step;
153
174
  if (type === 'integer') {
154
175
  return _xeUtils.default.toInteger(step) || 1;
155
- } else if (type === 'float') {
176
+ } else if (decimalsType) {
156
177
  return _xeUtils.default.toNumber(step) || 1 / Math.pow(10, digitsValue);
157
178
  }
158
179
  return _xeUtils.default.toNumber(step) || 1;
@@ -190,10 +211,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
190
211
  });
191
212
  const computeInpImmediate = (0, _vue.computed)(() => {
192
213
  const {
193
- type,
194
214
  immediate
195
215
  } = props;
196
- return immediate || !(type === 'number' || type === 'integer' || type === 'float');
216
+ return immediate;
197
217
  });
198
218
  const computeNumValue = (0, _vue.computed)(() => {
199
219
  const {
@@ -205,9 +225,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
205
225
  return type === 'integer' ? _xeUtils.default.toInteger((0, _util.handleNumber)(inputValue)) : _xeUtils.default.toNumber((0, _util.handleNumber)(inputValue));
206
226
  });
207
227
  const computeNumLabel = (0, _vue.computed)(() => {
228
+ const {
229
+ type
230
+ } = props;
208
231
  const {
209
232
  inputValue
210
233
  } = reactData;
234
+ const digitsValue = computeDigitsValue.value;
235
+ if (type === 'amount') {
236
+ return _xeUtils.default.commafy(_xeUtils.default.toNumber(inputValue), {
237
+ digits: digitsValue
238
+ });
239
+ }
211
240
  return _xeUtils.default.toString(inputValue);
212
241
  });
213
242
  const computeIsDisabledSubtractNumber = (0, _vue.computed)(() => {
@@ -246,12 +275,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
246
275
  };
247
276
  const getNumberValue = val => {
248
277
  const {
249
- type,
250
278
  exponential
251
279
  } = props;
252
280
  const inpMaxLength = computeInpMaxLength.value;
253
281
  const digitsValue = computeDigitsValue.value;
254
- const restVal = type === 'float' ? (0, _util.toFloatValueFixed)(val, digitsValue) : handleNumberString(val);
282
+ const decimalsType = computeDecimalsType.value;
283
+ const restVal = decimalsType ? (0, _util.toFloatValueFixed)(val, digitsValue) : handleNumberString(val);
255
284
  if (exponential && (val === restVal || handleNumberString(val).toLowerCase() === _xeUtils.default.toNumber(restVal).toExponential())) {
256
285
  return val;
257
286
  }
@@ -313,6 +342,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
313
342
  }
314
343
  };
315
344
  const focusEvent = evnt => {
345
+ reactData.isFocus = true;
316
346
  reactData.isActivated = true;
317
347
  triggerEvent(evnt);
318
348
  };
@@ -349,14 +379,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
349
379
  * 检查初始值
350
380
  */
351
381
  const initValue = () => {
352
- const {
353
- type
354
- } = props;
355
382
  const {
356
383
  inputValue
357
384
  } = reactData;
358
385
  const digitsValue = computeDigitsValue.value;
359
- if (type === 'float') {
386
+ const decimalsType = computeDecimalsType.value;
387
+ if (decimalsType) {
360
388
  if (inputValue) {
361
389
  let textValue = '';
362
390
  let validValue = null;
@@ -432,6 +460,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
432
460
  handleChange(value, handleNumberString(inputValue), evnt);
433
461
  }
434
462
  afterCheckValue();
463
+ reactData.isFocus = false;
435
464
  reactData.isActivated = false;
436
465
  numberInputMethods.dispatchEvent('blur', {
437
466
  value
@@ -745,6 +774,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
745
774
  } = props;
746
775
  const {
747
776
  inputValue,
777
+ isFocus,
748
778
  isActivated
749
779
  } = reactData;
750
780
  const vSize = computeSize.value;
@@ -781,7 +811,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
781
811
  }, [(0, _vue.h)('input', {
782
812
  ref: refInputTarget,
783
813
  class: 'vxe-number-input--inner',
784
- value: inputValue,
814
+ value: !isFocus && type === 'amount' ? numLabel : inputValue,
785
815
  name,
786
816
  type: 'text',
787
817
  placeholder: inpPlaceholder,
@@ -816,6 +846,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
816
846
  _ui.globalEvents.on($xeNumberInput, 'blur', handleGlobalBlurEvent);
817
847
  });
818
848
  (0, _vue.onBeforeUnmount)(() => {
849
+ reactData.isFocus = false;
819
850
  numberStopDown();
820
851
  afterCheckValue();
821
852
  _ui.globalEvents.off($xeNumberInput, 'mousedown');
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_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,_vue.defineComponent)({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:[String,Number],autoComplete:{type:String,default:"off"},align:String,form:String,className:String,size:{type:String,default:()=>(0,_ui.getConfig)().numberInput.size||(0,_ui.getConfig)().size},multiple:Boolean,min:{type:[String,Number],default:null},max:{type:[String,Number],default:null},step:[String,Number],exponential:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.exponential},controls:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.controls},digits:{type:[String,Number],default:()=>(0,_ui.getConfig)().numberInput.digits},prefixIcon:String,suffixIcon:String,maxlength:[String,Number],autocomplete:String},emits:["update:modelValue","input","change","keydown","keyup","wheel","click","focus","blur","clear","prev-number","next-number","prefix-click","suffix-click"],setup(N,e){const{slots:h,emit:a}=e,i=(0,_vue.inject)("$xeForm",null),n=(0,_vue.inject)("xeFormItemInfo",null);var q=_xeUtils.default.uniqueId();const O=(0,_ui.useSize)(N)["computeSize"],y=(0,_vue.reactive)({isActivated:!1,inputValue:N.modelValue}),u={dnTimeout:void 0},V=(0,_vue.ref)(),U=(0,_vue.ref)(),R=(0,_vue.ref)(),M={refElem:V,refInput:U},l={xID:q,props:N,context:e,reactData:y,internalData:u,getRefMaps:()=>M};let r={};const I=(0,_vue.computed)(()=>{var e=N["readonly"];return null===e?!!i&&i.props.readonly:e}),S=(0,_vue.computed)(()=>{var e=N["disabled"];return null===e?!!i&&i.props.disabled:e}),o=(0,_vue.computed)(()=>_xeUtils.default.toInteger(N.digits)||1),D=(0,_vue.computed)(()=>{var e=N["type"],t=o.value,u=N.step;return"integer"===e?_xeUtils.default.toInteger(u)||1:"float"===e?_xeUtils.default.toNumber(u)||1/Math.pow(10,t):_xeUtils.default.toNumber(u)||1}),T=(0,_vue.computed)(()=>N.clearable),A=(0,_vue.computed)(()=>{var e=N["multiple"];return I.value||e}),P=(0,_vue.computed)(()=>{var e=N["placeholder"];return(e=e||(0,_ui.getConfig)().numberInput.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseInput")}),C=(0,_vue.computed)(()=>{var{maxLength:e,maxlength:t}=N;return _xeUtils.default.toNumber(e||t)||16}),v=(0,_vue.computed)(()=>{var{type:e,immediate:t}=N;return t||!("number"===e||"integer"===e||"float"===e)}),s=(0,_vue.computed)(()=>{var e=N["type"],t=y["inputValue"];return"integer"===e?_xeUtils.default.toInteger((0,_util.handleNumber)(t)):_xeUtils.default.toNumber((0,_util.handleNumber)(t))}),Y=(0,_vue.computed)(()=>{var e=y["inputValue"];return _xeUtils.default.toString(e)}),d=(0,_vue.computed)(()=>{var e=N["min"],t=y["inputValue"],u=s.value;return!(!t&&0!==t||null===e)&&u<=_xeUtils.default.toNumber(e)}),_=(0,_vue.computed)(()=>{var e=N["max"],t=y["inputValue"],u=s.value;return!(!t&&0!==t||null===e)&&u>=_xeUtils.default.toNumber(e)}),p=e=>_xeUtils.default.eqNull(e)?"":""+e,c=e=>{var{type:t,exponential:u}=N,l=C.value,a=o.value,t="float"===t?(0,_util.toFloatValueFixed)(e,a):p(e);return!u||e!==t&&p(e).toLowerCase()!==_xeUtils.default.toNumber(t).toExponential()?t.slice(0,l):e},m=e=>{var t=y["inputValue"];r.dispatchEvent(e.type,{value:t},e)},f=(e,t,u)=>{var e=(0,_utils.eqEmptyValue)(e)?null:Number(e),l=e!==N.modelValue;l&&a("update:modelValue",e),y.inputValue!==t&&(0,_vue.nextTick)(()=>{y.inputValue=t||""}),r.dispatchEvent("input",{value:e},u),l&&(r.dispatchEvent("change",{value:e},u),i)&&n&&i.triggerItemEvent(u,n.itemConfig.field,e)},b=(e,t)=>{var u=v.value,l=""===e||_xeUtils.default.eqNull(e)?null:_xeUtils.default.toNumber(e);y.inputValue=e,u?f(l,e,t):r.dispatchEvent("input",{value:l},t)},F=e=>{var t=e.target.value;b(t,e)},G=e=>{v.value||m(e)},W=e=>{y.isActivated=!0,m(e)},z=e=>{var t;S.value||(t=y["inputValue"],r.dispatchEvent("prefix-click",{value:t},e))},w=(e,t)=>{focus(),f(null,"",e),r.dispatchEvent("clear",{value:t},e)},j=e=>{var t;S.value||(t=y["inputValue"],r.dispatchEvent("suffix-click",{value:t},e))},t=()=>{var e=N["type"],u=y["inputValue"],l=o.value;if("float"===e&&u){let e="",t=null;u&&(e=(0,_util.toFloatValueFixed)(u,l),t=Number(e)),u!==t&&f(t,e,{type:"init"})}},x=e=>null===N.max||_xeUtils.default.toNumber(e)<=_xeUtils.default.toNumber(N.max),g=e=>null===N.min||_xeUtils.default.toNumber(e)>=_xeUtils.default.toNumber(N.min),E=()=>{var{type:t,min:u,max:l,exponential:a}=N,i=y["inputValue"];if(!A.value)if((0,_utils.eqEmptyValue)(i)){let e=null,t=i;!u&&0!==u||(e=_xeUtils.default.toNumber(u),t=""+e),void f(e,""+(t||""),{type:"check"})}else if(i||u||l){let e="integer"===t?_xeUtils.default.toInteger((0,_util.handleNumber)(i)):_xeUtils.default.toNumber((0,_util.handleNumber)(i));g(e)?x(e)||(e=l):e=u,a&&(t=p(i).toLowerCase())===_xeUtils.default.toNumber(e).toExponential()&&(e=t);l=c(e);f((0,_utils.eqEmptyValue)(l)?null:Number(l),l,{type:"check"})}},$=e=>{var t=y["inputValue"],u=v.value,l=t?Number(t):null;u||f(l,p(t),e),E(),y.isActivated=!1,r.dispatchEvent("blur",{value:l},e),i&&n&&i.triggerItemEvent(e,n.itemConfig.field,l)},L=(e,t)=>{var{min:u,max:l,type:a}=N,i=y["inputValue"],n=D.value,a="integer"===a?_xeUtils.default.toInteger((0,_util.handleNumber)(i)):_xeUtils.default.toNumber((0,_util.handleNumber)(i)),i=e?_xeUtils.default.add(a,n):_xeUtils.default.subtract(a,n);let r;r=g(i)?x(i)?i:l:u,b(c(r),t)},k=e=>{var t=S.value,u=I.value,l=d.value;K(),t||u||l||L(!1,e),r.dispatchEvent("next-number",{value:y.inputValue},e)},X=e=>{u.dnTimeout=window.setTimeout(()=>{k(e),X(e)},60)},B=e=>{var t=S.value,u=I.value,l=_.value;K(),t||u||l||L(!0,e),r.dispatchEvent("prev-number",{value:y.inputValue},e)},H=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?B:k)(e))},J=e=>{var{exponential:t,controls:u}=N,l=e.ctrlKey,a=e.shiftKey,i=e.altKey,n=e.keyCode,r=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),o=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),v=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);l||a||i||!(_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.SPACEBAR)||(!t||69!==n)&&65<=n&&n<=90||186<=n&&n<=188||191<=n)||e.preventDefault(),r?E():(o||v)&&u&&H(e),m(e)},Q=e=>{m(e)},K=()=>{var e=u["dnTimeout"];e&&(clearTimeout(e),u.dnTimeout=void 0)},Z=e=>{u.dnTimeout=window.setTimeout(()=>{B(e),Z(e)},60)},ee=e=>{if(K(),0===e.button){const t=(0,_dom.hasClass)(e.currentTarget,"is--prev");(t?B:k)(e),u.dnTimeout=window.setTimeout(()=>{(t?Z:X)(e)},500)}},te=e=>{var t;N.controls&&y.isActivated&&(0<(t=e.deltaY)?k(e):t<0&&B(e),e.preventDefault()),m(e)},ue=e=>{m(e)},le=e=>{var t=y["isActivated"],u=V.value,l=R.value;!S.value&&t&&(y.isActivated=(0,_dom.getEventTargetNode)(e,u).flag||(0,_dom.getEventTargetNode)(e,l).flag,y.isActivated||E())},ae=t=>{var u=N["clearable"];if(!S.value){var l=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.TAB),a=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.DELETE);let e=y.isActivated;l&&(e&&E(),e=!1,y.isActivated=e),a&&u&&e&&w(t,null)}},ie=()=>{var e=y["isActivated"];e&&E()},ne=()=>{var e,t=N["controls"];return t?(t=_.value,e=d.value,(0,_vue.h)("div",{class:"vxe-input--control-icon"},[(0,_vue.h)("div",{class:"vxe-input--number-icon"},[(0,_vue.h)("div",{class:["vxe-input--number-btn is--prev",{"is--disabled":t}],onMousedown:ee,onMouseup:K,onMouseleave:K},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().NUMBER_INPUT_PREV_NUM})]),(0,_vue.h)("div",{class:["vxe-input--number-btn is--next",{"is--disabled":e}],onMousedown:ee,onMouseup:K,onMouseleave:K},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().NUMBER_INPUT_NEXT_NUM})])])])):(0,_vue.createCommentVNode)()};r={dispatchEvent:(e,t,u)=>{a(e,(0,_ui.createEvent)(u,{$numberInput:l},t))},focus(){var e=U.value;return y.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return U.value.blur(),(y.isActivated=!1,_vue.nextTick)()},select(){return U.value.select(),(y.isActivated=!1,_vue.nextTick)()}},Object.assign(l,r);return l.renderVN=()=>{var e,t,u,l,a,i,n,r,{className:o,controls:v,type:s,align:d,name:_,autocomplete:p,autoComplete:c}=N,{inputValue:m,isActivated:f}=y,b=O.value,x=S.value,g=I.value,E=Y.value;return g?(0,_vue.h)("div",{ref:V,class:["vxe-number-input--readonly","type--"+s,o]},E):(g=A.value,E=C.value,e=P.value,t=T.value,l=N.prefixIcon,u=(u=h.prefix)||l?(0,_vue.h)("div",{class:"vxe-number-input--prefix",onClick:z},[(0,_vue.h)("div",{class:"vxe-number-input--prefix-icon"},u?(0,_vn.getSlotVNs)(u({})):[(0,_vue.h)("i",{class:l})])]):null,l=N.suffixIcon,a=y.inputValue,i=h.suffix,n=S.value,r=T.value,n=(0,_vue.h)("div",{class:["vxe-number-input--suffix",{"is--clear":r&&!n&&!(""===a||_xeUtils.default.eqNull(a))}]},[r?(0,_vue.h)("div",{class:"vxe-number-input--clear-icon",onClick:w},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_vue.createCommentVNode)(),ne(),i||l?(0,_vue.h)("div",{class:"vxe-number-input--suffix-icon",onClick:j},i?(0,_vn.getSlotVNs)(i({})):[(0,_vue.h)("i",{class:l})]):(0,_vue.createCommentVNode)()]),(0,_vue.h)("div",{ref:V,class:["vxe-number-input","type--"+s,o,{["size--"+b]:b,["is--"+d]:d,"is--controls":v,"is--prefix":!!u,"is--suffix":!!n,"is--disabled":x,"is--active":f,"show--clear":t&&!x&&!(""===m||_xeUtils.default.eqNull(m))}],spellcheck:!1},[u||(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-number-input--wrapper"},[(0,_vue.h)("input",{ref:U,class:"vxe-number-input--inner",value:m,name:_,type:"text",placeholder:e,maxlength:E,readonly:g,disabled:x,autocomplete:c||p,onKeydown:J,onKeyup:Q,onWheel:te,onClick:ue,onInput:F,onChange:G,onFocus:W,onBlur:$})]),n||(0,_vue.createCommentVNode)()]))},(0,_vue.watch)(()=>N.modelValue,e=>{y.inputValue=e}),(0,_vue.watch)(()=>N.type,()=>{Object.assign(y,{inputValue:N.modelValue}),t()}),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(l,"mousedown",le),_ui.globalEvents.on(l,"keydown",ae),_ui.globalEvents.on(l,"blur",ie)}),(0,_vue.onBeforeUnmount)(()=>{K(),E(),_ui.globalEvents.off(l,"mousedown"),_ui.globalEvents.off(l,"keydown"),_ui.globalEvents.off(l,"blur")}),t(),l},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_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,_vue.defineComponent)({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:[String,Number],autoComplete:{type:String,default:"off"},align:String,form:String,className:String,size:{type:String,default:()=>(0,_ui.getConfig)().numberInput.size||(0,_ui.getConfig)().size},multiple:Boolean,min:{type:[String,Number],default:null},max:{type:[String,Number],default:null},step:[String,Number],exponential:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.exponential},controls:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.controls},digits:{type:[String,Number],default:null},prefixIcon:String,suffixIcon:String,maxlength:[String,Number],autocomplete:String},emits:["update:modelValue","input","change","keydown","keyup","wheel","click","focus","blur","clear","prev-number","next-number","prefix-click","suffix-click"],setup(y,e){const{slots:V,emit:a}=e,i=(0,_vue.inject)("$xeForm",null),n=(0,_vue.inject)("xeFormItemInfo",null);var q=_xeUtils.default.uniqueId();const O=(0,_ui.useSize)(y)["computeSize"],U=(0,_vue.reactive)({isFocus:!1,isActivated:!1,inputValue:y.modelValue}),u={dnTimeout:void 0},I=(0,_vue.ref)(),S=(0,_vue.ref)(),R=(0,_vue.ref)(),M={refElem:I,refInput:S},l={xID:q,props:y,context:e,reactData:U,internalData:u,getRefMaps:()=>M};let r={};const T=(0,_vue.computed)(()=>{var e=y["readonly"];return null===e?!!i&&i.props.readonly:e}),A=(0,_vue.computed)(()=>{var e=y["disabled"];return null===e?!!i&&i.props.disabled:e}),o=(0,_vue.computed)(()=>{var{type:e,digits:t}=y;let u=t;return null===u&&null===(u=(0,_ui.getConfig)().numberInput.digits)&&"amount"===e&&(u=2),_xeUtils.default.toInteger(u)||1}),s=(0,_vue.computed)(()=>{var e=y["type"];return"float"===e||"amount"===e}),F=(0,_vue.computed)(()=>{var e=y["type"],t=o.value,u=s.value,l=y.step;return"integer"===e?_xeUtils.default.toInteger(l)||1:u?_xeUtils.default.toNumber(l)||1/Math.pow(10,t):_xeUtils.default.toNumber(l)||1}),C=(0,_vue.computed)(()=>y.clearable),w=(0,_vue.computed)(()=>{var e=y["multiple"];return T.value||e}),D=(0,_vue.computed)(()=>{var e=y["placeholder"];return(e=e||(0,_ui.getConfig)().numberInput.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseInput")}),L=(0,_vue.computed)(()=>{var{maxLength:e,maxlength:t}=y;return _xeUtils.default.toNumber(e||t)||16}),v=(0,_vue.computed)(()=>{var e=y["immediate"];return e}),d=(0,_vue.computed)(()=>{var e=y["type"],t=U["inputValue"];return"integer"===e?_xeUtils.default.toInteger((0,_util.handleNumber)(t)):_xeUtils.default.toNumber((0,_util.handleNumber)(t))}),P=(0,_vue.computed)(()=>{var e=y["type"],t=U["inputValue"],u=o.value;return"amount"===e?_xeUtils.default.commafy(_xeUtils.default.toNumber(t),{digits:u}):_xeUtils.default.toString(t)}),_=(0,_vue.computed)(()=>{var e=y["min"],t=U["inputValue"],u=d.value;return!(!t&&0!==t||null===e)&&u<=_xeUtils.default.toNumber(e)}),p=(0,_vue.computed)(()=>{var e=y["max"],t=U["inputValue"],u=d.value;return!(!t&&0!==t||null===e)&&u>=_xeUtils.default.toNumber(e)}),c=e=>_xeUtils.default.eqNull(e)?"":""+e,m=e=>{var t=y["exponential"],u=L.value,l=o.value,l=s.value?(0,_util.toFloatValueFixed)(e,l):c(e);return!t||e!==l&&c(e).toLowerCase()!==_xeUtils.default.toNumber(l).toExponential()?l.slice(0,u):e},f=e=>{var t=U["inputValue"];r.dispatchEvent(e.type,{value:t},e)},x=(e,t,u)=>{var e=(0,_utils.eqEmptyValue)(e)?null:Number(e),l=e!==y.modelValue;l&&a("update:modelValue",e),U.inputValue!==t&&(0,_vue.nextTick)(()=>{U.inputValue=t||""}),r.dispatchEvent("input",{value:e},u),l&&(r.dispatchEvent("change",{value:e},u),i)&&n&&i.triggerItemEvent(u,n.itemConfig.field,e)},b=(e,t)=>{var u=v.value,l=""===e||_xeUtils.default.eqNull(e)?null:_xeUtils.default.toNumber(e);U.inputValue=e,u?x(l,e,t):r.dispatchEvent("input",{value:l},t)},Y=e=>{var t=e.target.value;b(t,e)},G=e=>{v.value||f(e)},W=e=>{U.isFocus=!0,U.isActivated=!0,f(e)},z=e=>{var t;A.value||(t=U["inputValue"],r.dispatchEvent("prefix-click",{value:t},e))},k=(e,t)=>{focus(),x(null,"",e),r.dispatchEvent("clear",{value:t},e)},j=e=>{var t;A.value||(t=U["inputValue"],r.dispatchEvent("suffix-click",{value:t},e))},t=()=>{var u=U["inputValue"],l=o.value,e=s.value;if(e&&u){let e="",t=null;u&&(e=(0,_util.toFloatValueFixed)(u,l),t=Number(e)),u!==t&&x(t,e,{type:"init"})}},g=e=>null===y.max||_xeUtils.default.toNumber(e)<=_xeUtils.default.toNumber(y.max),E=e=>null===y.min||_xeUtils.default.toNumber(e)>=_xeUtils.default.toNumber(y.min),N=()=>{var{type:t,min:u,max:l,exponential:a}=y,i=U["inputValue"];if(!w.value)if((0,_utils.eqEmptyValue)(i)){let e=null,t=i;!u&&0!==u||(e=_xeUtils.default.toNumber(u),t=""+e),void x(e,""+(t||""),{type:"check"})}else if(i||u||l){let e="integer"===t?_xeUtils.default.toInteger((0,_util.handleNumber)(i)):_xeUtils.default.toNumber((0,_util.handleNumber)(i));E(e)?g(e)||(e=l):e=u,a&&(t=c(i).toLowerCase())===_xeUtils.default.toNumber(e).toExponential()&&(e=t);l=m(e);x((0,_utils.eqEmptyValue)(l)?null:Number(l),l,{type:"check"})}},$=e=>{var t=U["inputValue"],u=v.value,l=t?Number(t):null;u||x(l,c(t),e),N(),U.isFocus=!1,U.isActivated=!1,r.dispatchEvent("blur",{value:l},e),i&&n&&i.triggerItemEvent(e,n.itemConfig.field,l)},X=(e,t)=>{var{min:u,max:l,type:a}=y,i=U["inputValue"],n=F.value,a="integer"===a?_xeUtils.default.toInteger((0,_util.handleNumber)(i)):_xeUtils.default.toNumber((0,_util.handleNumber)(i)),i=e?_xeUtils.default.add(a,n):_xeUtils.default.subtract(a,n);let r;r=E(i)?g(i)?i:l:u,b(m(r),t)},h=e=>{var t=A.value,u=T.value,l=_.value;K(),t||u||l||X(!1,e),r.dispatchEvent("next-number",{value:U.inputValue},e)},H=e=>{u.dnTimeout=window.setTimeout(()=>{h(e),H(e)},60)},B=e=>{var t=A.value,u=T.value,l=p.value;K(),t||u||l||X(!0,e),r.dispatchEvent("prev-number",{value:U.inputValue},e)},J=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?B:h)(e))},Q=e=>{var{exponential:t,controls:u}=y,l=e.ctrlKey,a=e.shiftKey,i=e.altKey,n=e.keyCode,r=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),o=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),s=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);l||a||i||!(_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.SPACEBAR)||(!t||69!==n)&&65<=n&&n<=90||186<=n&&n<=188||191<=n)||e.preventDefault(),r?N():(o||s)&&u&&J(e),f(e)},Z=e=>{f(e)},K=()=>{var e=u["dnTimeout"];e&&(clearTimeout(e),u.dnTimeout=void 0)},ee=e=>{u.dnTimeout=window.setTimeout(()=>{B(e),ee(e)},60)},te=e=>{if(K(),0===e.button){const t=(0,_dom.hasClass)(e.currentTarget,"is--prev");(t?B:h)(e),u.dnTimeout=window.setTimeout(()=>{(t?ee:H)(e)},500)}},ue=e=>{var t;y.controls&&U.isActivated&&(0<(t=e.deltaY)?h(e):t<0&&B(e),e.preventDefault()),f(e)},le=e=>{f(e)},ae=e=>{var t=U["isActivated"],u=I.value,l=R.value;!A.value&&t&&(U.isActivated=(0,_dom.getEventTargetNode)(e,u).flag||(0,_dom.getEventTargetNode)(e,l).flag,U.isActivated||N())},ie=t=>{var u=y["clearable"];if(!A.value){var l=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.TAB),a=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.DELETE);let e=U.isActivated;l&&(e&&N(),e=!1,U.isActivated=e),a&&u&&e&&k(t,null)}},ne=()=>{var e=U["isActivated"];e&&N()},re=()=>{var e,t=y["controls"];return t?(t=p.value,e=_.value,(0,_vue.h)("div",{class:"vxe-input--control-icon"},[(0,_vue.h)("div",{class:"vxe-input--number-icon"},[(0,_vue.h)("div",{class:["vxe-input--number-btn is--prev",{"is--disabled":t}],onMousedown:te,onMouseup:K,onMouseleave:K},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().NUMBER_INPUT_PREV_NUM})]),(0,_vue.h)("div",{class:["vxe-input--number-btn is--next",{"is--disabled":e}],onMousedown:te,onMouseup:K,onMouseleave:K},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().NUMBER_INPUT_NEXT_NUM})])])])):(0,_vue.createCommentVNode)()};r={dispatchEvent:(e,t,u)=>{a(e,(0,_ui.createEvent)(u,{$numberInput:l},t))},focus(){var e=S.value;return U.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return S.value.blur(),(U.isActivated=!1,_vue.nextTick)()},select(){return S.value.select(),(U.isActivated=!1,_vue.nextTick)()}},Object.assign(l,r);return l.renderVN=()=>{var e,t,u,l,a,i,n,r,o,{className:s,controls:v,type:d,align:_,name:p,autocomplete:c,autoComplete:m}=y,{inputValue:f,isFocus:x,isActivated:b}=U,g=O.value,E=A.value,N=T.value,h=P.value;return N?(0,_vue.h)("div",{ref:I,class:["vxe-number-input--readonly","type--"+d,s]},h):(N=w.value,e=L.value,t=D.value,u=C.value,a=y.prefixIcon,l=(l=V.prefix)||a?(0,_vue.h)("div",{class:"vxe-number-input--prefix",onClick:z},[(0,_vue.h)("div",{class:"vxe-number-input--prefix-icon"},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:a})])]):null,a=y.suffixIcon,i=U.inputValue,n=V.suffix,r=A.value,o=C.value,r=(0,_vue.h)("div",{class:["vxe-number-input--suffix",{"is--clear":o&&!r&&!(""===i||_xeUtils.default.eqNull(i))}]},[o?(0,_vue.h)("div",{class:"vxe-number-input--clear-icon",onClick:k},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_vue.createCommentVNode)(),re(),n||a?(0,_vue.h)("div",{class:"vxe-number-input--suffix-icon",onClick:j},n?(0,_vn.getSlotVNs)(n({})):[(0,_vue.h)("i",{class:a})]):(0,_vue.createCommentVNode)()]),(0,_vue.h)("div",{ref:I,class:["vxe-number-input","type--"+d,s,{["size--"+g]:g,["is--"+_]:_,"is--controls":v,"is--prefix":!!l,"is--suffix":!!r,"is--disabled":E,"is--active":b,"show--clear":u&&!E&&!(""===f||_xeUtils.default.eqNull(f))}],spellcheck:!1},[l||(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-number-input--wrapper"},[(0,_vue.h)("input",{ref:S,class:"vxe-number-input--inner",value:x||"amount"!==d?f:h,name:p,type:"text",placeholder:t,maxlength:e,readonly:N,disabled:E,autocomplete:m||c,onKeydown:Q,onKeyup:Z,onWheel:ue,onClick:le,onInput:Y,onChange:G,onFocus:W,onBlur:$})]),r||(0,_vue.createCommentVNode)()]))},(0,_vue.watch)(()=>y.modelValue,e=>{U.inputValue=e}),(0,_vue.watch)(()=>y.type,()=>{Object.assign(U,{inputValue:y.modelValue}),t()}),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(l,"mousedown",ae),_ui.globalEvents.on(l,"keydown",ie),_ui.globalEvents.on(l,"blur",ne)}),(0,_vue.onBeforeUnmount)(()=>{U.isFocus=!1,K(),N(),_ui.globalEvents.off(l,"mousedown"),_ui.globalEvents.off(l,"keydown"),_ui.globalEvents.off(l,"blur")}),t(),l},render(){return this.renderVN()}});