mother-mask 3.20.0 → 3.22.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/README.md +18 -1
- package/dist/mother-mask.cjs +1 -1
- package/dist/mother-mask.cjs.map +1 -1
- package/dist/mother-mask.d.cts +20 -3
- package/dist/mother-mask.d.mts +20 -3
- package/dist/mother-mask.mjs +1 -1
- package/dist/mother-mask.mjs.map +1 -1
- package/dist/mother-mask.umd.js +1 -1
- package/dist/mother-mask.umd.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -66,6 +66,19 @@ bind(input, '999.999.999-99', {
|
|
|
66
66
|
})
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
+
Both binders add `autocomplete="off"`, `autocorrect="off"`,
|
|
70
|
+
`autocapitalize="off"`, and `spellcheck="false"` when those attributes are
|
|
71
|
+
absent. Override the defaults through the same typed options object:
|
|
72
|
+
|
|
73
|
+
```ts
|
|
74
|
+
bind(input, '(99) 99999-9999', {
|
|
75
|
+
autocomplete: 'tel',
|
|
76
|
+
autocorrect: 'on',
|
|
77
|
+
autocapitalize: 'words',
|
|
78
|
+
spellcheck: true,
|
|
79
|
+
})
|
|
80
|
+
```
|
|
81
|
+
|
|
69
82
|
Bind each input once. Calling `bind` or `bindDecimal` on an already-bound input
|
|
70
83
|
does nothing; dispose the existing binding before changing its options. In a UI
|
|
71
84
|
framework, bind after the input mounts and call the disposer during cleanup.
|
|
@@ -395,7 +408,10 @@ The global name is `MotherMask`.
|
|
|
395
408
|
| `formatDecimalValue(value, options?)` | Display string from a JS number |
|
|
396
409
|
|
|
397
410
|
Pattern options (`ApplyMaskOptions`) are `segmented` (default `true`), `eager`
|
|
398
|
-
(default `true`), `tokens`, and `resolveMask`. `BindOptions` adds `onChange
|
|
411
|
+
(default `true`), `tokens`, and `resolveMask`. `BindOptions` adds `onChange` and
|
|
412
|
+
the shared `BindInputAttributes`: `autocomplete`, `autocorrect`,
|
|
413
|
+
`autocapitalize`, and `spellcheck`. `BindDecimalOptions` includes the same DOM
|
|
414
|
+
attribute options.
|
|
399
415
|
`bind` also accepts a `(value) => void` callback as its third argument;
|
|
400
416
|
`bindDecimal` accepts `(value, numericValue) => void` as its second argument.
|
|
401
417
|
|
|
@@ -412,6 +428,7 @@ Exported types:
|
|
|
412
428
|
- `MaskResolver`
|
|
413
429
|
- `MaskResult`
|
|
414
430
|
- `ApplyMaskOptions`
|
|
431
|
+
- `BindInputAttributes`
|
|
415
432
|
- `BindOptions`
|
|
416
433
|
- `DecimalMaskOptions`
|
|
417
434
|
- `BindDecimalOptions`
|
package/dist/mother-mask.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e){return e>=`0`&&e<=`9`}function t(e){return e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`}function n(n){return e(n)||t(n)}const r=[[`9`,{match:e,maxLength:1}],[`Z`,{match:t,maxLength:1}],[`A`,{match:n,maxLength:1}]];function i(e){if(typeof e==`function`)return e;let t=new RegExp(e.source,e.flags.replace(/[gy]/g,``));return e=>t.test(e)}function a(e,t){if(!t.transform)return e;let n=t.transform(e);if(typeof n!=`string`||Array.from(n).length!==1)throw RangeError(`A mask token transform must return exactly one Unicode code point`);return n}function o(e,t){let n=[],r=[],i=[],a=[],o=Array.from(e),s=0,c=!1;for(let e=0;e<o.length;e++){let l=o[e],u=!1;l===`\\`&&(o[e+1]===`\\`||t.has(o[e+1]))&&(l=o[++e],u=!0,c=!0);let d=u?void 0:t.get(l),f=n[n.length-1];if(d){if(s+=d.maxLength,f?.kind===`slots`)f.chars.push(d);else{let e=[d];r.push(i.length),a.push(n.length),i.push(e),n.push({kind:`slots`,chars:e})}}else s+=l.length,f?.kind===`literal`?f.text+=l:(r.push(-1),n.push({kind:`literal`,text:l}))}let l=i.length,u=Array(l),d=Array(l),f=Array(l+1),p=Array(n.length).fill(-1),m=Array(n.length).fill(-1),h=0;for(let e=0;e<l;e++)u[e]=h,h+=i[e].length,d[e]=a[e]>0?a[e]-1:-1;f[l]=0;for(let e=l-1;e>=0;e--)f[e]=f[e+1]+i[e].length;for(let e=0;e<n.length;e++)n[e].kind===`literal`&&(p[e]=e>0?r[e-1]:-1,m[e]=e+1<n.length?r[e+1]:-1);let g=[],_=[],v=new Set;for(let e=0;e<n.length;e++){let t=n[e];if(t.kind===`literal`)g.push(t),_.push({text:t.text,offset:m[e]<0?h:u[m[e]]});else for(let e of t.chars)g.push(e),v.add(e)}return{maxLength:s,hasEscapes:c,dataSlots:[...v],literals:_,parts:g,tokens:n,runChars:i,runOffset:u,literalBeforeRun:d,capacityFromRun:f,runOfToken:r,runBeforeLiteral:p,runAfterLiteral:m,totalSlots:h}}var s=class{definitions=new Map(r);cache=new Map;custom;constructor(e){this.custom=!!e&&Object.keys(e).length>0;for(let[t,n]of Object.entries(e??{})){if(t===`\\`||Array.from(t).length!==1)throw RangeError(`Mask token keys must be one Unicode code point other than backslash`);let e=typeof n==`object`&&`match`in n?n:{match:n};this.definitions.set(t,{match:i(e.match),transform:e.transform,maxLength:2})}}compile(e){let t=this.cache.get(e);if(t)return t;let n=o(e,this.definitions);return this.cache.size===64&&this.cache.delete(this.cache.keys().next().value),this.cache.set(e,n),n}isData(e,t){if(t&&(this.custom||t.hasEscapes))return t.dataSlots.some(t=>t.match(e));for(let t of this.definitions.values())if(t.match(e))return!0;return!1}data(e,t,n,r=!0){let i=``,a=0,o=0,s=0,c=-1,l=!1,u,d=[];if(n){let e=new Set;for(let t of n){for(let n of t.dataSlots)e.add(n);if(r)for(let e of t.literals)d.push(e)}u=[...e]}let f=n?.some(e=>e.hasEscapes);for(;a<e.length;){let n=c!==s&&d?.find(t=>(t.offset===s||f)&&e.startsWith(t.text,a));if(n){a<t&&(l=!0),a+=n.text.length,c=s;continue}let r=String.fromCodePoint(e.codePointAt(a)),p=a;if(a+=r.length,!(u?u.some(e=>e.match(r)):this.isData(r))){p<t&&d?.some(t=>e.startsWith(t.text,p))&&(l=!0);continue}i+=r,s++,a<=t&&(o=i.length,l=!1)}return{value:i,caret:o,afterLiteral:l}}resolve(e,t,n=!0){if(!Array.isArray(t))return this.compile(t);let r=t.map(e=>this.compile(e)),i=Array.from(this.data(e,0,this.custom||r.some(e=>e.hasEscapes)?r:void 0,n).value).length,a=0;for(;a<r.length-1&&i>r[a].totalSlots;)a++;return r[a]??this.compile(``)}};const c=new s;function l(e,t){if(t?.resolveMask)return 1/0;let n=t?.tokens?new s(t.tokens):c,r=Array.isArray(e)?e:[e],i=0;for(let e of r)i=Math.max(i,n.compile(e).maxLength);return i}function u(e,t,n,r,i,o){let s=``,c=``,l=0,u=0,d=!1,f=t.tokens[0],p=!1;for(let r of t.parts){if(`kind`in r){c+=r.text,i&&e.startsWith(r.text,l)&&(l+=r.text.length,r===f&&(p=!0));continue}let m=!1;for(;l<e.length;){let h=i&&t.hasEscapes&&t.literals.find(t=>e.startsWith(t.text,l));if(h){l+=h.text.length;continue}if(i&&!p&&f?.kind===`literal`&&e.startsWith(f.text,l)){l+=f.text.length,p=!0;continue}let g=String.fromCodePoint(e.codePointAt(l));if(l+=g.length,r.match(g)){o&&!d&&l>n&&(u=s.length+c.length),s+=c+a(g,r),c=``,m=!0,d||(l<=n?u=s.length:d=!0);break}}if(!m)break}if(d||(u=s.length),r&&c){let e=u===s.length;s+=c,e&&(u=s.length)}return{value:s,caret:u}}function d(e,t){return e.tokens[e.literalBeforeRun[t]].text}function f(e,t,n,r){let i=0;for(let a=t;a<e.length;){let t=String.fromCodePoint(e.codePointAt(a));a+=t.length,n.isData(t,r)&&i++}return i}function p(e,t,n){for(let r=0;r<n.length;)if(r+=String.fromCodePoint(n.codePointAt(r)).length,r<n.length&&e.startsWith(n.slice(r),t))return n.length-r;return 0}function m(e,t,n){return e.startsWith(n,t)?n.length:p(e,t,n)}function h(e,t,n,r,i){let a=n.runChars.length;for(let o=0;o<2;o++)for(let s=r+1;s<a;s++){let r=d(n,s),a=o===0?e.startsWith(r,t)?r.length:0:p(e,t,r);if(a)return f(e,t+a,i,n)<=n.capacityFromRun[s]?s:-1}return-1}function g(e,t,n,r,i){let o=t.runChars.length,s=Array(t.totalSlots).fill(``),c=Array(t.totalSlots).fill(-1),l=Array(o).fill(0),u=Array(t.tokens.length).fill(-1),p=0,g=0,_=0,v=!1,y=t.tokens[0];for(r&&y?.kind===`literal`&&e.startsWith(y.text)&&(u[0]=0,_=y.text.length);_<e.length&&p<o;){if(r&&u[0]<0&&y?.kind===`literal`&&e.startsWith(y.text,_)){u[0]=_,_+=y.text.length;continue}let b=t.runChars[p],x=String.fromCodePoint(e.codePointAt(_)),S=b[g].match(x),C=r&&(!S||t.hasEscapes)?h(e,_,t,p,n):-1;if(C>=0){u[t.literalBeforeRun[C]]=_,_+=m(e,_,d(t,C)),p=C,g=0;continue}if(!v&&g>0&&_===i&&p+1<o&&e.indexOf(d(t,p+1),_)<0&&f(e,_,n,t)===t.capacityFromRun[p+1]){v=!0,p++,g=0;continue}if(S){let n=t.runOffset[p]+g;if(s[n]=a(x,b[g]),c[n]=_+x.length,l[p]=g+1,_+=x.length,g++,g===b.length&&(p++,g=0,r&&p<o)){let n=d(t,p);e.startsWith(n,_)&&(u[t.literalBeforeRun[p]]=_,_+=n.length)}continue}_+=x.length}return{slotChar:s,slotSource:c,runFilled:l,literalSource:u}}function _(e,t,n){let{tokens:r,runBeforeLiteral:i,runAfterLiteral:a,literalBeforeRun:o,runChars:s}=e,{runFilled:c,literalSource:l}=t,u=Array(r.length).fill(!1),d=c.length-1;for(;d>=0&&c[d]===0;)d--;for(let e=0;e<r.length;e++){if(r[e].kind!==`literal`)continue;let t=a[e],o=i[e],f=o<0&&d>=0&&(l[e+2]>=0||c[t+1]>0);u[e]=t>=0&&(c[t]>0||l[e]>=0&&t<d)||f||n&&(o<0||c[o]===s[o].length)}let f=-1;for(let e=0;e<s.length;e++){if(c[e]===0)continue;let t=o[e];if(t>=0){let n=r[t].text;for(let t=f+1;t<e;t++){let e=o[t];e<0||r[e].text===n&&(u[e]=!0)}}f=e}return u}function v(e,t,n,r,i,a){let{tokens:o,runChars:s,runOffset:c,runBeforeLiteral:l,runAfterLiteral:u,runOfToken:d}=e,{slotChar:f,slotSource:p,runFilled:m}=t,h=``,g=0,_=!1;for(let e=0;e<o.length;e++){let v=o[e];if(v.kind===`literal`){if(!n[e])continue;let o=l[e],c=u[e],d=c<0||m[c]===0,f=o<0||i&&m[o]===s[o].length,p=t.literalSource[e],y=!_&&g===h.length;h+=v.text,y&&(a||f&&d||p>=0&&p<r)&&(g=h.length);continue}let y=d[e],b=c[y];for(let e=0;e<m[y];e++)h+=f[b+e],!_&&(p[b+e]<=r?g=h.length:_=!0)}return{value:h,caret:g}}function y(e,t,n,r,i,a,o){let s=g(e,t,i,a,n);return v(t,s,_(t,s,r),n,r,o)}function b(e,t,n,r,i){let a,o=!1;if(r?.resolveMask){let s=Array.isArray(t)?t:[t],c=i.data(e,n,s.map(e=>i.compile(e)));a=i.resolve(c.value,r.resolveMask(c.value),!1),e=c.value,n=c.caret,o=c.afterLiteral}else a=i.resolve(e,t);if(!e)return{value:``,caret:0};let s=r?.eager!==!1;return r?.segmented===!1?u(e,a,n,s,!r.resolveMask,o):y(e,a,n,s,i,!r?.resolveMask,o)}function x(e,t,n=0,r){return b(e,t,n,r,r?.tokens?new s(r.tokens):c)}const S=`data-masked`;function C(e){return e.getAttribute(S)!==null}function w(e){try{return e.selectionStart??e.value.length}catch{return e.value.length}}function T(e,t){try{t>0&&t<e.value.length&&e.value.charCodeAt(t)>=56320&&e.value.charCodeAt(t)<=57343&&e.value.charCodeAt(t-1)>=55296&&e.value.charCodeAt(t-1)<=56319&&t--,e.setSelectionRange(t,t)}catch{}}function E(e){let t=e;return()=>{let e=t;t=void 0,e?.()}}function D(e,t){return e.value===t&&e.selectionStart!==e.selectionEnd}function O(){let e=new Set;return{scheduleFrame:t=>{let n=requestAnimationFrame(()=>{e.delete(n),t()});e.add(n)},cancelPendingFrames:()=>{for(let t of e)cancelAnimationFrame(t);e.clear()}}}function k(e,t,n,r,i){if(n<=0)return e;let a=t+n;if(a>r.length||r.slice(0,t)!==e.slice(0,t)||r.slice(a)!==e.slice(t))return e;let o=r.slice(a);if(!Array.from(o).some(i))return e;let s=r.slice(t,a);if(!Array.from(s).some(i))return e;let c=``;for(let e of s)i(e)||(c+=e);return c?e.slice(0,t)+c+e.slice(t):e}function A(e){let t=[];return{setIfMissing:(n,r)=>{e.hasAttribute(n)||(e.setAttribute(n,r),t.push(n))},removeTracked:()=>{for(let n of t)e.removeAttribute(n)}}}let j;function M(){return j===void 0&&(j=typeof navigator<`u`&&/iPad|iPhone|iPod/i.test(navigator.userAgent)),j}function N(e){return e==null?{}:typeof e==`function`?{onChange:e}:e}function P(e,t,n){return e===0&&t.value!==n?t.caret:e}function F(e,t,n,r){if(n.value.startsWith(e.slice(0,t)))return P(t,n,r);let i=n.value.length,a=e.length;for(;a>t&&i>0&&e[a-1]===n.value[i-1];)a--,i--;return Math.min(t,n.caret,i)}function I(e){return e?.startsWith(`delete`)&&e.endsWith(`Backward`)?`backspace`:e===`deleteContentForward`?`delete`:e&&e.startsWith(`insert`)?`insert`:`unidentified`}function L(e,t){return!t&&e}function R(e,t,n,r,i,a,o){return a&&i.value!==t&&i.value!==o?i.caret:e===`unidentified`?i.value.length>r?i.caret:P(n,i,o):e===`delete`?r===i.value.length?n+1:P(n,i,o):e===`backspace`?F(t,n,i,o):i.caret}function z(e,t,n){if(C(e))return()=>{};let{onChange:r,segmented:i,eager:a,tokens:o,resolveMask:c}=N(n),u=new s(o),d=(e,n,r=a)=>b(e,t,n,{tokens:o,resolveMask:c,segmented:i,eager:r},u),f=e=>u.isData(e),p=!!o&&Object.keys(o).length>0,{setIfMissing:m,removeTracked:h}=A(e),g=c||p?1/0:l(t);e.setAttribute(S,Array.isArray(t)?t.join(`|`):t),m(`autocomplete`,`off`),m(`autocorrect`,`off`),m(`autocapitalize`,`off`),m(`spellcheck`,`false`),Number.isFinite(g)&&m(`maxlength`,String(g));let _=!1,v=!1,y=!1,x=e.value??``,j=M()?`keyup`:`keydown`,{scheduleFrame:P,cancelPendingFrames:F}=O(),z=e=>{let t=e.target,n=t.value;P(()=>{if(p&&v||D(t,n))return;let e=d(t.value,w(t));t.value=e.value,T(t,e.caret),x=t.value,r?.(t.value)})},B=e=>{let n=e,i=e.target;if(F(),_=!1,y=!0,p&&(v||n.isComposing)||D(i,x))return;let o=w(i),s=x.length,l=I(n.inputType),u=i.value,m=l===`backspace`||l===`delete`,h=!Array.isArray(t)&&!c&&(n.inputType===`deleteContentBackward`||n.inputType===`deleteContentForward`||n.inputType===`deleteByCut`)?k(u,o,s-u.length,x,f):u,g=d(h,o,L(a,m));i.value=g.value,T(i,R(l,u,o,s,g,c,x)),x=i.value,r?.(i.value)},V=()=>{v=!0,F(),_=!1},H=e=>{v=!1,y=!0;let t=e.target,n=w(t),i=d(t.value,n);t.value=i.value,T(t,i.caret),x=t.value,r?.(t.value)},U=e=>{let t=e,n=t.target,i=n.value;if(v)return;if(j===`keyup`&&y){y=!1;return}if(!t.key){_=!0,P(()=>{if(D(n,i)){_=!1;return}let e=n.selectionStart??999,t=n.value.length<i.length,r=d(n.value,e,L(a,t));n.value=r.value,T(n,r.caret),x=n.value,P(()=>{_=!1})});return}if(t.key===`Meta`)return;let o=t.key===`Backspace`,s=t.key===`Delete`,l=Array.from(t.key).length===1&&!t.ctrlKey&&!t.altKey&&!t.metaKey,u=t.key===`Unidentified`;if(l&&n.selectionStart===n.selectionEnd&&i.length>=g&&!M()){t.preventDefault();return}if(_){t.preventDefault();return}if(!o&&!s&&!l&&!u)return;let f=o?`backspace`:s?`delete`:u?`unidentified`:`insert`;P(()=>{if(D(n,i))return;let e=n.selectionStart??999,t=n.value,l=d(t,e,L(a,o||s));n.value=l.value,T(n,R(f,t,e,i.length,l,c,i)),x=n.value,r?.(n.value)})};return e.addEventListener(`paste`,z),e.addEventListener(`input`,B),e.addEventListener(`compositionstart`,V),e.addEventListener(`compositionend`,H),e.addEventListener(j,U),E(()=>{e.removeEventListener(`paste`,z),e.removeEventListener(`input`,B),e.removeEventListener(`compositionstart`,V),e.removeEventListener(`compositionend`,H),e.removeEventListener(j,U),e.removeAttribute(S),h(),F()})}function B(e){let t=e?.decimalPlaces,n=t!=null&&Number.isFinite(t)?Math.max(0,Math.floor(t)):void 0,r=e?.numberPlaces;return{decimalPlaces:n,numberPlaces:r!=null&&Number.isFinite(r)?Math.max(1,Math.floor(r)):void 0,segmented:e?.segmented??!0,separator:e?.separator??`,`,decimalSeparator:e?.decimalSeparator??`.`,prefix:e?.prefix??``,suffix:e?.suffix??``,allowNegative:e?.allowNegative??!1}}function V(e){let t=0;for(;t<e.length-1&&e[t]===`0`;)t++;return e.slice(t)}function H(e,t){if(!t||e.length<=3)return e;let n=[],r=e.length;for(;r>3;)n.unshift(e.slice(r-3,r)),r-=3;return n.unshift(e.slice(0,r)),n.join(t)}function U(e,t){let n=V(e||`0`),r=t.numberPlaces==null?n:n.padStart(t.numberPlaces,`0`);return{intPart:n,paddedInt:r,groupedInt:t.segmented?H(r,t.separator):r}}function W(t,n){if(n<=0)return 0;let r=0;for(let i=0;i<t.length;i++)if(e(t[i])&&(r++,r===n))return i+1;return t.length}function G(e,t){let n=0,r=``;t.prefix&&e.startsWith(t.prefix)?n=t.prefix.length:(t.allowNegative&&e[0]===`-`&&(r=`-`,n=1),t.prefix&&e.startsWith(t.prefix,n)&&(n+=t.prefix.length));let i=e.length;return t.suffix&&e.endsWith(t.suffix)&&i-t.suffix.length>=n&&(i-=t.suffix.length),{sign:r,body:e.slice(n,i),bodyStart:n}}function K(t,n){let r=G(t,n),i=``,a=``,o=r.sign===`-`,s=!1,c=n.decimalPlaces!==0;for(let t of r.body){if(e(t)){s?(n.decimalPlaces==null||a.length<n.decimalPlaces)&&(a+=t):(n.numberPlaces==null||i.length<n.numberPlaces)&&(i+=t);continue}if(c&&!s&&t===n.decimalSeparator){s=!0;continue}t===`-`&&n.allowNegative&&(o=!0)}return{isNegative:o,intDigits:i,fracDigits:a,hasSeparator:s}}function q(t,n,r){let i=r.decimalPlaces!==0,a=!1,o=0;for(let s=0;s<n;s++){let n=t[s];if(e(n)){a?(r.decimalPlaces==null||o<r.decimalPlaces)&&o++:(r.numberPlaces==null||o<r.numberPlaces)&&o++;continue}i&&!a&&n===r.decimalSeparator&&(a=!0,o=0)}return{inFraction:a,digitsBefore:o}}function J(e,t=0,n){let r=B(n);if(!e)return{value:``,caret:0};let{isNegative:i,intDigits:a,fracDigits:o,hasSeparator:s}=K(e,r);if(a===``&&o===``&&!s)return{value:``,caret:0};let{intPart:c,paddedInt:l,groupedInt:u}=U(a,r),d=r.decimalPlaces!=null&&r.decimalPlaces>0?o.padEnd(r.decimalPlaces,`0`):o,f=u+(r.decimalPlaces!==0&&(r.decimalPlaces!=null||s)?r.decimalSeparator+d:``),p=i?`-`:``,m=p+r.prefix+f+r.suffix,h=G(e,r),g=Math.max(0,Math.min(t-h.bodyStart,h.body.length)),{inFraction:_,digitsBefore:v}=q(h.body,g,r),y=p.length+r.prefix.length,b=l.length-c.length;return{value:m,caret:_?y+u.length+r.decimalSeparator.length+v:y+W(u,v+b)}}function Y(e,t){return J(e,e.length,t).value}function X(e,t){let{isNegative:n,intDigits:r,fracDigits:i}=K(e,B(t)),a=Number(i?`${r||`0`}.${i}`:r||`0`);return n?-a:a}function Z(e,t){let n=B(t);if(n.decimalPlaces==null||n.decimalPlaces<=0)return null;let{isNegative:r,intDigits:i,hasSeparator:a}=K(e,n);if(a||i.length<n.decimalPlaces+1)return null;let o=i.length-n.decimalPlaces,s=i.slice(o),c=i.slice(0,o-1),l=r?`-`:``;return J(l+c+n.decimalSeparator+s,l.length+c.length,n)}function ee(e,t,n,r){if(n<=0)return null;let i=t-n;if(i<0||t>e.length)return null;let a=e.slice(0,i)+e.slice(t),{bodyStart:o,body:s}=G(a,B(r)),c=o+s.length,l=i<o?o:i>c?c:-1;if(l<0)return null;let u=e.slice(i,t);return{value:a.slice(0,l)+u+a.slice(l),caret:l+n}}function te(e,t,n,r){let i=B(r),a=t-1;if(a<0||e[a]!==n)return null;let{isNegative:o,intDigits:s,fracDigits:c,hasSeparator:l}=K(e.slice(0,a)+e.slice(t),i),u=V(s||`0`),d=u!==`0`,f=d&&i.numberPlaces!=null&&u.length<i.numberPlaces;if(d&&!f)return null;let p=+!!o+i.prefix.length;if(a<p||a>p+s.length)return null;let m=o?`-`:``,h=(d?u:``)+n;return J(m+h+(l?i.decimalSeparator+c:``),m.length+h.length,i)}function ne(e,t){let n=B(t);if(!Number.isFinite(e))return``;let r=n.allowNegative&&e<0,i=Math.abs(e),a=n.decimalPlaces==null?String(i):i.toFixed(n.decimalPlaces),o=a.indexOf(`.`),s=o===-1?a:a.slice(0,o),c=o===-1?``:a.slice(o+1),{groupedInt:l}=U(s,n),u=l+(n.decimalPlaces!==0&&c!==``?n.decimalSeparator+c:``);return(r?`-`:``)+n.prefix+u+n.suffix}function re(e){return e==null?{}:typeof e==`function`?{onChange:e}:e}function ie(e){return e.length===1&&e>=`0`&&e<=`9`}function ae(e,t){if(C(e))return()=>{};let{onChange:n,...r}=re(t),i=r,{decimalSeparator:a,decimalPlaces:o}=B(i),{setIfMissing:s,removeTracked:c}=A(e);e.setAttribute(S,`decimal`),s(`autocomplete`,`off`),s(`autocorrect`,`off`),s(`autocapitalize`,`off`),s(`spellcheck`,`false`);let l=!1,u=!1,d=!1,f=null,p=M()?`keyup`:`keydown`,{scheduleFrame:m,cancelPendingFrames:h}=O(),g=(e,t)=>{e.value=t.value,T(e,t.caret),n?.(t.value,X(t.value,i))},_=(e,t={})=>{let n=w(e),r=(t,r)=>{if(o===0||t.length!==1||t!==`.`&&t!==`,`||t===a)return!1;for(let i of r)if(i!=null&&i>=0&&e.value.slice(i,i+t.length)===t)return e.value=e.value.slice(0,i)+a+e.value.slice(i+t.length),n=i+t.length<=n?n+a.length-t.length:n,T(e,n),!0;return!1};if(f){let{text:e,starts:t}=f;f=null,r(e,t)}if(t.inputType===`deleteContentBackward`){let t=Z(e.value,i);if(t){g(e,t);return}}let s=t.insertedText;if(s!=null&&r(s,[t.insertedAt,n-s.length]),s!=null&&s.length>0){let t=ee(e.value,n,s.length,i);t&&(e.value=t.value,n=t.caret)}let c=s!=null&&s.length===1&&ie(s)?s:void 0,l=c?te(e.value,n,c,i):null;g(e,l??J(e.value,n,i))},v=e=>{let t=e.target;m(()=>{_(t)})},y=e=>{let t=e,n=e.target;h(),l=!1,f=null,d=!0,_(n,{insertedText:typeof t.data==`string`?t.data:null,inputType:t.inputType})},b=()=>{u=!0,h(),l=!1,f=null},x=e=>{u=!1,d=!0,_(e.target)},k=e=>{let t=e,n=t.target,r=w(n),i=n.value;if(u)return;if(p===`keyup`&&d){d=!1;return}if(!t.key){l=!0,m(()=>{if(D(n,i)){l=!1;return}_(n),m(()=>{l=!1})});return}if(t.key===`Meta`)return;if(l){t.preventDefault();return}let s=t.key===`Backspace`,c=t.key===`Delete`,h=t.key.length===1&&!t.ctrlKey&&!t.altKey&&!t.metaKey,g=t.key===`Unidentified`;h&&o!==0&&(t.key===`.`||t.key===`,`)&&t.key!==a&&(f={text:t.key,starts:[r,r-t.key.length]}),!(!s&&!c&&!h&&!g)&&m(()=>{D(n,i)||_(n,{insertedText:h?t.key:null,insertedAt:h?r:void 0,inputType:s?`deleteContentBackward`:c?`deleteContentForward`:void 0})})};return e.addEventListener(`paste`,v),e.addEventListener(`input`,y),e.addEventListener(`compositionstart`,b),e.addEventListener(`compositionend`,x),e.addEventListener(p,k),E(()=>{e.removeEventListener(`paste`,v),e.removeEventListener(`input`,y),e.removeEventListener(`compositionstart`,b),e.removeEventListener(`compositionend`,x),e.removeEventListener(p,k),e.removeAttribute(S),c(),h()})}var Q=class{caret;_value;_mask;_options;constructor(e,t,n=0,r){this._value=e,this._mask=t,this.caret=n,this._options=r}process(){let e=x(this._value,this._mask,this.caret,this._options);return this.caret=e.caret,e.value}};function $(e,t,n=0,r){return new Q(e,t,n,r)}function oe(e,t,n){return $(e,t,0,n).process()}exports.Mask=Q,exports.applyDecimalMask=J,exports.applyMask=x,exports.bind=z,exports.bindDecimal=ae,exports.buildMask=$,exports.formatDecimalValue=ne,exports.getMaxLength=l,exports.process=oe,exports.processDecimal=Y,exports.unmaskDecimal=X;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e){return e>=`0`&&e<=`9`}function t(e){return e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`}function n(n){return e(n)||t(n)}const r=[[`9`,{match:e,maxLength:1}],[`Z`,{match:t,maxLength:1}],[`A`,{match:n,maxLength:1}]];function i(e){if(typeof e==`function`)return e;let t=new RegExp(e.source,e.flags.replace(/[gy]/g,``));return e=>t.test(e)}const a=[`中`,`あ`,`ア`,`가`];function o(e){let t=i(e);return a.some(e=>{try{return t(e)}catch{return!0}})}function s(e,t){if(!t.transform)return e;let n=t.transform(e);if(typeof n!=`string`||Array.from(n).length!==1)throw RangeError(`A mask token transform must return exactly one Unicode code point`);return n}function c(e,t){let n=[],r=[],i=[],a=[],o=Array.from(e),s=0,c=!1;for(let e=0;e<o.length;e++){let l=o[e],u=!1;l===`\\`&&(o[e+1]===`\\`||t.has(o[e+1]))&&(l=o[++e],u=!0,c=!0);let d=u?void 0:t.get(l),f=n[n.length-1];if(d){if(s+=d.maxLength,f?.kind===`slots`)f.chars.push(d);else{let e=[d];r.push(i.length),a.push(n.length),i.push(e),n.push({kind:`slots`,chars:e})}}else s+=l.length,f?.kind===`literal`?f.text+=l:(r.push(-1),n.push({kind:`literal`,text:l}))}let l=i.length,u=Array(l),d=Array(l),f=Array(l+1),p=Array(n.length).fill(-1),m=Array(n.length).fill(-1),h=0;for(let e=0;e<l;e++)u[e]=h,h+=i[e].length,d[e]=a[e]>0?a[e]-1:-1;f[l]=0;for(let e=l-1;e>=0;e--)f[e]=f[e+1]+i[e].length;for(let e=0;e<n.length;e++)n[e].kind===`literal`&&(p[e]=e>0?r[e-1]:-1,m[e]=e+1<n.length?r[e+1]:-1);let g=[],_=[],v=new Set;for(let e=0;e<n.length;e++){let t=n[e];if(t.kind===`literal`)g.push(t),_.push({text:t.text,offset:m[e]<0?h:u[m[e]]});else for(let e of t.chars)g.push(e),v.add(e)}return{maxLength:s,hasEscapes:c,dataSlots:[...v],literals:_,parts:g,tokens:n,runChars:i,runOffset:u,literalBeforeRun:d,capacityFromRun:f,runOfToken:r,runBeforeLiteral:p,runAfterLiteral:m,totalSlots:h}}var l=class{definitions=new Map(r);cache=new Map;custom;hasComposingRisk;constructor(e){this.custom=!!e&&Object.keys(e).length>0;let t=!1;for(let[n,r]of Object.entries(e??{})){if(n===`\\`||Array.from(n).length!==1)throw RangeError(`Mask token keys must be one Unicode code point other than backslash`);let e=typeof r==`object`&&`match`in r?r:{match:r};o(e.match)&&(t=!0),this.definitions.set(n,{match:i(e.match),transform:e.transform,maxLength:2})}this.hasComposingRisk=t}compile(e){let t=this.cache.get(e);if(t)return t;let n=c(e,this.definitions);return this.cache.size===64&&this.cache.delete(this.cache.keys().next().value),this.cache.set(e,n),n}isData(e,t){if(t&&(this.custom||t.hasEscapes))return t.dataSlots.some(t=>t.match(e));for(let t of this.definitions.values())if(t.match(e))return!0;return!1}data(e,t,n,r=!0){let i=``,a=0,o=0,s=0,c=-1,l=!1,u,d=[];if(n){let e=new Set;for(let t of n){for(let n of t.dataSlots)e.add(n);if(r)for(let e of t.literals)d.push(e)}u=[...e]}let f=n?.some(e=>e.hasEscapes);for(;a<e.length;){let n=c!==s&&d?.find(t=>(t.offset===s||f)&&e.startsWith(t.text,a));if(n){a<t&&(l=!0),a+=n.text.length,c=s;continue}let r=String.fromCodePoint(e.codePointAt(a)),p=a;if(a+=r.length,!(u?u.some(e=>e.match(r)):this.isData(r))){p<t&&d?.some(t=>e.startsWith(t.text,p))&&(l=!0);continue}i+=r,s++,a<=t&&(o=i.length,l=!1)}return{value:i,caret:o,afterLiteral:l}}resolve(e,t,n=!0){if(!Array.isArray(t))return this.compile(t);let r=t.map(e=>this.compile(e)),i=Array.from(this.data(e,0,this.custom||r.some(e=>e.hasEscapes)?r:void 0,n).value).length,a=0;for(;a<r.length-1&&i>r[a].totalSlots;)a++;return r[a]??this.compile(``)}};const u=new l;function d(e,t){if(t?.resolveMask)return 1/0;let n=t?.tokens?new l(t.tokens):u,r=Array.isArray(e)?e:[e],i=0;for(let e of r)i=Math.max(i,n.compile(e).maxLength);return i}function f(e,t,n,r,i,a){let o=``,c=``,l=0,u=0,d=!1,f=t.tokens[0],p=!1;for(let r of t.parts){if(`kind`in r){c+=r.text,i&&e.startsWith(r.text,l)&&(l+=r.text.length,r===f&&(p=!0));continue}let m=!1;for(;l<e.length;){let h=i&&t.hasEscapes&&t.literals.find(t=>e.startsWith(t.text,l));if(h){l+=h.text.length;continue}if(i&&!p&&f?.kind===`literal`&&e.startsWith(f.text,l)){l+=f.text.length,p=!0;continue}let g=String.fromCodePoint(e.codePointAt(l));if(l+=g.length,r.match(g)){a&&!d&&l>n&&(u=o.length+c.length),o+=c+s(g,r),c=``,m=!0,d||(l<=n?u=o.length:d=!0);break}}if(!m)break}if(d||(u=o.length),r&&c){let e=u===o.length;o+=c,e&&(u=o.length)}return{value:o,caret:u}}function p(e,t){return e.tokens[e.literalBeforeRun[t]].text}function m(e,t,n,r){let i=0;for(let a=t;a<e.length;){let t=String.fromCodePoint(e.codePointAt(a));a+=t.length,n.isData(t,r)&&i++}return i}function h(e,t,n){for(let r=0;r<n.length;)if(r+=String.fromCodePoint(n.codePointAt(r)).length,r<n.length&&e.startsWith(n.slice(r),t))return n.length-r;return 0}function g(e,t,n){return e.startsWith(n,t)?n.length:h(e,t,n)}function _(e,t,n,r,i){let a=n.runChars.length;for(let o=0;o<2;o++)for(let s=r+1;s<a;s++){let r=p(n,s),a=o===0?e.startsWith(r,t)?r.length:0:h(e,t,r);if(a)return m(e,t+a,i,n)<=n.capacityFromRun[s]?s:-1}return-1}function v(e,t,n,r,i){let a=t.runChars.length,o=Array(t.totalSlots).fill(``),c=Array(t.totalSlots).fill(-1),l=Array(a).fill(0),u=Array(t.tokens.length).fill(-1),d=0,f=0,h=0,v=!1,y=t.tokens[0];for(r&&y?.kind===`literal`&&e.startsWith(y.text)&&(u[0]=0,h=y.text.length);h<e.length&&d<a;){if(r&&u[0]<0&&y?.kind===`literal`&&e.startsWith(y.text,h)){u[0]=h,h+=y.text.length;continue}let b=t.runChars[d],x=String.fromCodePoint(e.codePointAt(h)),S=b[f].match(x),C=r&&(!S||t.hasEscapes)?_(e,h,t,d,n):-1;if(C>=0){u[t.literalBeforeRun[C]]=h,h+=g(e,h,p(t,C)),d=C,f=0;continue}if(!v&&f>0&&h===i&&d+1<a&&e.indexOf(p(t,d+1),h)<0&&m(e,h,n,t)===t.capacityFromRun[d+1]){v=!0,d++,f=0;continue}if(S){let n=t.runOffset[d]+f;if(o[n]=s(x,b[f]),c[n]=h+x.length,l[d]=f+1,h+=x.length,f++,f===b.length&&(d++,f=0,r&&d<a)){let n=p(t,d);e.startsWith(n,h)&&(u[t.literalBeforeRun[d]]=h,h+=n.length)}continue}h+=x.length}return{slotChar:o,slotSource:c,runFilled:l,literalSource:u}}function y(e,t,n){let{tokens:r,runBeforeLiteral:i,runAfterLiteral:a,literalBeforeRun:o,runChars:s}=e,{runFilled:c,literalSource:l}=t,u=Array(r.length).fill(!1),d=c.length-1;for(;d>=0&&c[d]===0;)d--;for(let e=0;e<r.length;e++){if(r[e].kind!==`literal`)continue;let t=a[e],o=i[e],f=o<0&&d>=0&&(l[e+2]>=0||c[t+1]>0);u[e]=t>=0&&(c[t]>0||l[e]>=0&&t<d)||f||n&&(o<0||c[o]===s[o].length)}let f=-1;for(let e=0;e<s.length;e++){if(c[e]===0)continue;let t=o[e];if(t>=0){let n=r[t].text;for(let t=f+1;t<e;t++){let e=o[t];e<0||r[e].text===n&&(u[e]=!0)}}f=e}return u}function b(e,t,n,r,i,a){let{tokens:o,runChars:s,runOffset:c,runBeforeLiteral:l,runAfterLiteral:u,runOfToken:d}=e,{slotChar:f,slotSource:p,runFilled:m}=t,h=``,g=0,_=!1;for(let e=0;e<o.length;e++){let v=o[e];if(v.kind===`literal`){if(!n[e])continue;let o=l[e],c=u[e],d=c<0||m[c]===0,f=o<0||i&&m[o]===s[o].length,p=t.literalSource[e],y=!_&&g===h.length;h+=v.text,y&&(a||f&&d||p>=0&&p<r)&&(g=h.length);continue}let y=d[e],b=c[y];for(let e=0;e<m[y];e++)h+=f[b+e],!_&&(p[b+e]<=r?g=h.length:_=!0)}return{value:h,caret:g}}function x(e,t,n,r,i,a,o){let s=v(e,t,i,a,n);return b(t,s,y(t,s,r),n,r,o)}function S(e,t,n,r,i){let a,o=!1;if(r?.resolveMask){let s=Array.isArray(t)?t:[t],c=i.data(e,n,s.map(e=>i.compile(e)));a=i.resolve(c.value,r.resolveMask(c.value),!1),e=c.value,n=c.caret,o=c.afterLiteral}else a=i.resolve(e,t);if(!e)return{value:``,caret:0};let s=r?.eager!==!1;return r?.segmented===!1?f(e,a,n,s,!r.resolveMask,o):x(e,a,n,s,i,!r?.resolveMask,o)}function C(e,t,n=0,r){return S(e,t,n,r,r?.tokens?new l(r.tokens):u)}const w=`data-masked`;function T(e,t){e(`autocomplete`,t.autocomplete??`off`),e(`autocorrect`,t.autocorrect??`off`),e(`autocapitalize`,t.autocapitalize??`off`),e(`spellcheck`,String(t.spellcheck??!1))}function E(e){return e.getAttribute(w)!==null}function D(e){try{return e.selectionStart??e.value.length}catch{return e.value.length}}function O(e,t){try{t>0&&t<e.value.length&&e.value.charCodeAt(t)>=56320&&e.value.charCodeAt(t)<=57343&&e.value.charCodeAt(t-1)>=55296&&e.value.charCodeAt(t-1)<=56319&&t--,e.setSelectionRange(t,t)}catch{}}function k(e){let t=e;return()=>{let e=t;t=void 0,e?.()}}function A(e,t){return e.value===t&&e.selectionStart!==e.selectionEnd}function j(){let e=new Set;return{scheduleFrame:t=>{let n=requestAnimationFrame(()=>{e.delete(n),t()});e.add(n)},cancelPendingFrames:()=>{for(let t of e)cancelAnimationFrame(t);e.clear()}}}function M(e,t,n,r,i){if(n<=0)return e;let a=t+n;if(a>r.length||r.slice(0,t)!==e.slice(0,t)||r.slice(a)!==e.slice(t))return e;let o=r.slice(a);if(!Array.from(o).some(i))return e;let s=r.slice(t,a);if(!Array.from(s).some(i))return e;let c=``;for(let e of s)i(e)||(c+=e);return c?e.slice(0,t)+c+e.slice(t):e}function N(e){let t=[];return{setIfMissing:(n,r)=>{e.hasAttribute(n)||(e.setAttribute(n,r),t.push(n))},removeTracked:()=>{for(let n of t)e.removeAttribute(n)}}}let P;function F(){return P===void 0&&(P=typeof navigator<`u`&&/iPad|iPhone|iPod/i.test(navigator.userAgent)),P}function I(e){return e==null?{}:typeof e==`function`?{onChange:e}:e}function L(e,t,n){return e===0&&t.value!==n?t.caret:e}function R(e,t,n,r){if(n.value.startsWith(e.slice(0,t)))return L(t,n,r);let i=n.value.length,a=e.length;for(;a>t&&i>0&&e[a-1]===n.value[i-1];)a--,i--;return Math.min(t,n.caret,i)}function z(e){return e?.startsWith(`delete`)&&e.endsWith(`Backward`)?`backspace`:e===`deleteContentForward`?`delete`:e&&e.startsWith(`insert`)?`insert`:`unidentified`}function B(e,t){return!t&&e}function V(e,t,n,r,i,a,o){return a&&i.value!==t&&i.value!==o?i.caret:e===`unidentified`?i.value.length>r?i.caret:L(n,i,o):e===`delete`?r===i.value.length?n+1:L(n,i,o):e===`backspace`?R(t,n,i,o):i.caret}function H(e,t,n){if(E(e))return()=>{};let{onChange:r,segmented:i,eager:a,tokens:o,resolveMask:s,autocomplete:c,autocorrect:u,autocapitalize:f,spellcheck:p}=I(n),m=new l(o),h=(e,n,r=a)=>S(e,t,n,{tokens:o,resolveMask:s,segmented:i,eager:r},m),g=e=>m.isData(e),_=m.hasComposingRisk,{setIfMissing:v,removeTracked:y}=N(e),b=s||_?1/0:d(t,{tokens:o});e.setAttribute(w,Array.isArray(t)?t.join(`|`):t),T(v,{autocomplete:c,autocorrect:u,autocapitalize:f,spellcheck:p}),Number.isFinite(b)&&v(`maxlength`,String(b));let x=!1,C=!1,P=!1,L=e.value??``,R=F()?`keyup`:`keydown`,{scheduleFrame:H,cancelPendingFrames:U}=j(),W=e=>{let t=e.target,n=t.value;H(()=>{if(_&&C||A(t,n))return;let e=h(t.value,D(t));t.value=e.value,O(t,e.caret),L=t.value,r?.(t.value)})},G=e=>{let n=e,i=e.target;if(U(),x=!1,P=!0,_&&(C||n.isComposing)||A(i,L))return;let o=D(i),c=L.length,l=z(n.inputType),u=i.value,d=l===`backspace`||l===`delete`,f=!Array.isArray(t)&&!s&&(n.inputType===`deleteContentBackward`||n.inputType===`deleteContentForward`||n.inputType===`deleteByCut`)?M(u,o,c-u.length,L,g):u,p=h(f,o,B(a,d));i.value=p.value,O(i,V(l,u,o,c,p,s,L)),L=i.value,r?.(i.value)},K=()=>{C=!0,U(),x=!1},q=e=>{C=!1,P=!0;let t=e.target,n=D(t),i=h(t.value,n);t.value=i.value,O(t,i.caret),L=t.value,r?.(t.value)},J=e=>{let t=e,n=t.target,i=n.value;if(C)return;if(R===`keyup`&&P){P=!1;return}if(!t.key){x=!0,H(()=>{if(A(n,i)){x=!1;return}let e=n.selectionStart??999,t=n.value.length<i.length,r=h(n.value,e,B(a,t));n.value=r.value,O(n,r.caret),L=n.value,H(()=>{x=!1})});return}if(t.key===`Meta`)return;let o=t.key===`Backspace`,c=t.key===`Delete`,l=Array.from(t.key).length===1&&!t.ctrlKey&&!t.altKey&&!t.metaKey,u=t.key===`Unidentified`;if(l&&n.selectionStart===n.selectionEnd&&i.length>=b&&!F()){t.preventDefault();return}if(x){t.preventDefault();return}if(!o&&!c&&!l&&!u)return;let d=o?`backspace`:c?`delete`:u?`unidentified`:`insert`;H(()=>{if(A(n,i))return;let e=n.selectionStart??999,t=n.value,l=h(t,e,B(a,o||c));n.value=l.value,O(n,V(d,t,e,i.length,l,s,i)),L=n.value,r?.(n.value)})};return e.addEventListener(`paste`,W),e.addEventListener(`input`,G),e.addEventListener(`compositionstart`,K),e.addEventListener(`compositionend`,q),e.addEventListener(R,J),k(()=>{e.removeEventListener(`paste`,W),e.removeEventListener(`input`,G),e.removeEventListener(`compositionstart`,K),e.removeEventListener(`compositionend`,q),e.removeEventListener(R,J),e.removeAttribute(w),y(),U()})}function U(e){let t=e?.decimalPlaces,n=t!=null&&Number.isFinite(t)?Math.max(0,Math.floor(t)):void 0,r=e?.numberPlaces;return{decimalPlaces:n,numberPlaces:r!=null&&Number.isFinite(r)?Math.max(1,Math.floor(r)):void 0,segmented:e?.segmented??!0,separator:e?.separator??`,`,decimalSeparator:e?.decimalSeparator??`.`,prefix:e?.prefix??``,suffix:e?.suffix??``,allowNegative:e?.allowNegative??!1}}function W(e){let t=0;for(;t<e.length-1&&e[t]===`0`;)t++;return e.slice(t)}function G(e,t){if(!t||e.length<=3)return e;let n=[],r=e.length;for(;r>3;)n.unshift(e.slice(r-3,r)),r-=3;return n.unshift(e.slice(0,r)),n.join(t)}function K(e,t){let n=W(e||`0`),r=t.numberPlaces==null?n:n.padStart(t.numberPlaces,`0`);return{intPart:n,paddedInt:r,groupedInt:t.segmented?G(r,t.separator):r}}function q(t,n){if(n<=0)return 0;let r=0;for(let i=0;i<t.length;i++)if(e(t[i])&&(r++,r===n))return i+1;return t.length}function J(e,t){let n=0,r=``;t.prefix&&e.startsWith(t.prefix)?n=t.prefix.length:(t.allowNegative&&e[0]===`-`&&(r=`-`,n=1),t.prefix&&e.startsWith(t.prefix,n)&&(n+=t.prefix.length));let i=e.length;return t.suffix&&e.endsWith(t.suffix)&&i-t.suffix.length>=n&&(i-=t.suffix.length),{sign:r,body:e.slice(n,i),bodyStart:n}}function Y(t,n){let r=J(t,n),i=``,a=``,o=r.sign===`-`,s=!1,c=n.decimalPlaces!==0;for(let t of r.body){if(e(t)){s?(n.decimalPlaces==null||a.length<n.decimalPlaces)&&(a+=t):(n.numberPlaces==null||i.length<n.numberPlaces)&&(i+=t);continue}if(c&&!s&&t===n.decimalSeparator){s=!0;continue}t===`-`&&n.allowNegative&&(o=!0)}return{isNegative:o,intDigits:i,fracDigits:a,hasSeparator:s}}function ee(t,n,r){let i=r.decimalPlaces!==0,a=!1,o=0;for(let s=0;s<n;s++){let n=t[s];if(e(n)){a?(r.decimalPlaces==null||o<r.decimalPlaces)&&o++:(r.numberPlaces==null||o<r.numberPlaces)&&o++;continue}i&&!a&&n===r.decimalSeparator&&(a=!0,o=0)}return{inFraction:a,digitsBefore:o}}function X(e,t=0,n){let r=U(n);if(!e)return{value:``,caret:0};let{isNegative:i,intDigits:a,fracDigits:o,hasSeparator:s}=Y(e,r);if(a===``&&o===``&&!s)return{value:``,caret:0};let{intPart:c,paddedInt:l,groupedInt:u}=K(a,r),d=r.decimalPlaces!=null&&r.decimalPlaces>0?o.padEnd(r.decimalPlaces,`0`):o,f=u+(r.decimalPlaces!==0&&(r.decimalPlaces!=null||s)?r.decimalSeparator+d:``),p=i?`-`:``,m=p+r.prefix+f+r.suffix,h=J(e,r),g=Math.max(0,Math.min(t-h.bodyStart,h.body.length)),{inFraction:_,digitsBefore:v}=ee(h.body,g,r),y=p.length+r.prefix.length,b=l.length-c.length;return{value:m,caret:_?y+u.length+r.decimalSeparator.length+v:y+q(u,v+b)}}function te(e,t){return X(e,e.length,t).value}function Z(e,t){let{isNegative:n,intDigits:r,fracDigits:i}=Y(e,U(t)),a=Number(i?`${r||`0`}.${i}`:r||`0`);return n?-a:a}function ne(e,t){let n=U(t);if(n.decimalPlaces==null||n.decimalPlaces<=0)return null;let{isNegative:r,intDigits:i,hasSeparator:a}=Y(e,n);if(a||i.length<n.decimalPlaces+1)return null;let o=i.length-n.decimalPlaces,s=i.slice(o),c=i.slice(0,o-1),l=r?`-`:``;return X(l+c+n.decimalSeparator+s,l.length+c.length,n)}function re(e,t,n,r){if(n<=0)return null;let i=t-n;if(i<0||t>e.length)return null;let a=e.slice(0,i)+e.slice(t),{bodyStart:o,body:s}=J(a,U(r)),c=o+s.length,l=i<o?o:i>c?c:-1;if(l<0)return null;let u=e.slice(i,t);return{value:a.slice(0,l)+u+a.slice(l),caret:l+n}}function ie(e,t,n,r){let i=U(r),a=t-1;if(a<0||e[a]!==n)return null;let{isNegative:o,intDigits:s,fracDigits:c,hasSeparator:l}=Y(e.slice(0,a)+e.slice(t),i),u=W(s||`0`),d=u!==`0`,f=d&&i.numberPlaces!=null&&u.length<i.numberPlaces;if(d&&!f)return null;let p=+!!o+i.prefix.length;if(a<p||a>p+s.length)return null;let m=o?`-`:``,h=(d?u:``)+n;return X(m+h+(l?i.decimalSeparator+c:``),m.length+h.length,i)}function ae(e,t){let n=U(t);if(!Number.isFinite(e))return``;let r=n.allowNegative&&e<0,i=Math.abs(e),a=n.decimalPlaces==null?String(i):i.toFixed(n.decimalPlaces),o=a.indexOf(`.`),s=o===-1?a:a.slice(0,o),c=o===-1?``:a.slice(o+1),{groupedInt:l}=K(s,n),u=l+(n.decimalPlaces!==0&&c!==``?n.decimalSeparator+c:``);return(r?`-`:``)+n.prefix+u+n.suffix}function oe(e){return e==null?{}:typeof e==`function`?{onChange:e}:e}function se(e){return e.length===1&&e>=`0`&&e<=`9`}function ce(e,t){if(E(e))return()=>{};let{onChange:n,autocomplete:r,autocorrect:i,autocapitalize:a,spellcheck:o,...s}=oe(t),c=s,{decimalSeparator:l,decimalPlaces:u}=U(c),{setIfMissing:d,removeTracked:f}=N(e);e.setAttribute(w,`decimal`),T(d,{autocomplete:r,autocorrect:i,autocapitalize:a,spellcheck:o});let p=!1,m=!1,h=!1,g=null,_=F()?`keyup`:`keydown`,{scheduleFrame:v,cancelPendingFrames:y}=j(),b=(e,t)=>{e.value=t.value,O(e,t.caret),n?.(t.value,Z(t.value,c))},x=(e,t={})=>{let n=D(e),r=(t,r)=>{if(u===0||t.length!==1||t!==`.`&&t!==`,`||t===l)return!1;for(let i of r)if(i!=null&&i>=0&&e.value.slice(i,i+t.length)===t)return e.value=e.value.slice(0,i)+l+e.value.slice(i+t.length),n=i+t.length<=n?n+l.length-t.length:n,O(e,n),!0;return!1};if(g){let{text:e,starts:t}=g;g=null,r(e,t)}if(t.inputType===`deleteContentBackward`){let t=ne(e.value,c);if(t){b(e,t);return}}let i=t.insertedText;if(i!=null&&r(i,[t.insertedAt,n-i.length]),i!=null&&i.length>0){let t=re(e.value,n,i.length,c);t&&(e.value=t.value,n=t.caret)}let a=i!=null&&i.length===1&&se(i)?i:void 0,o=a?ie(e.value,n,a,c):null;b(e,o??X(e.value,n,c))},S=e=>{let t=e.target;v(()=>{x(t)})},C=e=>{let t=e,n=e.target;y(),p=!1,g=null,h=!0,x(n,{insertedText:typeof t.data==`string`?t.data:null,inputType:t.inputType})},M=()=>{m=!0,y(),p=!1,g=null},P=e=>{m=!1,h=!0,x(e.target)},I=e=>{let t=e,n=t.target,r=D(n),i=n.value;if(m)return;if(_===`keyup`&&h){h=!1;return}if(!t.key){p=!0,v(()=>{if(A(n,i)){p=!1;return}x(n),v(()=>{p=!1})});return}if(t.key===`Meta`)return;if(p){t.preventDefault();return}let a=t.key===`Backspace`,o=t.key===`Delete`,s=t.key.length===1&&!t.ctrlKey&&!t.altKey&&!t.metaKey,c=t.key===`Unidentified`;s&&u!==0&&(t.key===`.`||t.key===`,`)&&t.key!==l&&(g={text:t.key,starts:[r,r-t.key.length]}),!(!a&&!o&&!s&&!c)&&v(()=>{A(n,i)||x(n,{insertedText:s?t.key:null,insertedAt:s?r:void 0,inputType:a?`deleteContentBackward`:o?`deleteContentForward`:void 0})})};return e.addEventListener(`paste`,S),e.addEventListener(`input`,C),e.addEventListener(`compositionstart`,M),e.addEventListener(`compositionend`,P),e.addEventListener(_,I),k(()=>{e.removeEventListener(`paste`,S),e.removeEventListener(`input`,C),e.removeEventListener(`compositionstart`,M),e.removeEventListener(`compositionend`,P),e.removeEventListener(_,I),e.removeAttribute(w),f(),y()})}var Q=class{caret;_value;_mask;_options;constructor(e,t,n=0,r){this._value=e,this._mask=t,this.caret=n,this._options=r}process(){let e=C(this._value,this._mask,this.caret,this._options);return this.caret=e.caret,e.value}};function $(e,t,n=0,r){return new Q(e,t,n,r)}function le(e,t,n){return $(e,t,0,n).process()}exports.Mask=Q,exports.applyDecimalMask=X,exports.applyMask=C,exports.bind=H,exports.bindDecimal=ce,exports.buildMask=$,exports.formatDecimalValue=ae,exports.getMaxLength=d,exports.process=le,exports.processDecimal=te,exports.unmaskDecimal=Z;
|
|
2
2
|
//# sourceMappingURL=mother-mask.cjs.map
|