index.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. var _typeof = require("@babel/runtime/helpers/typeof");
  4. Object.defineProperty(exports, "__esModule", {
  5. value: true
  6. });
  7. exports.inputNumberProps = exports.default = void 0;
  8. var _vue = require("vue");
  9. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  10. var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
  11. var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
  12. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  13. var _classNames5 = _interopRequireDefault(require("../_util/classNames"));
  14. var _UpOutlined = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/UpOutlined"));
  15. var _DownOutlined = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/DownOutlined"));
  16. var _InputNumber = _interopRequireWildcard(require("./src/InputNumber"));
  17. var _FormItemContext = require("../form/FormItemContext");
  18. var _useConfigInject2 = _interopRequireDefault(require("../_util/hooks/useConfigInject"));
  19. var _vnode = require("../_util/vnode");
  20. var _omit = _interopRequireDefault(require("../_util/omit"));
  21. var _vueTypes = _interopRequireDefault(require("../_util/vue-types"));
  22. var _isValidValue = _interopRequireDefault(require("../_util/isValidValue"));
  23. var _excluded = ["class", "bordered", "readonly", "style", "addonBefore", "addonAfter", "prefix", "valueModifiers"];
  24. function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
  25. function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
  26. var baseProps = (0, _InputNumber.inputNumberProps)();
  27. var inputNumberProps = function inputNumberProps() {
  28. return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, baseProps), {}, {
  29. size: {
  30. type: String
  31. },
  32. bordered: {
  33. type: Boolean,
  34. default: true
  35. },
  36. placeholder: String,
  37. name: String,
  38. id: String,
  39. type: String,
  40. addonBefore: _vueTypes.default.any,
  41. addonAfter: _vueTypes.default.any,
  42. prefix: _vueTypes.default.any,
  43. 'onUpdate:value': baseProps.onChange,
  44. valueModifiers: Object
  45. });
  46. };
  47. exports.inputNumberProps = inputNumberProps;
  48. var InputNumber = (0, _vue.defineComponent)({
  49. compatConfig: {
  50. MODE: 3
  51. },
  52. name: 'AInputNumber',
  53. inheritAttrs: false,
  54. props: inputNumberProps(),
  55. // emits: ['focus', 'blur', 'change', 'input', 'update:value'],
  56. slots: ['addonBefore', 'addonAfter', 'prefix'],
  57. setup: function setup(props, _ref) {
  58. var emit = _ref.emit,
  59. expose = _ref.expose,
  60. attrs = _ref.attrs,
  61. slots = _ref.slots;
  62. var formItemContext = (0, _FormItemContext.useInjectFormItemContext)();
  63. var _useConfigInject = (0, _useConfigInject2.default)('input-number', props),
  64. prefixCls = _useConfigInject.prefixCls,
  65. size = _useConfigInject.size,
  66. direction = _useConfigInject.direction;
  67. var mergedValue = (0, _vue.ref)(props.value === undefined ? props.defaultValue : props.value);
  68. var focused = (0, _vue.ref)(false);
  69. (0, _vue.watch)(function () {
  70. return props.value;
  71. }, function () {
  72. mergedValue.value = props.value;
  73. });
  74. var inputNumberRef = (0, _vue.ref)(null);
  75. var focus = function focus() {
  76. var _inputNumberRef$value;
  77. (_inputNumberRef$value = inputNumberRef.value) === null || _inputNumberRef$value === void 0 ? void 0 : _inputNumberRef$value.focus();
  78. };
  79. var blur = function blur() {
  80. var _inputNumberRef$value2;
  81. (_inputNumberRef$value2 = inputNumberRef.value) === null || _inputNumberRef$value2 === void 0 ? void 0 : _inputNumberRef$value2.blur();
  82. };
  83. expose({
  84. focus: focus,
  85. blur: blur
  86. });
  87. var handleChange = function handleChange(val) {
  88. if (props.value === undefined) {
  89. mergedValue.value = val;
  90. }
  91. emit('update:value', val);
  92. emit('change', val);
  93. formItemContext.onFieldChange();
  94. };
  95. var handleBlur = function handleBlur(e) {
  96. focused.value = false;
  97. emit('blur', e);
  98. formItemContext.onFieldBlur();
  99. };
  100. var handleFocus = function handleFocus(e) {
  101. focused.value = true;
  102. emit('focus', e);
  103. };
  104. return function () {
  105. var _slots$addonBefore, _slots$addonAfter, _slots$prefix, _classNames;
  106. var _attrs$props = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, attrs), props),
  107. className = _attrs$props.class,
  108. bordered = _attrs$props.bordered,
  109. readonly = _attrs$props.readonly,
  110. style = _attrs$props.style,
  111. _attrs$props$addonBef = _attrs$props.addonBefore,
  112. addonBefore = _attrs$props$addonBef === void 0 ? (_slots$addonBefore = slots.addonBefore) === null || _slots$addonBefore === void 0 ? void 0 : _slots$addonBefore.call(slots) : _attrs$props$addonBef,
  113. _attrs$props$addonAft = _attrs$props.addonAfter,
  114. addonAfter = _attrs$props$addonAft === void 0 ? (_slots$addonAfter = slots.addonAfter) === null || _slots$addonAfter === void 0 ? void 0 : _slots$addonAfter.call(slots) : _attrs$props$addonAft,
  115. _attrs$props$prefix = _attrs$props.prefix,
  116. prefix = _attrs$props$prefix === void 0 ? (_slots$prefix = slots.prefix) === null || _slots$prefix === void 0 ? void 0 : _slots$prefix.call(slots) : _attrs$props$prefix,
  117. _attrs$props$valueMod = _attrs$props.valueModifiers,
  118. valueModifiers = _attrs$props$valueMod === void 0 ? {} : _attrs$props$valueMod,
  119. others = (0, _objectWithoutProperties2.default)(_attrs$props, _excluded);
  120. var preCls = prefixCls.value;
  121. var mergeSize = size.value;
  122. var inputNumberClass = (0, _classNames5.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(preCls, "-lg"), mergeSize === 'large'), (0, _defineProperty2.default)(_classNames, "".concat(preCls, "-sm"), mergeSize === 'small'), (0, _defineProperty2.default)(_classNames, "".concat(preCls, "-rtl"), direction.value === 'rtl'), (0, _defineProperty2.default)(_classNames, "".concat(preCls, "-readonly"), readonly), (0, _defineProperty2.default)(_classNames, "".concat(preCls, "-borderless"), !bordered), _classNames), className);
  123. var element = (0, _vue.createVNode)(_InputNumber.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _omit.default)(others, ['size', 'defaultValue'])), {}, {
  124. "ref": inputNumberRef,
  125. "lazy": !!valueModifiers.lazy,
  126. "value": mergedValue.value,
  127. "class": inputNumberClass,
  128. "prefixCls": preCls,
  129. "readonly": readonly,
  130. "onChange": handleChange,
  131. "onBlur": handleBlur,
  132. "onFocus": handleFocus
  133. }), {
  134. upHandler: function upHandler() {
  135. return (0, _vue.createVNode)(_UpOutlined.default, {
  136. "class": "".concat(preCls, "-handler-up-inner")
  137. }, null);
  138. },
  139. downHandler: function downHandler() {
  140. return (0, _vue.createVNode)(_DownOutlined.default, {
  141. "class": "".concat(preCls, "-handler-down-inner")
  142. }, null);
  143. }
  144. });
  145. var hasAddon = (0, _isValidValue.default)(addonBefore) || (0, _isValidValue.default)(addonAfter);
  146. if ((0, _isValidValue.default)(prefix)) {
  147. var _classNames2;
  148. var affixWrapperCls = (0, _classNames5.default)("".concat(preCls, "-affix-wrapper"), (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, "".concat(preCls, "-affix-wrapper-focused"), focused.value), (0, _defineProperty2.default)(_classNames2, "".concat(preCls, "-affix-wrapper-disabled"), props.disabled), (0, _defineProperty2.default)(_classNames2, "".concat(preCls, "-affix-wrapper-rtl"), direction.value === 'rtl'), (0, _defineProperty2.default)(_classNames2, "".concat(preCls, "-affix-wrapper-readonly"), readonly), (0, _defineProperty2.default)(_classNames2, "".concat(preCls, "-affix-wrapper-borderless"), !bordered), (0, _defineProperty2.default)(_classNames2, "".concat(className), !hasAddon && className), _classNames2));
  149. element = (0, _vue.createVNode)("div", {
  150. "class": affixWrapperCls,
  151. "style": style,
  152. "onMouseup": function onMouseup() {
  153. return inputNumberRef.value.focus();
  154. }
  155. }, [(0, _vue.createVNode)("span", {
  156. "class": "".concat(preCls, "-prefix")
  157. }, [prefix]), element]);
  158. }
  159. if (hasAddon) {
  160. var _classNames4;
  161. var wrapperClassName = "".concat(preCls, "-group");
  162. var addonClassName = "".concat(wrapperClassName, "-addon");
  163. var addonBeforeNode = addonBefore ? (0, _vue.createVNode)("div", {
  164. "class": addonClassName
  165. }, [addonBefore]) : null;
  166. var addonAfterNode = addonAfter ? (0, _vue.createVNode)("div", {
  167. "class": addonClassName
  168. }, [addonAfter]) : null;
  169. var mergedWrapperClassName = (0, _classNames5.default)("".concat(preCls, "-wrapper"), wrapperClassName, (0, _defineProperty2.default)({}, "".concat(wrapperClassName, "-rtl"), direction.value === 'rtl'));
  170. var mergedGroupClassName = (0, _classNames5.default)("".concat(preCls, "-group-wrapper"), (_classNames4 = {}, (0, _defineProperty2.default)(_classNames4, "".concat(preCls, "-group-wrapper-sm"), mergeSize === 'small'), (0, _defineProperty2.default)(_classNames4, "".concat(preCls, "-group-wrapper-lg"), mergeSize === 'large'), (0, _defineProperty2.default)(_classNames4, "".concat(preCls, "-group-wrapper-rtl"), direction.value === 'rtl'), _classNames4), className);
  171. element = (0, _vue.createVNode)("div", {
  172. "class": mergedGroupClassName,
  173. "style": style
  174. }, [(0, _vue.createVNode)("div", {
  175. "class": mergedWrapperClassName
  176. }, [addonBeforeNode, element, addonAfterNode])]);
  177. }
  178. return (0, _vnode.cloneElement)(element, {
  179. style: style
  180. });
  181. };
  182. }
  183. });
  184. var _default = (0, _extends2.default)(InputNumber, {
  185. install: function install(app) {
  186. app.component(InputNumber.name, InputNumber);
  187. return app;
  188. }
  189. });
  190. exports.default = _default;