linear-react-components-ui 2.0.0-beta.4 → 2.0.0-rc.0
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.
- package/lib/assets/styles/radio.css +1 -1
- package/lib/assets/styles/selectfield.css +1 -1
- package/lib/assets/styles/split.css +1 -1
- package/lib/form2/useForm/index.js +74 -63
- package/lib/form2/useForm/index.js.map +1 -1
- package/lib/inputs/base/types.d.ts +2 -2
- package/lib/inputs/date/helpers.js +11 -22
- package/lib/inputs/date/helpers.js.map +1 -1
- package/lib/inputs/mask/BaseMask.js +55 -65
- package/lib/inputs/mask/BaseMask.js.map +1 -1
- package/lib/inputs/mask/types.d.ts +2 -1
- package/lib/inputs/number/Currency.js +35 -45
- package/lib/inputs/number/Currency.js.map +1 -1
- package/lib/inputs/number/Decimal.js +38 -48
- package/lib/inputs/number/Decimal.js.map +1 -1
- package/lib/inputs/number/index.js +38 -48
- package/lib/inputs/number/index.js.map +1 -1
- package/lib/inputs/period/helper.d.ts +1 -0
- package/lib/inputs/period/helper.js +27 -19
- package/lib/inputs/period/helper.js.map +1 -1
- package/lib/inputs/period/index.js +143 -139
- package/lib/inputs/period/index.js.map +1 -1
- package/lib/inputs2/date/datefield/base.js +60 -70
- package/lib/inputs2/date/datefield/base.js.map +1 -1
- package/lib/inputs2/date/dateperiodfield/base.js +79 -89
- package/lib/inputs2/date/dateperiodfield/base.js.map +1 -1
- package/lib/inputs2/mask/Cnpj.js +58 -68
- package/lib/inputs2/mask/Cnpj.js.map +1 -1
- package/lib/inputs2/mask/Cpf.js +38 -48
- package/lib/inputs2/mask/Cpf.js.map +1 -1
- package/lib/inputs2/mask/index.js +50 -60
- package/lib/inputs2/mask/index.js.map +1 -1
- package/lib/inputs2/numberfield/currency.js +51 -61
- package/lib/inputs2/numberfield/currency.js.map +1 -1
- package/lib/inputs2/numberfield/decimal.js +25 -35
- package/lib/inputs2/numberfield/decimal.js.map +1 -1
- package/lib/inputs2/numberfield/index.js +46 -56
- package/lib/inputs2/numberfield/index.js.map +1 -1
- package/lib/inputs2/selectfield/base.d.ts +1 -2
- package/lib/inputs2/selectfield/base.js +260 -382
- package/lib/inputs2/selectfield/base.js.map +1 -1
- package/lib/inputs2/selectfield/context.d.ts +1 -1
- package/lib/inputs2/selectfield/context.js.map +1 -1
- package/lib/inputs2/selectfield/helpers.d.ts +5 -0
- package/lib/inputs2/selectfield/helpers.js +22 -13
- package/lib/inputs2/selectfield/helpers.js.map +1 -1
- package/lib/inputs2/selectfield/index.js.map +1 -1
- package/lib/inputs2/selectfield/listbox.js +17 -18
- package/lib/inputs2/selectfield/listbox.js.map +1 -1
- package/lib/inputs2/selectfield/selections.d.ts +1 -1
- package/lib/inputs2/selectfield/selections.js +11 -11
- package/lib/inputs2/selectfield/selections.js.map +1 -1
- package/lib/inputs2/selectfield/triggers.js +15 -15
- package/lib/inputs2/selectfield/triggers.js.map +1 -1
- package/lib/radio/index.js +74 -84
- package/lib/radio/index.js.map +1 -1
- package/lib/table/Row.js +57 -46
- package/lib/table/Row.js.map +1 -1
- package/lib/table/types.d.ts +2 -1
- package/package.json +9 -6
- package/lib/node_modules/imask/esm/controls/html-contenteditable-mask-element.js +0 -35
- package/lib/node_modules/imask/esm/controls/html-contenteditable-mask-element.js.map +0 -1
- package/lib/node_modules/imask/esm/controls/html-input-mask-element.js +0 -32
- package/lib/node_modules/imask/esm/controls/html-input-mask-element.js.map +0 -1
- package/lib/node_modules/imask/esm/controls/html-mask-element.js +0 -49
- package/lib/node_modules/imask/esm/controls/html-mask-element.js.map +0 -1
- package/lib/node_modules/imask/esm/controls/input-history.js +0 -31
- package/lib/node_modules/imask/esm/controls/input-history.js.map +0 -1
- package/lib/node_modules/imask/esm/controls/input.js +0 -223
- package/lib/node_modules/imask/esm/controls/input.js.map +0 -1
- package/lib/node_modules/imask/esm/controls/mask-element.js +0 -44
- package/lib/node_modules/imask/esm/controls/mask-element.js.map +0 -1
- package/lib/node_modules/imask/esm/core/action-details.js +0 -52
- package/lib/node_modules/imask/esm/core/action-details.js.map +0 -1
- package/lib/node_modules/imask/esm/core/change-details.js +0 -37
- package/lib/node_modules/imask/esm/core/change-details.js.map +0 -1
- package/lib/node_modules/imask/esm/core/continuous-tail-details.js +0 -43
- package/lib/node_modules/imask/esm/core/continuous-tail-details.js.map +0 -1
- package/lib/node_modules/imask/esm/core/holder.js +0 -7
- package/lib/node_modules/imask/esm/core/holder.js.map +0 -1
- package/lib/node_modules/imask/esm/core/utils.js +0 -68
- package/lib/node_modules/imask/esm/core/utils.js.map +0 -1
- package/lib/node_modules/imask/esm/index.js +0 -51
- package/lib/node_modules/imask/esm/index.js.map +0 -1
- package/lib/node_modules/imask/esm/masked/base.js +0 -253
- package/lib/node_modules/imask/esm/masked/base.js.map +0 -1
- package/lib/node_modules/imask/esm/masked/date.js +0 -118
- package/lib/node_modules/imask/esm/masked/date.js.map +0 -1
- package/lib/node_modules/imask/esm/masked/dynamic.js +0 -223
- package/lib/node_modules/imask/esm/masked/dynamic.js.map +0 -1
- package/lib/node_modules/imask/esm/masked/enum.js +0 -70
- package/lib/node_modules/imask/esm/masked/enum.js.map +0 -1
- package/lib/node_modules/imask/esm/masked/factory.js +0 -47
- package/lib/node_modules/imask/esm/masked/factory.js.map +0 -1
- package/lib/node_modules/imask/esm/masked/function.js +0 -24
- package/lib/node_modules/imask/esm/masked/function.js.map +0 -1
- package/lib/node_modules/imask/esm/masked/number.js +0 -213
- package/lib/node_modules/imask/esm/masked/number.js.map +0 -1
- package/lib/node_modules/imask/esm/masked/pattern/chunk-tail-details.js +0 -104
- package/lib/node_modules/imask/esm/masked/pattern/chunk-tail-details.js.map +0 -1
- package/lib/node_modules/imask/esm/masked/pattern/cursor.js +0 -101
- package/lib/node_modules/imask/esm/masked/pattern/cursor.js.map +0 -1
- package/lib/node_modules/imask/esm/masked/pattern/fixed-definition.js +0 -103
- package/lib/node_modules/imask/esm/masked/pattern/fixed-definition.js.map +0 -1
- package/lib/node_modules/imask/esm/masked/pattern/input-definition.js +0 -134
- package/lib/node_modules/imask/esm/masked/pattern/input-definition.js.map +0 -1
- package/lib/node_modules/imask/esm/masked/pattern.js +0 -323
- package/lib/node_modules/imask/esm/masked/pattern.js.map +0 -1
- package/lib/node_modules/imask/esm/masked/pipe.js +0 -24
- package/lib/node_modules/imask/esm/masked/pipe.js.map +0 -1
- package/lib/node_modules/imask/esm/masked/range.js +0 -79
- package/lib/node_modules/imask/esm/masked/range.js.map +0 -1
- package/lib/node_modules/imask/esm/masked/regexp.js +0 -22
- package/lib/node_modules/imask/esm/masked/regexp.js.map +0 -1
- package/lib/node_modules/imask/esm/masked/repeat.js +0 -105
- package/lib/node_modules/imask/esm/masked/repeat.js.map +0 -1
- package/lib/node_modules/react-imask/esm/hook.js +0 -76
- package/lib/node_modules/react-imask/esm/hook.js.map +0 -1
- package/lib/node_modules/react-imask/esm/input.js +0 -24
- package/lib/node_modules/react-imask/esm/input.js.map +0 -1
- package/lib/node_modules/react-imask/esm/mixin.js +0 -132
- package/lib/node_modules/react-imask/esm/mixin.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"html-contenteditable-mask-element.js","sources":["../../../../../node_modules/imask/esm/controls/html-contenteditable-mask-element.js"],"sourcesContent":["import HTMLMaskElement from './html-mask-element.js';\nimport IMask from '../core/holder.js';\nimport './mask-element.js';\n\nclass HTMLContenteditableMaskElement extends HTMLMaskElement {\n /** Returns HTMLElement selection start */\n get _unsafeSelectionStart() {\n const root = this.rootElement;\n const selection = root.getSelection && root.getSelection();\n const anchorOffset = selection && selection.anchorOffset;\n const focusOffset = selection && selection.focusOffset;\n if (focusOffset == null || anchorOffset == null || anchorOffset < focusOffset) {\n return anchorOffset;\n }\n return focusOffset;\n }\n\n /** Returns HTMLElement selection end */\n get _unsafeSelectionEnd() {\n const root = this.rootElement;\n const selection = root.getSelection && root.getSelection();\n const anchorOffset = selection && selection.anchorOffset;\n const focusOffset = selection && selection.focusOffset;\n if (focusOffset == null || anchorOffset == null || anchorOffset > focusOffset) {\n return anchorOffset;\n }\n return focusOffset;\n }\n\n /** Sets HTMLElement selection */\n _unsafeSelect(start, end) {\n if (!this.rootElement.createRange) return;\n const range = this.rootElement.createRange();\n range.setStart(this.input.firstChild || this.input, start);\n range.setEnd(this.input.lastChild || this.input, end);\n const root = this.rootElement;\n const selection = root.getSelection && root.getSelection();\n if (selection) {\n selection.removeAllRanges();\n selection.addRange(range);\n }\n }\n\n /** HTMLElement value */\n get value() {\n return this.input.textContent || '';\n }\n set value(value) {\n this.input.textContent = value;\n }\n}\nIMask.HTMLContenteditableMaskElement = HTMLContenteditableMaskElement;\n\nexport { HTMLContenteditableMaskElement as default };\n"],"names":["HTMLContenteditableMaskElement","HTMLMaskElement","root","selection","anchorOffset","focusOffset","start","end","range","value","IMask"],"mappings":";;;AAIA,MAAMA,UAAuCC,EAAgB;AAAA;AAAA,EAE3D,IAAI,wBAAwB;AAC1B,UAAMC,IAAO,KAAK,aACZC,IAAYD,EAAK,gBAAgBA,EAAK,aAAY,GAClDE,IAAeD,KAAaA,EAAU,cACtCE,IAAcF,KAAaA,EAAU;AAC3C,WAAIE,KAAe,QAAQD,KAAgB,QAAQA,IAAeC,IACzDD,IAEFC;AAAA,EACT;AAAA;AAAA,EAGA,IAAI,sBAAsB;AACxB,UAAMH,IAAO,KAAK,aACZC,IAAYD,EAAK,gBAAgBA,EAAK,aAAY,GAClDE,IAAeD,KAAaA,EAAU,cACtCE,IAAcF,KAAaA,EAAU;AAC3C,WAAIE,KAAe,QAAQD,KAAgB,QAAQA,IAAeC,IACzDD,IAEFC;AAAA,EACT;AAAA;AAAA,EAGA,cAAcC,GAAOC,GAAK;AACxB,QAAI,CAAC,KAAK,YAAY,YAAa;AACnC,UAAMC,IAAQ,KAAK,YAAY,YAAW;AAC1C,IAAAA,EAAM,SAAS,KAAK,MAAM,cAAc,KAAK,OAAOF,CAAK,GACzDE,EAAM,OAAO,KAAK,MAAM,aAAa,KAAK,OAAOD,CAAG;AACpD,UAAML,IAAO,KAAK,aACZC,IAAYD,EAAK,gBAAgBA,EAAK,aAAY;AACxD,IAAIC,MACFA,EAAU,gBAAe,GACzBA,EAAU,SAASK,CAAK;AAAA,EAE5B;AAAA;AAAA,EAGA,IAAI,QAAQ;AACV,WAAO,KAAK,MAAM,eAAe;AAAA,EACnC;AAAA,EACA,IAAI,MAAMC,GAAO;AACf,SAAK,MAAM,cAAcA;AAAA,EAC3B;AACF;AACAC,EAAM,iCAAiCV;","x_google_ignoreList":[0]}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import e from "./html-mask-element.js";
|
|
2
|
-
import s from "../core/holder.js";
|
|
3
|
-
import "./mask-element.js";
|
|
4
|
-
class r extends e {
|
|
5
|
-
/** InputElement to use mask on */
|
|
6
|
-
constructor(t) {
|
|
7
|
-
super(t), this.input = t;
|
|
8
|
-
}
|
|
9
|
-
/** Returns InputElement selection start */
|
|
10
|
-
get _unsafeSelectionStart() {
|
|
11
|
-
return this.input.selectionStart != null ? this.input.selectionStart : this.value.length;
|
|
12
|
-
}
|
|
13
|
-
/** Returns InputElement selection end */
|
|
14
|
-
get _unsafeSelectionEnd() {
|
|
15
|
-
return this.input.selectionEnd;
|
|
16
|
-
}
|
|
17
|
-
/** Sets InputElement selection */
|
|
18
|
-
_unsafeSelect(t, n) {
|
|
19
|
-
this.input.setSelectionRange(t, n);
|
|
20
|
-
}
|
|
21
|
-
get value() {
|
|
22
|
-
return this.input.value;
|
|
23
|
-
}
|
|
24
|
-
set value(t) {
|
|
25
|
-
this.input.value = t;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
s.HTMLMaskElement = e;
|
|
29
|
-
export {
|
|
30
|
-
r as default
|
|
31
|
-
};
|
|
32
|
-
//# sourceMappingURL=html-input-mask-element.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"html-input-mask-element.js","sources":["../../../../../node_modules/imask/esm/controls/html-input-mask-element.js"],"sourcesContent":["import HTMLMaskElement from './html-mask-element.js';\nimport IMask from '../core/holder.js';\nimport './mask-element.js';\n\n/** Bridge between InputElement and {@link Masked} */\nclass HTMLInputMaskElement extends HTMLMaskElement {\n /** InputElement to use mask on */\n\n constructor(input) {\n super(input);\n this.input = input;\n }\n\n /** Returns InputElement selection start */\n get _unsafeSelectionStart() {\n return this.input.selectionStart != null ? this.input.selectionStart : this.value.length;\n }\n\n /** Returns InputElement selection end */\n get _unsafeSelectionEnd() {\n return this.input.selectionEnd;\n }\n\n /** Sets InputElement selection */\n _unsafeSelect(start, end) {\n this.input.setSelectionRange(start, end);\n }\n get value() {\n return this.input.value;\n }\n set value(value) {\n this.input.value = value;\n }\n}\nIMask.HTMLMaskElement = HTMLMaskElement;\n\nexport { HTMLInputMaskElement as default };\n"],"names":["HTMLInputMaskElement","HTMLMaskElement","input","start","end","value","IMask"],"mappings":";;;AAKA,MAAMA,UAA6BC,EAAgB;AAAA;AAAA,EAGjD,YAAYC,GAAO;AACjB,UAAMA,CAAK,GACX,KAAK,QAAQA;AAAA,EACf;AAAA;AAAA,EAGA,IAAI,wBAAwB;AAC1B,WAAO,KAAK,MAAM,kBAAkB,OAAO,KAAK,MAAM,iBAAiB,KAAK,MAAM;AAAA,EACpF;AAAA;AAAA,EAGA,IAAI,sBAAsB;AACxB,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA;AAAA,EAGA,cAAcC,GAAOC,GAAK;AACxB,SAAK,MAAM,kBAAkBD,GAAOC,CAAG;AAAA,EACzC;AAAA,EACA,IAAI,QAAQ;AACV,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EACA,IAAI,MAAMC,GAAO;AACf,SAAK,MAAM,QAAQA;AAAA,EACrB;AACF;AACAC,EAAM,kBAAkBL;","x_google_ignoreList":[0]}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import s from "./mask-element.js";
|
|
2
|
-
import o from "../core/holder.js";
|
|
3
|
-
const e = 90, r = 89;
|
|
4
|
-
class h extends s {
|
|
5
|
-
/** HTMLElement to use mask on */
|
|
6
|
-
constructor(t) {
|
|
7
|
-
super(), this.input = t, this._onKeydown = this._onKeydown.bind(this), this._onInput = this._onInput.bind(this), this._onBeforeinput = this._onBeforeinput.bind(this), this._onCompositionEnd = this._onCompositionEnd.bind(this);
|
|
8
|
-
}
|
|
9
|
-
get rootElement() {
|
|
10
|
-
var t, n, i;
|
|
11
|
-
return (t = (n = (i = this.input).getRootNode) == null ? void 0 : n.call(i)) != null ? t : document;
|
|
12
|
-
}
|
|
13
|
-
/** Is element in focus */
|
|
14
|
-
get isActive() {
|
|
15
|
-
return this.input === this.rootElement.activeElement;
|
|
16
|
-
}
|
|
17
|
-
/** Binds HTMLElement events to mask internal events */
|
|
18
|
-
bindEvents(t) {
|
|
19
|
-
this.input.addEventListener("keydown", this._onKeydown), this.input.addEventListener("input", this._onInput), this.input.addEventListener("beforeinput", this._onBeforeinput), this.input.addEventListener("compositionend", this._onCompositionEnd), this.input.addEventListener("drop", t.drop), this.input.addEventListener("click", t.click), this.input.addEventListener("focus", t.focus), this.input.addEventListener("blur", t.commit), this._handlers = t;
|
|
20
|
-
}
|
|
21
|
-
_onKeydown(t) {
|
|
22
|
-
if (this._handlers.redo && (t.keyCode === e && t.shiftKey && (t.metaKey || t.ctrlKey) || t.keyCode === r && t.ctrlKey))
|
|
23
|
-
return t.preventDefault(), this._handlers.redo(t);
|
|
24
|
-
if (this._handlers.undo && t.keyCode === e && (t.metaKey || t.ctrlKey))
|
|
25
|
-
return t.preventDefault(), this._handlers.undo(t);
|
|
26
|
-
t.isComposing || this._handlers.selectionChange(t);
|
|
27
|
-
}
|
|
28
|
-
_onBeforeinput(t) {
|
|
29
|
-
if (t.inputType === "historyUndo" && this._handlers.undo)
|
|
30
|
-
return t.preventDefault(), this._handlers.undo(t);
|
|
31
|
-
if (t.inputType === "historyRedo" && this._handlers.redo)
|
|
32
|
-
return t.preventDefault(), this._handlers.redo(t);
|
|
33
|
-
}
|
|
34
|
-
_onCompositionEnd(t) {
|
|
35
|
-
this._handlers.input(t);
|
|
36
|
-
}
|
|
37
|
-
_onInput(t) {
|
|
38
|
-
t.isComposing || this._handlers.input(t);
|
|
39
|
-
}
|
|
40
|
-
/** Unbinds HTMLElement events to mask internal events */
|
|
41
|
-
unbindEvents() {
|
|
42
|
-
this.input.removeEventListener("keydown", this._onKeydown), this.input.removeEventListener("input", this._onInput), this.input.removeEventListener("beforeinput", this._onBeforeinput), this.input.removeEventListener("compositionend", this._onCompositionEnd), this.input.removeEventListener("drop", this._handlers.drop), this.input.removeEventListener("click", this._handlers.click), this.input.removeEventListener("focus", this._handlers.focus), this.input.removeEventListener("blur", this._handlers.commit), this._handlers = {};
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
o.HTMLMaskElement = h;
|
|
46
|
-
export {
|
|
47
|
-
h as default
|
|
48
|
-
};
|
|
49
|
-
//# sourceMappingURL=html-mask-element.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"html-mask-element.js","sources":["../../../../../node_modules/imask/esm/controls/html-mask-element.js"],"sourcesContent":["import MaskElement from './mask-element.js';\nimport IMask from '../core/holder.js';\n\nconst KEY_Z = 90;\nconst KEY_Y = 89;\n\n/** Bridge between HTMLElement and {@link Masked} */\nclass HTMLMaskElement extends MaskElement {\n /** HTMLElement to use mask on */\n\n constructor(input) {\n super();\n this.input = input;\n this._onKeydown = this._onKeydown.bind(this);\n this._onInput = this._onInput.bind(this);\n this._onBeforeinput = this._onBeforeinput.bind(this);\n this._onCompositionEnd = this._onCompositionEnd.bind(this);\n }\n get rootElement() {\n var _this$input$getRootNo, _this$input$getRootNo2, _this$input;\n return (_this$input$getRootNo = (_this$input$getRootNo2 = (_this$input = this.input).getRootNode) == null ? void 0 : _this$input$getRootNo2.call(_this$input)) != null ? _this$input$getRootNo : document;\n }\n\n /** Is element in focus */\n get isActive() {\n return this.input === this.rootElement.activeElement;\n }\n\n /** Binds HTMLElement events to mask internal events */\n bindEvents(handlers) {\n this.input.addEventListener('keydown', this._onKeydown);\n this.input.addEventListener('input', this._onInput);\n this.input.addEventListener('beforeinput', this._onBeforeinput);\n this.input.addEventListener('compositionend', this._onCompositionEnd);\n this.input.addEventListener('drop', handlers.drop);\n this.input.addEventListener('click', handlers.click);\n this.input.addEventListener('focus', handlers.focus);\n this.input.addEventListener('blur', handlers.commit);\n this._handlers = handlers;\n }\n _onKeydown(e) {\n if (this._handlers.redo && (e.keyCode === KEY_Z && e.shiftKey && (e.metaKey || e.ctrlKey) || e.keyCode === KEY_Y && e.ctrlKey)) {\n e.preventDefault();\n return this._handlers.redo(e);\n }\n if (this._handlers.undo && e.keyCode === KEY_Z && (e.metaKey || e.ctrlKey)) {\n e.preventDefault();\n return this._handlers.undo(e);\n }\n if (!e.isComposing) this._handlers.selectionChange(e);\n }\n _onBeforeinput(e) {\n if (e.inputType === 'historyUndo' && this._handlers.undo) {\n e.preventDefault();\n return this._handlers.undo(e);\n }\n if (e.inputType === 'historyRedo' && this._handlers.redo) {\n e.preventDefault();\n return this._handlers.redo(e);\n }\n }\n _onCompositionEnd(e) {\n this._handlers.input(e);\n }\n _onInput(e) {\n if (!e.isComposing) this._handlers.input(e);\n }\n\n /** Unbinds HTMLElement events to mask internal events */\n unbindEvents() {\n this.input.removeEventListener('keydown', this._onKeydown);\n this.input.removeEventListener('input', this._onInput);\n this.input.removeEventListener('beforeinput', this._onBeforeinput);\n this.input.removeEventListener('compositionend', this._onCompositionEnd);\n this.input.removeEventListener('drop', this._handlers.drop);\n this.input.removeEventListener('click', this._handlers.click);\n this.input.removeEventListener('focus', this._handlers.focus);\n this.input.removeEventListener('blur', this._handlers.commit);\n this._handlers = {};\n }\n}\nIMask.HTMLMaskElement = HTMLMaskElement;\n\nexport { HTMLMaskElement as default };\n"],"names":["KEY_Z","KEY_Y","HTMLMaskElement","MaskElement","input","_this$input$getRootNo","_this$input$getRootNo2","_this$input","handlers","e","IMask"],"mappings":";;AAGA,MAAMA,IAAQ,IACRC,IAAQ;AAGd,MAAMC,UAAwBC,EAAY;AAAA;AAAA,EAGxC,YAAYC,GAAO;AACjB,UAAK,GACL,KAAK,QAAQA,GACb,KAAK,aAAa,KAAK,WAAW,KAAK,IAAI,GAC3C,KAAK,WAAW,KAAK,SAAS,KAAK,IAAI,GACvC,KAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI,GACnD,KAAK,oBAAoB,KAAK,kBAAkB,KAAK,IAAI;AAAA,EAC3D;AAAA,EACA,IAAI,cAAc;AAChB,QAAIC,GAAuBC,GAAwBC;AACnD,YAAQF,KAAyBC,KAA0BC,IAAc,KAAK,OAAO,gBAAgB,OAAO,SAASD,EAAuB,KAAKC,CAAW,MAAM,OAAOF,IAAwB;AAAA,EACnM;AAAA;AAAA,EAGA,IAAI,WAAW;AACb,WAAO,KAAK,UAAU,KAAK,YAAY;AAAA,EACzC;AAAA;AAAA,EAGA,WAAWG,GAAU;AACnB,SAAK,MAAM,iBAAiB,WAAW,KAAK,UAAU,GACtD,KAAK,MAAM,iBAAiB,SAAS,KAAK,QAAQ,GAClD,KAAK,MAAM,iBAAiB,eAAe,KAAK,cAAc,GAC9D,KAAK,MAAM,iBAAiB,kBAAkB,KAAK,iBAAiB,GACpE,KAAK,MAAM,iBAAiB,QAAQA,EAAS,IAAI,GACjD,KAAK,MAAM,iBAAiB,SAASA,EAAS,KAAK,GACnD,KAAK,MAAM,iBAAiB,SAASA,EAAS,KAAK,GACnD,KAAK,MAAM,iBAAiB,QAAQA,EAAS,MAAM,GACnD,KAAK,YAAYA;AAAA,EACnB;AAAA,EACA,WAAWC,GAAG;AACZ,QAAI,KAAK,UAAU,SAASA,EAAE,YAAYT,KAASS,EAAE,aAAaA,EAAE,WAAWA,EAAE,YAAYA,EAAE,YAAYR,KAASQ,EAAE;AACpH,aAAAA,EAAE,eAAc,GACT,KAAK,UAAU,KAAKA,CAAC;AAE9B,QAAI,KAAK,UAAU,QAAQA,EAAE,YAAYT,MAAUS,EAAE,WAAWA,EAAE;AAChE,aAAAA,EAAE,eAAc,GACT,KAAK,UAAU,KAAKA,CAAC;AAE9B,IAAKA,EAAE,eAAa,KAAK,UAAU,gBAAgBA,CAAC;AAAA,EACtD;AAAA,EACA,eAAeA,GAAG;AAChB,QAAIA,EAAE,cAAc,iBAAiB,KAAK,UAAU;AAClD,aAAAA,EAAE,eAAc,GACT,KAAK,UAAU,KAAKA,CAAC;AAE9B,QAAIA,EAAE,cAAc,iBAAiB,KAAK,UAAU;AAClD,aAAAA,EAAE,eAAc,GACT,KAAK,UAAU,KAAKA,CAAC;AAAA,EAEhC;AAAA,EACA,kBAAkBA,GAAG;AACnB,SAAK,UAAU,MAAMA,CAAC;AAAA,EACxB;AAAA,EACA,SAASA,GAAG;AACV,IAAKA,EAAE,eAAa,KAAK,UAAU,MAAMA,CAAC;AAAA,EAC5C;AAAA;AAAA,EAGA,eAAe;AACb,SAAK,MAAM,oBAAoB,WAAW,KAAK,UAAU,GACzD,KAAK,MAAM,oBAAoB,SAAS,KAAK,QAAQ,GACrD,KAAK,MAAM,oBAAoB,eAAe,KAAK,cAAc,GACjE,KAAK,MAAM,oBAAoB,kBAAkB,KAAK,iBAAiB,GACvE,KAAK,MAAM,oBAAoB,QAAQ,KAAK,UAAU,IAAI,GAC1D,KAAK,MAAM,oBAAoB,SAAS,KAAK,UAAU,KAAK,GAC5D,KAAK,MAAM,oBAAoB,SAAS,KAAK,UAAU,KAAK,GAC5D,KAAK,MAAM,oBAAoB,QAAQ,KAAK,UAAU,MAAM,GAC5D,KAAK,YAAY,CAAA;AAAA,EACnB;AACF;AACAC,EAAM,kBAAkBR;","x_google_ignoreList":[0]}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
class s {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.states = [], this.currentIndex = 0;
|
|
4
|
-
}
|
|
5
|
-
get currentState() {
|
|
6
|
-
return this.states[this.currentIndex];
|
|
7
|
-
}
|
|
8
|
-
get isEmpty() {
|
|
9
|
-
return this.states.length === 0;
|
|
10
|
-
}
|
|
11
|
-
push(t) {
|
|
12
|
-
this.currentIndex < this.states.length - 1 && (this.states.length = this.currentIndex + 1), this.states.push(t), this.states.length > s.MAX_LENGTH && this.states.shift(), this.currentIndex = this.states.length - 1;
|
|
13
|
-
}
|
|
14
|
-
go(t) {
|
|
15
|
-
return this.currentIndex = Math.min(Math.max(this.currentIndex + t, 0), this.states.length - 1), this.currentState;
|
|
16
|
-
}
|
|
17
|
-
undo() {
|
|
18
|
-
return this.go(-1);
|
|
19
|
-
}
|
|
20
|
-
redo() {
|
|
21
|
-
return this.go(1);
|
|
22
|
-
}
|
|
23
|
-
clear() {
|
|
24
|
-
this.states.length = 0, this.currentIndex = 0;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
s.MAX_LENGTH = 100;
|
|
28
|
-
export {
|
|
29
|
-
s as default
|
|
30
|
-
};
|
|
31
|
-
//# sourceMappingURL=input-history.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-history.js","sources":["../../../../../node_modules/imask/esm/controls/input-history.js"],"sourcesContent":["class InputHistory {\n constructor() {\n this.states = [];\n this.currentIndex = 0;\n }\n get currentState() {\n return this.states[this.currentIndex];\n }\n get isEmpty() {\n return this.states.length === 0;\n }\n push(state) {\n // if current index points before the last element then remove the future\n if (this.currentIndex < this.states.length - 1) this.states.length = this.currentIndex + 1;\n this.states.push(state);\n if (this.states.length > InputHistory.MAX_LENGTH) this.states.shift();\n this.currentIndex = this.states.length - 1;\n }\n go(steps) {\n this.currentIndex = Math.min(Math.max(this.currentIndex + steps, 0), this.states.length - 1);\n return this.currentState;\n }\n undo() {\n return this.go(-1);\n }\n redo() {\n return this.go(+1);\n }\n clear() {\n this.states.length = 0;\n this.currentIndex = 0;\n }\n}\nInputHistory.MAX_LENGTH = 100;\n\nexport { InputHistory as default };\n"],"names":["InputHistory","state","steps"],"mappings":"AAAA,MAAMA,EAAa;AAAA,EACjB,cAAc;AACZ,SAAK,SAAS,CAAA,GACd,KAAK,eAAe;AAAA,EACtB;AAAA,EACA,IAAI,eAAe;AACjB,WAAO,KAAK,OAAO,KAAK,YAAY;AAAA,EACtC;AAAA,EACA,IAAI,UAAU;AACZ,WAAO,KAAK,OAAO,WAAW;AAAA,EAChC;AAAA,EACA,KAAKC,GAAO;AAEV,IAAI,KAAK,eAAe,KAAK,OAAO,SAAS,MAAG,KAAK,OAAO,SAAS,KAAK,eAAe,IACzF,KAAK,OAAO,KAAKA,CAAK,GAClB,KAAK,OAAO,SAASD,EAAa,cAAY,KAAK,OAAO,MAAK,GACnE,KAAK,eAAe,KAAK,OAAO,SAAS;AAAA,EAC3C;AAAA,EACA,GAAGE,GAAO;AACR,gBAAK,eAAe,KAAK,IAAI,KAAK,IAAI,KAAK,eAAeA,GAAO,CAAC,GAAG,KAAK,OAAO,SAAS,CAAC,GACpF,KAAK;AAAA,EACd;AAAA,EACA,OAAO;AACL,WAAO,KAAK,GAAG,EAAE;AAAA,EACnB;AAAA,EACA,OAAO;AACL,WAAO,KAAK,GAAG,CAAE;AAAA,EACnB;AAAA,EACA,QAAQ;AACN,SAAK,OAAO,SAAS,GACrB,KAAK,eAAe;AAAA,EACtB;AACF;AACAF,EAAa,aAAa;","x_google_ignoreList":[0]}
|
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
import { DIRECTION as r } from "../core/utils.js";
|
|
2
|
-
import h from "../core/action-details.js";
|
|
3
|
-
import u, { maskedClass as l } from "../masked/factory.js";
|
|
4
|
-
import d from "./mask-element.js";
|
|
5
|
-
import p from "./html-input-mask-element.js";
|
|
6
|
-
import _ from "./html-contenteditable-mask-element.js";
|
|
7
|
-
import o from "../core/holder.js";
|
|
8
|
-
import m from "./input-history.js";
|
|
9
|
-
import "./html-mask-element.js";
|
|
10
|
-
class c {
|
|
11
|
-
/**
|
|
12
|
-
View element
|
|
13
|
-
*/
|
|
14
|
-
/** Internal {@link Masked} model */
|
|
15
|
-
constructor(t, s) {
|
|
16
|
-
this.el = t instanceof d ? t : t.isContentEditable && t.tagName !== "INPUT" && t.tagName !== "TEXTAREA" ? new _(t) : new p(t), this.masked = u(s), this._listeners = {}, this._value = "", this._unmaskedValue = "", this._rawInputValue = "", this.history = new m(), this._saveSelection = this._saveSelection.bind(this), this._onInput = this._onInput.bind(this), this._onChange = this._onChange.bind(this), this._onDrop = this._onDrop.bind(this), this._onFocus = this._onFocus.bind(this), this._onClick = this._onClick.bind(this), this._onUndo = this._onUndo.bind(this), this._onRedo = this._onRedo.bind(this), this.alignCursor = this.alignCursor.bind(this), this.alignCursorFriendly = this.alignCursorFriendly.bind(this), this._bindEvents(), this.updateValue(), this._onChange();
|
|
17
|
-
}
|
|
18
|
-
maskEquals(t) {
|
|
19
|
-
var s;
|
|
20
|
-
return t == null || ((s = this.masked) == null ? void 0 : s.maskEquals(t));
|
|
21
|
-
}
|
|
22
|
-
/** Masked */
|
|
23
|
-
get mask() {
|
|
24
|
-
return this.masked.mask;
|
|
25
|
-
}
|
|
26
|
-
set mask(t) {
|
|
27
|
-
if (this.maskEquals(t)) return;
|
|
28
|
-
if (!(t instanceof o.Masked) && this.masked.constructor === l(t)) {
|
|
29
|
-
this.masked.updateOptions({
|
|
30
|
-
mask: t
|
|
31
|
-
});
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
const s = t instanceof o.Masked ? t : u({
|
|
35
|
-
mask: t
|
|
36
|
-
});
|
|
37
|
-
s.unmaskedValue = this.masked.unmaskedValue, this.masked = s;
|
|
38
|
-
}
|
|
39
|
-
/** Raw value */
|
|
40
|
-
get value() {
|
|
41
|
-
return this._value;
|
|
42
|
-
}
|
|
43
|
-
set value(t) {
|
|
44
|
-
this.value !== t && (this.masked.value = t, this.updateControl("auto"));
|
|
45
|
-
}
|
|
46
|
-
/** Unmasked value */
|
|
47
|
-
get unmaskedValue() {
|
|
48
|
-
return this._unmaskedValue;
|
|
49
|
-
}
|
|
50
|
-
set unmaskedValue(t) {
|
|
51
|
-
this.unmaskedValue !== t && (this.masked.unmaskedValue = t, this.updateControl("auto"));
|
|
52
|
-
}
|
|
53
|
-
/** Raw input value */
|
|
54
|
-
get rawInputValue() {
|
|
55
|
-
return this._rawInputValue;
|
|
56
|
-
}
|
|
57
|
-
set rawInputValue(t) {
|
|
58
|
-
this.rawInputValue !== t && (this.masked.rawInputValue = t, this.updateControl(), this.alignCursor());
|
|
59
|
-
}
|
|
60
|
-
/** Typed unmasked value */
|
|
61
|
-
get typedValue() {
|
|
62
|
-
return this.masked.typedValue;
|
|
63
|
-
}
|
|
64
|
-
set typedValue(t) {
|
|
65
|
-
this.masked.typedValueEquals(t) || (this.masked.typedValue = t, this.updateControl("auto"));
|
|
66
|
-
}
|
|
67
|
-
/** Display value */
|
|
68
|
-
get displayValue() {
|
|
69
|
-
return this.masked.displayValue;
|
|
70
|
-
}
|
|
71
|
-
/** Starts listening to element events */
|
|
72
|
-
_bindEvents() {
|
|
73
|
-
this.el.bindEvents({
|
|
74
|
-
selectionChange: this._saveSelection,
|
|
75
|
-
input: this._onInput,
|
|
76
|
-
drop: this._onDrop,
|
|
77
|
-
click: this._onClick,
|
|
78
|
-
focus: this._onFocus,
|
|
79
|
-
commit: this._onChange,
|
|
80
|
-
undo: this._onUndo,
|
|
81
|
-
redo: this._onRedo
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
/** Stops listening to element events */
|
|
85
|
-
_unbindEvents() {
|
|
86
|
-
this.el && this.el.unbindEvents();
|
|
87
|
-
}
|
|
88
|
-
/** Fires custom event */
|
|
89
|
-
_fireEvent(t, s) {
|
|
90
|
-
const e = this._listeners[t];
|
|
91
|
-
e && e.forEach((i) => i(s));
|
|
92
|
-
}
|
|
93
|
-
/** Current selection start */
|
|
94
|
-
get selectionStart() {
|
|
95
|
-
return this._cursorChanging ? this._changingCursorPos : this.el.selectionStart;
|
|
96
|
-
}
|
|
97
|
-
/** Current cursor position */
|
|
98
|
-
get cursorPos() {
|
|
99
|
-
return this._cursorChanging ? this._changingCursorPos : this.el.selectionEnd;
|
|
100
|
-
}
|
|
101
|
-
set cursorPos(t) {
|
|
102
|
-
!this.el || !this.el.isActive || (this.el.select(t, t), this._saveSelection());
|
|
103
|
-
}
|
|
104
|
-
/** Stores current selection */
|
|
105
|
-
_saveSelection() {
|
|
106
|
-
this.displayValue !== this.el.value && console.warn("Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly."), this._selection = {
|
|
107
|
-
start: this.selectionStart,
|
|
108
|
-
end: this.cursorPos
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
/** Syncronizes model value from view */
|
|
112
|
-
updateValue() {
|
|
113
|
-
this.masked.value = this.el.value, this._value = this.masked.value, this._unmaskedValue = this.masked.unmaskedValue, this._rawInputValue = this.masked.rawInputValue;
|
|
114
|
-
}
|
|
115
|
-
/** Syncronizes view from model value, fires change events */
|
|
116
|
-
updateControl(t) {
|
|
117
|
-
const s = this.masked.unmaskedValue, e = this.masked.value, i = this.masked.rawInputValue, n = this.displayValue, a = this.unmaskedValue !== s || this.value !== e || this._rawInputValue !== i;
|
|
118
|
-
this._unmaskedValue = s, this._value = e, this._rawInputValue = i, this.el.value !== n && (this.el.value = n), t === "auto" ? this.alignCursor() : t != null && (this.cursorPos = t), a && this._fireChangeEvents(), !this._historyChanging && (a || this.history.isEmpty) && this.history.push({
|
|
119
|
-
unmaskedValue: s,
|
|
120
|
-
selection: {
|
|
121
|
-
start: this.selectionStart,
|
|
122
|
-
end: this.cursorPos
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
/** Updates options with deep equal check, recreates {@link Masked} model if mask type changes */
|
|
127
|
-
updateOptions(t) {
|
|
128
|
-
const {
|
|
129
|
-
mask: s,
|
|
130
|
-
...e
|
|
131
|
-
} = t, i = !this.maskEquals(s), n = this.masked.optionsIsChanged(e);
|
|
132
|
-
i && (this.mask = s), n && this.masked.updateOptions(e), (i || n) && this.updateControl();
|
|
133
|
-
}
|
|
134
|
-
/** Updates cursor */
|
|
135
|
-
updateCursor(t) {
|
|
136
|
-
t != null && (this.cursorPos = t, this._delayUpdateCursor(t));
|
|
137
|
-
}
|
|
138
|
-
/** Delays cursor update to support mobile browsers */
|
|
139
|
-
_delayUpdateCursor(t) {
|
|
140
|
-
this._abortUpdateCursor(), this._changingCursorPos = t, this._cursorChanging = setTimeout(() => {
|
|
141
|
-
this.el && (this.cursorPos = this._changingCursorPos, this._abortUpdateCursor());
|
|
142
|
-
}, 10);
|
|
143
|
-
}
|
|
144
|
-
/** Fires custom events */
|
|
145
|
-
_fireChangeEvents() {
|
|
146
|
-
this._fireEvent("accept", this._inputEvent), this.masked.isComplete && this._fireEvent("complete", this._inputEvent);
|
|
147
|
-
}
|
|
148
|
-
/** Aborts delayed cursor update */
|
|
149
|
-
_abortUpdateCursor() {
|
|
150
|
-
this._cursorChanging && (clearTimeout(this._cursorChanging), delete this._cursorChanging);
|
|
151
|
-
}
|
|
152
|
-
/** Aligns cursor to nearest available position */
|
|
153
|
-
alignCursor() {
|
|
154
|
-
this.cursorPos = this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos, r.LEFT));
|
|
155
|
-
}
|
|
156
|
-
/** Aligns cursor only if selection is empty */
|
|
157
|
-
alignCursorFriendly() {
|
|
158
|
-
this.selectionStart === this.cursorPos && this.alignCursor();
|
|
159
|
-
}
|
|
160
|
-
/** Adds listener on custom event */
|
|
161
|
-
on(t, s) {
|
|
162
|
-
return this._listeners[t] || (this._listeners[t] = []), this._listeners[t].push(s), this;
|
|
163
|
-
}
|
|
164
|
-
/** Removes custom event listener */
|
|
165
|
-
off(t, s) {
|
|
166
|
-
if (!this._listeners[t]) return this;
|
|
167
|
-
if (!s)
|
|
168
|
-
return delete this._listeners[t], this;
|
|
169
|
-
const e = this._listeners[t].indexOf(s);
|
|
170
|
-
return e >= 0 && this._listeners[t].splice(e, 1), this;
|
|
171
|
-
}
|
|
172
|
-
/** Handles view input event */
|
|
173
|
-
_onInput(t) {
|
|
174
|
-
this._inputEvent = t, this._abortUpdateCursor();
|
|
175
|
-
const s = new h({
|
|
176
|
-
// new state
|
|
177
|
-
value: this.el.value,
|
|
178
|
-
cursorPos: this.cursorPos,
|
|
179
|
-
// old state
|
|
180
|
-
oldValue: this.displayValue,
|
|
181
|
-
oldSelection: this._selection
|
|
182
|
-
}), e = this.masked.rawInputValue, i = this.masked.splice(s.startChangePos, s.removed.length, s.inserted, s.removeDirection, {
|
|
183
|
-
input: !0,
|
|
184
|
-
raw: !0
|
|
185
|
-
}).offset, n = e === this.masked.rawInputValue ? s.removeDirection : r.NONE;
|
|
186
|
-
let a = this.masked.nearestInputPos(s.startChangePos + i, n);
|
|
187
|
-
n !== r.NONE && (a = this.masked.nearestInputPos(a, r.NONE)), this.updateControl(a), delete this._inputEvent;
|
|
188
|
-
}
|
|
189
|
-
/** Handles view change event and commits model value */
|
|
190
|
-
_onChange() {
|
|
191
|
-
this.displayValue !== this.el.value && this.updateValue(), this.masked.doCommit(), this.updateControl(), this._saveSelection();
|
|
192
|
-
}
|
|
193
|
-
/** Handles view drop event, prevents by default */
|
|
194
|
-
_onDrop(t) {
|
|
195
|
-
t.preventDefault(), t.stopPropagation();
|
|
196
|
-
}
|
|
197
|
-
/** Restore last selection on focus */
|
|
198
|
-
_onFocus(t) {
|
|
199
|
-
this.alignCursorFriendly();
|
|
200
|
-
}
|
|
201
|
-
/** Restore last selection on focus */
|
|
202
|
-
_onClick(t) {
|
|
203
|
-
this.alignCursorFriendly();
|
|
204
|
-
}
|
|
205
|
-
_onUndo() {
|
|
206
|
-
this._applyHistoryState(this.history.undo());
|
|
207
|
-
}
|
|
208
|
-
_onRedo() {
|
|
209
|
-
this._applyHistoryState(this.history.redo());
|
|
210
|
-
}
|
|
211
|
-
_applyHistoryState(t) {
|
|
212
|
-
t && (this._historyChanging = !0, this.unmaskedValue = t.unmaskedValue, this.el.select(t.selection.start, t.selection.end), this._saveSelection(), this._historyChanging = !1);
|
|
213
|
-
}
|
|
214
|
-
/** Unbind view events and removes element reference */
|
|
215
|
-
destroy() {
|
|
216
|
-
this._unbindEvents(), this._listeners.length = 0, delete this.el;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
o.InputMask = c;
|
|
220
|
-
export {
|
|
221
|
-
c as default
|
|
222
|
-
};
|
|
223
|
-
//# sourceMappingURL=input.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sources":["../../../../../node_modules/imask/esm/controls/input.js"],"sourcesContent":["import { DIRECTION } from '../core/utils.js';\nimport ActionDetails from '../core/action-details.js';\nimport createMask, { maskedClass } from '../masked/factory.js';\nimport MaskElement from './mask-element.js';\nimport HTMLInputMaskElement from './html-input-mask-element.js';\nimport HTMLContenteditableMaskElement from './html-contenteditable-mask-element.js';\nimport IMask from '../core/holder.js';\nimport InputHistory from './input-history.js';\nimport './html-mask-element.js';\n\n/** Listens to element events and controls changes between element and {@link Masked} */\nclass InputMask {\n /**\n View element\n */\n\n /** Internal {@link Masked} model */\n\n constructor(el, opts) {\n this.el = el instanceof MaskElement ? el : el.isContentEditable && el.tagName !== 'INPUT' && el.tagName !== 'TEXTAREA' ? new HTMLContenteditableMaskElement(el) : new HTMLInputMaskElement(el);\n this.masked = createMask(opts);\n this._listeners = {};\n this._value = '';\n this._unmaskedValue = '';\n this._rawInputValue = '';\n this.history = new InputHistory();\n this._saveSelection = this._saveSelection.bind(this);\n this._onInput = this._onInput.bind(this);\n this._onChange = this._onChange.bind(this);\n this._onDrop = this._onDrop.bind(this);\n this._onFocus = this._onFocus.bind(this);\n this._onClick = this._onClick.bind(this);\n this._onUndo = this._onUndo.bind(this);\n this._onRedo = this._onRedo.bind(this);\n this.alignCursor = this.alignCursor.bind(this);\n this.alignCursorFriendly = this.alignCursorFriendly.bind(this);\n this._bindEvents();\n\n // refresh\n this.updateValue();\n this._onChange();\n }\n maskEquals(mask) {\n var _this$masked;\n return mask == null || ((_this$masked = this.masked) == null ? void 0 : _this$masked.maskEquals(mask));\n }\n\n /** Masked */\n get mask() {\n return this.masked.mask;\n }\n set mask(mask) {\n if (this.maskEquals(mask)) return;\n if (!(mask instanceof IMask.Masked) && this.masked.constructor === maskedClass(mask)) {\n // TODO \"any\" no idea\n this.masked.updateOptions({\n mask\n });\n return;\n }\n const masked = mask instanceof IMask.Masked ? mask : createMask({\n mask\n });\n masked.unmaskedValue = this.masked.unmaskedValue;\n this.masked = masked;\n }\n\n /** Raw value */\n get value() {\n return this._value;\n }\n set value(str) {\n if (this.value === str) return;\n this.masked.value = str;\n this.updateControl('auto');\n }\n\n /** Unmasked value */\n get unmaskedValue() {\n return this._unmaskedValue;\n }\n set unmaskedValue(str) {\n if (this.unmaskedValue === str) return;\n this.masked.unmaskedValue = str;\n this.updateControl('auto');\n }\n\n /** Raw input value */\n get rawInputValue() {\n return this._rawInputValue;\n }\n set rawInputValue(str) {\n if (this.rawInputValue === str) return;\n this.masked.rawInputValue = str;\n this.updateControl();\n this.alignCursor();\n }\n\n /** Typed unmasked value */\n get typedValue() {\n return this.masked.typedValue;\n }\n set typedValue(val) {\n if (this.masked.typedValueEquals(val)) return;\n this.masked.typedValue = val;\n this.updateControl('auto');\n }\n\n /** Display value */\n get displayValue() {\n return this.masked.displayValue;\n }\n\n /** Starts listening to element events */\n _bindEvents() {\n this.el.bindEvents({\n selectionChange: this._saveSelection,\n input: this._onInput,\n drop: this._onDrop,\n click: this._onClick,\n focus: this._onFocus,\n commit: this._onChange,\n undo: this._onUndo,\n redo: this._onRedo\n });\n }\n\n /** Stops listening to element events */\n _unbindEvents() {\n if (this.el) this.el.unbindEvents();\n }\n\n /** Fires custom event */\n _fireEvent(ev, e) {\n const listeners = this._listeners[ev];\n if (!listeners) return;\n listeners.forEach(l => l(e));\n }\n\n /** Current selection start */\n get selectionStart() {\n return this._cursorChanging ? this._changingCursorPos : this.el.selectionStart;\n }\n\n /** Current cursor position */\n get cursorPos() {\n return this._cursorChanging ? this._changingCursorPos : this.el.selectionEnd;\n }\n set cursorPos(pos) {\n if (!this.el || !this.el.isActive) return;\n this.el.select(pos, pos);\n this._saveSelection();\n }\n\n /** Stores current selection */\n _saveSelection( /* ev */\n ) {\n if (this.displayValue !== this.el.value) {\n console.warn('Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly.'); // eslint-disable-line no-console\n }\n this._selection = {\n start: this.selectionStart,\n end: this.cursorPos\n };\n }\n\n /** Syncronizes model value from view */\n updateValue() {\n this.masked.value = this.el.value;\n this._value = this.masked.value;\n this._unmaskedValue = this.masked.unmaskedValue;\n this._rawInputValue = this.masked.rawInputValue;\n }\n\n /** Syncronizes view from model value, fires change events */\n updateControl(cursorPos) {\n const newUnmaskedValue = this.masked.unmaskedValue;\n const newValue = this.masked.value;\n const newRawInputValue = this.masked.rawInputValue;\n const newDisplayValue = this.displayValue;\n const isChanged = this.unmaskedValue !== newUnmaskedValue || this.value !== newValue || this._rawInputValue !== newRawInputValue;\n this._unmaskedValue = newUnmaskedValue;\n this._value = newValue;\n this._rawInputValue = newRawInputValue;\n if (this.el.value !== newDisplayValue) this.el.value = newDisplayValue;\n if (cursorPos === 'auto') this.alignCursor();else if (cursorPos != null) this.cursorPos = cursorPos;\n if (isChanged) this._fireChangeEvents();\n if (!this._historyChanging && (isChanged || this.history.isEmpty)) this.history.push({\n unmaskedValue: newUnmaskedValue,\n selection: {\n start: this.selectionStart,\n end: this.cursorPos\n }\n });\n }\n\n /** Updates options with deep equal check, recreates {@link Masked} model if mask type changes */\n updateOptions(opts) {\n const {\n mask,\n ...restOpts\n } = opts; // TODO types, yes, mask is optional\n\n const updateMask = !this.maskEquals(mask);\n const updateOpts = this.masked.optionsIsChanged(restOpts);\n if (updateMask) this.mask = mask;\n if (updateOpts) this.masked.updateOptions(restOpts); // TODO\n\n if (updateMask || updateOpts) this.updateControl();\n }\n\n /** Updates cursor */\n updateCursor(cursorPos) {\n if (cursorPos == null) return;\n this.cursorPos = cursorPos;\n\n // also queue change cursor for mobile browsers\n this._delayUpdateCursor(cursorPos);\n }\n\n /** Delays cursor update to support mobile browsers */\n _delayUpdateCursor(cursorPos) {\n this._abortUpdateCursor();\n this._changingCursorPos = cursorPos;\n this._cursorChanging = setTimeout(() => {\n if (!this.el) return; // if was destroyed\n this.cursorPos = this._changingCursorPos;\n this._abortUpdateCursor();\n }, 10);\n }\n\n /** Fires custom events */\n _fireChangeEvents() {\n this._fireEvent('accept', this._inputEvent);\n if (this.masked.isComplete) this._fireEvent('complete', this._inputEvent);\n }\n\n /** Aborts delayed cursor update */\n _abortUpdateCursor() {\n if (this._cursorChanging) {\n clearTimeout(this._cursorChanging);\n delete this._cursorChanging;\n }\n }\n\n /** Aligns cursor to nearest available position */\n alignCursor() {\n this.cursorPos = this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos, DIRECTION.LEFT));\n }\n\n /** Aligns cursor only if selection is empty */\n alignCursorFriendly() {\n if (this.selectionStart !== this.cursorPos) return; // skip if range is selected\n this.alignCursor();\n }\n\n /** Adds listener on custom event */\n on(ev, handler) {\n if (!this._listeners[ev]) this._listeners[ev] = [];\n this._listeners[ev].push(handler);\n return this;\n }\n\n /** Removes custom event listener */\n off(ev, handler) {\n if (!this._listeners[ev]) return this;\n if (!handler) {\n delete this._listeners[ev];\n return this;\n }\n const hIndex = this._listeners[ev].indexOf(handler);\n if (hIndex >= 0) this._listeners[ev].splice(hIndex, 1);\n return this;\n }\n\n /** Handles view input event */\n _onInput(e) {\n this._inputEvent = e;\n this._abortUpdateCursor();\n const details = new ActionDetails({\n // new state\n value: this.el.value,\n cursorPos: this.cursorPos,\n // old state\n oldValue: this.displayValue,\n oldSelection: this._selection\n });\n const oldRawValue = this.masked.rawInputValue;\n const offset = this.masked.splice(details.startChangePos, details.removed.length, details.inserted, details.removeDirection, {\n input: true,\n raw: true\n }).offset;\n\n // force align in remove direction only if no input chars were removed\n // otherwise we still need to align with NONE (to get out from fixed symbols for instance)\n const removeDirection = oldRawValue === this.masked.rawInputValue ? details.removeDirection : DIRECTION.NONE;\n let cursorPos = this.masked.nearestInputPos(details.startChangePos + offset, removeDirection);\n if (removeDirection !== DIRECTION.NONE) cursorPos = this.masked.nearestInputPos(cursorPos, DIRECTION.NONE);\n this.updateControl(cursorPos);\n delete this._inputEvent;\n }\n\n /** Handles view change event and commits model value */\n _onChange() {\n if (this.displayValue !== this.el.value) this.updateValue();\n this.masked.doCommit();\n this.updateControl();\n this._saveSelection();\n }\n\n /** Handles view drop event, prevents by default */\n _onDrop(ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n /** Restore last selection on focus */\n _onFocus(ev) {\n this.alignCursorFriendly();\n }\n\n /** Restore last selection on focus */\n _onClick(ev) {\n this.alignCursorFriendly();\n }\n _onUndo() {\n this._applyHistoryState(this.history.undo());\n }\n _onRedo() {\n this._applyHistoryState(this.history.redo());\n }\n _applyHistoryState(state) {\n if (!state) return;\n this._historyChanging = true;\n this.unmaskedValue = state.unmaskedValue;\n this.el.select(state.selection.start, state.selection.end);\n this._saveSelection();\n this._historyChanging = false;\n }\n\n /** Unbind view events and removes element reference */\n destroy() {\n this._unbindEvents();\n this._listeners.length = 0;\n delete this.el;\n }\n}\nIMask.InputMask = InputMask;\n\nexport { InputMask as default };\n"],"names":["InputMask","el","opts","MaskElement","HTMLContenteditableMaskElement","HTMLInputMaskElement","createMask","InputHistory","mask","_this$masked","IMask","maskedClass","masked","str","val","ev","e","listeners","l","pos","cursorPos","newUnmaskedValue","newValue","newRawInputValue","newDisplayValue","isChanged","restOpts","updateMask","updateOpts","DIRECTION","handler","hIndex","details","ActionDetails","oldRawValue","offset","removeDirection","state"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import l from "../core/holder.js";
|
|
2
|
-
class n {
|
|
3
|
-
/** */
|
|
4
|
-
/** */
|
|
5
|
-
/** */
|
|
6
|
-
/** Safely returns selection start */
|
|
7
|
-
get selectionStart() {
|
|
8
|
-
let t;
|
|
9
|
-
try {
|
|
10
|
-
t = this._unsafeSelectionStart;
|
|
11
|
-
} catch {
|
|
12
|
-
}
|
|
13
|
-
return t ?? this.value.length;
|
|
14
|
-
}
|
|
15
|
-
/** Safely returns selection end */
|
|
16
|
-
get selectionEnd() {
|
|
17
|
-
let t;
|
|
18
|
-
try {
|
|
19
|
-
t = this._unsafeSelectionEnd;
|
|
20
|
-
} catch {
|
|
21
|
-
}
|
|
22
|
-
return t ?? this.value.length;
|
|
23
|
-
}
|
|
24
|
-
/** Safely sets element selection */
|
|
25
|
-
select(t, e) {
|
|
26
|
-
if (!(t == null || e == null || t === this.selectionStart && e === this.selectionEnd))
|
|
27
|
-
try {
|
|
28
|
-
this._unsafeSelect(t, e);
|
|
29
|
-
} catch {
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/** */
|
|
33
|
-
get isActive() {
|
|
34
|
-
return !1;
|
|
35
|
-
}
|
|
36
|
-
/** */
|
|
37
|
-
/** */
|
|
38
|
-
/** */
|
|
39
|
-
}
|
|
40
|
-
l.MaskElement = n;
|
|
41
|
-
export {
|
|
42
|
-
n as default
|
|
43
|
-
};
|
|
44
|
-
//# sourceMappingURL=mask-element.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mask-element.js","sources":["../../../../../node_modules/imask/esm/controls/mask-element.js"],"sourcesContent":["import IMask from '../core/holder.js';\n\n/** Generic element API to use with mask */\nclass MaskElement {\n /** */\n\n /** */\n\n /** */\n\n /** Safely returns selection start */\n get selectionStart() {\n let start;\n try {\n start = this._unsafeSelectionStart;\n } catch {}\n return start != null ? start : this.value.length;\n }\n\n /** Safely returns selection end */\n get selectionEnd() {\n let end;\n try {\n end = this._unsafeSelectionEnd;\n } catch {}\n return end != null ? end : this.value.length;\n }\n\n /** Safely sets element selection */\n select(start, end) {\n if (start == null || end == null || start === this.selectionStart && end === this.selectionEnd) return;\n try {\n this._unsafeSelect(start, end);\n } catch {}\n }\n\n /** */\n get isActive() {\n return false;\n }\n /** */\n\n /** */\n\n /** */\n}\nIMask.MaskElement = MaskElement;\n\nexport { MaskElement as default };\n"],"names":["MaskElement","start","end","IMask"],"mappings":";AAGA,MAAMA,EAAY;AAAA;AAAA;AAAA;AAAA;AAAA,EAQhB,IAAI,iBAAiB;AACnB,QAAIC;AACJ,QAAI;AACF,MAAAA,IAAQ,KAAK;AAAA,IACf,QAAQ;AAAA,IAAC;AACT,WAAOA,KAAwB,KAAK,MAAM;AAAA,EAC5C;AAAA;AAAA,EAGA,IAAI,eAAe;AACjB,QAAIC;AACJ,QAAI;AACF,MAAAA,IAAM,KAAK;AAAA,IACb,QAAQ;AAAA,IAAC;AACT,WAAOA,KAAoB,KAAK,MAAM;AAAA,EACxC;AAAA;AAAA,EAGA,OAAOD,GAAOC,GAAK;AACjB,QAAI,EAAAD,KAAS,QAAQC,KAAO,QAAQD,MAAU,KAAK,kBAAkBC,MAAQ,KAAK;AAClF,UAAI;AACF,aAAK,cAAcD,GAAOC,CAAG;AAAA,MAC/B,QAAQ;AAAA,MAAC;AAAA,EACX;AAAA;AAAA,EAGA,IAAI,WAAW;AACb,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAMF;AACAC,EAAM,cAAcH;","x_google_ignoreList":[0]}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { DIRECTION as t } from "./utils.js";
|
|
2
|
-
class o {
|
|
3
|
-
/** Current input value */
|
|
4
|
-
/** Current cursor position */
|
|
5
|
-
/** Old input value */
|
|
6
|
-
/** Old selection */
|
|
7
|
-
constructor(s) {
|
|
8
|
-
for (Object.assign(this, s); this.value.slice(0, this.startChangePos) !== this.oldValue.slice(0, this.startChangePos); )
|
|
9
|
-
--this.oldSelection.start;
|
|
10
|
-
if (this.insertedCount)
|
|
11
|
-
for (; this.value.slice(this.cursorPos) !== this.oldValue.slice(this.oldSelection.end); )
|
|
12
|
-
this.value.length - this.cursorPos < this.oldValue.length - this.oldSelection.end ? ++this.oldSelection.end : ++this.cursorPos;
|
|
13
|
-
}
|
|
14
|
-
/** Start changing position */
|
|
15
|
-
get startChangePos() {
|
|
16
|
-
return Math.min(this.cursorPos, this.oldSelection.start);
|
|
17
|
-
}
|
|
18
|
-
/** Inserted symbols count */
|
|
19
|
-
get insertedCount() {
|
|
20
|
-
return this.cursorPos - this.startChangePos;
|
|
21
|
-
}
|
|
22
|
-
/** Inserted symbols */
|
|
23
|
-
get inserted() {
|
|
24
|
-
return this.value.substr(this.startChangePos, this.insertedCount);
|
|
25
|
-
}
|
|
26
|
-
/** Removed symbols count */
|
|
27
|
-
get removedCount() {
|
|
28
|
-
return Math.max(this.oldSelection.end - this.startChangePos || // for Delete
|
|
29
|
-
this.oldValue.length - this.value.length, 0);
|
|
30
|
-
}
|
|
31
|
-
/** Removed symbols */
|
|
32
|
-
get removed() {
|
|
33
|
-
return this.oldValue.substr(this.startChangePos, this.removedCount);
|
|
34
|
-
}
|
|
35
|
-
/** Unchanged head symbols */
|
|
36
|
-
get head() {
|
|
37
|
-
return this.value.substring(0, this.startChangePos);
|
|
38
|
-
}
|
|
39
|
-
/** Unchanged tail symbols */
|
|
40
|
-
get tail() {
|
|
41
|
-
return this.value.substring(this.startChangePos + this.insertedCount);
|
|
42
|
-
}
|
|
43
|
-
/** Remove direction */
|
|
44
|
-
get removeDirection() {
|
|
45
|
-
return !this.removedCount || this.insertedCount ? t.NONE : (this.oldSelection.end === this.cursorPos || this.oldSelection.start === this.cursorPos) && // if not range removed (event with backspace)
|
|
46
|
-
this.oldSelection.end === this.oldSelection.start ? t.RIGHT : t.LEFT;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
export {
|
|
50
|
-
o as default
|
|
51
|
-
};
|
|
52
|
-
//# sourceMappingURL=action-details.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"action-details.js","sources":["../../../../../node_modules/imask/esm/core/action-details.js"],"sourcesContent":["import { DIRECTION } from './utils.js';\n\n/** Provides details of changing input */\nclass ActionDetails {\n /** Current input value */\n\n /** Current cursor position */\n\n /** Old input value */\n\n /** Old selection */\n\n constructor(opts) {\n Object.assign(this, opts);\n\n // double check if left part was changed (autofilling, other non-standard input triggers)\n while (this.value.slice(0, this.startChangePos) !== this.oldValue.slice(0, this.startChangePos)) {\n --this.oldSelection.start;\n }\n if (this.insertedCount) {\n // double check right part\n while (this.value.slice(this.cursorPos) !== this.oldValue.slice(this.oldSelection.end)) {\n if (this.value.length - this.cursorPos < this.oldValue.length - this.oldSelection.end) ++this.oldSelection.end;else ++this.cursorPos;\n }\n }\n }\n\n /** Start changing position */\n get startChangePos() {\n return Math.min(this.cursorPos, this.oldSelection.start);\n }\n\n /** Inserted symbols count */\n get insertedCount() {\n return this.cursorPos - this.startChangePos;\n }\n\n /** Inserted symbols */\n get inserted() {\n return this.value.substr(this.startChangePos, this.insertedCount);\n }\n\n /** Removed symbols count */\n get removedCount() {\n // Math.max for opposite operation\n return Math.max(this.oldSelection.end - this.startChangePos ||\n // for Delete\n this.oldValue.length - this.value.length, 0);\n }\n\n /** Removed symbols */\n get removed() {\n return this.oldValue.substr(this.startChangePos, this.removedCount);\n }\n\n /** Unchanged head symbols */\n get head() {\n return this.value.substring(0, this.startChangePos);\n }\n\n /** Unchanged tail symbols */\n get tail() {\n return this.value.substring(this.startChangePos + this.insertedCount);\n }\n\n /** Remove direction */\n get removeDirection() {\n if (!this.removedCount || this.insertedCount) return DIRECTION.NONE;\n\n // align right if delete at right\n return (this.oldSelection.end === this.cursorPos || this.oldSelection.start === this.cursorPos) &&\n // if not range removed (event with backspace)\n this.oldSelection.end === this.oldSelection.start ? DIRECTION.RIGHT : DIRECTION.LEFT;\n }\n}\n\nexport { ActionDetails as default };\n"],"names":["ActionDetails","opts","DIRECTION"],"mappings":";AAGA,MAAMA,EAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EASlB,YAAYC,GAAM;AAIhB,SAHA,OAAO,OAAO,MAAMA,CAAI,GAGjB,KAAK,MAAM,MAAM,GAAG,KAAK,cAAc,MAAM,KAAK,SAAS,MAAM,GAAG,KAAK,cAAc;AAC5F,QAAE,KAAK,aAAa;AAEtB,QAAI,KAAK;AAEP,aAAO,KAAK,MAAM,MAAM,KAAK,SAAS,MAAM,KAAK,SAAS,MAAM,KAAK,aAAa,GAAG;AACnF,QAAI,KAAK,MAAM,SAAS,KAAK,YAAY,KAAK,SAAS,SAAS,KAAK,aAAa,MAAK,EAAE,KAAK,aAAa,MAAS,EAAE,KAAK;AAAA,EAGjI;AAAA;AAAA,EAGA,IAAI,iBAAiB;AACnB,WAAO,KAAK,IAAI,KAAK,WAAW,KAAK,aAAa,KAAK;AAAA,EACzD;AAAA;AAAA,EAGA,IAAI,gBAAgB;AAClB,WAAO,KAAK,YAAY,KAAK;AAAA,EAC/B;AAAA;AAAA,EAGA,IAAI,WAAW;AACb,WAAO,KAAK,MAAM,OAAO,KAAK,gBAAgB,KAAK,aAAa;AAAA,EAClE;AAAA;AAAA,EAGA,IAAI,eAAe;AAEjB,WAAO,KAAK,IAAI,KAAK,aAAa,MAAM,KAAK;AAAA,IAE7C,KAAK,SAAS,SAAS,KAAK,MAAM,QAAQ,CAAC;AAAA,EAC7C;AAAA;AAAA,EAGA,IAAI,UAAU;AACZ,WAAO,KAAK,SAAS,OAAO,KAAK,gBAAgB,KAAK,YAAY;AAAA,EACpE;AAAA;AAAA,EAGA,IAAI,OAAO;AACT,WAAO,KAAK,MAAM,UAAU,GAAG,KAAK,cAAc;AAAA,EACpD;AAAA;AAAA,EAGA,IAAI,OAAO;AACT,WAAO,KAAK,MAAM,UAAU,KAAK,iBAAiB,KAAK,aAAa;AAAA,EACtE;AAAA;AAAA,EAGA,IAAI,kBAAkB;AACpB,WAAI,CAAC,KAAK,gBAAgB,KAAK,gBAAsBC,EAAU,QAGvD,KAAK,aAAa,QAAQ,KAAK,aAAa,KAAK,aAAa,UAAU,KAAK;AAAA,IAErF,KAAK,aAAa,QAAQ,KAAK,aAAa,QAAQA,EAAU,QAAQA,EAAU;AAAA,EAClF;AACF;","x_google_ignoreList":[0]}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import i from "./holder.js";
|
|
2
|
-
class s {
|
|
3
|
-
/** Inserted symbols */
|
|
4
|
-
/** Additional offset if any changes occurred before tail */
|
|
5
|
-
/** Raw inserted is used by dynamic mask */
|
|
6
|
-
/** Can skip chars */
|
|
7
|
-
static normalize(t) {
|
|
8
|
-
return Array.isArray(t) ? t : [t, new s()];
|
|
9
|
-
}
|
|
10
|
-
constructor(t) {
|
|
11
|
-
Object.assign(this, {
|
|
12
|
-
inserted: "",
|
|
13
|
-
rawInserted: "",
|
|
14
|
-
tailShift: 0,
|
|
15
|
-
skip: !1
|
|
16
|
-
}, t);
|
|
17
|
-
}
|
|
18
|
-
/** Aggregate changes */
|
|
19
|
-
aggregate(t) {
|
|
20
|
-
return this.inserted += t.inserted, this.rawInserted += t.rawInserted, this.tailShift += t.tailShift, this.skip = this.skip || t.skip, this;
|
|
21
|
-
}
|
|
22
|
-
/** Total offset considering all changes */
|
|
23
|
-
get offset() {
|
|
24
|
-
return this.tailShift + this.inserted.length;
|
|
25
|
-
}
|
|
26
|
-
get consumed() {
|
|
27
|
-
return !!this.rawInserted || this.skip;
|
|
28
|
-
}
|
|
29
|
-
equals(t) {
|
|
30
|
-
return this.inserted === t.inserted && this.tailShift === t.tailShift && this.rawInserted === t.rawInserted && this.skip === t.skip;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
i.ChangeDetails = s;
|
|
34
|
-
export {
|
|
35
|
-
s as default
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=change-details.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"change-details.js","sources":["../../../../../node_modules/imask/esm/core/change-details.js"],"sourcesContent":["import IMask from './holder.js';\n\n/** Provides details of changing model value */\nclass ChangeDetails {\n /** Inserted symbols */\n\n /** Additional offset if any changes occurred before tail */\n\n /** Raw inserted is used by dynamic mask */\n\n /** Can skip chars */\n\n static normalize(prep) {\n return Array.isArray(prep) ? prep : [prep, new ChangeDetails()];\n }\n constructor(details) {\n Object.assign(this, {\n inserted: '',\n rawInserted: '',\n tailShift: 0,\n skip: false\n }, details);\n }\n\n /** Aggregate changes */\n aggregate(details) {\n this.inserted += details.inserted;\n this.rawInserted += details.rawInserted;\n this.tailShift += details.tailShift;\n this.skip = this.skip || details.skip;\n return this;\n }\n\n /** Total offset considering all changes */\n get offset() {\n return this.tailShift + this.inserted.length;\n }\n get consumed() {\n return Boolean(this.rawInserted) || this.skip;\n }\n equals(details) {\n return this.inserted === details.inserted && this.tailShift === details.tailShift && this.rawInserted === details.rawInserted && this.skip === details.skip;\n }\n}\nIMask.ChangeDetails = ChangeDetails;\n\nexport { ChangeDetails as default };\n"],"names":["ChangeDetails","prep","details","IMask"],"mappings":";AAGA,MAAMA,EAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EASlB,OAAO,UAAUC,GAAM;AACrB,WAAO,MAAM,QAAQA,CAAI,IAAIA,IAAO,CAACA,GAAM,IAAID,GAAe;AAAA,EAChE;AAAA,EACA,YAAYE,GAAS;AACnB,WAAO,OAAO,MAAM;AAAA,MAClB,UAAU;AAAA,MACV,aAAa;AAAA,MACb,WAAW;AAAA,MACX,MAAM;AAAA,IACZ,GAAOA,CAAO;AAAA,EACZ;AAAA;AAAA,EAGA,UAAUA,GAAS;AACjB,gBAAK,YAAYA,EAAQ,UACzB,KAAK,eAAeA,EAAQ,aAC5B,KAAK,aAAaA,EAAQ,WAC1B,KAAK,OAAO,KAAK,QAAQA,EAAQ,MAC1B;AAAA,EACT;AAAA;AAAA,EAGA,IAAI,SAAS;AACX,WAAO,KAAK,YAAY,KAAK,SAAS;AAAA,EACxC;AAAA,EACA,IAAI,WAAW;AACb,WAAO,EAAQ,KAAK,eAAgB,KAAK;AAAA,EAC3C;AAAA,EACA,OAAOA,GAAS;AACd,WAAO,KAAK,aAAaA,EAAQ,YAAY,KAAK,cAAcA,EAAQ,aAAa,KAAK,gBAAgBA,EAAQ,eAAe,KAAK,SAASA,EAAQ;AAAA,EACzJ;AACF;AACAC,EAAM,gBAAgBH;","x_google_ignoreList":[0]}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
class h {
|
|
2
|
-
/** Tail value as string */
|
|
3
|
-
/** Tail start position */
|
|
4
|
-
/** Start position */
|
|
5
|
-
constructor(t, i, s) {
|
|
6
|
-
t === void 0 && (t = ""), i === void 0 && (i = 0), this.value = t, this.from = i, this.stop = s;
|
|
7
|
-
}
|
|
8
|
-
toString() {
|
|
9
|
-
return this.value;
|
|
10
|
-
}
|
|
11
|
-
extend(t) {
|
|
12
|
-
this.value += String(t);
|
|
13
|
-
}
|
|
14
|
-
appendTo(t) {
|
|
15
|
-
return t.append(this.toString(), {
|
|
16
|
-
tail: !0
|
|
17
|
-
}).aggregate(t._appendPlaceholder());
|
|
18
|
-
}
|
|
19
|
-
get state() {
|
|
20
|
-
return {
|
|
21
|
-
value: this.value,
|
|
22
|
-
from: this.from,
|
|
23
|
-
stop: this.stop
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
set state(t) {
|
|
27
|
-
Object.assign(this, t);
|
|
28
|
-
}
|
|
29
|
-
unshift(t) {
|
|
30
|
-
if (!this.value.length || t != null && this.from >= t) return "";
|
|
31
|
-
const i = this.value[0];
|
|
32
|
-
return this.value = this.value.slice(1), i;
|
|
33
|
-
}
|
|
34
|
-
shift() {
|
|
35
|
-
if (!this.value.length) return "";
|
|
36
|
-
const t = this.value[this.value.length - 1];
|
|
37
|
-
return this.value = this.value.slice(0, -1), t;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
export {
|
|
41
|
-
h as default
|
|
42
|
-
};
|
|
43
|
-
//# sourceMappingURL=continuous-tail-details.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"continuous-tail-details.js","sources":["../../../../../node_modules/imask/esm/core/continuous-tail-details.js"],"sourcesContent":["/** Provides details of continuous extracted tail */\nclass ContinuousTailDetails {\n /** Tail value as string */\n\n /** Tail start position */\n\n /** Start position */\n\n constructor(value, from, stop) {\n if (value === void 0) {\n value = '';\n }\n if (from === void 0) {\n from = 0;\n }\n this.value = value;\n this.from = from;\n this.stop = stop;\n }\n toString() {\n return this.value;\n }\n extend(tail) {\n this.value += String(tail);\n }\n appendTo(masked) {\n return masked.append(this.toString(), {\n tail: true\n }).aggregate(masked._appendPlaceholder());\n }\n get state() {\n return {\n value: this.value,\n from: this.from,\n stop: this.stop\n };\n }\n set state(state) {\n Object.assign(this, state);\n }\n unshift(beforePos) {\n if (!this.value.length || beforePos != null && this.from >= beforePos) return '';\n const shiftChar = this.value[0];\n this.value = this.value.slice(1);\n return shiftChar;\n }\n shift() {\n if (!this.value.length) return '';\n const shiftChar = this.value[this.value.length - 1];\n this.value = this.value.slice(0, -1);\n return shiftChar;\n }\n}\n\nexport { ContinuousTailDetails as default };\n"],"names":["ContinuousTailDetails","value","from","stop","tail","masked","state","beforePos","shiftChar"],"mappings":"AACA,MAAMA,EAAsB;AAAA;AAAA;AAAA;AAAA,EAO1B,YAAYC,GAAOC,GAAMC,GAAM;AAC7B,IAAIF,MAAU,WACZA,IAAQ,KAENC,MAAS,WACXA,IAAO,IAET,KAAK,QAAQD,GACb,KAAK,OAAOC,GACZ,KAAK,OAAOC;AAAA,EACd;AAAA,EACA,WAAW;AACT,WAAO,KAAK;AAAA,EACd;AAAA,EACA,OAAOC,GAAM;AACX,SAAK,SAAS,OAAOA,CAAI;AAAA,EAC3B;AAAA,EACA,SAASC,GAAQ;AACf,WAAOA,EAAO,OAAO,KAAK,SAAQ,GAAI;AAAA,MACpC,MAAM;AAAA,IACZ,CAAK,EAAE,UAAUA,EAAO,oBAAoB;AAAA,EAC1C;AAAA,EACA,IAAI,QAAQ;AACV,WAAO;AAAA,MACL,OAAO,KAAK;AAAA,MACZ,MAAM,KAAK;AAAA,MACX,MAAM,KAAK;AAAA,IACjB;AAAA,EACE;AAAA,EACA,IAAI,MAAMC,GAAO;AACf,WAAO,OAAO,MAAMA,CAAK;AAAA,EAC3B;AAAA,EACA,QAAQC,GAAW;AACjB,QAAI,CAAC,KAAK,MAAM,UAAUA,KAAa,QAAQ,KAAK,QAAQA,EAAW,QAAO;AAC9E,UAAMC,IAAY,KAAK,MAAM,CAAC;AAC9B,gBAAK,QAAQ,KAAK,MAAM,MAAM,CAAC,GACxBA;AAAA,EACT;AAAA,EACA,QAAQ;AACN,QAAI,CAAC,KAAK,MAAM,OAAQ,QAAO;AAC/B,UAAMA,IAAY,KAAK,MAAM,KAAK,MAAM,SAAS,CAAC;AAClD,gBAAK,QAAQ,KAAK,MAAM,MAAM,GAAG,EAAE,GAC5BA;AAAA,EACT;AACF;","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"holder.js","sources":["../../../../../node_modules/imask/esm/core/holder.js"],"sourcesContent":["/** Applies mask on element */\nfunction IMask(el, opts) {\n // currently available only for input-like elements\n return new IMask.InputMask(el, opts);\n}\n\nexport { IMask as default };\n"],"names":["IMask","el","opts"],"mappings":"AACA,SAASA,EAAMC,GAAIC,GAAM;AAEvB,SAAO,IAAIF,EAAM,UAAUC,GAAIC,CAAI;AACrC;","x_google_ignoreList":[0]}
|