mother-mask 3.37.0 → 3.38.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/dist/mother-mask.cjs +1 -1
- package/dist/mother-mask.cjs.map +1 -1
- package/dist/mother-mask.d.cts +18 -1
- package/dist/mother-mask.d.mts +18 -1
- 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 +3 -3
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)}const a=[`中`,`あ`,`ア`,`가`];function o(e){let t=i(e);return a.some(e=>{try{return t(e)}catch{return!0}})}const s=[`𐐀`,`𝟎`,`😀`];function c(e){let t=i(e);return s.some(e=>{try{return t(e)}catch{return!0}})}function l(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 u(e,t){if(e[t]!==`{`)return;let n=t+1,r=()=>{let t=-1;for(;n<e.length&&e[n]>=`0`&&e[n]<=`9`;)if(t=(t<0?0:t)*10+(e[n].charCodeAt(0)-48),n++,t>1e3)return-1;return t},i=r();if(i<1)return;let a=i;if(!(e[n]===`,`&&(n++,a=r(),a<i))&&e[n]===`}`)return{min:i,max:a,end:n}}function d(e,t){let n=[],r=[],i=[],a=[],o=[],s=Array.from(e),c=0,l=!1;for(let e=0;e<s.length;e++){let d=s[e],f=!1;d===`\\`&&(s[e+1]===`\\`||t.has(s[e+1]))&&(d=s[++e],f=!0,l=!0);let p=f?void 0:t.get(d),m=n[n.length-1];if(p){let t=u(s,e+1),l=t?t.min:1,d=t?t.max:1;if(t&&(e=t.end),c+=p.maxLength*d,m?.kind===`slots`){for(let e=0;e<d;e++)m.chars.push(p);a[a.length-1]+=l}else{let e=[];for(let t=0;t<d;t++)e.push(p);r.push(i.length),o.push(n.length),i.push(e),a.push(l),n.push({kind:`slots`,chars:e})}}else c+=d.length,m?.kind===`literal`?m.text+=d:(r.push(-1),n.push({kind:`literal`,text:d}))}let d=i.length,f=Array(d),p=Array(d),m=Array(d+1),h=Array(n.length).fill(-1),g=Array(n.length).fill(-1),_=0;for(let e=0;e<d;e++)f[e]=_,_+=i[e].length,p[e]=o[e]>0?o[e]-1:-1;m[d]=0;for(let e=d-1;e>=0;e--)m[e]=m[e+1]+i[e].length;for(let e=0;e<n.length;e++)n[e].kind===`literal`&&(h[e]=e>0?r[e-1]:-1,g[e]=e+1<n.length?r[e+1]:-1);let v=[],y=[],b=new Set;for(let e=0;e<n.length;e++){let t=n[e];if(t.kind===`literal`)v.push(t),y.push({text:t.text,offset:g[e]<0?_:f[g[e]]});else for(let e of t.chars)v.push(e),b.add(e)}return{maxLength:c,hasEscapes:l,dataSlots:[...b],literals:y,parts:v,tokens:n,runChars:i,runMin:a,runOffset:f,literalBeforeRun:p,capacityFromRun:m,runOfToken:r,runBeforeLiteral:h,runAfterLiteral:g,totalSlots:_}}var f=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:c(e.match)?2:1})}this.hasComposingRisk=t}compile(e){let t=this.cache.get(e);if(t)return t;let n=d(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 p=new f;function m(e,t){let n=Array.isArray(e)?e:[e],r=0;for(let e of n)r=Math.max(r,t.compile(e).maxLength);return r}function h(e,t){return t?.resolveMask?1/0:m(e,t?.tokens?new f(t.tokens):p)}function g(e,t,n,r,i,a){let o=``,s=``,c=0,u=0,d=!1,f=t.tokens[0],p=!1;for(let r of t.parts){if(`kind`in r){s+=r.text,i&&e.startsWith(r.text,c)&&(c+=r.text.length,r===f&&(p=!0));continue}let m=!1;for(;c<e.length;){let h=i&&t.hasEscapes&&t.literals.find(t=>e.startsWith(t.text,c));if(h){c+=h.text.length;continue}if(i&&!p&&f?.kind===`literal`&&e.startsWith(f.text,c)){c+=f.text.length,p=!0;continue}let g=String.fromCodePoint(e.codePointAt(c));if(c+=g.length,r.match(g)){a&&!d&&c>n&&(u=o.length+s.length),o+=s+l(g,r),s=``,m=!0,d||(c<=n?u=o.length:d=!0);break}}if(!m)break}if(d||(u=o.length),r&&s){let e=u===o.length;o+=s,e&&(u=o.length)}return{value:o,caret:u}}function _(e,t){return e.tokens[e.literalBeforeRun[t]].text}function v(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 y(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}const b=/[\p{P}\p{S}\p{Zs}]/u;function x(e,t,n){return b.test(e)&&!t.isData(e,n)}function S(e,t,n,r,i,a,o){let s=n.runChars.length,c=(o,s)=>a&&o===r+1||v(e,t+s,i,n)<=n.capacityFromRun[o],l=()=>o&&a&&r+1<s?{run:r+1,length:String.fromCodePoint(e.codePointAt(t)).length}:void 0;for(let i=0;i<2;i++)for(let a=r+1;a<s;a++){let r=_(n,a),o=i===0?e.startsWith(r,t)?r.length:0:y(e,t,r);if(o)return c(a,o)?{run:a,length:o}:l()}return l()}function C(e,t,n,r,i){let a=t.runChars.length,o=Array(t.totalSlots).fill(``),s=Array(t.totalSlots).fill(-1),c=Array(a).fill(0),u=Array(a).fill(!1),d=Array(t.tokens.length).fill(-1),f=0,p=0,m=0,h=!1,g=t.tokens[0];for(r&&g?.kind===`literal`&&e.startsWith(g.text)&&(d[0]=0,m=g.text.length);m<e.length&&f<a;){if(r&&d[0]<0&&g?.kind===`literal`&&e.startsWith(g.text,m)){d[0]=m,m+=g.text.length;continue}let y=t.runChars[f],b=String.fromCodePoint(e.codePointAt(m)),C=y[p].match(b),w=c[f]>=t.runMin[f]&&c[f]<y.length,T=r&&(!C||t.hasEscapes)?S(e,m,t,f,n,w,!C&&x(b,n,t)):void 0;if(T){w&&T.run===f+1&&(u[f]=!0),d[t.literalBeforeRun[T.run]]=m,m+=T.length,f=T.run,p=0;continue}if(!h&&p>0&&m===i&&f+1<a&&(!C||t.runChars[f+1][0].match(b))&&e.indexOf(_(t,f+1),m)<0&&v(e,m,n,t)===t.capacityFromRun[f+1]){h=!0,f++,p=0;continue}if(C){let n=t.runOffset[f]+p;if(o[n]=l(b,y[p]),s[n]=m+b.length,c[f]=p+1,m+=b.length,p++,p===y.length&&(f++,p=0,r&&f<a)){let n=_(t,f);e.startsWith(n,m)&&(d[t.literalBeforeRun[f]]=m,m+=n.length)}continue}m+=b.length}return{slotChar:o,slotSource:s,runFilled:c,runCommitted:u,literalSource:d}}function w(e,t,n){let{tokens:r,runBeforeLiteral:i,runAfterLiteral:a,literalBeforeRun:o,runChars:s}=e,{runFilled:c,runCommitted:l,literalSource:u}=t,d=Array(r.length).fill(!1),f=c.length-1;for(;f>=0&&c[f]===0;)f--;for(let e=0;e<r.length;e++){if(r[e].kind!==`literal`)continue;let t=a[e],o=i[e],p=o<0&&f>=0&&(u[e+2]>=0||c[t+1]>0);d[e]=t>=0&&(c[t]>0||u[e]>=0&&t<f)||p||o>=0&&l[o]||n&&(o<0||c[o]===s[o].length)}let p=-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=p+1;t<e;t++){let e=o[t];e<0||r[e].text===n&&(d[e]=!0)}}p=e}return d}function T(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 E(e,t,n,r,i,a,o){let s=C(e,t,i,a,n);return T(t,s,w(t,s,r),n,r,o)}function D(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?g(e,a,n,s,!r.resolveMask,o):E(e,a,n,s,i,!r?.resolveMask,o)}function O(e,t,n=0,r){return D(e,t,n,r,r?.tokens?new f(r.tokens):p)}let k;function A(){return k===void 0&&(k=typeof navigator<`u`&&/iPad|iPhone|iPod/i.test(navigator.userAgent)),k}const j=`data-masked`;function M(e,t){e(`autocomplete`,t.autocomplete??`off`),e(`autocorrect`,t.autocorrect??`off`),e(`autocapitalize`,t.autocapitalize??`off`),e(`spellcheck`,String(t.spellcheck??!1))}function N(e){return e.getAttribute(j)!==null}function P(e){try{return e.selectionStart??e.value.length}catch{return e.value.length}}function F(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 ee(e){let t=e;return()=>{let e=t;t=void 0,e?.()}}function I(e,t){return e.value===t&&e.selectionStart!==e.selectionEnd}function L(){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 te(e,t,n,r,i,a=0,o=!1){if(n<=0||a<0||a>t)return e;let s=t-a,c=s+n;if(c>r.length||r.slice(0,s)!==e.slice(0,s)||r.slice(c)!==e.slice(t))return e;let l=r.slice(c);if(!Array.from(l).some(i))return e;let u=r.slice(s,c);if(!o&&!Array.from(u).some(i))return e;let d=``;for(let e of u)i(e)||(d+=e);return d?e.slice(0,t)+d+e.slice(t):e}function ne(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)}}}function R(e,t,n,r,i,a){let{setIfMissing:o,removeTracked:s}=ne(e);e.setAttribute(j,t),M(o,n),Number.isFinite(r)&&o(`maxlength`,String(r));let c=[`paste`,`input`,`compositionstart`,`compositionend`,A()?`keyup`:`keydown`];for(let t=0;t<c.length;t++)e.addEventListener(c[t],i[t]);return ee(()=>{for(let t=0;t<c.length;t++)e.removeEventListener(c[t],i[t]);e.removeAttribute(j),s(),a()})}function z(e){return e==null?{}:typeof e==`function`?{onChange:e}:e}function B(e,t,n){return e===0&&t.value!==n?t.caret:e}function V(e,t,n,r){if(n.value.startsWith(e.slice(0,t)))return B(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 H(e){return e?.startsWith(`delete`)&&e.endsWith(`Backward`)?`backspace`:e===`deleteContentForward`?`delete`:e&&e.startsWith(`insert`)?`insert`:`unidentified`}function U(e,t){return!t&&e}function W(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:B(n,i,o):e===`delete`?r===i.value.length?n+1:B(n,i,o):e===`backspace`?V(t,n,i,o):i.caret}function re(e,t,n){if(N(e))return()=>{};let{onChange:r,segmented:i,eager:a,tokens:o,resolveMask:s,autocomplete:c,autocorrect:l,autocapitalize:u,spellcheck:d}=z(n),p=new f(o),h=(e,n,r=a)=>D(e,t,n,{tokens:o,resolveMask:s,segmented:i,eager:r},p),g=e=>p.isData(e),_=p.hasComposingRisk,v=s||_?1/0:m(t,p),y=!1,b=!1,x=!1,S=e.value??``,{scheduleFrame:C,cancelPendingFrames:w}=L();return R(e,Array.isArray(t)?t.join(`|`):t,{autocomplete:c,autocorrect:l,autocapitalize:u,spellcheck:d},v,[e=>{let t=e.target,n=t.value;C(()=>{if(_&&b||I(t,n))return;let e=h(t.value,P(t));t.value=e.value,F(t,e.caret),S=t.value,r?.(t.value)})},e=>{let n=e,i=e.target;if(w(),y=!1,x=!0,_&&(b||n.isComposing)||I(i,S))return;let o=P(i),c=S.length,l=H(n.inputType),u=i.value,d=l===`backspace`||l===`delete`,f=!Array.isArray(t)&&!s,p=f&&(n.inputType===`deleteContentBackward`||n.inputType===`deleteContentForward`||n.inputType===`deleteByCut`),m=f&&n.inputType===`insertText`&&typeof n.data==`string`?n.data:``,v=U(a,d),C=o-m.length,T=c-u.length+m.length,E=u;if(p||m){let e=te(u,o,T,S,g,m.length,!0);if(e!==u){let t=p&&Array.from(S.slice(C,C+T)).some(g),n=S.slice(C+T),r=0;for(;r<n.length;){let e=String.fromCodePoint(n.codePointAt(r));if(g(e))break;r+=e.length}let i=n.slice(r);(t||!h(u,o,v).value.endsWith(i))&&(E=e)}}let D=h(E,o,v);i.value=D.value,F(i,W(l,u,o,c,D,s,S)),S=i.value,r?.(i.value)},()=>{b=!0,w(),y=!1},e=>{b=!1,x=!0;let t=e.target,n=P(t),i=h(t.value,n);t.value=i.value,F(t,i.caret),S=t.value,r?.(t.value)},e=>{let t=e,n=t.target,i=n.value;if(b)return;if(A()&&x){x=!1;return}if(!t.key){y=!0,C(()=>{if(I(n,i)){y=!1;return}let e=n.selectionStart??999,t=n.value.length<i.length,r=h(n.value,e,U(a,t));n.value=r.value,F(n,r.caret),S=n.value,C(()=>{y=!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>=v&&!A()){t.preventDefault();return}if(y){t.preventDefault();return}if(!o&&!c&&!l&&!u)return;let d=o?`backspace`:c?`delete`:u?`unidentified`:`insert`;C(()=>{if(I(n,i))return;let e=n.selectionStart??999,t=n.value,l=h(t,e,U(a,o||c));n.value=l.value,F(n,W(d,t,e,i.length,l,s,i)),S=n.value,r?.(n.value)})}],w)}function G(e){let t=e?.decimalPlaces,n=t!=null&&Number.isFinite(t)?Math.min(100,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 K(e){let t=0;for(;t<e.length-1&&e[t]===`0`;)t++;return e.slice(t)}function ie(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 q(e,t){let n=K(e||`0`),r=t.numberPlaces==null?n:n.padStart(t.numberPlaces,`0`);return{intPart:n,paddedInt:r,groupedInt:t.segmented?ie(r,t.separator):r}}function ae(e){let t=e.indexOf(`e`);if(t<0)return e;let n=Number(e.slice(t+1)),r=e.slice(0,t),i=r.indexOf(`.`),a=i<0?r:r.slice(0,i)+r.slice(i+1),o=(i<0?r.length:i)+n;return o<=0?`0.`+`0`.repeat(-o)+a:o>=a.length?a+`0`.repeat(o-a.length):a.slice(0,o)+`.`+a.slice(o)}function oe(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:t===`+`&&n.allowNegative&&(o=!1)}return{isNegative:o,intDigits:i,fracDigits:a,hasSeparator:s}}function se(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=G(n);if(!e)return{value:``,caret:0};let{isNegative:i,intDigits:a,fracDigits:o,hasSeparator:s}=Y(e,r);if(a===``&&o===``&&!s){if(i){let e=`-`+r.prefix;return{value:e,caret:e.length}}return{value:``,caret:0}}let{intPart:c,paddedInt:l,groupedInt:u}=q(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}=se(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+oe(u,v+b)}}function ce(e,t){return X(e,e.length,t).value}function Z(e,t){let{isNegative:n,intDigits:r,fracDigits:i}=Y(e,G(t)),a=Number(i?`${r||`0`}.${i}`:r||`0`);return n&&a!==0?-a:a}function le(e,t){let n=G(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 ue(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,G(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 de(e,t,n,r){let i=G(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=K(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 fe(e,t){let n=G(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);a.indexOf(`e`)>=0&&(a=ae(String(i))+(n.decimalPlaces?`.`+`0`.repeat(n.decimalPlaces):``));let o=a.indexOf(`.`),s=o===-1?a:a.slice(0,o),c=o===-1?``:a.slice(o+1),{groupedInt:l}=q(s,n),u=l+(n.decimalPlaces!==0&&c!==``?n.decimalSeparator+c:``);return(r?`-`:``)+n.prefix+u+n.suffix}function pe(e){return e==null?{}:typeof e==`function`?{onChange:e}:e}function me(t,n){if(N(t))return()=>{};let{onChange:r,autocomplete:i,autocorrect:a,autocapitalize:o,spellcheck:s,...c}=pe(n),l=c,{decimalSeparator:u,decimalPlaces:d}=G(l),f=!1,p=!1,m=!1,h=null,{scheduleFrame:g,cancelPendingFrames:_}=L(),v=(e,t)=>{e.value=t.value,F(e,t.caret),r?.(t.value,Z(t.value,l))},y=(t,n={})=>{let r=P(t),i=(e,n)=>{if(d===0||e.length!==1||e!==`.`&&e!==`,`||e===u)return!1;for(let i of n)if(i!=null&&i>=0&&t.value.slice(i,i+e.length)===e)return t.value=t.value.slice(0,i)+u+t.value.slice(i+e.length),r=i+e.length<=r?r+u.length-e.length:r,F(t,r),!0;return!1};if(h){let{text:e,starts:t}=h;h=null,i(e,t)}if(n.inputType===`deleteContentBackward`){let e=le(t.value,l);if(e){v(t,e);return}}let a=n.insertedText;if(a!=null&&i(a,[n.insertedAt,r-a.length]),a!=null&&a.length>0){let e=ue(t.value,r,a.length,l);e&&(t.value=e.value,r=e.caret)}let o=a!=null&&a.length===1&&e(a)?a:void 0,s=o?de(t.value,r,o,l):null;v(t,s??X(t.value,r,l))};return R(t,`decimal`,{autocomplete:i,autocorrect:a,autocapitalize:o,spellcheck:s},1/0,[e=>{let t=e.target;g(()=>{y(t)})},e=>{let t=e,n=e.target;_(),f=!1,h=null,m=!0,y(n,{insertedText:typeof t.data==`string`?t.data:null,inputType:t.inputType})},()=>{p=!0,_(),f=!1,h=null},e=>{p=!1,m=!0,y(e.target)},e=>{let t=e,n=t.target,r=P(n),i=n.value;if(p)return;if(A()&&m){m=!1;return}if(!t.key){f=!0,g(()=>{if(I(n,i)){f=!1;return}y(n),g(()=>{f=!1})});return}if(t.key===`Meta`)return;if(f){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&&d!==0&&(t.key===`.`||t.key===`,`)&&t.key!==u&&(h={text:t.key,starts:[r,r-t.key.length]}),(a||o||s||c)&&g(()=>{I(n,i)||y(n,{insertedText:s?t.key:null,insertedAt:s?r:void 0,inputType:a?`deleteContentBackward`:o?`deleteContentForward`:void 0})})}],_)}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=O(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 he(e,t,n){return $(e,t,0,n).process()}exports.Mask=Q,exports.applyDecimalMask=X,exports.applyMask=O,exports.bind=re,exports.bindDecimal=me,exports.buildMask=$,exports.formatDecimalValue=fe,exports.getMaxLength=h,exports.process=he,exports.processDecimal=ce,exports.unmaskDecimal=Z;
|
|
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}})}const s=[`𐐀`,`𝟎`,`😀`];function c(e){let t=i(e);return s.some(e=>{try{return t(e)}catch{return!0}})}function l(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 u(e,t){if(e[t]!==`{`)return;let n=t+1,r=()=>{let t=-1;for(;n<e.length&&e[n]>=`0`&&e[n]<=`9`;)if(t=(t<0?0:t)*10+(e[n].charCodeAt(0)-48),n++,t>1e3)return-1;return t},i=r();if(i<1)return;let a=i;if(!(e[n]===`,`&&(n++,a=r(),a<i))&&e[n]===`}`)return{min:i,max:a,end:n}}function d(e,t){let n=[],r=[],i=[],a=[],o=[],s=Array.from(e),c=0,l=!1;for(let e=0;e<s.length;e++){let d=s[e],f=!1;d===`\\`&&(s[e+1]===`\\`||t.has(s[e+1]))&&(d=s[++e],f=!0,l=!0);let p=f?void 0:t.get(d),m=n[n.length-1];if(p){let t=u(s,e+1),l=t?t.min:1,d=t?t.max:1;if(t&&(e=t.end),c+=p.maxLength*d,m?.kind===`slots`){for(let e=0;e<d;e++)m.chars.push(p);a[a.length-1]+=l}else{let e=[];for(let t=0;t<d;t++)e.push(p);r.push(i.length),o.push(n.length),i.push(e),a.push(l),n.push({kind:`slots`,chars:e})}}else c+=d.length,m?.kind===`literal`?m.text+=d:(r.push(-1),n.push({kind:`literal`,text:d}))}let d=i.length,f=Array(d),p=Array(d),m=Array(d+1),h=Array(n.length).fill(-1),g=Array(n.length).fill(-1),_=0;for(let e=0;e<d;e++)f[e]=_,_+=i[e].length,p[e]=o[e]>0?o[e]-1:-1;m[d]=0;for(let e=d-1;e>=0;e--)m[e]=m[e+1]+i[e].length;for(let e=0;e<n.length;e++)n[e].kind===`literal`&&(h[e]=e>0?r[e-1]:-1,g[e]=e+1<n.length?r[e+1]:-1);let v=[],y=[],b=new Set;for(let e=0;e<n.length;e++){let t=n[e];if(t.kind===`literal`)v.push(t),y.push({text:t.text,offset:g[e]<0?_:f[g[e]]});else for(let e of t.chars)v.push(e),b.add(e)}return{maxLength:c,hasEscapes:l,dataSlots:[...b],literals:y,parts:v,tokens:n,runChars:i,runMin:a,runOffset:f,literalBeforeRun:p,capacityFromRun:m,runOfToken:r,runBeforeLiteral:h,runAfterLiteral:g,totalSlots:_}}var f=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:c(e.match)?2:1})}this.hasComposingRisk=t}compile(e){let t=this.cache.get(e);if(t)return t;let n=d(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 p=new f;function m(e,t){let n=Array.isArray(e)?e:[e],r=0;for(let e of n)r=Math.max(r,t.compile(e).maxLength);return r}function h(e,t){return t?.resolveMask?1/0:m(e,t?.tokens?new f(t.tokens):p)}function g(e,t,n,r,i,a){let o=``,s=``,c=0,u=0,d=!1,f=t.tokens[0],p=!1;for(let r of t.parts){if(`kind`in r){s+=r.text,i&&e.startsWith(r.text,c)&&(c+=r.text.length,r===f&&(p=!0));continue}let m=!1;for(;c<e.length;){let h=i&&t.hasEscapes&&t.literals.find(t=>e.startsWith(t.text,c));if(h){c+=h.text.length;continue}if(i&&!p&&f?.kind===`literal`&&e.startsWith(f.text,c)){c+=f.text.length,p=!0;continue}let g=String.fromCodePoint(e.codePointAt(c));if(c+=g.length,r.match(g)){a&&!d&&c>n&&(u=o.length+s.length),o+=s+l(g,r),s=``,m=!0,d||(c<=n?u=o.length:d=!0);break}}if(!m)break}if(d||(u=o.length),r&&s){let e=u===o.length;o+=s,e&&(u=o.length)}return{value:o,caret:u}}function _(e,t){return e.tokens[e.literalBeforeRun[t]].text}function v(e,t,n){let r=new Uint32Array(e.length+1),i=0;for(let a=0;a<e.length;){let o=String.fromCodePoint(e.codePointAt(a));r[a]=i,o.length===2&&(r[a+1]=i),a+=o.length,t.isData(o,n)&&i++}return r[e.length]=i,r}function y(e,t){return t[t.length-1]-t[e]}function b(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}const x=/[\p{P}\p{S}\p{Zs}]/u;function S(e,t,n){return x.test(e)&&!t.isData(e,n)}function C(e,t,n,r,i,a,o){let s=n.runChars.length,c=(e,a)=>i&&e===r+1||y(t+a,o)<=n.capacityFromRun[e],l=()=>a&&i&&r+1<s?{run:r+1,length:String.fromCodePoint(e.codePointAt(t)).length}:void 0;for(let i=0;i<2;i++)for(let a=r+1;a<s;a++){let r=_(n,a),o=i===0?e.startsWith(r,t)?r.length:0:b(e,t,r);if(o)return c(a,o)?{run:a,length:o}:l()}return l()}function w(e,t,n,r,i){let a=t.runChars.length,o=Array(t.totalSlots).fill(``),s=Array(t.totalSlots).fill(-1),c=Array(a).fill(0),u=Array(a).fill(!1),d=Array(t.tokens.length).fill(-1),f=0,p=0,m=0,h=!1,g=v(e,n,t),b=t.tokens[0];for(r&&b?.kind===`literal`&&e.startsWith(b.text)&&(d[0]=0,m=b.text.length);m<e.length&&f<a;){if(r&&d[0]<0&&b?.kind===`literal`&&e.startsWith(b.text,m)){d[0]=m,m+=b.text.length;continue}let v=t.runChars[f],x=String.fromCodePoint(e.codePointAt(m)),w=v[p].match(x),T=c[f]>=t.runMin[f]&&c[f]<v.length,E=r&&(!w||t.hasEscapes)?C(e,m,t,f,T,!w&&S(x,n,t),g):void 0;if(E){T&&E.run===f+1&&(u[f]=!0),d[t.literalBeforeRun[E.run]]=m,m+=E.length,f=E.run,p=0;continue}if(!h&&p>0&&m===i&&f+1<a&&(!w||t.runChars[f+1][0].match(x))&&e.indexOf(_(t,f+1),m)<0&&y(m,g)===t.capacityFromRun[f+1]){h=!0,f++,p=0;continue}if(w){let n=t.runOffset[f]+p;if(o[n]=l(x,v[p]),s[n]=m+x.length,c[f]=p+1,m+=x.length,p++,p===v.length&&(f++,p=0,r&&f<a)){let n=_(t,f);e.startsWith(n,m)&&(d[t.literalBeforeRun[f]]=m,m+=n.length)}continue}m+=x.length}return{slotChar:o,slotSource:s,runFilled:c,runCommitted:u,literalSource:d}}function T(e,t,n){let{tokens:r,runBeforeLiteral:i,runAfterLiteral:a,literalBeforeRun:o,runChars:s}=e,{runFilled:c,runCommitted:l,literalSource:u}=t,d=Array(r.length).fill(!1),f=c.length-1;for(;f>=0&&c[f]===0;)f--;for(let e=0;e<r.length;e++){if(r[e].kind!==`literal`)continue;let t=a[e],o=i[e],p=o<0&&f>=0&&(u[e+2]>=0||c[t+1]>0);d[e]=t>=0&&(c[t]>0||u[e]>=0&&t<f)||p||o>=0&&l[o]||n&&(o<0||c[o]===s[o].length)}let p=-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=p+1;t<e;t++){let e=o[t];e<0||r[e].text===n&&(d[e]=!0)}}p=e}return d}function E(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 D(e,t,n,r,i,a,o){let s=w(e,t,i,a,n);return E(t,s,T(t,s,r),n,r,o)}function O(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?g(e,a,n,s,!r.resolveMask,o):D(e,a,n,s,i,!r?.resolveMask,o)}function k(e,t,n=0,r){return O(e,t,n,r,r?.tokens?new f(r.tokens):p)}let A;function j(){return A===void 0&&(A=typeof navigator<`u`&&/iPad|iPhone|iPod/i.test(navigator.userAgent)),A}const M=`data-masked`;function ee(e,t){e(`autocomplete`,t.autocomplete??`off`),e(`autocorrect`,t.autocorrect??`off`),e(`autocapitalize`,t.autocapitalize??`off`),e(`spellcheck`,String(t.spellcheck??!1))}function N(e){return e.getAttribute(M)!==null}function P(e){try{return e.selectionStart??e.value.length}catch{return e.value.length}}function F(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 I(e){let t=e;return()=>{let e=t;t=void 0,e?.()}}function L(e,t){return e.value===t&&e.selectionStart!==e.selectionEnd}function R(){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 te(e,t,n,r,i,a=0,o=!1){if(n<=0||a<0||a>t)return e;let s=t-a,c=s+n;if(c>r.length||r.slice(0,s)!==e.slice(0,s)||r.slice(c)!==e.slice(t))return e;let l=r.slice(c);if(!Array.from(l).some(i))return e;let u=r.slice(s,c);if(!o&&!Array.from(u).some(i))return e;let d=``;for(let e of u)i(e)||(d+=e);return d?e.slice(0,t)+d+e.slice(t):e}function ne(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)}}}function z(e,t,n,r,i,a){let{setIfMissing:o,removeTracked:s}=ne(e);e.setAttribute(M,t),ee(o,n),Number.isFinite(r)&&o(`maxlength`,String(r));let c=[`paste`,`input`,`compositionstart`,`compositionend`,j()?`keyup`:`keydown`];for(let t=0;t<c.length;t++)e.addEventListener(c[t],i[t]);return I(()=>{for(let t=0;t<c.length;t++)e.removeEventListener(c[t],i[t]);e.removeAttribute(M),s(),a()})}function re(e){return e==null?{}:typeof e==`function`?{onChange:e}:e}function B(e,t,n){return e===0&&t.value!==n?t.caret:e}function ie(e,t,n,r){if(n.value.startsWith(e.slice(0,t)))return B(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 ae(e){return e?.startsWith(`delete`)&&e.endsWith(`Backward`)?`backspace`:e===`deleteContentForward`?`delete`:e&&e.startsWith(`insert`)?`insert`:`unidentified`}function V(e,t){return!t&&e}function H(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:B(n,i,o):e===`delete`?r===i.value.length?n+1:B(n,i,o):e===`backspace`?ie(t,n,i,o):i.caret}function oe(e,t,n){if(N(e))return()=>{};let{onChange:r,segmented:i,eager:a,tokens:o,resolveMask:s,autocomplete:c,autocorrect:l,autocapitalize:u,spellcheck:d}=re(n),p=new f(o),h=(e,n,r=a)=>O(e,t,n,{tokens:o,resolveMask:s,segmented:i,eager:r},p),g=e=>p.isData(e),_=p.hasComposingRisk,v=s||_?1/0:m(t,p),y=!1,b=!1,x=!1,S=e.value??``,{scheduleFrame:C,cancelPendingFrames:w}=R();return z(e,Array.isArray(t)?t.join(`|`):t,{autocomplete:c,autocorrect:l,autocapitalize:u,spellcheck:d},v,[e=>{let t=e.target,n=t.value;C(()=>{if(_&&b||L(t,n))return;let e=h(t.value,P(t));t.value=e.value,F(t,e.caret),S=t.value,r?.(t.value)})},e=>{let n=e,i=e.target;if(w(),y=!1,x=!0,_&&(b||n.isComposing)||L(i,S))return;let o=P(i),c=S.length,l=ae(n.inputType),u=i.value,d=l===`backspace`||l===`delete`,f=!Array.isArray(t)&&!s,p=f&&(n.inputType===`deleteContentBackward`||n.inputType===`deleteContentForward`||n.inputType===`deleteByCut`),m=f&&n.inputType===`insertText`&&typeof n.data==`string`?n.data:``,v=V(a,d),C=o-m.length,T=c-u.length+m.length,E=u;if(p||m){let e=te(u,o,T,S,g,m.length,!0);if(e!==u){let t=p&&Array.from(S.slice(C,C+T)).some(g),n=S.slice(C+T),r=0;for(;r<n.length;){let e=String.fromCodePoint(n.codePointAt(r));if(g(e))break;r+=e.length}let i=n.slice(r);(t||!h(u,o,v).value.endsWith(i))&&(E=e)}}let D=h(E,o,v);i.value=D.value,F(i,H(l,u,o,c,D,s,S)),S=i.value,r?.(i.value)},()=>{b=!0,w(),y=!1},e=>{b=!1,x=!0;let t=e.target,n=P(t),i=h(t.value,n);t.value=i.value,F(t,i.caret),S=t.value,r?.(t.value)},e=>{let t=e,n=t.target,i=n.value;if(b)return;if(j()&&x){x=!1;return}if(!t.key){y=!0,C(()=>{if(L(n,i)){y=!1;return}let e=n.selectionStart??999,t=n.value.length<i.length,r=h(n.value,e,V(a,t));n.value=r.value,F(n,r.caret),S=n.value,C(()=>{y=!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>=v&&!j()){t.preventDefault();return}if(y){t.preventDefault();return}if(!o&&!c&&!l&&!u)return;let d=o?`backspace`:c?`delete`:u?`unidentified`:`insert`;C(()=>{if(L(n,i))return;let e=n.selectionStart??999,t=n.value,l=h(t,e,V(a,o||c));n.value=l.value,F(n,H(d,t,e,i.length,l,s,i)),S=n.value,r?.(n.value)})}],w)}function U(e){let t=e?.decimalPlaces,n=t!=null&&Number.isFinite(t)?Math.min(100,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 se(e){let t=e.indexOf(`e`);if(t<0)return e;let n=Number(e.slice(t+1)),r=e.slice(0,t),i=r.indexOf(`.`),a=i<0?r:r.slice(0,i)+r.slice(i+1),o=(i<0?r.length:i)+n;return o<=0?`0.`+`0`.repeat(-o)+a:o>=a.length?a+`0`.repeat(o-a.length):a.slice(0,o)+`.`+a.slice(o)}function ce(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 q(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 J(t,n){let r=q(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:t===`+`&&n.allowNegative&&(o=!1)}return{isNegative:o,intDigits:i,fracDigits:a,hasSeparator:s}}function le(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 Y(e,t=0,n){let r=U(n);if(!e)return{value:``,caret:0};let{isNegative:i,intDigits:a,fracDigits:o,hasSeparator:s}=J(e,r);if(a===``&&o===``&&!s){if(i){let e=`-`+r.prefix;return{value:e,caret:e.length}}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=q(e,r),g=Math.max(0,Math.min(t-h.bodyStart,h.body.length)),{inFraction:_,digitsBefore:v}=le(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+ce(u,v+b)}}function ue(e,t){return Y(e,e.length,t).value}function X(e,t){let{isNegative:n,intDigits:r,fracDigits:i}=J(e,U(t)),a=Number(i?`${r||`0`}.${i}`:r||`0`);return n&&a!==0?-a:a}function de(e,t){let{intDigits:n}=J(e,U(t));return W(n||`0`).length<=15}function fe(e,t){let n=U(t);if(n.decimalPlaces==null||n.decimalPlaces<=0)return null;let{isNegative:r,intDigits:i,hasSeparator:a}=J(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 Y(l+c+n.decimalSeparator+s,l.length+c.length,n)}function pe(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}=q(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 me(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}=J(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 Y(m+h+(l?i.decimalSeparator+c:``),m.length+h.length,i)}function he(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);a.indexOf(`e`)>=0&&(a=se(String(i))+(n.decimalPlaces?`.`+`0`.repeat(n.decimalPlaces):``));let 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 Z(e){return e==null?{}:typeof e==`function`?{onChange:e}:e}function ge(t,n){if(N(t))return()=>{};let{onChange:r,autocomplete:i,autocorrect:a,autocapitalize:o,spellcheck:s,...c}=Z(n),l=c,{decimalSeparator:u,decimalPlaces:d}=U(l),f=!1,p=!1,m=!1,h=null,{scheduleFrame:g,cancelPendingFrames:_}=R(),v=(e,t)=>{e.value=t.value,F(e,t.caret),r?.(t.value,X(t.value,l))},y=(t,n={})=>{let r=P(t),i=(e,n)=>{if(d===0||e.length!==1||e!==`.`&&e!==`,`||e===u)return!1;for(let i of n)if(i!=null&&i>=0&&t.value.slice(i,i+e.length)===e)return t.value=t.value.slice(0,i)+u+t.value.slice(i+e.length),r=i+e.length<=r?r+u.length-e.length:r,F(t,r),!0;return!1};if(h){let{text:e,starts:t}=h;h=null,i(e,t)}if(n.inputType===`deleteContentBackward`){let e=fe(t.value,l);if(e){v(t,e);return}}let a=n.insertedText;if(a!=null&&i(a,[n.insertedAt,r-a.length]),a!=null&&a.length>0){let e=pe(t.value,r,a.length,l);e&&(t.value=e.value,r=e.caret)}let o=a!=null&&a.length===1&&e(a)?a:void 0,s=o?me(t.value,r,o,l):null;v(t,s??Y(t.value,r,l))};return z(t,`decimal`,{autocomplete:i,autocorrect:a,autocapitalize:o,spellcheck:s},1/0,[e=>{let t=e.target;g(()=>{y(t)})},e=>{let t=e,n=e.target;_(),f=!1,h=null,m=!0,y(n,{insertedText:typeof t.data==`string`?t.data:null,inputType:t.inputType})},()=>{p=!0,_(),f=!1,h=null},e=>{p=!1,m=!0,y(e.target)},e=>{let t=e,n=t.target,r=P(n),i=n.value;if(p)return;if(j()&&m){m=!1;return}if(!t.key){f=!0,g(()=>{if(L(n,i)){f=!1;return}y(n),g(()=>{f=!1})});return}if(t.key===`Meta`)return;if(f){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&&d!==0&&(t.key===`.`||t.key===`,`)&&t.key!==u&&(h={text:t.key,starts:[r,r-t.key.length]}),(a||o||s||c)&&g(()=>{L(n,i)||y(n,{insertedText:s?t.key:null,insertedAt:s?r:void 0,inputType:a?`deleteContentBackward`:o?`deleteContentForward`:void 0})})}],_)}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=k(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 _e(e,t,n){return $(e,t,0,n).process()}exports.Mask=Q,exports.applyDecimalMask=Y,exports.applyMask=k,exports.bind=oe,exports.bindDecimal=ge,exports.buildMask=$,exports.formatDecimalValue=he,exports.getMaxLength=h,exports.isDecimalValueSafe=de,exports.process=_e,exports.processDecimal=ue,exports.unmaskDecimal=X;
|
|
2
2
|
//# sourceMappingURL=mother-mask.cjs.map
|