Files
front/dist/assets/vendor/imask/esm/masked/pattern/fixed-definition.js
2022-04-07 14:11:14 +02:00

158 lines
4.4 KiB
JavaScript

import { _ as _createClass, a as _classCallCheck } from '../../_rollupPluginBabelHelpers-b054ecd2.js';
import ChangeDetails from '../../core/change-details.js';
import { DIRECTION, isString } from '../../core/utils.js';
import ContinuousTailDetails from '../../core/continuous-tail-details.js';
var PatternFixedDefinition = /*#__PURE__*/function () {
/** */
/** */
/** */
/** */
/** */
/** */
function PatternFixedDefinition(opts) {
_classCallCheck(this, PatternFixedDefinition);
Object.assign(this, opts);
this._value = '';
this.isFixed = true;
}
_createClass(PatternFixedDefinition, [{
key: "value",
get: function get() {
return this._value;
}
}, {
key: "unmaskedValue",
get: function get() {
return this.isUnmasking ? this.value : '';
}
}, {
key: "reset",
value: function reset() {
this._isRawInput = false;
this._value = '';
}
}, {
key: "remove",
value: function remove() {
var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length;
this._value = this._value.slice(0, fromPos) + this._value.slice(toPos);
if (!this._value) this._isRawInput = false;
return new ChangeDetails();
}
}, {
key: "nearestInputPos",
value: function nearestInputPos(cursorPos) {
var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE;
var minPos = 0;
var maxPos = this._value.length;
switch (direction) {
case DIRECTION.LEFT:
case DIRECTION.FORCE_LEFT:
return minPos;
case DIRECTION.NONE:
case DIRECTION.RIGHT:
case DIRECTION.FORCE_RIGHT:
default:
return maxPos;
}
}
}, {
key: "extractInput",
value: function extractInput() {
var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length;
var flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
return flags.raw && this._isRawInput && this._value.slice(fromPos, toPos) || '';
}
}, {
key: "isComplete",
get: function get() {
return true;
}
}, {
key: "isFilled",
get: function get() {
return Boolean(this._value);
}
}, {
key: "_appendChar",
value: function _appendChar(ch) {
var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var details = new ChangeDetails();
if (this._value) return details;
var appended = this.char === ch;
var isResolved = appended && (this.isUnmasking || flags.input || flags.raw) && !this.eager && !flags.tail;
if (isResolved) details.rawInserted = this.char;
this._value = details.inserted = this.char;
this._isRawInput = isResolved && (flags.raw || flags.input);
return details;
}
}, {
key: "_appendEager",
value: function _appendEager() {
return this._appendChar(this.char);
}
}, {
key: "_appendPlaceholder",
value: function _appendPlaceholder() {
var details = new ChangeDetails();
if (this._value) return details;
this._value = details.inserted = this.char;
return details;
}
}, {
key: "extractTail",
value: function extractTail() {
arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
return new ContinuousTailDetails('');
} // $FlowFixMe no ideas
}, {
key: "appendTail",
value: function appendTail(tail) {
if (isString(tail)) tail = new ContinuousTailDetails(String(tail));
return tail.appendTo(this);
}
}, {
key: "append",
value: function append(str, flags, tail) {
var details = this._appendChar(str[0], flags);
if (tail != null) {
details.tailShift += this.appendTail(tail).tailShift;
}
return details;
}
}, {
key: "doCommit",
value: function doCommit() {}
}, {
key: "state",
get: function get() {
return {
_value: this._value,
_isRawInput: this._isRawInput
};
},
set: function set(state) {
Object.assign(this, state);
}
}]);
return PatternFixedDefinition;
}();
export { PatternFixedDefinition as default };