primereact
Version:
PrimeReact is an open source UI library for React featuring a rich set of 90+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with Prime
2 lines (1 loc) • 7.01 kB
JavaScript
this.primereact=this.primereact||{},this.primereact.inputotp=function(e,t,n,r,a,l,i){"use strict";function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=o(t);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c.apply(null,arguments)}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function p(e){if(Array.isArray(e))return s(e)}function f(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function d(e,t){if(e){if("string"==typeof e)return s(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function v(){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 y(e){return p(e)||f(e)||d(e)||v()}function b(e){if(Array.isArray(e))return e}function m(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l,i,o=[],u=!0,c=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=l.call(n)).done)&&(o.push(r.value),o.length!==t);u=!0);}catch(e){c=!0,a=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw a}}return o}}function g(){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 h(e){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}function O(e,t){if("object"!=h(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=h(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function w(e){var t=O(e,"string");return"symbol"==h(t)?t:t+""}function j(e,t,n){return(t=w(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var S=r.ComponentBase.extend({defaultProps:{__TYPE:"InputOtp",__parentMetadata:null,className:null,modelValue:!1,invalid:!1,disabled:!1,readOnly:!1,variant:null,tabIndex:null,length:4,mask:!1,integerOnly:!1},css:{classes:{root:"p-inputotp p-component",input:"p-inputotp-input"}}});function P(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function E(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?P(Object(n),!0).forEach((function(t){j(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):P(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var N=u.default.memo(u.default.forwardRef((function(e,o){var s,p,f=t.useRef(o),v=a.useMergeProps(),h=t.useContext(n.PrimeReactContext),O=S.getProps(e,h),w=S.setMetaData(E(E({props:O},O.__parentMetadata),{},{context:{disabled:O.disabled}})),j=w.ptm,P=w.cx;r.useHandleStyle(S.css.styles,w.isUnstyled,{name:"inputotp"});var N,D,x=O.value?null===(s=O.value)||void 0===s||null===(s=s.toString())||void 0===s||null===(p=s.split)||void 0===p?void 0:p.call(s,""):new Array(O.length),A=t.useState(x),k=(D=2,b(N=A)||m(N,D)||d(N,D)||g()),I=k[0],T=k[1],_=function(e){var t=e.nextElementSibling;if(t)return"INPUT"===t.nodeName?t:_(t)},M=function(e){var t=e.previousElementSibling;if(t)return"INPUT"===t.nodeName?t:M(t)},U=function(e){var t=_(e.target);t&&(t.focus(),t.select())},C=function(e){var t=M(e.target);t&&(t.focus(),t.select())},R=function(e,t){var n;null==O||null===(n=O.onChange)||void 0===n||n.call(O,{originalEvent:e,value:t.join("")})},B=function(e,t){var n=e.target.value,r=y(I);r[t]=n,r=(r=r.join(""))?r.split(""):new Array(O.length),T(r),R(e,r)},F=function(e,t){O.disabled||O.readOnly||"insertFromPaste"!==e.nativeEvent.inputType&&(B(e,t),"deleteContentBackward"===e.nativeEvent.inputType?C(e):"insertText"===e.nativeEvent.inputType&&U(e))},K=function(e){if(!O.disabled&&!O.readOnly){var t=e.clipboardData.getData("text");if(t.length){var n=t.substring(0,O.length+1);if(!O.integerOnly||!isNaN(n)){var r=n.split("");T(r),R(e,r)}}}},L=function(e){var t;e.target.select(),null==O||null===(t=O.focus)||void 0===t||t.call(O,e)},H=function(e){var t;null==O||null===(t=O.blur)||void 0===t||t.call(O,e)},J=function(e){if(!O.disabled&&!O.readOnly&&!(e.altKey||e.ctrlKey||e.metaKey))switch(e.code){case"ArrowLeft":C(e),e.preventDefault();break;case"ArrowRight":U(e),e.preventDefault();break;case"Delete":e.preventDefault();var t=Number(e.target.id);Number.isNaN(t)||V(I,O.length)||(B(E(E({},e),{},{target:E(E({},e.target),{},{value:""})}),t),U(e));break;case"Backspace":var n;0===(null===(n=e.target)||void 0===n||null===(n=n.value)||void 0===n?void 0:n.length)&&(C(e),e.preventDefault());break;case"ArrowUp":case"ArrowDown":e.preventDefault();break;case"Tab":case"NumpadEnter":case"Enter":break;default:(null!=O&&O.integerOnly&&!("Space"!==e.code&&Number(e.key)>=0&&Number(e.key)<=9)||I.join("").length>=O.length&&"Delete"!==e.code)&&e.preventDefault()}},V=function(e,t){return e.length===t&&e.every((function(e){return""===e||null==e}))};a.useUpdateEffect((function(){var e,t,n=O.value?null===(e=O.value)||void 0===e||null===(e=e.toString())||void 0===e||null===(t=e.split)||void 0===t?void 0:t.call(e,""):new Array(O.length);T(n)}),[O.value]);var X=function(e){if(e<=0)return[];var t=O.length-e,r={onInput:function(e){return F(e,t)},onKeyDown:J,onFocus:L,onBlur:H,onPaste:K},a={id:t,value:I[t]||"",inputMode:null!=O&&O.integerOnly?"numeric":"text",type:null!=O&&O.mask?"password":"text",variant:null==O?void 0:O.variant,readOnly:null==O?void 0:O.readOnly,disabled:null==O?void 0:O.disabled,invalid:null==O?void 0:O.invalid,tabIndex:null==O?void 0:O.tabIndex,unstyled:null==O?void 0:O.unstyled,autoFocus:(null==O?void 0:O.autoFocus)&&0===t,"aria-label":n.ariaLabel("otpLabel",{0:t+1}),className:P("input"),pt:j("input")};return[null!=O&&O.inputTemplate?i.ObjectUtils.getJSXElement(null==O?void 0:O.inputTemplate,{events:r,props:a}):u.default.createElement(l.InputText,c({},a,r,{key:t}))].concat(y(X(e-1)))},Y=v({className:P("root"),ref:f,style:null==O?void 0:O.style},j("root"));return u.default.createElement("div",Y,X(O.length))})));return N.displayName="InputOtp",e.InputOtp=N,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.componentbase,primereact.hooks,primereact.inputtext,primereact.utils);