UNPKG

react-input-date-mask

Version:
1 lines 7.13 kB
(()=>{"use strict";var e={n:t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return e.d(r,{a:r}),r},d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{default:()=>b});const r=require("react");var n,o,a=e.n(r),i=null!==(n=null===(o=window.navigator)||void 0===o?void 0:o.userAgent)&&void 0!==n?n:"";-1!==i.indexOf("MSIE ")||i.indexOf("Trident/");var l=window.hasOwnProperty("ontouchstart")&&function(e){return/Mobile|Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|mini/i.test(e)}(i);/iemobile/i.test(i);function u(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||y(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){d(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function d(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,o=!1,a=void 0;try{for(var i,l=e[Symbol.iterator]();!(n=(i=l.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){o=!0,a=e}finally{try{n||null==l.return||l.return()}finally{if(o)throw a}}return r}}(e,t)||y(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,t){if(e){if("string"==typeof e)return v(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?v(e,t):void 0}}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function b(e){var t,n=e.mask,o=void 0===n?"dd.mm.yyyy":n,i=e.showMaskOnFocus,c=void 0!==i&&i,y=e.showMaskOnHover,v=void 0!==y&&y,b=e.value,p=void 0===b?"":b,m=e.className,g=void 0===m?"":m,O=e.onChange,h=void 0===O?void 0:O,j=e.disabled,S=void 0!==j&&j,w=e.readOnly,P=void 0!==w&&w,E=f((0,r.useState)(""),2),A=E[0],D=E[1],k=f((0,r.useState)(!1),2),M=k[0],I=k[1],x=f((0,r.useState)({start:0,end:1}),2),L=x[0],B=x[1],R=f((0,r.useState)({}),2),T=R[0],C=R[1],_=f((0,r.useState)({start:"",end:""}),2),V=_[0],F=_[1],N=f((0,r.useState)(!1),2),Y=N[0],q=N[1],H=f((0,r.useState)(""),2),K=H[0],U=H[1],$=(0,r.useRef)(null);(0,r.useEffect)((function(){$.current.setSelectionRange(L.start,L.end)}),[L.start,L.end,M]),(0,r.useEffect)((function(){$.current.setSelectionRange(V.start,V.end)}),[V.start,V.end]),(0,r.useEffect)((function(){var e=W(p||o);D(e),c&&!p||q(!0)}),[p,c]),(0,r.useEffect)((function(){var e=W(o);C(e),$.current.setSelectionRange(0,1)}),[o]);var z=function(e){var t=e.value,r=e.looking,n=t[3],o={digits:/[0-9]/g,letters:/[mMyYdD]/};return Object.values(t).filter((function(e){return e!==n})).map((function(e){return e.search(o[r])})).filter((function(e){return 0===e})).length},G=function(e){var t=z({value:e,looking:"digits"}),r=Object.values(e).findIndex((function(e){return 0===e.search(/[mMyYdD]/)})),n=z({value:e,looking:"letters"});return{allDigits:Boolean(8===t),indexLetter:r,allLetters:Boolean(8===n)}},J=function(e){var t=G(A),r=t.allDigits,n=t.indexLetter,o=e.target.selectionStart;r?L.start!==o&&B(s(s({},L),{},{start:o,end:o+1})):n||0===n?(B(s(s({},L),{},{start:n,end:n+1})),I(!M)):I(!M)},Q=function(e,t,r){var n,a=T[r];return n="d"===a?"dd.mm.yyyy"===o||"dd/mm/yyyy"===o?t.slice(0,2):t.slice(3,5):"m"===a?"dd.mm.yyyy"===o||"dd/mm/yyyy"===o?t.slice(3,5):t.slice(0,2):"y"===a?t.slice(6,10):3===r?t.slice(2,3):t.slice(5,6),{d:/([0-3]d)|(0[1-9]|[12][0-9]|3[01])|(d[0-9])/,m:/([0-1]m)|(0[1-9]|1[012])|(m[0-2])/,y:/([1-2]yyy)|((19|20)yy)|((19|20)\dy)|((19|20)\d\d)|(y{2,3}\d{1,2})|(yy\dy)|([1-2]y\d{1,2})/,"/":/\//,".":/\./}[a].test(n)},W=function(e){var t={};return u(e).forEach((function(e,r){t[r+1]=e})),t},X=function(e){var t=e.pos,r=e.currentValue,n=T[t],o=s(s({},r),{},d({},t,n));D(o);var a=t-1,i=a+1;B((function(e){return s(s({},e),{},{start:a,end:i})})),null==h||h(Object.values(o).join(""))},Z=(null===(t=Object.keys(A))||void 0===t?void 0:t.length)>0?Object.values(A).join(""):A;return a().createElement("input",{ref:$,placeholder:K,type:"tel",onClick:function(e){J(e)},className:g,spellCheck:"false",onInput:function(e){var t=e.target,r=t.selectionStart,n=t.selectionEnd,o=t.value,a=e.nativeEvent.inputType;if(l&&"deleteContentBackward"===a)X({pos:r+=1,currentValue:A});else{var i,c=u(o)[r-1];if(/[\d]/g.test(c)&&r<11){var f=Object.values(s(s({},A),{},d({},r,c))).join("");if(Q(0,f,r)){i=s(s({},A),{},d({},r,c)),D(i);var y=2===r||5===r?r+1:r,v=2===r||5===r?n+2:n+1;B(s(s({},L),{},{start:y,end:v}))}else if(1===r||4===r){var b,p=r+1,m=r+2;i=s(s({},A),{},(d(b={},r,"0"),d(b,p,c),b)),D(i),B(s(s({},L),{},{start:m,end:m+1}))}else if(7===r){var g,O=r+2,j=r+1;i=s(s({},A),{},(d(g={},r,"2"),d(g,j,"0"),d(g,O,c),g)),D(i),B(s(s({},L),{},{start:O,end:O+1}))}else if(3===r||6===r){var S=r;B(s(s({},L),{},{start:S,end:S+1}))}else i=s({},A),I(!M)}else i=s({},A),I(!M);null==h||h(Object.values(i).join(""))}},onTouchStart:function(e){J(e)},onFocus:function(e){c&&!Y&&(q(!0),U(""))},value:Y?Z:"",onKeyDown:function(e){var t=e.key,r=e.target.selectionStart;if("Backspace"===t||"Delete"===t)0!==r?(e.preventDefault(),X({pos:r,currentValue:A})):e.preventDefault();else if("ArrowRight"===t||"ArrowLeft"===t){var n="ArrowRight"===t?r+1:r-1,o="ArrowRight"===t?r+2:n+1;F(s(s({},V),{},{start:n,end:o}))}},autoComplete:"off",onPaste:function(e){var t=e.target.selectionStart,r=(e.clipboardData||window.clipboardData).getData("text"),n=r.length<=10?r:r.slice(0,10),o=Object.values(A).join(""),a=o.slice(0,t),i=o.slice(t+n.length),l=t,c=s({},A),d=[];u(n).forEach((function(e,t){c[l+=1]=e,Q(0,Object.values(c).join(""),l)?d.push(e):(c[l]=T[l],d.push(T[l]))}));var f=[a].concat(d,[i]).join("");D(s(s({},A),W(f)))},onMouseEnter:function(e){G(A).allLetters&&v&&""===K&&!Y&&U(o)},onMouseLeave:function(e){G(A).allLetters&&v&&K&&!Y&&U("")},onBlur:function(e){G(A).allLetters&&c&&Y&&q(!1)},disabled:S,readOnly:P})}/iphone/i.test(i),module.exports=t})();